@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,93 @@
1
+ import type { StyleProp, ViewStyle } from 'react-native';
2
+ import type { AnimatedStyle } from 'react-native-reanimated';
3
+ import type { ThemeColors } from '../theme/types';
4
+ import type { TabBarItem, TabBarTheme } from './types';
5
+ export declare const EXPANDED_HEIGHT = 58;
6
+ export declare const MINIMIZED_HEIGHT = 44;
7
+ /** Extra horizontal inset applied to the pill when minimized (per side). */
8
+ export declare const MINIMIZED_INSET = 34;
9
+ /** Outer margin between the pill and the screen edges (per side). */
10
+ export declare const BAR_MARGIN = 12;
11
+ /** Inner inset between the capsule wall and the tab items. */
12
+ export declare const ROW_PAD_H = 4;
13
+ export declare const LABEL_HEIGHT = 13;
14
+ export declare const ICON_SIZE = 21;
15
+ /**
16
+ * Space between icon and label — folded into the label's animated height so it
17
+ * fully disappears when minimized (keeps the icon perfectly centered).
18
+ */
19
+ export declare const ITEM_GAP = 2;
20
+ export declare const LABEL_BLOCK: number;
21
+ export declare const ITEM_PAD_V = 7;
22
+ /** Highlight content heights — radius must track h/2 for a true capsule. */
23
+ export declare const HIGHLIGHT_EXPANDED: number;
24
+ export declare const HIGHLIGHT_MINIMIZED: number;
25
+ /** How far the bottom progressive blur bleeds above the pill. */
26
+ export declare const BLUR_BLEED = 44;
27
+ /** Label type size. Small by design — the icon carries the meaning. */
28
+ export declare const LABEL_FONT_SIZE = 9.5;
29
+ /**
30
+ * Slide spring: interruptible by design — rapid tab-hopping retargets with
31
+ * preserved velocity. Slight under-damping gives the pill a tiny settle, safe
32
+ * here because it's transform-only (no layout involved).
33
+ */
34
+ export declare const SLIDE_SPRING: {
35
+ duration: number;
36
+ dampingRatio: number;
37
+ };
38
+ /**
39
+ * Resolve the bar's five colors from Bloom's theme tokens, with an optional
40
+ * partial override on top.
41
+ *
42
+ * Upstream hardcoded a dark palette (`#FFFFFF` / `rgba(10,10,12,0.55)` / …),
43
+ * which would ignore the active preset and read as a black bar in a light
44
+ * theme. Each role maps onto the token that already carries that meaning, so
45
+ * the bar follows `BloomThemeProvider` for free:
46
+ *
47
+ * - the two tints are the standard foreground pair;
48
+ * - the highlight is `contrast50`, the token meant for a subtle raised fill;
49
+ * - the glass tint is a 55%-alpha page background, so the liquid-glass
50
+ * material behind it still refracts content;
51
+ * - the solid fallback is a 94%-alpha `backgroundSecondary` — near-opaque, so
52
+ * the bar reads as a distinct surface where there is no glass to lens.
53
+ *
54
+ * Overrides are coalesced key by key (not spread) so an explicit `undefined` in
55
+ * a partial can never punch a hole in the resolved theme.
56
+ */
57
+ export declare function resolveTabBarTheme(colors: ThemeColors, overrides?: Partial<TabBarTheme>): TabBarTheme;
58
+ /**
59
+ * Hook form of {@link resolveTabBarTheme}.
60
+ *
61
+ * Memoized on the individual override VALUES rather than on the `overrides`
62
+ * object: callers pass an inline literal (`theme={{ highlight: '#…' }}`), whose
63
+ * identity changes every render. The resolved theme feeds a React context and a
64
+ * reanimated dependency array, so a fresh identity per render would re-render
65
+ * every button and rebuild the label mapper for nothing.
66
+ */
67
+ export declare function useTabBarTheme(overrides?: Partial<TabBarTheme>): TabBarTheme;
68
+ export interface TabBarSurfaceProps {
69
+ /** Resolved theme — the surface picks `glassTint` or `solidFallback`. */
70
+ theme: TabBarTheme;
71
+ /**
72
+ * Animated capsule shape (a `borderRadius` tracking the animated height).
73
+ * It rides on the surface itself rather than on a clipping parent: iOS 26
74
+ * glass renders its own native corner configuration (true squircle + rim
75
+ * lighting), which an RN mask would flatten.
76
+ *
77
+ * Typed through `AnimatedStyle` because this always receives a
78
+ * `useAnimatedStyle` result, which reanimated 4.5 returns as an opaque
79
+ * `AnimatedStyleHandle` rather than the plain style object 4.2 handed back.
80
+ * Same reason `BottomSheetProps.style` is typed this way. Every variant
81
+ * forwards it into an `Animated.View` (or an animated `GlassView`), so the
82
+ * wider type is what they genuinely accept.
83
+ */
84
+ style: StyleProp<AnimatedStyle<ViewStyle>>;
85
+ }
86
+ export interface TabBarGlyphProps {
87
+ item: TabBarItem;
88
+ /** Color for THIS layer — the bar renders one glyph per crossfade layer. */
89
+ tint: string;
90
+ /** Rendered icon size in px ({@link ICON_SIZE}). */
91
+ size: number;
92
+ }
93
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/shared.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAWvD,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,4EAA4E;AAC5E,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,qEAAqE;AACrE,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,8DAA8D;AAC9D,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B;;;GAGG;AACH,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,eAAO,MAAM,WAAW,QAA0B,CAAC;AACnD,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,QAA2C,CAAC;AAC3E,eAAO,MAAM,mBAAmB,QAA6B,CAAC;AAC9D,iEAAiE;AACjE,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,uEAAuE;AACvE,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;CAAwC,CAAC;AAMlE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC/B,WAAW,CAQb;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAe5E;AAaD,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,KAAK,EAAE,WAAW,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,6 @@
1
+ import type { TabBarSurfaceProps } from './shared';
2
+ export declare function TabBarSurface({ theme, style }: TabBarSurfaceProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace TabBarSurface {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/surface.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,kBAAkB,2CAWjE;yBAXe,aAAa"}
@@ -0,0 +1,6 @@
1
+ import type { TabBarSurfaceProps } from './shared';
2
+ export declare function TabBarSurface({ theme, style }: TabBarSurfaceProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace TabBarSurface {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=surface.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface.native.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/surface.native.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAInD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,kBAAkB,2CAyBjE;yBAzBe,aAAa"}
@@ -0,0 +1,6 @@
1
+ import type { TabBarSurfaceProps } from './shared';
2
+ export declare function TabBarSurface({ theme, style }: TabBarSurfaceProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace TabBarSurface {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=surface.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface.web.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/surface.web.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAkBnD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,kBAAkB,2CAWjE;yBAXe,aAAa"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
3
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
4
+ *
5
+ * Public API types for `@oxyhq/bloom/tab-bar`.
6
+ *
7
+ * This module imports from `react` and `react-native` ONLY. It is resolved by a
8
+ * consumer's `tsc`, by Metro, and by every web bundler alike, so a platform
9
+ * import here (expo-glass-effect / expo-symbols / expo-router) would break all
10
+ * three at once. Platform behaviour lives in `surface.native.tsx` /
11
+ * `glyph.native.tsx` / `surface.web.tsx` and the `expo-router/` adapter.
12
+ */
13
+ import type { ReactNode } from 'react';
14
+ import type { PressableProps, ViewProps } from 'react-native';
15
+ export type TabBarItem = {
16
+ /** Stable identity for the tab (a route name in router-driven usage). */
17
+ name: string;
18
+ /** Text under the icon; fades out and is clipped when the bar minimizes. */
19
+ label: string;
20
+ /**
21
+ * The glyph, as a Bloom icon element (`<Icons.Home />`) or any node. This is
22
+ * the primary icon API — same convention as `Tabs`/`TabsTrigger` and
23
+ * `FrostedIconButton`. The bar renders it TWICE (an inactive layer with the
24
+ * active layer crossfading on top), injecting the layer's tint as the icon's
25
+ * `fill` unless the element already sets one.
26
+ */
27
+ icon: ReactNode;
28
+ /**
29
+ * Optional SF Symbol name, used INSTEAD of `icon` on iOS only. A pure
30
+ * enhancement handled solely in `glyph.native.tsx`; the neutral and web
31
+ * glyphs ignore it and render `icon`, so every platform stays covered.
32
+ */
33
+ sfSymbol?: string;
34
+ };
35
+ export type TabBarTheme = {
36
+ /** Label/glyph color of the tab the highlight is over. */
37
+ activeTint: string;
38
+ /** Label/glyph color of every other tab. */
39
+ inactiveTint: string;
40
+ /** Sliding highlight pill color. */
41
+ highlight: string;
42
+ /** Tint layered over the liquid glass (iOS 26) surface. */
43
+ glassTint: string;
44
+ /** Near-opaque background used when liquid glass is unavailable. */
45
+ solidFallback: string;
46
+ };
47
+ export type TabBarProps = ViewProps & {
48
+ /**
49
+ * CONTROLLED path — the index of the focused tab. The bar owns the sliding
50
+ * highlight and springs it here whenever this changes. Use this when there is
51
+ * no router in play; the router adapter uses the per-button `isFocused` path
52
+ * instead (see {@link TabBarButtonProps.isFocused}) and must NOT pass this.
53
+ */
54
+ activeIndex?: number;
55
+ /**
56
+ * Called with the chosen index when a tab is picked by tap, by scrub release,
57
+ * or by keyboard/assistive-technology activation of a `TabBarButton`.
58
+ */
59
+ onIndexChange?: (index: number) => void;
60
+ /** Partial override of the theme resolved from Bloom's color tokens. */
61
+ theme?: Partial<TabBarTheme>;
62
+ /**
63
+ * Haptic tick as the scrub crosses tab boundaries. Defaults to `true`. Runs
64
+ * through Bloom's `useHaptics`, so it is already a no-op on web and when the
65
+ * optional `expo-haptics` peer is absent.
66
+ */
67
+ haptics?: boolean;
68
+ };
69
+ export type TabBarButtonProps = PressableProps & {
70
+ item: TabBarItem;
71
+ /** Position in the bar. Drives the highlight target and the glyph crossfade. */
72
+ index: number;
73
+ /**
74
+ * FOCUS-DRIVEN path — supplied by the `expo-router` adapter from the tab
75
+ * trigger's own focus state. When present it wins over the bar's
76
+ * `activeIndex`, and this button (not the bar) drives the highlight, which is
77
+ * what makes programmatic navigation, deep links and back gestures move it.
78
+ *
79
+ * Leave it undefined for the controlled path: the button then resolves its
80
+ * focus from the bar's `activeIndex` and reports presses through the bar's
81
+ * `onIndexChange`.
82
+ */
83
+ isFocused?: boolean;
84
+ };
85
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,MAAM,UAAU,GAAG;IACvB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,IAAI,EAAE,SAAS,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IACpC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,IAAI,EAAE,UAAU,CAAC;IACjB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../../src/tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAgBf,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAe,MAAM,SAAS,CAAC;AA+Q1F,eAAO,MAAM,IAAI,uCAAyB,CAAC;AAG3C,eAAO,MAAM,WAAW,8CAAqB,CAAC;AAG9C,eAAO,MAAM,WAAW,8CAA0B,CAAC"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../../src/tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAiBf,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAe,MAAM,SAAS,CAAC;AA4Q1F,eAAO,MAAM,IAAI,uCAAyB,CAAC;AAG3C,eAAO,MAAM,WAAW,8CAAqB,CAAC;AAG9C,eAAO,MAAM,WAAW,8CAA0B,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Derived from sonner-native v0.26.4 — src/positioner.tsx
3
+ * (MIT © Gunnar Torfi Steinarsson). See the top-level NOTICE.
4
+ *
5
+ * One container per occupied position, plus the press-to-collapse area outside an
6
+ * expanded stack. The container pins all four edges and `getInsetValues` overrides
7
+ * just the anchored one, so it always has a real height and the rows inside it —
8
+ * which are absolutely positioned — are never laid out out of bounds. See
9
+ * `getContainerStyle` for what a zero-height container did to Android.
10
+ *
11
+ * `position: 'absolute'` is correct on BOTH platforms and this file stays fully
12
+ * universal: `ToastHost` supplies a viewport-sized containing block on web, so
13
+ * there is no `.web` fork and no `position: 'fixed'` here (W7).
14
+ *
15
+ * `pointerEvents` goes in `style`, never as a prop — the prop form is deprecated
16
+ * in react-native-web and logs on every render.
17
+ */
18
+ import * as React from 'react';
19
+ import type { ToasterProps } from './types';
20
+ export declare const Positioner: React.FC<React.PropsWithChildren<Pick<ToasterProps, 'position' | 'style'>>>;
21
+ //# sourceMappingURL=Positioner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Positioner.d.ts","sourceRoot":"","sources":["../../../../src/toast/Positioner.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAwB5C,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAC/B,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,CA+DlE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type ToasterProps, type ToastProps } from './types';
2
+ export type ToastContentProps = Pick<ToastProps, 'id' | 'title' | 'description' | 'variant' | 'icon' | 'action' | 'cancel' | 'close' | 'closeButton' | 'dismissible' | 'richColors' | 'promiseOptions' | 'styles' | 'style' | 'actionButtonStyle' | 'actionButtonTextStyle' | 'cancelButtonStyle' | 'cancelButtonTextStyle' | 'allowFontScaling' | 'maxFontSizeMultiplier' | 'backgroundComponent'> & {
3
+ unstyled: boolean;
4
+ onDismiss: (id: string | number) => void;
5
+ /** Variant icon overrides from the outlet (`icons={{ success: … }}`). */
6
+ icons: ToastIcons;
7
+ };
8
+ type ToastIcons = NonNullable<ToasterProps['icons']>;
9
+ export declare function ToastContent({ id, title, description, variant, icon, icons, action, cancel, close, closeButton, dismissible, richColors, promiseOptions, styles: styleOverrides, style, unstyled, onDismiss, actionButtonStyle, actionButtonTextStyle, cancelButtonStyle, cancelButtonTextStyle, allowFontScaling, maxFontSizeMultiplier, backgroundComponent, }: ToastContentProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare namespace ToastContent {
11
+ var displayName: string;
12
+ }
13
+ export {};
14
+ //# sourceMappingURL=ToastContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastContent.d.ts","sourceRoot":"","sources":["../../../../src/toast/ToastContent.tsx"],"names":[],"mappings":"AA8BA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,UAAU,EAChB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,UAAU,EACR,IAAI,GACJ,OAAO,GACP,aAAa,GACb,SAAS,GACT,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,OAAO,GACP,mBAAmB,GACnB,uBAAuB,GACvB,mBAAmB,GACnB,uBAAuB,GACvB,kBAAkB,GAClB,uBAAuB,GACvB,qBAAqB,CACxB,GAAG;IACF,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACzC,yEAAyE;IACzE,KAAK,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF,KAAK,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAErD,wBAAgB,YAAY,CAAC,EAC3B,EAAE,EACF,KAAK,EACL,WAAW,EACX,OAAO,EACP,IAAI,EACJ,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,WAAW,EACX,WAAW,EACX,UAAkB,EAClB,cAAc,EACd,MAAM,EAAE,cAAc,EACtB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,EAAE,iBAAiB,2CA0HnB;yBAnJe,YAAY"}
@@ -0,0 +1,6 @@
1
+ import type { ToastHostProps } from './types';
2
+ export declare function ToastHost({ children, ToasterOverlayWrapper }: ToastHostProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace ToastHost {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=ToastHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastHost.d.ts","sourceRoot":"","sources":["../../../../src/toast/ToastHost.tsx"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,EAAE,cAAc,2CAgB5E;yBAhBe,SAAS"}
@@ -0,0 +1,6 @@
1
+ import type { ToastHostProps } from './types';
2
+ export declare function ToastHost({ children, ToasterOverlayWrapper }: ToastHostProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace ToastHost {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=ToastHost.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastHost.native.d.ts","sourceRoot":"","sources":["../../../../src/toast/ToastHost.native.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,EAAE,cAAc,2CAK5E;yBALe,SAAS"}
@@ -0,0 +1,9 @@
1
+ import type { ToastVariant } from './types';
2
+ export declare function ToastIcon({ variant, color, }: {
3
+ variant: ToastVariant | undefined;
4
+ color: string;
5
+ }): import("react/jsx-runtime").JSX.Element | null;
6
+ export declare namespace ToastIcon {
7
+ var displayName: string;
8
+ }
9
+ //# sourceMappingURL=ToastIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastIcon.d.ts","sourceRoot":"","sources":["../../../../src/toast/ToastIcon.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAY5C,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,KAAK,GACN,EAAE;IACD,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf,kDAaA;yBAnBe,SAAS"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Derived from sonner-native v0.26.4 — src/toast.tsx:39-437
3
+ * (MIT © Gunnar Torfi Steinarsson). See the top-level NOTICE.
4
+ *
5
+ * The animated shell around a row: stack offset + scale, enter/exit animation,
6
+ * height measurement, swipe wrapper and the imperative wiggle handle. The visual
7
+ * row itself is `ToastContent` (or the consumer's `jsx`).
8
+ *
9
+ * W6 — INVARIANT: THE MEASURED `Animated.View` IS `style`-ONLY, NEVER
10
+ * `className`'d. Under react-native-css on web, `onLayout` never fires for a
11
+ * className'd component, which would strand every row at
12
+ * `ESTIMATED_TOAST_HEIGHT` and pile the stack on top of itself. Measurement runs
13
+ * a three-tier ladder — `getBoundingClientRect()` (RN >= 0.83 refs and RN-Web),
14
+ * then `measureInWindow` (older New Arch), then `onLayout` as the safety net —
15
+ * so no single platform quirk can silently degrade it. A consumer's `toast.custom`
16
+ * JSX is unaffected: the ref sits on this engine wrapper, not on their element.
17
+ *
18
+ * W3 — the animated style READS two shared values and returns only the transform.
19
+ * `position`, `width` and the `top`/`bottom` anchor are static `StyleSheet` entries:
20
+ * upstream writes the anchor conditionally INSIDE the mapper, so the previous
21
+ * anchor is never cleared when `position` changes and the static keys are
22
+ * re-committed every frame. Both shared values are driven imperatively from plain-JS
23
+ * targets (`useAnimatedTarget`), never returned from a mapper.
24
+ *
25
+ * W5 — this row does NOT subscribe to `AppState`. `Toaster` holds one
26
+ * subscription for the whole stack (upstream creates one per row, so N toasts
27
+ * meant N `visibilitychange` listeners).
28
+ *
29
+ * THE EXIT IS ALWAYS A LAYOUT ANIMATION; THE ENTER DEPENDS ON THE PLATFORM.
30
+ * `animations.ts` returns EITHER an `entering` builder (native, and any consumer
31
+ * override) OR an `enterTranslateY` for `rowStyle` below to fade and slide the row
32
+ * in imperatively (web default) — never both. When `enterTranslateY` is
33
+ * `undefined`, `enterProgress` is seeded at 1 and `rowStyle` collapses to the
34
+ * wiggle scale alone, so nothing here competes with `entering`. Both halves of
35
+ * that split are load-bearing and neither may be "simplified" into the other:
36
+ * `animations.ts` documents the web pin that forbids `entering` on web and the
37
+ * native regression that forbids the imperative driver on native.
38
+ */
39
+ import * as React from 'react';
40
+ import type { ToastPosition, ToastRef, ToastStyles } from './types';
41
+ export declare const ToastRow: React.ForwardRefExoticComponent<{
42
+ unstyled?: boolean;
43
+ style?: import("react-native").ViewStyle;
44
+ styles?: ToastStyles;
45
+ backgroundComponent?: React.ReactNode;
46
+ } & {
47
+ id: string | number;
48
+ index: number;
49
+ title: string;
50
+ variant?: import("./types").ToastVariant;
51
+ numberOfToasts: number;
52
+ orderedToastIds: Array<string | number>;
53
+ jsx?: React.ReactNode;
54
+ description?: string;
55
+ invert?: boolean;
56
+ important?: boolean;
57
+ duration?: number;
58
+ position?: ToastPosition;
59
+ animation?: import("./types").ToastAnimation;
60
+ dismissible?: boolean;
61
+ icon?: React.ReactNode;
62
+ action?: import("./types").ToastAction | React.ReactNode;
63
+ cancel?: import("./types").ToastAction | React.ReactNode;
64
+ close?: React.ReactNode;
65
+ closeButton?: boolean;
66
+ richColors?: boolean;
67
+ onDismiss?: (id: string | number) => void;
68
+ onAutoClose?: (id: string | number) => void;
69
+ promiseOptions?: import("./types").PromiseOptions;
70
+ actionButtonStyle?: import("react-native").ViewStyle;
71
+ actionButtonTextStyle?: import("react-native").TextStyle;
72
+ cancelButtonStyle?: import("react-native").ViewStyle;
73
+ cancelButtonTextStyle?: import("react-native").TextStyle;
74
+ onPress?: () => void;
75
+ allowFontScaling?: boolean;
76
+ maxFontSizeMultiplier?: number;
77
+ } & {
78
+ onDismiss: (id: string | number) => void;
79
+ } & React.RefAttributes<ToastRef>>;
80
+ //# sourceMappingURL=ToastRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastRow.d.ts","sourceRoot":"","sources":["../../../../src/toast/ToastRow.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA2B/B,OAAO,KAAK,EAEV,aAAa,EAEb,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAC;AAwDjB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAHR,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI;kCA6UzC,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Derived from sonner-native v0.26.4 — src/gestures.tsx
3
+ * (MIT © Gunnar Torfi Steinarsson). See the top-level NOTICE.
4
+ *
5
+ * W2 — the animated style reads `translate`, `direction`, `position`,
6
+ * `windowWidth` and `isAndroid`; ALL of them are in the dependency array. On web
7
+ * without the worklets babel plugin reanimated re-runs the mapper on its deps
8
+ * rather than on auto-tracked reads, so a missing dep freezes the swipe transform
9
+ * at its first frame (upstream omits `position` and `isAndroid`, so a toast that
10
+ * changes position mid-life swipes the wrong way).
11
+ */
12
+ import * as React from 'react';
13
+ import { type ViewStyle } from 'react-native';
14
+ import type { ToastPosition, ToastProps } from './types';
15
+ type ToastSwipeHandlerProps = Pick<ToastProps, 'important'> & {
16
+ onRemove: () => void;
17
+ style?: ViewStyle | (ViewStyle | undefined)[];
18
+ onBegin: () => void;
19
+ onFinalize: () => void;
20
+ enabled?: boolean;
21
+ unstyled?: boolean;
22
+ position?: ToastPosition;
23
+ onPress: (args: {
24
+ x: number;
25
+ y: number;
26
+ }) => void;
27
+ };
28
+ export declare const ToastSwipeHandler: React.FC<React.PropsWithChildren<ToastSwipeHandlerProps>>;
29
+ export {};
30
+ //# sourceMappingURL=ToastSwipeHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastSwipeHandler.d.ts","sourceRoot":"","sources":["../../../../src/toast/ToastSwipeHandler.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AActB,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAWzD,KAAK,sBAAsB,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG;IAC5D,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CACtC,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAqJhD,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Derived from sonner-native v0.26.4 — src/toaster.tsx
3
+ * (MIT © Gunnar Torfi Steinarsson). See the top-level NOTICE.
4
+ *
5
+ * Subscribes to the store, resolves the outlet configuration once, groups rows by
6
+ * position and renders each group through `Positioner` inside the platform
7
+ * `ToastHost`.
8
+ *
9
+ * W5 — ONE `AppState` subscription for the whole stack. Upstream subscribes per
10
+ * row, so N toasts meant N `visibilitychange` listeners all doing the same work;
11
+ * the store already exposes stack-wide `pauseAllTimers`/`resumeAllTimers`.
12
+ *
13
+ * `react-native-screens` is not imported here either — the platform wrapper is
14
+ * `ToastHost`'s concern (D6).
15
+ */
16
+ import * as React from 'react';
17
+ import type { ToasterProps } from './types';
18
+ export declare const Toaster: React.FC<ToasterProps>;
19
+ //# sourceMappingURL=Toaster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toaster.d.ts","sourceRoot":"","sources":["../../../../src/toast/Toaster.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAGV,YAAY,EAGb,MAAM,SAAS,CAAC;AAyBjB,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAyM1C,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { type ReanimatedKeyframe } from 'react-native-reanimated';
2
+ import type { ToastAnimation, ToastEntryExitAnimation, ToastPosition } from './types';
3
+ export type ToastEnterDriver = 'imperative' | 'layoutAnimation';
4
+ /**
5
+ * THE one platform switch in the toast engine: which mechanism plays Bloom's
6
+ * DEFAULT enter animation. See the header for why the two platforms cannot share
7
+ * one mechanism.
8
+ */
9
+ export declare const TOAST_ENTER_DRIVER: ToastEnterDriver;
10
+ /** Worklet-callable easing for `withTiming` inside mappers and layout transitions. */
11
+ export declare const easeOutQuartFn: (x: number) => number;
12
+ export declare const easeInOutCircFn: (x: number) => number;
13
+ /**
14
+ * Bounded so an animated `gap` cannot grow the cache without limit. The natural
15
+ * key space is 3 enter shapes + 3 positions x hidden x single x one stackGap = 15
16
+ * entries, so this leaves room for a few gap values while staying O(1) memory.
17
+ */
18
+ export declare const MAX_CACHED_ANIMATIONS = 32;
19
+ /** Exported so the bounded-growth invariant above is testable. */
20
+ export declare function toastAnimationCacheSize(): number;
21
+ /** Native only — on web the same shape is played imperatively by `ToastRow`. */
22
+ export declare function getToastEnterAnimation(position: ToastPosition): ReanimatedKeyframe;
23
+ export declare function getToastExitAnimation({ position, isHiddenByLimit, isSingle, stackGap, }: {
24
+ position: ToastPosition;
25
+ isHiddenByLimit: boolean;
26
+ isSingle: boolean;
27
+ stackGap: number;
28
+ }): ReanimatedKeyframe;
29
+ type ResolvedAnimation = Exclude<ToastEntryExitAnimation, 'default'>;
30
+ export type ResolvedEnterAnimation = {
31
+ entering: ResolvedAnimation | undefined;
32
+ enterTranslateY: number | undefined;
33
+ };
34
+ /**
35
+ * Pure so the platform split is testable without a renderer.
36
+ *
37
+ * INVARIANT: exactly ONE of `entering` / `enterTranslateY` is ever set. Both
38
+ * would play the enter twice; neither would leave the row with no enter animation
39
+ * at all and — on the imperative path — parked at `opacity: 0`, one full
40
+ * `enterTranslateY` away from its slot. A consumer override always wins and always
41
+ * goes through `entering`, on both platforms.
42
+ */
43
+ export declare function resolveToastEnterAnimation({ position, enterOverride, driver, }: {
44
+ position: ToastPosition;
45
+ enterOverride: ToastEntryExitAnimation | undefined;
46
+ driver: ToastEnterDriver;
47
+ }): ResolvedEnterAnimation;
48
+ /** Per-toast animation wins over the outlet's; `'default'` opts back in to Bloom's. */
49
+ export declare const resolveAnimationField: (toastValue: ToastEntryExitAnimation | undefined, toasterValue: ToastEntryExitAnimation | undefined, defaultValue: ResolvedAnimation) => ResolvedAnimation;
50
+ export declare const useToastLayoutAnimations: (positionProp: ToastPosition | undefined, animationProp: ToastAnimation | undefined, isHiddenByLimit: boolean, numberOfToasts: number) => {
51
+ entering: ResolvedAnimation | undefined;
52
+ exiting: ResolvedAnimation | undefined;
53
+ /**
54
+ * How far `ToastRow`'s imperative enter travels, or `undefined` when nothing
55
+ * should be driven imperatively — because `entering` is playing the enter
56
+ * instead (native, or a consumer override on either platform), or because
57
+ * reduced motion is on and there is no enter animation at all.
58
+ */
59
+ enterTranslateY: number | undefined;
60
+ };
61
+ export {};
62
+ //# sourceMappingURL=animations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animations.d.ts","sourceRoot":"","sources":["../../../../src/toast/animations.ts"],"names":[],"mappings":"AAmEA,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACvB,aAAa,EACd,MAAM,SAAS,CAAC;AAWjB,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,gBACyB,CAAC;AAE3D,sFAAsF;AACtF,eAAO,MAAM,cAAc,uBAAwC,CAAC;AACpE,eAAO,MAAM,eAAe,uBAA4C,CAAC;AAYzE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AA0BxC,kEAAkE;AAClE,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,GACtB,kBAAkB,CAgBpB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,aAAa,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,kBAAkB,CA2BrB;AAED,KAAK,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;AAErE,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACxC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,EACR,aAAa,EACb,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,EAAE,uBAAuB,GAAG,SAAS,CAAC;IACnD,MAAM,EAAE,gBAAgB,CAAC;CAC1B,GAAG,sBAAsB,CAOzB;AAED,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,GAChC,YAAY,uBAAuB,GAAG,SAAS,EAC/C,cAAc,uBAAuB,GAAG,SAAS,EACjD,cAAc,iBAAiB,KAC9B,iBAMF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,cAAc,aAAa,GAAG,SAAS,EACvC,eAAe,cAAc,GAAG,SAAS,EACzC,iBAAiB,OAAO,EACxB,gBAAgB,MAAM,KACrB;IACD,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvC;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CAyCrC,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Derived from sonner-native v0.26.4 — src/constants.ts and src/animations.ts
3
+ * (MIT © Gunnar Torfi Steinarsson). See the top-level NOTICE.
4
+ *
5
+ * The two animation durations live HERE rather than in `animations.ts` so
6
+ * `toast-store.ts` never has to import a Reanimated-dependent module: the store
7
+ * stays pure JS and its suite needs zero React Native mocks.
8
+ */
9
+ import type { AutoWiggle, ToastPosition, ToastSwipeDirection, ToastTheme, ToastVariant } from './types';
10
+ /** Fallback row height until a toast has been measured. */
11
+ export declare const ESTIMATED_TOAST_HEIGHT = 70;
12
+ export declare const CLOSE_BUTTON_HIT_AREA = 60;
13
+ export declare const OUTSIDE_PRESS_PADDING = 20;
14
+ /** However deep a stack gets, a buried row never narrows past this scale. */
15
+ export declare const MIN_STACK_SCALE_X = 0.8;
16
+ /** Enter animation length; also the auto-close timer's head start and the overlay teardown delay. */
17
+ export declare const ENTERING_ANIMATION_DURATION = 300;
18
+ export declare const STACKING_ANIMATION_DURATION = 600;
19
+ export declare const toastDefaults: {
20
+ duration: number;
21
+ position: ToastPosition;
22
+ offset: number;
23
+ swipeToDismissDirection: ToastSwipeDirection;
24
+ variant: ToastVariant | undefined;
25
+ visibleToasts: number;
26
+ closeButton: boolean;
27
+ dismissible: boolean;
28
+ unstyled: boolean;
29
+ invert: boolean;
30
+ pauseWhenPageIsHidden: boolean;
31
+ gap: number;
32
+ theme: ToastTheme;
33
+ autoWiggleOnUpdate: AutoWiggle;
34
+ richColors: boolean;
35
+ enableStacking: boolean;
36
+ stackGap: number;
37
+ allowFontScaling: boolean;
38
+ };
39
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/toast/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,qGAAqG;AACrG,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,eAAO,MAAM,aAAa,EAAE;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB,EAAE,mBAAmB,CAAC;IAC7C,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC;IAClB,kBAAkB,EAAE,UAAU,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;CA8B3B,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Derived from sonner-native v0.26.4 — src/context.tsx
3
+ * (MIT © Gunnar Torfi Steinarsson). See the top-level NOTICE.
4
+ *
5
+ * Two contexts, split by change frequency: the resolved `Toaster` configuration
6
+ * (stable for the lifetime of the outlet) and the live stack state (changes on
7
+ * every measurement). Splitting them keeps a height measurement from
8
+ * re-rendering every row's config-derived memo.
9
+ *
10
+ * Upstream also passes `addToast` through the stable context; Bloom's rows talk
11
+ * to `toastStore` directly, which is the single authority.
12
+ */
13
+ import * as React from 'react';
14
+ import type { DynamicToastContextType, StableToastContextType } from './types';
15
+ export declare const ToastContext: React.Context<StableToastContextType | null>;
16
+ export declare const DynamicToastContext: React.Context<DynamicToastContextType | null>;
17
+ export declare const useToastContext: () => StableToastContextType;
18
+ export declare const useDynamicToastContext: () => DynamicToastContextType;
19
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/toast/context.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,YAAY,8CAExB,CAAC;AAGF,eAAO,MAAM,mBAAmB,+CAC2B,CAAC;AAG5D,eAAO,MAAM,eAAe,QAAO,sBAMlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,uBAQzC,CAAC"}