@oxyhq/bloom 0.50.1 → 0.51.0
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/NOTICE +89 -0
- package/README.md +12 -7
- package/lib/commonjs/avatar-group/AvatarGroup.web.js +2 -1
- package/lib/commonjs/avatar-group/AvatarGroup.web.js.map +1 -1
- package/lib/commonjs/bottom-sheet/index.web.js +5 -3
- package/lib/commonjs/bottom-sheet/index.web.js.map +1 -1
- package/lib/commonjs/context-menu/index.web.js +6 -9
- package/lib/commonjs/context-menu/index.web.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.js +12 -7
- package/lib/commonjs/dialog/Dialog.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.web.js +18 -22
- package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
- package/lib/commonjs/dialog/DialogHeader.js +61 -12
- package/lib/commonjs/dialog/DialogHeader.js.map +1 -1
- package/lib/commonjs/index.js +90 -83
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +116 -109
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/menu/index.web.js +5 -8
- package/lib/commonjs/menu/index.web.js.map +1 -1
- package/lib/commonjs/popover/index.web.js +8 -9
- package/lib/commonjs/popover/index.web.js.map +1 -1
- package/lib/commonjs/portal/index.js +4 -1
- package/lib/commonjs/portal/index.js.map +1 -1
- package/lib/commonjs/progressive-blur/index.js +79 -0
- package/lib/commonjs/progressive-blur/index.js.map +1 -0
- package/lib/commonjs/progressive-blur/index.web.js +67 -0
- package/lib/commonjs/progressive-blur/index.web.js.map +1 -0
- package/lib/commonjs/progressive-blur/shared.js +66 -0
- package/lib/commonjs/progressive-blur/shared.js.map +1 -0
- package/lib/commonjs/progressive-blur/types.js +6 -0
- package/lib/commonjs/progressive-blur/types.js.map +1 -0
- package/lib/commonjs/select/index.web.js +5 -8
- package/lib/commonjs/select/index.web.js.map +1 -1
- package/lib/commonjs/slider/Slider.js +4 -9
- package/lib/commonjs/slider/Slider.js.map +1 -1
- package/lib/commonjs/styles/web-view-style.js +26 -0
- package/lib/commonjs/styles/web-view-style.js.map +1 -0
- package/lib/commonjs/switch/Switch.js +4 -8
- package/lib/commonjs/switch/Switch.js.map +1 -1
- package/lib/commonjs/tab-bar/TabBarBase.js +415 -0
- package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -0
- package/lib/commonjs/tab-bar/expo-router/RouterTabBar.js +83 -0
- package/lib/commonjs/tab-bar/expo-router/RouterTabBar.js.map +1 -0
- package/lib/commonjs/tab-bar/expo-router/fading-tab-screen.js +119 -0
- package/lib/commonjs/tab-bar/expo-router/fading-tab-screen.js.map +1 -0
- package/lib/commonjs/tab-bar/expo-router/index.js +26 -0
- package/lib/commonjs/tab-bar/expo-router/index.js.map +1 -0
- package/lib/commonjs/tab-bar/glyph.js +43 -0
- package/lib/commonjs/tab-bar/glyph.js.map +1 -0
- package/lib/commonjs/tab-bar/glyph.native.js +55 -0
- package/lib/commonjs/tab-bar/glyph.native.js.map +1 -0
- package/lib/commonjs/tab-bar/index.js +65 -0
- package/lib/commonjs/tab-bar/index.js.map +1 -0
- package/lib/commonjs/tab-bar/index.web.js +67 -0
- package/lib/commonjs/tab-bar/index.web.js.map +1 -0
- package/lib/commonjs/tab-bar/minimize-context.js +127 -0
- package/lib/commonjs/tab-bar/minimize-context.js.map +1 -0
- package/lib/commonjs/tab-bar/shared.js +139 -0
- package/lib/commonjs/tab-bar/shared.js.map +1 -0
- package/lib/commonjs/tab-bar/surface.js +50 -0
- package/lib/commonjs/tab-bar/surface.js.map +1 -0
- package/lib/commonjs/tab-bar/surface.native.js +56 -0
- package/lib/commonjs/tab-bar/surface.native.js.map +1 -0
- package/lib/commonjs/tab-bar/surface.web.js +59 -0
- package/lib/commonjs/tab-bar/surface.web.js.map +1 -0
- package/lib/commonjs/tab-bar/types.js +6 -0
- package/lib/commonjs/tab-bar/types.js.map +1 -0
- package/lib/commonjs/tabs/Tabs.js +3 -8
- package/lib/commonjs/tabs/Tabs.js.map +1 -1
- package/lib/commonjs/toast/Positioner.js +117 -0
- package/lib/commonjs/toast/Positioner.js.map +1 -0
- package/lib/commonjs/toast/ToastContent.js +301 -0
- package/lib/commonjs/toast/ToastContent.js.map +1 -0
- package/lib/commonjs/toast/ToastHost.js +69 -0
- package/lib/commonjs/toast/ToastHost.js.map +1 -0
- package/lib/commonjs/toast/ToastHost.native.js +44 -0
- package/lib/commonjs/toast/ToastHost.native.js.map +1 -0
- package/lib/commonjs/toast/ToastIcon.js +57 -0
- package/lib/commonjs/toast/ToastIcon.js.map +1 -0
- package/lib/commonjs/toast/ToastRow.js +411 -0
- package/lib/commonjs/toast/ToastRow.js.map +1 -0
- package/lib/commonjs/toast/ToastSwipeHandler.js +189 -0
- package/lib/commonjs/toast/ToastSwipeHandler.js.map +1 -0
- package/lib/commonjs/toast/Toaster.js +205 -0
- package/lib/commonjs/toast/Toaster.js.map +1 -0
- package/lib/commonjs/toast/animations.js +274 -0
- package/lib/commonjs/toast/animations.js.map +1 -0
- package/lib/commonjs/toast/constants.js +56 -0
- package/lib/commonjs/toast/constants.js.map +1 -0
- package/lib/commonjs/toast/context.js +42 -0
- package/lib/commonjs/toast/context.js.map +1 -0
- package/lib/commonjs/toast/index.js +32 -126
- package/lib/commonjs/toast/index.js.map +1 -1
- package/lib/commonjs/toast/position-utils.js +115 -0
- package/lib/commonjs/toast/position-utils.js.map +1 -0
- package/lib/commonjs/toast/positioner-utils.js +141 -0
- package/lib/commonjs/toast/positioner-utils.js.map +1 -0
- package/lib/commonjs/toast/toast-comparator.js +28 -0
- package/lib/commonjs/toast/toast-comparator.js.map +1 -0
- package/lib/commonjs/toast/toast-fns.js +90 -0
- package/lib/commonjs/toast/toast-fns.js.map +1 -0
- package/lib/commonjs/toast/toast-store.js +352 -0
- package/lib/commonjs/toast/toast-store.js.map +1 -0
- package/lib/commonjs/toast/toast-timers.js +110 -0
- package/lib/commonjs/toast/toast-timers.js.map +1 -0
- package/lib/commonjs/toast/types.js +42 -0
- package/lib/commonjs/toast/types.js.map +1 -1
- package/lib/commonjs/toast/use-animated-target.js +57 -0
- package/lib/commonjs/toast/use-animated-target.js.map +1 -0
- package/lib/commonjs/toast/use-app-state.js +76 -0
- package/lib/commonjs/toast/use-app-state.js.map +1 -0
- package/lib/commonjs/toast/use-toast-colors.js +114 -0
- package/lib/commonjs/toast/use-toast-colors.js.map +1 -0
- package/lib/commonjs/toast/use-toast-position.js +40 -0
- package/lib/commonjs/toast/use-toast-position.js.map +1 -0
- package/lib/commonjs/tooltip/index.web.js +2 -1
- package/lib/commonjs/tooltip/index.web.js.map +1 -1
- package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js +20 -8
- package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
- package/lib/module/avatar-group/AvatarGroup.web.js +2 -1
- package/lib/module/avatar-group/AvatarGroup.web.js.map +1 -1
- package/lib/module/bottom-sheet/index.web.js +5 -3
- package/lib/module/bottom-sheet/index.web.js.map +1 -1
- package/lib/module/context-menu/index.web.js +6 -9
- package/lib/module/context-menu/index.web.js.map +1 -1
- package/lib/module/dialog/Dialog.js +12 -7
- package/lib/module/dialog/Dialog.js.map +1 -1
- package/lib/module/dialog/Dialog.web.js +18 -22
- package/lib/module/dialog/Dialog.web.js.map +1 -1
- package/lib/module/dialog/DialogHeader.js +61 -12
- package/lib/module/dialog/DialogHeader.js.map +1 -1
- package/lib/module/index.js +3 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +3 -2
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/menu/index.web.js +5 -8
- package/lib/module/menu/index.web.js.map +1 -1
- package/lib/module/popover/index.web.js +8 -9
- package/lib/module/popover/index.web.js.map +1 -1
- package/lib/module/portal/index.js +4 -1
- package/lib/module/portal/index.js.map +1 -1
- package/lib/module/progressive-blur/index.js +74 -0
- package/lib/module/progressive-blur/index.js.map +1 -0
- package/lib/module/progressive-blur/index.web.js +62 -0
- package/lib/module/progressive-blur/index.web.js.map +1 -0
- package/lib/module/progressive-blur/shared.js +60 -0
- package/lib/module/progressive-blur/shared.js.map +1 -0
- package/lib/module/progressive-blur/types.js +4 -0
- package/lib/module/progressive-blur/types.js.map +1 -0
- package/lib/module/select/index.web.js +5 -8
- package/lib/module/select/index.web.js.map +1 -1
- package/lib/module/slider/Slider.js +4 -9
- package/lib/module/slider/Slider.js.map +1 -1
- package/lib/module/styles/web-view-style.js +22 -0
- package/lib/module/styles/web-view-style.js.map +1 -0
- package/lib/module/switch/Switch.js +4 -8
- package/lib/module/switch/Switch.js.map +1 -1
- package/lib/module/tab-bar/TabBarBase.js +408 -0
- package/lib/module/tab-bar/TabBarBase.js.map +1 -0
- package/lib/module/tab-bar/expo-router/RouterTabBar.js +78 -0
- package/lib/module/tab-bar/expo-router/RouterTabBar.js.map +1 -0
- package/lib/module/tab-bar/expo-router/fading-tab-screen.js +113 -0
- package/lib/module/tab-bar/expo-router/fading-tab-screen.js.map +1 -0
- package/lib/module/tab-bar/expo-router/index.js +15 -0
- package/lib/module/tab-bar/expo-router/index.js.map +1 -0
- package/lib/module/tab-bar/glyph.js +38 -0
- package/lib/module/tab-bar/glyph.js.map +1 -0
- package/lib/module/tab-bar/glyph.native.js +50 -0
- package/lib/module/tab-bar/glyph.native.js.map +1 -0
- package/lib/module/tab-bar/index.js +24 -0
- package/lib/module/tab-bar/index.js.map +1 -0
- package/lib/module/tab-bar/index.web.js +26 -0
- package/lib/module/tab-bar/index.web.js.map +1 -0
- package/lib/module/tab-bar/minimize-context.js +118 -0
- package/lib/module/tab-bar/minimize-context.js.map +1 -0
- package/lib/module/tab-bar/shared.js +132 -0
- package/lib/module/tab-bar/shared.js.map +1 -0
- package/lib/module/tab-bar/surface.js +44 -0
- package/lib/module/tab-bar/surface.js.map +1 -0
- package/lib/module/tab-bar/surface.native.js +50 -0
- package/lib/module/tab-bar/surface.native.js.map +1 -0
- package/lib/module/tab-bar/surface.web.js +53 -0
- package/lib/module/tab-bar/surface.web.js.map +1 -0
- package/lib/module/tab-bar/types.js +4 -0
- package/lib/module/tab-bar/types.js.map +1 -0
- package/lib/module/tabs/Tabs.js +3 -8
- package/lib/module/tabs/Tabs.js.map +1 -1
- package/lib/module/toast/Positioner.js +110 -0
- package/lib/module/toast/Positioner.js.map +1 -0
- package/lib/module/toast/ToastContent.js +295 -0
- package/lib/module/toast/ToastContent.js.map +1 -0
- package/lib/module/toast/ToastHost.js +63 -0
- package/lib/module/toast/ToastHost.js.map +1 -0
- package/lib/module/toast/ToastHost.native.js +38 -0
- package/lib/module/toast/ToastHost.native.js.map +1 -0
- package/lib/module/toast/ToastIcon.js +52 -0
- package/lib/module/toast/ToastIcon.js.map +1 -0
- package/lib/module/toast/ToastRow.js +407 -0
- package/lib/module/toast/ToastRow.js.map +1 -0
- package/lib/module/toast/ToastSwipeHandler.js +182 -0
- package/lib/module/toast/ToastSwipeHandler.js.map +1 -0
- package/lib/module/toast/Toaster.js +198 -0
- package/lib/module/toast/Toaster.js.map +1 -0
- package/lib/module/toast/animations.js +261 -0
- package/lib/module/toast/animations.js.map +1 -0
- package/lib/module/toast/constants.js +52 -0
- package/lib/module/toast/constants.js.map +1 -0
- package/lib/module/toast/context.js +34 -0
- package/lib/module/toast/context.js.map +1 -0
- package/lib/module/toast/index.js +27 -103
- package/lib/module/toast/index.js.map +1 -1
- package/lib/module/toast/position-utils.js +107 -0
- package/lib/module/toast/position-utils.js.map +1 -0
- package/lib/module/toast/positioner-utils.js +134 -0
- package/lib/module/toast/positioner-utils.js.map +1 -0
- package/lib/module/toast/toast-comparator.js +22 -0
- package/lib/module/toast/toast-comparator.js.map +1 -0
- package/lib/module/toast/toast-fns.js +85 -0
- package/lib/module/toast/toast-fns.js.map +1 -0
- package/lib/module/toast/toast-store.js +346 -0
- package/lib/module/toast/toast-store.js.map +1 -0
- package/lib/module/toast/toast-timers.js +104 -0
- package/lib/module/toast/toast-timers.js.map +1 -0
- package/lib/module/toast/types.js +38 -0
- package/lib/module/toast/types.js.map +1 -1
- package/lib/module/toast/use-animated-target.js +52 -0
- package/lib/module/toast/use-animated-target.js.map +1 -0
- package/lib/module/toast/use-app-state.js +70 -0
- package/lib/module/toast/use-app-state.js.map +1 -0
- package/lib/module/toast/use-toast-colors.js +109 -0
- package/lib/module/toast/use-toast-colors.js.map +1 -0
- package/lib/module/toast/use-toast-position.js +35 -0
- package/lib/module/toast/use-toast-position.js.map +1 -0
- package/lib/module/tooltip/index.web.js +2 -1
- package/lib/module/tooltip/index.web.js.map +1 -1
- package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js +20 -8
- package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
- package/lib/typescript/commonjs/avatar-group/AvatarGroup.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/bottom-sheet/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/context-menu/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/DialogHeader.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +2 -1
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/menu/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/popover/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/portal/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/progressive-blur/index.d.ts +23 -0
- package/lib/typescript/commonjs/progressive-blur/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/progressive-blur/index.web.d.ts +30 -0
- package/lib/typescript/commonjs/progressive-blur/index.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/progressive-blur/shared.d.ts +35 -0
- package/lib/typescript/commonjs/progressive-blur/shared.d.ts.map +1 -0
- package/lib/typescript/commonjs/progressive-blur/types.d.ts +21 -0
- package/lib/typescript/commonjs/progressive-blur/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/select/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/slider/Slider.d.ts.map +1 -1
- package/lib/typescript/commonjs/styles/web-view-style.d.ts +21 -0
- package/lib/typescript/commonjs/styles/web-view-style.d.ts.map +1 -0
- package/lib/typescript/commonjs/switch/Switch.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts +36 -0
- package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/expo-router/RouterTabBar.d.ts +59 -0
- package/lib/typescript/commonjs/tab-bar/expo-router/RouterTabBar.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/expo-router/fading-tab-screen.d.ts +11 -0
- package/lib/typescript/commonjs/tab-bar/expo-router/fading-tab-screen.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/expo-router/index.d.ts +14 -0
- package/lib/typescript/commonjs/tab-bar/expo-router/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/glyph.d.ts +6 -0
- package/lib/typescript/commonjs/tab-bar/glyph.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/glyph.native.d.ts +6 -0
- package/lib/typescript/commonjs/tab-bar/glyph.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/index.d.ts +12 -0
- package/lib/typescript/commonjs/tab-bar/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/index.web.d.ts +12 -0
- package/lib/typescript/commonjs/tab-bar/index.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/minimize-context.d.ts +51 -0
- package/lib/typescript/commonjs/tab-bar/minimize-context.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/shared.d.ts +93 -0
- package/lib/typescript/commonjs/tab-bar/shared.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/surface.d.ts +6 -0
- package/lib/typescript/commonjs/tab-bar/surface.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/surface.native.d.ts +6 -0
- package/lib/typescript/commonjs/tab-bar/surface.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/surface.web.d.ts +6 -0
- package/lib/typescript/commonjs/tab-bar/surface.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/types.d.ts +85 -0
- package/lib/typescript/commonjs/tab-bar/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/tabs/Tabs.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/Positioner.d.ts +21 -0
- package/lib/typescript/commonjs/toast/Positioner.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/ToastContent.d.ts +14 -0
- package/lib/typescript/commonjs/toast/ToastContent.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/ToastHost.d.ts +6 -0
- package/lib/typescript/commonjs/toast/ToastHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/ToastHost.native.d.ts +6 -0
- package/lib/typescript/commonjs/toast/ToastHost.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/ToastIcon.d.ts +9 -0
- package/lib/typescript/commonjs/toast/ToastIcon.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/ToastRow.d.ts +80 -0
- package/lib/typescript/commonjs/toast/ToastRow.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/ToastSwipeHandler.d.ts +30 -0
- package/lib/typescript/commonjs/toast/ToastSwipeHandler.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/Toaster.d.ts +19 -0
- package/lib/typescript/commonjs/toast/Toaster.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/animations.d.ts +62 -0
- package/lib/typescript/commonjs/toast/animations.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/constants.d.ts +39 -0
- package/lib/typescript/commonjs/toast/constants.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/context.d.ts +19 -0
- package/lib/typescript/commonjs/toast/context.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/index.d.ts +23 -76
- package/lib/typescript/commonjs/toast/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/position-utils.d.ts +30 -0
- package/lib/typescript/commonjs/toast/position-utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/positioner-utils.d.ts +72 -0
- package/lib/typescript/commonjs/toast/positioner-utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/toast-comparator.d.ts +12 -0
- package/lib/typescript/commonjs/toast/toast-comparator.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/toast-fns.d.ts +3 -0
- package/lib/typescript/commonjs/toast/toast-fns.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/toast-store.d.ts +52 -0
- package/lib/typescript/commonjs/toast/toast-store.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/toast-timers.d.ts +24 -0
- package/lib/typescript/commonjs/toast/toast-timers.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/types.d.ts +222 -5
- package/lib/typescript/commonjs/toast/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/use-animated-target.d.ts +7 -0
- package/lib/typescript/commonjs/toast/use-animated-target.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/use-app-state.d.ts +18 -0
- package/lib/typescript/commonjs/toast/use-app-state.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/use-toast-colors.d.ts +22 -0
- package/lib/typescript/commonjs/toast/use-toast-colors.d.ts.map +1 -0
- package/lib/typescript/commonjs/toast/use-toast-position.d.ts +37 -0
- package/lib/typescript/commonjs/toast/use-toast-position.d.ts.map +1 -0
- package/lib/typescript/commonjs/tooltip/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
- package/lib/typescript/module/avatar-group/AvatarGroup.web.d.ts.map +1 -1
- package/lib/typescript/module/bottom-sheet/index.web.d.ts.map +1 -1
- package/lib/typescript/module/context-menu/index.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/DialogHeader.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +2 -1
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/menu/index.web.d.ts.map +1 -1
- package/lib/typescript/module/popover/index.web.d.ts.map +1 -1
- package/lib/typescript/module/portal/index.d.ts.map +1 -1
- package/lib/typescript/module/progressive-blur/index.d.ts +23 -0
- package/lib/typescript/module/progressive-blur/index.d.ts.map +1 -0
- package/lib/typescript/module/progressive-blur/index.web.d.ts +30 -0
- package/lib/typescript/module/progressive-blur/index.web.d.ts.map +1 -0
- package/lib/typescript/module/progressive-blur/shared.d.ts +35 -0
- package/lib/typescript/module/progressive-blur/shared.d.ts.map +1 -0
- package/lib/typescript/module/progressive-blur/types.d.ts +21 -0
- package/lib/typescript/module/progressive-blur/types.d.ts.map +1 -0
- package/lib/typescript/module/select/index.web.d.ts.map +1 -1
- package/lib/typescript/module/slider/Slider.d.ts.map +1 -1
- package/lib/typescript/module/styles/web-view-style.d.ts +21 -0
- package/lib/typescript/module/styles/web-view-style.d.ts.map +1 -0
- package/lib/typescript/module/switch/Switch.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/TabBarBase.d.ts +36 -0
- package/lib/typescript/module/tab-bar/TabBarBase.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/expo-router/RouterTabBar.d.ts +59 -0
- package/lib/typescript/module/tab-bar/expo-router/RouterTabBar.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/expo-router/fading-tab-screen.d.ts +11 -0
- package/lib/typescript/module/tab-bar/expo-router/fading-tab-screen.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/expo-router/index.d.ts +14 -0
- package/lib/typescript/module/tab-bar/expo-router/index.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/glyph.d.ts +6 -0
- package/lib/typescript/module/tab-bar/glyph.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/glyph.native.d.ts +6 -0
- package/lib/typescript/module/tab-bar/glyph.native.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/index.d.ts +12 -0
- package/lib/typescript/module/tab-bar/index.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/index.web.d.ts +12 -0
- package/lib/typescript/module/tab-bar/index.web.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/minimize-context.d.ts +51 -0
- package/lib/typescript/module/tab-bar/minimize-context.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/shared.d.ts +93 -0
- package/lib/typescript/module/tab-bar/shared.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/surface.d.ts +6 -0
- package/lib/typescript/module/tab-bar/surface.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/surface.native.d.ts +6 -0
- package/lib/typescript/module/tab-bar/surface.native.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/surface.web.d.ts +6 -0
- package/lib/typescript/module/tab-bar/surface.web.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/types.d.ts +85 -0
- package/lib/typescript/module/tab-bar/types.d.ts.map +1 -0
- package/lib/typescript/module/tabs/Tabs.d.ts.map +1 -1
- package/lib/typescript/module/toast/Positioner.d.ts +21 -0
- package/lib/typescript/module/toast/Positioner.d.ts.map +1 -0
- package/lib/typescript/module/toast/ToastContent.d.ts +14 -0
- package/lib/typescript/module/toast/ToastContent.d.ts.map +1 -0
- package/lib/typescript/module/toast/ToastHost.d.ts +6 -0
- package/lib/typescript/module/toast/ToastHost.d.ts.map +1 -0
- package/lib/typescript/module/toast/ToastHost.native.d.ts +6 -0
- package/lib/typescript/module/toast/ToastHost.native.d.ts.map +1 -0
- package/lib/typescript/module/toast/ToastIcon.d.ts +9 -0
- package/lib/typescript/module/toast/ToastIcon.d.ts.map +1 -0
- package/lib/typescript/module/toast/ToastRow.d.ts +80 -0
- package/lib/typescript/module/toast/ToastRow.d.ts.map +1 -0
- package/lib/typescript/module/toast/ToastSwipeHandler.d.ts +30 -0
- package/lib/typescript/module/toast/ToastSwipeHandler.d.ts.map +1 -0
- package/lib/typescript/module/toast/Toaster.d.ts +19 -0
- package/lib/typescript/module/toast/Toaster.d.ts.map +1 -0
- package/lib/typescript/module/toast/animations.d.ts +62 -0
- package/lib/typescript/module/toast/animations.d.ts.map +1 -0
- package/lib/typescript/module/toast/constants.d.ts +39 -0
- package/lib/typescript/module/toast/constants.d.ts.map +1 -0
- package/lib/typescript/module/toast/context.d.ts +19 -0
- package/lib/typescript/module/toast/context.d.ts.map +1 -0
- package/lib/typescript/module/toast/index.d.ts +23 -76
- package/lib/typescript/module/toast/index.d.ts.map +1 -1
- package/lib/typescript/module/toast/position-utils.d.ts +30 -0
- package/lib/typescript/module/toast/position-utils.d.ts.map +1 -0
- package/lib/typescript/module/toast/positioner-utils.d.ts +72 -0
- package/lib/typescript/module/toast/positioner-utils.d.ts.map +1 -0
- package/lib/typescript/module/toast/toast-comparator.d.ts +12 -0
- package/lib/typescript/module/toast/toast-comparator.d.ts.map +1 -0
- package/lib/typescript/module/toast/toast-fns.d.ts +3 -0
- package/lib/typescript/module/toast/toast-fns.d.ts.map +1 -0
- package/lib/typescript/module/toast/toast-store.d.ts +52 -0
- package/lib/typescript/module/toast/toast-store.d.ts.map +1 -0
- package/lib/typescript/module/toast/toast-timers.d.ts +24 -0
- package/lib/typescript/module/toast/toast-timers.d.ts.map +1 -0
- package/lib/typescript/module/toast/types.d.ts +222 -5
- package/lib/typescript/module/toast/types.d.ts.map +1 -1
- package/lib/typescript/module/toast/use-animated-target.d.ts +7 -0
- package/lib/typescript/module/toast/use-animated-target.d.ts.map +1 -0
- package/lib/typescript/module/toast/use-app-state.d.ts +18 -0
- package/lib/typescript/module/toast/use-app-state.d.ts.map +1 -0
- package/lib/typescript/module/toast/use-toast-colors.d.ts +22 -0
- package/lib/typescript/module/toast/use-toast-colors.d.ts.map +1 -0
- package/lib/typescript/module/toast/use-toast-position.d.ts +37 -0
- package/lib/typescript/module/toast/use-toast-position.d.ts.map +1 -0
- package/lib/typescript/module/tooltip/index.web.d.ts.map +1 -1
- package/lib/typescript/module/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
- package/package.json +63 -25
- package/src/__tests__/TabBar.test.tsx +342 -0
- package/src/__tests__/TabBarReanimatedDeps.test.ts +130 -0
- package/src/__tests__/TabBarWebFork.test.ts +197 -0
- package/src/__tests__/ToastContent.test.tsx +192 -0
- package/src/__tests__/ToastHostWebFork.test.ts +155 -0
- package/src/__tests__/Toaster.test.tsx +527 -0
- package/src/__tests__/animated-style-deps.test.ts +156 -0
- package/src/__tests__/toast-animations.test.ts +98 -0
- package/src/__tests__/toast-comparator.test.ts +131 -0
- package/src/__tests__/toast-enter-driver.test.ts +147 -0
- package/src/__tests__/toast-fns.test.ts +240 -0
- package/src/__tests__/toast-position-utils.test.ts +259 -0
- package/src/__tests__/toast-positioner-utils.test.ts +214 -0
- package/src/__tests__/toast-store.test.ts +622 -0
- package/src/__tests__/toast-timers.test.ts +163 -0
- package/src/__tests__/use-animated-target.test.tsx +60 -0
- package/src/__tests__/use-app-state.test.tsx +127 -0
- package/src/__tests__/use-toast-colors.test.tsx +189 -0
- package/src/__tests__/web-position-fixed.test.ts +70 -0
- package/src/avatar-group/AvatarGroup.web.tsx +2 -1
- package/src/bottom-sheet/index.web.tsx +4 -3
- package/src/context-menu/index.web.tsx +6 -6
- package/src/dialog/Dialog.tsx +7 -4
- package/src/dialog/Dialog.web.tsx +14 -14
- package/src/dialog/DialogHeader.tsx +72 -17
- package/src/index.ts +4 -1
- package/src/index.web.ts +4 -1
- package/src/menu/index.web.tsx +5 -5
- package/src/popover/index.web.tsx +8 -6
- package/src/portal/index.tsx +4 -1
- package/src/progressive-blur/index.tsx +78 -0
- package/src/progressive-blur/index.web.tsx +65 -0
- package/src/progressive-blur/shared.ts +81 -0
- package/src/progressive-blur/types.ts +21 -0
- package/src/select/index.web.tsx +5 -5
- package/src/slider/Slider.tsx +3 -5
- package/src/styles/web-view-style.ts +21 -0
- package/src/switch/Switch.tsx +4 -5
- package/src/tab-bar/TabBar.stories.tsx +217 -0
- package/src/tab-bar/TabBarBase.tsx +517 -0
- package/src/tab-bar/expo-router/RouterTabBar.tsx +80 -0
- package/src/tab-bar/expo-router/fading-tab-screen.tsx +109 -0
- package/src/tab-bar/expo-router/index.ts +13 -0
- package/src/tab-bar/glyph.native.tsx +46 -0
- package/src/tab-bar/glyph.tsx +31 -0
- package/src/tab-bar/index.ts +32 -0
- package/src/tab-bar/index.web.tsx +34 -0
- package/src/tab-bar/minimize-context.tsx +117 -0
- package/src/tab-bar/shared.ts +159 -0
- package/src/tab-bar/surface.native.tsx +60 -0
- package/src/tab-bar/surface.tsx +47 -0
- package/src/tab-bar/surface.web.tsx +56 -0
- package/src/tab-bar/types.ts +88 -0
- package/src/tabs/Tabs.tsx +3 -5
- package/src/toast/Positioner.tsx +121 -0
- package/src/toast/Toast.stories.tsx +292 -65
- package/src/toast/ToastContent.tsx +405 -0
- package/src/toast/ToastHost.native.tsx +31 -0
- package/src/toast/ToastHost.tsx +67 -0
- package/src/toast/ToastIcon.tsx +55 -0
- package/src/toast/ToastRow.tsx +485 -0
- package/src/toast/ToastSwipeHandler.tsx +222 -0
- package/src/toast/Toaster.tsx +259 -0
- package/src/toast/animations.ts +313 -0
- package/src/toast/constants.ts +76 -0
- package/src/toast/context.tsx +44 -0
- package/src/toast/index.tsx +47 -123
- package/src/toast/position-utils.ts +149 -0
- package/src/toast/positioner-utils.ts +142 -0
- package/src/toast/toast-comparator.ts +41 -0
- package/src/toast/toast-fns.ts +104 -0
- package/src/toast/toast-store.ts +432 -0
- package/src/toast/toast-timers.ts +124 -0
- package/src/toast/types.ts +301 -5
- package/src/toast/use-animated-target.ts +61 -0
- package/src/toast/use-app-state.ts +77 -0
- package/src/toast/use-toast-colors.ts +133 -0
- package/src/toast/use-toast-position.ts +46 -0
- package/src/tooltip/index.web.tsx +2 -1
- package/src/zoomable-image-gallery/ZoomableImageGallery.stories.tsx +134 -0
- package/src/zoomable-image-gallery/ZoomableImageGallery.tsx +50 -27
- package/lib/commonjs/toast/Toast.js +0 -272
- package/lib/commonjs/toast/Toast.js.map +0 -1
- package/lib/commonjs/toast/const.js +0 -8
- package/lib/commonjs/toast/const.js.map +0 -1
- package/lib/commonjs/toast/index.web.js +0 -114
- package/lib/commonjs/toast/index.web.js.map +0 -1
- package/lib/commonjs/toast/sonner/index.js +0 -9
- package/lib/commonjs/toast/sonner/index.js.map +0 -1
- package/lib/commonjs/toast/sonner/index.web.js +0 -9
- package/lib/commonjs/toast/sonner/index.web.js.map +0 -1
- package/lib/module/toast/Toast.js +0 -263
- package/lib/module/toast/Toast.js.map +0 -1
- package/lib/module/toast/const.js +0 -4
- package/lib/module/toast/const.js.map +0 -1
- package/lib/module/toast/index.web.js +0 -74
- package/lib/module/toast/index.web.js.map +0 -1
- package/lib/module/toast/sonner/index.js +0 -5
- package/lib/module/toast/sonner/index.js.map +0 -1
- package/lib/module/toast/sonner/index.web.js +0 -5
- package/lib/module/toast/sonner/index.web.js.map +0 -1
- package/lib/typescript/commonjs/toast/Toast.d.ts +0 -23
- package/lib/typescript/commonjs/toast/Toast.d.ts.map +0 -1
- package/lib/typescript/commonjs/toast/const.d.ts +0 -2
- package/lib/typescript/commonjs/toast/const.d.ts.map +0 -1
- package/lib/typescript/commonjs/toast/index.web.d.ts +0 -29
- package/lib/typescript/commonjs/toast/index.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/toast/sonner/index.d.ts +0 -2
- package/lib/typescript/commonjs/toast/sonner/index.d.ts.map +0 -1
- package/lib/typescript/commonjs/toast/sonner/index.web.d.ts +0 -2
- package/lib/typescript/commonjs/toast/sonner/index.web.d.ts.map +0 -1
- package/lib/typescript/module/toast/Toast.d.ts +0 -23
- package/lib/typescript/module/toast/Toast.d.ts.map +0 -1
- package/lib/typescript/module/toast/const.d.ts +0 -2
- package/lib/typescript/module/toast/const.d.ts.map +0 -1
- package/lib/typescript/module/toast/index.web.d.ts +0 -29
- package/lib/typescript/module/toast/index.web.d.ts.map +0 -1
- package/lib/typescript/module/toast/sonner/index.d.ts +0 -2
- package/lib/typescript/module/toast/sonner/index.d.ts.map +0 -1
- package/lib/typescript/module/toast/sonner/index.web.d.ts +0 -2
- package/lib/typescript/module/toast/sonner/index.web.d.ts.map +0 -1
- package/src/toast/Toast.tsx +0 -271
- package/src/toast/const.ts +0 -1
- package/src/toast/index.web.tsx +0 -101
- package/src/toast/sonner/index.ts +0 -3
- package/src/toast/sonner/index.web.ts +0 -3
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RouterTabBar = RouterTabBar;
|
|
7
|
+
exports.RouterTabBarButton = RouterTabBarButton;
|
|
8
|
+
var _index = require("../index.js");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
/**
|
|
11
|
+
* Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
|
|
12
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
13
|
+
*
|
|
14
|
+
* expo-router bindings for the tab bar. This subpath
|
|
15
|
+
* (`@oxyhq/bloom/tab-bar/expo-router`) is the ONLY place in Bloom that may
|
|
16
|
+
* import `expo-router` or `react-native-screens`, which is why it is a separate
|
|
17
|
+
* entry: the core `@oxyhq/bloom/tab-bar` stays usable in an app with no router
|
|
18
|
+
* at all, and neither optional peer is pulled into a bundle that never asks for
|
|
19
|
+
* it.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* `activeIndex` is omitted deliberately: with a router the highlight is driven
|
|
24
|
+
* by each trigger's own focus (see `RouterTabBarButton`), which is what keeps it
|
|
25
|
+
* correct through deep links, back gestures and any other programmatic
|
|
26
|
+
* navigation. Setting both would put two writers on one shared value.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The bar, as expo-router's `<TabList asChild>` child.
|
|
31
|
+
*
|
|
32
|
+
* Navigation happens through `onIndexChange`, not through the triggers: the
|
|
33
|
+
* bar's gesture detector consumes the touches (that is what makes scrubbing
|
|
34
|
+
* possible), so a tap never reaches the trigger's own `Pressable`.
|
|
35
|
+
*
|
|
36
|
+
* ```tsx
|
|
37
|
+
* <TabList asChild>
|
|
38
|
+
* <RouterTabBar onIndexChange={(i) => router.navigate(TABS[i].href)}>
|
|
39
|
+
* {TABS.map(({ href, ...item }, index) => (
|
|
40
|
+
* <TabTrigger key={item.name} name={item.name} href={href} asChild>
|
|
41
|
+
* <RouterTabBarButton item={item} index={index} />
|
|
42
|
+
* </TabTrigger>
|
|
43
|
+
* ))}
|
|
44
|
+
* </RouterTabBar>
|
|
45
|
+
* </TabList>
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
function RouterTabBar({
|
|
49
|
+
// `asChild` is `TabList`'s own instruction to forward its props to this
|
|
50
|
+
// component instead of wrapping them in a `<View>`. It is consumed there and
|
|
51
|
+
// is meaningless below, so it is dropped rather than passed to a real view.
|
|
52
|
+
asChild: _asChild,
|
|
53
|
+
...props
|
|
54
|
+
}) {
|
|
55
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TabBar, {
|
|
56
|
+
...props
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
RouterTabBar.displayName = 'RouterTabBar';
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* One trigger, as expo-router's `<TabTrigger asChild>` child. The trigger
|
|
63
|
+
* supplies `isFocused` and `onPress`; the button uses the first to drive the
|
|
64
|
+
* highlight and the second to navigate on keyboard / assistive-technology
|
|
65
|
+
* activation.
|
|
66
|
+
*/
|
|
67
|
+
function RouterTabBarButton({
|
|
68
|
+
item,
|
|
69
|
+
index,
|
|
70
|
+
// The trigger's resolved path, injected for react-native-web's anchor
|
|
71
|
+
// rendering. `Pressable` has no such prop, and navigation already runs
|
|
72
|
+
// through the bar's `onIndexChange`, so it stops here.
|
|
73
|
+
href: _href,
|
|
74
|
+
...props
|
|
75
|
+
}) {
|
|
76
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TabBarButton, {
|
|
77
|
+
...props,
|
|
78
|
+
item: item,
|
|
79
|
+
index: index
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
RouterTabBarButton.displayName = 'RouterTabBarButton';
|
|
83
|
+
//# sourceMappingURL=RouterTabBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_index","require","_jsxRuntime","RouterTabBar","asChild","_asChild","props","jsx","TabBar","displayName","RouterTabBarButton","item","index","href","_href","TabBarButton"],"sourceRoot":"../../../../src","sources":["tab-bar/expo-router/RouterTabBar.tsx"],"mappings":";;;;;;;AAaA,IAAAA,MAAA,GAAAC,OAAA;AAAgD,IAAAC,WAAA,GAAAD,OAAA;AAbhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,YAAYA,CAAC;EAC3B;EACA;EACA;EACAC,OAAO,EAAEC,QAAQ;EACjB,GAAGC;AACc,CAAC,EAAE;EACpB,oBAAO,IAAAJ,WAAA,CAAAK,GAAA,EAACP,MAAA,CAAAQ,MAAM;IAAA,GAAKF;EAAK,CAAG,CAAC;AAC9B;AAEAH,YAAY,CAACM,WAAW,GAAG,cAAc;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAAC;EACjCC,IAAI;EACJC,KAAK;EACL;EACA;EACA;EACAC,IAAI,EAAEC,KAAK;EACX,GAAGR;AACoB,CAAC,EAAE;EAC1B,oBAAO,IAAAJ,WAAA,CAAAK,GAAA,EAACP,MAAA,CAAAe,YAAY;IAAA,GAAKT,KAAK;IAAEK,IAAI,EAAEA,IAAK;IAACC,KAAK,EAAEA;EAAM,CAAE,CAAC;AAC9D;AAEAF,kBAAkB,CAACD,WAAW,GAAG,oBAAoB","ignoreList":[]}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.renderFadingTabScreen = renderFadingTabScreen;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
10
|
+
var _reactNativeScreens = require("react-native-screens");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
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); }
|
|
13
|
+
/**
|
|
14
|
+
* Ported from expo-glass-tabs v0.1.1 — src/fading-tab-slot.tsx
|
|
15
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/** Strong ease-out — entering content should feel instant, then settle. */
|
|
19
|
+
const EASE_OUT = _reactNativeReanimated.Easing.bezier(0.23, 1, 0.32, 1);
|
|
20
|
+
const ENTER_DURATION = 220;
|
|
21
|
+
/** Never enter from nothing: a whisper of depth, no zoom. */
|
|
22
|
+
const ENTER_SCALE = 0.985;
|
|
23
|
+
function FadeIn({
|
|
24
|
+
focused,
|
|
25
|
+
children
|
|
26
|
+
}) {
|
|
27
|
+
const progress = (0, _reactNativeReanimated.useSharedValue)(1);
|
|
28
|
+
const isFirstRender = (0, _react.useRef)(true);
|
|
29
|
+
(0, _react.useEffect)(() => {
|
|
30
|
+
// Don't animate the very first screen on app launch.
|
|
31
|
+
if (isFirstRender.current) {
|
|
32
|
+
isFirstRender.current = false;
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (focused) {
|
|
36
|
+
progress.value = 0;
|
|
37
|
+
progress.value = (0, _reactNativeReanimated.withTiming)(1, {
|
|
38
|
+
duration: ENTER_DURATION,
|
|
39
|
+
easing: EASE_OUT
|
|
40
|
+
});
|
|
41
|
+
} else {
|
|
42
|
+
// Outgoing screen hides instantly (display: none) — only entries animate.
|
|
43
|
+
progress.value = 0;
|
|
44
|
+
}
|
|
45
|
+
}, [focused, progress]);
|
|
46
|
+
|
|
47
|
+
// `progress` must stay in the deps array — see the CRITICAL note in
|
|
48
|
+
// `TabBarBase`: without the worklets babel plugin (web) an omitted array
|
|
49
|
+
// freezes the mapper at the first frame, and every tab would enter invisible.
|
|
50
|
+
const style = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
51
|
+
opacity: progress.value,
|
|
52
|
+
transform: [{
|
|
53
|
+
scale: (0, _reactNativeReanimated.interpolate)(progress.value, [0, 1], [ENTER_SCALE, 1])
|
|
54
|
+
}]
|
|
55
|
+
}), [progress]);
|
|
56
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
57
|
+
style: [styles.fade, style],
|
|
58
|
+
children: children
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Drop-in for `TabSlot`'s `renderFn`: identical to expo-router's default render,
|
|
64
|
+
* plus a subtle fade + micro-scale on the screen becoming focused.
|
|
65
|
+
*
|
|
66
|
+
* ```tsx
|
|
67
|
+
* <TabSlot style={{ height: '100%' }} renderFn={renderFadingTabScreen} />
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
function renderFadingTabScreen(descriptor, {
|
|
71
|
+
isFocused,
|
|
72
|
+
loaded,
|
|
73
|
+
detachInactiveScreens
|
|
74
|
+
}) {
|
|
75
|
+
const {
|
|
76
|
+
lazy = true,
|
|
77
|
+
unmountOnBlur,
|
|
78
|
+
freezeOnBlur
|
|
79
|
+
} = descriptor.options;
|
|
80
|
+
if (unmountOnBlur && !isFocused) {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
if (lazy && !loaded && !isFocused) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.Screen, {
|
|
87
|
+
enabled: detachInactiveScreens,
|
|
88
|
+
activityState: isFocused ? 2 : 0,
|
|
89
|
+
freezeOnBlur: freezeOnBlur,
|
|
90
|
+
style: [styles.screen, isFocused ? styles.focused : styles.unfocused],
|
|
91
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(FadeIn, {
|
|
92
|
+
focused: isFocused,
|
|
93
|
+
children: descriptor.render()
|
|
94
|
+
})
|
|
95
|
+
}, descriptor.route.key);
|
|
96
|
+
}
|
|
97
|
+
const styles = _reactNative.StyleSheet.create({
|
|
98
|
+
fade: {
|
|
99
|
+
flex: 1
|
|
100
|
+
},
|
|
101
|
+
screen: {
|
|
102
|
+
flex: 1,
|
|
103
|
+
position: 'relative',
|
|
104
|
+
height: '100%'
|
|
105
|
+
},
|
|
106
|
+
focused: {
|
|
107
|
+
zIndex: 1,
|
|
108
|
+
display: 'flex',
|
|
109
|
+
flexShrink: 0,
|
|
110
|
+
flexGrow: 1
|
|
111
|
+
},
|
|
112
|
+
unfocused: {
|
|
113
|
+
zIndex: -1,
|
|
114
|
+
display: 'none',
|
|
115
|
+
flexShrink: 1,
|
|
116
|
+
flexGrow: 0
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
//# sourceMappingURL=fading-tab-screen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EASE_OUT","Easing","bezier","ENTER_DURATION","ENTER_SCALE","FadeIn","focused","children","progress","useSharedValue","isFirstRender","useRef","useEffect","current","value","withTiming","duration","easing","style","useAnimatedStyle","opacity","transform","scale","interpolate","jsx","View","styles","fade","renderFadingTabScreen","descriptor","isFocused","loaded","detachInactiveScreens","lazy","unmountOnBlur","freezeOnBlur","options","Screen","enabled","activityState","screen","unfocused","render","route","key","StyleSheet","create","flex","position","height","zIndex","display","flexShrink","flexGrow"],"sourceRoot":"../../../../src","sources":["tab-bar/expo-router/fading-tab-screen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "RouterTabBar", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _RouterTabBar.RouterTabBar;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "RouterTabBarButton", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _RouterTabBar.RouterTabBarButton;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "renderFadingTabScreen", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _fadingTabScreen.renderFadingTabScreen;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var _RouterTabBar = require("./RouterTabBar.js");
|
|
25
|
+
var _fadingTabScreen = require("./fading-tab-screen.js");
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_RouterTabBar","require","_fadingTabScreen"],"sourceRoot":"../../../../src","sources":["tab-bar/expo-router/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAAA,aAAA,GAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TabBarGlyph = TabBarGlyph;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _shared = require("../frosted-icon-button/shared.js");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
/**
|
|
11
|
+
* Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
|
|
12
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
13
|
+
*
|
|
14
|
+
* NEUTRAL default variant of a tab glyph: renders the item's own `icon` node,
|
|
15
|
+
* tinted for this crossfade layer.
|
|
16
|
+
*
|
|
17
|
+
* `item.icon` is the primary icon API for the whole family — a Bloom icon
|
|
18
|
+
* element, exactly like `TabsTrigger` and `FrostedIconButton` take. `sfSymbol`
|
|
19
|
+
* is an iOS-only enhancement and is deliberately ignored here: this file is
|
|
20
|
+
* resolved by web bundlers and by a consumer's `tsc`, where a static
|
|
21
|
+
* `expo-symbols` import would break resolution. See `glyph.native.tsx` for the
|
|
22
|
+
* variant that consumes it. Both implement `TabBarGlyphProps` exactly.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
function TabBarGlyph({
|
|
26
|
+
item,
|
|
27
|
+
tint,
|
|
28
|
+
size
|
|
29
|
+
}) {
|
|
30
|
+
// The tint is injected as the icon's `fill` FALLBACK — an icon that sets its
|
|
31
|
+
// own `fill` (a brand mark, say) keeps it, so the crossfade layers simply
|
|
32
|
+
// render it twice at full opacity and it never flickers.
|
|
33
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
34
|
+
style: {
|
|
35
|
+
height: size,
|
|
36
|
+
alignItems: 'center',
|
|
37
|
+
justifyContent: 'center'
|
|
38
|
+
},
|
|
39
|
+
children: (0, _shared.applyIconColor)(item.icon, tint)
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
TabBarGlyph.displayName = 'TabBarGlyph';
|
|
43
|
+
//# sourceMappingURL=glyph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_shared","_jsxRuntime","TabBarGlyph","item","tint","size","jsx","View","style","height","alignItems","justifyContent","children","applyIconColor","icon","displayName"],"sourceRoot":"../../../src","sources":["tab-bar/glyph.tsx"],"mappings":";;;;;;AAcA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAA+D,IAAAE,WAAA,GAAAF,OAAA;AAhB/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,SAASG,WAAWA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC;AAAuB,CAAC,EAAE;EAClE;EACA;EACA;EACA,oBACE,IAAAJ,WAAA,CAAAK,GAAA,EAACR,YAAA,CAAAS,IAAI;IAACC,KAAK,EAAE;MAAEC,MAAM,EAAEJ,IAAI;MAAEK,UAAU,EAAE,QAAQ;MAAEC,cAAc,EAAE;IAAS,CAAE;IAAAC,QAAA,EAC3E,IAAAC,sBAAc,EAACV,IAAI,CAACW,IAAI,EAAEV,IAAI;EAAC,CAC5B,CAAC;AAEX;AAEAF,WAAW,CAACa,WAAW,GAAG,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TabBarGlyph = TabBarGlyph;
|
|
7
|
+
var _expoSymbols = require("expo-symbols");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _shared = require("../frosted-icon-button/shared.js");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
/**
|
|
12
|
+
* Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
|
|
13
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
14
|
+
*
|
|
15
|
+
* NATIVE variant of a tab glyph. Identical to the neutral variant except that
|
|
16
|
+
* an item carrying an `sfSymbol` renders as a real SF Symbol on iOS: the system
|
|
17
|
+
* glyph set, weight-matched to the platform and tinted natively.
|
|
18
|
+
*
|
|
19
|
+
* `expo-symbols` is imported STATICALLY and only here — Metro selects `.native`
|
|
20
|
+
* on iOS/Android, so it never reaches a web bundle or a consumer's type-check
|
|
21
|
+
* (see the neutral `glyph.tsx` sibling). Android has no SF Symbols, so it falls
|
|
22
|
+
* through to the item's own icon node, which every item provides.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
function TabBarGlyph({
|
|
26
|
+
item,
|
|
27
|
+
tint,
|
|
28
|
+
size
|
|
29
|
+
}) {
|
|
30
|
+
if (item.sfSymbol && _reactNative.Platform.OS === 'ios') {
|
|
31
|
+
// `TabBarItem.sfSymbol` is a plain `string` because `types.ts` may import
|
|
32
|
+
// from react/react-native only — pulling `expo-symbols`' `SFSymbol` union
|
|
33
|
+
// into the public type would drag a native-only package into every web
|
|
34
|
+
// bundle and every consumer's type-check. The narrowing happens here, at
|
|
35
|
+
// the single boundary where the symbol reaches the native view; an unknown
|
|
36
|
+
// name renders nothing rather than crashing, which is why no runtime
|
|
37
|
+
// validation is warranted.
|
|
38
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_expoSymbols.SymbolView, {
|
|
39
|
+
name: item.sfSymbol,
|
|
40
|
+
tintColor: tint,
|
|
41
|
+
size: size,
|
|
42
|
+
weight: "semibold"
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
46
|
+
style: {
|
|
47
|
+
height: size,
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
justifyContent: 'center'
|
|
50
|
+
},
|
|
51
|
+
children: (0, _shared.applyIconColor)(item.icon, tint)
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
TabBarGlyph.displayName = 'TabBarGlyph';
|
|
55
|
+
//# sourceMappingURL=glyph.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_expoSymbols","require","_reactNative","_shared","_jsxRuntime","TabBarGlyph","item","tint","size","sfSymbol","Platform","OS","jsx","SymbolView","name","tintColor","weight","View","style","height","alignItems","justifyContent","children","applyIconColor","icon","displayName"],"sourceRoot":"../../../src","sources":["tab-bar/glyph.native.tsx"],"mappings":";;;;;;AAaA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAA+D,IAAAG,WAAA,GAAAH,OAAA;AAhB/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOO,SAASI,WAAWA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC;AAAuB,CAAC,EAAE;EAClE,IAAIF,IAAI,CAACG,QAAQ,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IAC1C;IACA;IACA;IACA;IACA;IACA;IACA;IACA,oBACE,IAAAP,WAAA,CAAAQ,GAAA,EAACZ,YAAA,CAAAa,UAAU;MACTC,IAAI,EAAER,IAAI,CAACG,QAAqB;MAChCM,SAAS,EAAER,IAAK;MAChBC,IAAI,EAAEA,IAAK;MACXQ,MAAM,EAAC;IAAU,CAClB,CAAC;EAEN;EAEA,oBACE,IAAAZ,WAAA,CAAAQ,GAAA,EAACV,YAAA,CAAAe,IAAI;IAACC,KAAK,EAAE;MAAEC,MAAM,EAAEX,IAAI;MAAEY,UAAU,EAAE,QAAQ;MAAEC,cAAc,EAAE;IAAS,CAAE;IAAAC,QAAA,EAC3E,IAAAC,sBAAc,EAACjB,IAAI,CAACkB,IAAI,EAAEjB,IAAI;EAAC,CAC5B,CAAC;AAEX;AAEAF,WAAW,CAACoB,WAAW,GAAG,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "MINIMIZE_SPRING", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _minimizeContext.MINIMIZE_SPRING;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
exports.TabBarButton = exports.TabBar = void 0;
|
|
13
|
+
Object.defineProperty(exports, "TabBarMinimizeProvider", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () {
|
|
16
|
+
return _minimizeContext.TabBarMinimizeProvider;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "setMinimized", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () {
|
|
22
|
+
return _minimizeContext.setMinimized;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
Object.defineProperty(exports, "useMinimizeOnScroll", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function () {
|
|
28
|
+
return _minimizeContext.useMinimizeOnScroll;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, "useMinimizeState", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () {
|
|
34
|
+
return _minimizeContext.useMinimizeState;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
Object.defineProperty(exports, "useTabBarMinimized", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function () {
|
|
40
|
+
return _minimizeContext.useTabBarMinimized;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
var _progressiveBlur = require("../progressive-blur");
|
|
44
|
+
var _TabBarBase = require("./TabBarBase.js");
|
|
45
|
+
var _glyph = require("./glyph");
|
|
46
|
+
var _surface = require("./surface");
|
|
47
|
+
var _minimizeContext = require("./minimize-context.js");
|
|
48
|
+
/**
|
|
49
|
+
* Ported from expo-glass-tabs v0.1.1 — src/index.ts
|
|
50
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
51
|
+
*
|
|
52
|
+
* DEFAULT entry for `@oxyhq/bloom/tab-bar`.
|
|
53
|
+
*
|
|
54
|
+
* The platform pieces are imported by their BARE relative name so Metro's
|
|
55
|
+
* platform-extension resolution picks `surface.native.tsx` / `glyph.native.tsx`
|
|
56
|
+
* on iOS and Android, and every other resolver falls back to the neutral
|
|
57
|
+
* `surface.tsx` / `glyph.tsx`. Both neutral files, and everything else this
|
|
58
|
+
* module reaches, are free of native-only imports, so a consumer's `tsc` and a
|
|
59
|
+
* non-Metro bundler resolve this entry cleanly. Web bundlers select
|
|
60
|
+
* `index.web.tsx` instead, through the package's `browser` export condition.
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
const TabBar = exports.TabBar = (0, _TabBarBase.createTabBar)(_surface.TabBarSurface, _progressiveBlur.ProgressiveBlur);
|
|
64
|
+
const TabBarButton = exports.TabBarButton = (0, _TabBarBase.createTabBarButton)(_glyph.TabBarGlyph);
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_progressiveBlur","require","_TabBarBase","_glyph","_surface","_minimizeContext","TabBar","exports","createTabBar","TabBarSurface","ProgressiveBlur","TabBarButton","createTabBarButton","TabBarGlyph"],"sourceRoot":"../../../src","sources":["tab-bar/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,gBAAA,GAAAJ,OAAA;AAtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,MAAMK,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,wBAAY,EAACC,sBAAa,EAAEC,gCAAe,CAAC;AAC3D,MAAMC,YAAY,GAAAJ,OAAA,CAAAI,YAAA,GAAG,IAAAC,8BAAkB,EAACC,kBAAW,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "MINIMIZE_SPRING", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _minimizeContext.MINIMIZE_SPRING;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
exports.TabBarButton = exports.TabBar = void 0;
|
|
13
|
+
Object.defineProperty(exports, "TabBarMinimizeProvider", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () {
|
|
16
|
+
return _minimizeContext.TabBarMinimizeProvider;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "setMinimized", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () {
|
|
22
|
+
return _minimizeContext.setMinimized;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
Object.defineProperty(exports, "useMinimizeOnScroll", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function () {
|
|
28
|
+
return _minimizeContext.useMinimizeOnScroll;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, "useMinimizeState", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () {
|
|
34
|
+
return _minimizeContext.useMinimizeState;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
Object.defineProperty(exports, "useTabBarMinimized", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function () {
|
|
40
|
+
return _minimizeContext.useTabBarMinimized;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
var _indexWeb = require("../progressive-blur/index.web.js");
|
|
44
|
+
var _TabBarBase = require("./TabBarBase.js");
|
|
45
|
+
var _glyph = require("./glyph");
|
|
46
|
+
var _surfaceWeb = require("./surface.web.js");
|
|
47
|
+
var _minimizeContext = require("./minimize-context.js");
|
|
48
|
+
/**
|
|
49
|
+
* Ported from expo-glass-tabs v0.1.1 — src/index.ts
|
|
50
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
51
|
+
*
|
|
52
|
+
* WEB entry for `@oxyhq/bloom/tab-bar`, selected through the package's
|
|
53
|
+
* `browser` export condition.
|
|
54
|
+
*
|
|
55
|
+
* The web modules are imported by their FULL `.web` name on purpose. Inside the
|
|
56
|
+
* published `lib/` every file is plain `.js` (`surface.js` next to
|
|
57
|
+
* `surface.web.js`), and no web bundler resolves a bare `./surface` to the
|
|
58
|
+
* `.web` sibling by extension — only Metro does that. Writing the fork path
|
|
59
|
+
* explicitly is the same thing the generated root barrel does
|
|
60
|
+
* (`src/index.web.ts` → `from './dialog/index.web'`). `./glyph` has no web fork:
|
|
61
|
+
* the neutral file already renders `item.icon`, which is the correct web
|
|
62
|
+
* behaviour, and it is what any resolver lands on here.
|
|
63
|
+
*/
|
|
64
|
+
|
|
65
|
+
const TabBar = exports.TabBar = (0, _TabBarBase.createTabBar)(_surfaceWeb.TabBarSurface, _indexWeb.ProgressiveBlur);
|
|
66
|
+
const TabBarButton = exports.TabBarButton = (0, _TabBarBase.createTabBarButton)(_glyph.TabBarGlyph);
|
|
67
|
+
//# sourceMappingURL=index.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_indexWeb","require","_TabBarBase","_glyph","_surfaceWeb","_minimizeContext","TabBar","exports","createTabBar","TabBarSurface","ProgressiveBlur","TabBarButton","createTabBarButton","TabBarGlyph"],"sourceRoot":"../../../src","sources":["tab-bar/index.web.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAKA,IAAAI,gBAAA,GAAAJ,OAAA;AAxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,MAAMK,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,wBAAY,EAACC,yBAAa,EAAEC,yBAAe,CAAC;AAC3D,MAAMC,YAAY,GAAAJ,OAAA,CAAAI,YAAA,GAAG,IAAAC,8BAAkB,EAACC,kBAAW,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MINIMIZE_SPRING = void 0;
|
|
7
|
+
exports.TabBarMinimizeProvider = TabBarMinimizeProvider;
|
|
8
|
+
exports.setMinimized = setMinimized;
|
|
9
|
+
exports.useMinimizeOnScroll = useMinimizeOnScroll;
|
|
10
|
+
exports.useMinimizeState = useMinimizeState;
|
|
11
|
+
exports.useTabBarMinimized = useTabBarMinimized;
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
/**
|
|
16
|
+
* Ported from expo-glass-tabs v0.1.1 — src/minimize-context.tsx
|
|
17
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
18
|
+
*
|
|
19
|
+
* The shared 0..1 "minimize" progress the tab bar interpolates on, plus the
|
|
20
|
+
* scroll handler that drives it. Reanimated only — no platform imports.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Spring, not timing: scroll direction flips mid-animation constantly, and a
|
|
25
|
+
* spring retargets while preserving velocity — a timing curve would restart
|
|
26
|
+
* from zero and feel mechanical. Critically damped (ratio 1): no overshoot and
|
|
27
|
+
* no long settling tail, which matters because the bar animates layout.
|
|
28
|
+
*/
|
|
29
|
+
const MINIMIZE_SPRING = exports.MINIMIZE_SPRING = {
|
|
30
|
+
duration: 380,
|
|
31
|
+
dampingRatio: 1
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/** Scroll offset below which the bar is always expanded (px). */
|
|
35
|
+
const TOP_ZONE = 24;
|
|
36
|
+
/** Per-event scroll delta that counts as a deliberate direction change (px). */
|
|
37
|
+
const DIRECTION_THRESHOLD = 3;
|
|
38
|
+
const MinimizeContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Wrap the tab tree once. Screens then call `useMinimizeOnScroll()` and the bar
|
|
42
|
+
* reads the same progress, so scrolling any screen minimizes the bar.
|
|
43
|
+
*/
|
|
44
|
+
function TabBarMinimizeProvider({
|
|
45
|
+
children
|
|
46
|
+
}) {
|
|
47
|
+
const progress = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
48
|
+
const target = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
49
|
+
const state = (0, _react.useMemo)(() => ({
|
|
50
|
+
progress,
|
|
51
|
+
target
|
|
52
|
+
}), [progress, target]);
|
|
53
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(MinimizeContext.Provider, {
|
|
54
|
+
value: state,
|
|
55
|
+
children: children
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
TabBarMinimizeProvider.displayName = 'TabBarMinimizeProvider';
|
|
59
|
+
|
|
60
|
+
/** Full minimize state — used by the bar, the buttons and the scroll hook. */
|
|
61
|
+
function useMinimizeState() {
|
|
62
|
+
const shared = (0, _react.useContext)(MinimizeContext);
|
|
63
|
+
// Local fallback keeps screens working when rendered outside the provider
|
|
64
|
+
// (e.g. a web tab layout with no floating bar). Hooks run unconditionally so
|
|
65
|
+
// the order is stable whether or not a provider is present.
|
|
66
|
+
const progress = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
67
|
+
const target = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
68
|
+
const local = (0, _react.useMemo)(() => ({
|
|
69
|
+
progress,
|
|
70
|
+
target
|
|
71
|
+
}), [progress, target]);
|
|
72
|
+
return shared ?? local;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** The animated 0..1 minimize progress (what styles interpolate on). */
|
|
76
|
+
function useTabBarMinimized() {
|
|
77
|
+
return useMinimizeState().progress;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Retarget the minimize spring — no-op when already heading to `next`, so
|
|
82
|
+
* per-frame scroll events never restart (and visibly stutter) the animation.
|
|
83
|
+
* Callable from both threads.
|
|
84
|
+
*/
|
|
85
|
+
function setMinimized(state, next) {
|
|
86
|
+
'worklet';
|
|
87
|
+
|
|
88
|
+
if (state.target.value !== next) {
|
|
89
|
+
state.target.value = next;
|
|
90
|
+
state.progress.value = (0, _reactNativeReanimated.withSpring)(next, MINIMIZE_SPRING);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Scroll handler for `Animated.ScrollView`. Scrolling down minimizes the tab
|
|
96
|
+
* bar, scrolling up (or being near the top) expands it. Offsets are clamped to
|
|
97
|
+
* the scrollable range so rubber-band overscroll can't flip the direction for a
|
|
98
|
+
* frame and flicker the bar.
|
|
99
|
+
*/
|
|
100
|
+
function useMinimizeOnScroll() {
|
|
101
|
+
const state = useMinimizeState();
|
|
102
|
+
const previousY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
103
|
+
|
|
104
|
+
// CRITICAL — `state` and `previousY` must stay in the dependency array. On
|
|
105
|
+
// web WITHOUT the react-native-worklets babel plugin (the production reality
|
|
106
|
+
// for every Oxy RN-Web app) reanimated cannot auto-detect what a worklet
|
|
107
|
+
// reads, so it drives the handler off its deps instead; an omitted or empty
|
|
108
|
+
// array binds the handler once against the first render's values. Native
|
|
109
|
+
// (plugin present) auto-tracks and ignores the extra deps, so listing them is
|
|
110
|
+
// correct on both platforms. Same rule as every mapper in `TabBarBase`.
|
|
111
|
+
return (0, _reactNativeReanimated.useAnimatedScrollHandler)({
|
|
112
|
+
onScroll: event => {
|
|
113
|
+
const maxY = Math.max(event.contentSize.height - event.layoutMeasurement.height, 0);
|
|
114
|
+
const y = Math.min(Math.max(event.contentOffset.y, 0), maxY);
|
|
115
|
+
const dy = y - previousY.value;
|
|
116
|
+
previousY.value = y;
|
|
117
|
+
if (y < TOP_ZONE) {
|
|
118
|
+
setMinimized(state, 0);
|
|
119
|
+
} else if (dy > DIRECTION_THRESHOLD) {
|
|
120
|
+
setMinimized(state, 1);
|
|
121
|
+
} else if (dy < -DIRECTION_THRESHOLD) {
|
|
122
|
+
setMinimized(state, 0);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}, [state, previousY]);
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=minimize-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_jsxRuntime","MINIMIZE_SPRING","exports","duration","dampingRatio","TOP_ZONE","DIRECTION_THRESHOLD","MinimizeContext","createContext","TabBarMinimizeProvider","children","progress","useSharedValue","target","state","useMemo","jsx","Provider","value","displayName","useMinimizeState","shared","useContext","local","useTabBarMinimized","setMinimized","next","withSpring","useMinimizeOnScroll","previousY","useAnimatedScrollHandler","onScroll","event","maxY","Math","max","contentSize","height","layoutMeasurement","y","min","contentOffset","dy"],"sourceRoot":"../../../src","sources":["tab-bar/minimize-context.tsx"],"mappings":"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","ignoreList":[]}
|