react-native-system-ui 0.0.5 → 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 +63 -22
- 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 +63 -22
- 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
|
@@ -257,28 +257,18 @@ const ActionSheet = props => {
|
|
|
257
257
|
void requestClose('action');
|
|
258
258
|
}
|
|
259
259
|
}, [onSelect, requestClose, shouldCloseOnClickAction]);
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
safeAreaInsetBottom: safeAreaInsetBottom,
|
|
266
|
-
overlay: overlay,
|
|
267
|
-
lockScroll: lockScroll,
|
|
268
|
-
beforeClose: handlePopupBeforeClose,
|
|
269
|
-
onClose: handlePopupClose,
|
|
270
|
-
style: [tokens.layout.popup, popupStyle]
|
|
271
|
-
}, popupProps), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
272
|
-
style: [tokens.layout.panel, {
|
|
273
|
-
backgroundColor: tokens.colors.background
|
|
274
|
-
}]
|
|
275
|
-
}, hasTitle ? /*#__PURE__*/_react().default.createElement(ActionSheetHeader, {
|
|
260
|
+
const popupStyleMemo = (0, _react().useMemo)(() => [tokens.layout.popup, popupStyle], [popupStyle, tokens.layout.popup]);
|
|
261
|
+
const panelStyle = (0, _react().useMemo)(() => [tokens.layout.panel, {
|
|
262
|
+
backgroundColor: tokens.colors.background
|
|
263
|
+
}], [tokens.colors.background, tokens.layout.panel]);
|
|
264
|
+
const headerNode = (0, _react().useMemo)(() => hasTitle ? /*#__PURE__*/_react().default.createElement(ActionSheetHeader, {
|
|
276
265
|
title: title,
|
|
277
266
|
closeable: closeable,
|
|
278
267
|
closeIcon: closeIcon,
|
|
279
268
|
tokens: tokens,
|
|
280
269
|
onClose: handleCloseIcon
|
|
281
|
-
}) : null,
|
|
270
|
+
}) : null, [closeIcon, closeable, handleCloseIcon, hasTitle, title, tokens]);
|
|
271
|
+
const descriptionNode = (0, _react().useMemo)(() => hasDescription ? /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
282
272
|
style: [tokens.layout.descriptionContainer, (0, _utils.createHairlineBorderBottom)(tokens.colors.border)]
|
|
283
273
|
}, (0, _utils.isText)(description) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
|
|
284
274
|
style: [tokens.layout.description, {
|
|
@@ -287,19 +277,35 @@ const ActionSheet = props => {
|
|
|
287
277
|
}]
|
|
288
278
|
}, description) : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
289
279
|
style: tokens.layout.descriptionNode
|
|
290
|
-
}, description)) : null,
|
|
291
|
-
|
|
292
|
-
}, actions.map((action, index) => /*#__PURE__*/_react().default.createElement(ActionSheetItem, {
|
|
280
|
+
}, description)) : null, [description, hasDescription, tokens.colors.border, tokens.colors.description, tokens.layout.description, tokens.layout.descriptionContainer, tokens.layout.descriptionNode, tokens.typography.description]);
|
|
281
|
+
const actionNodes = (0, _react().useMemo)(() => actions.map((action, index) => /*#__PURE__*/_react().default.createElement(ActionSheetItem, {
|
|
293
282
|
key: action.key ?? index,
|
|
294
283
|
action: action,
|
|
295
284
|
index: index,
|
|
296
285
|
tokens: tokens,
|
|
297
286
|
onActionPress: handleActionPress
|
|
298
|
-
}))
|
|
287
|
+
})), [actions, handleActionPress, tokens]);
|
|
288
|
+
const cancelNode = (0, _react().useMemo)(() => hasCancelText ? /*#__PURE__*/_react().default.createElement(ActionSheetCancel, {
|
|
299
289
|
cancelText: cancelText,
|
|
300
290
|
tokens: tokens,
|
|
301
291
|
onPress: handleCancel
|
|
302
|
-
}) : null)
|
|
292
|
+
}) : null, [cancelText, handleCancel, hasCancelText, tokens]);
|
|
293
|
+
return /*#__PURE__*/_react().default.createElement(_popup.default, _extends({
|
|
294
|
+
visible: visible,
|
|
295
|
+
placement: "bottom",
|
|
296
|
+
round: round,
|
|
297
|
+
safeAreaInsetTop: hasTitle && closeable,
|
|
298
|
+
safeAreaInsetBottom: safeAreaInsetBottom,
|
|
299
|
+
overlay: overlay,
|
|
300
|
+
lockScroll: lockScroll,
|
|
301
|
+
beforeClose: handlePopupBeforeClose,
|
|
302
|
+
onClose: handlePopupClose,
|
|
303
|
+
style: popupStyleMemo
|
|
304
|
+
}, popupProps), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
305
|
+
style: panelStyle
|
|
306
|
+
}, headerNode, descriptionNode, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
307
|
+
style: tokens.layout.actions
|
|
308
|
+
}, actionNodes), children, cancelNode));
|
|
303
309
|
};
|
|
304
310
|
ActionSheet.displayName = 'ActionSheet';
|
|
305
311
|
var _default = exports.default = ActionSheet;
|
|
@@ -12,10 +12,76 @@ function _react() {
|
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
14
|
var _picker = _interopRequireDefault(require("../picker"));
|
|
15
|
-
var _utils = require("./utils");
|
|
16
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
16
|
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); }
|
|
18
17
|
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); }
|
|
18
|
+
const compareCode = (a, b) => a < b ? -1 : a > b ? 1 : 0;
|
|
19
|
+
const sortEntries = records => {
|
|
20
|
+
if (!records) return [];
|
|
21
|
+
return Object.entries(records).sort(([a], [b]) => compareCode(a, b));
|
|
22
|
+
};
|
|
23
|
+
const getProvinceCode = code => code.slice(0, 2);
|
|
24
|
+
const getCityCode = code => code.slice(0, 4);
|
|
25
|
+
const buildAreaColumns = (areaList, columnsNum = 3) => {
|
|
26
|
+
const provinces = sortEntries(areaList.province_list);
|
|
27
|
+
if (columnsNum === 1) {
|
|
28
|
+
return provinces.map(([code, name]) => ({
|
|
29
|
+
label: name,
|
|
30
|
+
value: code
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
const citiesByProvince = new Map();
|
|
34
|
+
sortEntries(areaList.city_list).forEach(([code, name]) => {
|
|
35
|
+
const provinceKey = getProvinceCode(code);
|
|
36
|
+
const option = {
|
|
37
|
+
label: name,
|
|
38
|
+
value: code
|
|
39
|
+
};
|
|
40
|
+
const existing = citiesByProvince.get(provinceKey);
|
|
41
|
+
if (existing) {
|
|
42
|
+
existing.push(option);
|
|
43
|
+
} else {
|
|
44
|
+
citiesByProvince.set(provinceKey, [option]);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
if (columnsNum === 3) {
|
|
48
|
+
const countiesByCity = new Map();
|
|
49
|
+
sortEntries(areaList.county_list).forEach(([code, name]) => {
|
|
50
|
+
const cityKey = getCityCode(code);
|
|
51
|
+
const option = {
|
|
52
|
+
label: name,
|
|
53
|
+
value: code
|
|
54
|
+
};
|
|
55
|
+
const existing = countiesByCity.get(cityKey);
|
|
56
|
+
if (existing) {
|
|
57
|
+
existing.push(option);
|
|
58
|
+
} else {
|
|
59
|
+
countiesByCity.set(cityKey, [option]);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
citiesByProvince.forEach(cityOptions => {
|
|
63
|
+
cityOptions.forEach(cityOption => {
|
|
64
|
+
const cityKey = getCityCode(cityOption.value);
|
|
65
|
+
const counties = countiesByCity.get(cityKey);
|
|
66
|
+
if (counties && counties.length) {
|
|
67
|
+
cityOption.children = counties;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return provinces.map(([code, name]) => {
|
|
73
|
+
const provinceOption = {
|
|
74
|
+
label: name,
|
|
75
|
+
value: code
|
|
76
|
+
};
|
|
77
|
+
const provinceKey = getProvinceCode(code);
|
|
78
|
+
const cities = citiesByProvince.get(provinceKey);
|
|
79
|
+
if (cities && cities.length) {
|
|
80
|
+
provinceOption.children = cities;
|
|
81
|
+
}
|
|
82
|
+
return provinceOption;
|
|
83
|
+
});
|
|
84
|
+
};
|
|
19
85
|
const normalizeCascadeValue = (root, raw, depth) => {
|
|
20
86
|
if (!raw) return raw;
|
|
21
87
|
const input = Array.isArray(raw) ? raw.map(String) : [String(raw)];
|
|
@@ -42,19 +108,19 @@ const Area = props => {
|
|
|
42
108
|
interactionMode = 'sync',
|
|
43
109
|
...pickerProps
|
|
44
110
|
} = props;
|
|
45
|
-
const resolvedColumnsNum = columnsNum === 1 || columnsNum === 2 || columnsNum === 3 ? columnsNum : 3;
|
|
111
|
+
const resolvedColumnsNum = (0, _react().useMemo)(() => columnsNum === 1 || columnsNum === 2 || columnsNum === 3 ? columnsNum : 3, [columnsNum]);
|
|
46
112
|
const {
|
|
47
113
|
province_list,
|
|
48
114
|
city_list,
|
|
49
115
|
county_list
|
|
50
116
|
} = areaList;
|
|
51
|
-
const columns = (0,
|
|
117
|
+
const columns = (0, _react().useMemo)(() => buildAreaColumns({
|
|
52
118
|
province_list,
|
|
53
119
|
city_list,
|
|
54
120
|
county_list
|
|
55
|
-
}, resolvedColumnsNum);
|
|
56
|
-
const normalizedValue = value === undefined ? undefined : normalizeCascadeValue(columns, value, resolvedColumnsNum);
|
|
57
|
-
const normalizedDefaultValue = defaultValue === undefined ? undefined : normalizeCascadeValue(columns, defaultValue, resolvedColumnsNum);
|
|
121
|
+
}, resolvedColumnsNum), [city_list, county_list, province_list, resolvedColumnsNum]);
|
|
122
|
+
const normalizedValue = (0, _react().useMemo)(() => value === undefined ? undefined : normalizeCascadeValue(columns, value, resolvedColumnsNum), [columns, resolvedColumnsNum, value]);
|
|
123
|
+
const normalizedDefaultValue = (0, _react().useMemo)(() => defaultValue === undefined ? undefined : normalizeCascadeValue(columns, defaultValue, resolvedColumnsNum), [columns, defaultValue, resolvedColumnsNum]);
|
|
58
124
|
const handleChange = (0, _react().useCallback)((values, options) => {
|
|
59
125
|
onChange?.(values.map(String), options);
|
|
60
126
|
}, [onChange]);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useAreaTokens = void 0;
|
|
7
|
+
var _designSystem = require("../../design-system");
|
|
8
|
+
const createAreaTokens = _foundations => {
|
|
9
|
+
return {};
|
|
10
|
+
};
|
|
11
|
+
const useAreaTokens = exports.useAreaTokens = (0, _designSystem.createComponentTokensHook)('area', createAreaTokens);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = exports.Avatar = void 0;
|
|
6
|
+
exports.default = exports.AvatarImage = exports.AvatarFallbackText = exports.Avatar = void 0;
|
|
7
7
|
function _react() {
|
|
8
8
|
const data = _interopRequireDefault(require("react"));
|
|
9
9
|
_react = function () {
|
|
@@ -23,6 +23,39 @@ var _utils = require("../../utils");
|
|
|
23
23
|
var _tokens = require("./tokens");
|
|
24
24
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
25
25
|
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); }
|
|
26
|
+
const AvatarFallbackText = exports.AvatarFallbackText = /*#__PURE__*/_react().default.forwardRef(({
|
|
27
|
+
children,
|
|
28
|
+
color,
|
|
29
|
+
style
|
|
30
|
+
}, ref) => {
|
|
31
|
+
const tokens = (0, _tokens.useAvatarTokens)();
|
|
32
|
+
const resolvedStyle = _reactNative().StyleSheet.flatten([tokens.layout.text, {
|
|
33
|
+
color: color ?? tokens.colors.text,
|
|
34
|
+
fontWeight: tokens.typography.fontWeight
|
|
35
|
+
}, style]);
|
|
36
|
+
return /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
|
|
37
|
+
ref: ref,
|
|
38
|
+
style: resolvedStyle,
|
|
39
|
+
numberOfLines: 1
|
|
40
|
+
}, children);
|
|
41
|
+
});
|
|
42
|
+
AvatarFallbackText.displayName = 'Avatar.FallbackText';
|
|
43
|
+
const AvatarImage = exports.AvatarImage = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
44
|
+
const tokens = (0, _tokens.useAvatarTokens)();
|
|
45
|
+
return /*#__PURE__*/_react().default.createElement(_image.default, _extends({
|
|
46
|
+
ref: ref
|
|
47
|
+
}, props, {
|
|
48
|
+
containerStyle: [{
|
|
49
|
+
backgroundColor: tokens.colors.transparent
|
|
50
|
+
}, props.containerStyle],
|
|
51
|
+
style: [tokens.layout.image, props.style],
|
|
52
|
+
fit: props.fit ?? 'cover',
|
|
53
|
+
loadingText: props.loadingText ?? null,
|
|
54
|
+
loadingSize: props.loadingSize ?? tokens.sizing.loadingSize,
|
|
55
|
+
showError: props.showError ?? true
|
|
56
|
+
}));
|
|
57
|
+
});
|
|
58
|
+
AvatarImage.displayName = 'Avatar.Image';
|
|
26
59
|
const Avatar = exports.Avatar = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
27
60
|
const {
|
|
28
61
|
src,
|
|
@@ -39,6 +72,7 @@ const Avatar = exports.Avatar = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
39
72
|
style,
|
|
40
73
|
textStyle,
|
|
41
74
|
contentStyle,
|
|
75
|
+
children,
|
|
42
76
|
tokensOverride,
|
|
43
77
|
...pressableProps
|
|
44
78
|
} = props;
|
|
@@ -58,15 +92,13 @@ const Avatar = exports.Avatar = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
58
92
|
width: Math.min(avatarWidth, tokens.sizing.iconMaxSize),
|
|
59
93
|
height: Math.min(avatarHeight, tokens.sizing.iconMaxSize)
|
|
60
94
|
}, contentStyle]
|
|
61
|
-
}, icon) : fallbackText && /*#__PURE__*/_react().default.createElement(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
fontSize: Math.min(avatarWidth, avatarHeight) * tokens.typography.fallbackTextScale
|
|
65
|
-
|
|
66
|
-
}, textStyle],
|
|
67
|
-
numberOfLines: 1
|
|
95
|
+
}, icon) : fallbackText && /*#__PURE__*/_react().default.createElement(AvatarFallbackText, {
|
|
96
|
+
color: color,
|
|
97
|
+
style: [{
|
|
98
|
+
fontSize: Math.min(avatarWidth, avatarHeight) * tokens.typography.fallbackTextScale
|
|
99
|
+
}, textStyle]
|
|
68
100
|
}, fallbackText);
|
|
69
|
-
const content = src || source ? /*#__PURE__*/_react().default.createElement(
|
|
101
|
+
const content = children ?? (src || source ? /*#__PURE__*/_react().default.createElement(AvatarImage, {
|
|
70
102
|
src: src,
|
|
71
103
|
source: source,
|
|
72
104
|
containerStyle: transparentContainerStyle,
|
|
@@ -76,7 +108,7 @@ const Avatar = exports.Avatar = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
76
108
|
loadingSize: tokens.sizing.loadingSize,
|
|
77
109
|
showError: true,
|
|
78
110
|
fallback: fallbackContent
|
|
79
|
-
}) : fallbackContent;
|
|
111
|
+
}) : fallbackContent);
|
|
80
112
|
return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({
|
|
81
113
|
ref: ref,
|
|
82
114
|
style: [tokens.layout.container, {
|
|
@@ -46,7 +46,7 @@ const Badge = exports.Badge = /*#__PURE__*/_react().default.forwardRef((props, r
|
|
|
46
46
|
const {
|
|
47
47
|
visible,
|
|
48
48
|
formattedContent
|
|
49
|
-
} = (() => {
|
|
49
|
+
} = (0, _react().useMemo)(() => {
|
|
50
50
|
const numericContent = (0, _utils.isNumericLike)(content) ? Number(content) : null;
|
|
51
51
|
const shouldHide = numericContent === 0 && !resolvedShowZero;
|
|
52
52
|
const isVisible = dot || (0, _utils.isRenderable)(content) && !shouldHide;
|
|
@@ -60,7 +60,7 @@ const Badge = exports.Badge = /*#__PURE__*/_react().default.forwardRef((props, r
|
|
|
60
60
|
visible: true,
|
|
61
61
|
formattedContent: finalContent
|
|
62
62
|
};
|
|
63
|
-
})
|
|
63
|
+
}, [content, dot, max, resolvedShowZero]);
|
|
64
64
|
const [size, setSize] = (0, _react().useState)({
|
|
65
65
|
width: 0,
|
|
66
66
|
height: 0
|
|
@@ -77,7 +77,7 @@ const Badge = exports.Badge = /*#__PURE__*/_react().default.forwardRef((props, r
|
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
}, [size.width, size.height]);
|
|
80
|
-
const transformStyle = (() => {
|
|
80
|
+
const transformStyle = (0, _react().useMemo)(() => {
|
|
81
81
|
if (!hasChildren) return undefined;
|
|
82
82
|
if (dot) {
|
|
83
83
|
const half = tokens.sizing.dotSize / 2;
|
|
@@ -99,8 +99,8 @@ const Badge = exports.Badge = /*#__PURE__*/_react().default.forwardRef((props, r
|
|
|
99
99
|
translateY: -size.height / 2
|
|
100
100
|
}]
|
|
101
101
|
};
|
|
102
|
-
})
|
|
103
|
-
const baseBadgeStyle = dot ? {
|
|
102
|
+
}, [dot, hasChildren, size.height, size.width, tokens.sizing.dotSize]);
|
|
103
|
+
const baseBadgeStyle = (0, _react().useMemo)(() => dot ? {
|
|
104
104
|
width: tokens.sizing.dotSize,
|
|
105
105
|
height: tokens.sizing.dotSize,
|
|
106
106
|
borderRadius: tokens.radii.dot,
|
|
@@ -114,15 +114,15 @@ const Badge = exports.Badge = /*#__PURE__*/_react().default.forwardRef((props, r
|
|
|
114
114
|
borderWidth: tokens.borders.width,
|
|
115
115
|
borderColor: tokens.colors.border,
|
|
116
116
|
backgroundColor: color ?? tokens.colors.background
|
|
117
|
-
};
|
|
118
|
-
const mergedTextStyle = [tokens.layout.text, {
|
|
117
|
+
}, [color, dot, tokens.borders.width, tokens.colors.background, tokens.colors.border, tokens.colors.dot, tokens.radii.badge, tokens.radii.dot, tokens.sizing.dotSize, tokens.sizing.height, tokens.sizing.minWidth, tokens.sizing.paddingHorizontal, tokens.sizing.paddingVertical]);
|
|
118
|
+
const mergedTextStyle = (0, _react().useMemo)(() => [tokens.layout.text, {
|
|
119
119
|
color: textColor ?? tokens.colors.text,
|
|
120
120
|
fontSize: tokens.typography.fontSize,
|
|
121
121
|
lineHeight: tokens.typography.lineHeight,
|
|
122
122
|
fontFamily: tokens.typography.fontFamily,
|
|
123
123
|
fontWeight: tokens.typography.fontWeight
|
|
124
|
-
}, userTextStyle];
|
|
125
|
-
const offsetStyle = (() => {
|
|
124
|
+
}, userTextStyle], [textColor, tokens.colors.text, tokens.layout.text, tokens.typography.fontFamily, tokens.typography.fontSize, tokens.typography.fontWeight, tokens.typography.lineHeight, userTextStyle]);
|
|
125
|
+
const offsetStyle = (0, _react().useMemo)(() => {
|
|
126
126
|
if (!offset) return undefined;
|
|
127
127
|
const [x, y] = offset;
|
|
128
128
|
return hasChildren ? {
|
|
@@ -132,7 +132,7 @@ const Badge = exports.Badge = /*#__PURE__*/_react().default.forwardRef((props, r
|
|
|
132
132
|
marginLeft: x,
|
|
133
133
|
marginTop: y
|
|
134
134
|
};
|
|
135
|
-
})
|
|
135
|
+
}, [hasChildren, offset]);
|
|
136
136
|
const badgeElement = !visible ? null : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
137
137
|
pointerEvents: hasChildren ? 'none' : 'auto',
|
|
138
138
|
onLayout: hasChildren && !dot ? handleLayout : undefined,
|
|
@@ -22,11 +22,9 @@ var _color = require("../../utils/color");
|
|
|
22
22
|
var _createPlatformShadow = require("../../utils/createPlatformShadow");
|
|
23
23
|
var _string = require("../../utils/string");
|
|
24
24
|
var _validate = require("../../utils/validate");
|
|
25
|
-
var _loading = _interopRequireDefault(require("../loading"));
|
|
26
25
|
var _hooks = require("../../hooks");
|
|
27
26
|
var _ButtonContext = require("./ButtonContext");
|
|
28
27
|
var _tokens = require("./tokens");
|
|
29
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
30
28
|
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); }
|
|
31
29
|
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); }
|
|
32
30
|
const clampShadowLevel = level => {
|
|
@@ -54,10 +52,7 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
54
52
|
type: typeProp,
|
|
55
53
|
size: sizeProp,
|
|
56
54
|
color,
|
|
57
|
-
buttonColor: buttonColorProp,
|
|
58
55
|
textColor,
|
|
59
|
-
dark,
|
|
60
|
-
mode: modeProp,
|
|
61
56
|
plain: plainProp,
|
|
62
57
|
block: blockProp,
|
|
63
58
|
round: roundProp,
|
|
@@ -67,11 +62,8 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
67
62
|
loading: loadingProp,
|
|
68
63
|
loadingText,
|
|
69
64
|
loadingIndicator,
|
|
70
|
-
loadingType: loadingTypeProp,
|
|
71
65
|
loadingSize: loadingSizeProp,
|
|
72
66
|
disabled: disabledProp,
|
|
73
|
-
autoInsertSpace: autoInsertSpaceProp,
|
|
74
|
-
uppercase: uppercaseProp,
|
|
75
67
|
allowFontScaling: allowFontScalingProp,
|
|
76
68
|
maxFontSizeMultiplier,
|
|
77
69
|
rippleColor: rippleColorProp,
|
|
@@ -92,60 +84,28 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
92
84
|
const iconPosition = iconPositionProp ?? group?.iconPosition ?? buttonTokens.defaults.iconPosition;
|
|
93
85
|
const groupShadow = group?.shadow;
|
|
94
86
|
const shadowValue = shadowProp ?? groupShadow;
|
|
95
|
-
const hasShadowOverride = shadowProp !== undefined || groupShadow !== undefined;
|
|
96
87
|
const disabled = disabledProp ?? group?.disabled ?? buttonTokens.defaults.disabled;
|
|
97
88
|
const loading = loadingProp ?? buttonTokens.defaults.loading;
|
|
98
|
-
const loadingType = loadingTypeProp ?? buttonTokens.defaults.loadingType;
|
|
99
89
|
const loadingSize = loadingSizeProp ?? buttonTokens.defaults.loadingSize;
|
|
100
|
-
const autoInsertSpace = autoInsertSpaceProp ?? buttonTokens.defaults.autoInsertSpace;
|
|
101
|
-
const uppercase = uppercaseProp ?? buttonTokens.defaults.uppercase;
|
|
102
90
|
const allowFontScaling = allowFontScalingProp ?? buttonTokens.defaults.allowFontScaling;
|
|
103
|
-
const
|
|
104
|
-
const groupMode = group?.mode;
|
|
105
|
-
const shouldForcePlainTextMode = plain && !modeProp && !groupMode;
|
|
106
|
-
const derivedMode = shouldForcePlainTextMode ? 'text' : modeProp ?? groupMode ?? defaultMode;
|
|
107
|
-
const legacyPlain = shouldForcePlainTextMode;
|
|
108
|
-
const buttonColorOverride = buttonColorProp ?? color;
|
|
91
|
+
const isPlain = plain;
|
|
109
92
|
const tone = buttonTokens.colors.tones[type] ?? buttonTokens.colors.tones.default;
|
|
110
93
|
const sizeTokens = buttonTokens.sizing.sizes[size];
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const allowsGradientFill = derivedMode === 'contained' || derivedMode === 'contained-tonal' || derivedMode === 'elevated';
|
|
115
|
-
const gradientFillEnabled = hasGradientSyntax && !legacyPlain && allowsGradientFill;
|
|
116
|
-
const supportsGradientFill = _reactNative().Platform.OS === 'web';
|
|
117
|
-
let backgroundColor = normalizedColor ?? (derivedMode === 'contained' ? tone.background : derivedMode === 'contained-tonal' ? tone.tonalBackground : derivedMode === 'elevated' ? tone.background : buttonTokens.colors.backgroundTransparent);
|
|
118
|
-
let borderColor = derivedMode === 'outlined' ? normalizedColor ?? tone.border : derivedMode === 'contained-tonal' ? tone.tonalBorder : derivedMode === 'contained' || derivedMode === 'elevated' ? normalizedColor ?? tone.border : buttonTokens.colors.backgroundTransparent;
|
|
94
|
+
const normalizedColor = color;
|
|
95
|
+
let backgroundColor = normalizedColor ?? tone.background;
|
|
96
|
+
let borderColor = normalizedColor ?? tone.border;
|
|
119
97
|
let resolvedTextColor = textColor;
|
|
120
98
|
if (!resolvedTextColor) {
|
|
121
|
-
|
|
122
|
-
resolvedTextColor = tone.tonalText;
|
|
123
|
-
} else if (derivedMode === 'contained' || derivedMode === 'elevated') {
|
|
124
|
-
resolvedTextColor = normalizedColor ? '#ffffff' : tone.text;
|
|
125
|
-
} else {
|
|
126
|
-
resolvedTextColor = normalizedColor ?? (type === 'default' ? tone.text : tone.border);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if (dark === true) {
|
|
130
|
-
resolvedTextColor = buttonTokens.colors.textDark;
|
|
131
|
-
} else if (dark === false) {
|
|
132
|
-
resolvedTextColor = buttonTokens.colors.textLight;
|
|
133
|
-
}
|
|
134
|
-
if (derivedMode === 'text') {
|
|
135
|
-
backgroundColor = buttonTokens.colors.backgroundTransparent;
|
|
136
|
-
borderColor = buttonTokens.colors.backgroundTransparent;
|
|
99
|
+
resolvedTextColor = normalizedColor ? '#ffffff' : tone.text;
|
|
137
100
|
}
|
|
138
|
-
if (
|
|
101
|
+
if (isPlain) {
|
|
139
102
|
backgroundColor = buttonTokens.colors.backgroundPlain;
|
|
140
103
|
borderColor = normalizedColor ?? tone.border;
|
|
141
104
|
const fallbackTextColor = type === 'default' && !normalizedColor ? tone.text : normalizedColor ?? tone.border;
|
|
142
105
|
resolvedTextColor = textColor ?? fallbackTextColor;
|
|
143
106
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
const shouldRenderBorder = derivedMode === 'outlined' || legacyPlain || derivedMode === 'contained' && type === 'default';
|
|
148
|
-
const resolvedBorderWidth = gradientFillEnabled && !legacyPlain ? 0 : shouldRenderBorder ? hairline ? buttonTokens.borders.hairlineWidth : buttonTokens.borders.width : 0;
|
|
107
|
+
const shouldRenderBorder = isPlain || type === 'default';
|
|
108
|
+
const resolvedBorderWidth = shouldRenderBorder ? hairline ? buttonTokens.borders.hairlineWidth : buttonTokens.borders.width : 0;
|
|
149
109
|
const borderRadius = square ? 0 : round ? sizeTokens.height / 2 : sizeTokens.radius;
|
|
150
110
|
const isDisabled = disabled || loading;
|
|
151
111
|
let resolvedShadowLevel;
|
|
@@ -153,10 +113,8 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
153
113
|
resolvedShadowLevel = clampShadowLevel(shadowValue);
|
|
154
114
|
} else if (shadowValue === true) {
|
|
155
115
|
resolvedShadowLevel = clampShadowLevel(2);
|
|
156
|
-
} else if (!hasShadowOverride && derivedMode === 'elevated') {
|
|
157
|
-
resolvedShadowLevel = clampShadowLevel(2);
|
|
158
116
|
}
|
|
159
|
-
const shouldShowShadow = !!resolvedShadowLevel && !
|
|
117
|
+
const shouldShowShadow = !!resolvedShadowLevel && !isPlain;
|
|
160
118
|
const shadowTokens = resolvedShadowLevel ? buttonTokens.shadows[resolvedShadowLevel] : undefined;
|
|
161
119
|
const shadowStyle = shouldShowShadow && shadowTokens ? (0, _createPlatformShadow.createPlatformShadow)({
|
|
162
120
|
color: shadowTokens.color,
|
|
@@ -165,9 +123,6 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
165
123
|
offsetY: shadowTokens.offsetY,
|
|
166
124
|
elevation: shadowTokens.elevation
|
|
167
125
|
}) : undefined;
|
|
168
|
-
const gradientWebStyle = gradientFillEnabled && supportsGradientFill && gradientString ? {
|
|
169
|
-
backgroundImage: gradientString
|
|
170
|
-
} : undefined;
|
|
171
126
|
const iconWrapperStyle = iconPosition === 'left' ? {
|
|
172
127
|
marginRight: buttonTokens.spacing.iconGap
|
|
173
128
|
} : {
|
|
@@ -192,12 +147,9 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
192
147
|
};
|
|
193
148
|
const renderLoading = () => {
|
|
194
149
|
const spinnerSize = resolveSpinnerSize(loadingSize, sizeTokens.iconSize);
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
size:
|
|
198
|
-
color: resolvedTextColor
|
|
199
|
-
}) : /*#__PURE__*/_react().default.createElement(_reactNative().ActivityIndicator, {
|
|
200
|
-
size: loadingSize,
|
|
150
|
+
const indicatorSize = (0, _validate.isNumber)(loadingSize) ? spinnerSize : loadingSize;
|
|
151
|
+
const defaultIndicator = /*#__PURE__*/_react().default.createElement(_reactNative().ActivityIndicator, {
|
|
152
|
+
size: indicatorSize,
|
|
201
153
|
color: resolvedTextColor
|
|
202
154
|
});
|
|
203
155
|
return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
@@ -210,8 +162,7 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
210
162
|
fontWeight: buttonTokens.typography.fontWeight,
|
|
211
163
|
fontSize: sizeTokens.fontSize,
|
|
212
164
|
lineHeight: sizeTokens.fontSize * buttonTokens.typography.lineHeightMultiplier,
|
|
213
|
-
color: resolvedTextColor
|
|
214
|
-
textTransform: uppercase ? 'uppercase' : undefined
|
|
165
|
+
color: resolvedTextColor
|
|
215
166
|
};
|
|
216
167
|
const renderText = () => {
|
|
217
168
|
if (label === undefined || label === null) {
|
|
@@ -219,7 +170,7 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
219
170
|
}
|
|
220
171
|
const sharedTextStyle = sharedLabelTextStyle;
|
|
221
172
|
if ((0, _validate.isText)(label)) {
|
|
222
|
-
const content = (0, _validate.isString)(label) ? (0, _string.ensureSpace)(label,
|
|
173
|
+
const content = (0, _validate.isString)(label) ? (0, _string.ensureSpace)(label, true) : String(label);
|
|
223
174
|
return /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
|
|
224
175
|
style: [buttonTokens.layout.text, sharedTextStyle, textStyle],
|
|
225
176
|
numberOfLines: 1,
|
|
@@ -266,13 +217,13 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
266
217
|
const rippleClipStyle = _reactNative().Platform.OS === 'android' && borderRadius > 0 && !shouldShowShadow ? {
|
|
267
218
|
overflow: 'hidden'
|
|
268
219
|
} : null;
|
|
269
|
-
const baseContainerStyle = [buttonTokens.layout.base, containerStyle, rippleClipStyle, block ? buttonTokens.layout.block : null, shadowStyle,
|
|
220
|
+
const baseContainerStyle = [buttonTokens.layout.base, containerStyle, rippleClipStyle, block ? buttonTokens.layout.block : null, shadowStyle, style];
|
|
270
221
|
const mergedAccessibilityState = {
|
|
271
222
|
...accessibilityState,
|
|
272
223
|
disabled: isDisabled,
|
|
273
224
|
busy: loading
|
|
274
225
|
};
|
|
275
|
-
const defaultRippleColor = rippleColorProp ?? (
|
|
226
|
+
const defaultRippleColor = rippleColorProp ?? (isPlain ? resolvedTextColor : type === 'default' && !normalizedColor ? (0, _color.withAlpha)(resolvedTextColor, 0.15) : buttonTokens.colors.ripple);
|
|
276
227
|
const resolvedAndroidRipple = _reactNative().Platform.OS === 'android' ? androidRippleProp ?? {
|
|
277
228
|
color: defaultRippleColor,
|
|
278
229
|
borderless: false
|
|
@@ -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 ButtonGroupContext = exports.ButtonGroupContext = /*#__PURE__*/_react().default.createContext(null);
|
|
6
|
+
Object.defineProperty(exports, "ButtonGroupContext", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _ButtonGroup.ButtonGroupContext;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _ButtonGroup = require("./ButtonGroup");
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.ButtonGroup = void 0;
|
|
6
|
+
exports.ButtonGroupContext = exports.ButtonGroup = void 0;
|
|
7
7
|
function _react() {
|
|
8
|
-
const data =
|
|
8
|
+
const data = _interopRequireWildcard(require("react"));
|
|
9
9
|
_react = function () {
|
|
10
10
|
return data;
|
|
11
11
|
};
|
|
@@ -18,9 +18,9 @@ function _reactNative() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
-
var _ButtonContext = require("./ButtonContext");
|
|
22
21
|
var _tokens = require("./tokens");
|
|
23
|
-
function
|
|
22
|
+
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); }
|
|
23
|
+
const ButtonGroupContext = exports.ButtonGroupContext = /*#__PURE__*/_react().default.createContext(null);
|
|
24
24
|
const ButtonGroup = exports.ButtonGroup = /*#__PURE__*/_react().default.memo(({
|
|
25
25
|
children,
|
|
26
26
|
direction = 'horizontal',
|
|
@@ -35,14 +35,13 @@ const ButtonGroup = exports.ButtonGroup = /*#__PURE__*/_react().default.memo(({
|
|
|
35
35
|
shadow,
|
|
36
36
|
disabled,
|
|
37
37
|
iconPosition,
|
|
38
|
-
hairline
|
|
39
|
-
mode
|
|
38
|
+
hairline
|
|
40
39
|
}) => {
|
|
41
40
|
const tokens = (0, _tokens.useButtonTokens)();
|
|
42
41
|
const gap = spacing ?? tokens.spacing.groupGap;
|
|
43
42
|
const isHorizontal = direction === 'horizontal';
|
|
44
43
|
const supportsGap = _reactNative().Platform.OS === 'web';
|
|
45
|
-
const groupValue = {
|
|
44
|
+
const groupValue = (0, _react().useMemo)(() => ({
|
|
46
45
|
type,
|
|
47
46
|
size,
|
|
48
47
|
plain,
|
|
@@ -52,10 +51,9 @@ const ButtonGroup = exports.ButtonGroup = /*#__PURE__*/_react().default.memo(({
|
|
|
52
51
|
shadow,
|
|
53
52
|
disabled,
|
|
54
53
|
iconPosition,
|
|
55
|
-
hairline
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const containerStyle = (() => {
|
|
54
|
+
hairline
|
|
55
|
+
}), [block, disabled, hairline, iconPosition, plain, round, shadow, size, square, type]);
|
|
56
|
+
const containerStyle = (0, _react().useMemo)(() => {
|
|
59
57
|
const base = {
|
|
60
58
|
flexDirection: isHorizontal ? 'row' : 'column',
|
|
61
59
|
alignItems: 'center'
|
|
@@ -71,8 +69,8 @@ const ButtonGroup = exports.ButtonGroup = /*#__PURE__*/_react().default.memo(({
|
|
|
71
69
|
}
|
|
72
70
|
}
|
|
73
71
|
return [base, style];
|
|
74
|
-
})
|
|
75
|
-
const content = (() => {
|
|
72
|
+
}, [block, gap, isHorizontal, style, supportsGap]);
|
|
73
|
+
const content = (0, _react().useMemo)(() => {
|
|
76
74
|
if (supportsGap) {
|
|
77
75
|
return children;
|
|
78
76
|
}
|
|
@@ -91,8 +89,8 @@ const ButtonGroup = exports.ButtonGroup = /*#__PURE__*/_react().default.memo(({
|
|
|
91
89
|
key: element.key ?? index
|
|
92
90
|
});
|
|
93
91
|
});
|
|
94
|
-
})
|
|
95
|
-
return /*#__PURE__*/_react().default.createElement(
|
|
92
|
+
}, [children, gap, isHorizontal, supportsGap]);
|
|
93
|
+
return /*#__PURE__*/_react().default.createElement(ButtonGroupContext.Provider, {
|
|
96
94
|
value: groupValue
|
|
97
95
|
}, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
98
96
|
style: containerStyle
|
|
@@ -53,13 +53,9 @@ const createButtonTokens = foundations => {
|
|
|
53
53
|
square: false,
|
|
54
54
|
hairline: false,
|
|
55
55
|
iconPosition: 'left',
|
|
56
|
-
mode: 'contained',
|
|
57
56
|
loading: false,
|
|
58
|
-
loadingType: 'circular',
|
|
59
57
|
loadingSize: 'small',
|
|
60
58
|
disabled: false,
|
|
61
|
-
autoInsertSpace: true,
|
|
62
|
-
uppercase: false,
|
|
63
59
|
allowFontScaling: true
|
|
64
60
|
},
|
|
65
61
|
layout: {
|
|
@@ -157,7 +153,7 @@ const createButtonTokens = foundations => {
|
|
|
157
153
|
states: {
|
|
158
154
|
disabledOpacity: opacity.disabled,
|
|
159
155
|
loadingOpacity: opacity.loading,
|
|
160
|
-
pressedOpacity:
|
|
156
|
+
pressedOpacity: 0.7
|
|
161
157
|
},
|
|
162
158
|
shadows: {
|
|
163
159
|
1: {
|