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

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 (280) hide show
  1. package/dist/lib/browser/{chunk-2COVUP44.mjs → chunk-BFCXP6YC.mjs} +656 -319
  2. package/dist/lib/browser/chunk-BFCXP6YC.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +12 -1
  4. package/dist/lib/browser/index.mjs.map +2 -2
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +57 -29
  7. package/dist/lib/browser/testing/index.mjs.map +4 -4
  8. package/dist/lib/node-esm/{chunk-GHXHND5V.mjs → chunk-F4Z46DD6.mjs} +656 -319
  9. package/dist/lib/node-esm/chunk-F4Z46DD6.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +12 -1
  11. package/dist/lib/node-esm/index.mjs.map +2 -2
  12. package/dist/lib/node-esm/meta.json +1 -1
  13. package/dist/lib/node-esm/testing/index.mjs +57 -29
  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 +5 -31
  18. package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
  19. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts +5 -11
  20. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
  21. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  22. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  23. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts +8 -20
  24. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  25. package/dist/types/src/components/{Buttons → Button}/Button.d.ts +1 -1
  26. package/dist/types/src/components/Button/Button.d.ts.map +1 -0
  27. package/dist/types/src/components/Button/Button.stories.d.ts +17 -0
  28. package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -0
  29. package/dist/types/src/components/{Buttons → Button}/IconButton.d.ts +4 -4
  30. package/dist/types/src/components/Button/IconButton.d.ts.map +1 -0
  31. package/dist/types/src/components/Button/IconButton.stories.d.ts +13 -0
  32. package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -0
  33. package/dist/types/src/components/Button/Toggle.d.ts.map +1 -0
  34. package/dist/types/src/components/Button/Toggle.stories.d.ts +16 -0
  35. package/dist/types/src/components/Button/Toggle.stories.d.ts.map +1 -0
  36. package/dist/types/src/components/{Buttons → Button}/ToggleGroup.d.ts +7 -8
  37. package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -0
  38. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +27 -0
  39. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts.map +1 -0
  40. package/dist/types/src/components/Button/index.d.ts.map +1 -0
  41. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +1 -1
  42. package/dist/types/src/components/Clipboard/CopyButton.d.ts +1 -1
  43. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
  44. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
  45. package/dist/types/src/components/{Dialogs → Dialog}/AlertDialog.d.ts +1 -1
  46. package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -0
  47. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts +11 -0
  48. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -0
  49. package/dist/types/src/components/{Dialogs → Dialog}/Dialog.d.ts +3 -3
  50. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -0
  51. package/dist/types/src/components/Dialog/Dialog.stories.d.ts +25 -0
  52. package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -0
  53. package/dist/types/src/components/Dialog/index.d.ts.map +1 -0
  54. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
  55. package/dist/types/src/components/Icon/Icon.d.ts +1 -1
  56. package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
  57. package/dist/types/src/components/Icon/Icon.stories.d.ts +17 -0
  58. package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -0
  59. package/dist/types/src/components/Input/Input.d.ts +6 -5
  60. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  61. package/dist/types/src/components/Input/Input.stories.d.ts +10 -11
  62. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  63. package/dist/types/src/components/Link/Link.stories.d.ts +8 -8
  64. package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -1
  65. package/dist/types/src/components/{Lists → List}/List.d.ts +2 -2
  66. package/dist/types/src/components/List/List.d.ts.map +1 -0
  67. package/dist/types/src/components/List/List.stories.d.ts +14 -0
  68. package/dist/types/src/components/List/List.stories.d.ts.map +1 -0
  69. package/dist/types/src/components/List/ListDropIndicator.d.ts.map +1 -0
  70. package/dist/types/src/components/{Lists → List}/Tree.d.ts +1 -1
  71. package/dist/types/src/components/List/Tree.d.ts.map +1 -0
  72. package/dist/types/src/components/List/Tree.stories.d.ts +15 -0
  73. package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -0
  74. package/dist/types/src/components/List/TreeDropIndicator.d.ts.map +1 -0
  75. package/dist/types/src/components/{Lists → List}/Treegrid.d.ts +1 -1
  76. package/dist/types/src/components/{Lists → List}/Treegrid.d.ts.map +1 -1
  77. package/dist/types/src/components/List/Treegrid.stories.d.ts +12 -0
  78. package/dist/types/src/components/List/Treegrid.stories.d.ts.map +1 -0
  79. package/dist/types/src/components/List/index.d.ts.map +1 -0
  80. package/dist/types/src/components/Main/Main.d.ts +10 -19
  81. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  82. package/dist/types/src/components/Main/Main.stories.d.ts +6 -7
  83. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  84. package/dist/types/src/components/Menus/ContextMenu.d.ts.map +1 -1
  85. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts +6 -44
  86. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +1 -1
  87. package/dist/types/src/components/Menus/DropdownMenu.d.ts +8 -8
  88. package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +1 -1
  89. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts +6 -41
  90. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts.map +1 -1
  91. package/dist/types/src/components/Message/Message.d.ts +1 -1
  92. package/dist/types/src/components/Message/Message.d.ts.map +1 -1
  93. package/dist/types/src/components/Message/Message.stories.d.ts +7 -16
  94. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  95. package/dist/types/src/components/Popover/Popover.d.ts +2 -2
  96. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  97. package/dist/types/src/components/Popover/Popover.stories.d.ts +6 -34
  98. package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
  99. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +1 -1
  100. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  101. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +6 -32
  102. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  103. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +39 -0
  104. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -0
  105. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +19 -0
  106. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -0
  107. package/dist/types/src/components/ScrollContainer/index.d.ts +2 -0
  108. package/dist/types/src/components/ScrollContainer/index.d.ts.map +1 -0
  109. package/dist/types/src/components/Select/Select.d.ts +1 -1
  110. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  111. package/dist/types/src/components/Select/Select.stories.d.ts +4 -9
  112. package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
  113. package/dist/types/src/components/Status/Status.stories.d.ts +2 -8
  114. package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
  115. package/dist/types/src/components/Tag/Tag.stories.d.ts +12 -12
  116. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
  117. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +1 -1
  118. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  119. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +1 -1
  120. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
  121. package/dist/types/src/components/Toast/Toast.d.ts +1 -1
  122. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  123. package/dist/types/src/components/Toast/Toast.stories.d.ts +6 -44
  124. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
  125. package/dist/types/src/components/Toolbar/Toolbar.d.ts +12 -12
  126. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  127. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +6 -50
  128. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  129. package/dist/types/src/components/Tooltip/Tooltip.d.ts +2 -4
  130. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  131. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +8 -61
  132. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  133. package/dist/types/src/components/index.d.ts +4 -3
  134. package/dist/types/src/components/index.d.ts.map +1 -1
  135. package/dist/types/src/hooks/useSafeArea.d.ts.map +1 -1
  136. package/dist/types/src/hooks/useVisualViewport.d.ts +2 -2
  137. package/dist/types/src/hooks/useVisualViewport.d.ts.map +1 -1
  138. package/dist/types/src/index.d.ts +1 -1
  139. package/dist/types/src/index.d.ts.map +1 -1
  140. package/dist/types/src/playground/Controls.stories.d.ts +5 -9
  141. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  142. package/dist/types/src/playground/Custom.stories.d.ts +12 -4
  143. package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
  144. package/dist/types/src/playground/Typography.stories.d.ts +5 -11
  145. package/dist/types/src/playground/Typography.stories.d.ts.map +1 -1
  146. package/dist/types/src/testing/decorators/index.d.ts +2 -1
  147. package/dist/types/src/testing/decorators/index.d.ts.map +1 -1
  148. package/dist/types/src/testing/decorators/withLayout.d.ts +15 -0
  149. package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -0
  150. package/dist/types/src/testing/decorators/{withSurfaceVariantsLayout.d.ts → withLayoutVariants.d.ts} +2 -2
  151. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -0
  152. package/dist/types/src/testing/decorators/withTheme.d.ts +3 -0
  153. package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
  154. package/dist/types/src/util/domino.d.ts +18 -0
  155. package/dist/types/src/util/domino.d.ts.map +1 -0
  156. package/dist/types/src/util/index.d.ts +2 -0
  157. package/dist/types/src/util/index.d.ts.map +1 -1
  158. package/dist/types/src/util/usePx.d.ts +8 -0
  159. package/dist/types/src/util/usePx.d.ts.map +1 -0
  160. package/dist/types/tsconfig.tsbuildinfo +1 -1
  161. package/package.json +26 -23
  162. package/src/components/Avatars/Avatar.stories.tsx +19 -10
  163. package/src/components/Avatars/Avatar.tsx +3 -3
  164. package/src/components/Avatars/AvatarGroup.stories.tsx +10 -6
  165. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +17 -12
  166. package/src/components/Breadcrumb/Breadcrumb.tsx +1 -1
  167. package/src/components/{Buttons → Button}/Button.stories.tsx +8 -9
  168. package/src/components/{Buttons → Button}/IconButton.stories.tsx +11 -8
  169. package/src/components/{Buttons → Button}/IconButton.tsx +19 -15
  170. package/src/components/{Buttons → Button}/Toggle.stories.tsx +13 -9
  171. package/src/components/{Buttons → Button}/ToggleGroup.stories.tsx +10 -7
  172. package/src/components/{Buttons → Button}/ToggleGroup.tsx +17 -4
  173. package/src/components/Clipboard/ClipboardProvider.tsx +1 -1
  174. package/src/components/Clipboard/CopyButton.tsx +3 -2
  175. package/src/components/DensityProvider/DensityProvider.tsx +1 -1
  176. package/src/components/{Dialogs → Dialog}/AlertDialog.stories.tsx +15 -12
  177. package/src/components/{Dialogs → Dialog}/AlertDialog.tsx +13 -13
  178. package/src/components/{Dialogs → Dialog}/Dialog.stories.tsx +17 -15
  179. package/src/components/{Dialogs → Dialog}/Dialog.tsx +20 -14
  180. package/src/components/ElevationProvider/ElevationProvider.tsx +1 -1
  181. package/src/components/Icon/Icon.stories.tsx +113 -0
  182. package/src/components/Icon/Icon.tsx +1 -1
  183. package/src/components/Input/Input.stories.tsx +12 -14
  184. package/src/components/Input/Input.tsx +27 -18
  185. package/src/components/Link/Link.stories.tsx +10 -6
  186. package/src/components/{Lists → List}/List.stories.tsx +16 -14
  187. package/src/components/{Lists → List}/List.tsx +16 -12
  188. package/src/components/{Lists → List}/ListDropIndicator.tsx +1 -1
  189. package/src/components/{Lists → List}/Tree.stories.tsx +11 -8
  190. package/src/components/{Lists → List}/Tree.tsx +4 -3
  191. package/src/components/{Lists → List}/TreeDropIndicator.tsx +1 -1
  192. package/src/components/{Lists → List}/Treegrid.stories.tsx +12 -6
  193. package/src/components/{Lists → List}/Treegrid.tsx +58 -17
  194. package/src/components/Main/Main.stories.tsx +17 -9
  195. package/src/components/Main/Main.tsx +43 -28
  196. package/src/components/Menus/ContextMenu.stories.tsx +11 -8
  197. package/src/components/Menus/ContextMenu.tsx +1 -0
  198. package/src/components/Menus/DropdownMenu.stories.tsx +12 -9
  199. package/src/components/Menus/DropdownMenu.tsx +45 -16
  200. package/src/components/Message/Message.stories.tsx +11 -7
  201. package/src/components/Message/Message.tsx +3 -1
  202. package/src/components/Popover/Popover.stories.tsx +12 -9
  203. package/src/components/Popover/Popover.tsx +29 -12
  204. package/src/components/ScrollArea/ScrollArea.stories.tsx +12 -9
  205. package/src/components/ScrollArea/ScrollArea.tsx +4 -4
  206. package/src/components/ScrollContainer/ScrollContainer.stories.tsx +70 -0
  207. package/src/components/ScrollContainer/ScrollContainer.tsx +233 -0
  208. package/src/components/ScrollContainer/index.ts +5 -0
  209. package/src/components/Select/Select.stories.tsx +15 -12
  210. package/src/components/Select/Select.tsx +9 -8
  211. package/src/components/Status/Status.stories.tsx +9 -6
  212. package/src/components/Tag/Tag.stories.tsx +18 -9
  213. package/src/components/ThemeProvider/ThemeProvider.tsx +3 -2
  214. package/src/components/ThemeProvider/TranslationsProvider.tsx +3 -3
  215. package/src/components/Toast/Toast.stories.tsx +12 -9
  216. package/src/components/Toast/Toast.tsx +9 -9
  217. package/src/components/Toolbar/Toolbar.stories.tsx +14 -12
  218. package/src/components/Toolbar/Toolbar.tsx +20 -8
  219. package/src/components/Tooltip/Tooltip.stories.tsx +16 -12
  220. package/src/components/Tooltip/Tooltip.tsx +5 -4
  221. package/src/components/index.ts +4 -3
  222. package/src/hooks/useSafeArea.ts +3 -2
  223. package/src/hooks/useVisualViewport.ts +4 -4
  224. package/src/index.ts +1 -1
  225. package/src/playground/Controls.stories.tsx +12 -8
  226. package/src/playground/Custom.stories.tsx +13 -24
  227. package/src/playground/Typography.stories.tsx +8 -6
  228. package/src/testing/decorators/index.ts +2 -1
  229. package/src/testing/decorators/withLayout.tsx +56 -0
  230. package/src/testing/decorators/{withSurfaceVariantsLayout.tsx → withLayoutVariants.tsx} +3 -3
  231. package/src/testing/decorators/withTheme.tsx +31 -0
  232. package/src/util/domino.ts +53 -0
  233. package/src/util/index.ts +2 -0
  234. package/src/util/usePx.ts +61 -0
  235. package/dist/lib/browser/chunk-2COVUP44.mjs.map +0 -7
  236. package/dist/lib/node-esm/chunk-GHXHND5V.mjs.map +0 -7
  237. package/dist/types/src/components/Buttons/Button.d.ts.map +0 -1
  238. package/dist/types/src/components/Buttons/Button.stories.d.ts +0 -12
  239. package/dist/types/src/components/Buttons/Button.stories.d.ts.map +0 -1
  240. package/dist/types/src/components/Buttons/IconButton.d.ts.map +0 -1
  241. package/dist/types/src/components/Buttons/IconButton.stories.d.ts +0 -22
  242. package/dist/types/src/components/Buttons/IconButton.stories.d.ts.map +0 -1
  243. package/dist/types/src/components/Buttons/Toggle.d.ts.map +0 -1
  244. package/dist/types/src/components/Buttons/Toggle.stories.d.ts +0 -19
  245. package/dist/types/src/components/Buttons/Toggle.stories.d.ts.map +0 -1
  246. package/dist/types/src/components/Buttons/ToggleGroup.d.ts.map +0 -1
  247. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts +0 -39
  248. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts.map +0 -1
  249. package/dist/types/src/components/Buttons/index.d.ts.map +0 -1
  250. package/dist/types/src/components/Dialogs/AlertDialog.d.ts.map +0 -1
  251. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts +0 -43
  252. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts.map +0 -1
  253. package/dist/types/src/components/Dialogs/Dialog.d.ts.map +0 -1
  254. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts +0 -48
  255. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts.map +0 -1
  256. package/dist/types/src/components/Dialogs/index.d.ts.map +0 -1
  257. package/dist/types/src/components/Lists/List.d.ts.map +0 -1
  258. package/dist/types/src/components/Lists/List.stories.d.ts +0 -37
  259. package/dist/types/src/components/Lists/List.stories.d.ts.map +0 -1
  260. package/dist/types/src/components/Lists/ListDropIndicator.d.ts.map +0 -1
  261. package/dist/types/src/components/Lists/Tree.d.ts.map +0 -1
  262. package/dist/types/src/components/Lists/Tree.stories.d.ts +0 -41
  263. package/dist/types/src/components/Lists/Tree.stories.d.ts.map +0 -1
  264. package/dist/types/src/components/Lists/TreeDropIndicator.d.ts.map +0 -1
  265. package/dist/types/src/components/Lists/Treegrid.stories.d.ts +0 -10
  266. package/dist/types/src/components/Lists/Treegrid.stories.d.ts.map +0 -1
  267. package/dist/types/src/components/Lists/index.d.ts.map +0 -1
  268. package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts.map +0 -1
  269. package/src/testing/decorators/withTheme.ts +0 -25
  270. /package/dist/types/src/components/{Buttons → Button}/Toggle.d.ts +0 -0
  271. /package/dist/types/src/components/{Buttons → Button}/index.d.ts +0 -0
  272. /package/dist/types/src/components/{Dialogs → Dialog}/index.d.ts +0 -0
  273. /package/dist/types/src/components/{Lists → List}/ListDropIndicator.d.ts +0 -0
  274. /package/dist/types/src/components/{Lists → List}/TreeDropIndicator.d.ts +0 -0
  275. /package/dist/types/src/components/{Lists → List}/index.d.ts +0 -0
  276. /package/src/components/{Buttons → Button}/Button.tsx +0 -0
  277. /package/src/components/{Buttons → Button}/Toggle.tsx +0 -0
  278. /package/src/components/{Buttons → Button}/index.ts +0 -0
  279. /package/src/components/{Dialogs → Dialog}/index.ts +0 -0
  280. /package/src/components/{Lists → List}/index.ts +0 -0
