@dxos/react-ui 0.8.4-main.dedc0f3 → 0.8.4-main.e00bdcdb52

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 (469) hide show
  1. package/dist/lib/browser/chunk-BDBC6H6V.mjs +848 -0
  2. package/dist/lib/browser/chunk-BDBC6H6V.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +4101 -61
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +112 -60
  7. package/dist/lib/browser/testing/index.mjs.map +4 -4
  8. package/dist/lib/browser/translations.mjs +18 -0
  9. package/dist/lib/browser/translations.mjs.map +7 -0
  10. package/dist/lib/node-esm/chunk-3JSJK2ZY.mjs +850 -0
  11. package/dist/lib/node-esm/chunk-3JSJK2ZY.mjs.map +7 -0
  12. package/dist/lib/node-esm/index.mjs +4101 -61
  13. package/dist/lib/node-esm/index.mjs.map +4 -4
  14. package/dist/lib/node-esm/meta.json +1 -1
  15. package/dist/lib/node-esm/testing/index.mjs +112 -60
  16. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  17. package/dist/lib/node-esm/translations.mjs +20 -0
  18. package/dist/lib/node-esm/translations.mjs.map +7 -0
  19. package/dist/types/src/components/Avatars/Avatar.d.ts +1 -1
  20. package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
  21. package/dist/types/src/components/Avatars/Avatar.stories.d.ts +0 -6
  22. package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
  23. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts +0 -6
  24. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
  25. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  26. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts +0 -6
  27. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  28. package/dist/types/src/components/{Buttons → Button}/Button.d.ts +4 -4
  29. package/dist/types/src/components/Button/Button.d.ts.map +1 -0
  30. package/dist/types/src/components/{Buttons → Button}/Button.stories.d.ts +2 -8
  31. package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -0
  32. package/dist/types/src/components/{Buttons → Button}/IconButton.d.ts +3 -2
  33. package/dist/types/src/components/Button/IconButton.d.ts.map +1 -0
  34. package/dist/types/src/components/{Buttons → Button}/IconButton.stories.d.ts +1 -4
  35. package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -0
  36. package/dist/types/src/components/{Buttons → Button}/Toggle.d.ts +2 -2
  37. package/dist/types/src/components/Button/Toggle.d.ts.map +1 -0
  38. package/dist/types/src/components/Button/Toggle.stories.d.ts +16 -0
  39. package/dist/types/src/components/Button/Toggle.stories.d.ts.map +1 -0
  40. package/dist/types/src/components/Button/ToggleGroup.d.ts +27 -0
  41. package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -0
  42. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +27 -0
  43. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts.map +1 -0
  44. package/dist/types/src/components/Button/index.d.ts.map +1 -0
  45. package/dist/types/src/components/Card/Card.d.ts +127 -0
  46. package/dist/types/src/components/Card/Card.d.ts.map +1 -0
  47. package/dist/types/src/components/Card/Card.stories.d.ts +21 -0
  48. package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -0
  49. package/dist/types/src/components/Card/index.d.ts +2 -0
  50. package/dist/types/src/components/Card/index.d.ts.map +1 -0
  51. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +1 -1
  52. package/dist/types/src/components/Clipboard/CopyButton.d.ts +1 -1
  53. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
  54. package/dist/types/src/components/Clipboard/index.d.ts +10 -1
  55. package/dist/types/src/components/Clipboard/index.d.ts.map +1 -1
  56. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts +1 -1
  57. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
  58. package/dist/types/src/components/Dialog/AlertDialog.d.ts +51 -0
  59. package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -0
  60. package/dist/types/src/components/{Dialogs → Dialog}/AlertDialog.stories.d.ts +0 -6
  61. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -0
  62. package/dist/types/src/components/Dialog/Dialog.d.ts +64 -0
  63. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -0
  64. package/dist/types/src/components/Dialog/Dialog.stories.d.ts +25 -0
  65. package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -0
  66. package/dist/types/src/components/Dialog/index.d.ts.map +1 -0
  67. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts +1 -1
  68. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
  69. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts +11 -0
  70. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -0
  71. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts +7 -0
  72. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts.map +1 -0
  73. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts +19 -0
  74. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -0
  75. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts +9 -0
  76. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts.map +1 -0
  77. package/dist/types/src/components/ErrorFallback/index.d.ts +5 -0
  78. package/dist/types/src/components/ErrorFallback/index.d.ts.map +1 -0
  79. package/dist/types/src/components/Focus/Focus.d.ts +36 -0
  80. package/dist/types/src/components/Focus/Focus.d.ts.map +1 -0
  81. package/dist/types/src/components/Focus/Focus.stories.d.ts +9 -0
  82. package/dist/types/src/components/Focus/Focus.stories.d.ts.map +1 -0
  83. package/dist/types/src/components/Focus/index.d.ts +2 -0
  84. package/dist/types/src/components/Focus/index.d.ts.map +1 -0
  85. package/dist/types/src/components/Icon/Icon.d.ts +5 -2
  86. package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
  87. package/dist/types/src/components/Icon/Icon.stories.d.ts +25 -0
  88. package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -0
  89. package/dist/types/src/components/Image/Image.d.ts +15 -0
  90. package/dist/types/src/components/Image/Image.d.ts.map +1 -0
  91. package/dist/types/src/components/Image/Image.stories.d.ts +34 -0
  92. package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -0
  93. package/dist/types/src/components/Image/index.d.ts +2 -0
  94. package/dist/types/src/components/Image/index.d.ts.map +1 -0
  95. package/dist/types/src/components/Input/Input.d.ts +19 -24
  96. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  97. package/dist/types/src/components/Input/Input.stories.d.ts +8 -14
  98. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  99. package/dist/types/src/components/Link/Link.stories.d.ts +0 -6
  100. package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -1
  101. package/dist/types/src/components/{Lists → List}/List.d.ts +6 -4
  102. package/dist/types/src/components/List/List.d.ts.map +1 -0
  103. package/dist/types/src/components/{Lists → List}/List.stories.d.ts +3 -7
  104. package/dist/types/src/components/List/List.stories.d.ts.map +1 -0
  105. package/dist/types/src/components/List/ListDropIndicator.d.ts.map +1 -0
  106. package/dist/types/src/components/{Lists → List}/Tree.d.ts +2 -2
  107. package/dist/types/src/components/List/Tree.d.ts.map +1 -0
  108. package/dist/types/src/components/{Lists → List}/Tree.stories.d.ts +0 -6
  109. package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -0
  110. package/dist/types/src/components/List/TreeDropIndicator.d.ts.map +1 -0
  111. package/dist/types/src/components/{Lists → List}/Treegrid.d.ts +5 -9
  112. package/dist/types/src/components/List/Treegrid.d.ts.map +1 -0
  113. package/dist/types/src/components/List/Treegrid.stories.d.ts.map +1 -0
  114. package/dist/types/src/components/List/index.d.ts.map +1 -0
  115. package/dist/types/src/components/Main/Main.d.ts +24 -30
  116. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  117. package/dist/types/src/components/Main/Main.stories.d.ts +0 -4
  118. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  119. package/dist/types/src/components/Main/useSwipeToDismiss.d.ts.map +1 -1
  120. package/dist/types/src/components/{Menus → Menu}/ContextMenu.d.ts +6 -6
  121. package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -0
  122. package/dist/types/src/components/{Menus → Menu}/ContextMenu.stories.d.ts +0 -6
  123. package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -0
  124. package/dist/types/src/components/Menu/DropdownMenu.d.ts +121 -0
  125. package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
  126. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +28 -0
  127. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -0
  128. package/dist/types/src/components/Menu/index.d.ts.map +1 -0
  129. package/dist/types/src/components/Message/Message.d.ts +1 -1
  130. package/dist/types/src/components/Message/Message.d.ts.map +1 -1
  131. package/dist/types/src/components/Message/Message.stories.d.ts +5 -7
  132. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  133. package/dist/types/src/components/Popover/Popover.d.ts +41 -24
  134. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  135. package/dist/types/src/components/Popover/Popover.stories.d.ts +0 -6
  136. package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
  137. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +27 -27
  138. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  139. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +55 -12
  140. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  141. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +68 -0
  142. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -0
  143. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +23 -0
  144. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -0
  145. package/dist/types/src/components/ScrollContainer/index.d.ts +2 -0
  146. package/dist/types/src/components/ScrollContainer/index.d.ts.map +1 -0
  147. package/dist/types/src/components/Select/Select.d.ts +10 -10
  148. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  149. package/dist/types/src/components/Select/Select.stories.d.ts +2 -8
  150. package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
  151. package/dist/types/src/components/Separator/Separator.d.ts +4 -4
  152. package/dist/types/src/components/Separator/Separator.d.ts.map +1 -1
  153. package/dist/types/src/components/Skeleton/Skeleton.d.ts +12 -0
  154. package/dist/types/src/components/Skeleton/Skeleton.d.ts.map +1 -0
  155. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts +17 -0
  156. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -0
  157. package/dist/types/src/components/Skeleton/index.d.ts +2 -0
  158. package/dist/types/src/components/Skeleton/index.d.ts.map +1 -0
  159. package/dist/types/src/components/Splitter/Splitter.d.ts +34 -0
  160. package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -0
  161. package/dist/types/src/components/Splitter/Splitter.stories.d.ts +7 -0
  162. package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -0
  163. package/dist/types/src/components/Splitter/index.d.ts +2 -0
  164. package/dist/types/src/components/Splitter/index.d.ts.map +1 -0
  165. package/dist/types/src/components/Status/Status.d.ts +3 -4
  166. package/dist/types/src/components/Status/Status.d.ts.map +1 -1
  167. package/dist/types/src/components/Status/Status.stories.d.ts +4 -8
  168. package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
  169. package/dist/types/src/components/Tag/Tag.d.ts +1 -1
  170. package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
  171. package/dist/types/src/components/Tag/Tag.stories.d.ts +5 -10
  172. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
  173. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +3 -3
  174. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  175. package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts +12 -0
  176. package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -0
  177. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +55 -63
  178. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
  179. package/dist/types/src/components/ThemeProvider/index.d.ts +2 -1
  180. package/dist/types/src/components/ThemeProvider/index.d.ts.map +1 -1
  181. package/dist/types/src/components/Toast/Toast.d.ts +20 -20
  182. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  183. package/dist/types/src/components/Toast/Toast.stories.d.ts +0 -6
  184. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
  185. package/dist/types/src/components/Toolbar/Toolbar.d.ts +41 -23
  186. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  187. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +0 -6
  188. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  189. package/dist/types/src/components/Tooltip/Tooltip.d.ts +11 -13
  190. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  191. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +2 -8
  192. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  193. package/dist/types/src/components/index.d.ts +14 -8
  194. package/dist/types/src/components/index.d.ts.map +1 -1
  195. package/dist/types/src/exemplars/generics.stories.d.ts +19 -0
  196. package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
  197. package/dist/types/src/exemplars/slot.stories.d.ts +15 -0
  198. package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -0
  199. package/dist/types/src/exemplars/tabster.stories.d.ts +8 -0
  200. package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -0
  201. package/dist/types/src/exemplars/virtualizer.stories.d.ts +11 -0
  202. package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -0
  203. package/dist/types/src/hooks/index.d.ts +1 -0
  204. package/dist/types/src/hooks/index.d.ts.map +1 -1
  205. package/dist/types/src/hooks/useDensityContext.d.ts +2 -2
  206. package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
  207. package/dist/types/src/hooks/useElevationContext.d.ts +1 -1
  208. package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
  209. package/dist/types/src/hooks/useIconHref.d.ts.map +1 -1
  210. package/dist/types/src/hooks/useSafeArea.d.ts.map +1 -1
  211. package/dist/types/src/hooks/useSafeCollisionPadding.d.ts.map +1 -1
  212. package/dist/types/src/hooks/useVisualViewport.d.ts +2 -2
  213. package/dist/types/src/hooks/useVisualViewport.d.ts.map +1 -1
  214. package/dist/types/src/index.d.ts +2 -1
  215. package/dist/types/src/index.d.ts.map +1 -1
  216. package/dist/types/src/playground/Controls.stories.d.ts +0 -6
  217. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  218. package/dist/types/src/playground/Custom.stories.d.ts +2 -3
  219. package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
  220. package/dist/types/src/playground/Typography.stories.d.ts +0 -6
  221. package/dist/types/src/playground/Typography.stories.d.ts.map +1 -1
  222. package/dist/types/src/primitives/Column/Column.d.ts +33 -0
  223. package/dist/types/src/primitives/Column/Column.d.ts.map +1 -0
  224. package/dist/types/src/primitives/Column/Column.stories.d.ts +25 -0
  225. package/dist/types/src/primitives/Column/Column.stories.d.ts.map +1 -0
  226. package/dist/types/src/primitives/Column/index.d.ts +2 -0
  227. package/dist/types/src/primitives/Column/index.d.ts.map +1 -0
  228. package/dist/types/src/primitives/Container/Container.d.ts +7 -0
  229. package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
  230. package/dist/types/src/primitives/Container/Container.stories.d.ts +6 -0
  231. package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
  232. package/dist/types/src/primitives/Container/index.d.ts +2 -0
  233. package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
  234. package/dist/types/src/primitives/Flex/Flex.d.ts +11 -0
  235. package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
  236. package/dist/types/src/primitives/Flex/Flex.stories.d.ts +8 -0
  237. package/dist/types/src/primitives/Flex/Flex.stories.d.ts.map +1 -0
  238. package/dist/types/src/primitives/Flex/index.d.ts +2 -0
  239. package/dist/types/src/primitives/Flex/index.d.ts.map +1 -0
  240. package/dist/types/src/primitives/Grid/Grid.d.ts +10 -0
  241. package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -0
  242. package/dist/types/src/primitives/Grid/Grid.stories.d.ts +8 -0
  243. package/dist/types/src/primitives/Grid/Grid.stories.d.ts.map +1 -0
  244. package/dist/types/src/primitives/Grid/index.d.ts +2 -0
  245. package/dist/types/src/primitives/Grid/index.d.ts.map +1 -0
  246. package/dist/types/src/primitives/Panel/Panel.d.ts +35 -0
  247. package/dist/types/src/primitives/Panel/Panel.d.ts.map +1 -0
  248. package/dist/types/src/primitives/Panel/Panel.stories.d.ts +6 -0
  249. package/dist/types/src/primitives/Panel/Panel.stories.d.ts.map +1 -0
  250. package/dist/types/src/primitives/Panel/index.d.ts +2 -0
  251. package/dist/types/src/primitives/Panel/index.d.ts.map +1 -0
  252. package/dist/types/src/primitives/index.d.ts +6 -0
  253. package/dist/types/src/primitives/index.d.ts.map +1 -0
  254. package/dist/types/src/testing/Loading.d.ts +9 -0
  255. package/dist/types/src/testing/Loading.d.ts.map +1 -0
  256. package/dist/types/src/testing/decorators/index.d.ts +2 -1
  257. package/dist/types/src/testing/decorators/index.d.ts.map +1 -1
  258. package/dist/types/src/testing/decorators/withLayout.d.ts +15 -0
  259. package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -0
  260. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts +12 -0
  261. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -0
  262. package/dist/types/src/testing/decorators/withTheme.d.ts +5 -1
  263. package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
  264. package/dist/types/src/testing/index.d.ts +1 -0
  265. package/dist/types/src/testing/index.d.ts.map +1 -1
  266. package/dist/types/src/translations.d.ts +11 -0
  267. package/dist/types/src/translations.d.ts.map +1 -0
  268. package/dist/types/src/util/index.d.ts +2 -1
  269. package/dist/types/src/util/index.d.ts.map +1 -1
  270. package/dist/types/src/util/usePx.d.ts +8 -0
  271. package/dist/types/src/util/usePx.d.ts.map +1 -0
  272. package/dist/types/tsconfig.tsbuildinfo +1 -1
  273. package/package.json +52 -39
  274. package/src/components/Avatars/Avatar.stories.tsx +7 -11
  275. package/src/components/Avatars/Avatar.tsx +7 -15
  276. package/src/components/Avatars/AvatarGroup.stories.tsx +2 -6
  277. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +4 -8
  278. package/src/components/Breadcrumb/Breadcrumb.tsx +11 -37
  279. package/src/components/{Buttons → Button}/Button.stories.tsx +5 -8
  280. package/src/components/{Buttons → Button}/Button.tsx +12 -26
  281. package/src/components/{Buttons → Button}/IconButton.stories.tsx +8 -9
  282. package/src/components/{Buttons → Button}/IconButton.tsx +20 -15
  283. package/src/components/{Buttons → Button}/Toggle.stories.tsx +7 -10
  284. package/src/components/{Buttons → Button}/Toggle.tsx +4 -4
  285. package/src/components/{Buttons → Button}/ToggleGroup.stories.tsx +2 -6
  286. package/src/components/{Buttons → Button}/ToggleGroup.tsx +12 -16
  287. package/src/components/Card/Card.stories.tsx +151 -0
  288. package/src/components/Card/Card.tsx +505 -0
  289. package/src/components/Card/index.ts +5 -0
  290. package/src/components/Clipboard/CopyButton.tsx +8 -9
  291. package/src/components/DensityProvider/DensityProvider.tsx +1 -1
  292. package/src/components/Dialog/AlertDialog.stories.tsx +68 -0
  293. package/src/components/{Dialogs → Dialog}/AlertDialog.tsx +123 -82
  294. package/src/components/Dialog/Dialog.stories.tsx +177 -0
  295. package/src/components/Dialog/Dialog.tsx +285 -0
  296. package/src/components/ElevationProvider/ElevationProvider.tsx +1 -1
  297. package/src/components/ErrorFallback/ErrorFallback.stories.tsx +45 -0
  298. package/src/components/ErrorFallback/ErrorFallback.tsx +70 -0
  299. package/src/components/ErrorFallback/ErrorStack.tsx +114 -0
  300. package/src/components/ErrorFallback/ThrowError.tsx +37 -0
  301. package/src/components/ErrorFallback/index.ts +9 -0
  302. package/src/components/Focus/AUDIT.md +43 -0
  303. package/src/components/Focus/Focus.stories.tsx +230 -0
  304. package/src/components/Focus/Focus.tsx +201 -0
  305. package/src/components/Focus/index.ts +5 -0
  306. package/src/components/Icon/Icon.stories.tsx +143 -0
  307. package/src/components/Icon/Icon.tsx +6 -2
  308. package/src/components/Image/Image.stories.tsx +86 -0
  309. package/src/components/Image/Image.tsx +246 -0
  310. package/src/components/Image/index.ts +5 -0
  311. package/src/components/Input/Input.stories.tsx +21 -44
  312. package/src/components/Input/Input.tsx +40 -76
  313. package/src/components/Link/Link.stories.tsx +2 -6
  314. package/src/components/Link/Link.tsx +2 -2
  315. package/src/components/{Lists → List}/List.stories.tsx +30 -38
  316. package/src/components/{Lists → List}/List.tsx +17 -21
  317. package/src/components/{Lists → List}/ListDropIndicator.tsx +7 -7
  318. package/src/components/{Lists → List}/Tree.stories.tsx +5 -9
  319. package/src/components/{Lists → List}/Tree.tsx +0 -1
  320. package/src/components/{Lists → List}/TreeDropIndicator.tsx +6 -6
  321. package/src/components/{Lists → List}/Treegrid.stories.tsx +29 -30
  322. package/src/components/List/Treegrid.tsx +188 -0
  323. package/src/components/Main/Main.stories.tsx +41 -24
  324. package/src/components/Main/Main.tsx +163 -98
  325. package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +2 -6
  326. package/src/components/{Menus → Menu}/ContextMenu.tsx +9 -33
  327. package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +3 -7
  328. package/src/components/{Menus → Menu}/DropdownMenu.tsx +139 -112
  329. package/src/components/Message/Message.stories.tsx +27 -15
  330. package/src/components/Message/Message.tsx +43 -34
  331. package/src/components/Popover/Popover.stories.tsx +8 -12
  332. package/src/components/Popover/Popover.tsx +118 -96
  333. package/src/components/ScrollArea/ScrollArea.stories.tsx +222 -36
  334. package/src/components/ScrollArea/ScrollArea.tsx +97 -79
  335. package/src/components/ScrollArea/index.ts +1 -1
  336. package/src/components/ScrollContainer/ScrollContainer.stories.tsx +91 -0
  337. package/src/components/ScrollContainer/ScrollContainer.tsx +347 -0
  338. package/src/components/ScrollContainer/index.ts +5 -0
  339. package/src/components/Select/Select.stories.tsx +9 -12
  340. package/src/components/Select/Select.tsx +11 -27
  341. package/src/components/Separator/Separator.tsx +5 -8
  342. package/src/components/Skeleton/Skeleton.stories.tsx +51 -0
  343. package/src/components/Skeleton/Skeleton.tsx +26 -0
  344. package/src/components/Skeleton/index.ts +5 -0
  345. package/src/components/Splitter/Splitter.stories.tsx +83 -0
  346. package/src/components/Splitter/Splitter.tsx +127 -0
  347. package/src/components/Splitter/index.ts +5 -0
  348. package/src/components/Status/Status.stories.tsx +21 -21
  349. package/src/components/Status/Status.tsx +10 -7
  350. package/src/components/Tag/Tag.stories.tsx +8 -13
  351. package/src/components/Tag/Tag.tsx +3 -8
  352. package/src/components/ThemeProvider/ThemeProvider.stories.tsx +31 -0
  353. package/src/components/ThemeProvider/ThemeProvider.tsx +10 -10
  354. package/src/components/ThemeProvider/TranslationsProvider.tsx +1 -16
  355. package/src/components/ThemeProvider/index.ts +3 -3
  356. package/src/components/Toast/Toast.stories.tsx +3 -7
  357. package/src/components/Toast/Toast.tsx +22 -41
  358. package/src/components/Toolbar/Toolbar.stories.tsx +4 -10
  359. package/src/components/Toolbar/Toolbar.tsx +186 -12
  360. package/src/components/Tooltip/Tooltip.stories.tsx +21 -23
  361. package/src/components/Tooltip/Tooltip.tsx +42 -39
  362. package/src/components/index.ts +15 -9
  363. package/src/exemplars/generics.stories.tsx +41 -0
  364. package/src/exemplars/slot.stories.tsx +117 -0
  365. package/src/exemplars/tabster.stories.tsx +127 -0
  366. package/src/exemplars/virtualizer.stories.tsx +137 -0
  367. package/src/hooks/index.ts +1 -0
  368. package/src/hooks/useDensityContext.ts +3 -3
  369. package/src/hooks/useElevationContext.ts +1 -1
  370. package/src/hooks/useSafeArea.ts +3 -2
  371. package/src/hooks/useVisualViewport.ts +4 -4
  372. package/src/index.ts +2 -1
  373. package/src/playground/Controls.stories.tsx +3 -12
  374. package/src/playground/Custom.stories.tsx +16 -30
  375. package/src/playground/Typography.stories.tsx +3 -6
  376. package/src/primitives/Column/AUDIT.md +148 -0
  377. package/src/primitives/Column/Column.stories.tsx +181 -0
  378. package/src/primitives/Column/Column.tsx +165 -0
  379. package/src/primitives/Column/index.ts +5 -0
  380. package/src/primitives/Container/Container.stories.tsx +29 -0
  381. package/src/primitives/Container/Container.tsx +19 -0
  382. package/src/primitives/Container/index.ts +5 -0
  383. package/src/primitives/Flex/Flex.stories.tsx +57 -0
  384. package/src/primitives/Flex/Flex.tsx +27 -0
  385. package/src/primitives/Flex/index.ts +5 -0
  386. package/src/primitives/Grid/Grid.stories.tsx +56 -0
  387. package/src/primitives/Grid/Grid.tsx +30 -0
  388. package/src/primitives/Grid/index.ts +5 -0
  389. package/src/primitives/Panel/Panel.stories.tsx +68 -0
  390. package/src/primitives/Panel/Panel.tsx +120 -0
  391. package/src/primitives/Panel/index.ts +5 -0
  392. package/src/primitives/index.ts +9 -0
  393. package/src/testing/Loading.tsx +47 -0
  394. package/src/testing/decorators/index.ts +2 -1
  395. package/src/testing/decorators/withLayout.tsx +77 -0
  396. package/src/testing/decorators/withLayoutVariants.tsx +48 -0
  397. package/src/testing/decorators/withTheme.tsx +37 -0
  398. package/src/testing/index.ts +2 -0
  399. package/src/translations.ts +19 -0
  400. package/src/util/index.ts +3 -1
  401. package/src/util/usePx.ts +62 -0
  402. package/dist/lib/browser/chunk-Y4PW3CX2.mjs +0 -4402
  403. package/dist/lib/browser/chunk-Y4PW3CX2.mjs.map +0 -7
  404. package/dist/lib/node-esm/chunk-L6LIOSFT.mjs +0 -4404
  405. package/dist/lib/node-esm/chunk-L6LIOSFT.mjs.map +0 -7
  406. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +0 -15
  407. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +0 -1
  408. package/dist/types/src/components/AnchoredOverflow/index.d.ts +0 -2
  409. package/dist/types/src/components/AnchoredOverflow/index.d.ts.map +0 -1
  410. package/dist/types/src/components/Buttons/Button.d.ts.map +0 -1
  411. package/dist/types/src/components/Buttons/Button.stories.d.ts.map +0 -1
  412. package/dist/types/src/components/Buttons/IconButton.d.ts.map +0 -1
  413. package/dist/types/src/components/Buttons/IconButton.stories.d.ts.map +0 -1
  414. package/dist/types/src/components/Buttons/Toggle.d.ts.map +0 -1
  415. package/dist/types/src/components/Buttons/Toggle.stories.d.ts +0 -19
  416. package/dist/types/src/components/Buttons/Toggle.stories.d.ts.map +0 -1
  417. package/dist/types/src/components/Buttons/ToggleGroup.d.ts +0 -31
  418. package/dist/types/src/components/Buttons/ToggleGroup.d.ts.map +0 -1
  419. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts +0 -37
  420. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts.map +0 -1
  421. package/dist/types/src/components/Buttons/index.d.ts.map +0 -1
  422. package/dist/types/src/components/Dialogs/AlertDialog.d.ts +0 -31
  423. package/dist/types/src/components/Dialogs/AlertDialog.d.ts.map +0 -1
  424. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts.map +0 -1
  425. package/dist/types/src/components/Dialogs/Dialog.d.ts +0 -31
  426. package/dist/types/src/components/Dialogs/Dialog.d.ts.map +0 -1
  427. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts +0 -26
  428. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts.map +0 -1
  429. package/dist/types/src/components/Dialogs/index.d.ts.map +0 -1
  430. package/dist/types/src/components/Lists/List.d.ts.map +0 -1
  431. package/dist/types/src/components/Lists/List.stories.d.ts.map +0 -1
  432. package/dist/types/src/components/Lists/ListDropIndicator.d.ts.map +0 -1
  433. package/dist/types/src/components/Lists/Tree.d.ts.map +0 -1
  434. package/dist/types/src/components/Lists/Tree.stories.d.ts.map +0 -1
  435. package/dist/types/src/components/Lists/TreeDropIndicator.d.ts.map +0 -1
  436. package/dist/types/src/components/Lists/Treegrid.d.ts.map +0 -1
  437. package/dist/types/src/components/Lists/Treegrid.stories.d.ts.map +0 -1
  438. package/dist/types/src/components/Lists/index.d.ts.map +0 -1
  439. package/dist/types/src/components/Menus/ContextMenu.d.ts.map +0 -1
  440. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +0 -1
  441. package/dist/types/src/components/Menus/DropdownMenu.d.ts +0 -113
  442. package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +0 -1
  443. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts +0 -21
  444. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts.map +0 -1
  445. package/dist/types/src/components/Menus/index.d.ts.map +0 -1
  446. package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts +0 -12
  447. package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts.map +0 -1
  448. package/dist/types/src/util/ThemedClassName.d.ts +0 -5
  449. package/dist/types/src/util/ThemedClassName.d.ts.map +0 -1
  450. package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +0 -59
  451. package/src/components/AnchoredOverflow/index.ts +0 -5
  452. package/src/components/Dialogs/AlertDialog.stories.tsx +0 -72
  453. package/src/components/Dialogs/Dialog.stories.tsx +0 -65
  454. package/src/components/Dialogs/Dialog.tsx +0 -159
  455. package/src/components/Lists/Treegrid.tsx +0 -152
  456. package/src/testing/decorators/withSurfaceVariantsLayout.tsx +0 -51
  457. package/src/testing/decorators/withTheme.ts +0 -25
  458. package/src/util/ThemedClassName.ts +0 -7
  459. /package/dist/types/src/components/{Buttons → Button}/index.d.ts +0 -0
  460. /package/dist/types/src/components/{Dialogs → Dialog}/index.d.ts +0 -0
  461. /package/dist/types/src/components/{Lists → List}/ListDropIndicator.d.ts +0 -0
  462. /package/dist/types/src/components/{Lists → List}/TreeDropIndicator.d.ts +0 -0
  463. /package/dist/types/src/components/{Lists → List}/Treegrid.stories.d.ts +0 -0
  464. /package/dist/types/src/components/{Lists → List}/index.d.ts +0 -0
  465. /package/dist/types/src/components/{Menus → Menu}/index.d.ts +0 -0
  466. /package/src/components/{Buttons → Button}/index.ts +0 -0
  467. /package/src/components/{Dialogs → Dialog}/index.ts +0 -0
  468. /package/src/components/{Lists → List}/index.ts +0 -0
  469. /package/src/components/{Menus → Menu}/index.ts +0 -0
