@wordpress/components
Version:
UI components for WordPress.
45 lines (40 loc) • 1.24 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { createElement } from "@wordpress/element";
/**
* Internal dependencies
*/
import { Root, Viewbox, TopStroke, RightStroke, BottomStroke, LeftStroke } from './styles/box-control-icon-styles';
const BASE_ICON_SIZE = 24;
export default function BoxControlIcon({
size = 24,
side = 'all',
sides,
...props
}) {
const isSideDisabled = value => (sides === null || sides === void 0 ? void 0 : sides.length) && !sides.includes(value);
const getSide = value => {
if (isSideDisabled(value)) {
return false;
}
return side === 'all' || side === value;
};
const top = getSide('top');
const right = getSide('right');
const bottom = getSide('bottom');
const left = getSide('left'); // Simulates SVG Icon scaling
const scale = size / BASE_ICON_SIZE;
return createElement(Root, _extends({
style: {
transform: `scale(${scale})`
}
}, props), createElement(Viewbox, null, createElement(TopStroke, {
isFocused: top
}), createElement(RightStroke, {
isFocused: right
}), createElement(BottomStroke, {
isFocused: bottom
}), createElement(LeftStroke, {
isFocused: left
})));
}
//# sourceMappingURL=icon.js.map