@dxos/react-ui 0.8.4-main.fffef41 → 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 (604) 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 +5259 -67
  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 +91 -70
  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 +5259 -67
  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 +91 -70
  22. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  23. package/dist/lib/node-esm/translations.mjs +10 -0
  24. package/dist/lib/node-esm/translations.mjs.map +7 -0
  25. package/dist/types/src/components/Avatars/Avatar.d.ts +1 -1
  26. package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
  27. package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
  28. package/dist/types/src/components/Avatars/Avatar.theme.d.ts +11 -0
  29. package/dist/types/src/components/Avatars/Avatar.theme.d.ts.map +1 -0
  30. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
  31. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts +5 -1
  32. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  33. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  34. package/dist/types/src/components/Breadcrumb/Breadcrumb.theme.d.ts +4 -0
  35. package/dist/types/src/components/Breadcrumb/Breadcrumb.theme.d.ts.map +1 -0
  36. package/dist/types/src/components/Button/Button.d.ts +4 -4
  37. package/dist/types/src/components/Button/Button.d.ts.map +1 -1
  38. package/dist/types/src/components/Button/Button.stories.d.ts +1 -1
  39. package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -1
  40. package/dist/types/src/components/Button/Button.theme.d.ts +11 -0
  41. package/dist/types/src/components/Button/Button.theme.d.ts.map +1 -0
  42. package/dist/types/src/components/Button/IconButton.d.ts +3 -1
  43. package/dist/types/src/components/Button/IconButton.d.ts.map +1 -1
  44. package/dist/types/src/components/Button/IconButton.stories.d.ts +4 -0
  45. package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -1
  46. package/dist/types/src/components/Button/IconButton.theme.d.ts +8 -0
  47. package/dist/types/src/components/Button/IconButton.theme.d.ts.map +1 -0
  48. package/dist/types/src/components/Button/Toggle.d.ts +2 -2
  49. package/dist/types/src/components/Button/Toggle.d.ts.map +1 -1
  50. package/dist/types/src/components/Button/Toggle.stories.d.ts.map +1 -1
  51. package/dist/types/src/components/Button/ToggleGroup.d.ts +10 -10
  52. package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -1
  53. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +6 -6
  54. package/dist/types/src/components/Button/ToggleGroup.stories.d.ts.map +1 -1
  55. package/dist/types/src/components/Calendar/Calendar.d.ts +33 -0
  56. package/dist/types/src/components/Calendar/Calendar.d.ts.map +1 -0
  57. package/dist/types/src/components/Calendar/Calendar.stories.d.ts +9 -0
  58. package/dist/types/src/components/Calendar/Calendar.stories.d.ts.map +1 -0
  59. package/dist/types/src/components/Calendar/Calendar.theme.d.ts +4 -0
  60. package/dist/types/src/components/Calendar/Calendar.theme.d.ts.map +1 -0
  61. package/dist/types/src/components/Calendar/index.d.ts +2 -0
  62. package/dist/types/src/components/Calendar/index.d.ts.map +1 -0
  63. package/dist/types/src/components/Card/Card.d.ts +126 -0
  64. package/dist/types/src/components/Card/Card.d.ts.map +1 -0
  65. package/dist/types/src/components/Card/Card.stories.d.ts +22 -0
  66. package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -0
  67. package/dist/types/src/components/Card/Card.theme.d.ts +12 -0
  68. package/dist/types/src/components/Card/Card.theme.d.ts.map +1 -0
  69. package/dist/types/src/components/Card/index.d.ts +2 -0
  70. package/dist/types/src/components/Card/index.d.ts.map +1 -0
  71. package/dist/types/src/components/Carousel/Carousel.d.ts +106 -0
  72. package/dist/types/src/components/Carousel/Carousel.d.ts.map +1 -0
  73. package/dist/types/src/components/Carousel/Carousel.stories.d.ts +14 -0
  74. package/dist/types/src/components/Carousel/Carousel.stories.d.ts.map +1 -0
  75. package/dist/types/src/components/Carousel/index.d.ts +2 -0
  76. package/dist/types/src/components/Carousel/index.d.ts.map +1 -0
  77. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +1 -1
  78. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
  79. package/dist/types/src/components/Clipboard/index.d.ts +10 -1
  80. package/dist/types/src/components/Clipboard/index.d.ts.map +1 -1
  81. package/dist/types/src/components/Column/Column.d.ts +33 -0
  82. package/dist/types/src/components/Column/Column.d.ts.map +1 -0
  83. package/dist/types/src/components/Column/Column.stories.d.ts +25 -0
  84. package/dist/types/src/components/Column/Column.stories.d.ts.map +1 -0
  85. package/dist/types/src/components/Column/Column.theme.d.ts +9 -0
  86. package/dist/types/src/components/Column/Column.theme.d.ts.map +1 -0
  87. package/dist/types/src/components/Column/index.d.ts +3 -0
  88. package/dist/types/src/components/Column/index.d.ts.map +1 -0
  89. package/dist/types/src/components/Column/withColumn.d.ts +21 -0
  90. package/dist/types/src/components/Column/withColumn.d.ts.map +1 -0
  91. package/dist/types/src/components/DatePicker/DatePicker.d.ts +72 -0
  92. package/dist/types/src/components/DatePicker/DatePicker.d.ts.map +1 -0
  93. package/dist/types/src/components/DatePicker/DatePicker.stories.d.ts +10 -0
  94. package/dist/types/src/components/DatePicker/DatePicker.stories.d.ts.map +1 -0
  95. package/dist/types/src/components/DatePicker/DatePicker.theme.d.ts +6 -0
  96. package/dist/types/src/components/DatePicker/DatePicker.theme.d.ts.map +1 -0
  97. package/dist/types/src/components/DatePicker/index.d.ts +2 -0
  98. package/dist/types/src/components/DatePicker/index.d.ts.map +1 -0
  99. package/dist/types/src/components/Dialog/AlertDialog.d.ts +43 -23
  100. package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -1
  101. package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -1
  102. package/dist/types/src/components/Dialog/Dialog.d.ts +58 -23
  103. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
  104. package/dist/types/src/components/Dialog/Dialog.stories.d.ts +10 -10
  105. package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -1
  106. package/dist/types/src/components/Dialog/Dialog.theme.d.ts +10 -0
  107. package/dist/types/src/components/Dialog/Dialog.theme.d.ts.map +1 -0
  108. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts +11 -0
  109. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -0
  110. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts +7 -0
  111. package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts.map +1 -0
  112. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts +19 -0
  113. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -0
  114. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts +9 -0
  115. package/dist/types/src/components/ErrorFallback/ThrowError.d.ts.map +1 -0
  116. package/dist/types/src/components/ErrorFallback/index.d.ts +5 -0
  117. package/dist/types/src/components/ErrorFallback/index.d.ts.map +1 -0
  118. package/dist/types/src/components/Focus/Focus.d.ts +36 -0
  119. package/dist/types/src/components/Focus/Focus.d.ts.map +1 -0
  120. package/dist/types/src/components/Focus/Focus.stories.d.ts +9 -0
  121. package/dist/types/src/components/Focus/Focus.stories.d.ts.map +1 -0
  122. package/dist/types/src/components/Focus/Focus.theme.d.ts +6 -0
  123. package/dist/types/src/components/Focus/Focus.theme.d.ts.map +1 -0
  124. package/dist/types/src/components/Focus/index.d.ts +2 -0
  125. package/dist/types/src/components/Focus/index.d.ts.map +1 -0
  126. package/dist/types/src/components/Icon/Icon.d.ts +5 -1
  127. package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
  128. package/dist/types/src/components/Icon/Icon.stories.d.ts +11 -3
  129. package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -1
  130. package/dist/types/src/components/Icon/Icon.theme.d.ts +11 -0
  131. package/dist/types/src/components/Icon/Icon.theme.d.ts.map +1 -0
  132. package/dist/types/src/components/Icon/IconBlock.d.ts +15 -0
  133. package/dist/types/src/components/Icon/IconBlock.d.ts.map +1 -0
  134. package/dist/types/src/components/Icon/index.d.ts +1 -0
  135. package/dist/types/src/components/Icon/index.d.ts.map +1 -1
  136. package/dist/types/src/components/Image/Image.d.ts +21 -0
  137. package/dist/types/src/components/Image/Image.d.ts.map +1 -0
  138. package/dist/types/src/components/Image/Image.stories.d.ts +34 -0
  139. package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -0
  140. package/dist/types/src/components/Image/index.d.ts +2 -0
  141. package/dist/types/src/components/Image/index.d.ts.map +1 -0
  142. package/dist/types/src/components/Input/Input.d.ts +95 -20
  143. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  144. package/dist/types/src/components/Input/Input.stories.d.ts +21 -10
  145. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  146. package/dist/types/src/components/Input/Input.theme.d.ts +115 -0
  147. package/dist/types/src/components/Input/Input.theme.d.ts.map +1 -0
  148. package/dist/types/src/components/Input/SegmentedInput.d.ts +79 -0
  149. package/dist/types/src/components/Input/SegmentedInput.d.ts.map +1 -0
  150. package/dist/types/src/components/Input/constants.d.ts +2 -0
  151. package/dist/types/src/components/Input/constants.d.ts.map +1 -0
  152. package/dist/types/src/components/Input/index.d.ts +2 -0
  153. package/dist/types/src/components/Input/index.d.ts.map +1 -1
  154. package/dist/types/src/components/Link/Link.d.ts.map +1 -1
  155. package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -1
  156. package/dist/types/src/components/Link/Link.theme.d.ts +6 -0
  157. package/dist/types/src/components/Link/Link.theme.d.ts.map +1 -0
  158. package/dist/types/src/components/List/List.d.ts +6 -4
  159. package/dist/types/src/components/List/List.d.ts.map +1 -1
  160. package/dist/types/src/components/List/List.stories.d.ts +3 -1
  161. package/dist/types/src/components/List/List.stories.d.ts.map +1 -1
  162. package/dist/types/src/components/List/List.theme.d.ts +7 -0
  163. package/dist/types/src/components/List/List.theme.d.ts.map +1 -0
  164. package/dist/types/src/components/List/ListDropIndicator.d.ts.map +1 -1
  165. package/dist/types/src/components/List/Tree.d.ts +2 -2
  166. package/dist/types/src/components/List/Tree.d.ts.map +1 -1
  167. package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -1
  168. package/dist/types/src/components/List/TreeDropIndicator.d.ts.map +1 -1
  169. package/dist/types/src/components/List/Treegrid.d.ts +6 -10
  170. package/dist/types/src/components/List/Treegrid.d.ts.map +1 -1
  171. package/dist/types/src/components/List/Treegrid.stories.d.ts.map +1 -1
  172. package/dist/types/src/components/List/Treegrid.theme.d.ts +7 -0
  173. package/dist/types/src/components/List/Treegrid.theme.d.ts.map +1 -0
  174. package/dist/types/src/components/Main/Main.d.ts +17 -14
  175. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  176. package/dist/types/src/components/Main/Main.stories.d.ts +0 -3
  177. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  178. package/dist/types/src/components/Main/Main.theme.d.ts +20 -0
  179. package/dist/types/src/components/Main/Main.theme.d.ts.map +1 -0
  180. package/dist/types/src/components/Main/constants.d.ts +3 -0
  181. package/dist/types/src/components/Main/constants.d.ts.map +1 -0
  182. package/dist/types/src/components/Main/index.d.ts +1 -0
  183. package/dist/types/src/components/Main/index.d.ts.map +1 -1
  184. package/dist/types/src/components/Main/useSwipeToDismiss.d.ts.map +1 -1
  185. package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts +47 -0
  186. package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts.map +1 -0
  187. package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts +16 -0
  188. package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts.map +1 -0
  189. package/dist/types/src/components/MediaPlayer/index.d.ts +2 -0
  190. package/dist/types/src/components/MediaPlayer/index.d.ts.map +1 -0
  191. package/dist/types/src/components/{Menus → Menu}/ContextMenu.d.ts +6 -6
  192. package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -0
  193. package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -0
  194. package/dist/types/src/components/Menu/DropdownMenu.d.ts +121 -0
  195. package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
  196. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +28 -0
  197. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -0
  198. package/dist/types/src/components/Menu/Menu.theme.d.ts +7 -0
  199. package/dist/types/src/components/Menu/Menu.theme.d.ts.map +1 -0
  200. package/dist/types/src/components/Menu/index.d.ts.map +1 -0
  201. package/dist/types/src/components/Message/Message.d.ts +4 -4
  202. package/dist/types/src/components/Message/Message.d.ts.map +1 -1
  203. package/dist/types/src/components/Message/Message.stories.d.ts +9 -6
  204. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  205. package/dist/types/src/components/Message/Message.theme.d.ts +7 -0
  206. package/dist/types/src/components/Message/Message.theme.d.ts.map +1 -0
  207. package/dist/types/src/components/Panel/Panel.d.ts +35 -0
  208. package/dist/types/src/components/Panel/Panel.d.ts.map +1 -0
  209. package/dist/types/src/components/Panel/Panel.stories.d.ts +6 -0
  210. package/dist/types/src/components/Panel/Panel.stories.d.ts.map +1 -0
  211. package/dist/types/src/components/Panel/Panel.theme.d.ts +13 -0
  212. package/dist/types/src/components/Panel/Panel.theme.d.ts.map +1 -0
  213. package/dist/types/src/components/Panel/index.d.ts +2 -0
  214. package/dist/types/src/components/Panel/index.d.ts.map +1 -0
  215. package/dist/types/src/components/Popover/Popover.d.ts +40 -23
  216. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  217. package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
  218. package/dist/types/src/components/Popover/Popover.theme.d.ts +8 -0
  219. package/dist/types/src/components/Popover/Popover.theme.d.ts.map +1 -0
  220. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +27 -27
  221. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  222. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +57 -8
  223. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  224. package/dist/types/src/components/ScrollArea/ScrollArea.theme.d.ts +17 -0
  225. package/dist/types/src/components/ScrollArea/ScrollArea.theme.d.ts.map +1 -0
  226. package/dist/types/src/components/ScrollArea/index.d.ts +1 -0
  227. package/dist/types/src/components/ScrollArea/index.d.ts.map +1 -1
  228. package/dist/types/src/components/ScrollArea/scrollbar.d.ts +18 -0
  229. package/dist/types/src/components/ScrollArea/scrollbar.d.ts.map +1 -0
  230. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +44 -19
  231. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
  232. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +10 -5
  233. package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -1
  234. package/dist/types/src/components/Select/Select.d.ts +9 -9
  235. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  236. package/dist/types/src/components/Select/Select.stories.d.ts +2 -2
  237. package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
  238. package/dist/types/src/components/Select/Select.theme.d.ts +6 -0
  239. package/dist/types/src/components/Select/Select.theme.d.ts.map +1 -0
  240. package/dist/types/src/components/Separator/Separator.d.ts +4 -4
  241. package/dist/types/src/components/Separator/Separator.d.ts.map +1 -1
  242. package/dist/types/src/components/Separator/Separator.theme.d.ts +7 -0
  243. package/dist/types/src/components/Separator/Separator.theme.d.ts.map +1 -0
  244. package/dist/types/src/components/Skeleton/Skeleton.d.ts +12 -0
  245. package/dist/types/src/components/Skeleton/Skeleton.d.ts.map +1 -0
  246. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts +17 -0
  247. package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -0
  248. package/dist/types/src/components/Skeleton/Skeleton.theme.d.ts +6 -0
  249. package/dist/types/src/components/Skeleton/Skeleton.theme.d.ts.map +1 -0
  250. package/dist/types/src/components/Skeleton/index.d.ts +2 -0
  251. package/dist/types/src/components/Skeleton/index.d.ts.map +1 -0
  252. package/dist/types/src/components/Splitter/Splitter.d.ts +32 -0
  253. package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -0
  254. package/dist/types/src/components/Splitter/Splitter.stories.d.ts +7 -0
  255. package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -0
  256. package/dist/types/src/components/Splitter/Splitter.theme.d.ts +4 -0
  257. package/dist/types/src/components/Splitter/Splitter.theme.d.ts.map +1 -0
  258. package/dist/types/src/components/Splitter/index.d.ts +2 -0
  259. package/dist/types/src/components/Splitter/index.d.ts.map +1 -0
  260. package/dist/types/src/components/Status/Status.d.ts +3 -4
  261. package/dist/types/src/components/Status/Status.d.ts.map +1 -1
  262. package/dist/types/src/components/Status/Status.stories.d.ts +4 -2
  263. package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
  264. package/dist/types/src/components/Status/Status.theme.d.ts +7 -0
  265. package/dist/types/src/components/Status/Status.theme.d.ts.map +1 -0
  266. package/dist/types/src/components/Tag/Tag.d.ts +1 -1
  267. package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
  268. package/dist/types/src/components/Tag/Tag.stories.d.ts +0 -5
  269. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
  270. package/dist/types/src/components/Tag/Tag.theme.d.ts +6 -0
  271. package/dist/types/src/components/Tag/Tag.theme.d.ts.map +1 -0
  272. package/dist/types/src/components/Toast/Toast.d.ts +27 -24
  273. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  274. package/dist/types/src/components/Toast/Toast.stories.d.ts +5 -2
  275. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
  276. package/dist/types/src/components/Toast/Toast.theme.d.ts +4 -0
  277. package/dist/types/src/components/Toast/Toast.theme.d.ts.map +1 -0
  278. package/dist/types/src/components/Toolbar/Toolbar.d.ts +52 -22
  279. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  280. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  281. package/dist/types/src/components/Toolbar/Toolbar.theme.d.ts +8 -0
  282. package/dist/types/src/components/Toolbar/Toolbar.theme.d.ts.map +1 -0
  283. package/dist/types/src/components/Tooltip/Tooltip.d.ts +16 -16
  284. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  285. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +2 -2
  286. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  287. package/dist/types/src/components/Tooltip/Tooltip.theme.d.ts +6 -0
  288. package/dist/types/src/components/Tooltip/Tooltip.theme.d.ts.map +1 -0
  289. package/dist/types/src/components/Tooltip/index.d.ts +1 -0
  290. package/dist/types/src/components/Tooltip/index.d.ts.map +1 -1
  291. package/dist/types/src/components/Tooltip/tooltipContent.d.ts +4 -0
  292. package/dist/types/src/components/Tooltip/tooltipContent.d.ts.map +1 -0
  293. package/dist/types/src/components/index.d.ts +14 -6
  294. package/dist/types/src/components/index.d.ts.map +1 -1
  295. package/dist/types/src/exemplars/generics.stories.d.ts +19 -0
  296. package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
  297. package/dist/types/src/exemplars/slot.stories.d.ts +15 -0
  298. package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -0
  299. package/dist/types/src/exemplars/tabster.stories.d.ts +8 -0
  300. package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -0
  301. package/dist/types/src/exemplars/virtualizer.stories.d.ts +11 -0
  302. package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -0
  303. package/dist/types/src/hooks/index.d.ts +1 -0
  304. package/dist/types/src/hooks/index.d.ts.map +1 -1
  305. package/dist/types/src/hooks/useDensityContext.d.ts +2 -2
  306. package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
  307. package/dist/types/src/hooks/useElevationContext.d.ts +1 -1
  308. package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
  309. package/dist/types/src/hooks/useIconHref.d.ts.map +1 -1
  310. package/dist/types/src/hooks/useSafeArea.d.ts.map +1 -1
  311. package/dist/types/src/hooks/useSafeCollisionPadding.d.ts.map +1 -1
  312. package/dist/types/src/hooks/useTranslationsContext.d.ts +1 -1
  313. package/dist/types/src/hooks/useVisualViewport.d.ts.map +1 -1
  314. package/dist/types/src/index.d.ts +3 -1
  315. package/dist/types/src/index.d.ts.map +1 -1
  316. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  317. package/dist/types/src/playground/Custom.stories.d.ts +1 -1
  318. package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
  319. package/dist/types/src/playground/Typography.stories.d.ts.map +1 -1
  320. package/dist/types/src/primitives/Container/Container.d.ts +7 -0
  321. package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
  322. package/dist/types/src/primitives/Container/Container.stories.d.ts +6 -0
  323. package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
  324. package/dist/types/src/primitives/Container/index.d.ts +2 -0
  325. package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
  326. package/dist/types/src/{components → primitives}/DensityProvider/DensityProvider.d.ts +1 -1
  327. package/dist/types/src/{components → primitives}/DensityProvider/DensityProvider.d.ts.map +1 -1
  328. package/dist/types/src/primitives/DensityProvider/index.d.ts.map +1 -0
  329. package/dist/types/src/{components → primitives}/ElevationProvider/ElevationProvider.d.ts +1 -1
  330. package/dist/types/src/{components → primitives}/ElevationProvider/ElevationProvider.d.ts.map +1 -1
  331. package/dist/types/src/primitives/ElevationProvider/index.d.ts.map +1 -0
  332. package/dist/types/src/primitives/Flex/Flex.d.ts +11 -0
  333. package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
  334. package/dist/types/src/primitives/Flex/Flex.stories.d.ts +8 -0
  335. package/dist/types/src/primitives/Flex/Flex.stories.d.ts.map +1 -0
  336. package/dist/types/src/primitives/Flex/index.d.ts +2 -0
  337. package/dist/types/src/primitives/Flex/index.d.ts.map +1 -0
  338. package/dist/types/src/primitives/Grid/Grid.d.ts +10 -0
  339. package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -0
  340. package/dist/types/src/primitives/Grid/Grid.stories.d.ts +8 -0
  341. package/dist/types/src/primitives/Grid/Grid.stories.d.ts.map +1 -0
  342. package/dist/types/src/primitives/Grid/index.d.ts +2 -0
  343. package/dist/types/src/primitives/Grid/index.d.ts.map +1 -0
  344. package/dist/types/src/{components → primitives}/ThemeProvider/ThemeProvider.d.ts +3 -3
  345. package/dist/types/src/primitives/ThemeProvider/ThemeProvider.d.ts.map +1 -0
  346. package/dist/types/src/{components/Menus/DropdownMenu.stories.d.ts → primitives/ThemeProvider/ThemeProvider.stories.d.ts} +2 -5
  347. package/dist/types/src/primitives/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -0
  348. package/dist/types/src/primitives/ThemeProvider/TranslationsProvider.d.ts +128 -0
  349. package/dist/types/src/primitives/ThemeProvider/TranslationsProvider.d.ts.map +1 -0
  350. package/dist/types/src/primitives/ThemeProvider/index.d.ts +4 -0
  351. package/dist/types/src/primitives/ThemeProvider/index.d.ts.map +1 -0
  352. package/dist/types/src/primitives/index.d.ts +7 -0
  353. package/dist/types/src/primitives/index.d.ts.map +1 -0
  354. package/dist/types/src/testing/Loading.d.ts +9 -0
  355. package/dist/types/src/testing/Loading.d.ts.map +1 -0
  356. package/dist/types/src/testing/decorators/withLayout.d.ts +3 -3
  357. package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -1
  358. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts +1 -1
  359. package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -1
  360. package/dist/types/src/testing/decorators/withTheme.d.ts +7 -2
  361. package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
  362. package/dist/types/src/testing/index.d.ts +1 -0
  363. package/dist/types/src/testing/index.d.ts.map +1 -1
  364. package/dist/types/src/theme/bindTheme.d.ts +3 -0
  365. package/dist/types/src/theme/bindTheme.d.ts.map +1 -0
  366. package/dist/types/src/theme/defaultTheme.d.ts +4 -0
  367. package/dist/types/src/theme/defaultTheme.d.ts.map +1 -0
  368. package/dist/types/src/theme/index.d.ts +31 -0
  369. package/dist/types/src/theme/index.d.ts.map +1 -0
  370. package/dist/types/src/translations.d.ts +25 -0
  371. package/dist/types/src/translations.d.ts.map +1 -0
  372. package/dist/types/src/util/index.d.ts +3 -3
  373. package/dist/types/src/util/index.d.ts.map +1 -1
  374. package/dist/types/src/util/mobile.d.ts +5 -0
  375. package/dist/types/src/util/mobile.d.ts.map +1 -0
  376. package/dist/types/src/util/slots.d.ts +57 -0
  377. package/dist/types/src/util/slots.d.ts.map +1 -0
  378. package/dist/types/src/util/usePx.d.ts.map +1 -1
  379. package/dist/types/tsconfig.tsbuildinfo +1 -1
  380. package/package.json +54 -40
  381. package/src/components/Avatars/Avatar.stories.tsx +7 -9
  382. package/src/components/Avatars/Avatar.theme.ts +93 -0
  383. package/src/components/Avatars/Avatar.tsx +7 -15
  384. package/src/components/Avatars/AvatarGroup.stories.tsx +2 -3
  385. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +3 -4
  386. package/src/components/Breadcrumb/Breadcrumb.theme.ts +26 -0
  387. package/src/components/Breadcrumb/Breadcrumb.tsx +25 -39
  388. package/src/components/Button/Button.stories.tsx +3 -4
  389. package/src/components/Button/Button.theme.ts +31 -0
  390. package/src/components/Button/Button.tsx +13 -27
  391. package/src/components/Button/IconButton.stories.tsx +58 -8
  392. package/src/components/Button/IconButton.theme.ts +21 -0
  393. package/src/components/Button/IconButton.tsx +10 -6
  394. package/src/components/Button/Toggle.stories.tsx +2 -3
  395. package/src/components/Button/Toggle.tsx +4 -4
  396. package/src/components/Button/ToggleGroup.stories.tsx +2 -3
  397. package/src/components/Button/ToggleGroup.tsx +12 -16
  398. package/src/components/Calendar/Calendar.stories.tsx +43 -0
  399. package/src/components/Calendar/Calendar.theme.ts +74 -0
  400. package/src/components/Calendar/Calendar.tsx +196 -0
  401. package/src/components/Calendar/index.ts +5 -0
  402. package/src/components/Card/Card.stories.tsx +172 -0
  403. package/src/components/Card/Card.theme.ts +93 -0
  404. package/src/components/Card/Card.tsx +485 -0
  405. package/src/components/Card/index.ts +5 -0
  406. package/src/components/Carousel/Carousel.stories.tsx +47 -0
  407. package/src/components/Carousel/Carousel.tsx +373 -0
  408. package/src/components/Carousel/index.ts +5 -0
  409. package/src/components/Clipboard/CopyButton.tsx +10 -11
  410. package/src/components/Column/AUDIT.md +148 -0
  411. package/src/components/Column/Column.stories.tsx +181 -0
  412. package/src/components/Column/Column.theme.ts +48 -0
  413. package/src/components/Column/Column.tsx +166 -0
  414. package/src/components/Column/index.ts +6 -0
  415. package/src/components/Column/withColumn.ts +27 -0
  416. package/src/components/DatePicker/DatePicker.stories.tsx +102 -0
  417. package/src/components/DatePicker/DatePicker.theme.ts +35 -0
  418. package/src/components/DatePicker/DatePicker.tsx +279 -0
  419. package/src/components/DatePicker/index.ts +5 -0
  420. package/src/components/Dialog/AlertDialog.stories.tsx +16 -17
  421. package/src/components/Dialog/AlertDialog.tsx +122 -85
  422. package/src/components/Dialog/Dialog.stories.tsx +138 -28
  423. package/src/components/Dialog/Dialog.theme.ts +61 -0
  424. package/src/components/Dialog/Dialog.tsx +227 -72
  425. package/src/components/ErrorFallback/ErrorFallback.stories.tsx +45 -0
  426. package/src/components/ErrorFallback/ErrorFallback.tsx +76 -0
  427. package/src/components/ErrorFallback/ErrorStack.tsx +120 -0
  428. package/src/components/ErrorFallback/ThrowError.tsx +37 -0
  429. package/src/components/ErrorFallback/index.ts +9 -0
  430. package/src/components/Focus/AUDIT.md +43 -0
  431. package/src/components/Focus/Focus.stories.tsx +230 -0
  432. package/src/components/Focus/Focus.theme.ts +32 -0
  433. package/src/components/Focus/Focus.tsx +201 -0
  434. package/src/components/Focus/index.ts +5 -0
  435. package/src/components/Icon/Icon.stories.tsx +45 -15
  436. package/src/components/Icon/Icon.theme.ts +45 -0
  437. package/src/components/Icon/Icon.tsx +15 -4
  438. package/src/components/Icon/IconBlock.tsx +38 -0
  439. package/src/components/Icon/index.ts +1 -0
  440. package/src/components/Image/Image.stories.tsx +86 -0
  441. package/src/components/Image/Image.tsx +252 -0
  442. package/src/components/Image/index.ts +5 -0
  443. package/src/components/Input/Input.stories.tsx +148 -65
  444. package/src/components/Input/Input.theme.ts +191 -0
  445. package/src/components/Input/Input.tsx +245 -75
  446. package/src/components/Input/SegmentedInput.tsx +454 -0
  447. package/src/components/Input/constants.ts +5 -0
  448. package/src/components/Input/index.ts +2 -0
  449. package/src/components/Link/Link.stories.tsx +2 -3
  450. package/src/components/Link/Link.theme.ts +16 -0
  451. package/src/components/Link/Link.tsx +11 -3
  452. package/src/components/List/List.stories.tsx +31 -35
  453. package/src/components/List/List.theme.ts +47 -0
  454. package/src/components/List/List.tsx +18 -22
  455. package/src/components/List/ListDropIndicator.tsx +7 -8
  456. package/src/components/List/Tree.stories.tsx +6 -7
  457. package/src/components/List/Tree.tsx +0 -1
  458. package/src/components/List/TreeDropIndicator.tsx +6 -6
  459. package/src/components/List/Treegrid.stories.tsx +29 -30
  460. package/src/components/List/Treegrid.theme.ts +35 -0
  461. package/src/components/List/Treegrid.tsx +24 -30
  462. package/src/components/Main/Main.stories.tsx +41 -24
  463. package/src/components/Main/Main.theme.ts +29 -0
  464. package/src/components/Main/Main.tsx +146 -88
  465. package/src/components/Main/constants.ts +6 -0
  466. package/src/components/Main/index.ts +1 -0
  467. package/src/components/MediaPlayer/MediaPlayer.stories.tsx +50 -0
  468. package/src/components/MediaPlayer/MediaPlayer.tsx +182 -0
  469. package/src/components/MediaPlayer/index.ts +5 -0
  470. package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +2 -6
  471. package/src/components/{Menus → Menu}/ContextMenu.tsx +9 -33
  472. package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +2 -6
  473. package/src/components/{Menus → Menu}/DropdownMenu.tsx +130 -122
  474. package/src/components/Menu/Menu.theme.ts +48 -0
  475. package/src/components/Message/Message.stories.tsx +66 -14
  476. package/src/components/Message/Message.theme.ts +44 -0
  477. package/src/components/Message/Message.tsx +107 -38
  478. package/src/components/Panel/Panel.stories.tsx +67 -0
  479. package/src/components/Panel/Panel.theme.ts +41 -0
  480. package/src/components/Panel/Panel.tsx +121 -0
  481. package/src/components/Panel/index.ts +5 -0
  482. package/src/components/Popover/Popover.stories.tsx +7 -8
  483. package/src/components/Popover/Popover.theme.ts +40 -0
  484. package/src/components/Popover/Popover.tsx +104 -99
  485. package/src/components/ScrollArea/ScrollArea.stories.tsx +221 -36
  486. package/src/components/ScrollArea/ScrollArea.theme.ts +107 -0
  487. package/src/components/ScrollArea/ScrollArea.tsx +98 -79
  488. package/src/components/ScrollArea/index.ts +2 -1
  489. package/src/components/ScrollArea/scrollbar.ts +21 -0
  490. package/src/components/ScrollContainer/ScrollContainer.stories.tsx +47 -25
  491. package/src/components/ScrollContainer/ScrollContainer.tsx +239 -123
  492. package/src/components/Select/Select.stories.tsx +7 -8
  493. package/src/components/Select/Select.theme.ts +55 -0
  494. package/src/components/Select/Select.tsx +35 -35
  495. package/src/components/Separator/Separator.theme.ts +23 -0
  496. package/src/components/Separator/Separator.tsx +5 -8
  497. package/src/components/Skeleton/Skeleton.stories.tsx +51 -0
  498. package/src/components/Skeleton/Skeleton.theme.ts +22 -0
  499. package/src/components/Skeleton/Skeleton.tsx +26 -0
  500. package/src/components/Skeleton/index.ts +5 -0
  501. package/src/components/Splitter/Splitter.stories.tsx +83 -0
  502. package/src/components/Splitter/Splitter.theme.ts +18 -0
  503. package/src/components/Splitter/Splitter.tsx +122 -0
  504. package/src/components/Splitter/index.ts +5 -0
  505. package/src/components/Status/Status.stories.tsx +21 -18
  506. package/src/components/Status/Status.theme.ts +31 -0
  507. package/src/components/Status/Status.tsx +9 -7
  508. package/src/components/Tag/Tag.stories.tsx +6 -12
  509. package/src/components/Tag/Tag.theme.ts +22 -0
  510. package/src/components/Tag/Tag.tsx +3 -8
  511. package/src/components/Toast/Toast.stories.tsx +43 -23
  512. package/src/components/Toast/Toast.theme.ts +56 -0
  513. package/src/components/Toast/Toast.tsx +103 -54
  514. package/src/components/Toolbar/Toolbar.stories.tsx +2 -3
  515. package/src/components/Toolbar/Toolbar.theme.ts +36 -0
  516. package/src/components/Toolbar/Toolbar.tsx +237 -23
  517. package/src/components/Tooltip/Tooltip.stories.tsx +20 -28
  518. package/src/components/Tooltip/Tooltip.theme.ts +19 -0
  519. package/src/components/Tooltip/Tooltip.tsx +58 -55
  520. package/src/components/Tooltip/index.ts +1 -0
  521. package/src/components/Tooltip/tooltipContent.ts +16 -0
  522. package/src/components/index.ts +14 -7
  523. package/src/exemplars/generics.stories.tsx +40 -0
  524. package/src/exemplars/slot.stories.tsx +116 -0
  525. package/src/exemplars/tabster.stories.tsx +127 -0
  526. package/src/exemplars/virtualizer.stories.tsx +136 -0
  527. package/src/hooks/index.ts +1 -0
  528. package/src/hooks/useDensityContext.ts +4 -4
  529. package/src/hooks/useElevationContext.ts +2 -2
  530. package/src/hooks/useThemeContext.ts +1 -1
  531. package/src/hooks/useTranslationsContext.ts +1 -1
  532. package/src/index.ts +3 -1
  533. package/src/playground/Controls.stories.tsx +3 -10
  534. package/src/playground/Custom.stories.tsx +18 -41
  535. package/src/playground/Typography.stories.tsx +3 -3
  536. package/src/primitives/Container/Container.stories.tsx +29 -0
  537. package/src/primitives/Container/Container.tsx +21 -0
  538. package/src/primitives/Container/index.ts +5 -0
  539. package/src/{components → primitives}/DensityProvider/DensityProvider.tsx +2 -2
  540. package/src/{components → primitives}/ElevationProvider/ElevationProvider.tsx +1 -1
  541. package/src/primitives/Flex/Flex.stories.tsx +57 -0
  542. package/src/primitives/Flex/Flex.tsx +29 -0
  543. package/src/primitives/Flex/index.ts +5 -0
  544. package/src/primitives/Grid/Grid.stories.tsx +56 -0
  545. package/src/primitives/Grid/Grid.tsx +32 -0
  546. package/src/primitives/Grid/index.ts +5 -0
  547. package/src/primitives/ThemeProvider/ThemeProvider.stories.tsx +31 -0
  548. package/src/{components → primitives}/ThemeProvider/ThemeProvider.tsx +11 -11
  549. package/src/{components → primitives}/ThemeProvider/TranslationsProvider.tsx +1 -16
  550. package/src/primitives/ThemeProvider/index.ts +8 -0
  551. package/src/primitives/index.ts +11 -0
  552. package/src/testing/Loading.tsx +47 -0
  553. package/src/testing/decorators/withLayout.tsx +32 -21
  554. package/src/testing/decorators/withLayoutVariants.tsx +21 -24
  555. package/src/testing/decorators/withTheme.tsx +34 -20
  556. package/src/testing/index.ts +2 -0
  557. package/src/theme/bindTheme.ts +13 -0
  558. package/src/theme/defaultTheme.ts +83 -0
  559. package/src/theme/index.ts +37 -0
  560. package/src/translations.ts +33 -0
  561. package/src/util/index.ts +4 -3
  562. package/src/util/mobile.ts +11 -0
  563. package/src/util/slots.ts +129 -0
  564. package/src/util/usePx.ts +5 -1
  565. package/dist/lib/browser/chunk-N5GDJTT2.mjs +0 -4707
  566. package/dist/lib/browser/chunk-N5GDJTT2.mjs.map +0 -7
  567. package/dist/lib/node-esm/chunk-SP7VQH72.mjs +0 -4709
  568. package/dist/lib/node-esm/chunk-SP7VQH72.mjs.map +0 -7
  569. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +0 -15
  570. package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +0 -1
  571. package/dist/types/src/components/AnchoredOverflow/index.d.ts +0 -2
  572. package/dist/types/src/components/AnchoredOverflow/index.d.ts.map +0 -1
  573. package/dist/types/src/components/DensityProvider/index.d.ts.map +0 -1
  574. package/dist/types/src/components/ElevationProvider/index.d.ts.map +0 -1
  575. package/dist/types/src/components/Menus/ContextMenu.d.ts.map +0 -1
  576. package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +0 -1
  577. package/dist/types/src/components/Menus/DropdownMenu.d.ts +0 -112
  578. package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +0 -1
  579. package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts.map +0 -1
  580. package/dist/types/src/components/Menus/index.d.ts.map +0 -1
  581. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +0 -1
  582. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +0 -136
  583. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +0 -1
  584. package/dist/types/src/components/ThemeProvider/index.d.ts +0 -3
  585. package/dist/types/src/components/ThemeProvider/index.d.ts.map +0 -1
  586. package/dist/types/src/util/ThemedClassName.d.ts +0 -5
  587. package/dist/types/src/util/ThemedClassName.d.ts.map +0 -1
  588. package/dist/types/src/util/domino.d.ts +0 -18
  589. package/dist/types/src/util/domino.d.ts.map +0 -1
  590. package/dist/types/src/util/hasIosKeyboard.d.ts +0 -2
  591. package/dist/types/src/util/hasIosKeyboard.d.ts.map +0 -1
  592. package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +0 -59
  593. package/src/components/AnchoredOverflow/index.ts +0 -5
  594. package/src/components/ThemeProvider/index.ts +0 -8
  595. package/src/util/ThemedClassName.ts +0 -7
  596. package/src/util/domino.ts +0 -53
  597. package/src/util/hasIosKeyboard.ts +0 -8
  598. /package/dist/types/src/components/{Menus → Menu}/ContextMenu.stories.d.ts +0 -0
  599. /package/dist/types/src/components/{Menus → Menu}/index.d.ts +0 -0
  600. /package/dist/types/src/{components → primitives}/DensityProvider/index.d.ts +0 -0
  601. /package/dist/types/src/{components → primitives}/ElevationProvider/index.d.ts +0 -0
  602. /package/src/components/{Menus → Menu}/index.ts +0 -0
  603. /package/src/{components → primitives}/DensityProvider/index.ts +0 -0
  604. /package/src/{components → primitives}/ElevationProvider/index.ts +0 -0
