@talend/react-components
Version:
Set of react components.
69 lines (68 loc) • 2.23 kB
JavaScript
;
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