@tamagui/demos 2.0.0-rc.8 → 2.0.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 (663) hide show
  1. package/dist/cjs/AccordionDemo.cjs +19 -17
  2. package/dist/cjs/AccordionDemo.native.js +19 -17
  3. package/dist/cjs/AccordionDemo.native.js.map +1 -1
  4. package/dist/cjs/AddThemeDemo.cjs +31 -28
  5. package/dist/cjs/AddThemeDemo.native.js +33 -30
  6. package/dist/cjs/AddThemeDemo.native.js.map +1 -1
  7. package/dist/cjs/AlertDialogDemo.cjs +20 -18
  8. package/dist/cjs/AlertDialogDemo.native.js +20 -18
  9. package/dist/cjs/AlertDialogDemo.native.js.map +1 -1
  10. package/dist/cjs/AnimationsDelayDemo.cjs +40 -35
  11. package/dist/cjs/AnimationsDelayDemo.native.js +41 -36
  12. package/dist/cjs/AnimationsDelayDemo.native.js.map +1 -1
  13. package/dist/cjs/AnimationsDemo.cjs +27 -23
  14. package/dist/cjs/AnimationsDemo.native.js +29 -28
  15. package/dist/cjs/AnimationsDemo.native.js.map +1 -1
  16. package/dist/cjs/AnimationsEnterDemo.cjs +39 -34
  17. package/dist/cjs/AnimationsEnterDemo.native.js +38 -34
  18. package/dist/cjs/AnimationsEnterDemo.native.js.map +1 -1
  19. package/dist/cjs/AnimationsHoverDemo.cjs +15 -13
  20. package/dist/cjs/AnimationsHoverDemo.native.js +15 -13
  21. package/dist/cjs/AnimationsHoverDemo.native.js.map +1 -1
  22. package/dist/cjs/AnimationsPresenceDemo.cjs +68 -66
  23. package/dist/cjs/AnimationsPresenceDemo.native.js +71 -69
  24. package/dist/cjs/AnimationsPresenceDemo.native.js.map +1 -1
  25. package/dist/cjs/AnimationsTimingDemo.cjs +15 -13
  26. package/dist/cjs/AnimationsTimingDemo.native.js +15 -13
  27. package/dist/cjs/AnimationsTimingDemo.native.js.map +1 -1
  28. package/dist/cjs/AvatarDemo.cjs +16 -14
  29. package/dist/cjs/AvatarDemo.native.js +16 -14
  30. package/dist/cjs/AvatarDemo.native.js.map +1 -1
  31. package/dist/cjs/BoxShadowTokenDemo.cjs +59 -0
  32. package/dist/cjs/BoxShadowTokenDemo.native.js +64 -0
  33. package/dist/cjs/BoxShadowTokenDemo.native.js.map +1 -0
  34. package/dist/cjs/BuildAButtonDemo.cjs +22 -20
  35. package/dist/cjs/BuildAButtonDemo.native.js +31 -29
  36. package/dist/cjs/BuildAButtonDemo.native.js.map +1 -1
  37. package/dist/cjs/ButtonDemo.cjs +20 -18
  38. package/dist/cjs/ButtonDemo.native.js +20 -18
  39. package/dist/cjs/ButtonDemo.native.js.map +1 -1
  40. package/dist/cjs/CardDemo.cjs +15 -13
  41. package/dist/cjs/CardDemo.native.js +15 -13
  42. package/dist/cjs/CardDemo.native.js.map +1 -1
  43. package/dist/cjs/CheckboxDemo.cjs +18 -16
  44. package/dist/cjs/CheckboxDemo.native.js +24 -22
  45. package/dist/cjs/CheckboxDemo.native.js.map +1 -1
  46. package/dist/cjs/CheckboxHeadlessDemo.cjs +39 -37
  47. package/dist/cjs/CheckboxHeadlessDemo.native.js +39 -37
  48. package/dist/cjs/CheckboxHeadlessDemo.native.js.map +1 -1
  49. package/dist/cjs/CheckboxUnstyledDemo.cjs +42 -40
  50. package/dist/cjs/CheckboxUnstyledDemo.native.js +43 -41
  51. package/dist/cjs/CheckboxUnstyledDemo.native.js.map +1 -1
  52. package/dist/cjs/ColorsDemo.cjs +62 -56
  53. package/dist/cjs/ColorsDemo.native.js +32 -30
  54. package/dist/cjs/ColorsDemo.native.js.map +1 -1
  55. package/dist/cjs/ContextMenuDemo.cjs +53 -53
  56. package/dist/cjs/ContextMenuDemo.native.js +41 -43
  57. package/dist/cjs/ContextMenuDemo.native.js.map +1 -1
  58. package/dist/cjs/DialogDemo.cjs +34 -32
  59. package/dist/cjs/DialogDemo.native.js +36 -34
  60. package/dist/cjs/DialogDemo.native.js.map +1 -1
  61. package/dist/cjs/FormsDemo.cjs +31 -28
  62. package/dist/cjs/FormsDemo.native.js +31 -28
  63. package/dist/cjs/FormsDemo.native.js.map +1 -1
  64. package/dist/cjs/Grid.cjs +51 -42
  65. package/dist/cjs/Grid.native.js +44 -37
  66. package/dist/cjs/Grid.native.js.map +1 -1
  67. package/dist/cjs/GroupDemo.cjs +17 -15
  68. package/dist/cjs/GroupDemo.native.js +17 -15
  69. package/dist/cjs/GroupDemo.native.js.map +1 -1
  70. package/dist/cjs/HeadingsDemo.cjs +14 -12
  71. package/dist/cjs/HeadingsDemo.native.js +14 -12
  72. package/dist/cjs/HeadingsDemo.native.js.map +1 -1
  73. package/dist/cjs/ImageDemo.cjs +14 -12
  74. package/dist/cjs/ImageDemo.native.js +14 -12
  75. package/dist/cjs/ImageDemo.native.js.map +1 -1
  76. package/dist/cjs/InputsDemo.cjs +14 -12
  77. package/dist/cjs/InputsDemo.native.js +14 -12
  78. package/dist/cjs/InputsDemo.native.js.map +1 -1
  79. package/dist/cjs/LabelDemo.cjs +14 -12
  80. package/dist/cjs/LabelDemo.native.js +14 -12
  81. package/dist/cjs/LabelDemo.native.js.map +1 -1
  82. package/dist/cjs/LinearGradientDemo.cjs +15 -13
  83. package/dist/cjs/LinearGradientDemo.native.js +15 -13
  84. package/dist/cjs/LinearGradientDemo.native.js.map +1 -1
  85. package/dist/cjs/ListItemDemo.cjs +32 -22
  86. package/dist/cjs/ListItemDemo.native.js +32 -22
  87. package/dist/cjs/ListItemDemo.native.js.map +1 -1
  88. package/dist/cjs/LucideIconsDemo.cjs +54 -52
  89. package/dist/cjs/LucideIconsDemo.native.js +69 -67
  90. package/dist/cjs/LucideIconsDemo.native.js.map +1 -1
  91. package/dist/cjs/MenuDemo.cjs +176 -177
  92. package/dist/cjs/MenuDemo.native.js +179 -180
  93. package/dist/cjs/MenuDemo.native.js.map +1 -1
  94. package/dist/cjs/NewInputsDemo.cjs +15 -13
  95. package/dist/cjs/NewInputsDemo.native.js +15 -13
  96. package/dist/cjs/NewInputsDemo.native.js.map +1 -1
  97. package/dist/cjs/PopoverDemo.cjs +29 -27
  98. package/dist/cjs/PopoverDemo.native.js +29 -27
  99. package/dist/cjs/PopoverDemo.native.js.map +1 -1
  100. package/dist/cjs/ProgressDemo.cjs +37 -33
  101. package/dist/cjs/ProgressDemo.native.js +37 -33
  102. package/dist/cjs/ProgressDemo.native.js.map +1 -1
  103. package/dist/cjs/RadioGroupDemo.cjs +14 -12
  104. package/dist/cjs/RadioGroupDemo.native.js +14 -12
  105. package/dist/cjs/RadioGroupDemo.native.js.map +1 -1
  106. package/dist/cjs/RadioGroupHeadlessDemo.cjs +68 -63
  107. package/dist/cjs/RadioGroupHeadlessDemo.native.js +60 -60
  108. package/dist/cjs/RadioGroupHeadlessDemo.native.js.map +1 -1
  109. package/dist/cjs/RadioGroupUnstyledDemo.cjs +88 -86
  110. package/dist/cjs/RadioGroupUnstyledDemo.native.js +88 -86
  111. package/dist/cjs/RadioGroupUnstyledDemo.native.js.map +1 -1
  112. package/dist/cjs/ReplaceThemeDemo.cjs +38 -33
  113. package/dist/cjs/ReplaceThemeDemo.native.js +39 -34
  114. package/dist/cjs/ReplaceThemeDemo.native.js.map +1 -1
  115. package/dist/cjs/ScrollViewDemo.cjs +14 -12
  116. package/dist/cjs/ScrollViewDemo.native.js +14 -12
  117. package/dist/cjs/ScrollViewDemo.native.js.map +1 -1
  118. package/dist/cjs/SelectDemo.cjs +54 -50
  119. package/dist/cjs/SelectDemo.native.js +44 -42
  120. package/dist/cjs/SelectDemo.native.js.map +1 -1
  121. package/dist/cjs/SeparatorDemo.cjs +16 -14
  122. package/dist/cjs/SeparatorDemo.native.js +16 -14
  123. package/dist/cjs/SeparatorDemo.native.js.map +1 -1
  124. package/dist/cjs/ShapesDemo.cjs +14 -12
  125. package/dist/cjs/ShapesDemo.native.js +14 -12
  126. package/dist/cjs/ShapesDemo.native.js.map +1 -1
  127. package/dist/cjs/SheetDemo.cjs +127 -121
  128. package/dist/cjs/SheetDemo.native.js +149 -147
  129. package/dist/cjs/SheetDemo.native.js.map +1 -1
  130. package/dist/cjs/SliderDemo.cjs +14 -12
  131. package/dist/cjs/SliderDemo.native.js +14 -12
  132. package/dist/cjs/SliderDemo.native.js.map +1 -1
  133. package/dist/cjs/SpinnerDemo.cjs +14 -12
  134. package/dist/cjs/SpinnerDemo.native.js +14 -12
  135. package/dist/cjs/SpinnerDemo.native.js.map +1 -1
  136. package/dist/cjs/StacksDemo.cjs +17 -15
  137. package/dist/cjs/StacksDemo.native.js +29 -16
  138. package/dist/cjs/StacksDemo.native.js.map +1 -1
  139. package/dist/cjs/SwitchDemo.cjs +18 -16
  140. package/dist/cjs/SwitchDemo.native.js +20 -18
  141. package/dist/cjs/SwitchDemo.native.js.map +1 -1
  142. package/dist/cjs/SwitchHeadlessDemo.cjs +38 -36
  143. package/dist/cjs/SwitchHeadlessDemo.native.js +40 -38
  144. package/dist/cjs/SwitchHeadlessDemo.native.js.map +1 -1
  145. package/dist/cjs/SwitchUnstyledDemo.cjs +50 -48
  146. package/dist/cjs/SwitchUnstyledDemo.native.js +51 -49
  147. package/dist/cjs/SwitchUnstyledDemo.native.js.map +1 -1
  148. package/dist/cjs/TabsAdvancedDemo.cjs +316 -294
  149. package/dist/cjs/TabsAdvancedDemo.native.js +364 -348
  150. package/dist/cjs/TabsAdvancedDemo.native.js.map +1 -1
  151. package/dist/cjs/TabsDemo.cjs +105 -99
  152. package/dist/cjs/TabsDemo.native.js +162 -160
  153. package/dist/cjs/TabsDemo.native.js.map +1 -1
  154. package/dist/cjs/TabsHeadlessDemo.cjs +68 -64
  155. package/dist/cjs/TabsHeadlessDemo.native.js +94 -81
  156. package/dist/cjs/TabsHeadlessDemo.native.js.map +1 -1
  157. package/dist/cjs/TextDemo.cjs +14 -12
  158. package/dist/cjs/TextDemo.native.js +14 -12
  159. package/dist/cjs/TextDemo.native.js.map +1 -1
  160. package/dist/cjs/ThemeBuilderDemo.cjs +15 -13
  161. package/dist/cjs/ThemeBuilderDemo.native.js +15 -13
  162. package/dist/cjs/ThemeBuilderDemo.native.js.map +1 -1
  163. package/dist/cjs/ThemeInverseDemo.cjs +14 -12
  164. package/dist/cjs/ThemeInverseDemo.native.js +14 -12
  165. package/dist/cjs/ThemeInverseDemo.native.js.map +1 -1
  166. package/dist/cjs/ToastDemo.cjs +213 -131
  167. package/dist/cjs/ToastDemo.native.js +229 -142
  168. package/dist/cjs/ToastDemo.native.js.map +1 -1
  169. package/dist/cjs/ToastDuplicateDemo.cjs +49 -60
  170. package/dist/cjs/ToastDuplicateDemo.native.js +56 -71
  171. package/dist/cjs/ToastDuplicateDemo.native.js.map +1 -1
  172. package/dist/cjs/ToastV1Demo.cjs +155 -0
  173. package/dist/cjs/ToastV1Demo.native.js +166 -0
  174. package/dist/cjs/ToastV1Demo.native.js.map +1 -0
  175. package/dist/cjs/ToggleGroupDemo.cjs +21 -19
  176. package/dist/cjs/ToggleGroupDemo.native.js +21 -19
  177. package/dist/cjs/ToggleGroupDemo.native.js.map +1 -1
  178. package/dist/cjs/TokensDemo.cjs +80 -74
  179. package/dist/cjs/TokensDemo.native.js +58 -55
  180. package/dist/cjs/TokensDemo.native.js.map +1 -1
  181. package/dist/cjs/TooltipDemo.cjs +27 -24
  182. package/dist/cjs/TooltipDemo.native.js +27 -24
  183. package/dist/cjs/TooltipDemo.native.js.map +1 -1
  184. package/dist/cjs/UpdateThemeDemo.cjs +37 -33
  185. package/dist/cjs/UpdateThemeDemo.native.js +38 -34
  186. package/dist/cjs/UpdateThemeDemo.native.js.map +1 -1
  187. package/dist/cjs/WebNativeImageDemo.cjs +14 -12
  188. package/dist/cjs/WebNativeImageDemo.native.js +14 -12
  189. package/dist/cjs/WebNativeImageDemo.native.js.map +1 -1
  190. package/dist/cjs/index.cjs +9 -5
  191. package/dist/cjs/index.native.js +9 -5
  192. package/dist/cjs/index.native.js.map +1 -1
  193. package/dist/cjs/tamagui.config.cjs +14 -12
  194. package/dist/cjs/tamagui.config.native.js +16 -14
  195. package/dist/cjs/tamagui.config.native.js.map +1 -1
  196. package/dist/cjs/useOnIntersecting.cjs +44 -28
  197. package/dist/cjs/useOnIntersecting.native.js +84 -70
  198. package/dist/cjs/useOnIntersecting.native.js.map +1 -1
  199. package/dist/esm/AccordionDemo.mjs +3 -3
  200. package/dist/esm/AccordionDemo.native.js +3 -3
  201. package/dist/esm/AccordionDemo.native.js.map +1 -1
  202. package/dist/esm/AddThemeDemo.mjs +3 -2
  203. package/dist/esm/AddThemeDemo.mjs.map +1 -1
  204. package/dist/esm/AddThemeDemo.native.js +5 -4
  205. package/dist/esm/AddThemeDemo.native.js.map +1 -1
  206. package/dist/esm/AlertDialogDemo.mjs +6 -6
  207. package/dist/esm/AlertDialogDemo.native.js +6 -6
  208. package/dist/esm/AlertDialogDemo.native.js.map +1 -1
  209. package/dist/esm/AnimationsDelayDemo.mjs +12 -9
  210. package/dist/esm/AnimationsDelayDemo.mjs.map +1 -1
  211. package/dist/esm/AnimationsDelayDemo.native.js +12 -9
  212. package/dist/esm/AnimationsDelayDemo.native.js.map +1 -1
  213. package/dist/esm/AnimationsDemo.mjs +11 -9
  214. package/dist/esm/AnimationsDemo.mjs.map +1 -1
  215. package/dist/esm/AnimationsDemo.native.js +13 -14
  216. package/dist/esm/AnimationsDemo.native.js.map +1 -1
  217. package/dist/esm/AnimationsEnterDemo.mjs +10 -7
  218. package/dist/esm/AnimationsEnterDemo.mjs.map +1 -1
  219. package/dist/esm/AnimationsEnterDemo.native.js +9 -7
  220. package/dist/esm/AnimationsEnterDemo.native.js.map +1 -1
  221. package/dist/esm/AnimationsPresenceDemo.mjs +35 -35
  222. package/dist/esm/AnimationsPresenceDemo.mjs.map +1 -1
  223. package/dist/esm/AnimationsPresenceDemo.native.js +37 -37
  224. package/dist/esm/AnimationsPresenceDemo.native.js.map +1 -1
  225. package/dist/esm/AvatarDemo.mjs +2 -2
  226. package/dist/esm/AvatarDemo.native.js +2 -2
  227. package/dist/esm/BoxShadowTokenDemo.mjs +34 -0
  228. package/dist/esm/BoxShadowTokenDemo.mjs.map +1 -0
  229. package/dist/esm/BoxShadowTokenDemo.native.js +36 -0
  230. package/dist/esm/BoxShadowTokenDemo.native.js.map +1 -0
  231. package/dist/esm/BuildAButtonDemo.mjs +6 -6
  232. package/dist/esm/BuildAButtonDemo.mjs.map +1 -1
  233. package/dist/esm/BuildAButtonDemo.native.js +6 -6
  234. package/dist/esm/BuildAButtonDemo.native.js.map +1 -1
  235. package/dist/esm/ButtonDemo.mjs +2 -2
  236. package/dist/esm/ButtonDemo.native.js +2 -2
  237. package/dist/esm/ButtonDemo.native.js.map +1 -1
  238. package/dist/esm/CardDemo.mjs +1 -1
  239. package/dist/esm/CardDemo.native.js +1 -1
  240. package/dist/esm/CheckboxDemo.mjs +3 -3
  241. package/dist/esm/CheckboxDemo.native.js +9 -9
  242. package/dist/esm/CheckboxDemo.native.js.map +1 -1
  243. package/dist/esm/CheckboxHeadlessDemo.mjs +9 -9
  244. package/dist/esm/CheckboxHeadlessDemo.mjs.map +1 -1
  245. package/dist/esm/CheckboxHeadlessDemo.native.js +9 -9
  246. package/dist/esm/CheckboxHeadlessDemo.native.js.map +1 -1
  247. package/dist/esm/CheckboxUnstyledDemo.mjs +25 -25
  248. package/dist/esm/CheckboxUnstyledDemo.mjs.map +1 -1
  249. package/dist/esm/CheckboxUnstyledDemo.native.js +25 -25
  250. package/dist/esm/CheckboxUnstyledDemo.native.js.map +1 -1
  251. package/dist/esm/ColorsDemo.mjs +47 -43
  252. package/dist/esm/ColorsDemo.mjs.map +1 -1
  253. package/dist/esm/ColorsDemo.native.js +17 -17
  254. package/dist/esm/ColorsDemo.native.js.map +1 -1
  255. package/dist/esm/ContextMenuDemo.mjs +21 -23
  256. package/dist/esm/ContextMenuDemo.mjs.map +1 -1
  257. package/dist/esm/ContextMenuDemo.native.js +9 -13
  258. package/dist/esm/ContextMenuDemo.native.js.map +1 -1
  259. package/dist/esm/DialogDemo.mjs +16 -16
  260. package/dist/esm/DialogDemo.mjs.map +1 -1
  261. package/dist/esm/DialogDemo.native.js +18 -18
  262. package/dist/esm/DialogDemo.native.js.map +1 -1
  263. package/dist/esm/FormsDemo.mjs +4 -3
  264. package/dist/esm/FormsDemo.mjs.map +1 -1
  265. package/dist/esm/FormsDemo.native.js +4 -3
  266. package/dist/esm/FormsDemo.native.js.map +1 -1
  267. package/dist/esm/Grid.mjs +23 -16
  268. package/dist/esm/Grid.mjs.map +1 -1
  269. package/dist/esm/Grid.native.js +16 -11
  270. package/dist/esm/Grid.native.js.map +1 -1
  271. package/dist/esm/GroupDemo.mjs +1 -1
  272. package/dist/esm/GroupDemo.native.js +1 -1
  273. package/dist/esm/GroupDemo.native.js.map +1 -1
  274. package/dist/esm/ListItemDemo.mjs +9 -1
  275. package/dist/esm/ListItemDemo.mjs.map +1 -1
  276. package/dist/esm/ListItemDemo.native.js +9 -1
  277. package/dist/esm/ListItemDemo.native.js.map +1 -1
  278. package/dist/esm/LucideIconsDemo.mjs +25 -25
  279. package/dist/esm/LucideIconsDemo.mjs.map +1 -1
  280. package/dist/esm/LucideIconsDemo.native.js +32 -32
  281. package/dist/esm/LucideIconsDemo.native.js.map +1 -1
  282. package/dist/esm/MenuDemo.mjs +148 -151
  283. package/dist/esm/MenuDemo.mjs.map +1 -1
  284. package/dist/esm/MenuDemo.native.js +151 -154
  285. package/dist/esm/MenuDemo.native.js.map +1 -1
  286. package/dist/esm/PopoverDemo.mjs +10 -10
  287. package/dist/esm/PopoverDemo.mjs.map +1 -1
  288. package/dist/esm/PopoverDemo.native.js +10 -10
  289. package/dist/esm/PopoverDemo.native.js.map +1 -1
  290. package/dist/esm/ProgressDemo.mjs +8 -6
  291. package/dist/esm/ProgressDemo.mjs.map +1 -1
  292. package/dist/esm/ProgressDemo.native.js +8 -6
  293. package/dist/esm/ProgressDemo.native.js.map +1 -1
  294. package/dist/esm/RadioGroupHeadlessDemo.mjs +38 -35
  295. package/dist/esm/RadioGroupHeadlessDemo.mjs.map +1 -1
  296. package/dist/esm/RadioGroupHeadlessDemo.native.js +30 -32
  297. package/dist/esm/RadioGroupHeadlessDemo.native.js.map +1 -1
  298. package/dist/esm/RadioGroupUnstyledDemo.mjs +73 -73
  299. package/dist/esm/RadioGroupUnstyledDemo.mjs.map +1 -1
  300. package/dist/esm/RadioGroupUnstyledDemo.native.js +73 -73
  301. package/dist/esm/RadioGroupUnstyledDemo.native.js.map +1 -1
  302. package/dist/esm/ReplaceThemeDemo.mjs +10 -7
  303. package/dist/esm/ReplaceThemeDemo.mjs.map +1 -1
  304. package/dist/esm/ReplaceThemeDemo.native.js +11 -8
  305. package/dist/esm/ReplaceThemeDemo.native.js.map +1 -1
  306. package/dist/esm/SelectDemo.mjs +22 -20
  307. package/dist/esm/SelectDemo.mjs.map +1 -1
  308. package/dist/esm/SelectDemo.native.js +11 -11
  309. package/dist/esm/SelectDemo.native.js.map +1 -1
  310. package/dist/esm/SeparatorDemo.mjs +2 -2
  311. package/dist/esm/SeparatorDemo.native.js +2 -2
  312. package/dist/esm/SheetDemo.mjs +96 -92
  313. package/dist/esm/SheetDemo.mjs.map +1 -1
  314. package/dist/esm/SheetDemo.native.js +120 -120
  315. package/dist/esm/SheetDemo.native.js.map +1 -1
  316. package/dist/esm/StacksDemo.mjs +3 -3
  317. package/dist/esm/StacksDemo.native.js +4 -4
  318. package/dist/esm/StacksDemo.native.js.map +1 -1
  319. package/dist/esm/SwitchDemo.mjs +4 -4
  320. package/dist/esm/SwitchDemo.native.js +6 -6
  321. package/dist/esm/SwitchHeadlessDemo.mjs +9 -9
  322. package/dist/esm/SwitchHeadlessDemo.mjs.map +1 -1
  323. package/dist/esm/SwitchHeadlessDemo.native.js +11 -11
  324. package/dist/esm/SwitchHeadlessDemo.native.js.map +1 -1
  325. package/dist/esm/SwitchUnstyledDemo.mjs +34 -34
  326. package/dist/esm/SwitchUnstyledDemo.mjs.map +1 -1
  327. package/dist/esm/SwitchUnstyledDemo.native.js +34 -34
  328. package/dist/esm/SwitchUnstyledDemo.native.js.map +1 -1
  329. package/dist/esm/TabsAdvancedDemo.mjs +289 -269
  330. package/dist/esm/TabsAdvancedDemo.mjs.map +1 -1
  331. package/dist/esm/TabsAdvancedDemo.native.js +337 -323
  332. package/dist/esm/TabsAdvancedDemo.native.js.map +1 -1
  333. package/dist/esm/TabsDemo.mjs +77 -73
  334. package/dist/esm/TabsDemo.mjs.map +1 -1
  335. package/dist/esm/TabsDemo.native.js +135 -135
  336. package/dist/esm/TabsDemo.native.js.map +1 -1
  337. package/dist/esm/TabsHeadlessDemo.mjs +48 -46
  338. package/dist/esm/TabsHeadlessDemo.mjs.map +1 -1
  339. package/dist/esm/TabsHeadlessDemo.native.js +67 -67
  340. package/dist/esm/TabsHeadlessDemo.native.js.map +1 -1
  341. package/dist/esm/ThemeBuilderDemo.mjs +1 -1
  342. package/dist/esm/ThemeBuilderDemo.native.js +1 -1
  343. package/dist/esm/ToastDemo.mjs +196 -105
  344. package/dist/esm/ToastDemo.mjs.map +1 -1
  345. package/dist/esm/ToastDemo.native.js +213 -117
  346. package/dist/esm/ToastDemo.native.js.map +1 -1
  347. package/dist/esm/ToastDuplicateDemo.mjs +31 -33
  348. package/dist/esm/ToastDuplicateDemo.mjs.map +1 -1
  349. package/dist/esm/ToastDuplicateDemo.native.js +32 -38
  350. package/dist/esm/ToastDuplicateDemo.native.js.map +1 -1
  351. package/dist/esm/ToastV1Demo.mjs +119 -0
  352. package/dist/esm/ToastV1Demo.mjs.map +1 -0
  353. package/dist/esm/ToastV1Demo.native.js +127 -0
  354. package/dist/esm/ToastV1Demo.native.js.map +1 -0
  355. package/dist/esm/ToggleGroupDemo.mjs +4 -4
  356. package/dist/esm/ToggleGroupDemo.mjs.map +1 -1
  357. package/dist/esm/ToggleGroupDemo.native.js +4 -4
  358. package/dist/esm/ToggleGroupDemo.native.js.map +1 -1
  359. package/dist/esm/TokensDemo.mjs +52 -48
  360. package/dist/esm/TokensDemo.mjs.map +1 -1
  361. package/dist/esm/TokensDemo.native.js +24 -23
  362. package/dist/esm/TokensDemo.native.js.map +1 -1
  363. package/dist/esm/TooltipDemo.mjs +5 -4
  364. package/dist/esm/TooltipDemo.mjs.map +1 -1
  365. package/dist/esm/TooltipDemo.native.js +5 -4
  366. package/dist/esm/TooltipDemo.native.js.map +1 -1
  367. package/dist/esm/UpdateThemeDemo.mjs +8 -6
  368. package/dist/esm/UpdateThemeDemo.mjs.map +1 -1
  369. package/dist/esm/UpdateThemeDemo.native.js +9 -7
  370. package/dist/esm/UpdateThemeDemo.native.js.map +1 -1
  371. package/dist/esm/index.js +63 -61
  372. package/dist/esm/index.js.map +1 -6
  373. package/dist/esm/index.mjs +2 -0
  374. package/dist/esm/index.mjs.map +1 -1
  375. package/dist/esm/index.native.js +2 -0
  376. package/dist/esm/index.native.js.map +1 -1
  377. package/dist/esm/tamagui.config.native.js +2 -2
  378. package/dist/esm/tamagui.config.native.js.map +1 -1
  379. package/dist/esm/useOnIntersecting.mjs +30 -16
  380. package/dist/esm/useOnIntersecting.mjs.map +1 -1
  381. package/dist/esm/useOnIntersecting.native.js +70 -58
  382. package/dist/esm/useOnIntersecting.native.js.map +1 -1
  383. package/package.json +44 -50
  384. package/src/AccordionDemo.tsx +1 -1
  385. package/src/AnimationsDemo.tsx +1 -1
  386. package/src/AnimationsPresenceDemo.tsx +2 -2
  387. package/src/BoxShadowTokenDemo.tsx +35 -0
  388. package/src/BuildAButtonDemo.tsx +1 -1
  389. package/src/ButtonDemo.tsx +1 -1
  390. package/src/CheckboxDemo.tsx +1 -1
  391. package/src/CheckboxHeadlessDemo.tsx +1 -1
  392. package/src/CheckboxUnstyledDemo.tsx +1 -1
  393. package/src/ContextMenuDemo.tsx +3 -3
  394. package/src/DialogDemo.tsx +1 -1
  395. package/src/GroupDemo.tsx +1 -1
  396. package/src/ListItemDemo.tsx +27 -6
  397. package/src/LucideIconsDemo.tsx +1 -1
  398. package/src/MenuDemo.tsx +126 -133
  399. package/src/PopoverDemo.tsx +6 -1
  400. package/src/ProgressDemo.tsx +1 -1
  401. package/src/SelectDemo.tsx +3 -3
  402. package/src/SheetDemo.tsx +1 -1
  403. package/src/TabsAdvancedDemo.tsx +13 -11
  404. package/src/ToastDemo.tsx +208 -93
  405. package/src/ToastDuplicateDemo.tsx +39 -29
  406. package/src/ToastV1Demo.tsx +121 -0
  407. package/src/ToggleGroupDemo.tsx +1 -1
  408. package/src/TooltipDemo.tsx +2 -1
  409. package/src/index.tsx +2 -0
  410. package/dist/cjs/AccordionDemo.js +0 -77
  411. package/dist/cjs/AccordionDemo.js.map +0 -6
  412. package/dist/cjs/AddThemeDemo.js +0 -56
  413. package/dist/cjs/AddThemeDemo.js.map +0 -6
  414. package/dist/cjs/AlertDialogDemo.js +0 -68
  415. package/dist/cjs/AlertDialogDemo.js.map +0 -6
  416. package/dist/cjs/AnimationsDelayDemo.js +0 -56
  417. package/dist/cjs/AnimationsDelayDemo.js.map +0 -6
  418. package/dist/cjs/AnimationsDemo.js +0 -99
  419. package/dist/cjs/AnimationsDemo.js.map +0 -6
  420. package/dist/cjs/AnimationsEnterDemo.js +0 -55
  421. package/dist/cjs/AnimationsEnterDemo.js.map +0 -6
  422. package/dist/cjs/AnimationsHoverDemo.js +0 -41
  423. package/dist/cjs/AnimationsHoverDemo.js.map +0 -6
  424. package/dist/cjs/AnimationsPresenceDemo.js +0 -102
  425. package/dist/cjs/AnimationsPresenceDemo.js.map +0 -6
  426. package/dist/cjs/AnimationsTimingDemo.js +0 -40
  427. package/dist/cjs/AnimationsTimingDemo.js.map +0 -6
  428. package/dist/cjs/AvatarDemo.js +0 -45
  429. package/dist/cjs/AvatarDemo.js.map +0 -6
  430. package/dist/cjs/BuildAButtonDemo.js +0 -65
  431. package/dist/cjs/BuildAButtonDemo.js.map +0 -6
  432. package/dist/cjs/ButtonDemo.js +0 -42
  433. package/dist/cjs/ButtonDemo.js.map +0 -6
  434. package/dist/cjs/CardDemo.js +0 -60
  435. package/dist/cjs/CardDemo.js.map +0 -6
  436. package/dist/cjs/CheckboxDemo.js +0 -41
  437. package/dist/cjs/CheckboxDemo.js.map +0 -6
  438. package/dist/cjs/CheckboxHeadlessDemo.js +0 -62
  439. package/dist/cjs/CheckboxHeadlessDemo.js.map +0 -6
  440. package/dist/cjs/CheckboxUnstyledDemo.js +0 -52
  441. package/dist/cjs/CheckboxUnstyledDemo.js.map +0 -6
  442. package/dist/cjs/ColorsDemo.js +0 -107
  443. package/dist/cjs/ColorsDemo.js.map +0 -6
  444. package/dist/cjs/ContextMenuDemo.js +0 -200
  445. package/dist/cjs/ContextMenuDemo.js.map +0 -6
  446. package/dist/cjs/DialogDemo.js +0 -149
  447. package/dist/cjs/DialogDemo.js.map +0 -6
  448. package/dist/cjs/FormsDemo.js +0 -66
  449. package/dist/cjs/FormsDemo.js.map +0 -6
  450. package/dist/cjs/Grid.js +0 -46
  451. package/dist/cjs/Grid.js.map +0 -6
  452. package/dist/cjs/GroupDemo.js +0 -49
  453. package/dist/cjs/GroupDemo.js.map +0 -6
  454. package/dist/cjs/HeadingsDemo.js +0 -31
  455. package/dist/cjs/HeadingsDemo.js.map +0 -6
  456. package/dist/cjs/ImageDemo.js +0 -35
  457. package/dist/cjs/ImageDemo.js.map +0 -6
  458. package/dist/cjs/InputsDemo.js +0 -43
  459. package/dist/cjs/InputsDemo.js.map +0 -6
  460. package/dist/cjs/LabelDemo.js +0 -42
  461. package/dist/cjs/LabelDemo.js.map +0 -6
  462. package/dist/cjs/LinearGradientDemo.js +0 -47
  463. package/dist/cjs/LinearGradientDemo.js.map +0 -6
  464. package/dist/cjs/ListItemDemo.js +0 -72
  465. package/dist/cjs/ListItemDemo.js.map +0 -6
  466. package/dist/cjs/LucideIconsDemo.js +0 -63
  467. package/dist/cjs/LucideIconsDemo.js.map +0 -6
  468. package/dist/cjs/MenuDemo.js +0 -187
  469. package/dist/cjs/MenuDemo.js.map +0 -6
  470. package/dist/cjs/NewInputsDemo.js +0 -43
  471. package/dist/cjs/NewInputsDemo.js.map +0 -6
  472. package/dist/cjs/PopoverDemo.js +0 -127
  473. package/dist/cjs/PopoverDemo.js.map +0 -6
  474. package/dist/cjs/ProgressDemo.js +0 -85
  475. package/dist/cjs/ProgressDemo.js.map +0 -6
  476. package/dist/cjs/RadioGroupDemo.js +0 -36
  477. package/dist/cjs/RadioGroupDemo.js.map +0 -6
  478. package/dist/cjs/RadioGroupHeadlessDemo.js +0 -117
  479. package/dist/cjs/RadioGroupHeadlessDemo.js.map +0 -6
  480. package/dist/cjs/RadioGroupUnstyledDemo.js +0 -106
  481. package/dist/cjs/RadioGroupUnstyledDemo.js.map +0 -6
  482. package/dist/cjs/ReplaceThemeDemo.js +0 -58
  483. package/dist/cjs/ReplaceThemeDemo.js.map +0 -6
  484. package/dist/cjs/ScrollViewDemo.js +0 -33
  485. package/dist/cjs/ScrollViewDemo.js.map +0 -6
  486. package/dist/cjs/SelectDemo.js +0 -200
  487. package/dist/cjs/SelectDemo.js.map +0 -6
  488. package/dist/cjs/SeparatorDemo.js +0 -35
  489. package/dist/cjs/SeparatorDemo.js.map +0 -6
  490. package/dist/cjs/ShapesDemo.js +0 -27
  491. package/dist/cjs/ShapesDemo.js.map +0 -6
  492. package/dist/cjs/SheetDemo.js +0 -123
  493. package/dist/cjs/SheetDemo.js.map +0 -6
  494. package/dist/cjs/SliderDemo.js +0 -34
  495. package/dist/cjs/SliderDemo.js.map +0 -6
  496. package/dist/cjs/SpinnerDemo.js +0 -27
  497. package/dist/cjs/SpinnerDemo.js.map +0 -6
  498. package/dist/cjs/StacksDemo.js +0 -86
  499. package/dist/cjs/StacksDemo.js.map +0 -6
  500. package/dist/cjs/SwitchDemo.js +0 -58
  501. package/dist/cjs/SwitchDemo.js.map +0 -6
  502. package/dist/cjs/SwitchHeadlessDemo.js +0 -88
  503. package/dist/cjs/SwitchHeadlessDemo.js.map +0 -6
  504. package/dist/cjs/SwitchUnstyledDemo.js +0 -64
  505. package/dist/cjs/SwitchUnstyledDemo.js.map +0 -6
  506. package/dist/cjs/TabsAdvancedDemo.js +0 -288
  507. package/dist/cjs/TabsAdvancedDemo.js.map +0 -6
  508. package/dist/cjs/TabsDemo.js +0 -158
  509. package/dist/cjs/TabsDemo.js.map +0 -6
  510. package/dist/cjs/TabsHeadlessDemo.js +0 -121
  511. package/dist/cjs/TabsHeadlessDemo.js.map +0 -6
  512. package/dist/cjs/TextDemo.js +0 -34
  513. package/dist/cjs/TextDemo.js.map +0 -6
  514. package/dist/cjs/ThemeBuilderDemo.js +0 -167
  515. package/dist/cjs/ThemeBuilderDemo.js.map +0 -6
  516. package/dist/cjs/ThemeInverseDemo.js +0 -45
  517. package/dist/cjs/ThemeInverseDemo.js.map +0 -6
  518. package/dist/cjs/ToastDemo.js +0 -118
  519. package/dist/cjs/ToastDemo.js.map +0 -6
  520. package/dist/cjs/ToastDuplicateDemo.js +0 -64
  521. package/dist/cjs/ToastDuplicateDemo.js.map +0 -6
  522. package/dist/cjs/ToggleGroupDemo.js +0 -89
  523. package/dist/cjs/ToggleGroupDemo.js.map +0 -6
  524. package/dist/cjs/TokensDemo.js +0 -99
  525. package/dist/cjs/TokensDemo.js.map +0 -6
  526. package/dist/cjs/TooltipDemo.js +0 -69
  527. package/dist/cjs/TooltipDemo.js.map +0 -6
  528. package/dist/cjs/UpdateThemeDemo.js +0 -61
  529. package/dist/cjs/UpdateThemeDemo.js.map +0 -6
  530. package/dist/cjs/WebNativeImageDemo.js +0 -24
  531. package/dist/cjs/WebNativeImageDemo.js.map +0 -6
  532. package/dist/cjs/index.js +0 -75
  533. package/dist/cjs/index.js.map +0 -6
  534. package/dist/cjs/tamagui.config.js +0 -23
  535. package/dist/cjs/tamagui.config.js.map +0 -6
  536. package/dist/cjs/useOnIntersecting.js +0 -65
  537. package/dist/cjs/useOnIntersecting.js.map +0 -6
  538. package/dist/esm/AccordionDemo.js +0 -63
  539. package/dist/esm/AccordionDemo.js.map +0 -6
  540. package/dist/esm/AddThemeDemo.js +0 -35
  541. package/dist/esm/AddThemeDemo.js.map +0 -6
  542. package/dist/esm/AlertDialogDemo.js +0 -53
  543. package/dist/esm/AlertDialogDemo.js.map +0 -6
  544. package/dist/esm/AnimationsDelayDemo.js +0 -35
  545. package/dist/esm/AnimationsDelayDemo.js.map +0 -6
  546. package/dist/esm/AnimationsDemo.js +0 -86
  547. package/dist/esm/AnimationsDemo.js.map +0 -6
  548. package/dist/esm/AnimationsEnterDemo.js +0 -35
  549. package/dist/esm/AnimationsEnterDemo.js.map +0 -6
  550. package/dist/esm/AnimationsHoverDemo.js +0 -27
  551. package/dist/esm/AnimationsHoverDemo.js.map +0 -6
  552. package/dist/esm/AnimationsPresenceDemo.js +0 -85
  553. package/dist/esm/AnimationsPresenceDemo.js.map +0 -6
  554. package/dist/esm/AnimationsTimingDemo.js +0 -26
  555. package/dist/esm/AnimationsTimingDemo.js.map +0 -6
  556. package/dist/esm/AvatarDemo.js +0 -30
  557. package/dist/esm/AvatarDemo.js.map +0 -6
  558. package/dist/esm/BuildAButtonDemo.js +0 -51
  559. package/dist/esm/BuildAButtonDemo.js.map +0 -6
  560. package/dist/esm/ButtonDemo.js +0 -29
  561. package/dist/esm/ButtonDemo.js.map +0 -6
  562. package/dist/esm/CardDemo.js +0 -45
  563. package/dist/esm/CardDemo.js.map +0 -6
  564. package/dist/esm/CheckboxDemo.js +0 -27
  565. package/dist/esm/CheckboxDemo.js.map +0 -6
  566. package/dist/esm/CheckboxHeadlessDemo.js +0 -43
  567. package/dist/esm/CheckboxHeadlessDemo.js.map +0 -6
  568. package/dist/esm/CheckboxUnstyledDemo.js +0 -40
  569. package/dist/esm/CheckboxUnstyledDemo.js.map +0 -6
  570. package/dist/esm/ColorsDemo.js +0 -104
  571. package/dist/esm/ColorsDemo.js.map +0 -6
  572. package/dist/esm/ContextMenuDemo.js +0 -180
  573. package/dist/esm/ContextMenuDemo.js.map +0 -6
  574. package/dist/esm/DialogDemo.js +0 -152
  575. package/dist/esm/DialogDemo.js.map +0 -6
  576. package/dist/esm/FormsDemo.js +0 -50
  577. package/dist/esm/FormsDemo.js.map +0 -6
  578. package/dist/esm/Grid.js +0 -25
  579. package/dist/esm/Grid.js.map +0 -6
  580. package/dist/esm/GroupDemo.js +0 -35
  581. package/dist/esm/GroupDemo.js.map +0 -6
  582. package/dist/esm/HeadingsDemo.js +0 -16
  583. package/dist/esm/HeadingsDemo.js.map +0 -6
  584. package/dist/esm/ImageDemo.js +0 -20
  585. package/dist/esm/ImageDemo.js.map +0 -6
  586. package/dist/esm/InputsDemo.js +0 -28
  587. package/dist/esm/InputsDemo.js.map +0 -6
  588. package/dist/esm/LabelDemo.js +0 -27
  589. package/dist/esm/LabelDemo.js.map +0 -6
  590. package/dist/esm/LinearGradientDemo.js +0 -33
  591. package/dist/esm/LinearGradientDemo.js.map +0 -6
  592. package/dist/esm/ListItemDemo.js +0 -58
  593. package/dist/esm/ListItemDemo.js.map +0 -6
  594. package/dist/esm/LucideIconsDemo.js +0 -44
  595. package/dist/esm/LucideIconsDemo.js.map +0 -6
  596. package/dist/esm/MenuDemo.js +0 -175
  597. package/dist/esm/MenuDemo.js.map +0 -6
  598. package/dist/esm/NewInputsDemo.js +0 -29
  599. package/dist/esm/NewInputsDemo.js.map +0 -6
  600. package/dist/esm/PopoverDemo.js +0 -124
  601. package/dist/esm/PopoverDemo.js.map +0 -6
  602. package/dist/esm/ProgressDemo.js +0 -64
  603. package/dist/esm/ProgressDemo.js.map +0 -6
  604. package/dist/esm/RadioGroupDemo.js +0 -21
  605. package/dist/esm/RadioGroupDemo.js.map +0 -6
  606. package/dist/esm/RadioGroupHeadlessDemo.js +0 -102
  607. package/dist/esm/RadioGroupHeadlessDemo.js.map +0 -6
  608. package/dist/esm/RadioGroupUnstyledDemo.js +0 -92
  609. package/dist/esm/RadioGroupUnstyledDemo.js.map +0 -6
  610. package/dist/esm/ReplaceThemeDemo.js +0 -45
  611. package/dist/esm/ReplaceThemeDemo.js.map +0 -6
  612. package/dist/esm/ScrollViewDemo.js +0 -18
  613. package/dist/esm/ScrollViewDemo.js.map +0 -6
  614. package/dist/esm/SelectDemo.js +0 -180
  615. package/dist/esm/SelectDemo.js.map +0 -6
  616. package/dist/esm/SeparatorDemo.js +0 -20
  617. package/dist/esm/SeparatorDemo.js.map +0 -6
  618. package/dist/esm/ShapesDemo.js +0 -12
  619. package/dist/esm/ShapesDemo.js.map +0 -6
  620. package/dist/esm/SheetDemo.js +0 -103
  621. package/dist/esm/SheetDemo.js.map +0 -6
  622. package/dist/esm/SliderDemo.js +0 -19
  623. package/dist/esm/SliderDemo.js.map +0 -6
  624. package/dist/esm/SpinnerDemo.js +0 -12
  625. package/dist/esm/SpinnerDemo.js.map +0 -6
  626. package/dist/esm/StacksDemo.js +0 -71
  627. package/dist/esm/StacksDemo.js.map +0 -6
  628. package/dist/esm/SwitchDemo.js +0 -43
  629. package/dist/esm/SwitchDemo.js.map +0 -6
  630. package/dist/esm/SwitchHeadlessDemo.js +0 -68
  631. package/dist/esm/SwitchHeadlessDemo.js.map +0 -6
  632. package/dist/esm/SwitchUnstyledDemo.js +0 -51
  633. package/dist/esm/SwitchUnstyledDemo.js.map +0 -6
  634. package/dist/esm/TabsAdvancedDemo.js +0 -275
  635. package/dist/esm/TabsAdvancedDemo.js.map +0 -6
  636. package/dist/esm/TabsDemo.js +0 -146
  637. package/dist/esm/TabsDemo.js.map +0 -6
  638. package/dist/esm/TabsHeadlessDemo.js +0 -117
  639. package/dist/esm/TabsHeadlessDemo.js.map +0 -6
  640. package/dist/esm/TextDemo.js +0 -19
  641. package/dist/esm/TextDemo.js.map +0 -6
  642. package/dist/esm/ThemeBuilderDemo.js +0 -152
  643. package/dist/esm/ThemeBuilderDemo.js.map +0 -6
  644. package/dist/esm/ThemeInverseDemo.js +0 -30
  645. package/dist/esm/ThemeInverseDemo.js.map +0 -6
  646. package/dist/esm/ToastDemo.js +0 -97
  647. package/dist/esm/ToastDemo.js.map +0 -6
  648. package/dist/esm/ToastDuplicateDemo.js +0 -44
  649. package/dist/esm/ToastDuplicateDemo.js.map +0 -6
  650. package/dist/esm/ToggleGroupDemo.js +0 -75
  651. package/dist/esm/ToggleGroupDemo.js.map +0 -6
  652. package/dist/esm/TokensDemo.js +0 -78
  653. package/dist/esm/TokensDemo.js.map +0 -6
  654. package/dist/esm/TooltipDemo.js +0 -61
  655. package/dist/esm/TooltipDemo.js.map +0 -6
  656. package/dist/esm/UpdateThemeDemo.js +0 -49
  657. package/dist/esm/UpdateThemeDemo.js.map +0 -6
  658. package/dist/esm/WebNativeImageDemo.js +0 -9
  659. package/dist/esm/WebNativeImageDemo.js.map +0 -6
  660. package/dist/esm/tamagui.config.js +0 -8
  661. package/dist/esm/tamagui.config.js.map +0 -6
  662. package/dist/esm/useOnIntersecting.js +0 -50
  663. package/dist/esm/useOnIntersecting.js.map +0 -6
