@dxos/react-ui 0.8.4-main.bc674ce → 0.8.4-main.bd9b33e6c8

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 (321) hide show
  1. package/dist/lib/browser/{chunk-CEKVHJ27.mjs → chunk-LUPEFGHJ.mjs} +119 -117
  2. package/dist/lib/browser/chunk-LUPEFGHJ.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +3021 -2087
  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 +59 -36
  7. package/dist/lib/browser/testing/index.mjs.map +4 -4
  8. package/dist/lib/node-esm/{chunk-2NHEX4AD.mjs → chunk-EQOBFLZC.mjs} +119 -117
  9. package/dist/lib/node-esm/chunk-EQOBFLZC.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +3021 -2087
  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 +59 -36
  14. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  15. package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
  16. package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
  17. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  18. package/dist/types/src/components/Button/Button.d.ts +2 -2
  19. package/dist/types/src/components/Button/Button.d.ts.map +1 -1
  20. package/dist/types/src/components/Button/IconButton.d.ts.map +1 -1
  21. package/dist/types/src/components/Button/Toggle.d.ts +2 -2
  22. package/dist/types/src/components/Button/Toggle.d.ts.map +1 -1
  23. package/dist/types/src/components/Button/ToggleGroup.d.ts +6 -6
  24. package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -1
  25. package/dist/types/src/components/Card/Card.d.ts +145 -0
  26. package/dist/types/src/components/Card/Card.d.ts.map +1 -0
  27. package/dist/types/src/components/Card/Card.stories.d.ts +21 -0
  28. package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -0
  29. package/dist/types/src/components/Card/index.d.ts +2 -0
  30. package/dist/types/src/components/Card/index.d.ts.map +1 -0
  31. package/dist/types/src/components/Clipboard/index.d.ts +10 -1
  32. package/dist/types/src/components/Clipboard/index.d.ts.map +1 -1
  33. package/dist/types/src/components/Dialog/AlertDialog.d.ts +41 -19
  34. package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -1
  35. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -1
  36. package/dist/types/src/components/Dialog/Dialog.d.ts +48 -22
  37. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
  38. package/dist/types/src/components/Dialog/Dialog.stories.d.ts +6 -8
  39. package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -1
  40. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts +11 -0
  41. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -0
  42. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts +7 -0
  43. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts.map +1 -0
  44. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts +8 -0
  45. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -0
  46. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts +9 -0
  47. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts.map +1 -0
  48. package/dist/types/src/components/ErrorFallback/index.d.ts +5 -0
  49. package/dist/types/src/components/ErrorFallback/index.d.ts.map +1 -0
  50. package/dist/types/src/components/Focus/Focus.d.ts +44 -0
  51. package/dist/types/src/components/Focus/Focus.d.ts.map +1 -0
  52. package/dist/types/src/components/Focus/Focus.stories.d.ts +9 -0
  53. package/dist/types/src/components/Focus/Focus.stories.d.ts.map +1 -0
  54. package/dist/types/src/components/Focus/index.d.ts +2 -0
  55. package/dist/types/src/components/Focus/index.d.ts.map +1 -0
  56. package/dist/types/src/components/Icon/Icon.d.ts +3 -0
  57. package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
  58. package/dist/types/src/components/Icon/Icon.stories.d.ts +11 -3
  59. package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -1
  60. package/dist/types/src/components/Image/Image.d.ts +14 -0
  61. package/dist/types/src/components/Image/Image.d.ts.map +1 -0
  62. package/dist/types/src/components/Image/Image.stories.d.ts +33 -0
  63. package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -0
  64. package/dist/types/src/components/Image/index.d.ts +2 -0
  65. package/dist/types/src/components/Image/index.d.ts.map +1 -0
  66. package/dist/types/src/components/Input/Input.d.ts +4 -7
  67. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  68. package/dist/types/src/components/Input/Input.stories.d.ts +7 -7
  69. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  70. package/dist/types/src/components/List/List.d.ts +9 -3
  71. package/dist/types/src/components/List/List.d.ts.map +1 -1
  72. package/dist/types/src/components/List/List.stories.d.ts +8 -2
  73. package/dist/types/src/components/List/List.stories.d.ts.map +1 -1
  74. package/dist/types/src/components/List/Treegrid.d.ts.map +1 -1
  75. package/dist/types/src/components/Main/Main.d.ts +6 -32
  76. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  77. package/dist/types/src/components/Main/Main.stories.d.ts +1 -5
  78. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  79. package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -1
  80. package/dist/types/src/components/Menu/DropdownMenu.d.ts +51 -50
  81. package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -1
  82. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +14 -1
  83. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -1
  84. package/dist/types/src/components/Message/Message.d.ts.map +1 -1
  85. package/dist/types/src/components/Message/Message.stories.d.ts +4 -5
  86. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  87. package/dist/types/src/components/Popover/Popover.d.ts +32 -23
  88. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  89. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +31 -25
  90. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  91. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +62 -9
  92. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  93. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +23 -7
  94. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
  95. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +6 -2
  96. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -1
  97. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  98. package/dist/types/src/components/Select/Select.stories.d.ts +2 -2
  99. package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
  100. package/dist/types/src/components/Separator/Separator.d.ts +3 -3
  101. package/dist/types/src/components/Separator/Separator.d.ts.map +1 -1
  102. package/dist/types/src/components/Skeleton/Skeleton.d.ts +12 -0
  103. package/dist/types/src/components/Skeleton/Skeleton.d.ts.map +1 -0
  104. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts +17 -0
  105. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -0
  106. package/dist/types/src/components/Skeleton/index.d.ts +2 -0
  107. package/dist/types/src/components/Skeleton/index.d.ts.map +1 -0
  108. package/dist/types/src/components/Splitter/Splitter.d.ts +37 -0
  109. package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -0
  110. package/dist/types/src/components/Splitter/Splitter.stories.d.ts +7 -0
  111. package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -0
  112. package/dist/types/src/components/Splitter/index.d.ts +2 -0
  113. package/dist/types/src/components/Splitter/index.d.ts.map +1 -0
  114. package/dist/types/src/components/Status/Status.d.ts +3 -4
  115. package/dist/types/src/components/Status/Status.d.ts.map +1 -1
  116. package/dist/types/src/components/Status/Status.stories.d.ts +4 -2
  117. package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
  118. package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
  119. package/dist/types/src/components/Tag/Tag.stories.d.ts +0 -5
  120. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
  121. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +2 -1
  122. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  123. package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts +12 -0
  124. package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -0
  125. package/dist/types/src/components/Toast/Toast.d.ts +15 -15
  126. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  127. package/dist/types/src/components/Toolbar/Toolbar.d.ts +37 -11
  128. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  129. package/dist/types/src/components/Tooltip/Tooltip.d.ts +9 -9
  130. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  131. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +2 -2
  132. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  133. package/dist/types/src/components/index.d.ts +9 -4
  134. package/dist/types/src/components/index.d.ts.map +1 -1
  135. package/dist/types/src/exemplars/generics.stories.d.ts +23 -0
  136. package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
  137. package/dist/types/src/exemplars/slot.stories.d.ts +15 -0
  138. package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -0
  139. package/dist/types/src/exemplars/tabster.stories.d.ts +8 -0
  140. package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -0
  141. package/dist/types/src/exemplars/virtualizer.stories.d.ts +11 -0
  142. package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -0
  143. package/dist/types/src/hooks/index.d.ts +1 -0
  144. package/dist/types/src/hooks/index.d.ts.map +1 -1
  145. package/dist/types/src/hooks/useDensityContext.d.ts +1 -1
  146. package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
  147. package/dist/types/src/index.d.ts +1 -0
  148. package/dist/types/src/index.d.ts.map +1 -1
  149. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  150. package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
  151. package/dist/types/src/primitives/Column/Column.d.ts +51 -0
  152. package/dist/types/src/primitives/Column/Column.d.ts.map +1 -0
  153. package/dist/types/src/primitives/Column/Column.stories.d.ts +25 -0
  154. package/dist/types/src/primitives/Column/Column.stories.d.ts.map +1 -0
  155. package/dist/types/src/primitives/Column/index.d.ts +2 -0
  156. package/dist/types/src/primitives/Column/index.d.ts.map +1 -0
  157. package/dist/types/src/primitives/Container/Container.d.ts +11 -0
  158. package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
  159. package/dist/types/src/primitives/Container/Container.stories.d.ts +6 -0
  160. package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
  161. package/dist/types/src/primitives/Container/index.d.ts +2 -0
  162. package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
  163. package/dist/types/src/primitives/Flex/Flex.d.ts +15 -0
  164. package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
  165. package/dist/types/src/primitives/Flex/Flex.stories.d.ts +8 -0
  166. package/dist/types/src/primitives/Flex/Flex.stories.d.ts.map +1 -0
  167. package/dist/types/src/primitives/Flex/index.d.ts +2 -0
  168. package/dist/types/src/primitives/Flex/index.d.ts.map +1 -0
  169. package/dist/types/src/primitives/Grid/Grid.d.ts +14 -0
  170. package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -0
  171. package/dist/types/src/primitives/Grid/Grid.stories.d.ts +8 -0
  172. package/dist/types/src/primitives/Grid/Grid.stories.d.ts.map +1 -0
  173. package/dist/types/src/primitives/Grid/index.d.ts +2 -0
  174. package/dist/types/src/primitives/Grid/index.d.ts.map +1 -0
  175. package/dist/types/src/primitives/Panel/Panel.d.ts +46 -0
  176. package/dist/types/src/primitives/Panel/Panel.d.ts.map +1 -0
  177. package/dist/types/src/primitives/Panel/Panel.stories.d.ts +6 -0
  178. package/dist/types/src/primitives/Panel/Panel.stories.d.ts.map +1 -0
  179. package/dist/types/src/primitives/Panel/index.d.ts +2 -0
  180. package/dist/types/src/primitives/Panel/index.d.ts.map +1 -0
  181. package/dist/types/src/primitives/index.d.ts +6 -0
  182. package/dist/types/src/primitives/index.d.ts.map +1 -0
  183. package/dist/types/src/testing/Loading.d.ts +9 -0
  184. package/dist/types/src/testing/Loading.d.ts.map +1 -0
  185. package/dist/types/src/testing/decorators/withLayout.d.ts +1 -1
  186. package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -1
  187. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -1
  188. package/dist/types/src/testing/decorators/withTheme.d.ts +3 -2
  189. package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
  190. package/dist/types/src/testing/index.d.ts +1 -0
  191. package/dist/types/src/testing/index.d.ts.map +1 -1
  192. package/dist/types/src/translations.d.ts +11 -0
  193. package/dist/types/src/translations.d.ts.map +1 -0
  194. package/dist/types/src/util/usePx.d.ts.map +1 -1
  195. package/dist/types/tsconfig.tsbuildinfo +1 -1
  196. package/package.json +25 -21
  197. package/src/components/Avatars/Avatar.stories.tsx +7 -8
  198. package/src/components/Avatars/Avatar.tsx +5 -12
  199. package/src/components/Avatars/AvatarGroup.stories.tsx +2 -2
  200. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +3 -3
  201. package/src/components/Breadcrumb/Breadcrumb.tsx +11 -37
  202. package/src/components/Button/Button.stories.tsx +3 -3
  203. package/src/components/Button/Button.tsx +11 -25
  204. package/src/components/Button/IconButton.stories.tsx +4 -4
  205. package/src/components/Button/IconButton.tsx +2 -3
  206. package/src/components/Button/Toggle.stories.tsx +2 -2
  207. package/src/components/Button/Toggle.tsx +4 -4
  208. package/src/components/Button/ToggleGroup.stories.tsx +2 -2
  209. package/src/components/Button/ToggleGroup.tsx +12 -16
  210. package/src/components/Card/Card.stories.tsx +151 -0
  211. package/src/components/Card/Card.tsx +394 -0
  212. package/src/components/Card/index.ts +5 -0
  213. package/src/components/Clipboard/CopyButton.tsx +3 -3
  214. package/src/components/Dialog/AlertDialog.stories.tsx +16 -16
  215. package/src/components/Dialog/AlertDialog.tsx +121 -82
  216. package/src/components/Dialog/Dialog.stories.tsx +98 -17
  217. package/src/components/Dialog/Dialog.tsx +108 -87
  218. package/src/components/ErrorFallback/ErrorFallback.stories.tsx +50 -0
  219. package/src/components/ErrorFallback/ErrorFallback.tsx +70 -0
  220. package/src/components/ErrorFallback/ErrorStack.tsx +80 -0
  221. package/src/components/ErrorFallback/ThrowError.tsx +37 -0
  222. package/src/components/ErrorFallback/index.ts +9 -0
  223. package/src/components/Focus/AUDIT.md +43 -0
  224. package/src/components/Focus/Focus.stories.tsx +230 -0
  225. package/src/components/Focus/Focus.tsx +201 -0
  226. package/src/components/Focus/index.ts +5 -0
  227. package/src/components/Icon/Icon.stories.tsx +45 -14
  228. package/src/components/Icon/Icon.tsx +6 -2
  229. package/src/components/Image/Image.stories.tsx +86 -0
  230. package/src/components/Image/Image.tsx +223 -0
  231. package/src/components/Image/index.ts +5 -0
  232. package/src/components/Input/Input.stories.tsx +20 -39
  233. package/src/components/Input/Input.tsx +24 -69
  234. package/src/components/Link/Link.stories.tsx +2 -2
  235. package/src/components/Link/Link.tsx +2 -2
  236. package/src/components/List/List.stories.tsx +15 -22
  237. package/src/components/List/List.tsx +15 -18
  238. package/src/components/List/ListDropIndicator.tsx +7 -7
  239. package/src/components/List/Tree.stories.tsx +5 -5
  240. package/src/components/List/TreeDropIndicator.tsx +6 -6
  241. package/src/components/List/Treegrid.stories.tsx +3 -3
  242. package/src/components/List/Treegrid.tsx +10 -15
  243. package/src/components/Main/Main.stories.tsx +6 -95
  244. package/src/components/Main/Main.tsx +61 -211
  245. package/src/components/Menu/ContextMenu.stories.tsx +2 -2
  246. package/src/components/Menu/ContextMenu.tsx +9 -33
  247. package/src/components/Menu/DropdownMenu.stories.tsx +2 -2
  248. package/src/components/Menu/DropdownMenu.tsx +58 -52
  249. package/src/components/Message/Message.stories.tsx +27 -12
  250. package/src/components/Message/Message.tsx +14 -30
  251. package/src/components/Popover/Popover.stories.tsx +4 -4
  252. package/src/components/Popover/Popover.tsx +62 -59
  253. package/src/components/ScrollArea/ScrollArea.stories.tsx +213 -73
  254. package/src/components/ScrollArea/ScrollArea.tsx +85 -113
  255. package/src/components/ScrollArea/index.ts +1 -1
  256. package/src/components/ScrollContainer/ScrollContainer.stories.tsx +43 -23
  257. package/src/components/ScrollContainer/ScrollContainer.tsx +174 -87
  258. package/src/components/Select/Select.stories.tsx +4 -4
  259. package/src/components/Select/Select.tsx +11 -27
  260. package/src/components/Separator/Separator.tsx +5 -8
  261. package/src/components/Skeleton/Skeleton.stories.tsx +52 -0
  262. package/src/components/Skeleton/Skeleton.tsx +26 -0
  263. package/src/components/Skeleton/index.ts +5 -0
  264. package/src/components/Splitter/Splitter.stories.tsx +83 -0
  265. package/src/components/Splitter/Splitter.tsx +140 -0
  266. package/src/components/Splitter/index.ts +5 -0
  267. package/src/components/Status/Status.stories.tsx +21 -17
  268. package/src/components/Status/Status.tsx +10 -7
  269. package/src/components/Tag/Tag.stories.tsx +4 -9
  270. package/src/components/Tag/Tag.tsx +2 -7
  271. package/src/components/ThemeProvider/ThemeProvider.stories.tsx +32 -0
  272. package/src/components/ThemeProvider/ThemeProvider.tsx +9 -6
  273. package/src/components/Toast/Toast.stories.tsx +2 -2
  274. package/src/components/Toast/Toast.tsx +22 -41
  275. package/src/components/Toolbar/Toolbar.stories.tsx +2 -2
  276. package/src/components/Toolbar/Toolbar.tsx +171 -25
  277. package/src/components/Tooltip/Tooltip.stories.tsx +16 -14
  278. package/src/components/Tooltip/Tooltip.tsx +18 -18
  279. package/src/components/index.ts +10 -5
  280. package/src/exemplars/generics.stories.tsx +41 -0
  281. package/src/exemplars/slot.stories.tsx +117 -0
  282. package/src/exemplars/tabster.stories.tsx +127 -0
  283. package/src/exemplars/virtualizer.stories.tsx +137 -0
  284. package/src/hooks/index.ts +1 -0
  285. package/src/hooks/useDensityContext.ts +2 -2
  286. package/src/index.ts +1 -0
  287. package/src/playground/Controls.stories.tsx +3 -10
  288. package/src/playground/Custom.stories.tsx +11 -21
  289. package/src/playground/Typography.stories.tsx +3 -3
  290. package/src/primitives/Column/AUDIT.md +354 -0
  291. package/src/primitives/Column/Column.stories.tsx +183 -0
  292. package/src/primitives/Column/Column.tsx +169 -0
  293. package/src/primitives/Column/index.ts +5 -0
  294. package/src/primitives/Container/Container.stories.tsx +30 -0
  295. package/src/primitives/Container/Container.tsx +19 -0
  296. package/src/primitives/Container/index.ts +5 -0
  297. package/src/primitives/Flex/Flex.stories.tsx +58 -0
  298. package/src/primitives/Flex/Flex.tsx +24 -0
  299. package/src/primitives/Flex/index.ts +5 -0
  300. package/src/primitives/Grid/Grid.stories.tsx +57 -0
  301. package/src/primitives/Grid/Grid.tsx +30 -0
  302. package/src/primitives/Grid/index.ts +5 -0
  303. package/src/primitives/Panel/Panel.stories.tsx +67 -0
  304. package/src/primitives/Panel/Panel.tsx +114 -0
  305. package/src/primitives/Panel/index.ts +5 -0
  306. package/src/primitives/index.ts +9 -0
  307. package/src/testing/Loading.tsx +26 -0
  308. package/src/testing/decorators/withLayout.tsx +21 -7
  309. package/src/testing/decorators/withLayoutVariants.tsx +18 -21
  310. package/src/testing/decorators/withTheme.tsx +24 -19
  311. package/src/testing/index.ts +2 -0
  312. package/src/translations.ts +19 -0
  313. package/src/util/usePx.ts +1 -0
  314. package/dist/lib/browser/chunk-CEKVHJ27.mjs.map +0 -7
  315. package/dist/lib/node-esm/chunk-2NHEX4AD.mjs.map +0 -7
  316. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +0 -15
  317. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +0 -1
  318. package/dist/types/src/components/AnchoredOverflow/index.d.ts +0 -2
  319. package/dist/types/src/components/AnchoredOverflow/index.d.ts.map +0 -1
  320. package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +0 -59
  321. package/src/components/AnchoredOverflow/index.ts +0 -5
