@unicom-cloud/ui 0.8.44 → 0.8.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Affix.js +54 -51
- package/Alert.js +46 -43
- package/Anchor.js +5 -4
- package/AutoComplete.js +60 -55
- package/Avatar.js +10 -155
- package/BackTop.js +41 -38
- package/Badge.js +63 -93
- package/Breadcrumb.js +63 -118
- package/Button.js +105 -109
- package/Calendar.js +139 -536
- package/Card.js +65 -101
- package/Carousel.js +169 -270
- package/Cascader.js +9 -8
- package/Checkbox.js +4 -3
- package/Collapse.js +4 -3
- package/ColorPicker.js +95 -546
- package/Comment.js +14 -12
- package/ConfigProvider.js +6 -5
- package/Copy.js +33 -31
- package/DatePicker.js +35 -1993
- package/Descriptions.js +30 -28
- package/Divider.js +8 -6
- package/Draggable.js +28 -85
- package/Drawer.js +5 -4
- package/Dropdown.js +107 -167
- package/Empty.js +28 -8
- package/Form.js +30 -1418
- package/Grid.js +13 -250
- package/Icon.js +19 -45
- package/IconHover.js +39 -6
- package/Image.js +3 -3
- package/Input.js +4 -4
- package/InputNumber.js +213 -17
- package/InputTag.js +5 -4
- package/Layout.js +35 -48
- package/Link.js +16 -14
- package/List.js +191 -228
- package/Loading.js +18 -17
- package/Mentions.js +99 -115
- package/Menu.js +8 -7
- package/Message.js +147 -10
- package/Modal.js +5 -4
- package/Notice.js +196 -13
- package/Notification.js +136 -11
- package/NotificationBase.js +5 -4
- package/OverflowEllipsis.js +48 -71
- package/PageHeader.js +52 -52
- package/Pagination.js +12 -11
- package/Picker.js +6 -4
- package/Popconfirm.js +47 -44
- package/Popover.js +25 -23
- package/Portal.js +12 -32
- package/Progress.js +65 -328
- package/Radio.js +6 -5
- package/Rate.js +48 -45
- package/ResizeBox.js +127 -505
- package/Result.js +60 -1417
- package/Select.js +9 -8
- package/SelectView.js +49 -328
- package/Skeleton.js +41 -78
- package/Slider.js +228 -702
- package/Space.js +53 -57
- package/Spin.js +57 -72
- package/Statistic.js +84 -153
- package/Steps.js +64 -123
- package/SuspenseFallbackTest.js +4 -3
- package/Switch.js +41 -38
- package/Table.js +20 -1999
- package/Tabs.js +9 -8
- package/Tag.js +24 -21
- package/TimePicker.js +19 -272
- package/Timeline.js +4 -3
- package/Tooltip.js +79 -72
- package/Transfer.js +138 -402
- package/Tree.js +5 -4
- package/TreeSelect.js +8 -7
- package/Trigger.js +407 -571
- package/Typography.js +11 -722
- package/Upload.js +9 -8
- package/VerificationCode.js +6 -5
- package/Version.js +1 -1
- package/VirtualList.js +4 -3
- package/Watermark.js +3 -2
- package/anchor/Anchor.js +193 -0
- package/anchor/Link.js +54 -0
- package/anchor/context.js +14 -0
- package/anchor/util.js +41 -0
- package/avatar/Avatar.js +85 -0
- package/avatar/Group.js +84 -0
- package/avatar/context.js +5 -0
- package/badge/Count.js +35 -0
- package/breadcrumb/Item.js +67 -0
- package/button/Group.js +15 -0
- package/calendar/Month.js +142 -0
- package/calendar/WeekList.js +24 -0
- package/calendar/Year.js +75 -0
- package/calendar/header/Panel.js +57 -0
- package/calendar/header/index.js +118 -0
- package/calendar/hook/useCellClassName.js +41 -0
- package/card/Grid.js +27 -0
- package/card/Meta.js +32 -0
- package/carousel/Arrow.js +57 -0
- package/carousel/Indicator.js +68 -0
- package/cascader/Cascader.js +300 -0
- package/cascader/base/node.js +142 -0
- package/cascader/base/store.js +93 -0
- package/cascader/hook/useRefCurrent.js +12 -0
- package/cascader/panel/List.js +275 -0
- package/cascader/panel/Option.js +35 -0
- package/cascader/panel/Search.js +171 -0
- package/cascader/util.js +66 -0
- package/checkbox/Checkbox.js +111 -0
- package/checkbox/Group.js +97 -0
- package/checkbox/useCheckbox.js +45 -0
- package/collapse/Collapse.js +90 -0
- package/collapse/Item.js +165 -0
- package/color-picker/ControlBar.js +64 -0
- package/color-picker/InputAlpha.js +24 -0
- package/color-picker/InputHex.js +59 -0
- package/color-picker/InputRgb.js +66 -0
- package/color-picker/Palette.js +36 -0
- package/color-picker/Panel.js +165 -0
- package/color-picker/colors.js +37 -0
- package/color-picker/hooks/useColorPicker.js +63 -0
- package/color-picker/hooks/useControlBlock.js +40 -0
- package/config-provider/ConfigProvider.js +94 -0
- package/config-provider/context.js +24 -0
- package/date-picker/Picker.js +399 -0
- package/date-picker/PickerRange.js +568 -0
- package/date-picker/context.js +5 -0
- package/date-picker/hook/useCellClassName.js +58 -0
- package/date-picker/panel/Body.js +78 -0
- package/date-picker/panel/Footer.js +71 -0
- package/date-picker/panel/Header.js +74 -0
- package/date-picker/panel/Shortcut.js +45 -0
- package/date-picker/panel/WeekList.js +19 -0
- package/date-picker/panel/date/index.js +194 -0
- package/date-picker/panel/month/index.js +113 -0
- package/date-picker/panel/quarter/index.js +93 -0
- package/date-picker/panel/range/index.js +251 -0
- package/date-picker/panel/week/index.js +35 -0
- package/date-picker/panel/year/index.js +74 -0
- package/date-picker/util.js +69 -0
- package/draggable/Item.js +66 -0
- package/drawer/Drawer.js +226 -0
- package/dropdown/Button.js +91 -0
- package/form/Control.js +264 -0
- package/form/Form.js +156 -0
- package/form/FormItem.js +241 -0
- package/form/FormLabel.js +54 -0
- package/form/FormList.js +96 -0
- package/form/FormProvider.js +48 -0
- package/form/IconSymbol.js +20 -0
- package/form/context.js +43 -0
- package/form/hook/useContext.js +32 -0
- package/form/hook/useState.js +31 -0
- package/form/hook/useWatch.js +36 -0
- package/form/interface.js +11 -0
- package/form/promisify.js +23 -0
- package/form/store.js +354 -0
- package/form/useForm.js +53 -0
- package/form/util.js +72 -0
- package/grid/Col.js +87 -0
- package/grid/Row.js +88 -0
- package/grid/context.js +9 -0
- package/grid/grid-item.js +77 -0
- package/grid/grid.js +104 -0
- package/grid/hook/useResponsiveState.js +38 -0
- package/grid/util.js +51 -0
- package/{chunk/I4RV9SKZ.js → hooks/factory/createHTMLMediaHook.js} +35 -43
- package/hooks/index.js +246 -4
- package/{chunk/BdYAMaw9.js → hooks/misc/hookState.js} +1 -1
- package/hooks/misc/parseTimeRanges.js +12 -0
- package/{chunk/TXCrI0jN.js → hooks/misc/util.js} +6 -6
- package/hooks/use-watermark/utils.js +8 -0
- package/hooks/use-watermark.js +71 -76
- package/hooks/useAudio.js +3 -3
- package/hooks/useBeforeUnload.js +2 -2
- package/hooks/useClickAway.js +10 -10
- package/hooks/useCounter.js +1 -1
- package/hooks/useCreation.js +2 -4
- package/hooks/useDrop.js +12 -12
- package/hooks/useDropArea.js +5 -5
- package/hooks/useEvent.js +6 -6
- package/hooks/useEventListener.js +2 -4
- package/hooks/useFavicon.js +1 -2
- package/hooks/useFullscreen.js +11 -13
- package/hooks/useGetSet.js +5 -5
- package/hooks/useHash.js +6 -6
- package/hooks/useHover.js +6 -6
- package/hooks/useHoverDirty.js +7 -7
- package/hooks/useIdle.js +17 -17
- package/hooks/useIsomorphicLayoutEffect2.js +3 -3
- package/hooks/useKey.js +5 -5
- package/hooks/useList.js +1 -1
- package/hooks/useLocalStorage.js +2 -3
- package/hooks/useLocation.js +1 -1
- package/hooks/useLockBodyScroll.js +13 -14
- package/hooks/useLongPress.js +7 -7
- package/hooks/useMeasure.js +3 -3
- package/hooks/useMedia.js +4 -4
- package/hooks/useMediaDevices.js +10 -10
- package/hooks/useMotion.js +11 -11
- package/hooks/useMouse.js +9 -9
- package/hooks/useMouseWheel.js +7 -7
- package/hooks/useNetworkState.js +7 -7
- package/hooks/useOrientation.js +10 -11
- package/hooks/useOverrideRef.js +14 -0
- package/hooks/usePageLeave.js +4 -4
- package/hooks/usePermission.js +9 -9
- package/hooks/usePersistCallback.js +15 -0
- package/hooks/useScroll.js +6 -6
- package/hooks/useScrolling.js +7 -7
- package/hooks/useSearchParam.js +5 -5
- package/hooks/useSessionStorage.js +9 -9
- package/hooks/useSize.js +1 -1
- package/hooks/useSlider.js +6 -6
- package/hooks/useStartTyping.js +4 -4
- package/hooks/useStateList.js +4 -5
- package/hooks/useStateWithHistory.js +1 -1
- package/hooks/useTimeout.js +1 -2
- package/hooks/useVibrate.js +5 -5
- package/hooks/useVideo.js +3 -3
- package/hooks/useWindowScroll.js +13 -13
- package/hooks/useWindowSize.js +6 -6
- package/icon/addFromIconFontCn.js +33 -0
- package/image/Image.js +189 -0
- package/image/ImageFooter.js +45 -0
- package/image/ImagePreview.js +473 -0
- package/image/ImagePreviewArrow.js +40 -0
- package/image/ImagePreviewGroup.js +125 -0
- package/image/ImagePreviewToolbar.js +98 -0
- package/image/TriggerForToolbar.js +10 -0
- package/image/previewGroupContext.js +17 -0
- package/image/util/getFixTranslate.js +7 -0
- package/image/util/getScale.js +72 -0
- package/image/util/hook/useImageStatus.js +16 -0
- package/image/util/hook/useShowFooter.js +7 -0
- package/index.js +440 -398
- package/input/Group.js +20 -0
- package/input/Input.js +185 -0
- package/input/InputElement.js +233 -0
- package/input/Number.js +4 -0
- package/input/Password.js +72 -0
- package/input/Search.js +80 -0
- package/input/Tag.js +7 -0
- package/input/Textarea.js +168 -0
- package/input/autoSizeTextAreaHeight.js +65 -0
- package/input/useComposition.js +39 -0
- package/input-number/decimal.js +154 -0
- package/input-number/useSelectionRange.js +26 -0
- package/input-number/util.js +57 -0
- package/input-tag/InputTag.js +381 -0
- package/layout/Content.js +15 -0
- package/layout/Footer.js +15 -0
- package/layout/Header.js +15 -0
- package/{chunk/B9asjXwm.js → layout/Sider.js} +23 -22
- package/list/Item.js +46 -0
- package/list/Meta.js +21 -0
- package/loading/style/index.module.less.js +4 -0
- package/mentions/util.js +26 -0
- package/menu/Indent.js +17 -0
- package/menu/Item.js +125 -0
- package/menu/ItemGroup.js +39 -0
- package/menu/Menu.js +181 -0
- package/menu/OverflowWrap.js +85 -0
- package/menu/context.js +5 -0
- package/menu/sub-menu/Inline.js +111 -0
- package/menu/sub-menu/Pop.js +126 -0
- package/menu/sub-menu/index.js +17 -0
- package/menu/util.js +80 -0
- package/message/useMessage.js +53 -0
- package/modal/Confirm.js +98 -0
- package/modal/Modal.js +419 -0
- package/modal/config.js +25 -0
- package/modal/use-modal/Hook.js +55 -0
- package/modal/use-modal/index.js +68 -0
- package/notification/useNotification.js +55 -0
- package/overflow-ellipsis/OverflowItem.js +34 -0
- package/package.json +1 -1
- package/pagination/PageItem.js +121 -0
- package/pagination/PageJumper.js +64 -0
- package/pagination/PageOption.js +55 -0
- package/pagination/Pagination.js +245 -0
- package/picker/Input.js +124 -0
- package/picker/InputRange.js +155 -0
- package/portal/Portal.js +25 -0
- package/progress/CircleProgress.js +117 -0
- package/progress/LineProgess.js +103 -0
- package/progress/StepProgress.js +74 -0
- package/radio/Group.js +91 -0
- package/radio/Radio.js +90 -0
- package/resize-box/ResizeTrigger.js +78 -0
- package/resize-box/Split.js +132 -0
- package/resize-box/SplitGroup.js +204 -0
- package/result/403.js +695 -0
- package/result/404.js +513 -0
- package/result/500.js +166 -0
- package/select/OptGroup.js +20 -0
- package/select/Option.js +97 -0
- package/select/Select.js +544 -0
- package/select/util.js +140 -0
- package/select-view/Core.js +309 -0
- package/skeleton/Image.js +24 -0
- package/skeleton/Text.js +27 -0
- package/slider/Button.js +159 -0
- package/slider/Dot.js +43 -0
- package/slider/Input.js +75 -0
- package/slider/Mark.js +28 -0
- package/slider/Tick.js +44 -0
- package/slider/hook/useInterval.js +73 -0
- package/slider/hook/useLegalValue.js +70 -0
- package/slider/util.js +63 -0
- package/space/toArray.js +11 -0
- package/spin/DotLoading.js +26 -0
- package/statistic/Countdown.js +57 -0
- package/statistic/util.js +33 -0
- package/steps/Step.js +68 -0
- package/style.css +1 -1
- package/table/ColGroup.js +59 -0
- package/table/Table.js +634 -0
- package/table/constant.js +5 -0
- package/table/hook/useColumns.js +141 -0
- package/table/hook/useComponent.js +64 -0
- package/table/hook/useExpand.js +36 -0
- package/table/hook/useRowSelection.js +92 -0
- package/table/hook/useSorter.js +54 -0
- package/table/hook/useStickyClassNames.js +30 -0
- package/table/hook/useStickyOffsets.js +30 -0
- package/table/summary/Cell.js +10 -0
- package/table/summary/Row.js +26 -0
- package/table/summary/context.js +5 -0
- package/table/summary/index.js +10 -0
- package/table/tbody/Td.js +168 -0
- package/table/tbody/Tr.js +168 -0
- package/table/tbody/index.js +156 -0
- package/table/tfoot/index.js +16 -0
- package/table/thead/Column.js +250 -0
- package/table/thead/index.js +131 -0
- package/table/util.js +121 -0
- package/tabs/Tab.js +170 -0
- package/tabs/TabContent.js +54 -0
- package/tabs/TabPane.js +26 -0
- package/tabs/hook/useDomSize.js +17 -0
- package/tabs/hook/useHeaderScroll.js +64 -0
- package/tabs/tab-header/DropdownIcon.js +71 -0
- package/tabs/tab-header/TabInk.js +65 -0
- package/tabs/tab-header/TabNavIcon.js +65 -0
- package/tabs/tab-header/TabTitle.js +78 -0
- package/tabs/tab-header/index.js +335 -0
- package/tabs/util.js +22 -0
- package/time-picker/Picker.js +221 -0
- package/time-picker/RangePicker.js +56 -0
- package/time-picker/TimeColumn.js +65 -0
- package/time-picker/TimePicker.js +242 -0
- package/time-picker/context.js +5 -0
- package/time-picker/util.js +43 -0
- package/timeline/Item.js +94 -0
- package/timeline/Timeline.js +80 -0
- package/transfer/Item.js +107 -0
- package/transfer/List.js +192 -0
- package/tree/Animation.js +104 -0
- package/tree/Context.js +5 -0
- package/tree/Node.js +215 -0
- package/tree/NodeList.js +84 -0
- package/tree/Tree.js +549 -0
- package/tree/util.js +76 -0
- package/tree-select/List.js +127 -0
- package/tree-select/Select.js +260 -0
- package/tree-select/hook/useKeyCache.js +56 -0
- package/tree-select/hook/useStateValue.js +98 -0
- package/tree-select/hook/useTreeData.js +13 -0
- package/tree-select/interface.js +13 -0
- package/tree-select/util.js +9 -0
- package/trigger/Portal.js +14 -0
- package/trigger/getPopupStyle.js +190 -0
- package/types/badge/Count.d.ts +2 -1
- package/types/badge/index.d.ts +2 -2
- package/types/button/index.d.ts +2 -2
- package/types/carousel/index.d.ts +1 -1
- package/types/color-picker/colors.d.ts +1 -1
- package/types/color-picker/style/index.d.ts +1 -1
- package/types/drawer/Drawer.d.ts +1 -1
- package/types/dropdown/interface.d.ts +1 -0
- package/types/hooks/index.d.ts +122 -0
- package/types/hooks/use-verification-code/interface.d.ts +1 -1
- package/types/hooks/useAsync.d.ts +1 -1
- package/types/hooks/useDropArea.d.ts +1 -0
- package/types/hooks/useOverrideRef.d.ts +5 -0
- package/types/hooks/usePersistCallback.d.ts +1 -0
- package/types/hooks/useUpsert.d.ts +1 -1
- package/types/icon-hover/index.d.ts +5 -3
- package/types/index.d.ts +2 -120
- package/types/input-tag/InputTag.d.ts +1 -1
- package/types/link/interface.d.ts +1 -1
- package/types/list/index.d.ts +1 -1
- package/types/modal/interface.d.ts +1 -0
- package/types/notice/index.d.ts +3 -0
- package/types/notification/index.d.ts +1 -1
- package/types/page-header/index.d.ts +1 -1
- package/types/select/Select.d.ts +1 -1
- package/types/select-view/Core.d.ts +3 -2
- package/types/select-view/index.d.ts +1 -0
- package/types/statistic/index.d.ts +1 -1
- package/types/switch/index.d.ts +1 -1
- package/types/switch/interface.d.ts +1 -1
- package/types/table/interface.d.ts +2 -1
- package/types/tooltip/index.d.ts +1 -1
- package/types/trigger/index.d.ts +12 -8
- package/types/trigger/interface.d.ts +1 -0
- package/types/typography/Base.d.ts +8 -7
- package/types/typography/EditContent.d.ts +3 -2
- package/types/typography/Paragraph.d.ts +2 -5
- package/types/typography/Text.d.ts +1 -5
- package/types/typography/Title.d.ts +2 -5
- package/types/upload/TriggerNode.d.ts +5 -3
- package/types/upload/list/PictureItem.d.ts +3 -3
- package/types/upload/list/TextItem.d.ts +3 -3
- package/types/utils/CSSTransition.d.ts +2 -0
- package/types/utils/constant.d.ts +1 -1
- package/types/utils/is.d.ts +4 -0
- package/types/utils/reactDOM.d.ts +3 -1
- package/types/utils/warning.d.ts +1 -1
- package/types/version/index.d.ts +1 -1
- package/typography/Base.js +184 -0
- package/typography/EditContent.js +49 -0
- package/typography/Ellipsis.js +293 -0
- package/typography/Operations.js +78 -0
- package/typography/Paragraph.js +26 -0
- package/typography/Text.js +11 -0
- package/typography/Title.js +12 -0
- package/typography/Typography.js +15 -0
- package/typography/useCssEllipsis.js +37 -0
- package/typography/useEllipsis.js +150 -0
- package/upload/TriggerNode.js +118 -0
- package/upload/Upload.js +205 -0
- package/upload/Uploader.js +205 -0
- package/upload/interface.js +9 -0
- package/upload/list/PictureItem.js +91 -0
- package/upload/list/TextItem.js +99 -0
- package/upload/list/UploadProgress.js +97 -0
- package/upload/list/index.js +120 -0
- package/upload/request.js +51 -0
- package/upload/util.js +61 -0
- package/utils/CSSTransition.js +27 -0
- package/utils/contextHolder.js +29 -4
- package/utils/getHighlightText.js +1 -2
- package/utils/is.js +81 -68
- package/utils/reactDOM.js +33 -22
- package/utils/style.js +1 -2
- package/utils/warning.js +7 -3
- package/verification-code/VerificationCode.js +83 -0
- package/virtual-list/Filler.js +31 -0
- package/virtual-list/VirtualList.js +378 -0
- package/virtual-list/util/algorithm.js +32 -0
- package/virtual-list/util/item.js +99 -0
- package/{chunk/BCEX3Acw.js → watermark/Watermark.js} +13 -11
- package/chunk/B1P8u7kB.js +0 -798
- package/chunk/B2ufZjjd.js +0 -1000
- package/chunk/B7QOJqps.js +0 -162
- package/chunk/BBz3S3zo.js +0 -966
- package/chunk/BGzBxiWE.js +0 -517
- package/chunk/BNRfcEHj.js +0 -984
- package/chunk/BSs6uXmc.js +0 -946
- package/chunk/BTjUAV8T.js +0 -277
- package/chunk/BYQeEcKe.js +0 -375
- package/chunk/Ba4UXIST.js +0 -605
- package/chunk/BfaXVcik.js +0 -271
- package/chunk/Bs11tCU6.js +0 -240
- package/chunk/C7FC7dzS.js +0 -516
- package/chunk/CLzbve11.js +0 -694
- package/chunk/CN4zXU4b.js +0 -877
- package/chunk/CYTPZUHD.js +0 -769
- package/chunk/CcCo_dK0.js +0 -335
- package/chunk/CoCXcpQd.js +0 -261
- package/chunk/D4yH4UKK.js +0 -80
- package/chunk/DiSLYN2-.js +0 -167
- package/chunk/Dr0iXIXO.js +0 -736
- package/chunk/G3-2uJao.js +0 -229
- package/chunk/RnTpOC5-.js +0 -1
- package/chunk/Z-mtdHUQ.js +0 -226
- package/chunk/ZISxNnaR.js +0 -165
- package/chunk/aPJXnDSb.js +0 -450
- package/chunk/i605JRmI.js +0 -232
- package/chunk/l0sNRNKZ.js +0 -1
- package/types/form/FormItemTip.d.ts +0 -8
- /package/{chunk/C6Kfwj0f.js → loading/style/index.less.js} +0 -0
- /package/{chunk/DP2rzg_V.js → suspense-fallback-test/style/index.less.js} +0 -0
- /package/{chunk/K6Dvbx-E.js → virtual-list/style/index.less.js} +0 -0
package/form/Form.js
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { jsx as p } from "react/jsx-runtime";
|
|
2
|
+
import k from "@unicom-cloud/scroll-into-view-if-needed";
|
|
3
|
+
import v from "lodash/isPlainObject";
|
|
4
|
+
import D from "lodash/merge";
|
|
5
|
+
import { forwardRef as A, useContext as $, useRef as O, useEffect as _, useImperativeHandle as H } from "react";
|
|
6
|
+
/* empty css */
|
|
7
|
+
import U from "../config-provider/ConfigProvider.js";
|
|
8
|
+
import W from "../hooks/useCreate.js";
|
|
9
|
+
import X from "../hooks/useMergeProps.js";
|
|
10
|
+
import B from "@unicom-cloud/utils/class-name";
|
|
11
|
+
import G from "../utils/omit.js";
|
|
12
|
+
import { FormProviderContext as J, FormContext as K } from "./context.js";
|
|
13
|
+
import L from "./useForm.js";
|
|
14
|
+
import { ID_SUFFIX as Q } from "./util.js";
|
|
15
|
+
import { ConfigContext as Y } from "../config-provider/context.js";
|
|
16
|
+
function f(a, u) {
|
|
17
|
+
const s = u.replace(/[[.]/g, "_").replace(/\]/g, "");
|
|
18
|
+
return a ? `${a}-${s}` : `${s}`;
|
|
19
|
+
}
|
|
20
|
+
const Z = {
|
|
21
|
+
layout: "horizontal",
|
|
22
|
+
labelCol: { span: 5, offset: 0 },
|
|
23
|
+
labelAlign: "right",
|
|
24
|
+
wrapperCol: { span: 19, offset: 0 },
|
|
25
|
+
requiredSymbol: !0,
|
|
26
|
+
wrapper: "form",
|
|
27
|
+
validateTrigger: "onChange"
|
|
28
|
+
}, ee = (a, u) => {
|
|
29
|
+
var h, S;
|
|
30
|
+
const s = $(Y), r = $(J), d = O(null), [i] = L(
|
|
31
|
+
a.form
|
|
32
|
+
), e = X(
|
|
33
|
+
a,
|
|
34
|
+
Z,
|
|
35
|
+
(h = s.componentConfig) == null ? void 0 : h.Form
|
|
36
|
+
), {
|
|
37
|
+
layout: g,
|
|
38
|
+
labelCol: V,
|
|
39
|
+
wrapperCol: y,
|
|
40
|
+
wrapper: w,
|
|
41
|
+
id: F,
|
|
42
|
+
requiredSymbol: I,
|
|
43
|
+
labelAlign: R,
|
|
44
|
+
disabled: T,
|
|
45
|
+
colon: z,
|
|
46
|
+
className: E,
|
|
47
|
+
validateTrigger: M,
|
|
48
|
+
prefixCls: x,
|
|
49
|
+
validateMessages: N,
|
|
50
|
+
...P
|
|
51
|
+
} = e, m = x || s.getPrefixCls("form"), q = s.rtl, C = "size" in e ? e.size : s.size, b = i.getInnerMethods(!0);
|
|
52
|
+
W(() => {
|
|
53
|
+
b.innerSetInitialValues(e.initialValues);
|
|
54
|
+
}), _(() => {
|
|
55
|
+
let o;
|
|
56
|
+
return r.register && (o = r.register(e.id, i)), o;
|
|
57
|
+
}, [e.id, i]), H(u, () => i), i.scrollToField = (o, l) => {
|
|
58
|
+
const t = d.current, n = e.id;
|
|
59
|
+
if (!t)
|
|
60
|
+
return;
|
|
61
|
+
let c = t.querySelector(
|
|
62
|
+
`#${f(n, o)}`
|
|
63
|
+
);
|
|
64
|
+
c || (c = t.querySelector(
|
|
65
|
+
`#${f(n, o)}${Q}`
|
|
66
|
+
)), c && k(c, {
|
|
67
|
+
behavior: "smooth",
|
|
68
|
+
block: "nearest",
|
|
69
|
+
scrollMode: "if-needed",
|
|
70
|
+
...l
|
|
71
|
+
});
|
|
72
|
+
}, b.innerSetCallbacks({
|
|
73
|
+
onValuesChange: (o, l) => {
|
|
74
|
+
var t, n;
|
|
75
|
+
(t = e.onValuesChange) == null || t.call(e, o, l), (n = r.onFormValuesChange) == null || n.call(r, e.id, o);
|
|
76
|
+
},
|
|
77
|
+
onChange: e.onChange,
|
|
78
|
+
onValidateFail: (o) => {
|
|
79
|
+
if (e.scrollToFirstError) {
|
|
80
|
+
const l = v(e.scrollToFirstError) ? e.scrollToFirstError : {};
|
|
81
|
+
i.scrollToField(
|
|
82
|
+
Object.keys(o)[0],
|
|
83
|
+
l
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
onSubmitFailed: e.onSubmitFailed,
|
|
88
|
+
onSubmit: (o) => {
|
|
89
|
+
var t, n;
|
|
90
|
+
const l = (t = e.onSubmit) == null ? void 0 : t.call(e, o);
|
|
91
|
+
return (n = r.onFormSubmit) == null || n.call(r, e.id, o), l;
|
|
92
|
+
},
|
|
93
|
+
onReset: (o) => {
|
|
94
|
+
var t, n;
|
|
95
|
+
const l = (t = e.onReset) == null ? void 0 : t.call(e, o);
|
|
96
|
+
return (n = r == null ? void 0 : r.onFormReset) == null || n.call(r, e.id, o), l;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
const j = {
|
|
100
|
+
requiredSymbol: I,
|
|
101
|
+
labelAlign: R,
|
|
102
|
+
disabled: T,
|
|
103
|
+
colon: z,
|
|
104
|
+
labelCol: V,
|
|
105
|
+
wrapperCol: y,
|
|
106
|
+
layout: g,
|
|
107
|
+
store: i,
|
|
108
|
+
prefixCls: m,
|
|
109
|
+
validateTrigger: M,
|
|
110
|
+
validateMessages: D(
|
|
111
|
+
{},
|
|
112
|
+
(S = s.locale.Form) == null ? void 0 : S.validateMessages,
|
|
113
|
+
N
|
|
114
|
+
),
|
|
115
|
+
getFormElementId: (o) => f(F, o)
|
|
116
|
+
};
|
|
117
|
+
return /* @__PURE__ */ p(U, { ...s, size: C, children: /* @__PURE__ */ p(K.Provider, { value: j, children: /* @__PURE__ */ p(
|
|
118
|
+
w,
|
|
119
|
+
{
|
|
120
|
+
ref: d,
|
|
121
|
+
...G(P, [
|
|
122
|
+
"form",
|
|
123
|
+
"size",
|
|
124
|
+
"initialValues",
|
|
125
|
+
"onValuesChange",
|
|
126
|
+
"onChange",
|
|
127
|
+
"wrapperProps",
|
|
128
|
+
"scrollToFirstError",
|
|
129
|
+
"onSubmit",
|
|
130
|
+
"onSubmitFailed",
|
|
131
|
+
"onReset"
|
|
132
|
+
]),
|
|
133
|
+
...e.wrapperProps,
|
|
134
|
+
className: B(
|
|
135
|
+
m,
|
|
136
|
+
`${m}-${g}`,
|
|
137
|
+
`${m}-size-${C}`,
|
|
138
|
+
{ [`${m}-rtl`]: q },
|
|
139
|
+
E
|
|
140
|
+
),
|
|
141
|
+
style: e.style,
|
|
142
|
+
onSubmit: (o) => {
|
|
143
|
+
o.preventDefault(), o.stopPropagation(), i.submit();
|
|
144
|
+
},
|
|
145
|
+
onReset: (o) => {
|
|
146
|
+
o.preventDefault(), o.stopPropagation(), i.resetFields();
|
|
147
|
+
},
|
|
148
|
+
id: F,
|
|
149
|
+
children: e.children
|
|
150
|
+
}
|
|
151
|
+
) }) });
|
|
152
|
+
}, oe = A(ee);
|
|
153
|
+
oe.displayName = "Form";
|
|
154
|
+
export {
|
|
155
|
+
oe as default
|
|
156
|
+
};
|
package/form/FormItem.js
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { jsx as a, jsxs as q, Fragment as ue } from "react/jsx-runtime";
|
|
2
|
+
import H, { forwardRef as fe, useContext as x, useState as L, useRef as be, useEffect as ge, useMemo as W, createElement as G, cloneElement as K } from "react";
|
|
3
|
+
import he from "lodash/isArray";
|
|
4
|
+
import Ce from "lodash/isFunction";
|
|
5
|
+
import y from "lodash/isPlainObject";
|
|
6
|
+
import w from "lodash/isUndefined";
|
|
7
|
+
/* empty css */
|
|
8
|
+
import "../config-provider/ConfigProvider.js";
|
|
9
|
+
import X from "../Grid.js";
|
|
10
|
+
import ye from "../utils/CSSTransition.js";
|
|
11
|
+
import v from "@unicom-cloud/utils/class-name";
|
|
12
|
+
import ve from "../utils/omit.js";
|
|
13
|
+
import I from "./Control.js";
|
|
14
|
+
import we from "./FormLabel.js";
|
|
15
|
+
import { FormItemContext as B, FormListContext as Fe, FormContext as J } from "./context.js";
|
|
16
|
+
import { VALIDATE_STATUS as T } from "./interface.js";
|
|
17
|
+
import { formatValidateMsg as $e } from "./util.js";
|
|
18
|
+
import { ConfigContext as xe } from "../config-provider/context.js";
|
|
19
|
+
const Ie = X.Row, Q = X.Col, Ne = ({
|
|
20
|
+
prefixCls: e,
|
|
21
|
+
help: h,
|
|
22
|
+
errors: N,
|
|
23
|
+
warnings: S
|
|
24
|
+
}) => {
|
|
25
|
+
const c = N.map((m, f) => {
|
|
26
|
+
if (m)
|
|
27
|
+
return /* @__PURE__ */ a("div", { role: "alert", children: m.message }, f);
|
|
28
|
+
}), s = [];
|
|
29
|
+
S.map((m, f) => {
|
|
30
|
+
s.push(
|
|
31
|
+
/* @__PURE__ */ a("div", { role: "alert", className: `${e}-message-help-warning`, children: m }, f)
|
|
32
|
+
);
|
|
33
|
+
});
|
|
34
|
+
const u = !w(h) || !!s.length, C = u || !!c.length;
|
|
35
|
+
return C && /* @__PURE__ */ a(
|
|
36
|
+
ye,
|
|
37
|
+
{
|
|
38
|
+
in: C,
|
|
39
|
+
appear: !0,
|
|
40
|
+
classNames: "formblink",
|
|
41
|
+
timeout: 300,
|
|
42
|
+
unmountOnExit: !0,
|
|
43
|
+
children: /* @__PURE__ */ a(
|
|
44
|
+
"div",
|
|
45
|
+
{
|
|
46
|
+
className: v(`${e}-message`, {
|
|
47
|
+
[`${e}-message-help`]: u
|
|
48
|
+
}),
|
|
49
|
+
children: w(h) ? /* @__PURE__ */ q(ue, { children: [
|
|
50
|
+
c.length > 0 && c,
|
|
51
|
+
s.length > 0 && s
|
|
52
|
+
] }) : h
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
}, Se = (e, h) => {
|
|
58
|
+
var O, U, _;
|
|
59
|
+
const { getPrefixCls: N, prefixCls: S } = x(xe), c = x(B), s = x(Fe), [u, C] = L(null), [m, f] = L(null), t = x(J), n = t.prefixCls || N("form"), A = e.layout || t.layout, Z = e.labelAlign || t.labelAlign, k = be(!1), ee = (i, r = {}) => {
|
|
60
|
+
if (k.current)
|
|
61
|
+
return;
|
|
62
|
+
const { errors: d, warnings: b } = r || {};
|
|
63
|
+
C((g) => {
|
|
64
|
+
const l = { ...g || {} };
|
|
65
|
+
return d ? l[i] = d : delete l[i], l;
|
|
66
|
+
}), f((g) => {
|
|
67
|
+
const l = { ...g || {} };
|
|
68
|
+
return b && b.length ? l[i] = b : delete l[i], l;
|
|
69
|
+
});
|
|
70
|
+
}, te = y(e.noStyle) && e.noStyle.showErrorTip && c.updateFormItem ? c.updateFormItem : ee;
|
|
71
|
+
ge(() => (k.current = !1, () => {
|
|
72
|
+
k.current = !0, C(null), f(null);
|
|
73
|
+
}), []);
|
|
74
|
+
const re = {
|
|
75
|
+
...t,
|
|
76
|
+
validateMessages: t.validateMessages && $e(t.validateMessages, {
|
|
77
|
+
label: e.label
|
|
78
|
+
}),
|
|
79
|
+
prefixCls: n,
|
|
80
|
+
updateFormItem: te,
|
|
81
|
+
disabled: "disabled" in e ? e.disabled : t.disabled
|
|
82
|
+
}, { label: D, extra: j, className: le, style: ne, validateStatus: F, hidden: ie, ...oe } = e, ae = v(`${n}-label-item`, {
|
|
83
|
+
[`${n}-label-item-left`]: Z === "left"
|
|
84
|
+
}), M = u ? Object.values(u) : [], p = m ? Object.values(m).reduce((i, r) => i.concat(r), []) : [], $ = W(() => {
|
|
85
|
+
if (F)
|
|
86
|
+
return F;
|
|
87
|
+
if (M.length)
|
|
88
|
+
return T.error;
|
|
89
|
+
if (p.length)
|
|
90
|
+
return T.warning;
|
|
91
|
+
}, [u, m, F]), R = W(() => !w(e.help) || p.length > 0, [e.help, m]), se = v(
|
|
92
|
+
`${n}-item`,
|
|
93
|
+
{
|
|
94
|
+
[`${n}-item-error`]: R || !F && $ === T.error,
|
|
95
|
+
[`${n}-item-status-${$}`]: $,
|
|
96
|
+
[`${n}-item-has-help`]: R,
|
|
97
|
+
[`${n}-item-hidden`]: ie,
|
|
98
|
+
[`${n}-item-has-feedback`]: $ && e.hasFeedback
|
|
99
|
+
},
|
|
100
|
+
`${n}-layout-${A}`,
|
|
101
|
+
le
|
|
102
|
+
), V = () => {
|
|
103
|
+
var b, g;
|
|
104
|
+
const { field: i, children: r } = e, d = "disabled" in e ? e.disabled : t.disabled;
|
|
105
|
+
if (Ce(r)) {
|
|
106
|
+
let { key: l, ...o } = e ?? {};
|
|
107
|
+
return /* @__PURE__ */ G(
|
|
108
|
+
I,
|
|
109
|
+
{
|
|
110
|
+
disabled: d,
|
|
111
|
+
...o,
|
|
112
|
+
key: i || l,
|
|
113
|
+
_key: i || l
|
|
114
|
+
},
|
|
115
|
+
(...P) => r(
|
|
116
|
+
...P
|
|
117
|
+
)
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
if (he(r)) {
|
|
121
|
+
const l = H.Children.map(r, (o, P) => {
|
|
122
|
+
const z = y(o) && o.key || P, de = y(o) && "disabled" in o.props, ce = !w(d) && !de ? { key: z, disabled: d } : { key: z };
|
|
123
|
+
return y(o) ? K(o, ce) : o;
|
|
124
|
+
});
|
|
125
|
+
return /* @__PURE__ */ a(I, { ...e, field: void 0, children: l });
|
|
126
|
+
}
|
|
127
|
+
if (H.Children.count(r) == 1) {
|
|
128
|
+
if (i) {
|
|
129
|
+
const l = ((b = s == null ? void 0 : s.getItemKey) == null ? void 0 : b.call(s, i)) || i;
|
|
130
|
+
return /* @__PURE__ */ G(I, { disabled: d, ...e, key: l, _key: l }, r);
|
|
131
|
+
}
|
|
132
|
+
if (y(r)) {
|
|
133
|
+
if ((g = r.type) != null && g.isFormControl)
|
|
134
|
+
return r;
|
|
135
|
+
const o = !("disabled" in r.props) && !w(d) ? { disabled: d } : null;
|
|
136
|
+
return /* @__PURE__ */ a(I, { ...e, field: void 0, children: o ? K(r, o) : r });
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return r;
|
|
140
|
+
}, me = B, E = {
|
|
141
|
+
...t
|
|
142
|
+
};
|
|
143
|
+
return e.noStyle || (E.wrapperCol = void 0, E.labelCol = void 0), /* @__PURE__ */ a(J.Provider, { value: E, children: /* @__PURE__ */ a(me.Provider, { value: re, children: e.noStyle ? V() : /* @__PURE__ */ q(
|
|
144
|
+
Ie,
|
|
145
|
+
{
|
|
146
|
+
ref: h,
|
|
147
|
+
...ve(oe, [
|
|
148
|
+
"tooltip",
|
|
149
|
+
"children",
|
|
150
|
+
"prefixCls",
|
|
151
|
+
"store",
|
|
152
|
+
"initialValue",
|
|
153
|
+
"field",
|
|
154
|
+
"labelCol",
|
|
155
|
+
"wrapperCol",
|
|
156
|
+
"colon",
|
|
157
|
+
"disabled",
|
|
158
|
+
"rules",
|
|
159
|
+
"trigger",
|
|
160
|
+
"triggerPropName",
|
|
161
|
+
"validateTrigger",
|
|
162
|
+
"noStyle",
|
|
163
|
+
"required",
|
|
164
|
+
"hasFeedback",
|
|
165
|
+
"help",
|
|
166
|
+
"normalize",
|
|
167
|
+
"formatter",
|
|
168
|
+
"getValueFromEvent",
|
|
169
|
+
"shouldUpdate",
|
|
170
|
+
"field",
|
|
171
|
+
"isInner",
|
|
172
|
+
"labelAlign",
|
|
173
|
+
"layout",
|
|
174
|
+
"requiredSymbol",
|
|
175
|
+
"isFormList"
|
|
176
|
+
]),
|
|
177
|
+
className: se,
|
|
178
|
+
div: A !== "horizontal",
|
|
179
|
+
style: ne,
|
|
180
|
+
children: [
|
|
181
|
+
D ? /* @__PURE__ */ a(
|
|
182
|
+
Q,
|
|
183
|
+
{
|
|
184
|
+
...e.labelCol || t.labelCol,
|
|
185
|
+
className: v(
|
|
186
|
+
ae,
|
|
187
|
+
(O = e.labelCol) == null ? void 0 : O.className,
|
|
188
|
+
(U = t.labelCol) == null ? void 0 : U.className,
|
|
189
|
+
{
|
|
190
|
+
[`${n}-label-item-flex`]: !e.labelCol && !t.labelCol
|
|
191
|
+
}
|
|
192
|
+
),
|
|
193
|
+
children: /* @__PURE__ */ a(
|
|
194
|
+
we,
|
|
195
|
+
{
|
|
196
|
+
tooltip: e.tooltip,
|
|
197
|
+
htmlFor: e.field && ((_ = t == null ? void 0 : t.getFormElementId) == null ? void 0 : _.call(t, e.field)),
|
|
198
|
+
label: D,
|
|
199
|
+
prefix: S,
|
|
200
|
+
requiredSymbol: "requiredSymbol" in e ? e.requiredSymbol : t.requiredSymbol,
|
|
201
|
+
required: e.required,
|
|
202
|
+
rules: e.rules,
|
|
203
|
+
showColon: "colon" in e ? e.colon : t.colon
|
|
204
|
+
}
|
|
205
|
+
)
|
|
206
|
+
}
|
|
207
|
+
) : null,
|
|
208
|
+
/* @__PURE__ */ q(
|
|
209
|
+
Q,
|
|
210
|
+
{
|
|
211
|
+
className: v(`${n}-item-wrapper`, {
|
|
212
|
+
[`${n}-item-wrapper-flex`]: !e.wrapperCol && !t.wrapperCol
|
|
213
|
+
}),
|
|
214
|
+
...e.wrapperCol || t.wrapperCol,
|
|
215
|
+
children: [
|
|
216
|
+
V(),
|
|
217
|
+
/* @__PURE__ */ a(
|
|
218
|
+
Ne,
|
|
219
|
+
{
|
|
220
|
+
prefixCls: n,
|
|
221
|
+
help: e.help,
|
|
222
|
+
errors: M,
|
|
223
|
+
warnings: p
|
|
224
|
+
}
|
|
225
|
+
),
|
|
226
|
+
j && /* @__PURE__ */ a("div", { className: `${n}-extra`, children: j })
|
|
227
|
+
]
|
|
228
|
+
}
|
|
229
|
+
)
|
|
230
|
+
]
|
|
231
|
+
}
|
|
232
|
+
) }) });
|
|
233
|
+
}, Y = fe(Se);
|
|
234
|
+
Y.defaultProps = {
|
|
235
|
+
trigger: "onChange",
|
|
236
|
+
triggerPropName: "value"
|
|
237
|
+
};
|
|
238
|
+
Y.displayName = "FormItem";
|
|
239
|
+
export {
|
|
240
|
+
Y as default
|
|
241
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsxs as u, Fragment as j, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import P from "@unicom-cloud/icons/IconUiQuestionCircleFill";
|
|
3
|
+
import R from "lodash/isArray";
|
|
4
|
+
import I from "lodash/isPlainObject";
|
|
5
|
+
import U, { isValidElement as N } from "react";
|
|
6
|
+
import g from "../Tooltip.js";
|
|
7
|
+
import x from "@unicom-cloud/utils/class-name";
|
|
8
|
+
import y from "./IconSymbol.js";
|
|
9
|
+
import { ID_SUFFIX as C } from "./util.js";
|
|
10
|
+
const X = ({
|
|
11
|
+
htmlFor: i,
|
|
12
|
+
showColon: m,
|
|
13
|
+
label: c,
|
|
14
|
+
requiredSymbol: n,
|
|
15
|
+
required: F,
|
|
16
|
+
rules: l,
|
|
17
|
+
prefix: a,
|
|
18
|
+
tooltip: o
|
|
19
|
+
}) => {
|
|
20
|
+
const $ = R(l) && l.some((e) => e && e.required), p = I(n) ? n.position : "end", f = (F || $) && !!n && /* @__PURE__ */ r("strong", { className: `${a}-form-item-symbol`, children: /* @__PURE__ */ r(y, {}) }), b = () => {
|
|
21
|
+
if (!o)
|
|
22
|
+
return null;
|
|
23
|
+
const e = `${a}-form-item-tooltip`;
|
|
24
|
+
let s = {}, d = /* @__PURE__ */ r(P, { className: e });
|
|
25
|
+
if (!I(o) || N(o))
|
|
26
|
+
s = {
|
|
27
|
+
content: o
|
|
28
|
+
};
|
|
29
|
+
else {
|
|
30
|
+
const { icon: t, ...h } = o;
|
|
31
|
+
s = h, t && (d = N(t) ? U.cloneElement(t, {
|
|
32
|
+
className: x(
|
|
33
|
+
e,
|
|
34
|
+
t.props.className
|
|
35
|
+
)
|
|
36
|
+
}) : t);
|
|
37
|
+
}
|
|
38
|
+
return /* @__PURE__ */ r(g, { ...s, children: d });
|
|
39
|
+
};
|
|
40
|
+
return c ? /* @__PURE__ */ u("label", { htmlFor: i && `${i}${C}`, children: [
|
|
41
|
+
p !== "end" && f,
|
|
42
|
+
" ",
|
|
43
|
+
c,
|
|
44
|
+
b(),
|
|
45
|
+
p === "end" && /* @__PURE__ */ u(j, { children: [
|
|
46
|
+
" ",
|
|
47
|
+
f
|
|
48
|
+
] }),
|
|
49
|
+
m ? m === !0 ? ":" : m : ""
|
|
50
|
+
] }) : null;
|
|
51
|
+
};
|
|
52
|
+
export {
|
|
53
|
+
X as default
|
|
54
|
+
};
|
package/form/FormList.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { jsx as F } from "react/jsx-runtime";
|
|
2
|
+
import g from "lodash/get";
|
|
3
|
+
import $ from "lodash/isFunction";
|
|
4
|
+
import M from "lodash/isUndefined";
|
|
5
|
+
import { useRef as S } from "react";
|
|
6
|
+
import j from "../utils/warning.js";
|
|
7
|
+
import G from "./FormItem.js";
|
|
8
|
+
import { FormListContext as b } from "./context.js";
|
|
9
|
+
import { isFieldMatch as I, isSyntheticEvent as O } from "./util.js";
|
|
10
|
+
const y = (i, n) => !M(i) && i >= 0 && i < n.length, R = (i) => {
|
|
11
|
+
const { field: n, children: v, initialValue: L } = i, p = S({
|
|
12
|
+
id: 0,
|
|
13
|
+
keys: []
|
|
14
|
+
}), k = "initialValue" in i ? { initialValue: L } : {}, s = p.current.keys;
|
|
15
|
+
return /* @__PURE__ */ F(
|
|
16
|
+
b.Provider,
|
|
17
|
+
{
|
|
18
|
+
value: {
|
|
19
|
+
getItemKey: (f) => {
|
|
20
|
+
const o = f == null ? void 0 : f.replace(/\[|\]/g, ".").split("."), c = o.indexOf(n), u = o[c + 1];
|
|
21
|
+
return `${n}_${s.indexOf(u)}_${o.slice(c + 2).join("_")}`;
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
children: /* @__PURE__ */ F(
|
|
25
|
+
G,
|
|
26
|
+
{
|
|
27
|
+
field: n,
|
|
28
|
+
...k,
|
|
29
|
+
isFormList: !0,
|
|
30
|
+
rules: i.rules,
|
|
31
|
+
wrapperCol: { span: 24 },
|
|
32
|
+
noStyle: "noStyle" in i ? i.noStyle : !i.rules,
|
|
33
|
+
shouldUpdate: (f, o, c) => {
|
|
34
|
+
var u, h;
|
|
35
|
+
return !!(c && !c.isInner && I(c.field, [n]) && ((u = g(f, n)) == null ? void 0 : u.length) !== ((h = g(o, n)) == null ? void 0 : h.length));
|
|
36
|
+
},
|
|
37
|
+
children: (f, o, { value: c, onChange: u }) => {
|
|
38
|
+
const h = c || [], V = function(e, t) {
|
|
39
|
+
var d;
|
|
40
|
+
if (O(e)) {
|
|
41
|
+
j(
|
|
42
|
+
!0,
|
|
43
|
+
"Form.List: The event object cannot be used as a parameter of the add method"
|
|
44
|
+
);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const r = ((d = o.getInnerMethods(!0)) == null ? void 0 : d.innerGetFieldValue(n)) || [], m = p.current.id;
|
|
48
|
+
p.current.id += 1;
|
|
49
|
+
const a = r || [];
|
|
50
|
+
let l = a;
|
|
51
|
+
t !== void 0 && t >= 0 && t <= a.length ? (s.splice(t, 0, m), l = [
|
|
52
|
+
...a.slice(0, t),
|
|
53
|
+
e,
|
|
54
|
+
...a.slice(t)
|
|
55
|
+
]) : (s.push(m), l = [...a, e]), u(l, {
|
|
56
|
+
isFormList: !0,
|
|
57
|
+
ignore: e === void 0
|
|
58
|
+
});
|
|
59
|
+
}, _ = function(e) {
|
|
60
|
+
var m;
|
|
61
|
+
const r = (((m = o.getInnerMethods(!0)) == null ? void 0 : m.innerGetFieldValue(n)) || []).filter((a, l) => l !== e);
|
|
62
|
+
s.splice(e, 1), u([...r], { isFormList: !0 });
|
|
63
|
+
}, w = function(e, t) {
|
|
64
|
+
var d;
|
|
65
|
+
const r = ((d = o.getInnerMethods(!0)) == null ? void 0 : d.innerGetFieldValue(n)) || [];
|
|
66
|
+
if (e === t || !y(e, r) || !y(t, r))
|
|
67
|
+
return;
|
|
68
|
+
const m = s[e];
|
|
69
|
+
s.splice(e, 1), s.splice(t, 0, m);
|
|
70
|
+
const a = r[e], l = [...r];
|
|
71
|
+
l.splice(e, 1), l.splice(t, 0, a), u(l, { isFormList: !0 });
|
|
72
|
+
};
|
|
73
|
+
return $(v) && v(
|
|
74
|
+
h.map((e, t) => {
|
|
75
|
+
let r = s[t];
|
|
76
|
+
return r === void 0 && (r = p.current.id, s.push(r), p.current.id += 1), {
|
|
77
|
+
field: `${n}[${t}]`,
|
|
78
|
+
key: r
|
|
79
|
+
};
|
|
80
|
+
}),
|
|
81
|
+
{
|
|
82
|
+
add: V,
|
|
83
|
+
remove: _,
|
|
84
|
+
move: w
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
)
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
};
|
|
93
|
+
R.displayName = "FormList";
|
|
94
|
+
export {
|
|
95
|
+
R as default
|
|
96
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as F } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as a, useRef as d, useCallback as m } from "react";
|
|
3
|
+
import { FormProviderContext as l } from "./context.js";
|
|
4
|
+
const v = (e, R) => {
|
|
5
|
+
const n = d({}), u = m((r, t) => (r && (n.current[r] = t), () => {
|
|
6
|
+
delete n.current[r];
|
|
7
|
+
}), []), i = m(
|
|
8
|
+
(r, t) => {
|
|
9
|
+
var o;
|
|
10
|
+
(o = e.onFormSubmit) == null || o.call(e, r, t, {
|
|
11
|
+
forms: n.current
|
|
12
|
+
});
|
|
13
|
+
},
|
|
14
|
+
[e.onFormSubmit]
|
|
15
|
+
), c = m(
|
|
16
|
+
(r, t) => {
|
|
17
|
+
var o;
|
|
18
|
+
(o = e.onFormReset) == null || o.call(e, r, t, {
|
|
19
|
+
forms: n.current
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
[e.onFormReset]
|
|
23
|
+
), f = m(
|
|
24
|
+
(r, t) => {
|
|
25
|
+
var o;
|
|
26
|
+
(o = e.onFormValuesChange) == null || o.call(e, r, t, {
|
|
27
|
+
forms: n.current
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
[e.onFormValuesChange]
|
|
31
|
+
);
|
|
32
|
+
return /* @__PURE__ */ F(
|
|
33
|
+
l.Provider,
|
|
34
|
+
{
|
|
35
|
+
value: {
|
|
36
|
+
onFormValuesChange: f,
|
|
37
|
+
onFormSubmit: i,
|
|
38
|
+
onFormReset: c,
|
|
39
|
+
register: u
|
|
40
|
+
},
|
|
41
|
+
children: e.children
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
}, C = a(v);
|
|
45
|
+
C.displayName = "FormProvider";
|
|
46
|
+
export {
|
|
47
|
+
C as default
|
|
48
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
+
function o(e) {
|
|
3
|
+
return /* @__PURE__ */ l(
|
|
4
|
+
"svg",
|
|
5
|
+
{
|
|
6
|
+
width: "1em",
|
|
7
|
+
height: "1em",
|
|
8
|
+
"aria-hidden": !0,
|
|
9
|
+
focusable: !1,
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
stroke: "none",
|
|
12
|
+
viewBox: "0 0 48 48",
|
|
13
|
+
...e,
|
|
14
|
+
children: /* @__PURE__ */ l("path", { d: "M30.841,46.115l5.864,-2.824l-6.841,-14.205l15.371,3.508l1.449,-6.345l-15.372,-3.509l12.327,-9.83l-4.058,-5.088l-12.327,9.83l0,-15.767l-6.508,0l-0,15.767l-12.327,-9.83l-4.058,5.088l12.327,9.83l-15.372,3.509l1.449,6.345l15.371,-3.508l-6.841,14.205l5.864,2.824l6.841,-14.206l6.841,14.206Z" })
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
o as default
|
|
20
|
+
};
|
package/form/context.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { createContext as t } from "react";
|
|
2
|
+
import { NOOP as e } from "../utils/constant.js";
|
|
3
|
+
const o = t({
|
|
4
|
+
layout: "horizontal",
|
|
5
|
+
labelCol: { span: 5, offset: 0 },
|
|
6
|
+
labelAlign: "right",
|
|
7
|
+
wrapperCol: { span: 19, offset: 0 },
|
|
8
|
+
requiredSymbol: !0,
|
|
9
|
+
getFormElementId: () => "pqb-",
|
|
10
|
+
store: {
|
|
11
|
+
clearFields: e,
|
|
12
|
+
getFieldsValue: e,
|
|
13
|
+
getFieldValue: e,
|
|
14
|
+
getFieldError: e,
|
|
15
|
+
getFieldsError: e,
|
|
16
|
+
getTouchedFields: e,
|
|
17
|
+
getFields: e,
|
|
18
|
+
getInitialValues: e,
|
|
19
|
+
setInitialValues: e,
|
|
20
|
+
setInitialValue: e,
|
|
21
|
+
setFieldValue: e,
|
|
22
|
+
setFieldsValue: e,
|
|
23
|
+
setFields: e,
|
|
24
|
+
resetFields: e,
|
|
25
|
+
submit: e,
|
|
26
|
+
validate: e,
|
|
27
|
+
getFieldsState: e,
|
|
28
|
+
scrollToField: e,
|
|
29
|
+
getInnerMethods: () => ({
|
|
30
|
+
registerField: e,
|
|
31
|
+
innerGetStore: e,
|
|
32
|
+
registerStateWatcher: e,
|
|
33
|
+
registerWatcher: e,
|
|
34
|
+
innerGetStoreStatus: e
|
|
35
|
+
})
|
|
36
|
+
}
|
|
37
|
+
}), i = t({}), s = t({}), a = t({});
|
|
38
|
+
export {
|
|
39
|
+
o as FormContext,
|
|
40
|
+
i as FormItemContext,
|
|
41
|
+
a as FormListContext,
|
|
42
|
+
s as FormProviderContext
|
|
43
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useContext as d, useRef as f, useCallback as p, useEffect as S } from "react";
|
|
2
|
+
import { FormContext as a } from "../context.js";
|
|
3
|
+
import c from "../../hooks/useForceUpdate.js";
|
|
4
|
+
import g from "../../utils/warning.js";
|
|
5
|
+
import { SubmitStatus as l } from "../interface.js";
|
|
6
|
+
const R = () => {
|
|
7
|
+
const i = d(a), t = i.store, u = f(!1), m = c(), b = p(() => {
|
|
8
|
+
var o, e, n;
|
|
9
|
+
const { submitStatus: r } = ((n = (e = (o = t == null ? void 0 : t.getInnerMethods) == null ? void 0 : o.call(t, !0)) == null ? void 0 : e.innerGetStoreStatus) == null ? void 0 : n.call(e)) ?? {}, s = r === l.submitting;
|
|
10
|
+
s !== u.current && (u.current = s, m());
|
|
11
|
+
}, []);
|
|
12
|
+
return S(() => {
|
|
13
|
+
var e;
|
|
14
|
+
if (!t) {
|
|
15
|
+
g(!0, "formInstance is not available");
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const { registerFormWatcher: r } = ((e = t == null ? void 0 : t.getInnerMethods) == null ? void 0 : e.call(t, !0)) ?? {}, s = () => b();
|
|
19
|
+
s();
|
|
20
|
+
const o = (r == null ? void 0 : r(s)) ?? {};
|
|
21
|
+
return () => {
|
|
22
|
+
o == null || o();
|
|
23
|
+
};
|
|
24
|
+
}, []), {
|
|
25
|
+
form: t,
|
|
26
|
+
disabled: i.disabled,
|
|
27
|
+
isSubmitting: u.current
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export {
|
|
31
|
+
R as default
|
|
32
|
+
};
|