@dxos/react-ui 0.8.4-main.3c1ae3b → 0.8.4-main.3eb6e50203

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 (242) hide show
  1. package/dist/lib/browser/chunk-6DTBPJE4.mjs +774 -0
  2. package/dist/lib/browser/chunk-6DTBPJE4.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +3198 -66
  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 +34 -45
  7. package/dist/lib/browser/testing/index.mjs.map +3 -3
  8. package/dist/lib/node-esm/chunk-JKHQSGNU.mjs +776 -0
  9. package/dist/lib/node-esm/chunk-JKHQSGNU.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +3198 -66
  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 +34 -45
  14. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  15. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +7 -0
  16. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +1 -1
  17. package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
  18. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  19. package/dist/types/src/components/Button/Button.d.ts +1 -1
  20. package/dist/types/src/components/Button/Button.d.ts.map +1 -1
  21. package/dist/types/src/components/Button/IconButton.d.ts.map +1 -1
  22. package/dist/types/src/components/Button/ToggleGroup.d.ts +4 -4
  23. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +4 -4
  24. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts +1 -1
  25. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
  26. package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -1
  27. package/dist/types/src/components/Dialog/Dialog.d.ts +23 -8
  28. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
  29. package/dist/types/src/components/Dialog/Dialog.stories.d.ts +7 -5
  30. package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -1
  31. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts +1 -1
  32. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
  33. package/dist/types/src/components/Icon/Icon.d.ts +1 -1
  34. package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
  35. package/dist/types/src/components/Input/Input.d.ts +1 -1
  36. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  37. package/dist/types/src/components/Input/Input.stories.d.ts +2 -2
  38. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  39. package/dist/types/src/components/List/List.d.ts +1 -1
  40. package/dist/types/src/components/List/List.d.ts.map +1 -1
  41. package/dist/types/src/components/List/List.stories.d.ts.map +1 -1
  42. package/dist/types/src/components/List/Treegrid.d.ts.map +1 -1
  43. package/dist/types/src/components/Main/Main.d.ts +8 -9
  44. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  45. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  46. package/dist/types/src/components/{Menus → Menu}/ContextMenu.d.ts +6 -6
  47. package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -0
  48. package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -0
  49. package/dist/types/src/components/{Menus → Menu}/DropdownMenu.d.ts +1 -1
  50. package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
  51. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -0
  52. package/dist/types/src/components/Menu/index.d.ts.map +1 -0
  53. package/dist/types/src/components/Message/Message.d.ts +1 -1
  54. package/dist/types/src/components/Message/Message.d.ts.map +1 -1
  55. package/dist/types/src/components/Message/Message.stories.d.ts +1 -1
  56. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  57. package/dist/types/src/components/Popover/Popover.d.ts +1 -1
  58. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  59. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +25 -26
  60. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  61. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +46 -8
  62. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  63. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +2 -2
  64. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
  65. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +1 -1
  66. package/dist/types/src/components/Select/Select.d.ts +9 -9
  67. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  68. package/dist/types/src/components/Separator/Separator.d.ts +1 -1
  69. package/dist/types/src/components/Skeleton/Skeleton.d.ts +12 -0
  70. package/dist/types/src/components/Skeleton/Skeleton.d.ts.map +1 -0
  71. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts +17 -0
  72. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -0
  73. package/dist/types/src/components/Skeleton/index.d.ts +2 -0
  74. package/dist/types/src/components/Skeleton/index.d.ts.map +1 -0
  75. package/dist/types/src/components/Splitter/Splitter.d.ts +26 -0
  76. package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -0
  77. package/dist/types/src/components/Splitter/Splitter.stories.d.ts +7 -0
  78. package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -0
  79. package/dist/types/src/components/Splitter/index.d.ts +2 -0
  80. package/dist/types/src/components/Splitter/index.d.ts.map +1 -0
  81. package/dist/types/src/components/Tag/Tag.d.ts +1 -1
  82. package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
  83. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +2 -2
  84. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  85. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +1 -8
  86. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
  87. package/dist/types/src/components/ThemeProvider/index.d.ts +2 -1
  88. package/dist/types/src/components/ThemeProvider/index.d.ts.map +1 -1
  89. package/dist/types/src/components/Toast/Toast.d.ts +4 -4
  90. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  91. package/dist/types/src/components/Toolbar/Toolbar.d.ts +13 -12
  92. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  93. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  94. package/dist/types/src/components/index.d.ts +3 -1
  95. package/dist/types/src/components/index.d.ts.map +1 -1
  96. package/dist/types/src/exemplars/generics.stories.d.ts +17 -0
  97. package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
  98. package/dist/types/src/exemplars/slot.stories.d.ts +14 -0
  99. package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -0
  100. package/dist/types/src/exemplars/tabster.stories.d.ts +8 -0
  101. package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -0
  102. package/dist/types/src/hooks/useDensityContext.d.ts +1 -1
  103. package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
  104. package/dist/types/src/hooks/useElevationContext.d.ts +1 -1
  105. package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
  106. package/dist/types/src/index.d.ts +2 -1
  107. package/dist/types/src/index.d.ts.map +1 -1
  108. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  109. package/dist/types/src/primitives/Container/Container.d.ts +23 -0
  110. package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
  111. package/dist/types/src/primitives/Container/Container.stories.d.ts +11 -0
  112. package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
  113. package/dist/types/src/primitives/Container/Layout.d.ts +18 -0
  114. package/dist/types/src/primitives/Container/Layout.d.ts.map +1 -0
  115. package/dist/types/src/primitives/Container/Layout.stories.d.ts +10 -0
  116. package/dist/types/src/primitives/Container/Layout.stories.d.ts.map +1 -0
  117. package/dist/types/src/primitives/Container/index.d.ts +3 -0
  118. package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
  119. package/dist/types/src/primitives/Flex/Flex.d.ts +8 -0
  120. package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
  121. package/dist/types/src/primitives/Flex/index.d.ts +2 -0
  122. package/dist/types/src/primitives/Flex/index.d.ts.map +1 -0
  123. package/dist/types/src/primitives/index.d.ts +3 -0
  124. package/dist/types/src/primitives/index.d.ts.map +1 -0
  125. package/dist/types/src/testing/decorators/withLayout.d.ts +3 -3
  126. package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -1
  127. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts +1 -1
  128. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -1
  129. package/dist/types/src/testing/decorators/withTheme.d.ts +3 -2
  130. package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
  131. package/dist/types/src/util/index.d.ts +1 -2
  132. package/dist/types/src/util/index.d.ts.map +1 -1
  133. package/dist/types/tsconfig.tsbuildinfo +1 -1
  134. package/package.json +37 -32
  135. package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +10 -12
  136. package/src/components/Avatars/Avatar.stories.tsx +4 -4
  137. package/src/components/Avatars/Avatar.tsx +3 -10
  138. package/src/components/Avatars/AvatarGroup.stories.tsx +2 -2
  139. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +2 -2
  140. package/src/components/Breadcrumb/Breadcrumb.tsx +5 -31
  141. package/src/components/Button/Button.stories.tsx +2 -2
  142. package/src/components/Button/Button.tsx +2 -8
  143. package/src/components/Button/IconButton.stories.tsx +2 -2
  144. package/src/components/Button/IconButton.tsx +5 -2
  145. package/src/components/Button/Toggle.stories.tsx +2 -2
  146. package/src/components/Button/ToggleGroup.stories.tsx +2 -2
  147. package/src/components/Clipboard/CopyButton.tsx +3 -3
  148. package/src/components/DensityProvider/DensityProvider.tsx +1 -1
  149. package/src/components/Dialog/AlertDialog.stories.tsx +2 -2
  150. package/src/components/Dialog/AlertDialog.tsx +3 -8
  151. package/src/components/Dialog/Dialog.stories.tsx +57 -23
  152. package/src/components/Dialog/Dialog.tsx +162 -43
  153. package/src/components/ElevationProvider/ElevationProvider.tsx +1 -1
  154. package/src/components/Icon/Icon.stories.tsx +3 -3
  155. package/src/components/Icon/Icon.tsx +2 -2
  156. package/src/components/Input/Input.stories.tsx +12 -11
  157. package/src/components/Input/Input.tsx +12 -27
  158. package/src/components/Link/Link.stories.tsx +2 -2
  159. package/src/components/Link/Link.tsx +1 -1
  160. package/src/components/List/List.stories.tsx +18 -14
  161. package/src/components/List/List.tsx +8 -14
  162. package/src/components/List/Tree.stories.tsx +2 -2
  163. package/src/components/List/Treegrid.stories.tsx +2 -2
  164. package/src/components/List/Treegrid.tsx +4 -9
  165. package/src/components/Main/Main.stories.tsx +41 -20
  166. package/src/components/Main/Main.tsx +128 -71
  167. package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +2 -2
  168. package/src/components/{Menus → Menu}/ContextMenu.tsx +7 -31
  169. package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +2 -2
  170. package/src/components/{Menus → Menu}/DropdownMenu.tsx +65 -63
  171. package/src/components/Message/Message.stories.tsx +3 -3
  172. package/src/components/Message/Message.tsx +32 -23
  173. package/src/components/Popover/Popover.stories.tsx +2 -2
  174. package/src/components/Popover/Popover.tsx +38 -36
  175. package/src/components/ScrollArea/ScrollArea.stories.tsx +166 -40
  176. package/src/components/ScrollArea/ScrollArea.tsx +80 -82
  177. package/src/components/ScrollArea/index.ts +1 -1
  178. package/src/components/ScrollContainer/ScrollContainer.stories.tsx +2 -2
  179. package/src/components/ScrollContainer/ScrollContainer.tsx +14 -9
  180. package/src/components/Select/Select.stories.tsx +2 -2
  181. package/src/components/Select/Select.tsx +9 -25
  182. package/src/components/Separator/Separator.tsx +1 -1
  183. package/src/components/Skeleton/Skeleton.stories.tsx +52 -0
  184. package/src/components/Skeleton/Skeleton.tsx +26 -0
  185. package/src/components/Skeleton/index.ts +5 -0
  186. package/src/components/Splitter/Splitter.stories.tsx +73 -0
  187. package/src/components/Splitter/Splitter.tsx +123 -0
  188. package/src/components/Splitter/index.ts +5 -0
  189. package/src/components/Status/Status.stories.tsx +2 -2
  190. package/src/components/Status/Status.tsx +2 -2
  191. package/src/components/Tag/Tag.stories.tsx +4 -4
  192. package/src/components/Tag/Tag.tsx +2 -7
  193. package/src/components/ThemeProvider/ThemeProvider.tsx +3 -4
  194. package/src/components/ThemeProvider/TranslationsProvider.tsx +1 -16
  195. package/src/components/ThemeProvider/index.ts +3 -3
  196. package/src/components/Toast/Toast.stories.tsx +2 -2
  197. package/src/components/Toast/Toast.tsx +6 -10
  198. package/src/components/Toolbar/Toolbar.stories.tsx +2 -2
  199. package/src/components/Toolbar/Toolbar.tsx +31 -12
  200. package/src/components/Tooltip/Tooltip.stories.tsx +2 -2
  201. package/src/components/Tooltip/Tooltip.tsx +24 -22
  202. package/src/components/index.ts +3 -1
  203. package/src/exemplars/generics.stories.tsx +44 -0
  204. package/src/exemplars/slot.stories.tsx +108 -0
  205. package/src/exemplars/tabster.stories.tsx +127 -0
  206. package/src/hooks/useDensityContext.ts +1 -1
  207. package/src/hooks/useElevationContext.ts +1 -1
  208. package/src/index.ts +2 -1
  209. package/src/playground/Controls.stories.tsx +3 -4
  210. package/src/playground/Custom.stories.tsx +2 -2
  211. package/src/playground/Typography.stories.tsx +2 -2
  212. package/src/primitives/Container/Container.stories.tsx +67 -0
  213. package/src/primitives/Container/Container.tsx +79 -0
  214. package/src/primitives/Container/Layout.stories.tsx +57 -0
  215. package/src/primitives/Container/Layout.tsx +61 -0
  216. package/src/primitives/Container/index.ts +6 -0
  217. package/src/primitives/Flex/Flex.tsx +26 -0
  218. package/src/primitives/Flex/index.ts +5 -0
  219. package/src/primitives/index.ts +6 -0
  220. package/src/testing/decorators/withLayout.tsx +22 -15
  221. package/src/testing/decorators/withLayoutVariants.tsx +2 -2
  222. package/src/testing/decorators/withTheme.tsx +21 -18
  223. package/src/util/index.ts +2 -2
  224. package/dist/lib/browser/chunk-BFCXP6YC.mjs +0 -4710
  225. package/dist/lib/browser/chunk-BFCXP6YC.mjs.map +0 -7
  226. package/dist/lib/node-esm/chunk-F4Z46DD6.mjs +0 -4712
  227. package/dist/lib/node-esm/chunk-F4Z46DD6.mjs.map +0 -7
  228. package/dist/types/src/components/Menus/ContextMenu.d.ts.map +0 -1
  229. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +0 -1
  230. package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +0 -1
  231. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts.map +0 -1
  232. package/dist/types/src/components/Menus/index.d.ts.map +0 -1
  233. package/dist/types/src/util/ThemedClassName.d.ts +0 -5
  234. package/dist/types/src/util/ThemedClassName.d.ts.map +0 -1
  235. package/dist/types/src/util/domino.d.ts +0 -18
  236. package/dist/types/src/util/domino.d.ts.map +0 -1
  237. package/src/util/ThemedClassName.ts +0 -7
  238. package/src/util/domino.ts +0 -53
  239. /package/dist/types/src/components/{Menus → Menu}/ContextMenu.stories.d.ts +0 -0
  240. /package/dist/types/src/components/{Menus → Menu}/DropdownMenu.stories.d.ts +0 -0
  241. /package/dist/types/src/components/{Menus → Menu}/index.d.ts +0 -0
  242. /package/src/components/{Menus → Menu}/index.ts +0 -0
