@dxos/react-ui 0.8.4-main.c85a9c8dae → 0.8.4-main.d05539e30a

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 (325) 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-2FKSMWNY.mjs → chunk-LY5XDQR5.mjs} +84 -12
  6. package/dist/lib/browser/chunk-LY5XDQR5.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +1559 -1062
  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 +44 -20
  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-ZNBLTSHI.mjs → chunk-NGKLIKP3.mjs} +84 -12
  15. package/dist/lib/node-esm/chunk-NGKLIKP3.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 +1559 -1062
  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 +44 -20
  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/Button/Button.d.ts +2 -2
  32. package/dist/types/src/components/Button/Button.d.ts.map +1 -1
  33. package/dist/types/src/components/Button/Button.stories.d.ts +1 -1
  34. package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -1
  35. package/dist/types/src/components/Button/IconButton.d.ts +1 -0
  36. package/dist/types/src/components/Button/IconButton.d.ts.map +1 -1
  37. package/dist/types/src/components/Button/IconButton.stories.d.ts +3 -0
  38. package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -1
  39. package/dist/types/src/components/Button/Toggle.d.ts +2 -2
  40. package/dist/types/src/components/Button/Toggle.d.ts.map +1 -1
  41. package/dist/types/src/components/Button/Toggle.stories.d.ts.map +1 -1
  42. package/dist/types/src/components/Button/ToggleGroup.d.ts +6 -6
  43. package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -1
  44. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +2 -2
  45. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts.map +1 -1
  46. package/dist/types/src/components/Card/Card.d.ts +68 -65
  47. package/dist/types/src/components/Card/Card.d.ts.map +1 -1
  48. package/dist/types/src/components/Card/Card.stories.d.ts +2 -2
  49. package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -1
  50. package/dist/types/src/components/Carousel/Carousel.d.ts +106 -0
  51. package/dist/types/src/components/Carousel/Carousel.d.ts.map +1 -0
  52. package/dist/types/src/components/Carousel/index.d.ts +2 -0
  53. package/dist/types/src/components/Carousel/index.d.ts.map +1 -0
  54. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +1 -1
  55. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
  56. package/dist/types/src/components/Clipboard/index.d.ts +10 -1
  57. package/dist/types/src/components/Clipboard/index.d.ts.map +1 -1
  58. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
  59. package/dist/types/src/components/Dialog/AlertDialog.d.ts +42 -31
  60. package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -1
  61. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -1
  62. package/dist/types/src/components/Dialog/Dialog.d.ts +47 -30
  63. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
  64. package/dist/types/src/components/Dialog/Dialog.stories.d.ts +3 -2
  65. package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -1
  66. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
  67. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -1
  68. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts.map +1 -1
  69. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts +14 -3
  70. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -1
  71. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts.map +1 -1
  72. package/dist/types/src/components/Focus/Focus.d.ts +36 -0
  73. package/dist/types/src/components/Focus/Focus.d.ts.map +1 -0
  74. package/dist/types/src/components/Focus/Focus.stories.d.ts +9 -0
  75. package/dist/types/src/components/Focus/Focus.stories.d.ts.map +1 -0
  76. package/dist/types/src/components/Focus/index.d.ts +2 -0
  77. package/dist/types/src/components/Focus/index.d.ts.map +1 -0
  78. package/dist/types/src/components/Icon/Icon.d.ts +4 -0
  79. package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
  80. package/dist/types/src/components/Icon/Icon.stories.d.ts +11 -3
  81. package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -1
  82. package/dist/types/src/components/Image/Image.d.ts +2 -1
  83. package/dist/types/src/components/Image/Image.d.ts.map +1 -1
  84. package/dist/types/src/components/Image/Image.stories.d.ts +3 -2
  85. package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -1
  86. package/dist/types/src/components/Input/Input.d.ts +14 -17
  87. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  88. package/dist/types/src/components/Input/Input.stories.d.ts +3 -3
  89. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  90. package/dist/types/src/components/Link/Link.d.ts.map +1 -1
  91. package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -1
  92. package/dist/types/src/components/List/List.d.ts +5 -3
  93. package/dist/types/src/components/List/List.d.ts.map +1 -1
  94. package/dist/types/src/components/List/List.stories.d.ts +3 -1
  95. package/dist/types/src/components/List/List.stories.d.ts.map +1 -1
  96. package/dist/types/src/components/List/ListDropIndicator.d.ts.map +1 -1
  97. package/dist/types/src/components/List/Tree.d.ts +2 -2
  98. package/dist/types/src/components/List/Tree.d.ts.map +1 -1
  99. package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -1
  100. package/dist/types/src/components/List/TreeDropIndicator.d.ts.map +1 -1
  101. package/dist/types/src/components/List/Treegrid.d.ts +5 -9
  102. package/dist/types/src/components/List/Treegrid.d.ts.map +1 -1
  103. package/dist/types/src/components/List/Treegrid.stories.d.ts.map +1 -1
  104. package/dist/types/src/components/Main/Main.d.ts +7 -3
  105. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  106. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  107. package/dist/types/src/components/Main/useSwipeToDismiss.d.ts.map +1 -1
  108. package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts +46 -0
  109. package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts.map +1 -0
  110. package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts +16 -0
  111. package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts.map +1 -0
  112. package/dist/types/src/components/MediaPlayer/index.d.ts +2 -0
  113. package/dist/types/src/components/MediaPlayer/index.d.ts.map +1 -0
  114. package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -1
  115. package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -1
  116. package/dist/types/src/components/Menu/DropdownMenu.d.ts +58 -49
  117. package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -1
  118. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +14 -1
  119. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -1
  120. package/dist/types/src/components/Message/Message.d.ts +1 -1
  121. package/dist/types/src/components/Message/Message.d.ts.map +1 -1
  122. package/dist/types/src/components/Message/Message.stories.d.ts +2 -2
  123. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  124. package/dist/types/src/components/Popover/Popover.d.ts +38 -22
  125. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  126. package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
  127. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +12 -11
  128. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  129. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +21 -10
  130. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  131. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +42 -13
  132. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
  133. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +5 -6
  134. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -1
  135. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  136. package/dist/types/src/components/Select/Select.stories.d.ts +2 -2
  137. package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
  138. package/dist/types/src/components/Separator/Separator.d.ts +3 -3
  139. package/dist/types/src/components/Separator/Separator.d.ts.map +1 -1
  140. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -1
  141. package/dist/types/src/components/Splitter/Splitter.d.ts +19 -21
  142. package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -1
  143. package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -1
  144. package/dist/types/src/components/Status/Status.d.ts +3 -4
  145. package/dist/types/src/components/Status/Status.d.ts.map +1 -1
  146. package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
  147. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
  148. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +1 -1
  149. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  150. package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts +1 -1
  151. package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -1
  152. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +54 -55
  153. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
  154. package/dist/types/src/components/ThemeProvider/index.d.ts +1 -1
  155. package/dist/types/src/components/ThemeProvider/index.d.ts.map +1 -1
  156. package/dist/types/src/components/Toast/Toast.d.ts +16 -16
  157. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  158. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
  159. package/dist/types/src/components/Toolbar/Toolbar.d.ts +10 -20
  160. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  161. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  162. package/dist/types/src/components/Tooltip/Tooltip.d.ts +16 -16
  163. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  164. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +2 -2
  165. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/index.d.ts +3 -0
  167. package/dist/types/src/components/index.d.ts.map +1 -1
  168. package/dist/types/src/exemplars/generics.stories.d.ts +6 -5
  169. package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -1
  170. package/dist/types/src/exemplars/slot.stories.d.ts +1 -0
  171. package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -1
  172. package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -1
  173. package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -1
  174. package/dist/types/src/hooks/index.d.ts +1 -0
  175. package/dist/types/src/hooks/index.d.ts.map +1 -1
  176. package/dist/types/src/hooks/useDensityContext.d.ts +1 -1
  177. package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
  178. package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
  179. package/dist/types/src/hooks/useIconHref.d.ts.map +1 -1
  180. package/dist/types/src/hooks/useSafeArea.d.ts.map +1 -1
  181. package/dist/types/src/hooks/useSafeCollisionPadding.d.ts.map +1 -1
  182. package/dist/types/src/hooks/useVisualViewport.d.ts.map +1 -1
  183. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  184. package/dist/types/src/playground/Custom.stories.d.ts +1 -1
  185. package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
  186. package/dist/types/src/playground/Typography.stories.d.ts.map +1 -1
  187. package/dist/types/src/primitives/Column/Column.d.ts +20 -19
  188. package/dist/types/src/primitives/Column/Column.d.ts.map +1 -1
  189. package/dist/types/src/primitives/Column/Column.stories.d.ts +19 -0
  190. package/dist/types/src/primitives/Column/Column.stories.d.ts.map +1 -1
  191. package/dist/types/src/primitives/Container/Container.d.ts +7 -0
  192. package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
  193. package/dist/types/src/primitives/Container/Container.stories.d.ts +6 -0
  194. package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
  195. package/dist/types/src/primitives/Container/index.d.ts +2 -0
  196. package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
  197. package/dist/types/src/primitives/Flex/Flex.d.ts +8 -5
  198. package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -1
  199. package/dist/types/src/primitives/Flex/Flex.stories.d.ts.map +1 -1
  200. package/dist/types/src/primitives/Grid/Grid.d.ts +6 -5
  201. package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -1
  202. package/dist/types/src/primitives/Grid/Grid.stories.d.ts.map +1 -1
  203. package/dist/types/src/primitives/Panel/Panel.d.ts +23 -22
  204. package/dist/types/src/primitives/Panel/Panel.d.ts.map +1 -1
  205. package/dist/types/src/primitives/Panel/Panel.stories.d.ts.map +1 -1
  206. package/dist/types/src/primitives/index.d.ts +1 -0
  207. package/dist/types/src/primitives/index.d.ts.map +1 -1
  208. package/dist/types/src/testing/Loading.d.ts +9 -0
  209. package/dist/types/src/testing/Loading.d.ts.map +1 -0
  210. package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -1
  211. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -1
  212. package/dist/types/src/testing/decorators/withTheme.d.ts +1 -1
  213. package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
  214. package/dist/types/src/testing/index.d.ts +1 -0
  215. package/dist/types/src/testing/index.d.ts.map +1 -1
  216. package/dist/types/src/translations.d.ts +8 -3
  217. package/dist/types/src/translations.d.ts.map +1 -1
  218. package/dist/types/src/util/usePx.d.ts.map +1 -1
  219. package/dist/types/tsconfig.tsbuildinfo +1 -1
  220. package/package.json +29 -26
  221. package/src/components/Avatars/Avatar.stories.tsx +2 -3
  222. package/src/components/Avatars/Avatar.tsx +1 -2
  223. package/src/components/Avatars/AvatarGroup.stories.tsx +0 -1
  224. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +1 -2
  225. package/src/components/Button/Button.stories.tsx +0 -1
  226. package/src/components/Button/Button.tsx +5 -13
  227. package/src/components/Button/IconButton.stories.tsx +6 -4
  228. package/src/components/Button/IconButton.tsx +3 -4
  229. package/src/components/Button/Toggle.stories.tsx +0 -1
  230. package/src/components/Button/Toggle.tsx +4 -4
  231. package/src/components/Button/ToggleGroup.stories.tsx +0 -1
  232. package/src/components/Button/ToggleGroup.tsx +12 -16
  233. package/src/components/Card/Card.stories.tsx +15 -15
  234. package/src/components/Card/Card.tsx +294 -132
  235. package/src/components/Carousel/Carousel.tsx +379 -0
  236. package/src/components/Carousel/index.ts +5 -0
  237. package/src/components/Clipboard/CopyButton.tsx +5 -6
  238. package/src/components/Dialog/AlertDialog.stories.tsx +5 -6
  239. package/src/components/Dialog/AlertDialog.tsx +67 -126
  240. package/src/components/Dialog/Dialog.stories.tsx +64 -9
  241. package/src/components/Dialog/Dialog.tsx +84 -88
  242. package/src/components/ErrorFallback/ErrorFallback.stories.tsx +3 -8
  243. package/src/components/ErrorFallback/ErrorStack.tsx +36 -2
  244. package/src/components/Focus/AUDIT.md +43 -0
  245. package/src/components/Focus/Focus.stories.tsx +230 -0
  246. package/src/components/Focus/Focus.tsx +201 -0
  247. package/src/components/Focus/index.ts +5 -0
  248. package/src/components/Icon/Icon.stories.tsx +43 -13
  249. package/src/components/Icon/Icon.tsx +14 -3
  250. package/src/components/Image/Image.stories.tsx +3 -3
  251. package/src/components/Image/Image.tsx +31 -8
  252. package/src/components/Input/Input.stories.tsx +3 -4
  253. package/src/components/Input/Input.tsx +7 -7
  254. package/src/components/Link/Link.stories.tsx +0 -1
  255. package/src/components/Link/Link.tsx +10 -2
  256. package/src/components/List/List.stories.tsx +3 -4
  257. package/src/components/List/List.tsx +7 -6
  258. package/src/components/List/ListDropIndicator.tsx +0 -1
  259. package/src/components/List/Tree.stories.tsx +2 -3
  260. package/src/components/List/Tree.tsx +0 -1
  261. package/src/components/List/TreeDropIndicator.tsx +1 -1
  262. package/src/components/List/Treegrid.stories.tsx +26 -27
  263. package/src/components/List/Treegrid.tsx +14 -14
  264. package/src/components/Main/Main.stories.tsx +0 -1
  265. package/src/components/Main/Main.tsx +1 -2
  266. package/src/components/MediaPlayer/MediaPlayer.stories.tsx +50 -0
  267. package/src/components/MediaPlayer/MediaPlayer.tsx +153 -0
  268. package/src/components/MediaPlayer/index.ts +5 -0
  269. package/src/components/Menu/ContextMenu.stories.tsx +0 -1
  270. package/src/components/Menu/DropdownMenu.stories.tsx +0 -1
  271. package/src/components/Menu/DropdownMenu.tsx +48 -42
  272. package/src/components/Message/Message.stories.tsx +7 -8
  273. package/src/components/Message/Message.tsx +23 -10
  274. package/src/components/Popover/Popover.stories.tsx +4 -5
  275. package/src/components/Popover/Popover.tsx +42 -42
  276. package/src/components/ScrollArea/ScrollArea.stories.tsx +89 -30
  277. package/src/components/ScrollArea/ScrollArea.tsx +41 -25
  278. package/src/components/ScrollContainer/ScrollContainer.stories.tsx +20 -18
  279. package/src/components/ScrollContainer/ScrollContainer.tsx +199 -92
  280. package/src/components/Select/Select.stories.tsx +5 -6
  281. package/src/components/Separator/Separator.tsx +4 -7
  282. package/src/components/Skeleton/Skeleton.stories.tsx +0 -1
  283. package/src/components/Splitter/Splitter.stories.tsx +29 -29
  284. package/src/components/Splitter/Splitter.tsx +35 -46
  285. package/src/components/Status/Status.stories.tsx +0 -1
  286. package/src/components/Status/Status.tsx +8 -5
  287. package/src/components/Tag/Tag.stories.tsx +0 -1
  288. package/src/components/ThemeProvider/ThemeProvider.stories.tsx +0 -1
  289. package/src/components/ThemeProvider/ThemeProvider.tsx +5 -4
  290. package/src/components/ThemeProvider/index.ts +1 -1
  291. package/src/components/Toast/Toast.stories.tsx +0 -1
  292. package/src/components/Toast/Toast.tsx +16 -31
  293. package/src/components/Toolbar/Toolbar.stories.tsx +0 -1
  294. package/src/components/Toolbar/Toolbar.tsx +36 -48
  295. package/src/components/Tooltip/Tooltip.stories.tsx +7 -8
  296. package/src/components/Tooltip/Tooltip.tsx +29 -29
  297. package/src/components/index.ts +3 -0
  298. package/src/exemplars/generics.stories.tsx +7 -15
  299. package/src/exemplars/slot.stories.tsx +64 -68
  300. package/src/exemplars/tabster.stories.tsx +1 -1
  301. package/src/exemplars/virtualizer.stories.tsx +4 -5
  302. package/src/hooks/index.ts +1 -0
  303. package/src/hooks/useDensityContext.ts +2 -2
  304. package/src/playground/Custom.stories.tsx +6 -9
  305. package/src/primitives/Column/AUDIT.md +148 -0
  306. package/src/primitives/Column/Column.stories.tsx +128 -19
  307. package/src/primitives/Column/Column.tsx +89 -80
  308. package/src/primitives/Container/Container.stories.tsx +29 -0
  309. package/src/primitives/Container/Container.tsx +19 -0
  310. package/src/primitives/Container/index.ts +5 -0
  311. package/src/primitives/Flex/Flex.stories.tsx +0 -1
  312. package/src/primitives/Flex/Flex.tsx +20 -20
  313. package/src/primitives/Grid/Grid.stories.tsx +0 -1
  314. package/src/primitives/Grid/Grid.tsx +23 -36
  315. package/src/primitives/Panel/Panel.stories.tsx +9 -8
  316. package/src/primitives/Panel/Panel.tsx +43 -60
  317. package/src/primitives/index.ts +1 -0
  318. package/src/testing/Loading.tsx +47 -0
  319. package/src/testing/decorators/withLayout.tsx +7 -17
  320. package/src/testing/decorators/withTheme.tsx +10 -7
  321. package/src/testing/index.ts +2 -0
  322. package/src/translations.ts +8 -3
  323. package/src/util/usePx.ts +1 -0
  324. package/dist/lib/browser/chunk-2FKSMWNY.mjs.map +0 -7
  325. package/dist/lib/node-esm/chunk-ZNBLTSHI.mjs.map +0 -7