@@ -2,102 +2,90 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import {
6
- AlertDialogAction as AlertDialogActionPrimitive,
7
- type AlertDialogActionProps as AlertDialogActionPrimitiveProps,
8
- AlertDialogCancel as AlertDialogCancelPrimitive,
9
- type AlertDialogCancelProps as AlertDialogCancelPrimitiveProps,
10
- AlertDialogContent as AlertDialogContentPrimitive,
11
- type AlertDialogContentProps as AlertDialogContentPrimitiveProps,
12
- AlertDialogDescription as AlertDialogDescriptionPrimitive,
13
- type AlertDialogDescriptionProps as AlertDialogDescriptionPrimitiveProps,
14
- AlertDialogOverlay as AlertDialogOverlayPrimitive,
15
- type AlertDialogOverlayProps as AlertDialogOverlayPrimitiveProps,
16
- AlertDialogPortal as AlertDialogPortalPrimitive,
17
- type AlertDialogPortalProps as AlertDialogPortalPrimitiveProps,
18
- Root as AlertDialogRootPrimitive,
19
- type AlertDialogProps as AlertDialogRootPrimitiveProps,
20
- AlertDialogTitle as AlertDialogTitlePrimitive,
21
- type AlertDialogTitleProps as AlertDialogTitlePrimitiveProps,
22
- AlertDialogTrigger as AlertDialogTriggerPrimitive,
23
- type AlertDialogTriggerProps as AlertDialogTriggerPrimitiveProps,
24
- } from '@radix-ui/react-alert-dialog';
5
+ import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
25
6
  import { createContext } from '@radix-ui/react-context';
