UNPKG

@wordpress/components

Version:
60 lines (55 loc) 1.71 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@wordpress/element"; /** * External dependencies */ import classnames from 'classnames'; /** * WordPress dependencies */ import { useInstanceId } from '@wordpress/compose'; import { __ } from '@wordpress/i18n'; /** * Internal dependencies */ import BaseControl from '../base-control'; import { FlexBlock, FlexItem } from '../flex'; import NumberControl from '../number-control'; import AngleCircle from './angle-circle'; import { Root } from './styles/angle-picker-control-styles'; export default function AnglePickerControl({ className, hideLabelFromVision, id: idProp, label = __('Angle'), onChange, value, ...props }) { const instanceId = 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 = classnames('components-angle-picker-control', className); return createElement(BaseControl, _extends({ className: classes, hideLabelFromVision: hideLabelFromVision, id: id, label: label }, props), createElement(Root, null, createElement(FlexBlock, null, createElement(NumberControl, { className: "components-angle-picker-control__input-field", id: id, max: 360, min: 0, onChange: handleOnNumberChange, step: "1", value: value })), createElement(FlexItem, null, createElement(AngleCircle, { "aria-hidden": "true", value: value, onChange: onChange })))); } //# sourceMappingURL=index.js.map