UNPKG

tdesign-react

Version:
302 lines (298 loc) 12.3 kB
/** * tdesign v1.15.1 * (c) 2025 tdesign * @license MIT */ import React, { useEffect } from 'react'; import { isEmpty, get, unset } from 'lodash-es'; import Tree from '../../tree/Tree.js'; import Upload from '../../upload/upload.js'; import CheckTag from '../../tag/CheckTag.js'; import { C as Checkbox, a as CheckboxGroup } from '../../_chunks/dep-872df51f.js'; import TagInput from '../../tag-input/TagInput.js'; import RangeInput from '../../range-input/RangeInput.js'; import Transfer from '../../transfer/Transfer.js'; import DateRangePicker from '../../date-picker/DateRangePicker.js'; import TimeRangePicker from '../../time-picker/TimeRangePicker.js'; import { useFormContext, useFormListContext } from '../FormContext.js'; import '../../_chunks/dep-87d110df.js'; import '../../_chunks/dep-026a4c6b.js'; import '../../_chunks/dep-cb0a3966.js'; import '../../_chunks/dep-eca3a3de.js'; import '../../_chunks/dep-48805ab8.js'; import 'react-transition-group'; import 'classnames'; import '../../_chunks/dep-b908e1fe.js'; import '../../tree/TreeItem.js'; import '../../_chunks/dep-6b660ef0.js'; import 'tdesign-icons-react'; import '../../loading/index.js'; import '../../loading/Loading.js'; import '../../_chunks/dep-3a09424a.js'; import '../../hooks/useConfig.js'; import '../../config-provider/ConfigContext.js'; import '../../_chunks/dep-f97636ce.js'; import '../../_chunks/dep-9dbbf468.js'; import 'dayjs'; import '../../common/Portal.js'; import 'react-dom'; import '../../hooks/useLayoutEffect.js'; import '../../loading/gradient.js'; import '../../_chunks/dep-c48e2ca1.js'; import '../../_chunks/dep-6af6bc60.js'; import '../../hooks/useDomRefCallback.js'; import '../../loading/defaultProps.js'; import '../../hooks/useDefaultProps.js'; import '../../loading/plugin.js'; import '../../_util/react-render.js'; import '../../_chunks/dep-52ff3837.js'; import '../../common/PluginContainer.js'; import '../../config-provider/ConfigProvider.js'; import '../../hooks/useRipple.js'; import '../../hooks/useAnimation.js'; import '../../hooks/useGlobalIcon.js'; import '../../checkbox/index.js'; import '../../_util/forwardRefWithStatics.js'; import 'hoist-non-react-statics'; import '../../common/Check.js'; import '../../_util/helper.js'; import '../../hooks/useControlled.js'; import '../../_util/noop.js'; import '../../checkbox/defaultProps.js'; import '../../tree/hooks/useTreeConfig.js'; import '../../locale/LocalReceiver.js'; import '../../tree/hooks/useDraggable.js'; import '../../tree/hooks/TreeDraggableContext.js'; import '../../_util/createHookContext.js'; import '../../hooks/usePersistFn.js'; import '../../_util/composeRefs.js'; import '../../tree/hooks/useControllable.js'; import '../../tree/hooks/useStore.js'; import '../../_chunks/dep-603c8128.js'; import '../../_chunks/dep-46885238.js'; import 'mitt'; import '../../_chunks/dep-6575b736.js'; import '../../hooks/useUpdateLayoutEffect.js'; import '../../hooks/useIsFirstRender.js'; import '../../hooks/usePrevious.js'; import '../../_util/parseTNode.js'; import '../../tree/hooks/useTreeVirtualScroll.js'; import '../../hooks/useVirtualScroll.js'; import '../../hooks/useEventCallback.js'; import '../../tree/defaultProps.js'; import '../../upload/themes/NormalFile.js'; import '../../_chunks/dep-f83e4452.js'; import '../../link/index.js'; import '../../link/Link.js'; import '../../link/defaultProps.js'; import '../../upload/themes/DraggerFile.js'; import '../../hooks/useCommonClassName.js'; import '../../upload/hooks/useDrag.js'; import '../../image-viewer/index.js'; import '../../image-viewer/ImageViewer.js'; import '../../_chunks/dep-6a010af7.js'; import '../../_chunks/dep-76b39920.js'; import '../../hooks/useImagePreviewUrl.js'; import '../../image/index.js'; import '../../image/Image.js'; import '../../_chunks/dep-4450afc0.js'; import '../../image/defaultProps.js'; import '../../space/index.js'; import '../../space/Space.js'; import 'react-is'; import '../../space/defaultProps.js'; import '../../tooltip/index.js'; import '../../tooltip/Tooltip.js'; import '../../popup/index.js'; import '../../popup/Popup.js'; import '../../_util/ref.js'; import '../../_util/isFragment.js'; import '../../hooks/useAttach.js'; import '../../hooks/useMutationObserver.js'; import '../../hooks/useLatest.js'; import '../../hooks/usePopper.js'; import '@popperjs/core'; import 'react-fast-compare'; import '../../hooks/useWindowSize.js'; import '../../popup/defaultProps.js'; import '../../popup/hooks/useTrigger.js'; import '../../_util/listener.js'; import '../../popup/utils/transition.js'; import '../../popup/PopupPlugin.js'; import '../../tooltip/defaultProps.js'; import '../../tooltip/TooltipLite.js'; import '../../hooks/useSwitch.js'; import '../../dialog/index.js'; import '../../dialog/Dialog.js'; import '../../hooks/useDeepEffect.js'; import '../../hooks/useSetState.js'; import '../../dialog/defaultProps.js'; import '../../dialog/DialogCard.js'; import '../../button/index.js'; import '../../button/Button.js'; import '../../button/defaultProps.js'; import '../../dialog/hooks/useDialogDrag.js'; import '../../hooks/useMouseEvent.js'; import '../../dialog/hooks/useDialogEsc.js'; import '../../dialog/hooks/useDialogPosition.js'; import '../../dialog/hooks/useLockStyle.js'; import '../../_chunks/dep-51092aec.js'; import '../../dialog/utils.js'; import '../../dialog/plugin.js'; import '../../image-viewer/hooks/useIconMap.js'; import '../../image-viewer/hooks/useIndex.js'; import '../../image-viewer/hooks/useMirror.js'; import '../../image-viewer/hooks/usePosition.js'; import '../../image-viewer/hooks/useRotate.js'; import '../../image-viewer/hooks/useScale.js'; import '../../image-viewer/utils.js'; import '../../image-viewer/defaultProps.js'; import '../../image-viewer/hooks/useImageScale.js'; import '../../image-viewer/hooks/useList.js'; import '../../image-viewer/hooks/useViewerScale.js'; import '../../upload/themes/ImageCard.js'; import '../../upload/themes/MultipleFlowList.js'; import '../../upload/hooks/useUpload.js'; import '../../_chunks/dep-91b20286.js'; import '../../upload/defaultProps.js'; import '../../upload/themes/CustomFile.js'; import '../../_chunks/dep-dbcf7b24.js'; import '../../tag/defaultProps.js'; import '../../tag/Tag.js'; import '../../_chunks/dep-3c3d29db.js'; import '../../hooks/useDragSorter.js'; import '../../input/index.js'; import '../../input/Input.js'; import '../../input/InputGroup.js'; import '../../input/defaultProps.js'; import '../../input/useLengthLimit.js'; import '../../tag-input/defaultProps.js'; import '../../tag-input/useHover.js'; import '../../tag-input/useTagList.js'; import '../../tag/index.js'; import '../../tag/CheckTagGroup.js'; import '../../tag-input/useTagScroll.js'; import '../../range-input/defaultProps.js'; import '../../transfer/TransferList.js'; import '../../transfer/utils.js'; import '../../pagination/index.js'; import '../../pagination/Pagination.js'; import '../../select/index.js'; import '../../select/base/Select.js'; import '../../common/FakeArrow.js'; import '../../select-input/index.js'; import '../../select-input/SelectInput.js'; import '../../select-input/useSingle.js'; import '../../select-input/useMultiple.js'; import '../../tag-input/index.js'; import '../../select-input/useOverlayInnerStyle.js'; import '../../select-input/defaultProps.js'; import '../../select/defaultProps.js'; import '../../_chunks/dep-72472aa7.js'; import '../../select/base/OptionGroup.js'; import '../../select/base/Option.js'; import '../../select/base/PopupContent.js'; import '../../select/hooks/usePanelVirtualScroll.js'; import '../../input-number/index.js'; import '../../input-number/InputNumber.js'; import '../../input-number/useInputNumber.js'; import '../../input-number/defaultProps.js'; import '../../input-adornment/InputAdornment.js'; import '../../pagination/hooks/useBoundaryJumper.js'; import '../../pagination/hooks/usePrevNextJumper.js'; import '../../pagination/hooks/usePageNumber.js'; import '../../pagination/hooks/useTotal.js'; import '../../pagination/validators.js'; import '../../pagination/defaultProps.js'; import '../../pagination/PaginationMini.js'; import '../../transfer/defaultProps.js'; import '../../_chunks/dep-2c0a85a4.js'; import '../../_chunks/dep-f9b15bc8.js'; import '../../_chunks/dep-b1c8a9c9.js'; import '../../_chunks/dep-8ef7b882.js'; import '../../range-input/index.js'; import '../../range-input/RangeInputPopup.js'; import '../../date-picker/defaultProps.js'; import '../../date-picker/hooks/useRange.js'; import '../../date-picker/hooks/useRangeValue.js'; import '../../date-picker/panel/RangePanel.js'; import '../../date-picker/panel/PanelContent.js'; import '../../date-picker/base/Header.js'; import '../../date-picker/base/Table.js'; import '../../date-picker/base/Cell.js'; import '../../time-picker/index.js'; import '../../time-picker/TimePicker.js'; import '../../_chunks/dep-2990bb49.js'; import '../../time-picker/hooks/useTimePickerTextConfig.js'; import '../../hooks/useDebounce.js'; import '../../hooks/usePropsRef.js'; import '../../time-picker/panel/TimePickerPanel.js'; import '../../time-picker/defaultProps.js'; import '../../date-picker/panel/ExtraContent.js'; import '../../date-picker/base/Footer.js'; import '../../date-picker/hooks/useTableData.js'; import '../../date-picker/hooks/useDisableDate.js'; import '../../date-picker/utils.js'; var ctrlKeyMap = /* @__PURE__ */new Map(); ctrlKeyMap.set(Checkbox, "checked"); ctrlKeyMap.set(CheckTag, "checked"); ctrlKeyMap.set(Upload, "files"); var initialDataMap = /* @__PURE__ */new Map(); [Tree, Upload, Transfer, TagInput, RangeInput, CheckboxGroup, DateRangePicker, TimeRangePicker].forEach(function (component) { initialDataMap.set(component, []); }); [Checkbox].forEach(function (component) { initialDataMap.set(component, false); }); function useFormItemInitialData(name) { var hadReadFloatingFormData = false; var _useFormContext = useFormContext(), floatingFormDataRef = _useFormContext.floatingFormDataRef, formContextInitialData = _useFormContext.initialData; var _useFormListContext = useFormListContext(), formListName = _useFormListContext.name, formListInitialData = _useFormListContext.initialData; useEffect(function () { if (hadReadFloatingFormData) { var nameList = formListName ? [formListName, name].flat() : name; unset(floatingFormDataRef.current, nameList); } }, [hadReadFloatingFormData, floatingFormDataRef, formListName, name]); function getDefaultInitialData(_ref) { var children = _ref.children, initialData = _ref.initialData; if (name && floatingFormDataRef !== null && floatingFormDataRef !== void 0 && floatingFormDataRef.current && !isEmpty(floatingFormDataRef.current)) { var nameList = formListName ? [formListName, name].flat() : name; var defaultInitialData = get(floatingFormDataRef.current, nameList); if (typeof defaultInitialData !== "undefined") { hadReadFloatingFormData = true; return defaultInitialData; } } if (typeof initialData !== "undefined") { return initialData; } if (name && formListInitialData.length) { var _defaultInitialData = get(formListInitialData, name); if (typeof _defaultInitialData !== "undefined") return _defaultInitialData; } if (name && formContextInitialData) { var _defaultInitialData2 = get(formContextInitialData, name); if (typeof _defaultInitialData2 !== "undefined") return _defaultInitialData2; } if (typeof children !== "function") { var childList = React.Children.toArray(children); var lastChild = childList[childList.length - 1]; if (lastChild && /*#__PURE__*/React.isValidElement(lastChild)) { var _lastChild$props; var isMultiple = lastChild === null || lastChild === void 0 || (_lastChild$props = lastChild.props) === null || _lastChild$props === void 0 ? void 0 : _lastChild$props.multiple; return isMultiple ? [] : initialDataMap.get(lastChild.type); } } } return { getDefaultInitialData: getDefaultInitialData }; } export { ctrlKeyMap, useFormItemInitialData as default, initialDataMap }; //# sourceMappingURL=useFormItemInitialData.js.map