@oxyhq/bloom 0.50.2 → 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 +2 -1
- package/lib/commonjs/bottom-sheet/index.web.js.map +1 -1
- package/lib/commonjs/context-menu/index.web.js +3 -2
- package/lib/commonjs/context-menu/index.web.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.web.js +4 -3
- package/lib/commonjs/dialog/Dialog.web.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 +2 -1
- package/lib/commonjs/menu/index.web.js.map +1 -1
- package/lib/commonjs/popover/index.web.js +3 -2
- 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 +2 -1
- package/lib/commonjs/select/index.web.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/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/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 +2 -1
- package/lib/module/bottom-sheet/index.web.js.map +1 -1
- package/lib/module/context-menu/index.web.js +3 -2
- package/lib/module/context-menu/index.web.js.map +1 -1
- package/lib/module/dialog/Dialog.web.js +4 -3
- package/lib/module/dialog/Dialog.web.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 +2 -1
- package/lib/module/menu/index.web.js.map +1 -1
- package/lib/module/popover/index.web.js +3 -2
- 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 +2 -1
- package/lib/module/select/index.web.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/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/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.web.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/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/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/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.web.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/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/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/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 +3 -2
- package/src/context-menu/index.web.tsx +3 -2
- package/src/dialog/Dialog.web.tsx +4 -3
- package/src/index.ts +4 -1
- package/src/index.web.ts +4 -1
- package/src/menu/index.web.tsx +2 -1
- package/src/popover/index.web.tsx +3 -2
- 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 +2 -1
- package/src/styles/web-view-style.ts +21 -0
- 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/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 -267
- 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 -258
- 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 -269
- 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,23 @@
|
|
|
1
|
+
import type { ProgressiveBlurProps } from './types';
|
|
2
|
+
export type { ProgressiveBlurProps } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Progressive (gradient) blur: strongest at the anchored edge, fading to none.
|
|
5
|
+
* Drop it behind a floating tab bar or a transparent header so content
|
|
6
|
+
* dissolves rather than meeting a hard blur line.
|
|
7
|
+
*
|
|
8
|
+
* NATIVE implementation. iOS has no public variable-blur API, so this stacks
|
|
9
|
+
* ten thin `BlurView`s with a tiny per-layer intensity — each layer's edge adds
|
|
10
|
+
* only an imperceptible step, so the falloff reads as continuous (see
|
|
11
|
+
* `LAYER_HEIGHTS`). A soft gradient in the theme's page color smooths the tail
|
|
12
|
+
* and keeps overlaid content legible.
|
|
13
|
+
*
|
|
14
|
+
* The web fork replaces the whole stack with one masked `backdrop-filter`:
|
|
15
|
+
* `experimental_backgroundImage` is dropped silently by react-native-web, and
|
|
16
|
+
* ten stacked backdrop passes would be far more expensive than the one the
|
|
17
|
+
* browser can do natively.
|
|
18
|
+
*/
|
|
19
|
+
export declare function ProgressiveBlur({ style, intensity, direction, ...rest }: ProgressiveBlurProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare namespace ProgressiveBlur {
|
|
21
|
+
var displayName: string;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/progressive-blur/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,SAAa,EACb,SAAiB,EACjB,GAAG,IAAI,EACR,EAAE,oBAAoB,2CAsBtB;yBA3Be,eAAe"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ProgressiveBlurProps } from './types';
|
|
2
|
+
export type { ProgressiveBlurProps } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* WEB fork of {@link ProgressiveBlur} — ONE element instead of the native
|
|
5
|
+
* ten-layer stack.
|
|
6
|
+
*
|
|
7
|
+
* Two upstream techniques do not survive a browser, which is the whole reason
|
|
8
|
+
* this fork exists:
|
|
9
|
+
*
|
|
10
|
+
* - `experimental_backgroundImage` is dropped silently by react-native-web
|
|
11
|
+
* (no warning, no gradient), so the tail is painted with real CSS
|
|
12
|
+
* `background-image` instead;
|
|
13
|
+
* - stacking ten `BlurView`s would mean ten composited backdrop passes over
|
|
14
|
+
* the same pixels every frame. A browser can fade a single
|
|
15
|
+
* `backdrop-filter` with `mask-image`, which is both correct and an order
|
|
16
|
+
* of magnitude cheaper.
|
|
17
|
+
*
|
|
18
|
+
* The declarations ride in the STYLE object rather than an injected CSS class:
|
|
19
|
+
* react-native-web does not forward `className` to the DOM (it is absent from
|
|
20
|
+
* its `forwardedProps` list, and `createDOMProps` overwrites the attribute with
|
|
21
|
+
* the atomic class it generates), while unknown style properties ARE passed
|
|
22
|
+
* through its style compiler — the same route `Dialog.web.tsx` uses for its
|
|
23
|
+
* `animation` shorthand. Nothing here needs `@keyframes` or a pseudo-class, so
|
|
24
|
+
* there is no stylesheet to inject and nothing a consumer could forget to wire.
|
|
25
|
+
*/
|
|
26
|
+
export declare function ProgressiveBlur({ style, intensity, direction, ...rest }: ProgressiveBlurProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare namespace ProgressiveBlur {
|
|
28
|
+
var displayName: string;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=index.web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/progressive-blur/index.web.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,SAAa,EACb,SAAiB,EACjB,GAAG,IAAI,EACR,EAAE,oBAAoB,2CAkBtB;yBAvBe,eAAe"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-layer heights of the native blur stack, as a fraction of the box.
|
|
3
|
+
*
|
|
4
|
+
* iOS has no public variable-blur API, so the native fork stacks many thin
|
|
5
|
+
* `BlurView`s with a tiny per-layer intensity: each layer's edge adds only an
|
|
6
|
+
* imperceptible step, so the falloff reads as continuous. Coverage at a given
|
|
7
|
+
* depth is the number of layers still tall enough to reach it — 10 at the
|
|
8
|
+
* anchored edge, ~5 at the midpoint, 1 at the far edge.
|
|
9
|
+
*/
|
|
10
|
+
export declare const LAYER_HEIGHTS: readonly ["100%", "88%", "76%", "64%", "54%", "44%", "36%", "28%", "22%", "16%"];
|
|
11
|
+
/**
|
|
12
|
+
* px of CSS blur per unit of `intensity` on web.
|
|
13
|
+
*
|
|
14
|
+
* The web fork replaces the whole stack with ONE `backdrop-filter`, so the
|
|
15
|
+
* radius has to stand in for the accumulated effect of ten layers rather than
|
|
16
|
+
* one: the default `intensity` of 5 lands on a 20px radius, which reads like
|
|
17
|
+
* the native stack at the anchored edge. Stacking ten real blurs in a browser
|
|
18
|
+
* would cost ten composited backdrop passes for the same picture.
|
|
19
|
+
*/
|
|
20
|
+
export declare const WEB_BLUR_PER_INTENSITY = 4;
|
|
21
|
+
/**
|
|
22
|
+
* The soft tint layered over the blur. It smooths the tail and keeps overlaid
|
|
23
|
+
* content legible; upstream hardcoded black, which only worked on a dark theme,
|
|
24
|
+
* so it is derived from the theme's page background here instead.
|
|
25
|
+
*/
|
|
26
|
+
export declare function buildTailGradient(background: string, direction: 'top' | 'bottom'): string;
|
|
27
|
+
/**
|
|
28
|
+
* Alpha ramp the web fork masks its single blur with — the only way to fade a
|
|
29
|
+
* `backdrop-filter`. The stops trace the native stack's layer coverage (full at
|
|
30
|
+
* the anchored edge, ~half at the midpoint) and then close all the way to zero,
|
|
31
|
+
* which the stack cannot do: its tallest layer spans the whole box, leaving a
|
|
32
|
+
* faint blur step at the far edge.
|
|
33
|
+
*/
|
|
34
|
+
export declare function buildMaskGradient(direction: 'top' | 'bottom'): string;
|
|
35
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/progressive-blur/shared.ts"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,kFAWhB,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAOxC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CASzF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAUrE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ported from expo-glass-tabs v0.1.1 — src/progressive-blur.tsx
|
|
3
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
4
|
+
*
|
|
5
|
+
* Shared prop contract for both forks. It lives in its own module so the web
|
|
6
|
+
* fork can declare it without importing the native entry (`./index` resolves to
|
|
7
|
+
* `index.web.tsx` itself on a web-platform Metro build), and so `TabBarBase`
|
|
8
|
+
* can type its injected `Blur` component without importing either fork.
|
|
9
|
+
*/
|
|
10
|
+
import type { ViewProps } from 'react-native';
|
|
11
|
+
export type ProgressiveBlurProps = ViewProps & {
|
|
12
|
+
/**
|
|
13
|
+
* Blur strength at the anchored edge. Follows `expo-blur`'s 0–100 scale and
|
|
14
|
+
* is applied PER LAYER on native (see the native fork); the web fork maps it
|
|
15
|
+
* onto the single CSS blur radius that approximates the same stack.
|
|
16
|
+
*/
|
|
17
|
+
intensity?: number;
|
|
18
|
+
/** Which edge the blur is anchored to (strongest there, fading away). */
|
|
19
|
+
direction?: 'top' | 'bottom';
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/progressive-blur/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG;IAC7C;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/select/index.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/select/index.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAenF,OAAO,EAA0C,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,WAAW,EAEX,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,oBAAoB,EAAE,CAAC;AA6BhC,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,WAAW,2CAgB/E;AAMD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,kBAAkB,yTAuDpE;AAMD,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EAAE,YAAY,EACtB,WAAW,EACX,KAAK,GACN,EAAE,gBAAgB,2CAkBlB;AAMD,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,eAAe,2CAGpD;AAMD,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,KAAK,EACL,UAAU,EACV,KAA0B,EAC1B,cAA0C,GAC3C,EAAE,kBAAkB,CAAC,CAAC,CAAC,kDAmCvB;AAMD,wBAAgB,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,eAAe,2CAyC1E;AAMD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CAMtE;AAMD,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,aAAyB,EAAE,EAAE,wBAAwB,2CAYhG;AAMD,wBAAgB,eAAe,4CAW9B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ViewStyle } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* `position: fixed`, typed for React Native's `ViewStyle`.
|
|
4
|
+
*
|
|
5
|
+
* RN types `position` as `'absolute' | 'relative' | 'static'` — what Yoga
|
|
6
|
+
* implements — while react-native-web renders real CSS, where `'fixed'` is the
|
|
7
|
+
* only way for a portaled overlay to anchor to the VIEWPORT instead of the
|
|
8
|
+
* nearest positioned ancestor. This is the ONE place Bloom crosses between the
|
|
9
|
+
* two, so web forks import it instead of writing their own cast.
|
|
10
|
+
*
|
|
11
|
+
* Deliberately not a `declare module 'react-native'` augmentation, for two
|
|
12
|
+
* reasons. It does not work: `position` lives on `interface FlexStyle`, which RN
|
|
13
|
+
* re-exports from a submodule, so augmenting `'react-native'` neither merges nor
|
|
14
|
+
* errors — verified with tsc, the identical `TS2322` appears with and without it,
|
|
15
|
+
* which makes it strictly worse than a cast because it looks like a fix. And even
|
|
16
|
+
* if it worked, widening `ViewStyle` would ship through `/// <reference path>` to
|
|
17
|
+
* every consumer, so `position: 'fixed'` would start compiling in NATIVE code
|
|
18
|
+
* where Yoga silently ignores it.
|
|
19
|
+
*/
|
|
20
|
+
export declare const WEB_POSITION_FIXED: ViewStyle["position"];
|
|
21
|
+
//# sourceMappingURL=web-view-style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-view-style.d.ts","sourceRoot":"","sources":["../../../../src/styles/web-view-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,EAAc,SAAS,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
|
|
3
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
4
|
+
*
|
|
5
|
+
* The platform-agnostic body of the floating tab bar: gestures, springs, every
|
|
6
|
+
* animated style, the highlight geometry and the button. The only pieces that
|
|
7
|
+
* differ per platform are injected as component props — the capsule `Surface`
|
|
8
|
+
* (liquid glass on iOS 26, backdrop-filter on web, a solid fill everywhere
|
|
9
|
+
* else), the `Blur` behind the bar, and the `Glyph` (SF Symbol on iOS, the
|
|
10
|
+
* item's own icon node elsewhere). Same shape as `BottomSheetBase`'s `Shell`.
|
|
11
|
+
*
|
|
12
|
+
* Nothing here imports expo-glass-effect, expo-symbols, expo-router or
|
|
13
|
+
* react-native-screens, so this file is safe in a web bundle and in a
|
|
14
|
+
* consumer's type-check.
|
|
15
|
+
*/
|
|
16
|
+
import { type ComponentType } from 'react';
|
|
17
|
+
import type { ProgressiveBlurProps } from '../progressive-blur/types';
|
|
18
|
+
import { type TabBarGlyphProps, type TabBarSurfaceProps } from './shared';
|
|
19
|
+
import type { TabBarButtonProps, TabBarProps } from './types';
|
|
20
|
+
/**
|
|
21
|
+
* Bind the platform `Surface` + `Blur` to the shared body, once per entry
|
|
22
|
+
* module. The returned component is created at module scope, so its identity is
|
|
23
|
+
* stable across renders. `index.ts` binds the native/neutral pieces and
|
|
24
|
+
* `index.web.tsx` binds the web pieces explicitly — the same split
|
|
25
|
+
* `BottomSheet` makes with its `Shell`.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createTabBar(Surface: ComponentType<TabBarSurfaceProps>, Blur: ComponentType<ProgressiveBlurProps>): {
|
|
28
|
+
(props: TabBarProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
displayName: string;
|
|
30
|
+
};
|
|
31
|
+
/** Bind the platform `Glyph` to the shared button body. See `createTabBar`. */
|
|
32
|
+
export declare function createTabBarButton(Glyph: ComponentType<TabBarGlyphProps>): {
|
|
33
|
+
(props: TabBarButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
displayName: string;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=TabBarBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabBarBase.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/TabBarBase.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAgBf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAeL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAqY3E;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,IAAI,EAAE,aAAa,CAAC,oBAAoB,CAAC;YAElB,WAAW;;EAGnC;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC;YAC1C,iBAAiB;;EAG/C"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
|
|
3
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
4
|
+
*
|
|
5
|
+
* expo-router bindings for the tab bar. This subpath
|
|
6
|
+
* (`@oxyhq/bloom/tab-bar/expo-router`) is the ONLY place in Bloom that may
|
|
7
|
+
* import `expo-router` or `react-native-screens`, which is why it is a separate
|
|
8
|
+
* entry: the core `@oxyhq/bloom/tab-bar` stays usable in an app with no router
|
|
9
|
+
* at all, and neither optional peer is pulled into a bundle that never asks for
|
|
10
|
+
* it.
|
|
11
|
+
*/
|
|
12
|
+
import type { TabListProps, TabTriggerSlotProps } from 'expo-router/ui';
|
|
13
|
+
import type { TabBarItem, TabBarProps } from '../types';
|
|
14
|
+
/**
|
|
15
|
+
* `activeIndex` is omitted deliberately: with a router the highlight is driven
|
|
16
|
+
* by each trigger's own focus (see `RouterTabBarButton`), which is what keeps it
|
|
17
|
+
* correct through deep links, back gestures and any other programmatic
|
|
18
|
+
* navigation. Setting both would put two writers on one shared value.
|
|
19
|
+
*/
|
|
20
|
+
export type RouterTabBarProps = TabListProps & Omit<TabBarProps, 'activeIndex'>;
|
|
21
|
+
export type RouterTabBarButtonProps = TabTriggerSlotProps & {
|
|
22
|
+
item: TabBarItem;
|
|
23
|
+
/** Position in the bar — must match the trigger's order in the `TabList`. */
|
|
24
|
+
index: number;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* The bar, as expo-router's `<TabList asChild>` child.
|
|
28
|
+
*
|
|
29
|
+
* Navigation happens through `onIndexChange`, not through the triggers: the
|
|
30
|
+
* bar's gesture detector consumes the touches (that is what makes scrubbing
|
|
31
|
+
* possible), so a tap never reaches the trigger's own `Pressable`.
|
|
32
|
+
*
|
|
33
|
+
* ```tsx
|
|
34
|
+
* <TabList asChild>
|
|
35
|
+
* <RouterTabBar onIndexChange={(i) => router.navigate(TABS[i].href)}>
|
|
36
|
+
* {TABS.map(({ href, ...item }, index) => (
|
|
37
|
+
* <TabTrigger key={item.name} name={item.name} href={href} asChild>
|
|
38
|
+
* <RouterTabBarButton item={item} index={index} />
|
|
39
|
+
* </TabTrigger>
|
|
40
|
+
* ))}
|
|
41
|
+
* </RouterTabBar>
|
|
42
|
+
* </TabList>
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function RouterTabBar({ asChild: _asChild, ...props }: RouterTabBarProps): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
export declare namespace RouterTabBar {
|
|
47
|
+
var displayName: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* One trigger, as expo-router's `<TabTrigger asChild>` child. The trigger
|
|
51
|
+
* supplies `isFocused` and `onPress`; the button uses the first to drive the
|
|
52
|
+
* highlight and the second to navigate on keyboard / assistive-technology
|
|
53
|
+
* activation.
|
|
54
|
+
*/
|
|
55
|
+
export declare function RouterTabBarButton({ item, index, href: _href, ...props }: RouterTabBarButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
export declare namespace RouterTabBarButton {
|
|
57
|
+
var displayName: string;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=RouterTabBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterTabBar.d.ts","sourceRoot":"","sources":["../../../../../src/tab-bar/expo-router/RouterTabBar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGxE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAEhF,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG;IAC1D,IAAI,EAAE,UAAU,CAAC;IACjB,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,EAI3B,OAAO,EAAE,QAAQ,EACjB,GAAG,KAAK,EACT,EAAE,iBAAiB,2CAEnB;yBARe,YAAY;;;AAY5B;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,KAAK,EAIL,IAAI,EAAE,KAAK,EACX,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAEzB;yBAVe,kBAAkB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TabsDescriptor, TabsSlotRenderOptions } from 'expo-router/ui';
|
|
2
|
+
/**
|
|
3
|
+
* Drop-in for `TabSlot`'s `renderFn`: identical to expo-router's default render,
|
|
4
|
+
* plus a subtle fade + micro-scale on the screen becoming focused.
|
|
5
|
+
*
|
|
6
|
+
* ```tsx
|
|
7
|
+
* <TabSlot style={{ height: '100%' }} renderFn={renderFadingTabScreen} />
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
export declare function renderFadingTabScreen(descriptor: TabsDescriptor, { isFocused, loaded, detachInactiveScreens }: TabsSlotRenderOptions): import("react/jsx-runtime").JSX.Element | null;
|
|
11
|
+
//# sourceMappingURL=fading-tab-screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fading-tab-screen.d.ts","sourceRoot":"","sources":["../../../../../src/tab-bar/expo-router/fading-tab-screen.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAyC5E;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,cAAc,EAC1B,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,EAAE,qBAAqB,kDAoBpE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ported from expo-glass-tabs v0.1.1 — src/index.ts
|
|
3
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
4
|
+
*
|
|
5
|
+
* Entry for `@oxyhq/bloom/tab-bar/expo-router`. The components live in sibling
|
|
6
|
+
* modules because this file is the published entry path and must stay stable;
|
|
7
|
+
* the split also keeps the router bindings and the `TabSlot` renderer — which
|
|
8
|
+
* pull `expo-router` and `react-native-screens` respectively — in separate
|
|
9
|
+
* modules.
|
|
10
|
+
*/
|
|
11
|
+
export { RouterTabBar, RouterTabBarButton } from './RouterTabBar';
|
|
12
|
+
export type { RouterTabBarProps, RouterTabBarButtonProps } from './RouterTabBar';
|
|
13
|
+
export { renderFadingTabScreen } from './fading-tab-screen';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/tab-bar/expo-router/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TabBarGlyphProps } from './shared';
|
|
2
|
+
export declare function TabBarGlyph({ item, tint, size }: TabBarGlyphProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare namespace TabBarGlyph {
|
|
4
|
+
var displayName: string;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=glyph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glyph.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/glyph.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,gBAAgB,2CASjE;yBATe,WAAW"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TabBarGlyphProps } from './shared';
|
|
2
|
+
export declare function TabBarGlyph({ item, tint, size }: TabBarGlyphProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare namespace TabBarGlyph {
|
|
4
|
+
var displayName: string;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=glyph.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glyph.native.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/glyph.native.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,gBAAgB,2CAwBjE;yBAxBe,WAAW"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const TabBar: {
|
|
2
|
+
(props: import("./types").TabBarProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
displayName: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const TabBarButton: {
|
|
6
|
+
(props: import("./types").TabBarButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
export { MINIMIZE_SPRING, setMinimized, TabBarMinimizeProvider, useMinimizeOnScroll, useMinimizeState, useTabBarMinimized, } from './minimize-context';
|
|
10
|
+
export type { MinimizeState } from './minimize-context';
|
|
11
|
+
export type { TabBarButtonProps, TabBarItem, TabBarProps, TabBarTheme } from './types';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/index.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,MAAM;;;CAA+C,CAAC;AACnE,eAAO,MAAM,YAAY;;;CAAkC,CAAC;AAE5D,OAAO,EACL,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const TabBar: {
|
|
2
|
+
(props: import("./types").TabBarProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
displayName: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const TabBarButton: {
|
|
6
|
+
(props: import("./types").TabBarButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
export { MINIMIZE_SPRING, setMinimized, TabBarMinimizeProvider, useMinimizeOnScroll, useMinimizeState, useTabBarMinimized, } from './minimize-context';
|
|
10
|
+
export type { MinimizeState } from './minimize-context';
|
|
11
|
+
export type { TabBarButtonProps, TabBarItem, TabBarProps, TabBarTheme } from './types';
|
|
12
|
+
//# sourceMappingURL=index.web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/index.web.tsx"],"names":[],"mappings":"AAqBA,eAAO,MAAM,MAAM;;;CAA+C,CAAC;AACnE,eAAO,MAAM,YAAY;;;CAAkC,CAAC;AAE5D,OAAO,EACL,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ported from expo-glass-tabs v0.1.1 — src/minimize-context.tsx
|
|
3
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
4
|
+
*
|
|
5
|
+
* The shared 0..1 "minimize" progress the tab bar interpolates on, plus the
|
|
6
|
+
* scroll handler that drives it. Reanimated only — no platform imports.
|
|
7
|
+
*/
|
|
8
|
+
import { type PropsWithChildren } from 'react';
|
|
9
|
+
import { type SharedValue } from 'react-native-reanimated';
|
|
10
|
+
/**
|
|
11
|
+
* Spring, not timing: scroll direction flips mid-animation constantly, and a
|
|
12
|
+
* spring retargets while preserving velocity — a timing curve would restart
|
|
13
|
+
* from zero and feel mechanical. Critically damped (ratio 1): no overshoot and
|
|
14
|
+
* no long settling tail, which matters because the bar animates layout.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MINIMIZE_SPRING: {
|
|
17
|
+
duration: number;
|
|
18
|
+
dampingRatio: number;
|
|
19
|
+
};
|
|
20
|
+
export type MinimizeState = {
|
|
21
|
+
/** 0 = expanded (icons + labels), 1 = minimized (icons only). */
|
|
22
|
+
progress: SharedValue<number>;
|
|
23
|
+
/** Last requested target — lets writers avoid restarting the spring. */
|
|
24
|
+
target: SharedValue<number>;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Wrap the tab tree once. Screens then call `useMinimizeOnScroll()` and the bar
|
|
28
|
+
* reads the same progress, so scrolling any screen minimizes the bar.
|
|
29
|
+
*/
|
|
30
|
+
export declare function TabBarMinimizeProvider({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export declare namespace TabBarMinimizeProvider {
|
|
32
|
+
var displayName: string;
|
|
33
|
+
}
|
|
34
|
+
/** Full minimize state — used by the bar, the buttons and the scroll hook. */
|
|
35
|
+
export declare function useMinimizeState(): MinimizeState;
|
|
36
|
+
/** The animated 0..1 minimize progress (what styles interpolate on). */
|
|
37
|
+
export declare function useTabBarMinimized(): SharedValue<number>;
|
|
38
|
+
/**
|
|
39
|
+
* Retarget the minimize spring — no-op when already heading to `next`, so
|
|
40
|
+
* per-frame scroll events never restart (and visibly stutter) the animation.
|
|
41
|
+
* Callable from both threads.
|
|
42
|
+
*/
|
|
43
|
+
export declare function setMinimized(state: MinimizeState, next: 0 | 1): void;
|
|
44
|
+
/**
|
|
45
|
+
* Scroll handler for `Animated.ScrollView`. Scrolling down minimizes the tab
|
|
46
|
+
* bar, scrolling up (or being near the top) expands it. Offsets are clamped to
|
|
47
|
+
* the scrollable range so rubber-band overscroll can't flip the direction for a
|
|
48
|
+
* frame and flicker the bar.
|
|
49
|
+
*/
|
|
50
|
+
export declare function useMinimizeOnScroll(): import("react-native-reanimated").ScrollHandlerProcessed<Record<string, unknown>>;
|
|
51
|
+
//# sourceMappingURL=minimize-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimize-context.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/minimize-context.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAsC,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACnF,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;CAAqC,CAAC;AAOlE,MAAM,MAAM,aAAa,GAAG;IAC1B,iEAAiE;IACjE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,wEAAwE;IACxE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC7B,CAAC;AAIF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAKrE;yBALe,sBAAsB;;;AAStC,8EAA8E;AAC9E,wBAAgB,gBAAgB,IAAI,aAAa,CAShD;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,IAAI,WAAW,CAAC,MAAM,CAAC,CAExD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,QAM7D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,sFA8BlC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
import type { AnimatedStyle } from 'react-native-reanimated';
|
|
3
|
+
import type { ThemeColors } from '../theme/types';
|
|
4
|
+
import type { TabBarItem, TabBarTheme } from './types';
|
|
5
|
+
export declare const EXPANDED_HEIGHT = 58;
|
|
6
|
+
export declare const MINIMIZED_HEIGHT = 44;
|
|
7
|
+
/** Extra horizontal inset applied to the pill when minimized (per side). */
|
|
8
|
+
export declare const MINIMIZED_INSET = 34;
|
|
9
|
+
/** Outer margin between the pill and the screen edges (per side). */
|
|
10
|
+
export declare const BAR_MARGIN = 12;
|
|
11
|
+
/** Inner inset between the capsule wall and the tab items. */
|
|
12
|
+
export declare const ROW_PAD_H = 4;
|
|
13
|
+
export declare const LABEL_HEIGHT = 13;
|
|
14
|
+
export declare const ICON_SIZE = 21;
|
|
15
|
+
/**
|
|
16
|
+
* Space between icon and label — folded into the label's animated height so it
|
|
17
|
+
* fully disappears when minimized (keeps the icon perfectly centered).
|
|
18
|
+
*/
|
|
19
|
+
export declare const ITEM_GAP = 2;
|
|
20
|
+
export declare const LABEL_BLOCK: number;
|
|
21
|
+
export declare const ITEM_PAD_V = 7;
|
|
22
|
+
/** Highlight content heights — radius must track h/2 for a true capsule. */
|
|
23
|
+
export declare const HIGHLIGHT_EXPANDED: number;
|
|
24
|
+
export declare const HIGHLIGHT_MINIMIZED: number;
|
|
25
|
+
/** How far the bottom progressive blur bleeds above the pill. */
|
|
26
|
+
export declare const BLUR_BLEED = 44;
|
|
27
|
+
/** Label type size. Small by design — the icon carries the meaning. */
|
|
28
|
+
export declare const LABEL_FONT_SIZE = 9.5;
|
|
29
|
+
/**
|
|
30
|
+
* Slide spring: interruptible by design — rapid tab-hopping retargets with
|
|
31
|
+
* preserved velocity. Slight under-damping gives the pill a tiny settle, safe
|
|
32
|
+
* here because it's transform-only (no layout involved).
|
|
33
|
+
*/
|
|
34
|
+
export declare const SLIDE_SPRING: {
|
|
35
|
+
duration: number;
|
|
36
|
+
dampingRatio: number;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Resolve the bar's five colors from Bloom's theme tokens, with an optional
|
|
40
|
+
* partial override on top.
|
|
41
|
+
*
|
|
42
|
+
* Upstream hardcoded a dark palette (`#FFFFFF` / `rgba(10,10,12,0.55)` / …),
|
|
43
|
+
* which would ignore the active preset and read as a black bar in a light
|
|
44
|
+
* theme. Each role maps onto the token that already carries that meaning, so
|
|
45
|
+
* the bar follows `BloomThemeProvider` for free:
|
|
46
|
+
*
|
|
47
|
+
* - the two tints are the standard foreground pair;
|
|
48
|
+
* - the highlight is `contrast50`, the token meant for a subtle raised fill;
|
|
49
|
+
* - the glass tint is a 55%-alpha page background, so the liquid-glass
|
|
50
|
+
* material behind it still refracts content;
|
|
51
|
+
* - the solid fallback is a 94%-alpha `backgroundSecondary` — near-opaque, so
|
|
52
|
+
* the bar reads as a distinct surface where there is no glass to lens.
|
|
53
|
+
*
|
|
54
|
+
* Overrides are coalesced key by key (not spread) so an explicit `undefined` in
|
|
55
|
+
* a partial can never punch a hole in the resolved theme.
|
|
56
|
+
*/
|
|
57
|
+
export declare function resolveTabBarTheme(colors: ThemeColors, overrides?: Partial<TabBarTheme>): TabBarTheme;
|
|
58
|
+
/**
|
|
59
|
+
* Hook form of {@link resolveTabBarTheme}.
|
|
60
|
+
*
|
|
61
|
+
* Memoized on the individual override VALUES rather than on the `overrides`
|
|
62
|
+
* object: callers pass an inline literal (`theme={{ highlight: '#…' }}`), whose
|
|
63
|
+
* identity changes every render. The resolved theme feeds a React context and a
|
|
64
|
+
* reanimated dependency array, so a fresh identity per render would re-render
|
|
65
|
+
* every button and rebuild the label mapper for nothing.
|
|
66
|
+
*/
|
|
67
|
+
export declare function useTabBarTheme(overrides?: Partial<TabBarTheme>): TabBarTheme;
|
|
68
|
+
export interface TabBarSurfaceProps {
|
|
69
|
+
/** Resolved theme — the surface picks `glassTint` or `solidFallback`. */
|
|
70
|
+
theme: TabBarTheme;
|
|
71
|
+
/**
|
|
72
|
+
* Animated capsule shape (a `borderRadius` tracking the animated height).
|
|
73
|
+
* It rides on the surface itself rather than on a clipping parent: iOS 26
|
|
74
|
+
* glass renders its own native corner configuration (true squircle + rim
|
|
75
|
+
* lighting), which an RN mask would flatten.
|
|
76
|
+
*
|
|
77
|
+
* Typed through `AnimatedStyle` because this always receives a
|
|
78
|
+
* `useAnimatedStyle` result, which reanimated 4.5 returns as an opaque
|
|
79
|
+
* `AnimatedStyleHandle` rather than the plain style object 4.2 handed back.
|
|
80
|
+
* Same reason `BottomSheetProps.style` is typed this way. Every variant
|
|
81
|
+
* forwards it into an `Animated.View` (or an animated `GlassView`), so the
|
|
82
|
+
* wider type is what they genuinely accept.
|
|
83
|
+
*/
|
|
84
|
+
style: StyleProp<AnimatedStyle<ViewStyle>>;
|
|
85
|
+
}
|
|
86
|
+
export interface TabBarGlyphProps {
|
|
87
|
+
item: TabBarItem;
|
|
88
|
+
/** Color for THIS layer — the bar renders one glyph per crossfade layer. */
|
|
89
|
+
tint: string;
|
|
90
|
+
/** Rendered icon size in px ({@link ICON_SIZE}). */
|
|
91
|
+
size: number;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/shared.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAWvD,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,4EAA4E;AAC5E,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,qEAAqE;AACrE,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,8DAA8D;AAC9D,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B;;;GAGG;AACH,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,eAAO,MAAM,WAAW,QAA0B,CAAC;AACnD,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,QAA2C,CAAC;AAC3E,eAAO,MAAM,mBAAmB,QAA6B,CAAC;AAC9D,iEAAiE;AACjE,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,uEAAuE;AACvE,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;CAAwC,CAAC;AAMlE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC/B,WAAW,CAQb;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAe5E;AAaD,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,KAAK,EAAE,WAAW,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TabBarSurfaceProps } from './shared';
|
|
2
|
+
export declare function TabBarSurface({ theme, style }: TabBarSurfaceProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare namespace TabBarSurface {
|
|
4
|
+
var displayName: string;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=surface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/surface.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,kBAAkB,2CAWjE;yBAXe,aAAa"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TabBarSurfaceProps } from './shared';
|
|
2
|
+
export declare function TabBarSurface({ theme, style }: TabBarSurfaceProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare namespace TabBarSurface {
|
|
4
|
+
var displayName: string;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=surface.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface.native.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/surface.native.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAInD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,kBAAkB,2CAyBjE;yBAzBe,aAAa"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TabBarSurfaceProps } from './shared';
|
|
2
|
+
export declare function TabBarSurface({ theme, style }: TabBarSurfaceProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare namespace TabBarSurface {
|
|
4
|
+
var displayName: string;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=surface.web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface.web.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/surface.web.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAkBnD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,kBAAkB,2CAWjE;yBAXe,aAAa"}
|