package/src/ToastDemo.tsx CHANGED
@@ -1,121 +1,236 @@
1
- import { Toast, useToastController, useToastState } from '@tamagui/toast'
2
- import React from 'react'
3
- import { Button, Label, Switch, XStack, YStack } from 'tamagui'
1
+ import { isWeb } from 'tamagui'
2
+ import {
3
+ Toast,
4
+ toast,
5
+ useToastItem,
6
+ type ToastPosition,
7
+ type ToastT,
8
+ } from '@tamagui/toast/v2'
9
+ import {
10
+ ArrowDown,
11
+ ArrowDownLeft,
12
+ ArrowDownRight,
13
+ ArrowUp,
14
+ ArrowUpLeft,
15
+ ArrowUpRight,
16
+ } from '@tamagui/lucide-icons-2'
17
+ import { useRef, useState } from 'react'
18
+ import { Button, Label, SizableText, Slider, XStack, YStack } from 'tamagui'
4
19
 
5
- /**
6
- * IMPORTANT NOTE: if you're copy-pasting this demo into your code, make sure to add:
7
- * - <ToastProvider> at the root
8
- * - <ToastViewport /> where you want to show the toasts
9
- */
10
20
  export const ToastDemo = () => {
11
- const [native, setNative] = React.useState(false)
21
+ const [position, setPosition] = useState<ToastPosition>('bottom-right')
22
+ const [gap, setGap] = useState(14)
23
+ const [visibleToasts, setVisibleToasts] = useState(4)
24
+ const [duration, setDuration] = useState(4000)
25
+ const count = useRef(0)
26
+
27
+ const showToast = (newPosition: ToastPosition) => {
28
+ setPosition(newPosition)
29
+ count.current++
30
+ toast(`Toast #${count.current}`, {
31
+ description: 'Swipe to dismiss or wait for auto-close.',
32
+ })
33
+ }
12
34
 
13
35
  return (
14
- <YStack gap="$4" items="center">
15
- <ToastControl native={native} />
16
- <CurrentToast />
36
+ <Toast
37
+ position={position}
38
+ gap={Math.round(gap)}
39
+ visibleToasts={visibleToasts}
40
+ duration={duration}
41
+ >
42
+ <Toast.Viewport offset={16}>
43
+ <Toast.List
44
+ renderItem={({ toast: t, index }) => (
45
+ <Toast.Item key={t.id} toast={t} index={index} testID="toast-item">
46
+ <ToastContent toast={t} />
47
+ </Toast.Item>
48
+ )}
49
+ />
50
+ </Toast.Viewport>
51
+
52
+ <YStack gap="$3" self="center" width={280}>
53
+ {/* Position buttons */}
54
+ <YStack gap="$2" self="center">
55
+ <XStack gap="$2">
56
+ <PositionButton
57
+ position="top-left"
58
+ current={position}
59
+ onPress={showToast}
60
+ Icon={ArrowUpLeft}
61
+ />
62
+ <PositionButton
63
+ position="top-center"
64
+ current={position}
65
+ onPress={showToast}
66
+ Icon={ArrowUp}
67
+ />
68
+ <PositionButton
69
+ position="top-right"
70
+ current={position}
71
+ onPress={showToast}
72
+ Icon={ArrowUpRight}
73
+ testID="toast-top-right-button"
74
+ />
75
+ </XStack>
76
+ <XStack gap="$2">
77
+ <PositionButton
78
+ position="bottom-left"
79
+ current={position}
80
+ onPress={showToast}
81
+ Icon={ArrowDownLeft}
82
+ />
83
+ <PositionButton
84
+ position="bottom-center"
85
+ current={position}
86
+ onPress={showToast}
87
+ Icon={ArrowDown}
88
+ />
89
+ <PositionButton
90
+ position="bottom-right"
91
+ current={position}
92
+ onPress={showToast}
93
+ Icon={ArrowDownRight}
94
+ testID="toast-show-button"
95
+ />
96
+ </XStack>
97
+ </YStack>
17
98
 
18
- <NativeOptions native={native} setNative={setNative} />
19
- </YStack>
99
+ {/* Controls */}
100
+ <YStack gap="$1" paddingTop="$1">
101
+ <DemoSlider
102
+ label="Gap"
103
+ value={gap}
104
+ min={0}
105
+ max={30}
106
+ step={0.1}
107
+ onChange={setGap}
108
+ />
109
+ <DemoSlider
110
+ label="Visible"
111
+ value={visibleToasts}
112
+ min={1}
113
+ max={8}
114
+ step={1}
115
+ onChange={setVisibleToasts}
116
+ />
117
+ <DemoSlider
118
+ label="Duration"
119
+ value={duration}
120
+ min={1000}
121
+ max={10000}
122
+ step={100}
123
+ onChange={setDuration}
124
+ format={(v) => `${(v / 1000).toFixed(1)}s`}
125
+ />
126
+ </YStack>
127
+ </YStack>
128
+ </Toast>
20
129
  )
21
130
  }
