@dxos/react-ui 0.8.4-main.f9ba587 → 0.8.4-main.fcfe5033a5

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 (475) hide show
  1. package/dist/lib/browser/chunk-OCVRIJCH.mjs +848 -0
  2. package/dist/lib/browser/chunk-OCVRIJCH.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +4115 -61
  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 +112 -61
  7. package/dist/lib/browser/testing/index.mjs.map +4 -4
  8. package/dist/lib/node-esm/chunk-QUD5P3RU.mjs +850 -0
  9. package/dist/lib/node-esm/chunk-QUD5P3RU.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +4115 -61
  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 +112 -61
  14. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  15. package/dist/types/src/components/Avatars/Avatar.d.ts +2 -2
  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 +4 -4
  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 +16 -0
  32. package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -0
  33. package/dist/types/src/components/{Buttons → Button}/Toggle.d.ts +2 -2
  34. package/dist/types/src/components/Button/Toggle.d.ts.map +1 -0
  35. package/dist/types/src/components/Button/Toggle.stories.d.ts +16 -0
  36. package/dist/types/src/components/Button/Toggle.stories.d.ts.map +1 -0
  37. package/dist/types/src/components/Button/ToggleGroup.d.ts +27 -0
  38. package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -0
  39. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +27 -0
  40. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts.map +1 -0
  41. package/dist/types/src/components/Button/index.d.ts.map +1 -0
  42. package/dist/types/src/components/Card/Card.d.ts +120 -0
  43. package/dist/types/src/components/Card/Card.d.ts.map +1 -0
  44. package/dist/types/src/components/Card/Card.stories.d.ts +21 -0
  45. package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -0
  46. package/dist/types/src/components/Card/index.d.ts +2 -0
  47. package/dist/types/src/components/Card/index.d.ts.map +1 -0
  48. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +1 -1
  49. package/dist/types/src/components/Clipboard/CopyButton.d.ts +1 -1
  50. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
  51. package/dist/types/src/components/Clipboard/index.d.ts +10 -1
  52. package/dist/types/src/components/Clipboard/index.d.ts.map +1 -1
  53. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts +1 -1
  54. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
  55. package/dist/types/src/components/Dialog/AlertDialog.d.ts +51 -0
  56. package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -0
  57. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts +11 -0
  58. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -0
  59. package/dist/types/src/components/Dialog/Dialog.d.ts +64 -0
  60. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -0
  61. package/dist/types/src/components/Dialog/Dialog.stories.d.ts +25 -0
  62. package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -0
  63. package/dist/types/src/components/Dialog/index.d.ts.map +1 -0
  64. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts +1 -1
  65. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
  66. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts +11 -0
  67. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -0
  68. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts +7 -0
  69. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts.map +1 -0
  70. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts +19 -0
  71. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -0
  72. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts +9 -0
  73. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts.map +1 -0
  74. package/dist/types/src/components/ErrorFallback/index.d.ts +5 -0
  75. package/dist/types/src/components/ErrorFallback/index.d.ts.map +1 -0
  76. package/dist/types/src/components/Focus/Focus.d.ts +36 -0
  77. package/dist/types/src/components/Focus/Focus.d.ts.map +1 -0
  78. package/dist/types/src/components/Focus/Focus.stories.d.ts +9 -0
  79. package/dist/types/src/components/Focus/Focus.stories.d.ts.map +1 -0
  80. package/dist/types/src/components/Focus/index.d.ts +2 -0
  81. package/dist/types/src/components/Focus/index.d.ts.map +1 -0
  82. package/dist/types/src/components/Icon/Icon.d.ts +5 -2
  83. package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
  84. package/dist/types/src/components/Icon/Icon.stories.d.ts +25 -0
  85. package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -0
  86. package/dist/types/src/components/Image/Image.d.ts +14 -0
  87. package/dist/types/src/components/Image/Image.d.ts.map +1 -0
  88. package/dist/types/src/components/Image/Image.stories.d.ts +33 -0
  89. package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -0
  90. package/dist/types/src/components/Image/index.d.ts +2 -0
  91. package/dist/types/src/components/Image/index.d.ts.map +1 -0
  92. package/dist/types/src/components/Input/Input.d.ts +8 -10
  93. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  94. package/dist/types/src/components/Input/Input.stories.d.ts +17 -18
  95. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  96. package/dist/types/src/components/Link/Link.stories.d.ts +8 -8
  97. package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -1
  98. package/dist/types/src/components/{Lists → List}/List.d.ts +8 -6
  99. package/dist/types/src/components/List/List.d.ts.map +1 -0
  100. package/dist/types/src/components/List/List.stories.d.ts +16 -0
  101. package/dist/types/src/components/List/List.stories.d.ts.map +1 -0
  102. package/dist/types/src/components/List/ListDropIndicator.d.ts.map +1 -0
  103. package/dist/types/src/components/{Lists → List}/Tree.d.ts +1 -1
  104. package/dist/types/src/components/List/Tree.d.ts.map +1 -0
  105. package/dist/types/src/components/List/Tree.stories.d.ts +15 -0
  106. package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -0
  107. package/dist/types/src/components/List/TreeDropIndicator.d.ts.map +1 -0
  108. package/dist/types/src/components/{Lists → List}/Treegrid.d.ts +6 -10
  109. package/dist/types/src/components/List/Treegrid.d.ts.map +1 -0
  110. package/dist/types/src/components/List/Treegrid.stories.d.ts +12 -0
  111. package/dist/types/src/components/List/Treegrid.stories.d.ts.map +1 -0
  112. package/dist/types/src/components/List/index.d.ts.map +1 -0
  113. package/dist/types/src/components/Main/Main.d.ts +18 -28
  114. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  115. package/dist/types/src/components/Main/Main.stories.d.ts +6 -10
  116. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  117. package/dist/types/src/components/{Menus → Menu}/ContextMenu.d.ts +6 -6
  118. package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -0
  119. package/dist/types/src/components/Menu/ContextMenu.stories.d.ts +12 -0
  120. package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -0
  121. package/dist/types/src/components/Menu/DropdownMenu.d.ts +113 -0
  122. package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
  123. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +28 -0
  124. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -0
  125. package/dist/types/src/components/Menu/index.d.ts.map +1 -0
  126. package/dist/types/src/components/Message/Message.d.ts +1 -1
  127. package/dist/types/src/components/Message/Message.d.ts.map +1 -1
  128. package/dist/types/src/components/Message/Message.stories.d.ts +12 -22
  129. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  130. package/dist/types/src/components/Popover/Popover.d.ts +34 -25
  131. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  132. package/dist/types/src/components/Popover/Popover.stories.d.ts +6 -34
  133. package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
  134. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +27 -27
  135. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  136. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +50 -27
  137. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  138. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +60 -0
  139. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -0
  140. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +23 -0
  141. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -0
  142. package/dist/types/src/components/ScrollContainer/index.d.ts +2 -0
  143. package/dist/types/src/components/ScrollContainer/index.d.ts.map +1 -0
  144. package/dist/types/src/components/Select/Select.d.ts +10 -10
  145. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  146. package/dist/types/src/components/Select/Select.stories.d.ts +6 -11
  147. package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
  148. package/dist/types/src/components/Separator/Separator.d.ts +4 -4
  149. package/dist/types/src/components/Separator/Separator.d.ts.map +1 -1
  150. package/dist/types/src/components/Skeleton/Skeleton.d.ts +12 -0
  151. package/dist/types/src/components/Skeleton/Skeleton.d.ts.map +1 -0
  152. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts +17 -0
  153. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -0
  154. package/dist/types/src/components/Skeleton/index.d.ts +2 -0
  155. package/dist/types/src/components/Skeleton/index.d.ts.map +1 -0
  156. package/dist/types/src/components/Splitter/Splitter.d.ts +34 -0
  157. package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -0
  158. package/dist/types/src/components/Splitter/Splitter.stories.d.ts +7 -0
  159. package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -0
  160. package/dist/types/src/components/Splitter/index.d.ts +2 -0
  161. package/dist/types/src/components/Splitter/index.d.ts.map +1 -0
  162. package/dist/types/src/components/Status/Status.d.ts +3 -4
  163. package/dist/types/src/components/Status/Status.d.ts.map +1 -1
  164. package/dist/types/src/components/Status/Status.stories.d.ts +6 -10
  165. package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/Tag/Tag.d.ts +1 -1
  167. package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
  168. package/dist/types/src/components/Tag/Tag.stories.d.ts +8 -13
  169. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
  170. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +4 -4
  171. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  172. package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts +12 -0
  173. package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -0
  174. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +1 -8
  175. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
  176. package/dist/types/src/components/ThemeProvider/index.d.ts +2 -1
  177. package/dist/types/src/components/ThemeProvider/index.d.ts.map +1 -1
  178. package/dist/types/src/components/Toast/Toast.d.ts +19 -19
  179. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  180. package/dist/types/src/components/Toast/Toast.stories.d.ts +6 -44
  181. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
  182. package/dist/types/src/components/Toolbar/Toolbar.d.ts +40 -22
  183. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  184. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +6 -50
  185. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  186. package/dist/types/src/components/Tooltip/Tooltip.d.ts +10 -12
  187. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  188. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +10 -63
  189. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  190. package/dist/types/src/components/index.d.ts +14 -8
  191. package/dist/types/src/components/index.d.ts.map +1 -1
  192. package/dist/types/src/exemplars/generics.stories.d.ts +19 -0
  193. package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
  194. package/dist/types/src/exemplars/slot.stories.d.ts +15 -0
  195. package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -0
  196. package/dist/types/src/exemplars/tabster.stories.d.ts +8 -0
  197. package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -0
  198. package/dist/types/src/exemplars/virtualizer.stories.d.ts +11 -0
  199. package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -0
  200. package/dist/types/src/hooks/index.d.ts +1 -0
  201. package/dist/types/src/hooks/index.d.ts.map +1 -1
  202. package/dist/types/src/hooks/useDensityContext.d.ts +2 -2
  203. package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
  204. package/dist/types/src/hooks/useElevationContext.d.ts +1 -1
  205. package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
  206. package/dist/types/src/hooks/useSafeArea.d.ts.map +1 -1
  207. package/dist/types/src/hooks/useVisualViewport.d.ts +2 -2
  208. package/dist/types/src/hooks/useVisualViewport.d.ts.map +1 -1
  209. package/dist/types/src/index.d.ts +2 -1
  210. package/dist/types/src/index.d.ts.map +1 -1
  211. package/dist/types/src/playground/Controls.stories.d.ts +5 -9
  212. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  213. package/dist/types/src/playground/Custom.stories.d.ts +12 -4
  214. package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
  215. package/dist/types/src/playground/Typography.stories.d.ts +5 -11
  216. package/dist/types/src/playground/Typography.stories.d.ts.map +1 -1
  217. package/dist/types/src/primitives/Column/Column.d.ts +33 -0
  218. package/dist/types/src/primitives/Column/Column.d.ts.map +1 -0
  219. package/dist/types/src/primitives/Column/Column.stories.d.ts +25 -0
  220. package/dist/types/src/primitives/Column/Column.stories.d.ts.map +1 -0
  221. package/dist/types/src/primitives/Column/index.d.ts +2 -0
  222. package/dist/types/src/primitives/Column/index.d.ts.map +1 -0
  223. package/dist/types/src/primitives/Container/Container.d.ts +7 -0
  224. package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
  225. package/dist/types/src/primitives/Container/Container.stories.d.ts +6 -0
  226. package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
  227. package/dist/types/src/primitives/Container/index.d.ts +2 -0
  228. package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
  229. package/dist/types/src/primitives/Flex/Flex.d.ts +11 -0
  230. package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
  231. package/dist/types/src/primitives/Flex/Flex.stories.d.ts +8 -0
  232. package/dist/types/src/primitives/Flex/Flex.stories.d.ts.map +1 -0
  233. package/dist/types/src/primitives/Flex/index.d.ts +2 -0
  234. package/dist/types/src/primitives/Flex/index.d.ts.map +1 -0
  235. package/dist/types/src/primitives/Grid/Grid.d.ts +10 -0
  236. package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -0
  237. package/dist/types/src/primitives/Grid/Grid.stories.d.ts +8 -0
  238. package/dist/types/src/primitives/Grid/Grid.stories.d.ts.map +1 -0
  239. package/dist/types/src/primitives/Grid/index.d.ts +2 -0
  240. package/dist/types/src/primitives/Grid/index.d.ts.map +1 -0
  241. package/dist/types/src/primitives/Panel/Panel.d.ts +35 -0
  242. package/dist/types/src/primitives/Panel/Panel.d.ts.map +1 -0
  243. package/dist/types/src/primitives/Panel/Panel.stories.d.ts +6 -0
  244. package/dist/types/src/primitives/Panel/Panel.stories.d.ts.map +1 -0
  245. package/dist/types/src/primitives/Panel/index.d.ts +2 -0
  246. package/dist/types/src/primitives/Panel/index.d.ts.map +1 -0
  247. package/dist/types/src/primitives/index.d.ts +6 -0
  248. package/dist/types/src/primitives/index.d.ts.map +1 -0
  249. package/dist/types/src/testing/Loading.d.ts +9 -0
  250. package/dist/types/src/testing/Loading.d.ts.map +1 -0
  251. package/dist/types/src/testing/decorators/index.d.ts +2 -1
  252. package/dist/types/src/testing/decorators/index.d.ts.map +1 -1
  253. package/dist/types/src/testing/decorators/withLayout.d.ts +15 -0
  254. package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -0
  255. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts +12 -0
  256. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -0
  257. package/dist/types/src/testing/decorators/withTheme.d.ts +5 -1
  258. package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
  259. package/dist/types/src/testing/index.d.ts +1 -0
  260. package/dist/types/src/testing/index.d.ts.map +1 -1
  261. package/dist/types/src/translations.d.ts +11 -0
  262. package/dist/types/src/translations.d.ts.map +1 -0
  263. package/dist/types/src/util/index.d.ts +2 -1
  264. package/dist/types/src/util/index.d.ts.map +1 -1
  265. package/dist/types/src/util/usePx.d.ts +8 -0
  266. package/dist/types/src/util/usePx.d.ts.map +1 -0
  267. package/dist/types/tsconfig.tsbuildinfo +1 -1
  268. package/package.json +45 -32
  269. package/src/components/Avatars/Avatar.stories.tsx +23 -16
  270. package/src/components/Avatars/Avatar.tsx +10 -18
  271. package/src/components/Avatars/AvatarGroup.stories.tsx +11 -8
  272. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +19 -15
  273. package/src/components/Breadcrumb/Breadcrumb.tsx +14 -40
  274. package/src/components/{Buttons → Button}/Button.stories.tsx +11 -13
  275. package/src/components/{Buttons → Button}/Button.tsx +12 -26
  276. package/src/components/{Buttons → Button}/IconButton.stories.tsx +18 -13
  277. package/src/components/{Buttons → Button}/IconButton.tsx +21 -16
  278. package/src/components/Button/Toggle.stories.tsx +36 -0
  279. package/src/components/{Buttons → Button}/Toggle.tsx +4 -4
  280. package/src/components/{Buttons → Button}/ToggleGroup.stories.tsx +14 -12
  281. package/src/components/Button/ToggleGroup.tsx +50 -0
  282. package/src/components/Card/Card.stories.tsx +151 -0
  283. package/src/components/Card/Card.tsx +493 -0
  284. package/src/components/Card/index.ts +5 -0
  285. package/src/components/Clipboard/ClipboardProvider.tsx +1 -1
  286. package/src/components/Clipboard/CopyButton.tsx +9 -9
  287. package/src/components/DensityProvider/DensityProvider.tsx +2 -2
  288. package/src/components/Dialog/AlertDialog.stories.tsx +68 -0
  289. package/src/components/Dialog/AlertDialog.tsx +213 -0
  290. package/src/components/Dialog/Dialog.stories.tsx +177 -0
  291. package/src/components/Dialog/Dialog.tsx +285 -0
  292. package/src/components/ElevationProvider/ElevationProvider.tsx +2 -2
  293. package/src/components/ErrorFallback/ErrorFallback.stories.tsx +45 -0
  294. package/src/components/ErrorFallback/ErrorFallback.tsx +70 -0
  295. package/src/components/ErrorFallback/ErrorStack.tsx +114 -0
  296. package/src/components/ErrorFallback/ThrowError.tsx +37 -0
  297. package/src/components/ErrorFallback/index.ts +9 -0
  298. package/src/components/Focus/AUDIT.md +43 -0
  299. package/src/components/Focus/Focus.stories.tsx +230 -0
  300. package/src/components/Focus/Focus.tsx +201 -0
  301. package/src/components/Focus/index.ts +5 -0
  302. package/src/components/Icon/Icon.stories.tsx +143 -0
  303. package/src/components/Icon/Icon.tsx +6 -2
  304. package/src/components/Image/Image.stories.tsx +86 -0
  305. package/src/components/Image/Image.tsx +223 -0
  306. package/src/components/Image/index.ts +5 -0
  307. package/src/components/Input/Input.stories.tsx +27 -49
  308. package/src/components/Input/Input.tsx +51 -87
  309. package/src/components/Link/Link.stories.tsx +11 -8
  310. package/src/components/Link/Link.tsx +2 -2
  311. package/src/components/{Lists → List}/List.stories.tsx +45 -47
  312. package/src/components/{Lists → List}/List.tsx +30 -35
  313. package/src/components/{Lists → List}/ListDropIndicator.tsx +7 -7
  314. package/src/components/{Lists → List}/Tree.stories.tsx +15 -13
  315. package/src/components/{Lists → List}/Tree.tsx +3 -3
  316. package/src/components/{Lists → List}/TreeDropIndicator.tsx +7 -7
  317. package/src/components/{Lists → List}/Treegrid.stories.tsx +39 -34
  318. package/src/components/List/Treegrid.tsx +188 -0
  319. package/src/components/Main/Main.stories.tsx +52 -27
  320. package/src/components/Main/Main.tsx +176 -105
  321. package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +12 -10
  322. package/src/components/{Menus → Menu}/ContextMenu.tsx +10 -33
  323. package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +13 -11
  324. package/src/components/{Menus → Menu}/DropdownMenu.tsx +157 -120
  325. package/src/components/Message/Message.stories.tsx +36 -18
  326. package/src/components/Message/Message.tsx +43 -34
  327. package/src/components/Popover/Popover.stories.tsx +18 -16
  328. package/src/components/Popover/Popover.tsx +124 -102
  329. package/src/components/ScrollArea/ScrollArea.stories.tsx +224 -32
  330. package/src/components/ScrollArea/ScrollArea.tsx +97 -79
  331. package/src/components/ScrollArea/index.ts +1 -1
  332. package/src/components/ScrollContainer/ScrollContainer.stories.tsx +91 -0
  333. package/src/components/ScrollContainer/ScrollContainer.tsx +347 -0
  334. package/src/components/ScrollContainer/index.ts +5 -0
  335. package/src/components/Select/Select.stories.tsx +19 -17
  336. package/src/components/Select/Select.tsx +16 -32
  337. package/src/components/Separator/Separator.tsx +5 -8
  338. package/src/components/Skeleton/Skeleton.stories.tsx +51 -0
  339. package/src/components/Skeleton/Skeleton.tsx +26 -0
  340. package/src/components/Skeleton/index.ts +5 -0
  341. package/src/components/Splitter/Splitter.stories.tsx +83 -0
  342. package/src/components/Splitter/Splitter.tsx +127 -0
  343. package/src/components/Splitter/index.ts +5 -0
  344. package/src/components/Status/Status.stories.tsx +29 -23
  345. package/src/components/Status/Status.tsx +10 -7
  346. package/src/components/Tag/Tag.stories.tsx +16 -13
  347. package/src/components/Tag/Tag.tsx +3 -8
  348. package/src/components/ThemeProvider/ThemeProvider.stories.tsx +31 -0
  349. package/src/components/ThemeProvider/ThemeProvider.tsx +12 -11
  350. package/src/components/ThemeProvider/TranslationsProvider.tsx +3 -18
  351. package/src/components/ThemeProvider/index.ts +3 -3
  352. package/src/components/Toast/Toast.stories.tsx +13 -11
  353. package/src/components/Toast/Toast.tsx +23 -42
  354. package/src/components/Toolbar/Toolbar.stories.tsx +22 -21
  355. package/src/components/Toolbar/Toolbar.tsx +187 -13
  356. package/src/components/Tooltip/Tooltip.stories.tsx +35 -30
  357. package/src/components/Tooltip/Tooltip.tsx +44 -41
  358. package/src/components/index.ts +15 -9
  359. package/src/exemplars/generics.stories.tsx +41 -0
  360. package/src/exemplars/slot.stories.tsx +117 -0
  361. package/src/exemplars/tabster.stories.tsx +127 -0
  362. package/src/exemplars/virtualizer.stories.tsx +137 -0
  363. package/src/hooks/index.ts +1 -0
  364. package/src/hooks/useDensityContext.ts +3 -3
  365. package/src/hooks/useElevationContext.ts +1 -1
  366. package/src/hooks/useSafeArea.ts +3 -2
  367. package/src/hooks/useSafeCollisionPadding.ts +1 -1
  368. package/src/hooks/useVisualViewport.ts +4 -4
  369. package/src/index.ts +2 -1
  370. package/src/playground/Controls.stories.tsx +20 -24
  371. package/src/playground/Custom.stories.tsx +20 -34
  372. package/src/playground/Typography.stories.tsx +11 -9
  373. package/src/primitives/Column/AUDIT.md +148 -0
  374. package/src/primitives/Column/Column.stories.tsx +181 -0
  375. package/src/primitives/Column/Column.tsx +165 -0
  376. package/src/primitives/Column/index.ts +5 -0
  377. package/src/primitives/Container/Container.stories.tsx +29 -0
  378. package/src/primitives/Container/Container.tsx +19 -0
  379. package/src/primitives/Container/index.ts +5 -0
  380. package/src/primitives/Flex/Flex.stories.tsx +57 -0
  381. package/src/primitives/Flex/Flex.tsx +27 -0
  382. package/src/primitives/Flex/index.ts +5 -0
  383. package/src/primitives/Grid/Grid.stories.tsx +56 -0
  384. package/src/primitives/Grid/Grid.tsx +30 -0
  385. package/src/primitives/Grid/index.ts +5 -0
  386. package/src/primitives/Panel/Panel.stories.tsx +68 -0
  387. package/src/primitives/Panel/Panel.tsx +120 -0
  388. package/src/primitives/Panel/index.ts +5 -0
  389. package/src/primitives/index.ts +9 -0
  390. package/src/testing/Loading.tsx +47 -0
  391. package/src/testing/decorators/index.ts +2 -1
  392. package/src/testing/decorators/withLayout.tsx +77 -0
  393. package/src/testing/decorators/withLayoutVariants.tsx +48 -0
  394. package/src/testing/decorators/withTheme.tsx +37 -0
  395. package/src/testing/index.ts +2 -0
  396. package/src/translations.ts +19 -0
  397. package/src/util/index.ts +3 -1
  398. package/src/util/usePx.ts +62 -0
  399. package/dist/lib/browser/chunk-T6YPS45E.mjs +0 -4376
  400. package/dist/lib/browser/chunk-T6YPS45E.mjs.map +0 -7
  401. package/dist/lib/node-esm/chunk-TYVQJ4KW.mjs +0 -4378
  402. package/dist/lib/node-esm/chunk-TYVQJ4KW.mjs.map +0 -7
  403. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +0 -15
  404. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +0 -1
  405. package/dist/types/src/components/AnchoredOverflow/index.d.ts +0 -2
  406. package/dist/types/src/components/AnchoredOverflow/index.d.ts.map +0 -1
  407. package/dist/types/src/components/Buttons/Button.d.ts.map +0 -1
  408. package/dist/types/src/components/Buttons/Button.stories.d.ts +0 -12
  409. package/dist/types/src/components/Buttons/Button.stories.d.ts.map +0 -1
  410. package/dist/types/src/components/Buttons/IconButton.d.ts.map +0 -1
  411. package/dist/types/src/components/Buttons/IconButton.stories.d.ts +0 -22
  412. package/dist/types/src/components/Buttons/IconButton.stories.d.ts.map +0 -1
  413. package/dist/types/src/components/Buttons/Toggle.d.ts.map +0 -1
  414. package/dist/types/src/components/Buttons/Toggle.stories.d.ts +0 -19
  415. package/dist/types/src/components/Buttons/Toggle.stories.d.ts.map +0 -1
  416. package/dist/types/src/components/Buttons/ToggleGroup.d.ts +0 -28
  417. package/dist/types/src/components/Buttons/ToggleGroup.d.ts.map +0 -1
  418. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts +0 -39
  419. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts.map +0 -1
  420. package/dist/types/src/components/Buttons/index.d.ts.map +0 -1
  421. package/dist/types/src/components/Dialogs/AlertDialog.d.ts +0 -31
  422. package/dist/types/src/components/Dialogs/AlertDialog.d.ts.map +0 -1
  423. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts +0 -43
  424. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts.map +0 -1
  425. package/dist/types/src/components/Dialogs/Dialog.d.ts +0 -31
  426. package/dist/types/src/components/Dialogs/Dialog.d.ts.map +0 -1
  427. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts +0 -48
  428. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts.map +0 -1
  429. package/dist/types/src/components/Dialogs/index.d.ts.map +0 -1
  430. package/dist/types/src/components/Lists/List.d.ts.map +0 -1
  431. package/dist/types/src/components/Lists/List.stories.d.ts +0 -37
  432. package/dist/types/src/components/Lists/List.stories.d.ts.map +0 -1
  433. package/dist/types/src/components/Lists/ListDropIndicator.d.ts.map +0 -1
  434. package/dist/types/src/components/Lists/Tree.d.ts.map +0 -1
  435. package/dist/types/src/components/Lists/Tree.stories.d.ts +0 -41
  436. package/dist/types/src/components/Lists/Tree.stories.d.ts.map +0 -1
  437. package/dist/types/src/components/Lists/TreeDropIndicator.d.ts.map +0 -1
  438. package/dist/types/src/components/Lists/Treegrid.d.ts.map +0 -1
  439. package/dist/types/src/components/Lists/Treegrid.stories.d.ts +0 -10
  440. package/dist/types/src/components/Lists/Treegrid.stories.d.ts.map +0 -1
  441. package/dist/types/src/components/Lists/index.d.ts.map +0 -1
  442. package/dist/types/src/components/Menus/ContextMenu.d.ts.map +0 -1
  443. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts +0 -50
  444. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +0 -1
  445. package/dist/types/src/components/Menus/DropdownMenu.d.ts +0 -112
  446. package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +0 -1
  447. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts +0 -50
  448. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts.map +0 -1
  449. package/dist/types/src/components/Menus/index.d.ts.map +0 -1
  450. package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts +0 -12
  451. package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts.map +0 -1
  452. package/dist/types/src/util/ThemedClassName.d.ts +0 -5
  453. package/dist/types/src/util/ThemedClassName.d.ts.map +0 -1
  454. package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +0 -59
  455. package/src/components/AnchoredOverflow/index.ts +0 -5
  456. package/src/components/Buttons/Toggle.stories.tsx +0 -33
  457. package/src/components/Buttons/ToggleGroup.tsx +0 -41
  458. package/src/components/Dialogs/AlertDialog.stories.tsx +0 -66
  459. package/src/components/Dialogs/AlertDialog.tsx +0 -172
  460. package/src/components/Dialogs/Dialog.stories.tsx +0 -65
  461. package/src/components/Dialogs/Dialog.tsx +0 -159
  462. package/src/components/Lists/Treegrid.tsx +0 -152
  463. package/src/testing/decorators/withSurfaceVariantsLayout.tsx +0 -51
  464. package/src/testing/decorators/withTheme.ts +0 -22
  465. package/src/util/ThemedClassName.ts +0 -7
  466. /package/dist/types/src/components/{Buttons → Button}/index.d.ts +0 -0
  467. /package/dist/types/src/components/{Dialogs → Dialog}/index.d.ts +0 -0
  468. /package/dist/types/src/components/{Lists → List}/ListDropIndicator.d.ts +0 -0
  469. /package/dist/types/src/components/{Lists → List}/TreeDropIndicator.d.ts +0 -0
  470. /package/dist/types/src/components/{Lists → List}/index.d.ts +0 -0
  471. /package/dist/types/src/components/{Menus → Menu}/index.d.ts +0 -0
  472. /package/src/components/{Buttons → Button}/index.ts +0 -0
  473. /package/src/components/{Dialogs → Dialog}/index.ts +0 -0
  474. /package/src/components/{Lists → List}/index.ts +0 -0
  475. /package/src/components/{Menus → Menu}/index.ts +0 -0
