@wordpress/components
Version:
UI components for WordPress.
78 lines (61 loc) • 2.24 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = AnglePickerControl;
var _element = require("@wordpress/element");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classnames = _interopRequireDefault(require("classnames"));
var _compose = require("@wordpress/compose");
var _i18n = require("@wordpress/i18n");
var _baseControl = _interopRequireDefault(require("../base-control"));
var _flex = require("../flex");
var _numberControl = _interopRequireDefault(require("../number-control"));
var _angleCircle = _interopRequireDefault(require("./angle-circle"));
var _anglePickerControlStyles = require("./styles/angle-picker-control-styles");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function AnglePickerControl({
className,
hideLabelFromVision,
id: idProp,
label = (0, _i18n.__)('Angle'),
onChange,
value,
...props
}) {
const instanceId = (0, _compose.useInstanceId)(AnglePickerControl, 'components-angle-picker-control__input');
const id = idProp || instanceId;
const handleOnNumberChange = unprocessedValue => {
const inputValue = unprocessedValue !== '' ? parseInt(unprocessedValue, 10) : 0;
onChange(inputValue);
};
const classes = (0, _classnames.default)('components-angle-picker-control', className);
return (0, _element.createElement)(_baseControl.default, (0, _extends2.default)({
className: classes,
hideLabelFromVision: hideLabelFromVision,
id: id,
label: label
}, props), (0, _element.createElement)(_anglePickerControlStyles.Root, null, (0, _element.createElement)(_flex.FlexBlock, null, (0, _element.createElement)(_numberControl.default, {
className: "components-angle-picker-control__input-field",
id: id,
max: 360,
min: 0,
onChange: handleOnNumberChange,
step: "1",
value: value
})), (0, _element.createElement)(_flex.FlexItem, null, (0, _element.createElement)(_angleCircle.default, {
"aria-hidden": "true",
value: value,
onChange: onChange
}))));
}
//# sourceMappingURL=index.js.map