@dxos/react-ui 0.8.4-main.ae835ea → 0.8.4-main.bc2380dfbc

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 (476) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/browser/chunk-A5QCIG5R.mjs +24 -0
  4. package/dist/lib/browser/chunk-A5QCIG5R.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-BDBC6H6V.mjs +848 -0
  6. package/dist/lib/browser/chunk-BDBC6H6V.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +4409 -65
  8. package/dist/lib/browser/index.mjs.map +4 -4
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/testing/index.mjs +88 -70
  11. package/dist/lib/browser/testing/index.mjs.map +4 -4
  12. package/dist/lib/browser/translations.mjs +9 -0
  13. package/dist/lib/browser/translations.mjs.map +7 -0
  14. package/dist/lib/node-esm/chunk-3JSJK2ZY.mjs +850 -0
  15. package/dist/lib/node-esm/chunk-3JSJK2ZY.mjs.map +7 -0
  16. package/dist/lib/node-esm/chunk-XCFLA74M.mjs +26 -0
  17. package/dist/lib/node-esm/chunk-XCFLA74M.mjs.map +7 -0
  18. package/dist/lib/node-esm/index.mjs +4409 -65
  19. package/dist/lib/node-esm/index.mjs.map +4 -4
  20. package/dist/lib/node-esm/meta.json +1 -1
  21. package/dist/lib/node-esm/testing/index.mjs +88 -70
  22. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  23. package/dist/lib/node-esm/translations.mjs +10 -0
  24. package/dist/lib/node-esm/translations.mjs.map +7 -0
  25. package/dist/types/src/components/Avatars/Avatar.d.ts +1 -1
  26. package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
  27. package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
  28. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
  29. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  30. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  31. package/dist/types/src/components/{Buttons → Button}/Button.d.ts +3 -3
  32. package/dist/types/src/components/Button/Button.d.ts.map +1 -0
  33. package/dist/types/src/components/{Buttons → Button}/Button.stories.d.ts +1 -1
  34. package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -0
  35. package/dist/types/src/components/{Buttons → Button}/IconButton.d.ts +3 -2
  36. package/dist/types/src/components/Button/IconButton.d.ts.map +1 -0
  37. package/dist/types/src/components/{Buttons → Button}/IconButton.stories.d.ts +3 -0
  38. package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -0
  39. package/dist/types/src/components/{Buttons → Button}/Toggle.d.ts +2 -2
  40. package/dist/types/src/components/Button/Toggle.d.ts.map +1 -0
  41. package/dist/types/src/components/Button/Toggle.stories.d.ts +16 -0
  42. package/dist/types/src/components/Button/Toggle.stories.d.ts.map +1 -0
  43. package/dist/types/src/components/Button/ToggleGroup.d.ts +27 -0
  44. package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -0
  45. package/dist/types/src/components/{Buttons → Button}/ToggleGroup.stories.d.ts +6 -6
  46. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts.map +1 -0
  47. package/dist/types/src/components/Button/index.d.ts.map +1 -0
  48. package/dist/types/src/components/Card/Card.d.ts +124 -0
  49. package/dist/types/src/components/Card/Card.d.ts.map +1 -0
  50. package/dist/types/src/components/Card/Card.stories.d.ts +21 -0
  51. package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -0
  52. package/dist/types/src/components/Card/index.d.ts +2 -0
  53. package/dist/types/src/components/Card/index.d.ts.map +1 -0
  54. package/dist/types/src/components/Carousel/Carousel.d.ts +90 -0
  55. package/dist/types/src/components/Carousel/Carousel.d.ts.map +1 -0
  56. package/dist/types/src/components/Carousel/index.d.ts +2 -0
  57. package/dist/types/src/components/Carousel/index.d.ts.map +1 -0
  58. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +1 -1
  59. package/dist/types/src/components/Clipboard/CopyButton.d.ts +1 -1
  60. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
  61. package/dist/types/src/components/Clipboard/index.d.ts +10 -1
  62. package/dist/types/src/components/Clipboard/index.d.ts.map +1 -1
  63. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts +1 -1
  64. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
  65. package/dist/types/src/components/Dialog/AlertDialog.d.ts +51 -0
  66. package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -0
  67. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -0
  68. package/dist/types/src/components/Dialog/Dialog.d.ts +64 -0
  69. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -0
  70. package/dist/types/src/components/Dialog/Dialog.stories.d.ts +25 -0
  71. package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -0
  72. package/dist/types/src/components/Dialog/index.d.ts.map +1 -0
  73. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts +1 -1
  74. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
  75. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts +11 -0
  76. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -0
  77. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts +7 -0
  78. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts.map +1 -0
  79. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts +19 -0
  80. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -0
  81. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts +9 -0
  82. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts.map +1 -0
  83. package/dist/types/src/components/ErrorFallback/index.d.ts +5 -0
  84. package/dist/types/src/components/ErrorFallback/index.d.ts.map +1 -0
  85. package/dist/types/src/components/Focus/Focus.d.ts +36 -0
  86. package/dist/types/src/components/Focus/Focus.d.ts.map +1 -0
  87. package/dist/types/src/components/Focus/Focus.stories.d.ts +9 -0
  88. package/dist/types/src/components/Focus/Focus.stories.d.ts.map +1 -0
  89. package/dist/types/src/components/Focus/index.d.ts +2 -0
  90. package/dist/types/src/components/Focus/index.d.ts.map +1 -0
  91. package/dist/types/src/components/Icon/Icon.d.ts +5 -1
  92. package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
  93. package/dist/types/src/components/Icon/Icon.stories.d.ts +11 -3
  94. package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -1
  95. package/dist/types/src/components/Image/Image.d.ts +15 -0
  96. package/dist/types/src/components/Image/Image.d.ts.map +1 -0
  97. package/dist/types/src/components/Image/Image.stories.d.ts +34 -0
  98. package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -0
  99. package/dist/types/src/components/Image/index.d.ts +2 -0
  100. package/dist/types/src/components/Image/index.d.ts.map +1 -0
  101. package/dist/types/src/components/Input/Input.d.ts +19 -22
  102. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  103. package/dist/types/src/components/Input/Input.stories.d.ts +8 -8
  104. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  105. package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -1
  106. package/dist/types/src/components/{Lists → List}/List.d.ts +6 -4
  107. package/dist/types/src/components/List/List.d.ts.map +1 -0
  108. package/dist/types/src/components/{Lists → List}/List.stories.d.ts +3 -1
  109. package/dist/types/src/components/List/List.stories.d.ts.map +1 -0
  110. package/dist/types/src/components/List/ListDropIndicator.d.ts.map +1 -0
  111. package/dist/types/src/components/{Lists → List}/Tree.d.ts +2 -2
  112. package/dist/types/src/components/List/Tree.d.ts.map +1 -0
  113. package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -0
  114. package/dist/types/src/components/List/TreeDropIndicator.d.ts.map +1 -0
  115. package/dist/types/src/components/{Lists → List}/Treegrid.d.ts +5 -9
  116. package/dist/types/src/components/List/Treegrid.d.ts.map +1 -0
  117. package/dist/types/src/components/List/Treegrid.stories.d.ts.map +1 -0
  118. package/dist/types/src/components/List/index.d.ts.map +1 -0
  119. package/dist/types/src/components/Main/Main.d.ts +24 -21
  120. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  121. package/dist/types/src/components/Main/Main.stories.d.ts +0 -3
  122. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  123. package/dist/types/src/components/Main/useSwipeToDismiss.d.ts.map +1 -1
  124. package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts +46 -0
  125. package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts.map +1 -0
  126. package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts +16 -0
  127. package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts.map +1 -0
  128. package/dist/types/src/components/MediaPlayer/index.d.ts +2 -0
  129. package/dist/types/src/components/MediaPlayer/index.d.ts.map +1 -0
  130. package/dist/types/src/components/{Menus → Menu}/ContextMenu.d.ts +6 -6
  131. package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -0
  132. package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -0
  133. package/dist/types/src/components/Menu/DropdownMenu.d.ts +121 -0
  134. package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
  135. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +28 -0
  136. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -0
  137. package/dist/types/src/components/Menu/index.d.ts.map +1 -0
  138. package/dist/types/src/components/Message/Message.d.ts +2 -2
  139. package/dist/types/src/components/Message/Message.d.ts.map +1 -1
  140. package/dist/types/src/components/Message/Message.stories.d.ts +5 -6
  141. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  142. package/dist/types/src/components/Popover/Popover.d.ts +40 -23
  143. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  144. package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
  145. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +27 -27
  146. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  147. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +57 -8
  148. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  149. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +68 -0
  150. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -0
  151. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +23 -0
  152. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -0
  153. package/dist/types/src/components/ScrollContainer/index.d.ts +2 -0
  154. package/dist/types/src/components/ScrollContainer/index.d.ts.map +1 -0
  155. package/dist/types/src/components/Select/Select.d.ts +10 -10
  156. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  157. package/dist/types/src/components/Select/Select.stories.d.ts +2 -2
  158. package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
  159. package/dist/types/src/components/Separator/Separator.d.ts +4 -4
  160. package/dist/types/src/components/Separator/Separator.d.ts.map +1 -1
  161. package/dist/types/src/components/Skeleton/Skeleton.d.ts +12 -0
  162. package/dist/types/src/components/Skeleton/Skeleton.d.ts.map +1 -0
  163. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts +17 -0
  164. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -0
  165. package/dist/types/src/components/Skeleton/index.d.ts +2 -0
  166. package/dist/types/src/components/Skeleton/index.d.ts.map +1 -0
  167. package/dist/types/src/components/Splitter/Splitter.d.ts +34 -0
  168. package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -0
  169. package/dist/types/src/components/Splitter/Splitter.stories.d.ts +7 -0
  170. package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -0
  171. package/dist/types/src/components/Splitter/index.d.ts +2 -0
  172. package/dist/types/src/components/Splitter/index.d.ts.map +1 -0
  173. package/dist/types/src/components/Status/Status.d.ts +3 -4
  174. package/dist/types/src/components/Status/Status.d.ts.map +1 -1
  175. package/dist/types/src/components/Status/Status.stories.d.ts +4 -2
  176. package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
  177. package/dist/types/src/components/Tag/Tag.d.ts +1 -1
  178. package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
  179. package/dist/types/src/components/Tag/Tag.stories.d.ts +0 -5
  180. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
  181. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +3 -3
  182. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  183. package/dist/types/src/components/{Menus/DropdownMenu.stories.d.ts → ThemeProvider/ThemeProvider.stories.d.ts} +2 -5
  184. package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -0
  185. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +55 -63
  186. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
  187. package/dist/types/src/components/ThemeProvider/index.d.ts +2 -1
  188. package/dist/types/src/components/ThemeProvider/index.d.ts.map +1 -1
  189. package/dist/types/src/components/Toast/Toast.d.ts +20 -20
  190. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  191. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
  192. package/dist/types/src/components/Toolbar/Toolbar.d.ts +40 -22
  193. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  194. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  195. package/dist/types/src/components/Tooltip/Tooltip.d.ts +10 -10
  196. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  197. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +2 -2
  198. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  199. package/dist/types/src/components/index.d.ts +16 -8
  200. package/dist/types/src/components/index.d.ts.map +1 -1
  201. package/dist/types/src/exemplars/generics.stories.d.ts +19 -0
  202. package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
  203. package/dist/types/src/exemplars/slot.stories.d.ts +15 -0
  204. package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -0
  205. package/dist/types/src/exemplars/tabster.stories.d.ts +8 -0
  206. package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -0
  207. package/dist/types/src/exemplars/virtualizer.stories.d.ts +11 -0
  208. package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -0
  209. package/dist/types/src/hooks/index.d.ts +1 -0
  210. package/dist/types/src/hooks/index.d.ts.map +1 -1
  211. package/dist/types/src/hooks/useDensityContext.d.ts +2 -2
  212. package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
  213. package/dist/types/src/hooks/useElevationContext.d.ts +1 -1
  214. package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
  215. package/dist/types/src/hooks/useIconHref.d.ts.map +1 -1
  216. package/dist/types/src/hooks/useSafeArea.d.ts.map +1 -1
  217. package/dist/types/src/hooks/useSafeCollisionPadding.d.ts.map +1 -1
  218. package/dist/types/src/hooks/useVisualViewport.d.ts.map +1 -1
  219. package/dist/types/src/index.d.ts +2 -1
  220. package/dist/types/src/index.d.ts.map +1 -1
  221. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  222. package/dist/types/src/playground/Custom.stories.d.ts +1 -1
  223. package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
  224. package/dist/types/src/playground/Typography.stories.d.ts.map +1 -1
  225. package/dist/types/src/primitives/Column/Column.d.ts +33 -0
  226. package/dist/types/src/primitives/Column/Column.d.ts.map +1 -0
  227. package/dist/types/src/primitives/Column/Column.stories.d.ts +25 -0
  228. package/dist/types/src/primitives/Column/Column.stories.d.ts.map +1 -0
  229. package/dist/types/src/primitives/Column/index.d.ts +2 -0
  230. package/dist/types/src/primitives/Column/index.d.ts.map +1 -0
  231. package/dist/types/src/primitives/Container/Container.d.ts +7 -0
  232. package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
  233. package/dist/types/src/primitives/Container/Container.stories.d.ts +6 -0
  234. package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
  235. package/dist/types/src/primitives/Container/index.d.ts +2 -0
  236. package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
  237. package/dist/types/src/primitives/Flex/Flex.d.ts +11 -0
  238. package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
  239. package/dist/types/src/primitives/Flex/Flex.stories.d.ts +8 -0
  240. package/dist/types/src/primitives/Flex/Flex.stories.d.ts.map +1 -0
  241. package/dist/types/src/primitives/Flex/index.d.ts +2 -0
  242. package/dist/types/src/primitives/Flex/index.d.ts.map +1 -0
  243. package/dist/types/src/primitives/Grid/Grid.d.ts +10 -0
  244. package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -0
  245. package/dist/types/src/primitives/Grid/Grid.stories.d.ts +8 -0
  246. package/dist/types/src/primitives/Grid/Grid.stories.d.ts.map +1 -0
  247. package/dist/types/src/primitives/Grid/index.d.ts +2 -0
  248. package/dist/types/src/primitives/Grid/index.d.ts.map +1 -0
  249. package/dist/types/src/primitives/Panel/Panel.d.ts +35 -0
  250. package/dist/types/src/primitives/Panel/Panel.d.ts.map +1 -0
  251. package/dist/types/src/primitives/Panel/Panel.stories.d.ts +6 -0
  252. package/dist/types/src/primitives/Panel/Panel.stories.d.ts.map +1 -0
  253. package/dist/types/src/primitives/Panel/index.d.ts +2 -0
  254. package/dist/types/src/primitives/Panel/index.d.ts.map +1 -0
  255. package/dist/types/src/primitives/index.d.ts +6 -0
  256. package/dist/types/src/primitives/index.d.ts.map +1 -0
  257. package/dist/types/src/testing/Loading.d.ts +9 -0
  258. package/dist/types/src/testing/Loading.d.ts.map +1 -0
  259. package/dist/types/src/testing/decorators/index.d.ts +1 -1
  260. package/dist/types/src/testing/decorators/index.d.ts.map +1 -1
  261. package/dist/types/src/testing/decorators/withLayout.d.ts +3 -3
  262. package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -1
  263. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts +12 -0
  264. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -0
  265. package/dist/types/src/testing/decorators/withTheme.d.ts +3 -2
  266. package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
  267. package/dist/types/src/testing/index.d.ts +1 -0
  268. package/dist/types/src/testing/index.d.ts.map +1 -1
  269. package/dist/types/src/translations.d.ts +16 -0
  270. package/dist/types/src/translations.d.ts.map +1 -0
  271. package/dist/types/src/util/index.d.ts +1 -2
  272. package/dist/types/src/util/index.d.ts.map +1 -1
  273. package/dist/types/src/util/usePx.d.ts.map +1 -1
  274. package/dist/types/tsconfig.tsbuildinfo +1 -1
  275. package/package.json +53 -39
  276. package/src/components/Avatars/Avatar.stories.tsx +7 -9
  277. package/src/components/Avatars/Avatar.tsx +7 -15
  278. package/src/components/Avatars/AvatarGroup.stories.tsx +2 -3
  279. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +4 -5
  280. package/src/components/Breadcrumb/Breadcrumb.tsx +11 -37
  281. package/src/components/{Buttons → Button}/Button.stories.tsx +4 -5
  282. package/src/components/{Buttons → Button}/Button.tsx +12 -26
  283. package/src/components/{Buttons → Button}/IconButton.stories.tsx +8 -6
  284. package/src/components/{Buttons → Button}/IconButton.tsx +20 -15
  285. package/src/components/{Buttons → Button}/Toggle.stories.tsx +7 -7
  286. package/src/components/{Buttons → Button}/Toggle.tsx +4 -4
  287. package/src/components/{Buttons → Button}/ToggleGroup.stories.tsx +2 -3
  288. package/src/components/{Buttons → Button}/ToggleGroup.tsx +12 -16
  289. package/src/components/Card/Card.stories.tsx +151 -0
  290. package/src/components/Card/Card.tsx +514 -0
  291. package/src/components/Card/index.ts +5 -0
  292. package/src/components/Carousel/Carousel.tsx +337 -0
  293. package/src/components/Carousel/index.ts +5 -0
  294. package/src/components/Clipboard/CopyButton.tsx +10 -11
  295. package/src/components/DensityProvider/DensityProvider.tsx +1 -1
  296. package/src/components/Dialog/AlertDialog.stories.tsx +68 -0
  297. package/src/components/{Dialogs → Dialog}/AlertDialog.tsx +123 -82
  298. package/src/components/Dialog/Dialog.stories.tsx +177 -0
  299. package/src/components/Dialog/Dialog.tsx +285 -0
  300. package/src/components/ElevationProvider/ElevationProvider.tsx +1 -1
  301. package/src/components/ErrorFallback/ErrorFallback.stories.tsx +45 -0
  302. package/src/components/ErrorFallback/ErrorFallback.tsx +70 -0
  303. package/src/components/ErrorFallback/ErrorStack.tsx +114 -0
  304. package/src/components/ErrorFallback/ThrowError.tsx +37 -0
  305. package/src/components/ErrorFallback/index.ts +9 -0
  306. package/src/components/Focus/AUDIT.md +43 -0
  307. package/src/components/Focus/Focus.stories.tsx +230 -0
  308. package/src/components/Focus/Focus.tsx +201 -0
  309. package/src/components/Focus/index.ts +5 -0
  310. package/src/components/Icon/Icon.stories.tsx +45 -15
  311. package/src/components/Icon/Icon.tsx +15 -4
  312. package/src/components/Image/Image.stories.tsx +86 -0
  313. package/src/components/Image/Image.tsx +246 -0
  314. package/src/components/Image/index.ts +5 -0
  315. package/src/components/Input/Input.stories.tsx +21 -41
  316. package/src/components/Input/Input.tsx +38 -74
  317. package/src/components/Link/Link.stories.tsx +2 -3
  318. package/src/components/Link/Link.tsx +2 -2
  319. package/src/components/{Lists → List}/List.stories.tsx +31 -35
  320. package/src/components/{Lists → List}/List.tsx +17 -21
  321. package/src/components/{Lists → List}/ListDropIndicator.tsx +7 -8
  322. package/src/components/{Lists → List}/Tree.stories.tsx +6 -7
  323. package/src/components/{Lists → List}/Tree.tsx +0 -1
  324. package/src/components/{Lists → List}/TreeDropIndicator.tsx +6 -6
  325. package/src/components/{Lists → List}/Treegrid.stories.tsx +29 -30
  326. package/src/components/{Lists → List}/Treegrid.tsx +23 -28
  327. package/src/components/Main/Main.stories.tsx +41 -24
  328. package/src/components/Main/Main.tsx +150 -94
  329. package/src/components/MediaPlayer/MediaPlayer.stories.tsx +50 -0
  330. package/src/components/MediaPlayer/MediaPlayer.tsx +153 -0
  331. package/src/components/MediaPlayer/index.ts +5 -0
  332. package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +2 -3
  333. package/src/components/{Menus → Menu}/ContextMenu.tsx +9 -33
  334. package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +3 -4
  335. package/src/components/{Menus → Menu}/DropdownMenu.tsx +137 -110
  336. package/src/components/Message/Message.stories.tsx +27 -13
  337. package/src/components/Message/Message.tsx +59 -33
  338. package/src/components/Popover/Popover.stories.tsx +8 -9
  339. package/src/components/Popover/Popover.tsx +114 -92
  340. package/src/components/ScrollArea/ScrollArea.stories.tsx +221 -36
  341. package/src/components/ScrollArea/ScrollArea.tsx +97 -79
  342. package/src/components/ScrollArea/index.ts +1 -1
  343. package/src/components/ScrollContainer/ScrollContainer.stories.tsx +91 -0
  344. package/src/components/ScrollContainer/ScrollContainer.tsx +345 -0
  345. package/src/components/ScrollContainer/index.ts +5 -0
  346. package/src/components/Select/Select.stories.tsx +8 -9
  347. package/src/components/Select/Select.tsx +11 -27
  348. package/src/components/Separator/Separator.tsx +5 -8
  349. package/src/components/Skeleton/Skeleton.stories.tsx +51 -0
  350. package/src/components/Skeleton/Skeleton.tsx +26 -0
  351. package/src/components/Skeleton/index.ts +5 -0
  352. package/src/components/Splitter/Splitter.stories.tsx +83 -0
  353. package/src/components/Splitter/Splitter.tsx +127 -0
  354. package/src/components/Splitter/index.ts +5 -0
  355. package/src/components/Status/Status.stories.tsx +21 -18
  356. package/src/components/Status/Status.tsx +10 -7
  357. package/src/components/Tag/Tag.stories.tsx +6 -12
  358. package/src/components/Tag/Tag.tsx +3 -8
  359. package/src/components/ThemeProvider/ThemeProvider.stories.tsx +31 -0
  360. package/src/components/ThemeProvider/ThemeProvider.tsx +10 -10
  361. package/src/components/ThemeProvider/TranslationsProvider.tsx +1 -16
  362. package/src/components/ThemeProvider/index.ts +3 -3
  363. package/src/components/Toast/Toast.stories.tsx +3 -4
  364. package/src/components/Toast/Toast.tsx +22 -41
  365. package/src/components/Toolbar/Toolbar.stories.tsx +4 -7
  366. package/src/components/Toolbar/Toolbar.tsx +189 -25
  367. package/src/components/Tooltip/Tooltip.stories.tsx +21 -20
  368. package/src/components/Tooltip/Tooltip.tsx +40 -38
  369. package/src/components/index.ts +17 -9
  370. package/src/exemplars/generics.stories.tsx +41 -0
  371. package/src/exemplars/slot.stories.tsx +115 -0
  372. package/src/exemplars/tabster.stories.tsx +127 -0
  373. package/src/exemplars/virtualizer.stories.tsx +136 -0
  374. package/src/hooks/index.ts +1 -0
  375. package/src/hooks/useDensityContext.ts +3 -3
  376. package/src/hooks/useElevationContext.ts +1 -1
  377. package/src/index.ts +2 -1
  378. package/src/playground/Controls.stories.tsx +3 -10
  379. package/src/playground/Custom.stories.tsx +13 -18
  380. package/src/playground/Typography.stories.tsx +3 -3
  381. package/src/primitives/Column/AUDIT.md +148 -0
  382. package/src/primitives/Column/Column.stories.tsx +181 -0
  383. package/src/primitives/Column/Column.tsx +165 -0
  384. package/src/primitives/Column/index.ts +5 -0
  385. package/src/primitives/Container/Container.stories.tsx +29 -0
  386. package/src/primitives/Container/Container.tsx +19 -0
  387. package/src/primitives/Container/index.ts +5 -0
  388. package/src/primitives/Flex/Flex.stories.tsx +57 -0
  389. package/src/primitives/Flex/Flex.tsx +27 -0
  390. package/src/primitives/Flex/index.ts +5 -0
  391. package/src/primitives/Grid/Grid.stories.tsx +56 -0
  392. package/src/primitives/Grid/Grid.tsx +30 -0
  393. package/src/primitives/Grid/index.ts +5 -0
  394. package/src/primitives/Panel/Panel.stories.tsx +68 -0
  395. package/src/primitives/Panel/Panel.tsx +120 -0
  396. package/src/primitives/Panel/index.ts +5 -0
  397. package/src/primitives/index.ts +9 -0
  398. package/src/testing/Loading.tsx +47 -0
  399. package/src/testing/decorators/index.ts +1 -1
  400. package/src/testing/decorators/withLayout.tsx +32 -21
  401. package/src/testing/decorators/withLayoutVariants.tsx +48 -0
  402. package/src/testing/decorators/withTheme.tsx +26 -20
  403. package/src/testing/index.ts +2 -0
  404. package/src/translations.ts +24 -0
  405. package/src/util/index.ts +2 -2
  406. package/src/util/usePx.ts +1 -0
  407. package/dist/lib/browser/chunk-HUZZ56DW.mjs +0 -4509
  408. package/dist/lib/browser/chunk-HUZZ56DW.mjs.map +0 -7
  409. package/dist/lib/node-esm/chunk-OJLL6E2Z.mjs +0 -4511
  410. package/dist/lib/node-esm/chunk-OJLL6E2Z.mjs.map +0 -7
  411. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +0 -15
  412. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +0 -1
  413. package/dist/types/src/components/AnchoredOverflow/index.d.ts +0 -2
  414. package/dist/types/src/components/AnchoredOverflow/index.d.ts.map +0 -1
  415. package/dist/types/src/components/Buttons/Button.d.ts.map +0 -1
  416. package/dist/types/src/components/Buttons/Button.stories.d.ts.map +0 -1
  417. package/dist/types/src/components/Buttons/IconButton.d.ts.map +0 -1
  418. package/dist/types/src/components/Buttons/IconButton.stories.d.ts.map +0 -1
  419. package/dist/types/src/components/Buttons/Toggle.d.ts.map +0 -1
  420. package/dist/types/src/components/Buttons/Toggle.stories.d.ts +0 -13
  421. package/dist/types/src/components/Buttons/Toggle.stories.d.ts.map +0 -1
  422. package/dist/types/src/components/Buttons/ToggleGroup.d.ts +0 -27
  423. package/dist/types/src/components/Buttons/ToggleGroup.d.ts.map +0 -1
  424. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts.map +0 -1
  425. package/dist/types/src/components/Buttons/index.d.ts.map +0 -1
  426. package/dist/types/src/components/Dialogs/AlertDialog.d.ts +0 -31
  427. package/dist/types/src/components/Dialogs/AlertDialog.d.ts.map +0 -1
  428. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts.map +0 -1
  429. package/dist/types/src/components/Dialogs/Dialog.d.ts +0 -31
  430. package/dist/types/src/components/Dialogs/Dialog.d.ts.map +0 -1
  431. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts +0 -25
  432. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts.map +0 -1
  433. package/dist/types/src/components/Dialogs/index.d.ts.map +0 -1
  434. package/dist/types/src/components/Lists/List.d.ts.map +0 -1
  435. package/dist/types/src/components/Lists/List.stories.d.ts.map +0 -1
  436. package/dist/types/src/components/Lists/ListDropIndicator.d.ts.map +0 -1
  437. package/dist/types/src/components/Lists/Tree.d.ts.map +0 -1
  438. package/dist/types/src/components/Lists/Tree.stories.d.ts.map +0 -1
  439. package/dist/types/src/components/Lists/TreeDropIndicator.d.ts.map +0 -1
  440. package/dist/types/src/components/Lists/Treegrid.d.ts.map +0 -1
  441. package/dist/types/src/components/Lists/Treegrid.stories.d.ts.map +0 -1
  442. package/dist/types/src/components/Lists/index.d.ts.map +0 -1
  443. package/dist/types/src/components/Menus/ContextMenu.d.ts.map +0 -1
  444. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +0 -1
  445. package/dist/types/src/components/Menus/DropdownMenu.d.ts +0 -113
  446. package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +0 -1
  447. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts.map +0 -1
  448. package/dist/types/src/components/Menus/index.d.ts.map +0 -1
  449. package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts +0 -12
  450. package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts.map +0 -1
  451. package/dist/types/src/util/ThemedClassName.d.ts +0 -5
  452. package/dist/types/src/util/ThemedClassName.d.ts.map +0 -1
  453. package/dist/types/src/util/domino.d.ts +0 -18
  454. package/dist/types/src/util/domino.d.ts.map +0 -1
  455. package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +0 -59
  456. package/src/components/AnchoredOverflow/index.ts +0 -5
  457. package/src/components/Dialogs/AlertDialog.stories.tsx +0 -69
  458. package/src/components/Dialogs/Dialog.stories.tsx +0 -67
  459. package/src/components/Dialogs/Dialog.tsx +0 -159
  460. package/src/testing/decorators/withSurfaceVariantsLayout.tsx +0 -51
  461. package/src/util/ThemedClassName.ts +0 -7
  462. package/src/util/domino.ts +0 -53
  463. /package/dist/types/src/components/{Buttons → Button}/index.d.ts +0 -0
  464. /package/dist/types/src/components/{Dialogs → Dialog}/AlertDialog.stories.d.ts +0 -0
  465. /package/dist/types/src/components/{Dialogs → Dialog}/index.d.ts +0 -0
  466. /package/dist/types/src/components/{Lists → List}/ListDropIndicator.d.ts +0 -0
  467. /package/dist/types/src/components/{Lists → List}/Tree.stories.d.ts +0 -0
  468. /package/dist/types/src/components/{Lists → List}/TreeDropIndicator.d.ts +0 -0
  469. /package/dist/types/src/components/{Lists → List}/Treegrid.stories.d.ts +0 -0
  470. /package/dist/types/src/components/{Lists → List}/index.d.ts +0 -0
  471. /package/dist/types/src/components/{Menus → Menu}/ContextMenu.stories.d.ts +0 -0
  472. /package/dist/types/src/components/{Menus → Menu}/index.d.ts +0 -0
  473. /package/src/components/{Buttons → Button}/index.ts +0 -0
  474. /package/src/components/{Dialogs → Dialog}/index.ts +0 -0
  475. /package/src/components/{Lists → List}/index.ts +0 -0
  476. /package/src/components/{Menus → Menu}/index.ts +0 -0
