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