@oxyhq/bloom 0.50.2 → 0.51.1
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/frosted-icon-button/shared.js +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-solid.js +43 -0
- package/lib/commonjs/tab-bar/surface-solid.js.map +1 -0
- package/lib/commonjs/tab-bar/surface.js +13 -0
- package/lib/commonjs/tab-bar/surface.js.map +1 -0
- package/lib/commonjs/tab-bar/surface.native.js +113 -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/frosted-icon-button/shared.js +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-solid.js +37 -0
- package/lib/module/tab-bar/surface-solid.js.map +1 -0
- package/lib/module/tab-bar/surface.js +31 -0
- package/lib/module/tab-bar/surface.js.map +1 -0
- package/lib/module/tab-bar/surface.native.js +109 -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/benefit-list/types.d.ts +2 -1
- package/lib/typescript/commonjs/benefit-list/types.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/fab/types.d.ts +4 -2
- package/lib/typescript/commonjs/fab/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/frosted-icon-button/shared.d.ts +1 -1
- package/lib/typescript/commonjs/frosted-icon-button/types.d.ts +2 -1
- package/lib/typescript/commonjs/frosted-icon-button/types.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-solid.d.ts +6 -0
- package/lib/typescript/commonjs/tab-bar/surface-solid.d.ts.map +1 -0
- package/lib/typescript/commonjs/tab-bar/surface.d.ts +29 -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 +88 -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/benefit-list/types.d.ts +2 -1
- package/lib/typescript/module/benefit-list/types.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/fab/types.d.ts +4 -2
- package/lib/typescript/module/fab/types.d.ts.map +1 -1
- package/lib/typescript/module/frosted-icon-button/shared.d.ts +1 -1
- package/lib/typescript/module/frosted-icon-button/types.d.ts +2 -1
- package/lib/typescript/module/frosted-icon-button/types.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-solid.d.ts +6 -0
- package/lib/typescript/module/tab-bar/surface-solid.d.ts.map +1 -0
- package/lib/typescript/module/tab-bar/surface.d.ts +29 -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 +88 -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 +58 -26
- package/src/__tests__/TabBar.test.tsx +342 -0
- package/src/__tests__/TabBarGlassFallback.test.tsx +234 -0
- package/src/__tests__/TabBarReanimatedDeps.test.ts +130 -0
- package/src/__tests__/TabBarWebFork.test.ts +243 -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__/icon-references.test.ts +243 -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/benefit-list/types.ts +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/fab/types.ts +4 -2
- package/src/frosted-icon-button/shared.ts +1 -1
- package/src/frosted-icon-button/types.ts +2 -1
- 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-solid.tsx +40 -0
- package/src/tab-bar/surface.native.tsx +122 -0
- package/src/tab-bar/surface.tsx +28 -0
- package/src/tab-bar/surface.web.tsx +56 -0
- package/src/tab-bar/types.ts +91 -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,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TabBarSurface = TabBarSurface;
|
|
7
|
+
var _expoGlassEffect = require("expo-glass-effect");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
|
|
10
|
+
var _surfaceSolid = require("./surface-solid.js");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
/**
|
|
14
|
+
* Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
|
|
15
|
+
* (MIT © 2026 David Mokos). See the top-level NOTICE.
|
|
16
|
+
*
|
|
17
|
+
* NATIVE variant of the tab bar's capsule surface — real liquid glass, degrading
|
|
18
|
+
* to the solid surface whenever the glass is not actually usable.
|
|
19
|
+
*
|
|
20
|
+
* `expo-glass-effect` is imported STATICALLY and this file is the only place it
|
|
21
|
+
* appears: Metro selects `.native` on iOS/Android, so the import never reaches
|
|
22
|
+
* a web bundle or a consumer's type-check (that is what the neutral
|
|
23
|
+
* `surface.tsx` sibling is for). A peer dependency plus a static import plus a
|
|
24
|
+
* runtime capability check is the deliberate shape here — not a lazy
|
|
25
|
+
* `require()`, which Metro cannot bundle from published `lib/` when the module
|
|
26
|
+
* name is dynamic and which would also hide the dependency from consumers.
|
|
27
|
+
*
|
|
28
|
+
* `isLiquidGlassAvailable()` is false on Android and pre-iOS-26, where the
|
|
29
|
+
* package's `GlassView` has no material to render; those platforms get the same
|
|
30
|
+
* opaque fallback the neutral variant paints. "Installed" is not "usable"
|
|
31
|
+
* though, and BOTH remaining hazards sit at MODULE scope, which is why neither
|
|
32
|
+
* can be handled by a branch inside the component:
|
|
33
|
+
*
|
|
34
|
+
* 1. THE NATIVE MODULE. On iOS `isLiquidGlassAvailable()` resolves
|
|
35
|
+
* `ExpoGlassEffect` through `requireNativeModule`, which THROWS
|
|
36
|
+
* `Cannot find native module …` by contract when that module is not in the
|
|
37
|
+
* binary. For these apps it is a normal deploy state rather than a
|
|
38
|
+
* misconfiguration: an OTA JS update can land on a binary built before the
|
|
39
|
+
* package was linked, while the JS side always resolves because expo-router
|
|
40
|
+
* depends on it. Unguarded, the throw escapes render and takes down the whole
|
|
41
|
+
* screen the bar is on.
|
|
42
|
+
* 2. THE EXPORTS. `Animated.createAnimatedComponent(GlassView)` runs at IMPORT
|
|
43
|
+
* time, so a tree that resolves the specifier to something without
|
|
44
|
+
* `GlassView` hands React an `undefined` element type before any render
|
|
45
|
+
* happens.
|
|
46
|
+
*
|
|
47
|
+
* `isGlassEffectAPIAvailable()` is upstream's own third condition: on some iOS 26
|
|
48
|
+
* betas `UIGlassEffect` is missing and touching `GlassView` crashes NATIVELY,
|
|
49
|
+
* below JS (expo/expo#40911). It first shipped in expo-glass-effect 0.1.9, which is
|
|
50
|
+
* exactly why the peer floor is `>=0.1.9`: this file imports the symbol STATICALLY,
|
|
51
|
+
* and a floor predating it would be the same incoherence as declaring a
|
|
52
|
+
* statically-imported package optional. The `typeof` guard below is still not
|
|
53
|
+
* redundant — a peer range only WARNS, so a consumer can resolve an older copy
|
|
54
|
+
* anyway. A missing probe therefore means "not applicable", never "unavailable";
|
|
55
|
+
* reading it the other way would delete the glass look from every working device.
|
|
56
|
+
*
|
|
57
|
+
* Everything that fails routes to the SAME solid surface Android already paints —
|
|
58
|
+
* the intended fallback path, not a new one.
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* The animated glass view, or `null` when the package did not deliver the two
|
|
63
|
+
* exports this file needs. Built once, and guarded HERE rather than in the
|
|
64
|
+
* component because `createAnimatedComponent` runs on import (hazard 2 above).
|
|
65
|
+
*/const AnimatedGlassView = Boolean(_expoGlassEffect.GlassView) && typeof _expoGlassEffect.isLiquidGlassAvailable === 'function' ? _reactNativeReanimated.default.createAnimatedComponent(_expoGlassEffect.GlassView) : null;
|
|
66
|
+
|
|
67
|
+
/** Memo for {@link glassIsUsable} — the answer cannot change within a session. */
|
|
68
|
+
let glassUsable;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Whether this build can really render glass. Probed once: the native lookup
|
|
72
|
+
* behind it is not free, and on the failing path it throws.
|
|
73
|
+
*
|
|
74
|
+
* The `catch` reports rather than swallows. A bar that silently painted itself
|
|
75
|
+
* opaque on every iOS device would be far more expensive to find than one warning
|
|
76
|
+
* line, and reaching this branch always means a real, fixable packaging mistake.
|
|
77
|
+
* Warning exactly once falls out of the memo — the body runs at most one time.
|
|
78
|
+
*/
|
|
79
|
+
function glassIsUsable() {
|
|
80
|
+
if (glassUsable !== undefined) return glassUsable;
|
|
81
|
+
try {
|
|
82
|
+
glassUsable = (0, _expoGlassEffect.isLiquidGlassAvailable)() && (typeof _expoGlassEffect.isGlassEffectAPIAvailable !== 'function' || (0, _expoGlassEffect.isGlassEffectAPIAvailable)());
|
|
83
|
+
} catch (error) {
|
|
84
|
+
glassUsable = false;
|
|
85
|
+
// eslint-disable-next-line no-console
|
|
86
|
+
console.warn('[Bloom] TabBar: expo-glass-effect could not report liquid-glass availability, ' + 'so the bar is painting its solid surface. Install expo-glass-effect and ' + 'rebuild the native app to get the glass capsule.', error);
|
|
87
|
+
}
|
|
88
|
+
return glassUsable;
|
|
89
|
+
}
|
|
90
|
+
function TabBarSurface({
|
|
91
|
+
theme,
|
|
92
|
+
style
|
|
93
|
+
}) {
|
|
94
|
+
if (AnimatedGlassView !== null && glassIsUsable()) {
|
|
95
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedGlassView, {
|
|
96
|
+
glassEffectStyle: "regular",
|
|
97
|
+
style: [_reactNative.StyleSheet.absoluteFill, styles.surface, {
|
|
98
|
+
backgroundColor: theme.glassTint
|
|
99
|
+
}, style]
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_surfaceSolid.SolidTabBarSurface, {
|
|
103
|
+
theme: theme,
|
|
104
|
+
style: style
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
TabBarSurface.displayName = 'TabBarSurface';
|
|
108
|
+
const styles = _reactNative.StyleSheet.create({
|
|
109
|
+
surface: {
|
|
110
|
+
borderCurve: 'continuous'
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
//# sourceMappingURL=surface.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_expoGlassEffect","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_surfaceSolid","_jsxRuntime","e","__esModule","default","AnimatedGlassView","Boolean","GlassView","isLiquidGlassAvailable","Animated","createAnimatedComponent","glassUsable","glassIsUsable","undefined","isGlassEffectAPIAvailable","error","console","warn","TabBarSurface","theme","style","jsx","glassEffectStyle","StyleSheet","absoluteFill","styles","surface","backgroundColor","glassTint","SolidTabBarSurface","displayName","create","borderCurve"],"sourceRoot":"../../../src","sources":["tab-bar/surface.native.tsx"],"mappings":";;;;;;AA+CA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAGA,IAAAI,aAAA,GAAAJ,OAAA;AAAqD,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AApDrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA,GACA,MAAMG,iBAAiB,GACrBC,OAAO,CAACC,0BAAS,CAAC,IAAI,OAAOC,uCAAsB,KAAK,UAAU,GAC9DC,8BAAQ,CAACC,uBAAuB,CAACH,0BAAS,CAAC,GAC3C,IAAI;;AAEV;AACA,IAAII,WAAgC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,aAAaA,CAAA,EAAY;EAChC,IAAID,WAAW,KAAKE,SAAS,EAAE,OAAOF,WAAW;EAEjD,IAAI;IACFA,WAAW,GACT,IAAAH,uCAAsB,EAAC,CAAC,KACvB,OAAOM,0CAAyB,KAAK,UAAU,IAAI,IAAAA,0CAAyB,EAAC,CAAC,CAAC;EACpF,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdJ,WAAW,GAAG,KAAK;IACnB;IACAK,OAAO,CAACC,IAAI,CACV,gFAAgF,GAC9E,0EAA0E,GAC1E,kDAAkD,EACpDF,KACF,CAAC;EACH;EAEA,OAAOJ,WAAW;AACpB;AAEO,SAASO,aAAaA,CAAC;EAAEC,KAAK;EAAEC;AAA0B,CAAC,EAAE;EAClE,IAAIf,iBAAiB,KAAK,IAAI,IAAIO,aAAa,CAAC,CAAC,EAAE;IACjD,oBACE,IAAAX,WAAA,CAAAoB,GAAA,EAAChB,iBAAiB;MAChBiB,gBAAgB,EAAC,SAAS;MAC1BF,KAAK,EAAE,CACLG,uBAAU,CAACC,YAAY,EACvBC,MAAM,CAACC,OAAO,EACd;QAAEC,eAAe,EAAER,KAAK,CAACS;MAAU,CAAC,EACpCR,KAAK;IACL,CACH,CAAC;EAEN;EAEA,oBAAO,IAAAnB,WAAA,CAAAoB,GAAA,EAACrB,aAAA,CAAA6B,kBAAkB;IAACV,KAAK,EAAEA,KAAM;IAACC,KAAK,EAAEA;EAAM,CAAE,CAAC;AAC3D;AAEAF,aAAa,CAACY,WAAW,GAAG,eAAe;AAE3C,MAAML,MAAM,GAAGF,uBAAU,CAACQ,MAAM,CAAC;EAC/BL,OAAO,EAAE;IACPM,WAAW,EAAE;EACf;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TabBarSurface = TabBarSurface;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
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
|
+
* WEB variant of the tab bar's capsule surface: the browser's own frosted
|
|
16
|
+
* material, `backdrop-filter`, under the theme's translucent glass tint.
|
|
17
|
+
*
|
|
18
|
+
* The element stays a react-native-web `Animated.View` because the capsule
|
|
19
|
+
* radius is animated by reanimated on every minimize frame. The two web-only
|
|
20
|
+
* declarations ride in the STYLE object rather than a CSS class: react-native-
|
|
21
|
+
* web does not forward `className` to the DOM (its `forwardedProps` list has no
|
|
22
|
+
* `className`, and `createDOMProps` overwrites the attribute with the atomic
|
|
23
|
+
* class it generates), whereas unknown style properties ARE passed straight
|
|
24
|
+
* through its style compiler. That is the same route `Dialog.web.tsx` uses for
|
|
25
|
+
* its `animation` shorthand. No stylesheet needs injecting here: there is no
|
|
26
|
+
* `@keyframes` or pseudo-class involved, so nothing that an inline declaration
|
|
27
|
+
* cannot express.
|
|
28
|
+
*
|
|
29
|
+
* Browsers without `backdrop-filter` simply skip it and are left with the
|
|
30
|
+
* translucent tint — a graceful degradation that needs no `@supports` rule.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Blur radius of the web glass, in px. Tuned to read like the iOS 26 `regular`
|
|
35
|
+
* glass under the same 55%-alpha tint: enough to dissolve text scrolling
|
|
36
|
+
* underneath without smearing large shapes into mush. The saturation boost is
|
|
37
|
+
* what keeps colors behind the bar from going flat and grey.
|
|
38
|
+
*/
|
|
39
|
+
const GLASS_BLUR_PX = 24;
|
|
40
|
+
const GLASS_FILTER = `blur(${GLASS_BLUR_PX}px) saturate(180%)`;
|
|
41
|
+
|
|
42
|
+
// Web-only CSS, unknown to React Native's `ViewStyle`. Both spellings are set:
|
|
43
|
+
// Safari still needs the prefixed property for `backdrop-filter`.
|
|
44
|
+
const glassFilterStyle = {
|
|
45
|
+
backdropFilter: GLASS_FILTER,
|
|
46
|
+
WebkitBackdropFilter: GLASS_FILTER
|
|
47
|
+
};
|
|
48
|
+
function TabBarSurface({
|
|
49
|
+
theme,
|
|
50
|
+
style
|
|
51
|
+
}) {
|
|
52
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
53
|
+
style: [_reactNative.StyleSheet.absoluteFill, glassFilterStyle, {
|
|
54
|
+
backgroundColor: theme.glassTint
|
|
55
|
+
}, style]
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
TabBarSurface.displayName = 'TabBarSurface';
|
|
59
|
+
//# sourceMappingURL=surface.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireDefault","_jsxRuntime","e","__esModule","default","GLASS_BLUR_PX","GLASS_FILTER","glassFilterStyle","backdropFilter","WebkitBackdropFilter","TabBarSurface","theme","style","jsx","View","StyleSheet","absoluteFill","backgroundColor","glassTint","displayName"],"sourceRoot":"../../../src","sources":["tab-bar/surface.web.tsx"],"mappings":";;;;;;AAqBA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA+C,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAtB/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,aAAa,GAAG,EAAE;AACxB,MAAMC,YAAY,GAAG,QAAQD,aAAa,oBAAoB;;AAE9D;AACA;AACA,MAAME,gBAAgB,GAAG;EACvBC,cAAc,EAAEF,YAAY;EAC5BG,oBAAoB,EAAEH;AACxB,CAAc;AAEP,SAASI,aAAaA,CAAC;EAAEC,KAAK;EAAEC;AAA0B,CAAC,EAAE;EAClE,oBACE,IAAAX,WAAA,CAAAY,GAAA,EAACd,sBAAA,CAAAK,OAAQ,CAACU,IAAI;IACZF,KAAK,EAAE,CACLG,uBAAU,CAACC,YAAY,EACvBT,gBAAgB,EAChB;MAAEU,eAAe,EAAEN,KAAK,CAACO;IAAU,CAAC,EACpCN,KAAK;EACL,CACH,CAAC;AAEN;AAEAF,aAAa,CAACS,WAAW,GAAG,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["tab-bar/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Positioner = void 0;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
10
|
+
var _context = require("./context.js");
|
|
11
|
+
var _positionerUtils = require("./positioner-utils.js");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
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); }
|
|
14
|
+
/**
|
|
15
|
+
* Derived from sonner-native v0.26.4 — src/positioner.tsx
|
|
16
|
+
* (MIT © Gunnar Torfi Steinarsson). See the top-level NOTICE.
|
|
17
|
+
*
|
|
18
|
+
* One container per occupied position, plus the press-to-collapse area outside an
|
|
19
|
+
* expanded stack. The container pins all four edges and `getInsetValues` overrides
|
|
20
|
+
* just the anchored one, so it always has a real height and the rows inside it —
|
|
21
|
+
* which are absolutely positioned — are never laid out out of bounds. See
|
|
22
|
+
* `getContainerStyle` for what a zero-height container did to Android.
|
|
23
|
+
*
|
|
24
|
+
* `position: 'absolute'` is correct on BOTH platforms and this file stays fully
|
|
25
|
+
* universal: `ToastHost` supplies a viewport-sized containing block on web, so
|
|
26
|
+
* there is no `.web` fork and no `position: 'fixed'` here (W7).
|
|
27
|
+
*
|
|
28
|
+
* `pointerEvents` goes in `style`, never as a prop — the prop form is deprecated
|
|
29
|
+
* in react-native-web and logs on every render.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Web `initialWindowMetrics` is `null`, and on native it is null until the
|
|
34
|
+
* provider measures — both fall back to zero insets, which `getInsetValues` then
|
|
35
|
+
* turns into its 16px default.
|
|
36
|
+
*/
|
|
37
|
+
const FALLBACK_INSETS = _reactNativeSafeAreaContext.initialWindowMetrics?.insets ?? {
|
|
38
|
+
top: 0,
|
|
39
|
+
bottom: 0,
|
|
40
|
+
left: 0,
|
|
41
|
+
right: 0
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Without elevation the positioner can render behind sibling react-native-screens
|
|
46
|
+
* surfaces (native-stack, bottom-tabs) on Android, hiding toasts entirely. Kept
|
|
47
|
+
* alongside the `zIndex` the host applies, because Android orders those native
|
|
48
|
+
* siblings by elevation.
|
|
49
|
+
*/
|
|
50
|
+
const ANDROID_ELEVATION = 9999;
|
|
51
|
+
const androidElevationStyle = _reactNative.Platform.OS === 'android' ? {
|
|
52
|
+
elevation: ANDROID_ELEVATION
|
|
53
|
+
} : null;
|
|
54
|
+
const Positioner = ({
|
|
55
|
+
children,
|
|
56
|
+
position,
|
|
57
|
+
style
|
|
58
|
+
}) => {
|
|
59
|
+
const {
|
|
60
|
+
offset,
|
|
61
|
+
gap,
|
|
62
|
+
visibleToasts
|
|
63
|
+
} = (0, _context.useToastContext)();
|
|
64
|
+
const {
|
|
65
|
+
isExpanded,
|
|
66
|
+
collapse,
|
|
67
|
+
toastHeights
|
|
68
|
+
} = (0, _context.useDynamicToastContext)();
|
|
69
|
+
const insets = React.useContext(_reactNativeSafeAreaContext.SafeAreaInsetsContext) ?? FALLBACK_INSETS;
|
|
70
|
+
const resolvedPosition = position ?? 'bottom-center';
|
|
71
|
+
const insetValues = (0, _positionerUtils.getInsetValues)({
|
|
72
|
+
position: resolvedPosition,
|
|
73
|
+
offset,
|
|
74
|
+
safeAreaInsets: {
|
|
75
|
+
top: insets.top,
|
|
76
|
+
bottom: insets.bottom
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
const handleOutsidePress = React.useCallback(() => {
|
|
80
|
+
if (isExpanded) {
|
|
81
|
+
collapse();
|
|
82
|
+
}
|
|
83
|
+
}, [isExpanded, collapse]);
|
|
84
|
+
|
|
85
|
+
// Collapsing by pressing outside only makes sense for an anchored stack.
|
|
86
|
+
const shouldAllowCollapse = resolvedPosition !== 'center' && isExpanded;
|
|
87
|
+
const hasChildren = React.Children.count(children) > 0;
|
|
88
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
89
|
+
children: [shouldAllowCollapse ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
90
|
+
style: [(0, _positionerUtils.calculateOutsidePressableArea)({
|
|
91
|
+
position: resolvedPosition,
|
|
92
|
+
toastHeights,
|
|
93
|
+
gap,
|
|
94
|
+
visibleToasts,
|
|
95
|
+
insetValues
|
|
96
|
+
}), androidElevationStyle],
|
|
97
|
+
onPress: handleOutsidePress
|
|
98
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
99
|
+
style: [(0, _positionerUtils.getContainerStyle)(), androidElevationStyle,
|
|
100
|
+
// Overrides ONE edge of the four `getContainerStyle` pins, so the box
|
|
101
|
+
// keeps a real height and the rows inside it stay in bounds.
|
|
102
|
+
insetValues,
|
|
103
|
+
// This container spans the whole host, so it must never swallow a touch.
|
|
104
|
+
// `box-none` passes presses through to the app while still reaching the
|
|
105
|
+
// rows; an EMPTY one on Android drops to `none` outright, because the
|
|
106
|
+
// outlet's configured position always renders a container even with no
|
|
107
|
+
// rows in it (see `Toaster`'s grouping).
|
|
108
|
+
{
|
|
109
|
+
pointerEvents: _reactNative.Platform.OS === 'android' && !hasChildren ? 'none' : 'box-none'
|
|
110
|
+
}, style],
|
|
111
|
+
children: children
|
|
112
|
+
})]
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
exports.Positioner = Positioner;
|
|
116
|
+
Positioner.displayName = 'ToastPositioner';
|
|
117
|
+
//# sourceMappingURL=Positioner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_context","_positionerUtils","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FALLBACK_INSETS","initialWindowMetrics","insets","top","bottom","left","right","ANDROID_ELEVATION","androidElevationStyle","Platform","OS","elevation","Positioner","children","position","style","offset","gap","visibleToasts","useToastContext","isExpanded","collapse","toastHeights","useDynamicToastContext","useContext","SafeAreaInsetsContext","resolvedPosition","insetValues","getInsetValues","safeAreaInsets","handleOutsidePress","useCallback","shouldAllowCollapse","hasChildren","Children","count","jsxs","Fragment","jsx","Pressable","calculateOutsidePressableArea","onPress","View","getContainerStyle","pointerEvents","exports","displayName"],"sourceRoot":"../../../src","sources":["toast/Positioner.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ToastContent = ToastContent;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _shadows = require("../design-tokens/shadows");
|
|
10
|
+
var _useInteractionState = require("../hooks/useInteractionState.js");
|
|
11
|
+
var _Times = require("../icons/Times.js");
|
|
12
|
+
var _tokens = require("../styles/tokens.js");
|
|
13
|
+
var _ToastIcon = require("./ToastIcon.js");
|
|
14
|
+
var _useToastColors = require("./use-toast-colors.js");
|
|
15
|
+
var _types = require("./types.js");
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
|
+
/**
|
|
19
|
+
* Derived from sonner-native v0.26.4 — src/toast.tsx:440-689
|
|
20
|
+
* (MIT © Gunnar Torfi Steinarsson — see the top-level NOTICE), restyled with
|
|
21
|
+
* Bloom's design tokens and absorbing the surface/text/action styling from
|
|
22
|
+
* Bloom's previous `Toast.tsx`.
|
|
23
|
+
*
|
|
24
|
+
* This is the DEFAULT renderer. A consumer who passes `jsx` (via `toast.custom`)
|
|
25
|
+
* owns the whole row and this file is not involved.
|
|
26
|
+
*
|
|
27
|
+
* W11 — the surface elevation comes from `bloomShadowStyle('s')`, which is a
|
|
28
|
+
* `boxShadow` on web and RN `shadow*`/`elevation` on native. Upstream hardcodes
|
|
29
|
+
* iOS-only `shadowOpacity`/`shadowRadius` values, so its toast has no shadow on
|
|
30
|
+
* web (no `boxShadow`) and none on iOS either (no `shadowColor`).
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
function ToastContent({
|
|
34
|
+
id,
|
|
35
|
+
title,
|
|
36
|
+
description,
|
|
37
|
+
variant,
|
|
38
|
+
icon,
|
|
39
|
+
icons,
|
|
40
|
+
action,
|
|
41
|
+
cancel,
|
|
42
|
+
close,
|
|
43
|
+
closeButton,
|
|
44
|
+
dismissible,
|
|
45
|
+
richColors = false,
|
|
46
|
+
promiseOptions,
|
|
47
|
+
styles: styleOverrides,
|
|
48
|
+
style,
|
|
49
|
+
unstyled,
|
|
50
|
+
onDismiss,
|
|
51
|
+
actionButtonStyle,
|
|
52
|
+
actionButtonTextStyle,
|
|
53
|
+
cancelButtonStyle,
|
|
54
|
+
cancelButtonTextStyle,
|
|
55
|
+
allowFontScaling,
|
|
56
|
+
maxFontSizeMultiplier,
|
|
57
|
+
backgroundComponent
|
|
58
|
+
}) {
|
|
59
|
+
const colors = (0, _useToastColors.useToastColors)({
|
|
60
|
+
variant,
|
|
61
|
+
richColors
|
|
62
|
+
});
|
|
63
|
+
const isLoading = Boolean(promiseOptions) || variant === 'loading';
|
|
64
|
+
const surfaceStyle = unstyled ? undefined : {
|
|
65
|
+
backgroundColor: colors.surface,
|
|
66
|
+
borderColor: colors.border
|
|
67
|
+
};
|
|
68
|
+
const textProps = {
|
|
69
|
+
allowFontScaling,
|
|
70
|
+
maxFontSizeMultiplier
|
|
71
|
+
};
|
|
72
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
73
|
+
style: [unstyled ? undefined : styles.surface, surfaceStyle,
|
|
74
|
+
// A custom background needs the surface transparent and clipped so it can
|
|
75
|
+
// paint edge to edge underneath the content.
|
|
76
|
+
backgroundComponent ? styles.hostedBackground : undefined, styleOverrides?.toast, style],
|
|
77
|
+
children: [backgroundComponent, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
78
|
+
style: [unstyled ? undefined : styles.row,
|
|
79
|
+
// With a description the row is tall, so the icon sits at the top
|
|
80
|
+
// instead of being centred against two lines of text.
|
|
81
|
+
unstyled || !description ? undefined : styles.rowWithDescription, backgroundComponent ? styles.aboveBackground : undefined, styleOverrides?.toastContent],
|
|
82
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ToastLeadingIcon, {
|
|
83
|
+
variant: variant,
|
|
84
|
+
icon: icon,
|
|
85
|
+
icons: icons,
|
|
86
|
+
isLoading: isLoading,
|
|
87
|
+
color: colors.icon
|
|
88
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
89
|
+
style: [styles.textContainer, styleOverrides?.textContainer],
|
|
90
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
91
|
+
...textProps,
|
|
92
|
+
style: [unstyled ? undefined : styles.title, unstyled ? undefined : {
|
|
93
|
+
color: colors.title
|
|
94
|
+
}, styleOverrides?.title],
|
|
95
|
+
children: title
|
|
96
|
+
}), description ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
97
|
+
...textProps,
|
|
98
|
+
style: [unstyled ? undefined : styles.description, unstyled ? undefined : {
|
|
99
|
+
color: colors.description
|
|
100
|
+
}, styleOverrides?.description],
|
|
101
|
+
children: description
|
|
102
|
+
}) : null, action || cancel ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
103
|
+
style: [unstyled ? undefined : styles.buttons, styleOverrides?.buttons],
|
|
104
|
+
children: [(0, _types.isToastAction)(action) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ToastActionButton, {
|
|
105
|
+
action: action,
|
|
106
|
+
colors: colors.action,
|
|
107
|
+
buttonStyle: actionButtonStyle,
|
|
108
|
+
textStyle: actionButtonTextStyle,
|
|
109
|
+
...textProps
|
|
110
|
+
}) : action, (0, _types.isToastAction)(cancel) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ToastActionButton, {
|
|
111
|
+
action: {
|
|
112
|
+
label: cancel.label,
|
|
113
|
+
onClick: () => {
|
|
114
|
+
cancel.onClick();
|
|
115
|
+
onDismiss(id);
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
colors: colors.action,
|
|
119
|
+
transparent: true,
|
|
120
|
+
buttonStyle: cancelButtonStyle,
|
|
121
|
+
textStyle: [{
|
|
122
|
+
color: colors.cancelText
|
|
123
|
+
}, cancelButtonTextStyle],
|
|
124
|
+
...textProps
|
|
125
|
+
}) : cancel]
|
|
126
|
+
}) : null]
|
|
127
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(ToastCloseButton, {
|
|
128
|
+
id: id,
|
|
129
|
+
close: close,
|
|
130
|
+
closeButton: closeButton,
|
|
131
|
+
dismissible: dismissible,
|
|
132
|
+
color: colors.closeButton,
|
|
133
|
+
onDismiss: onDismiss,
|
|
134
|
+
buttonStyle: styleOverrides?.closeButton,
|
|
135
|
+
iconStyle: styleOverrides?.closeButtonIcon
|
|
136
|
+
})]
|
|
137
|
+
})]
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
ToastContent.displayName = 'ToastContent';
|
|
141
|
+
function ToastLeadingIcon({
|
|
142
|
+
variant,
|
|
143
|
+
icon,
|
|
144
|
+
icons,
|
|
145
|
+
isLoading,
|
|
146
|
+
color
|
|
147
|
+
}) {
|
|
148
|
+
if (isLoading) {
|
|
149
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
150
|
+
children: icons.loading ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ToastIcon.ToastIcon, {
|
|
151
|
+
variant: "loading",
|
|
152
|
+
color: color
|
|
153
|
+
})
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
if (icon) {
|
|
157
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
158
|
+
children: icon
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
if (variant && icons[variant]) {
|
|
162
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
163
|
+
children: icons[variant]
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ToastIcon.ToastIcon, {
|
|
167
|
+
variant: variant,
|
|
168
|
+
color: color
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
function ToastActionButton({
|
|
172
|
+
action,
|
|
173
|
+
colors,
|
|
174
|
+
transparent,
|
|
175
|
+
buttonStyle,
|
|
176
|
+
textStyle,
|
|
177
|
+
allowFontScaling,
|
|
178
|
+
maxFontSizeMultiplier
|
|
179
|
+
}) {
|
|
180
|
+
// Driven from state rather than Pressable's function-form `style`, which
|
|
181
|
+
// react-native-css swallows on web (dropping the base padding/radius).
|
|
182
|
+
const {
|
|
183
|
+
state: pressed,
|
|
184
|
+
onIn,
|
|
185
|
+
onOut
|
|
186
|
+
} = (0, _useInteractionState.useInteractionState)();
|
|
187
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
188
|
+
onPress: action.onClick,
|
|
189
|
+
onPressIn: onIn,
|
|
190
|
+
onPressOut: onOut,
|
|
191
|
+
accessibilityRole: "button",
|
|
192
|
+
style: [styles.actionButton, transparent ? undefined : {
|
|
193
|
+
backgroundColor: pressed ? colors.pressedBackground : colors.background
|
|
194
|
+
}, buttonStyle],
|
|
195
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
196
|
+
numberOfLines: 1,
|
|
197
|
+
allowFontScaling: allowFontScaling,
|
|
198
|
+
maxFontSizeMultiplier: maxFontSizeMultiplier,
|
|
199
|
+
style: [styles.actionButtonText, {
|
|
200
|
+
color: pressed ? colors.pressedText : colors.text
|
|
201
|
+
}, textStyle],
|
|
202
|
+
children: action.label
|
|
203
|
+
})
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
function ToastCloseButton({
|
|
207
|
+
id,
|
|
208
|
+
close,
|
|
209
|
+
closeButton,
|
|
210
|
+
dismissible,
|
|
211
|
+
color,
|
|
212
|
+
onDismiss,
|
|
213
|
+
buttonStyle,
|
|
214
|
+
iconStyle
|
|
215
|
+
}) {
|
|
216
|
+
const handlePress = React.useCallback(() => {
|
|
217
|
+
onDismiss(id);
|
|
218
|
+
}, [onDismiss, id]);
|
|
219
|
+
if (!dismissible) {
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
if (close) {
|
|
223
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
224
|
+
children: close
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
if (!closeButton) {
|
|
228
|
+
return null;
|
|
229
|
+
}
|
|
230
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
231
|
+
onPress: handlePress,
|
|
232
|
+
hitSlop: CLOSE_BUTTON_HIT_SLOP,
|
|
233
|
+
accessibilityRole: "button",
|
|
234
|
+
style: buttonStyle,
|
|
235
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Times.TimesLarge_Stroke2_Corner0_Rounded, {
|
|
236
|
+
size: "md",
|
|
237
|
+
fill: color,
|
|
238
|
+
style: iconStyle
|
|
239
|
+
})
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
const CLOSE_BUTTON_HIT_SLOP = 10;
|
|
243
|
+
const styles = _reactNative.StyleSheet.create({
|
|
244
|
+
surface: {
|
|
245
|
+
justifyContent: 'center',
|
|
246
|
+
paddingHorizontal: _tokens.space.lg,
|
|
247
|
+
paddingVertical: _tokens.space.md,
|
|
248
|
+
marginHorizontal: _tokens.space.lg,
|
|
249
|
+
borderRadius: _tokens.borderRadius.md,
|
|
250
|
+
borderWidth: _reactNative.StyleSheet.hairlineWidth,
|
|
251
|
+
...(0, _shadows.bloomShadowStyle)('s')
|
|
252
|
+
},
|
|
253
|
+
hostedBackground: {
|
|
254
|
+
overflow: 'hidden',
|
|
255
|
+
backgroundColor: 'transparent'
|
|
256
|
+
},
|
|
257
|
+
aboveBackground: {
|
|
258
|
+
position: 'relative',
|
|
259
|
+
zIndex: 1
|
|
260
|
+
},
|
|
261
|
+
row: {
|
|
262
|
+
flexDirection: 'row',
|
|
263
|
+
alignItems: 'center',
|
|
264
|
+
gap: _tokens.space.md
|
|
265
|
+
},
|
|
266
|
+
rowWithDescription: {
|
|
267
|
+
alignItems: 'flex-start'
|
|
268
|
+
},
|
|
269
|
+
textContainer: {
|
|
270
|
+
flex: 1
|
|
271
|
+
},
|
|
272
|
+
title: {
|
|
273
|
+
fontSize: _tokens.fontSize.md,
|
|
274
|
+
fontWeight: '600',
|
|
275
|
+
lineHeight: 20
|
|
276
|
+
},
|
|
277
|
+
description: {
|
|
278
|
+
fontSize: _tokens.fontSize.sm,
|
|
279
|
+
lineHeight: 20,
|
|
280
|
+
marginTop: _tokens.space._2xs
|
|
281
|
+
},
|
|
282
|
+
buttons: {
|
|
283
|
+
flexDirection: 'row',
|
|
284
|
+
alignItems: 'center',
|
|
285
|
+
gap: _tokens.space.sm,
|
|
286
|
+
marginTop: _tokens.space.md
|
|
287
|
+
},
|
|
288
|
+
actionButton: {
|
|
289
|
+
flexGrow: 0,
|
|
290
|
+
alignSelf: 'flex-start',
|
|
291
|
+
paddingHorizontal: _tokens.space.md,
|
|
292
|
+
paddingVertical: _tokens.space.xs,
|
|
293
|
+
borderRadius: _tokens.borderRadius.sm
|
|
294
|
+
},
|
|
295
|
+
actionButtonText: {
|
|
296
|
+
fontSize: _tokens.fontSize.sm,
|
|
297
|
+
fontWeight: '600',
|
|
298
|
+
lineHeight: 20
|
|
299
|
+
}
|
|
300
|
+
});
|
|
301
|
+
//# sourceMappingURL=ToastContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_shadows","_useInteractionState","_Times","_tokens","_ToastIcon","_useToastColors","_types","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ToastContent","id","title","description","variant","icon","icons","action","cancel","close","closeButton","dismissible","richColors","promiseOptions","styles","styleOverrides","style","unstyled","onDismiss","actionButtonStyle","actionButtonTextStyle","cancelButtonStyle","cancelButtonTextStyle","allowFontScaling","maxFontSizeMultiplier","backgroundComponent","colors","useToastColors","isLoading","Boolean","surfaceStyle","undefined","backgroundColor","surface","borderColor","border","textProps","jsxs","View","hostedBackground","toast","children","row","rowWithDescription","aboveBackground","toastContent","jsx","ToastLeadingIcon","color","textContainer","Text","buttons","isToastAction","ToastActionButton","buttonStyle","textStyle","label","onClick","transparent","cancelText","ToastCloseButton","iconStyle","closeButtonIcon","displayName","Fragment","loading","ToastIcon","state","pressed","onIn","onOut","useInteractionState","Pressable","onPress","onPressIn","onPressOut","accessibilityRole","actionButton","pressedBackground","background","numberOfLines","actionButtonText","pressedText","text","handlePress","useCallback","hitSlop","CLOSE_BUTTON_HIT_SLOP","TimesLarge_Stroke2_Corner0_Rounded","size","fill","StyleSheet","create","justifyContent","paddingHorizontal","space","lg","paddingVertical","md","marginHorizontal","borderRadius","borderWidth","hairlineWidth","bloomShadowStyle","overflow","position","zIndex","flexDirection","alignItems","gap","flex","fontSize","fontWeight","lineHeight","sm","marginTop","_2xs","flexGrow","alignSelf","xs"],"sourceRoot":"../../../src","sources":["toast/ToastContent.tsx"],"mappings":"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","ignoreList":[]}
|