@@ -0,0 +1,153 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import React from 'react';
6
+
7
+ import { mx } from '@dxos/ui-theme';
8
+
9
+ import { type ThemedClassName } from '../../util';
10
+
11
+ export type MediaKind = 'video' | 'audio';
12
+
13
+ const VIDEO_EXTENSIONS = ['.mp4', '.webm', '.ogv', '.mov', '.m4v'];
14
+ const AUDIO_EXTENSIONS = ['.mp3', '.wav', '.ogg', '.m4a', '.aac', '.flac'];
15
+
16
+ /** iframe sandbox flags compatible with typical oEmbed-style players. */
17
+ const DEFAULT_IFRAME_SANDBOX = 'allow-scripts allow-same-origin allow-presentation';
18
+
19
+ /**
20
+ * Best-effort detection of `video` vs `audio` from a media URL.
21
+ * Inspects the pathname's extension (ignoring query/hash). Returns `undefined`
22
+ * when the URL doesn't look like a recognised media file — callers should
23
+ * default to 'video' or render a fallback (e.g. iframe / img).
24
+ */
25
+ export const detectMediaKind = (src: string): MediaKind | undefined => {
26
+ // Strip query and hash, then take the last path segment's extension.
27
+ const pathname = src.split(/[?#]/, 1)[0]!;
28
+ const lower = pathname.toLowerCase();
29
+ if (VIDEO_EXTENSIONS.some((extension) => lower.endsWith(extension))) {
30
+ return 'video';
31
+ }
32
+ if (AUDIO_EXTENSIONS.some((extension) => lower.endsWith(extension))) {
33
+ return 'audio';
34
+ }
35
+
36
+ return undefined;
37
+ };
38
+
39
+ /**
40
+ * Heuristic match for URLs that should render as native `<video>` / `<audio>`
41
+ * (i.e. URLs ending in a recognised media extension).
42
+ *
43
+ * NB: legacy embed URLs (Cloudflare Stream etc. — paths containing `iframe`)
44
+ * serve an HTML player page, **not** a media stream, so they cannot be loaded
45
+ * via `<video>`. Those are detected by {@link isLegacyIframeUrl} and rendered
46
+ * via `<iframe>` instead.
47
+ */
48
+ export const isEmbedUrl = (src: string): boolean => detectMediaKind(src) !== undefined;
49
+
50
+ /** Match URLs whose pathname has an `/iframe` segment (e.g. Cloudflare Stream embeds). */
51
+ const LEGACY_IFRAME_PATH_PATTERN = /\/iframe(?:[/?#]|$)/i;
52
+
53
+ const isLegacyIframeUrl = (src: string): boolean => {
54
+ const pathAndQuery = src.split('#', 1)[0]!;
55
+ return LEGACY_IFRAME_PATH_PATTERN.test(pathAndQuery);
56
+ };
57
+
58
+ export type MediaPlayerProps = ThemedClassName<{
59
+ src: string;
60
+ /** Override auto-detection. When omitted, `detectMediaKind(src)` is used and falls back to 'video'. */
61
+ kind?: MediaKind;
62
+ controls?: boolean;
63
+ autoPlay?: boolean;
64
+ loop?: boolean;
65
+ muted?: boolean;
66
+ /** Accessible label for the `<video>` / `<audio>` element. */
67
+ alt?: string;
68
+ /** Defaults to 'anonymous' for cross-origin sources (e.g. signed S3 URLs). */
69
+ crossOrigin?: 'anonymous' | 'use-credentials' | '';
70
+ /** Additional classes applied only when rendering `<img>`. */
71
+ imgClassNames?: string;
72
+ /** Additional classes applied only when rendering native media or `<iframe>`. */
73
+ mediaClassNames?: string;
74
+ }>;
75
+
76
+ /**
77
+ * Renders a media URL using the appropriate element:
78
+ * - Direct media URLs (mp4, mp3, …) → native `<video>` / `<audio>`.
79
+ * - Legacy `iframe`-style embed URLs (Cloudflare Stream, oEmbed players) → `<iframe>`.
80
+ * - Everything else → `<img>` that hides itself on load failure (broken images
81
+ * are common in feeds and the placeholder is uglier than nothing).
82
+ */
83
+ export const MediaPlayer = ({
84
+ classNames,
85
+ src,
86
+ kind,
87
+ controls = true,
88
+ autoPlay = false,
89
+ loop = false,
90
+ muted = false,
91
+ alt,
92
+ crossOrigin = 'anonymous',
93
+ imgClassNames,
94
+ mediaClassNames,
95
+ }: MediaPlayerProps) => {
96
+ if (isEmbedUrl(src)) {
97
+ const resolved = kind ?? detectMediaKind(src) ?? 'video';
98
+ if (resolved === 'audio') {
99
+ return (
100
+ <audio
101
+ className={mx('w-full', classNames, mediaClassNames)}
102
+ src={src}
103
+ controls={controls}
104
+ autoPlay={autoPlay}
105
+ loop={loop}
106
+ muted={muted}
107
+ crossOrigin={crossOrigin}
108
+ aria-label={alt}
109
+ />
110
+ );
111
+ }
112
+
113
+ return (
114
+ <video
115
+ className={mx('aspect-video max-w-full max-h-full', classNames, mediaClassNames)}
116
+ src={src}
117
+ controls={controls}
118
+ autoPlay={autoPlay}
119
+ loop={loop}
120
+ muted={muted}
121
+ crossOrigin={crossOrigin}
122
+ aria-label={alt}
123
+ />
124
+ );
125
+ }
126
+
127
+ if (isLegacyIframeUrl(src)) {
128
+ return (
129
+ <iframe
130
+ src={src}
131
+ title={alt ?? 'Embedded media'}
132
+ loading='lazy'
133
+ className={mx('border-none', classNames, mediaClassNames)}
134
+ sandbox={DEFAULT_IFRAME_SANDBOX}
135
+ referrerPolicy='no-referrer'
136
+ allow='accelerometer; gyroscope; autoplay; encrypted-media; picture-in-picture;'
137
+ allowFullScreen
138
+ />
139
+ );
140
+ }
141
+
142
+ return (
143
+ <img
144
+ src={src}
145
+ alt={alt ?? ''}
146
+ loading='lazy'
147
+ className={mx(classNames, imgClassNames)}
148
+ onError={(event) => {
149
+ event.currentTarget.style.display = 'none';
150
+ }}
151
+ />
152
+ );
153
+ };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ export * from './MediaPlayer';
@@ -6,7 +6,6 @@ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
  import React from 'react';
7
7
 
8
8
  import { withTheme } from '../../testing';
9
-
10
9
  import { ContextMenu } from './ContextMenu';
11
10
 
12
11
  const DefaultStory = () => {
@@ -92,10 +91,10 @@ const DefaultStory = () => {
92
91
  };
93
92
 
94
93
  const meta = {
95
- title: 'ui/react-ui-core/ContextMenu',
94
+ title: 'ui/react-ui-core/components/ContextMenu',
96
95
  component: ContextMenu.Root as any,
97
96
  render: DefaultStory,
98
- decorators: [withTheme],
97
+ decorators: [withTheme()],
99
98
  } satisfies Meta<typeof DefaultStory>;
100
99
 
101
100
  export default meta;
@@ -36,7 +36,7 @@ const ContextMenuContent = forwardRef<HTMLDivElement, ContextMenuContentProps>(
36
36
  {...props}
37
37
  data-arrow-keys='up down'
38
38
  collisionPadding={safeCollisionPadding}
39
- className={tx('menu.content', 'menu', { elevation }, classNames)}
39
+ className={tx('menu.content', { elevation }, classNames)}
40
40
  ref={forwardedRef}
41
41
  >
42
42
  {children}
@@ -52,11 +52,11 @@ type ContextMenuViewportProps = ThemedClassName<ComponentPropsWithRef<typeof Pri
52
52
  const ContextMenuViewport = forwardRef<HTMLDivElement, ContextMenuViewportProps>(
53
53
  ({ classNames, asChild, children, ...props }, forwardedRef) => {
54
54
  const { tx } = useThemeContext();
55
- const Root = asChild ? Slot : Primitive.div;
55
+ const Comp = asChild ? Slot : Primitive.div;
56
56
  return (
57
- <Root {...props} className={tx('menu.viewport', 'menu__viewport', {}, classNames)} ref={forwardedRef}>
57
+ <Comp {...props} className={tx('menu.viewport', {}, classNames)} ref={forwardedRef}>
58
58
  {children}
59
- </Root>
59
+ </Comp>
60
60
  );
61
61
  },
62
62
  );
@@ -65,13 +65,7 @@ type ContextMenuArrowProps = ThemedClassName<ContextMenuPrimitive.ContextMenuArr
65
65
 
66
66
  const ContextMenuArrow = forwardRef<SVGSVGElement, ContextMenuArrowProps>(({ classNames, ...props }, forwardedRef) => {
67
67
  const { tx } = useThemeContext();
68
- return (
69
- <ContextMenuPrimitive.Arrow
70
- {...props}
71
- className={tx('menu.arrow', 'menu__arrow', {}, classNames)}
72
- ref={forwardedRef}
73
- />
74
- );
68
+ return <ContextMenuPrimitive.Arrow {...props} className={tx('menu.arrow', {}, classNames)} ref={forwardedRef} />;
75
69
  });
76
70
 
77
71
  type ContextMenuGroupProps = ContextMenuPrimitive.ContextMenuGroupProps;
@@ -87,13 +81,7 @@ type ContextMenuItemProps = ThemedClassName<ContextMenuPrimitive.ContextMenuItem
87
81
  const ContextMenuItem = forwardRef<HTMLDivElement, ContextMenuItemProps>(
88
82
  ({ classNames, ...props }: ContextMenuItemProps, forwardedRef) => {
89
83
  const { tx } = useThemeContext();
90
- return (
91
- <ContextMenuPrimitive.Item
92
- {...props}
93
- className={tx('menu.item', 'menu__item', {}, classNames)}
94
- ref={forwardedRef}
95
- />
96
- );
84
+ return <ContextMenuPrimitive.Item {...props} className={tx('menu.item', {}, classNames)} ref={forwardedRef} />;
97
85
  },
98
86
  );
99
87
 
@@ -103,11 +91,7 @@ const ContextMenuCheckboxItem = forwardRef<HTMLDivElement, ContextMenuCheckboxIt
103
91
  ({ classNames, ...props }: ContextMenuItemProps, forwardedRef) => {
104
92
  const { tx } = useThemeContext();
105
93
  return (
106
- <ContextMenuPrimitive.CheckboxItem
107
- {...props}
108
- className={tx('menu.item', 'menu__item--checkbox', {}, classNames)}
109
- ref={forwardedRef}
110
- />
94
+ <ContextMenuPrimitive.CheckboxItem {...props} className={tx('menu.item', {}, classNames)} ref={forwardedRef} />
111
95
  );
112
96
  },
113
97
  );
@@ -118,11 +102,7 @@ const ContextMenuSeparator = forwardRef<HTMLDivElement, ContextMenuSeparatorProp
118
102
  ({ classNames, ...props }, forwardedRef) => {
119
103
  const { tx } = useThemeContext();
120
104
  return (
121
- <ContextMenuPrimitive.Separator
122
- {...props}
123
- className={tx('menu.separator', 'menu__item', {}, classNames)}
124
- ref={forwardedRef}
125
- />
105
+ <ContextMenuPrimitive.Separator {...props} className={tx('menu.separator', {}, classNames)} ref={forwardedRef} />
126
106
  );
127
107
  },
128
108
  );
@@ -133,11 +113,7 @@ const ContextMenuGroupLabel = forwardRef<HTMLDivElement, ContextMenuGroupLabelPr
133
113
  ({ classNames, ...props }, forwardedRef) => {
134
114
  const { tx } = useThemeContext();
135
115
  return (
136
- <ContextMenuPrimitive.Label
137
- {...props}
138
- className={tx('menu.groupLabel', 'menu__group__label', {}, classNames)}
139
- ref={forwardedRef}
140
- />
116
+ <ContextMenuPrimitive.Label {...props} className={tx('menu.groupLabel', {}, classNames)} ref={forwardedRef} />
141
117
  );
142
118
  },
143
119
  );
@@ -6,8 +6,7 @@ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
  import React, { useRef, useState } from 'react';
7
7
 
8
8
  import { withTheme } from '../../testing';
9
- import { Button } from '../Buttons';
10
-
9
+ import { Button } from '../Button';
11
10
  import { DropdownMenu } from './DropdownMenu';
12
11
 
13
12
  const DefaultStory = () => {
@@ -92,10 +91,10 @@ const DefaultStory = () => {
92
91
  };
93
92
 
94
93
  const meta = {
95
- title: 'ui/react-ui-core/DropdownMenu',
94
+ title: 'ui/react-ui-core/components/DropdownMenu',
96
95
  component: DropdownMenu.Root,
97
96
  render: DefaultStory,
98
- decorators: [withTheme],
97
+ decorators: [withTheme()],
99
98
  } satisfies Meta<typeof DefaultStory>;
100
99
 
101
100
  export default meta;