@@ -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}
@@ -54,7 +54,7 @@ const ContextMenuViewport = forwardRef<HTMLDivElement, ContextMenuViewportProps>
54
54
  const { tx } = useThemeContext();
55
55
  const Root = asChild ? Slot : Primitive.div;
56
56
  return (
57
- <Root {...props} className={tx('menu.viewport', 'menu__viewport', {}, classNames)} ref={forwardedRef}>
57
+ <Root {...props} className={tx('menu.viewport', {}, classNames)} ref={forwardedRef}>
58
58
  {children}
59
59
  </Root>
60
60
  );
@@ -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
  );
@@ -92,10 +92,10 @@ const DefaultStory = () => {
92
92
  };
93
93
 
94
94
  const meta = {
95
- title: 'ui/react-ui-core/DropdownMenu',
95
+ title: 'ui/react-ui-core/components/DropdownMenu',
96
96
  component: DropdownMenu.Root,
97
97
  render: DefaultStory,
98
- decorators: [withTheme],
98
+ decorators: [withTheme()],
99
99
  } satisfies Meta<typeof DefaultStory>;
100
100
 
101
101
  export default meta;
@@ -35,9 +35,9 @@ import { type ThemedClassName } from '../../util';
35
35
 
36
36
  type Direction = 'ltr' | 'rtl';