@@ -22,9 +22,8 @@ import { useControllableState } from '@radix-ui/react-use-controllable-state';
22
22
  import * as VisuallyHiddenPrimitive from '@radix-ui/react-visually-hidden';
23
23
  import React, {
24
24
  type ComponentPropsWithoutRef,
25
- type ElementRef,
25
+ type ComponentRef,
26
26
  type FC,
27
- type MutableRefObject,
28
27
  type ReactNode,
29
28
  type RefObject,
30
29
  type SyntheticEvent,
@@ -55,19 +54,19 @@ type TooltipContextValue = {
55
54
  open: boolean;
56
55
  stateAttribute: 'closed' | 'delayed-open' | 'instant-open';
57
56
  trigger: TooltipTriggerElement | null;
58
- onTriggerChange(trigger: TooltipTriggerElement | null): void;
57
+ onTriggerChange(trigger: TooltipTriggerElement | null, content?: ReactNode, side?: TooltipSide): void;
59
58
  onTriggerEnter(): void;
60
59
  onTriggerLeave(): void;
61
60
  onOpen(): void;
62
61
  onClose(): void;
63
62
  onPointerInTransitChange(inTransit: boolean): void;
64
- isPointerInTransitRef: MutableRefObject<boolean>;
63
+ isPointerInTransitRef: RefObject<boolean>;
65
64
  disableHoverableContent: boolean;
66
65
  };
67
66
 
68
67
  const [TooltipContextProvider, useTooltipContext] = createTooltipContext<TooltipContextValue>(TOOLTIP_NAME);
69
68
 
70
- interface TooltipProviderProps {
69
+ type TooltipProviderProps = {
71
70
  children?: ReactNode;
72
71
  open?: boolean;
73
72
  defaultOpen?: boolean;
@@ -88,7 +87,7 @@ interface TooltipProviderProps {
88
87
  * @defaultValue 300
89
88
  */
90
89
  skipDelayDuration?: number;
91
- }
90
+ };
92
91
 
93
92
  const TooltipProvider: FC<TooltipProviderProps> = (props: TooltipScopedProps<TooltipProviderProps>) => {
94
93
  const {
@@ -112,15 +111,18 @@ const TooltipProvider: FC<TooltipProviderProps> = (props: TooltipScopedProps<Too
112
111
 
113
112
  const popperScope = usePopperScope(__scopeTooltip);
114
113
  const [trigger, setTrigger] = useState<HTMLButtonElement | null>(null);
115
- const [content, setContent] = useState<string>('');
114
+ const [content, setContent] = useState<ReactNode>(null);
116
115
  const [side, setSide] = useState<TooltipSide | undefined>(undefined);
117
116
  const triggerRef = useRef<HTMLButtonElement | null>(trigger);
118
- const handleTriggerChange = useCallback((nextTrigger: HTMLButtonElement | null) => {
119
- setTrigger(nextTrigger);
120
- triggerRef.current = nextTrigger;
121
- setContent(nextTrigger?.getAttribute('data-tooltip-content') ?? '');
122
- setSide((nextTrigger?.getAttribute('data-tooltip-side') as TooltipSide | null) ?? undefined);
123
- }, []);
117
+ const handleTriggerChange = useCallback(
118
+ (nextTrigger: HTMLButtonElement | null, nextContent?: ReactNode, nextSide?: TooltipSide) => {
119
+ setTrigger(nextTrigger);
120
+ triggerRef.current = nextTrigger;
121
+ setContent(nextContent ?? null);
122
+ setSide(nextSide);
123
+ },
124
+ [],
125
+ );
124
126
  const contentId = useId();
125
127
  const openTimerRef = useRef(0);
126
128
  const wasOpenDelayedRef = useRef(false);
@@ -247,11 +249,11 @@ const TooltipVirtualTrigger = ({
247
249
 
248
250
  const TRIGGER_NAME = 'TooltipTrigger';
249
251
 
250
- type TooltipTriggerElement = ElementRef<typeof Primitive.button>;
252
+ type TooltipTriggerElement = ComponentRef<typeof Primitive.button>;
251
253
  type PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;
252
- type TooltipTriggerProps = PrimitiveButtonProps &
254
+ type TooltipTriggerProps = Omit<PrimitiveButtonProps, 'content'> &
253
255
  Pick<TooltipProps, 'delayDuration'> & {
254
- content?: string;
256
+ content?: ReactNode;
255
257
  side?: TooltipSide;
256
258
  onInteract?: (event: SyntheticEvent) => void;
257
259
  };
@@ -284,8 +286,6 @@ const TooltipTrigger = forwardRef<TooltipTriggerElement, TooltipTriggerProps>(
284
286
  // commonly anchors and the anchor `type` attribute signifies MIME type.
285
287
  aria-describedby={context.open ? context.contentId : undefined}
286
288
  data-state={context.stateAttribute}
287
- data-tooltip-content={content}
288
- data-tooltip-side={side}
289
289
  {...triggerProps}
290
290
  ref={composedRefs}
291
291
  onPointerMove={composeEventHandlers(props.onPointerMove, (event) => {
@@ -297,7 +297,7 @@ const TooltipTrigger = forwardRef<TooltipTriggerElement, TooltipTriggerProps>(
297
297
  if (event.defaultPrevented) {
298
298
  return;
299
299
  }
300
- context.onTriggerChange(ref.current);
300
+ context.onTriggerChange(ref.current, content, side);
301
301
  context.onTriggerEnter();
302
302
  hasPointerMoveOpenedRef.current = true;
303
303
  }
@@ -335,7 +335,7 @@ const [PortalProvider, usePortalContext] = createTooltipContext<PortalContextVal
335
335
  });
336
336
 
337
337
  type PortalProps = ComponentPropsWithoutRef<typeof PortalPrimitive>;
338
- interface TooltipPortalProps {
338
+ type TooltipPortalProps = {
339
339
  children?: ReactNode;
340
340
  /**
341
341
  * Specify a container element to portal the content into.
@@ -346,7 +346,7 @@ interface TooltipPortalProps {
346
346
  * controlling animation with React animation libraries.
347
347
  */
348
348
  forceMount?: true;
349
- }
349
+ };
350
350
 
351
351
  const TooltipPortal: FC<TooltipPortalProps> = (props: TooltipScopedProps<TooltipPortalProps>) => {
352
352
  const { __scopeTooltip, forceMount, children, container } = props;
@@ -371,13 +371,13 @@ TooltipPortal.displayName = PORTAL_NAME;
371
371
  const CONTENT_NAME = 'TooltipContent';
372
372
 
373
373
  type TooltipContentElement = TooltipContentImplElement;
374
- interface TooltipContentProps extends TooltipContentImplProps {
374
+ type TooltipContentProps = TooltipContentImplProps & {
375
375
  /**
376
376
  * Used to force mounting when more control is needed. Useful when
377
377
  * controlling animation with React animation libraries.
378
378
  */
379
379
  forceMount?: true;
380
- }
380
+ };
381
381
 
382
382
  const TooltipContent = forwardRef<TooltipContentElement, TooltipContentProps>(
383
383
  (props: TooltipScopedProps<TooltipContentProps>, forwardedRef) => {
@@ -401,7 +401,7 @@ type Point = { x: number; y: number };
401
401
  type Polygon = Point[];
402
402
 
403
403
  type TooltipContentHoverableElement = TooltipContentImplElement;
404
- interface TooltipContentHoverableProps extends TooltipContentImplProps {}
404
+ type TooltipContentHoverableProps = TooltipContentImplProps;
405
405
 
406
406
  const TooltipContentHoverable = forwardRef<TooltipContentHoverableElement, TooltipContentHoverableProps>(
407
407
  (props: TooltipScopedProps<TooltipContentHoverableProps>, forwardedRef) => {
@@ -480,10 +480,10 @@ const [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] =
480
480
  isInside: false,
481
481
  });
482
482
 
483
- type TooltipContentImplElement = ElementRef<typeof PopperPrimitive.Content>;
483
+ type TooltipContentImplElement = ComponentRef<typeof PopperPrimitive.Content>;
484
484
  type DismissableLayerProps = ComponentPropsWithoutRef<typeof DismissableLayer>;
485
485
  type PopperContentProps = ComponentPropsWithoutRef<typeof PopperPrimitive.Content>;
486
- interface TooltipContentImplProps extends Omit<PopperContentProps, 'onPlaced'> {
486
+ type TooltipContentImplProps = Omit<PopperContentProps, 'onPlaced'> & {
487
487
  /**
488
488
  * A more descriptive label for accessibility purpose
489
489
  */
@@ -499,7 +499,7 @@ interface TooltipContentImplProps extends Omit<PopperContentProps, 'onPlaced'> {
499
499
  * Can be prevented.
500
500
  */
501
501
  onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside'];
502
- }
502
+ };
503
503
 
504
504
  const TooltipContentImpl = forwardRef<TooltipContentImplElement, TooltipContentImplProps>(
505
505
  (props: TooltipScopedProps<TooltipContentImplProps>, forwardedRef) => {
@@ -581,9 +581,9 @@ TooltipContent.displayName = CONTENT_NAME;
581
581
 
582
582
  const ARROW_NAME = 'TooltipArrow';
583
583
 
584
- type TooltipArrowElement = ElementRef<typeof PopperPrimitive.Arrow>;
584
+ type TooltipArrowElement = ComponentRef<typeof PopperPrimitive.Arrow>;
585
585
  type PopperArrowProps = ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;
586
- interface TooltipArrowProps extends PopperArrowProps {}
586
+ type TooltipArrowProps = PopperArrowProps;
587
587
 
588
588
  const TooltipArrow = forwardRef<TooltipArrowElement, TooltipArrowProps>(
589
589
  (props: TooltipScopedProps<TooltipArrowProps>, forwardedRef) => {
@@ -10,15 +10,18 @@ export * from './Avatars';
10
10
  export * from './Breadcrumb';
11
11
  export * from './Button';
12
12
  export * from './Card';
13
+ export * from './Carousel';
13
14
  export * from './Clipboard';
14
15
  export * from './Dialog';
15
16
  export * from './ErrorFallback';
17
+ export * from './Focus';
16
18
  export * from './Icon';
17
19
  export * from './Image';
18
20
  export * from './Input';
19
21
  export * from './Link';
20
22
  export * from './List';
21
23
  export * from './Main';
24
+ export * from './MediaPlayer';
22
25
  export * from './Menu';
23
26
  export * from './Message';
24
27
  export * from './Popover';
@@ -3,13 +3,16 @@
3
3
  //
4
4
 
5
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
6
- import React, { type ReactElement, type Ref, forwardRef } from 'react';
6
+ import React from 'react';
7
7
 
8
- import { type SlottableProps } from '@dxos/ui-types';
8
+ import { slottable } from '@dxos/ui-theme';
9
9
 
10
10
  import { withTheme } from '../testing';
11
11
 
12
- const ComponentInner = forwardRef<HTMLDivElement, ComponentProps>(({ children, ...props }, forwardedRef) => {
12
+ /**
13
+ * Generic component pattern using the slottable factory.
14
+ */
15
+ const Component = slottable<HTMLDivElement>(({ children, ...props }, forwardedRef) => {
13
16
  return (
14
17
  <div {...props} ref={forwardedRef}>
15
18
  {children}
@@ -17,21 +20,10 @@ const ComponentInner = forwardRef<HTMLDivElement, ComponentProps>(({ children, .
17
20
  );
18
21
  });
19
22
 
20
- ComponentInner.displayName = 'Component';
21
-
22
- /**
23
- * Generic component pattern.
24
- */
25
- type ComponentProps<P extends HTMLElement = any> = SlottableProps<P>;
26
-
27
- const Component = ComponentInner as <P extends HTMLElement>(
28
- props: SlottableProps<P> & { ref?: Ref<P> },
29
- ) => ReactElement;
30
-
31
23
  const meta = {
32
24
  title: 'ui/react-ui-core/exemplars/generics',
33
25
  component: Component,
34
- render: (props) => <Component<HTMLDivElement> {...props} />,
26
+ render: (props) => <Component {...props} />,
35
27
  decorators: [withTheme()],
36
28
  parameters: {
37
29
  layout: 'centered',
@@ -5,94 +5,62 @@
5
5
  import { Primitive } from '@radix-ui/react-primitive';
6
6
  import { Slot } from '@radix-ui/react-slot';
7
7
  import { type Meta, type StoryObj } from '@storybook/react-vite';
8
- import React, { type PropsWithChildren, forwardRef } from 'react';
8
+ import React, { PropsWithChildren } from 'react';
9
9
 
10
- import { useComposableProps } from '@dxos/ui-theme';
11
- import { type ComposableProps, type SlottableProps, type ThemedClassName } from '@dxos/ui-types';
10
+ import { composable, composableProps, mx, slottable } from '@dxos/ui-theme';
12
11
 
13
12
  import { withTheme } from '../testing';
13
+ import { ThemedClassName } from '../util';
14
14
 
15
15
  /**
16
- * Composition
17
- *
16
+ * Radix-style composition.
18
17
  * All Radix primitive parts that render a DOM element accept an asChild prop.
19
- * When asChild is set to true, Radix will not render a default DOM element, instead cloning the part's child and passing it the props and behavior required to make it functional.
18
+ * When asChild is set to true, Radix will not render a default DOM element,
19
+ * instead cloning the part's child and passing it the props and behavior required to make it functional.
20
20
  * https://www.radix-ui.com/primitives/docs/guides/composition
21
21
  */
22
22
 
23
- // Outer primitive (like Tooltip.Trigger or Focus.Group).
24
- const Outer = forwardRef<HTMLDivElement, SlottableProps<HTMLDivElement>>(
25
- ({ children, asChild, ...props }, forwardedRef) => {
26
- const { className, ...rest } = useComposableProps(props);
23
+ const Outer = slottable<HTMLDivElement, { priority?: number }>(
24
+ ({ children, asChild, priority, ...props }, forwardedRef) => {
27
25
  const Comp = asChild ? Slot : Primitive.div;
28
26
  return (
29
- <Comp {...rest} className={className} data-outer='true' ref={forwardedRef}>
27
+ <Comp
28
+ {...composableProps<HTMLDivElement>(props, { classNames: 'p-2 border border-red-500 rounded' })}
29
+ ref={forwardedRef}
30
+ >
30
31
  {children}
31
32
  </Comp>
32
33
  );
33
34
  },
34
35
  );
35
36
 
36
- // Middle primitive (like Dialog.Trigger or Mosaic.Cell).
37
- const Middle = forwardRef<HTMLDivElement, SlottableProps<HTMLDivElement>>(
38
- ({ children, asChild, ...props }, forwardedRef) => {
39
- const { className, ...rest } = useComposableProps(props);
40
- const Comp = asChild ? Slot : Primitive.div;
41
- return (
42
- <Comp {...rest} className={className} data-middle='true' ref={forwardedRef}>
43
- {children}
44
- </Comp>
45
- );
46
- },
47
- );
48
-
49
- // Leaf component (like Card.Root).
50
- const Leaf = forwardRef<HTMLButtonElement, ComposableProps<PropsWithChildren>>(
51
- ({ children, ...props }, forwardedRef) => {
52
- const { className, ...rest } = useComposableProps(props);
53
- return (
54
- <button {...rest} className={className} ref={forwardedRef}>
55
- {children}
56
- </button>
57
- );
58
- },
59
- );
60
-
61
- // Test 1: Single asChild.
62
- const TestSingle = (props: ThemedClassName<{ role?: string }>) => {
63
- const { className, ...rest } = useComposableProps(props);
37
+ const Middle = slottable<HTMLDivElement>(({ children, asChild, ...props }, forwardedRef) => {
38
+ const Comp = asChild ? Slot : Primitive.div;
64
39
  return (
65
- <Outer asChild {...rest} className={className}>
66
- <Leaf>Single asChild</Leaf>
67
- </Outer>
40
+ <Comp
41
+ {...composableProps<HTMLDivElement>(props, { classNames: 'p-2 border border-red-500 rounded' })}
42
+ ref={forwardedRef}
43
+ >
44
+ {children}
45
+ </Comp>
68
46
  );
69
- };
47
+ });
70
48
 
71
- // Test 2: Nested asChild.
72
- const TestNested = (props: ThemedClassName<{ role?: string }>) => {
73
- const { className, ...rest } = useComposableProps(props);
49
+ const Leaf = composable<HTMLButtonElement>(({ children, ...props }, forwardedRef) => {
74
50
  return (
75
- <Outer asChild {...rest} className={className}>
76
- <Middle asChild>
77
- <Leaf>Nested asChild</Leaf>
78
- </Middle>
79
- </Outer>
51
+ <button
52
+ {...composableProps<HTMLButtonElement>(props, { classNames: 'p-2 border border-red-500 rounded' })}
53
+ ref={forwardedRef}
54
+ >
55
+ {children}
56
+ </button>
80
57
  );
81
- };
58
+ });
82
59
 
83
- // Test 3: Complex.
84
- const TestInner = (props: ThemedClassName<{ role?: string }>) => {
85
- const { className, ...rest } = useComposableProps(props);
86
- return (
87
- <Outer asChild {...rest} className={className}>
88
- <Middle asChild>
89
- <Leaf>
90
- <div role='none'>Leaf</div>
91
- </Leaf>
92
- </Middle>
93
- </Outer>
94
- );
95
- };
60
+ /** This isn't a valid child for a `slottable` component. */
61
+ const Simple = ({ children, classNames }: ThemedClassName<PropsWithChildren>) => (
62
+ <div className={mx(classNames)}>{children}</div>
63
+ );
96
64
 
97
65
  const meta = {
98
66
  title: 'ui/react-ui-core/exemplars/slot',
@@ -107,13 +75,41 @@ export default meta;
107
75
  type Story = StoryObj<typeof meta>;
108
76
 
109
77
  export const Single: Story = {
110
- render: () => <TestSingle role='listitem' classNames='border-red-500' />,
78
+ render: () => (
79
+ <Outer asChild role='article' classNames='border-green-500' priority={1}>
80
+ <Leaf>Single asChild (non-compliant — see console)</Leaf>
81
+ </Outer>
82
+ ),
111
83
  };
112
84
 
113
85
  export const Nested: Story = {
114
- render: () => <TestNested role='listitem' classNames='border-green-500' />,
86
+ render: () => (
87
+ <Outer asChild role='article' classNames='border-blue-500'>
88
+ <Middle asChild>
89
+ <Leaf>Nested asChild</Leaf>
90
+ </Middle>
91
+ </Outer>
92
+ ),
115
93
  };
116
94
 
117
95
  export const Inner: Story = {
118
- render: () => <TestInner role='listitem' classNames='border-blue-500' />,
96
+ render: () => (
97
+ <Outer asChild role='article' classNames='border-orange-500'>
98
+ <Middle asChild>
99
+ <Leaf>
100
+ <div>Leaf</div>
101
+ </Leaf>
102
+ </Middle>
103
+ </Outer>
104
+ ),
105
+ };
106
+
107
+ export const Error: Story = {
108
+ render: () => (
109
+ <Outer asChild role='none' classNames='p-2 border border-green-500 rounded'>
110
+ <Middle asChild>
111
+ <Simple>Simple</Simple>
112
+ </Middle>
113
+ </Outer>
114
+ ),
119
115
  };
@@ -43,7 +43,7 @@ const Column = forwardRef<HTMLDivElement, { items: string[] }>(({ items }, ref)
43
43
  const tabsterAttrs = useMergedTabsterAttributes_unstable(focusableGroupAttrs, arrowNavigationAttrs);
44
44
 
45
45
  return (
46
- <ScrollArea.Root tabIndex={0} orientation='vertical' classNames={mx('w-[25rem]', border)}>
46
+ <ScrollArea.Root orientation='vertical' classNames={mx('w-[25rem]', border)}>
47
47
  <ScrollArea.Viewport {...tabsterAttrs} classNames='p-4 gap-4' ref={ref}>
48
48
  {items.map((item) => (
49
49
  <Item key={item} value={item} />
@@ -6,11 +6,11 @@ import { type Meta } from '@storybook/react-vite';
6
6
  import { useVirtualizer } from '@tanstack/react-virtual';
7
7
  import React, { useEffect, useMemo, useRef, useState } from 'react';
8
8
 
9
- import { faker } from '@dxos/random';
9
+ import { random } from '@dxos/random';
10
10
  import { Panel, ScrollArea, Toolbar } from '@dxos/react-ui';
11
11
  import { withLayout, withTheme } from '@dxos/react-ui/testing';
12
12
 
13
- faker.seed(999);
13
+ random.seed(999);
14
14
 
15
15
  type TestItem = {
16
16
  name: string;
@@ -37,7 +37,7 @@ export const Default = {
37
37
  const items = useMemo<TestItem[]>(
38
38
  () =>
39
39
  Array.from({ length: NUM_ITEMS }, () => ({
40
- name: faker.lorem.paragraph(),
40
+ name: random.lorem.paragraph(),
41
41
  })),
42
42
  [],
43
43
  );
@@ -63,10 +63,9 @@ export const Default = {
63
63
  <ScrollToolbar items={items} index={index} setIndex={setIndex} />
64
64
  </Panel.Toolbar>
65
65
  <Panel.Content asChild>
66
- <ScrollArea.Root orientation='vertical' margin>
66
+ <ScrollArea.Root orientation='vertical' centered>
67
67
  <ScrollArea.Viewport classNames='p-2' ref={setViewport}>
68
68
  <div
69
- role='none'
70
69
  style={{
71
70
  position: 'relative',
72
71
  height: virtualizer.getTotalSize(),
@@ -6,6 +6,7 @@ export * from './useDensityContext';
6
6
  export * from './useElevationContext';
7
7
  export * from './useIconHref';
8
8
  export * from './useSafeArea';
9
+ export * from './useSafeCollisionPadding';
9
10
  export * from './useTranslationsContext';
10
11
  export * from './useThemeContext';
11
12
  export * from './useVisualViewport';
@@ -8,7 +8,7 @@ import { type Density } from '@dxos/ui-types';
8
8
 
9
9
  import { DensityContext } from '../components';
10
10
 
11
- export const useDensityContext = (propsDensity?: Density) => {
11
+ export const useDensityContext = (densityProp?: Density): Density | undefined => {
12
12
  const { density } = useContext(DensityContext);
13
- return propsDensity ?? density;
13
+ return densityProp ?? density;
14
14
  };
@@ -20,15 +20,14 @@ const DefaultStory = ({ children, ...args }: Omit<ButtonProps, 'ref'>) => {
20
20
  </Button>
21
21
  </div>
22
22
  <div className='flex justify-center'>
23
- <IconButton {...args} label='Test' icon='ph--atom--regular' size={7} density='coarse' />
23
+ <IconButton {...args} label='Test' icon='ph--circle--regular' density='coarse' />
24
24
  </div>
25
25
  <div className='flex justify-center'>
26
26
  <IconButton
27
27
  {...args}
28
28
  label='Test'
29
- icon='ph--atom--regular'
29
+ icon='ph--circle--regular'
30
30
  iconOnly
31
- size={7}
32
31
  density='coarse'
33
32
  classNames='px-1.5'
34
33
  />
@@ -43,13 +42,13 @@ const DefaultStory = ({ children, ...args }: Omit<ButtonProps, 'ref'>) => {
43
42
  </Button>
44
43
  </div>
45
44
  <div className='flex justify-center'>
46
- <IconButton {...args} label='Test' icon='ph--atom--regular' density='fine' classNames='px-2' />
45
+ <IconButton {...args} label='Test' icon='ph--circle--regular' density='fine' classNames='px-2' />
47
46
  </div>
48
47
  <div className='flex justify-center'>
49
48
  <IconButton
50
49
  {...args}
51
50
  label='Test'
52
- icon='ph--atom--regular'
51
+ icon='ph--circle--regular'
53
52
  iconOnly
54
53
  density='fine'
55
54
  classNames='py-1 px-1.5'
@@ -68,9 +67,8 @@ const DefaultStory = ({ children, ...args }: Omit<ButtonProps, 'ref'>) => {
68
67
  <IconButton
69
68
  {...args}
70
69
  label='Test'
71
- icon='ph--atom--regular'
70
+ icon='ph--circle--regular'
72
71
  density='fine'
73
- size={4}
74
72
  classNames={'!h-[24px] !text-[14px] p-1 min-h-0 gap-0.5'}
75
73
  />
76
74
  </div>
@@ -78,10 +76,9 @@ const DefaultStory = ({ children, ...args }: Omit<ButtonProps, 'ref'>) => {
78
76
  <IconButton
79
77
  {...args}
80
78
  label='Test'
81
- icon='ph--atom--regular'
79
+ icon='ph--circle--regular'
82
80
  iconOnly
83
81
  density='fine'
84
- size={4}
85
82
  classNames={'!h-[24px] !text-[14px] p-1 min-h-0'}
86
83
  />
87
84
  </div>