UNPKG

@mui/x-date-pickers

Version:

The community edition of the Date and Time Picker components (MUI X).

39 lines (38 loc) 1.64 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.useFieldHiddenInputProps = useFieldHiddenInputProps; var React = _interopRequireWildcard(require("react")); var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback")); /** * Generate the props to pass to the hidden input element of the field. * It is not used by the non-accessible DOM structure (with an <input /> element for editing). * It should be used in the MUI accessible DOM structure and the Base UI implementation. * @param {UseFieldHiddenInputPropsParameters} parameters The parameters of the hook. * @returns {UseFieldHiddenInputPropsReturnValue} The props to forward to the hidden input element of the field. */ function useFieldHiddenInputProps(parameters) { const { manager: { internal_fieldValueManager: fieldValueManager }, stateResponse: { // States and derived states areAllSectionsEmpty, state, // Methods to update the states updateValueFromValueStr } } = parameters; const handleChange = (0, _useEventCallback.default)(event => { updateValueFromValueStr(event.target.value); }); const valueStr = React.useMemo(() => areAllSectionsEmpty ? '' : fieldValueManager.getV7HiddenInputValueFromSections(state.sections), [areAllSectionsEmpty, state.sections, fieldValueManager]); return { value: valueStr, onChange: handleChange }; }