37
37
 
38
- /* -------------------------------------------------------------------------------------------------
39
- * DropdownMenu
40
- * ----------------------------------------------------------------------------------------------- */
38
+ //
39
+ // DropdownMenu
40
+ //
41
41
 
42
42
  const DROPDOWN_MENU_NAME = 'DropdownMenu';
43
43
 
@@ -97,9 +97,9 @@ const DropdownMenuRoot: FC<DropdownMenuRootProps> = (props: ScopedProps<Dropdown
97
97
 
98
98
  DropdownMenuRoot.displayName = DROPDOWN_MENU_NAME;
99
99
 
100
- /* -------------------------------------------------------------------------------------------------
101
- * DropdownMenuTrigger
102
- * ----------------------------------------------------------------------------------------------- */
100
+ //
101
+ // DropdownMenuTrigger
102
+ //
103
103
 
104
104
  const TRIGGER_NAME = 'DropdownMenuTrigger';
105
105
 
@@ -162,9 +162,9 @@ const DropdownMenuTrigger = forwardRef<DropdownMenuTriggerElement, DropdownMenuT
162
162
 
163
163
  DropdownMenuTrigger.displayName = TRIGGER_NAME;
164
164
 
165
- /* -------------------------------------------------------------------------------------------------
166
- * DropdownMenuVirtualTrigger
167
- * ----------------------------------------------------------------------------------------------- */
165
+ //
166
+ // DropdownMenuVirtualTrigger
167
+ //
168
168
 
169
169
  const VIRTUAL_TRIGGER_NAME = 'DropdownMenuVirtualTrigger';
170
170
 
@@ -186,9 +186,9 @@ const DropdownMenuVirtualTrigger = (props: ScopedProps<DropdownMenuVirtualTrigge
186
186
 
187
187
  DropdownMenuVirtualTrigger.displayName = VIRTUAL_TRIGGER_NAME;
188
188
 
189
- /* -------------------------------------------------------------------------------------------------
190
- * DropdownMenuPortal
191
- * ----------------------------------------------------------------------------------------------- */
189
+ //
190
+ // DropdownMenuPortal
191
+ //
192
192
 
193
193
  const PORTAL_NAME = 'DropdownMenuPortal';
194
194
 
@@ -203,9 +203,9 @@ const DropdownMenuPortal: FC<DropdownMenuPortalProps> = (props: ScopedProps<Drop
203
203
 
204
204
  DropdownMenuPortal.displayName = PORTAL_NAME;
205
205
 
206
- /* -------------------------------------------------------------------------------------------------
207
- * DropdownMenuViewport
208
- * ----------------------------------------------------------------------------------------------- */
206
+ //
207
+ // DropdownMenuViewport
208
+ //
209
209
 
210
210
  type DropdownMenuViewportProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.div>> & {
211
211
  asChild?: boolean;
@@ -216,16 +216,16 @@ const DropdownMenuViewport = forwardRef<HTMLDivElement, DropdownMenuViewportProp
216
216
  const { tx } = useThemeContext();
217
217
  const Root = asChild ? Slot : Primitive.div;
218
218
  return (
219
- <Root {...props} className={tx('menu.viewport', 'menu__viewport', {}, classNames)} ref={forwardedRef}>
219
+ <Root {...props} className={tx('menu.viewport', {}, classNames)} ref={forwardedRef}>
220
220
  {children}
221
221
  </Root>
222
222
  );
223
223
  },
224
224
  );
225
225
 
226
- /* -------------------------------------------------------------------------------------------------
227
- * DropdownMenuContent
228
- * ----------------------------------------------------------------------------------------------- */
226
+ //
227
+ // DropdownMenuContent
228
+ //
229
229
 
230
230
  const CONTENT_NAME = 'DropdownMenuContent';
231
231
 
@@ -283,7 +283,7 @@ const DropdownMenuContent = forwardRef<DropdownMenuContentElement, DropdownMenuC
283
283
  }
284
284
  })}
