UNPKG

tdesign-react

Version:
341 lines (337 loc) 13.7 kB
/** * tdesign v1.13.2 * (c) 2025 tdesign * @license MIT */ import React, { useEffect } from 'react'; import { unset, isEmpty, get } 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-c170929c.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-132961ab.js'; import '../../_chunks/dep-61f5e3d1.js'; import '../../_chunks/dep-8618a2f1.js'; import '../../_chunks/dep-c37cc2fd.js'; import '../../_chunks/dep-118954e6.js'; import 'react-transition-group'; import 'classnames'; import '../../_chunks/dep-4e5b1475.js'; import '../../_chunks/dep-d104053f.js'; import '../../tree/TreeItem.js'; import '../../_chunks/dep-30ed04a0.js'; import 'tdesign-icons-react'; import '../../loading/index.js'; import '../../loading/Loading.js'; import '../../_chunks/dep-82b8abc2.js'; import '../../hooks/useConfig.js'; import '../../config-provider/ConfigContext.js'; import '../../locale/zh_CN.js'; import '../../_chunks/dep-ab140eb0.js'; import 'dayjs'; import '../../_chunks/dep-95bd7102.js'; import '../../common/Portal.js'; import 'react-dom'; import '../../hooks/useLayoutEffect.js'; import '../../loading/gradient.js'; import '../../_chunks/dep-fab491d8.js'; import '../../_chunks/dep-f213e3a9.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-1aea5672.js'; import '../../common/PluginContainer.js'; import '../../config-provider/index.js'; import '../../config-provider/ConfigProvider.js'; import '../../config-provider/type.js'; import '../../loading/style/index.js'; import '../../loading/type.js'; import '../../hooks/useRipple.js'; import '../../hooks/useAnimation.js'; import '../../hooks/useGlobalIcon.js'; import '../../checkbox/index.js'; import '../../checkbox/style/index.js'; import '../../checkbox/type.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-f157ed5f.js'; import '../../_chunks/dep-c8ec9532.js'; import 'mitt'; import '../../_chunks/dep-c868fa06.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/useResizeObserver.js'; import '../../hooks/useLatest.js'; import '../../hooks/useEventCallback.js'; import '../../upload/themes/NormalFile.js'; import '../../_chunks/dep-4389ef97.js'; import '../../link/index.js'; import '../../link/Link.js'; import '../../link/defaultProps.js'; import '../../link/style/index.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-95045f64.js'; import '../../_chunks/dep-dbd5931e.js'; import '../../hooks/useImagePreviewUrl.js'; import '../../image/index.js'; import '../../image/Image.js'; import '../../_chunks/dep-a533d566.js'; import '../../image/defaultProps.js'; import '../../space/index.js'; import '../../space/Space.js'; import 'react-is'; import '../../space/defaultProps.js'; import '../../space/style/index.js'; import '../../space/type.js'; import '../../image/style/index.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/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 '../../popup/style/index.js'; import '../../popup/type.js'; import '../../tooltip/defaultProps.js'; import '../../tooltip/TooltipLite.js'; import '../../hooks/useSwitch.js'; import '../../tooltip/style/index.js'; import '../../tooltip/type.js'; import '../../dialog/index.js'; import '../../dialog/Dialog.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 '../../button/style/index.js'; import '../../button/type.js'; import '../../dialog/hooks/useDialogEsc.js'; import '../../dialog/hooks/useLockStyle.js'; import '../../_chunks/dep-6975355b.js'; import '../../dialog/hooks/useDialogPosition.js'; import '../../dialog/hooks/useDialogDrag.js'; import '../../dialog/utils.js'; import '../../dialog/plugin.js'; import '../../dialog/style/index.js'; import '../../dialog/type.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 '../../image-viewer/style/index.js'; import '../../upload/themes/ImageCard.js'; import '../../upload/themes/MultipleFlowList.js'; import '../../upload/hooks/useUpload.js'; import '../../_chunks/dep-4cd75640.js'; import '../../upload/defaultProps.js'; import '../../upload/themes/CustomFile.js'; import '../../_chunks/dep-5fa28cf2.js'; import '../../tag/defaultProps.js'; import '../../tag/Tag.js'; import '../../_chunks/dep-ab4955c6.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 '../../input/style/index.js'; import '../../input/type.js'; import '../../tag-input/useTagScroll.js'; import '../../tag-input/useTagList.js'; import '../../tag/index.js'; import '../../tag/CheckTagGroup.js'; import '../../tag/style/index.js'; import '../../tag/type.js'; import '../../tag-input/useHover.js'; import '../../tag-input/defaultProps.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 '../../_chunks/dep-5f59b20a.js'; import '../../select/base/OptionGroup.js'; import '../../select/defaultProps.js'; import '../../select/base/Option.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 '../../tag-input/style/index.js'; import '../../tag-input/type.js'; import '../../select-input/useOverlayInnerStyle.js'; import '../../select-input/defaultProps.js'; import '../../select-input/style/index.js'; import '../../select-input/type.js'; import '../../select/base/PopupContent.js'; import '../../select/hooks/usePanelVirtualScroll.js'; import '../../select/style/index.js'; import '../../select/type.js'; import '../../input-number/index.js'; import '../../input-number/InputNumber.js'; import '../../input-number/useInputNumber.js'; import '../../input-number/defaultProps.js'; import '../../input-number/style/index.js'; import '../../input-number/type.js'; import '../../input-adornment/index.js'; import '../../input-adornment/InputAdornment.js'; import '../../input-adornment/style/index.js'; import '../../input-adornment/type.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 '../../pagination/style/index.js'; import '../../pagination/type.js'; import '../../transfer/defaultProps.js'; import '../../_chunks/dep-d86778d4.js'; import '../../_chunks/dep-f5403836.js'; import '../../_chunks/dep-10b16cae.js'; import '../../range-input/index.js'; import '../../range-input/RangeInputPopup.js'; import '../../range-input/style/index.js'; import '../../range-input/type.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-dbd0a53e.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 '../../time-picker/style/index.js'; import '../../time-picker/type.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'; import '../../date-picker/hooks/useRange.js'; import '../../date-picker/hooks/useRangeValue.js'; import '../../date-picker/defaultProps.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