UNPKG

@wordpress/components

Version:
64 lines (53 loc) 1.81 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = UnitSelectControl; var _element = require("@wordpress/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _classnames = _interopRequireDefault(require("classnames")); var _unitControlStyles = require("./styles/unit-control-styles"); var _utils = require("./utils"); /** * External dependencies */ function UnitSelectControl(_ref) { let { className, isUnitSelectTabbable: isTabbable = true, onChange, size = 'default', unit = 'px', units = _utils.CSS_UNITS, ...props } = _ref; if (!(0, _utils.hasUnits)(units) || (units === null || units === void 0 ? void 0 : units.length) === 1) { return (0, _element.createElement)(_unitControlStyles.UnitLabel, { className: "components-unit-control__unit-label", selectSize: size }, unit); } const handleOnChange = event => { const { value: unitValue } = event.target; const data = units.find(option => option.value === unitValue); onChange === null || onChange === void 0 ? void 0 : onChange(unitValue, { event, data }); }; const classes = (0, _classnames.default)('components-unit-control__select', className); return (0, _element.createElement)(_unitControlStyles.UnitSelect, (0, _extends2.default)({ className: classes, onChange: handleOnChange, selectSize: size, tabIndex: isTabbable ? undefined : -1, value: unit }, props), units.map(option => (0, _element.createElement)("option", { value: option.value, key: option.value }, option.label))); } //# sourceMappingURL=unit-select-control.js.map