285
285
  data-arrow-keys='up down'
286
- className={tx('menu.content', 'menu', { elevation }, classNames)}
286
+ className={tx('menu.content', { elevation }, classNames)}
287
287
  style={{
288
288
  ...props.style,
289
289
  // re-namespace exposed content custom properties
@@ -302,9 +302,9 @@ const DropdownMenuContent = forwardRef<DropdownMenuContentElement, DropdownMenuC
302
302
 
303
303
  DropdownMenuContent.displayName = CONTENT_NAME;
304
304
 
305
- /* -------------------------------------------------------------------------------------------------
306
- * DropdownMenuGroup
307
- * ----------------------------------------------------------------------------------------------- */
305
+ //
306
+ // DropdownMenuGroup
307
+ //
308
308
 
309
309
  const GROUP_NAME = 'DropdownMenuGroup';
310
310
 
@@ -322,9 +322,9 @@ const DropdownMenuGroup = forwardRef<DropdownMenuGroupElement, DropdownMenuGroup
322
322
 
323
323
  DropdownMenuGroup.displayName = GROUP_NAME;
324
324
 
325
- /* -------------------------------------------------------------------------------------------------
326
- * DropdownMenuLabel
327
- * ----------------------------------------------------------------------------------------------- */
325
+ //
326
+ // DropdownMenuLabel
327
+ //
328
328
 
329
329
  const LABEL_NAME = 'DropdownMenuLabel';
330
330
 
@@ -341,7 +341,7 @@ const DropdownMenuGroupLabel = forwardRef<DropdownMenuLabelElement, DropdownMenu
341
341
  <MenuPrimitive.Label
342
342
  {...menuScope}
343
343
  {...labelProps}
344
- className={tx('menu.groupLabel', 'menu__group__label', {}, classNames)}
344
+ className={tx('menu.groupLabel', {}, classNames)}
345
345
  ref={forwardedRef}
346
346
  />
347
347
  );
@@ -350,9 +350,9 @@ const DropdownMenuGroupLabel = forwardRef<DropdownMenuLabelElement, DropdownMenu
350
350
 
351
351
  DropdownMenuGroupLabel.displayName = LABEL_NAME;
352
352
 
353
- /* -------------------------------------------------------------------------------------------------
354
- * DropdownMenuItem
355
- * ----------------------------------------------------------------------------------------------- */
353
+ //
354
+ // DropdownMenuItem
355
+ //
356
356
 
357
357
  const ITEM_NAME = 'DropdownMenuItem';
358
358
 
@@ -369,7 +369,7 @@ const DropdownMenuItem = forwardRef<DropdownMenuItemElement, DropdownMenuItemPro
369
369
  <MenuPrimitive.Item
370
370
  {...menuScope}
371
371
  {...itemProps}
372
- className={tx('menu.item', 'menu__item', {}, classNames)}
372
+ className={tx('menu.item', {}, classNames)}
373
373
  ref={forwardedRef}
374
374
  />
375
375
  );
