react-native-system-ui 0.0.2 → 0.0.4
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/README.md +22 -6
- package/dist/cjs/{area → components/area}/Area.js +4 -10
- package/dist/cjs/{avatar → components/avatar}/Avatar.js +3 -3
- package/dist/cjs/{avatar → components/avatar}/tokens.js +2 -1
- package/dist/cjs/{badge → components/badge}/Badge.js +30 -38
- package/dist/cjs/{button → components/button}/Button.js +13 -13
- package/dist/cjs/{button → components/button}/ButtonGroup.js +8 -8
- package/dist/cjs/{calendar → components/calendar}/Calendar.js +10 -10
- package/dist/cjs/{cascader → components/cascader}/Cascader.js +4 -4
- package/dist/cjs/{cascader → components/cascader}/useCascaderExtend.js +5 -15
- package/dist/cjs/{checkbox → components/checkbox}/CheckboxGroup.js +2 -2
- package/dist/cjs/{circle → components/circle}/Circle.js +2 -2
- package/dist/cjs/{collapse → components/collapse}/Collapse.js +13 -16
- package/dist/cjs/{config-provider → components/config-provider}/ConfigProvider.js +1 -1
- package/dist/cjs/{datetime-picker → components/datetime-picker}/DatetimePicker.js +7 -7
- package/dist/cjs/{dialog → components/dialog}/Dialog.js +4 -6
- package/dist/cjs/{dialog → components/dialog}/tokens.js +2 -1
- package/dist/cjs/{dropdown-menu → components/dropdown-menu}/DropdownItem.js +53 -52
- package/dist/cjs/{dropdown-menu → components/dropdown-menu}/DropdownMenu.js +19 -23
- package/dist/cjs/{dropdown-menu → components/dropdown-menu}/tokens.js +20 -3
- package/dist/cjs/{field → components/field}/Field.js +6 -6
- package/dist/cjs/{form → components/form}/Form.js +5 -9
- package/dist/cjs/{grid → components/grid}/Grid.js +4 -4
- package/dist/cjs/{image → components/image}/Image.js +19 -15
- package/dist/cjs/{image-preview → components/image-preview}/ImagePreview.js +62 -60
- package/dist/cjs/{image-preview → components/image-preview}/tokens.js +21 -2
- package/dist/cjs/{index-bar → components/index-bar}/IndexAnchor.js +7 -6
- package/dist/cjs/{index-bar → components/index-bar}/IndexBar.js +40 -45
- package/dist/cjs/components/index-bar/tokens.js +45 -0
- package/dist/cjs/components/index.js +854 -0
- package/dist/cjs/{input → components/input}/Input.js +7 -10
- package/dist/cjs/{nav-bar → components/nav-bar}/NavBar.js +2 -1
- package/dist/cjs/{notice-bar → components/notice-bar}/NoticeBar.js +69 -95
- package/dist/cjs/{notify → components/notify}/Notify.js +65 -49
- package/dist/cjs/{notify → components/notify}/defaults.js +2 -2
- package/dist/cjs/{notify → components/notify}/imperative.js +2 -2
- package/dist/cjs/{notify → components/notify}/tokens.js +5 -4
- package/dist/cjs/{number-keyboard → components/number-keyboard}/NumberKeyboard.js +15 -16
- package/dist/cjs/{number-keyboard → components/number-keyboard}/tokens.js +4 -2
- package/dist/cjs/{overlay → components/overlay}/useOverlayStack.js +5 -1
- package/dist/cjs/{pagination → components/pagination}/Pagination.js +2 -2
- package/dist/cjs/{password-input → components/password-input}/PasswordInput.js +35 -27
- package/dist/cjs/{picker → components/picker}/Picker.js +11 -12
- package/dist/cjs/{picker → components/picker}/WheelPicker.js +9 -9
- package/dist/cjs/{picker → components/picker}/tokens.js +4 -2
- package/dist/cjs/{popup → components/popup}/Popup.js +48 -75
- package/dist/cjs/{popup → components/popup}/tokens.js +2 -1
- package/dist/cjs/{portal → components/portal}/Portal.js +5 -0
- package/dist/cjs/{portal → components/portal}/PortalHost.js +1 -13
- package/dist/cjs/{pull-refresh → components/pull-refresh}/PullRefresh.js +46 -27
- package/dist/cjs/{radio → components/radio}/RadioGroup.js +2 -2
- package/dist/cjs/components/safe-area-view/SafeAreaView.js +63 -0
- package/dist/cjs/components/safe-area-view/index.js +12 -0
- package/dist/cjs/{search → components/search}/Search.js +52 -67
- package/dist/cjs/{search → components/search}/tokens.js +2 -1
- package/dist/cjs/{selector → components/selector}/Selector.js +3 -3
- package/dist/cjs/{share-sheet → components/share-sheet}/ShareSheet.js +64 -62
- package/dist/cjs/{share-sheet → components/share-sheet}/tokens.js +15 -2
- package/dist/cjs/{sidebar → components/sidebar}/Sidebar.js +15 -19
- package/dist/cjs/{sidebar → components/sidebar}/SidebarItem.js +0 -3
- package/dist/cjs/{skeleton → components/skeleton}/Skeleton.js +44 -56
- package/dist/cjs/{slider → components/slider}/Slider.js +55 -61
- package/dist/cjs/{stepper → components/stepper}/Stepper.js +13 -16
- package/dist/cjs/{stepper → components/stepper}/tokens.js +4 -2
- package/dist/cjs/{swiper → components/swiper}/Swiper.js +21 -42
- package/dist/cjs/{swiper → components/swiper}/useSwiperWeb.js +15 -18
- package/dist/cjs/{tabbar → components/tabbar}/Tabbar.js +10 -12
- package/dist/cjs/{tabbar → components/tabbar}/TabbarItem.js +0 -3
- package/dist/cjs/{tabs → components/tabs}/Tabs.js +33 -54
- package/dist/cjs/{tabs → components/tabs}/tokens.js +9 -1
- package/dist/cjs/{tabs → components/tabs}/useTabsScroll.js +4 -0
- package/dist/cjs/{toast → components/toast}/Toast.js +15 -16
- package/dist/cjs/{toast → components/toast}/tokens.js +5 -1
- package/dist/cjs/components/types.js +1 -0
- package/dist/cjs/{typography → components/typography}/Typography.js +17 -30
- package/dist/cjs/{uploader → components/uploader}/Uploader.js +49 -46
- package/dist/cjs/{uploader → components/uploader}/tokens.js +27 -1
- package/dist/cjs/{water-mark → components/water-mark}/WaterMark.js +16 -16
- package/dist/cjs/design-system/ThemeContext.js +19 -0
- package/dist/cjs/design-system/ThemeProvider.js +37 -0
- package/dist/cjs/design-system/createComponentTokensHook.js +30 -0
- package/dist/cjs/design-system/index.js +59 -0
- package/dist/cjs/design-system/mergeTokensOverride.js +12 -0
- package/dist/cjs/design-system/presets.js +147 -0
- package/dist/cjs/design-system/tokens.js +144 -0
- package/dist/cjs/design-system/useTheme.js +16 -0
- package/dist/cjs/hooks/aria/index.js +49 -0
- package/dist/cjs/hooks/aria/useAriaListBox.js +58 -0
- package/dist/cjs/hooks/aria/useAriaOverlay.js +50 -0
- package/dist/cjs/hooks/aria/useAriaPress.js +107 -0
- package/dist/cjs/hooks/aria/useAriaToggle.js +41 -0
- package/dist/cjs/hooks/gesture/index.js +16 -0
- package/dist/cjs/hooks/gesture/useGestureScroll.js +131 -0
- package/dist/cjs/hooks/index.js +84 -0
- package/dist/cjs/hooks/useControllableValue.js +52 -0
- package/dist/cjs/hooks/useCountDown.js +107 -0
- package/dist/cjs/hooks/useHairline.js +62 -0
- package/dist/cjs/hooks/usePresenceAnimation.js +70 -0
- package/dist/cjs/hooks/useSafeAreaPadding.js +41 -0
- package/dist/cjs/index.js +33 -499
- package/dist/cjs/platform/animation.js +14 -0
- package/dist/cjs/platform/history.js +14 -0
- package/dist/cjs/platform/index.js +60 -0
- package/dist/cjs/platform/measure.js +55 -0
- package/dist/cjs/platform/runtime.js +19 -0
- package/dist/cjs/platform/scrollLock.js +24 -0
- package/dist/cjs/utils/array.js +12 -0
- package/dist/cjs/utils/color.js +52 -0
- package/dist/cjs/utils/createPlatformShadow.js +63 -0
- package/dist/cjs/utils/date.js +75 -0
- package/dist/cjs/utils/deepMerge.js +37 -0
- package/dist/cjs/utils/hairline.js +103 -0
- package/dist/cjs/utils/index.js +115 -0
- package/dist/cjs/utils/number.js +73 -0
- package/dist/cjs/utils/promise.js +9 -0
- package/dist/cjs/utils/string.js +39 -0
- package/dist/cjs/utils/validate.js +41 -0
- package/dist/es/{area → components/area}/Area.js +5 -11
- package/dist/es/{avatar → components/avatar}/Avatar.js +3 -3
- package/dist/es/{avatar → components/avatar}/tokens.js +2 -1
- package/dist/es/{badge → components/badge}/Badge.js +31 -39
- package/dist/es/{button → components/button}/Button.js +14 -14
- package/dist/es/{button → components/button}/ButtonGroup.js +7 -7
- package/dist/es/{calendar → components/calendar}/Calendar.js +11 -11
- package/dist/es/{cascader → components/cascader}/Cascader.js +5 -5
- package/dist/es/{cascader → components/cascader}/useCascaderExtend.js +5 -9
- package/dist/es/{checkbox → components/checkbox}/CheckboxGroup.js +3 -3
- package/dist/es/{circle → components/circle}/Circle.js +3 -3
- package/dist/es/{collapse → components/collapse}/Collapse.js +14 -17
- package/dist/es/{config-provider → components/config-provider}/ConfigProvider.js +2 -2
- package/dist/es/{datetime-picker → components/datetime-picker}/DatetimePicker.js +8 -8
- package/dist/es/{dialog → components/dialog}/Dialog.js +4 -6
- package/dist/es/{dialog → components/dialog}/tokens.js +2 -1
- package/dist/es/{dropdown-menu → components/dropdown-menu}/DropdownItem.js +53 -52
- package/dist/es/{dropdown-menu → components/dropdown-menu}/DropdownMenu.js +20 -24
- package/dist/es/{dropdown-menu → components/dropdown-menu}/tokens.js +20 -3
- package/dist/es/{field → components/field}/Field.js +7 -7
- package/dist/es/{field → components/field}/index.js +1 -1
- package/dist/es/{form → components/form}/Form.js +6 -10
- package/dist/es/{grid → components/grid}/Grid.js +3 -3
- package/dist/es/{image → components/image}/Image.js +20 -16
- package/dist/es/{image-preview → components/image-preview}/ImagePreview.js +63 -61
- package/dist/es/components/image-preview/tokens.js +35 -0
- package/dist/es/{index-bar → components/index-bar}/IndexAnchor.js +7 -6
- package/dist/es/{index-bar → components/index-bar}/IndexBar.js +41 -46
- package/dist/es/components/index-bar/tokens.js +39 -0
- package/dist/es/components/index.js +123 -0
- package/dist/es/{input → components/input}/Input.js +8 -11
- package/dist/es/{nav-bar → components/nav-bar}/NavBar.js +2 -1
- package/dist/es/{notice-bar → components/notice-bar}/NoticeBar.js +70 -96
- package/dist/es/{notify → components/notify}/Notify.js +68 -52
- package/dist/es/{notify → components/notify}/defaults.js +2 -2
- package/dist/es/{notify → components/notify}/imperative.js +2 -2
- package/dist/es/{notify → components/notify}/tokens.js +5 -4
- package/dist/es/{number-keyboard → components/number-keyboard}/NumberKeyboard.js +16 -17
- package/dist/es/{number-keyboard → components/number-keyboard}/tokens.js +4 -2
- package/dist/es/{overlay → components/overlay}/useOverlayStack.js +6 -2
- package/dist/es/{pagination → components/pagination}/Pagination.js +3 -3
- package/dist/es/{password-input → components/password-input}/PasswordInput.js +36 -28
- package/dist/es/{picker → components/picker}/Picker.js +12 -13
- package/dist/es/{picker → components/picker}/WheelPicker.js +10 -10
- package/dist/es/{picker → components/picker}/tokens.js +4 -2
- package/dist/es/{popup → components/popup}/Popup.js +48 -75
- package/dist/es/{popup → components/popup}/tokens.js +2 -1
- package/dist/es/{portal → components/portal}/Portal.js +5 -0
- package/dist/es/{portal → components/portal}/PortalHost.js +1 -13
- package/dist/es/{pull-refresh → components/pull-refresh}/PullRefresh.js +47 -28
- package/dist/es/{radio → components/radio}/RadioGroup.js +3 -3
- package/dist/es/components/safe-area-view/SafeAreaView.js +43 -0
- package/dist/es/components/safe-area-view/index.js +1 -0
- package/dist/es/{search → components/search}/Search.js +53 -68
- package/dist/es/{search → components/search}/tokens.js +2 -1
- package/dist/es/{selector → components/selector}/Selector.js +4 -4
- package/dist/es/{share-sheet → components/share-sheet}/ShareSheet.js +65 -63
- package/dist/es/{share-sheet → components/share-sheet}/tokens.js +15 -2
- package/dist/es/{sidebar → components/sidebar}/Sidebar.js +14 -18
- package/dist/es/{sidebar → components/sidebar}/SidebarItem.js +0 -3
- package/dist/es/{skeleton → components/skeleton}/Skeleton.js +45 -57
- package/dist/es/{slider → components/slider}/Slider.js +56 -62
- package/dist/es/{stepper → components/stepper}/Stepper.js +14 -17
- package/dist/es/{stepper → components/stepper}/tokens.js +4 -2
- package/dist/es/{swiper → components/swiper}/Swiper.js +22 -43
- package/dist/es/{swiper → components/swiper}/useSwiperWeb.js +16 -19
- package/dist/es/{tabbar → components/tabbar}/Tabbar.js +11 -13
- package/dist/es/{tabbar → components/tabbar}/TabbarItem.js +0 -3
- package/dist/es/{tabs → components/tabs}/Tabs.js +34 -55
- package/dist/es/{tabs → components/tabs}/tokens.js +9 -1
- package/dist/es/{tabs → components/tabs}/useTabsScroll.js +4 -0
- package/dist/es/{toast → components/toast}/Toast.js +14 -15
- package/dist/es/{toast → components/toast}/tokens.js +5 -1
- package/dist/es/components/types.js +1 -0
- package/dist/es/{typography → components/typography}/Typography.js +18 -31
- package/dist/es/{uploader → components/uploader}/Uploader.js +49 -46
- package/dist/es/{uploader → components/uploader}/tokens.js +27 -1
- package/dist/es/{water-mark → components/water-mark}/WaterMark.js +17 -17
- package/dist/es/design-system/ThemeContext.js +6 -0
- package/dist/es/design-system/ThemeProvider.js +23 -0
- package/dist/es/design-system/createComponentTokensHook.js +17 -0
- package/dist/es/design-system/index.js +6 -0
- package/dist/es/design-system/mergeTokensOverride.js +5 -0
- package/dist/es/design-system/presets.js +140 -0
- package/dist/es/design-system/tokens.js +136 -0
- package/dist/es/design-system/useTheme.js +3 -0
- package/dist/es/hooks/aria/index.js +5 -0
- package/dist/es/hooks/aria/useAriaListBox.js +33 -0
- package/dist/es/hooks/aria/useAriaOverlay.js +25 -0
- package/dist/es/hooks/aria/useAriaPress.js +70 -0
- package/dist/es/hooks/aria/useAriaToggle.js +16 -0
- package/dist/es/hooks/gesture/index.js +2 -0
- package/dist/es/hooks/gesture/useGestureScroll.js +112 -0
- package/dist/es/hooks/index.js +7 -0
- package/dist/es/hooks/useControllableValue.js +40 -0
- package/dist/es/hooks/useCountDown.js +95 -0
- package/dist/es/hooks/useHairline.js +42 -0
- package/dist/es/hooks/usePresenceAnimation.js +51 -0
- package/dist/es/hooks/useSafeAreaPadding.js +23 -0
- package/dist/es/index.js +4 -73
- package/dist/es/platform/animation.js +2 -0
- package/dist/es/platform/history.js +7 -0
- package/dist/es/platform/index.js +6 -0
- package/dist/es/platform/measure.js +48 -0
- package/dist/es/platform/runtime.js +4 -0
- package/dist/es/platform/scrollLock.js +16 -0
- package/dist/es/utils/array.js +5 -0
- package/dist/es/utils/color.js +42 -0
- package/dist/es/utils/createPlatformShadow.js +50 -0
- package/dist/es/utils/date.js +63 -0
- package/dist/es/utils/deepMerge.js +31 -0
- package/dist/es/utils/hairline.js +84 -0
- package/dist/es/utils/index.js +12 -0
- package/dist/es/utils/number.js +56 -0
- package/dist/es/utils/promise.js +2 -0
- package/dist/es/utils/string.js +30 -0
- package/dist/es/utils/validate.js +15 -0
- package/dist/types/components/dialog/tokens.d.ts +1 -0
- package/dist/types/components/dropdown-menu/tokens.d.ts +17 -0
- package/dist/types/components/field/index.d.ts +1 -1
- package/dist/types/components/image-preview/tokens.d.ts +16 -0
- package/dist/types/components/index-bar/tokens.d.ts +13 -4
- package/dist/types/components/index.d.ts +104 -0
- package/dist/types/components/notify/defaults.d.ts +2 -2
- package/dist/types/components/number-keyboard/tokens.d.ts +1 -0
- package/dist/types/components/password-input/PasswordInput.d.ts +4 -0
- package/dist/types/components/picker/tokens.d.ts +2 -0
- package/dist/types/components/popup/tokens.d.ts +1 -0
- package/dist/types/components/safe-area-view/SafeAreaView.d.ts +10 -0
- package/dist/types/components/safe-area-view/index.d.ts +2 -0
- package/dist/types/components/search/tokens.d.ts +1 -0
- package/dist/types/components/share-sheet/tokens.d.ts +13 -0
- package/dist/types/components/stepper/tokens.d.ts +2 -0
- package/dist/types/components/tabs/tokens.d.ts +8 -0
- package/dist/types/components/toast/tokens.d.ts +4 -0
- package/dist/types/components/uploader/tokens.d.ts +25 -0
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/usePresenceAnimation.d.ts +6 -1
- package/dist/types/hooks/useSafeAreaPadding.d.ts +13 -0
- package/package.json +290 -274
- package/dist/cjs/index-bar/tokens.js +0 -36
- package/dist/cjs/safe-area/SafeAreaClipper.js +0 -114
- package/dist/cjs/safe-area/index.js +0 -63
- package/dist/es/image-preview/tokens.js +0 -16
- package/dist/es/index-bar/tokens.js +0 -30
- package/dist/es/safe-area/SafeAreaClipper.js +0 -86
- package/dist/es/safe-area/index.js +0 -25
- package/dist/types/components/safe-area/SafeAreaClipper.d.ts +0 -47
- package/dist/types/components/safe-area/index.d.ts +0 -9
- /package/dist/cjs/{action-sheet → components/action-sheet}/ActionSheet.js +0 -0
- /package/dist/cjs/{action-sheet → components/action-sheet}/index.js +0 -0
- /package/dist/cjs/{action-sheet → components/action-sheet}/tokens.js +0 -0
- /package/dist/cjs/{area → components/area}/index.js +0 -0
- /package/dist/cjs/{area → components/area}/utils.js +0 -0
- /package/dist/cjs/{avatar → components/avatar}/index.js +0 -0
- /package/dist/cjs/{badge → components/badge}/index.js +0 -0
- /package/dist/cjs/{badge → components/badge}/tokens.js +0 -0
- /package/dist/cjs/{button → components/button}/ButtonContext.js +0 -0
- /package/dist/cjs/{button → components/button}/index.js +0 -0
- /package/dist/cjs/{button → components/button}/tokens.js +0 -0
- /package/dist/cjs/{calendar → components/calendar}/index.js +0 -0
- /package/dist/cjs/{calendar → components/calendar}/tokens.js +0 -0
- /package/dist/cjs/{cascader → components/cascader}/index.js +0 -0
- /package/dist/cjs/{cascader → components/cascader}/tokens.js +0 -0
- /package/dist/cjs/{cascader → components/cascader}/utils.js +0 -0
- /package/dist/cjs/{cell → components/cell}/Cell.js +0 -0
- /package/dist/cjs/{cell → components/cell}/CellContext.js +0 -0
- /package/dist/cjs/{cell → components/cell}/CellGroup.js +0 -0
- /package/dist/cjs/{cell → components/cell}/index.js +0 -0
- /package/dist/cjs/{cell → components/cell}/tokens.js +0 -0
- /package/dist/cjs/{checkbox → components/checkbox}/Checkbox.js +0 -0
- /package/dist/cjs/{checkbox → components/checkbox}/CheckboxContext.js +0 -0
- /package/dist/cjs/{checkbox → components/checkbox}/index.js +0 -0
- /package/dist/cjs/{checkbox → components/checkbox}/tokens.js +0 -0
- /package/dist/cjs/{circle → components/circle}/index.js +0 -0
- /package/dist/cjs/{circle → components/circle}/tokens.js +0 -0
- /package/dist/cjs/{collapse → components/collapse}/index.js +0 -0
- /package/dist/cjs/{collapse → components/collapse}/tokens.js +0 -0
- /package/dist/cjs/{config-provider → components/config-provider}/LocaleContext.js +0 -0
- /package/dist/cjs/{config-provider → components/config-provider}/index.js +0 -0
- /package/dist/cjs/{config-provider → components/config-provider}/locale/base.js +0 -0
- /package/dist/cjs/{config-provider → components/config-provider}/locale/en-US.js +0 -0
- /package/dist/cjs/{config-provider → components/config-provider}/locale/zh-CN.js +0 -0
- /package/dist/cjs/{config-provider → components/config-provider}/useLocale.js +0 -0
- /package/dist/cjs/{count-down → components/count-down}/CountDown.js +0 -0
- /package/dist/cjs/{count-down → components/count-down}/index.js +0 -0
- /package/dist/cjs/{count-down → components/count-down}/tokens.js +0 -0
- /package/dist/cjs/{datetime-picker → components/datetime-picker}/index.js +0 -0
- /package/dist/cjs/{dialog → components/dialog}/imperative.js +0 -0
- /package/dist/cjs/{dialog → components/dialog}/index.js +0 -0
- /package/dist/cjs/{divider → components/divider}/Divider.js +0 -0
- /package/dist/cjs/{divider → components/divider}/index.js +0 -0
- /package/dist/cjs/{divider → components/divider}/tokens.js +0 -0
- /package/dist/cjs/{dropdown-menu → components/dropdown-menu}/DropdownMenuContext.js +0 -0
- /package/dist/cjs/{dropdown-menu → components/dropdown-menu}/index.js +0 -0
- /package/dist/cjs/{empty → components/empty}/Empty.js +0 -0
- /package/dist/cjs/{empty → components/empty}/index.js +0 -0
- /package/dist/cjs/{empty → components/empty}/tokens.js +0 -0
- /package/dist/cjs/{field → components/field}/index.js +0 -0
- /package/dist/cjs/{field → components/field}/tokens.js +0 -0
- /package/dist/cjs/{field → components/field}/utils.js +0 -0
- /package/dist/cjs/{flex → components/flex}/Flex.js +0 -0
- /package/dist/cjs/{flex → components/flex}/FlexContext.js +0 -0
- /package/dist/cjs/{flex → components/flex}/FlexItem.js +0 -0
- /package/dist/cjs/{flex → components/flex}/index.js +0 -0
- /package/dist/cjs/{flex → components/flex}/tokens.js +0 -0
- /package/dist/cjs/{form → components/form}/FormContext.js +0 -0
- /package/dist/cjs/{form → components/form}/FormItem.js +0 -0
- /package/dist/cjs/{form → components/form}/FormList.js +0 -0
- /package/dist/cjs/{form → components/form}/index.js +0 -0
- /package/dist/cjs/{form → components/form}/utils.js +0 -0
- /package/dist/cjs/{grid → components/grid}/GridContext.js +0 -0
- /package/dist/cjs/{grid → components/grid}/GridItem.js +0 -0
- /package/dist/cjs/{grid → components/grid}/index.js +0 -0
- /package/dist/cjs/{grid → components/grid}/tokens.js +0 -0
- /package/dist/cjs/{image → components/image}/index.js +0 -0
- /package/dist/cjs/{image → components/image}/tokens.js +0 -0
- /package/dist/cjs/{image-preview → components/image-preview}/imperative.js +0 -0
- /package/dist/cjs/{image-preview → components/image-preview}/index.js +0 -0
- /package/dist/cjs/{index-bar → components/index-bar}/index.js +0 -0
- /package/dist/cjs/{input → components/input}/index.js +0 -0
- /package/dist/cjs/{input → components/input}/tokens.js +0 -0
- /package/dist/cjs/{list → components/list}/List.js +0 -0
- /package/dist/cjs/{list → components/list}/index.js +0 -0
- /package/dist/cjs/{list → components/list}/tokens.js +0 -0
- /package/dist/cjs/{loading → components/loading}/Loading.js +0 -0
- /package/dist/cjs/{loading → components/loading}/index.js +0 -0
- /package/dist/cjs/{loading → components/loading}/tokens.js +0 -0
- /package/dist/cjs/{nav-bar → components/nav-bar}/index.js +0 -0
- /package/dist/cjs/{nav-bar → components/nav-bar}/tokens.js +0 -0
- /package/dist/cjs/{notice-bar → components/notice-bar}/index.js +0 -0
- /package/dist/cjs/{notice-bar → components/notice-bar}/tokens.js +0 -0
- /package/dist/cjs/{notify → components/notify}/index.js +0 -0
- /package/dist/cjs/{number-keyboard → components/number-keyboard}/index.js +0 -0
- /package/dist/cjs/{overlay → components/overlay}/Overlay.js +0 -0
- /package/dist/cjs/{overlay → components/overlay}/OverlayStackStore.js +0 -0
- /package/dist/cjs/{overlay → components/overlay}/index.js +0 -0
- /package/dist/cjs/{overlay → components/overlay}/tokens.js +0 -0
- /package/dist/cjs/{pagination → components/pagination}/index.js +0 -0
- /package/dist/cjs/{pagination → components/pagination}/tokens.js +0 -0
- /package/dist/cjs/{password-input → components/password-input}/index.js +0 -0
- /package/dist/cjs/{picker → components/picker}/index.js +0 -0
- /package/dist/cjs/{picker → components/picker}/utils.js +0 -0
- /package/dist/cjs/{popup → components/popup}/index.js +0 -0
- /package/dist/cjs/{portal → components/portal}/PortalContext.js +0 -0
- /package/dist/cjs/{portal → components/portal}/index.js +0 -0
- /package/dist/cjs/{progress → components/progress}/Progress.js +0 -0
- /package/dist/cjs/{progress → components/progress}/index.js +0 -0
- /package/dist/cjs/{progress → components/progress}/tokens.js +0 -0
- /package/dist/cjs/{pull-refresh → components/pull-refresh}/index.js +0 -0
- /package/dist/cjs/{pull-refresh → components/pull-refresh}/tokens.js +0 -0
- /package/dist/cjs/{radio → components/radio}/Radio.js +0 -0
- /package/dist/cjs/{radio → components/radio}/RadioContext.js +0 -0
- /package/dist/cjs/{radio → components/radio}/index.js +0 -0
- /package/dist/cjs/{radio → components/radio}/tokens.js +0 -0
- /package/dist/cjs/{rate → components/rate}/Rate.js +0 -0
- /package/dist/cjs/{rate → components/rate}/index.js +0 -0
- /package/dist/cjs/{rate → components/rate}/tokens.js +0 -0
- /package/dist/cjs/{search → components/search}/index.js +0 -0
- /package/dist/cjs/{selector → components/selector}/index.js +0 -0
- /package/dist/cjs/{selector → components/selector}/tokens.js +0 -0
- /package/dist/cjs/{share-sheet → components/share-sheet}/index.js +0 -0
- /package/dist/cjs/{sidebar → components/sidebar}/SidebarContext.js +0 -0
- /package/dist/cjs/{sidebar → components/sidebar}/index.js +0 -0
- /package/dist/cjs/{sidebar → components/sidebar}/tokens.js +0 -0
- /package/dist/cjs/{skeleton → components/skeleton}/index.js +0 -0
- /package/dist/cjs/{skeleton → components/skeleton}/tokens.js +0 -0
- /package/dist/cjs/{slider → components/slider}/index.js +0 -0
- /package/dist/cjs/{slider → components/slider}/tokens.js +0 -0
- /package/dist/cjs/{slider → components/slider}/utils.js +0 -0
- /package/dist/cjs/{space → components/space}/Space.js +0 -0
- /package/dist/cjs/{space → components/space}/index.js +0 -0
- /package/dist/cjs/{space → components/space}/tokens.js +0 -0
- /package/dist/cjs/{stepper → components/stepper}/index.js +0 -0
- /package/dist/cjs/{swiper → components/swiper}/SwiperItem.js +0 -0
- /package/dist/cjs/{swiper → components/swiper}/SwiperPagIndicator.js +0 -0
- /package/dist/cjs/{swiper → components/swiper}/index.js +0 -0
- /package/dist/cjs/{swiper → components/swiper}/utils.js +0 -0
- /package/dist/cjs/{switch → components/switch}/Switch.js +0 -0
- /package/dist/cjs/{switch → components/switch}/index.js +0 -0
- /package/dist/cjs/{switch → components/switch}/tokens.js +0 -0
- /package/dist/cjs/{tabbar → components/tabbar}/TabbarContext.js +0 -0
- /package/dist/cjs/{tabbar → components/tabbar}/index.js +0 -0
- /package/dist/cjs/{tabbar → components/tabbar}/tokens.js +0 -0
- /package/dist/cjs/{tabs → components/tabs}/TabPane.js +0 -0
- /package/dist/cjs/{tabs → components/tabs}/index.js +0 -0
- /package/dist/cjs/{tabs → components/tabs}/useTabsAnimation.js +0 -0
- /package/dist/cjs/{tabs → components/tabs}/utils.js +0 -0
- /package/dist/cjs/{tag → components/tag}/Tag.js +0 -0
- /package/dist/cjs/{tag → components/tag}/index.js +0 -0
- /package/dist/cjs/{tag → components/tag}/tokens.js +0 -0
- /package/dist/cjs/{toast → components/toast}/imperative.js +0 -0
- /package/dist/cjs/{toast → components/toast}/index.js +0 -0
- /package/dist/cjs/{typography → components/typography}/index.js +0 -0
- /package/dist/cjs/{typography → components/typography}/tokens.js +0 -0
- /package/dist/cjs/{uploader → components/uploader}/index.js +0 -0
- /package/dist/cjs/{uploader → components/uploader}/utils.js +0 -0
- /package/dist/cjs/{water-mark → components/water-mark}/index.js +0 -0
- /package/dist/cjs/{water-mark → components/water-mark}/tokens.js +0 -0
- /package/dist/es/{action-sheet → components/action-sheet}/ActionSheet.js +0 -0
- /package/dist/es/{action-sheet → components/action-sheet}/index.js +0 -0
- /package/dist/es/{action-sheet → components/action-sheet}/tokens.js +0 -0
- /package/dist/es/{area → components/area}/index.js +0 -0
- /package/dist/es/{area → components/area}/utils.js +0 -0
- /package/dist/es/{avatar → components/avatar}/index.js +0 -0
- /package/dist/es/{badge → components/badge}/index.js +0 -0
- /package/dist/es/{badge → components/badge}/tokens.js +0 -0
- /package/dist/es/{button → components/button}/ButtonContext.js +0 -0
- /package/dist/es/{button → components/button}/index.js +0 -0
- /package/dist/es/{button → components/button}/tokens.js +0 -0
- /package/dist/es/{calendar → components/calendar}/index.js +0 -0
- /package/dist/es/{calendar → components/calendar}/tokens.js +0 -0
- /package/dist/es/{cascader → components/cascader}/index.js +0 -0
- /package/dist/es/{cascader → components/cascader}/tokens.js +0 -0
- /package/dist/es/{cascader → components/cascader}/utils.js +0 -0
- /package/dist/es/{cell → components/cell}/Cell.js +0 -0
- /package/dist/es/{cell → components/cell}/CellContext.js +0 -0
- /package/dist/es/{cell → components/cell}/CellGroup.js +0 -0
- /package/dist/es/{cell → components/cell}/index.js +0 -0
- /package/dist/es/{cell → components/cell}/tokens.js +0 -0
- /package/dist/es/{checkbox → components/checkbox}/Checkbox.js +0 -0
- /package/dist/es/{checkbox → components/checkbox}/CheckboxContext.js +0 -0
- /package/dist/es/{checkbox → components/checkbox}/index.js +0 -0
- /package/dist/es/{checkbox → components/checkbox}/tokens.js +0 -0
- /package/dist/es/{circle → components/circle}/index.js +0 -0
- /package/dist/es/{circle → components/circle}/tokens.js +0 -0
- /package/dist/es/{collapse → components/collapse}/index.js +0 -0
- /package/dist/es/{collapse → components/collapse}/tokens.js +0 -0
- /package/dist/es/{config-provider → components/config-provider}/LocaleContext.js +0 -0
- /package/dist/es/{config-provider → components/config-provider}/index.js +0 -0
- /package/dist/es/{config-provider → components/config-provider}/locale/base.js +0 -0
- /package/dist/es/{config-provider → components/config-provider}/locale/en-US.js +0 -0
- /package/dist/es/{config-provider → components/config-provider}/locale/zh-CN.js +0 -0
- /package/dist/es/{config-provider → components/config-provider}/useLocale.js +0 -0
- /package/dist/es/{count-down → components/count-down}/CountDown.js +0 -0
- /package/dist/es/{count-down → components/count-down}/index.js +0 -0
- /package/dist/es/{count-down → components/count-down}/tokens.js +0 -0
- /package/dist/es/{datetime-picker → components/datetime-picker}/index.js +0 -0
- /package/dist/es/{dialog → components/dialog}/imperative.js +0 -0
- /package/dist/es/{dialog → components/dialog}/index.js +0 -0
- /package/dist/es/{divider → components/divider}/Divider.js +0 -0
- /package/dist/es/{divider → components/divider}/index.js +0 -0
- /package/dist/es/{divider → components/divider}/tokens.js +0 -0
- /package/dist/es/{dropdown-menu → components/dropdown-menu}/DropdownMenuContext.js +0 -0
- /package/dist/es/{dropdown-menu → components/dropdown-menu}/index.js +0 -0
- /package/dist/es/{empty → components/empty}/Empty.js +0 -0
- /package/dist/es/{empty → components/empty}/index.js +0 -0
- /package/dist/es/{empty → components/empty}/tokens.js +0 -0
- /package/dist/es/{field → components/field}/tokens.js +0 -0
- /package/dist/es/{field → components/field}/utils.js +0 -0
- /package/dist/es/{flex → components/flex}/Flex.js +0 -0
- /package/dist/es/{flex → components/flex}/FlexContext.js +0 -0
- /package/dist/es/{flex → components/flex}/FlexItem.js +0 -0
- /package/dist/es/{flex → components/flex}/index.js +0 -0
- /package/dist/es/{flex → components/flex}/tokens.js +0 -0
- /package/dist/es/{form → components/form}/FormContext.js +0 -0
- /package/dist/es/{form → components/form}/FormItem.js +0 -0
- /package/dist/es/{form → components/form}/FormList.js +0 -0
- /package/dist/es/{form → components/form}/index.js +0 -0
- /package/dist/es/{form → components/form}/utils.js +0 -0
- /package/dist/es/{grid → components/grid}/GridContext.js +0 -0
- /package/dist/es/{grid → components/grid}/GridItem.js +0 -0
- /package/dist/es/{grid → components/grid}/index.js +0 -0
- /package/dist/es/{grid → components/grid}/tokens.js +0 -0
- /package/dist/es/{image → components/image}/index.js +0 -0
- /package/dist/es/{image → components/image}/tokens.js +0 -0
- /package/dist/es/{image-preview → components/image-preview}/imperative.js +0 -0
- /package/dist/es/{image-preview → components/image-preview}/index.js +0 -0
- /package/dist/es/{index-bar → components/index-bar}/index.js +0 -0
- /package/dist/es/{input → components/input}/index.js +0 -0
- /package/dist/es/{input → components/input}/tokens.js +0 -0
- /package/dist/es/{list → components/list}/List.js +0 -0
- /package/dist/es/{list → components/list}/index.js +0 -0
- /package/dist/es/{list → components/list}/tokens.js +0 -0
- /package/dist/es/{loading → components/loading}/Loading.js +0 -0
- /package/dist/es/{loading → components/loading}/index.js +0 -0
- /package/dist/es/{loading → components/loading}/tokens.js +0 -0
- /package/dist/es/{nav-bar → components/nav-bar}/index.js +0 -0
- /package/dist/es/{nav-bar → components/nav-bar}/tokens.js +0 -0
- /package/dist/es/{notice-bar → components/notice-bar}/index.js +0 -0
- /package/dist/es/{notice-bar → components/notice-bar}/tokens.js +0 -0
- /package/dist/es/{notify → components/notify}/index.js +0 -0
- /package/dist/es/{number-keyboard → components/number-keyboard}/index.js +0 -0
- /package/dist/es/{overlay → components/overlay}/Overlay.js +0 -0
- /package/dist/es/{overlay → components/overlay}/OverlayStackStore.js +0 -0
- /package/dist/es/{overlay → components/overlay}/index.js +0 -0
- /package/dist/es/{overlay → components/overlay}/tokens.js +0 -0
- /package/dist/es/{pagination → components/pagination}/index.js +0 -0
- /package/dist/es/{pagination → components/pagination}/tokens.js +0 -0
- /package/dist/es/{password-input → components/password-input}/index.js +0 -0
- /package/dist/es/{picker → components/picker}/index.js +0 -0
- /package/dist/es/{picker → components/picker}/utils.js +0 -0
- /package/dist/es/{popup → components/popup}/index.js +0 -0
- /package/dist/es/{portal → components/portal}/PortalContext.js +0 -0
- /package/dist/es/{portal → components/portal}/index.js +0 -0
- /package/dist/es/{progress → components/progress}/Progress.js +0 -0
- /package/dist/es/{progress → components/progress}/index.js +0 -0
- /package/dist/es/{progress → components/progress}/tokens.js +0 -0
- /package/dist/es/{pull-refresh → components/pull-refresh}/index.js +0 -0
- /package/dist/es/{pull-refresh → components/pull-refresh}/tokens.js +0 -0
- /package/dist/es/{radio → components/radio}/Radio.js +0 -0
- /package/dist/es/{radio → components/radio}/RadioContext.js +0 -0
- /package/dist/es/{radio → components/radio}/index.js +0 -0
- /package/dist/es/{radio → components/radio}/tokens.js +0 -0
- /package/dist/es/{rate → components/rate}/Rate.js +0 -0
- /package/dist/es/{rate → components/rate}/index.js +0 -0
- /package/dist/es/{rate → components/rate}/tokens.js +0 -0
- /package/dist/es/{search → components/search}/index.js +0 -0
- /package/dist/es/{selector → components/selector}/index.js +0 -0
- /package/dist/es/{selector → components/selector}/tokens.js +0 -0
- /package/dist/es/{share-sheet → components/share-sheet}/index.js +0 -0
- /package/dist/es/{sidebar → components/sidebar}/SidebarContext.js +0 -0
- /package/dist/es/{sidebar → components/sidebar}/index.js +0 -0
- /package/dist/es/{sidebar → components/sidebar}/tokens.js +0 -0
- /package/dist/es/{skeleton → components/skeleton}/index.js +0 -0
- /package/dist/es/{skeleton → components/skeleton}/tokens.js +0 -0
- /package/dist/es/{slider → components/slider}/index.js +0 -0
- /package/dist/es/{slider → components/slider}/tokens.js +0 -0
- /package/dist/es/{slider → components/slider}/utils.js +0 -0
- /package/dist/es/{space → components/space}/Space.js +0 -0
- /package/dist/es/{space → components/space}/index.js +0 -0
- /package/dist/es/{space → components/space}/tokens.js +0 -0
- /package/dist/es/{stepper → components/stepper}/index.js +0 -0
- /package/dist/es/{swiper → components/swiper}/SwiperItem.js +0 -0
- /package/dist/es/{swiper → components/swiper}/SwiperPagIndicator.js +0 -0
- /package/dist/es/{swiper → components/swiper}/index.js +0 -0
- /package/dist/es/{swiper → components/swiper}/utils.js +0 -0
- /package/dist/es/{switch → components/switch}/Switch.js +0 -0
- /package/dist/es/{switch → components/switch}/index.js +0 -0
- /package/dist/es/{switch → components/switch}/tokens.js +0 -0
- /package/dist/es/{tabbar → components/tabbar}/TabbarContext.js +0 -0
- /package/dist/es/{tabbar → components/tabbar}/index.js +0 -0
- /package/dist/es/{tabbar → components/tabbar}/tokens.js +0 -0
- /package/dist/es/{tabs → components/tabs}/TabPane.js +0 -0
- /package/dist/es/{tabs → components/tabs}/index.js +0 -0
- /package/dist/es/{tabs → components/tabs}/useTabsAnimation.js +0 -0
- /package/dist/es/{tabs → components/tabs}/utils.js +0 -0
- /package/dist/es/{tag → components/tag}/Tag.js +0 -0
- /package/dist/es/{tag → components/tag}/index.js +0 -0
- /package/dist/es/{tag → components/tag}/tokens.js +0 -0
- /package/dist/es/{toast → components/toast}/imperative.js +0 -0
- /package/dist/es/{toast → components/toast}/index.js +0 -0
- /package/dist/es/{typography → components/typography}/index.js +0 -0
- /package/dist/es/{typography → components/typography}/tokens.js +0 -0
- /package/dist/es/{uploader → components/uploader}/index.js +0 -0
- /package/dist/es/{uploader → components/uploader}/utils.js +0 -0
- /package/dist/es/{water-mark → components/water-mark}/index.js +0 -0
- /package/dist/es/{water-mark → components/water-mark}/tokens.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useRef, useCallback,
|
|
1
|
+
import { useRef, useCallback, useEffect } from 'react';
|
|
2
2
|
import { Animated, PanResponder } from 'react-native';
|
|
3
3
|
import { clamp } from '../../utils';
|
|
4
4
|
import { stopWebEvent } from './utils';
|
|
@@ -97,23 +97,20 @@ export const useSwiperWeb = ({
|
|
|
97
97
|
(latest.vertical ? webTranslateXAnim : webTranslateYAnim).stopAnimation();
|
|
98
98
|
webOffsetRef.current = nextOffset;
|
|
99
99
|
}, []);
|
|
100
|
-
const webTrackTransform =
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}];
|
|
115
|
-
}, [trackOffsetPx, vertical, webTranslateXAnim, webTranslateYAnim]);
|
|
116
|
-
const panResponder = useMemo(() => {
|
|
100
|
+
const webTrackTransform = vertical ? trackOffsetPx ? [{
|
|
101
|
+
translateY: trackOffsetPx
|
|
102
|
+
}, {
|
|
103
|
+
translateY: webTranslateYAnim
|
|
104
|
+
}] : [{
|
|
105
|
+
translateY: webTranslateYAnim
|
|
106
|
+
}] : trackOffsetPx ? [{
|
|
107
|
+
translateX: trackOffsetPx
|
|
108
|
+
}, {
|
|
109
|
+
translateX: webTranslateXAnim
|
|
110
|
+
}] : [{
|
|
111
|
+
translateX: webTranslateXAnim
|
|
112
|
+
}];
|
|
113
|
+
const panResponder = (() => {
|
|
117
114
|
if (!isWeb) return null;
|
|
118
115
|
return PanResponder.create({
|
|
119
116
|
onStartShouldSetPanResponder: () => false,
|
|
@@ -171,7 +168,7 @@ export const useSwiperWeb = ({
|
|
|
171
168
|
panLatestRef.current.onDragEnd?.();
|
|
172
169
|
}
|
|
173
170
|
});
|
|
174
|
-
}
|
|
171
|
+
})();
|
|
175
172
|
useEffect(() => {
|
|
176
173
|
return () => {
|
|
177
174
|
cancelWebRaf();
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
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); }
|
|
2
|
-
import React, { useCallback,
|
|
3
|
-
import {
|
|
2
|
+
import React, { useCallback, useState } from 'react';
|
|
3
|
+
import { StyleSheet, View } from 'react-native';
|
|
4
4
|
import { mergeTokensOverride } from '../../design-system';
|
|
5
5
|
import { useControllableValue } from '../../hooks';
|
|
6
6
|
import { createHairlineBorderTop } from '../../utils/hairline';
|
|
7
|
+
import { SafeAreaView } from '../safe-area-view';
|
|
7
8
|
import { TabbarContext } from './TabbarContext';
|
|
8
9
|
import { useTabbarTokens } from './tokens';
|
|
9
10
|
const TabbarBase = props => {
|
|
@@ -33,19 +34,16 @@ const TabbarBase = props => {
|
|
|
33
34
|
const placeholder = placeholderProp ?? tokens.defaults.placeholder;
|
|
34
35
|
const iconSize = iconSizeProp ?? tokens.icon.size;
|
|
35
36
|
const enableSafeAreaInsetBottom = safeAreaInsetBottom ?? fixed;
|
|
36
|
-
const items =
|
|
37
|
-
const firstName =
|
|
37
|
+
const items = React.Children.toArray(children).filter(React.isValidElement);
|
|
38
|
+
const firstName = items.length ? items[0].props.name ?? 0 : undefined;
|
|
38
39
|
const [activeValue, setActiveValue] = useControllableValue(props, {
|
|
39
40
|
defaultValue: firstName,
|
|
40
41
|
valuePropName: 'value',
|
|
41
42
|
defaultValuePropName: 'defaultValue',
|
|
42
43
|
trigger: 'onChange'
|
|
43
44
|
});
|
|
44
|
-
const itemNames =
|
|
45
|
-
const currentName =
|
|
46
|
-
if (activeValue === undefined || activeValue === null) return firstName;
|
|
47
|
-
return itemNames.some(name => name === activeValue) ? activeValue : firstName;
|
|
48
|
-
}, [activeValue, firstName, itemNames]);
|
|
45
|
+
const itemNames = items.map((item, index) => item.props.name ?? index);
|
|
46
|
+
const currentName = activeValue === undefined || activeValue === null ? firstName : itemNames.some(name => name === activeValue) ? activeValue : firstName;
|
|
49
47
|
const [barHeight, setBarHeight] = useState(tokens.layout.height);
|
|
50
48
|
const enablePlaceholder = fixed && placeholder;
|
|
51
49
|
const handleLayout = useCallback(event => {
|
|
@@ -54,15 +52,15 @@ const TabbarBase = props => {
|
|
|
54
52
|
setBarHeight(prev => Math.abs(prev - nextHeight) < 0.5 ? prev : nextHeight);
|
|
55
53
|
}, [enablePlaceholder]);
|
|
56
54
|
const onSelect = useCallback((name, index) => setActiveValue(name, index), [setActiveValue]);
|
|
57
|
-
const contextValue =
|
|
55
|
+
const contextValue = {
|
|
58
56
|
activeValue: currentName,
|
|
59
57
|
activeColor: activeColor ?? tokens.colors.active,
|
|
60
58
|
inactiveColor: inactiveColor ?? tokens.colors.inactive,
|
|
61
59
|
fontSize: tokens.typography.fontSize,
|
|
62
60
|
fontWeight: tokens.typography.fontWeight,
|
|
63
61
|
onSelect
|
|
64
|
-
}
|
|
65
|
-
const clonedChildren =
|
|
62
|
+
};
|
|
63
|
+
const clonedChildren = items.map((item, index) => {
|
|
66
64
|
const name = item.props.name ?? index;
|
|
67
65
|
return /*#__PURE__*/React.cloneElement(item, {
|
|
68
66
|
key: item.key ?? name,
|
|
@@ -71,7 +69,7 @@ const TabbarBase = props => {
|
|
|
71
69
|
iconSize,
|
|
72
70
|
tokensOverride: mergeTokensOverride(tokensOverride, item.props.tokensOverride)
|
|
73
71
|
});
|
|
74
|
-
})
|
|
72
|
+
});
|
|
75
73
|
if (items.length === 0) return null;
|
|
76
74
|
const ContentWrapper = enableSafeAreaInsetBottom ? SafeAreaView : View;
|
|
77
75
|
return /*#__PURE__*/React.createElement(React.Fragment, null, enablePlaceholder && /*#__PURE__*/React.createElement(View, {
|
|
@@ -27,9 +27,6 @@ const TabbarItem = props => {
|
|
|
27
27
|
const tokens = useTabbarTokens(tokensOverride);
|
|
28
28
|
const context = useTabbarContext();
|
|
29
29
|
if (!context) {
|
|
30
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) {
|
|
31
|
-
console.warn('[TabbarItem] 需要作为 Tabbar 的子节点使用。');
|
|
32
|
-
}
|
|
33
30
|
return null;
|
|
34
31
|
}
|
|
35
32
|
const itemName = name ?? index ?? 0;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
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); }
|
|
2
|
-
import React, { memo, useCallback, useEffect, useImperativeHandle,
|
|
2
|
+
import React, { memo, useCallback, useEffect, useImperativeHandle, useRef, useState, Children, isValidElement, Fragment } from 'react';
|
|
3
3
|
import { Animated, Pressable, StyleSheet, Text, ScrollView, View, Platform } from 'react-native';
|
|
4
4
|
import { useAriaPress, useControllableValue } from '../../hooks';
|
|
5
5
|
import { parseNumberLike } from '../../utils/number';
|
|
@@ -119,10 +119,10 @@ const TabBarItemInner = ({
|
|
|
119
119
|
}, ellipsis && !isJumbo ? styles.ellipsis : null, titleStyle],
|
|
120
120
|
numberOfLines: ellipsis && !isJumbo ? 1 : undefined
|
|
121
121
|
}, renderTitle), isRenderable(renderDescription) && (isText(renderDescription) ? /*#__PURE__*/React.createElement(Text, {
|
|
122
|
-
style: [styles.
|
|
122
|
+
style: [styles.descriptionText, isJumbo ? {
|
|
123
123
|
color: descriptionColor,
|
|
124
124
|
fontSize: tokens.typography.descriptionSize,
|
|
125
|
-
marginTop:
|
|
125
|
+
marginTop: tokens.spacing.jumboDescriptionMarginTop,
|
|
126
126
|
textAlign: 'center',
|
|
127
127
|
backgroundColor: isActive ? tokens.colors.jumboDescriptionActiveBackground : tokens.colors.jumboDescriptionBackground,
|
|
128
128
|
paddingHorizontal: tokens.jumbo.descriptionPaddingHorizontal,
|
|
@@ -131,26 +131,29 @@ const TabBarItemInner = ({
|
|
|
131
131
|
} : {
|
|
132
132
|
color: descriptionColor,
|
|
133
133
|
fontSize: tokens.typography.descriptionSize,
|
|
134
|
-
marginTop:
|
|
134
|
+
marginTop: tokens.spacing.descriptionMarginTop,
|
|
135
135
|
textAlign: 'center'
|
|
136
136
|
}, descriptionStyle]
|
|
137
137
|
}, renderDescription) : /*#__PURE__*/React.createElement(View, {
|
|
138
|
-
style: [styles.
|
|
139
|
-
marginTop:
|
|
138
|
+
style: [styles.descriptionView, isJumbo ? {
|
|
139
|
+
marginTop: tokens.spacing.jumboDescriptionMarginTop,
|
|
140
140
|
alignItems: 'center',
|
|
141
141
|
backgroundColor: isActive ? tokens.colors.jumboDescriptionActiveBackground : tokens.colors.jumboDescriptionBackground,
|
|
142
142
|
paddingHorizontal: tokens.jumbo.descriptionPaddingHorizontal,
|
|
143
143
|
paddingVertical: tokens.jumbo.descriptionPaddingVertical,
|
|
144
144
|
borderRadius: tokens.jumbo.descriptionRadius
|
|
145
145
|
} : {
|
|
146
|
-
marginTop:
|
|
146
|
+
marginTop: tokens.spacing.descriptionMarginTop,
|
|
147
147
|
alignItems: 'center'
|
|
148
148
|
}]
|
|
149
149
|
}, renderDescription)), isRenderable(pane.badge) && /*#__PURE__*/React.createElement(View, {
|
|
150
|
-
style: styles.badge
|
|
150
|
+
style: [styles.badge, {
|
|
151
|
+
marginTop: tokens.spacing.badgeMarginTop
|
|
152
|
+
}]
|
|
151
153
|
}, isText(pane.badge) ? /*#__PURE__*/React.createElement(Text, {
|
|
152
154
|
style: [styles.badgeText, {
|
|
153
|
-
color: tokens.colors.badgeText
|
|
155
|
+
color: tokens.colors.badgeText,
|
|
156
|
+
fontSize: tokens.typography.badgeTextSize
|
|
154
157
|
}]
|
|
155
158
|
}, pane.badge) : pane.badge)));
|
|
156
159
|
};
|
|
@@ -212,7 +215,7 @@ const TabsBaseInner = (props, ref) => {
|
|
|
212
215
|
preventScroll: true
|
|
213
216
|
};
|
|
214
217
|
const isSwipeable = !!swipeableConfig;
|
|
215
|
-
const panes =
|
|
218
|
+
const panes = (() => {
|
|
216
219
|
const result = [];
|
|
217
220
|
let paneIndex = 0;
|
|
218
221
|
const walk = nodes => {
|
|
@@ -224,11 +227,6 @@ const TabsBaseInner = (props, ref) => {
|
|
|
224
227
|
return;
|
|
225
228
|
}
|
|
226
229
|
if (!isTabPaneElement(element)) {
|
|
227
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) {
|
|
228
|
-
const type = element.type;
|
|
229
|
-
const childName = typeof type === 'string' ? type : type.displayName ?? type.name ?? 'Unknown';
|
|
230
|
-
console.warn('[Tabs] children 只能是 <Tabs.TabPane />,已忽略:', childName);
|
|
231
|
-
}
|
|
232
230
|
return;
|
|
233
231
|
}
|
|
234
232
|
const paneProps = element.props;
|
|
@@ -244,7 +242,7 @@ const TabsBaseInner = (props, ref) => {
|
|
|
244
242
|
};
|
|
245
243
|
walk(children);
|
|
246
244
|
return result;
|
|
247
|
-
}
|
|
245
|
+
})();
|
|
248
246
|
const firstPaneName = panes[0]?.name;
|
|
249
247
|
const [activeValue, setActiveValue] = useControllableValue(props, {
|
|
250
248
|
defaultValue: firstPaneName,
|
|
@@ -257,13 +255,13 @@ const TabsBaseInner = (props, ref) => {
|
|
|
257
255
|
useEffect(() => {
|
|
258
256
|
currentNameRef.current = currentName;
|
|
259
257
|
}, [currentName]);
|
|
260
|
-
const nameIndexMap =
|
|
258
|
+
const nameIndexMap = (() => {
|
|
261
259
|
const map = new Map();
|
|
262
260
|
panes.forEach(pane => {
|
|
263
261
|
map.set(pane.name, pane.index);
|
|
264
262
|
});
|
|
265
263
|
return map;
|
|
266
|
-
}
|
|
264
|
+
})();
|
|
267
265
|
const activeIndex = currentName == null ? -1 : nameIndexMap.get(currentName) ?? -1;
|
|
268
266
|
const visitedRef = useRef(new Set());
|
|
269
267
|
useEffect(() => {
|
|
@@ -312,12 +310,7 @@ const TabsBaseInner = (props, ref) => {
|
|
|
312
310
|
navContentSizeSyncFrameRef.current = null;
|
|
313
311
|
};
|
|
314
312
|
}, []);
|
|
315
|
-
const scrollable =
|
|
316
|
-
if (isBoolean(scrollableProp)) {
|
|
317
|
-
return scrollableProp;
|
|
318
|
-
}
|
|
319
|
-
return panes.length > resolvedSwipeThreshold || ellipsis === false;
|
|
320
|
-
}, [ellipsis, panes.length, resolvedSwipeThreshold, scrollableProp]);
|
|
313
|
+
const scrollable = isBoolean(scrollableProp) ? scrollableProp : panes.length > resolvedSwipeThreshold || ellipsis === false;
|
|
321
314
|
const indicatorColor = color ?? tokens.colors.indicator;
|
|
322
315
|
const indicatorCornerRadius = resolvedLineHeight ? resolvedLineHeight / 2 : tokens.indicator.radius;
|
|
323
316
|
const {
|
|
@@ -386,12 +379,8 @@ const TabsBaseInner = (props, ref) => {
|
|
|
386
379
|
const runBeforeChange = useCallback(name => {
|
|
387
380
|
if (!beforeChange) return Promise.resolve(true);
|
|
388
381
|
try {
|
|
389
|
-
return Promise.resolve(beforeChange(name)).then(res => res !== false).catch(
|
|
390
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) console.warn('[Tabs] beforeChange 抛出异常:', error);
|
|
391
|
-
return false;
|
|
392
|
-
});
|
|
382
|
+
return Promise.resolve(beforeChange(name)).then(res => res !== false).catch(() => false);
|
|
393
383
|
} catch (error) {
|
|
394
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) console.warn('[Tabs] beforeChange 抛出异常:', error);
|
|
395
384
|
return Promise.resolve(false);
|
|
396
385
|
}
|
|
397
386
|
}, [beforeChange]);
|
|
@@ -490,15 +479,7 @@ const TabsBaseInner = (props, ref) => {
|
|
|
490
479
|
}, [currentName, scrollIntoView]);
|
|
491
480
|
const borderEnabled = border ?? false;
|
|
492
481
|
const showIndicator = type === 'line';
|
|
493
|
-
const navHeight =
|
|
494
|
-
if (type === 'jumbo') {
|
|
495
|
-
return tokens.jumbo.height;
|
|
496
|
-
}
|
|
497
|
-
if (type === 'card') {
|
|
498
|
-
return tokens.card.height;
|
|
499
|
-
}
|
|
500
|
-
return tokens.tabList.height;
|
|
501
|
-
}, [type, tokens]);
|
|
482
|
+
const navHeight = type === 'jumbo' ? tokens.jumbo.height : type === 'card' ? tokens.card.height : tokens.tabList.height;
|
|
502
483
|
const navPaddingBottom = Platform.OS === 'web' && type !== 'line' && type !== 'card' ? tokens.tabList.paddingBottom : 0;
|
|
503
484
|
const indicatorBottom = showIndicator ? type === 'line' ? 0 : tokens.indicator.offset : 0;
|
|
504
485
|
if (panes.length === 0) {
|
|
@@ -572,7 +553,9 @@ const TabsBaseInner = (props, ref) => {
|
|
|
572
553
|
backgroundColor: background
|
|
573
554
|
}, tabBarStyle]
|
|
574
555
|
}, navLeft && /*#__PURE__*/React.createElement(View, {
|
|
575
|
-
style: styles.navSide
|
|
556
|
+
style: [styles.navSide, {
|
|
557
|
+
paddingHorizontal: tokens.spacing.navSidePaddingHorizontal
|
|
558
|
+
}]
|
|
576
559
|
}, navLeft), /*#__PURE__*/React.createElement(View, {
|
|
577
560
|
style: [styles.nav, {
|
|
578
561
|
minHeight: navHeight + navPaddingBottom,
|
|
@@ -586,7 +569,9 @@ const TabsBaseInner = (props, ref) => {
|
|
|
586
569
|
} : null],
|
|
587
570
|
onLayout: handleNavContainerLayout
|
|
588
571
|
}, navBody), navRight && /*#__PURE__*/React.createElement(View, {
|
|
589
|
-
style: styles.navSide
|
|
572
|
+
style: [styles.navSide, {
|
|
573
|
+
paddingHorizontal: tokens.spacing.navSidePaddingHorizontal
|
|
574
|
+
}]
|
|
590
575
|
}, navRight));
|
|
591
576
|
const paneNodes = panes.map(pane => {
|
|
592
577
|
const isActive = pane.name === currentName;
|
|
@@ -629,7 +614,9 @@ const TabsBaseInner = (props, ref) => {
|
|
|
629
614
|
style: [styles.container, style],
|
|
630
615
|
onLayout: handleContainerLayout
|
|
631
616
|
}), navContent, navBottom && /*#__PURE__*/React.createElement(View, {
|
|
632
|
-
style: styles.navBottom
|
|
617
|
+
style: [styles.navBottom, {
|
|
618
|
+
marginTop: tokens.spacing.navBottomMarginTop
|
|
619
|
+
}]
|
|
633
620
|
}, navBottom), contentNode);
|
|
634
621
|
};
|
|
635
622
|
const styles = StyleSheet.create({
|
|
@@ -655,12 +642,8 @@ const styles = StyleSheet.create({
|
|
|
655
642
|
navContentStatic: {
|
|
656
643
|
flex: 1
|
|
657
644
|
},
|
|
658
|
-
navSide: {
|
|
659
|
-
|
|
660
|
-
},
|
|
661
|
-
navBottom: {
|
|
662
|
-
marginTop: 8
|
|
663
|
-
},
|
|
645
|
+
navSide: {},
|
|
646
|
+
navBottom: {},
|
|
664
647
|
labelWrapper: {
|
|
665
648
|
justifyContent: 'center',
|
|
666
649
|
alignItems: 'center',
|
|
@@ -688,20 +671,16 @@ const styles = StyleSheet.create({
|
|
|
688
671
|
title: {
|
|
689
672
|
includeFontPadding: false
|
|
690
673
|
},
|
|
691
|
-
|
|
692
|
-
marginTop: 2,
|
|
674
|
+
descriptionText: {
|
|
693
675
|
includeFontPadding: false
|
|
694
676
|
},
|
|
677
|
+
descriptionView: {},
|
|
695
678
|
ellipsis: {
|
|
696
679
|
maxWidth: '100%',
|
|
697
680
|
flexShrink: 1
|
|
698
681
|
},
|
|
699
|
-
badge: {
|
|
700
|
-
|
|
701
|
-
},
|
|
702
|
-
badgeText: {
|
|
703
|
-
fontSize: 10
|
|
704
|
-
},
|
|
682
|
+
badge: {},
|
|
683
|
+
badgeText: {},
|
|
705
684
|
indicator: {
|
|
706
685
|
position: 'absolute',
|
|
707
686
|
bottom: 0,
|
|
@@ -61,7 +61,15 @@ const createTokens = foundations => {
|
|
|
61
61
|
titleActiveWeight: foundations.typography.weight.semiBold,
|
|
62
62
|
descriptionSize: fontSize.xs,
|
|
63
63
|
jumboTitleSize: fontSize.md,
|
|
64
|
-
jumboLineHeight: Math.round(fontSize.md * 1.6)
|
|
64
|
+
jumboLineHeight: Math.round(fontSize.md * 1.6),
|
|
65
|
+
badgeTextSize: fontSize.xxs
|
|
66
|
+
},
|
|
67
|
+
spacing: {
|
|
68
|
+
navSidePaddingHorizontal: spacing.sm,
|
|
69
|
+
navBottomMarginTop: spacing.sm,
|
|
70
|
+
descriptionMarginTop: spacing.xxs,
|
|
71
|
+
jumboDescriptionMarginTop: spacing.sm,
|
|
72
|
+
badgeMarginTop: spacing.xs
|
|
65
73
|
},
|
|
66
74
|
indicator: {
|
|
67
75
|
height: 3,
|
|
@@ -69,7 +69,11 @@ export const useTabsScroll = ({
|
|
|
69
69
|
const listenerId = navScrollX.addListener(({
|
|
70
70
|
value
|
|
71
71
|
}) => {
|
|
72
|
+
const prev = navLastScrollXRef.current;
|
|
72
73
|
navLastScrollXRef.current = value;
|
|
74
|
+
if (Math.abs(value - prev) < 0.5) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
73
77
|
navScrollRef.current?.scrollTo({
|
|
74
78
|
x: value,
|
|
75
79
|
y: 0,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
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); }
|
|
2
2
|
import React, { useEffect, useRef } from 'react';
|
|
3
|
-
import { Animated, Pressable,
|
|
3
|
+
import { Animated, Pressable, StyleSheet, Text, View, useWindowDimensions } from 'react-native';
|
|
4
4
|
import Portal from '../portal/Portal';
|
|
5
|
+
import { SafeAreaView } from '../safe-area-view';
|
|
5
6
|
import { useAriaPress } from '../../hooks';
|
|
6
7
|
import { usePresenceAnimation } from '../../hooks/usePresenceAnimation';
|
|
7
8
|
import Loading from '../loading';
|
|
@@ -57,7 +58,7 @@ export const Toast = props => {
|
|
|
57
58
|
});
|
|
58
59
|
const prevVisibleRef = useRef(visible);
|
|
59
60
|
const closingRef = useRef(false);
|
|
60
|
-
const positionOffset = windowHeight > 0 ? Math.round(windowHeight *
|
|
61
|
+
const positionOffset = windowHeight > 0 ? Math.round(windowHeight * tokens.positionOffsetRatio) : tokens.positionOffsetMin;
|
|
61
62
|
const needsSafeAreaTop = safeAreaInsetTopProp !== undefined ? safeAreaInsetTopProp : position === 'top';
|
|
62
63
|
const needsSafeAreaBottom = safeAreaInsetBottomProp !== undefined ? safeAreaInsetBottomProp : position === 'bottom';
|
|
63
64
|
const positionStyle = position === 'top' ? {
|
|
@@ -158,7 +159,7 @@ export const Toast = props => {
|
|
|
158
159
|
};
|
|
159
160
|
const toastStyle = {
|
|
160
161
|
borderRadius: tokens.radius,
|
|
161
|
-
opacity: closeOnClick && toastPress.states.pressed ?
|
|
162
|
+
opacity: closeOnClick && toastPress.states.pressed ? tokens.pressedOpacity : animated,
|
|
162
163
|
backgroundColor: tokens.colors.variants[type],
|
|
163
164
|
maxWidth: tokens.maxWidth,
|
|
164
165
|
...boxStyle
|
|
@@ -166,13 +167,17 @@ export const Toast = props => {
|
|
|
166
167
|
if (!mounted) return null;
|
|
167
168
|
const hasMessage = message !== undefined && message !== null && message !== false && message !== '';
|
|
168
169
|
return /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(View, {
|
|
169
|
-
style: [styles.backdrop,
|
|
170
|
+
style: [styles.backdrop, {
|
|
171
|
+
backgroundColor: tokens.colors.transparent
|
|
172
|
+
}, positionStyle, stackZIndex ? {
|
|
170
173
|
zIndex: stackZIndex
|
|
171
174
|
} : undefined],
|
|
172
175
|
pointerEvents: forbidClick || overlay || closeOnClick ? 'auto' : 'none'
|
|
173
176
|
}, overlay || forbidClick ? /*#__PURE__*/React.createElement(Pressable, {
|
|
174
177
|
testID: "rv-toast-overlay",
|
|
175
|
-
style: [styles.overlay,
|
|
178
|
+
style: [styles.overlay, {
|
|
179
|
+
backgroundColor: tokens.colors.transparent
|
|
180
|
+
}, overlay && {
|
|
176
181
|
backgroundColor: colors.backdrop
|
|
177
182
|
}, overlayStyle],
|
|
178
183
|
pointerEvents: "auto",
|
|
@@ -180,9 +185,7 @@ export const Toast = props => {
|
|
|
180
185
|
onStartShouldSetResponder: () => true,
|
|
181
186
|
onMoveShouldSetResponder: () => true
|
|
182
187
|
}) : null, needsSafeAreaTop && /*#__PURE__*/React.createElement(SafeAreaView, {
|
|
183
|
-
|
|
184
|
-
width: '100%'
|
|
185
|
-
},
|
|
188
|
+
edge: "top",
|
|
186
189
|
pointerEvents: "none"
|
|
187
190
|
}), /*#__PURE__*/React.createElement(Pressable, _extends({
|
|
188
191
|
disabled: !closeOnClick
|
|
@@ -203,21 +206,17 @@ export const Toast = props => {
|
|
|
203
206
|
alignItems: 'center'
|
|
204
207
|
}
|
|
205
208
|
}, message) : null)), needsSafeAreaBottom && /*#__PURE__*/React.createElement(SafeAreaView, {
|
|
206
|
-
|
|
207
|
-
width: '100%'
|
|
208
|
-
},
|
|
209
|
+
edge: "bottom",
|
|
209
210
|
pointerEvents: "none"
|
|
210
211
|
})));
|
|
211
212
|
};
|
|
212
213
|
const styles = StyleSheet.create({
|
|
213
214
|
backdrop: {
|
|
214
215
|
flex: 1,
|
|
215
|
-
alignItems: 'center'
|
|
216
|
-
backgroundColor: 'transparent'
|
|
216
|
+
alignItems: 'center'
|
|
217
217
|
},
|
|
218
218
|
overlay: {
|
|
219
|
-
...StyleSheet.absoluteFillObject
|
|
220
|
-
backgroundColor: 'transparent'
|
|
219
|
+
...StyleSheet.absoluteFillObject
|
|
221
220
|
},
|
|
222
221
|
toast: {
|
|
223
222
|
alignItems: 'center',
|
|
@@ -11,7 +11,8 @@ export const createToastTokens = foundations => {
|
|
|
11
11
|
success: backdrop,
|
|
12
12
|
fail: backdrop,
|
|
13
13
|
loading: backdrop
|
|
14
|
-
}
|
|
14
|
+
},
|
|
15
|
+
transparent: 'transparent'
|
|
15
16
|
},
|
|
16
17
|
fontSize: foundations.fontSize.sm,
|
|
17
18
|
lineHeight: Math.round(foundations.fontSize.sm * foundations.typography.lineHeightMultiplier),
|
|
@@ -25,6 +26,9 @@ export const createToastTokens = foundations => {
|
|
|
25
26
|
defaultPadding: foundations.spacing.lg,
|
|
26
27
|
defaultWidth: 88,
|
|
27
28
|
defaultMinHeight: 88,
|
|
29
|
+
pressedOpacity: 0.85,
|
|
30
|
+
positionOffsetRatio: 0.2,
|
|
31
|
+
positionOffsetMin: 60,
|
|
28
32
|
animationDuration: 160
|
|
29
33
|
};
|
|
30
34
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
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); }
|
|
2
|
-
import React, { useCallback,
|
|
2
|
+
import React, { useCallback, useState } from 'react';
|
|
3
3
|
import { Linking, Text, View } from 'react-native';
|
|
4
4
|
import { isBoolean, isNumber, isPlainObject } from '../../utils';
|
|
5
5
|
import { isWeb as isWebPlatform } from '../../platform';
|
|
@@ -54,21 +54,18 @@ const TypographyTextBaseInner = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
54
54
|
}
|
|
55
55
|
const fontSize = level ? tokens.sizing.titles[level].fontSize : tokens.sizing.sizes[size];
|
|
56
56
|
const lineHeight = level ? tokens.sizing.titles[level].lineHeight : fontSize * tokens.sizing.lineHeightMultiplier;
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
};
|
|
70
|
-
return [computedStyle, style];
|
|
71
|
-
}, [resolvedColor, fontSize, lineHeight, tokens.typography.fontFamily, tokens.opacity.disabled, tokens.typography.weight.regular, tokens.typography.weight.strong, strong, center, disabled, underline, deleted, style]);
|
|
57
|
+
const textDecorationLine = underline && deleted ? 'underline line-through' : underline ? 'underline' : deleted ? 'line-through' : undefined;
|
|
58
|
+
const baseStyle = [{
|
|
59
|
+
color: resolvedColor,
|
|
60
|
+
fontSize,
|
|
61
|
+
lineHeight,
|
|
62
|
+
fontFamily: tokens.typography.fontFamily,
|
|
63
|
+
fontWeight: strong ? tokens.typography.weight.strong : tokens.typography.weight.regular,
|
|
64
|
+
includeFontPadding: false,
|
|
65
|
+
textDecorationLine,
|
|
66
|
+
textAlign: center ? 'center' : undefined,
|
|
67
|
+
opacity: disabled ? tokens.opacity.disabled : 1
|
|
68
|
+
}, style];
|
|
72
69
|
const hasActionText = !!ellipsisConfig && (ellipsisConfig.expandText || ellipsisConfig.collapseText);
|
|
73
70
|
const shouldShowAction = hasActionText && (isTruncated || expanded || isWeb);
|
|
74
71
|
const handleToggleEllipsis = useCallback(() => {
|
|
@@ -79,21 +76,15 @@ const TypographyTextBaseInner = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
79
76
|
return next;
|
|
80
77
|
});
|
|
81
78
|
}, [ellipsisConfig]);
|
|
82
|
-
const actionLabel =
|
|
83
|
-
|
|
84
|
-
return expanded ? ellipsisConfig.collapseText ?? ellipsisConfig.expandText : ellipsisConfig.expandText ?? ellipsisConfig.collapseText;
|
|
85
|
-
}, [ellipsisConfig, expanded]);
|
|
86
|
-
const actionTextStyle = useMemo(() => ({
|
|
79
|
+
const actionLabel = !ellipsisConfig ? undefined : expanded ? ellipsisConfig.collapseText ?? ellipsisConfig.expandText : ellipsisConfig.expandText ?? ellipsisConfig.collapseText;
|
|
80
|
+
const actionTextStyle = {
|
|
87
81
|
color: tokens.colors.primary,
|
|
88
82
|
fontSize: tokens.sizing.sizes.sm,
|
|
89
83
|
fontWeight: tokens.typography.weight.medium,
|
|
90
84
|
marginLeft: tokens.sizing.actionMarginLeft,
|
|
91
85
|
includeFontPadding: false
|
|
92
|
-
}
|
|
93
|
-
const textStyle =
|
|
94
|
-
if (!shouldShowAction) return baseStyle;
|
|
95
|
-
return [baseStyle, FLEX_SHRINK_STYLE];
|
|
96
|
-
}, [shouldShowAction, baseStyle]);
|
|
86
|
+
};
|
|
87
|
+
const textStyle = shouldShowAction ? [baseStyle, FLEX_SHRINK_STYLE] : baseStyle;
|
|
97
88
|
const textNode = /*#__PURE__*/React.createElement(Text, _extends({
|
|
98
89
|
ref: ref,
|
|
99
90
|
style: textStyle,
|
|
@@ -151,11 +142,7 @@ const TypographyLink = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
151
142
|
if (href) {
|
|
152
143
|
try {
|
|
153
144
|
await Linking.openURL(href);
|
|
154
|
-
} catch
|
|
155
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) {
|
|
156
|
-
console.warn('[Typography.Link] Failed to open url', error);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
145
|
+
} catch {}
|
|
159
146
|
}
|
|
160
147
|
}, [onPress, href]);
|
|
161
148
|
return /*#__PURE__*/React.createElement(TypographyTextBase, _extends({
|