UNPKG

@wordpress/components

Version:
57 lines (46 loc) 1.64 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = BoxControlIcon; var _element = require("@wordpress/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _boxControlIconStyles = require("./styles/box-control-icon-styles"); /** * Internal dependencies */ const BASE_ICON_SIZE = 24; 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 (0, _element.createElement)(_boxControlIconStyles.Root, (0, _extends2.default)({ style: { transform: `scale(${scale})` } }, props), (0, _element.createElement)(_boxControlIconStyles.Viewbox, null, (0, _element.createElement)(_boxControlIconStyles.TopStroke, { isFocused: top }), (0, _element.createElement)(_boxControlIconStyles.RightStroke, { isFocused: right }), (0, _element.createElement)(_boxControlIconStyles.BottomStroke, { isFocused: bottom }), (0, _element.createElement)(_boxControlIconStyles.LeftStroke, { isFocused: left }))); } //# sourceMappingURL=icon.js.map