@@ -378,9 +378,9 @@ const DropdownMenuItem = forwardRef<DropdownMenuItemElement, DropdownMenuItemPro
378
378
 
379
379
  DropdownMenuItem.displayName = ITEM_NAME;
380
380
 
381
- /* -------------------------------------------------------------------------------------------------
382
- * DropdownMenuCheckboxItem
383
- * ----------------------------------------------------------------------------------------------- */
381
+ //
382
+ // DropdownMenuCheckboxItem
383
+ //
384
384
 
385
385
  const CHECKBOX_ITEM_NAME = 'DropdownMenuCheckboxItem';
386
386
 
@@ -397,7 +397,7 @@ const DropdownMenuCheckboxItem = forwardRef<DropdownMenuCheckboxItemElement, Dro
397
397
  <MenuPrimitive.CheckboxItem
398
398
  {...menuScope}
399
399
  {...checkboxItemProps}
400
- className={tx('menu.item', 'menu__item--checkbox', {}, classNames)}
400
+ className={tx('menu.item', {}, classNames)}
401
401
  ref={forwardedRef}
402
402
  />
403
403
  );
@@ -406,9 +406,9 @@ const DropdownMenuCheckboxItem = forwardRef<DropdownMenuCheckboxItemElement, Dro
406
406
 
