@wordpress/components
Version:
UI components for WordPress.
58 lines (48 loc) • 1.64 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = AlignmentMatrixControlIcon;
var _element = require("@wordpress/element");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classnames = _interopRequireDefault(require("classnames"));
var _utils = require("./utils");
var _alignmentMatrixControlIconStyles = require("./styles/alignment-matrix-control-icon-styles");
/**
* External dependencies
*/
/**
* Internal dependencies
*/
const BASE_SIZE = 24;
function AlignmentMatrixControlIcon({
className,
disablePointerEvents = true,
size = BASE_SIZE,
style = {},
value = 'center',
...props
}) {
const alignIndex = (0, _utils.getAlignmentIndex)(value);
const scale = (size / BASE_SIZE).toFixed(2);
const classes = (0, _classnames.default)('component-alignment-matrix-control-icon', className);
const styles = { ...style,
transform: `scale(${scale})`
};
return (0, _element.createElement)(_alignmentMatrixControlIconStyles.Root, (0, _extends2.default)({}, props, {
className: classes,
disablePointerEvents: disablePointerEvents,
role: "presentation",
size: size,
style: styles
}), _utils.ALIGNMENTS.map((align, index) => {
const isActive = alignIndex === index;
return (0, _element.createElement)(_alignmentMatrixControlIconStyles.Cell, {
key: align
}, (0, _element.createElement)(_alignmentMatrixControlIconStyles.Point, {
isActive: isActive
}));
}));
}
//# sourceMappingURL=icon.js.map