@oxyhq/bloom 0.50.1 → 0.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. package/NOTICE +89 -0
  2. package/README.md +12 -7
  3. package/lib/commonjs/avatar-group/AvatarGroup.web.js +2 -1
  4. package/lib/commonjs/avatar-group/AvatarGroup.web.js.map +1 -1
  5. package/lib/commonjs/bottom-sheet/index.web.js +5 -3
  6. package/lib/commonjs/bottom-sheet/index.web.js.map +1 -1
  7. package/lib/commonjs/context-menu/index.web.js +6 -9
  8. package/lib/commonjs/context-menu/index.web.js.map +1 -1
  9. package/lib/commonjs/dialog/Dialog.js +12 -7
  10. package/lib/commonjs/dialog/Dialog.js.map +1 -1
  11. package/lib/commonjs/dialog/Dialog.web.js +18 -22
  12. package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
  13. package/lib/commonjs/dialog/DialogHeader.js +61 -12
  14. package/lib/commonjs/dialog/DialogHeader.js.map +1 -1
  15. package/lib/commonjs/index.js +90 -83
  16. package/lib/commonjs/index.js.map +1 -1
  17. package/lib/commonjs/index.web.js +116 -109
  18. package/lib/commonjs/index.web.js.map +1 -1
  19. package/lib/commonjs/menu/index.web.js +5 -8
  20. package/lib/commonjs/menu/index.web.js.map +1 -1
  21. package/lib/commonjs/popover/index.web.js +8 -9
  22. package/lib/commonjs/popover/index.web.js.map +1 -1
  23. package/lib/commonjs/portal/index.js +4 -1
  24. package/lib/commonjs/portal/index.js.map +1 -1
  25. package/lib/commonjs/progressive-blur/index.js +79 -0
  26. package/lib/commonjs/progressive-blur/index.js.map +1 -0
  27. package/lib/commonjs/progressive-blur/index.web.js +67 -0
  28. package/lib/commonjs/progressive-blur/index.web.js.map +1 -0
  29. package/lib/commonjs/progressive-blur/shared.js +66 -0
  30. package/lib/commonjs/progressive-blur/shared.js.map +1 -0
  31. package/lib/commonjs/progressive-blur/types.js +6 -0
  32. package/lib/commonjs/progressive-blur/types.js.map +1 -0
  33. package/lib/commonjs/select/index.web.js +5 -8
  34. package/lib/commonjs/select/index.web.js.map +1 -1
  35. package/lib/commonjs/slider/Slider.js +4 -9
  36. package/lib/commonjs/slider/Slider.js.map +1 -1
  37. package/lib/commonjs/styles/web-view-style.js +26 -0
  38. package/lib/commonjs/styles/web-view-style.js.map +1 -0
  39. package/lib/commonjs/switch/Switch.js +4 -8
  40. package/lib/commonjs/switch/Switch.js.map +1 -1
  41. package/lib/commonjs/tab-bar/TabBarBase.js +415 -0
  42. package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -0
  43. package/lib/commonjs/tab-bar/expo-router/RouterTabBar.js +83 -0
  44. package/lib/commonjs/tab-bar/expo-router/RouterTabBar.js.map +1 -0
  45. package/lib/commonjs/tab-bar/expo-router/fading-tab-screen.js +119 -0
  46. package/lib/commonjs/tab-bar/expo-router/fading-tab-screen.js.map +1 -0
  47. package/lib/commonjs/tab-bar/expo-router/index.js +26 -0
  48. package/lib/commonjs/tab-bar/expo-router/index.js.map +1 -0
  49. package/lib/commonjs/tab-bar/glyph.js +43 -0
  50. package/lib/commonjs/tab-bar/glyph.js.map +1 -0
  51. package/lib/commonjs/tab-bar/glyph.native.js +55 -0
  52. package/lib/commonjs/tab-bar/glyph.native.js.map +1 -0
  53. package/lib/commonjs/tab-bar/index.js +65 -0
  54. package/lib/commonjs/tab-bar/index.js.map +1 -0
  55. package/lib/commonjs/tab-bar/index.web.js +67 -0
  56. package/lib/commonjs/tab-bar/index.web.js.map +1 -0
  57. package/lib/commonjs/tab-bar/minimize-context.js +127 -0
  58. package/lib/commonjs/tab-bar/minimize-context.js.map +1 -0
  59. package/lib/commonjs/tab-bar/shared.js +139 -0
  60. package/lib/commonjs/tab-bar/shared.js.map +1 -0
  61. package/lib/commonjs/tab-bar/surface.js +50 -0
  62. package/lib/commonjs/tab-bar/surface.js.map +1 -0
  63. package/lib/commonjs/tab-bar/surface.native.js +56 -0
  64. package/lib/commonjs/tab-bar/surface.native.js.map +1 -0
  65. package/lib/commonjs/tab-bar/surface.web.js +59 -0
  66. package/lib/commonjs/tab-bar/surface.web.js.map +1 -0
  67. package/lib/commonjs/tab-bar/types.js +6 -0
  68. package/lib/commonjs/tab-bar/types.js.map +1 -0
  69. package/lib/commonjs/tabs/Tabs.js +3 -8
  70. package/lib/commonjs/tabs/Tabs.js.map +1 -1
  71. package/lib/commonjs/toast/Positioner.js +117 -0
  72. package/lib/commonjs/toast/Positioner.js.map +1 -0
  73. package/lib/commonjs/toast/ToastContent.js +301 -0
  74. package/lib/commonjs/toast/ToastContent.js.map +1 -0
  75. package/lib/commonjs/toast/ToastHost.js +69 -0
  76. package/lib/commonjs/toast/ToastHost.js.map +1 -0
  77. package/lib/commonjs/toast/ToastHost.native.js +44 -0
  78. package/lib/commonjs/toast/ToastHost.native.js.map +1 -0
  79. package/lib/commonjs/toast/ToastIcon.js +57 -0
  80. package/lib/commonjs/toast/ToastIcon.js.map +1 -0
  81. package/lib/commonjs/toast/ToastRow.js +411 -0
  82. package/lib/commonjs/toast/ToastRow.js.map +1 -0
  83. package/lib/commonjs/toast/ToastSwipeHandler.js +189 -0
  84. package/lib/commonjs/toast/ToastSwipeHandler.js.map +1 -0
  85. package/lib/commonjs/toast/Toaster.js +205 -0
  86. package/lib/commonjs/toast/Toaster.js.map +1 -0
  87. package/lib/commonjs/toast/animations.js +274 -0
  88. package/lib/commonjs/toast/animations.js.map +1 -0
  89. package/lib/commonjs/toast/constants.js +56 -0
  90. package/lib/commonjs/toast/constants.js.map +1 -0
  91. package/lib/commonjs/toast/context.js +42 -0
  92. package/lib/commonjs/toast/context.js.map +1 -0
  93. package/lib/commonjs/toast/index.js +32 -126
  94. package/lib/commonjs/toast/index.js.map +1 -1
  95. package/lib/commonjs/toast/position-utils.js +115 -0
  96. package/lib/commonjs/toast/position-utils.js.map +1 -0
  97. package/lib/commonjs/toast/positioner-utils.js +141 -0
  98. package/lib/commonjs/toast/positioner-utils.js.map +1 -0
  99. package/lib/commonjs/toast/toast-comparator.js +28 -0
  100. package/lib/commonjs/toast/toast-comparator.js.map +1 -0
  101. package/lib/commonjs/toast/toast-fns.js +90 -0
  102. package/lib/commonjs/toast/toast-fns.js.map +1 -0
  103. package/lib/commonjs/toast/toast-store.js +352 -0
  104. package/lib/commonjs/toast/toast-store.js.map +1 -0
  105. package/lib/commonjs/toast/toast-timers.js +110 -0
  106. package/lib/commonjs/toast/toast-timers.js.map +1 -0
  107. package/lib/commonjs/toast/types.js +42 -0
  108. package/lib/commonjs/toast/types.js.map +1 -1
  109. package/lib/commonjs/toast/use-animated-target.js +57 -0
  110. package/lib/commonjs/toast/use-animated-target.js.map +1 -0
  111. package/lib/commonjs/toast/use-app-state.js +76 -0
  112. package/lib/commonjs/toast/use-app-state.js.map +1 -0
  113. package/lib/commonjs/toast/use-toast-colors.js +114 -0
  114. package/lib/commonjs/toast/use-toast-colors.js.map +1 -0
  115. package/lib/commonjs/toast/use-toast-position.js +40 -0
  116. package/lib/commonjs/toast/use-toast-position.js.map +1 -0
  117. package/lib/commonjs/tooltip/index.web.js +2 -1
  118. package/lib/commonjs/tooltip/index.web.js.map +1 -1
  119. package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js +20 -8
  120. package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
  121. package/lib/module/avatar-group/AvatarGroup.web.js +2 -1
  122. package/lib/module/avatar-group/AvatarGroup.web.js.map +1 -1
  123. package/lib/module/bottom-sheet/index.web.js +5 -3
  124. package/lib/module/bottom-sheet/index.web.js.map +1 -1
  125. package/lib/module/context-menu/index.web.js +6 -9
  126. package/lib/module/context-menu/index.web.js.map +1 -1
  127. package/lib/module/dialog/Dialog.js +12 -7
  128. package/lib/module/dialog/Dialog.js.map +1 -1
  129. package/lib/module/dialog/Dialog.web.js +18 -22
  130. package/lib/module/dialog/Dialog.web.js.map +1 -1
  131. package/lib/module/dialog/DialogHeader.js +61 -12
  132. package/lib/module/dialog/DialogHeader.js.map +1 -1
  133. package/lib/module/index.js +3 -2
  134. package/lib/module/index.js.map +1 -1
  135. package/lib/module/index.web.js +3 -2
  136. package/lib/module/index.web.js.map +1 -1
  137. package/lib/module/menu/index.web.js +5 -8
  138. package/lib/module/menu/index.web.js.map +1 -1
  139. package/lib/module/popover/index.web.js +8 -9
  140. package/lib/module/popover/index.web.js.map +1 -1
  141. package/lib/module/portal/index.js +4 -1
  142. package/lib/module/portal/index.js.map +1 -1
  143. package/lib/module/progressive-blur/index.js +74 -0
  144. package/lib/module/progressive-blur/index.js.map +1 -0
  145. package/lib/module/progressive-blur/index.web.js +62 -0
  146. package/lib/module/progressive-blur/index.web.js.map +1 -0
  147. package/lib/module/progressive-blur/shared.js +60 -0
  148. package/lib/module/progressive-blur/shared.js.map +1 -0
  149. package/lib/module/progressive-blur/types.js +4 -0
  150. package/lib/module/progressive-blur/types.js.map +1 -0
  151. package/lib/module/select/index.web.js +5 -8
  152. package/lib/module/select/index.web.js.map +1 -1
  153. package/lib/module/slider/Slider.js +4 -9
  154. package/lib/module/slider/Slider.js.map +1 -1
  155. package/lib/module/styles/web-view-style.js +22 -0
  156. package/lib/module/styles/web-view-style.js.map +1 -0
  157. package/lib/module/switch/Switch.js +4 -8
  158. package/lib/module/switch/Switch.js.map +1 -1
  159. package/lib/module/tab-bar/TabBarBase.js +408 -0
  160. package/lib/module/tab-bar/TabBarBase.js.map +1 -0
  161. package/lib/module/tab-bar/expo-router/RouterTabBar.js +78 -0
  162. package/lib/module/tab-bar/expo-router/RouterTabBar.js.map +1 -0
  163. package/lib/module/tab-bar/expo-router/fading-tab-screen.js +113 -0
  164. package/lib/module/tab-bar/expo-router/fading-tab-screen.js.map +1 -0
  165. package/lib/module/tab-bar/expo-router/index.js +15 -0
  166. package/lib/module/tab-bar/expo-router/index.js.map +1 -0
  167. package/lib/module/tab-bar/glyph.js +38 -0
  168. package/lib/module/tab-bar/glyph.js.map +1 -0
  169. package/lib/module/tab-bar/glyph.native.js +50 -0
  170. package/lib/module/tab-bar/glyph.native.js.map +1 -0
  171. package/lib/module/tab-bar/index.js +24 -0
  172. package/lib/module/tab-bar/index.js.map +1 -0
  173. package/lib/module/tab-bar/index.web.js +26 -0
  174. package/lib/module/tab-bar/index.web.js.map +1 -0
  175. package/lib/module/tab-bar/minimize-context.js +118 -0
  176. package/lib/module/tab-bar/minimize-context.js.map +1 -0
  177. package/lib/module/tab-bar/shared.js +132 -0
  178. package/lib/module/tab-bar/shared.js.map +1 -0
  179. package/lib/module/tab-bar/surface.js +44 -0
  180. package/lib/module/tab-bar/surface.js.map +1 -0
  181. package/lib/module/tab-bar/surface.native.js +50 -0
  182. package/lib/module/tab-bar/surface.native.js.map +1 -0
  183. package/lib/module/tab-bar/surface.web.js +53 -0
  184. package/lib/module/tab-bar/surface.web.js.map +1 -0
  185. package/lib/module/tab-bar/types.js +4 -0
  186. package/lib/module/tab-bar/types.js.map +1 -0
  187. package/lib/module/tabs/Tabs.js +3 -8
  188. package/lib/module/tabs/Tabs.js.map +1 -1
  189. package/lib/module/toast/Positioner.js +110 -0
  190. package/lib/module/toast/Positioner.js.map +1 -0
  191. package/lib/module/toast/ToastContent.js +295 -0
  192. package/lib/module/toast/ToastContent.js.map +1 -0
  193. package/lib/module/toast/ToastHost.js +63 -0
  194. package/lib/module/toast/ToastHost.js.map +1 -0
  195. package/lib/module/toast/ToastHost.native.js +38 -0
  196. package/lib/module/toast/ToastHost.native.js.map +1 -0
  197. package/lib/module/toast/ToastIcon.js +52 -0
  198. package/lib/module/toast/ToastIcon.js.map +1 -0
  199. package/lib/module/toast/ToastRow.js +407 -0
  200. package/lib/module/toast/ToastRow.js.map +1 -0
  201. package/lib/module/toast/ToastSwipeHandler.js +182 -0
  202. package/lib/module/toast/ToastSwipeHandler.js.map +1 -0
  203. package/lib/module/toast/Toaster.js +198 -0
  204. package/lib/module/toast/Toaster.js.map +1 -0
  205. package/lib/module/toast/animations.js +261 -0
  206. package/lib/module/toast/animations.js.map +1 -0
  207. package/lib/module/toast/constants.js +52 -0
  208. package/lib/module/toast/constants.js.map +1 -0
  209. package/lib/module/toast/context.js +34 -0
  210. package/lib/module/toast/context.js.map +1 -0
  211. package/lib/module/toast/index.js +27 -103
  212. package/lib/module/toast/index.js.map +1 -1
  213. package/lib/module/toast/position-utils.js +107 -0
  214. package/lib/module/toast/position-utils.js.map +1 -0
  215. package/lib/module/toast/positioner-utils.js +134 -0
  216. package/lib/module/toast/positioner-utils.js.map +1 -0
  217. package/lib/module/toast/toast-comparator.js +22 -0
  218. package/lib/module/toast/toast-comparator.js.map +1 -0
  219. package/lib/module/toast/toast-fns.js +85 -0
  220. package/lib/module/toast/toast-fns.js.map +1 -0
  221. package/lib/module/toast/toast-store.js +346 -0
  222. package/lib/module/toast/toast-store.js.map +1 -0
  223. package/lib/module/toast/toast-timers.js +104 -0
  224. package/lib/module/toast/toast-timers.js.map +1 -0
  225. package/lib/module/toast/types.js +38 -0
  226. package/lib/module/toast/types.js.map +1 -1
  227. package/lib/module/toast/use-animated-target.js +52 -0
  228. package/lib/module/toast/use-animated-target.js.map +1 -0
  229. package/lib/module/toast/use-app-state.js +70 -0
  230. package/lib/module/toast/use-app-state.js.map +1 -0
  231. package/lib/module/toast/use-toast-colors.js +109 -0
  232. package/lib/module/toast/use-toast-colors.js.map +1 -0
  233. package/lib/module/toast/use-toast-position.js +35 -0
  234. package/lib/module/toast/use-toast-position.js.map +1 -0
  235. package/lib/module/tooltip/index.web.js +2 -1
  236. package/lib/module/tooltip/index.web.js.map +1 -1
  237. package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js +20 -8
  238. package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
  239. package/lib/typescript/commonjs/avatar-group/AvatarGroup.web.d.ts.map +1 -1
  240. package/lib/typescript/commonjs/bottom-sheet/index.web.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/context-menu/index.web.d.ts.map +1 -1
  242. package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
  244. package/lib/typescript/commonjs/dialog/DialogHeader.d.ts.map +1 -1
  245. package/lib/typescript/commonjs/index.d.ts +2 -1
  246. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/index.web.d.ts +2 -1
  248. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/menu/index.web.d.ts.map +1 -1
  250. package/lib/typescript/commonjs/popover/index.web.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/portal/index.d.ts.map +1 -1
  252. package/lib/typescript/commonjs/progressive-blur/index.d.ts +23 -0
  253. package/lib/typescript/commonjs/progressive-blur/index.d.ts.map +1 -0
  254. package/lib/typescript/commonjs/progressive-blur/index.web.d.ts +30 -0
  255. package/lib/typescript/commonjs/progressive-blur/index.web.d.ts.map +1 -0
  256. package/lib/typescript/commonjs/progressive-blur/shared.d.ts +35 -0
  257. package/lib/typescript/commonjs/progressive-blur/shared.d.ts.map +1 -0
  258. package/lib/typescript/commonjs/progressive-blur/types.d.ts +21 -0
  259. package/lib/typescript/commonjs/progressive-blur/types.d.ts.map +1 -0
  260. package/lib/typescript/commonjs/select/index.web.d.ts.map +1 -1
  261. package/lib/typescript/commonjs/slider/Slider.d.ts.map +1 -1
  262. package/lib/typescript/commonjs/styles/web-view-style.d.ts +21 -0
  263. package/lib/typescript/commonjs/styles/web-view-style.d.ts.map +1 -0
  264. package/lib/typescript/commonjs/switch/Switch.d.ts.map +1 -1
  265. package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts +36 -0
  266. package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts.map +1 -0
  267. package/lib/typescript/commonjs/tab-bar/expo-router/RouterTabBar.d.ts +59 -0
  268. package/lib/typescript/commonjs/tab-bar/expo-router/RouterTabBar.d.ts.map +1 -0
  269. package/lib/typescript/commonjs/tab-bar/expo-router/fading-tab-screen.d.ts +11 -0
  270. package/lib/typescript/commonjs/tab-bar/expo-router/fading-tab-screen.d.ts.map +1 -0
  271. package/lib/typescript/commonjs/tab-bar/expo-router/index.d.ts +14 -0
  272. package/lib/typescript/commonjs/tab-bar/expo-router/index.d.ts.map +1 -0
  273. package/lib/typescript/commonjs/tab-bar/glyph.d.ts +6 -0
  274. package/lib/typescript/commonjs/tab-bar/glyph.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/tab-bar/glyph.native.d.ts +6 -0
  276. package/lib/typescript/commonjs/tab-bar/glyph.native.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/tab-bar/index.d.ts +12 -0
  278. package/lib/typescript/commonjs/tab-bar/index.d.ts.map +1 -0
  279. package/lib/typescript/commonjs/tab-bar/index.web.d.ts +12 -0
  280. package/lib/typescript/commonjs/tab-bar/index.web.d.ts.map +1 -0
  281. package/lib/typescript/commonjs/tab-bar/minimize-context.d.ts +51 -0
  282. package/lib/typescript/commonjs/tab-bar/minimize-context.d.ts.map +1 -0
  283. package/lib/typescript/commonjs/tab-bar/shared.d.ts +93 -0
  284. package/lib/typescript/commonjs/tab-bar/shared.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/tab-bar/surface.d.ts +6 -0
  286. package/lib/typescript/commonjs/tab-bar/surface.d.ts.map +1 -0
  287. package/lib/typescript/commonjs/tab-bar/surface.native.d.ts +6 -0
  288. package/lib/typescript/commonjs/tab-bar/surface.native.d.ts.map +1 -0
  289. package/lib/typescript/commonjs/tab-bar/surface.web.d.ts +6 -0
  290. package/lib/typescript/commonjs/tab-bar/surface.web.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/tab-bar/types.d.ts +85 -0
  292. package/lib/typescript/commonjs/tab-bar/types.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/tabs/Tabs.d.ts.map +1 -1
  294. package/lib/typescript/commonjs/toast/Positioner.d.ts +21 -0
  295. package/lib/typescript/commonjs/toast/Positioner.d.ts.map +1 -0
  296. package/lib/typescript/commonjs/toast/ToastContent.d.ts +14 -0
  297. package/lib/typescript/commonjs/toast/ToastContent.d.ts.map +1 -0
  298. package/lib/typescript/commonjs/toast/ToastHost.d.ts +6 -0
  299. package/lib/typescript/commonjs/toast/ToastHost.d.ts.map +1 -0
  300. package/lib/typescript/commonjs/toast/ToastHost.native.d.ts +6 -0
  301. package/lib/typescript/commonjs/toast/ToastHost.native.d.ts.map +1 -0
  302. package/lib/typescript/commonjs/toast/ToastIcon.d.ts +9 -0
  303. package/lib/typescript/commonjs/toast/ToastIcon.d.ts.map +1 -0
  304. package/lib/typescript/commonjs/toast/ToastRow.d.ts +80 -0
  305. package/lib/typescript/commonjs/toast/ToastRow.d.ts.map +1 -0
  306. package/lib/typescript/commonjs/toast/ToastSwipeHandler.d.ts +30 -0
  307. package/lib/typescript/commonjs/toast/ToastSwipeHandler.d.ts.map +1 -0
  308. package/lib/typescript/commonjs/toast/Toaster.d.ts +19 -0
  309. package/lib/typescript/commonjs/toast/Toaster.d.ts.map +1 -0
  310. package/lib/typescript/commonjs/toast/animations.d.ts +62 -0
  311. package/lib/typescript/commonjs/toast/animations.d.ts.map +1 -0
  312. package/lib/typescript/commonjs/toast/constants.d.ts +39 -0
  313. package/lib/typescript/commonjs/toast/constants.d.ts.map +1 -0
  314. package/lib/typescript/commonjs/toast/context.d.ts +19 -0
  315. package/lib/typescript/commonjs/toast/context.d.ts.map +1 -0
  316. package/lib/typescript/commonjs/toast/index.d.ts +23 -76
  317. package/lib/typescript/commonjs/toast/index.d.ts.map +1 -1
  318. package/lib/typescript/commonjs/toast/position-utils.d.ts +30 -0
  319. package/lib/typescript/commonjs/toast/position-utils.d.ts.map +1 -0
  320. package/lib/typescript/commonjs/toast/positioner-utils.d.ts +72 -0
  321. package/lib/typescript/commonjs/toast/positioner-utils.d.ts.map +1 -0
  322. package/lib/typescript/commonjs/toast/toast-comparator.d.ts +12 -0
  323. package/lib/typescript/commonjs/toast/toast-comparator.d.ts.map +1 -0
  324. package/lib/typescript/commonjs/toast/toast-fns.d.ts +3 -0
  325. package/lib/typescript/commonjs/toast/toast-fns.d.ts.map +1 -0
  326. package/lib/typescript/commonjs/toast/toast-store.d.ts +52 -0
  327. package/lib/typescript/commonjs/toast/toast-store.d.ts.map +1 -0
  328. package/lib/typescript/commonjs/toast/toast-timers.d.ts +24 -0
  329. package/lib/typescript/commonjs/toast/toast-timers.d.ts.map +1 -0
  330. package/lib/typescript/commonjs/toast/types.d.ts +222 -5
  331. package/lib/typescript/commonjs/toast/types.d.ts.map +1 -1
  332. package/lib/typescript/commonjs/toast/use-animated-target.d.ts +7 -0
  333. package/lib/typescript/commonjs/toast/use-animated-target.d.ts.map +1 -0
  334. package/lib/typescript/commonjs/toast/use-app-state.d.ts +18 -0
  335. package/lib/typescript/commonjs/toast/use-app-state.d.ts.map +1 -0
  336. package/lib/typescript/commonjs/toast/use-toast-colors.d.ts +22 -0
  337. package/lib/typescript/commonjs/toast/use-toast-colors.d.ts.map +1 -0
  338. package/lib/typescript/commonjs/toast/use-toast-position.d.ts +37 -0
  339. package/lib/typescript/commonjs/toast/use-toast-position.d.ts.map +1 -0
  340. package/lib/typescript/commonjs/tooltip/index.web.d.ts.map +1 -1
  341. package/lib/typescript/commonjs/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
  342. package/lib/typescript/module/avatar-group/AvatarGroup.web.d.ts.map +1 -1
  343. package/lib/typescript/module/bottom-sheet/index.web.d.ts.map +1 -1
  344. package/lib/typescript/module/context-menu/index.web.d.ts.map +1 -1
  345. package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
  346. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
  347. package/lib/typescript/module/dialog/DialogHeader.d.ts.map +1 -1
  348. package/lib/typescript/module/index.d.ts +2 -1
  349. package/lib/typescript/module/index.d.ts.map +1 -1
  350. package/lib/typescript/module/index.web.d.ts +2 -1
  351. package/lib/typescript/module/index.web.d.ts.map +1 -1
  352. package/lib/typescript/module/menu/index.web.d.ts.map +1 -1
  353. package/lib/typescript/module/popover/index.web.d.ts.map +1 -1
  354. package/lib/typescript/module/portal/index.d.ts.map +1 -1
  355. package/lib/typescript/module/progressive-blur/index.d.ts +23 -0
  356. package/lib/typescript/module/progressive-blur/index.d.ts.map +1 -0
  357. package/lib/typescript/module/progressive-blur/index.web.d.ts +30 -0
  358. package/lib/typescript/module/progressive-blur/index.web.d.ts.map +1 -0
  359. package/lib/typescript/module/progressive-blur/shared.d.ts +35 -0
  360. package/lib/typescript/module/progressive-blur/shared.d.ts.map +1 -0
  361. package/lib/typescript/module/progressive-blur/types.d.ts +21 -0
  362. package/lib/typescript/module/progressive-blur/types.d.ts.map +1 -0
  363. package/lib/typescript/module/select/index.web.d.ts.map +1 -1
  364. package/lib/typescript/module/slider/Slider.d.ts.map +1 -1
  365. package/lib/typescript/module/styles/web-view-style.d.ts +21 -0
  366. package/lib/typescript/module/styles/web-view-style.d.ts.map +1 -0
  367. package/lib/typescript/module/switch/Switch.d.ts.map +1 -1
  368. package/lib/typescript/module/tab-bar/TabBarBase.d.ts +36 -0
  369. package/lib/typescript/module/tab-bar/TabBarBase.d.ts.map +1 -0
  370. package/lib/typescript/module/tab-bar/expo-router/RouterTabBar.d.ts +59 -0
  371. package/lib/typescript/module/tab-bar/expo-router/RouterTabBar.d.ts.map +1 -0
  372. package/lib/typescript/module/tab-bar/expo-router/fading-tab-screen.d.ts +11 -0
  373. package/lib/typescript/module/tab-bar/expo-router/fading-tab-screen.d.ts.map +1 -0
  374. package/lib/typescript/module/tab-bar/expo-router/index.d.ts +14 -0
  375. package/lib/typescript/module/tab-bar/expo-router/index.d.ts.map +1 -0
  376. package/lib/typescript/module/tab-bar/glyph.d.ts +6 -0
  377. package/lib/typescript/module/tab-bar/glyph.d.ts.map +1 -0
  378. package/lib/typescript/module/tab-bar/glyph.native.d.ts +6 -0
  379. package/lib/typescript/module/tab-bar/glyph.native.d.ts.map +1 -0
  380. package/lib/typescript/module/tab-bar/index.d.ts +12 -0
  381. package/lib/typescript/module/tab-bar/index.d.ts.map +1 -0
  382. package/lib/typescript/module/tab-bar/index.web.d.ts +12 -0
  383. package/lib/typescript/module/tab-bar/index.web.d.ts.map +1 -0
  384. package/lib/typescript/module/tab-bar/minimize-context.d.ts +51 -0
  385. package/lib/typescript/module/tab-bar/minimize-context.d.ts.map +1 -0
  386. package/lib/typescript/module/tab-bar/shared.d.ts +93 -0
  387. package/lib/typescript/module/tab-bar/shared.d.ts.map +1 -0
  388. package/lib/typescript/module/tab-bar/surface.d.ts +6 -0
  389. package/lib/typescript/module/tab-bar/surface.d.ts.map +1 -0
  390. package/lib/typescript/module/tab-bar/surface.native.d.ts +6 -0
  391. package/lib/typescript/module/tab-bar/surface.native.d.ts.map +1 -0
  392. package/lib/typescript/module/tab-bar/surface.web.d.ts +6 -0
  393. package/lib/typescript/module/tab-bar/surface.web.d.ts.map +1 -0
  394. package/lib/typescript/module/tab-bar/types.d.ts +85 -0
  395. package/lib/typescript/module/tab-bar/types.d.ts.map +1 -0
  396. package/lib/typescript/module/tabs/Tabs.d.ts.map +1 -1
  397. package/lib/typescript/module/toast/Positioner.d.ts +21 -0
  398. package/lib/typescript/module/toast/Positioner.d.ts.map +1 -0
  399. package/lib/typescript/module/toast/ToastContent.d.ts +14 -0
  400. package/lib/typescript/module/toast/ToastContent.d.ts.map +1 -0
  401. package/lib/typescript/module/toast/ToastHost.d.ts +6 -0
  402. package/lib/typescript/module/toast/ToastHost.d.ts.map +1 -0
  403. package/lib/typescript/module/toast/ToastHost.native.d.ts +6 -0
  404. package/lib/typescript/module/toast/ToastHost.native.d.ts.map +1 -0
  405. package/lib/typescript/module/toast/ToastIcon.d.ts +9 -0
  406. package/lib/typescript/module/toast/ToastIcon.d.ts.map +1 -0
  407. package/lib/typescript/module/toast/ToastRow.d.ts +80 -0
  408. package/lib/typescript/module/toast/ToastRow.d.ts.map +1 -0
  409. package/lib/typescript/module/toast/ToastSwipeHandler.d.ts +30 -0
  410. package/lib/typescript/module/toast/ToastSwipeHandler.d.ts.map +1 -0
  411. package/lib/typescript/module/toast/Toaster.d.ts +19 -0
  412. package/lib/typescript/module/toast/Toaster.d.ts.map +1 -0
  413. package/lib/typescript/module/toast/animations.d.ts +62 -0
  414. package/lib/typescript/module/toast/animations.d.ts.map +1 -0
  415. package/lib/typescript/module/toast/constants.d.ts +39 -0
  416. package/lib/typescript/module/toast/constants.d.ts.map +1 -0
  417. package/lib/typescript/module/toast/context.d.ts +19 -0
  418. package/lib/typescript/module/toast/context.d.ts.map +1 -0
  419. package/lib/typescript/module/toast/index.d.ts +23 -76
  420. package/lib/typescript/module/toast/index.d.ts.map +1 -1
  421. package/lib/typescript/module/toast/position-utils.d.ts +30 -0
  422. package/lib/typescript/module/toast/position-utils.d.ts.map +1 -0
  423. package/lib/typescript/module/toast/positioner-utils.d.ts +72 -0
  424. package/lib/typescript/module/toast/positioner-utils.d.ts.map +1 -0
  425. package/lib/typescript/module/toast/toast-comparator.d.ts +12 -0
  426. package/lib/typescript/module/toast/toast-comparator.d.ts.map +1 -0
  427. package/lib/typescript/module/toast/toast-fns.d.ts +3 -0
  428. package/lib/typescript/module/toast/toast-fns.d.ts.map +1 -0
  429. package/lib/typescript/module/toast/toast-store.d.ts +52 -0
  430. package/lib/typescript/module/toast/toast-store.d.ts.map +1 -0
  431. package/lib/typescript/module/toast/toast-timers.d.ts +24 -0
  432. package/lib/typescript/module/toast/toast-timers.d.ts.map +1 -0
  433. package/lib/typescript/module/toast/types.d.ts +222 -5
  434. package/lib/typescript/module/toast/types.d.ts.map +1 -1
  435. package/lib/typescript/module/toast/use-animated-target.d.ts +7 -0
  436. package/lib/typescript/module/toast/use-animated-target.d.ts.map +1 -0
  437. package/lib/typescript/module/toast/use-app-state.d.ts +18 -0
  438. package/lib/typescript/module/toast/use-app-state.d.ts.map +1 -0
  439. package/lib/typescript/module/toast/use-toast-colors.d.ts +22 -0
  440. package/lib/typescript/module/toast/use-toast-colors.d.ts.map +1 -0
  441. package/lib/typescript/module/toast/use-toast-position.d.ts +37 -0
  442. package/lib/typescript/module/toast/use-toast-position.d.ts.map +1 -0
  443. package/lib/typescript/module/tooltip/index.web.d.ts.map +1 -1
  444. package/lib/typescript/module/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
  445. package/package.json +63 -25
  446. package/src/__tests__/TabBar.test.tsx +342 -0
  447. package/src/__tests__/TabBarReanimatedDeps.test.ts +130 -0
  448. package/src/__tests__/TabBarWebFork.test.ts +197 -0
  449. package/src/__tests__/ToastContent.test.tsx +192 -0
  450. package/src/__tests__/ToastHostWebFork.test.ts +155 -0
  451. package/src/__tests__/Toaster.test.tsx +527 -0
  452. package/src/__tests__/animated-style-deps.test.ts +156 -0
  453. package/src/__tests__/toast-animations.test.ts +98 -0
  454. package/src/__tests__/toast-comparator.test.ts +131 -0
  455. package/src/__tests__/toast-enter-driver.test.ts +147 -0
  456. package/src/__tests__/toast-fns.test.ts +240 -0
  457. package/src/__tests__/toast-position-utils.test.ts +259 -0
  458. package/src/__tests__/toast-positioner-utils.test.ts +214 -0
  459. package/src/__tests__/toast-store.test.ts +622 -0
  460. package/src/__tests__/toast-timers.test.ts +163 -0
  461. package/src/__tests__/use-animated-target.test.tsx +60 -0
  462. package/src/__tests__/use-app-state.test.tsx +127 -0
  463. package/src/__tests__/use-toast-colors.test.tsx +189 -0
  464. package/src/__tests__/web-position-fixed.test.ts +70 -0
  465. package/src/avatar-group/AvatarGroup.web.tsx +2 -1
  466. package/src/bottom-sheet/index.web.tsx +4 -3
  467. package/src/context-menu/index.web.tsx +6 -6
  468. package/src/dialog/Dialog.tsx +7 -4
  469. package/src/dialog/Dialog.web.tsx +14 -14
  470. package/src/dialog/DialogHeader.tsx +72 -17
  471. package/src/index.ts +4 -1
  472. package/src/index.web.ts +4 -1
  473. package/src/menu/index.web.tsx +5 -5
  474. package/src/popover/index.web.tsx +8 -6
  475. package/src/portal/index.tsx +4 -1
  476. package/src/progressive-blur/index.tsx +78 -0
  477. package/src/progressive-blur/index.web.tsx +65 -0
  478. package/src/progressive-blur/shared.ts +81 -0
  479. package/src/progressive-blur/types.ts +21 -0
  480. package/src/select/index.web.tsx +5 -5
  481. package/src/slider/Slider.tsx +3 -5
  482. package/src/styles/web-view-style.ts +21 -0
  483. package/src/switch/Switch.tsx +4 -5
  484. package/src/tab-bar/TabBar.stories.tsx +217 -0
  485. package/src/tab-bar/TabBarBase.tsx +517 -0
  486. package/src/tab-bar/expo-router/RouterTabBar.tsx +80 -0
  487. package/src/tab-bar/expo-router/fading-tab-screen.tsx +109 -0
  488. package/src/tab-bar/expo-router/index.ts +13 -0
  489. package/src/tab-bar/glyph.native.tsx +46 -0
  490. package/src/tab-bar/glyph.tsx +31 -0
  491. package/src/tab-bar/index.ts +32 -0
  492. package/src/tab-bar/index.web.tsx +34 -0
  493. package/src/tab-bar/minimize-context.tsx +117 -0
  494. package/src/tab-bar/shared.ts +159 -0
  495. package/src/tab-bar/surface.native.tsx +60 -0
  496. package/src/tab-bar/surface.tsx +47 -0
  497. package/src/tab-bar/surface.web.tsx +56 -0
  498. package/src/tab-bar/types.ts +88 -0
  499. package/src/tabs/Tabs.tsx +3 -5
  500. package/src/toast/Positioner.tsx +121 -0
  501. package/src/toast/Toast.stories.tsx +292 -65
  502. package/src/toast/ToastContent.tsx +405 -0
  503. package/src/toast/ToastHost.native.tsx +31 -0
  504. package/src/toast/ToastHost.tsx +67 -0
  505. package/src/toast/ToastIcon.tsx +55 -0
  506. package/src/toast/ToastRow.tsx +485 -0
  507. package/src/toast/ToastSwipeHandler.tsx +222 -0
  508. package/src/toast/Toaster.tsx +259 -0
  509. package/src/toast/animations.ts +313 -0
  510. package/src/toast/constants.ts +76 -0
  511. package/src/toast/context.tsx +44 -0
  512. package/src/toast/index.tsx +47 -123
  513. package/src/toast/position-utils.ts +149 -0
  514. package/src/toast/positioner-utils.ts +142 -0
  515. package/src/toast/toast-comparator.ts +41 -0
  516. package/src/toast/toast-fns.ts +104 -0
  517. package/src/toast/toast-store.ts +432 -0
  518. package/src/toast/toast-timers.ts +124 -0
  519. package/src/toast/types.ts +301 -5
  520. package/src/toast/use-animated-target.ts +61 -0
  521. package/src/toast/use-app-state.ts +77 -0
  522. package/src/toast/use-toast-colors.ts +133 -0
  523. package/src/toast/use-toast-position.ts +46 -0
  524. package/src/tooltip/index.web.tsx +2 -1
  525. package/src/zoomable-image-gallery/ZoomableImageGallery.stories.tsx +134 -0
  526. package/src/zoomable-image-gallery/ZoomableImageGallery.tsx +50 -27
  527. package/lib/commonjs/toast/Toast.js +0 -272
  528. package/lib/commonjs/toast/Toast.js.map +0 -1
  529. package/lib/commonjs/toast/const.js +0 -8
  530. package/lib/commonjs/toast/const.js.map +0 -1
  531. package/lib/commonjs/toast/index.web.js +0 -114
  532. package/lib/commonjs/toast/index.web.js.map +0 -1
  533. package/lib/commonjs/toast/sonner/index.js +0 -9
  534. package/lib/commonjs/toast/sonner/index.js.map +0 -1
  535. package/lib/commonjs/toast/sonner/index.web.js +0 -9
  536. package/lib/commonjs/toast/sonner/index.web.js.map +0 -1
  537. package/lib/module/toast/Toast.js +0 -263
  538. package/lib/module/toast/Toast.js.map +0 -1
  539. package/lib/module/toast/const.js +0 -4
  540. package/lib/module/toast/const.js.map +0 -1
  541. package/lib/module/toast/index.web.js +0 -74
  542. package/lib/module/toast/index.web.js.map +0 -1
  543. package/lib/module/toast/sonner/index.js +0 -5
  544. package/lib/module/toast/sonner/index.js.map +0 -1
  545. package/lib/module/toast/sonner/index.web.js +0 -5
  546. package/lib/module/toast/sonner/index.web.js.map +0 -1
  547. package/lib/typescript/commonjs/toast/Toast.d.ts +0 -23
  548. package/lib/typescript/commonjs/toast/Toast.d.ts.map +0 -1
  549. package/lib/typescript/commonjs/toast/const.d.ts +0 -2
  550. package/lib/typescript/commonjs/toast/const.d.ts.map +0 -1
  551. package/lib/typescript/commonjs/toast/index.web.d.ts +0 -29
  552. package/lib/typescript/commonjs/toast/index.web.d.ts.map +0 -1
  553. package/lib/typescript/commonjs/toast/sonner/index.d.ts +0 -2
  554. package/lib/typescript/commonjs/toast/sonner/index.d.ts.map +0 -1
  555. package/lib/typescript/commonjs/toast/sonner/index.web.d.ts +0 -2
  556. package/lib/typescript/commonjs/toast/sonner/index.web.d.ts.map +0 -1
  557. package/lib/typescript/module/toast/Toast.d.ts +0 -23
  558. package/lib/typescript/module/toast/Toast.d.ts.map +0 -1
  559. package/lib/typescript/module/toast/const.d.ts +0 -2
  560. package/lib/typescript/module/toast/const.d.ts.map +0 -1
  561. package/lib/typescript/module/toast/index.web.d.ts +0 -29
  562. package/lib/typescript/module/toast/index.web.d.ts.map +0 -1
  563. package/lib/typescript/module/toast/sonner/index.d.ts +0 -2
  564. package/lib/typescript/module/toast/sonner/index.d.ts.map +0 -1
  565. package/lib/typescript/module/toast/sonner/index.web.d.ts +0 -2
  566. package/lib/typescript/module/toast/sonner/index.web.d.ts.map +0 -1
  567. package/src/toast/Toast.tsx +0 -271
  568. package/src/toast/const.ts +0 -1
  569. package/src/toast/index.web.tsx +0 -101
  570. package/src/toast/sonner/index.ts +0 -3
  571. package/src/toast/sonner/index.web.ts +0 -3
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RouterTabBar = RouterTabBar;
7
+ exports.RouterTabBarButton = RouterTabBarButton;
8
+ var _index = require("../index.js");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
12
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
13
+ *
14
+ * expo-router bindings for the tab bar. This subpath
15
+ * (`@oxyhq/bloom/tab-bar/expo-router`) is the ONLY place in Bloom that may
16
+ * import `expo-router` or `react-native-screens`, which is why it is a separate
17
+ * entry: the core `@oxyhq/bloom/tab-bar` stays usable in an app with no router
18
+ * at all, and neither optional peer is pulled into a bundle that never asks for
19
+ * it.
20
+ */
21
+
22
+ /**
23
+ * `activeIndex` is omitted deliberately: with a router the highlight is driven
24
+ * by each trigger's own focus (see `RouterTabBarButton`), which is what keeps it
25
+ * correct through deep links, back gestures and any other programmatic
26
+ * navigation. Setting both would put two writers on one shared value.
27
+ */
28
+
29
+ /**
30
+ * The bar, as expo-router's `<TabList asChild>` child.
31
+ *
32
+ * Navigation happens through `onIndexChange`, not through the triggers: the
33
+ * bar's gesture detector consumes the touches (that is what makes scrubbing
34
+ * possible), so a tap never reaches the trigger's own `Pressable`.
35
+ *
36
+ * ```tsx
37
+ * <TabList asChild>
38
+ * <RouterTabBar onIndexChange={(i) => router.navigate(TABS[i].href)}>
39
+ * {TABS.map(({ href, ...item }, index) => (
40
+ * <TabTrigger key={item.name} name={item.name} href={href} asChild>
41
+ * <RouterTabBarButton item={item} index={index} />
42
+ * </TabTrigger>
43
+ * ))}
44
+ * </RouterTabBar>
45
+ * </TabList>
46
+ * ```
47
+ */
48
+ function RouterTabBar({
49
+ // `asChild` is `TabList`'s own instruction to forward its props to this
50
+ // component instead of wrapping them in a `<View>`. It is consumed there and
51
+ // is meaningless below, so it is dropped rather than passed to a real view.
52
+ asChild: _asChild,
53
+ ...props
54
+ }) {
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TabBar, {
56
+ ...props
57
+ });
58
+ }
59
+ RouterTabBar.displayName = 'RouterTabBar';
60
+
61
+ /**
62
+ * One trigger, as expo-router's `<TabTrigger asChild>` child. The trigger
63
+ * supplies `isFocused` and `onPress`; the button uses the first to drive the
64
+ * highlight and the second to navigate on keyboard / assistive-technology
65
+ * activation.
66
+ */
67
+ function RouterTabBarButton({
68
+ item,
69
+ index,
70
+ // The trigger's resolved path, injected for react-native-web's anchor
71
+ // rendering. `Pressable` has no such prop, and navigation already runs
72
+ // through the bar's `onIndexChange`, so it stops here.
73
+ href: _href,
74
+ ...props
75
+ }) {
76
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TabBarButton, {
77
+ ...props,
78
+ item: item,
79
+ index: index
80
+ });
81
+ }
82
+ RouterTabBarButton.displayName = 'RouterTabBarButton';
83
+ //# sourceMappingURL=RouterTabBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_index","require","_jsxRuntime","RouterTabBar","asChild","_asChild","props","jsx","TabBar","displayName","RouterTabBarButton","item","index","href","_href","TabBarButton"],"sourceRoot":"../../../../src","sources":["tab-bar/expo-router/RouterTabBar.tsx"],"mappings":";;;;;;;AAaA,IAAAA,MAAA,GAAAC,OAAA;AAAgD,IAAAC,WAAA,GAAAD,OAAA;AAbhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,YAAYA,CAAC;EAC3B;EACA;EACA;EACAC,OAAO,EAAEC,QAAQ;EACjB,GAAGC;AACc,CAAC,EAAE;EACpB,oBAAO,IAAAJ,WAAA,CAAAK,GAAA,EAACP,MAAA,CAAAQ,MAAM;IAAA,GAAKF;EAAK,CAAG,CAAC;AAC9B;AAEAH,YAAY,CAACM,WAAW,GAAG,cAAc;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAAC;EACjCC,IAAI;EACJC,KAAK;EACL;EACA;EACA;EACAC,IAAI,EAAEC,KAAK;EACX,GAAGR;AACoB,CAAC,EAAE;EAC1B,oBAAO,IAAAJ,WAAA,CAAAK,GAAA,EAACP,MAAA,CAAAe,YAAY;IAAA,GAAKT,KAAK;IAAEK,IAAI,EAAEA,IAAK;IAACC,KAAK,EAAEA;EAAM,CAAE,CAAC;AAC9D;AAEAF,kBAAkB,CAACD,WAAW,GAAG,oBAAoB","ignoreList":[]}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.renderFadingTabScreen = renderFadingTabScreen;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
+ var _reactNativeScreens = require("react-native-screens");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ /**
14
+ * Ported from expo-glass-tabs v0.1.1 — src/fading-tab-slot.tsx
15
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
16
+ */
17
+
18
+ /** Strong ease-out — entering content should feel instant, then settle. */
19
+ const EASE_OUT = _reactNativeReanimated.Easing.bezier(0.23, 1, 0.32, 1);
20
+ const ENTER_DURATION = 220;
21
+ /** Never enter from nothing: a whisper of depth, no zoom. */
22
+ const ENTER_SCALE = 0.985;
23
+ function FadeIn({
24
+ focused,
25
+ children
26
+ }) {
27
+ const progress = (0, _reactNativeReanimated.useSharedValue)(1);
28
+ const isFirstRender = (0, _react.useRef)(true);
29
+ (0, _react.useEffect)(() => {
30
+ // Don't animate the very first screen on app launch.
31
+ if (isFirstRender.current) {
32
+ isFirstRender.current = false;
33
+ return;
34
+ }
35
+ if (focused) {
36
+ progress.value = 0;
37
+ progress.value = (0, _reactNativeReanimated.withTiming)(1, {
38
+ duration: ENTER_DURATION,
39
+ easing: EASE_OUT
40
+ });
41
+ } else {
42
+ // Outgoing screen hides instantly (display: none) — only entries animate.
43
+ progress.value = 0;
44
+ }
45
+ }, [focused, progress]);
46
+
47
+ // `progress` must stay in the deps array — see the CRITICAL note in
48
+ // `TabBarBase`: without the worklets babel plugin (web) an omitted array
49
+ // freezes the mapper at the first frame, and every tab would enter invisible.
50
+ const style = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
51
+ opacity: progress.value,
52
+ transform: [{
53
+ scale: (0, _reactNativeReanimated.interpolate)(progress.value, [0, 1], [ENTER_SCALE, 1])
54
+ }]
55
+ }), [progress]);
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
57
+ style: [styles.fade, style],
58
+ children: children
59
+ });
60
+ }
61
+
62
+ /**
63
+ * Drop-in for `TabSlot`'s `renderFn`: identical to expo-router's default render,
64
+ * plus a subtle fade + micro-scale on the screen becoming focused.
65
+ *
66
+ * ```tsx
67
+ * <TabSlot style={{ height: '100%' }} renderFn={renderFadingTabScreen} />
68
+ * ```
69
+ */
70
+ function renderFadingTabScreen(descriptor, {
71
+ isFocused,
72
+ loaded,
73
+ detachInactiveScreens
74
+ }) {
75
+ const {
76
+ lazy = true,
77
+ unmountOnBlur,
78
+ freezeOnBlur
79
+ } = descriptor.options;
80
+ if (unmountOnBlur && !isFocused) {
81
+ return null;
82
+ }
83
+ if (lazy && !loaded && !isFocused) {
84
+ return null;
85
+ }
86
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.Screen, {
87
+ enabled: detachInactiveScreens,
88
+ activityState: isFocused ? 2 : 0,
89
+ freezeOnBlur: freezeOnBlur,
90
+ style: [styles.screen, isFocused ? styles.focused : styles.unfocused],
91
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(FadeIn, {
92
+ focused: isFocused,
93
+ children: descriptor.render()
94
+ })
95
+ }, descriptor.route.key);
96
+ }
97
+ const styles = _reactNative.StyleSheet.create({
98
+ fade: {
99
+ flex: 1
100
+ },
101
+ screen: {
102
+ flex: 1,
103
+ position: 'relative',
104
+ height: '100%'
105
+ },
106
+ focused: {
107
+ zIndex: 1,
108
+ display: 'flex',
109
+ flexShrink: 0,
110
+ flexGrow: 1
111
+ },
112
+ unfocused: {
113
+ zIndex: -1,
114
+ display: 'none',
115
+ flexShrink: 1,
116
+ flexGrow: 0
117
+ }
118
+ });
119
+ //# sourceMappingURL=fading-tab-screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EASE_OUT","Easing","bezier","ENTER_DURATION","ENTER_SCALE","FadeIn","focused","children","progress","useSharedValue","isFirstRender","useRef","useEffect","current","value","withTiming","duration","easing","style","useAnimatedStyle","opacity","transform","scale","interpolate","jsx","View","styles","fade","renderFadingTabScreen","descriptor","isFocused","loaded","detachInactiveScreens","lazy","unmountOnBlur","freezeOnBlur","options","Screen","enabled","activityState","screen","unfocused","render","route","key","StyleSheet","create","flex","position","height","zIndex","display","flexShrink","flexGrow"],"sourceRoot":"../../../../src","sources":["tab-bar/expo-router/fading-tab-screen.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "RouterTabBar", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _RouterTabBar.RouterTabBar;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "RouterTabBarButton", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _RouterTabBar.RouterTabBarButton;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "renderFadingTabScreen", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _fadingTabScreen.renderFadingTabScreen;
22
+ }
23
+ });
24
+ var _RouterTabBar = require("./RouterTabBar.js");
25
+ var _fadingTabScreen = require("./fading-tab-screen.js");
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_RouterTabBar","require","_fadingTabScreen"],"sourceRoot":"../../../../src","sources":["tab-bar/expo-router/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAAA,aAAA,GAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TabBarGlyph = TabBarGlyph;
7
+ var _reactNative = require("react-native");
8
+ var _shared = require("../frosted-icon-button/shared.js");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
12
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
13
+ *
14
+ * NEUTRAL default variant of a tab glyph: renders the item's own `icon` node,
15
+ * tinted for this crossfade layer.
16
+ *
17
+ * `item.icon` is the primary icon API for the whole family — a Bloom icon
18
+ * element, exactly like `TabsTrigger` and `FrostedIconButton` take. `sfSymbol`
19
+ * is an iOS-only enhancement and is deliberately ignored here: this file is
20
+ * resolved by web bundlers and by a consumer's `tsc`, where a static
21
+ * `expo-symbols` import would break resolution. See `glyph.native.tsx` for the
22
+ * variant that consumes it. Both implement `TabBarGlyphProps` exactly.
23
+ */
24
+
25
+ function TabBarGlyph({
26
+ item,
27
+ tint,
28
+ size
29
+ }) {
30
+ // The tint is injected as the icon's `fill` FALLBACK — an icon that sets its
31
+ // own `fill` (a brand mark, say) keeps it, so the crossfade layers simply
32
+ // render it twice at full opacity and it never flickers.
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
34
+ style: {
35
+ height: size,
36
+ alignItems: 'center',
37
+ justifyContent: 'center'
38
+ },
39
+ children: (0, _shared.applyIconColor)(item.icon, tint)
40
+ });
41
+ }
42
+ TabBarGlyph.displayName = 'TabBarGlyph';
43
+ //# sourceMappingURL=glyph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_shared","_jsxRuntime","TabBarGlyph","item","tint","size","jsx","View","style","height","alignItems","justifyContent","children","applyIconColor","icon","displayName"],"sourceRoot":"../../../src","sources":["tab-bar/glyph.tsx"],"mappings":";;;;;;AAcA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAA+D,IAAAE,WAAA,GAAAF,OAAA;AAhB/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,SAASG,WAAWA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC;AAAuB,CAAC,EAAE;EAClE;EACA;EACA;EACA,oBACE,IAAAJ,WAAA,CAAAK,GAAA,EAACR,YAAA,CAAAS,IAAI;IAACC,KAAK,EAAE;MAAEC,MAAM,EAAEJ,IAAI;MAAEK,UAAU,EAAE,QAAQ;MAAEC,cAAc,EAAE;IAAS,CAAE;IAAAC,QAAA,EAC3E,IAAAC,sBAAc,EAACV,IAAI,CAACW,IAAI,EAAEV,IAAI;EAAC,CAC5B,CAAC;AAEX;AAEAF,WAAW,CAACa,WAAW,GAAG,aAAa","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TabBarGlyph = TabBarGlyph;
7
+ var _expoSymbols = require("expo-symbols");
8
+ var _reactNative = require("react-native");
9
+ var _shared = require("../frosted-icon-button/shared.js");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ /**
12
+ * Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
13
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
14
+ *
15
+ * NATIVE variant of a tab glyph. Identical to the neutral variant except that
16
+ * an item carrying an `sfSymbol` renders as a real SF Symbol on iOS: the system
17
+ * glyph set, weight-matched to the platform and tinted natively.
18
+ *
19
+ * `expo-symbols` is imported STATICALLY and only here — Metro selects `.native`
20
+ * on iOS/Android, so it never reaches a web bundle or a consumer's type-check
21
+ * (see the neutral `glyph.tsx` sibling). Android has no SF Symbols, so it falls
22
+ * through to the item's own icon node, which every item provides.
23
+ */
24
+
25
+ function TabBarGlyph({
26
+ item,
27
+ tint,
28
+ size
29
+ }) {
30
+ if (item.sfSymbol && _reactNative.Platform.OS === 'ios') {
31
+ // `TabBarItem.sfSymbol` is a plain `string` because `types.ts` may import
32
+ // from react/react-native only — pulling `expo-symbols`' `SFSymbol` union
33
+ // into the public type would drag a native-only package into every web
34
+ // bundle and every consumer's type-check. The narrowing happens here, at
35
+ // the single boundary where the symbol reaches the native view; an unknown
36
+ // name renders nothing rather than crashing, which is why no runtime
37
+ // validation is warranted.
38
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_expoSymbols.SymbolView, {
39
+ name: item.sfSymbol,
40
+ tintColor: tint,
41
+ size: size,
42
+ weight: "semibold"
43
+ });
44
+ }
45
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
46
+ style: {
47
+ height: size,
48
+ alignItems: 'center',
49
+ justifyContent: 'center'
50
+ },
51
+ children: (0, _shared.applyIconColor)(item.icon, tint)
52
+ });
53
+ }
54
+ TabBarGlyph.displayName = 'TabBarGlyph';
55
+ //# sourceMappingURL=glyph.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_expoSymbols","require","_reactNative","_shared","_jsxRuntime","TabBarGlyph","item","tint","size","sfSymbol","Platform","OS","jsx","SymbolView","name","tintColor","weight","View","style","height","alignItems","justifyContent","children","applyIconColor","icon","displayName"],"sourceRoot":"../../../src","sources":["tab-bar/glyph.native.tsx"],"mappings":";;;;;;AAaA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAA+D,IAAAG,WAAA,GAAAH,OAAA;AAhB/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOO,SAASI,WAAWA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC;AAAuB,CAAC,EAAE;EAClE,IAAIF,IAAI,CAACG,QAAQ,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IAC1C;IACA;IACA;IACA;IACA;IACA;IACA;IACA,oBACE,IAAAP,WAAA,CAAAQ,GAAA,EAACZ,YAAA,CAAAa,UAAU;MACTC,IAAI,EAAER,IAAI,CAACG,QAAqB;MAChCM,SAAS,EAAER,IAAK;MAChBC,IAAI,EAAEA,IAAK;MACXQ,MAAM,EAAC;IAAU,CAClB,CAAC;EAEN;EAEA,oBACE,IAAAZ,WAAA,CAAAQ,GAAA,EAACV,YAAA,CAAAe,IAAI;IAACC,KAAK,EAAE;MAAEC,MAAM,EAAEX,IAAI;MAAEY,UAAU,EAAE,QAAQ;MAAEC,cAAc,EAAE;IAAS,CAAE;IAAAC,QAAA,EAC3E,IAAAC,sBAAc,EAACjB,IAAI,CAACkB,IAAI,EAAEjB,IAAI;EAAC,CAC5B,CAAC;AAEX;AAEAF,WAAW,CAACoB,WAAW,GAAG,aAAa","ignoreList":[]}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "MINIMIZE_SPRING", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _minimizeContext.MINIMIZE_SPRING;
10
+ }
11
+ });
12
+ exports.TabBarButton = exports.TabBar = void 0;
13
+ Object.defineProperty(exports, "TabBarMinimizeProvider", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _minimizeContext.TabBarMinimizeProvider;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "setMinimized", {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _minimizeContext.setMinimized;
23
+ }
24
+ });
25
+ Object.defineProperty(exports, "useMinimizeOnScroll", {
26
+ enumerable: true,
27
+ get: function () {
28
+ return _minimizeContext.useMinimizeOnScroll;
29
+ }
30
+ });
31
+ Object.defineProperty(exports, "useMinimizeState", {
32
+ enumerable: true,
33
+ get: function () {
34
+ return _minimizeContext.useMinimizeState;
35
+ }
36
+ });
37
+ Object.defineProperty(exports, "useTabBarMinimized", {
38
+ enumerable: true,
39
+ get: function () {
40
+ return _minimizeContext.useTabBarMinimized;
41
+ }
42
+ });
43
+ var _progressiveBlur = require("../progressive-blur");
44
+ var _TabBarBase = require("./TabBarBase.js");
45
+ var _glyph = require("./glyph");
46
+ var _surface = require("./surface");
47
+ var _minimizeContext = require("./minimize-context.js");
48
+ /**
49
+ * Ported from expo-glass-tabs v0.1.1 — src/index.ts
50
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
51
+ *
52
+ * DEFAULT entry for `@oxyhq/bloom/tab-bar`.
53
+ *
54
+ * The platform pieces are imported by their BARE relative name so Metro's
55
+ * platform-extension resolution picks `surface.native.tsx` / `glyph.native.tsx`
56
+ * on iOS and Android, and every other resolver falls back to the neutral
57
+ * `surface.tsx` / `glyph.tsx`. Both neutral files, and everything else this
58
+ * module reaches, are free of native-only imports, so a consumer's `tsc` and a
59
+ * non-Metro bundler resolve this entry cleanly. Web bundlers select
60
+ * `index.web.tsx` instead, through the package's `browser` export condition.
61
+ */
62
+
63
+ const TabBar = exports.TabBar = (0, _TabBarBase.createTabBar)(_surface.TabBarSurface, _progressiveBlur.ProgressiveBlur);
64
+ const TabBarButton = exports.TabBarButton = (0, _TabBarBase.createTabBarButton)(_glyph.TabBarGlyph);
65
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_progressiveBlur","require","_TabBarBase","_glyph","_surface","_minimizeContext","TabBar","exports","createTabBar","TabBarSurface","ProgressiveBlur","TabBarButton","createTabBarButton","TabBarGlyph"],"sourceRoot":"../../../src","sources":["tab-bar/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,gBAAA,GAAAJ,OAAA;AAtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,MAAMK,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,wBAAY,EAACC,sBAAa,EAAEC,gCAAe,CAAC;AAC3D,MAAMC,YAAY,GAAAJ,OAAA,CAAAI,YAAA,GAAG,IAAAC,8BAAkB,EAACC,kBAAW,CAAC","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "MINIMIZE_SPRING", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _minimizeContext.MINIMIZE_SPRING;
10
+ }
11
+ });
12
+ exports.TabBarButton = exports.TabBar = void 0;
13
+ Object.defineProperty(exports, "TabBarMinimizeProvider", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _minimizeContext.TabBarMinimizeProvider;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "setMinimized", {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _minimizeContext.setMinimized;
23
+ }
24
+ });
25
+ Object.defineProperty(exports, "useMinimizeOnScroll", {
26
+ enumerable: true,
27
+ get: function () {
28
+ return _minimizeContext.useMinimizeOnScroll;
29
+ }
30
+ });
31
+ Object.defineProperty(exports, "useMinimizeState", {
32
+ enumerable: true,
33
+ get: function () {
34
+ return _minimizeContext.useMinimizeState;
35
+ }
36
+ });
37
+ Object.defineProperty(exports, "useTabBarMinimized", {
38
+ enumerable: true,
39
+ get: function () {
40
+ return _minimizeContext.useTabBarMinimized;
41
+ }
42
+ });
43
+ var _indexWeb = require("../progressive-blur/index.web.js");
44
+ var _TabBarBase = require("./TabBarBase.js");
45
+ var _glyph = require("./glyph");
46
+ var _surfaceWeb = require("./surface.web.js");
47
+ var _minimizeContext = require("./minimize-context.js");
48
+ /**
49
+ * Ported from expo-glass-tabs v0.1.1 — src/index.ts
50
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
51
+ *
52
+ * WEB entry for `@oxyhq/bloom/tab-bar`, selected through the package's
53
+ * `browser` export condition.
54
+ *
55
+ * The web modules are imported by their FULL `.web` name on purpose. Inside the
56
+ * published `lib/` every file is plain `.js` (`surface.js` next to
57
+ * `surface.web.js`), and no web bundler resolves a bare `./surface` to the
58
+ * `.web` sibling by extension — only Metro does that. Writing the fork path
59
+ * explicitly is the same thing the generated root barrel does
60
+ * (`src/index.web.ts` → `from './dialog/index.web'`). `./glyph` has no web fork:
61
+ * the neutral file already renders `item.icon`, which is the correct web
62
+ * behaviour, and it is what any resolver lands on here.
63
+ */
64
+
65
+ const TabBar = exports.TabBar = (0, _TabBarBase.createTabBar)(_surfaceWeb.TabBarSurface, _indexWeb.ProgressiveBlur);
66
+ const TabBarButton = exports.TabBarButton = (0, _TabBarBase.createTabBarButton)(_glyph.TabBarGlyph);
67
+ //# sourceMappingURL=index.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_indexWeb","require","_TabBarBase","_glyph","_surfaceWeb","_minimizeContext","TabBar","exports","createTabBar","TabBarSurface","ProgressiveBlur","TabBarButton","createTabBarButton","TabBarGlyph"],"sourceRoot":"../../../src","sources":["tab-bar/index.web.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAKA,IAAAI,gBAAA,GAAAJ,OAAA;AAxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,MAAMK,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,wBAAY,EAACC,yBAAa,EAAEC,yBAAe,CAAC;AAC3D,MAAMC,YAAY,GAAAJ,OAAA,CAAAI,YAAA,GAAG,IAAAC,8BAAkB,EAACC,kBAAW,CAAC","ignoreList":[]}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MINIMIZE_SPRING = void 0;
7
+ exports.TabBarMinimizeProvider = TabBarMinimizeProvider;
8
+ exports.setMinimized = setMinimized;
9
+ exports.useMinimizeOnScroll = useMinimizeOnScroll;
10
+ exports.useMinimizeState = useMinimizeState;
11
+ exports.useTabBarMinimized = useTabBarMinimized;
12
+ var _react = require("react");
13
+ var _reactNativeReanimated = require("react-native-reanimated");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ /**
16
+ * Ported from expo-glass-tabs v0.1.1 — src/minimize-context.tsx
17
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
18
+ *
19
+ * The shared 0..1 "minimize" progress the tab bar interpolates on, plus the
20
+ * scroll handler that drives it. Reanimated only — no platform imports.
21
+ */
22
+
23
+ /**
24
+ * Spring, not timing: scroll direction flips mid-animation constantly, and a
25
+ * spring retargets while preserving velocity — a timing curve would restart
26
+ * from zero and feel mechanical. Critically damped (ratio 1): no overshoot and
27
+ * no long settling tail, which matters because the bar animates layout.
28
+ */
29
+ const MINIMIZE_SPRING = exports.MINIMIZE_SPRING = {
30
+ duration: 380,
31
+ dampingRatio: 1
32
+ };
33
+
34
+ /** Scroll offset below which the bar is always expanded (px). */
35
+ const TOP_ZONE = 24;
36
+ /** Per-event scroll delta that counts as a deliberate direction change (px). */
37
+ const DIRECTION_THRESHOLD = 3;
38
+ const MinimizeContext = /*#__PURE__*/(0, _react.createContext)(null);
39
+
40
+ /**
41
+ * Wrap the tab tree once. Screens then call `useMinimizeOnScroll()` and the bar
42
+ * reads the same progress, so scrolling any screen minimizes the bar.
43
+ */
44
+ function TabBarMinimizeProvider({
45
+ children
46
+ }) {
47
+ const progress = (0, _reactNativeReanimated.useSharedValue)(0);
48
+ const target = (0, _reactNativeReanimated.useSharedValue)(0);
49
+ const state = (0, _react.useMemo)(() => ({
50
+ progress,
51
+ target
52
+ }), [progress, target]);
53
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(MinimizeContext.Provider, {
54
+ value: state,
55
+ children: children
56
+ });
57
+ }
58
+ TabBarMinimizeProvider.displayName = 'TabBarMinimizeProvider';
59
+
60
+ /** Full minimize state — used by the bar, the buttons and the scroll hook. */
61
+ function useMinimizeState() {
62
+ const shared = (0, _react.useContext)(MinimizeContext);
63
+ // Local fallback keeps screens working when rendered outside the provider
64
+ // (e.g. a web tab layout with no floating bar). Hooks run unconditionally so
65
+ // the order is stable whether or not a provider is present.
66
+ const progress = (0, _reactNativeReanimated.useSharedValue)(0);
67
+ const target = (0, _reactNativeReanimated.useSharedValue)(0);
68
+ const local = (0, _react.useMemo)(() => ({
69
+ progress,
70
+ target
71
+ }), [progress, target]);
72
+ return shared ?? local;
73
+ }
74
+
75
+ /** The animated 0..1 minimize progress (what styles interpolate on). */
76
+ function useTabBarMinimized() {
77
+ return useMinimizeState().progress;
78
+ }
79
+
80
+ /**
81
+ * Retarget the minimize spring — no-op when already heading to `next`, so
82
+ * per-frame scroll events never restart (and visibly stutter) the animation.
83
+ * Callable from both threads.
84
+ */
85
+ function setMinimized(state, next) {
86
+ 'worklet';
87
+
88
+ if (state.target.value !== next) {
89
+ state.target.value = next;
90
+ state.progress.value = (0, _reactNativeReanimated.withSpring)(next, MINIMIZE_SPRING);
91
+ }
92
+ }
93
+
94
+ /**
95
+ * Scroll handler for `Animated.ScrollView`. Scrolling down minimizes the tab
96
+ * bar, scrolling up (or being near the top) expands it. Offsets are clamped to
97
+ * the scrollable range so rubber-band overscroll can't flip the direction for a
98
+ * frame and flicker the bar.
99
+ */
100
+ function useMinimizeOnScroll() {
101
+ const state = useMinimizeState();
102
+ const previousY = (0, _reactNativeReanimated.useSharedValue)(0);
103
+
104
+ // CRITICAL — `state` and `previousY` must stay in the dependency array. On
105
+ // web WITHOUT the react-native-worklets babel plugin (the production reality
106
+ // for every Oxy RN-Web app) reanimated cannot auto-detect what a worklet
107
+ // reads, so it drives the handler off its deps instead; an omitted or empty
108
+ // array binds the handler once against the first render's values. Native
109
+ // (plugin present) auto-tracks and ignores the extra deps, so listing them is
110
+ // correct on both platforms. Same rule as every mapper in `TabBarBase`.
111
+ return (0, _reactNativeReanimated.useAnimatedScrollHandler)({
112
+ onScroll: event => {
113
+ const maxY = Math.max(event.contentSize.height - event.layoutMeasurement.height, 0);
114
+ const y = Math.min(Math.max(event.contentOffset.y, 0), maxY);
115
+ const dy = y - previousY.value;
116
+ previousY.value = y;
117
+ if (y < TOP_ZONE) {
118
+ setMinimized(state, 0);
119
+ } else if (dy > DIRECTION_THRESHOLD) {
120
+ setMinimized(state, 1);
121
+ } else if (dy < -DIRECTION_THRESHOLD) {
122
+ setMinimized(state, 0);
123
+ }
124
+ }
125
+ }, [state, previousY]);
126
+ }
127
+ //# sourceMappingURL=minimize-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_jsxRuntime","MINIMIZE_SPRING","exports","duration","dampingRatio","TOP_ZONE","DIRECTION_THRESHOLD","MinimizeContext","createContext","TabBarMinimizeProvider","children","progress","useSharedValue","target","state","useMemo","jsx","Provider","value","displayName","useMinimizeState","shared","useContext","local","useTabBarMinimized","setMinimized","next","withSpring","useMinimizeOnScroll","previousY","useAnimatedScrollHandler","onScroll","event","maxY","Math","max","contentSize","height","layoutMeasurement","y","min","contentOffset","dy"],"sourceRoot":"../../../src","sources":["tab-bar/minimize-context.tsx"],"mappings":"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","ignoreList":[]}