39 lines
No EOL
1.6 KiB
JavaScript
39 lines
No EOL
1.6 KiB
JavaScript
"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
|
|
};
|
|
} |