@wordpress/components
Version:
UI components for WordPress.
47 lines (41 loc) • 1.37 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(_ref) {
let {
size = 24,
side = 'all',
sides,
...props
} = _ref;
const isSideDisabled = value => (sides === null || sides === void 0 ? void 0 : sides.length) && !sides.includes(value);
const hasSide = value => {
if (isSideDisabled(value)) {
return false;
}
return side === 'all' || side === value;
};
const top = hasSide('top') || hasSide('vertical');
const right = hasSide('right') || hasSide('horizontal');
const bottom = hasSide('bottom') || hasSide('vertical');
const left = hasSide('left') || hasSide('horizontal'); // 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