@@ -2,23 +2,20 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
7
- import { type StoryObj, type Meta } from '@storybook/react-vite';
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
8
6
  import React from 'react';
9
7
 
10
- import { baseSurface, modalSurface, activeSurface, mx, surfaceShadow } from '@dxos/react-ui-theme';
11
- import { type MessageValence } from '@dxos/react-ui-types';
8
+ import { type MessageValence } from '@dxos/ui-types';
12
9
 
10
+ import { withLayoutVariants, withTheme } from '../../testing';
13
11
  import {
14
12
  type CheckboxProps,
15
13
  Input,
16
14
  type PinInputProps,
17
15
  type SwitchProps,
18
- type TextInputProps,
19
16
  type TextAreaProps,
17
+ type TextInputProps,
20
18
  } from './Input';
21
- import { withTheme } from '../../testing';
22
19
 
23
20
  type VariantMap = {
24
21
  text: TextInputProps;
@@ -30,7 +27,7 @@ type VariantMap = {
30
27
 
31
28
  type Variant = { [K in keyof VariantMap]: { type: K } & VariantMap[K] }[keyof VariantMap];
32
29
 
33
- type BaseProps = Partial<{
30
+ type DefaultStoryProps = Partial<{
34
31
  kind: keyof VariantMap;
35
32
  label: string;
36
33
  labelVisuallyHidden: boolean;
@@ -40,7 +37,7 @@ type BaseProps = Partial<{
40
37
  validationMessage: string;
41
38
  }>;
42
39
 
43
- const Wrapper = ({
40
+ const DefaultStory = ({
44
41
  kind,
45
42
  label,
46
43
  description,
@@ -49,7 +46,7 @@ const Wrapper = ({
49
46
  validationValence,
50
47
  validationMessage,
51
48
  ...props
52
- }: BaseProps) => {
49
+ }: DefaultStoryProps) => {
53
50
  return (
54
51
  <Input.Root {...{ validationValence }}>
55
52
  <Input.Label srOnly={labelVisuallyHidden}>{label}</Input.Label>
@@ -61,49 +58,28 @@ const Wrapper = ({
61
58
  {kind === 'switch' && <Input.Switch {...props} />}
62
59
 
63
60
  <Input.DescriptionAndValidation srOnly={descriptionVisuallyHidden}>
64
- {validationMessage && (
65
- <>
66
- <Input.Validation>{validationMessage}</Input.Validation>{' '}
67
- </>
68
- )}
61
+ {validationMessage && <Input.Validation classNames='block'>{validationMessage}</Input.Validation>}
69
62
  <Input.Description>{description}</Input.Description>
70
63
  </Input.DescriptionAndValidation>
71
64
  </Input.Root>
72
65
  );
73
66
  };
74
67
 
75
- const DefaultStory = (props: BaseProps) => {
76
- return (
77
- <div className='space-b-4'>
78
- <div className={mx(baseSurface, 'p-4')}>
79
- <Wrapper {...props} />
80
- </div>
81
- <div className={mx(activeSurface, 'p-4 rounded-md', surfaceShadow({ elevation: 'positioned' }))}>
82
- <Wrapper {...props} />
83
- </div>
84
- <div className={mx(modalSurface, 'p-4 rounded-md', surfaceShadow({ elevation: 'dialog' }))}>
85
- <Wrapper {...props} />
86
- </div>
87
- </div>
88
- );
89
- };
90
-
91
- const meta: Meta<BaseProps> = {
92
- title: 'ui/react-ui-core/Input',
93
- component: Input.Root,
68
+ const meta = {
69
+ title: 'ui/react-ui-core/components/Input',
70
+ component: Input.Root as any,
94
71
  render: DefaultStory,
95
- decorators: [withTheme],
96
- parameters: { chromatic: { disableSnapshot: false } },
97
- };
72
+ decorators: [withTheme(), withLayoutVariants()],
73
+ } satisfies Meta<typeof DefaultStory>;
98
74
 
99
75
  export default meta;
100
76
 
101
- type Story = StoryObj<BaseProps & Variant>;
77
+ type Story = StoryObj<DefaultStoryProps & Variant>;
102
78
 
103
- export const Default: Story = {
79
+ export const DensityCoarse: Story = {
104
80
  args: {
105
81
  kind: 'text',
106
- label: 'Hello',
82
+ label: 'Input value',
107
83
  placeholder: 'This is an input',
108
84
  disabled: false,
109
85
  description: undefined,
@@ -111,13 +87,14 @@ export const Default: Story = {
111
87
  descriptionVisuallyHidden: false,
112
88
  validationMessage: '',
113
89
  validationValence: undefined,
90
+ density: 'coarse',
114
91
  },
115
92
  };
116
93
 
117
94
  export const DensityFine: Story = {
118
95
  args: {
119
96
  kind: 'text',
120
- label: 'This is an Input with a density value of ‘fine’',
97
+ label: 'Input value',
121
98
  placeholder: 'This is a density:fine input',
122
99
  disabled: false,
123
100
  description: undefined,
@@ -132,7 +109,7 @@ export const DensityFine: Story = {
132
109
  export const Subdued: Story = {
133
110
  args: {
134
111
  kind: 'text',
135
- label: 'Hello',
112
+ label: 'Input value',
136
113
  placeholder: 'This is a subdued input',
137
114
  disabled: false,
138
115
  description: undefined,
@@ -162,7 +139,7 @@ export const LabelVisuallyHidden: Story = {
162
139
  },
163
140
  };
164
141
 
165
- export const InputWithDescription: Story = {
142
+ export const WithDescription: Story = {
166
143
  args: {
167
144
  kind: 'text',
168
145
  label: 'Described input',
@@ -171,7 +148,7 @@ export const InputWithDescription: Story = {
171
148
  },
172
149
  };
173
150
 
174
- export const InputWithErrorAndDescription: Story = {
151
+ export const WithErrorAndDescription: Story = {
175
152
  args: {
176
153
  kind: 'text',
177
154
  label: 'Described invalid input',
@@ -182,7 +159,7 @@ export const InputWithErrorAndDescription: Story = {
182
159
  },
183
160
  };
184
161
 
185
- export const InputWithValidationAndDescription: Story = {
162
+ export const WithValidationAndDescription: Story = {
186
163
  args: {
187
164
  kind: 'text',
188
165
  label: 'Described input with validation message',
@@ -208,7 +185,8 @@ export const PinInput: Story = {
208
185
  label: 'This input is a PIN-style input',
209
186
  length: 6,
210
187
  description: 'Type in secret you received',
211
- placeholder: '••••••',
188
+ pattern: '\\d*',
189
+ density: 'coarse',
212
190
  },
213
191
  };
214
192
 
@@ -216,15 +194,15 @@ export const Checkbox: Story = {
216
194
  args: {
217
195
  kind: 'checkbox',
218
196
  label: 'This is a checkbox',
219
- description: 'It’s checked, indeterminate, or unchecked',
197
+ description: 'Checked, indeterminate, or unchecked',
220
198
  size: 5,
221
199
  },
222
200
  };
223
201
 
224
- export const Switch = {
202
+ export const Switch: Story = {
225
203
  args: {
226
204
  kind: 'switch',
227
205
  label: 'This is a switch',
228
- description: 'It’s either off... or on.',
206
+ description: 'On or off',
229
207
  },
230
208
  };
@@ -2,34 +2,33 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type IconWeight } from '@phosphor-icons/react';
6
- import { Root as CheckboxPrimitive, type CheckboxProps as CheckboxPrimitiveProps } from '@radix-ui/react-checkbox';
5
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
7
6
  import { useControllableState } from '@radix-ui/react-use-controllable-state';
8
- import React, { type ComponentPropsWithRef, forwardRef, type ForwardRefExoticComponent, useCallback } from 'react';
7
+ import React, { type ComponentPropsWithRef, type ForwardRefExoticComponent, forwardRef } from 'react';
9
8
 
10
9
  import {
10
+ DescriptionAndValidation as DescriptionAndValidationPrimitive,
11
+ type DescriptionAndValidationProps as DescriptionAndValidationPrimitiveProps,
12
+ Description as DescriptionPrimitive,
13
+ type DescriptionProps as DescriptionPrimitiveProps,
14
+ INPUT_NAME,
11
15
  InputRoot,
12
16
  type InputRootProps,
17
+ type InputScopedProps,
18
+ Label as LabelPrimitive,
19
+ type LabelProps as LabelPrimitiveProps,
13
20
  PinInput as PinInputPrimitive,
14
21
  type PinInputProps as PinInputPrimitiveProps,
15
- TextInput as TextInputPrimitive,
16
- type TextInputProps as TextInputPrimitiveProps,
17
22
  TextArea as TextAreaPrimitive,
18
23
  type TextAreaProps as TextAreaPrimitiveProps,
19
- useInputContext,
20
- INPUT_NAME,
21
- type InputScopedProps,
22
- Description as DescriptionPrimitive,
23
- DescriptionAndValidation as DescriptionAndValidationPrimitive,
24
- type DescriptionAndValidationProps as DescriptionAndValidationPrimitiveProps,
25
- type DescriptionProps as DescriptionPrimitiveProps,
26
- Label as LabelPrimitive,
27
- type LabelProps as LabelPrimitiveProps,
24
+ TextInput as TextInputPrimitive,
25
+ type TextInputProps as TextInputPrimitiveProps,
28
26
  Validation as ValidationPrimitive,
29
27
  type ValidationProps as ValidationPrimitiveProps,
28
+ useInputContext,
30
29
  } from '@dxos/react-input';
31
- import { mx } from '@dxos/react-ui-theme';
32
- import { type Density, type Elevation, type ClassNameValue, type Size } from '@dxos/react-ui-types';
30
+ import { mx } from '@dxos/ui-theme';
31
+ import { type Density, type Elevation, type Size } from '@dxos/ui-types';
33
32
 
34
33
  import { useDensityContext, useElevationContext, useThemeContext } from '../../hooks';
35
34
  import { type ThemedClassName } from '../../util';
@@ -41,10 +40,10 @@ type InputSharedProps = Partial<{ density: Density; elevation: Elevation; varian
41
40
 
42
41
  type LabelProps = ThemedClassName<LabelPrimitiveProps> & { srOnly?: boolean };
43
42
 
44
- const Label = forwardRef<HTMLLabelElement, LabelProps>(({ srOnly, classNames, children, ...props }, forwardedRef) => {
43
+ const Label = forwardRef<HTMLLabelElement, LabelProps>(({ classNames, children, srOnly, ...props }, forwardedRef) => {
45
44
  const { tx } = useThemeContext();
46
45
  return (
47
- <LabelPrimitive {...props} className={tx('input.label', 'input__label', { srOnly }, classNames)} ref={forwardedRef}>
46
+ <LabelPrimitive {...props} className={tx('input.label', { srOnly }, classNames)} ref={forwardedRef}>
48
47
  {children}
49
48
  </LabelPrimitive>
50
49
  );
@@ -53,14 +52,10 @@ const Label = forwardRef<HTMLLabelElement, LabelProps>(({ srOnly, classNames, ch
53
52
  type DescriptionProps = ThemedClassName<DescriptionPrimitiveProps> & { srOnly?: boolean };
54
53
 
55
54
  const Description = forwardRef<HTMLSpanElement, DescriptionProps>(
56
- ({ srOnly, classNames, children, ...props }, forwardedRef) => {
55
+ ({ classNames, children, srOnly, ...props }, forwardedRef) => {
57
56
  const { tx } = useThemeContext();
58
57
  return (
59
- <DescriptionPrimitive
60
- {...props}
61
- className={tx('input.description', 'input__description', { srOnly }, classNames)}
62
- ref={forwardedRef}
63
- >
58
+ <DescriptionPrimitive {...props} className={tx('input.description', { srOnly }, classNames)} ref={forwardedRef}>
64
59
  {children}
65
60
  </DescriptionPrimitive>
66
61
  );
@@ -70,18 +65,13 @@ const Description = forwardRef<HTMLSpanElement, DescriptionProps>(
70
65
  type ValidationProps = ThemedClassName<ValidationPrimitiveProps> & { srOnly?: boolean };
71
66
 
72
67
  const Validation = forwardRef<HTMLSpanElement, InputScopedProps<ValidationProps>>(
73
- ({ __inputScope, srOnly, classNames, children, ...props }, forwardedRef) => {
68
+ ({ __inputScope, classNames, children, srOnly, ...props }, forwardedRef) => {
74
69
  const { tx } = useThemeContext();
75
70
  const { validationValence } = useInputContext(INPUT_NAME, __inputScope);
76
71
  return (
77
72
  <ValidationPrimitive
78
73
  {...props}
79
- className={tx(
80
- 'input.validation',
81
- `input__validation-message input__validation-message--${validationValence}`,
82
- { srOnly, validationValence },
83
- classNames,
84
- )}
74
+ className={tx('input.validation', { srOnly, validationValence }, classNames)}
85
75
  ref={forwardedRef}
86
76
  >
87
77
  {children}
@@ -93,12 +83,12 @@ const Validation = forwardRef<HTMLSpanElement, InputScopedProps<ValidationProps>
93
83
  type DescriptionAndValidationProps = ThemedClassName<DescriptionAndValidationPrimitiveProps> & { srOnly?: boolean };
94
84
 
95
85
  const DescriptionAndValidation = forwardRef<HTMLParagraphElement, DescriptionAndValidationProps>(
96
- ({ srOnly, classNames, children, ...props }, forwardedRef) => {
86
+ ({ classNames, children, srOnly, ...props }, forwardedRef) => {
97
87
  const { tx } = useThemeContext();
98
88
  return (
99
89
  <DescriptionAndValidationPrimitive
100
90
  {...props}
101
- className={tx('input.descriptionAndValidation', 'input__description-and-validation', { srOnly }, classNames)}
91
+ className={tx('input.descriptionAndValidation', { srOnly }, classNames)}
102
92
  ref={forwardedRef}
103
93
  >
104
94
  {children}
@@ -107,54 +97,23 @@ const DescriptionAndValidation = forwardRef<HTMLParagraphElement, DescriptionAnd
107
97
  },
108
98
  );
109
99
 
110
- type PinInputProps = InputSharedProps &
111
- Omit<PinInputPrimitiveProps, 'segmentClassName' | 'inputClassName'> & {
112
- segmentClassName?: ClassNameValue;
113
- inputClassName?: ClassNameValue;
114
- };
100
+ type PinInputProps = ThemedClassName<InputSharedProps & Omit<PinInputPrimitiveProps, 'className' | 'segmentClassName'>>;
115
101
 
116
102
  const PinInput = forwardRef<HTMLInputElement, PinInputProps>(
117
- (
118
- {
119
- density: propsDensity,
120
- elevation: propsElevation,
121
- segmentClassName: propsSegmentClassName,
122
- inputClassName,
123
- variant,
124
- ...props
125
- },
126
- forwardedRef,
127
- ) => {
103
+ ({ classNames, density: propsDensity, elevation: propsElevation, ...props }, forwardedRef) => {
128
104
  const { hasIosKeyboard } = useThemeContext();
129
105
  const { tx } = useThemeContext();
130
106
  const density = useDensityContext(propsDensity);
131
107
  const elevation = useElevationContext(propsElevation);
132
108
 
133
- const segmentClassName = useCallback(
134
- ({ focused, validationValence }: Parameters<Exclude<PinInputPrimitiveProps['segmentClassName'], undefined>>[0]) =>
135
- tx(
136
- 'input.input',
137
- 'input--pin-segment',
138
- {
139
- variant: 'static',
140
- focused,
141
- disabled: props.disabled,
142
- density,
143
- elevation,
144
- validationValence,
145
- },
146
- propsSegmentClassName,
147
- ),
148
- [tx, props.disabled, elevation, propsElevation, density],
149
- );
150
109
  return (
151
110
  <PinInputPrimitive
152
111
  {...{
153
112
  ...props,
154
- segmentClassName,
155
113
  ...(props.autoFocus && !hasIosKeyboard && { autoFocus: true }),
156
114
  }}
157
- inputClassName={tx('input.inputWithSegments', 'input input--pin', { disabled: props.disabled }, inputClassName)}
115
+ className={tx('input.inputWithSegments', { disabled: props.disabled }, classNames) || ''}
116
+ segmentClassName={tx('input.segment', { disabled: props.disabled, density, elevation }) || ''}
158
117
  ref={forwardedRef}
159
118
  />
160
119
  );
@@ -163,24 +122,30 @@ const PinInput = forwardRef<HTMLInputElement, PinInputProps>(
163
122
 
164
123
  // TODO(burdon): Implement inline icon within button: e.g., https://www.radix-ui.com/themes/playground#text-field
165
124
 
166
- type TextInputProps = InputSharedProps & ThemedClassName<TextInputPrimitiveProps>;
125
+ type AutoFillProps = {
126
+ noAutoFill?: boolean;
127
+ };
128
+
129
+ type TextInputProps = InputSharedProps & ThemedClassName<TextInputPrimitiveProps> & AutoFillProps;
167
130
 
168
131
  const TextInput = forwardRef<HTMLInputElement, InputScopedProps<TextInputProps>>(
169
- ({ __inputScope, classNames, density: propsDensity, elevation: propsElevation, variant, ...props }, forwardedRef) => {
132
+ (
133
+ { __inputScope, classNames, density: densityProp, elevation: elevationProp, variant, noAutoFill, ...props },
134
+ forwardedRef,
135
+ ) => {
170
136
  const { hasIosKeyboard } = useThemeContext();
171
- const themeContextValue = useThemeContext();
172
- const density = useDensityContext(propsDensity);
173
- const elevation = useElevationContext(propsElevation);
137
+ const { tx } = useThemeContext();
138
+ const density = useDensityContext(densityProp);
139
+ const elevation = useElevationContext(elevationProp);
174
140
  const { validationValence } = useInputContext(INPUT_NAME, __inputScope);
175
141
 
176
- const { tx } = themeContextValue;
177
-
178
142
  return (
179
143
  <TextInputPrimitive
180
144
  {...props}
145
+ // TODO(wittjosiah): Factor out autofill properies.
146
+ {...{ 'data-1p-ignore': noAutoFill }}
181
147
  className={tx(
182
148
  'input.input',
183
- 'input',
184
149
  {
185
150
  variant,
186
151
  disabled: props.disabled,
@@ -211,8 +176,7 @@ const TextArea = forwardRef<HTMLTextAreaElement, InputScopedProps<TextAreaProps>
211
176
  <TextAreaPrimitive
212
177
  {...props}
213
178
  className={tx(
214
- 'input.input',
215
- 'input--text-area',
179
+ 'input.textArea',
216
180
  {
217
181
  variant,
218
182
  disabled: props.disabled,
@@ -220,7 +184,6 @@ const TextArea = forwardRef<HTMLTextAreaElement, InputScopedProps<TextAreaProps>
220
184
  elevation,
221
185
  validationValence,
222
186
  },
223
- '-mbe-labelSpacingBlock',
224
187
  classNames,
225
188
  )}
226
189
  {...(props.autoFocus && !hasIosKeyboard && { autoFocus: true })}
@@ -230,7 +193,9 @@ const TextArea = forwardRef<HTMLTextAreaElement, InputScopedProps<TextAreaProps>
230
193
  },
231
194
  );
232
195
 
233
- type CheckboxProps = ThemedClassName<Omit<CheckboxPrimitiveProps, 'children'>> & { size?: Size; weight?: IconWeight };
196
+ type CheckboxProps = ThemedClassName<Omit<CheckboxPrimitive.CheckboxProps, 'children'>> & {
197
+ size?: Size;
198
+ };
234
199
 
235
200
  const Checkbox: ForwardRefExoticComponent<CheckboxProps> = forwardRef<
236
201
  HTMLButtonElement,
@@ -239,12 +204,11 @@ const Checkbox: ForwardRefExoticComponent<CheckboxProps> = forwardRef<
239
204
  (
240
205
  {
241
206
  __inputScope,
207
+ classNames,
242
208
  checked: propsChecked,
243
209
  defaultChecked: propsDefaultChecked,
244
210
  onCheckedChange: propsOnCheckedChange,
245
211
  size,
246
- weight = 'bold',
247
- classNames,
248
212
  ...props
249
213
  },
250
214
  forwardedRef,
@@ -258,7 +222,7 @@ const Checkbox: ForwardRefExoticComponent<CheckboxProps> = forwardRef<
258
222
  const { tx } = useThemeContext();
259
223
 
260
224
  return (
261
- <CheckboxPrimitive
225
+ <CheckboxPrimitive.Root
262
226
  {...{
263
227
  ...props,
264
228
  checked,
@@ -269,15 +233,15 @@ const Checkbox: ForwardRefExoticComponent<CheckboxProps> = forwardRef<
269
233
  'aria-invalid': 'true' as const,
270
234
  'aria-errormessage': errorMessageId,
271
235
  }),
272
- className: tx('input.checkbox', 'input--checkbox', { size }, 'shrink-0', classNames),
236
+ className: tx('input.checkbox', { size }, 'shrink-0', classNames),
273
237
  }}
274
238
  ref={forwardedRef}
275
239
  >
276
240
  <Icon
277
241
  icon={checked === 'indeterminate' ? 'ph--minus--regular' : 'ph--check--regular'}
278
- classNames={tx('input.checkboxIndicator', 'input--checkbox__indicator', { size, checked })}
242
+ classNames={tx('input.checkboxIndicator', { size, checked })}
279
243
  />
280
- </CheckboxPrimitive>
244
+ </CheckboxPrimitive.Root>
281
245
  );
282
246
  },
283
247
  );
@@ -290,10 +254,10 @@ const Switch = forwardRef<HTMLInputElement, InputScopedProps<SwitchProps>>(
290
254
  (
291
255
  {
292
256
  __inputScope,
257
+ classNames,
293
258
  checked: propsChecked,
294
259
  defaultChecked: propsDefaultChecked,
295
260
  onCheckedChange: propsOnCheckedChange,
296
- classNames,
297
261
  ...props
298
262
  },
299
263
  forwardedRef,
@@ -2,16 +2,19 @@
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
 
7
- import { Link } from './Link';
8
7
  import { withTheme } from '../../testing';
8
+ import { Link } from './Link';
9
9
 
10
- export default {
11
- title: 'ui/react-ui-core/Link',
10
+ const meta = {
11
+ title: 'ui/react-ui-core/components/Link',
12
12
  component: Link,
13
- decorators: [withTheme],
14
- parameters: { chromatic: { disableSnapshot: false } },
15
- } as any;
13
+ decorators: [withTheme()],
14
+ } satisfies Meta<typeof Link>;
15
+
16
+ export default meta;
17
+
18
+ type Story = StoryObj<typeof meta>;
16
19
 
17
- export const Default = { args: { children: 'Hello', href: '#' } };
20
+ export const Default: Story = { args: { children: 'Hello', href: '#' } };
@@ -18,7 +18,7 @@ export type LinkProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.a
18
18
  export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
19
19
  ({ asChild, variant, classNames, ...props }, forwardedRef) => {
20
20
  const { tx } = useThemeContext();
21
- const Root = asChild ? Slot : Primitive.a;
22
- return <Root {...props} className={tx('link.root', 'link', { variant }, classNames)} ref={forwardedRef} />;
21
+ const Comp = asChild ? Slot : Primitive.a;
22
+ return <Comp {...props} className={tx('link.root', { variant }, classNames)} ref={forwardedRef} />;
23
23
  },
24
24
  );