@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.
Files changed (567) 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 +2 -1
  6. package/lib/commonjs/bottom-sheet/index.web.js.map +1 -1
  7. package/lib/commonjs/context-menu/index.web.js +3 -2
  8. package/lib/commonjs/context-menu/index.web.js.map +1 -1
  9. package/lib/commonjs/dialog/Dialog.web.js +4 -3
  10. package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
  11. package/lib/commonjs/frosted-icon-button/shared.js +1 -1
  12. package/lib/commonjs/index.js +90 -83
  13. package/lib/commonjs/index.js.map +1 -1
  14. package/lib/commonjs/index.web.js +116 -109
  15. package/lib/commonjs/index.web.js.map +1 -1
  16. package/lib/commonjs/menu/index.web.js +2 -1
  17. package/lib/commonjs/menu/index.web.js.map +1 -1
  18. package/lib/commonjs/popover/index.web.js +3 -2
  19. package/lib/commonjs/popover/index.web.js.map +1 -1
  20. package/lib/commonjs/portal/index.js +4 -1
  21. package/lib/commonjs/portal/index.js.map +1 -1
  22. package/lib/commonjs/progressive-blur/index.js +79 -0
  23. package/lib/commonjs/progressive-blur/index.js.map +1 -0
  24. package/lib/commonjs/progressive-blur/index.web.js +67 -0
  25. package/lib/commonjs/progressive-blur/index.web.js.map +1 -0
  26. package/lib/commonjs/progressive-blur/shared.js +66 -0
  27. package/lib/commonjs/progressive-blur/shared.js.map +1 -0
  28. package/lib/commonjs/progressive-blur/types.js +6 -0
  29. package/lib/commonjs/progressive-blur/types.js.map +1 -0
  30. package/lib/commonjs/select/index.web.js +2 -1
  31. package/lib/commonjs/select/index.web.js.map +1 -1
  32. package/lib/commonjs/styles/web-view-style.js +26 -0
  33. package/lib/commonjs/styles/web-view-style.js.map +1 -0
  34. package/lib/commonjs/tab-bar/TabBarBase.js +415 -0
  35. package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -0
  36. package/lib/commonjs/tab-bar/expo-router/RouterTabBar.js +83 -0
  37. package/lib/commonjs/tab-bar/expo-router/RouterTabBar.js.map +1 -0
  38. package/lib/commonjs/tab-bar/expo-router/fading-tab-screen.js +119 -0
  39. package/lib/commonjs/tab-bar/expo-router/fading-tab-screen.js.map +1 -0
  40. package/lib/commonjs/tab-bar/expo-router/index.js +26 -0
  41. package/lib/commonjs/tab-bar/expo-router/index.js.map +1 -0
  42. package/lib/commonjs/tab-bar/glyph.js +43 -0
  43. package/lib/commonjs/tab-bar/glyph.js.map +1 -0
  44. package/lib/commonjs/tab-bar/glyph.native.js +55 -0
  45. package/lib/commonjs/tab-bar/glyph.native.js.map +1 -0
  46. package/lib/commonjs/tab-bar/index.js +65 -0
  47. package/lib/commonjs/tab-bar/index.js.map +1 -0
  48. package/lib/commonjs/tab-bar/index.web.js +67 -0
  49. package/lib/commonjs/tab-bar/index.web.js.map +1 -0
  50. package/lib/commonjs/tab-bar/minimize-context.js +127 -0
  51. package/lib/commonjs/tab-bar/minimize-context.js.map +1 -0
  52. package/lib/commonjs/tab-bar/shared.js +139 -0
  53. package/lib/commonjs/tab-bar/shared.js.map +1 -0
  54. package/lib/commonjs/tab-bar/surface-solid.js +43 -0
  55. package/lib/commonjs/tab-bar/surface-solid.js.map +1 -0
  56. package/lib/commonjs/tab-bar/surface.js +13 -0
  57. package/lib/commonjs/tab-bar/surface.js.map +1 -0
  58. package/lib/commonjs/tab-bar/surface.native.js +113 -0
  59. package/lib/commonjs/tab-bar/surface.native.js.map +1 -0
  60. package/lib/commonjs/tab-bar/surface.web.js +59 -0
  61. package/lib/commonjs/tab-bar/surface.web.js.map +1 -0
  62. package/lib/commonjs/tab-bar/types.js +6 -0
  63. package/lib/commonjs/tab-bar/types.js.map +1 -0
  64. package/lib/commonjs/toast/Positioner.js +117 -0
  65. package/lib/commonjs/toast/Positioner.js.map +1 -0
  66. package/lib/commonjs/toast/ToastContent.js +301 -0
  67. package/lib/commonjs/toast/ToastContent.js.map +1 -0
  68. package/lib/commonjs/toast/ToastHost.js +69 -0
  69. package/lib/commonjs/toast/ToastHost.js.map +1 -0
  70. package/lib/commonjs/toast/ToastHost.native.js +44 -0
  71. package/lib/commonjs/toast/ToastHost.native.js.map +1 -0
  72. package/lib/commonjs/toast/ToastIcon.js +57 -0
  73. package/lib/commonjs/toast/ToastIcon.js.map +1 -0
  74. package/lib/commonjs/toast/ToastRow.js +411 -0
  75. package/lib/commonjs/toast/ToastRow.js.map +1 -0
  76. package/lib/commonjs/toast/ToastSwipeHandler.js +189 -0
  77. package/lib/commonjs/toast/ToastSwipeHandler.js.map +1 -0
  78. package/lib/commonjs/toast/Toaster.js +205 -0
  79. package/lib/commonjs/toast/Toaster.js.map +1 -0
  80. package/lib/commonjs/toast/animations.js +274 -0
  81. package/lib/commonjs/toast/animations.js.map +1 -0
  82. package/lib/commonjs/toast/constants.js +56 -0
  83. package/lib/commonjs/toast/constants.js.map +1 -0
  84. package/lib/commonjs/toast/context.js +42 -0
  85. package/lib/commonjs/toast/context.js.map +1 -0
  86. package/lib/commonjs/toast/index.js +32 -126
  87. package/lib/commonjs/toast/index.js.map +1 -1
  88. package/lib/commonjs/toast/position-utils.js +115 -0
  89. package/lib/commonjs/toast/position-utils.js.map +1 -0
  90. package/lib/commonjs/toast/positioner-utils.js +141 -0
  91. package/lib/commonjs/toast/positioner-utils.js.map +1 -0
  92. package/lib/commonjs/toast/toast-comparator.js +28 -0
  93. package/lib/commonjs/toast/toast-comparator.js.map +1 -0
  94. package/lib/commonjs/toast/toast-fns.js +90 -0
  95. package/lib/commonjs/toast/toast-fns.js.map +1 -0
  96. package/lib/commonjs/toast/toast-store.js +352 -0
  97. package/lib/commonjs/toast/toast-store.js.map +1 -0
  98. package/lib/commonjs/toast/toast-timers.js +110 -0
  99. package/lib/commonjs/toast/toast-timers.js.map +1 -0
  100. package/lib/commonjs/toast/types.js +42 -0
  101. package/lib/commonjs/toast/types.js.map +1 -1
  102. package/lib/commonjs/toast/use-animated-target.js +57 -0
  103. package/lib/commonjs/toast/use-animated-target.js.map +1 -0
  104. package/lib/commonjs/toast/use-app-state.js +76 -0
  105. package/lib/commonjs/toast/use-app-state.js.map +1 -0
  106. package/lib/commonjs/toast/use-toast-colors.js +114 -0
  107. package/lib/commonjs/toast/use-toast-colors.js.map +1 -0
  108. package/lib/commonjs/toast/use-toast-position.js +40 -0
  109. package/lib/commonjs/toast/use-toast-position.js.map +1 -0
  110. package/lib/commonjs/tooltip/index.web.js +2 -1
  111. package/lib/commonjs/tooltip/index.web.js.map +1 -1
  112. package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js +20 -8
  113. package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
  114. package/lib/module/avatar-group/AvatarGroup.web.js +2 -1
  115. package/lib/module/avatar-group/AvatarGroup.web.js.map +1 -1
  116. package/lib/module/bottom-sheet/index.web.js +2 -1
  117. package/lib/module/bottom-sheet/index.web.js.map +1 -1
  118. package/lib/module/context-menu/index.web.js +3 -2
  119. package/lib/module/context-menu/index.web.js.map +1 -1
  120. package/lib/module/dialog/Dialog.web.js +4 -3
  121. package/lib/module/dialog/Dialog.web.js.map +1 -1
  122. package/lib/module/frosted-icon-button/shared.js +1 -1
  123. package/lib/module/index.js +3 -2
  124. package/lib/module/index.js.map +1 -1
  125. package/lib/module/index.web.js +3 -2
  126. package/lib/module/index.web.js.map +1 -1
  127. package/lib/module/menu/index.web.js +2 -1
  128. package/lib/module/menu/index.web.js.map +1 -1
  129. package/lib/module/popover/index.web.js +3 -2
  130. package/lib/module/popover/index.web.js.map +1 -1
  131. package/lib/module/portal/index.js +4 -1
  132. package/lib/module/portal/index.js.map +1 -1
  133. package/lib/module/progressive-blur/index.js +74 -0
  134. package/lib/module/progressive-blur/index.js.map +1 -0
  135. package/lib/module/progressive-blur/index.web.js +62 -0
  136. package/lib/module/progressive-blur/index.web.js.map +1 -0
  137. package/lib/module/progressive-blur/shared.js +60 -0
  138. package/lib/module/progressive-blur/shared.js.map +1 -0
  139. package/lib/module/progressive-blur/types.js +4 -0
  140. package/lib/module/progressive-blur/types.js.map +1 -0
  141. package/lib/module/select/index.web.js +2 -1
  142. package/lib/module/select/index.web.js.map +1 -1
  143. package/lib/module/styles/web-view-style.js +22 -0
  144. package/lib/module/styles/web-view-style.js.map +1 -0
  145. package/lib/module/tab-bar/TabBarBase.js +408 -0
  146. package/lib/module/tab-bar/TabBarBase.js.map +1 -0
  147. package/lib/module/tab-bar/expo-router/RouterTabBar.js +78 -0
  148. package/lib/module/tab-bar/expo-router/RouterTabBar.js.map +1 -0
  149. package/lib/module/tab-bar/expo-router/fading-tab-screen.js +113 -0
  150. package/lib/module/tab-bar/expo-router/fading-tab-screen.js.map +1 -0
  151. package/lib/module/tab-bar/expo-router/index.js +15 -0
  152. package/lib/module/tab-bar/expo-router/index.js.map +1 -0
  153. package/lib/module/tab-bar/glyph.js +38 -0
  154. package/lib/module/tab-bar/glyph.js.map +1 -0
  155. package/lib/module/tab-bar/glyph.native.js +50 -0
  156. package/lib/module/tab-bar/glyph.native.js.map +1 -0
  157. package/lib/module/tab-bar/index.js +24 -0
  158. package/lib/module/tab-bar/index.js.map +1 -0
  159. package/lib/module/tab-bar/index.web.js +26 -0
  160. package/lib/module/tab-bar/index.web.js.map +1 -0
  161. package/lib/module/tab-bar/minimize-context.js +118 -0
  162. package/lib/module/tab-bar/minimize-context.js.map +1 -0
  163. package/lib/module/tab-bar/shared.js +132 -0
  164. package/lib/module/tab-bar/shared.js.map +1 -0
  165. package/lib/module/tab-bar/surface-solid.js +37 -0
  166. package/lib/module/tab-bar/surface-solid.js.map +1 -0
  167. package/lib/module/tab-bar/surface.js +31 -0
  168. package/lib/module/tab-bar/surface.js.map +1 -0
  169. package/lib/module/tab-bar/surface.native.js +109 -0
  170. package/lib/module/tab-bar/surface.native.js.map +1 -0
  171. package/lib/module/tab-bar/surface.web.js +53 -0
  172. package/lib/module/tab-bar/surface.web.js.map +1 -0
  173. package/lib/module/tab-bar/types.js +4 -0
  174. package/lib/module/tab-bar/types.js.map +1 -0
  175. package/lib/module/toast/Positioner.js +110 -0
  176. package/lib/module/toast/Positioner.js.map +1 -0
  177. package/lib/module/toast/ToastContent.js +295 -0
  178. package/lib/module/toast/ToastContent.js.map +1 -0
  179. package/lib/module/toast/ToastHost.js +63 -0
  180. package/lib/module/toast/ToastHost.js.map +1 -0
  181. package/lib/module/toast/ToastHost.native.js +38 -0
  182. package/lib/module/toast/ToastHost.native.js.map +1 -0
  183. package/lib/module/toast/ToastIcon.js +52 -0
  184. package/lib/module/toast/ToastIcon.js.map +1 -0
  185. package/lib/module/toast/ToastRow.js +407 -0
  186. package/lib/module/toast/ToastRow.js.map +1 -0
  187. package/lib/module/toast/ToastSwipeHandler.js +182 -0
  188. package/lib/module/toast/ToastSwipeHandler.js.map +1 -0
  189. package/lib/module/toast/Toaster.js +198 -0
  190. package/lib/module/toast/Toaster.js.map +1 -0
  191. package/lib/module/toast/animations.js +261 -0
  192. package/lib/module/toast/animations.js.map +1 -0
  193. package/lib/module/toast/constants.js +52 -0
  194. package/lib/module/toast/constants.js.map +1 -0
  195. package/lib/module/toast/context.js +34 -0
  196. package/lib/module/toast/context.js.map +1 -0
  197. package/lib/module/toast/index.js +27 -103
  198. package/lib/module/toast/index.js.map +1 -1
  199. package/lib/module/toast/position-utils.js +107 -0
  200. package/lib/module/toast/position-utils.js.map +1 -0
  201. package/lib/module/toast/positioner-utils.js +134 -0
  202. package/lib/module/toast/positioner-utils.js.map +1 -0
  203. package/lib/module/toast/toast-comparator.js +22 -0
  204. package/lib/module/toast/toast-comparator.js.map +1 -0
  205. package/lib/module/toast/toast-fns.js +85 -0
  206. package/lib/module/toast/toast-fns.js.map +1 -0
  207. package/lib/module/toast/toast-store.js +346 -0
  208. package/lib/module/toast/toast-store.js.map +1 -0
  209. package/lib/module/toast/toast-timers.js +104 -0
  210. package/lib/module/toast/toast-timers.js.map +1 -0
  211. package/lib/module/toast/types.js +38 -0
  212. package/lib/module/toast/types.js.map +1 -1
  213. package/lib/module/toast/use-animated-target.js +52 -0
  214. package/lib/module/toast/use-animated-target.js.map +1 -0
  215. package/lib/module/toast/use-app-state.js +70 -0
  216. package/lib/module/toast/use-app-state.js.map +1 -0
  217. package/lib/module/toast/use-toast-colors.js +109 -0
  218. package/lib/module/toast/use-toast-colors.js.map +1 -0
  219. package/lib/module/toast/use-toast-position.js +35 -0
  220. package/lib/module/toast/use-toast-position.js.map +1 -0
  221. package/lib/module/tooltip/index.web.js +2 -1
  222. package/lib/module/tooltip/index.web.js.map +1 -1
  223. package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js +20 -8
  224. package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
  225. package/lib/typescript/commonjs/avatar-group/AvatarGroup.web.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/benefit-list/types.d.ts +2 -1
  227. package/lib/typescript/commonjs/benefit-list/types.d.ts.map +1 -1
  228. package/lib/typescript/commonjs/bottom-sheet/index.web.d.ts.map +1 -1
  229. package/lib/typescript/commonjs/context-menu/index.web.d.ts.map +1 -1
  230. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
  231. package/lib/typescript/commonjs/fab/types.d.ts +4 -2
  232. package/lib/typescript/commonjs/fab/types.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/frosted-icon-button/shared.d.ts +1 -1
  234. package/lib/typescript/commonjs/frosted-icon-button/types.d.ts +2 -1
  235. package/lib/typescript/commonjs/frosted-icon-button/types.d.ts.map +1 -1
  236. package/lib/typescript/commonjs/index.d.ts +2 -1
  237. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  238. package/lib/typescript/commonjs/index.web.d.ts +2 -1
  239. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  240. package/lib/typescript/commonjs/menu/index.web.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/popover/index.web.d.ts.map +1 -1
  242. package/lib/typescript/commonjs/portal/index.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/progressive-blur/index.d.ts +23 -0
  244. package/lib/typescript/commonjs/progressive-blur/index.d.ts.map +1 -0
  245. package/lib/typescript/commonjs/progressive-blur/index.web.d.ts +30 -0
  246. package/lib/typescript/commonjs/progressive-blur/index.web.d.ts.map +1 -0
  247. package/lib/typescript/commonjs/progressive-blur/shared.d.ts +35 -0
  248. package/lib/typescript/commonjs/progressive-blur/shared.d.ts.map +1 -0
  249. package/lib/typescript/commonjs/progressive-blur/types.d.ts +21 -0
  250. package/lib/typescript/commonjs/progressive-blur/types.d.ts.map +1 -0
  251. package/lib/typescript/commonjs/select/index.web.d.ts.map +1 -1
  252. package/lib/typescript/commonjs/styles/web-view-style.d.ts +21 -0
  253. package/lib/typescript/commonjs/styles/web-view-style.d.ts.map +1 -0
  254. package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts +36 -0
  255. package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts.map +1 -0
  256. package/lib/typescript/commonjs/tab-bar/expo-router/RouterTabBar.d.ts +59 -0
  257. package/lib/typescript/commonjs/tab-bar/expo-router/RouterTabBar.d.ts.map +1 -0
  258. package/lib/typescript/commonjs/tab-bar/expo-router/fading-tab-screen.d.ts +11 -0
  259. package/lib/typescript/commonjs/tab-bar/expo-router/fading-tab-screen.d.ts.map +1 -0
  260. package/lib/typescript/commonjs/tab-bar/expo-router/index.d.ts +14 -0
  261. package/lib/typescript/commonjs/tab-bar/expo-router/index.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/tab-bar/glyph.d.ts +6 -0
  263. package/lib/typescript/commonjs/tab-bar/glyph.d.ts.map +1 -0
  264. package/lib/typescript/commonjs/tab-bar/glyph.native.d.ts +6 -0
  265. package/lib/typescript/commonjs/tab-bar/glyph.native.d.ts.map +1 -0
  266. package/lib/typescript/commonjs/tab-bar/index.d.ts +12 -0
  267. package/lib/typescript/commonjs/tab-bar/index.d.ts.map +1 -0
  268. package/lib/typescript/commonjs/tab-bar/index.web.d.ts +12 -0
  269. package/lib/typescript/commonjs/tab-bar/index.web.d.ts.map +1 -0
  270. package/lib/typescript/commonjs/tab-bar/minimize-context.d.ts +51 -0
  271. package/lib/typescript/commonjs/tab-bar/minimize-context.d.ts.map +1 -0
  272. package/lib/typescript/commonjs/tab-bar/shared.d.ts +93 -0
  273. package/lib/typescript/commonjs/tab-bar/shared.d.ts.map +1 -0
  274. package/lib/typescript/commonjs/tab-bar/surface-solid.d.ts +6 -0
  275. package/lib/typescript/commonjs/tab-bar/surface-solid.d.ts.map +1 -0
  276. package/lib/typescript/commonjs/tab-bar/surface.d.ts +29 -0
  277. package/lib/typescript/commonjs/tab-bar/surface.d.ts.map +1 -0
  278. package/lib/typescript/commonjs/tab-bar/surface.native.d.ts +6 -0
  279. package/lib/typescript/commonjs/tab-bar/surface.native.d.ts.map +1 -0
  280. package/lib/typescript/commonjs/tab-bar/surface.web.d.ts +6 -0
  281. package/lib/typescript/commonjs/tab-bar/surface.web.d.ts.map +1 -0
  282. package/lib/typescript/commonjs/tab-bar/types.d.ts +88 -0
  283. package/lib/typescript/commonjs/tab-bar/types.d.ts.map +1 -0
  284. package/lib/typescript/commonjs/toast/Positioner.d.ts +21 -0
  285. package/lib/typescript/commonjs/toast/Positioner.d.ts.map +1 -0
  286. package/lib/typescript/commonjs/toast/ToastContent.d.ts +14 -0
  287. package/lib/typescript/commonjs/toast/ToastContent.d.ts.map +1 -0
  288. package/lib/typescript/commonjs/toast/ToastHost.d.ts +6 -0
  289. package/lib/typescript/commonjs/toast/ToastHost.d.ts.map +1 -0
  290. package/lib/typescript/commonjs/toast/ToastHost.native.d.ts +6 -0
  291. package/lib/typescript/commonjs/toast/ToastHost.native.d.ts.map +1 -0
  292. package/lib/typescript/commonjs/toast/ToastIcon.d.ts +9 -0
  293. package/lib/typescript/commonjs/toast/ToastIcon.d.ts.map +1 -0
  294. package/lib/typescript/commonjs/toast/ToastRow.d.ts +80 -0
  295. package/lib/typescript/commonjs/toast/ToastRow.d.ts.map +1 -0
  296. package/lib/typescript/commonjs/toast/ToastSwipeHandler.d.ts +30 -0
  297. package/lib/typescript/commonjs/toast/ToastSwipeHandler.d.ts.map +1 -0
  298. package/lib/typescript/commonjs/toast/Toaster.d.ts +19 -0
  299. package/lib/typescript/commonjs/toast/Toaster.d.ts.map +1 -0
  300. package/lib/typescript/commonjs/toast/animations.d.ts +62 -0
  301. package/lib/typescript/commonjs/toast/animations.d.ts.map +1 -0
  302. package/lib/typescript/commonjs/toast/constants.d.ts +39 -0
  303. package/lib/typescript/commonjs/toast/constants.d.ts.map +1 -0
  304. package/lib/typescript/commonjs/toast/context.d.ts +19 -0
  305. package/lib/typescript/commonjs/toast/context.d.ts.map +1 -0
  306. package/lib/typescript/commonjs/toast/index.d.ts +23 -76
  307. package/lib/typescript/commonjs/toast/index.d.ts.map +1 -1
  308. package/lib/typescript/commonjs/toast/position-utils.d.ts +30 -0
  309. package/lib/typescript/commonjs/toast/position-utils.d.ts.map +1 -0
  310. package/lib/typescript/commonjs/toast/positioner-utils.d.ts +72 -0
  311. package/lib/typescript/commonjs/toast/positioner-utils.d.ts.map +1 -0
  312. package/lib/typescript/commonjs/toast/toast-comparator.d.ts +12 -0
  313. package/lib/typescript/commonjs/toast/toast-comparator.d.ts.map +1 -0
  314. package/lib/typescript/commonjs/toast/toast-fns.d.ts +3 -0
  315. package/lib/typescript/commonjs/toast/toast-fns.d.ts.map +1 -0
  316. package/lib/typescript/commonjs/toast/toast-store.d.ts +52 -0
  317. package/lib/typescript/commonjs/toast/toast-store.d.ts.map +1 -0
  318. package/lib/typescript/commonjs/toast/toast-timers.d.ts +24 -0
  319. package/lib/typescript/commonjs/toast/toast-timers.d.ts.map +1 -0
  320. package/lib/typescript/commonjs/toast/types.d.ts +222 -5
  321. package/lib/typescript/commonjs/toast/types.d.ts.map +1 -1
  322. package/lib/typescript/commonjs/toast/use-animated-target.d.ts +7 -0
  323. package/lib/typescript/commonjs/toast/use-animated-target.d.ts.map +1 -0
  324. package/lib/typescript/commonjs/toast/use-app-state.d.ts +18 -0
  325. package/lib/typescript/commonjs/toast/use-app-state.d.ts.map +1 -0
  326. package/lib/typescript/commonjs/toast/use-toast-colors.d.ts +22 -0
  327. package/lib/typescript/commonjs/toast/use-toast-colors.d.ts.map +1 -0
  328. package/lib/typescript/commonjs/toast/use-toast-position.d.ts +37 -0
  329. package/lib/typescript/commonjs/toast/use-toast-position.d.ts.map +1 -0
  330. package/lib/typescript/commonjs/tooltip/index.web.d.ts.map +1 -1
  331. package/lib/typescript/commonjs/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
  332. package/lib/typescript/module/avatar-group/AvatarGroup.web.d.ts.map +1 -1
  333. package/lib/typescript/module/benefit-list/types.d.ts +2 -1
  334. package/lib/typescript/module/benefit-list/types.d.ts.map +1 -1
  335. package/lib/typescript/module/bottom-sheet/index.web.d.ts.map +1 -1
  336. package/lib/typescript/module/context-menu/index.web.d.ts.map +1 -1
  337. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
  338. package/lib/typescript/module/fab/types.d.ts +4 -2
  339. package/lib/typescript/module/fab/types.d.ts.map +1 -1
  340. package/lib/typescript/module/frosted-icon-button/shared.d.ts +1 -1
  341. package/lib/typescript/module/frosted-icon-button/types.d.ts +2 -1
  342. package/lib/typescript/module/frosted-icon-button/types.d.ts.map +1 -1
  343. package/lib/typescript/module/index.d.ts +2 -1
  344. package/lib/typescript/module/index.d.ts.map +1 -1
  345. package/lib/typescript/module/index.web.d.ts +2 -1
  346. package/lib/typescript/module/index.web.d.ts.map +1 -1
  347. package/lib/typescript/module/menu/index.web.d.ts.map +1 -1
  348. package/lib/typescript/module/popover/index.web.d.ts.map +1 -1
  349. package/lib/typescript/module/portal/index.d.ts.map +1 -1
  350. package/lib/typescript/module/progressive-blur/index.d.ts +23 -0
  351. package/lib/typescript/module/progressive-blur/index.d.ts.map +1 -0
  352. package/lib/typescript/module/progressive-blur/index.web.d.ts +30 -0
  353. package/lib/typescript/module/progressive-blur/index.web.d.ts.map +1 -0
  354. package/lib/typescript/module/progressive-blur/shared.d.ts +35 -0
  355. package/lib/typescript/module/progressive-blur/shared.d.ts.map +1 -0
  356. package/lib/typescript/module/progressive-blur/types.d.ts +21 -0
  357. package/lib/typescript/module/progressive-blur/types.d.ts.map +1 -0
  358. package/lib/typescript/module/select/index.web.d.ts.map +1 -1
  359. package/lib/typescript/module/styles/web-view-style.d.ts +21 -0
  360. package/lib/typescript/module/styles/web-view-style.d.ts.map +1 -0
  361. package/lib/typescript/module/tab-bar/TabBarBase.d.ts +36 -0
  362. package/lib/typescript/module/tab-bar/TabBarBase.d.ts.map +1 -0
  363. package/lib/typescript/module/tab-bar/expo-router/RouterTabBar.d.ts +59 -0
  364. package/lib/typescript/module/tab-bar/expo-router/RouterTabBar.d.ts.map +1 -0
  365. package/lib/typescript/module/tab-bar/expo-router/fading-tab-screen.d.ts +11 -0
  366. package/lib/typescript/module/tab-bar/expo-router/fading-tab-screen.d.ts.map +1 -0
  367. package/lib/typescript/module/tab-bar/expo-router/index.d.ts +14 -0
  368. package/lib/typescript/module/tab-bar/expo-router/index.d.ts.map +1 -0
  369. package/lib/typescript/module/tab-bar/glyph.d.ts +6 -0
  370. package/lib/typescript/module/tab-bar/glyph.d.ts.map +1 -0
  371. package/lib/typescript/module/tab-bar/glyph.native.d.ts +6 -0
  372. package/lib/typescript/module/tab-bar/glyph.native.d.ts.map +1 -0
  373. package/lib/typescript/module/tab-bar/index.d.ts +12 -0
  374. package/lib/typescript/module/tab-bar/index.d.ts.map +1 -0
  375. package/lib/typescript/module/tab-bar/index.web.d.ts +12 -0
  376. package/lib/typescript/module/tab-bar/index.web.d.ts.map +1 -0
  377. package/lib/typescript/module/tab-bar/minimize-context.d.ts +51 -0
  378. package/lib/typescript/module/tab-bar/minimize-context.d.ts.map +1 -0
  379. package/lib/typescript/module/tab-bar/shared.d.ts +93 -0
  380. package/lib/typescript/module/tab-bar/shared.d.ts.map +1 -0
  381. package/lib/typescript/module/tab-bar/surface-solid.d.ts +6 -0
  382. package/lib/typescript/module/tab-bar/surface-solid.d.ts.map +1 -0
  383. package/lib/typescript/module/tab-bar/surface.d.ts +29 -0
  384. package/lib/typescript/module/tab-bar/surface.d.ts.map +1 -0
  385. package/lib/typescript/module/tab-bar/surface.native.d.ts +6 -0
  386. package/lib/typescript/module/tab-bar/surface.native.d.ts.map +1 -0
  387. package/lib/typescript/module/tab-bar/surface.web.d.ts +6 -0
  388. package/lib/typescript/module/tab-bar/surface.web.d.ts.map +1 -0
  389. package/lib/typescript/module/tab-bar/types.d.ts +88 -0
  390. package/lib/typescript/module/tab-bar/types.d.ts.map +1 -0
  391. package/lib/typescript/module/toast/Positioner.d.ts +21 -0
  392. package/lib/typescript/module/toast/Positioner.d.ts.map +1 -0
  393. package/lib/typescript/module/toast/ToastContent.d.ts +14 -0
  394. package/lib/typescript/module/toast/ToastContent.d.ts.map +1 -0
  395. package/lib/typescript/module/toast/ToastHost.d.ts +6 -0
  396. package/lib/typescript/module/toast/ToastHost.d.ts.map +1 -0
  397. package/lib/typescript/module/toast/ToastHost.native.d.ts +6 -0
  398. package/lib/typescript/module/toast/ToastHost.native.d.ts.map +1 -0
  399. package/lib/typescript/module/toast/ToastIcon.d.ts +9 -0
  400. package/lib/typescript/module/toast/ToastIcon.d.ts.map +1 -0
  401. package/lib/typescript/module/toast/ToastRow.d.ts +80 -0
  402. package/lib/typescript/module/toast/ToastRow.d.ts.map +1 -0
  403. package/lib/typescript/module/toast/ToastSwipeHandler.d.ts +30 -0
  404. package/lib/typescript/module/toast/ToastSwipeHandler.d.ts.map +1 -0
  405. package/lib/typescript/module/toast/Toaster.d.ts +19 -0
  406. package/lib/typescript/module/toast/Toaster.d.ts.map +1 -0
  407. package/lib/typescript/module/toast/animations.d.ts +62 -0
  408. package/lib/typescript/module/toast/animations.d.ts.map +1 -0
  409. package/lib/typescript/module/toast/constants.d.ts +39 -0
  410. package/lib/typescript/module/toast/constants.d.ts.map +1 -0
  411. package/lib/typescript/module/toast/context.d.ts +19 -0
  412. package/lib/typescript/module/toast/context.d.ts.map +1 -0
  413. package/lib/typescript/module/toast/index.d.ts +23 -76
  414. package/lib/typescript/module/toast/index.d.ts.map +1 -1
  415. package/lib/typescript/module/toast/position-utils.d.ts +30 -0
  416. package/lib/typescript/module/toast/position-utils.d.ts.map +1 -0
  417. package/lib/typescript/module/toast/positioner-utils.d.ts +72 -0
  418. package/lib/typescript/module/toast/positioner-utils.d.ts.map +1 -0
  419. package/lib/typescript/module/toast/toast-comparator.d.ts +12 -0
  420. package/lib/typescript/module/toast/toast-comparator.d.ts.map +1 -0
  421. package/lib/typescript/module/toast/toast-fns.d.ts +3 -0
  422. package/lib/typescript/module/toast/toast-fns.d.ts.map +1 -0
  423. package/lib/typescript/module/toast/toast-store.d.ts +52 -0
  424. package/lib/typescript/module/toast/toast-store.d.ts.map +1 -0
  425. package/lib/typescript/module/toast/toast-timers.d.ts +24 -0
  426. package/lib/typescript/module/toast/toast-timers.d.ts.map +1 -0
  427. package/lib/typescript/module/toast/types.d.ts +222 -5
  428. package/lib/typescript/module/toast/types.d.ts.map +1 -1
  429. package/lib/typescript/module/toast/use-animated-target.d.ts +7 -0
  430. package/lib/typescript/module/toast/use-animated-target.d.ts.map +1 -0
  431. package/lib/typescript/module/toast/use-app-state.d.ts +18 -0
  432. package/lib/typescript/module/toast/use-app-state.d.ts.map +1 -0
  433. package/lib/typescript/module/toast/use-toast-colors.d.ts +22 -0
  434. package/lib/typescript/module/toast/use-toast-colors.d.ts.map +1 -0
  435. package/lib/typescript/module/toast/use-toast-position.d.ts +37 -0
  436. package/lib/typescript/module/toast/use-toast-position.d.ts.map +1 -0
  437. package/lib/typescript/module/tooltip/index.web.d.ts.map +1 -1
  438. package/lib/typescript/module/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
  439. package/package.json +58 -26
  440. package/src/__tests__/TabBar.test.tsx +342 -0
  441. package/src/__tests__/TabBarGlassFallback.test.tsx +234 -0
  442. package/src/__tests__/TabBarReanimatedDeps.test.ts +130 -0
  443. package/src/__tests__/TabBarWebFork.test.ts +243 -0
  444. package/src/__tests__/ToastContent.test.tsx +192 -0
  445. package/src/__tests__/ToastHostWebFork.test.ts +155 -0
  446. package/src/__tests__/Toaster.test.tsx +527 -0
  447. package/src/__tests__/animated-style-deps.test.ts +156 -0
  448. package/src/__tests__/icon-references.test.ts +243 -0
  449. package/src/__tests__/toast-animations.test.ts +98 -0
  450. package/src/__tests__/toast-comparator.test.ts +131 -0
  451. package/src/__tests__/toast-enter-driver.test.ts +147 -0
  452. package/src/__tests__/toast-fns.test.ts +240 -0
  453. package/src/__tests__/toast-position-utils.test.ts +259 -0
  454. package/src/__tests__/toast-positioner-utils.test.ts +214 -0
  455. package/src/__tests__/toast-store.test.ts +622 -0
  456. package/src/__tests__/toast-timers.test.ts +163 -0
  457. package/src/__tests__/use-animated-target.test.tsx +60 -0
  458. package/src/__tests__/use-app-state.test.tsx +127 -0
  459. package/src/__tests__/use-toast-colors.test.tsx +189 -0
  460. package/src/__tests__/web-position-fixed.test.ts +70 -0
  461. package/src/avatar-group/AvatarGroup.web.tsx +2 -1
  462. package/src/benefit-list/types.ts +2 -1
  463. package/src/bottom-sheet/index.web.tsx +3 -2
  464. package/src/context-menu/index.web.tsx +3 -2
  465. package/src/dialog/Dialog.web.tsx +4 -3
  466. package/src/fab/types.ts +4 -2
  467. package/src/frosted-icon-button/shared.ts +1 -1
  468. package/src/frosted-icon-button/types.ts +2 -1
  469. package/src/index.ts +4 -1
  470. package/src/index.web.ts +4 -1
  471. package/src/menu/index.web.tsx +2 -1
  472. package/src/popover/index.web.tsx +3 -2
  473. package/src/portal/index.tsx +4 -1
  474. package/src/progressive-blur/index.tsx +78 -0
  475. package/src/progressive-blur/index.web.tsx +65 -0
  476. package/src/progressive-blur/shared.ts +81 -0
  477. package/src/progressive-blur/types.ts +21 -0
  478. package/src/select/index.web.tsx +2 -1
  479. package/src/styles/web-view-style.ts +21 -0
  480. package/src/tab-bar/TabBar.stories.tsx +217 -0
  481. package/src/tab-bar/TabBarBase.tsx +517 -0
  482. package/src/tab-bar/expo-router/RouterTabBar.tsx +80 -0
  483. package/src/tab-bar/expo-router/fading-tab-screen.tsx +109 -0
  484. package/src/tab-bar/expo-router/index.ts +13 -0
  485. package/src/tab-bar/glyph.native.tsx +46 -0
  486. package/src/tab-bar/glyph.tsx +31 -0
  487. package/src/tab-bar/index.ts +32 -0
  488. package/src/tab-bar/index.web.tsx +34 -0
  489. package/src/tab-bar/minimize-context.tsx +117 -0
  490. package/src/tab-bar/shared.ts +159 -0
  491. package/src/tab-bar/surface-solid.tsx +40 -0
  492. package/src/tab-bar/surface.native.tsx +122 -0
  493. package/src/tab-bar/surface.tsx +28 -0
  494. package/src/tab-bar/surface.web.tsx +56 -0
  495. package/src/tab-bar/types.ts +91 -0
  496. package/src/toast/Positioner.tsx +121 -0
  497. package/src/toast/Toast.stories.tsx +292 -65
  498. package/src/toast/ToastContent.tsx +405 -0
  499. package/src/toast/ToastHost.native.tsx +31 -0
  500. package/src/toast/ToastHost.tsx +67 -0
  501. package/src/toast/ToastIcon.tsx +55 -0
  502. package/src/toast/ToastRow.tsx +485 -0
  503. package/src/toast/ToastSwipeHandler.tsx +222 -0
  504. package/src/toast/Toaster.tsx +259 -0
  505. package/src/toast/animations.ts +313 -0
  506. package/src/toast/constants.ts +76 -0
  507. package/src/toast/context.tsx +44 -0
  508. package/src/toast/index.tsx +47 -123
  509. package/src/toast/position-utils.ts +149 -0
  510. package/src/toast/positioner-utils.ts +142 -0
  511. package/src/toast/toast-comparator.ts +41 -0
  512. package/src/toast/toast-fns.ts +104 -0
  513. package/src/toast/toast-store.ts +432 -0
  514. package/src/toast/toast-timers.ts +124 -0
  515. package/src/toast/types.ts +301 -5
  516. package/src/toast/use-animated-target.ts +61 -0
  517. package/src/toast/use-app-state.ts +77 -0
  518. package/src/toast/use-toast-colors.ts +133 -0
  519. package/src/toast/use-toast-position.ts +46 -0
  520. package/src/tooltip/index.web.tsx +2 -1
  521. package/src/zoomable-image-gallery/ZoomableImageGallery.stories.tsx +134 -0
  522. package/src/zoomable-image-gallery/ZoomableImageGallery.tsx +50 -27
  523. package/lib/commonjs/toast/Toast.js +0 -267
  524. package/lib/commonjs/toast/Toast.js.map +0 -1
  525. package/lib/commonjs/toast/const.js +0 -8
  526. package/lib/commonjs/toast/const.js.map +0 -1
  527. package/lib/commonjs/toast/index.web.js +0 -114
  528. package/lib/commonjs/toast/index.web.js.map +0 -1
  529. package/lib/commonjs/toast/sonner/index.js +0 -9
  530. package/lib/commonjs/toast/sonner/index.js.map +0 -1
  531. package/lib/commonjs/toast/sonner/index.web.js +0 -9
  532. package/lib/commonjs/toast/sonner/index.web.js.map +0 -1
  533. package/lib/module/toast/Toast.js +0 -258
  534. package/lib/module/toast/Toast.js.map +0 -1
  535. package/lib/module/toast/const.js +0 -4
  536. package/lib/module/toast/const.js.map +0 -1
  537. package/lib/module/toast/index.web.js +0 -74
  538. package/lib/module/toast/index.web.js.map +0 -1
  539. package/lib/module/toast/sonner/index.js +0 -5
  540. package/lib/module/toast/sonner/index.js.map +0 -1
  541. package/lib/module/toast/sonner/index.web.js +0 -5
  542. package/lib/module/toast/sonner/index.web.js.map +0 -1
  543. package/lib/typescript/commonjs/toast/Toast.d.ts +0 -23
  544. package/lib/typescript/commonjs/toast/Toast.d.ts.map +0 -1
  545. package/lib/typescript/commonjs/toast/const.d.ts +0 -2
  546. package/lib/typescript/commonjs/toast/const.d.ts.map +0 -1
  547. package/lib/typescript/commonjs/toast/index.web.d.ts +0 -29
  548. package/lib/typescript/commonjs/toast/index.web.d.ts.map +0 -1
  549. package/lib/typescript/commonjs/toast/sonner/index.d.ts +0 -2
  550. package/lib/typescript/commonjs/toast/sonner/index.d.ts.map +0 -1
  551. package/lib/typescript/commonjs/toast/sonner/index.web.d.ts +0 -2
  552. package/lib/typescript/commonjs/toast/sonner/index.web.d.ts.map +0 -1
  553. package/lib/typescript/module/toast/Toast.d.ts +0 -23
  554. package/lib/typescript/module/toast/Toast.d.ts.map +0 -1
  555. package/lib/typescript/module/toast/const.d.ts +0 -2
  556. package/lib/typescript/module/toast/const.d.ts.map +0 -1
  557. package/lib/typescript/module/toast/index.web.d.ts +0 -29
  558. package/lib/typescript/module/toast/index.web.d.ts.map +0 -1
  559. package/lib/typescript/module/toast/sonner/index.d.ts +0 -2
  560. package/lib/typescript/module/toast/sonner/index.d.ts.map +0 -1
  561. package/lib/typescript/module/toast/sonner/index.web.d.ts +0 -2
  562. package/lib/typescript/module/toast/sonner/index.web.d.ts.map +0 -1
  563. package/src/toast/Toast.tsx +0 -269
  564. package/src/toast/const.ts +0 -1
  565. package/src/toast/index.web.tsx +0 -101
  566. package/src/toast/sonner/index.ts +0 -3
  567. package/src/toast/sonner/index.web.ts +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","createContext","useCallback","useContext","useEffect","useMemo","Pressable","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","Animated","Extrapolation","interpolate","interpolateColor","runOnJS","useAnimatedStyle","useSharedValue","withSpring","useSafeAreaInsets","useHaptics","setMinimized","useMinimizeState","BAR_MARGIN","BLUR_BLEED","EXPANDED_HEIGHT","HIGHLIGHT_EXPANDED","HIGHLIGHT_MINIMIZED","ICON_SIZE","ITEM_GAP","ITEM_PAD_V","LABEL_FONT_SIZE","MINIMIZED_HEIGHT","MINIMIZED_INSET","ROW_PAD_H","SLIDE_SPRING","useTabBarTheme","jsx","_jsx","jsxs","_jsxs","BarContext","TabBarBody","Surface","Blur","children","activeIndex","onIndexChange","theme","themeOverrides","haptics","style","viewProps","insets","width","windowWidth","minimized","progress","slideIndex","isDragging","lastTicked","tabCount","Math","max","count","impact","tick","selectIndex","index","undefined","value","gesture","indexAtX","x","minimizedValue","sideInset","CLAMP","barWidth","itemWidth","raw","min","pan","Pan","activeOffsetX","failOffsetY","onStart","round","onUpdate","event","rounded","onFinalize","tap","Tap","maxDistance","maxDuration","onEnd","success","Race","barStyle","height","marginHorizontal","shapeStyle","borderRadius","highlightStyle","barHeight","top","transform","translateX","bottomOffset","bottom","barContext","styles","root","direction","position","left","right","barWrap","marginBottom","highlight","backgroundColor","accessibilityRole","itemRow","Provider","TabBarButtonBody","Glyph","item","isFocused","onPress","pressableProps","bar","standaloneTheme","focused","activeGlyphStyle","opacity","abs","labelStyle","color","activeTint","inactiveTint","boxStyle","accessibilityState","selected","accessibilityLabel","label","state","button","itemBox","tint","size","absoluteFill","glyphLayer","Text","numberOfLines","createTabBar","TabBar","props","displayName","createTabBarButton","TabBarButton","create","pointerEvents","borderCurve","flex","flexDirection","alignItems","paddingHorizontal","justifyContent","alignSelf","paddingTop","overflow","fontSize","fontWeight","marginTop"],"sourceRoot":"../../../src","sources":["tab-bar/TabBarBase.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACEA,QAAQ,EACRC,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,QAEF,OAAO;AACd,SAASC,SAAS,EAAEC,UAAU,EAAEC,mBAAmB,EAAEC,IAAI,QAAQ,cAAc;AAC/E,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,OAAOC,QAAQ,IACbC,aAAa,EACbC,WAAW,EACXC,gBAAgB,EAChBC,OAAO,EACPC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,QAEL,yBAAyB;AAChC,SAASC,iBAAiB,QAAQ,gCAAgC;AAElE,SAASC,UAAU,QAAQ,wBAAqB;AAEhD,SAASC,YAAY,EAAEC,gBAAgB,QAAQ,uBAAoB;AACnE,SACEC,UAAU,EACVC,UAAU,EACVC,eAAe,EACfC,kBAAkB,EAClBC,mBAAmB,EACnBC,SAAS,EACTC,QAAQ,EACRC,UAAU,EACVC,eAAe,EACfC,gBAAgB,EAChBC,eAAe,EACfC,SAAS,EACTC,YAAY,EACZC,cAAc,QAGT,aAAU;;AAGjB;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAiBA,MAAMC,UAAU,gBAAGzC,aAAa,CAAyB,IAAI,CAAC;AAO9D;AACA;AACA;AACA;AACA,SAAS0C,UAAUA,CAAC;EAClBC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC,WAAW;EACXC,aAAa;EACbC,KAAK,EAAEC,cAAc;EACrBC,OAAO,GAAG,IAAI;EACdC,KAAK;EACL,GAAGC;AACY,CAAC,EAAE;EAClB,MAAMC,MAAM,GAAGlC,iBAAiB,CAAC,CAAC;EAClC,MAAM;IAAEmC,KAAK,EAAEC;EAAY,CAAC,GAAGhD,mBAAmB,CAAC,CAAC;EACpD,MAAMiD,SAAS,GAAGlC,gBAAgB,CAAC,CAAC;EACpC,MAAMmC,QAAQ,GAAGD,SAAS,CAACC,QAAQ;EACnC,MAAMC,UAAU,GAAGzC,cAAc,CAAC,CAAC,CAAC;EACpC,MAAM0C,UAAU,GAAG1C,cAAc,CAAC,KAAK,CAAC;EACxC,MAAM2C,UAAU,GAAG3C,cAAc,CAAC,CAAC,CAAC,CAAC;EACrC,MAAM4C,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAChE,QAAQ,CAACiE,KAAK,CAACnB,QAAQ,CAAC,EAAE,CAAC,CAAC;EACtD,MAAMG,KAAK,GAAGZ,cAAc,CAACa,cAAc,CAAC;EAC5C,MAAMgB,MAAM,GAAG7C,UAAU,CAAC,CAAC;;EAE3B;EACA;EACA;EACA;EACA,MAAM8C,IAAI,GAAGjE,WAAW,CAAC,MAAM;IAC7B,IAAIiD,OAAO,EAAEe,MAAM,CAAC,OAAO,CAAC;EAC9B,CAAC,EAAE,CAACf,OAAO,EAAEe,MAAM,CAAC,CAAC;;EAErB;EACA;EACA,MAAME,WAAW,GAAGlE,WAAW,CAAEmE,KAAa,IAAKrB,aAAa,GAAGqB,KAAK,CAAC,EAAE,CAACrB,aAAa,CAAC,CAAC;;EAE3F;EACA;EACA;EACA;EACA;EACA;EACA5C,SAAS,CAAC,MAAM;IACd,IAAI2C,WAAW,KAAKuB,SAAS,EAAE;IAC/B;IACA,IAAIV,UAAU,CAACW,KAAK,EAAE;IACtBZ,UAAU,CAACY,KAAK,GAAGpD,UAAU,CAAC4B,WAAW,EAAEX,YAAY,CAAC;EAC1D,CAAC,EAAE,CAACW,WAAW,EAAEY,UAAU,EAAEC,UAAU,CAAC,CAAC;;EAEzC;EACA;EACA;EACA;EACA;EACA,MAAMY,OAAO,GAAGnE,OAAO,CAAC,MAAM;IAC5B,MAAMoE,QAAQ,GAAGA,CAACC,CAAS,EAAEC,cAAsB,KAAK;MACtD,SAAS;;MACT,MAAMC,SAAS,GAAG9D,WAAW,CAC3B6D,cAAc,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC,CAAC,EAAEzC,eAAe,CAAC,EACpBrB,aAAa,CAACgE,KAChB,CAAC;MACD,MAAMC,QAAQ,GAAGtB,WAAW,GAAGhC,UAAU,GAAG,CAAC,GAAGoD,SAAS,GAAG,CAAC;MAC7D,MAAMG,SAAS,GAAG,CAACD,QAAQ,GAAG3C,SAAS,GAAG,CAAC,IAAI2B,QAAQ;MACvD,MAAMkB,GAAG,GAAG,CAACN,CAAC,GAAGvC,SAAS,IAAI4C,SAAS,GAAG,GAAG;MAC7C,OAAOhB,IAAI,CAACkB,GAAG,CAAClB,IAAI,CAACC,GAAG,CAACgB,GAAG,EAAE,CAAC,CAAC,EAAElB,QAAQ,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,MAAMoB,GAAG,GAAGxE,OAAO,CAACyE,GAAG,CAAC,CAAC,CACtBC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACtBC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACtBC,OAAO,CAAC,MAAM;MACb1B,UAAU,CAACW,KAAK,GAAG,IAAI;MACvBV,UAAU,CAACU,KAAK,GAAGR,IAAI,CAACwB,KAAK,CAAC5B,UAAU,CAACY,KAAK,CAAC;MAC/C;MACAjD,YAAY,CAACmC,SAAS,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CACD+B,QAAQ,CAAEC,KAAK,IAAK;MACnB,MAAMpB,KAAK,GAAGI,QAAQ,CAACgB,KAAK,CAACf,CAAC,EAAEhB,QAAQ,CAACa,KAAK,CAAC;MAC/CZ,UAAU,CAACY,KAAK,GAAGF,KAAK;MAExB,MAAMqB,OAAO,GAAG3B,IAAI,CAACwB,KAAK,CAAClB,KAAK,CAAC;MACjC,IAAIqB,OAAO,KAAK7B,UAAU,CAACU,KAAK,EAAE;QAChCV,UAAU,CAACU,KAAK,GAAGmB,OAAO;QAC1B1E,OAAO,CAACmD,IAAI,CAAC,CAAC,CAAC;MACjB;IACF,CAAC,CAAC,CACDwB,UAAU,CAAC,MAAM;MAChB;MACA;MACA,IAAI,CAAC/B,UAAU,CAACW,KAAK,EAAE;QACrB;MACF;MACA,MAAMmB,OAAO,GAAG3B,IAAI,CAACwB,KAAK,CAAC5B,UAAU,CAACY,KAAK,CAAC;MAC5CZ,UAAU,CAACY,KAAK,GAAGpD,UAAU,CAACuE,OAAO,EAAEtD,YAAY,CAAC;MACpDpB,OAAO,CAACoD,WAAW,CAAC,CAACsB,OAAO,CAAC;MAC7B9B,UAAU,CAACW,KAAK,GAAG,KAAK;IAC1B,CAAC,CAAC;IAEJ,MAAMqB,GAAG,GAAGlF,OAAO,CAACmF,GAAG,CAAC;IACtB;IACA;IAAA,CACCC,WAAW,CAAC,EAAE,CAAC,CACfC,WAAW,CAAC,GAAG,CAAC,CAChBC,KAAK,CAAC,CAACP,KAAK,EAAEQ,OAAO,KAAK;MACzB,IAAI,CAACA,OAAO,EAAE;QACZ;MACF;MACA,MAAM5B,KAAK,GAAGN,IAAI,CAACwB,KAAK,CAACd,QAAQ,CAACgB,KAAK,CAACf,CAAC,EAAEhB,QAAQ,CAACa,KAAK,CAAC,CAAC;MAC3DZ,UAAU,CAACY,KAAK,GAAGpD,UAAU,CAACkD,KAAK,EAAEjC,YAAY,CAAC;MAClDd,YAAY,CAACmC,SAAS,EAAE,CAAC,CAAC;MAC1BzC,OAAO,CAACoD,WAAW,CAAC,CAACC,KAAK,CAAC;IAC7B,CAAC,CAAC;IAEJ,OAAO3D,OAAO,CAACwF,IAAI,CAAChB,GAAG,EAAEU,GAAG,CAAC;EAC/B,CAAC,EAAE,CACDpC,WAAW,EACXM,QAAQ,EACRM,WAAW,EACXD,IAAI,EACJP,UAAU,EACVC,UAAU,EACVF,UAAU,EACVF,SAAS,EACTC,QAAQ,CACT,CAAC;;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMyC,QAAQ,GAAGlF,gBAAgB,CAAC,MAAM;IACtC,MAAMmF,MAAM,GAAGtF,WAAW,CACxB4C,QAAQ,CAACa,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC7C,eAAe,EAAEO,gBAAgB,CAAC,EACnCpB,aAAa,CAACgE,KAChB,CAAC;IACD,OAAO;MACLuB,MAAM;MACN;MACAC,gBAAgB,EAAEvF,WAAW,CAC3B4C,QAAQ,CAACa,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC,CAAC,EAAErC,eAAe,CAAC,EACpBrB,aAAa,CAACgE,KAChB;IACF,CAAC;EACH,CAAC,EAAE,CAACnB,QAAQ,CAAC,CAAC;;EAEd;EACA;EACA;EACA,MAAM4C,UAAU,GAAGrF,gBAAgB,CAAC,MAAM;IACxC,MAAMmF,MAAM,GAAGtF,WAAW,CACxB4C,QAAQ,CAACa,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC7C,eAAe,EAAEO,gBAAgB,CAAC,EACnCpB,aAAa,CAACgE,KAChB,CAAC;IACD,OAAO;MAAE0B,YAAY,EAAEH,MAAM,GAAG;IAAE,CAAC;EACrC,CAAC,EAAE,CAAC1C,QAAQ,CAAC,CAAC;;EAEd;EACA;EACA,MAAM8C,cAAc,GAAGvF,gBAAgB,CAAC,MAAM;IAC5C,MAAMwF,SAAS,GAAG3F,WAAW,CAC3B4C,QAAQ,CAACa,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC7C,eAAe,EAAEO,gBAAgB,CAAC,EACnCpB,aAAa,CAACgE,KAChB,CAAC;IACD,MAAMuB,MAAM,GAAGtF,WAAW,CACxB4C,QAAQ,CAACa,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC5C,kBAAkB,EAAEC,mBAAmB,CAAC,EACzCf,aAAa,CAACgE,KAChB,CAAC;IACD,MAAMD,SAAS,GAAG9D,WAAW,CAC3B4C,QAAQ,CAACa,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC,CAAC,EAAErC,eAAe,CAAC,EACpBrB,aAAa,CAACgE,KAChB,CAAC;IACD,MAAMC,QAAQ,GAAGtB,WAAW,GAAGhC,UAAU,GAAG,CAAC,GAAGoD,SAAS,GAAG,CAAC;IAC7D,MAAMG,SAAS,GAAG,CAACD,QAAQ,GAAG3C,SAAS,GAAG,CAAC,IAAI2B,QAAQ;IACvD,OAAO;MACLsC,MAAM;MACN7C,KAAK,EAAEwB,SAAS;MAChBwB,YAAY,EAAEH,MAAM,GAAG,CAAC;MACxBM,GAAG,EAAE,CAACD,SAAS,GAAGL,MAAM,IAAI,CAAC;MAC7BO,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAEzE,SAAS,GAAG4C,SAAS,GAAGpB,UAAU,CAACY;MAAM,CAAC;IACtE,CAAC;EACH,CAAC,EAAE,CAACb,QAAQ,EAAEC,UAAU,EAAEH,WAAW,EAAEM,QAAQ,CAAC,CAAC;EAEjD,MAAM+C,YAAY,GAAG9C,IAAI,CAACC,GAAG,CAACV,MAAM,CAACwD,MAAM,GAAG,EAAE,EAAE,EAAE,CAAC;EACrD,MAAMC,UAAU,GAAG1G,OAAO,CACxB,OAAO;IAAEsD,UAAU;IAAEC,UAAU;IAAEX,KAAK;IAAEF,WAAW;IAAEqB;EAAY,CAAC,CAAC,EACnE,CAACT,UAAU,EAAEC,UAAU,EAAEX,KAAK,EAAEF,WAAW,EAAEqB,WAAW,CAC1D,CAAC;EAED,oBACE3B,KAAA,CAAChC,IAAI;IAAA,GAAK4C,SAAS;IAAED,KAAK,EAAE,CAAC4D,MAAM,CAACC,IAAI,EAAE7D,KAAK,CAAE;IAAAN,QAAA,gBAE/CP,IAAA,CAACM,IAAI;MACHqE,SAAS,EAAC,QAAQ;MAClB9D,KAAK,EAAE;QACL+D,QAAQ,EAAE,UAAU;QACpBC,IAAI,EAAE,CAAC;QACPC,KAAK,EAAE,CAAC;QACRP,MAAM,EAAE,CAAC;QACTV,MAAM,EAAES,YAAY,GAAGnF,eAAe,GAAGD;MAC3C;IAAE,CACH,CAAC,eACFc,IAAA,CAAC9B,IAAI;MAAC2C,KAAK,EAAE,CAAC4D,MAAM,CAACM,OAAO,EAAE;QAAEC,YAAY,EAAEV;MAAa,CAAC,CAAE;MAAA/D,QAAA,eAC5DP,IAAA,CAAC5B,eAAe;QAAC6D,OAAO,EAAEA,OAAQ;QAAA1B,QAAA,eAChCL,KAAA,CAAC7B,QAAQ,CAACH,IAAI;UAAC2C,KAAK,EAAE+C,QAAS;UAAArD,QAAA,gBAC7BP,IAAA,CAACK,OAAO;YAACK,KAAK,EAAEA,KAAM;YAACG,KAAK,EAAEkD;UAAW,CAAE,CAAC,eAC5C/D,IAAA,CAAC3B,QAAQ,CAACH,IAAI;YACZ2C,KAAK,EAAE,CAAC4D,MAAM,CAACQ,SAAS,EAAE;cAAEC,eAAe,EAAExE,KAAK,CAACuE;YAAU,CAAC,EAAEhB,cAAc;UAAE,CACjF,CAAC,eACFjE,IAAA,CAAC9B,IAAI;YAACiH,iBAAiB,EAAC,SAAS;YAACtE,KAAK,EAAE4D,MAAM,CAACW,OAAQ;YAAA7E,QAAA,eACtDP,IAAA,CAACG,UAAU,CAACkF,QAAQ;cAACrD,KAAK,EAAEwC,UAAW;cAAAjE,QAAA,EAAEA;YAAQ,CAAsB;UAAC,CACpE,CAAC;QAAA,CACM;MAAC,CACD;IAAC,CACd,CAAC;EAAA,CACH,CAAC;AAEX;AAMA;AACA,SAAS+E,gBAAgBA,CAAC;EACxBC,KAAK;EACLC,IAAI;EACJ1D,KAAK;EACL2D,SAAS;EACTC,OAAO;EACP7E,KAAK;EACL,GAAG8E;AACkB,CAAC,EAAE;EACxB,MAAMzE,SAAS,GAAGlC,gBAAgB,CAAC,CAAC;EACpC,MAAMmC,QAAQ,GAAGD,SAAS,CAACC,QAAQ;EACnC,MAAMyE,GAAG,GAAGhI,UAAU,CAACuC,UAAU,CAAC;EAClC;EACA,MAAM0F,eAAe,GAAG/F,cAAc,CAAC,CAAC;EACxC,MAAMY,KAAK,GAAGkF,GAAG,EAAElF,KAAK,IAAImF,eAAe;EAC3C,MAAMzE,UAAU,GAAGwE,GAAG,EAAExE,UAAU;EAClC;EACA;EACA,MAAM0E,OAAO,GAAGL,SAAS,IAAKG,GAAG,EAAEpF,WAAW,KAAKsB,KAAM;;EAEzD;EACA;EACA;EACA;EACA;EACAjE,SAAS,CAAC,MAAM;IACd,IAAI4H,SAAS,KAAK1D,SAAS,IAAI,CAAC0D,SAAS,IAAI,CAACG,GAAG,EAAE;IACnD,IAAIA,GAAG,CAACvE,UAAU,CAACW,KAAK,EAAE;IAC1B4D,GAAG,CAACxE,UAAU,CAACY,KAAK,GAAGpD,UAAU,CAACkD,KAAK,EAAEjC,YAAY,CAAC;EACxD,CAAC,EAAE,CAAC4F,SAAS,EAAE3D,KAAK,EAAE8D,GAAG,CAAC,CAAC;;EAE3B;EACA;EACA;EACA;EACA,MAAMG,gBAAgB,GAAGrH,gBAAgB,CACvC,OAAO;IACLsH,OAAO,EAAE5E,UAAU,GAAG,CAAC,GAAGI,IAAI,CAACkB,GAAG,CAAClB,IAAI,CAACyE,GAAG,CAAC7E,UAAU,CAACY,KAAK,GAAGF,KAAK,CAAC,EAAE,CAAC,CAAC,GAAGgE,OAAO,GAAG,CAAC,GAAG;EAC5F,CAAC,CAAC,EACF,CAAC1E,UAAU,EAAEU,KAAK,EAAEgE,OAAO,CAC7B,CAAC;EAED,MAAMI,UAAU,GAAGxH,gBAAgB,CACjC,OAAO;IACLsH,OAAO,EAAEzH,WAAW,CAAC4C,QAAQ,CAACa,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE1D,aAAa,CAACgE,KAAK,CAAC;IAC3E6D,KAAK,EAAE/E,UAAU,GACb5C,gBAAgB,CACdgD,IAAI,CAACkB,GAAG,CAAClB,IAAI,CAACyE,GAAG,CAAC7E,UAAU,CAACY,KAAK,GAAGF,KAAK,CAAC,EAAE,CAAC,CAAC,EAC/C,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAACpB,KAAK,CAAC0F,UAAU,EAAE1F,KAAK,CAAC2F,YAAY,CACvC,CAAC,GACDP,OAAO,GACLpF,KAAK,CAAC0F,UAAU,GAChB1F,KAAK,CAAC2F;EACd,CAAC,CAAC,EACF,CAAClF,QAAQ,EAAEC,UAAU,EAAEU,KAAK,EAAEgE,OAAO,EAAEpF,KAAK,CAC9C,CAAC;;EAED;EACA;EACA;EACA,MAAM4F,QAAQ,GAAG5H,gBAAgB,CAC/B,OAAO;IACLmF,MAAM,EAAEtF,WAAW,CACjB4C,QAAQ,CAACa,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC5C,kBAAkB,EAAEC,mBAAmB,CAAC,EACzCf,aAAa,CAACgE,KAChB;EACF,CAAC,CAAC,EACF,CAACnB,QAAQ,CACX,CAAC;EAED,oBACEnB,IAAA,CAACjC;EACC;EACA;EAAA;IACAoH,iBAAiB,EAAC,KAAK;IACvBoB,kBAAkB,EAAE;MAAEC,QAAQ,EAAEV;IAAQ,CAAE;IAC1CW,kBAAkB,EAAEjB,IAAI,CAACkB,KAAM;IAAA,GAC3Bf,cAAc;IAClBD,OAAO,EAAGxC,KAAK,IAAK;MAClB;MACA;MACA,IAAI0C,GAAG,EAAEA,GAAG,CAACxE,UAAU,CAACY,KAAK,GAAGpD,UAAU,CAACkD,KAAK,EAAEjC,YAAY,CAAC;MAC/Dd,YAAY,CAACmC,SAAS,EAAE,CAAC,CAAC;MAC1B;MACA;MACA;MACA,IAAIuE,SAAS,KAAK1D,SAAS,EAAE6D,GAAG,EAAE/D,WAAW,CAACC,KAAK,CAAC;MACpD4D,OAAO,GAAGxC,KAAK,CAAC;IAClB;IACA;IACA;IACA;IAAA;IACArC,KAAK,EACH,OAAOA,KAAK,KAAK,UAAU,GACtB8F,KAAK,IAAK,CAAClC,MAAM,CAACmC,MAAM,EAAE/F,KAAK,CAAC8F,KAAK,CAAC,CAAC,GACxC,CAAClC,MAAM,CAACmC,MAAM,EAAE/F,KAAK,CAC1B;IAAAN,QAAA,eAEDL,KAAA,CAAC7B,QAAQ,CAACH,IAAI;MAAC2C,KAAK,EAAE,CAAC4D,MAAM,CAACoC,OAAO,EAAEP,QAAQ,CAAE;MAAA/F,QAAA,gBAE/CL,KAAA,CAAChC,IAAI;QAAAqC,QAAA,gBACHP,IAAA,CAACuF,KAAK;UAACC,IAAI,EAAEA,IAAK;UAACsB,IAAI,EAAEpG,KAAK,CAAC2F,YAAa;UAACU,IAAI,EAAEzH;QAAU,CAAE,CAAC,eAChEU,IAAA,CAAC3B,QAAQ,CAACH,IAAI;UAAC2C,KAAK,EAAE,CAAC7C,UAAU,CAACgJ,YAAY,EAAEvC,MAAM,CAACwC,UAAU,EAAElB,gBAAgB,CAAE;UAAAxF,QAAA,eACnFP,IAAA,CAACuF,KAAK;YAACC,IAAI,EAAEA,IAAK;YAACsB,IAAI,EAAEpG,KAAK,CAAC0F,UAAW;YAACW,IAAI,EAAEzH;UAAU,CAAE;QAAC,CACjD,CAAC;MAAA,CACZ,CAAC,eAEPU,IAAA,CAAC3B,QAAQ,CAAC6I,IAAI;QAACC,aAAa,EAAE,CAAE;QAACtG,KAAK,EAAE,CAAC4D,MAAM,CAACiC,KAAK,EAAER,UAAU,CAAE;QAAA3F,QAAA,EAChEiF,IAAI,CAACkB;MAAK,CACE,CAAC;IAAA,CACH;EAAC,CACP,CAAC;AAEhB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASU,YAAYA,CAC1B/G,OAA0C,EAC1CC,IAAyC,EACzC;EACA,MAAM+G,MAAM,GAAIC,KAAkB,iBAAKtH,IAAA,CAACI,UAAU;IAAA,GAAKkH,KAAK;IAAEjH,OAAO,EAAEA,OAAQ;IAACC,IAAI,EAAEA;EAAK,CAAE,CAAC;EAC9F+G,MAAM,CAACE,WAAW,GAAG,QAAQ;EAC7B,OAAOF,MAAM;AACf;;AAEA;AACA,OAAO,SAASG,kBAAkBA,CAACjC,KAAsC,EAAE;EACzE,MAAMkC,YAAY,GAAIH,KAAwB,iBAAKtH,IAAA,CAACsF,gBAAgB;IAAA,GAAKgC,KAAK;IAAE/B,KAAK,EAAEA;EAAM,CAAE,CAAC;EAChGkC,YAAY,CAACF,WAAW,GAAG,cAAc;EACzC,OAAOE,YAAY;AACrB;AAEA,MAAMhD,MAAM,GAAGzG,UAAU,CAAC0J,MAAM,CAAC;EAC/BhD,IAAI,EAAE;IACJE,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRP,MAAM,EAAE,CAAC;IACT;IACA;IACAoD,aAAa,EAAE;EACjB,CAAC;EACD5C,OAAO,EAAE;IACPjB,gBAAgB,EAAE7E,UAAU;IAC5B0I,aAAa,EAAE;EACjB,CAAC;EACD1C,SAAS,EAAE;IACTL,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACP+C,WAAW,EAAE;EACf,CAAC;EACDxC,OAAO,EAAE;IACPyC,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAEpI;EACrB,CAAC;EACDgH,MAAM,EAAE;IACNiB,IAAI,EAAE,CAAC;IACPE,UAAU,EAAE,QAAQ;IACpBE,cAAc,EAAE;EAClB,CAAC;EACDpB,OAAO,EAAE;IACPqB,SAAS,EAAE,SAAS;IACpBH,UAAU,EAAE,QAAQ;IACpBI,UAAU,EAAE3I,UAAU;IACtB4I,QAAQ,EAAE;EACZ,CAAC;EACDnB,UAAU,EAAE;IACVc,UAAU,EAAE,QAAQ;IACpBE,cAAc,EAAE;EAClB,CAAC;EACDvB,KAAK,EAAE;IACL2B,QAAQ,EAAE5I,eAAe;IACzB6I,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAEhJ;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