22
131
 
23
- const CurrentToast = () => {
24
- const currentToast = useToastState()
132
+ function ToastContent({ toast: t }: { toast: ToastT }) {
133
+ const { handleClose } = useToastItem()
25
134
 
26
- if (!currentToast || currentToast.isHandledNatively) return null
135
+ const title = typeof t.title === 'function' ? t.title() : t.title
136
+ const description =
137
+ typeof t.description === 'function' ? t.description() : t.description
27
138
 
28
139
  return (
29
- <Toast
30
- key={currentToast.id}
31
- duration={currentToast.duration}
32
- viewportName={currentToast.viewportName}
33
- enterStyle={{ opacity: 0, scale: 0.95, y: -80 }}
34
- exitStyle={{ opacity: 0, scale: 0.95, y: -80 }}
35
- opacity={1}
36
- scale={1}
37
- y={-50}
38
- transition="quicker"
39
- bg="$color2"
40
- boxShadow="0px 2px 4px rgba(0,0,0,0.12), 0px 8px 24px rgba(0,0,0,0.08)"
41
- >
42
- <XStack gap="$5" items="center" justify="space-between">
43
- <YStack gap="$0.5" flex={1}>
44
- <Toast.Title>{currentToast.title}</Toast.Title>
45
- {!!currentToast.message && (
46
- <Toast.Description>{currentToast.message}</Toast.Description>
140
+ <>
141
+ <XStack gap="$3" alignItems="flex-start">
142
+ <Toast.Icon />
143
+ <YStack flex={1} gap="$0.5">
144
+ {title && (
145
+ <Toast.Title fontWeight="600" size="$3">
146
+ {title}
147
+ </Toast.Title>
148
+ )}
149
+ {description && (
150
+ <Toast.Description color="$color9" size="$2">
151
+ {description}
152
+ </Toast.Description>
47
153
  )}
48
154
  </YStack>
49
- <Toast.Action asChild altText="Dismiss toast">
50
- <Button size="$2">Dismiss</Button>
51
- </Toast.Action>
52
155
  </XStack>
53
- </Toast>
156
+
157
+ {isWeb && (
158
+ <Toast.Close
159
+ testID="toast-close-button"
160
+ position="absolute"
161
+ top={-6}
162
+ left={-6}
163
+ zIndex={1}
164
+ />
165
+ )}
166
+ </>
54
167
  )
55
168
  }
56
169
 
57
- const ToastControl = ({ native }: { native: boolean }) => {
58
- const toast = useToastController()
59
-
170
+ function DemoSlider({
171
+ label,
172
+ value,
173
+ min,
174
+ max,
175
+ step,
176
+ onChange,
177
+ format,
178
+ }: {
179
+ label: string
180
+ value: number
181
+ min: number
182
+ max: number
183
+ step?: number
184
+ onChange: (v: number) => void
185
+ format?: (v: number) => string
186
+ }) {
60
187
  return (
61
- <XStack gap="$2" justify="center">
62
- <Button
63
- onPress={() => {
64
- toast.show('Successfully saved!', {
65
- message: "Don't worry, we've got your data.",
66
- native,
67
- demo: true,
68
- })
69
- }}
70
- >
71
- Show
72
- </Button>
73
- <Button
74
- onPress={() => {
75
- toast.hide()
76
- }}
188
+ <XStack gap="$2" alignItems="center">
189
+ <Label size="$2" width={55}>
190
+ {label}
191
+ </Label>
192
+ <Slider
193
+ flex={1}
194
+ value={[value]}
195
+ min={min}
196
+ max={max}
197
+ step={step}
198
+ onValueChange={([v]) => onChange(v)}
77
199
  >
78
- Hide
79
- </Button>
200
+ <Slider.Track>
201
+ <Slider.TrackActive />
202
+ </Slider.Track>
203
+ <Slider.Thumb theme="accent" size={16} borderRadius={100} index={0} />
204
+ </Slider>
205
+ <SizableText userSelect="none" size="$2" width={35} textAlign="right">
206
+ {format ? format(value) : Math.round(value)}
207
+ </SizableText>
80
208
  </XStack>
81
209
  )
82
210
  }
83
211
 
84
- const NativeOptions = ({
85
- native,
86
- setNative,
212
+ const PositionButton = ({
213
+ position,
214
+ current,
215
+ onPress,
216
+ Icon,
217
+ testID,
87
218
  }: {
88
- native: boolean
89
- setNative: (native: boolean) => void
219
+ position: ToastPosition
220
+ current: ToastPosition
221
+ onPress: (p: ToastPosition) => void
222
+ Icon: any
223
+ testID?: string
90
224
  }) => {
91
- return (
92
- <XStack gap="$3">
93
- <Label size="$1" onPress={() => setNative(false)}>
94
- Custom
95
- </Label>
96
- <Switch
97
- theme="surface2"
98
- id="native-toggle"
99
- size="$1"
100
- checked={!!native}
101
- onCheckedChange={(val) => setNative(val)}
102
- >
103
- <Switch.Thumb
104
- theme="accent"
105
- transition={[
106
- 'quickest',
107
- {
108
- transform: {
109
- overshootClamping: true,
110
- },
111
- },
112
- ]}
113
- />
114
- </Switch>
225
+ const isActive = position === current
115
226
 
116
- <Label size="$1" onPress={() => setNative(true)}>
117
- Native
118
- </Label>
119
- </XStack>
227
+ return (
228
+ <Button
229
+ icon={Icon}
230
+ circular
231
+ theme={isActive ? 'accent' : undefined}
232
+ onPress={() => onPress(position)}
233
+ testID={testID}
234
+ />
120
235
  )
121
236
  }
@@ -1,47 +1,57 @@
1
- import { CheckCircle2 } from '@tamagui/lucide-icons'
2
- import { Toast } from '@tamagui/toast'
3
- import React from 'react'
1
+ import { CheckCircle2 } from '@tamagui/lucide-icons-2'
2
+ import { Toast, toast, useToasts } from '@tamagui/toast/v2'
4
3
  import { Button, XStack, YStack } from 'tamagui'
5
4
 
6
5
  /**
7
- * IMPORTANT NOTE: if you're copy-pasting this demo into your code, make sure to add the ToastProvider and ToastViewport as well.
6
+ * IMPORTANT NOTE: if you're copy-pasting this demo into your code, make sure to add the Toast wrapper as well.
8
7
  */
9
8
  export const ToastDuplicateDemo = () => {
10
- const [savedCount, setSavedCount] = React.useState(0)
11
-
12
9
  return (
13
- <YStack items="center">
14
- <Button
15
- onPress={() => {
16
- setSavedCount((old) => old + 1)
17
- }}
18
- >
19
- Show toast
20
- </Button>
21
- {[...Array(savedCount)].map((_, index) => (
22
- <Toast
23
- viewportName="viewport-multiple" // Sends to a viewport that supports multiple toasts with the `multipleToasts` prop
24
- key={index}
25
- duration={4000}
26
- enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}
27
- exitStyle={{ opacity: 0, scale: 1, y: -20 }}
28
- y={0}
29
- opacity={1}
30
- scale={1}
31
- transition="100ms"
10
+ <Toast>
11
+ <Toast.Viewport>
12
+ <ToastList />
13
+ </Toast.Viewport>
14
+
15
+ <YStack items="center">
16
+ <Button
17
+ onPress={() => {
18
+ toast('Successfully saved!', {
19
+ description: "Don't worry... We've got your data.",
20
+ })
21
+ }}
32
22
  >
23
+ Show toast
24
+ </Button>
25
+ </YStack>
26
+ </Toast>
27
+ )
28
+ }
29
+
30
+ const ToastList = () => {
31
+ const { toasts } = useToasts()
32
+
33
+ return (
34
+ <>
35
+ {toasts.map((t, index) => (
36
+ <Toast.Item key={t.id} toast={t} index={index}>
33
37
  <XStack gap="$4" items="center">
34
38
  <YStack>
35
39
  <CheckCircle2 />
36
40
  </YStack>
37
41
 
38
42
  <YStack>
39
- <Toast.Title>Successfully saved!</Toast.Title>
40
- <Toast.Description>Don't worry... We've got your data.</Toast.Description>
43
+ <Toast.Title>
44
+ {typeof t.title === 'function' ? t.title() : t.title}
45
+ </Toast.Title>
46
+ {t.description && (
47
+ <Toast.Description>
48
+ {typeof t.description === 'function' ? t.description() : t.description}
49
+ </Toast.Description>
50
+ )}
41
51
  </YStack>
42
52
  </XStack>
43
- </Toast>
53
+ </Toast.Item>
44
54
  ))}
45
- </YStack>
55
+ </>
46
56
  )
47
57
  }
@@ -0,0 +1,121 @@
1
+ import { Toast, useToastController, useToastState } from '@tamagui/toast'
2
+ import React from 'react'
3
+ import { Button, Label, Switch, XStack, YStack } from 'tamagui'
4
+
5
+ /**
6
+ * IMPORTANT NOTE: if you're copy-pasting this demo into your code, make sure to add:
7
+ * - <ToastProvider> at the root
8
+ * - <ToastViewport /> where you want to show the toasts
9
+ */
10
+ export const ToastV1Demo = () => {
11
+ const [native, setNative] = React.useState(false)
12
+
13
+ return (
14
+ <YStack gap="$4" items="center">
15
+ <ToastControl native={native} />
16
+ <CurrentToast />
17
+
18
+ <NativeOptions native={native} setNative={setNative} />
19
+ </YStack>
20
+ )
21
+ }
22
+
23
+ const CurrentToast = () => {
24
+ const currentToast = useToastState()
25
+
26
+ if (!currentToast || currentToast.isHandledNatively) return null
27
+
28
+ return (
29
+ <Toast
30
+ key={currentToast.id}
31
+ duration={currentToast.duration}
32
+ viewportName={currentToast.viewportName}
33
+ enterStyle={{ opacity: 0, scale: 0.95, y: -80 }}
34
+ exitStyle={{ opacity: 0, scale: 0.95, y: -80 }}
35
+ opacity={1}
36
+ scale={1}
37
+ y={-50}
38
+ transition="quicker"
39
+ bg="$color2"
40
+ boxShadow="0px 2px 4px rgba(0,0,0,0.12), 0px 8px 24px rgba(0,0,0,0.08)"
41
+ >
42
+ <XStack gap="$5" items="center" justify="space-between">
43
+ <YStack gap="$0.5" flex={1}>
44
+ <Toast.Title>{currentToast.title}</Toast.Title>
45
+ {!!currentToast.message && (
46
+ <Toast.Description>{currentToast.message}</Toast.Description>
47
+ )}
48
+ </YStack>
49
+ <Toast.Action asChild altText="Dismiss toast">
50
+ <Button size="$2">Dismiss</Button>
51
+ </Toast.Action>
52
+ </XStack>
53
+ </Toast>
54
+ )
55
+ }
56
+
57
+ const ToastControl = ({ native }: { native: boolean }) => {
58
+ const toast = useToastController()
59
+
60
+ return (
61
+ <XStack gap="$2" justify="center">
62
+ <Button
63
+ onPress={() => {
64
+ toast.show('Successfully saved!', {
65
+ message: "Don't worry, we've got your data.",
66
+ native,
67
+ demo: true,
68
+ })
69
+ }}
70
+ >
71
+ Show
72
+ </Button>
73
+ <Button
74
+ onPress={() => {
75
+ toast.hide()
76
+ }}
77
+ >
78
+ Hide
79
+ </Button>
80
+ </XStack>
81
+ )
82
+ }
83
+
84
+ const NativeOptions = ({
85
+ native,
86
+ setNative,
87
+ }: {
88
+ native: boolean
89
+ setNative: (native: boolean) => void
90
+ }) => {
91
+ return (
92
+ <XStack gap="$3">
93
+ <Label size="$1" onPress={() => setNative(false)}>
94
+ Custom
95
+ </Label>
96
+ <Switch
97
+ theme="surface2"
98
+ id="native-toggle"
99
+ size="$1"
100
+ checked={!!native}
101
+ onCheckedChange={(val) => setNative(val)}
102
+ >
103
+ <Switch.Thumb
104
+ theme="accent"
105
+ transition={[
106
+ 'quickest',
107
+ {
108
+ transform: {
109
+ overshootClamping: true,
110
+ },
111
+ },
112
+ ]}
113
+ />
114
+ </Switch>
115
+
116
+ <Label size="$1" onPress={() => setNative(true)}>
117
+ Native
118
+ </Label>
119
+ </XStack>
120
+ )
121
+ }
@@ -1,4 +1,4 @@
1
- import { AlignCenter, AlignLeft, AlignRight } from '@tamagui/lucide-icons'
1
+ import { AlignCenter, AlignLeft, AlignRight } from '@tamagui/lucide-icons-2'
2
2
  import { Label, ToggleGroup, XGroup, YGroup, XStack, YStack } from 'tamagui'
3
3
 
4
4
  export function ToggleGroupDemo() {
@@ -4,7 +4,7 @@ import {
4
4
  ChevronRight,
5
5
  ChevronUp,
6
6
  Circle,
7
- } from '@tamagui/lucide-icons'
7
+ } from '@tamagui/lucide-icons-2'
8
8
  import type { TooltipProps } from 'tamagui'
9
9
  import { Button, Paragraph, Theme, Tooltip, TooltipGroup, XStack, YStack } from 'tamagui'
10
10
 
@@ -48,6 +48,7 @@ function Demo({ Icon, ...props }: TooltipProps & { Icon?: any }) {
48
48
  y={0}
49
49
  opacity={1}
50
50
  py="$2"
51
+ px="$3"
51
52
  transition={[
52
53
  'quick',
53
54
  {
package/src/index.tsx CHANGED
@@ -11,6 +11,7 @@ export * from './AnimationsHoverDemo'
11
11
  export * from './AnimationsPresenceDemo'
12
12
  export * from './AnimationsTimingDemo'
13
13
  export * from './AvatarDemo'
14
+ export * from './BoxShadowTokenDemo'
14
15
  export * from './BuildAButtonDemo'
15
16
  export * from './ButtonDemo'
16
17
  export * from './ThemeBuilderDemo'
@@ -56,6 +57,7 @@ export * from './TextDemo'
56
57
  export * from './ThemeInverseDemo'
57
58
  export * from './ToastDemo'
58
59
  export * from './ToastDuplicateDemo'
60
+ export * from './ToastV1Demo'
59
61
  export * from './ToggleGroupDemo'
60
62
  export * from './TokensDemo'
61
63
  export * from './TooltipDemo'
@@ -1,77 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: !0 });
8
- }, __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from == "object" || typeof from == "function")
10
- for (let key of __getOwnPropNames(from))
11
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
- var AccordionDemo_exports = {};
16
- __export(AccordionDemo_exports, {
17
- AccordionDemo: () => AccordionDemo
18
- });
19
- module.exports = __toCommonJS(AccordionDemo_exports);
20
- var import_lucide_icons = require("@tamagui/lucide-icons"), import_tamagui = require("tamagui"), import_jsx_runtime = require("react/jsx-runtime");
21
- function AccordionDemo() {
22
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.Accordion, { overflow: "hidden", width: "$20", type: "multiple", children: [
23
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.Accordion.Item, { value: "a1", mb: -1, children: [
24
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
25
- import_tamagui.Accordion.Trigger,
26
- {
27
- flexDirection: "row",
28
- justify: "space-between",
29
- borderWidth: 1,
30
- borderColor: "$borderColor",
31
- children: ({ open }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
32
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Paragraph, { children: "1. Take a cold shower" }),
33
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Square, { transparent: !0, transition: "quick", rotate: open ? "180deg" : "0deg", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_icons.ChevronDown, { size: "$1", color: "$color" }) })
34
- ] })
35
- }
36
- ),
37
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Accordion.HeightAnimator, { transition: "300ms", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
38
- import_tamagui.Accordion.Content,
39
- {
40
- transition: "300ms",
41
- exitStyle: { opacity: 0 },
42
- borderWidth: 1,
43
- borderTopWidth: 0,
44
- borderColor: "$borderColor",
45
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Paragraph, { children: "Cold showers can help reduce inflammation, relieve pain, improve circulation, lower stress levels, and reduce muscle soreness and fatigue." })
46
- }
47
- ) })
48
- ] }),
49
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.Accordion.Item, { value: "a2", children: [
50
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
51
- import_tamagui.Accordion.Trigger,
52
- {
53
- flexDirection: "row",
54
- justify: "space-between",
55
- borderWidth: 1,
56
- borderColor: "$borderColor",
57
- children: ({ open }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
58
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Paragraph, { children: "2. Eat 4 eggs" }),
59
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Square, { transparent: !0, transition: "quick", rotate: open ? "180deg" : "0deg", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_icons.ChevronDown, { size: "$1", color: "$color" }) })
60
- ] })
61
- }
62
- ),
63
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Accordion.HeightAnimator, { transition: "300ms", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
64
- import_tamagui.Accordion.Content,
65
- {
66
- transition: "300ms",
67
- exitStyle: { opacity: 0 },
68
- borderWidth: 1,
69
- borderTopWidth: 0,
70
- borderColor: "$borderColor",
71
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Paragraph, { children: "Eggs have been a dietary staple since time immemorial and there's good reason for their continued presence in our menus and meals." })
72
- }
73
- ) })
74
- ] })
75
- ] });
76
- }
77
- //# sourceMappingURL=AccordionDemo.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/AccordionDemo.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA4B,kCAC5B,iBAA6C,oBAcjC;AAZL,SAAS,gBAAgB;AAC9B,SACE,6CAAC,4BAAU,UAAS,UAAS,OAAM,OAAM,MAAK,YAE5C;AAAA,iDAAC,yBAAU,MAAV,EAAe,OAAM,MAAK,IAAI,IAC7B;AAAA;AAAA,QAAC,yBAAU;AAAA,QAAV;AAAA,UACC,eAAc;AAAA,UACd,SAAQ;AAAA,UACR,aAAa;AAAA,UACb,aAAY;AAAA,UAEX,WAAC,EAAE,KAAK,MACP,4EACE;AAAA,wDAAC,4BAAU,mCAAqB;AAAA,YAChC,4CAAC,yBAAO,aAAW,IAAC,YAAW,SAAQ,QAAQ,OAAO,WAAW,QAC/D,sDAAC,mCAAY,MAAK,MAAK,OAAM,UAAS,GACxC;AAAA,aACF;AAAA;AAAA,MAEJ;AAAA,MACA,4CAAC,yBAAU,gBAAV,EAAyB,YAAW,SACnC;AAAA,QAAC,yBAAU;AAAA,QAAV;AAAA,UACC,YAAW;AAAA,UACX,WAAW,EAAE,SAAS,EAAE;AAAA,UACxB,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,aAAY;AAAA,UAEZ,sDAAC,4BAAU,wJAGX;AAAA;AAAA,MACF,GACF;AAAA,OACF;AAAA,IAEA,6CAAC,yBAAU,MAAV,EAAe,OAAM,MACpB;AAAA;AAAA,QAAC,yBAAU;AAAA,QAAV;AAAA,UACC,eAAc;AAAA,UACd,SAAQ;AAAA,UACR,aAAa;AAAA,UACb,aAAY;AAAA,UAEX,WAAC,EAAE,KAAK,MACP,4EACE;AAAA,wDAAC,4BAAU,2BAAa;AAAA,YACxB,4CAAC,yBAAO,aAAW,IAAC,YAAW,SAAQ,QAAQ,OAAO,WAAW,QAC/D,sDAAC,mCAAY,MAAK,MAAK,OAAM,UAAS,GACxC;AAAA,aACF;AAAA;AAAA,MAEJ;AAAA,MACA,4CAAC,yBAAU,gBAAV,EAAyB,YAAW,SACnC;AAAA,QAAC,yBAAU;AAAA,QAAV;AAAA,UACC,YAAW;AAAA,UACX,WAAW,EAAE,SAAS,EAAE;AAAA,UACxB,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,aAAY;AAAA,UAEZ,sDAAC,4BAAU,gJAGX;AAAA;AAAA,MACF,GACF;AAAA,OACF;AAAA,KACF;AAEJ;",
5
- "names": []
6
- }