@@ -5,31 +5,46 @@
5
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
  import React from 'react';
7
7
 
8
- import { type MessageValence } from '@dxos/react-ui-types';
8
+ import { random } from '@dxos/random';
9
+ import { type MessageValence } from '@dxos/ui-types';
9
10
 
10
11
  import { withTheme } from '../../testing';
12
+ import { Button } from '../Button';
13
+ import { Message } from './Message';
11
14
 
12
- import { Callout } from './Message';
15
+ random.seed(123);
13
16
 
14
- type StoryProps = {
17
+ type DefaultStoryProps = {
15
18
  valence: MessageValence;
16
19
  title: string;
17
20
  body: string;
21
+ button?: boolean;
18
22
  };
19
23
 
20
- const DefaultStory = ({ valence, title, body }: StoryProps) => (
21
- <Callout.Root valence={valence}>
22
- {title && <Callout.Title>{title}</Callout.Title>}
23
- {body && <Callout.Content>{body}</Callout.Content>}
24
- </Callout.Root>
24
+ const DefaultStory = ({ valence, title, body, button }: DefaultStoryProps) => (
25
+ <div className='w-[30rem]'>
26
+ <Message.Root valence={valence}>
27
+ {title && <Message.Title onClose={() => console.log('close')}>{title}</Message.Title>}
28
+ {body && (
29
+ <Message.Content asChild classNames='gap-2'>
30
+ <div>
31
+ <p>{body}</p>
32
+ {button && <Button>Test</Button>}
33
+ </div>
34
+ </Message.Content>
35
+ )}
36
+ </Message.Root>
37
+ </div>
25
38
  );
26
39
 
27
40
  const meta = {
28
- title: 'ui/react-ui-core/Callout',
29
- component: Callout.Root as any,
41
+ title: 'ui/react-ui-core/components/Message',
42
+ component: Message.Root as any,
30
43
  render: DefaultStory,
31
- decorators: [withTheme],
32
- parameters: { chromatic: { disableSnapshot: false } },
44
+ decorators: [withTheme()],
45
+ parameters: {
46
+ layout: 'centered',
47
+ },
33
48
  argTypes: {
34
49
  valence: {
35
50
  control: 'select',
@@ -45,7 +60,44 @@ type Story = StoryObj<typeof meta>;
45
60
  export const Default: Story = {
46
61
  args: {
47
62
  valence: 'neutral',
48
- title: 'Alert title',
49
- body: 'Alert content',
63
+ title: 'Default',
64
+ body: random.lorem.paragraphs(1),
65
+ button: true,
66
+ },
67
+ };
68
+
69
+ export const Success: Story = {
70
+ args: {
71
+ valence: 'success',
72
+ title: 'Success',
73
+ body: random.lorem.paragraphs(1),
74
+ button: true,
75
+ },
76
+ };
77
+
78
+ export const Info: Story = {
79
+ args: {
80
+ valence: 'info',
81
+ title: 'Info',
82
+ body: random.lorem.paragraphs(1),
83
+ button: true,
84
+ },
85
+ };
86
+
87
+ export const Warning: Story = {
88
+ args: {
89
+ valence: 'warning',
90
+ title: 'Warning',
91
+ body: random.lorem.paragraphs(1),
92
+ button: true,
93
+ },
94
+ };
95
+
96
+ export const Error: Story = {
97
+ args: {
98
+ valence: 'error',
99
+ title: 'Error',
100
+ body: random.lorem.paragraphs(1),
101
+ button: true,
50
102
  },
51
103
  };
@@ -0,0 +1,44 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import { mx, messageValence } from '@dxos/ui-theme';
6
+ import { type ComponentFunction, type Elevation, type MessageValence, type Theme } from '@dxos/ui-types';
7
+
8
+ export type MessageStyleProps = {
9
+ valence?: MessageValence;
10
+ elevation?: Elevation;
11
+ };
12
+
13
+ const root: ComponentFunction<MessageStyleProps> = ({ valence }, etc) => {
14
+ return mx('p-1 rounded-sm', messageValence(valence), etc);
15
+ };
16
+
17
+ const header: ComponentFunction<MessageStyleProps> = (_, etc) => {
18
+ return mx('items-center', etc);
19
+ };
20
+
21
+ const title: ComponentFunction<MessageStyleProps> = (_, etc) => {
22
+ return mx('col-start-2 overflow-hidden truncate', etc);
23
+ };
24
+
25
+ const icon: ComponentFunction<MessageStyleProps> = (_, etc) => {
26
+ return mx('col-start-1 grid place-items-center', etc);
27
+ };
28
+
29
+ const close: ComponentFunction<MessageStyleProps> = (_, etc) => {
30
+ return mx('col-start-3', etc);
31
+ };
32
+
33
+ const content: ComponentFunction<MessageStyleProps> = (_, etc) => {
34
+ return mx('col-start-2 flex flex-col first:font-medium pb-1.5', etc);
35
+ };
36
+
37
+ export const messageTheme: Theme<MessageStyleProps> = {
38
+ root,
39
+ header,
40
+ icon,
41
+ title,
42
+ close,
43
+ content,
44
+ };
@@ -5,13 +5,18 @@
5
5
  import { createContext } from '@radix-ui/react-context';
6
6
  import { Primitive } from '@radix-ui/react-primitive';
7
7
  import { Slot } from '@radix-ui/react-slot';
8
- import React, { type ComponentPropsWithRef, forwardRef } from 'react';
8
+ import React, { type CSSProperties, type ComponentPropsWithRef, forwardRef } from 'react';
9
+ import { useTranslation } from 'react-i18next';
9
10
 
10
11
  import { useId } from '@dxos/react-hooks';
11
- import { type Elevation, type MessageValence } from '@dxos/react-ui-types';
12
+ import { type Elevation, type MessageValence } from '@dxos/ui-types';
13
+
14
+ import { translationKey } from '#translations';
12
15
 
13
16
  import { useElevationContext, useThemeContext } from '../../hooks';
14
17
  import { type ThemedClassName } from '../../util';
18
+ import { IconButton } from '../Button';
19
+ import { Column } from '../Column';
15
20
  import { Icon } from '../Icon';
16
21
 
17
22
  const messageIcons: Record<MessageValence, string> = {
@@ -31,9 +36,51 @@ type MessageRootProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.d
31
36
  };
32
37
 
33
38
  type MessageContextValue = { titleId?: string; descriptionId: string; valence: MessageValence };
39
+
34
40
  const MESSAGE_NAME = 'Message';
41
+
42
+ // CSS custom properties for valence color inheritance — consumed by Button variant='valence'.
43
+ // Extending CSSProperties so entries satisfy the style prop type without a cast at the use site.
44
+ type ValenceCSSVars = CSSProperties & {
45
+ '--dx-valence-bg': string;
46
+ '--dx-valence-bg-hover': string;
47
+ '--dx-valence-text': string;
48
+ };
49
+
50
+ const valenceVars: Record<MessageValence, ValenceCSSVars> = {
51
+ success: {
52
+ '--dx-valence-bg': 'var(--color-success-bg)',
53
+ '--dx-valence-bg-hover': 'var(--color-success-bg-hover)',
54
+ '--dx-valence-text': 'var(--color-success-text)',
55
+ },
56
+ info: {
57
+ '--dx-valence-bg': 'var(--color-info-bg)',
58
+ '--dx-valence-bg-hover': 'var(--color-info-bg-hover)',
59
+ '--dx-valence-text': 'var(--color-info-text)',
60
+ },
61
+ warning: {
62
+ '--dx-valence-bg': 'var(--color-warning-bg)',
63
+ '--dx-valence-bg-hover': 'var(--color-warning-bg-hover)',
64
+ '--dx-valence-text': 'var(--color-warning-text)',
65
+ },
66
+ error: {
67
+ '--dx-valence-bg': 'var(--color-error-bg)',
68
+ '--dx-valence-bg-hover': 'var(--color-error-bg-hover)',
69
+ '--dx-valence-text': 'var(--color-error-text)',
70
+ },
71
+ neutral: {
72
+ '--dx-valence-bg': 'var(--color-neutral-bg)',
73
+ '--dx-valence-bg-hover': 'var(--color-neutral-bg-hover)',
74
+ '--dx-valence-text': 'var(--color-neutral-text)',
75
+ },
76
+ };
77
+
35
78
  const [MessageProvider, useMessageContext] = createContext<MessageContextValue>(MESSAGE_NAME);
36
79
 
80
+ //
81
+ // Root
82
+ //
83
+
37
84
  const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
38
85
  (
39
86
  {
@@ -52,19 +99,21 @@ const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
52
99
  const titleId = useId('message__title', propsTitleId);
53
100
  const descriptionId = useId('message__description', propsDescriptionId);
54
101
  const elevation = useElevationContext(propsElevation);
55
- const Root = asChild ? Slot : Primitive.div;
102
+
56
103
  return (
57
104
  <MessageProvider {...{ titleId, descriptionId, valence }}>
58
- <Root
105
+ <Column.Root
106
+ asChild={asChild}
59
107
  role={valence === 'neutral' ? 'paragraph' : 'alert'}
60
- {...props}
61
- className={tx('message.root', 'message', { valence, elevation }, classNames)}
62
108
  aria-labelledby={titleId}
63
109
  aria-describedby={descriptionId}
110
+ {...props}
111
+ style={{ ...valenceVars[valence], ...(props.style || {}) }}
112
+ classNames={tx('message.root', { valence, elevation }, classNames)}
64
113
  ref={forwardedRef}
65
114
  >
66
115
  {children}
67
- </Root>
116
+ </Column.Root>
68
117
  </MessageProvider>
69
118
  );
70
119
  },
@@ -72,67 +121,87 @@ const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
72
121
 
73
122
  MessageRoot.displayName = MESSAGE_NAME;
74
123
 
124
+ //
125
+ // Title
126
+ //
127
+
75
128
  type MessageTitleProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Primitive.h2>>, 'id'> & {
76
- asChild?: boolean;
77
129
  icon?: string;
130
+ onClose?: () => void;
78
131
  };
79
132
 
80
- const MESSAGE_TITLE_NAME = 'MessageTitle';
133
+ const MESSAGE_TITLE_NAME = 'Message.Title';
81
134
 
82
- const MessageTitle = forwardRef<HTMLHeadingElement, MessageTitleProps>(
83
- ({ asChild, classNames, children, icon, ...props }, forwardedRef) => {
135
+ const MessageTitle = forwardRef<HTMLDivElement, MessageTitleProps>(
136
+ ({ classNames, children, icon: iconProp, onClose }, forwardedRef) => {
137
+ const { t } = useTranslation(translationKey);
84
138
  const { tx } = useThemeContext();
85
139
  const { titleId, valence } = useMessageContext(MESSAGE_TITLE_NAME);
86
- const Root = asChild ? Slot : Primitive.h2;
140
+ const icon = iconProp ?? messageIcons[valence];
87
141
  return (
88
- <Root
89
- {...props}
90
- className={tx('message.title', 'message__title', {}, classNames)}
91
- id={titleId}
92
- ref={forwardedRef}
93
- >
94
- {!icon && valence === 'neutral' ? null : (
95
- <Icon
96
- size={5}
97
- icon={icon ?? messageIcons[valence]}
98
- classNames={tx('message.icon', 'message__icon', { valence })}
99
- />
142
+ <Column.Row classNames={tx('message.header', {}, classNames)} ref={forwardedRef}>
143
+ {icon && (
144
+ <div className={tx('message.icon', { valence })}>
145
+ <Icon icon={icon} />
146
+ </div>
147
+ )}
148
+ <h2 className={tx('message.title', {}, classNames)} id={titleId}>
149
+ {children}
150
+ </h2>
151
+ {onClose && (
152
+ <div className={tx('message.close', {})}>
153
+ <IconButton
154
+ variant='ghost'
155
+ icon='ph--x--regular'
156
+ iconOnly
157
+ density='sm'
158
+ label={t('toolbar-close.label')}
159
+ onClick={onClose}
160
+ />
161
+ </div>
100
162
  )}
101
- <span>{children}</span>
102
- </Root>
163
+ </Column.Row>
103
164
  );
104
165
  },
105
166
  );
106
167
 
107
168
  MessageTitle.displayName = MESSAGE_TITLE_NAME;
108
169
 
170
+ //
171
+ // Content
172
+ //
173
+
109
174
  type MessageContentProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Primitive.h2>>, 'id'> & {
110
175
  asChild?: boolean;
111
176
  };
112
177
 
113
- const MESSAGE_BODY_NAME = 'MessageContent';
178
+ const MESSAGE_CONTENT_NAME = 'Message.Content';
114
179
 
115
180
  const MessageContent = forwardRef<HTMLParagraphElement, MessageContentProps>(
116
181
  ({ asChild, classNames, children, ...props }, forwardedRef) => {
117
182
  const { tx } = useThemeContext();
118
- const { descriptionId } = useMessageContext(MESSAGE_BODY_NAME);
119
- const Root = asChild ? Slot : Primitive.p;
183
+ const { descriptionId } = useMessageContext(MESSAGE_CONTENT_NAME);
184
+ const Comp = asChild ? Slot : Primitive.p;
120
185
  return (
121
- <Root
122
- {...props}
123
- className={tx('message.content', 'message__content', {}, classNames)}
124
- id={descriptionId}
125
- ref={forwardedRef}
126
- >
186
+ <Comp {...props} className={tx('message.content', {}, classNames)} id={descriptionId} ref={forwardedRef}>
127
187
  {children}
128
- </Root>
188
+ </Comp>
129
189
  );
130
190
  },
131
191
  );
132
192
 
133
- MessageContent.displayName = MESSAGE_BODY_NAME;
193
+ MessageContent.displayName = MESSAGE_CONTENT_NAME;
194
+
195
+ //
196
+ // Message
197
+ //
198
+
199
+ export const Message = {
200
+ Root: MessageRoot,
201
+ Title: MessageTitle,
202
+ Content: MessageContent,
203
+ };
134
204
 
135
- export const Message = { Root: MessageRoot, Title: MessageTitle, Content: MessageContent };
136
205
  export const Callout = Message;
137
206
 
138
207
  export type { MessageRootProps, MessageTitleProps, MessageContentProps };
@@ -0,0 +1,67 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
+ import React from 'react';
7
+
8
+ import { Input, ScrollArea, ScrollAreaRootProps, Toolbar } from '../../components';
9
+ import { withLayout, withTheme } from '../../testing';
10
+ import { composable, composableProps } from '../../util';
11
+ import { Panel } from './Panel';
12
+
13
+ const List = composable<HTMLDivElement, ScrollAreaRootProps>((props, forwardedRef) => {
14
+ return (
15
+ <ScrollArea.Root centered {...composableProps(props, { role: 'list' })} ref={forwardedRef}>
16
+ <ScrollArea.Viewport>
17
+ {Array.from({ length: 100 }).map((_, i) => (
18
+ <div key={i} role='listitem' className='p-1 hover:bg-hover-surface'>
19
+ Item {i}
20
+ </div>
21
+ ))}
22
+ </ScrollArea.Viewport>
23
+ </ScrollArea.Root>
24
+ );
25
+ });
26
+
27
+ const DefaultStory = () => {
28
+ return (
29
+ <Panel.Root className='dx-document'>
30
+ <Panel.Toolbar asChild>
31
+ <Toolbar.Root classNames='gap-2'>
32
+ <Toolbar.IconButton icon='ph--plus--regular' variant='primary' label='Add' />
33
+ <Input.Root>
34
+ <Input.TextInput placeholder='Search' />
35
+ </Input.Root>
36
+ <Toolbar.IconButton icon='ph--dots-three-vertical--regular' iconOnly label='Menu' />
37
+ </Toolbar.Root>
38
+ </Panel.Toolbar>
39
+
40
+ <Panel.Content asChild>
41
+ <List />
42
+ </Panel.Content>
43
+
44
+ <Panel.Statusbar asChild>
45
+ <Toolbar.Root classNames='justify-between'>
46
+ <Toolbar.IconButton variant='ghost' icon='ph--house--regular' iconOnly label='Add' />
47
+ <Toolbar.IconButton variant='ghost' icon='ph--alarm--regular' iconOnly label='Status' />
48
+ </Toolbar.Root>
49
+ </Panel.Statusbar>
50
+ </Panel.Root>
51
+ );
52
+ };
53
+
54
+ const meta: Meta = {
55
+ title: 'ui/react-ui-core/components/Panel',
56
+ render: DefaultStory,
57
+ decorators: [withTheme(), withLayout({ layout: 'fullscreen' })],
58
+ parameters: {
59
+ layout: 'fullscreen',
60
+ },
61
+ };
62
+
63
+ export default meta;
64
+
65
+ type Story = StoryObj<typeof meta>;
66
+
67
+ export const Default: Story = {};
@@ -0,0 +1,41 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { mx } from '@dxos/ui-theme';
6
+ import { type ComponentFunction } from '@dxos/ui-types';
7
+
8
+ type Size = 'lg' | 'md' | 'sm';
9
+
10
+ export type PanelStyleProps = {
11
+ size?: Size;
12
+ };
13
+
14
+ const sizes: Record<Size, string> = {
15
+ lg: 'h-(--dx-topbar-size)',
16
+ md: 'h-(--dx-toolbar-size)',
17
+ sm: 'h-(--dx-statusbar-size)',
18
+ };
19
+
20
+ const root: ComponentFunction<PanelStyleProps> = (_, ...etc) =>
21
+ mx(
22
+ 'dx-container grid grid-cols-[100%] overflow-hidden',
23
+ // Add uncategorized children to content slot.
24
+ '[&>*:not([data-slot])]:[grid-area:content]',
25
+ ...etc,
26
+ );
27
+
28
+ const toolbar: ComponentFunction<PanelStyleProps> = ({ size = 'md' }, ...etc) =>
29
+ mx('[grid-area:toolbar]', 'shrink-0', sizes[size], ...etc);
30
+
31
+ const content: ComponentFunction<PanelStyleProps> = (_, ...etc) => mx('[grid-area:content] min-h-0', ...etc);
32
+
33
+ const statusbar: ComponentFunction<PanelStyleProps> = ({ size = 'md' }, ...etc) =>
34
+ mx('[grid-area:statusbar]', 'shrink-0', sizes[size], ...etc);
35
+
36
+ export const panelTheme = {
37
+ root,
38
+ toolbar,
39
+ content,
40
+ statusbar,
41
+ };
@@ -0,0 +1,121 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { Primitive } from '@radix-ui/react-primitive';
6
+ import { Slot } from '@radix-ui/react-slot';
7
+ import React, { type CSSProperties } from 'react';
8
+
9
+ import { type SlottableProps } from '@dxos/ui-types';
10
+
11
+ import { useThemeContext } from '../../hooks';
12
+ import { PanelStyleProps } from '../../theme';
13
+ import { composableProps, slottable } from '../../util';
14
+
15
+ //
16
+ // Root
17
+ //
18
+
19
+ const GRID_TEMPLATE_ROWS = 'auto 1fr auto';
20
+ const GRID_TEMPLATE_AREAS = '"toolbar" "content" "statusbar"';
21
+
22
+ type PanelRootProps = SlottableProps<{ style?: CSSProperties }>;
23
+
24
+ const PanelRoot = slottable<HTMLDivElement, { style?: CSSProperties }>(
25
+ ({ children, asChild, role, style, ...props }, forwardedRef) => {
26
+ const { className, ...rest } = composableProps(props);
27
+ const Comp = asChild ? Slot : Primitive.div;
28
+ const { tx } = useThemeContext();
29
+ return (
30
+ <Comp
31
+ {...rest}
32
+ role={role ?? 'none'}
33
+ style={{
34
+ gridTemplateRows: GRID_TEMPLATE_ROWS,
35
+ gridTemplateAreas: GRID_TEMPLATE_AREAS,
36
+ ...style,
37
+ }}
38
+ className={tx('panel.root', {}, className)}
39
+ ref={forwardedRef}
40
+ >
41
+ {children}
42
+ </Comp>
43
+ );
44
+ },
45
+ );
46
+
47
+ PanelRoot.displayName = 'Panel.Root';
48
+
49
+ //
50
+ // Toolbar
51
+ //
52
+
53
+ type PanelToolbarProps = SlottableProps & Pick<PanelStyleProps, 'size'>;
54
+
55
+ const PanelToolbar = slottable<HTMLDivElement, Pick<PanelStyleProps, 'size'>>(
56
+ ({ children, asChild, size, ...props }, forwardedRef) => {
57
+ const { className, ...rest } = composableProps(props);
58
+ const Comp = asChild ? Slot : Primitive.div;
59
+ const { tx } = useThemeContext();
60
+ return (
61
+ <Comp {...rest} data-slot='toolbar' className={tx('panel.toolbar', { size }, className)} ref={forwardedRef}>
62
+ {children}
63
+ </Comp>
64
+ );
65
+ },
66
+ );
67
+
68
+ PanelToolbar.displayName = 'Panel.Toolbar';
69
+
70
+ //
71
+ // Content
72
+ //
73
+
74
+ type PanelContentProps = SlottableProps;
75
+
76
+ const PanelContent = slottable<HTMLDivElement>(({ children, asChild, ...props }, forwardedRef) => {
77
+ const { className, ...rest } = composableProps(props);
78
+ const Comp = asChild ? Slot : Primitive.div;
79
+ const { tx } = useThemeContext();
80
+ return (
81
+ <Comp {...rest} data-slot='content' className={tx('panel.content', {}, className)} ref={forwardedRef}>
82
+ {children}
83
+ </Comp>
84
+ );
85
+ });
86
+
87
+ PanelContent.displayName = 'Panel.Content';
88
+
89
+ //
90
+ // Statusbar
91
+ //
92
+
93
+ type PanelStatusbarProps = SlottableProps & Pick<PanelStyleProps, 'size'>;
94
+
95
+ const PanelStatusbar = slottable<HTMLDivElement, Pick<PanelStyleProps, 'size'>>(
96
+ ({ children, asChild, size, ...props }, forwardedRef) => {
97
+ const { className, ...rest } = composableProps(props);
98
+ const Comp = asChild ? Slot : Primitive.div;
99
+ const { tx } = useThemeContext();
100
+ return (
101
+ <Comp {...rest} data-slot='statusbar' className={tx('panel.statusbar', { size }, className)} ref={forwardedRef}>
102
+ {children}
103
+ </Comp>
104
+ );
105
+ },
106
+ );
107
+
108
+ PanelStatusbar.displayName = 'Panel.Statusbar';
109
+
110
+ //
111
+ // Panel
112
+ //
113
+
114
+ export const Panel = {
115
+ Root: PanelRoot,
116
+ Toolbar: PanelToolbar,
117
+ Content: PanelContent,
118
+ Statusbar: PanelStatusbar,
119
+ };
120
+
121
+ export type { PanelRootProps, PanelToolbarProps, PanelContentProps, PanelStatusbarProps };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ export * from './Panel';
@@ -5,14 +5,13 @@
5
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
  import React, { type PropsWithChildren, type ReactNode, useRef, useState } from 'react';
7
7
 
8
- import { faker } from '@dxos/random';
8
+ import { random } from '@dxos/random';
9
9
 
10
10
  import { withTheme } from '../../testing';
11
11
  import { Button } from '../Button';
12
-
13
12
  import { Popover } from './Popover';
14
13
 
15
- faker.seed(1234);
14
+ random.seed(1234);
16
15
 
17
16
  const DefaultStory = ({ openTrigger, children }: PropsWithChildren<{ openTrigger: ReactNode }>) => {
18
17
  return (
@@ -20,7 +19,7 @@ const DefaultStory = ({ openTrigger, children }: PropsWithChildren<{ openTrigger
20
19
  <Popover.Trigger asChild>{openTrigger}</Popover.Trigger>
21
20
  <Popover.Content>
22
21
  <Popover.Viewport>
23
- <p className='pli-2 plb-1 min-is-[18rem] max-is-[38rem]'>{children}</p>
22
+ <p className='px-2 py-1 min-w-[18rem] max-w-[38rem]'>{children}</p>
24
23
  </Popover.Viewport>
25
24
  <Popover.Arrow />
26
25
  </Popover.Content>
@@ -29,10 +28,10 @@ const DefaultStory = ({ openTrigger, children }: PropsWithChildren<{ openTrigger
29
28
  };
30
29
 
31
30
  const meta = {
32
- title: 'ui/react-ui-core/Popover',
31
+ title: 'ui/react-ui-core/components/Popover',
33
32
  component: Popover.Root,
34
33
  render: DefaultStory,
35
- decorators: [withTheme],
34
+ decorators: [withTheme()],
36
35
  } satisfies Meta<typeof DefaultStory>;
37
36
 
38
37
  export default meta;
@@ -42,7 +41,7 @@ type Story = StoryObj<typeof meta>;
42
41
  export const Default: Story = {
43
42
  args: {
44
43
  openTrigger: <Button>Open popover</Button>,
45
- children: faker.lorem.paragraphs(3),
44
+ children: random.lorem.paragraphs(3),
46
45
  },
47
46
  };
48
47
 
@@ -59,7 +58,7 @@ export const VirtualTrigger = {
59
58
  <Popover.VirtualTrigger virtualRef={buttonRef} />
60
59
  <Popover.Content>
61
60
  <Popover.Viewport>
62
- <p className='pli-2 plb-1 min-is-[18rem] max-is-[38rem]'>{faker.lorem.paragraphs(3)}</p>
61
+ <p className='px-2 py-1 min-w-[18rem] max-w-[38rem]'>{random.lorem.paragraphs(3)}</p>
63
62
  </Popover.Viewport>
64
63
  <Popover.Arrow />
65
64
  </Popover.Content>