26
7
  import React, { type ForwardRefExoticComponent, type FunctionComponent, forwardRef } from 'react';
27
8
 
9
+ import { type DialogSize } from '@dxos/ui-theme';
10
+
28
11
  import { useThemeContext } from '../../hooks';
12
+ import { Column } from '../../primitives';
29
13
  import { type ThemedClassName } from '../../util';
30
14
  import { ElevationProvider } from '../ElevationProvider';
31
15
 
32
- type AlertDialogRootProps = AlertDialogRootPrimitiveProps;
16
+ import {
17
+ Dialog,
18
+ type DialogHeaderProps,
19
+ type DialogBodyProps,
20
+ type DialogActionBarProps,
21
+ type DialogCloseIconButtonProps,
22
+ } from './Dialog';
23
+
24
+ //
25
+ // Root
26
+ //
27
+
28
+ type AlertDialogRootProps = AlertDialogPrimitive.AlertDialogProps;
33
29
 
34
30
  const AlertDialogRoot: FunctionComponent<AlertDialogRootProps> = (props) => (
35
31
  <ElevationProvider elevation='dialog'>
36
- <AlertDialogRootPrimitive {...props} />
32
+ <AlertDialogPrimitive.Root {...props} />
37
33
  </ElevationProvider>
38
34
  );
