@dxos/react-ui 0.8.4-main.fd6878d → 0.8.4-staging.60fe92afc8

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 (684) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/browser/chunk-5SPBSIWS.mjs +33 -0
  4. package/dist/lib/browser/chunk-5SPBSIWS.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-7JFD5ZHZ.mjs +1612 -0
  6. package/dist/lib/browser/chunk-7JFD5ZHZ.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +5263 -60
  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 +110 -61
  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-FPVTVXND.mjs +35 -0
  15. package/dist/lib/node-esm/chunk-FPVTVXND.mjs.map +7 -0
  16. package/dist/lib/node-esm/chunk-TTEL2FP2.mjs +1614 -0
  17. package/dist/lib/node-esm/chunk-TTEL2FP2.mjs.map +7 -0
  18. package/dist/lib/node-esm/index.mjs +5263 -60
  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 +110 -61
  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 +5 -31
  28. package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
  29. package/dist/types/src/components/Avatars/Avatar.theme.d.ts +11 -0
  30. package/dist/types/src/components/Avatars/Avatar.theme.d.ts.map +1 -0
  31. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts +5 -11
  32. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
  33. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts +5 -1
  34. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  35. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts +8 -20
  36. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  37. package/dist/types/src/components/Breadcrumb/Breadcrumb.theme.d.ts +4 -0
  38. package/dist/types/src/components/Breadcrumb/Breadcrumb.theme.d.ts.map +1 -0
  39. package/dist/types/src/components/{Buttons → Button}/Button.d.ts +5 -5
  40. package/dist/types/src/components/Button/Button.d.ts.map +1 -0
  41. package/dist/types/src/components/Button/Button.stories.d.ts +17 -0
  42. package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -0
  43. package/dist/types/src/components/Button/Button.theme.d.ts +11 -0
  44. package/dist/types/src/components/Button/Button.theme.d.ts.map +1 -0
  45. package/dist/types/src/components/{Buttons → Button}/IconButton.d.ts +4 -3
  46. package/dist/types/src/components/Button/IconButton.d.ts.map +1 -0
  47. package/dist/types/src/components/Button/IconButton.stories.d.ts +17 -0
  48. package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -0
  49. package/dist/types/src/components/Button/IconButton.theme.d.ts +8 -0
  50. package/dist/types/src/components/Button/IconButton.theme.d.ts.map +1 -0
  51. package/dist/types/src/components/{Buttons → Button}/Toggle.d.ts +2 -2
  52. package/dist/types/src/components/Button/Toggle.d.ts.map +1 -0
  53. package/dist/types/src/components/Button/Toggle.stories.d.ts +16 -0
  54. package/dist/types/src/components/Button/Toggle.stories.d.ts.map +1 -0
  55. package/dist/types/src/components/Button/ToggleGroup.d.ts +27 -0
  56. package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -0
  57. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +27 -0
  58. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts.map +1 -0
  59. package/dist/types/src/components/Button/index.d.ts.map +1 -0
  60. package/dist/types/src/components/Calendar/Calendar.d.ts +33 -0
  61. package/dist/types/src/components/Calendar/Calendar.d.ts.map +1 -0
  62. package/dist/types/src/components/Calendar/Calendar.stories.d.ts +9 -0
  63. package/dist/types/src/components/Calendar/Calendar.stories.d.ts.map +1 -0
  64. package/dist/types/src/components/Calendar/Calendar.theme.d.ts +4 -0
  65. package/dist/types/src/components/Calendar/Calendar.theme.d.ts.map +1 -0
  66. package/dist/types/src/components/Calendar/index.d.ts +2 -0
  67. package/dist/types/src/components/Calendar/index.d.ts.map +1 -0
  68. package/dist/types/src/components/Card/Card.d.ts +126 -0
  69. package/dist/types/src/components/Card/Card.d.ts.map +1 -0
  70. package/dist/types/src/components/Card/Card.stories.d.ts +22 -0
  71. package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -0
  72. package/dist/types/src/components/Card/Card.theme.d.ts +12 -0
  73. package/dist/types/src/components/Card/Card.theme.d.ts.map +1 -0
  74. package/dist/types/src/components/Card/index.d.ts +2 -0
  75. package/dist/types/src/components/Card/index.d.ts.map +1 -0
  76. package/dist/types/src/components/Carousel/Carousel.d.ts +106 -0
  77. package/dist/types/src/components/Carousel/Carousel.d.ts.map +1 -0
  78. package/dist/types/src/components/Carousel/Carousel.stories.d.ts +14 -0
  79. package/dist/types/src/components/Carousel/Carousel.stories.d.ts.map +1 -0
  80. package/dist/types/src/components/Carousel/index.d.ts +2 -0
  81. package/dist/types/src/components/Carousel/index.d.ts.map +1 -0
  82. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +1 -1
  83. package/dist/types/src/components/Clipboard/CopyButton.d.ts +1 -1
  84. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
  85. package/dist/types/src/components/Clipboard/index.d.ts +10 -1
  86. package/dist/types/src/components/Clipboard/index.d.ts.map +1 -1
  87. package/dist/types/src/components/Column/Column.d.ts +33 -0
  88. package/dist/types/src/components/Column/Column.d.ts.map +1 -0
  89. package/dist/types/src/components/Column/Column.stories.d.ts +25 -0
  90. package/dist/types/src/components/Column/Column.stories.d.ts.map +1 -0
  91. package/dist/types/src/components/Column/Column.theme.d.ts +9 -0
  92. package/dist/types/src/components/Column/Column.theme.d.ts.map +1 -0
  93. package/dist/types/src/components/Column/index.d.ts +3 -0
  94. package/dist/types/src/components/Column/index.d.ts.map +1 -0
  95. package/dist/types/src/components/Column/withColumn.d.ts +21 -0
  96. package/dist/types/src/components/Column/withColumn.d.ts.map +1 -0
  97. package/dist/types/src/components/DatePicker/DatePicker.d.ts +72 -0
  98. package/dist/types/src/components/DatePicker/DatePicker.d.ts.map +1 -0
  99. package/dist/types/src/components/DatePicker/DatePicker.stories.d.ts +10 -0
  100. package/dist/types/src/components/DatePicker/DatePicker.stories.d.ts.map +1 -0
  101. package/dist/types/src/components/DatePicker/DatePicker.theme.d.ts +6 -0
  102. package/dist/types/src/components/DatePicker/DatePicker.theme.d.ts.map +1 -0
  103. package/dist/types/src/components/DatePicker/index.d.ts +2 -0
  104. package/dist/types/src/components/DatePicker/index.d.ts.map +1 -0
  105. package/dist/types/src/components/Dialog/AlertDialog.d.ts +51 -0
  106. package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -0
  107. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts +11 -0
  108. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -0
  109. package/dist/types/src/components/Dialog/Dialog.d.ts +66 -0
  110. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -0
  111. package/dist/types/src/components/Dialog/Dialog.stories.d.ts +25 -0
  112. package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -0
  113. package/dist/types/src/components/Dialog/Dialog.theme.d.ts +10 -0
  114. package/dist/types/src/components/Dialog/Dialog.theme.d.ts.map +1 -0
  115. package/dist/types/src/components/Dialog/index.d.ts.map +1 -0
  116. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts +11 -0
  117. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -0
  118. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts +7 -0
  119. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts.map +1 -0
  120. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts +19 -0
  121. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -0
  122. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts +9 -0
  123. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts.map +1 -0
  124. package/dist/types/src/components/ErrorFallback/index.d.ts +5 -0
  125. package/dist/types/src/components/ErrorFallback/index.d.ts.map +1 -0
  126. package/dist/types/src/components/Focus/Focus.d.ts +36 -0
  127. package/dist/types/src/components/Focus/Focus.d.ts.map +1 -0
  128. package/dist/types/src/components/Focus/Focus.stories.d.ts +9 -0
  129. package/dist/types/src/components/Focus/Focus.stories.d.ts.map +1 -0
  130. package/dist/types/src/components/Focus/Focus.theme.d.ts +6 -0
  131. package/dist/types/src/components/Focus/Focus.theme.d.ts.map +1 -0
  132. package/dist/types/src/components/Focus/index.d.ts +2 -0
  133. package/dist/types/src/components/Focus/index.d.ts.map +1 -0
  134. package/dist/types/src/components/Icon/Icon.d.ts +6 -2
  135. package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
  136. package/dist/types/src/components/Icon/Icon.stories.d.ts +25 -0
  137. package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -0
  138. package/dist/types/src/components/Icon/Icon.theme.d.ts +11 -0
  139. package/dist/types/src/components/Icon/Icon.theme.d.ts.map +1 -0
  140. package/dist/types/src/components/Icon/IconBlock.d.ts +15 -0
  141. package/dist/types/src/components/Icon/IconBlock.d.ts.map +1 -0
  142. package/dist/types/src/components/Icon/index.d.ts +1 -0
  143. package/dist/types/src/components/Icon/index.d.ts.map +1 -1
  144. package/dist/types/src/components/Image/Image.d.ts +21 -0
  145. package/dist/types/src/components/Image/Image.d.ts.map +1 -0
  146. package/dist/types/src/components/Image/Image.stories.d.ts +34 -0
  147. package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -0
  148. package/dist/types/src/components/Image/index.d.ts +2 -0
  149. package/dist/types/src/components/Image/index.d.ts.map +1 -0
  150. package/dist/types/src/components/Input/Input.d.ts +95 -22
  151. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  152. package/dist/types/src/components/Input/Input.stories.d.ts +29 -19
  153. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  154. package/dist/types/src/components/Input/Input.theme.d.ts +115 -0
  155. package/dist/types/src/components/Input/Input.theme.d.ts.map +1 -0
  156. package/dist/types/src/components/Input/SegmentedInput.d.ts +79 -0
  157. package/dist/types/src/components/Input/SegmentedInput.d.ts.map +1 -0
  158. package/dist/types/src/components/Input/constants.d.ts +2 -0
  159. package/dist/types/src/components/Input/constants.d.ts.map +1 -0
  160. package/dist/types/src/components/Input/index.d.ts +2 -0
  161. package/dist/types/src/components/Input/index.d.ts.map +1 -1
  162. package/dist/types/src/components/Link/Link.d.ts.map +1 -1
  163. package/dist/types/src/components/Link/Link.stories.d.ts +8 -8
  164. package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -1
  165. package/dist/types/src/components/Link/Link.theme.d.ts +6 -0
  166. package/dist/types/src/components/Link/Link.theme.d.ts.map +1 -0
  167. package/dist/types/src/components/{Lists → List}/List.d.ts +6 -4
  168. package/dist/types/src/components/List/List.d.ts.map +1 -0
  169. package/dist/types/src/components/List/List.stories.d.ts +16 -0
  170. package/dist/types/src/components/List/List.stories.d.ts.map +1 -0
  171. package/dist/types/src/components/List/List.theme.d.ts +7 -0
  172. package/dist/types/src/components/List/List.theme.d.ts.map +1 -0
  173. package/dist/types/src/components/List/ListDropIndicator.d.ts.map +1 -0
  174. package/dist/types/src/components/{Lists → List}/Tree.d.ts +2 -2
  175. package/dist/types/src/components/List/Tree.d.ts.map +1 -0
  176. package/dist/types/src/components/List/Tree.stories.d.ts +15 -0
  177. package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -0
  178. package/dist/types/src/components/List/TreeDropIndicator.d.ts.map +1 -0
  179. package/dist/types/src/components/{Lists → List}/Treegrid.d.ts +6 -10
  180. package/dist/types/src/components/List/Treegrid.d.ts.map +1 -0
  181. package/dist/types/src/components/List/Treegrid.stories.d.ts +12 -0
  182. package/dist/types/src/components/List/Treegrid.stories.d.ts.map +1 -0
  183. package/dist/types/src/components/List/Treegrid.theme.d.ts +7 -0
  184. package/dist/types/src/components/List/Treegrid.theme.d.ts.map +1 -0
  185. package/dist/types/src/components/List/index.d.ts.map +1 -0
  186. package/dist/types/src/components/Main/Main.d.ts +25 -31
  187. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  188. package/dist/types/src/components/Main/Main.stories.d.ts +6 -10
  189. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  190. package/dist/types/src/components/Main/Main.theme.d.ts +20 -0
  191. package/dist/types/src/components/Main/Main.theme.d.ts.map +1 -0
  192. package/dist/types/src/components/Main/constants.d.ts +3 -0
  193. package/dist/types/src/components/Main/constants.d.ts.map +1 -0
  194. package/dist/types/src/components/Main/index.d.ts +1 -0
  195. package/dist/types/src/components/Main/index.d.ts.map +1 -1
  196. package/dist/types/src/components/Main/useSwipeToDismiss.d.ts.map +1 -1
  197. package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts +47 -0
  198. package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts.map +1 -0
  199. package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts +16 -0
  200. package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts.map +1 -0
  201. package/dist/types/src/components/MediaPlayer/index.d.ts +2 -0
  202. package/dist/types/src/components/MediaPlayer/index.d.ts.map +1 -0
  203. package/dist/types/src/components/{Menus → Menu}/ContextMenu.d.ts +6 -6
  204. package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -0
  205. package/dist/types/src/components/Menu/ContextMenu.stories.d.ts +12 -0
  206. package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -0
  207. package/dist/types/src/components/Menu/DropdownMenu.d.ts +121 -0
  208. package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
  209. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +28 -0
  210. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -0
  211. package/dist/types/src/components/Menu/Menu.theme.d.ts +7 -0
  212. package/dist/types/src/components/Menu/Menu.theme.d.ts.map +1 -0
  213. package/dist/types/src/components/Menu/index.d.ts.map +1 -0
  214. package/dist/types/src/components/Message/Message.d.ts +4 -4
  215. package/dist/types/src/components/Message/Message.d.ts.map +1 -1
  216. package/dist/types/src/components/Message/Message.stories.d.ts +16 -22
  217. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  218. package/dist/types/src/components/Message/Message.theme.d.ts +7 -0
  219. package/dist/types/src/components/Message/Message.theme.d.ts.map +1 -0
  220. package/dist/types/src/components/Panel/Panel.d.ts +35 -0
  221. package/dist/types/src/components/Panel/Panel.d.ts.map +1 -0
  222. package/dist/types/src/components/Panel/Panel.stories.d.ts +6 -0
  223. package/dist/types/src/components/Panel/Panel.stories.d.ts.map +1 -0
  224. package/dist/types/src/components/Panel/Panel.theme.d.ts +13 -0
  225. package/dist/types/src/components/Panel/Panel.theme.d.ts.map +1 -0
  226. package/dist/types/src/components/Panel/index.d.ts +2 -0
  227. package/dist/types/src/components/Panel/index.d.ts.map +1 -0
  228. package/dist/types/src/components/Popover/Popover.d.ts +41 -24
  229. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  230. package/dist/types/src/components/Popover/Popover.stories.d.ts +6 -34
  231. package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
  232. package/dist/types/src/components/Popover/Popover.theme.d.ts +8 -0
  233. package/dist/types/src/components/Popover/Popover.theme.d.ts.map +1 -0
  234. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +27 -27
  235. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  236. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +50 -27
  237. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  238. package/dist/types/src/components/ScrollArea/ScrollArea.theme.d.ts +17 -0
  239. package/dist/types/src/components/ScrollArea/ScrollArea.theme.d.ts.map +1 -0
  240. package/dist/types/src/components/ScrollArea/index.d.ts +1 -0
  241. package/dist/types/src/components/ScrollArea/index.d.ts.map +1 -1
  242. package/dist/types/src/components/ScrollArea/scrollbar.d.ts +18 -0
  243. package/dist/types/src/components/ScrollArea/scrollbar.d.ts.map +1 -0
  244. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +62 -0
  245. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -0
  246. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +23 -0
  247. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -0
  248. package/dist/types/src/components/ScrollContainer/index.d.ts +2 -0
  249. package/dist/types/src/components/ScrollContainer/index.d.ts.map +1 -0
  250. package/dist/types/src/components/Select/Select.d.ts +10 -10
  251. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  252. package/dist/types/src/components/Select/Select.stories.d.ts +6 -11
  253. package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
  254. package/dist/types/src/components/Select/Select.theme.d.ts +6 -0
  255. package/dist/types/src/components/Select/Select.theme.d.ts.map +1 -0
  256. package/dist/types/src/components/Separator/Separator.d.ts +4 -4
  257. package/dist/types/src/components/Separator/Separator.d.ts.map +1 -1
  258. package/dist/types/src/components/Separator/Separator.theme.d.ts +7 -0
  259. package/dist/types/src/components/Separator/Separator.theme.d.ts.map +1 -0
  260. package/dist/types/src/components/Skeleton/Skeleton.d.ts +12 -0
  261. package/dist/types/src/components/Skeleton/Skeleton.d.ts.map +1 -0
  262. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts +17 -0
  263. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -0
  264. package/dist/types/src/components/Skeleton/Skeleton.theme.d.ts +6 -0
  265. package/dist/types/src/components/Skeleton/Skeleton.theme.d.ts.map +1 -0
  266. package/dist/types/src/components/Skeleton/index.d.ts +2 -0
  267. package/dist/types/src/components/Skeleton/index.d.ts.map +1 -0
  268. package/dist/types/src/components/Splitter/Splitter.d.ts +32 -0
  269. package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -0
  270. package/dist/types/src/components/Splitter/Splitter.stories.d.ts +7 -0
  271. package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -0
  272. package/dist/types/src/components/Splitter/Splitter.theme.d.ts +4 -0
  273. package/dist/types/src/components/Splitter/Splitter.theme.d.ts.map +1 -0
  274. package/dist/types/src/components/Splitter/index.d.ts +2 -0
  275. package/dist/types/src/components/Splitter/index.d.ts.map +1 -0
  276. package/dist/types/src/components/Status/Status.d.ts +3 -4
  277. package/dist/types/src/components/Status/Status.d.ts.map +1 -1
  278. package/dist/types/src/components/Status/Status.stories.d.ts +6 -10
  279. package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
  280. package/dist/types/src/components/Status/Status.theme.d.ts +7 -0
  281. package/dist/types/src/components/Status/Status.theme.d.ts.map +1 -0
  282. package/dist/types/src/components/Tag/Tag.d.ts +1 -1
  283. package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
  284. package/dist/types/src/components/Tag/Tag.stories.d.ts +8 -13
  285. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
  286. package/dist/types/src/components/Tag/Tag.theme.d.ts +6 -0
  287. package/dist/types/src/components/Tag/Tag.theme.d.ts.map +1 -0
  288. package/dist/types/src/components/Toast/Toast.d.ts +27 -24
  289. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  290. package/dist/types/src/components/Toast/Toast.stories.d.ts +11 -46
  291. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
  292. package/dist/types/src/components/Toast/Toast.theme.d.ts +4 -0
  293. package/dist/types/src/components/Toast/Toast.theme.d.ts.map +1 -0
  294. package/dist/types/src/components/Toolbar/Toolbar.d.ts +54 -24
  295. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  296. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +6 -50
  297. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  298. package/dist/types/src/components/Toolbar/Toolbar.theme.d.ts +8 -0
  299. package/dist/types/src/components/Toolbar/Toolbar.theme.d.ts.map +1 -0
  300. package/dist/types/src/components/Tooltip/Tooltip.d.ts +16 -18
  301. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  302. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +10 -63
  303. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  304. package/dist/types/src/components/Tooltip/Tooltip.theme.d.ts +6 -0
  305. package/dist/types/src/components/Tooltip/Tooltip.theme.d.ts.map +1 -0
  306. package/dist/types/src/components/Tooltip/index.d.ts +1 -0
  307. package/dist/types/src/components/Tooltip/index.d.ts.map +1 -1
  308. package/dist/types/src/components/Tooltip/tooltipContent.d.ts +4 -0
  309. package/dist/types/src/components/Tooltip/tooltipContent.d.ts.map +1 -0
  310. package/dist/types/src/components/index.d.ts +18 -9
  311. package/dist/types/src/components/index.d.ts.map +1 -1
  312. package/dist/types/src/exemplars/generics.stories.d.ts +19 -0
  313. package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
  314. package/dist/types/src/exemplars/slot.stories.d.ts +15 -0
  315. package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -0
  316. package/dist/types/src/exemplars/tabster.stories.d.ts +8 -0
  317. package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -0
  318. package/dist/types/src/exemplars/virtualizer.stories.d.ts +11 -0
  319. package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -0
  320. package/dist/types/src/hooks/index.d.ts +1 -0
  321. package/dist/types/src/hooks/index.d.ts.map +1 -1
  322. package/dist/types/src/hooks/useDensityContext.d.ts +2 -2
  323. package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
  324. package/dist/types/src/hooks/useElevationContext.d.ts +1 -1
  325. package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
  326. package/dist/types/src/hooks/useIconHref.d.ts.map +1 -1
  327. package/dist/types/src/hooks/useSafeArea.d.ts.map +1 -1
  328. package/dist/types/src/hooks/useSafeCollisionPadding.d.ts.map +1 -1
  329. package/dist/types/src/hooks/useTranslationsContext.d.ts +1 -1
  330. package/dist/types/src/hooks/useVisualViewport.d.ts +2 -2
  331. package/dist/types/src/hooks/useVisualViewport.d.ts.map +1 -1
  332. package/dist/types/src/index.d.ts +3 -1
  333. package/dist/types/src/index.d.ts.map +1 -1
  334. package/dist/types/src/playground/Controls.stories.d.ts +5 -9
  335. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  336. package/dist/types/src/playground/Custom.stories.d.ts +12 -4
  337. package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
  338. package/dist/types/src/playground/Typography.stories.d.ts +5 -11
  339. package/dist/types/src/playground/Typography.stories.d.ts.map +1 -1
  340. package/dist/types/src/primitives/Container/Container.d.ts +7 -0
  341. package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
  342. package/dist/types/src/primitives/Container/Container.stories.d.ts +6 -0
  343. package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
  344. package/dist/types/src/primitives/Container/index.d.ts +2 -0
  345. package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
  346. package/dist/types/src/{components → primitives}/DensityProvider/DensityProvider.d.ts +1 -1
  347. package/dist/types/src/{components → primitives}/DensityProvider/DensityProvider.d.ts.map +1 -1
  348. package/dist/types/src/primitives/DensityProvider/index.d.ts.map +1 -0
  349. package/dist/types/src/{components → primitives}/ElevationProvider/ElevationProvider.d.ts +1 -1
  350. package/dist/types/src/{components → primitives}/ElevationProvider/ElevationProvider.d.ts.map +1 -1
  351. package/dist/types/src/primitives/ElevationProvider/index.d.ts.map +1 -0
  352. package/dist/types/src/primitives/Flex/Flex.d.ts +11 -0
  353. package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
  354. package/dist/types/src/primitives/Flex/Flex.stories.d.ts +8 -0
  355. package/dist/types/src/primitives/Flex/Flex.stories.d.ts.map +1 -0
  356. package/dist/types/src/primitives/Flex/index.d.ts +2 -0
  357. package/dist/types/src/primitives/Flex/index.d.ts.map +1 -0
  358. package/dist/types/src/primitives/Grid/Grid.d.ts +10 -0
  359. package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -0
  360. package/dist/types/src/primitives/Grid/Grid.stories.d.ts +8 -0
  361. package/dist/types/src/primitives/Grid/Grid.stories.d.ts.map +1 -0
  362. package/dist/types/src/primitives/Grid/index.d.ts +2 -0
  363. package/dist/types/src/primitives/Grid/index.d.ts.map +1 -0
  364. package/dist/types/src/{components → primitives}/ThemeProvider/ThemeProvider.d.ts +3 -3
  365. package/dist/types/src/primitives/ThemeProvider/ThemeProvider.d.ts.map +1 -0
  366. package/dist/types/src/primitives/ThemeProvider/ThemeProvider.stories.d.ts +12 -0
  367. package/dist/types/src/primitives/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -0
  368. package/dist/types/src/primitives/ThemeProvider/TranslationsProvider.d.ts +128 -0
  369. package/dist/types/src/primitives/ThemeProvider/TranslationsProvider.d.ts.map +1 -0
  370. package/dist/types/src/primitives/ThemeProvider/index.d.ts +4 -0
  371. package/dist/types/src/primitives/ThemeProvider/index.d.ts.map +1 -0
  372. package/dist/types/src/primitives/index.d.ts +7 -0
  373. package/dist/types/src/primitives/index.d.ts.map +1 -0
  374. package/dist/types/src/testing/Loading.d.ts +9 -0
  375. package/dist/types/src/testing/Loading.d.ts.map +1 -0
  376. package/dist/types/src/testing/decorators/index.d.ts +2 -1
  377. package/dist/types/src/testing/decorators/index.d.ts.map +1 -1
  378. package/dist/types/src/testing/decorators/withLayout.d.ts +15 -0
  379. package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -0
  380. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts +12 -0
  381. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -0
  382. package/dist/types/src/testing/decorators/withTheme.d.ts +9 -1
  383. package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
  384. package/dist/types/src/testing/index.d.ts +1 -0
  385. package/dist/types/src/testing/index.d.ts.map +1 -1
  386. package/dist/types/src/theme/bindTheme.d.ts +3 -0
  387. package/dist/types/src/theme/bindTheme.d.ts.map +1 -0
  388. package/dist/types/src/theme/defaultTheme.d.ts +4 -0
  389. package/dist/types/src/theme/defaultTheme.d.ts.map +1 -0
  390. package/dist/types/src/theme/index.d.ts +31 -0
  391. package/dist/types/src/theme/index.d.ts.map +1 -0
  392. package/dist/types/src/translations.d.ts +25 -0
  393. package/dist/types/src/translations.d.ts.map +1 -0
  394. package/dist/types/src/util/index.d.ts +4 -2
  395. package/dist/types/src/util/index.d.ts.map +1 -1
  396. package/dist/types/src/util/mobile.d.ts +5 -0
  397. package/dist/types/src/util/mobile.d.ts.map +1 -0
  398. package/dist/types/src/util/slots.d.ts +57 -0
  399. package/dist/types/src/util/slots.d.ts.map +1 -0
  400. package/dist/types/src/util/usePx.d.ts +8 -0
  401. package/dist/types/src/util/usePx.d.ts.map +1 -0
  402. package/dist/types/tsconfig.tsbuildinfo +1 -1
  403. package/package.json +55 -40
  404. package/src/components/Avatars/Avatar.stories.tsx +22 -16
  405. package/src/components/Avatars/Avatar.theme.ts +93 -0
  406. package/src/components/Avatars/Avatar.tsx +7 -15
  407. package/src/components/Avatars/AvatarGroup.stories.tsx +10 -8
  408. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +19 -16
  409. package/src/components/Breadcrumb/Breadcrumb.theme.ts +26 -0
  410. package/src/components/Breadcrumb/Breadcrumb.tsx +25 -39
  411. package/src/components/{Buttons → Button}/Button.stories.tsx +7 -10
  412. package/src/components/Button/Button.theme.ts +31 -0
  413. package/src/components/{Buttons → Button}/Button.tsx +13 -27
  414. package/src/components/Button/IconButton.stories.tsx +92 -0
  415. package/src/components/Button/IconButton.theme.ts +21 -0
  416. package/src/components/{Buttons → Button}/IconButton.tsx +21 -16
  417. package/src/components/Button/Toggle.stories.tsx +36 -0
  418. package/src/components/{Buttons → Button}/Toggle.tsx +4 -4
  419. package/src/components/{Buttons → Button}/ToggleGroup.stories.tsx +10 -9
  420. package/src/components/Button/ToggleGroup.tsx +50 -0
  421. package/src/components/Calendar/Calendar.stories.tsx +43 -0
  422. package/src/components/Calendar/Calendar.theme.ts +74 -0
  423. package/src/components/Calendar/Calendar.tsx +196 -0
  424. package/src/components/Calendar/index.ts +5 -0
  425. package/src/components/Card/Card.stories.tsx +172 -0
  426. package/src/components/Card/Card.theme.ts +93 -0
  427. package/src/components/Card/Card.tsx +485 -0
  428. package/src/components/Card/index.ts +5 -0
  429. package/src/components/Carousel/Carousel.stories.tsx +47 -0
  430. package/src/components/Carousel/Carousel.tsx +373 -0
  431. package/src/components/Carousel/index.ts +5 -0
  432. package/src/components/Clipboard/CopyButton.tsx +11 -12
  433. package/src/components/Column/AUDIT.md +148 -0
  434. package/src/components/Column/Column.stories.tsx +181 -0
  435. package/src/components/Column/Column.theme.ts +48 -0
  436. package/src/components/Column/Column.tsx +166 -0
  437. package/src/components/Column/index.ts +6 -0
  438. package/src/components/Column/withColumn.ts +27 -0
  439. package/src/components/DatePicker/DatePicker.stories.tsx +102 -0
  440. package/src/components/DatePicker/DatePicker.theme.ts +35 -0
  441. package/src/components/DatePicker/DatePicker.tsx +279 -0
  442. package/src/components/DatePicker/index.ts +5 -0
  443. package/src/components/Dialog/AlertDialog.stories.tsx +68 -0
  444. package/src/components/Dialog/AlertDialog.tsx +209 -0
  445. package/src/components/Dialog/Dialog.stories.tsx +177 -0
  446. package/src/components/Dialog/Dialog.theme.ts +61 -0
  447. package/src/components/Dialog/Dialog.tsx +314 -0
  448. package/src/components/ErrorFallback/ErrorFallback.stories.tsx +45 -0
  449. package/src/components/ErrorFallback/ErrorFallback.tsx +76 -0
  450. package/src/components/ErrorFallback/ErrorStack.tsx +120 -0
  451. package/src/components/ErrorFallback/ThrowError.tsx +37 -0
  452. package/src/components/ErrorFallback/index.ts +9 -0
  453. package/src/components/Focus/AUDIT.md +43 -0
  454. package/src/components/Focus/Focus.stories.tsx +230 -0
  455. package/src/components/Focus/Focus.theme.ts +32 -0
  456. package/src/components/Focus/Focus.tsx +201 -0
  457. package/src/components/Focus/index.ts +5 -0
  458. package/src/components/Icon/Icon.stories.tsx +143 -0
  459. package/src/components/Icon/Icon.theme.ts +45 -0
  460. package/src/components/Icon/Icon.tsx +15 -4
  461. package/src/components/Icon/IconBlock.tsx +38 -0
  462. package/src/components/Icon/index.ts +1 -0
  463. package/src/components/Image/Image.stories.tsx +86 -0
  464. package/src/components/Image/Image.tsx +252 -0
  465. package/src/components/Image/index.ts +5 -0
  466. package/src/components/Input/Input.stories.tsx +152 -72
  467. package/src/components/Input/Input.theme.ts +191 -0
  468. package/src/components/Input/Input.tsx +247 -77
  469. package/src/components/Input/SegmentedInput.tsx +454 -0
  470. package/src/components/Input/constants.ts +5 -0
  471. package/src/components/Input/index.ts +2 -0
  472. package/src/components/Link/Link.stories.tsx +10 -8
  473. package/src/components/Link/Link.theme.ts +16 -0
  474. package/src/components/Link/Link.tsx +11 -3
  475. package/src/components/{Lists → List}/List.stories.tsx +42 -45
  476. package/src/components/List/List.theme.ts +47 -0
  477. package/src/components/{Lists → List}/List.tsx +22 -23
  478. package/src/components/{Lists → List}/ListDropIndicator.tsx +7 -8
  479. package/src/components/{Lists → List}/Tree.stories.tsx +15 -14
  480. package/src/components/{Lists → List}/Tree.tsx +0 -1
  481. package/src/components/{Lists → List}/TreeDropIndicator.tsx +6 -6
  482. package/src/components/{Lists → List}/Treegrid.stories.tsx +39 -35
  483. package/src/components/List/Treegrid.theme.ts +35 -0
  484. package/src/components/List/Treegrid.tsx +187 -0
  485. package/src/components/Main/Main.stories.tsx +52 -28
  486. package/src/components/Main/Main.theme.ts +29 -0
  487. package/src/components/Main/Main.tsx +176 -104
  488. package/src/components/Main/constants.ts +6 -0
  489. package/src/components/Main/index.ts +1 -0
  490. package/src/components/MediaPlayer/MediaPlayer.stories.tsx +50 -0
  491. package/src/components/MediaPlayer/MediaPlayer.tsx +182 -0
  492. package/src/components/MediaPlayer/index.ts +5 -0
  493. package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +11 -13
  494. package/src/components/{Menus → Menu}/ContextMenu.tsx +10 -33
  495. package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +12 -14
  496. package/src/components/{Menus → Menu}/DropdownMenu.tsx +166 -129
  497. package/src/components/Menu/Menu.theme.ts +48 -0
  498. package/src/components/Message/Message.stories.tsx +74 -19
  499. package/src/components/Message/Message.theme.ts +44 -0
  500. package/src/components/Message/Message.tsx +107 -38
  501. package/src/components/Panel/Panel.stories.tsx +67 -0
  502. package/src/components/Panel/Panel.theme.ts +41 -0
  503. package/src/components/Panel/Panel.tsx +121 -0
  504. package/src/components/Panel/index.ts +5 -0
  505. package/src/components/Popover/Popover.stories.tsx +17 -16
  506. package/src/components/Popover/Popover.theme.ts +40 -0
  507. package/src/components/Popover/Popover.tsx +125 -103
  508. package/src/components/ScrollArea/ScrollArea.stories.tsx +220 -33
  509. package/src/components/ScrollArea/ScrollArea.theme.ts +107 -0
  510. package/src/components/ScrollArea/ScrollArea.tsx +98 -79
  511. package/src/components/ScrollArea/index.ts +2 -1
  512. package/src/components/ScrollArea/scrollbar.ts +21 -0
  513. package/src/components/ScrollContainer/ScrollContainer.stories.tsx +91 -0
  514. package/src/components/ScrollContainer/ScrollContainer.tsx +347 -0
  515. package/src/components/ScrollContainer/index.ts +5 -0
  516. package/src/components/Select/Select.stories.tsx +19 -18
  517. package/src/components/Select/Select.theme.ts +55 -0
  518. package/src/components/Select/Select.tsx +40 -39
  519. package/src/components/Separator/Separator.theme.ts +23 -0
  520. package/src/components/Separator/Separator.tsx +5 -8
  521. package/src/components/Skeleton/Skeleton.stories.tsx +51 -0
  522. package/src/components/Skeleton/Skeleton.theme.ts +22 -0
  523. package/src/components/Skeleton/Skeleton.tsx +26 -0
  524. package/src/components/Skeleton/index.ts +5 -0
  525. package/src/components/Splitter/Splitter.stories.tsx +83 -0
  526. package/src/components/Splitter/Splitter.theme.ts +18 -0
  527. package/src/components/Splitter/Splitter.tsx +122 -0
  528. package/src/components/Splitter/index.ts +5 -0
  529. package/src/components/Status/Status.stories.tsx +28 -23
  530. package/src/components/Status/Status.theme.ts +31 -0
  531. package/src/components/Status/Status.tsx +9 -7
  532. package/src/components/Tag/Tag.stories.tsx +16 -14
  533. package/src/components/Tag/Tag.theme.ts +22 -0
  534. package/src/components/Tag/Tag.tsx +3 -8
  535. package/src/components/Toast/Toast.stories.tsx +52 -30
  536. package/src/components/Toast/Toast.theme.ts +56 -0
  537. package/src/components/Toast/Toast.tsx +103 -54
  538. package/src/components/Toolbar/Toolbar.stories.tsx +14 -14
  539. package/src/components/Toolbar/Toolbar.theme.ts +36 -0
  540. package/src/components/Toolbar/Toolbar.tsx +238 -12
  541. package/src/components/Tooltip/Tooltip.stories.tsx +34 -39
  542. package/src/components/Tooltip/Tooltip.theme.ts +19 -0
  543. package/src/components/Tooltip/Tooltip.tsx +60 -56
  544. package/src/components/Tooltip/index.ts +1 -0
  545. package/src/components/Tooltip/tooltipContent.ts +16 -0
  546. package/src/components/index.ts +18 -10
  547. package/src/exemplars/generics.stories.tsx +40 -0
  548. package/src/exemplars/slot.stories.tsx +116 -0
  549. package/src/exemplars/tabster.stories.tsx +127 -0
  550. package/src/exemplars/virtualizer.stories.tsx +136 -0
  551. package/src/hooks/index.ts +1 -0
  552. package/src/hooks/useDensityContext.ts +4 -4
  553. package/src/hooks/useElevationContext.ts +2 -2
  554. package/src/hooks/useSafeArea.ts +3 -2
  555. package/src/hooks/useThemeContext.ts +1 -1
  556. package/src/hooks/useTranslationsContext.ts +1 -1
  557. package/src/hooks/useVisualViewport.ts +4 -4
  558. package/src/index.ts +3 -1
  559. package/src/playground/Controls.stories.tsx +12 -15
  560. package/src/playground/Custom.stories.tsx +22 -56
  561. package/src/playground/Typography.stories.tsx +11 -9
  562. package/src/primitives/Container/Container.stories.tsx +29 -0
  563. package/src/primitives/Container/Container.tsx +21 -0
  564. package/src/primitives/Container/index.ts +5 -0
  565. package/src/{components → primitives}/DensityProvider/DensityProvider.tsx +2 -2
  566. package/src/{components → primitives}/ElevationProvider/ElevationProvider.tsx +1 -1
  567. package/src/primitives/Flex/Flex.stories.tsx +57 -0
  568. package/src/primitives/Flex/Flex.tsx +29 -0
  569. package/src/primitives/Flex/index.ts +5 -0
  570. package/src/primitives/Grid/Grid.stories.tsx +56 -0
  571. package/src/primitives/Grid/Grid.tsx +32 -0
  572. package/src/primitives/Grid/index.ts +5 -0
  573. package/src/primitives/ThemeProvider/ThemeProvider.stories.tsx +31 -0
  574. package/src/{components → primitives}/ThemeProvider/ThemeProvider.tsx +11 -11
  575. package/src/{components → primitives}/ThemeProvider/TranslationsProvider.tsx +1 -16
  576. package/src/primitives/ThemeProvider/index.ts +8 -0
  577. package/src/primitives/index.ts +11 -0
  578. package/src/testing/Loading.tsx +47 -0
  579. package/src/testing/decorators/index.ts +2 -1
  580. package/src/testing/decorators/withLayout.tsx +67 -0
  581. package/src/testing/decorators/withLayoutVariants.tsx +48 -0
  582. package/src/testing/decorators/withTheme.tsx +45 -0
  583. package/src/testing/index.ts +2 -0
  584. package/src/theme/bindTheme.ts +13 -0
  585. package/src/theme/defaultTheme.ts +83 -0
  586. package/src/theme/index.ts +37 -0
  587. package/src/translations.ts +33 -0
  588. package/src/util/index.ts +5 -2
  589. package/src/util/mobile.ts +11 -0
  590. package/src/util/slots.ts +129 -0
  591. package/src/util/usePx.ts +65 -0
  592. package/dist/lib/browser/chunk-BKNGMGOK.mjs +0 -4373
  593. package/dist/lib/browser/chunk-BKNGMGOK.mjs.map +0 -7
  594. package/dist/lib/node-esm/chunk-D2HZS6F4.mjs +0 -4375
  595. package/dist/lib/node-esm/chunk-D2HZS6F4.mjs.map +0 -7
  596. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +0 -15
  597. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +0 -1
  598. package/dist/types/src/components/AnchoredOverflow/index.d.ts +0 -2
  599. package/dist/types/src/components/AnchoredOverflow/index.d.ts.map +0 -1
  600. package/dist/types/src/components/Buttons/Button.d.ts.map +0 -1
  601. package/dist/types/src/components/Buttons/Button.stories.d.ts +0 -12
  602. package/dist/types/src/components/Buttons/Button.stories.d.ts.map +0 -1
  603. package/dist/types/src/components/Buttons/IconButton.d.ts.map +0 -1
  604. package/dist/types/src/components/Buttons/IconButton.stories.d.ts +0 -22
  605. package/dist/types/src/components/Buttons/IconButton.stories.d.ts.map +0 -1
  606. package/dist/types/src/components/Buttons/Toggle.d.ts.map +0 -1
  607. package/dist/types/src/components/Buttons/Toggle.stories.d.ts +0 -19
  608. package/dist/types/src/components/Buttons/Toggle.stories.d.ts.map +0 -1
  609. package/dist/types/src/components/Buttons/ToggleGroup.d.ts +0 -28
  610. package/dist/types/src/components/Buttons/ToggleGroup.d.ts.map +0 -1
  611. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts +0 -39
  612. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts.map +0 -1
  613. package/dist/types/src/components/Buttons/index.d.ts.map +0 -1
  614. package/dist/types/src/components/DensityProvider/index.d.ts.map +0 -1
  615. package/dist/types/src/components/Dialogs/AlertDialog.d.ts +0 -31
  616. package/dist/types/src/components/Dialogs/AlertDialog.d.ts.map +0 -1
  617. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts +0 -43
  618. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts.map +0 -1
  619. package/dist/types/src/components/Dialogs/Dialog.d.ts +0 -31
  620. package/dist/types/src/components/Dialogs/Dialog.d.ts.map +0 -1
  621. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts +0 -48
  622. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts.map +0 -1
  623. package/dist/types/src/components/Dialogs/index.d.ts.map +0 -1
  624. package/dist/types/src/components/ElevationProvider/index.d.ts.map +0 -1
  625. package/dist/types/src/components/Lists/List.d.ts.map +0 -1
  626. package/dist/types/src/components/Lists/List.stories.d.ts +0 -37
  627. package/dist/types/src/components/Lists/List.stories.d.ts.map +0 -1
  628. package/dist/types/src/components/Lists/ListDropIndicator.d.ts.map +0 -1
  629. package/dist/types/src/components/Lists/Tree.d.ts.map +0 -1
  630. package/dist/types/src/components/Lists/Tree.stories.d.ts +0 -41
  631. package/dist/types/src/components/Lists/Tree.stories.d.ts.map +0 -1
  632. package/dist/types/src/components/Lists/TreeDropIndicator.d.ts.map +0 -1
  633. package/dist/types/src/components/Lists/Treegrid.d.ts.map +0 -1
  634. package/dist/types/src/components/Lists/Treegrid.stories.d.ts +0 -10
  635. package/dist/types/src/components/Lists/Treegrid.stories.d.ts.map +0 -1
  636. package/dist/types/src/components/Lists/index.d.ts.map +0 -1
  637. package/dist/types/src/components/Menus/ContextMenu.d.ts.map +0 -1
  638. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts +0 -50
  639. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +0 -1
  640. package/dist/types/src/components/Menus/DropdownMenu.d.ts +0 -112
  641. package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +0 -1
  642. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts +0 -50
  643. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts.map +0 -1
  644. package/dist/types/src/components/Menus/index.d.ts.map +0 -1
  645. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +0 -1
  646. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +0 -136
  647. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +0 -1
  648. package/dist/types/src/components/ThemeProvider/index.d.ts +0 -3
  649. package/dist/types/src/components/ThemeProvider/index.d.ts.map +0 -1
  650. package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts +0 -12
  651. package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts.map +0 -1
  652. package/dist/types/src/util/ThemedClassName.d.ts +0 -5
  653. package/dist/types/src/util/ThemedClassName.d.ts.map +0 -1
  654. package/dist/types/src/util/hasIosKeyboard.d.ts +0 -2
  655. package/dist/types/src/util/hasIosKeyboard.d.ts.map +0 -1
  656. package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +0 -59
  657. package/src/components/AnchoredOverflow/index.ts +0 -5
  658. package/src/components/Buttons/IconButton.stories.tsx +0 -40
  659. package/src/components/Buttons/Toggle.stories.tsx +0 -34
  660. package/src/components/Buttons/ToggleGroup.tsx +0 -41
  661. package/src/components/Dialogs/AlertDialog.stories.tsx +0 -67
  662. package/src/components/Dialogs/AlertDialog.tsx +0 -172
  663. package/src/components/Dialogs/Dialog.stories.tsx +0 -66
  664. package/src/components/Dialogs/Dialog.tsx +0 -159
  665. package/src/components/Lists/Treegrid.tsx +0 -152
  666. package/src/components/ThemeProvider/index.ts +0 -8
  667. package/src/testing/decorators/withSurfaceVariantsLayout.tsx +0 -51
  668. package/src/testing/decorators/withTheme.ts +0 -25
  669. package/src/util/ThemedClassName.ts +0 -7
  670. package/src/util/hasIosKeyboard.ts +0 -8
  671. /package/dist/types/src/components/{Buttons → Button}/index.d.ts +0 -0
  672. /package/dist/types/src/components/{Dialogs → Dialog}/index.d.ts +0 -0
  673. /package/dist/types/src/components/{Lists → List}/ListDropIndicator.d.ts +0 -0
  674. /package/dist/types/src/components/{Lists → List}/TreeDropIndicator.d.ts +0 -0
  675. /package/dist/types/src/components/{Lists → List}/index.d.ts +0 -0
  676. /package/dist/types/src/components/{Menus → Menu}/index.d.ts +0 -0
  677. /package/dist/types/src/{components → primitives}/DensityProvider/index.d.ts +0 -0
  678. /package/dist/types/src/{components → primitives}/ElevationProvider/index.d.ts +0 -0
  679. /package/src/components/{Buttons → Button}/index.ts +0 -0
  680. /package/src/components/{Dialogs → Dialog}/index.ts +0 -0
  681. /package/src/components/{Lists → List}/index.ts +0 -0
  682. /package/src/components/{Menus → Menu}/index.ts +0 -0
  683. /package/src/{components → primitives}/DensityProvider/index.ts +0 -0
  684. /package/src/{components → primitives}/ElevationProvider/index.ts +0 -0
