UNPKG

@wordpress/components

Version:
98 lines (84 loc) 2.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.InputControl = InputControl; exports.default = void 0; var _element = require("@wordpress/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _lodash = require("lodash"); var _classnames = _interopRequireDefault(require("classnames")); var _compose = require("@wordpress/compose"); var _inputBase = _interopRequireDefault(require("./input-base")); var _inputField = _interopRequireDefault(require("./input-field")); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function useUniqueId(idProp) { const instanceId = (0, _compose.useInstanceId)(InputControl); const id = `inspector-input-control-${instanceId}`; return idProp || id; } function InputControl({ __unstableStateReducer: stateReducer = state => state, __unstableInputWidth, className, disabled = false, hideLabelFromVision = false, id: idProp, isPressEnterToChange = false, label, labelPosition = 'top', onChange = _lodash.noop, onValidate = _lodash.noop, onKeyDown = _lodash.noop, prefix, size = 'default', suffix, value, ...props }, ref) { const [isFocused, setIsFocused] = (0, _element.useState)(false); const id = useUniqueId(idProp); const classes = (0, _classnames.default)('components-input-control', className); return (0, _element.createElement)(_inputBase.default, { __unstableInputWidth: __unstableInputWidth, className: classes, disabled: disabled, gap: 3, hideLabelFromVision: hideLabelFromVision, id: id, isFocused: isFocused, justify: "left", label: label, labelPosition: labelPosition, prefix: prefix, size: size, suffix: suffix }, (0, _element.createElement)(_inputField.default, (0, _extends2.default)({}, props, { className: "components-input-control__input", disabled: disabled, id: id, isFocused: isFocused, isPressEnterToChange: isPressEnterToChange, onChange: onChange, onKeyDown: onKeyDown, onValidate: onValidate, ref: ref, setIsFocused: setIsFocused, size: size, stateReducer: stateReducer, value: value }))); } const ForwardedComponent = (0, _element.forwardRef)(InputControl); var _default = ForwardedComponent; exports.default = _default; //# sourceMappingURL=index.js.map