39
35
 
40
- type AlertDialogTriggerProps = AlertDialogTriggerPrimitiveProps;
36
+ //
37
+ // Trigger
38
+ //
41
39
 
42
- const AlertDialogTrigger: FunctionComponent<AlertDialogTriggerProps> = AlertDialogTriggerPrimitive;
40
+ type AlertDialogTriggerProps = AlertDialogPrimitive.AlertDialogTriggerProps;
43
41
 
44
- type AlertDialogPortalProps = AlertDialogPortalPrimitiveProps;
42
+ const AlertDialogTrigger: FunctionComponent<AlertDialogTriggerProps> = AlertDialogPrimitive.Trigger;
45
43
 
46
- const AlertDialogPortal: FunctionComponent<AlertDialogPortalProps> = AlertDialogPortalPrimitive;
44
+ //
45
+ // Portal
46
+ //
47
47
 
48
- type AlertDialogCancelProps = AlertDialogCancelPrimitiveProps;
48
+ type AlertDialogPortalProps = AlertDialogPrimitive.AlertDialogPortalProps;
49
49
 
50
- const AlertDialogCancel: FunctionComponent<AlertDialogCancelProps> = AlertDialogCancelPrimitive;
50
+ const AlertDialogPortal: FunctionComponent<AlertDialogPortalProps> = AlertDialogPrimitive.Portal;
51
51
 