407
407
  DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
408
408
 
409
- /* -------------------------------------------------------------------------------------------------
410
- * DropdownMenuRadioGroup
411
- * ----------------------------------------------------------------------------------------------- */
409
+ //
410
+ // DropdownMenuRadioGroup
411
+ //
412
412
 
413
413
  const RADIO_GROUP_NAME = 'DropdownMenuRadioGroup';
414
414
 
@@ -426,9 +426,9 @@ const DropdownMenuRadioGroup = forwardRef<DropdownMenuRadioGroupElement, Dropdow
426
426
 
427
427
  DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;
428
428
 
429
- /* -------------------------------------------------------------------------------------------------
430
- * DropdownMenuRadioItem
431
- * ----------------------------------------------------------------------------------------------- */
429
+ //
430
+ // DropdownMenuRadioItem
431
+ //
432
432
 
433
433
  const RADIO_ITEM_NAME = 'DropdownMenuRadioItem';
434
434
 
@@ -445,7 +445,7 @@ const DropdownMenuRadioItem = forwardRef<DropdownMenuRadioItemElement, DropdownM
445
445
  <MenuPrimitive.Item
446
446
  {...menuScope}
447
447
  {...itemProps}
448
- className={tx('menu.item', 'menu__item', {}, classNames)}
448
+ className={tx('menu.item', {}, classNames)}
449
449
  ref={forwardedRef}
450
450
  />
451
451
  );
@@ -454,9 +454,9 @@ const DropdownMenuRadioItem = forwardRef<DropdownMenuRadioItemElement, DropdownM
454
454
 
455
455
  DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;
456
456
 
457
- /* -------------------------------------------------------------------------------------------------
458
- * DropdownMenuItemIndicator
459
- * ----------------------------------------------------------------------------------------------- */
457
+ //
458
+ // DropdownMenuItemIndicator
459
+ //
460
460
 
461
461
  const INDICATOR_NAME = 'DropdownMenuItemIndicator';
462
462
 
@@ -474,9 +474,9 @@ const DropdownMenuItemIndicator = forwardRef<DropdownMenuItemIndicatorElement, D
474
474
 
475
475
  DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
476
476
 
477
- /* -------------------------------------------------------------------------------------------------
478
- * DropdownMenuSeparator
479
- * ----------------------------------------------------------------------------------------------- */
477
+ //
478
+ // DropdownMenuSeparator
479
+ //
480
480
 
481
481
  const SEPARATOR_NAME = 'DropdownMenuSeparator';
482
482
 
@@ -493,7 +493,7 @@ const DropdownMenuSeparator = forwardRef<DropdownMenuSeparatorElement, DropdownM
493
493
  <MenuPrimitive.Separator
494
494
  {...menuScope}
