@gechiui/block-editor
Version:
65 lines (52 loc) • 1.73 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = BoxInputControls;
var _element = require("@gechiui/element");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _components = require("@gechiui/components");
var _i18n = require("@gechiui/i18n");
/**
* GeChiUI dependencies
*/
const CORNERS = {
topLeft: (0, _i18n.__)('左上方'),
topRight: (0, _i18n.__)('右上方'),
bottomLeft: (0, _i18n.__)('左下方'),
bottomRight: (0, _i18n.__)('右下方')
};
function BoxInputControls(_ref) {
let {
onChange,
values: valuesProp,
...props
} = _ref;
const createHandleOnChange = corner => next => {
if (!onChange) {
return;
}
onChange({ ...values,
[corner]: next ? next : undefined
});
}; // For shorthand style & backwards compatibility, handle flat string value.
const values = typeof valuesProp !== 'string' ? valuesProp : {
topLeft: valuesProp,
topRight: valuesProp,
bottomLeft: valuesProp,
bottomRight: valuesProp
}; // Controls are wrapped in tooltips as visible labels aren't desired here.
return (0, _element.createElement)("div", {
className: "components-border-radius-control__input-controls-wrapper"
}, Object.entries(CORNERS).map(_ref2 => {
let [key, label] = _ref2;
return (0, _element.createElement)(_components.__experimentalUnitControl, (0, _extends2.default)({}, props, {
key: key,
"aria-label": label,
value: values[key],
onChange: createHandleOnChange(key)
}));
}));
}
//# sourceMappingURL=input-controls.js.map