52
- type AlertDialogActionProps = AlertDialogActionPrimitiveProps;
52
+ //
53
+ // Cancel
54
+ //
53
55
 
54
- const AlertDialogAction: FunctionComponent<AlertDialogActionProps> = AlertDialogActionPrimitive;
56
+ type AlertDialogCancelProps = AlertDialogPrimitive.AlertDialogCancelProps;
55
57
 
56
- type AlertDialogTitleProps = ThemedClassName<AlertDialogTitlePrimitiveProps> & { srOnly?: boolean };
58
+ const AlertDialogCancel: FunctionComponent<AlertDialogCancelProps> = AlertDialogPrimitive.Cancel;
57
59
 
58
- const AlertDialogTitle: ForwardRefExoticComponent<AlertDialogTitleProps> = forwardRef<
59
- HTMLHeadingElement,
60
- AlertDialogTitleProps
61
- >(({ classNames, srOnly, ...props }, forwardedRef) => {
62
- const { tx } = useThemeContext();
63
- return (
64
- <AlertDialogTitlePrimitive
65
- {...props}
66
- className={tx('dialog.title', 'dialog--alert__title', { srOnly }, classNames)}
67
- ref={forwardedRef}
68
- />
69
- );
70
- });
60
+ //
61
+ // Action
62
+ //
71
63
 
72
- type AlertDialogDescriptionProps = ThemedClassName<AlertDialogDescriptionPrimitiveProps> & { srOnly?: boolean };
64
+ type AlertDialogActionProps = AlertDialogPrimitive.AlertDialogActionProps;
73
65
 
