import React from 'react';
import connect from 'ui/connect';
import Fa from 'ui/components/Fa';
import Toolbar, {ToolbarButton} from 'ui/components/Toolbar';
import ImgIcon from 'ui/components/ImgIcon';
import {toIdAndOverrides} from '../../actions/actionRef';
import {mapActionBehavior} from '../../actions/actionButtonBehavior';
import capitalize from 'gems/capitalize';
import decoratorChain from 'ui/decoratorChain';
import {combine, merger} from 'lstream';
import mapContext from 'ui/mapContext';
import {ToolbarSplitter} from 'ui/components/Toolbar';
function ConfigurableToolbar({actions, size, ...props}) {
return
}
export function ToolbarActionButtons({actions, size}) {
return actions.map((actionRef, i) => {
if (actionRef === '-') {
return ;
}
let [id, overrides] = toIdAndOverrides(actionRef);
return
});
}
function ActionButton({label, icon96, icon32, cssIcons, symbol, size, noLabel, enabled, visible, actionId, ...props}) {
if (!visible) {
return null;
}
let smallOrMedium = size === 'medium' || size === 'small';
let icon;
if (smallOrMedium) {
if (cssIcons) {
icon = ;
} else if (icon32) {
icon = ;
}
} else {
icon = ;
}
if (!icon) {
icon = {symbol||(label&&label.charAt(0))};
if (!icon) {
icon = '?';
}
}
return
{icon}
{!(smallOrMedium || noLabel)&& {capitalize(label)}
}
}
export const ConnectedActionButton = decoratorChain(
connect((streams, {actionId}) => combine(streams.action.appearance[actionId], streams.action.state[actionId]).map(merger)),
mapContext(mapActionBehavior(props => props.actionId))
)
(ActionButton);
export function createPlugableToolbar(streamSelector) {
return decoratorChain(
connect(streams => streamSelector(streams).map(actions => ({actions})))
)
(props => );
}