495
495
  {...separatorProps}
496
- className={tx('menu.separator', 'menu__item', {}, classNames)}
496
+ className={tx('menu.separator', {}, classNames)}
497
497
  ref={forwardedRef}
498
498
  />
499
499
  );
@@ -502,9 +502,9 @@ const DropdownMenuSeparator = forwardRef<DropdownMenuSeparatorElement, DropdownM
502
502
 
503
503
  DropdownMenuSeparator.displayName = SEPARATOR_NAME;
504
504
 
505
- /* -------------------------------------------------------------------------------------------------
506
- * DropdownMenuArrow
507
- * ----------------------------------------------------------------------------------------------- */
505
+ //
506
+ // DropdownMenuArrow
507
+ //
508
508
 
509
509
  const ARROW_NAME = 'DropdownMenuArrow';
510
510
 
@@ -521,7 +521,7 @@ const DropdownMenuArrow = forwardRef<DropdownMenuArrowElement, DropdownMenuArrow
521
521
  <MenuPrimitive.Arrow
522
522
  {...menuScope}
523
523
  {...arrowProps}
524
- className={tx('menu.arrow', 'menu__arrow', {}, classNames)}
524
+ className={tx('menu.arrow', {}, classNames)}
525
525
  ref={forwardedRef}
526
526
  />
527
527
  );
@@ -530,9 +530,9 @@ const DropdownMenuArrow = forwardRef<DropdownMenuArrowElement, DropdownMenuArrow
530
530
 
531
531
  DropdownMenuArrow.displayName = ARROW_NAME;
532
532
 
533
- /* -------------------------------------------------------------------------------------------------
534
- * DropdownMenuSub
535
- * ----------------------------------------------------------------------------------------------- */
533
+ //
534
+ // DropdownMenuSub
535
+ //
536
536
 
537
537
  interface DropdownMenuSubProps {
538
538
  children?: ReactNode;
@@ -557,9 +557,9 @@ const DropdownMenuSub: FC<DropdownMenuSubProps> = (props: ScopedProps<DropdownMe
557
557
  );
558
558
  };
559
559
 
560
- /* -------------------------------------------------------------------------------------------------
561
- * DropdownMenuSubTrigger
562
- * ----------------------------------------------------------------------------------------------- */
560
+ //
561
+ // DropdownMenuSubTrigger
562
+ //
563
563
 
564
564
  const SUB_TRIGGER_NAME = 'DropdownMenuSubTrigger';
565
565
 
@@ -577,9 +577,9 @@ const DropdownMenuSubTrigger = forwardRef<DropdownMenuSubTriggerElement, Dropdow
577
577
 
578
578
  DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
579
579
 
580
- /* -------------------------------------------------------------------------------------------------
581
- * DropdownMenuSubContent
582
- * ----------------------------------------------------------------------------------------------- */
580
+ //
581
+ // DropdownMenuSubContent
582
+ //
583
583
 
584
584
  const SUB_CONTENT_NAME = 'DropdownMenuSubContent';
585
585
 
@@ -615,7 +615,9 @@ const DropdownMenuSubContent = forwardRef<DropdownMenuSubContentElement, Dropdow
615
615
 
616
616
  DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
617
617
 
618
- /* ----------------------------------------------------------------------------------------------- */
618
+ //
619
+ // DropdownMenu
620
+ //
619
621
 
