@oxyhq/bloom 0.50.2 → 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 (536) 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/index.js +90 -83
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/commonjs/index.web.js +116 -109
  14. package/lib/commonjs/index.web.js.map +1 -1
  15. package/lib/commonjs/menu/index.web.js +2 -1
  16. package/lib/commonjs/menu/index.web.js.map +1 -1
  17. package/lib/commonjs/popover/index.web.js +3 -2
  18. package/lib/commonjs/popover/index.web.js.map +1 -1
  19. package/lib/commonjs/portal/index.js +4 -1
  20. package/lib/commonjs/portal/index.js.map +1 -1
  21. package/lib/commonjs/progressive-blur/index.js +79 -0
  22. package/lib/commonjs/progressive-blur/index.js.map +1 -0
  23. package/lib/commonjs/progressive-blur/index.web.js +67 -0
  24. package/lib/commonjs/progressive-blur/index.web.js.map +1 -0
  25. package/lib/commonjs/progressive-blur/shared.js +66 -0
  26. package/lib/commonjs/progressive-blur/shared.js.map +1 -0
  27. package/lib/commonjs/progressive-blur/types.js +6 -0
  28. package/lib/commonjs/progressive-blur/types.js.map +1 -0
  29. package/lib/commonjs/select/index.web.js +2 -1
  30. package/lib/commonjs/select/index.web.js.map +1 -1
  31. package/lib/commonjs/styles/web-view-style.js +26 -0
  32. package/lib/commonjs/styles/web-view-style.js.map +1 -0
  33. package/lib/commonjs/tab-bar/TabBarBase.js +415 -0
  34. package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -0
  35. package/lib/commonjs/tab-bar/expo-router/RouterTabBar.js +83 -0
  36. package/lib/commonjs/tab-bar/expo-router/RouterTabBar.js.map +1 -0
  37. package/lib/commonjs/tab-bar/expo-router/fading-tab-screen.js +119 -0
  38. package/lib/commonjs/tab-bar/expo-router/fading-tab-screen.js.map +1 -0
  39. package/lib/commonjs/tab-bar/expo-router/index.js +26 -0
  40. package/lib/commonjs/tab-bar/expo-router/index.js.map +1 -0
  41. package/lib/commonjs/tab-bar/glyph.js +43 -0
  42. package/lib/commonjs/tab-bar/glyph.js.map +1 -0
  43. package/lib/commonjs/tab-bar/glyph.native.js +55 -0
  44. package/lib/commonjs/tab-bar/glyph.native.js.map +1 -0
  45. package/lib/commonjs/tab-bar/index.js +65 -0
  46. package/lib/commonjs/tab-bar/index.js.map +1 -0
  47. package/lib/commonjs/tab-bar/index.web.js +67 -0
  48. package/lib/commonjs/tab-bar/index.web.js.map +1 -0
  49. package/lib/commonjs/tab-bar/minimize-context.js +127 -0
  50. package/lib/commonjs/tab-bar/minimize-context.js.map +1 -0
  51. package/lib/commonjs/tab-bar/shared.js +139 -0
  52. package/lib/commonjs/tab-bar/shared.js.map +1 -0
  53. package/lib/commonjs/tab-bar/surface.js +50 -0
  54. package/lib/commonjs/tab-bar/surface.js.map +1 -0
  55. package/lib/commonjs/tab-bar/surface.native.js +56 -0
  56. package/lib/commonjs/tab-bar/surface.native.js.map +1 -0
  57. package/lib/commonjs/tab-bar/surface.web.js +59 -0
  58. package/lib/commonjs/tab-bar/surface.web.js.map +1 -0
  59. package/lib/commonjs/tab-bar/types.js +6 -0
  60. package/lib/commonjs/tab-bar/types.js.map +1 -0
  61. package/lib/commonjs/toast/Positioner.js +117 -0
  62. package/lib/commonjs/toast/Positioner.js.map +1 -0
  63. package/lib/commonjs/toast/ToastContent.js +301 -0
  64. package/lib/commonjs/toast/ToastContent.js.map +1 -0
  65. package/lib/commonjs/toast/ToastHost.js +69 -0
  66. package/lib/commonjs/toast/ToastHost.js.map +1 -0
  67. package/lib/commonjs/toast/ToastHost.native.js +44 -0
  68. package/lib/commonjs/toast/ToastHost.native.js.map +1 -0
  69. package/lib/commonjs/toast/ToastIcon.js +57 -0
  70. package/lib/commonjs/toast/ToastIcon.js.map +1 -0
  71. package/lib/commonjs/toast/ToastRow.js +411 -0
  72. package/lib/commonjs/toast/ToastRow.js.map +1 -0
  73. package/lib/commonjs/toast/ToastSwipeHandler.js +189 -0
  74. package/lib/commonjs/toast/ToastSwipeHandler.js.map +1 -0
  75. package/lib/commonjs/toast/Toaster.js +205 -0
  76. package/lib/commonjs/toast/Toaster.js.map +1 -0
  77. package/lib/commonjs/toast/animations.js +274 -0
  78. package/lib/commonjs/toast/animations.js.map +1 -0
  79. package/lib/commonjs/toast/constants.js +56 -0
  80. package/lib/commonjs/toast/constants.js.map +1 -0
  81. package/lib/commonjs/toast/context.js +42 -0
  82. package/lib/commonjs/toast/context.js.map +1 -0
  83. package/lib/commonjs/toast/index.js +32 -126
  84. package/lib/commonjs/toast/index.js.map +1 -1
  85. package/lib/commonjs/toast/position-utils.js +115 -0
  86. package/lib/commonjs/toast/position-utils.js.map +1 -0
  87. package/lib/commonjs/toast/positioner-utils.js +141 -0
  88. package/lib/commonjs/toast/positioner-utils.js.map +1 -0
  89. package/lib/commonjs/toast/toast-comparator.js +28 -0
  90. package/lib/commonjs/toast/toast-comparator.js.map +1 -0
  91. package/lib/commonjs/toast/toast-fns.js +90 -0
  92. package/lib/commonjs/toast/toast-fns.js.map +1 -0
  93. package/lib/commonjs/toast/toast-store.js +352 -0
  94. package/lib/commonjs/toast/toast-store.js.map +1 -0
  95. package/lib/commonjs/toast/toast-timers.js +110 -0
  96. package/lib/commonjs/toast/toast-timers.js.map +1 -0
  97. package/lib/commonjs/toast/types.js +42 -0
  98. package/lib/commonjs/toast/types.js.map +1 -1
  99. package/lib/commonjs/toast/use-animated-target.js +57 -0
  100. package/lib/commonjs/toast/use-animated-target.js.map +1 -0
  101. package/lib/commonjs/toast/use-app-state.js +76 -0
  102. package/lib/commonjs/toast/use-app-state.js.map +1 -0
  103. package/lib/commonjs/toast/use-toast-colors.js +114 -0
  104. package/lib/commonjs/toast/use-toast-colors.js.map +1 -0
  105. package/lib/commonjs/toast/use-toast-position.js +40 -0
  106. package/lib/commonjs/toast/use-toast-position.js.map +1 -0
  107. package/lib/commonjs/tooltip/index.web.js +2 -1
  108. package/lib/commonjs/tooltip/index.web.js.map +1 -1
  109. package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js +20 -8
  110. package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
  111. package/lib/module/avatar-group/AvatarGroup.web.js +2 -1
  112. package/lib/module/avatar-group/AvatarGroup.web.js.map +1 -1
  113. package/lib/module/bottom-sheet/index.web.js +2 -1
  114. package/lib/module/bottom-sheet/index.web.js.map +1 -1
  115. package/lib/module/context-menu/index.web.js +3 -2
  116. package/lib/module/context-menu/index.web.js.map +1 -1
  117. package/lib/module/dialog/Dialog.web.js +4 -3
  118. package/lib/module/dialog/Dialog.web.js.map +1 -1
  119. package/lib/module/index.js +3 -2
  120. package/lib/module/index.js.map +1 -1
  121. package/lib/module/index.web.js +3 -2
  122. package/lib/module/index.web.js.map +1 -1
  123. package/lib/module/menu/index.web.js +2 -1
  124. package/lib/module/menu/index.web.js.map +1 -1
  125. package/lib/module/popover/index.web.js +3 -2
  126. package/lib/module/popover/index.web.js.map +1 -1
  127. package/lib/module/portal/index.js +4 -1
  128. package/lib/module/portal/index.js.map +1 -1
  129. package/lib/module/progressive-blur/index.js +74 -0
  130. package/lib/module/progressive-blur/index.js.map +1 -0
  131. package/lib/module/progressive-blur/index.web.js +62 -0
  132. package/lib/module/progressive-blur/index.web.js.map +1 -0
  133. package/lib/module/progressive-blur/shared.js +60 -0
  134. package/lib/module/progressive-blur/shared.js.map +1 -0
  135. package/lib/module/progressive-blur/types.js +4 -0
  136. package/lib/module/progressive-blur/types.js.map +1 -0
  137. package/lib/module/select/index.web.js +2 -1
  138. package/lib/module/select/index.web.js.map +1 -1
  139. package/lib/module/styles/web-view-style.js +22 -0
  140. package/lib/module/styles/web-view-style.js.map +1 -0
  141. package/lib/module/tab-bar/TabBarBase.js +408 -0
  142. package/lib/module/tab-bar/TabBarBase.js.map +1 -0
  143. package/lib/module/tab-bar/expo-router/RouterTabBar.js +78 -0
  144. package/lib/module/tab-bar/expo-router/RouterTabBar.js.map +1 -0
  145. package/lib/module/tab-bar/expo-router/fading-tab-screen.js +113 -0
  146. package/lib/module/tab-bar/expo-router/fading-tab-screen.js.map +1 -0
  147. package/lib/module/tab-bar/expo-router/index.js +15 -0
  148. package/lib/module/tab-bar/expo-router/index.js.map +1 -0
  149. package/lib/module/tab-bar/glyph.js +38 -0
  150. package/lib/module/tab-bar/glyph.js.map +1 -0
  151. package/lib/module/tab-bar/glyph.native.js +50 -0
  152. package/lib/module/tab-bar/glyph.native.js.map +1 -0
  153. package/lib/module/tab-bar/index.js +24 -0
  154. package/lib/module/tab-bar/index.js.map +1 -0
  155. package/lib/module/tab-bar/index.web.js +26 -0
  156. package/lib/module/tab-bar/index.web.js.map +1 -0
  157. package/lib/module/tab-bar/minimize-context.js +118 -0
  158. package/lib/module/tab-bar/minimize-context.js.map +1 -0
  159. package/lib/module/tab-bar/shared.js +132 -0
  160. package/lib/module/tab-bar/shared.js.map +1 -0
  161. package/lib/module/tab-bar/surface.js +44 -0
  162. package/lib/module/tab-bar/surface.js.map +1 -0
  163. package/lib/module/tab-bar/surface.native.js +50 -0
  164. package/lib/module/tab-bar/surface.native.js.map +1 -0
  165. package/lib/module/tab-bar/surface.web.js +53 -0
  166. package/lib/module/tab-bar/surface.web.js.map +1 -0
  167. package/lib/module/tab-bar/types.js +4 -0
  168. package/lib/module/tab-bar/types.js.map +1 -0
  169. package/lib/module/toast/Positioner.js +110 -0
  170. package/lib/module/toast/Positioner.js.map +1 -0
  171. package/lib/module/toast/ToastContent.js +295 -0
  172. package/lib/module/toast/ToastContent.js.map +1 -0
  173. package/lib/module/toast/ToastHost.js +63 -0
  174. package/lib/module/toast/ToastHost.js.map +1 -0
  175. package/lib/module/toast/ToastHost.native.js +38 -0
  176. package/lib/module/toast/ToastHost.native.js.map +1 -0
  177. package/lib/module/toast/ToastIcon.js +52 -0
  178. package/lib/module/toast/ToastIcon.js.map +1 -0
  179. package/lib/module/toast/ToastRow.js +407 -0
  180. package/lib/module/toast/ToastRow.js.map +1 -0
  181. package/lib/module/toast/ToastSwipeHandler.js +182 -0
  182. package/lib/module/toast/ToastSwipeHandler.js.map +1 -0
  183. package/lib/module/toast/Toaster.js +198 -0
  184. package/lib/module/toast/Toaster.js.map +1 -0
  185. package/lib/module/toast/animations.js +261 -0
  186. package/lib/module/toast/animations.js.map +1 -0
  187. package/lib/module/toast/constants.js +52 -0
  188. package/lib/module/toast/constants.js.map +1 -0
  189. package/lib/module/toast/context.js +34 -0
  190. package/lib/module/toast/context.js.map +1 -0
  191. package/lib/module/toast/index.js +27 -103
  192. package/lib/module/toast/index.js.map +1 -1
  193. package/lib/module/toast/position-utils.js +107 -0
  194. package/lib/module/toast/position-utils.js.map +1 -0
  195. package/lib/module/toast/positioner-utils.js +134 -0
  196. package/lib/module/toast/positioner-utils.js.map +1 -0
  197. package/lib/module/toast/toast-comparator.js +22 -0
  198. package/lib/module/toast/toast-comparator.js.map +1 -0
  199. package/lib/module/toast/toast-fns.js +85 -0
  200. package/lib/module/toast/toast-fns.js.map +1 -0
  201. package/lib/module/toast/toast-store.js +346 -0
  202. package/lib/module/toast/toast-store.js.map +1 -0
  203. package/lib/module/toast/toast-timers.js +104 -0
  204. package/lib/module/toast/toast-timers.js.map +1 -0
  205. package/lib/module/toast/types.js +38 -0
  206. package/lib/module/toast/types.js.map +1 -1
  207. package/lib/module/toast/use-animated-target.js +52 -0
  208. package/lib/module/toast/use-animated-target.js.map +1 -0
  209. package/lib/module/toast/use-app-state.js +70 -0
  210. package/lib/module/toast/use-app-state.js.map +1 -0
  211. package/lib/module/toast/use-toast-colors.js +109 -0
  212. package/lib/module/toast/use-toast-colors.js.map +1 -0
  213. package/lib/module/toast/use-toast-position.js +35 -0
  214. package/lib/module/toast/use-toast-position.js.map +1 -0
  215. package/lib/module/tooltip/index.web.js +2 -1
  216. package/lib/module/tooltip/index.web.js.map +1 -1
  217. package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js +20 -8
  218. package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
  219. package/lib/typescript/commonjs/avatar-group/AvatarGroup.web.d.ts.map +1 -1
  220. package/lib/typescript/commonjs/bottom-sheet/index.web.d.ts.map +1 -1
  221. package/lib/typescript/commonjs/context-menu/index.web.d.ts.map +1 -1
  222. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
  223. package/lib/typescript/commonjs/index.d.ts +2 -1
  224. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  225. package/lib/typescript/commonjs/index.web.d.ts +2 -1
  226. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  227. package/lib/typescript/commonjs/menu/index.web.d.ts.map +1 -1
  228. package/lib/typescript/commonjs/popover/index.web.d.ts.map +1 -1
  229. package/lib/typescript/commonjs/portal/index.d.ts.map +1 -1
  230. package/lib/typescript/commonjs/progressive-blur/index.d.ts +23 -0
  231. package/lib/typescript/commonjs/progressive-blur/index.d.ts.map +1 -0
  232. package/lib/typescript/commonjs/progressive-blur/index.web.d.ts +30 -0
  233. package/lib/typescript/commonjs/progressive-blur/index.web.d.ts.map +1 -0
  234. package/lib/typescript/commonjs/progressive-blur/shared.d.ts +35 -0
  235. package/lib/typescript/commonjs/progressive-blur/shared.d.ts.map +1 -0
  236. package/lib/typescript/commonjs/progressive-blur/types.d.ts +21 -0
  237. package/lib/typescript/commonjs/progressive-blur/types.d.ts.map +1 -0
  238. package/lib/typescript/commonjs/select/index.web.d.ts.map +1 -1
  239. package/lib/typescript/commonjs/styles/web-view-style.d.ts +21 -0
  240. package/lib/typescript/commonjs/styles/web-view-style.d.ts.map +1 -0
  241. package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts +36 -0
  242. package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts.map +1 -0
  243. package/lib/typescript/commonjs/tab-bar/expo-router/RouterTabBar.d.ts +59 -0
  244. package/lib/typescript/commonjs/tab-bar/expo-router/RouterTabBar.d.ts.map +1 -0
  245. package/lib/typescript/commonjs/tab-bar/expo-router/fading-tab-screen.d.ts +11 -0
  246. package/lib/typescript/commonjs/tab-bar/expo-router/fading-tab-screen.d.ts.map +1 -0
  247. package/lib/typescript/commonjs/tab-bar/expo-router/index.d.ts +14 -0
  248. package/lib/typescript/commonjs/tab-bar/expo-router/index.d.ts.map +1 -0
  249. package/lib/typescript/commonjs/tab-bar/glyph.d.ts +6 -0
  250. package/lib/typescript/commonjs/tab-bar/glyph.d.ts.map +1 -0
  251. package/lib/typescript/commonjs/tab-bar/glyph.native.d.ts +6 -0
  252. package/lib/typescript/commonjs/tab-bar/glyph.native.d.ts.map +1 -0
  253. package/lib/typescript/commonjs/tab-bar/index.d.ts +12 -0
  254. package/lib/typescript/commonjs/tab-bar/index.d.ts.map +1 -0
  255. package/lib/typescript/commonjs/tab-bar/index.web.d.ts +12 -0
  256. package/lib/typescript/commonjs/tab-bar/index.web.d.ts.map +1 -0
  257. package/lib/typescript/commonjs/tab-bar/minimize-context.d.ts +51 -0
  258. package/lib/typescript/commonjs/tab-bar/minimize-context.d.ts.map +1 -0
  259. package/lib/typescript/commonjs/tab-bar/shared.d.ts +93 -0
  260. package/lib/typescript/commonjs/tab-bar/shared.d.ts.map +1 -0
  261. package/lib/typescript/commonjs/tab-bar/surface.d.ts +6 -0
  262. package/lib/typescript/commonjs/tab-bar/surface.d.ts.map +1 -0
  263. package/lib/typescript/commonjs/tab-bar/surface.native.d.ts +6 -0
  264. package/lib/typescript/commonjs/tab-bar/surface.native.d.ts.map +1 -0
  265. package/lib/typescript/commonjs/tab-bar/surface.web.d.ts +6 -0
  266. package/lib/typescript/commonjs/tab-bar/surface.web.d.ts.map +1 -0
  267. package/lib/typescript/commonjs/tab-bar/types.d.ts +85 -0
  268. package/lib/typescript/commonjs/tab-bar/types.d.ts.map +1 -0
  269. package/lib/typescript/commonjs/toast/Positioner.d.ts +21 -0
  270. package/lib/typescript/commonjs/toast/Positioner.d.ts.map +1 -0
  271. package/lib/typescript/commonjs/toast/ToastContent.d.ts +14 -0
  272. package/lib/typescript/commonjs/toast/ToastContent.d.ts.map +1 -0
  273. package/lib/typescript/commonjs/toast/ToastHost.d.ts +6 -0
  274. package/lib/typescript/commonjs/toast/ToastHost.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/toast/ToastHost.native.d.ts +6 -0
  276. package/lib/typescript/commonjs/toast/ToastHost.native.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/toast/ToastIcon.d.ts +9 -0
  278. package/lib/typescript/commonjs/toast/ToastIcon.d.ts.map +1 -0
  279. package/lib/typescript/commonjs/toast/ToastRow.d.ts +80 -0
  280. package/lib/typescript/commonjs/toast/ToastRow.d.ts.map +1 -0
  281. package/lib/typescript/commonjs/toast/ToastSwipeHandler.d.ts +30 -0
  282. package/lib/typescript/commonjs/toast/ToastSwipeHandler.d.ts.map +1 -0
  283. package/lib/typescript/commonjs/toast/Toaster.d.ts +19 -0
  284. package/lib/typescript/commonjs/toast/Toaster.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/toast/animations.d.ts +62 -0
  286. package/lib/typescript/commonjs/toast/animations.d.ts.map +1 -0
  287. package/lib/typescript/commonjs/toast/constants.d.ts +39 -0
  288. package/lib/typescript/commonjs/toast/constants.d.ts.map +1 -0
  289. package/lib/typescript/commonjs/toast/context.d.ts +19 -0
  290. package/lib/typescript/commonjs/toast/context.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/toast/index.d.ts +23 -76
  292. package/lib/typescript/commonjs/toast/index.d.ts.map +1 -1
  293. package/lib/typescript/commonjs/toast/position-utils.d.ts +30 -0
  294. package/lib/typescript/commonjs/toast/position-utils.d.ts.map +1 -0
  295. package/lib/typescript/commonjs/toast/positioner-utils.d.ts +72 -0
  296. package/lib/typescript/commonjs/toast/positioner-utils.d.ts.map +1 -0
  297. package/lib/typescript/commonjs/toast/toast-comparator.d.ts +12 -0
  298. package/lib/typescript/commonjs/toast/toast-comparator.d.ts.map +1 -0
  299. package/lib/typescript/commonjs/toast/toast-fns.d.ts +3 -0
  300. package/lib/typescript/commonjs/toast/toast-fns.d.ts.map +1 -0
  301. package/lib/typescript/commonjs/toast/toast-store.d.ts +52 -0
  302. package/lib/typescript/commonjs/toast/toast-store.d.ts.map +1 -0
  303. package/lib/typescript/commonjs/toast/toast-timers.d.ts +24 -0
  304. package/lib/typescript/commonjs/toast/toast-timers.d.ts.map +1 -0
  305. package/lib/typescript/commonjs/toast/types.d.ts +222 -5
  306. package/lib/typescript/commonjs/toast/types.d.ts.map +1 -1
  307. package/lib/typescript/commonjs/toast/use-animated-target.d.ts +7 -0
  308. package/lib/typescript/commonjs/toast/use-animated-target.d.ts.map +1 -0
  309. package/lib/typescript/commonjs/toast/use-app-state.d.ts +18 -0
  310. package/lib/typescript/commonjs/toast/use-app-state.d.ts.map +1 -0
  311. package/lib/typescript/commonjs/toast/use-toast-colors.d.ts +22 -0
  312. package/lib/typescript/commonjs/toast/use-toast-colors.d.ts.map +1 -0
  313. package/lib/typescript/commonjs/toast/use-toast-position.d.ts +37 -0
  314. package/lib/typescript/commonjs/toast/use-toast-position.d.ts.map +1 -0
  315. package/lib/typescript/commonjs/tooltip/index.web.d.ts.map +1 -1
  316. package/lib/typescript/commonjs/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
  317. package/lib/typescript/module/avatar-group/AvatarGroup.web.d.ts.map +1 -1
  318. package/lib/typescript/module/bottom-sheet/index.web.d.ts.map +1 -1
  319. package/lib/typescript/module/context-menu/index.web.d.ts.map +1 -1
  320. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
  321. package/lib/typescript/module/index.d.ts +2 -1
  322. package/lib/typescript/module/index.d.ts.map +1 -1
  323. package/lib/typescript/module/index.web.d.ts +2 -1
  324. package/lib/typescript/module/index.web.d.ts.map +1 -1
  325. package/lib/typescript/module/menu/index.web.d.ts.map +1 -1
  326. package/lib/typescript/module/popover/index.web.d.ts.map +1 -1
  327. package/lib/typescript/module/portal/index.d.ts.map +1 -1
  328. package/lib/typescript/module/progressive-blur/index.d.ts +23 -0
  329. package/lib/typescript/module/progressive-blur/index.d.ts.map +1 -0
  330. package/lib/typescript/module/progressive-blur/index.web.d.ts +30 -0
  331. package/lib/typescript/module/progressive-blur/index.web.d.ts.map +1 -0
  332. package/lib/typescript/module/progressive-blur/shared.d.ts +35 -0
  333. package/lib/typescript/module/progressive-blur/shared.d.ts.map +1 -0
  334. package/lib/typescript/module/progressive-blur/types.d.ts +21 -0
  335. package/lib/typescript/module/progressive-blur/types.d.ts.map +1 -0
  336. package/lib/typescript/module/select/index.web.d.ts.map +1 -1
  337. package/lib/typescript/module/styles/web-view-style.d.ts +21 -0
  338. package/lib/typescript/module/styles/web-view-style.d.ts.map +1 -0
  339. package/lib/typescript/module/tab-bar/TabBarBase.d.ts +36 -0
  340. package/lib/typescript/module/tab-bar/TabBarBase.d.ts.map +1 -0
  341. package/lib/typescript/module/tab-bar/expo-router/RouterTabBar.d.ts +59 -0
  342. package/lib/typescript/module/tab-bar/expo-router/RouterTabBar.d.ts.map +1 -0
  343. package/lib/typescript/module/tab-bar/expo-router/fading-tab-screen.d.ts +11 -0
  344. package/lib/typescript/module/tab-bar/expo-router/fading-tab-screen.d.ts.map +1 -0
  345. package/lib/typescript/module/tab-bar/expo-router/index.d.ts +14 -0
  346. package/lib/typescript/module/tab-bar/expo-router/index.d.ts.map +1 -0
  347. package/lib/typescript/module/tab-bar/glyph.d.ts +6 -0
  348. package/lib/typescript/module/tab-bar/glyph.d.ts.map +1 -0
  349. package/lib/typescript/module/tab-bar/glyph.native.d.ts +6 -0
  350. package/lib/typescript/module/tab-bar/glyph.native.d.ts.map +1 -0
  351. package/lib/typescript/module/tab-bar/index.d.ts +12 -0
  352. package/lib/typescript/module/tab-bar/index.d.ts.map +1 -0
  353. package/lib/typescript/module/tab-bar/index.web.d.ts +12 -0
  354. package/lib/typescript/module/tab-bar/index.web.d.ts.map +1 -0
  355. package/lib/typescript/module/tab-bar/minimize-context.d.ts +51 -0
  356. package/lib/typescript/module/tab-bar/minimize-context.d.ts.map +1 -0
  357. package/lib/typescript/module/tab-bar/shared.d.ts +93 -0
  358. package/lib/typescript/module/tab-bar/shared.d.ts.map +1 -0
  359. package/lib/typescript/module/tab-bar/surface.d.ts +6 -0
  360. package/lib/typescript/module/tab-bar/surface.d.ts.map +1 -0
  361. package/lib/typescript/module/tab-bar/surface.native.d.ts +6 -0
  362. package/lib/typescript/module/tab-bar/surface.native.d.ts.map +1 -0
  363. package/lib/typescript/module/tab-bar/surface.web.d.ts +6 -0
  364. package/lib/typescript/module/tab-bar/surface.web.d.ts.map +1 -0
  365. package/lib/typescript/module/tab-bar/types.d.ts +85 -0
  366. package/lib/typescript/module/tab-bar/types.d.ts.map +1 -0
  367. package/lib/typescript/module/toast/Positioner.d.ts +21 -0
  368. package/lib/typescript/module/toast/Positioner.d.ts.map +1 -0
  369. package/lib/typescript/module/toast/ToastContent.d.ts +14 -0
  370. package/lib/typescript/module/toast/ToastContent.d.ts.map +1 -0
  371. package/lib/typescript/module/toast/ToastHost.d.ts +6 -0
  372. package/lib/typescript/module/toast/ToastHost.d.ts.map +1 -0
  373. package/lib/typescript/module/toast/ToastHost.native.d.ts +6 -0
  374. package/lib/typescript/module/toast/ToastHost.native.d.ts.map +1 -0
  375. package/lib/typescript/module/toast/ToastIcon.d.ts +9 -0
  376. package/lib/typescript/module/toast/ToastIcon.d.ts.map +1 -0
  377. package/lib/typescript/module/toast/ToastRow.d.ts +80 -0
  378. package/lib/typescript/module/toast/ToastRow.d.ts.map +1 -0
  379. package/lib/typescript/module/toast/ToastSwipeHandler.d.ts +30 -0
  380. package/lib/typescript/module/toast/ToastSwipeHandler.d.ts.map +1 -0
  381. package/lib/typescript/module/toast/Toaster.d.ts +19 -0
  382. package/lib/typescript/module/toast/Toaster.d.ts.map +1 -0
  383. package/lib/typescript/module/toast/animations.d.ts +62 -0
  384. package/lib/typescript/module/toast/animations.d.ts.map +1 -0
  385. package/lib/typescript/module/toast/constants.d.ts +39 -0
  386. package/lib/typescript/module/toast/constants.d.ts.map +1 -0
  387. package/lib/typescript/module/toast/context.d.ts +19 -0
  388. package/lib/typescript/module/toast/context.d.ts.map +1 -0
  389. package/lib/typescript/module/toast/index.d.ts +23 -76
  390. package/lib/typescript/module/toast/index.d.ts.map +1 -1
  391. package/lib/typescript/module/toast/position-utils.d.ts +30 -0
  392. package/lib/typescript/module/toast/position-utils.d.ts.map +1 -0
  393. package/lib/typescript/module/toast/positioner-utils.d.ts +72 -0
  394. package/lib/typescript/module/toast/positioner-utils.d.ts.map +1 -0
  395. package/lib/typescript/module/toast/toast-comparator.d.ts +12 -0
  396. package/lib/typescript/module/toast/toast-comparator.d.ts.map +1 -0
  397. package/lib/typescript/module/toast/toast-fns.d.ts +3 -0
  398. package/lib/typescript/module/toast/toast-fns.d.ts.map +1 -0
  399. package/lib/typescript/module/toast/toast-store.d.ts +52 -0
  400. package/lib/typescript/module/toast/toast-store.d.ts.map +1 -0
  401. package/lib/typescript/module/toast/toast-timers.d.ts +24 -0
  402. package/lib/typescript/module/toast/toast-timers.d.ts.map +1 -0
  403. package/lib/typescript/module/toast/types.d.ts +222 -5
  404. package/lib/typescript/module/toast/types.d.ts.map +1 -1
  405. package/lib/typescript/module/toast/use-animated-target.d.ts +7 -0
  406. package/lib/typescript/module/toast/use-animated-target.d.ts.map +1 -0
  407. package/lib/typescript/module/toast/use-app-state.d.ts +18 -0
  408. package/lib/typescript/module/toast/use-app-state.d.ts.map +1 -0
  409. package/lib/typescript/module/toast/use-toast-colors.d.ts +22 -0
  410. package/lib/typescript/module/toast/use-toast-colors.d.ts.map +1 -0
  411. package/lib/typescript/module/toast/use-toast-position.d.ts +37 -0
  412. package/lib/typescript/module/toast/use-toast-position.d.ts.map +1 -0
  413. package/lib/typescript/module/tooltip/index.web.d.ts.map +1 -1
  414. package/lib/typescript/module/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
  415. package/package.json +63 -25
  416. package/src/__tests__/TabBar.test.tsx +342 -0
  417. package/src/__tests__/TabBarReanimatedDeps.test.ts +130 -0
  418. package/src/__tests__/TabBarWebFork.test.ts +197 -0
  419. package/src/__tests__/ToastContent.test.tsx +192 -0
  420. package/src/__tests__/ToastHostWebFork.test.ts +155 -0
  421. package/src/__tests__/Toaster.test.tsx +527 -0
  422. package/src/__tests__/animated-style-deps.test.ts +156 -0
  423. package/src/__tests__/toast-animations.test.ts +98 -0
  424. package/src/__tests__/toast-comparator.test.ts +131 -0
  425. package/src/__tests__/toast-enter-driver.test.ts +147 -0
  426. package/src/__tests__/toast-fns.test.ts +240 -0
  427. package/src/__tests__/toast-position-utils.test.ts +259 -0
  428. package/src/__tests__/toast-positioner-utils.test.ts +214 -0
  429. package/src/__tests__/toast-store.test.ts +622 -0
  430. package/src/__tests__/toast-timers.test.ts +163 -0
  431. package/src/__tests__/use-animated-target.test.tsx +60 -0
  432. package/src/__tests__/use-app-state.test.tsx +127 -0
  433. package/src/__tests__/use-toast-colors.test.tsx +189 -0
  434. package/src/__tests__/web-position-fixed.test.ts +70 -0
  435. package/src/avatar-group/AvatarGroup.web.tsx +2 -1
  436. package/src/bottom-sheet/index.web.tsx +3 -2
  437. package/src/context-menu/index.web.tsx +3 -2
  438. package/src/dialog/Dialog.web.tsx +4 -3
  439. package/src/index.ts +4 -1
  440. package/src/index.web.ts +4 -1
  441. package/src/menu/index.web.tsx +2 -1
  442. package/src/popover/index.web.tsx +3 -2
  443. package/src/portal/index.tsx +4 -1
  444. package/src/progressive-blur/index.tsx +78 -0
  445. package/src/progressive-blur/index.web.tsx +65 -0
  446. package/src/progressive-blur/shared.ts +81 -0
  447. package/src/progressive-blur/types.ts +21 -0
  448. package/src/select/index.web.tsx +2 -1
  449. package/src/styles/web-view-style.ts +21 -0
  450. package/src/tab-bar/TabBar.stories.tsx +217 -0
  451. package/src/tab-bar/TabBarBase.tsx +517 -0
  452. package/src/tab-bar/expo-router/RouterTabBar.tsx +80 -0
  453. package/src/tab-bar/expo-router/fading-tab-screen.tsx +109 -0
  454. package/src/tab-bar/expo-router/index.ts +13 -0
  455. package/src/tab-bar/glyph.native.tsx +46 -0
  456. package/src/tab-bar/glyph.tsx +31 -0
  457. package/src/tab-bar/index.ts +32 -0
  458. package/src/tab-bar/index.web.tsx +34 -0
  459. package/src/tab-bar/minimize-context.tsx +117 -0
  460. package/src/tab-bar/shared.ts +159 -0
  461. package/src/tab-bar/surface.native.tsx +60 -0
  462. package/src/tab-bar/surface.tsx +47 -0
  463. package/src/tab-bar/surface.web.tsx +56 -0
  464. package/src/tab-bar/types.ts +88 -0
  465. package/src/toast/Positioner.tsx +121 -0
  466. package/src/toast/Toast.stories.tsx +292 -65
  467. package/src/toast/ToastContent.tsx +405 -0
  468. package/src/toast/ToastHost.native.tsx +31 -0
  469. package/src/toast/ToastHost.tsx +67 -0
  470. package/src/toast/ToastIcon.tsx +55 -0
  471. package/src/toast/ToastRow.tsx +485 -0
  472. package/src/toast/ToastSwipeHandler.tsx +222 -0
  473. package/src/toast/Toaster.tsx +259 -0
  474. package/src/toast/animations.ts +313 -0
  475. package/src/toast/constants.ts +76 -0
  476. package/src/toast/context.tsx +44 -0
  477. package/src/toast/index.tsx +47 -123
  478. package/src/toast/position-utils.ts +149 -0
  479. package/src/toast/positioner-utils.ts +142 -0
  480. package/src/toast/toast-comparator.ts +41 -0
  481. package/src/toast/toast-fns.ts +104 -0
  482. package/src/toast/toast-store.ts +432 -0
  483. package/src/toast/toast-timers.ts +124 -0
  484. package/src/toast/types.ts +301 -5
  485. package/src/toast/use-animated-target.ts +61 -0
  486. package/src/toast/use-app-state.ts +77 -0
  487. package/src/toast/use-toast-colors.ts +133 -0
  488. package/src/toast/use-toast-position.ts +46 -0
  489. package/src/tooltip/index.web.tsx +2 -1
  490. package/src/zoomable-image-gallery/ZoomableImageGallery.stories.tsx +134 -0
  491. package/src/zoomable-image-gallery/ZoomableImageGallery.tsx +50 -27
  492. package/lib/commonjs/toast/Toast.js +0 -267
  493. package/lib/commonjs/toast/Toast.js.map +0 -1
  494. package/lib/commonjs/toast/const.js +0 -8
  495. package/lib/commonjs/toast/const.js.map +0 -1
  496. package/lib/commonjs/toast/index.web.js +0 -114
  497. package/lib/commonjs/toast/index.web.js.map +0 -1
  498. package/lib/commonjs/toast/sonner/index.js +0 -9
  499. package/lib/commonjs/toast/sonner/index.js.map +0 -1
  500. package/lib/commonjs/toast/sonner/index.web.js +0 -9
  501. package/lib/commonjs/toast/sonner/index.web.js.map +0 -1
  502. package/lib/module/toast/Toast.js +0 -258
  503. package/lib/module/toast/Toast.js.map +0 -1
  504. package/lib/module/toast/const.js +0 -4
  505. package/lib/module/toast/const.js.map +0 -1
  506. package/lib/module/toast/index.web.js +0 -74
  507. package/lib/module/toast/index.web.js.map +0 -1
  508. package/lib/module/toast/sonner/index.js +0 -5
  509. package/lib/module/toast/sonner/index.js.map +0 -1
  510. package/lib/module/toast/sonner/index.web.js +0 -5
  511. package/lib/module/toast/sonner/index.web.js.map +0 -1
  512. package/lib/typescript/commonjs/toast/Toast.d.ts +0 -23
  513. package/lib/typescript/commonjs/toast/Toast.d.ts.map +0 -1
  514. package/lib/typescript/commonjs/toast/const.d.ts +0 -2
  515. package/lib/typescript/commonjs/toast/const.d.ts.map +0 -1
  516. package/lib/typescript/commonjs/toast/index.web.d.ts +0 -29
  517. package/lib/typescript/commonjs/toast/index.web.d.ts.map +0 -1
  518. package/lib/typescript/commonjs/toast/sonner/index.d.ts +0 -2
  519. package/lib/typescript/commonjs/toast/sonner/index.d.ts.map +0 -1
  520. package/lib/typescript/commonjs/toast/sonner/index.web.d.ts +0 -2
  521. package/lib/typescript/commonjs/toast/sonner/index.web.d.ts.map +0 -1
  522. package/lib/typescript/module/toast/Toast.d.ts +0 -23
  523. package/lib/typescript/module/toast/Toast.d.ts.map +0 -1
  524. package/lib/typescript/module/toast/const.d.ts +0 -2
  525. package/lib/typescript/module/toast/const.d.ts.map +0 -1
  526. package/lib/typescript/module/toast/index.web.d.ts +0 -29
  527. package/lib/typescript/module/toast/index.web.d.ts.map +0 -1
  528. package/lib/typescript/module/toast/sonner/index.d.ts +0 -2
  529. package/lib/typescript/module/toast/sonner/index.d.ts.map +0 -1
  530. package/lib/typescript/module/toast/sonner/index.web.d.ts +0 -2
  531. package/lib/typescript/module/toast/sonner/index.web.d.ts.map +0 -1
  532. package/src/toast/Toast.tsx +0 -269
  533. package/src/toast/const.ts +0 -1
  534. package/src/toast/index.web.tsx +0 -101
  535. package/src/toast/sonner/index.ts +0 -3
  536. package/src/toast/sonner/index.web.ts +0 -3
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
5
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
6
+ *
7
+ * Geometry, motion constants, theme resolution and the contracts for the two
8
+ * injected platform components. Everything here is platform-neutral — no
9
+ * expo-glass-effect, expo-symbols, expo-router or react-native-screens — because
10
+ * this module is pulled into the native bundle, the web bundle and a consumer's
11
+ * `tsc` alike.
12
+ */
13
+ import { useMemo } from 'react';
14
+ import { withAlpha } from "../theme/color-utils.js";
15
+ import { useTheme } from "../theme/use-theme.js";
16
+ // ---------------------------------------------------------------------------
17
+ // Geometry
18
+ //
19
+ // Every dimension the bar animates is a constant here rather than a measured
20
+ // layout: the highlight's position, the item box height and the capsule radius
21
+ // are all derived from these on the UI thread each frame. Measuring instead
22
+ // would put a layout round-trip between the finger and the pixels.
23
+ // ---------------------------------------------------------------------------
24
+
25
+ export const EXPANDED_HEIGHT = 58;
26
+ export const MINIMIZED_HEIGHT = 44;
27
+ /** Extra horizontal inset applied to the pill when minimized (per side). */
28
+ export const MINIMIZED_INSET = 34;
29
+ /** Outer margin between the pill and the screen edges (per side). */
30
+ export const BAR_MARGIN = 12;
31
+ /** Inner inset between the capsule wall and the tab items. */
32
+ export const ROW_PAD_H = 4;
33
+ export const LABEL_HEIGHT = 13;
34
+ export const ICON_SIZE = 21;
35
+ /**
36
+ * Space between icon and label — folded into the label's animated height so it
37
+ * fully disappears when minimized (keeps the icon perfectly centered).
38
+ */
39
+ export const ITEM_GAP = 2;
40
+ export const LABEL_BLOCK = LABEL_HEIGHT + ITEM_GAP;
41
+ export const ITEM_PAD_V = 7;
42
+ /** Highlight content heights — radius must track h/2 for a true capsule. */
43
+ export const HIGHLIGHT_EXPANDED = ICON_SIZE + LABEL_BLOCK + ITEM_PAD_V * 2;
44
+ export const HIGHLIGHT_MINIMIZED = ICON_SIZE + ITEM_PAD_V * 2;
45
+ /** How far the bottom progressive blur bleeds above the pill. */
46
+ export const BLUR_BLEED = 44;
47
+ /** Label type size. Small by design — the icon carries the meaning. */
48
+ export const LABEL_FONT_SIZE = 9.5;
49
+
50
+ /**
51
+ * Slide spring: interruptible by design — rapid tab-hopping retargets with
52
+ * preserved velocity. Slight under-damping gives the pill a tiny settle, safe
53
+ * here because it's transform-only (no layout involved).
54
+ */
55
+ export const SLIDE_SPRING = {
56
+ duration: 420,
57
+ dampingRatio: 0.82
58
+ };
59
+
60
+ // ---------------------------------------------------------------------------
61
+ // Theme
62
+ // ---------------------------------------------------------------------------
63
+
64
+ /**
65
+ * Resolve the bar's five colors from Bloom's theme tokens, with an optional
66
+ * partial override on top.
67
+ *
68
+ * Upstream hardcoded a dark palette (`#FFFFFF` / `rgba(10,10,12,0.55)` / …),
69
+ * which would ignore the active preset and read as a black bar in a light
70
+ * theme. Each role maps onto the token that already carries that meaning, so
71
+ * the bar follows `BloomThemeProvider` for free:
72
+ *
73
+ * - the two tints are the standard foreground pair;
74
+ * - the highlight is `contrast50`, the token meant for a subtle raised fill;
75
+ * - the glass tint is a 55%-alpha page background, so the liquid-glass
76
+ * material behind it still refracts content;
77
+ * - the solid fallback is a 94%-alpha `backgroundSecondary` — near-opaque, so
78
+ * the bar reads as a distinct surface where there is no glass to lens.
79
+ *
80
+ * Overrides are coalesced key by key (not spread) so an explicit `undefined` in
81
+ * a partial can never punch a hole in the resolved theme.
82
+ */
83
+ export function resolveTabBarTheme(colors, overrides) {
84
+ return {
85
+ activeTint: overrides?.activeTint ?? colors.text,
86
+ inactiveTint: overrides?.inactiveTint ?? colors.textSecondary,
87
+ highlight: overrides?.highlight ?? colors.contrast50,
88
+ glassTint: overrides?.glassTint ?? withAlpha(colors.background, 0.55),
89
+ solidFallback: overrides?.solidFallback ?? withAlpha(colors.backgroundSecondary, 0.94)
90
+ };
91
+ }
92
+
93
+ /**
94
+ * Hook form of {@link resolveTabBarTheme}.
95
+ *
96
+ * Memoized on the individual override VALUES rather than on the `overrides`
97
+ * object: callers pass an inline literal (`theme={{ highlight: '#…' }}`), whose
98
+ * identity changes every render. The resolved theme feeds a React context and a
99
+ * reanimated dependency array, so a fresh identity per render would re-render
100
+ * every button and rebuild the label mapper for nothing.
101
+ */
102
+ export function useTabBarTheme(overrides) {
103
+ const {
104
+ colors
105
+ } = useTheme();
106
+ const {
107
+ activeTint,
108
+ inactiveTint,
109
+ highlight,
110
+ glassTint,
111
+ solidFallback
112
+ } = overrides ?? {};
113
+ return useMemo(() => resolveTabBarTheme(colors, {
114
+ activeTint,
115
+ inactiveTint,
116
+ highlight,
117
+ glassTint,
118
+ solidFallback
119
+ }), [colors, activeTint, inactiveTint, highlight, glassTint, solidFallback]);
120
+ }
121
+
122
+ // ---------------------------------------------------------------------------
123
+ // Injected platform components
124
+ //
125
+ // `TabBarBase` is platform-agnostic and receives its two platform-specific
126
+ // pieces as component props (the same shape as `BottomSheetBase`'s `Shell`).
127
+ // The three surface variants and the two glyph variants implement these exact
128
+ // signatures, which is what makes the resolution paths interchangeable:
129
+ // Metro picks `*.native.tsx`, the `browser` export condition picks the entry
130
+ // that imports `*.web.tsx`, everything else gets the neutral file.
131
+ // ---------------------------------------------------------------------------
132
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","withAlpha","useTheme","EXPANDED_HEIGHT","MINIMIZED_HEIGHT","MINIMIZED_INSET","BAR_MARGIN","ROW_PAD_H","LABEL_HEIGHT","ICON_SIZE","ITEM_GAP","LABEL_BLOCK","ITEM_PAD_V","HIGHLIGHT_EXPANDED","HIGHLIGHT_MINIMIZED","BLUR_BLEED","LABEL_FONT_SIZE","SLIDE_SPRING","duration","dampingRatio","resolveTabBarTheme","colors","overrides","activeTint","text","inactiveTint","textSecondary","highlight","contrast50","glassTint","background","solidFallback","backgroundSecondary","useTabBarTheme"],"sourceRoot":"../../../src","sources":["tab-bar/shared.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,OAAO;AAI/B,SAASC,SAAS,QAAQ,yBAAsB;AAEhD,SAASC,QAAQ,QAAQ,uBAAoB;AAG7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMC,eAAe,GAAG,EAAE;AACjC,OAAO,MAAMC,gBAAgB,GAAG,EAAE;AAClC;AACA,OAAO,MAAMC,eAAe,GAAG,EAAE;AACjC;AACA,OAAO,MAAMC,UAAU,GAAG,EAAE;AAC5B;AACA,OAAO,MAAMC,SAAS,GAAG,CAAC;AAC1B,OAAO,MAAMC,YAAY,GAAG,EAAE;AAC9B,OAAO,MAAMC,SAAS,GAAG,EAAE;AAC3B;AACA;AACA;AACA;AACA,OAAO,MAAMC,QAAQ,GAAG,CAAC;AACzB,OAAO,MAAMC,WAAW,GAAGH,YAAY,GAAGE,QAAQ;AAClD,OAAO,MAAME,UAAU,GAAG,CAAC;AAC3B;AACA,OAAO,MAAMC,kBAAkB,GAAGJ,SAAS,GAAGE,WAAW,GAAGC,UAAU,GAAG,CAAC;AAC1E,OAAO,MAAME,mBAAmB,GAAGL,SAAS,GAAGG,UAAU,GAAG,CAAC;AAC7D;AACA,OAAO,MAAMG,UAAU,GAAG,EAAE;AAC5B;AACA,OAAO,MAAMC,eAAe,GAAG,GAAG;;AAElC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAG;EAAEC,QAAQ,EAAE,GAAG;EAAEC,YAAY,EAAE;AAAK,CAAC;;AAEjE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAChCC,MAAmB,EACnBC,SAAgC,EACnB;EACb,OAAO;IACLC,UAAU,EAAED,SAAS,EAAEC,UAAU,IAAIF,MAAM,CAACG,IAAI;IAChDC,YAAY,EAAEH,SAAS,EAAEG,YAAY,IAAIJ,MAAM,CAACK,aAAa;IAC7DC,SAAS,EAAEL,SAAS,EAAEK,SAAS,IAAIN,MAAM,CAACO,UAAU;IACpDC,SAAS,EAAEP,SAAS,EAAEO,SAAS,IAAI5B,SAAS,CAACoB,MAAM,CAACS,UAAU,EAAE,IAAI,CAAC;IACrEC,aAAa,EAAET,SAAS,EAAES,aAAa,IAAI9B,SAAS,CAACoB,MAAM,CAACW,mBAAmB,EAAE,IAAI;EACvF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACX,SAAgC,EAAe;EAC5E,MAAM;IAAED;EAAO,CAAC,GAAGnB,QAAQ,CAAC,CAAC;EAC7B,MAAM;IAAEqB,UAAU;IAAEE,YAAY;IAAEE,SAAS;IAAEE,SAAS;IAAEE;EAAc,CAAC,GAAGT,SAAS,IAAI,CAAC,CAAC;EAEzF,OAAOtB,OAAO,CACZ,MACEoB,kBAAkB,CAACC,MAAM,EAAE;IACzBE,UAAU;IACVE,YAAY;IACZE,SAAS;IACTE,SAAS;IACTE;EACF,CAAC,CAAC,EACJ,CAACV,MAAM,EAAEE,UAAU,EAAEE,YAAY,EAAEE,SAAS,EAAEE,SAAS,EAAEE,aAAa,CACxE,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
5
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
6
+ *
7
+ * NEUTRAL default variant of the tab bar's capsule surface: a plain animated
8
+ * view filled with the theme's solid fallback.
9
+ *
10
+ * This is the file resolved by everything that does NOT do React Native's
11
+ * platform-extension resolution — a consumer's `tsc` (which follows Bloom's
12
+ * `"react-native"` source export condition) and any non-Metro bundler reading
13
+ * the published `lib/`. It therefore imports NOTHING platform-specific:
14
+ * `expo-glass-effect` is native-only, and a static import of it from a file a
15
+ * web bundler or a consumer's type-checker resolves would break module
16
+ * resolution outright. Same three-way split, for the same reason, as
17
+ * `theme/native-root-vars{,.native,.web}.ts`.
18
+ *
19
+ * The variants — all three implement `TabBarSurfaceProps` exactly, so the entry
20
+ * modules can swap them freely:
21
+ * - `surface.native.tsx` — iOS/Android (Metro), real `UIGlassEffect` glass;
22
+ * - `surface.web.tsx` — web, a CSS `backdrop-filter`;
23
+ * - this file — everywhere else, the opaque fallback.
24
+ */
25
+ import { StyleSheet } from 'react-native';
26
+ import Animated from 'react-native-reanimated';
27
+ import { jsx as _jsx } from "react/jsx-runtime";
28
+ export function TabBarSurface({
29
+ theme,
30
+ style
31
+ }) {
32
+ return /*#__PURE__*/_jsx(Animated.View, {
33
+ style: [StyleSheet.absoluteFill, styles.surface, {
34
+ backgroundColor: theme.solidFallback
35
+ }, style]
36
+ });
37
+ }
38
+ TabBarSurface.displayName = 'TabBarSurface';
39
+ const styles = StyleSheet.create({
40
+ surface: {
41
+ borderCurve: 'continuous'
42
+ }
43
+ });
44
+ //# sourceMappingURL=surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Animated","jsx","_jsx","TabBarSurface","theme","style","View","absoluteFill","styles","surface","backgroundColor","solidFallback","displayName","create","borderCurve"],"sourceRoot":"../../../src","sources":["tab-bar/surface.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,MAAM,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAI/C,OAAO,SAASC,aAAaA,CAAC;EAAEC,KAAK;EAAEC;AAA0B,CAAC,EAAE;EAClE,oBACEH,IAAA,CAACF,QAAQ,CAACM,IAAI;IACZD,KAAK,EAAE,CACLN,UAAU,CAACQ,YAAY,EACvBC,MAAM,CAACC,OAAO,EACd;MAAEC,eAAe,EAAEN,KAAK,CAACO;IAAc,CAAC,EACxCN,KAAK;EACL,CACH,CAAC;AAEN;AAEAF,aAAa,CAACS,WAAW,GAAG,eAAe;AAE3C,MAAMJ,MAAM,GAAGT,UAAU,CAACc,MAAM,CAAC;EAC/BJ,OAAO,EAAE;IACPK,WAAW,EAAE;EACf;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
5
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
6
+ *
7
+ * NATIVE variant of the tab bar's capsule surface — real liquid glass.
8
+ *
9
+ * `expo-glass-effect` is imported STATICALLY and this file is the only place it
10
+ * appears: Metro selects `.native` on iOS/Android, so the import never reaches
11
+ * a web bundle or a consumer's type-check (that is what the neutral
12
+ * `surface.tsx` sibling is for). A peer dependency plus a static import plus a
13
+ * runtime capability check is the deliberate shape here — not a lazy
14
+ * `require()`, which Metro cannot bundle from published `lib/` when the module
15
+ * name is dynamic and which would also hide the dependency from consumers.
16
+ *
17
+ * `isLiquidGlassAvailable()` is false on Android and pre-iOS-26, where the
18
+ * package's `GlassView` has no material to render; those platforms get the same
19
+ * opaque fallback the neutral variant paints.
20
+ */
21
+ import { GlassView, isLiquidGlassAvailable } from 'expo-glass-effect';
22
+ import { StyleSheet } from 'react-native';
23
+ import Animated from 'react-native-reanimated';
24
+ import { jsx as _jsx } from "react/jsx-runtime";
25
+ const AnimatedGlassView = Animated.createAnimatedComponent(GlassView);
26
+ export function TabBarSurface({
27
+ theme,
28
+ style
29
+ }) {
30
+ if (isLiquidGlassAvailable()) {
31
+ return /*#__PURE__*/_jsx(AnimatedGlassView, {
32
+ glassEffectStyle: "regular",
33
+ style: [StyleSheet.absoluteFill, styles.surface, {
34
+ backgroundColor: theme.glassTint
35
+ }, style]
36
+ });
37
+ }
38
+ return /*#__PURE__*/_jsx(Animated.View, {
39
+ style: [StyleSheet.absoluteFill, styles.surface, {
40
+ backgroundColor: theme.solidFallback
41
+ }, style]
42
+ });
43
+ }
44
+ TabBarSurface.displayName = 'TabBarSurface';
45
+ const styles = StyleSheet.create({
46
+ surface: {
47
+ borderCurve: 'continuous'
48
+ }
49
+ });
50
+ //# sourceMappingURL=surface.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GlassView","isLiquidGlassAvailable","StyleSheet","Animated","jsx","_jsx","AnimatedGlassView","createAnimatedComponent","TabBarSurface","theme","style","glassEffectStyle","absoluteFill","styles","surface","backgroundColor","glassTint","View","solidFallback","displayName","create","borderCurve"],"sourceRoot":"../../../src","sources":["tab-bar/surface.native.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,sBAAsB,QAAQ,mBAAmB;AACrE,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,MAAM,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAI/C,MAAMC,iBAAiB,GAAGH,QAAQ,CAACI,uBAAuB,CAACP,SAAS,CAAC;AAErE,OAAO,SAASQ,aAAaA,CAAC;EAAEC,KAAK;EAAEC;AAA0B,CAAC,EAAE;EAClE,IAAIT,sBAAsB,CAAC,CAAC,EAAE;IAC5B,oBACEI,IAAA,CAACC,iBAAiB;MAChBK,gBAAgB,EAAC,SAAS;MAC1BD,KAAK,EAAE,CACLR,UAAU,CAACU,YAAY,EACvBC,MAAM,CAACC,OAAO,EACd;QAAEC,eAAe,EAAEN,KAAK,CAACO;MAAU,CAAC,EACpCN,KAAK;IACL,CACH,CAAC;EAEN;EAEA,oBACEL,IAAA,CAACF,QAAQ,CAACc,IAAI;IACZP,KAAK,EAAE,CACLR,UAAU,CAACU,YAAY,EACvBC,MAAM,CAACC,OAAO,EACd;MAAEC,eAAe,EAAEN,KAAK,CAACS;IAAc,CAAC,EACxCR,KAAK;EACL,CACH,CAAC;AAEN;AAEAF,aAAa,CAACW,WAAW,GAAG,eAAe;AAE3C,MAAMN,MAAM,GAAGX,UAAU,CAACkB,MAAM,CAAC;EAC/BN,OAAO,EAAE;IACPO,WAAW,EAAE;EACf;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ported from expo-glass-tabs v0.1.1 — src/glass-tab-bar.tsx
5
+ * (MIT © 2026 David Mokos). See the top-level NOTICE.
6
+ *
7
+ * WEB variant of the tab bar's capsule surface: the browser's own frosted
8
+ * material, `backdrop-filter`, under the theme's translucent glass tint.
9
+ *
10
+ * The element stays a react-native-web `Animated.View` because the capsule
11
+ * radius is animated by reanimated on every minimize frame. The two web-only
12
+ * declarations ride in the STYLE object rather than a CSS class: react-native-
13
+ * web does not forward `className` to the DOM (its `forwardedProps` list has no
14
+ * `className`, and `createDOMProps` overwrites the attribute with the atomic
15
+ * class it generates), whereas unknown style properties ARE passed straight
16
+ * through its style compiler. That is the same route `Dialog.web.tsx` uses for
17
+ * its `animation` shorthand. No stylesheet needs injecting here: there is no
18
+ * `@keyframes` or pseudo-class involved, so nothing that an inline declaration
19
+ * cannot express.
20
+ *
21
+ * Browsers without `backdrop-filter` simply skip it and are left with the
22
+ * translucent tint — a graceful degradation that needs no `@supports` rule.
23
+ */
24
+ import { StyleSheet } from 'react-native';
25
+ import Animated from 'react-native-reanimated';
26
+ import { jsx as _jsx } from "react/jsx-runtime";
27
+ /**
28
+ * Blur radius of the web glass, in px. Tuned to read like the iOS 26 `regular`
29
+ * glass under the same 55%-alpha tint: enough to dissolve text scrolling
30
+ * underneath without smearing large shapes into mush. The saturation boost is
31
+ * what keeps colors behind the bar from going flat and grey.
32
+ */
33
+ const GLASS_BLUR_PX = 24;
34
+ const GLASS_FILTER = `blur(${GLASS_BLUR_PX}px) saturate(180%)`;
35
+
36
+ // Web-only CSS, unknown to React Native's `ViewStyle`. Both spellings are set:
37
+ // Safari still needs the prefixed property for `backdrop-filter`.
38
+ const glassFilterStyle = {
39
+ backdropFilter: GLASS_FILTER,
40
+ WebkitBackdropFilter: GLASS_FILTER
41
+ };
42
+ export function TabBarSurface({
43
+ theme,
44
+ style
45
+ }) {
46
+ return /*#__PURE__*/_jsx(Animated.View, {
47
+ style: [StyleSheet.absoluteFill, glassFilterStyle, {
48
+ backgroundColor: theme.glassTint
49
+ }, style]
50
+ });
51
+ }
52
+ TabBarSurface.displayName = 'TabBarSurface';
53
+ //# sourceMappingURL=surface.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Animated","jsx","_jsx","GLASS_BLUR_PX","GLASS_FILTER","glassFilterStyle","backdropFilter","WebkitBackdropFilter","TabBarSurface","theme","style","View","absoluteFill","backgroundColor","glassTint","displayName"],"sourceRoot":"../../../src","sources":["tab-bar/surface.web.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,UAAU,QAAwB,cAAc;AACzD,OAAOC,QAAQ,MAAM,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAI/C;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,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;AAEd,OAAO,SAASI,aAAaA,CAAC;EAAEC,KAAK;EAAEC;AAA0B,CAAC,EAAE;EAClE,oBACER,IAAA,CAACF,QAAQ,CAACW,IAAI;IACZD,KAAK,EAAE,CACLX,UAAU,CAACa,YAAY,EACvBP,gBAAgB,EAChB;MAAEQ,eAAe,EAAEJ,KAAK,CAACK;IAAU,CAAC,EACpCJ,KAAK;EACL,CACH,CAAC;AAEN;AAEAF,aAAa,CAACO,WAAW,GAAG,eAAe","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["tab-bar/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Derived from sonner-native v0.26.4 — src/positioner.tsx
5
+ * (MIT © Gunnar Torfi Steinarsson). See the top-level NOTICE.
6
+ *
7
+ * One container per occupied position, plus the press-to-collapse area outside an
8
+ * expanded stack. The container pins all four edges and `getInsetValues` overrides
9
+ * just the anchored one, so it always has a real height and the rows inside it —
10
+ * which are absolutely positioned — are never laid out out of bounds. See
11
+ * `getContainerStyle` for what a zero-height container did to Android.
12
+ *
13
+ * `position: 'absolute'` is correct on BOTH platforms and this file stays fully
14
+ * universal: `ToastHost` supplies a viewport-sized containing block on web, so
15
+ * there is no `.web` fork and no `position: 'fixed'` here (W7).
16
+ *
17
+ * `pointerEvents` goes in `style`, never as a prop — the prop form is deprecated
18
+ * in react-native-web and logs on every render.
19
+ */
20
+ import * as React from 'react';
21
+ import { Platform, Pressable, View } from 'react-native';
22
+ import { SafeAreaInsetsContext, initialWindowMetrics } from 'react-native-safe-area-context';
23
+ import { useDynamicToastContext, useToastContext } from "./context.js";
24
+ import { calculateOutsidePressableArea, getContainerStyle, getInsetValues } from "./positioner-utils.js";
25
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
26
+ /**
27
+ * Web `initialWindowMetrics` is `null`, and on native it is null until the
28
+ * provider measures — both fall back to zero insets, which `getInsetValues` then
29
+ * turns into its 16px default.
30
+ */
31
+ const FALLBACK_INSETS = initialWindowMetrics?.insets ?? {
32
+ top: 0,
33
+ bottom: 0,
34
+ left: 0,
35
+ right: 0
36
+ };
37
+
38
+ /**
39
+ * Without elevation the positioner can render behind sibling react-native-screens
40
+ * surfaces (native-stack, bottom-tabs) on Android, hiding toasts entirely. Kept
41
+ * alongside the `zIndex` the host applies, because Android orders those native
42
+ * siblings by elevation.
43
+ */
44
+ const ANDROID_ELEVATION = 9999;
45
+ const androidElevationStyle = Platform.OS === 'android' ? {
46
+ elevation: ANDROID_ELEVATION
47
+ } : null;
48
+ export const Positioner = ({
49
+ children,
50
+ position,
51
+ style
52
+ }) => {
53
+ const {
54
+ offset,
55
+ gap,
56
+ visibleToasts
57
+ } = useToastContext();
58
+ const {
59
+ isExpanded,
60
+ collapse,
61
+ toastHeights
62
+ } = useDynamicToastContext();
63
+ const insets = React.useContext(SafeAreaInsetsContext) ?? FALLBACK_INSETS;
64
+ const resolvedPosition = position ?? 'bottom-center';
65
+ const insetValues = getInsetValues({
66
+ position: resolvedPosition,
67
+ offset,
68
+ safeAreaInsets: {
69
+ top: insets.top,
70
+ bottom: insets.bottom
71
+ }
72
+ });
73
+ const handleOutsidePress = React.useCallback(() => {
74
+ if (isExpanded) {
75
+ collapse();
76
+ }
77
+ }, [isExpanded, collapse]);
78
+
79
+ // Collapsing by pressing outside only makes sense for an anchored stack.
80
+ const shouldAllowCollapse = resolvedPosition !== 'center' && isExpanded;
81
+ const hasChildren = React.Children.count(children) > 0;
82
+ return /*#__PURE__*/_jsxs(_Fragment, {
83
+ children: [shouldAllowCollapse ? /*#__PURE__*/_jsx(Pressable, {
84
+ style: [calculateOutsidePressableArea({
85
+ position: resolvedPosition,
86
+ toastHeights,
87
+ gap,
88
+ visibleToasts,
89
+ insetValues
90
+ }), androidElevationStyle],
91
+ onPress: handleOutsidePress
92
+ }) : null, /*#__PURE__*/_jsx(View, {
93
+ style: [getContainerStyle(), androidElevationStyle,
94
+ // Overrides ONE edge of the four `getContainerStyle` pins, so the box
95
+ // keeps a real height and the rows inside it stay in bounds.
96
+ insetValues,
97
+ // This container spans the whole host, so it must never swallow a touch.
98
+ // `box-none` passes presses through to the app while still reaching the
99
+ // rows; an EMPTY one on Android drops to `none` outright, because the
100
+ // outlet's configured position always renders a container even with no
101
+ // rows in it (see `Toaster`'s grouping).
102
+ {
103
+ pointerEvents: Platform.OS === 'android' && !hasChildren ? 'none' : 'box-none'
104
+ }, style],
105
+ children: children
106
+ })]
107
+ });
108
+ };
109
+ Positioner.displayName = 'ToastPositioner';
110
+ //# sourceMappingURL=Positioner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Platform","Pressable","View","SafeAreaInsetsContext","initialWindowMetrics","useDynamicToastContext","useToastContext","calculateOutsidePressableArea","getContainerStyle","getInsetValues","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","FALLBACK_INSETS","insets","top","bottom","left","right","ANDROID_ELEVATION","androidElevationStyle","OS","elevation","Positioner","children","position","style","offset","gap","visibleToasts","isExpanded","collapse","toastHeights","useContext","resolvedPosition","insetValues","safeAreaInsets","handleOutsidePress","useCallback","shouldAllowCollapse","hasChildren","Children","count","onPress","pointerEvents","displayName"],"sourceRoot":"../../../src","sources":["toast/Positioner.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AACxD,SACEC,qBAAqB,EACrBC,oBAAoB,QACf,gCAAgC;AAEvC,SAASC,sBAAsB,EAAEC,eAAe,QAAQ,cAAW;AACnE,SACEC,6BAA6B,EAC7BC,iBAAiB,EACjBC,cAAc,QACT,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAG5B;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAGZ,oBAAoB,EAAEa,MAAM,IAAI;EACtDC,GAAG,EAAE,CAAC;EACNC,MAAM,EAAE,CAAC;EACTC,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,iBAAiB,GAAG,IAAI;AAC9B,MAAMC,qBAAqB,GACzBvB,QAAQ,CAACwB,EAAE,KAAK,SAAS,GAAG;EAAEC,SAAS,EAAEH;AAAkB,CAAC,GAAG,IAAI;AAErE,OAAO,MAAMI,UAEZ,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EACrC,MAAM;IAAEC,MAAM;IAAEC,GAAG;IAAEC;EAAc,CAAC,GAAG1B,eAAe,CAAC,CAAC;EACxD,MAAM;IAAE2B,UAAU;IAAEC,QAAQ;IAAEC;EAAa,CAAC,GAAG9B,sBAAsB,CAAC,CAAC;EACvE,MAAMY,MAAM,GAAGlB,KAAK,CAACqC,UAAU,CAACjC,qBAAqB,CAAC,IAAIa,eAAe;EAEzE,MAAMqB,gBAAgB,GAAGT,QAAQ,IAAI,eAAe;EACpD,MAAMU,WAAW,GAAG7B,cAAc,CAAC;IACjCmB,QAAQ,EAAES,gBAAgB;IAC1BP,MAAM;IACNS,cAAc,EAAE;MAAErB,GAAG,EAAED,MAAM,CAACC,GAAG;MAAEC,MAAM,EAAEF,MAAM,CAACE;IAAO;EAC3D,CAAC,CAAC;EAEF,MAAMqB,kBAAkB,GAAGzC,KAAK,CAAC0C,WAAW,CAAC,MAAM;IACjD,IAAIR,UAAU,EAAE;MACdC,QAAQ,CAAC,CAAC;IACZ;EACF,CAAC,EAAE,CAACD,UAAU,EAAEC,QAAQ,CAAC,CAAC;;EAE1B;EACA,MAAMQ,mBAAmB,GAAGL,gBAAgB,KAAK,QAAQ,IAAIJ,UAAU;EACvE,MAAMU,WAAW,GAAG5C,KAAK,CAAC6C,QAAQ,CAACC,KAAK,CAAClB,QAAQ,CAAC,GAAG,CAAC;EAEtD,oBACEZ,KAAA,CAAAF,SAAA;IAAAc,QAAA,GACGe,mBAAmB,gBAClB/B,IAAA,CAACV,SAAS;MACR4B,KAAK,EAAE,CACLtB,6BAA6B,CAAC;QAC5BqB,QAAQ,EAAES,gBAAgB;QAC1BF,YAAY;QACZJ,GAAG;QACHC,aAAa;QACbM;MACF,CAAC,CAAC,EACFf,qBAAqB,CACrB;MACFuB,OAAO,EAAEN;IAAmB,CAC7B,CAAC,GACA,IAAI,eACR7B,IAAA,CAACT,IAAI;MACH2B,KAAK,EAAE,CACLrB,iBAAiB,CAAC,CAAC,EACnBe,qBAAqB;MACrB;MACA;MACAe,WAAW;MACX;MACA;MACA;MACA;MACA;MACA;QACES,aAAa,EACX/C,QAAQ,CAACwB,EAAE,KAAK,SAAS,IAAI,CAACmB,WAAW,GAAG,MAAM,GAAG;MACzD,CAAC,EACDd,KAAK,CACL;MAAAF,QAAA,EAEDA;IAAQ,CACL,CAAC;EAAA,CACP,CAAC;AAEP,CAAC;AAEDD,UAAU,CAACsB,WAAW,GAAG,iBAAiB","ignoreList":[]}