74
- const AlertDialogDescription: ForwardRefExoticComponent<AlertDialogTitleProps> = forwardRef<
75
- HTMLParagraphElement,
76
- AlertDialogDescriptionProps
77
- >(({ classNames, srOnly, ...props }, forwardedRef) => {
78
- const { tx } = useThemeContext();
79
- return (
80
- <AlertDialogDescriptionPrimitive
81
- {...props}
82
- className={tx('dialog.description', 'dialog--alert__description', { srOnly }, classNames)}
83
- ref={forwardedRef}
84
- />
85
- );
86
- });
66
+ const AlertDialogAction: FunctionComponent<AlertDialogActionProps> = AlertDialogPrimitive.Action;
67
+
68
+ //
69
+ // Context
70
+ //
87
71
 
88
72
  type OverlayLayoutContextValue = { inOverlayLayout?: boolean };
73
+
89
74
  const ALERT_DIALOG_OVERLAY_NAME = 'AlertDialogOverlay';
90
75
  const ALERT_DIALOG_CONTENT_NAME = 'AlertDialogContent';
76
+
91
77
  const [OverlayLayoutProvider, useOverlayLayoutContext] = createContext<OverlayLayoutContextValue>(
92
78
  ALERT_DIALOG_OVERLAY_NAME,
93
- {
94
- inOverlayLayout: false,
95
- },
79
+ { inOverlayLayout: false },
96
80
  );
97
81
 
98
- type AlertDialogOverlayProps = ThemedClassName<AlertDialogOverlayPrimitiveProps> & {
99
- blockAlign?: 'center' | 'start' | 'end';
100
- };
82
+ //
83
+ // Overlay
84
+ //
85
+
86
+ type AlertDialogOverlayProps = ThemedClassName<
87
+ AlertDialogPrimitive.AlertDialogOverlayProps & { blockAlign?: 'center' | 'start' | 'end' }
88
+ >;
101
89
 
102
90
  const AlertDialogOverlay: ForwardRefExoticComponent<AlertDialogOverlayProps> = forwardRef<
103
91
  HTMLDivElement,
@@ -105,56 +93,102 @@ const AlertDialogOverlay: ForwardRefExoticComponent<AlertDialogOverlayProps> = f
105
93
  >(({ classNames, children, blockAlign, ...props }, forwardedRef) => {
106
94
  const { tx } = useThemeContext();
107
95
  return (
108
- <AlertDialogOverlayPrimitive
96
+ <AlertDialogPrimitive.Overlay
109
97
  {...props}
110
- className={tx(
111
- 'dialog.overlay',
112
- 'dialog--alert__overlay',
113
- {},
114
- classNames,
115
- 'data-[block-align=start]:justify-center',
116
- 'data-[block-align=start]:items-start',
117
- 'data-[block-align=center]:place-content-center',
118
- )}
119
- ref={forwardedRef}
120
98
  data-block-align={blockAlign}
99
+ className={tx('dialog.overlay', {}, classNames)}
100
+ ref={forwardedRef}
121
101
  >
122
102
  <OverlayLayoutProvider inOverlayLayout>{children}</OverlayLayoutProvider>
123
- </AlertDialogOverlayPrimitive>
103
+ </AlertDialogPrimitive.Overlay>
124
104
  );
125
105
  });
126
106
 
127
107
  AlertDialogOverlay.displayName = ALERT_DIALOG_OVERLAY_NAME;
128
108
 
129
- type AlertDialogContentProps = ThemedClassName<AlertDialogContentPrimitiveProps>;
109
+ //
110
+ // Content
111
+ //
112
+
113
+ type AlertDialogContentProps = ThemedClassName<AlertDialogPrimitive.AlertDialogContentProps> & { size?: DialogSize };
130
114
 
131
115
  const AlertDialogContent: ForwardRefExoticComponent<AlertDialogContentProps> = forwardRef<
132
116
  HTMLDivElement,
133
117
  AlertDialogContentProps