620
622
  export const DropdownMenu = {
621
623
  Root: DropdownMenuRoot,
@@ -5,7 +5,7 @@
5
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
  import React from 'react';
7
7
 
8
- import { type MessageValence } from '@dxos/react-ui-types';
8
+ import { type MessageValence } from '@dxos/ui-types';
9
9
 
10
10
  import { withTheme } from '../../testing';
11
11
 
@@ -25,10 +25,10 @@ const DefaultStory = ({ valence, title, body }: StoryProps) => (
25
25
  );
26
26
 
27
27
  const meta = {
28
- title: 'ui/react-ui-core/Callout',
28
+ title: 'ui/react-ui-core/components/Callout',
29
29
  component: Callout.Root as any,
30
30
  render: DefaultStory,
31
- decorators: [withTheme],
31
+ decorators: [withTheme()],
32
32
  parameters: { chromatic: { disableSnapshot: false } },
33
33
  argTypes: {
34
34
  valence: {
@@ -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
  {
@@ -59,7 +65,7 @@ const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
59
65
  <Root
60
66
  role={valence === 'neutral' ? 'paragraph' : 'alert'}
61
67
  {...props}
62
- className={tx('message.root', 'message', { valence, elevation }, classNames)}
68
+ className={tx('message.root', { valence, elevation }, classNames)}
63
69
  aria-labelledby={titleId}
64
70
  aria-describedby={descriptionId}
65
71
  ref={forwardedRef}
@@ -73,6 +79,10 @@ const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
73
79
 
74
80
  MessageRoot.displayName = MESSAGE_NAME;
75
81
 
82
+ //
83
+ // Title
84
+ //
85
+
76
86
  type MessageTitleProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Primitive.h2>>, 'id'> & {
77
87
  asChild?: boolean;
78
88
  icon?: string;
@@ -87,18 +97,9 @@ const MessageTitle = forwardRef<HTMLHeadingElement, MessageTitleProps>(
87
97
  const Root = asChild ? Slot : Primitive.h2;
88
98
 
89
99
  return (
90
- <Root
91
- {...props}
92
- className={tx('message.title', 'message__title', {}, classNames)}
93
- id={titleId}
94
- ref={forwardedRef}
95
- >
100
+ <Root {...props} className={tx('message.title', {}, classNames)} id={titleId} ref={forwardedRef}>
96
101
  {!icon && valence === 'neutral' ? null : (
97
- <Icon
98
- size={5}
99
- icon={icon ?? messageIcons[valence]}
100
- classNames={tx('message.icon', 'message__icon', { valence })}
101
- />
102
+ <Icon size={5} icon={icon ?? messageIcons[valence]} classNames={tx('message.icon', { valence })} />
102
103
  )}
103
104
  <span>{children}</span>
104
105
  </Root>
@@ -108,33 +109,41 @@ const MessageTitle = forwardRef<HTMLHeadingElement, MessageTitleProps>(
108
109
 
109
110
  MessageTitle.displayName = MESSAGE_TITLE_NAME;
110
111
 
112
+ //
113
+ // Content
114
+ //
115
+
111
116
  type MessageContentProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Primitive.h2>>, 'id'> & {
112
117
  asChild?: boolean;
113
118
  };
114
119
 
115
- const MESSAGE_BODY_NAME = 'MessageContent';
120
+ const MESSAGE_CONTENT_NAME = 'MessageContent';
116
121
 
117
122
  const MessageContent = forwardRef<HTMLParagraphElement, MessageContentProps>(
118
123
  ({ asChild, classNames, children, ...props }, forwardedRef) => {
119
124
  const { tx } = useThemeContext();
120
- const { descriptionId } = useMessageContext(MESSAGE_BODY_NAME);
125
+ const { descriptionId } = useMessageContext(MESSAGE_CONTENT_NAME);
121
126
  const Root = asChild ? Slot : Primitive.p;
122
127
  return (
123
- <Root
124
- {...props}
125
- className={tx('message.content', 'message__content', {}, classNames)}
126
- id={descriptionId}
127
- ref={forwardedRef}
128
- >
128
+ <Root {...props} className={tx('message.content', {}, classNames)} id={descriptionId} ref={forwardedRef}>
129
129
  {children}
130
130
  </Root>
131
131
  );
132
132
  },
133
133
  );
134
134
 
135
- MessageContent.displayName = MESSAGE_BODY_NAME;
135
+ MessageContent.displayName = MESSAGE_CONTENT_NAME;
136
+
137
+ //
138
+ // Message
139
+ //
140
+
141
+ export const Message = {
142
+ Root: MessageRoot,
143
+ Title: MessageTitle,
144
+ Content: MessageContent,
145
+ };
136
146
 
137
- export const Message = { Root: MessageRoot, Title: MessageTitle, Content: MessageContent };
138
147
  export const Callout = Message;
139
148
 
140
149
  export type { MessageRootProps, MessageTitleProps, MessageContentProps };
@@ -29,10 +29,10 @@ const DefaultStory = ({ openTrigger, children }: PropsWithChildren<{ openTrigger
29
29
  };
30
30
 
31
31
  const meta = {
32
- title: 'ui/react-ui-core/Popover',
32
+ title: 'ui/react-ui-core/components/Popover',
33
33
  component: Popover.Root,
34
34
  render: DefaultStory,
35
- decorators: [withTheme],
35
+ decorators: [withTheme()],
36
36
  } satisfies Meta<typeof DefaultStory>;
37
37
 
38
38
  export default meta;