@@ -8,7 +8,7 @@ import React, { forwardRef } from 'react';
8
8
  import { useElevationContext, useThemeContext } from '../../hooks';
9
9
  import { useSafeCollisionPadding } from '../../hooks/useSafeCollisionPadding';
10
10
  import { type ThemedClassName } from '../../util';
11
- import { Button, type ButtonProps } from '../Buttons';
11
+ import { Button, type ButtonProps } from '../Button';
12
12
  import { Icon } from '../Icon';
13
13
 
14
14
  type SelectRootProps = SelectPrimitive.SelectProps;
@@ -35,14 +35,13 @@ type SelectTriggerButtonProps = Omit<ButtonProps, 'children'> & Pick<SelectValue
35
35
 
36
36
  const SelectTriggerButton = forwardRef<HTMLButtonElement, SelectTriggerButtonProps>(
37
37
  ({ children, placeholder, ...props }, forwardedRef) => {
38
- const { tx } = useThemeContext();
39
38
  return (
40
39
  <SelectPrimitive.Trigger asChild ref={forwardedRef}>
41
40
  <Button {...props}>
42
41
  <SelectPrimitive.Value placeholder={placeholder}>{children}</SelectPrimitive.Value>
43
- <span className='w-1 flex-1' />
42
+ <span className='is-1 flex-1' />
44
43
  <SelectPrimitive.Icon asChild>
45
- <Icon icon='ph--caret-down--bold' classNames={tx('select.triggerIcon', 'select__trigger__icon', {})} />
44
+ <Icon size={3} icon='ph--caret-down--bold' />
46
45
  </SelectPrimitive.Icon>
47
46
  </Button>
48
47
  </SelectPrimitive.Trigger>
@@ -60,6 +59,7 @@ const SelectContent = forwardRef<HTMLDivElement, SelectContentProps>(
60
59
  return (
61
60
  <SelectPrimitive.Content
62
61
  {...props}
62
+ data-arrow-keys='up down'
63
63
  collisionPadding={safeCollisionPadding}
64
64
  className={tx('select.content', 'select__content', { elevation }, classNames)}
65
65
  position='popper'
@@ -82,7 +82,7 @@ const SelectScrollUpButton = forwardRef<HTMLDivElement, SelectScrollUpButtonProp
82
82
  className={tx('select.scrollButton', 'select__scroll-button--up', {}, classNames)}
83
83
  ref={forwardedRef}
84
84
  >
85
- {children ?? <Icon icon='ph--caret-up--bold' />}
85
+ {children ?? <Icon size={3} icon='ph--caret-up--bold' />}
86
86
  </SelectPrimitive.SelectScrollUpButton>
87
87
  );
88
88
  },
@@ -99,7 +99,7 @@ const SelectScrollDownButton = forwardRef<HTMLDivElement, SelectScrollDownButton
99
99
  className={tx('select.scrollButton', 'select__scroll-button--down', {}, classNames)}
100
100
  ref={forwardedRef}
101
101
  >
102
- {children ?? <Icon icon='ph--caret-down--bold' />}
102
+ {children ?? <Icon size={3} icon='ph--caret-down--bold' />}
103
103
  </SelectPrimitive.SelectScrollDownButton>
104
104
  );
105
105
  },
@@ -108,7 +108,7 @@ const SelectScrollDownButton = forwardRef<HTMLDivElement, SelectScrollDownButton
108
108
  type SelectViewportProps = ThemedClassName<SelectPrimitive.SelectViewportProps>;
109
109
 
110
110
  const SelectViewport = forwardRef<HTMLDivElement, SelectViewportProps>(
111
- ({ classNames, asChild, children, ...props }, forwardedRef) => {
111
+ ({ classNames, children, ...props }, forwardedRef) => {
112
112
  const { tx } = useThemeContext();
113
113
  return (
114
114
  <SelectPrimitive.SelectViewport
@@ -152,12 +152,13 @@ const SelectItemIndicator = forwardRef<HTMLDivElement, SelectItemIndicatorProps>
152
152
 
153
153
  type SelectOptionProps = SelectItemProps;
154
154
 
155
+ // TODO(burdon): Option to show icon on left/right.
155
156
  const SelectOption = forwardRef<HTMLDivElement, SelectItemProps>(({ children, classNames, ...props }, forwardedRef) => {
156
157
  const { tx } = useThemeContext();
157
158
  return (
158
159
  <SelectPrimitive.Item {...props} className={tx('select.item', 'option', {}, classNames)} ref={forwardedRef}>
159
160
  <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
160
- <span className='grow w-1' />
161
+ <span className='grow is-1' />
161
162
  {/* <SelectPrimitive.ItemIndicator className={tx('select.itemIndicator', 'option__indicator', {})}> */}
162
163
  <Icon icon='ph--check--regular' />
163
164
  {/* </SelectPrimitive.ItemIndicator> */}
@@ -2,19 +2,22 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
7
6
  import React from 'react';
8
7
 
9
- import { Status } from './Status';
10
8
  import { withTheme } from '../../testing';
11
9
 
12
- export default {
10
+ import { Status } from './Status';
11
+
12
+ const meta = {
13
13
  title: 'ui/react-ui-core/Status',
14
14
  component: Status,
15
15
  decorators: [withTheme],
16
- parameters: { chromatic: { disableSnapshot: false } },
17
- };
16
+ } satisfies Meta<typeof Status>;
17
+
18
+ export default meta;
19
+
20
+ type Story = StoryObj<typeof meta>;
18
21
 
19
22
  export const Normal = (props: any) => {
20
23
  return (
@@ -1,25 +1,22 @@
1
1
  //
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
+
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
4
6
  import React from 'react';
5
7
 
6
8
  import { hues } from '@dxos/react-ui-theme';
7
- import '@dxos-theme';
8
9
  import { type ChromaticPalette, type MessageValence } from '@dxos/react-ui-types';
9
10
 
10
- import { Tag } from './Tag';
11
11
  import { withTheme } from '../../testing';
12
12
 
13
+ import { Tag } from './Tag';
14
+
13
15
  const palettes = ['neutral', 'success', 'info', 'warning', 'error', ...hues] as (ChromaticPalette | MessageValence)[];
14
16
 
15
- export default {
17
+ const meta = {
16
18
  title: 'ui/react-ui-core/Tag',
17
19
  component: Tag,
18
- decorators: [withTheme],
19
- parameters: { chromatic: { disableSnapshot: false } },
20
- } as const;
21
-
22
- export const Default = {
23
20
  render: () => (
24
21
  <div role='grid' className='grid grid-cols-5 gap-2 max-is-screen-md'>
25
22
  {palettes.map((palette) => (
@@ -29,4 +26,16 @@ export const Default = {
29
26
  ))}
30
27
  </div>
31
28
  ),
32
- };
29
+ decorators: [withTheme],
30
+ parameters: {
31
+ chromatic: {
32
+ disableSnapshot: false,
33
+ },
34
+ },
35
+ } satisfies Meta<typeof Tag>;
36
+
37
+ export default meta;
38
+
39
+ type Story = StoryObj<typeof meta>;
40
+
41
+ export const Default: Story = {};
@@ -3,16 +3,17 @@
3
3
  //
4
4
 
5
5
  import { createKeyborg } from 'keyborg';
6
- import React, { createContext, type PropsWithChildren, useEffect, useMemo } from 'react';
6
+ import React, { type PropsWithChildren, createContext, useEffect, useMemo } from 'react';
7
7
 
8
8
  import { type Density, type Elevation, type ThemeFunction } from '@dxos/react-ui-types';
9
9
 
10
- import { TranslationsProvider, type TranslationsProviderProps } from './TranslationsProvider';
11
10
  import { type SafeAreaPadding, useSafeArea } from '../../hooks';
12
11
  import { hasIosKeyboard } from '../../util';
13
12
  import { DensityProvider } from '../DensityProvider';
14
13
  import { ElevationProvider } from '../ElevationProvider';
15
14
 
15
+ import { TranslationsProvider, type TranslationsProviderProps } from './TranslationsProvider';
16
+
16
17
  export type ThemeMode = 'dark' | 'light';
17
18
 
18
19
  export type ThemeContextValue = {
@@ -2,9 +2,9 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- import { enUS as dtLocaleEnUs, type Locale } from 'date-fns/locale';
6
- import i18Next, { type TFunction, type Resource } from 'i18next';
7
- import React, { type ReactNode, useEffect, createContext, useState, Suspense, useContext } from 'react';
5
+ import { type Locale, enUS as dtLocaleEnUs } from 'date-fns/locale';
6
+ import i18Next, { type Resource, type TFunction } from 'i18next';
7
+ import React, { type ReactNode, Suspense, createContext, useContext, useEffect, useState } from 'react';
8
8
  import { initReactI18next, useTranslation as useI18NextTranslation } from 'react-i18next';
9
9
 
10
10
  const initialLng = 'en-US';
@@ -2,13 +2,13 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
7
6
  import React, { type ReactNode, useState } from 'react';
8
7
 
9
- import { Toast } from './Toast';
10
8
  import { withTheme } from '../../testing';
11
- import { Button } from '../Buttons';
9
+ import { Button } from '../Button';
10
+
11
+ import { Toast } from './Toast';
12
12
 
13
13
  type ActionTriggerProps = { altText: string; trigger: ReactNode };
14
14
 
@@ -44,15 +44,18 @@ const DefaultStory = ({ title, description, actionTriggers, openTrigger, closeTr
44
44
  );
45
45
  };
46
46
 
47
- export default {
47
+ const meta = {
48
48
  title: 'ui/react-ui-core/Toast',
49
- component: Toast,
49
+ component: Toast as any,
50
50
  render: DefaultStory,
51
51
  decorators: [withTheme],
52
- parameters: { chromatic: { disableSnapshot: false } },
53
- };
52
+ } satisfies Meta<typeof DefaultStory>;
53
+
54
+ export default meta;
55
+
56
+ type Story = StoryObj<typeof meta>;
54
57
 
55
- export const Default = {
58
+ export const Default: Story = {
56
59
  args: {
57
60
  openTrigger: 'Open toast',
58
61
  title: 'This is a toast',
@@ -5,22 +5,22 @@
5
5
  import { Primitive } from '@radix-ui/react-primitive';
6
6
  import { Slot } from '@radix-ui/react-slot';
7
7
  import {
8
+ ToastAction as ToastActionPrimitive,
9
+ type ToastActionProps as ToastActionPrimitiveProps,
10
+ ToastClose as ToastClosePrimitive,
11
+ type ToastCloseProps as ToastClosePrimitiveProps,
12
+ ToastDescription as ToastDescriptionPrimitive,
13
+ type ToastDescriptionProps as ToastDescriptionPrimitiveProps,
8
14
  ToastProvider as ToastProviderPrimitive,
9
15
  type ToastProviderProps as ToastProviderPrimitiveProps,
10
- ToastViewport as ToastViewportPrimitive,
11
- type ToastViewportProps as ToastViewportPrimitiveProps,
12
16
  Root as ToastRootPrimitive,
13
17
  type ToastProps as ToastRootPrimitiveProps,
14
18
  ToastTitle as ToastTitlePrimitive,
15
19
  type ToastTitleProps as ToastTitlePrimitiveProps,
16
- ToastDescription as ToastDescriptionPrimitive,
17
- type ToastDescriptionProps as ToastDescriptionPrimitiveProps,
18
- ToastAction as ToastActionPrimitive,
19
- type ToastActionProps as ToastActionPrimitiveProps,
20
- ToastClose as ToastClosePrimitive,
21
- type ToastCloseProps as ToastClosePrimitiveProps,
20
+ ToastViewport as ToastViewportPrimitive,
21
+ type ToastViewportProps as ToastViewportPrimitiveProps,
22
22
  } from '@radix-ui/react-toast';
23
- import React, { type ComponentPropsWithRef, forwardRef, type FunctionComponent } from 'react';
23
+ import React, { type ComponentPropsWithRef, type FunctionComponent, forwardRef } from 'react';
24
24
 
25
25
  import { useThemeContext } from '../../hooks';
26
26
  import { type ThemedClassName } from '../../util';
@@ -2,16 +2,16 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
7
6
  import React from 'react';
8
7
 
9
- import { Toolbar } from './Toolbar';
10
8
  import { withTheme } from '../../testing';
11
- import { Toggle } from '../Buttons';
9
+ import { Toggle } from '../Button';
12
10
  import { Icon } from '../Icon';
13
11
  import { Select } from '../Select';
14
12
 
13
+ import { Toolbar } from './Toolbar';
14
+
15
15
  type StorybookToolbarProps = {};
16
16
 
17
17
  const DefaultStory = (props: StorybookToolbarProps) => {
@@ -29,6 +29,7 @@ const DefaultStory = (props: StorybookToolbarProps) => {
29
29
  <Select.Option value={'b'}>B</Select.Option>
30
30
  <Select.Option value={'c'}>C</Select.Option>
31
31
  </Select.Viewport>
32
+ <Select.Arrow />
32
33
  </Select.Content>
33
34
  </Select.Portal>
34
35
  </Select.Root>
@@ -62,21 +63,22 @@ const DefaultStory = (props: StorybookToolbarProps) => {
62
63
  </Toolbar.Button>
63
64
  <Toolbar.Separator />
64
65
  <Toolbar.Button>Test</Toolbar.Button>
65
- <Toolbar.Button>
66
- <Icon icon='ph--arrow-clockwise--regular' />
67
- </Toolbar.Button>
66
+ <Toolbar.IconButton icon='ph--arrow-clockwise--regular' label='Refresh' iconOnly />
68
67
  </Toolbar.Root>
69
68
  );
70
69
  };
71
70
 
72
- export default {
71
+ const meta = {
73
72
  title: 'ui/react-ui-core/Toolbar',
74
- component: Toolbar,
73
+ component: Toolbar as any,
75
74
  render: DefaultStory,
76
75
  decorators: [withTheme],
77
- parameters: { chromatic: { disableSnapshot: false } },
78
- };
76
+ } satisfies Meta<typeof DefaultStory>;
77
+
78
+ export default meta;
79
+
80
+ type Story = StoryObj<typeof meta>;
79
81
 
80
- export const Default = {
82
+ export const Default: Story = {
81
83
  args: {},
82
84
  };
@@ -4,7 +4,7 @@
4
4
 
5
5
  import type { ToggleGroupItemProps as ToggleGroupItemPrimitiveProps } from '@radix-ui/react-toggle-group';
6
6
  import * as ToolbarPrimitive from '@radix-ui/react-toolbar';
7
- import React, { forwardRef } from 'react';
7
+ import React, { Fragment, forwardRef } from 'react';
8
8
 
9
9
  import { useThemeContext } from '../../hooks';
10
10
  import { type ThemedClassName } from '../../util';
@@ -13,27 +13,39 @@ import {
13
13
  ButtonGroup,
14
14
  type ButtonGroupProps,
15
15
  type ButtonProps,
16
+ IconButton,
17
+ type IconButtonProps,
16
18
  Toggle,
17
19
  type ToggleGroupItemProps,
18
20
  type ToggleProps,
19
- IconButton,
20
- type IconButtonProps,
21
- } from '../Buttons';
21
+ } from '../Button';
22
22
  import { Link, type LinkProps } from '../Link';
23
23
  import { Separator, type SeparatorProps } from '../Separator';
24
24
 
25
- type ToolbarRootProps = ThemedClassName<ToolbarPrimitive.ToolbarProps> & { layoutManaged?: boolean };
25
+ type ToolbarRootProps = ThemedClassName<
26
+ ToolbarPrimitive.ToolbarProps & {
27
+ textBlockWidth?: boolean;
28
+ layoutManaged?: boolean;
29
+ disabled?: boolean;
30
+ }
31
+ >;
26
32
 
27
33
  const ToolbarRoot = forwardRef<HTMLDivElement, ToolbarRootProps>(
28
- ({ classNames, children, layoutManaged, ...props }, forwardedRef) => {
34
+ ({ classNames, children, layoutManaged, textBlockWidth: textBlockWidthParam, disabled, ...props }, forwardedRef) => {
29
35
  const { tx } = useThemeContext();
36
+ const InnerRoot = textBlockWidthParam ? 'div' : Fragment;
37
+ const innerRootProps = textBlockWidthParam
38
+ ? { role: 'none', className: tx('toolbar.inner', 'toolbar', { layoutManaged }, classNames) }
39
+ : {};
40
+
30
41
  return (
31
42
  <ToolbarPrimitive.Root
32
43
  {...props}
33
- className={tx('toolbar.root', 'toolbar', { layoutManaged }, classNames)}
44
+ data-arrow-keys={props.orientation === 'vertical' ? 'up down' : 'left right'}
45
+ className={tx('toolbar.root', 'toolbar', { layoutManaged, disabled }, classNames)}
34
46
  ref={forwardedRef}
35
47
  >
36
- {children}
48
+ <InnerRoot {...innerRootProps}>{children}</InnerRoot>
37
49
  </ToolbarPrimitive.Root>
38
50
  );
39
51
  },
@@ -2,14 +2,15 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
  import React from 'react';
7
7
 
8
8
  import { faker } from '@dxos/random';
9
9
 
10
- import { Tooltip } from './Tooltip';
11
10
  import { withTheme } from '../../testing';
12
- import { Button } from '../Buttons';
11
+ import { Button } from '../Button';
12
+
13
+ import { Tooltip } from './Tooltip';
13
14
 
14
15
  type StoryProps = {
15
16
  tooltips: { label: string; content: string }[];
@@ -28,15 +29,18 @@ const DefaultStory = ({ tooltips, defaultOpen }: StoryProps) => (
28
29
  </Tooltip.Provider>
29
30
  );
30
31
 
31
- export default {
32
+ const meta = {
32
33
  title: 'ui/react-ui-core/Tooltip',
33
- component: Tooltip,
34
+ component: Tooltip as any,
34
35
  render: DefaultStory,
35
36
  decorators: [withTheme],
36
- parameters: { chromatic: { disableSnapshot: false } },
37
- };
37
+ } satisfies Meta<typeof DefaultStory>;
38
+
39
+ export default meta;
40
+
41
+ type Story = StoryObj<typeof meta>;
38
42
 
39
- export const Default = {
43
+ export const Default: Story = {
40
44
  args: {
41
45
  tooltips: [
42
46
  {
@@ -50,9 +54,9 @@ export const Default = {
50
54
  },
51
55
  };
52
56
 
53
- export const DefaultOpen = {
57
+ export const DefaultOpen: Story = {
54
58
  args: {
55
- defaultOption: true,
59
+ defaultOpen: true,
56
60
  tooltips: [
57
61
  {
58
62
  label: 'Tooltip trigger',
@@ -65,9 +69,9 @@ export const DefaultOpen = {
65
69
  },
66
70
  };
67
71
 
68
- export const StressTest = {
72
+ export const StressTest: Story = {
69
73
  args: {
70
- defaultOption: true,
74
+ defaultOpen: true,
71
75
  tooltips: faker.helpers.multiple(
72
76
  () => ({
73
77
  label: faker.lorem.words(2),
@@ -11,7 +11,7 @@ import type { Scope } from '@radix-ui/react-context';
11
11
  import { DismissableLayer } from '@radix-ui/react-dismissable-layer';
12
12
  import { useId } from '@radix-ui/react-id';
13
13
  import * as PopperPrimitive from '@radix-ui/react-popper';
14
- import { createPopperScope, type PopperAnchorProps } from '@radix-ui/react-popper';
14
+ import { type PopperAnchorProps, createPopperScope } from '@radix-ui/react-popper';
15
15
  import { Portal as PortalPrimitive } from '@radix-ui/react-portal';
16
16
  import { Presence } from '@radix-ui/react-presence';
17
17
  import { Primitive } from '@radix-ui/react-primitive';
@@ -23,10 +23,11 @@ import React, {
23
23
  type ComponentPropsWithoutRef,
24
24
  type ElementRef,
25
25
  type FC,
26
- type SyntheticEvent,
27
- forwardRef,
28
26
  type MutableRefObject,
29
27
  type ReactNode,
28
+ type RefObject,
29
+ type SyntheticEvent,
30
+ forwardRef,
30
31
  useCallback,
31
32
  useEffect,
32
33
  useMemo,
@@ -218,7 +219,7 @@ const TooltipProvider: FC<TooltipProviderProps> = (props: TooltipScopedProps<Too
218
219
  {content}
219
220
  <TooltipArrow className={tx('tooltip.arrow', 'tooltip__arrow')} />
220
221
  </TooltipContent>
221
- <TooltipVirtualTrigger virtualRef={triggerRef} />
222
+ <TooltipVirtualTrigger virtualRef={triggerRef as RefObject<HTMLButtonElement>} />
222
223
  {children}
223
224
  </TooltipContextProvider>
224
225
  </PopperPrimitive.Root>
@@ -5,19 +5,20 @@
5
5
  export * from './AnchoredOverflow';
6
6
  export * from './Avatars';
7
7
  export * from './Breadcrumb';
8
- export * from './Buttons';
8
+ export * from './Button';
9
9
  export * from './Clipboard';
10
- export * from './Dialogs';
10
+ export * from './Dialog';
11
11
  export * from './Icon';
12
12
  export * from './Input';
13
13
  export * from './Link';
14
- export * from './Lists';
14
+ export * from './List';
15
15
  export * from './Main';
16
16
  export * from './Menus';
17
17
  export * from './Message';
18
18
  export * from './Popover';
19
19
  export * from './Status';
20
20
  export * from './ScrollArea';
21
+ export * from './ScrollContainer';
21
22
  export * from './Select';
22
23
  export * from './Separator';
23
24
  export * from './Tag';
@@ -4,7 +4,7 @@
4
4
 
5
5
  import { useCallback, useState } from 'react';
6
6
 
7
- import { useResize } from '@dxos/react-hooks';
7
+ import { useViewportResize } from '@dxos/react-hooks';
8
8
 
9
9
  export type SafeAreaPadding = Record<'top' | 'right' | 'bottom' | 'left', number>;
10
10
 
@@ -20,6 +20,7 @@ export const useSafeArea = (): SafeAreaPadding => {
20
20
  left: parseFloat(getComputedStyle(document.documentElement).getPropertyValue('--safe-area-left')),
21
21
  });
22
22
  }, []);
23
- useResize(handleResize);
23
+
24
+ useViewportResize(handleResize);
24
25
  return padding;
25
26
  };
@@ -2,11 +2,11 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { useCallback, type useEffect, useState } from 'react';
5
+ import { useCallback, useState } from 'react';
6
6
 
7
- import { useResize } from '@dxos/react-hooks';
7
+ import { useViewportResize } from '@dxos/react-hooks';
8
8
 
9
- export const useVisualViewport = (deps?: Parameters<typeof useEffect>[1]) => {
9
+ export const useVisualViewport = (deps?: Parameters<typeof useViewportResize>[1]) => {
10
10
  const [width, setWidth] = useState<number | null>(null);
11
11
  const [height, setHeight] = useState<number | null>(null);
12
12
 
@@ -17,7 +17,7 @@ export const useVisualViewport = (deps?: Parameters<typeof useEffect>[1]) => {
17
17
  }
18
18
  }, []);
19
19
 
20
- useResize(handleResize);
20
+ useViewportResize(handleResize, deps);
21
21
 
22
22
  return { width, height };
23
23
  };
package/src/index.ts CHANGED
@@ -6,7 +6,7 @@ export { type Resource, type TFunction } from 'i18next';
6
6
  export { Trans } from 'react-i18next';
7
7
 
8
8
  export * from '@dxos/react-hooks';
9
- export type * from '@dxos/react-ui-types';
9
+ export * from '@dxos/react-ui-types';
10
10
 
11
11
  export * from './components';
12
12
  export * from './hooks';
@@ -2,12 +2,12 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
7
6
  import React, { useState } from 'react';
8
7
 
9
8
  import { Icon, Input, Select, Toggle, Toolbar } from '../components';
10
- import { withTheme, withSurfaceVariantsLayout } from '../testing';
9
+ import { withTheme } from '../testing';
10
+ import { withLayoutVariants } from '../testing';
11
11
 
12
12
  const DefaultStory = () => {
13
13
  const [checked, setChecked] = useState<boolean>(false);
@@ -28,6 +28,7 @@ const DefaultStory = () => {
28
28
  <Select.Option value={'b'}>B</Select.Option>
29
29
  <Select.Option value={'c'}>C</Select.Option>
30
30
  </Select.Viewport>
31
+ <Select.Arrow />
31
32
  </Select.Content>
32
33
  </Select.Portal>
33
34
  </Select.Root>
@@ -80,11 +81,14 @@ const DefaultStory = () => {
80
81
  );
81
82
  };
82
83
 
83
- export default {
84
+ const meta = {
84
85
  title: 'ui/react-ui-core/Playground/Controls',
85
86
  render: DefaultStory,
86
- decorators: [withSurfaceVariantsLayout(), withTheme],
87
- parameters: { chromatic: { disableSnapshot: false } },
88
- };
87
+ decorators: [withTheme, withLayoutVariants()],
88
+ } satisfies Meta<typeof Icon>;
89
+
90
+ export default meta;
91
+
92
+ type Story = StoryObj<typeof meta>;
89
93
 
90
- export const Default = {};
94
+ export const Default: Story = {};