UNPKG

@talend/react-components

Version:
69 lines (68 loc) 2.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); var _reactDebounceInput = _interopRequireDefault(require("react-debounce-input")); var _propTypes = _interopRequireDefault(require("prop-types")); var _designSystem = require("@talend/design-system"); var _InputSizer = _interopRequireDefault(require("../../shared/InputSizer")); var _Context = require("../Context"); var _lodash = require("lodash"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const OMIT_INPUT_PROPS = ['date', 'onChange', 'onFocus', 'label', 'minWidth']; const Input = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => { const { date, onChange, onFocus, label, minWidth } = props; const { inputManagement } = (0, _react.useContext)(_Context.DateRangeContext); const { placeholder } = inputManagement; return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { className: "range-input", children: [label && /*#__PURE__*/(0, _jsxRuntime.jsx)(_designSystem.Form.Label, { htmlFor: props.id, children: label }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputSizer.default, { inputText: placeholder, minWidth: minWidth, children: width => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactDebounceInput.default, { autoComplete: "off", debounceTimeout: 300, element: _designSystem.Form.Text, hideLabel: true, placeholder: placeholder, value: date.textInput, style: { width }, onChange: onChange, onFocus: onFocus, inputRef: ref, ...(0, _lodash.omit)(props, OMIT_INPUT_PROPS) }) })] }); }); Input.displayName = 'DateRange.Input'; Input.propTypes = { id: _propTypes.default.string.isRequired, date: _propTypes.default.shape({ textInput: _propTypes.default.string }), onChange: _propTypes.default.func, onFocus: _propTypes.default.func, label: _propTypes.default.string, minWidth: _propTypes.default.number }; var _default = exports.default = Input; //# sourceMappingURL=Input.component.js.map