UNPKG

@wordpress/components

Version:
85 lines (70 loc) 2.17 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = FocalPointPickerControls; var _element = require("@wordpress/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _i18n = require("@wordpress/i18n"); var _focalPointPickerStyle = require("./styles/focal-point-picker-style"); var _utils = require("./utils"); /** * WordPress dependencies */ /** * Internal dependencies */ const TEXTCONTROL_MIN = 0; const TEXTCONTROL_MAX = 100; const noop = () => {}; function FocalPointPickerControls(_ref) { let { __nextHasNoMarginBottom, hasHelpText, onChange = noop, point = { x: 0.5, y: 0.5 } } = _ref; const valueX = (0, _utils.fractionToPercentage)(point.x); const valueY = (0, _utils.fractionToPercentage)(point.y); const handleChange = (value, axis) => { if (value === undefined) return; const num = parseInt(value, 10); if (!isNaN(num)) { onChange({ ...point, [axis]: num / 100 }); } }; return (0, _element.createElement)(_focalPointPickerStyle.ControlWrapper, { className: "focal-point-picker__controls", __nextHasNoMarginBottom: __nextHasNoMarginBottom, hasHelpText: hasHelpText }, (0, _element.createElement)(FocalPointUnitControl, { label: (0, _i18n.__)('Left'), value: [valueX, '%'].join(''), onChange: next => handleChange(next, 'x'), dragDirection: "e" }), (0, _element.createElement)(FocalPointUnitControl, { label: (0, _i18n.__)('Top'), value: [valueY, '%'].join(''), onChange: next => handleChange(next, 'y'), dragDirection: "s" })); } function FocalPointUnitControl(props) { return (0, _element.createElement)(_focalPointPickerStyle.StyledUnitControl, (0, _extends2.default)({ className: "focal-point-picker__controls-position-unit-control", labelPosition: "top", max: TEXTCONTROL_MAX, min: TEXTCONTROL_MIN, units: [{ value: '%', label: '%' }] }, props)); } //# sourceMappingURL=controls.js.map