@dxos/react-ui 0.8.4-main.72ec0f3 → 0.8.4-main.74a063c4e0

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 (383) hide show
  1. package/dist/lib/browser/chunk-KRSEIVRM.mjs +776 -0
  2. package/dist/lib/browser/chunk-KRSEIVRM.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +4157 -67
  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 +74 -63
  7. package/dist/lib/browser/testing/index.mjs.map +4 -4
  8. package/dist/lib/node-esm/chunk-ENYC4TYH.mjs +778 -0
  9. package/dist/lib/node-esm/chunk-ENYC4TYH.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +4157 -67
  11. package/dist/lib/node-esm/index.mjs.map +4 -4
  12. package/dist/lib/node-esm/meta.json +1 -1
  13. package/dist/lib/node-esm/testing/index.mjs +74 -63
  14. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  15. package/dist/types/src/components/Avatars/Avatar.d.ts +1 -1
  16. package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
  17. package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
  18. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
  19. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  20. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  21. package/dist/types/src/components/Button/Button.d.ts +3 -3
  22. package/dist/types/src/components/Button/Button.d.ts.map +1 -1
  23. package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -1
  24. package/dist/types/src/components/Button/IconButton.d.ts +2 -1
  25. package/dist/types/src/components/Button/IconButton.d.ts.map +1 -1
  26. package/dist/types/src/components/Button/IconButton.stories.d.ts +3 -0
  27. package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -1
  28. package/dist/types/src/components/Button/Toggle.d.ts +2 -2
  29. package/dist/types/src/components/Button/Toggle.d.ts.map +1 -1
  30. package/dist/types/src/components/Button/Toggle.stories.d.ts.map +1 -1
  31. package/dist/types/src/components/Button/ToggleGroup.d.ts +10 -10
  32. package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -1
  33. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +4 -4
  34. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts.map +1 -1
  35. package/dist/types/src/components/Card/Card.d.ts +150 -0
  36. package/dist/types/src/components/Card/Card.d.ts.map +1 -0
  37. package/dist/types/src/components/Card/Card.stories.d.ts +21 -0
  38. package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -0
  39. package/dist/types/src/components/Card/index.d.ts +2 -0
  40. package/dist/types/src/components/Card/index.d.ts.map +1 -0
  41. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
  42. package/dist/types/src/components/Clipboard/index.d.ts +10 -1
  43. package/dist/types/src/components/Clipboard/index.d.ts.map +1 -1
  44. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts +1 -1
  45. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
  46. package/dist/types/src/components/Dialog/AlertDialog.d.ts +41 -19
  47. package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -1
  48. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -1
  49. package/dist/types/src/components/Dialog/Dialog.d.ts +56 -21
  50. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
  51. package/dist/types/src/components/Dialog/Dialog.stories.d.ts +10 -10
  52. package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -1
  53. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts +1 -1
  54. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
  55. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts +11 -0
  56. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -0
  57. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts +7 -0
  58. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts.map +1 -0
  59. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts +8 -0
  60. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -0
  61. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts +9 -0
  62. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts.map +1 -0
  63. package/dist/types/src/components/ErrorFallback/index.d.ts +5 -0
  64. package/dist/types/src/components/ErrorFallback/index.d.ts.map +1 -0
  65. package/dist/types/src/components/Focus/Focus.d.ts +44 -0
  66. package/dist/types/src/components/Focus/Focus.d.ts.map +1 -0
  67. package/dist/types/src/components/Focus/Focus.stories.d.ts +9 -0
  68. package/dist/types/src/components/Focus/Focus.stories.d.ts.map +1 -0
  69. package/dist/types/src/components/Focus/index.d.ts +2 -0
  70. package/dist/types/src/components/Focus/index.d.ts.map +1 -0
  71. package/dist/types/src/components/Icon/Icon.d.ts +4 -1
  72. package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
  73. package/dist/types/src/components/Icon/Icon.stories.d.ts +11 -3
  74. package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -1
  75. package/dist/types/src/components/Image/Image.d.ts +14 -0
  76. package/dist/types/src/components/Image/Image.d.ts.map +1 -0
  77. package/dist/types/src/components/Image/Image.stories.d.ts +33 -0
  78. package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -0
  79. package/dist/types/src/components/Image/index.d.ts +2 -0
  80. package/dist/types/src/components/Image/index.d.ts.map +1 -0
  81. package/dist/types/src/components/Input/Input.d.ts +7 -7
  82. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  83. package/dist/types/src/components/Input/Input.stories.d.ts +8 -8
  84. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  85. package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -1
  86. package/dist/types/src/components/List/List.d.ts +10 -4
  87. package/dist/types/src/components/List/List.d.ts.map +1 -1
  88. package/dist/types/src/components/List/List.stories.d.ts +8 -2
  89. package/dist/types/src/components/List/List.stories.d.ts.map +1 -1
  90. package/dist/types/src/components/List/Tree.d.ts.map +1 -1
  91. package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -1
  92. package/dist/types/src/components/List/Treegrid.d.ts +9 -9
  93. package/dist/types/src/components/List/Treegrid.d.ts.map +1 -1
  94. package/dist/types/src/components/List/Treegrid.stories.d.ts.map +1 -1
  95. package/dist/types/src/components/Main/Main.d.ts +9 -10
  96. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  97. package/dist/types/src/components/Main/Main.stories.d.ts +0 -3
  98. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  99. package/dist/types/src/components/{Menus → Menu}/ContextMenu.d.ts +6 -6
  100. package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -0
  101. package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -0
  102. package/dist/types/src/components/Menu/DropdownMenu.d.ts +113 -0
  103. package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
  104. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +28 -0
  105. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -0
  106. package/dist/types/src/components/Menu/index.d.ts.map +1 -0
  107. package/dist/types/src/components/Message/Message.d.ts +1 -1
  108. package/dist/types/src/components/Message/Message.d.ts.map +1 -1
  109. package/dist/types/src/components/Message/Message.stories.d.ts +5 -6
  110. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  111. package/dist/types/src/components/Popover/Popover.d.ts +33 -24
  112. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  113. package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
  114. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +32 -24
  115. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  116. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +65 -8
  117. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  118. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +48 -13
  119. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
  120. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +10 -5
  121. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -1
  122. package/dist/types/src/components/Select/Select.d.ts +9 -9
  123. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  124. package/dist/types/src/components/Select/Select.stories.d.ts +2 -2
  125. package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
  126. package/dist/types/src/components/Separator/Separator.d.ts +4 -4
  127. package/dist/types/src/components/Separator/Separator.d.ts.map +1 -1
  128. package/dist/types/src/components/Skeleton/Skeleton.d.ts +12 -0
  129. package/dist/types/src/components/Skeleton/Skeleton.d.ts.map +1 -0
  130. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts +17 -0
  131. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -0
  132. package/dist/types/src/components/Skeleton/index.d.ts +2 -0
  133. package/dist/types/src/components/Skeleton/index.d.ts.map +1 -0
  134. package/dist/types/src/components/Splitter/Splitter.d.ts +42 -0
  135. package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -0
  136. package/dist/types/src/components/Splitter/Splitter.stories.d.ts +7 -0
  137. package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -0
  138. package/dist/types/src/components/Splitter/index.d.ts +2 -0
  139. package/dist/types/src/components/Splitter/index.d.ts.map +1 -0
  140. package/dist/types/src/components/Status/Status.d.ts +3 -4
  141. package/dist/types/src/components/Status/Status.d.ts.map +1 -1
  142. package/dist/types/src/components/Status/Status.stories.d.ts +4 -2
  143. package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
  144. package/dist/types/src/components/Tag/Tag.d.ts +1 -1
  145. package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
  146. package/dist/types/src/components/Tag/Tag.stories.d.ts +0 -5
  147. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
  148. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +3 -3
  149. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  150. package/dist/types/src/components/{Menus/DropdownMenu.stories.d.ts → ThemeProvider/ThemeProvider.stories.d.ts} +2 -5
  151. package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -0
  152. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +1 -8
  153. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
  154. package/dist/types/src/components/ThemeProvider/index.d.ts +2 -1
  155. package/dist/types/src/components/ThemeProvider/index.d.ts.map +1 -1
  156. package/dist/types/src/components/Toast/Toast.d.ts +19 -19
  157. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  158. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
  159. package/dist/types/src/components/Toolbar/Toolbar.d.ts +43 -17
  160. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  161. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  162. package/dist/types/src/components/Tooltip/Tooltip.d.ts +9 -9
  163. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  164. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +2 -2
  165. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/index.d.ts +10 -5
  167. package/dist/types/src/components/index.d.ts.map +1 -1
  168. package/dist/types/src/exemplars/generics.stories.d.ts +23 -0
  169. package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
  170. package/dist/types/src/exemplars/slot.stories.d.ts +15 -0
  171. package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -0
  172. package/dist/types/src/exemplars/tabster.stories.d.ts +8 -0
  173. package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -0
  174. package/dist/types/src/exemplars/virtualizer.stories.d.ts +11 -0
  175. package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -0
  176. package/dist/types/src/hooks/index.d.ts +1 -0
  177. package/dist/types/src/hooks/index.d.ts.map +1 -1
  178. package/dist/types/src/hooks/useDensityContext.d.ts +2 -2
  179. package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
  180. package/dist/types/src/hooks/useElevationContext.d.ts +1 -1
  181. package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
  182. package/dist/types/src/index.d.ts +2 -1
  183. package/dist/types/src/index.d.ts.map +1 -1
  184. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  185. package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
  186. package/dist/types/src/primitives/Column/Column.d.ts +51 -0
  187. package/dist/types/src/primitives/Column/Column.d.ts.map +1 -0
  188. package/dist/types/src/primitives/Column/Column.stories.d.ts +25 -0
  189. package/dist/types/src/primitives/Column/Column.stories.d.ts.map +1 -0
  190. package/dist/types/src/primitives/Column/index.d.ts +2 -0
  191. package/dist/types/src/primitives/Column/index.d.ts.map +1 -0
  192. package/dist/types/src/primitives/Container/Container.d.ts +11 -0
  193. package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
  194. package/dist/types/src/primitives/Container/Container.stories.d.ts +6 -0
  195. package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
  196. package/dist/types/src/primitives/Container/index.d.ts +2 -0
  197. package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
  198. package/dist/types/src/primitives/Flex/Flex.d.ts +15 -0
  199. package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
  200. package/dist/types/src/primitives/Flex/Flex.stories.d.ts +8 -0
  201. package/dist/types/src/primitives/Flex/Flex.stories.d.ts.map +1 -0
  202. package/dist/types/src/primitives/Flex/index.d.ts +2 -0
  203. package/dist/types/src/primitives/Flex/index.d.ts.map +1 -0
  204. package/dist/types/src/primitives/Grid/Grid.d.ts +14 -0
  205. package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -0
  206. package/dist/types/src/primitives/Grid/Grid.stories.d.ts +8 -0
  207. package/dist/types/src/primitives/Grid/Grid.stories.d.ts.map +1 -0
  208. package/dist/types/src/primitives/Grid/index.d.ts +2 -0
  209. package/dist/types/src/primitives/Grid/index.d.ts.map +1 -0
  210. package/dist/types/src/primitives/Panel/Panel.d.ts +51 -0
  211. package/dist/types/src/primitives/Panel/Panel.d.ts.map +1 -0
  212. package/dist/types/src/primitives/Panel/Panel.stories.d.ts +6 -0
  213. package/dist/types/src/primitives/Panel/Panel.stories.d.ts.map +1 -0
  214. package/dist/types/src/primitives/Panel/index.d.ts +2 -0
  215. package/dist/types/src/primitives/Panel/index.d.ts.map +1 -0
  216. package/dist/types/src/primitives/index.d.ts +6 -0
  217. package/dist/types/src/primitives/index.d.ts.map +1 -0
  218. package/dist/types/src/testing/Loading.d.ts +9 -0
  219. package/dist/types/src/testing/Loading.d.ts.map +1 -0
  220. package/dist/types/src/testing/decorators/withLayout.d.ts +3 -3
  221. package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -1
  222. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts +1 -1
  223. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -1
  224. package/dist/types/src/testing/decorators/withTheme.d.ts +3 -2
  225. package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
  226. package/dist/types/src/testing/index.d.ts +1 -0
  227. package/dist/types/src/testing/index.d.ts.map +1 -1
  228. package/dist/types/src/translations.d.ts +11 -0
  229. package/dist/types/src/translations.d.ts.map +1 -0
  230. package/dist/types/src/util/index.d.ts +1 -2
  231. package/dist/types/src/util/index.d.ts.map +1 -1
  232. package/dist/types/src/util/usePx.d.ts.map +1 -1
  233. package/dist/types/tsconfig.tsbuildinfo +1 -1
  234. package/package.json +42 -32
  235. package/src/components/Avatars/Avatar.stories.tsx +7 -9
  236. package/src/components/Avatars/Avatar.tsx +7 -15
  237. package/src/components/Avatars/AvatarGroup.stories.tsx +2 -3
  238. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +3 -4
  239. package/src/components/Breadcrumb/Breadcrumb.tsx +11 -37
  240. package/src/components/Button/Button.stories.tsx +3 -4
  241. package/src/components/Button/Button.tsx +12 -26
  242. package/src/components/Button/IconButton.stories.tsx +8 -6
  243. package/src/components/Button/IconButton.tsx +9 -6
  244. package/src/components/Button/Toggle.stories.tsx +2 -3
  245. package/src/components/Button/Toggle.tsx +4 -4
  246. package/src/components/Button/ToggleGroup.stories.tsx +2 -3
  247. package/src/components/Button/ToggleGroup.tsx +12 -16
  248. package/src/components/Card/Card.stories.tsx +151 -0
  249. package/src/components/Card/Card.tsx +492 -0
  250. package/src/components/Card/index.ts +5 -0
  251. package/src/components/Clipboard/CopyButton.tsx +7 -8
  252. package/src/components/DensityProvider/DensityProvider.tsx +1 -1
  253. package/src/components/Dialog/AlertDialog.stories.tsx +16 -17
  254. package/src/components/Dialog/AlertDialog.tsx +123 -82
  255. package/src/components/Dialog/Dialog.stories.tsx +138 -28
  256. package/src/components/Dialog/Dialog.tsx +197 -71
  257. package/src/components/ElevationProvider/ElevationProvider.tsx +1 -1
  258. package/src/components/ErrorFallback/ErrorFallback.stories.tsx +45 -0
  259. package/src/components/ErrorFallback/ErrorFallback.tsx +70 -0
  260. package/src/components/ErrorFallback/ErrorStack.tsx +80 -0
  261. package/src/components/ErrorFallback/ThrowError.tsx +37 -0
  262. package/src/components/ErrorFallback/index.ts +9 -0
  263. package/src/components/Focus/AUDIT.md +43 -0
  264. package/src/components/Focus/Focus.stories.tsx +230 -0
  265. package/src/components/Focus/Focus.tsx +201 -0
  266. package/src/components/Focus/index.ts +5 -0
  267. package/src/components/Icon/Icon.stories.tsx +45 -15
  268. package/src/components/Icon/Icon.tsx +7 -3
  269. package/src/components/Image/Image.stories.tsx +86 -0
  270. package/src/components/Image/Image.tsx +223 -0
  271. package/src/components/Image/index.ts +5 -0
  272. package/src/components/Input/Input.stories.tsx +21 -41
  273. package/src/components/Input/Input.tsx +36 -72
  274. package/src/components/Link/Link.stories.tsx +2 -3
  275. package/src/components/Link/Link.tsx +2 -2
  276. package/src/components/List/List.stories.tsx +30 -34
  277. package/src/components/List/List.tsx +17 -21
  278. package/src/components/List/ListDropIndicator.tsx +7 -7
  279. package/src/components/List/Tree.stories.tsx +5 -6
  280. package/src/components/List/Tree.tsx +0 -1
  281. package/src/components/List/TreeDropIndicator.tsx +6 -6
  282. package/src/components/List/Treegrid.stories.tsx +29 -30
  283. package/src/components/List/Treegrid.tsx +23 -28
  284. package/src/components/Main/Main.stories.tsx +41 -24
  285. package/src/components/Main/Main.tsx +139 -83
  286. package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +2 -3
  287. package/src/components/{Menus → Menu}/ContextMenu.tsx +9 -33
  288. package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +2 -3
  289. package/src/components/{Menus → Menu}/DropdownMenu.tsx +119 -109
  290. package/src/components/Message/Message.stories.tsx +27 -13
  291. package/src/components/Message/Message.tsx +43 -34
  292. package/src/components/Popover/Popover.stories.tsx +7 -8
  293. package/src/components/Popover/Popover.tsx +97 -92
  294. package/src/components/ScrollArea/ScrollArea.stories.tsx +223 -34
  295. package/src/components/ScrollArea/ScrollArea.tsx +97 -79
  296. package/src/components/ScrollArea/index.ts +1 -1
  297. package/src/components/ScrollContainer/ScrollContainer.stories.tsx +47 -25
  298. package/src/components/ScrollContainer/ScrollContainer.tsx +225 -109
  299. package/src/components/Select/Select.stories.tsx +7 -8
  300. package/src/components/Select/Select.tsx +11 -27
  301. package/src/components/Separator/Separator.tsx +5 -8
  302. package/src/components/Skeleton/Skeleton.stories.tsx +51 -0
  303. package/src/components/Skeleton/Skeleton.tsx +26 -0
  304. package/src/components/Skeleton/index.ts +5 -0
  305. package/src/components/Splitter/Splitter.stories.tsx +83 -0
  306. package/src/components/Splitter/Splitter.tsx +127 -0
  307. package/src/components/Splitter/index.ts +5 -0
  308. package/src/components/Status/Status.stories.tsx +21 -18
  309. package/src/components/Status/Status.tsx +10 -7
  310. package/src/components/Tag/Tag.stories.tsx +6 -12
  311. package/src/components/Tag/Tag.tsx +3 -8
  312. package/src/components/ThemeProvider/ThemeProvider.stories.tsx +31 -0
  313. package/src/components/ThemeProvider/ThemeProvider.tsx +10 -10
  314. package/src/components/ThemeProvider/TranslationsProvider.tsx +1 -16
  315. package/src/components/ThemeProvider/index.ts +3 -3
  316. package/src/components/Toast/Toast.stories.tsx +2 -3
  317. package/src/components/Toast/Toast.tsx +22 -41
  318. package/src/components/Toolbar/Toolbar.stories.tsx +2 -3
  319. package/src/components/Toolbar/Toolbar.tsx +185 -23
  320. package/src/components/Tooltip/Tooltip.stories.tsx +20 -19
  321. package/src/components/Tooltip/Tooltip.tsx +40 -38
  322. package/src/components/index.ts +11 -6
  323. package/src/exemplars/generics.stories.tsx +41 -0
  324. package/src/exemplars/slot.stories.tsx +117 -0
  325. package/src/exemplars/tabster.stories.tsx +127 -0
  326. package/src/exemplars/virtualizer.stories.tsx +137 -0
  327. package/src/hooks/index.ts +1 -0
  328. package/src/hooks/useDensityContext.ts +3 -3
  329. package/src/hooks/useElevationContext.ts +1 -1
  330. package/src/index.ts +2 -1
  331. package/src/playground/Controls.stories.tsx +3 -10
  332. package/src/playground/Custom.stories.tsx +11 -21
  333. package/src/playground/Typography.stories.tsx +3 -3
  334. package/src/primitives/Column/AUDIT.md +354 -0
  335. package/src/primitives/Column/Column.stories.tsx +182 -0
  336. package/src/primitives/Column/Column.tsx +169 -0
  337. package/src/primitives/Column/index.ts +5 -0
  338. package/src/primitives/Container/Container.stories.tsx +29 -0
  339. package/src/primitives/Container/Container.tsx +19 -0
  340. package/src/primitives/Container/index.ts +5 -0
  341. package/src/primitives/Flex/Flex.stories.tsx +57 -0
  342. package/src/primitives/Flex/Flex.tsx +27 -0
  343. package/src/primitives/Flex/index.ts +5 -0
  344. package/src/primitives/Grid/Grid.stories.tsx +56 -0
  345. package/src/primitives/Grid/Grid.tsx +30 -0
  346. package/src/primitives/Grid/index.ts +5 -0
  347. package/src/primitives/Panel/Panel.stories.tsx +68 -0
  348. package/src/primitives/Panel/Panel.tsx +120 -0
  349. package/src/primitives/Panel/index.ts +5 -0
  350. package/src/primitives/index.ts +9 -0
  351. package/src/testing/Loading.tsx +27 -0
  352. package/src/testing/decorators/withLayout.tsx +39 -18
  353. package/src/testing/decorators/withLayoutVariants.tsx +20 -23
  354. package/src/testing/decorators/withTheme.tsx +26 -20
  355. package/src/testing/index.ts +2 -0
  356. package/src/translations.ts +19 -0
  357. package/src/util/index.ts +2 -2
  358. package/src/util/usePx.ts +1 -0
  359. package/dist/lib/browser/chunk-53MI2QCM.mjs +0 -4707
  360. package/dist/lib/browser/chunk-53MI2QCM.mjs.map +0 -7
  361. package/dist/lib/node-esm/chunk-ID67AFFF.mjs +0 -4709
  362. package/dist/lib/node-esm/chunk-ID67AFFF.mjs.map +0 -7
  363. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +0 -15
  364. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +0 -1
  365. package/dist/types/src/components/AnchoredOverflow/index.d.ts +0 -2
  366. package/dist/types/src/components/AnchoredOverflow/index.d.ts.map +0 -1
  367. package/dist/types/src/components/Menus/ContextMenu.d.ts.map +0 -1
  368. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +0 -1
  369. package/dist/types/src/components/Menus/DropdownMenu.d.ts +0 -113
  370. package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +0 -1
  371. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts.map +0 -1
  372. package/dist/types/src/components/Menus/index.d.ts.map +0 -1
  373. package/dist/types/src/util/ThemedClassName.d.ts +0 -5
  374. package/dist/types/src/util/ThemedClassName.d.ts.map +0 -1
  375. package/dist/types/src/util/domino.d.ts +0 -18
  376. package/dist/types/src/util/domino.d.ts.map +0 -1
  377. package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +0 -59
  378. package/src/components/AnchoredOverflow/index.ts +0 -5
  379. package/src/util/ThemedClassName.ts +0 -7
  380. package/src/util/domino.ts +0 -53
  381. /package/dist/types/src/components/{Menus → Menu}/ContextMenu.stories.d.ts +0 -0
  382. /package/dist/types/src/components/{Menus → Menu}/index.d.ts +0 -0
  383. /package/src/components/{Menus → Menu}/index.ts +0 -0