@@ -0,0 +1,485 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Primitive } from '@radix-ui/react-primitive';
6
+ import { Slot } from '@radix-ui/react-slot';
7
+ import DOMPurify from 'dompurify';
8
+ import React, { CSSProperties, JSX, MouseEventHandler, type ReactNode, forwardRef, useId, useMemo } from 'react';
9
+
10
+ import { iconSize } from '@dxos/ui-theme';
11
+ import { type Density } from '@dxos/ui-types';
12
+
13
+ import { useThemeContext } from '../../hooks';
14
+ import { composable, composableProps, slottable } from '../../util';
15
+ import { type ThemedClassName } from '../../util';
16
+ import { Button } from '../Button';
17
+ import { Column } from '../Column';
18
+ import { Icon, IconBlock, type IconBlockProps, type IconProps } from '../Icon';
19
+ import { Image, type ImageProps } from '../Image';
20
+ import {
21
+ Toolbar,
22
+ type ToolbarActionIconButtonProps,
23
+ ToolbarDragHandleProps,
24
+ type ToolbarMenuProps,
25
+ type ToolbarRootProps,
26
+ } from '../Toolbar';
27
+
28
+ //
29
+ // Root
30
+ //
31
+
32
+ const CARD_ROOT_NAME = 'Card.Root';
33
+
34
+ type CardRootProps = {
35
+ id?: string;
36
+ border?: boolean;
37
+ fullWidth?: boolean;
38
+ density?: Density;
39
+ style?: CSSProperties;
40
+ tabIndex?: number;
41
+ onClick?: MouseEventHandler<HTMLDivElement>;
42
+ 'data-selected'?: boolean;
43
+ 'data-testid'?: string;
44
+ };
45
+
46
+ /**
47
+ * `Card.Root` does not support `asChild`. The Column grid is the root element
48
+ * (one `<div>` carrying both the `dx-card` and `dx-column-root` classes
49
+ * instead of the previous outer-card + inner-column pair), so caller-provided
50
+ * HTML attributes — `onClick`, `tabIndex`, `style`, `data-*`, `grid-template-rows`
51
+ * overrides via `classNames` — land directly on the grid container.
52
+ * Slot-parents (`Focus.Item asChild`, `Mosaic.Tile asChild`, etc.) continue to
53
+ * work because `composable()` preserves the COMPOSABLE marker that slottable parents
54
+ * check before warning, and Radix `Slot` merges the parent's props onto the inner
55
+ * `<div>` exactly the way `slottable`'s `Slot`/`Primitive.div` branch did.
56
+ */
57
+ const CardRoot = composable<HTMLDivElement, CardRootProps>(
58
+ ({ children, id, role, border = true, fullWidth, density, ...props }, forwardedRef) => {
59
+ const { className, ...rest } = composableProps(props);
60
+ const { tx } = useThemeContext();
61
+
62
+ return (
63
+ <Column.Root
64
+ asChild
65
+ gutter={density === 'lg' ? 'lg' : density === 'sm' || density === 'xs' ? 'sm' : 'md'}
66
+ classNames={tx('card.root', { border, fullWidth }, className)}
67
+ role={role ?? 'group'}
68
+ >
69
+ <div {...rest} {...(id && { 'data-object-id': id })} ref={forwardedRef}>
70
+ {children}
71
+ </div>
72
+ </Column.Root>
73
+ );
74
+ },
75
+ );
76
+
77
+ CardRoot.displayName = CARD_ROOT_NAME;
78
+
79
+ //
80
+ // Header
81
+ //
82
+
83
+ const CARD_HEADER_NAME = 'Card.Header';
84
+
85
+ type CardHeaderProps = ToolbarRootProps;
86
+
87
+ /**
88
+ * Top "header" slot of a Card. Despite the name, this renders as an ARIA
89
+ * toolbar (`role="toolbar"`) so its action children get keyboard navigation
90
+ * for free — `<header>` is allowed to contain a toolbar.
91
+ */
92
+ const CardHeader = composable<HTMLDivElement, CardHeaderProps>(({ children, classNames, ...props }, forwardedRef) => {
93
+ const { tx } = useThemeContext();
94
+
95
+ return (
96
+ <Toolbar.Root {...props} style={iconSize(5)} classNames={[tx('card.header', {}), classNames]} ref={forwardedRef}>
97
+ {children}
98
+ </Toolbar.Root>
99
+ );
100
+ });
101
+
102
+ CardHeader.displayName = CARD_HEADER_NAME;
103
+
104
+ //
105
+ // DragHandle
106
+ //
107
+
108
+ const CARD_DRAG_HANDLE_NAME = 'Card.DragHandle';
109
+
110
+ type CardDragHandleProps = ToolbarDragHandleProps;
111
+
112
+ const CardDragHandle = forwardRef<HTMLButtonElement, CardDragHandleProps>((props, forwardedRef) => {
113
+ return (
114
+ <CardIconBlock>
115
+ <Toolbar.DragHandle {...props} ref={forwardedRef} />
116
+ </CardIconBlock>
117
+ );
118
+ });
119
+
120
+ CardDragHandle.displayName = CARD_DRAG_HANDLE_NAME;
121
+
122
+ //
123
+ // ActionIconButton
124
+ //
125
+
126
+ const CARD_ACTION_ICON_BUTTON_NAME = 'Card.ActionIconButton';
127
+
128
+ type CardActionIconButtonProps = ToolbarActionIconButtonProps;
129
+
130
+ const CardActionIconButton = forwardRef<HTMLButtonElement, CardActionIconButtonProps>((props, forwardedRef) => {
131
+ return (
132
+ <CardIconBlock>
133
+ <Toolbar.ActionIconButton {...props} ref={forwardedRef} />
134
+ </CardIconBlock>
135
+ );
136
+ });
137
+
138
+ CardActionIconButton.displayName = CARD_ACTION_ICON_BUTTON_NAME;
139
+
140
+ //
141
+ // Menu
142
+ //
143
+
144
+ const CARD_MENU_NAME = 'Card.Menu';
145
+
146
+ type CardMenuProps<T extends any | void = void> = ToolbarMenuProps<T>;
147
+
148
+ function CardMenu<T extends any | void = void>({ context, items, ...props }: CardMenuProps<T>) {
149
+ return (
150
+ <CardIconBlock>
151
+ <Toolbar.Menu {...props} context={context} items={items ?? []} />
152
+ </CardIconBlock>
153
+ );
154
+ }
155
+
156
+ CardMenu.displayName = CARD_MENU_NAME;
157
+
158
+ //
159
+ // Icon
160
+ //
161
+
162
+ const CARD_ICON_NAME = 'Card.Icon';
163
+
164
+ function CardIcon(props: IconProps) {
165
+ return (
166
+ <CardIconBlock>
167
+ <Icon {...props} />
168
+ </CardIconBlock>
169
+ );
170
+ }
171
+
172
+ CardIcon.displayName = CARD_ICON_NAME;
173
+
174
+ //
175
+ // IconBlock
176
+ //
177
+
178
+ const CARD_ICON_BLOCK_NAME = 'Card.IconBlock';
179
+
180
+ const CardIconBlock = forwardRef<HTMLDivElement, IconBlockProps>((props, forwardedRef) => {
181
+ return <IconBlock {...props} ref={forwardedRef} />;
182
+ });
183
+
184
+ CardIconBlock.displayName = CARD_ICON_BLOCK_NAME;
185
+
186
+ //
187
+ // Title
188
+ //
189
+
190
+ const CARD_TITLE_NAME = 'Card.Title';
191
+
192
+ const CardTitle = slottable<HTMLDivElement>(({ children, asChild, ...props }, forwardedRef) => {
193
+ const { tx } = useThemeContext();
194
+ const { className, ...rest } = composableProps(props, { role: 'heading' });
195
+ const Comp = asChild ? Slot : Primitive.div;
196
+
197
+ return (
198
+ <Comp {...rest} className={tx('card.title', {}, className)} ref={forwardedRef}>
199
+ {children}
200
+ </Comp>
201
+ );
202
+ });
203
+
204
+ CardTitle.displayName = CARD_TITLE_NAME;
205
+
206
+ //
207
+ // Body
208
+ //
209
+
210
+ const CARD_BODY_NAME = 'Card.Body';
211
+
212
+ const CardBody = slottable<HTMLDivElement>(({ children, asChild, ...props }, forwardedRef) => {
213
+ const { className, ...rest } = composableProps(props);
214
+ const Comp = asChild ? Slot : Primitive.div;
215
+ const { tx } = useThemeContext();
216
+
217
+ return (
218
+ <Comp {...rest} className={tx('card.body', {}, className)} ref={forwardedRef}>
219
+ {children}
220
+ </Comp>
221
+ );
222
+ });
223
+
224
+ CardBody.displayName = CARD_BODY_NAME;
225
+
226
+ //
227
+ // Section
228
+ //
229
+
230
+ const CARD_SECTION_NAME = 'Card.Section';
231
+
232
+ type CardSectionProps = { title?: ReactNode };
233
+
234
+ /**
235
+ * A labeled grouping of card content. `display: contents` keeps children aligned
236
+ * to the Card's column grid (like `Card.Body`); when `title` is provided,
237
+ * renders a subheading row at the top and exposes the group with
238
+ * `role='group' aria-labelledby=…` for screen readers.
239
+ */
240
+ const CardSection = slottable<HTMLDivElement, CardSectionProps>(
241
+ ({ children, asChild, title, role, ...props }, forwardedRef) => {
242
+ const { className, ...rest } = composableProps(props);
243
+ const Comp = asChild ? Slot : Primitive.div;
244
+ const { tx } = useThemeContext();
245
+ const titleId = useId();
246
+
247
+ return (
248
+ <Comp
249
+ {...rest}
250
+ role={role ?? (title ? 'group' : 'none')}
251
+ aria-labelledby={title ? titleId : undefined}
252
+ className={tx('card.section', {}, className)}
253
+ ref={forwardedRef}
254
+ >
255
+ {title && (
256
+ <div id={titleId} className={tx('card.section-title', {})}>
257
+ {title}
258
+ </div>
259
+ )}
260
+ {children}
261
+ </Comp>
262
+ );
263
+ },
264
+ );
265
+
266
+ CardSection.displayName = CARD_SECTION_NAME;
267
+
268
+ //
269
+ // Row
270
+ //
271
+
272
+ const CARD_ROW_NAME = 'Card.Row';
273
+
274
+ type CardRowProps = { icon?: string | JSX.Element; fullWidth?: boolean };
275
+
276
+ /**
277
+ * A row inside a Card.
278
+ * - Default: spans all 3 columns and establishes a subgrid so children align to the Card's columns.
279
+ * An optional `icon` lands in the first column; when omitted, the first column is left empty.
280
+ * - `fullWidth`: spans all columns without a subgrid — children do their own internal layout.
281
+ * The `icon` prop is ignored in this mode.
282
+ */
283
+ const CardRow = slottable<HTMLDivElement, CardRowProps>(
284
+ ({ children, asChild, icon: iconProp, fullWidth, ...props }, forwardedRef) => {
285
+ const { tx } = useThemeContext();
286
+ const { className, ...rest } = composableProps(props);
287
+ const Comp = asChild ? Slot : Primitive.div;
288
+ const icon =
289
+ typeof iconProp === 'string' ? (
290
+ <CardIcon classNames='text-subdued' icon={iconProp as string} size={4} />
291
+ ) : iconProp ? (
292
+ iconProp
293
+ ) : (
294
+ <div />
295
+ );
296
+
297
+ return (
298
+ <Comp {...rest} className={tx('card.row', { fullWidth }, className)} ref={forwardedRef}>
299
+ {!fullWidth && icon}
300
+ {children}
301
+ </Comp>
302
+ );
303
+ },
304
+ );
305
+
306
+ CardRow.displayName = CARD_ROW_NAME;
307
+
308
+ //
309
+ // Text
310
+ //
311
+
312
+ const CARD_TEXT_NAME = 'Card.Text';
313
+
314
+ // `onClick` is opted in explicitly: `ComposableProps` deliberately excludes event handlers, but the
315
+ // part spreads rest props onto its element, so the handler is forwarded at runtime.
316
+ type CardTextProps = {
317
+ truncate?: boolean;
318
+ variant?: 'default' | 'description';
319
+ onClick?: MouseEventHandler<HTMLDivElement>;
320
+ };
321
+
322
+ const CardText = slottable<HTMLDivElement, CardTextProps>(
323
+ ({ children, asChild, role, truncate, variant = 'default', ...props }, forwardedRef) => {
324
+ const { tx } = useThemeContext();
325
+ const { className, ...rest } = composableProps(props);
326
+ const Comp = asChild ? Slot : Primitive.div;
327
+
328
+ return (
329
+ <Comp {...rest} role={role ?? 'none'} className={tx('card.text', { variant }, className)} ref={forwardedRef}>
330
+ <span className={tx('card.text-span', { variant, truncate })}>{children}</span>
331
+ </Comp>
332
+ );
333
+ },
334
+ );
335
+
336
+ CardText.displayName = CARD_TEXT_NAME;
337
+
338
+ //
339
+ // Html
340
+ //
341
+
342
+ const CARD_HTML_NAME = 'Card.Html';
343
+
344
+ type CardHtmlProps = { html?: string; variant?: 'default' | 'description' };
345
+
346
+ /**
347
+ * Renders sanitized HTML content inside a card text slot.
348
+ * Uses DOMPurify to prevent XSS from untrusted markup (e.g. RSS feed content).
349
+ */
350
+ function CardHtml({ html = '', variant = 'default', ...props }: CardHtmlProps & ThemedClassName<object>) {
351
+ const { tx } = useThemeContext();
352
+ const sanitized = useMemo(() => DOMPurify.sanitize(html), [html]);
353
+
354
+ return (
355
+ <div
356
+ {...props}
357
+ className={tx('card.text', { variant })}
358
+ // eslint-disable-next-line react/no-danger
359
+ dangerouslySetInnerHTML={{ __html: sanitized }}
360
+ />
361
+ );
362
+ }
363
+
364
+ CardHtml.displayName = CARD_HTML_NAME;
365
+
366
+ //
367
+ // Poster
368
+ //
369
+
370
+ const CARD_POSTER_NAME = 'Card.Poster';
371
+
372
+ type CardPosterProps = ThemedClassName<
373
+ {
374
+ alt: string;
375
+ aspect?: 'video' | 'auto';
376
+ } & Partial<{ image: string; icon: string }> &
377
+ // The image-rendering props (`fit`, `crossOrigin`, color-extraction options) are forwarded to
378
+ // the underlying `Image`. `src`/`alt`/`classNames` are owned by the poster.
379
+ Omit<ImageProps, 'src' | 'alt' | 'classNames'>
380
+ >;
381
+
382
+ function CardPoster({ classNames, alt, aspect: aspectProp, image, icon, ...imageProps }: CardPosterProps) {
383
+ const { tx } = useThemeContext();
384
+ const aspect = aspectProp === 'auto' ? 'aspect-auto' : 'aspect-video';
385
+
386
+ if (image) {
387
+ return (
388
+ <div className='col-span-full'>
389
+ <Image classNames={[tx('card.poster', {}), aspect, classNames]} src={image} alt={alt} {...imageProps} />
390
+ </div>
391
+ );
392
+ }
393
+
394
+ if (icon) {
395
+ return (
396
+ <div role='image' className={tx('card.poster-icon', {}, [aspect, classNames])} aria-label={alt}>
397
+ <Icon icon={icon} size={10} />
398
+ </div>
399
+ );
400
+ }
401
+ }
402
+
403
+ CardPoster.displayName = CARD_POSTER_NAME;
404
+
405
+ //
406
+ // Action
407
+ //
408
+
409
+ const CARD_ACTION_NAME = 'Card.Action';
410
+
411
+ type CardActionProps = { icon?: string; label: string; actionIcon?: string; onClick?: () => void };
412
+
413
+ function CardAction({ icon, actionIcon = 'ph--arrow-right--regular', label, onClick }: CardActionProps) {
414
+ const { tx } = useThemeContext();
415
+ return (
416
+ <Button variant='ghost' classNames={tx('card.action', {})} onClick={onClick}>
417
+ {icon ? <CardIcon classNames='text-subdued' icon={icon} size={4} /> : <div />}
418
+ <span className={tx('card.action-label', {}, !actionIcon ? 'col-span-2' : undefined)}>{label}</span>
419
+ {actionIcon && <CardIcon icon={actionIcon} size={4} />}
420
+ </Button>
421
+ );
422
+ }
423
+
424
+ CardAction.displayName = CARD_ACTION_NAME;
425
+
426
+ //
427
+ // Link
428
+ //
429
+
430
+ const CARD_LINK_NAME = 'Card.Link';
431
+
432
+ type CardLinkProps = { label: string; href: string };
433
+
434
+ function CardLink({ label, href }: CardLinkProps) {
435
+ const { tx } = useThemeContext();
436
+ return (
437
+ <a className={tx('card.link', {})} data-variant='ghost' href={href} target='_blank' rel='noreferrer'>
438
+ <CardIcon classNames='text-subdued' icon='ph--link--regular' />
439
+ <span className={tx('card.link-label', {})}>{label}</span>
440
+ <CardIcon classNames='invisible group-hover:visible' icon='ph--arrow-square-out--regular' />
441
+ </a>
442
+ );
443
+ }
444
+
445
+ CardLink.displayName = CARD_LINK_NAME;
446
+
447
+ //
448
+ // Card
449
+ //
450
+
451
+ export const Card = {
452
+ Root: CardRoot,
453
+
454
+ // Header
455
+ Header: CardHeader,
456
+
457
+ // Header parts
458
+ IconBlock: CardIconBlock,
459
+ DragHandle: CardDragHandle,
460
+ ActionIconButton: CardActionIconButton,
461
+ Menu: CardMenu,
462
+ Icon: CardIcon,
463
+ Title: CardTitle,
464
+
465
+ // Body
466
+ Body: CardBody,
467
+ Section: CardSection,
468
+ Row: CardRow,
469
+
470
+ // Body parts
471
+ Text: CardText,
472
+ Html: CardHtml,
473
+ Poster: CardPoster,
474
+ Action: CardAction,
475
+ Link: CardLink,
476
+ };
477
+
478
+ export type {
479
+ CardRootProps,
480
+ CardHeaderProps,
481
+ CardDragHandleProps,
482
+ CardActionIconButtonProps,
483
+ CardMenuProps,
484
+ CardSectionProps,
485
+ };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ export * from './Card';
@@ -0,0 +1,47 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
+ import React from 'react';
7
+
8
+ import { withTheme } from '../../testing';
9
+ import { Carousel } from './Carousel';
10
+
11
+ // Stable placeholder images so the story renders without network fixtures.
12
+ const IMAGES = Array.from({ length: 5 }).map((_, index) => `https://placehold.co/640x360?text=Slide+${index + 1}`);
13
+
14
+ type DefaultStoryProps = { count?: number };
15
+
16
+ const DefaultStory = ({ count = IMAGES.length }: DefaultStoryProps) => {
17
+ const images = IMAGES.slice(0, count);
18
+ return (
19
+ <Carousel.Root count={images.length}>
20
+ <Carousel.Content classNames='max-w-[40rem]'>
21
+ <Carousel.Previous />
22
+ <Carousel.Viewport>
23
+ {images.map((src, index) => (
24
+ <Carousel.Slide key={src} index={index} src={src} alt={`Slide ${index + 1}`} />
25
+ ))}
26
+ </Carousel.Viewport>
27
+ <Carousel.Next />
28
+ <Carousel.Indicators />
29
+ <Carousel.Caption>{(index) => `Slide ${index + 1} of ${images.length}`}</Carousel.Caption>
30
+ </Carousel.Content>
31
+ </Carousel.Root>
32
+ );
33
+ };
34
+
35
+ const meta = {
36
+ title: 'ui/react-ui-core/components/Carousel',
37
+ render: DefaultStory,
38
+ decorators: [withTheme()],
39
+ } satisfies Meta<typeof DefaultStory>;
40
+
41
+ export default meta;
42
+
43
+ type Story = StoryObj<typeof meta>;
44
+
45
+ export const Default: Story = {
46
+ args: { count: 5 },
47
+ };