UNPKG

@mantine/form

Version:

Mantine form management library

57 lines (56 loc) 2.48 kB
"use client"; require("../../_virtual/_rolldown/runtime.cjs"); const require_change_error_indices = require("../../lists/change-error-indices.cjs"); const require_reorder_errors = require("../../lists/reorder-errors.cjs"); const require_reorder_path = require("../../paths/reorder-path.cjs"); const require_insert_path = require("../../paths/insert-path.cjs"); const require_remove_path = require("../../paths/remove-path.cjs"); const require_replace_path = require("../../paths/replace-path.cjs"); let react = require("react"); //#region packages/@mantine/form/src/hooks/use-form-list/use-form-list.ts function useFormList({ $values, $errors, $status, $watch }) { return { reorderListItem: (0, react.useCallback)((path, payload) => { const previousValues = $values.refValues.current; $status.clearFieldDirty(path); $errors.setErrors((errs) => require_reorder_errors.reorderErrors(path, payload, errs)); $values.setValues({ values: require_reorder_path.reorderPath(path, payload, $values.refValues.current), updateState: true }); $watch.notifyWatchSubscribers(previousValues); }, []), removeListItem: (0, react.useCallback)((path, index) => { const previousValues = $values.refValues.current; $status.clearFieldDirty(path); $errors.setErrors((errs) => require_change_error_indices.changeErrorIndices(path, index, errs, -1)); $values.setValues({ values: require_remove_path.removePath(path, index, $values.refValues.current), updateState: true }); $watch.notifyWatchSubscribers(previousValues); }, []), insertListItem: (0, react.useCallback)((path, item, index) => { const previousValues = $values.refValues.current; $status.clearFieldDirty(path); $errors.setErrors((errs) => require_change_error_indices.changeErrorIndices(path, index, errs, 1)); $values.setValues({ values: require_insert_path.insertPath(path, item, index, $values.refValues.current), updateState: true }); $watch.notifyWatchSubscribers(previousValues); }, []), replaceListItem: (0, react.useCallback)((path, index, item) => { const previousValues = $values.refValues.current; $status.clearFieldDirty(path); $values.setValues({ values: require_replace_path.replacePath(path, item, index, $values.refValues.current), updateState: true }); $watch.notifyWatchSubscribers(previousValues); }, []) }; } //#endregion exports.useFormList = useFormList; //# sourceMappingURL=use-form-list.cjs.map