@@ -8,7 +8,7 @@ import { Slot } from '@radix-ui/react-slot';
8
8
  import React, { type ComponentPropsWithRef, forwardRef } from 'react';
9
9
 
10
10
  import { useId } from '@dxos/react-hooks';
11
- import { type Elevation, type MessageValence } from '@dxos/react-ui-types';
11
+ import { type Elevation, type MessageValence } from '@dxos/ui-types';
12
12
 
13
13
  import { useElevationContext, useThemeContext } from '../../hooks';
14
14
  import { type ThemedClassName } from '../../util';
@@ -31,9 +31,15 @@ type MessageRootProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.d
31
31
  };
32
32
 
33
33
  type MessageContextValue = { titleId?: string; descriptionId: string; valence: MessageValence };
34
+
34
35
  const MESSAGE_NAME = 'Message';
36
+
35
37
  const [MessageProvider, useMessageContext] = createContext<MessageContextValue>(MESSAGE_NAME);
36
38
 
39
+ //
40
+ // Root
41
+ //
42
+
37
43
  const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
38
44
  (
39
45
  {
@@ -52,19 +58,20 @@ const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
52
58
  const titleId = useId('message__title', propsTitleId);
53
59
  const descriptionId = useId('message__description', propsDescriptionId);
54
60
  const elevation = useElevationContext(propsElevation);
55
- const Root = asChild ? Slot : Primitive.div;
61
+ const Comp = asChild ? Slot : Primitive.div;
62
+
56
63
  return (
57
64
  <MessageProvider {...{ titleId, descriptionId, valence }}>
58
- <Root
65
+ <Comp
59
66
  role={valence === 'neutral' ? 'paragraph' : 'alert'}
60
67
  {...props}
61
- className={tx('message.root', 'message', { valence, elevation }, classNames)}
68
+ className={tx('message.root', { valence, elevation }, classNames)}
62
69
  aria-labelledby={titleId}
63
70
  aria-describedby={descriptionId}
64
71
  ref={forwardedRef}
65
72
  >
66
73
  {children}
67
- </Root>
74
+ </Comp>
68
75
  </MessageProvider>
69
76
  );
70
77
  },
@@ -72,6 +79,10 @@ const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
72
79
 
73
80
  MessageRoot.displayName = MESSAGE_NAME;
74
81
 
82
+ //
83
+ // Title
84
+ //
85
+
75
86
  type MessageTitleProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Primitive.h2>>, 'id'> & {
76
87
  asChild?: boolean;
77
88
  icon?: string;
@@ -80,59 +91,57 @@ type MessageTitleProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Primi
80
91
  const MESSAGE_TITLE_NAME = 'MessageTitle';
81
92
 
82
93
  const MessageTitle = forwardRef<HTMLHeadingElement, MessageTitleProps>(
83
- ({ asChild, classNames, children, icon, ...props }, forwardedRef) => {
94
+ ({ asChild, classNames, children, icon: iconProp, ...props }, forwardedRef) => {
84
95
  const { tx } = useThemeContext();
85
96
  const { titleId, valence } = useMessageContext(MESSAGE_TITLE_NAME);
86
- const Root = asChild ? Slot : Primitive.h2;
97
+ const Comp = asChild ? Slot : Primitive.h2;
98
+ const icon = iconProp ?? messageIcons[valence];
87
99
  return (
88
- <Root
89
- {...props}
90
- className={tx('message.title', 'message__title', {}, classNames)}
91
- id={titleId}
92
- ref={forwardedRef}
93
- >
94
- {!icon && valence === 'neutral' ? null : (
95
- <Icon
96
- size={5}
97
- icon={icon ?? messageIcons[valence]}
98
- classNames={tx('message.icon', 'message__icon', { valence })}
99
- />
100
- )}
101
- <span>{children}</span>
102
- </Root>
100
+ <Comp {...props} className={tx('message.header', {}, classNames)} id={titleId} ref={forwardedRef}>
101
+ {!icon && valence === 'neutral' ? <div /> : <Icon icon={icon} classNames={tx('message.icon', { valence })} />}
102
+ <span className={tx('message.title', {}, classNames)}>{children}</span>
103
+ </Comp>
103
104
  );
104
105
  },
105
106
  );
106
107
 
107
108
  MessageTitle.displayName = MESSAGE_TITLE_NAME;
108
109
 
110
+ //
111
+ // Content
112
+ //
113
+
109
114
  type MessageContentProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Primitive.h2>>, 'id'> & {
110
115
  asChild?: boolean;
111
116
  };
112
117
 
113
- const MESSAGE_BODY_NAME = 'MessageContent';
118
+ const MESSAGE_CONTENT_NAME = 'MessageContent';
114
119
 
115
120
  const MessageContent = forwardRef<HTMLParagraphElement, MessageContentProps>(
116
121
  ({ asChild, classNames, children, ...props }, forwardedRef) => {
117
122
  const { tx } = useThemeContext();
118
- const { descriptionId } = useMessageContext(MESSAGE_BODY_NAME);
119
- const Root = asChild ? Slot : Primitive.p;
123
+ const { descriptionId } = useMessageContext(MESSAGE_CONTENT_NAME);
124
+ const Comp = asChild ? Slot : Primitive.p;
120
125
  return (
121
- <Root
122
- {...props}
123
- className={tx('message.content', 'message__content', {}, classNames)}
124
- id={descriptionId}
125
- ref={forwardedRef}
126
- >
126
+ <Comp {...props} className={tx('message.content', {}, classNames)} id={descriptionId} ref={forwardedRef}>
127
127
  {children}
128
- </Root>
128
+ </Comp>
129
129
  );
130
130
  },
131
131
  );
132
132
 
133
- MessageContent.displayName = MESSAGE_BODY_NAME;
133
+ MessageContent.displayName = MESSAGE_CONTENT_NAME;
134
+
135
+ //
136
+ // Message
137
+ //
138
+
139
+ export const Message = {
140
+ Root: MessageRoot,
141
+ Title: MessageTitle,
142
+ Content: MessageContent,
143
+ };
134
144
 
135
- export const Message = { Root: MessageRoot, Title: MessageTitle, Content: MessageContent };
136
145
  export const Callout = Message;
137
146
 
138
147
  export type { MessageRootProps, MessageTitleProps, MessageContentProps };
@@ -5,14 +5,13 @@
5
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
  import React, { type PropsWithChildren, type ReactNode, useRef, useState } from 'react';
7
7
 
8
- import { faker } from '@dxos/random';
8
+ import { random } from '@dxos/random';
9
9
 
10
10
  import { withTheme } from '../../testing';
11
11
  import { Button } from '../Button';
12
-
13
12
  import { Popover } from './Popover';
14
13
 
15
- faker.seed(1234);
14
+ random.seed(1234);
16
15
 
17
16
  const DefaultStory = ({ openTrigger, children }: PropsWithChildren<{ openTrigger: ReactNode }>) => {
18
17
  return (
@@ -20,7 +19,7 @@ const DefaultStory = ({ openTrigger, children }: PropsWithChildren<{ openTrigger
20
19
  <Popover.Trigger asChild>{openTrigger}</Popover.Trigger>
21
20
  <Popover.Content>
22
21
  <Popover.Viewport>
23
- <p className='pli-2 plb-1 min-is-[18rem] max-is-[38rem]'>{children}</p>
22
+ <p className='px-2 py-1 min-w-[18rem] max-w-[38rem]'>{children}</p>
24
23
  </Popover.Viewport>
25
24
  <Popover.Arrow />
26
25
  </Popover.Content>
@@ -29,10 +28,10 @@ const DefaultStory = ({ openTrigger, children }: PropsWithChildren<{ openTrigger
29
28
  };
30
29
 
31
30
  const meta = {
32
- title: 'ui/react-ui-core/Popover',
31
+ title: 'ui/react-ui-core/components/Popover',
33
32
  component: Popover.Root,
34
33
  render: DefaultStory,
35
- decorators: [withTheme],
34
+ decorators: [withTheme()],
36
35
  } satisfies Meta<typeof DefaultStory>;
37
36
 
38
37
  export default meta;
@@ -42,7 +41,7 @@ type Story = StoryObj<typeof meta>;
42
41
  export const Default: Story = {
43
42
  args: {
44
43
  openTrigger: <Button>Open popover</Button>,
45
- children: faker.lorem.paragraphs(3),
44
+ children: random.lorem.paragraphs(3),
46
45
  },
47
46
  };
48
47
 
@@ -59,7 +58,7 @@ export const VirtualTrigger = {
59
58
  <Popover.VirtualTrigger virtualRef={buttonRef} />
60
59
  <Popover.Content>
61
60
  <Popover.Viewport>
62
- <p className='pli-2 plb-1 min-is-[18rem] max-is-[38rem]'>{faker.lorem.paragraphs(3)}</p>
61
+ <p className='px-2 py-1 min-w-[18rem] max-w-[38rem]'>{random.lorem.paragraphs(3)}</p>
63
62
  </Popover.Viewport>
64
63
  <Popover.Arrow />
65
64
  </Popover.Content>
@@ -2,7 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- // This is based upon `@radix-ui/react-popover` fetched 25 Oct 2024 at https://github.com/radix-ui/primitives at commit 374c7d7.
5
+ // This is based upon `@radix-ui/react-popover` fetched Oct 25, 2024 at https://github.com/radix-ui/primitives at commit 374c7d7.
6
6
 
7
7
  import { composeEventHandlers } from '@radix-ui/primitive';
8
8
  import { useComposedRefs } from '@radix-ui/react-compose-refs';
@@ -23,9 +23,8 @@ import { hideOthers } from 'aria-hidden';
23
23
  import React, {
24
24
  type ComponentPropsWithRef,
25
25
  type ComponentPropsWithoutRef,
26
- type ElementRef,
26
+ type ComponentRef,
27
27
  type FC,
28
- type MutableRefObject,
29
28
  type ReactNode,
30
29
  type RefObject,
31
30
  forwardRef,
@@ -37,41 +36,46 @@ import React, {
37
36
  } from 'react';
38
37
  import { RemoveScroll } from 'react-remove-scroll';
39
38
 
40
- import { useElevationContext, useThemeContext } from '../../hooks';
41
- import { useSafeCollisionPadding } from '../../hooks/useSafeCollisionPadding';
39
+ import { useSafeCollisionPadding, useElevationContext, useThemeContext } from '../../hooks';
42
40
  import { type ThemedClassName } from '../../util';
43
41
 
44
- /* -------------------------------------------------------------------------------------------------
45
- * Popover
46
- * ----------------------------------------------------------------------------------------------- */
42
+ //
43
+ // Context
44
+ //
45
+
46
+ type ScopedProps<P> = P & { __scopePopover?: Scope };
47
47
 
48
48
  const POPOVER_NAME = 'Popover';
49
49
 
50
- type ScopedProps<P> = P & { __scopePopover?: Scope };
51
50
  const [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [createPopperScope]);
51
+
52
52
  const usePopperScope = createPopperScope();
53
53
 
54
54
  type PopoverContextValue = {
55
- triggerRef: MutableRefObject<HTMLButtonElement>;
55
+ triggerRef: RefObject<HTMLButtonElement>;
56
56
  contentId: string;
57
+ hasCustomAnchor: boolean;
58
+ modal: boolean;
57
59
  open: boolean;
58
60
  onOpenChange(open: boolean): void;
59
61
  onOpenToggle(): void;
60
- hasCustomAnchor: boolean;
61
62
  onCustomAnchorAdd(): void;
62
63
  onCustomAnchorRemove(): void;
63
- modal: boolean;
64
64
  };
65
65
 
66
66
  const [PopoverProvider, usePopoverContext] = createPopoverContext<PopoverContextValue>(POPOVER_NAME);
67
67
 
68
- interface PopoverRootProps {
68
+ //
69
+ // PopoverRoot
70
+ //
71
+
72
+ type PopoverRootProps = {
69
73
  children?: ReactNode;
70
74
  open?: boolean;
71
75
  defaultOpen?: boolean;
72
76
  onOpenChange?: (open: boolean) => void;
73
77
  modal?: boolean;
74
- }
78
+ };
75
79
 
76
80
  const PopoverRoot: FC<PopoverRootProps> = (props: ScopedProps<PopoverRootProps>) => {
77
81
  const { __scopePopover, children, open: openProp, defaultOpen, onOpenChange, modal = false } = props;
@@ -89,7 +93,7 @@ const PopoverRoot: FC<PopoverRootProps> = (props: ScopedProps<PopoverRootProps>)
89
93
  <PopoverProvider
90
94
  scope={__scopePopover}
91
95
  contentId={useId()}
92
- triggerRef={triggerRef as MutableRefObject<HTMLButtonElement>}
96
+ triggerRef={triggerRef as RefObject<HTMLButtonElement>}
93
97
  open={open}
94
98
  onOpenChange={setOpen}
95
99
  onOpenToggle={useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}
@@ -106,15 +110,15 @@ const PopoverRoot: FC<PopoverRootProps> = (props: ScopedProps<PopoverRootProps>)
106
110
 
107
111
  PopoverRoot.displayName = POPOVER_NAME;
108
112
 
109
- /* -------------------------------------------------------------------------------------------------
110
- * PopoverAnchor
111
- * ----------------------------------------------------------------------------------------------- */
113
+ //
114
+ // PopoverAnchor
115
+ //
112
116
 
113
117
  const ANCHOR_NAME = 'PopoverAnchor';
114
118
 
115
- type PopoverAnchorElement = ElementRef<typeof PopperPrimitive.Anchor>;
119
+ type PopoverAnchorElement = ComponentRef<typeof PopperPrimitive.Anchor>;
116
120
  type PopperAnchorProps = ComponentPropsWithoutRef<typeof PopperPrimitive.Anchor>;
117
- interface PopoverAnchorProps extends PopperAnchorProps {}
121
+ type PopoverAnchorProps = PopperAnchorProps;
118
122
 
119
123
  const PopoverAnchor = forwardRef<PopoverAnchorElement, PopoverAnchorProps>(
120
124
  (props: ScopedProps<PopoverAnchorProps>, forwardedRef) => {
@@ -134,25 +138,28 @@ const PopoverAnchor = forwardRef<PopoverAnchorElement, PopoverAnchorProps>(
134
138
 
135
139
  PopoverAnchor.displayName = ANCHOR_NAME;
136
140
 
137
- /* -------------------------------------------------------------------------------------------------
138
- * PopoverTrigger
139
- * ----------------------------------------------------------------------------------------------- */
141
+ //
142
+ // PopoverTrigger
143
+ //
140
144
 
141
145
  const TRIGGER_NAME = 'PopoverTrigger';
142
146
 
143
- type PopoverTriggerElement = ElementRef<typeof Primitive.button>;
147
+ type PopoverTriggerElement = ComponentRef<typeof Primitive.button>;
144
148
  type PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;
145
- interface PopoverTriggerProps extends PrimitiveButtonProps {}
149
+ type PopoverTriggerProps = PrimitiveButtonProps & {
150
+ asChild?: boolean;
151
+ };
146
152
 
147
153
  const PopoverTrigger = forwardRef<PopoverTriggerElement, PopoverTriggerProps>(
148
154
  (props: ScopedProps<PopoverTriggerProps>, forwardedRef) => {
149
- const { __scopePopover, ...triggerProps } = props;
155
+ const { __scopePopover, asChild, ...triggerProps } = props;
150
156
  const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
151
157
  const popperScope = usePopperScope(__scopePopover);
152
158
  const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
159
+ const Comp = asChild ? Slot : Primitive.button;
153
160
 
154
161
  const trigger = (
155
- <Primitive.button
162
+ <Comp
156
163
  type='button'
157
164
  aria-haspopup='dialog'
158
165
  aria-expanded={context.open}
@@ -176,15 +183,15 @@ const PopoverTrigger = forwardRef<PopoverTriggerElement, PopoverTriggerProps>(
176
183
 
177
184
  PopoverTrigger.displayName = TRIGGER_NAME;
178
185
 
179
- /* -------------------------------------------------------------------------------------------------
180
- * PopoverVirtualTrigger
181
- * ----------------------------------------------------------------------------------------------- */
186
+ //
187
+ // PopoverVirtualTrigger
188
+ //
182
189
 
183
190
  const VIRTUAL_TRIGGER_NAME = 'PopoverVirtualTrigger';
184
191
 
185
- interface PopoverVirtualTriggerProps {
192
+ type PopoverVirtualTriggerProps = {
186
193
  virtualRef: RefObject<PopoverTriggerElement | null>;
187
- }
194
+ };
188
195
 
189
196
  const PopoverVirtualTrigger = (props: ScopedProps<PopoverVirtualTriggerProps>) => {
190
197
  const { __scopePopover, virtualRef } = props;
@@ -200,9 +207,9 @@ const PopoverVirtualTrigger = (props: ScopedProps<PopoverVirtualTriggerProps>) =
200
207
 
201
208
  PopoverVirtualTrigger.displayName = VIRTUAL_TRIGGER_NAME;
202
209
 
203
- /* -------------------------------------------------------------------------------------------------
204
- * PopoverPortal
205
- * ----------------------------------------------------------------------------------------------- */
210
+ //
211
+ // PopoverPortal
212
+ //
206
213
 
207
214
  const PORTAL_NAME = 'PopoverPortal';
208
215
 
@@ -212,7 +219,7 @@ const [PortalProvider, usePortalContext] = createPopoverContext<PortalContextVal
212
219
  });
213
220
 
214
221
  type PortalProps = ComponentPropsWithoutRef<typeof PortalPrimitive>;
215
- interface PopoverPortalProps {
222
+ type PopoverPortalProps = {
216
223
  children?: ReactNode;
217
224
  /**
218
225
  * Specify a container element to portal the content into.
@@ -223,9 +230,9 @@ interface PopoverPortalProps {
223
230
  * controlling animation with React animation libraries.
224
231
  */
225
232
  forceMount?: true;
226
- }
233
+ };
227
234
 
228
- const PopoverPortal: FC<PopoverPortalProps> = (props: ScopedProps<PopoverPortalProps>) => {
235
+ const PopoverPortal = (props: ScopedProps<PopoverPortalProps>) => {
229
236
  const { __scopePopover, forceMount, children, container } = props;
230
237
  const context = usePopoverContext(PORTAL_NAME, __scopePopover);
231
238
  return (
@@ -241,9 +248,9 @@ const PopoverPortal: FC<PopoverPortalProps> = (props: ScopedProps<PopoverPortalP
241
248
 
242
249
  PopoverPortal.displayName = PORTAL_NAME;
243
250
 
244
- /* -------------------------------------------------------------------------------------------------
245
- * PopoverContent
246
- * ----------------------------------------------------------------------------------------------- */
251
+ //
252
+ // PopoverContent
253
+ //
247
254
 
248
255
  const CONTENT_NAME = 'PopoverContent';
249
256
 
@@ -275,11 +282,11 @@ const PopoverContent = forwardRef<PopoverContentTypeElement, PopoverContentProps
275
282
 
276
283
  PopoverContent.displayName = CONTENT_NAME;
277
284
 
278
- /* ----------------------------------------------------------------------------------------------- */
279
-
280
285
  type PopoverContentTypeElement = PopoverContentImplElement;
281
- export interface PopoverContentTypeProps
282
- extends Omit<PopoverContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {}
286
+ export interface PopoverContentTypeProps extends Omit<
287
+ PopoverContentImplProps,
288
+ 'trapFocus' | 'disableOutsidePointerEvents'
289
+ > {}
283
290
 
284
291
  const PopoverContentModal = forwardRef<PopoverContentTypeElement, PopoverContentTypeProps>(
285
292
  (props: ScopedProps<PopoverContentTypeProps>, forwardedRef) => {
@@ -301,8 +308,7 @@ const PopoverContentModal = forwardRef<PopoverContentTypeElement, PopoverContent
301
308
  <PopoverContentImpl
302
309
  {...props}
303
310
  ref={composedRefs}
304
- // we make sure we're not trapping once it's been closed
305
- // (closed !== unmounted when animating out)
311
+ // Make sure we're not trapping once it's been closed (closed !== unmounted when animating out).
306
312
  trapFocus={context.open}
307
313
  disableOutsidePointerEvents
308
314
  onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {
@@ -391,34 +397,31 @@ const PopoverContentNonModal = forwardRef<PopoverContentTypeElement, PopoverCont
391
397
  },
392
398
  );
393
399
 
394
- /* ----------------------------------------------------------------------------------------------- */
395
-
396
- type PopoverContentImplElement = ElementRef<typeof PopperPrimitive.Content>;
400
+ type PopoverContentImplElement = ComponentRef<typeof PopperPrimitive.Content>;
397
401
  type FocusScopeProps = ComponentPropsWithoutRef<typeof FocusScope>;
398
402
  type DismissableLayerProps = ComponentPropsWithoutRef<typeof DismissableLayer>;
399
403
  type PopperContentProps = ThemedClassName<ComponentPropsWithoutRef<typeof PopperPrimitive.Content>>;
400
404
 
401
- interface PopoverContentImplProps
402
- extends Omit<PopperContentProps, 'onPlaced'>,
403
- Omit<DismissableLayerProps, 'onDismiss'> {
404
- /**
405
- * Whether focus should be trapped within the `Popover`
406
- * (default: false)
407
- */
408
- trapFocus?: FocusScopeProps['trapped'];
409
-
410
- /**
411
- * Event handler called when auto-focusing on open.
412
- * Can be prevented.
413
- */
414
- onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];
415
-
416
- /**
417
- * Event handler called when auto-focusing on close.
418
- * Can be prevented.
419
- */
420
- onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];
421
- }
405
+ type PopoverContentImplProps = Omit<PopperContentProps, 'onPlaced'> &
406
+ Omit<DismissableLayerProps, 'onDismiss'> & {
407
+ /**
408
+ * Whether focus should be trapped within the `Popover`
409
+ * (default: false)
410
+ */
411
+ trapFocus?: FocusScopeProps['trapped'];
412
+
413
+ /**
414
+ * Event handler called when auto-focusing on open.
415
+ * Can be prevented.
416
+ */
417
+ onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];
418
+
419
+ /**
420
+ * Event handler called when auto-focusing on close.
421
+ * Can be prevented.
422
+ */
423
+ onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];
424
+ };
422
425
 
423
426
  const PopoverContentImpl = forwardRef<PopoverContentImplElement, PopoverContentImplProps>(
424
427
  (props: ScopedProps<PopoverContentImplProps>, forwardedRef) => {
@@ -485,7 +488,7 @@ const PopoverContentImpl = forwardRef<PopoverContentImplElement, PopoverContentI
485
488
  {...contentProps}
486
489
  collisionPadding={safeCollisionPadding}
487
490
  collisionBoundary={computedCollisionBoundary}
488
- className={tx('popover.content', 'popover', { elevation }, classNames)}
491
+ className={tx('popover.content', { elevation }, classNames)}
489
492
  ref={forwardedRef}
490
493
  style={{
491
494
  ...contentProps.style,
@@ -505,14 +508,14 @@ const PopoverContentImpl = forwardRef<PopoverContentImplElement, PopoverContentI
505
508
  },
506
509
  );
507
510
 
508
- /* -------------------------------------------------------------------------------------------------
509
- * PopoverClose
510
- * ----------------------------------------------------------------------------------------------- */
511
+ //
512
+ // PopoverClose
513
+ //
511
514
 
512
515
  const CLOSE_NAME = 'PopoverClose';
513
516
 
514
- type PopoverCloseElement = ElementRef<typeof Primitive.button>;
515
- interface PopoverCloseProps extends PrimitiveButtonProps {}
517
+ type PopoverCloseElement = ComponentRef<typeof Primitive.button>;
518
+ type PopoverCloseProps = PrimitiveButtonProps;
516
519
 
517
520
  const PopoverClose = forwardRef<PopoverCloseElement, PopoverCloseProps>(
518
521
  (props: ScopedProps<PopoverCloseProps>, forwardedRef) => {
@@ -531,15 +534,15 @@ const PopoverClose = forwardRef<PopoverCloseElement, PopoverCloseProps>(
531
534
 
532
535
  PopoverClose.displayName = CLOSE_NAME;
533
536
 
534
- /* -------------------------------------------------------------------------------------------------
535
- * PopoverArrow
536
- * ----------------------------------------------------------------------------------------------- */
537
+ //
538
+ // PopoverArrow
539
+ //
537
540
 
538
541
  const ARROW_NAME = 'PopoverArrow';
539
542
 
540
- type PopoverArrowElement = ElementRef<typeof PopperPrimitive.Arrow>;
543
+ type PopoverArrowElement = ComponentRef<typeof PopperPrimitive.Arrow>;
541
544
  type PopperArrowProps = ThemedClassName<ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>>;
542
- interface PopoverArrowProps extends PopperArrowProps {}
545
+ type PopoverArrowProps = PopperArrowProps;
543
546
 
544
547
  const PopoverArrow = forwardRef<PopoverArrowElement, PopoverArrowProps>(
545
548
  (props: ScopedProps<PopoverArrowProps>, forwardedRef) => {
@@ -550,7 +553,7 @@ const PopoverArrow = forwardRef<PopoverArrowElement, PopoverArrowProps>(
550
553
  <PopperPrimitive.Arrow
551
554
  {...popperScope}
552
555
  {...arrowProps}
553
- className={tx('popover.arrow', 'popover__arrow', {}, classNames)}
556
+ className={tx('popover.arrow', {}, classNames)}
554
557
  ref={forwardedRef}
555
558
  />
556
559
  );
@@ -559,9 +562,9 @@ const PopoverArrow = forwardRef<PopoverArrowElement, PopoverArrowProps>(
559
562
 
560
563
  PopoverArrow.displayName = ARROW_NAME;
561
564
 
562
- /* -------------------------------------------------------------------------------------------------
563
- * PopoverViewport
564
- * ----------------------------------------------------------------------------------------------- */
565
+ //
566
+ // PopoverViewport
567
+ //
565
568
 
566
569
  type PopoverViewportProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.div>> & {
567
570
  asChild?: boolean;
@@ -572,25 +575,27 @@ type PopoverViewportProps = ThemedClassName<ComponentPropsWithRef<typeof Primiti
572
575
  const PopoverViewport = forwardRef<HTMLDivElement, PopoverViewportProps>(
573
576
  ({ classNames, asChild, constrainInline = true, constrainBlock = true, children, ...props }, forwardedRef) => {
574
577
  const { tx } = useThemeContext();
575
- const Root = asChild ? Slot : Primitive.div;
578
+ const Comp = asChild ? Slot : Primitive.div;
576
579
  return (
577
- <Root
580
+ <Comp
578
581
  {...props}
579
- className={tx('popover.viewport', 'popover__viewport', { constrainInline, constrainBlock }, classNames)}
582
+ className={tx('popover.viewport', { constrainInline, constrainBlock }, classNames)}
580
583
  ref={forwardedRef}
581
584
  >
582
585
  {children}
583
- </Root>
586
+ </Comp>
584
587
  );
585
588
  },
586
589
  );
587
590
 
588
- /* ----------------------------------------------------------------------------------------------- */
589
-
590
591
  const getState = (open: boolean) => (open ? 'open' : 'closed');
591
592
 
592
593
  type PopoverContentInteractOutsideEvent = Parameters<NonNullable<PopoverContentProps['onInteractOutside']>>[0];
593
594
 
595
+ //
596
+ // Popver
597
+ //
598
+
594
599
  export const Popover = {
595
600
  Root: PopoverRoot,
596
601
  Anchor: PopoverAnchor,