134
- >(({ classNames, children, ...props }, forwardedRef) => {
118
+ >(({ classNames, children, size = 'md', ...props }, forwardedRef) => {
135
119
  const { tx } = useThemeContext();
136
120
  const { inOverlayLayout } = useOverlayLayoutContext(ALERT_DIALOG_CONTENT_NAME);
137
121
  return (
138
- <AlertDialogContentPrimitive
122
+ <AlertDialogPrimitive.Content
139
123
  {...props}
140
- className={tx('dialog.content', 'dialog--alert', { inOverlayLayout }, classNames)}
124
+ className={tx('dialog.content', { inOverlayLayout, size }, classNames)}
141
125
  ref={forwardedRef}
142
126
  >
143
- {children}
144
- </AlertDialogContentPrimitive>
127
+ <Column.Root classNames='dx-expander' gutter='sm'>
128
+ {children}
129
+ </Column.Root>
130
+ </AlertDialogPrimitive.Content>
145
131
  );
146
132
  });
147
133
 
148
134
  AlertDialogContent.displayName = ALERT_DIALOG_CONTENT_NAME;
149
135
 
136
+ //
137
+ // Title
138
+ //
139
+
140
+ type AlertDialogTitleProps = ThemedClassName<AlertDialogPrimitive.AlertDialogTitleProps> & { srOnly?: boolean };
141
+
142
+ const AlertDialogTitle: ForwardRefExoticComponent<AlertDialogTitleProps> = forwardRef<
143
+ HTMLHeadingElement,
144
+ AlertDialogTitleProps
145
+ >(({ classNames, srOnly, ...props }, forwardedRef) => {
146
+ const { tx } = useThemeContext();
147
+ return (
148
+ <AlertDialogPrimitive.Title {...props} className={tx('dialog.title', { srOnly }, classNames)} ref={forwardedRef} />
149
+ );
150
+ });
151
+
152
+ //
153
+ // Description
154
+ //
155
+
156
+ type AlertDialogDescriptionProps = ThemedClassName<AlertDialogPrimitive.AlertDialogDescriptionProps> & {
157
+ srOnly?: boolean;
158
+ };
159
+
160
+ const AlertDialogDescription: ForwardRefExoticComponent<AlertDialogDescriptionProps> = forwardRef<
161
+ HTMLParagraphElement,
162
+ AlertDialogDescriptionProps
163
+ >(({ classNames, srOnly, ...props }, forwardedRef) => {
164
+ const { tx } = useThemeContext();
165
+ return (
166
+ <AlertDialogPrimitive.Description
167
+ {...props}
168
+ className={tx('dialog.description', { srOnly }, classNames)}
169
+ ref={forwardedRef}
170
+ />
171
+ );
172
+ });
173
+
174
+ //
175
+ // AlertDialog
176
+ //
177
+
150
178
  export const AlertDialog = {
151
179
  Root: AlertDialogRoot,
152
180
  Trigger: AlertDialogTrigger,
153
181
  Portal: AlertDialogPortal,
154
182
  Overlay: AlertDialogOverlay,
155
183
  Content: AlertDialogContent,
184
+ // Shared with Dialog.
185
+ Header: Dialog.Header,
186
+ Body: Dialog.Body,
156
187
  Title: AlertDialogTitle,
157
188
  Description: AlertDialogDescription,
189
+ ActionBar: Dialog.ActionBar,
190
+ CloseIconButton: Dialog.CloseIconButton,
191
+ // AlertDialog-specific dismissal.
158
192
  Cancel: AlertDialogCancel,
159
193
  Action: AlertDialogAction,
160
194
  };
@@ -169,4 +203,9 @@ export type {
169
203
  AlertDialogDescriptionProps,
170
204
  AlertDialogCancelProps,
171
205
  AlertDialogActionProps,
206
+ // Re-export shared types.
207
+ DialogHeaderProps as AlertDialogHeaderProps,
208
+ DialogBodyProps as AlertDialogBodyProps,
209
+ DialogActionBarProps as AlertDialogActionBarProps,
210
+ DialogCloseIconButtonProps as AlertDialogCloseIconButtonProps,
172
211
  };
@@ -9,21 +9,27 @@ import { faker } from '@dxos/random';
9
9
 
10
10
  import { withTheme } from '../../testing';
11
11
  import { Button } from '../Button';
12
+ import { Input } from '../Input';
13
+ import { ScrollArea } from '../ScrollArea';
12
14
 
13
15
  import { Dialog, type DialogContentProps } from './Dialog';
14
16
 
15
- type StoryProps = Pick<DialogContentProps, 'size'> &
17
+ type DefaultStoryProps = Pick<DialogContentProps, 'size'> &
16
18
  Partial<{
17
19
  title: string;
18
20
  description: string;
19
21
  openTrigger: string;
20
22
  closeTrigger: string;
21
- blockAlign: 'center' | 'start';
23
+ blockAlign: 'start' | 'center';
22
24
  }>;
23
25
 
24
- const DefaultStory = ({ size, title, description, openTrigger, closeTrigger, blockAlign }: StoryProps) => {
26
+ /**
27
+ * Standard Dialog with non-scrolling content in Dialog.Body.
28
+ * Dialog.Body delegates to Column.Content, which applies gutter padding via `px-[var(--gutter)]`.
29
+ */
30
+ const DefaultStory = ({ size, title, description, openTrigger, closeTrigger, blockAlign }: DefaultStoryProps) => {
25
31
  return (
26
- <Dialog.Root defaultOpen>
32
+ <Dialog.Root defaultOpen modal>
27
33
  <Dialog.Trigger asChild>
28
34
  <Button>{openTrigger}</Button>
29
35
  </Dialog.Trigger>
@@ -37,10 +43,57 @@ const DefaultStory = ({ size, title, description, openTrigger, closeTrigger, blo
37
43
  </Dialog.Close>
38
44
  )}
39
45
  </Dialog.Header>
40
- <Dialog.Description>{description}</Dialog.Description>
41
- <Dialog.Close asChild>
42
- <Button variant='primary'>{closeTrigger}</Button>
43
- </Dialog.Close>
46
+ <Dialog.Body>
47
+ <Dialog.Description>{description}</Dialog.Description>
48
+ <Input.Root>
49
+ <Input.Label>Value</Input.Label>
50
+ <Input.TextInput placeholder='Enter value' />
51
+ </Input.Root>
52
+ </Dialog.Body>
53
+ <Dialog.ActionBar>
54
+ <Dialog.Close asChild>
55
+ <Button variant='primary'>{closeTrigger}</Button>
56
+ </Dialog.Close>
57
+ </Dialog.ActionBar>
58
+ </Dialog.Content>
59
+ </Dialog.Overlay>
60
+ </Dialog.Root>
61
+ );
62
+ };
63
+
64
+ /**
65
+ * Dialog with a ScrollArea child inside Dialog.Body.
66
+ * The ScrollArea breaks out of Body's gutter padding via `--gutter-offset`
67
+ * and applies its own asymmetric padding (accounting for scrollbar width).
68
+ */
69
+ const ScrollingStory = ({ size, title, description, openTrigger, closeTrigger, blockAlign }: DefaultStoryProps) => {
70
+ return (
71
+ <Dialog.Root defaultOpen modal>
72
+ <Dialog.Trigger asChild>
73
+ <Button>{openTrigger}</Button>
74
+ </Dialog.Trigger>
75
+ <Dialog.Overlay blockAlign={blockAlign}>
76
+ <Dialog.Content size={size}>
77
+ <Dialog.Header>
78
+ <Dialog.Title>{title}</Dialog.Title>
79
+ {closeTrigger && (
80
+ <Dialog.Close asChild>
81
+ <Dialog.CloseIconButton />
82
+ </Dialog.Close>
83
+ )}
84
+ </Dialog.Header>
85
+ <Dialog.Body>
86
+ <ScrollArea.Root orientation='vertical' padding thin>
87
+ <ScrollArea.Viewport>
88
+ <Dialog.Description>{description}</Dialog.Description>
89
+ </ScrollArea.Viewport>
90
+ </ScrollArea.Root>
91
+ </Dialog.Body>
92
+ <Dialog.ActionBar>
93
+ <Dialog.Close asChild>
94
+ <Button variant='primary'>{closeTrigger}</Button>
95
+ </Dialog.Close>
96
+ </Dialog.ActionBar>
44
97
  </Dialog.Content>
45
98
  </Dialog.Overlay>
46
99
  </Dialog.Root>
@@ -48,25 +101,30 @@ const DefaultStory = ({ size, title, description, openTrigger, closeTrigger, blo
48
101
  };
49
102
 
50
103
  const meta = {
51
- title: 'ui/react-ui-core/Dialog',
104
+ title: 'ui/react-ui-core/components/Dialog',
52
105
  component: Dialog as any,
53
106
  render: DefaultStory,
54
- decorators: [withTheme],
55
- parameters: {
56
- chromatic: {
57
- disableSnapshot: false,
58
- },
59
- },
107
+ decorators: [withTheme()],
60
108
  } satisfies Meta<typeof DefaultStory>;
61
109
 
62
110
  export default meta;
63
111
 
64
112
  type Story = StoryObj<typeof meta>;
65
113
 
114
+ export const Default: Story = {
115
+ args: {
116
+ title: 'Dialog title',
117
+ description: faker.lorem.paragraph(1),
118
+ openTrigger: 'Open',
119
+ closeTrigger: 'Close',
120
+ blockAlign: 'start',
121
+ },
122
+ };
123
+
66
124
  export const Small: Story = {
67
125
  args: {
68
126
  title: 'Dialog title',
69
- description: faker.lorem.paragraph(2),
127
+ description: faker.lorem.paragraph(1),
70
128
  openTrigger: 'Open',
71
129
  closeTrigger: 'Close',
72
130
  blockAlign: 'center',
@@ -77,7 +135,7 @@ export const Small: Story = {
77
135
  export const Medium: Story = {
78
136
  args: {
79
137
  title: 'Dialog title',
80
- description: faker.lorem.paragraph(2),
138
+ description: faker.lorem.paragraph(1),
81
139
  openTrigger: 'Open',
82
140
  closeTrigger: 'Close',
83
141
  blockAlign: 'center',
@@ -95,3 +153,26 @@ export const Large: Story = {
95
153
  size: 'lg',
96
154
  },
97
155
  };
156
+
157
+ export const ExtraLarge: Story = {
158
+ args: {
159
+ title: 'Dialog title',
160
+ description: faker.lorem.paragraph(2),
161
+ openTrigger: 'Open Dialog',
162
+ closeTrigger: 'Close',
163
+ blockAlign: 'center',
164
+ size: 'xl',
165
+ },
166
+ };
167
+
168
+ export const Scrolling: Story = {
169
+ render: ScrollingStory,
170
+ args: {
171
+ title: 'Dialog title',
172
+ description: faker.lorem.paragraph(20),
173
+ openTrigger: 'Open Dialog',
174
+ closeTrigger: 'Close',
175
+ blockAlign: 'center',
176
+ size: 'md',
177
+ },
178
+ };