react-native-system-ui 0.0.4 → 0.0.6
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/dist/cjs/components/action-sheet/ActionSheet.js +28 -22
- package/dist/cjs/components/area/Area.js +72 -6
- package/dist/cjs/components/area/tokens.js +11 -0
- package/dist/cjs/components/avatar/Avatar.js +42 -10
- package/dist/cjs/components/badge/Badge.js +10 -10
- package/dist/cjs/components/badge/tokens.js +4 -0
- package/dist/cjs/components/button/Button.js +16 -65
- package/dist/cjs/components/button/ButtonContext.js +7 -10
- package/dist/cjs/components/button/ButtonGroup.js +13 -15
- package/dist/cjs/components/button/tokens.js +1 -5
- package/dist/cjs/components/calendar/Calendar.js +23 -12
- package/dist/cjs/components/cascader/Cascader.js +18 -13
- package/dist/cjs/components/cell/Cell.js +3 -3
- package/dist/cjs/components/cell/CellGroup.js +26 -21
- package/dist/cjs/components/checkbox/Checkbox.js +5 -4
- package/dist/cjs/components/checkbox/CheckboxContext.js +7 -10
- package/dist/cjs/components/checkbox/CheckboxGroup.js +24 -21
- package/dist/cjs/components/circle/Circle.js +6 -6
- package/dist/cjs/components/collapse/Collapse.js +10 -10
- package/dist/cjs/components/config-provider/locale/en-US.js +66 -4
- package/dist/cjs/components/config-provider/locale/zh-CN.js +74 -2
- package/dist/cjs/components/config-provider/tokens.js +11 -0
- package/dist/cjs/components/count-down/CountDown.js +6 -6
- package/dist/cjs/components/datetime-picker/DatetimePicker.js +6 -6
- package/dist/cjs/components/datetime-picker/tokens.js +11 -0
- package/dist/cjs/components/dialog/Dialog.js +39 -34
- package/dist/cjs/components/dialog/tokens.js +1 -4
- package/dist/cjs/components/divider/Divider.js +36 -1
- package/dist/cjs/components/field/Field.js +303 -201
- package/dist/cjs/components/flex/Flex.js +7 -3
- package/dist/cjs/components/flex/FlexContext.js +7 -14
- package/dist/cjs/components/form/Form.js +112 -122
- package/dist/cjs/components/form/FormContext.js +7 -10
- package/dist/cjs/components/form/FormItem.js +30 -4
- package/dist/cjs/components/form/FormList.js +16 -3
- package/dist/cjs/components/form/tokens.js +11 -0
- package/dist/cjs/components/form/utils.js +2 -1
- package/dist/cjs/components/grid/Grid.js +45 -31
- package/dist/cjs/components/grid/GridContext.js +7 -10
- package/dist/cjs/components/grid/GridItem.js +22 -22
- package/dist/cjs/components/image/Image.js +17 -13
- package/dist/cjs/components/image-preview/ImagePreview.js +43 -41
- package/dist/cjs/components/index.js +43 -141
- package/dist/cjs/components/input/Input.js +19 -5
- package/dist/cjs/components/loading/Loading.js +10 -139
- package/dist/cjs/components/loading/tokens.js +0 -24
- package/dist/cjs/components/notice-bar/NoticeBar.js +45 -41
- package/dist/cjs/components/notify/Notify.js +72 -30
- package/dist/cjs/components/notify/imperative.js +2 -2
- package/dist/cjs/components/notify/tokens.js +11 -1
- package/dist/cjs/components/number-keyboard/NumberKeyboard.js +6 -6
- package/dist/cjs/components/overlay/Overlay.js +70 -77
- package/dist/cjs/components/overlay/index.js +13 -27
- package/dist/cjs/components/overlay/tokens.js +4 -31
- package/dist/cjs/components/password-input/PasswordInput.js +2 -41
- package/dist/cjs/components/password-input/tokens.js +53 -0
- package/dist/cjs/components/picker/Picker.js +618 -38
- package/dist/cjs/components/popup/Popup.js +60 -47
- package/dist/cjs/components/portal/Portal.js +39 -31
- package/dist/cjs/components/portal/PortalHost.js +258 -213
- package/dist/cjs/components/portal/tokens.js +11 -0
- package/dist/cjs/components/progress/Progress.js +77 -36
- package/dist/cjs/components/progress/index.js +6 -0
- package/dist/cjs/components/radio/Radio.js +35 -12
- package/dist/cjs/components/radio/RadioContext.js +7 -10
- package/dist/cjs/components/radio/RadioGroup.js +23 -20
- package/dist/cjs/components/safe-area-view/tokens.js +11 -0
- package/dist/cjs/components/search/Search.js +16 -16
- package/dist/cjs/components/selector/Selector.js +6 -6
- package/dist/cjs/components/share-sheet/ShareSheet.js +50 -46
- package/dist/cjs/components/sidebar/Sidebar.js +27 -22
- package/dist/cjs/components/sidebar/SidebarItem.js +27 -22
- package/dist/cjs/components/skeleton/Skeleton.js +34 -21
- package/dist/cjs/components/slider/Slider.js +135 -78
- package/dist/cjs/components/stepper/Stepper.js +12 -10
- package/dist/cjs/components/swiper/Swiper.js +247 -710
- package/dist/cjs/components/swiper/SwiperItem.js +5 -33
- package/dist/cjs/components/swiper/tokens.js +11 -0
- package/dist/cjs/components/switch/Switch.js +46 -98
- package/dist/cjs/components/switch/tokens.js +1 -55
- package/dist/cjs/components/tabbar/Tabbar.js +26 -22
- package/dist/cjs/components/tabbar/TabbarItem.js +23 -22
- package/dist/cjs/components/tabbar/tokens.js +0 -2
- package/dist/cjs/components/tabs/Tabs.js +268 -94
- package/dist/cjs/components/tabs/index.js +4 -5
- package/dist/cjs/components/toast/Toast.js +72 -27
- package/dist/cjs/components/toast/imperative.js +2 -2
- package/dist/cjs/hooks/gesture/useGestureScroll.js +1 -2
- package/dist/cjs/hooks/index.js +12 -12
- package/dist/cjs/hooks/overlay/index.js +27 -0
- package/dist/cjs/hooks/useHairline.js +0 -4
- package/dist/cjs/platform/scrollLock.js +1 -1
- package/dist/cjs/utils/compare.js +26 -0
- package/dist/cjs/utils/index.js +11 -0
- package/dist/es/components/action-sheet/ActionSheet.js +29 -23
- package/dist/es/components/area/Area.js +73 -7
- package/dist/es/components/area/tokens.js +5 -0
- package/dist/es/components/avatar/Avatar.js +42 -10
- package/dist/es/components/badge/Badge.js +11 -11
- package/dist/es/components/badge/tokens.js +4 -0
- package/dist/es/components/button/Button.js +17 -65
- package/dist/es/components/button/ButtonContext.js +1 -2
- package/dist/es/components/button/ButtonGroup.js +10 -12
- package/dist/es/components/button/tokens.js +1 -5
- package/dist/es/components/calendar/Calendar.js +24 -13
- package/dist/es/components/cascader/Cascader.js +16 -11
- package/dist/es/components/cell/Cell.js +4 -4
- package/dist/es/components/cell/CellGroup.js +25 -20
- package/dist/es/components/checkbox/Checkbox.js +5 -4
- package/dist/es/components/checkbox/CheckboxContext.js +1 -2
- package/dist/es/components/checkbox/CheckboxGroup.js +24 -21
- package/dist/es/components/circle/Circle.js +7 -7
- package/dist/es/components/collapse/Collapse.js +11 -11
- package/dist/es/components/config-provider/locale/en-US.js +66 -4
- package/dist/es/components/config-provider/locale/zh-CN.js +74 -2
- package/dist/es/components/config-provider/tokens.js +5 -0
- package/dist/es/components/count-down/CountDown.js +7 -7
- package/dist/es/components/datetime-picker/DatetimePicker.js +7 -7
- package/dist/es/components/datetime-picker/tokens.js +5 -0
- package/dist/es/components/dialog/Dialog.js +40 -35
- package/dist/es/components/dialog/tokens.js +1 -4
- package/dist/es/components/divider/Divider.js +36 -1
- package/dist/es/components/field/Field.js +304 -202
- package/dist/es/components/flex/Flex.js +5 -1
- package/dist/es/components/flex/FlexContext.js +1 -6
- package/dist/es/components/form/Form.js +89 -99
- package/dist/es/components/form/FormContext.js +1 -2
- package/dist/es/components/form/FormItem.js +32 -6
- package/dist/es/components/form/FormList.js +18 -5
- package/dist/es/components/form/tokens.js +5 -0
- package/dist/es/components/form/utils.js +1 -0
- package/dist/es/components/grid/Grid.js +43 -29
- package/dist/es/components/grid/GridContext.js +1 -2
- package/dist/es/components/grid/GridItem.js +24 -24
- package/dist/es/components/image/Image.js +18 -14
- package/dist/es/components/image-preview/ImagePreview.js +44 -42
- package/dist/es/components/index.js +2 -17
- package/dist/es/components/input/Input.js +20 -6
- package/dist/es/components/loading/Loading.js +10 -139
- package/dist/es/components/loading/tokens.js +0 -24
- package/dist/es/components/notice-bar/NoticeBar.js +46 -42
- package/dist/es/components/notify/Notify.js +72 -30
- package/dist/es/components/notify/imperative.js +2 -2
- package/dist/es/components/notify/tokens.js +5 -1
- package/dist/es/components/number-keyboard/NumberKeyboard.js +7 -7
- package/dist/es/components/overlay/Overlay.js +58 -75
- package/dist/es/components/overlay/index.js +3 -4
- package/dist/es/components/overlay/tokens.js +3 -29
- package/dist/es/components/password-input/PasswordInput.js +1 -40
- package/dist/es/components/password-input/tokens.js +41 -0
- package/dist/es/components/picker/Picker.js +610 -34
- package/dist/es/components/popup/Popup.js +62 -49
- package/dist/es/components/portal/Portal.js +37 -31
- package/dist/es/components/portal/PortalHost.js +257 -211
- package/dist/es/components/portal/tokens.js +5 -0
- package/dist/es/components/progress/Progress.js +76 -36
- package/dist/es/components/progress/index.js +2 -1
- package/dist/es/components/radio/Radio.js +37 -14
- package/dist/es/components/radio/RadioContext.js +1 -2
- package/dist/es/components/radio/RadioGroup.js +23 -20
- package/dist/es/components/safe-area-view/tokens.js +5 -0
- package/dist/es/components/search/Search.js +17 -17
- package/dist/es/components/selector/Selector.js +7 -7
- package/dist/es/components/share-sheet/ShareSheet.js +51 -47
- package/dist/es/components/sidebar/Sidebar.js +26 -21
- package/dist/es/components/sidebar/SidebarItem.js +26 -22
- package/dist/es/components/skeleton/Skeleton.js +35 -22
- package/dist/es/components/slider/Slider.js +132 -75
- package/dist/es/components/stepper/Stepper.js +13 -11
- package/dist/es/components/swiper/Swiper.js +248 -711
- package/dist/es/components/swiper/SwiperItem.js +1 -21
- package/dist/es/components/swiper/tokens.js +5 -0
- package/dist/es/components/switch/Switch.js +49 -101
- package/dist/es/components/switch/tokens.js +1 -49
- package/dist/es/components/tabbar/Tabbar.js +27 -23
- package/dist/es/components/tabbar/TabbarItem.js +22 -22
- package/dist/es/components/tabbar/tokens.js +0 -2
- package/dist/es/components/tabs/Tabs.js +264 -90
- package/dist/es/components/tabs/index.js +1 -2
- package/dist/es/components/toast/Toast.js +72 -28
- package/dist/es/components/toast/imperative.js +2 -2
- package/dist/es/hooks/gesture/useGestureScroll.js +1 -2
- package/dist/es/hooks/index.js +1 -1
- package/dist/es/hooks/overlay/index.js +3 -0
- package/dist/es/hooks/useHairline.js +0 -4
- package/dist/es/platform/scrollLock.js +1 -1
- package/dist/es/utils/compare.js +18 -0
- package/dist/es/utils/index.js +1 -1
- package/dist/types/components/area/tokens.d.ts +3 -0
- package/dist/types/components/avatar/Avatar.d.ts +4 -2
- package/dist/types/components/button/ButtonContext.d.ts +2 -16
- package/dist/types/components/button/ButtonGroup.d.ts +14 -1
- package/dist/types/components/button/index.d.ts +1 -1
- package/dist/types/components/checkbox/CheckboxContext.d.ts +2 -16
- package/dist/types/components/checkbox/CheckboxGroup.d.ts +15 -1
- package/dist/types/components/collapse/Collapse.d.ts +0 -1
- package/dist/types/components/config-provider/LocaleContext.d.ts +2 -74
- package/dist/types/components/config-provider/tokens.d.ts +3 -0
- package/dist/types/components/config-provider/useLocale.d.ts +1 -74
- package/dist/types/components/datetime-picker/tokens.d.ts +3 -0
- package/dist/types/components/flex/Flex.d.ts +6 -0
- package/dist/types/components/flex/FlexContext.d.ts +2 -8
- package/dist/types/components/form/Form.d.ts +15 -1
- package/dist/types/components/form/FormContext.d.ts +2 -17
- package/dist/types/components/form/tokens.d.ts +3 -0
- package/dist/types/components/form/utils.d.ts +1 -0
- package/dist/types/components/grid/Grid.d.ts +16 -1
- package/dist/types/components/grid/GridContext.d.ts +2 -17
- package/dist/types/components/index.d.ts +3 -33
- package/dist/types/components/loading/index.d.ts +1 -1
- package/dist/types/components/notify/Notify.d.ts +1 -0
- package/dist/types/components/overlay/Overlay.d.ts +6 -1
- package/dist/types/components/overlay/index.d.ts +2 -3
- package/dist/types/components/overlay/tokens.d.ts +2 -3
- package/dist/types/components/password-input/PasswordInput.d.ts +0 -39
- package/dist/types/components/password-input/tokens.d.ts +40 -0
- package/dist/types/components/picker/Picker.d.ts +18 -2
- package/dist/types/components/picker/index.d.ts +1 -1
- package/dist/types/components/portal/Portal.d.ts +4 -6
- package/dist/types/components/portal/PortalHost.d.ts +1 -15
- package/dist/types/components/portal/tokens.d.ts +3 -0
- package/dist/types/components/progress/Progress.d.ts +4 -0
- package/dist/types/components/progress/index.d.ts +2 -1
- package/dist/types/components/radio/RadioContext.d.ts +2 -13
- package/dist/types/components/radio/RadioGroup.d.ts +12 -1
- package/dist/types/components/safe-area-view/tokens.d.ts +3 -0
- package/dist/types/components/swiper/Swiper.d.ts +4 -2
- package/dist/types/components/swiper/SwiperItem.d.ts +1 -5
- package/dist/types/components/swiper/tokens.d.ts +3 -0
- package/dist/types/components/tabs/Tabs.d.ts +8 -4
- package/dist/types/components/tabs/index.d.ts +3 -1
- package/dist/types/components/toast/Toast.d.ts +1 -4
- package/dist/types/hooks/aria/useAriaListBox.d.ts +0 -6
- package/dist/types/hooks/aria/useAriaOverlay.d.ts +0 -10
- package/dist/types/hooks/aria/useAriaPress.d.ts +0 -20
- package/dist/types/hooks/aria/useAriaToggle.d.ts +0 -3
- package/dist/types/hooks/index.d.ts +1 -1
- package/dist/types/hooks/overlay/index.d.ts +2 -0
- package/dist/types/hooks/useHairline.d.ts +0 -21
- package/dist/types/utils/compare.d.ts +2 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/package.json +10 -48
- package/dist/cjs/components/area/utils.js +0 -74
- package/dist/cjs/components/cascader/utils.js +0 -20
- package/dist/cjs/components/config-provider/locale/base.js +0 -80
- package/dist/cjs/components/dropdown-menu/DropdownItem.js +0 -288
- package/dist/cjs/components/dropdown-menu/DropdownMenu.js +0 -340
- package/dist/cjs/components/dropdown-menu/DropdownMenuContext.js +0 -21
- package/dist/cjs/components/dropdown-menu/index.js +0 -25
- package/dist/cjs/components/dropdown-menu/tokens.js +0 -67
- package/dist/cjs/components/field/utils.js +0 -24
- package/dist/cjs/components/index-bar/IndexAnchor.js +0 -74
- package/dist/cjs/components/index-bar/IndexBar.js +0 -436
- package/dist/cjs/components/index-bar/index.js +0 -25
- package/dist/cjs/components/index-bar/tokens.js +0 -45
- package/dist/cjs/components/list/List.js +0 -165
- package/dist/cjs/components/list/index.js +0 -9
- package/dist/cjs/components/list/tokens.js +0 -39
- package/dist/cjs/components/notify/defaults.js +0 -15
- package/dist/cjs/components/pagination/Pagination.js +0 -160
- package/dist/cjs/components/pagination/index.js +0 -22
- package/dist/cjs/components/pagination/tokens.js +0 -103
- package/dist/cjs/components/picker/WheelPicker.js +0 -492
- package/dist/cjs/components/picker/utils.js +0 -138
- package/dist/cjs/components/pull-refresh/PullRefresh.js +0 -378
- package/dist/cjs/components/pull-refresh/index.js +0 -16
- package/dist/cjs/components/pull-refresh/tokens.js +0 -22
- package/dist/cjs/components/rate/Rate.js +0 -269
- package/dist/cjs/components/rate/index.js +0 -15
- package/dist/cjs/components/rate/tokens.js +0 -60
- package/dist/cjs/components/slider/utils.js +0 -60
- package/dist/cjs/components/swiper/useSwiperWeb.js +0 -209
- package/dist/cjs/components/swiper/utils.js +0 -49
- package/dist/cjs/components/tabs/TabPane.js +0 -9
- package/dist/cjs/components/tabs/useTabsAnimation.js +0 -74
- package/dist/cjs/components/tabs/useTabsScroll.js +0 -133
- package/dist/cjs/components/tabs/utils.js +0 -34
- package/dist/cjs/components/types.js +0 -1
- package/dist/cjs/components/uploader/Uploader.js +0 -557
- package/dist/cjs/components/uploader/index.js +0 -22
- package/dist/cjs/components/uploader/tokens.js +0 -58
- package/dist/cjs/components/uploader/utils.js +0 -72
- package/dist/cjs/hooks/usePresenceAnimation.js +0 -70
- package/dist/es/components/area/utils.js +0 -67
- package/dist/es/components/cascader/utils.js +0 -13
- package/dist/es/components/config-provider/locale/base.js +0 -74
- package/dist/es/components/dropdown-menu/DropdownItem.js +0 -269
- package/dist/es/components/dropdown-menu/DropdownMenu.js +0 -320
- package/dist/es/components/dropdown-menu/DropdownMenuContext.js +0 -7
- package/dist/es/components/dropdown-menu/index.js +0 -7
- package/dist/es/components/dropdown-menu/tokens.js +0 -61
- package/dist/es/components/field/utils.js +0 -17
- package/dist/es/components/index-bar/IndexAnchor.js +0 -55
- package/dist/es/components/index-bar/IndexBar.js +0 -417
- package/dist/es/components/index-bar/index.js +0 -7
- package/dist/es/components/index-bar/tokens.js +0 -39
- package/dist/es/components/list/List.js +0 -145
- package/dist/es/components/list/index.js +0 -2
- package/dist/es/components/list/tokens.js +0 -32
- package/dist/es/components/notify/defaults.js +0 -9
- package/dist/es/components/pagination/Pagination.js +0 -141
- package/dist/es/components/pagination/index.js +0 -4
- package/dist/es/components/pagination/tokens.js +0 -91
- package/dist/es/components/picker/WheelPicker.js +0 -473
- package/dist/es/components/picker/utils.js +0 -127
- package/dist/es/components/pull-refresh/PullRefresh.js +0 -359
- package/dist/es/components/pull-refresh/index.js +0 -3
- package/dist/es/components/pull-refresh/tokens.js +0 -16
- package/dist/es/components/rate/Rate.js +0 -250
- package/dist/es/components/rate/index.js +0 -3
- package/dist/es/components/rate/tokens.js +0 -53
- package/dist/es/components/slider/utils.js +0 -49
- package/dist/es/components/swiper/useSwiperWeb.js +0 -190
- package/dist/es/components/swiper/utils.js +0 -37
- package/dist/es/components/tabs/TabPane.js +0 -3
- package/dist/es/components/tabs/useTabsAnimation.js +0 -55
- package/dist/es/components/tabs/useTabsScroll.js +0 -114
- package/dist/es/components/tabs/utils.js +0 -19
- package/dist/es/components/types.js +0 -1
- package/dist/es/components/uploader/Uploader.js +0 -537
- package/dist/es/components/uploader/index.js +0 -4
- package/dist/es/components/uploader/tokens.js +0 -52
- package/dist/es/components/uploader/utils.js +0 -60
- package/dist/es/hooks/usePresenceAnimation.js +0 -51
- package/dist/types/components/area/utils.d.ts +0 -2
- package/dist/types/components/cascader/utils.d.ts +0 -6
- package/dist/types/components/config-provider/locale/base.d.ts +0 -74
- package/dist/types/components/dropdown-menu/DropdownItem.d.ts +0 -4
- package/dist/types/components/dropdown-menu/DropdownMenu.d.ts +0 -4
- package/dist/types/components/dropdown-menu/DropdownMenuContext.d.ts +0 -17
- package/dist/types/components/dropdown-menu/index.d.ts +0 -8
- package/dist/types/components/dropdown-menu/tokens.d.ts +0 -52
- package/dist/types/components/field/utils.d.ts +0 -4
- package/dist/types/components/index-bar/IndexAnchor.d.ts +0 -4
- package/dist/types/components/index-bar/IndexBar.d.ts +0 -4
- package/dist/types/components/index-bar/index.d.ts +0 -9
- package/dist/types/components/index-bar/tokens.d.ts +0 -31
- package/dist/types/components/list/List.d.ts +0 -4
- package/dist/types/components/list/index.d.ts +0 -3
- package/dist/types/components/list/tokens.d.ts +0 -4
- package/dist/types/components/notify/defaults.d.ts +0 -10
- package/dist/types/components/pagination/Pagination.d.ts +0 -5
- package/dist/types/components/pagination/index.d.ts +0 -5
- package/dist/types/components/pagination/tokens.d.ts +0 -2
- package/dist/types/components/picker/WheelPicker.d.ts +0 -21
- package/dist/types/components/picker/utils.d.ts +0 -17
- package/dist/types/components/pull-refresh/PullRefresh.d.ts +0 -5
- package/dist/types/components/pull-refresh/index.d.ts +0 -4
- package/dist/types/components/pull-refresh/tokens.d.ts +0 -10
- package/dist/types/components/rate/Rate.d.ts +0 -4
- package/dist/types/components/rate/index.d.ts +0 -4
- package/dist/types/components/rate/tokens.d.ts +0 -4
- package/dist/types/components/slider/utils.d.ts +0 -42
- package/dist/types/components/swiper/useSwiperWeb.d.ts +0 -41
- package/dist/types/components/swiper/utils.d.ts +0 -17
- package/dist/types/components/tabs/TabPane.d.ts +0 -4
- package/dist/types/components/tabs/useTabsAnimation.d.ts +0 -30
- package/dist/types/components/tabs/useTabsScroll.d.ts +0 -23
- package/dist/types/components/tabs/utils.d.ts +0 -5
- package/dist/types/components/types.d.ts +0 -59
- package/dist/types/components/uploader/Uploader.d.ts +0 -4
- package/dist/types/components/uploader/index.d.ts +0 -5
- package/dist/types/components/uploader/tokens.d.ts +0 -42
- package/dist/types/components/uploader/utils.d.ts +0 -11
- package/dist/types/hooks/usePresenceAnimation.d.ts +0 -20
- /package/dist/cjs/{components → hooks}/overlay/OverlayStackStore.js +0 -0
- /package/dist/cjs/{components → hooks}/overlay/useOverlayStack.js +0 -0
- /package/dist/es/{components → hooks}/overlay/OverlayStackStore.js +0 -0
- /package/dist/es/{components → hooks}/overlay/useOverlayStack.js +0 -0
- /package/dist/types/{components → hooks}/overlay/OverlayStackStore.d.ts +0 -0
- /package/dist/types/{components → hooks}/overlay/useOverlayStack.d.ts +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.useWatch = exports.default = exports.FormSubscribe = void 0;
|
|
6
|
+
exports.useWatch = exports.default = exports.FormSubscribe = exports.FormContext = void 0;
|
|
7
7
|
function _react() {
|
|
8
8
|
const data = _interopRequireWildcard(require("react"));
|
|
9
9
|
_react = function () {
|
|
@@ -18,12 +18,13 @@ function _reactNative() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
+
var _utils = require("../../utils");
|
|
21
22
|
var _promise = require("../../utils/promise");
|
|
22
23
|
var _validate = require("../../utils/validate");
|
|
23
|
-
var
|
|
24
|
-
var _utils = require("./utils");
|
|
24
|
+
var _utils2 = require("./utils");
|
|
25
25
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
26
26
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
27
|
+
const FormContext = exports.FormContext = /*#__PURE__*/_react().default.createContext(null);
|
|
27
28
|
const runRuleValidation = (rule, value, values) => {
|
|
28
29
|
const message = rule.message ?? '表单验证未通过';
|
|
29
30
|
const empty = value == null || value === '' || Array.isArray(value) && value.length === 0;
|
|
@@ -43,21 +44,6 @@ const runRuleValidation = (rule, value, values) => {
|
|
|
43
44
|
const result = rule.validator(value, values);
|
|
44
45
|
return (0, _promise.isPromiseLike)(result) ? result.then(handle) : handle(result);
|
|
45
46
|
};
|
|
46
|
-
const shallowEqual = (prev, next) => {
|
|
47
|
-
if (prev === next) return true;
|
|
48
|
-
if (!prev || !next) return false;
|
|
49
|
-
const prevKeys = Object.keys(prev);
|
|
50
|
-
const nextKeys = Object.keys(next);
|
|
51
|
-
if (prevKeys.length !== nextKeys.length) {
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
for (const key of prevKeys) {
|
|
55
|
-
if (prev[key] !== next[key]) {
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return true;
|
|
60
|
-
};
|
|
61
47
|
const InternalForm = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
62
48
|
const {
|
|
63
49
|
initialValues: initialValuesProp,
|
|
@@ -73,55 +59,61 @@ const InternalForm = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
73
59
|
} = props;
|
|
74
60
|
const defaultInitialValuesRef = (0, _react().useRef)({});
|
|
75
61
|
const mergedInitialValues = initialValuesProp ?? defaultInitialValuesRef.current;
|
|
76
|
-
const [
|
|
77
|
-
const
|
|
62
|
+
const [, setFormVersion] = (0, _react().useState)(0);
|
|
63
|
+
const errorsRef = (0, _react().useRef)({});
|
|
78
64
|
const lastInitialValuesRef = (0, _react().useRef)(mergedInitialValues);
|
|
79
65
|
const fieldsRef = (0, _react().useRef)({});
|
|
80
66
|
const dependencyGraphRef = (0, _react().useRef)(new Map());
|
|
81
|
-
const valuesRef = (0, _react().useRef)(
|
|
82
|
-
const errorsRef = (0, _react().useRef)(errors);
|
|
67
|
+
const valuesRef = (0, _react().useRef)(mergedInitialValues);
|
|
83
68
|
const validationSeqRef = (0, _react().useRef)({});
|
|
84
69
|
const subscribersRef = (0, _react().useRef)(new Set());
|
|
70
|
+
const notify = (0, _react().useCallback)((changedValues, nextValues) => {
|
|
71
|
+
subscribersRef.current.forEach(listener => listener(changedValues, nextValues));
|
|
72
|
+
}, []);
|
|
85
73
|
(0, _react().useEffect)(() => {
|
|
86
|
-
if (
|
|
74
|
+
if ((0, _utils.shallowEqualObject)(lastInitialValuesRef.current, mergedInitialValues)) {
|
|
87
75
|
return;
|
|
88
76
|
}
|
|
89
77
|
lastInitialValuesRef.current = mergedInitialValues;
|
|
90
78
|
valuesRef.current = mergedInitialValues;
|
|
91
79
|
errorsRef.current = {};
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
80
|
+
setFormVersion(version => version + 1);
|
|
81
|
+
notify({
|
|
82
|
+
[_utils2.FORM_ALL_FIELDS_KEY]: true
|
|
83
|
+
}, mergedInitialValues);
|
|
84
|
+
}, [mergedInitialValues, notify]);
|
|
95
85
|
const setFieldErrors = (0, _react().useCallback)((name, nextErrors) => {
|
|
96
|
-
const key = (0,
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
if (!
|
|
100
|
-
if (!prevErrors) return prev;
|
|
101
|
-
const clone = {
|
|
102
|
-
...prev
|
|
103
|
-
};
|
|
104
|
-
delete clone[key];
|
|
105
|
-
errorsRef.current = clone;
|
|
106
|
-
return clone;
|
|
107
|
-
}
|
|
108
|
-
if (prevErrors?.[0] === nextErrors[0] && prevErrors.length === nextErrors.length) {
|
|
109
|
-
return prev;
|
|
110
|
-
}
|
|
86
|
+
const key = (0, _utils2.serializeNamePath)(name);
|
|
87
|
+
const prevErrors = errorsRef.current[key];
|
|
88
|
+
if (!nextErrors.length) {
|
|
89
|
+
if (!prevErrors) return;
|
|
111
90
|
const clone = {
|
|
112
|
-
...
|
|
113
|
-
[key]: nextErrors
|
|
91
|
+
...errorsRef.current
|
|
114
92
|
};
|
|
93
|
+
delete clone[key];
|
|
115
94
|
errorsRef.current = clone;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
95
|
+
notify({
|
|
96
|
+
[key]: (0, _utils2.getValueByName)(valuesRef.current, name)
|
|
97
|
+
}, valuesRef.current);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (prevErrors?.[0] === nextErrors[0] && prevErrors.length === nextErrors.length) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
errorsRef.current = {
|
|
104
|
+
...errorsRef.current,
|
|
105
|
+
[key]: nextErrors
|
|
106
|
+
};
|
|
107
|
+
notify({
|
|
108
|
+
[key]: (0, _utils2.getValueByName)(valuesRef.current, name)
|
|
109
|
+
}, valuesRef.current);
|
|
110
|
+
}, [notify]);
|
|
119
111
|
const registerField = (0, _react().useCallback)((name, options) => {
|
|
120
|
-
const key = (0,
|
|
112
|
+
const key = (0, _utils2.serializeNamePath)(name);
|
|
121
113
|
const prev = fieldsRef.current[key];
|
|
122
114
|
if (prev?.dependencies?.length) {
|
|
123
115
|
for (const dep of prev.dependencies) {
|
|
124
|
-
const depKey = (0,
|
|
116
|
+
const depKey = (0, _utils2.serializeNamePath)(dep);
|
|
125
117
|
const set = dependencyGraphRef.current.get(depKey);
|
|
126
118
|
if (!set) continue;
|
|
127
119
|
set.delete(key);
|
|
@@ -134,7 +126,7 @@ const InternalForm = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
134
126
|
};
|
|
135
127
|
if (options.dependencies?.length) {
|
|
136
128
|
for (const dep of options.dependencies) {
|
|
137
|
-
const depKey = (0,
|
|
129
|
+
const depKey = (0, _utils2.serializeNamePath)(dep);
|
|
138
130
|
const set = dependencyGraphRef.current.get(depKey);
|
|
139
131
|
if (set) {
|
|
140
132
|
set.add(key);
|
|
@@ -144,18 +136,17 @@ const InternalForm = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
144
136
|
}
|
|
145
137
|
}
|
|
146
138
|
if (options.initialValue !== undefined) {
|
|
147
|
-
const existsInInitial = (0,
|
|
139
|
+
const existsInInitial = (0, _utils2.getValueByName)(lastInitialValuesRef.current, name);
|
|
148
140
|
if (existsInInitial === undefined) {
|
|
149
|
-
lastInitialValuesRef.current = (0,
|
|
141
|
+
lastInitialValuesRef.current = (0, _utils2.setValueByName)(lastInitialValuesRef.current, name, options.initialValue);
|
|
150
142
|
}
|
|
151
|
-
const existsInState = (0,
|
|
143
|
+
const existsInState = (0, _utils2.getValueByName)(valuesRef.current, name);
|
|
152
144
|
if (existsInState === undefined) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
});
|
|
145
|
+
const next = (0, _utils2.setValueByName)(valuesRef.current, name, options.initialValue);
|
|
146
|
+
valuesRef.current = next;
|
|
147
|
+
notify({
|
|
148
|
+
[key]: options.initialValue
|
|
149
|
+
}, next);
|
|
159
150
|
}
|
|
160
151
|
}
|
|
161
152
|
return () => {
|
|
@@ -163,7 +154,7 @@ const InternalForm = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
163
154
|
delete fieldsRef.current[key];
|
|
164
155
|
if (current?.dependencies?.length) {
|
|
165
156
|
for (const dep of current.dependencies) {
|
|
166
|
-
const depKey = (0,
|
|
157
|
+
const depKey = (0, _utils2.serializeNamePath)(dep);
|
|
167
158
|
const set = dependencyGraphRef.current.get(depKey);
|
|
168
159
|
if (!set) continue;
|
|
169
160
|
set.delete(key);
|
|
@@ -173,11 +164,8 @@ const InternalForm = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
173
164
|
setFieldErrors(name, []);
|
|
174
165
|
};
|
|
175
166
|
}, [setFieldErrors]);
|
|
176
|
-
const notify = (0, _react().useCallback)((changedValues, nextValues) => {
|
|
177
|
-
subscribersRef.current.forEach(listener => listener(changedValues, nextValues));
|
|
178
|
-
}, []);
|
|
179
167
|
const runFieldValidation = (0, _react().useCallback)(async (name, trigger, valueOverride, valuesOverride) => {
|
|
180
|
-
const key = (0,
|
|
168
|
+
const key = (0, _utils2.serializeNamePath)(name);
|
|
181
169
|
const validationSeq = (validationSeqRef.current[key] ?? 0) + 1;
|
|
182
170
|
validationSeqRef.current[key] = validationSeq;
|
|
183
171
|
const fieldOptions = fieldsRef.current[key];
|
|
@@ -188,14 +176,14 @@ const InternalForm = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
188
176
|
}
|
|
189
177
|
let activeRules = trigger ? fieldRules.filter(rule => {
|
|
190
178
|
const ruleTrigger = rule.validateTrigger ?? fieldOptions.validateTrigger;
|
|
191
|
-
return !ruleTrigger || (0,
|
|
179
|
+
return !ruleTrigger || (0, _utils2.normalizeTrigger)(ruleTrigger).includes(trigger);
|
|
192
180
|
}) : fieldRules;
|
|
193
181
|
if (!activeRules.length) {
|
|
194
182
|
if (!errorsRef.current[key]?.length) return true;
|
|
195
183
|
activeRules = fieldRules;
|
|
196
184
|
}
|
|
197
185
|
const currentValues = valuesOverride ?? valuesRef.current;
|
|
198
|
-
const value = valueOverride ?? (0,
|
|
186
|
+
const value = valueOverride ?? (0, _utils2.getValueByName)(currentValues, name);
|
|
199
187
|
for (const rule of activeRules) {
|
|
200
188
|
const result = runRuleValidation(rule, value, currentValues);
|
|
201
189
|
const error = (0, _promise.isPromiseLike)(result) ? await result : result;
|
|
@@ -223,27 +211,25 @@ const InternalForm = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
223
211
|
return valuesRef.current;
|
|
224
212
|
}, [runFieldValidation]);
|
|
225
213
|
const setFieldValue = (0, _react().useCallback)((name, value, trigger) => {
|
|
226
|
-
const nameKey = (0,
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
}
|
|
214
|
+
const nameKey = (0, _utils2.serializeNamePath)(name);
|
|
215
|
+
const prev = valuesRef.current;
|
|
216
|
+
const prevValue = (0, _utils2.getValueByName)(prev, name);
|
|
217
|
+
if (prevValue === value) return;
|
|
218
|
+
const next = (0, _utils2.setValueByName)(prev, name, value);
|
|
219
|
+
valuesRef.current = next;
|
|
220
|
+
onValuesChange?.(next, nameKey, value);
|
|
221
|
+
runFieldValidation(name, trigger, value, next);
|
|
222
|
+
const dependents = dependencyGraphRef.current.get(nameKey);
|
|
223
|
+
if (dependents?.size) {
|
|
224
|
+
for (const dependentKey of dependents) {
|
|
225
|
+
const meta = fieldsRef.current[dependentKey];
|
|
226
|
+
if (!meta) continue;
|
|
227
|
+
runFieldValidation(meta.name, trigger, (0, _utils2.getValueByName)(next, meta.name), next);
|
|
241
228
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
});
|
|
229
|
+
}
|
|
230
|
+
notify({
|
|
231
|
+
[nameKey]: value
|
|
232
|
+
}, next);
|
|
247
233
|
}, [notify, onValuesChange, runFieldValidation]);
|
|
248
234
|
const formApi = {
|
|
249
235
|
submit: async () => {
|
|
@@ -256,60 +242,57 @@ const InternalForm = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
256
242
|
}
|
|
257
243
|
},
|
|
258
244
|
getFieldsValue: () => valuesRef.current,
|
|
259
|
-
setFieldsValue: next => {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
245
|
+
setFieldsValue: (next, options) => {
|
|
246
|
+
const shouldValidate = options?.validate ?? false;
|
|
247
|
+
const prev = valuesRef.current;
|
|
248
|
+
let merged = prev;
|
|
249
|
+
const changed = {};
|
|
250
|
+
Object.keys(next).forEach(key => {
|
|
251
|
+
const newVal = next[key];
|
|
252
|
+
if ((0, _utils2.getValueByName)(merged, key) === newVal) return;
|
|
253
|
+
changed[key] = newVal;
|
|
254
|
+
merged = (0, _utils2.setValueByName)(merged, key, newVal);
|
|
255
|
+
onValuesChange?.(merged, key, newVal);
|
|
256
|
+
if (shouldValidate) {
|
|
269
257
|
runFieldValidation(key, undefined, newVal, merged);
|
|
270
258
|
const dependents = dependencyGraphRef.current.get(key);
|
|
271
259
|
if (dependents?.size) {
|
|
272
260
|
for (const dependentKey of dependents) {
|
|
273
261
|
const meta = fieldsRef.current[dependentKey];
|
|
274
262
|
if (!meta) continue;
|
|
275
|
-
runFieldValidation(meta.name, undefined, (0,
|
|
263
|
+
runFieldValidation(meta.name, undefined, (0, _utils2.getValueByName)(merged, meta.name), merged);
|
|
276
264
|
}
|
|
277
265
|
}
|
|
278
|
-
}
|
|
279
|
-
if (merged === prev) return prev;
|
|
280
|
-
valuesRef.current = merged;
|
|
281
|
-
notify(changed, merged);
|
|
282
|
-
return merged;
|
|
266
|
+
}
|
|
283
267
|
});
|
|
268
|
+
if (merged === prev) return;
|
|
269
|
+
valuesRef.current = merged;
|
|
270
|
+
notify(changed, merged);
|
|
284
271
|
},
|
|
285
272
|
resetFields: () => {
|
|
286
273
|
let next = lastInitialValuesRef.current;
|
|
287
274
|
Object.values(fieldsRef.current).forEach(meta => {
|
|
288
275
|
if (meta.initialValue === undefined) return;
|
|
289
|
-
if ((0,
|
|
290
|
-
next = (0,
|
|
276
|
+
if ((0, _utils2.getValueByName)(next, meta.name) !== undefined) return;
|
|
277
|
+
next = (0, _utils2.setValueByName)(next, meta.name, meta.initialValue);
|
|
291
278
|
});
|
|
292
279
|
valuesRef.current = next;
|
|
293
280
|
errorsRef.current = {};
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
281
|
+
notify({
|
|
282
|
+
[_utils2.FORM_ALL_FIELDS_KEY]: true
|
|
283
|
+
}, next);
|
|
297
284
|
},
|
|
298
285
|
validateFields,
|
|
299
|
-
getFieldError: name => errorsRef.current[(0,
|
|
286
|
+
getFieldError: name => errorsRef.current[(0, _utils2.serializeNamePath)(name)] ?? []
|
|
300
287
|
};
|
|
301
288
|
(0, _react().useImperativeHandle)(ref, () => formApi, [formApi]);
|
|
302
|
-
const getFieldError = (0, _react().useCallback)(name => errors[(0, _utils.serializeNamePath)(name)], [errors]);
|
|
303
|
-
const getFieldValue = (0, _react().useCallback)(name => (0, _utils.getValueByName)(values, name), [values]);
|
|
304
|
-
const contextValidateField = (0, _react().useCallback)((name, trigger) => runFieldValidation(name, trigger), [runFieldValidation]);
|
|
305
289
|
const contextValue = {
|
|
306
|
-
|
|
307
|
-
getFieldValue,
|
|
290
|
+
getFieldValue: name => (0, _utils2.getValueByName)(valuesRef.current, name),
|
|
308
291
|
setFieldValue,
|
|
309
292
|
registerField,
|
|
310
|
-
getFieldError,
|
|
311
|
-
validateField:
|
|
312
|
-
getFieldsValue: () =>
|
|
293
|
+
getFieldError: name => errorsRef.current[(0, _utils2.serializeNamePath)(name)],
|
|
294
|
+
validateField: (name, trigger) => runFieldValidation(name, trigger),
|
|
295
|
+
getFieldsValue: () => valuesRef.current,
|
|
313
296
|
subscribe: listener => {
|
|
314
297
|
subscribersRef.current.add(listener);
|
|
315
298
|
return () => subscribersRef.current.delete(listener);
|
|
@@ -319,7 +302,7 @@ const InternalForm = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
319
302
|
labelWidth,
|
|
320
303
|
showValidateMessage
|
|
321
304
|
};
|
|
322
|
-
return /*#__PURE__*/_react().default.createElement(
|
|
305
|
+
return /*#__PURE__*/_react().default.createElement(FormContext.Provider, {
|
|
323
306
|
value: contextValue
|
|
324
307
|
}, /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({
|
|
325
308
|
style: style
|
|
@@ -327,25 +310,32 @@ const InternalForm = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
327
310
|
});
|
|
328
311
|
InternalForm.displayName = 'Form';
|
|
329
312
|
const useWatch = (name, formRef) => {
|
|
330
|
-
const context = (0, _react().useContext)(
|
|
313
|
+
const context = (0, _react().useContext)(FormContext);
|
|
331
314
|
const names = name === undefined ? undefined : !Array.isArray(name) ? [name] : name.length && (0, _validate.isText)(name[0]) ? [name] : name;
|
|
332
315
|
const getSnapshot = (0, _react().useCallback)(allValues => {
|
|
333
316
|
const source = allValues ?? context?.getFieldsValue?.() ?? formRef?.current?.getFieldsValue?.() ?? {};
|
|
334
317
|
if (!names) return source;
|
|
335
|
-
if (names.length === 1) return (0,
|
|
318
|
+
if (names.length === 1) return (0, _utils2.getValueByName)(source, names[0]);
|
|
336
319
|
const picked = {};
|
|
337
|
-
for (const key of names) picked[(0,
|
|
320
|
+
for (const key of names) picked[(0, _utils2.serializeNamePath)(key)] = (0, _utils2.getValueByName)(source, key);
|
|
338
321
|
return picked;
|
|
339
322
|
}, [context, formRef, names]);
|
|
340
323
|
const [value, setValue] = (0, _react().useState)(() => getSnapshot());
|
|
341
324
|
(0, _react().useEffect)(() => {
|
|
342
325
|
if (!context?.subscribe) return undefined;
|
|
343
326
|
return context.subscribe((changed, all) => {
|
|
344
|
-
if (
|
|
327
|
+
if (_utils2.FORM_ALL_FIELDS_KEY in changed) {
|
|
328
|
+
setValue(getSnapshot(all));
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
if (!names || names.some(key => (0, _utils2.serializeNamePath)(key) in changed)) {
|
|
345
332
|
setValue(getSnapshot(all));
|
|
346
333
|
}
|
|
347
334
|
});
|
|
348
335
|
}, [context, getSnapshot, names]);
|
|
336
|
+
(0, _react().useEffect)(() => {
|
|
337
|
+
setValue(getSnapshot());
|
|
338
|
+
}, [getSnapshot]);
|
|
349
339
|
return value;
|
|
350
340
|
};
|
|
351
341
|
exports.useWatch = useWatch;
|
|
@@ -353,12 +343,12 @@ const FormSubscribe = ({
|
|
|
353
343
|
to,
|
|
354
344
|
children
|
|
355
345
|
}) => {
|
|
356
|
-
const context = (0, _react().useContext)(
|
|
346
|
+
const context = (0, _react().useContext)(FormContext);
|
|
357
347
|
const [changed, setChanged] = (0, _react().useState)({});
|
|
358
348
|
(0, _react().useEffect)(() => {
|
|
359
349
|
if (!context?.subscribe) return undefined;
|
|
360
350
|
return context.subscribe(next => {
|
|
361
|
-
if (to && !Object.keys(next).some(key => to.includes(key))) return;
|
|
351
|
+
if (to && !(_utils2.FORM_ALL_FIELDS_KEY in next) && !Object.keys(next).some(key => to.includes(key))) return;
|
|
362
352
|
setChanged(next);
|
|
363
353
|
});
|
|
364
354
|
}, [context, to]);
|
|
@@ -3,13 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
const FormContext = exports.FormContext = /*#__PURE__*/_react().default.createContext(null);
|
|
6
|
+
Object.defineProperty(exports, "FormContext", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Form.FormContext;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _Form = require("./Form");
|
|
@@ -46,11 +46,37 @@ const FormItem = ({
|
|
|
46
46
|
return /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, children);
|
|
47
47
|
}
|
|
48
48
|
const normalizedRules = rules ?? EMPTY_RULES;
|
|
49
|
-
const prevValuesRef = (0, _react().useRef)(context.
|
|
49
|
+
const prevValuesRef = (0, _react().useRef)(context.getFieldsValue());
|
|
50
|
+
const [, forceUpdate] = (0, _react().useState)(0);
|
|
51
|
+
const nameKey = name ? (0, _utils2.serializeNamePath)(name) : undefined;
|
|
52
|
+
const subscribeAll = renderProps && !nameKey && !shouldUpdate;
|
|
50
53
|
(0, _react().useEffect)(() => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
if (!context?.subscribe) return undefined;
|
|
55
|
+
return context.subscribe((changed, all) => {
|
|
56
|
+
if (_utils2.FORM_ALL_FIELDS_KEY in changed) {
|
|
57
|
+
forceUpdate(version => version + 1);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (subscribeAll) {
|
|
61
|
+
forceUpdate(version => version + 1);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (shouldUpdate) {
|
|
65
|
+
if (shouldUpdate(prevValuesRef.current, all)) {
|
|
66
|
+
forceUpdate(version => version + 1);
|
|
67
|
+
}
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (nameKey && nameKey in changed) {
|
|
71
|
+
forceUpdate(version => version + 1);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}, [context, nameKey, shouldUpdate, subscribeAll]);
|
|
75
|
+
const currentValues = context.getFieldsValue();
|
|
76
|
+
(0, _react().useEffect)(() => {
|
|
77
|
+
prevValuesRef.current = currentValues;
|
|
78
|
+
}, [currentValues]);
|
|
79
|
+
const shouldRender = !shouldUpdate || shouldUpdate(prevValuesRef.current, currentValues);
|
|
54
80
|
(0, _react().useEffect)(() => {
|
|
55
81
|
if (!name) return undefined;
|
|
56
82
|
return context.registerField(name, {
|
|
@@ -21,9 +21,15 @@ const FormList = ({
|
|
|
21
21
|
}) => {
|
|
22
22
|
const context = (0, _react().useContext)(_FormContext.FormContext);
|
|
23
23
|
const keyRef = (0, _react().useRef)(0);
|
|
24
|
+
const nameKey = (0, _utils.serializeNamePath)(name);
|
|
25
|
+
const [listValue, setListValue] = (0, _react().useState)(() => {
|
|
26
|
+
if (!context) return [];
|
|
27
|
+
const current = (0, _utils.getValueByName)(context.getFieldsValue(), name);
|
|
28
|
+
return Array.isArray(current) ? current : [];
|
|
29
|
+
});
|
|
24
30
|
const ensureInitial = (0, _react().useCallback)(() => {
|
|
25
31
|
if (!context) return;
|
|
26
|
-
const current = (0, _utils.getValueByName)(context.
|
|
32
|
+
const current = (0, _utils.getValueByName)(context.getFieldsValue(), name);
|
|
27
33
|
if (current === undefined && initialValue !== undefined) {
|
|
28
34
|
context.setFieldValue(name, initialValue);
|
|
29
35
|
}
|
|
@@ -31,11 +37,18 @@ const FormList = ({
|
|
|
31
37
|
(0, _react().useEffect)(() => {
|
|
32
38
|
ensureInitial();
|
|
33
39
|
}, [ensureInitial]);
|
|
40
|
+
(0, _react().useEffect)(() => {
|
|
41
|
+
if (!context?.subscribe) return undefined;
|
|
42
|
+
return context.subscribe((changed, all) => {
|
|
43
|
+
if (_utils.FORM_ALL_FIELDS_KEY in changed || nameKey in changed) {
|
|
44
|
+
const nextRaw = (0, _utils.getValueByName)(all, name);
|
|
45
|
+
setListValue(Array.isArray(nextRaw) ? nextRaw : []);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}, [context, name, nameKey]);
|
|
34
49
|
if (!context) {
|
|
35
50
|
return null;
|
|
36
51
|
}
|
|
37
|
-
const listValueRaw = (0, _utils.getValueByName)(context.values, name);
|
|
38
|
-
const listValue = Array.isArray(listValueRaw) ? listValueRaw : [];
|
|
39
52
|
const fields = listValue.map((_, index) => ({
|
|
40
53
|
name: index,
|
|
41
54
|
key: keyRef.current + index,
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useFormTokens = void 0;
|
|
7
|
+
var _designSystem = require("../../design-system");
|
|
8
|
+
const createFormTokens = _foundations => {
|
|
9
|
+
return {};
|
|
10
|
+
};
|
|
11
|
+
const useFormTokens = exports.useFormTokens = (0, _designSystem.createComponentTokensHook)('form', createFormTokens);
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.toNamePath = exports.setValueByName = exports.serializeNamePath = exports.normalizeTrigger = exports.getValueByName = void 0;
|
|
6
|
+
exports.toNamePath = exports.setValueByName = exports.serializeNamePath = exports.normalizeTrigger = exports.getValueByName = exports.FORM_ALL_FIELDS_KEY = void 0;
|
|
7
7
|
var _utils = require("../../utils");
|
|
8
8
|
const normalizeTrigger = trigger => trigger ? Array.isArray(trigger) ? trigger : [trigger] : [];
|
|
9
9
|
exports.normalizeTrigger = normalizeTrigger;
|
|
10
|
+
const FORM_ALL_FIELDS_KEY = exports.FORM_ALL_FIELDS_KEY = '__form_all__';
|
|
10
11
|
const toNamePath = name => {
|
|
11
12
|
if (name === undefined || name === null) return [];
|
|
12
13
|
if (Array.isArray(name)) return name;
|