5
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
6
+ *
7
+ * expo-router bindings for the tab bar. This subpath
8
+ * (`@oxyhq/bloom/tab-bar/expo-router`) is the ONLY place in Bloom that may
9
+ * import `expo-router` or `react-native-screens`, which is why it is a separate
10
+ * entry: the core `@oxyhq/bloom/tab-bar` stays usable in an app with no router
11
+ * at all, and neither optional peer is pulled into a bundle that never asks for
12
+ * it.
13
+ */
14
+
15
+ import { TabBar, TabBarButton } from "../index.js";
16
+
17
+ /**
18
+ * `activeIndex` is omitted deliberately: with a router the highlight is driven
19
+ * by each trigger's own focus (see `RouterTabBarButton`), which is what keeps it
20
+ * correct through deep links, back gestures and any other programmatic
21
+ * navigation. Setting both would put two writers on one shared value.
22
+ */
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ /**
25
+ * The bar, as expo-router's `<TabList asChild>` child.
26
+ *
27
+ * Navigation happens through `onIndexChange`, not through the triggers: the
28
+ * bar's gesture detector consumes the touches (that is what makes scrubbing
29
+ * possible), so a tap never reaches the trigger's own `Pressable`.
30
+ *
31
+ * ```tsx
32
+ * <TabList asChild>
33
+ * <RouterTabBar onIndexChange={(i) => router.navigate(TABS[i].href)}>
34
+ * {TABS.map(({ href, ...item }, index) => (
35
+ * <TabTrigger key={item.name} name={item.name} href={href} asChild>
36
+ * <RouterTabBarButton item={item} index={index} />
37
+ * </TabTrigger>
38
+ * ))}
39
+ * </RouterTabBar>
40
+ * </TabList>
41
+ * ```
42
+ */
43
+ export function RouterTabBar({
44
+ // `asChild` is `TabList`'s own instruction to forward its props to this
45
+ // component instead of wrapping them in a `<View>`. It is consumed there and
46
+ // is meaningless below, so it is dropped rather than passed to a real view.
47
+ asChild: _asChild,
48
+ ...props
49
+ }) {
50
+ return /*#__PURE__*/_jsx(TabBar, {
51
+ ...props
52
+ });
53
+ }
54
+ RouterTabBar.displayName = 'RouterTabBar';
55
+
56
+ /**
57
+ * One trigger, as expo-router's `<TabTrigger asChild>` child. The trigger
58
+ * supplies `isFocused` and `onPress`; the button uses the first to drive the
59
+ * highlight and the second to navigate on keyboard / assistive-technology
60
+ * activation.
61
+ */
62
+ export function RouterTabBarButton({
63
+ item,
64
+ index,
65
+ // The trigger's resolved path, injected for react-native-web's anchor
66
+ // rendering. `Pressable` has no such prop, and navigation already runs
67
+ // through the bar's `onIndexChange`, so it stops here.
68
+ href: _href,
69
+ ...props
70
+ }) {
71
+ return /*#__PURE__*/_jsx(TabBarButton, {
72
+ ...props,
73
+ item: item,
74
+ index: index
75
+ });
76
+ }
77
+ RouterTabBarButton.displayName = 'RouterTabBarButton';
78
+ //# sourceMappingURL=RouterTabBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TabBar","TabBarButton","jsx","_jsx","RouterTabBar","asChild","_asChild","props","displayName","RouterTabBarButton","item","index","href","_href"],"sourceRoot":"../../../../src","sources":["tab-bar/expo-router/RouterTabBar.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,MAAM,EAAEC,YAAY,QAAQ,aAAU;;AAG/C;AACA;AACA;AACA;AACA;AACA;AALA,SAAAC,GAAA,IAAAC,IAAA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAC;EAC3B;EACA;EACA;EACAC,OAAO,EAAEC,QAAQ;EACjB,GAAGC;AACc,CAAC,EAAE;EACpB,oBAAOJ,IAAA,CAACH,MAAM;IAAA,GAAKO;EAAK,CAAG,CAAC;AAC9B;AAEAH,YAAY,CAACI,WAAW,GAAG,cAAc;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,IAAI;EACJC,KAAK;EACL;EACA;EACA;EACAC,IAAI,EAAEC,KAAK;EACX,GAAGN;AACoB,CAAC,EAAE;EAC1B,oBAAOJ,IAAA,CAACF,YAAY;IAAA,GAAKM,KAAK;IAAEG,IAAI,EAAEA,IAAK;IAACC,KAAK,EAAEA;EAAM,CAAE,CAAC;AAC9D;AAEAF,kBAAkB,CAACD,WAAW,GAAG,oBAAoB","ignoreList":[]}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ported from expo-glass-tabs v0.1.1 — src/fading-tab-slot.tsx
5
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
6
+ */
7
+ import { useEffect, useRef } from 'react';
8
+ import { StyleSheet } from 'react-native';
9
+ import Animated, { Easing, interpolate, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
10
+ import { Screen } from 'react-native-screens';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ /** Strong ease-out — entering content should feel instant, then settle. */
13
+ const EASE_OUT = Easing.bezier(0.23, 1, 0.32, 1);
14
+ const ENTER_DURATION = 220;
15
+ /** Never enter from nothing: a whisper of depth, no zoom. */
16
+ const ENTER_SCALE = 0.985;
17
+ function FadeIn({
18
+ focused,
19
+ children
20
+ }) {
21
+ const progress = useSharedValue(1);
22
+ const isFirstRender = useRef(true);
23
+ useEffect(() => {
24
+ // Don't animate the very first screen on app launch.
25
+ if (isFirstRender.current) {
26
+ isFirstRender.current = false;
27
+ return;
28
+ }
29
+ if (focused) {
30
+ progress.value = 0;
31
+ progress.value = withTiming(1, {
32
+ duration: ENTER_DURATION,
33
+ easing: EASE_OUT
34
+ });
35
+ } else {
36
+ // Outgoing screen hides instantly (display: none) — only entries animate.
37
+ progress.value = 0;
38
+ }
39
+ }, [focused, progress]);
40
+
41
+ // `progress` must stay in the deps array — see the CRITICAL note in
42
+ // `TabBarBase`: without the worklets babel plugin (web) an omitted array
43
+ // freezes the mapper at the first frame, and every tab would enter invisible.
44
+ const style = useAnimatedStyle(() => ({
45
+ opacity: progress.value,
46
+ transform: [{
47
+ scale: interpolate(progress.value, [0, 1], [ENTER_SCALE, 1])
48
+ }]
49
+ }), [progress]);
50
+ return /*#__PURE__*/_jsx(Animated.View, {
51
+ style: [styles.fade, style],
52
+ children: children
53
+ });
54
+ }
55
+
56
+ /**
57
+ * Drop-in for `TabSlot`'s `renderFn`: identical to expo-router's default render,
58
+ * plus a subtle fade + micro-scale on the screen becoming focused.
59
+ *
60
+ * ```tsx
61
+ * <TabSlot style={{ height: '100%' }} renderFn={renderFadingTabScreen} />
62
+ * ```
63
+ */
64
+ export function renderFadingTabScreen(descriptor, {
65
+ isFocused,
66
+ loaded,
67
+ detachInactiveScreens
68
+ }) {
69
+ const {
70
+ lazy = true,
71
+ unmountOnBlur,
72
+ freezeOnBlur
73
+ } = descriptor.options;
74
+ if (unmountOnBlur && !isFocused) {
75
+ return null;
76
+ }
77
+ if (lazy && !loaded && !isFocused) {
78
+ return null;
79
+ }
80
+ return /*#__PURE__*/_jsx(Screen, {
81
+ enabled: detachInactiveScreens,
82
+ activityState: isFocused ? 2 : 0,
83
+ freezeOnBlur: freezeOnBlur,
84
+ style: [styles.screen, isFocused ? styles.focused : styles.unfocused],
85
+ children: /*#__PURE__*/_jsx(FadeIn, {
86
+ focused: isFocused,
87
+ children: descriptor.render()
88
+ })
89
+ }, descriptor.route.key);
90
+ }
91
+ const styles = StyleSheet.create({
92
+ fade: {
93
+ flex: 1
94
+ },
95
+ screen: {
96
+ flex: 1,
97
+ position: 'relative',
98
+ height: '100%'
99
+ },
100
+ focused: {
101
+ zIndex: 1,
102
+ display: 'flex',
103
+ flexShrink: 0,
104
+ flexGrow: 1
105
+ },
106
+ unfocused: {
107
+ zIndex: -1,
108
+ display: 'none',
109
+ flexShrink: 1,
110
+ flexGrow: 0
111
+ }
112
+ });
113
+ //# sourceMappingURL=fading-tab-screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","StyleSheet","Animated","Easing","interpolate","useAnimatedStyle","useSharedValue","withTiming","Screen","jsx","_jsx","EASE_OUT","bezier","ENTER_DURATION","ENTER_SCALE","FadeIn","focused","children","progress","isFirstRender","current","value","duration","easing","style","opacity","transform","scale","View","styles","fade","renderFadingTabScreen","descriptor","isFocused","loaded","detachInactiveScreens","lazy","unmountOnBlur","freezeOnBlur","options","enabled","activityState","screen","unfocused","render","route","key","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,15 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ported from expo-glass-tabs v0.1.1 — src/index.ts
5
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
6
+ *
7
+ * Entry for `@oxyhq/bloom/tab-bar/expo-router`. The components live in sibling
8
+ * modules because this file is the published entry path and must stay stable;
9
+ * the split also keeps the router bindings and the `TabSlot` renderer — which
10
+ * pull `expo-router` and `react-native-screens` respectively — in separate
11
+ * modules.
12
+ */
13
+ export { RouterTabBar, RouterTabBarButton } from "./RouterTabBar.js";
14
+ export { renderFadingTabScreen } from "./fading-tab-screen.js";
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RouterTabBar","RouterTabBarButton","renderFadingTabScreen"],"sourceRoot":"../../../../src","sources":["tab-bar/expo-router/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAY,EAAEC,kBAAkB,QAAQ,mBAAgB;AAEjE,SAASC,qBAAqB,QAAQ,wBAAqB","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
5
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
6
+ *
7
+ * NEUTRAL default variant of a tab glyph: renders the item's own `icon` node,
8
+ * tinted for this crossfade layer.
9
+ *
10
+ * `item.icon` is the primary icon API for the whole family — a Bloom icon
11
+ * element, exactly like `TabsTrigger` and `FrostedIconButton` take. `sfSymbol`
12
+ * is an iOS-only enhancement and is deliberately ignored here: this file is
13
+ * resolved by web bundlers and by a consumer's `tsc`, where a static
14
+ * `expo-symbols` import would break resolution. See `glyph.native.tsx` for the
15
+ * variant that consumes it. Both implement `TabBarGlyphProps` exactly.
16
+ */
17
+ import { View } from 'react-native';
18
+ import { applyIconColor } from "../frosted-icon-button/shared.js";
19
+ import { jsx as _jsx } from "react/jsx-runtime";
20
+ export function TabBarGlyph({
21
+ item,
22
+ tint,
23
+ size
24
+ }) {
25
+ // The tint is injected as the icon's `fill` FALLBACK — an icon that sets its
26
+ // own `fill` (a brand mark, say) keeps it, so the crossfade layers simply
27
+ // render it twice at full opacity and it never flickers.
28
+ return /*#__PURE__*/_jsx(View, {
29
+ style: {
30
+ height: size,
31
+ alignItems: 'center',
32
+ justifyContent: 'center'
33
+ },
34
+ children: applyIconColor(item.icon, tint)
35
+ });
36
+ }
37
+ TabBarGlyph.displayName = 'TabBarGlyph';
38
+ //# sourceMappingURL=glyph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","applyIconColor","jsx","_jsx","TabBarGlyph","item","tint","size","style","height","alignItems","justifyContent","children","icon","displayName"],"sourceRoot":"../../../src","sources":["tab-bar/glyph.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,cAAc;AAEnC,SAASC,cAAc,QAAQ,kCAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG/D,OAAO,SAASC,WAAWA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC;AAAuB,CAAC,EAAE;EAClE;EACA;EACA;EACA,oBACEJ,IAAA,CAACH,IAAI;IAACQ,KAAK,EAAE;MAAEC,MAAM,EAAEF,IAAI;MAAEG,UAAU,EAAE,QAAQ;MAAEC,cAAc,EAAE;IAAS,CAAE;IAAAC,QAAA,EAC3EX,cAAc,CAACI,IAAI,CAACQ,IAAI,EAAEP,IAAI;EAAC,CAC5B,CAAC;AAEX;AAEAF,WAAW,CAACU,WAAW,GAAG,aAAa","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
5
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
6
+ *
7
+ * NATIVE variant of a tab glyph. Identical to the neutral variant except that
8
+ * an item carrying an `sfSymbol` renders as a real SF Symbol on iOS: the system
9
+ * glyph set, weight-matched to the platform and tinted natively.
10
+ *
11
+ * `expo-symbols` is imported STATICALLY and only here — Metro selects `.native`
12
+ * on iOS/Android, so it never reaches a web bundle or a consumer's type-check
13
+ * (see the neutral `glyph.tsx` sibling). Android has no SF Symbols, so it falls
14
+ * through to the item's own icon node, which every item provides.
15
+ */
16
+ import { SymbolView } from 'expo-symbols';
17
+ import { Platform, View } from 'react-native';
18
+ import { applyIconColor } from "../frosted-icon-button/shared.js";
19
+ import { jsx as _jsx } from "react/jsx-runtime";
20
+ export function TabBarGlyph({
21
+ item,
22
+ tint,
23
+ size
24
+ }) {
25
+ if (item.sfSymbol && Platform.OS === 'ios') {
26
+ // `TabBarItem.sfSymbol` is a plain `string` because `types.ts` may import
27
+ // from react/react-native only — pulling `expo-symbols`' `SFSymbol` union
28
+ // into the public type would drag a native-only package into every web
29
+ // bundle and every consumer's type-check. The narrowing happens here, at
30
+ // the single boundary where the symbol reaches the native view; an unknown
31
+ // name renders nothing rather than crashing, which is why no runtime
32
+ // validation is warranted.
33
+ return /*#__PURE__*/_jsx(SymbolView, {
34
+ name: item.sfSymbol,
35
+ tintColor: tint,
36
+ size: size,
37
+ weight: "semibold"
38
+ });
39
+ }
40
+ return /*#__PURE__*/_jsx(View, {
41
+ style: {
42
+ height: size,
43
+ alignItems: 'center',
44
+ justifyContent: 'center'
45
+ },
46
+ children: applyIconColor(item.icon, tint)
47
+ });
48
+ }
49
+ TabBarGlyph.displayName = 'TabBarGlyph';
50
+ //# sourceMappingURL=glyph.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SymbolView","Platform","View","applyIconColor","jsx","_jsx","TabBarGlyph","item","tint","size","sfSymbol","OS","name","tintColor","weight","style","height","alignItems","justifyContent","children","icon","displayName"],"sourceRoot":"../../../src","sources":["tab-bar/glyph.native.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,UAAU,QAAuB,cAAc;AACxD,SAASC,QAAQ,EAAEC,IAAI,QAAQ,cAAc;AAE7C,SAASC,cAAc,QAAQ,kCAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG/D,OAAO,SAASC,WAAWA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC;AAAuB,CAAC,EAAE;EAClE,IAAIF,IAAI,CAACG,QAAQ,IAAIT,QAAQ,CAACU,EAAE,KAAK,KAAK,EAAE;IAC1C;IACA;IACA;IACA;IACA;IACA;IACA;IACA,oBACEN,IAAA,CAACL,UAAU;MACTY,IAAI,EAAEL,IAAI,CAACG,QAAqB;MAChCG,SAAS,EAAEL,IAAK;MAChBC,IAAI,EAAEA,IAAK;MACXK,MAAM,EAAC;IAAU,CAClB,CAAC;EAEN;EAEA,oBACET,IAAA,CAACH,IAAI;IAACa,KAAK,EAAE;MAAEC,MAAM,EAAEP,IAAI;MAAEQ,UAAU,EAAE,QAAQ;MAAEC,cAAc,EAAE;IAAS,CAAE;IAAAC,QAAA,EAC3EhB,cAAc,CAACI,IAAI,CAACa,IAAI,EAAEZ,IAAI;EAAC,CAC5B,CAAC;AAEX;AAEAF,WAAW,CAACe,WAAW,GAAG,aAAa","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ported from expo-glass-tabs v0.1.1 — src/index.ts
5
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
6
+ *
7
+ * DEFAULT entry for `@oxyhq/bloom/tab-bar`.
8
+ *
9
+ * The platform pieces are imported by their BARE relative name so Metro's
10
+ * platform-extension resolution picks `surface.native.tsx` / `glyph.native.tsx`
11
+ * on iOS and Android, and every other resolver falls back to the neutral
12
+ * `surface.tsx` / `glyph.tsx`. Both neutral files, and everything else this
13
+ * module reaches, are free of native-only imports, so a consumer's `tsc` and a
14
+ * non-Metro bundler resolve this entry cleanly. Web bundlers select
15
+ * `index.web.tsx` instead, through the package's `browser` export condition.
16
+ */
17
+ import { ProgressiveBlur } from '../progressive-blur';
18
+ import { createTabBar, createTabBarButton } from "./TabBarBase.js";
19
+ import { TabBarGlyph } from './glyph';
20
+ import { TabBarSurface } from './surface';
21
+ export const TabBar = createTabBar(TabBarSurface, ProgressiveBlur);
22
+ export const TabBarButton = createTabBarButton(TabBarGlyph);
23
+ export { MINIMIZE_SPRING, setMinimized, TabBarMinimizeProvider, useMinimizeOnScroll, useMinimizeState, useTabBarMinimized } from "./minimize-context.js";
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ProgressiveBlur","createTabBar","createTabBarButton","TabBarGlyph","TabBarSurface","TabBar","TabBarButton","MINIMIZE_SPRING","setMinimized","TabBarMinimizeProvider","useMinimizeOnScroll","useMinimizeState","useTabBarMinimized"],"sourceRoot":"../../../src","sources":["tab-bar/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,qBAAqB;AACrD,SAASC,YAAY,EAAEC,kBAAkB,QAAQ,iBAAc;AAC/D,SAASC,WAAW,QAAQ,SAAS;AACrC,SAASC,aAAa,QAAQ,WAAW;AAEzC,OAAO,MAAMC,MAAM,GAAGJ,YAAY,CAACG,aAAa,EAAEJ,eAAe,CAAC;AAClE,OAAO,MAAMM,YAAY,GAAGJ,kBAAkB,CAACC,WAAW,CAAC;AAE3D,SACEI,eAAe,EACfC,YAAY,EACZC,sBAAsB,EACtBC,mBAAmB,EACnBC,gBAAgB,EAChBC,kBAAkB,QACb,uBAAoB","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ported from expo-glass-tabs v0.1.1 — src/index.ts
5
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
6
+ *
7
+ * WEB entry for `@oxyhq/bloom/tab-bar`, selected through the package's
8
+ * `browser` export condition.
9
+ *
10
+ * The web modules are imported by their FULL `.web` name on purpose. Inside the
11
+ * published `lib/` every file is plain `.js` (`surface.js` next to
12
+ * `surface.web.js`), and no web bundler resolves a bare `./surface` to the
13
+ * `.web` sibling by extension — only Metro does that. Writing the fork path
14
+ * explicitly is the same thing the generated root barrel does
15
+ * (`src/index.web.ts` → `from './dialog/index.web'`). `./glyph` has no web fork:
16
+ * the neutral file already renders `item.icon`, which is the correct web
17
+ * behaviour, and it is what any resolver lands on here.
18
+ */
19
+ import { ProgressiveBlur } from "../progressive-blur/index.web.js";
20
+ import { createTabBar, createTabBarButton } from "./TabBarBase.js";
21
+ import { TabBarGlyph } from './glyph';
22
+ import { TabBarSurface } from "./surface.web.js";
23
+ export const TabBar = createTabBar(TabBarSurface, ProgressiveBlur);
24
+ export const TabBarButton = createTabBarButton(TabBarGlyph);
25
+ export { MINIMIZE_SPRING, setMinimized, TabBarMinimizeProvider, useMinimizeOnScroll, useMinimizeState, useTabBarMinimized } from "./minimize-context.js";
26
+ //# sourceMappingURL=index.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ProgressiveBlur","createTabBar","createTabBarButton","TabBarGlyph","TabBarSurface","TabBar","TabBarButton","MINIMIZE_SPRING","setMinimized","TabBarMinimizeProvider","useMinimizeOnScroll","useMinimizeState","useTabBarMinimized"],"sourceRoot":"../../../src","sources":["tab-bar/index.web.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,kCAA+B;AAC/D,SAASC,YAAY,EAAEC,kBAAkB,QAAQ,iBAAc;AAC/D,SAASC,WAAW,QAAQ,SAAS;AACrC,SAASC,aAAa,QAAQ,kBAAe;AAE7C,OAAO,MAAMC,MAAM,GAAGJ,YAAY,CAACG,aAAa,EAAEJ,eAAe,CAAC;AAClE,OAAO,MAAMM,YAAY,GAAGJ,kBAAkB,CAACC,WAAW,CAAC;AAE3D,SACEI,eAAe,EACfC,YAAY,EACZC,sBAAsB,EACtBC,mBAAmB,EACnBC,gBAAgB,EAChBC,kBAAkB,QACb,uBAAoB","ignoreList":[]}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ported from expo-glass-tabs v0.1.1 — src/minimize-context.tsx
5
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
6
+ *
7
+ * The shared 0..1 "minimize" progress the tab bar interpolates on, plus the
8
+ * scroll handler that drives it. Reanimated only — no platform imports.
9
+ */
10
+ import { createContext, useContext, useMemo } from 'react';
11
+ import { useAnimatedScrollHandler, useSharedValue, withSpring } from 'react-native-reanimated';
12
+
13
+ /**
14
+ * Spring, not timing: scroll direction flips mid-animation constantly, and a
15
+ * spring retargets while preserving velocity — a timing curve would restart
16
+ * from zero and feel mechanical. Critically damped (ratio 1): no overshoot and
17
+ * no long settling tail, which matters because the bar animates layout.
18
+ */
19
+ import { jsx as _jsx } from "react/jsx-runtime";
20
+ export const MINIMIZE_SPRING = {
21
+ duration: 380,
22
+ dampingRatio: 1
23
+ };
24
+
25
+ /** Scroll offset below which the bar is always expanded (px). */
26
+ const TOP_ZONE = 24;
27
+ /** Per-event scroll delta that counts as a deliberate direction change (px). */
28
+ const DIRECTION_THRESHOLD = 3;
29
+ const MinimizeContext = /*#__PURE__*/createContext(null);
30
+
31
+ /**
32
+ * Wrap the tab tree once. Screens then call `useMinimizeOnScroll()` and the bar
33
+ * reads the same progress, so scrolling any screen minimizes the bar.
34
+ */
35
+ export function TabBarMinimizeProvider({
36
+ children
37
+ }) {
38
+ const progress = useSharedValue(0);
39
+ const target = useSharedValue(0);
40
+ const state = useMemo(() => ({
41
+ progress,
42
+ target
43
+ }), [progress, target]);
44
+ return /*#__PURE__*/_jsx(MinimizeContext.Provider, {
45
+ value: state,
46
+ children: children
47
+ });
48
+ }
49
+ TabBarMinimizeProvider.displayName = 'TabBarMinimizeProvider';
50
+
51
+ /** Full minimize state — used by the bar, the buttons and the scroll hook. */
52
+ export function useMinimizeState() {
53
+ const shared = useContext(MinimizeContext);
54
+ // Local fallback keeps screens working when rendered outside the provider
55
+ // (e.g. a web tab layout with no floating bar). Hooks run unconditionally so
56
+ // the order is stable whether or not a provider is present.
57
+ const progress = useSharedValue(0);
58
+ const target = useSharedValue(0);
59
+ const local = useMemo(() => ({
60
+ progress,
61
+ target
62
+ }), [progress, target]);
63
+ return shared ?? local;
64
+ }
65
+
66
+ /** The animated 0..1 minimize progress (what styles interpolate on). */
67
+ export function useTabBarMinimized() {
68
+ return useMinimizeState().progress;
69
+ }
70
+
71
+ /**
72
+ * Retarget the minimize spring — no-op when already heading to `next`, so
73
+ * per-frame scroll events never restart (and visibly stutter) the animation.
74
+ * Callable from both threads.
75
+ */
76
+ export function setMinimized(state, next) {
77
+ 'worklet';
78
+
79
+ if (state.target.value !== next) {
80
+ state.target.value = next;
81
+ state.progress.value = withSpring(next, MINIMIZE_SPRING);
82
+ }
83
+ }
84
+
85
+ /**
86
+ * Scroll handler for `Animated.ScrollView`. Scrolling down minimizes the tab
87
+ * bar, scrolling up (or being near the top) expands it. Offsets are clamped to
88
+ * the scrollable range so rubber-band overscroll can't flip the direction for a
89
+ * frame and flicker the bar.
90
+ */
91
+ export function useMinimizeOnScroll() {
92
+ const state = useMinimizeState();
93
+ const previousY = useSharedValue(0);
94
+
95
+ // CRITICAL — `state` and `previousY` must stay in the dependency array. On
96
+ // web WITHOUT the react-native-worklets babel plugin (the production reality
97
+ // for every Oxy RN-Web app) reanimated cannot auto-detect what a worklet
98
+ // reads, so it drives the handler off its deps instead; an omitted or empty
99
+ // array binds the handler once against the first render's values. Native
100
+ // (plugin present) auto-tracks and ignores the extra deps, so listing them is
101
+ // correct on both platforms. Same rule as every mapper in `TabBarBase`.
102
+ return useAnimatedScrollHandler({
103
+ onScroll: event => {
104
+ const maxY = Math.max(event.contentSize.height - event.layoutMeasurement.height, 0);
105
+ const y = Math.min(Math.max(event.contentOffset.y, 0), maxY);
106
+ const dy = y - previousY.value;
107
+ previousY.value = y;
108
+ if (y < TOP_ZONE) {
109
+ setMinimized(state, 0);
110
+ } else if (dy > DIRECTION_THRESHOLD) {
111
+ setMinimized(state, 1);
112
+ } else if (dy < -DIRECTION_THRESHOLD) {
113
+ setMinimized(state, 0);
114
+ }
115
+ }
116
+ }, [state, previousY]);
117
+ }
118
+ //# sourceMappingURL=minimize-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","useMemo","useAnimatedScrollHandler","useSharedValue","withSpring","jsx","_jsx","MINIMIZE_SPRING","duration","dampingRatio","TOP_ZONE","DIRECTION_THRESHOLD","MinimizeContext","TabBarMinimizeProvider","children","progress","target","state","Provider","value","displayName","useMinimizeState","shared","local","useTabBarMinimized","setMinimized","next","useMinimizeOnScroll","previousY","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":[]}