@@ -0,0 +1,850 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+
3
+ // src/components/DensityProvider/DensityProvider.tsx
4
+ import React, { createContext } from "react";
5
+ var DensityContext = /* @__PURE__ */ createContext({
6
+ density: "fine"
7
+ });
8
+ var DensityProvider = ({ density, children }) => /* @__PURE__ */ React.createElement(DensityContext.Provider, {
9
+ value: {
10
+ density
11
+ }
12
+ }, children);
13
+
14
+ // src/components/ElevationProvider/ElevationProvider.tsx
15
+ import React2, { createContext as createContext2 } from "react";
16
+ var ElevationContext = /* @__PURE__ */ createContext2({
17
+ elevation: "base"
18
+ });
19
+ var ElevationProvider = ({ elevation, children }) => /* @__PURE__ */ React2.createElement(ElevationContext.Provider, {
20
+ value: {
21
+ elevation
22
+ }
23
+ }, children);
24
+
25
+ // src/hooks/useElevationContext.ts
26
+ import { useContext as useContext3 } from "react";
27
+
28
+ // src/components/ThemeProvider/ThemeProvider.tsx
29
+ import { createKeyborg } from "keyborg";
30
+ import React4, { createContext as createContext4, useEffect as useEffect2, useMemo } from "react";
31
+
32
+ // src/hooks/useThemeContext.ts
33
+ import { useContext } from "react";
34
+ import { raise } from "@dxos/debug";
35
+ var useThemeContext = () => useContext(ThemeContext) ?? raise(new Error("Missing ThemeContext"));
36
+
37
+ // src/hooks/useSafeArea.ts
38
+ import { useCallback, useState } from "react";
39
+ import { useViewportResize } from "@dxos/react-hooks";
40
+ var initialSafeArea = {
41
+ top: NaN,
42
+ right: NaN,
43
+ bottom: NaN,
44
+ left: NaN
45
+ };
46
+ var useSafeArea = () => {
47
+ const [padding, setPadding] = useState(initialSafeArea);
48
+ const handleResize = useCallback(() => {
49
+ setPadding({
50
+ top: parseFloat(getComputedStyle(document.documentElement).getPropertyValue("--safe-area-top")),
51
+ right: parseFloat(getComputedStyle(document.documentElement).getPropertyValue("--safe-area-right")),
52
+ bottom: parseFloat(getComputedStyle(document.documentElement).getPropertyValue("--safe-area-bottom")),
53
+ left: parseFloat(getComputedStyle(document.documentElement).getPropertyValue("--safe-area-left"))
54
+ });
55
+ }, []);
56
+ useViewportResize(handleResize);
57
+ return padding;
58
+ };
59
+
60
+ // src/components/ThemeProvider/TranslationsProvider.tsx
61
+ import { enUS as dtLocaleEnUs } from "date-fns/locale";
62
+ import i18Next from "i18next";
63
+ import React3, { Suspense, createContext as createContext3, useContext as useContext2, useEffect, useState as useState2 } from "react";
64
+ import { initReactI18next, useTranslation as useI18NextTranslation } from "react-i18next";
65
+ var initialLng = "en-US";
66
+ var initialNs = "dxos-common";
67
+ var initialDtLocale = dtLocaleEnUs;
68
+ var resources = {
69
+ [initialLng]: {
70
+ [initialNs]: {
71
+ "loading translations": "Loading translations\u2026"
72
+ }
73
+ }
74
+ };
75
+ void i18Next.use(initReactI18next).init({
76
+ resources,
77
+ lng: initialLng,
78
+ defaultNS: initialNs,
79
+ interpolation: {
80
+ escapeValue: false
81
+ }
82
+ });
83
+ var TranslationsContext = /* @__PURE__ */ createContext3({
84
+ appNs: initialNs,
85
+ dtLocale: initialDtLocale
86
+ });
87
+ var useTranslation = (...args) => {
88
+ const result = useI18NextTranslation(...args);
89
+ const { dtLocale } = useContext2(TranslationsContext);
90
+ return {
91
+ ...result,
92
+ dtLocale
93
+ };
94
+ };
95
+ var TranslationsProvider = ({ fallback, resourceExtensions, children, appNs, dtLocale }) => {
96
+ const [loaded, setLoaded] = useState2(false);
97
+ useEffect(() => {
98
+ setLoaded(false);
99
+ if (resourceExtensions && resourceExtensions.length) {
100
+ resourceExtensions.forEach((resource) => {
101
+ Object.keys(resource).forEach((language) => {
102
+ Object.keys(resource[language]).forEach((ns) => {
103
+ i18Next.addResourceBundle(language, ns, resource[language][ns]);
104
+ });
105
+ });
106
+ });
107
+ }
108
+ setLoaded(true);
109
+ }, [
110
+ resourceExtensions
111
+ ]);
112
+ return /* @__PURE__ */ React3.createElement(TranslationsContext.Provider, {
113
+ value: {
114
+ appNs: appNs ?? initialNs,
115
+ dtLocale: dtLocale ?? initialDtLocale
116
+ }
117
+ }, /* @__PURE__ */ React3.createElement(Suspense, {
118
+ fallback
119
+ }, loaded ? children : fallback));
120
+ };
121
+
122
+ // src/util/hasIosKeyboard.ts
123
+ var hasIosKeyboard = () => {
124
+ return !!navigator.userAgent.match(/iP(ad|od|hone).+Safari/);
125
+ };
126
+
127
+ // src/components/ThemeProvider/ThemeProvider.tsx
128
+ var ThemeContext = /* @__PURE__ */ createContext4(void 0);
129
+ var ThemeProvider = ({ children, fallback = null, resourceExtensions, appNs, tx = (_path, _styleProps, ..._options) => void 0, themeMode = "dark", rootDensity = "fine", noCache, platform }) => {
130
+ useEffect2(() => {
131
+ if (document.defaultView) {
132
+ const kb = createKeyborg(document.defaultView);
133
+ kb.subscribe(handleInputModalityChange);
134
+ return () => kb.unsubscribe(handleInputModalityChange);
135
+ }
136
+ }, []);
137
+ const safeAreaPadding = useSafeArea();
138
+ const contextValue = useMemo(() => ({
139
+ tx,
140
+ themeMode,
141
+ hasIosKeyboard: hasIosKeyboard(),
142
+ safeAreaPadding,
143
+ noCache,
144
+ platform
145
+ }), [
146
+ tx,
147
+ themeMode,
148
+ safeAreaPadding,
149
+ noCache,
150
+ platform
151
+ ]);
152
+ return /* @__PURE__ */ React4.createElement(ThemeContext.Provider, {
153
+ value: contextValue
154
+ }, /* @__PURE__ */ React4.createElement(TranslationsProvider, {
155
+ fallback,
156
+ resourceExtensions,
157
+ appNs
158
+ }, /* @__PURE__ */ React4.createElement(ElevationProvider, {
159
+ elevation: "base"
160
+ }, /* @__PURE__ */ React4.createElement(DensityProvider, {
161
+ density: rootDensity
162
+ }, children))));
163
+ };
164
+ var handleInputModalityChange = (isUsingKeyboard) => {
165
+ if (isUsingKeyboard) {
166
+ document.body.setAttribute("data-w-keyboard", "true");
167
+ } else {
168
+ document.body.removeAttribute("data-w-keyboard");
169
+ }
170
+ };
171
+
172
+ // src/components/Tooltip/Tooltip.tsx
173
+ import { composeEventHandlers } from "@radix-ui/primitive";
174
+ import { useComposedRefs } from "@radix-ui/react-compose-refs";
175
+ import { createContextScope } from "@radix-ui/react-context";
176
+ import { DismissableLayer } from "@radix-ui/react-dismissable-layer";
177
+ import { useId } from "@radix-ui/react-id";
178
+ import * as PopperPrimitive from "@radix-ui/react-popper";
179
+ import { createPopperScope } from "@radix-ui/react-popper";
180
+ import { Portal as PortalPrimitive } from "@radix-ui/react-portal";
181
+ import { Presence } from "@radix-ui/react-presence";
182
+ import { Primitive } from "@radix-ui/react-primitive";
183
+ import { Slottable } from "@radix-ui/react-slot";
184
+ import { useControllableState } from "@radix-ui/react-use-controllable-state";
185
+ import * as VisuallyHiddenPrimitive from "@radix-ui/react-visually-hidden";
186
+ import React5, { forwardRef, useCallback as useCallback2, useEffect as useEffect3, useMemo as useMemo2, useRef, useState as useState3 } from "react";
187
+ var [createTooltipContext, createTooltipScope] = createContextScope("Tooltip", [
188
+ createPopperScope
189
+ ]);
190
+ var usePopperScope = createPopperScope();
191
+ var DEFAULT_DELAY_DURATION = 700;
192
+ var TOOLTIP_OPEN = "tooltip.open";
193
+ var TOOLTIP_NAME = "Tooltip";
194
+ var [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);
195
+ var TooltipProvider = (props) => {
196
+ const { __scopeTooltip, children, open: openProp, defaultOpen = false, onOpenChange, disableHoverableContent = false, delayDuration = DEFAULT_DELAY_DURATION, skipDelayDuration = 300 } = props;
197
+ const isOpenDelayedRef = useRef(true);
198
+ const isPointerInTransitRef = useRef(false);
199
+ const skipDelayTimerRef = useRef(0);
200
+ useEffect3(() => {
201
+ const skipDelayTimer = skipDelayTimerRef.current;
202
+ return () => window.clearTimeout(skipDelayTimer);
203
+ }, []);
204
+ const popperScope = usePopperScope(__scopeTooltip);
205
+ const [trigger, setTrigger] = useState3(null);
206
+ const [content, setContent] = useState3("");
207
+ const [side, setSide] = useState3(void 0);
208
+ const triggerRef = useRef(trigger);
209
+ const handleTriggerChange = useCallback2((nextTrigger) => {
210
+ setTrigger(nextTrigger);
211
+ triggerRef.current = nextTrigger;
212
+ setContent(nextTrigger?.getAttribute("data-tooltip-content") ?? "");
213
+ setSide(nextTrigger?.getAttribute("data-tooltip-side") ?? void 0);
214
+ }, []);
215
+ const contentId = useId();
216
+ const openTimerRef = useRef(0);
217
+ const wasOpenDelayedRef = useRef(false);
218
+ const handleOpenChange = useCallback2((open2) => {
219
+ if (open2) {
220
+ window.clearTimeout(skipDelayTimerRef.current);
221
+ isOpenDelayedRef.current = false;
222
+ document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));
223
+ } else {
224
+ window.clearTimeout(skipDelayTimerRef.current);
225
+ skipDelayTimerRef.current = window.setTimeout(() => isOpenDelayedRef.current = true, skipDelayDuration);
226
+ }
227
+ onOpenChange?.(open2);
228
+ }, [
229
+ skipDelayDuration,
230
+ onOpenChange
231
+ ]);
232
+ const [open = false, setOpen] = useControllableState({
233
+ prop: openProp,
234
+ defaultProp: defaultOpen,
235
+ onChange: handleOpenChange
236
+ });
237
+ const stateAttribute = useMemo2(() => {
238
+ return open ? wasOpenDelayedRef.current ? "delayed-open" : "instant-open" : "closed";
239
+ }, [
240
+ open
241
+ ]);
242
+ const handleOpen = useCallback2(() => {
243
+ window.clearTimeout(openTimerRef.current);
244
+ openTimerRef.current = 0;
245
+ wasOpenDelayedRef.current = false;
246
+ setOpen(true);
247
+ }, [
248
+ setOpen
249
+ ]);
250
+ const handleClose = useCallback2(() => {
251
+ window.clearTimeout(openTimerRef.current);
252
+ openTimerRef.current = 0;
253
+ setOpen(false);
254
+ }, [
255
+ setOpen
256
+ ]);
257
+ const handleDelayedOpen = useCallback2(() => {
258
+ window.clearTimeout(openTimerRef.current);
259
+ openTimerRef.current = window.setTimeout(() => {
260
+ wasOpenDelayedRef.current = true;
261
+ setOpen(true);
262
+ openTimerRef.current = 0;
263
+ }, delayDuration);
264
+ }, [
265
+ delayDuration,
266
+ setOpen
267
+ ]);
268
+ useEffect3(() => {
269
+ return () => {
270
+ if (openTimerRef.current) {
271
+ window.clearTimeout(openTimerRef.current);
272
+ openTimerRef.current = 0;
273
+ }
274
+ };
275
+ }, []);
276
+ const { tx } = useThemeContext();
277
+ const elevation = useElevationContext();
278
+ return /* @__PURE__ */ React5.createElement(PopperPrimitive.Root, popperScope, /* @__PURE__ */ React5.createElement(TooltipContextProvider, {
279
+ scope: __scopeTooltip,
280
+ contentId,
281
+ open,
282
+ stateAttribute,
283
+ trigger,
284
+ onTriggerChange: handleTriggerChange,
285
+ onTriggerEnter: useCallback2(() => {
286
+ if (isOpenDelayedRef.current) {
287
+ handleDelayedOpen();
288
+ } else {
289
+ handleOpen();
290
+ }
291
+ }, [
292
+ isOpenDelayedRef,
293
+ handleDelayedOpen,
294
+ handleOpen
295
+ ]),
296
+ onTriggerLeave: useCallback2(() => {
297
+ if (disableHoverableContent) {
298
+ handleClose();
299
+ } else {
300
+ window.clearTimeout(openTimerRef.current);
301
+ openTimerRef.current = 0;
302
+ }
303
+ }, [
304
+ handleClose,
305
+ disableHoverableContent
306
+ ]),
307
+ onOpen: handleOpen,
308
+ onClose: handleClose,
309
+ disableHoverableContent,
310
+ isPointerInTransitRef,
311
+ onPointerInTransitChange: useCallback2((inTransit) => {
312
+ isPointerInTransitRef.current = inTransit;
313
+ }, [])
314
+ }, /* @__PURE__ */ React5.createElement(TooltipContent, {
315
+ side,
316
+ className: tx("tooltip.content", {
317
+ elevation
318
+ })
319
+ }, content, /* @__PURE__ */ React5.createElement(TooltipArrow, {
320
+ className: tx("tooltip.arrow")
321
+ })), /* @__PURE__ */ React5.createElement(TooltipVirtualTrigger, {
322
+ virtualRef: triggerRef
323
+ }), children));
324
+ };
325
+ TooltipProvider.displayName = TOOLTIP_NAME;
326
+ var TooltipVirtualTrigger = ({ virtualRef, __scopeTooltip }) => {
327
+ const popperScope = usePopperScope(__scopeTooltip);
328
+ return /* @__PURE__ */ React5.createElement(PopperPrimitive.Anchor, {
329
+ asChild: true,
330
+ ...popperScope,
331
+ virtualRef
332
+ });
333
+ };
334
+ var TRIGGER_NAME = "TooltipTrigger";
335
+ var TooltipTrigger = /* @__PURE__ */ forwardRef((props, forwardedRef) => {
336
+ const {
337
+ __scopeTooltip,
338
+ onInteract,
339
+ // TODO(thure): Pass `delayDuration` into the context.
340
+ delayDuration: _delayDuration,
341
+ side,
342
+ content,
343
+ ...triggerProps
344
+ } = props;
345
+ const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);
346
+ const ref = useRef(null);
347
+ const composedRefs = useComposedRefs(forwardedRef, ref);
348
+ const isPointerDownRef = useRef(false);
349
+ const hasPointerMoveOpenedRef = useRef(false);
350
+ const handlePointerUp = useCallback2(() => isPointerDownRef.current = false, []);
351
+ useEffect3(() => {
352
+ return () => document.removeEventListener("pointerup", handlePointerUp);
353
+ }, [
354
+ handlePointerUp
355
+ ]);
356
+ return /* @__PURE__ */ React5.createElement(Primitive.button, {
357
+ // We purposefully avoid adding `type=button` here because tooltip triggers are also
358
+ // commonly anchors and the anchor `type` attribute signifies MIME type.
359
+ "aria-describedby": context.open ? context.contentId : void 0,
360
+ "data-state": context.stateAttribute,
361
+ "data-tooltip-content": content,
362
+ "data-tooltip-side": side,
363
+ ...triggerProps,
364
+ ref: composedRefs,
365
+ onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {
366
+ if (event.pointerType === "touch") {
367
+ return;
368
+ }
369
+ if (!hasPointerMoveOpenedRef.current && !context.isPointerInTransitRef.current) {
370
+ onInteract?.(event);
371
+ if (event.defaultPrevented) {
372
+ return;
373
+ }
374
+ context.onTriggerChange(ref.current);
375
+ context.onTriggerEnter();
376
+ hasPointerMoveOpenedRef.current = true;
377
+ }
378
+ }),
379
+ onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {
380
+ context.onTriggerLeave();
381
+ hasPointerMoveOpenedRef.current = false;
382
+ }),
383
+ onPointerDown: composeEventHandlers(props.onPointerDown, () => {
384
+ if (context.open) {
385
+ context.onClose();
386
+ }
387
+ isPointerDownRef.current = true;
388
+ document.addEventListener("pointerup", handlePointerUp, {
389
+ once: true
390
+ });
391
+ }),
392
+ onFocus: props.onFocus,
393
+ onBlur: composeEventHandlers(props.onBlur, context.onClose),
394
+ onClick: composeEventHandlers(props.onClick, context.onClose)
395
+ });
396
+ });
397
+ TooltipTrigger.displayName = TRIGGER_NAME;
398
+ var PORTAL_NAME = "TooltipPortal";
399
+ var [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {
400
+ forceMount: void 0
401
+ });
402
+ var TooltipPortal = (props) => {
403
+ const { __scopeTooltip, forceMount, children, container } = props;
404
+ const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);
405
+ return /* @__PURE__ */ React5.createElement(PortalProvider, {
406
+ scope: __scopeTooltip,
407
+ forceMount
408
+ }, /* @__PURE__ */ React5.createElement(Presence, {
409
+ present: forceMount || context.open
410
+ }, /* @__PURE__ */ React5.createElement(PortalPrimitive, {
411
+ asChild: true,
412
+ container
413
+ }, children)));
414
+ };
415
+ TooltipPortal.displayName = PORTAL_NAME;
416
+ var CONTENT_NAME = "TooltipContent";
417
+ var TooltipContent = /* @__PURE__ */ forwardRef((props, forwardedRef) => {
418
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);
419
+ const { forceMount = portalContext.forceMount, side = "top", ...contentProps } = props;
420
+ const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);
421
+ return /* @__PURE__ */ React5.createElement(Presence, {
422
+ present: forceMount || context.open
423
+ }, context.disableHoverableContent ? /* @__PURE__ */ React5.createElement(TooltipContentImpl, {
424
+ side,
425
+ ...contentProps,
426
+ ref: forwardedRef
427
+ }) : /* @__PURE__ */ React5.createElement(TooltipContentHoverable, {
428
+ side,
429
+ ...contentProps,
430
+ ref: forwardedRef
431
+ }));
432
+ });
433
+ var TooltipContentHoverable = /* @__PURE__ */ forwardRef((props, forwardedRef) => {
434
+ const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);
435
+ const ref = useRef(null);
436
+ const composedRefs = useComposedRefs(forwardedRef, ref);
437
+ const [pointerGraceArea, setPointerGraceArea] = useState3(null);
438
+ const { trigger, onClose } = context;
439
+ const content = ref.current;
440
+ const { onPointerInTransitChange } = context;
441
+ const handleRemoveGraceArea = useCallback2(() => {
442
+ setPointerGraceArea(null);
443
+ onPointerInTransitChange(false);
444
+ }, [
445
+ onPointerInTransitChange
446
+ ]);
447
+ const handleCreateGraceArea = useCallback2((event, hoverTarget) => {
448
+ const currentTarget = event.currentTarget;
449
+ const exitPoint = {
450
+ x: event.clientX,
451
+ y: event.clientY
452
+ };
453
+ const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());
454
+ const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);
455
+ const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());
456
+ const graceArea = getHull([
457
+ ...paddedExitPoints,
458
+ ...hoverTargetPoints
459
+ ]);
460
+ setPointerGraceArea(graceArea);
461
+ onPointerInTransitChange(true);
462
+ }, [
463
+ onPointerInTransitChange
464
+ ]);
465
+ useEffect3(() => {
466
+ return () => handleRemoveGraceArea();
467
+ }, [
468
+ handleRemoveGraceArea
469
+ ]);
470
+ useEffect3(() => {
471
+ if (trigger && content) {
472
+ const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);
473
+ const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);
474
+ trigger.addEventListener("pointerleave", handleTriggerLeave);
475
+ content.addEventListener("pointerleave", handleContentLeave);
476
+ return () => {
477
+ trigger.removeEventListener("pointerleave", handleTriggerLeave);
478
+ content.removeEventListener("pointerleave", handleContentLeave);
479
+ };
480
+ }
481
+ }, [
482
+ trigger,
483
+ content,
484
+ handleCreateGraceArea,
485
+ handleRemoveGraceArea
486
+ ]);
487
+ useEffect3(() => {
488
+ if (pointerGraceArea) {
489
+ const handleTrackPointerGrace = (event) => {
490
+ const target = event.target;
491
+ const pointerPosition = {
492
+ x: event.clientX,
493
+ y: event.clientY
494
+ };
495
+ const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);
496
+ const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);
497
+ if (hasEnteredTarget) {
498
+ handleRemoveGraceArea();
499
+ } else if (isPointerOutsideGraceArea) {
500
+ handleRemoveGraceArea();
501
+ onClose();
502
+ }
503
+ };
504
+ document.addEventListener("pointermove", handleTrackPointerGrace);
505
+ return () => document.removeEventListener("pointermove", handleTrackPointerGrace);
506
+ }
507
+ }, [
508
+ trigger,
509
+ content,
510
+ pointerGraceArea,
511
+ onClose,
512
+ handleRemoveGraceArea
513
+ ]);
514
+ return /* @__PURE__ */ React5.createElement(TooltipContentImpl, {
515
+ ...props,
516
+ ref: composedRefs
517
+ });
518
+ });
519
+ var [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, {
520
+ isInside: false
521
+ });
522
+ var TooltipContentImpl = /* @__PURE__ */ forwardRef((props, forwardedRef) => {
523
+ const { __scopeTooltip, children, "aria-label": ariaLabel, onEscapeKeyDown, onPointerDownOutside, ...contentProps } = props;
524
+ const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);
525
+ const popperScope = usePopperScope(__scopeTooltip);
526
+ const { onClose } = context;
527
+ useEffect3(() => {
528
+ document.addEventListener(TOOLTIP_OPEN, onClose);
529
+ return () => document.removeEventListener(TOOLTIP_OPEN, onClose);
530
+ }, [
531
+ onClose
532
+ ]);
533
+ useEffect3(() => {
534
+ if (context.trigger) {
535
+ const handleScroll = (event) => {
536
+ const target = event.target;
537
+ if (target?.contains(context.trigger)) {
538
+ onClose();
539
+ }
540
+ };
541
+ window.addEventListener("scroll", handleScroll, {
542
+ capture: true
543
+ });
544
+ return () => window.removeEventListener("scroll", handleScroll, {
545
+ capture: true
546
+ });
547
+ }
548
+ }, [
549
+ context.trigger,
550
+ onClose
551
+ ]);
552
+ return /* @__PURE__ */ React5.createElement(DismissableLayer, {
553
+ asChild: true,
554
+ disableOutsidePointerEvents: false,
555
+ onEscapeKeyDown,
556
+ onPointerDownOutside,
557
+ onFocusOutside: (event) => event.preventDefault(),
558
+ onDismiss: onClose
559
+ }, /* @__PURE__ */ React5.createElement(PopperPrimitive.Content, {
560
+ "data-state": context.stateAttribute,
561
+ ...popperScope,
562
+ ...contentProps,
563
+ ref: forwardedRef,
564
+ style: {
565
+ ...contentProps.style,
566
+ // re-namespace exposed content custom properties
567
+ ...{
568
+ "--radix-tooltip-content-transform-origin": "var(--radix-popper-transform-origin)",
569
+ "--radix-tooltip-content-available-width": "var(--radix-popper-available-width)",
570
+ "--radix-tooltip-content-available-height": "var(--radix-popper-available-height)",
571
+ "--radix-tooltip-trigger-width": "var(--radix-popper-anchor-width)",
572
+ "--radix-tooltip-trigger-height": "var(--radix-popper-anchor-height)"
573
+ }
574
+ }
575
+ }, /* @__PURE__ */ React5.createElement(Slottable, null, children), /* @__PURE__ */ React5.createElement(VisuallyHiddenContentContextProvider, {
576
+ scope: __scopeTooltip,
577
+ isInside: true
578
+ }, /* @__PURE__ */ React5.createElement(VisuallyHiddenPrimitive.Root, {
579
+ id: context.contentId,
580
+ role: "tooltip"
581
+ }, ariaLabel || children))));
582
+ });
583
+ TooltipContent.displayName = CONTENT_NAME;
584
+ var ARROW_NAME = "TooltipArrow";
585
+ var TooltipArrow = /* @__PURE__ */ forwardRef((props, forwardedRef) => {
586
+ const { __scopeTooltip, ...arrowProps } = props;
587
+ const popperScope = usePopperScope(__scopeTooltip);
588
+ const visuallyHiddenContentContext = useVisuallyHiddenContentContext(ARROW_NAME, __scopeTooltip);
589
+ return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ React5.createElement(PopperPrimitive.Arrow, {
590
+ ...popperScope,
591
+ ...arrowProps,
592
+ ref: forwardedRef
593
+ });
594
+ });
595
+ TooltipArrow.displayName = ARROW_NAME;
596
+ var getExitSideFromRect = (point, rect) => {
597
+ const top = Math.abs(rect.top - point.y);
598
+ const bottom = Math.abs(rect.bottom - point.y);
599
+ const right = Math.abs(rect.right - point.x);
600
+ const left = Math.abs(rect.left - point.x);
601
+ switch (Math.min(top, bottom, right, left)) {
602
+ case left:
603
+ return "left";
604
+ case right:
605
+ return "right";
606
+ case top:
607
+ return "top";
608
+ case bottom:
609
+ return "bottom";
610
+ default:
611
+ throw new Error("unreachable");
612
+ }
613
+ };
614
+ var getPaddedExitPoints = (exitPoint, exitSide, padding = 5) => {
615
+ const paddedExitPoints = [];
616
+ switch (exitSide) {
617
+ case "top":
618
+ paddedExitPoints.push({
619
+ x: exitPoint.x - padding,
620
+ y: exitPoint.y + padding
621
+ }, {
622
+ x: exitPoint.x + padding,
623
+ y: exitPoint.y + padding
624
+ });
625
+ break;
626
+ case "bottom":
627
+ paddedExitPoints.push({
628
+ x: exitPoint.x - padding,
629
+ y: exitPoint.y - padding
630
+ }, {
631
+ x: exitPoint.x + padding,
632
+ y: exitPoint.y - padding
633
+ });
634
+ break;
635
+ case "left":
636
+ paddedExitPoints.push({
637
+ x: exitPoint.x + padding,
638
+ y: exitPoint.y - padding
639
+ }, {
640
+ x: exitPoint.x + padding,
641
+ y: exitPoint.y + padding
642
+ });
643
+ break;
644
+ case "right":
645
+ paddedExitPoints.push({
646
+ x: exitPoint.x - padding,
647
+ y: exitPoint.y - padding
648
+ }, {
649
+ x: exitPoint.x - padding,
650
+ y: exitPoint.y + padding
651
+ });
652
+ break;
653
+ }
654
+ return paddedExitPoints;
655
+ };
656
+ var getPointsFromRect = (rect) => {
657
+ const { top, right, bottom, left } = rect;
658
+ return [
659
+ {
660
+ x: left,
661
+ y: top
662
+ },
663
+ {
664
+ x: right,
665
+ y: top
666
+ },
667
+ {
668
+ x: right,
669
+ y: bottom
670
+ },
671
+ {
672
+ x: left,
673
+ y: bottom
674
+ }
675
+ ];
676
+ };
677
+ var isPointInPolygon = (point, polygon) => {
678
+ const { x, y } = point;
679
+ let inside = false;
680
+ for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
681
+ const xi = polygon[i].x;
682
+ const yi = polygon[i].y;
683
+ const xj = polygon[j].x;
684
+ const yj = polygon[j].y;
685
+ const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;
686
+ if (intersect) {
687
+ inside = !inside;
688
+ }
689
+ }
690
+ return inside;
691
+ };
692
+ var getHull = (points) => {
693
+ const newPoints = points.slice();
694
+ newPoints.sort((a, b) => {
695
+ if (a.x < b.x) {
696
+ return -1;
697
+ } else if (a.x > b.x) {
698
+ return 1;
699
+ } else if (a.y < b.y) {
700
+ return -1;
701
+ } else if (a.y > b.y) {
702
+ return 1;
703
+ } else {
704
+ return 0;
705
+ }
706
+ });
707
+ return getHullPresorted(newPoints);
708
+ };
709
+ var getHullPresorted = (points) => {
710
+ if (points.length <= 1) {
711
+ return points.slice();
712
+ }
713
+ const upperHull = [];
714
+ for (let i = 0; i < points.length; i++) {
715
+ const p = points[i];
716
+ while (upperHull.length >= 2) {
717
+ const q = upperHull[upperHull.length - 1];
718
+ const r = upperHull[upperHull.length - 2];
719
+ if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) {
720
+ upperHull.pop();
721
+ } else {
722
+ break;
723
+ }
724
+ }
725
+ upperHull.push(p);
726
+ }
727
+ upperHull.pop();
728
+ const lowerHull = [];
729
+ for (let i = points.length - 1; i >= 0; i--) {
730
+ const p = points[i];
731
+ while (lowerHull.length >= 2) {
732
+ const q = lowerHull[lowerHull.length - 1];
733
+ const r = lowerHull[lowerHull.length - 2];
734
+ if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) {
735
+ lowerHull.pop();
736
+ } else {
737
+ break;
738
+ }
739
+ }
740
+ lowerHull.push(p);
741
+ }
742
+ lowerHull.pop();
743
+ if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {
744
+ return upperHull;
745
+ } else {
746
+ return upperHull.concat(lowerHull);
747
+ }
748
+ };
749
+ var Tooltip = {
750
+ Provider: TooltipProvider,
751
+ Trigger: TooltipTrigger
752
+ };
753
+
754
+ // src/components/ErrorFallback/ErrorStack.tsx
755
+ import ErrorStackParser from "error-stack-parser";
756
+ import React6 from "react";
757
+ import { mx } from "@dxos/ui-theme";
758
+ var parseCaptureOwnerStack = (stack) => {
759
+ if (stack == null || stack.length === 0) {
760
+ return null;
761
+ }
762
+ const err = new Error();
763
+ err.stack = stack;
764
+ try {
765
+ return ErrorStackParser.parse(err);
766
+ } catch {
767
+ err.stack = `Error
768
+ ${stack}`;
769
+ try {
770
+ return ErrorStackParser.parse(err);
771
+ } catch {
772
+ return null;
773
+ }
774
+ }
775
+ };
776
+ var ErrorStack = ({ error, frames: framesProp }) => {
777
+ const frames = framesProp ?? (error ? ErrorStackParser.parse(error) : []);
778
+ if (frames.length === 0) {
779
+ return null;
780
+ }
781
+ return /* @__PURE__ */ React6.createElement("div", {
782
+ className: "font-mono text-sm"
783
+ }, frames.map((frame, i) => {
784
+ const isLast = i === frames.length - 1;
785
+ const local = frame.fileName ? parseLocalFrame(frame.fileName, frame.lineNumber, frame.columnNumber) : void 0;
786
+ const name = frame.functionName ?? "<anonymous>";
787
+ return /* @__PURE__ */ React6.createElement("div", {
788
+ key: i,
789
+ className: mx("grid grid-cols-[16px_1fr_auto_auto] items-stretch gap-x-2", local && "cursor-pointer hover:bg-hover-surface")
790
+ }, /* @__PURE__ */ React6.createElement("div", {
791
+ className: "relative"
792
+ }, /* @__PURE__ */ React6.createElement("div", {
793
+ className: mx("absolute left-1/2 -translate-x-1/2 w-px bg-neutral-500", isLast ? "top-0 h-1/2" : "inset-y-0")
794
+ }), /* @__PURE__ */ React6.createElement("div", {
795
+ className: "absolute top-1/2 -translate-y-1/2 left-1/2 right-0 h-px bg-neutral-500"
796
+ })), local ? /* @__PURE__ */ React6.createElement("a", {
797
+ href: local.href,
798
+ className: "truncate self-center"
799
+ }, name) : /* @__PURE__ */ React6.createElement("span", {
800
+ className: "text-subdued truncate self-center"
801
+ }, name), /* @__PURE__ */ React6.createElement("span", {
802
+ className: "text-xs text-subdued truncate self-center"
803
+ }, local?.fileName ?? ""), /* @__PURE__ */ React6.createElement("span", {
804
+ className: "text-xs text-subdued text-right self-center"
805
+ }, local ? `${frame.lineNumber}:${frame.columnNumber}` : ""));
806
+ }));
807
+ };
808
+ var parseLocalFrame = (fileUrl, line, col) => {
809
+ try {
810
+ const { pathname } = new URL(fileUrl);
811
+ if (!pathname.startsWith("/@fs/")) {
812
+ return void 0;
813
+ }
814
+ const localPath = pathname.slice(4);
815
+ return {
816
+ href: `vscode://file/${localPath}:${line ?? 1}:${col ?? 1}`,
817
+ fileName: pathname.split("/").pop() ?? localPath
818
+ };
819
+ } catch {
820
+ return void 0;
821
+ }
822
+ };
823
+
824
+ // src/hooks/useElevationContext.ts
825
+ var useElevationContext = (propsElevation) => {
826
+ const { elevation } = useContext3(ElevationContext);
827
+ return propsElevation ?? elevation;
828
+ };
829
+
830
+ export {
831
+ DensityContext,
832
+ DensityProvider,
833
+ ElevationContext,
834
+ ElevationProvider,
835
+ useElevationContext,
836
+ useThemeContext,
837
+ initialSafeArea,
838
+ useSafeArea,
839
+ TranslationsContext,
840
+ useTranslation,
841
+ hasIosKeyboard,
842
+ ThemeContext,
843
+ ThemeProvider,
844
+ createTooltipScope,
845
+ useTooltipContext,
846
+ Tooltip,
847
+ parseCaptureOwnerStack,
848
+ ErrorStack
849
+ };
850
+ //# sourceMappingURL=chunk-3JSJK2ZY.mjs.map