@dxos/react-ui 0.1.41-next.adfd7c6 → 0.3.3-main.5b114d4

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 (546) hide show
  1. package/README.md +5 -1
  2. package/README.yml +1 -0
  3. package/dist/lib/browser/index.mjs +2096 -2849
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/types/src/components/Avatars/Avatar.d.ts +51 -0
  7. package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -0
  8. package/dist/types/src/components/Avatars/Avatar.stories.d.ts +27 -0
  9. package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -0
  10. package/dist/types/src/components/Avatars/AvatarGroup.d.ts +21 -0
  11. package/dist/types/src/components/Avatars/AvatarGroup.d.ts.map +1 -0
  12. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts +9 -0
  13. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -0
  14. package/dist/types/src/components/Avatars/index.d.ts +3 -0
  15. package/dist/types/src/components/Avatars/index.d.ts.map +1 -0
  16. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts +29 -0
  17. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  18. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts +9 -0
  19. package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts.map +1 -0
  20. package/dist/types/src/components/Breadcrumb/index.d.ts +2 -0
  21. package/dist/types/src/components/Breadcrumb/index.d.ts.map +1 -0
  22. package/dist/types/src/components/Buttons/Button.d.ts +24 -0
  23. package/dist/types/src/components/Buttons/Button.d.ts.map +1 -0
  24. package/dist/types/src/components/Buttons/Button.stories.d.ts +37 -0
  25. package/dist/types/src/components/Buttons/Button.stories.d.ts.map +1 -0
  26. package/dist/types/src/components/Buttons/Toggle.d.ts +8 -0
  27. package/dist/types/src/components/Buttons/Toggle.d.ts.map +1 -0
  28. package/dist/types/src/components/Buttons/Toggle.stories.d.ts +10 -0
  29. package/dist/types/src/components/Buttons/Toggle.stories.d.ts.map +1 -0
  30. package/dist/types/src/components/Buttons/ToggleGroup.d.ts +28 -0
  31. package/dist/types/src/components/Buttons/ToggleGroup.d.ts.map +1 -0
  32. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts +15 -0
  33. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts.map +1 -0
  34. package/dist/types/src/components/Buttons/index.d.ts +4 -0
  35. package/dist/types/src/components/Buttons/index.d.ts.map +1 -0
  36. package/dist/types/src/components/Card/Card.d.ts +44 -0
  37. package/dist/types/src/components/Card/Card.d.ts.map +1 -0
  38. package/dist/types/src/components/Card/Card.stories.d.ts +49 -0
  39. package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -0
  40. package/dist/types/src/components/Card/index.d.ts +2 -0
  41. package/dist/types/src/components/Card/index.d.ts.map +1 -0
  42. package/dist/types/src/components/Card/testing.d.ts +9 -0
  43. package/dist/types/src/components/Card/testing.d.ts.map +1 -0
  44. package/dist/types/src/components/Center/Center.d.ts +4 -0
  45. package/dist/types/src/components/Center/Center.d.ts.map +1 -0
  46. package/dist/types/src/components/Center/Center.stories.d.ts +11 -0
  47. package/dist/types/src/components/Center/Center.stories.d.ts.map +1 -0
  48. package/dist/types/src/components/Center/index.d.ts +2 -0
  49. package/dist/types/src/components/Center/index.d.ts.map +1 -0
  50. package/dist/types/src/components/ComboBox/ComboBox.d.ts +49 -0
  51. package/dist/types/src/components/ComboBox/ComboBox.d.ts.map +1 -0
  52. package/dist/types/src/components/ComboBox/ComboBox.stories.d.ts +25 -0
  53. package/dist/types/src/components/ComboBox/ComboBox.stories.d.ts.map +1 -0
  54. package/dist/types/src/components/ComboBox/index.d.ts +2 -0
  55. package/dist/types/src/components/ComboBox/index.d.ts.map +1 -0
  56. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts +11 -0
  57. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -0
  58. package/dist/types/src/components/DensityProvider/index.d.ts +2 -0
  59. package/dist/types/src/components/DensityProvider/index.d.ts.map +1 -0
  60. package/dist/types/src/components/Dialogs/AlertDialog.d.ts +29 -0
  61. package/dist/types/src/components/Dialogs/AlertDialog.d.ts.map +1 -0
  62. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts +23 -0
  63. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts.map +1 -0
  64. package/dist/types/src/components/Dialogs/Dialog.d.ts +27 -0
  65. package/dist/types/src/components/Dialogs/Dialog.d.ts.map +1 -0
  66. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts +21 -0
  67. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts.map +1 -0
  68. package/dist/types/src/components/Dialogs/index.d.ts +3 -0
  69. package/dist/types/src/components/Dialogs/index.d.ts.map +1 -0
  70. package/dist/types/src/components/DropdownMenu/DropdownMenu.d.ts +44 -0
  71. package/dist/types/src/components/DropdownMenu/DropdownMenu.d.ts.map +1 -0
  72. package/dist/types/src/components/DropdownMenu/DropdownMenu.stories.d.ts +14 -0
  73. package/dist/types/src/components/DropdownMenu/DropdownMenu.stories.d.ts.map +1 -0
  74. package/dist/types/src/components/DropdownMenu/index.d.ts +2 -0
  75. package/dist/types/src/components/DropdownMenu/index.d.ts.map +1 -0
  76. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts +11 -0
  77. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -0
  78. package/dist/types/src/components/ElevationProvider/index.d.ts +2 -0
  79. package/dist/types/src/components/ElevationProvider/index.d.ts.map +1 -0
  80. package/dist/types/src/components/Input/Input.d.ts +55 -0
  81. package/dist/types/src/components/Input/Input.d.ts.map +1 -0
  82. package/dist/types/src/components/Input/Input.stories.d.ts +151 -0
  83. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -0
  84. package/dist/types/src/components/Input/index.d.ts +2 -0
  85. package/dist/types/src/components/Input/index.d.ts.map +1 -0
  86. package/dist/types/src/components/Link/Link.d.ts +8 -0
  87. package/dist/types/src/components/Link/Link.d.ts.map +1 -0
  88. package/dist/types/src/components/Link/Link.stories.d.ts +10 -0
  89. package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -0
  90. package/dist/types/src/components/Link/index.d.ts +2 -0
  91. package/dist/types/src/components/Link/index.d.ts.map +1 -0
  92. package/dist/types/src/components/List/List.d.ts +25 -0
  93. package/dist/types/src/components/List/List.d.ts.map +1 -0
  94. package/dist/types/src/components/List/List.stories.d.ts +29 -0
  95. package/dist/types/src/components/List/List.stories.d.ts.map +1 -0
  96. package/dist/types/src/components/List/Tree.d.ts +21 -0
  97. package/dist/types/src/components/List/Tree.d.ts.map +1 -0
  98. package/dist/types/src/components/List/Tree.stories.d.ts +29 -0
  99. package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -0
  100. package/dist/types/src/components/List/index.d.ts +3 -0
  101. package/dist/types/src/components/List/index.d.ts.map +1 -0
  102. package/dist/types/src/components/Main/Main.d.ts +57 -0
  103. package/dist/types/src/components/Main/Main.d.ts.map +1 -0
  104. package/dist/types/src/components/Main/Main.stories.d.ts +11 -0
  105. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -0
  106. package/dist/types/src/components/Main/index.d.ts +2 -0
  107. package/dist/types/src/components/Main/index.d.ts.map +1 -0
  108. package/dist/types/src/components/Main/useSwipeToDismiss.d.ts +11 -0
  109. package/dist/types/src/components/Main/useSwipeToDismiss.d.ts.map +1 -0
  110. package/dist/types/src/components/Message/Message.d.ts +23 -0
  111. package/dist/types/src/components/Message/Message.d.ts.map +1 -0
  112. package/dist/types/src/components/Message/Message.stories.d.ts +19 -0
  113. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -0
  114. package/dist/types/src/components/Message/index.d.ts +2 -0
  115. package/dist/types/src/components/Message/index.d.ts.map +1 -0
  116. package/dist/types/src/components/Popover/Popover.d.ts +32 -0
  117. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -0
  118. package/dist/types/src/components/Popover/Popover.stories.d.ts +15 -0
  119. package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -0
  120. package/dist/types/src/components/Popover/index.d.ts +2 -0
  121. package/dist/types/src/components/Popover/index.d.ts.map +1 -0
  122. package/dist/types/src/components/ProgressBar/ProgressBar.d.ts +7 -0
  123. package/dist/types/src/components/ProgressBar/ProgressBar.d.ts.map +1 -0
  124. package/dist/types/src/components/ProgressBar/ProgressBar.stories.d.ts +12 -0
  125. package/dist/types/src/components/ProgressBar/ProgressBar.stories.d.ts.map +1 -0
  126. package/dist/types/src/components/ProgressBar/index.d.ts +2 -0
  127. package/dist/types/src/components/ProgressBar/index.d.ts.map +1 -0
  128. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +27 -0
  129. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -0
  130. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +14 -0
  131. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -0
  132. package/dist/types/src/components/ScrollArea/index.d.ts +2 -0
  133. package/dist/types/src/components/ScrollArea/index.d.ts.map +1 -0
  134. package/dist/types/src/components/Select/Select.d.ts +60 -0
  135. package/dist/types/src/components/Select/Select.d.ts.map +1 -0
  136. package/dist/types/src/components/Select/Select.stories.d.ts +16 -0
  137. package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -0
  138. package/dist/types/src/components/Select/index.d.ts +2 -0
  139. package/dist/types/src/components/Select/index.d.ts.map +1 -0
  140. package/dist/types/src/components/Separator/Separator.d.ts +7 -0
  141. package/dist/types/src/components/Separator/Separator.d.ts.map +1 -0
  142. package/dist/types/src/components/Separator/index.d.ts +2 -0
  143. package/dist/types/src/components/Separator/index.d.ts.map +1 -0
  144. package/dist/types/src/components/Tag/Tag.d.ts +10 -0
  145. package/dist/types/src/components/Tag/Tag.d.ts.map +1 -0
  146. package/dist/types/src/components/Tag/Tag.stories.d.ts +10 -0
  147. package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -0
  148. package/dist/types/src/components/Tag/index.d.ts +2 -0
  149. package/dist/types/src/components/Tag/index.d.ts.map +1 -0
  150. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +16 -0
  151. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -0
  152. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +20 -0
  153. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -0
  154. package/dist/types/src/components/ThemeProvider/index.d.ts +2 -0
  155. package/dist/types/src/components/ThemeProvider/index.d.ts.map +1 -0
  156. package/dist/types/src/components/Toast/Toast.d.ts +34 -0
  157. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -0
  158. package/dist/types/src/components/Toast/Toast.stories.d.ts +34 -0
  159. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -0
  160. package/dist/types/src/components/Toast/index.d.ts +2 -0
  161. package/dist/types/src/components/Toast/index.d.ts.map +1 -0
  162. package/dist/types/src/components/Toolbar/Toolbar.d.ts +42 -0
  163. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -0
  164. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +10 -0
  165. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -0
  166. package/dist/types/src/components/Toolbar/index.d.ts +2 -0
  167. package/dist/types/src/components/Toolbar/index.d.ts.map +1 -0
  168. package/dist/types/src/components/Tooltip/Tooltip.d.ts +23 -0
  169. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -0
  170. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +19 -0
  171. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -0
  172. package/dist/types/src/components/Tooltip/index.d.ts +2 -0
  173. package/dist/types/src/components/Tooltip/index.d.ts.map +1 -0
  174. package/dist/types/src/components/index.d.ts +25 -6
  175. package/dist/types/src/components/index.d.ts.map +1 -1
  176. package/dist/types/src/hooks/index.d.ts +6 -0
  177. package/dist/types/src/hooks/index.d.ts.map +1 -0
  178. package/dist/types/src/hooks/useDensityContext.d.ts +3 -0
  179. package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -0
  180. package/dist/types/src/hooks/useElevationContext.d.ts +3 -0
  181. package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -0
  182. package/dist/types/src/hooks/useThemeContext.d.ts +2 -0
  183. package/dist/types/src/hooks/useThemeContext.d.ts.map +1 -0
  184. package/dist/types/src/hooks/useTranslationsContext.d.ts +4 -0
  185. package/dist/types/src/hooks/useTranslationsContext.d.ts.map +1 -0
  186. package/dist/types/src/hooks/useVisualViewport.d.ts +6 -0
  187. package/dist/types/src/hooks/useVisualViewport.d.ts.map +1 -0
  188. package/dist/types/src/index.d.ts +6 -5
  189. package/dist/types/src/index.d.ts.map +1 -1
  190. package/dist/types/src/playground/Controls.stories.d.ts +11 -0
  191. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -0
  192. package/dist/types/src/playground/Surfaces.stories.d.ts +9 -0
  193. package/dist/types/src/playground/Surfaces.stories.d.ts.map +1 -0
  194. package/dist/types/src/playground/helpers.d.ts +6 -0
  195. package/dist/types/src/playground/helpers.d.ts.map +1 -0
  196. package/dist/types/src/util/ThemedClassName.d.ts +5 -0
  197. package/dist/types/src/util/ThemedClassName.d.ts.map +1 -0
  198. package/dist/types/src/util/hasIosKeyboard.d.ts +2 -0
  199. package/dist/types/src/util/hasIosKeyboard.d.ts.map +1 -0
  200. package/dist/types/src/util/index.d.ts +2 -2
  201. package/dist/types/src/util/index.d.ts.map +1 -1
  202. package/package.json +43 -41
  203. package/src/components/Avatars/Avatar.stories.tsx +104 -0
  204. package/src/components/Avatars/Avatar.tsx +303 -0
  205. package/src/components/Avatars/AvatarGroup.stories.tsx +49 -0
  206. package/src/components/Avatars/AvatarGroup.tsx +111 -0
  207. package/src/components/Avatars/index.ts +6 -0
  208. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +46 -0
  209. package/src/components/Breadcrumb/Breadcrumb.tsx +116 -0
  210. package/src/{composites/JoinDialog → components/Breadcrumb}/index.ts +1 -1
  211. package/src/components/Buttons/Button.stories.tsx +85 -0
  212. package/src/components/Buttons/Button.tsx +93 -0
  213. package/src/components/Buttons/Toggle.stories.tsx +28 -0
  214. package/src/components/Buttons/Toggle.tsx +23 -0
  215. package/src/components/Buttons/ToggleGroup.stories.tsx +38 -0
  216. package/src/components/Buttons/ToggleGroup.tsx +41 -0
  217. package/src/components/Buttons/index.ts +7 -0
  218. package/src/components/Card/Card.stories.tsx +215 -0
  219. package/src/components/Card/Card.tsx +114 -0
  220. package/src/{panels/SpacePanel → components/Card}/index.ts +1 -1
  221. package/src/components/Card/testing.ts +90 -0
  222. package/src/components/Center/Center.stories.tsx +18 -0
  223. package/src/components/Center/Center.tsx +16 -0
  224. package/src/{layouts/PanelDialog → components/Center}/index.ts +1 -1
  225. package/src/components/ComboBox/ComboBox.stories.tsx +82 -0
  226. package/src/components/ComboBox/ComboBox.tsx +218 -0
  227. package/src/components/ComboBox/index.ts +5 -0
  228. package/src/components/DensityProvider/DensityProvider.tsx +21 -0
  229. package/src/components/DensityProvider/index.ts +5 -0
  230. package/src/components/Dialogs/AlertDialog.stories.tsx +68 -0
  231. package/src/components/Dialogs/AlertDialog.tsx +157 -0
  232. package/src/components/Dialogs/Dialog.stories.tsx +52 -0
  233. package/src/components/Dialogs/Dialog.tsx +143 -0
  234. package/src/components/Dialogs/index.ts +6 -0
  235. package/src/components/DropdownMenu/DropdownMenu.stories.tsx +102 -0
  236. package/src/components/DropdownMenu/DropdownMenu.tsx +171 -0
  237. package/src/{layouts/PanelPopover → components/DropdownMenu}/index.ts +1 -1
  238. package/src/components/ElevationProvider/ElevationProvider.tsx +21 -0
  239. package/src/components/ElevationProvider/index.ts +5 -0
  240. package/src/components/Input/Input.stories.tsx +199 -0
  241. package/src/components/Input/Input.tsx +369 -0
  242. package/src/{composites/SpaceDialog → components/Input}/index.ts +1 -1
  243. package/src/components/Link/Link.stories.tsx +13 -0
  244. package/src/components/Link/Link.tsx +20 -0
  245. package/src/components/Link/index.ts +5 -0
  246. package/src/components/List/List.stories.tsx +184 -0
  247. package/src/components/List/List.tsx +173 -0
  248. package/src/components/List/Tree.stories.tsx +80 -0
  249. package/src/components/List/Tree.tsx +76 -0
  250. package/src/components/List/index.ts +6 -0
  251. package/src/components/Main/Main.stories.tsx +52 -0
  252. package/src/components/Main/Main.tsx +271 -0
  253. package/src/components/Main/index.ts +5 -0
  254. package/src/components/Main/useSwipeToDismiss.ts +103 -0
  255. package/src/components/Message/Message.stories.tsx +39 -0
  256. package/src/components/Message/Message.tsx +109 -0
  257. package/src/components/Message/index.ts +5 -0
  258. package/src/components/Popover/Popover.stories.tsx +38 -0
  259. package/src/components/Popover/Popover.tsx +123 -0
  260. package/src/components/Popover/index.ts +5 -0
  261. package/src/components/ProgressBar/ProgressBar.stories.tsx +33 -0
  262. package/src/components/ProgressBar/ProgressBar.tsx +29 -0
  263. package/src/components/ProgressBar/index.ts +5 -0
  264. package/src/components/ScrollArea/ScrollArea.stories.tsx +43 -0
  265. package/src/components/ScrollArea/ScrollArea.tsx +105 -0
  266. package/src/components/ScrollArea/index.ts +5 -0
  267. package/src/components/Select/Select.stories.tsx +68 -0
  268. package/src/components/Select/Select.tsx +223 -0
  269. package/src/components/Select/index.ts +5 -0
  270. package/src/components/Separator/Separator.tsx +28 -0
  271. package/src/components/Separator/index.ts +5 -0
  272. package/src/components/Tag/Tag.stories.tsx +42 -0
  273. package/src/components/Tag/Tag.tsx +23 -0
  274. package/src/components/Tag/index.ts +5 -0
  275. package/src/components/ThemeProvider/ThemeProvider.tsx +76 -0
  276. package/src/components/ThemeProvider/TranslationsProvider.tsx +63 -0
  277. package/src/components/ThemeProvider/index.ts +5 -0
  278. package/src/components/Toast/Toast.stories.tsx +61 -0
  279. package/src/components/Toast/Toast.tsx +126 -0
  280. package/src/components/Toast/index.ts +5 -0
  281. package/src/components/Toolbar/Toolbar.stories.tsx +77 -0
  282. package/src/components/Toolbar/Toolbar.tsx +99 -0
  283. package/src/components/Toolbar/index.ts +5 -0
  284. package/src/components/Tooltip/Tooltip.stories.tsx +41 -0
  285. package/src/components/Tooltip/Tooltip.tsx +84 -0
  286. package/src/components/Tooltip/index.ts +5 -0
  287. package/src/components/index.ts +27 -7
  288. package/src/hooks/index.ts +9 -0
  289. package/src/hooks/useDensityContext.ts +14 -0
  290. package/src/hooks/useElevationContext.ts +14 -0
  291. package/src/hooks/useThemeContext.ts +9 -0
  292. package/src/hooks/useTranslationsContext.ts +9 -0
  293. package/src/hooks/useVisualViewport.ts +24 -0
  294. package/src/index.ts +8 -6
  295. package/src/playground/Controls.stories.tsx +90 -0
  296. package/src/playground/Surfaces.stories.tsx +43 -0
  297. package/src/playground/helpers.tsx +32 -0
  298. package/src/util/ThemedClassName.ts +7 -0
  299. package/src/util/hasIosKeyboard.ts +8 -0
  300. package/src/util/index.ts +2 -2
  301. package/dist/lib/browser/chunk-5VRACIDE.mjs +0 -10
  302. package/dist/lib/browser/chunk-5VRACIDE.mjs.map +0 -7
  303. package/dist/lib/browser/testing/index.mjs +0 -64
  304. package/dist/lib/browser/testing/index.mjs.map +0 -7
  305. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts +0 -9
  306. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +0 -1
  307. package/dist/types/src/components/Clipboard/CopyButton.d.ts +0 -5
  308. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +0 -1
  309. package/dist/types/src/components/Clipboard/index.d.ts +0 -3
  310. package/dist/types/src/components/Clipboard/index.d.ts.map +0 -1
  311. package/dist/types/src/components/IdentityList/DeviceList.d.ts +0 -7
  312. package/dist/types/src/components/IdentityList/DeviceList.d.ts.map +0 -1
  313. package/dist/types/src/components/IdentityList/IdentityListItem.d.ts +0 -7
  314. package/dist/types/src/components/IdentityList/IdentityListItem.d.ts.map +0 -1
  315. package/dist/types/src/components/IdentityList/IdentityListItem.stories.d.ts +0 -21
  316. package/dist/types/src/components/IdentityList/IdentityListItem.stories.d.ts.map +0 -1
  317. package/dist/types/src/components/IdentityList/SpaceMemberList.d.ts +0 -7
  318. package/dist/types/src/components/IdentityList/SpaceMemberList.d.ts.map +0 -1
  319. package/dist/types/src/components/IdentityList/SpaceMemberListContainer.d.ts +0 -9
  320. package/dist/types/src/components/IdentityList/SpaceMemberListContainer.d.ts.map +0 -1
  321. package/dist/types/src/components/IdentityList/index.d.ts +0 -5
  322. package/dist/types/src/components/IdentityList/index.d.ts.map +0 -1
  323. package/dist/types/src/components/InvitationEmoji/InvitationEmoji.d.ts +0 -7
  324. package/dist/types/src/components/InvitationEmoji/InvitationEmoji.d.ts.map +0 -1
  325. package/dist/types/src/components/InvitationEmoji/index.d.ts +0 -2
  326. package/dist/types/src/components/InvitationEmoji/index.d.ts.map +0 -1
  327. package/dist/types/src/components/InvitationList/InvitationList.d.ts +0 -7
  328. package/dist/types/src/components/InvitationList/InvitationList.d.ts.map +0 -1
  329. package/dist/types/src/components/InvitationList/InvitationList.stories.d.ts +0 -10
  330. package/dist/types/src/components/InvitationList/InvitationList.stories.d.ts.map +0 -1
  331. package/dist/types/src/components/InvitationList/InvitationListContainer.d.ts +0 -7
  332. package/dist/types/src/components/InvitationList/InvitationListContainer.d.ts.map +0 -1
  333. package/dist/types/src/components/InvitationList/InvitationListItem.d.ts +0 -9
  334. package/dist/types/src/components/InvitationList/InvitationListItem.d.ts.map +0 -1
  335. package/dist/types/src/components/InvitationList/InvitationListProps.d.ts +0 -4
  336. package/dist/types/src/components/InvitationList/InvitationListProps.d.ts.map +0 -1
  337. package/dist/types/src/components/InvitationList/InvitationStatusAvatar.d.ts +0 -15
  338. package/dist/types/src/components/InvitationList/InvitationStatusAvatar.d.ts.map +0 -1
  339. package/dist/types/src/components/InvitationList/InvitationStatusAvatar.stories.d.ts +0 -9
  340. package/dist/types/src/components/InvitationList/InvitationStatusAvatar.stories.d.ts.map +0 -1
  341. package/dist/types/src/components/InvitationList/index.d.ts +0 -5
  342. package/dist/types/src/components/InvitationList/index.d.ts.map +0 -1
  343. package/dist/types/src/components/PanelSeparator/PanelSeparator.d.ts +0 -3
  344. package/dist/types/src/components/PanelSeparator/PanelSeparator.d.ts.map +0 -1
  345. package/dist/types/src/components/PanelSeparator/index.d.ts +0 -2
  346. package/dist/types/src/components/PanelSeparator/index.d.ts.map +0 -1
  347. package/dist/types/src/components/SpaceList/SpaceListItem.d.ts +0 -7
  348. package/dist/types/src/components/SpaceList/SpaceListItem.d.ts.map +0 -1
  349. package/dist/types/src/components/SpaceList/index.d.ts +0 -2
  350. package/dist/types/src/components/SpaceList/index.d.ts.map +0 -1
  351. package/dist/types/src/composites/DevicesDialog/DevicesDialog.d.ts +0 -6
  352. package/dist/types/src/composites/DevicesDialog/DevicesDialog.d.ts.map +0 -1
  353. package/dist/types/src/composites/DevicesDialog/index.d.ts +0 -2
  354. package/dist/types/src/composites/DevicesDialog/index.d.ts.map +0 -1
  355. package/dist/types/src/composites/IdentityPopover/IdentityPopover.d.ts +0 -9
  356. package/dist/types/src/composites/IdentityPopover/IdentityPopover.d.ts.map +0 -1
  357. package/dist/types/src/composites/IdentityPopover/index.d.ts +0 -2
  358. package/dist/types/src/composites/IdentityPopover/index.d.ts.map +0 -1
  359. package/dist/types/src/composites/JoinDialog/JoinDialog.d.ts +0 -6
  360. package/dist/types/src/composites/JoinDialog/JoinDialog.d.ts.map +0 -1
  361. package/dist/types/src/composites/JoinDialog/JoinDialog.stories.d.ts +0 -10
  362. package/dist/types/src/composites/JoinDialog/JoinDialog.stories.d.ts.map +0 -1
  363. package/dist/types/src/composites/JoinDialog/index.d.ts +0 -2
  364. package/dist/types/src/composites/JoinDialog/index.d.ts.map +0 -1
  365. package/dist/types/src/composites/Shell/Shell.d.ts +0 -6
  366. package/dist/types/src/composites/Shell/Shell.d.ts.map +0 -1
  367. package/dist/types/src/composites/Shell/Shell.stories.d.ts +0 -10
  368. package/dist/types/src/composites/Shell/Shell.stories.d.ts.map +0 -1
  369. package/dist/types/src/composites/Shell/ShellContext.d.ts +0 -22
  370. package/dist/types/src/composites/Shell/ShellContext.d.ts.map +0 -1
  371. package/dist/types/src/composites/Shell/index.d.ts +0 -3
  372. package/dist/types/src/composites/Shell/index.d.ts.map +0 -1
  373. package/dist/types/src/composites/SpaceDialog/SpaceDialog.d.ts +0 -6
  374. package/dist/types/src/composites/SpaceDialog/SpaceDialog.d.ts.map +0 -1
  375. package/dist/types/src/composites/SpaceDialog/index.d.ts +0 -2
  376. package/dist/types/src/composites/SpaceDialog/index.d.ts.map +0 -1
  377. package/dist/types/src/composites/index.d.ts +0 -5
  378. package/dist/types/src/composites/index.d.ts.map +0 -1
  379. package/dist/types/src/layouts/PanelAlertDialog/PanelAlertDialog.d.ts +0 -14
  380. package/dist/types/src/layouts/PanelAlertDialog/PanelAlertDialog.d.ts.map +0 -1
  381. package/dist/types/src/layouts/PanelAlertDialog/index.d.ts +0 -2
  382. package/dist/types/src/layouts/PanelAlertDialog/index.d.ts.map +0 -1
  383. package/dist/types/src/layouts/PanelDialog/PanelDialog.d.ts +0 -14
  384. package/dist/types/src/layouts/PanelDialog/PanelDialog.d.ts.map +0 -1
  385. package/dist/types/src/layouts/PanelDialog/index.d.ts +0 -2
  386. package/dist/types/src/layouts/PanelDialog/index.d.ts.map +0 -1
  387. package/dist/types/src/layouts/PanelPopover/PanelPopover.d.ts +0 -11
  388. package/dist/types/src/layouts/PanelPopover/PanelPopover.d.ts.map +0 -1
  389. package/dist/types/src/layouts/PanelPopover/index.d.ts +0 -2
  390. package/dist/types/src/layouts/PanelPopover/index.d.ts.map +0 -1
  391. package/dist/types/src/layouts/PanelSidebar/PanelSidebar.d.ts +0 -19
  392. package/dist/types/src/layouts/PanelSidebar/PanelSidebar.d.ts.map +0 -1
  393. package/dist/types/src/layouts/PanelSidebar/index.d.ts +0 -2
  394. package/dist/types/src/layouts/PanelSidebar/index.d.ts.map +0 -1
  395. package/dist/types/src/layouts/index.d.ts +0 -5
  396. package/dist/types/src/layouts/index.d.ts.map +0 -1
  397. package/dist/types/src/panels/DevicesPanel/DevicesPanel.d.ts +0 -10
  398. package/dist/types/src/panels/DevicesPanel/DevicesPanel.d.ts.map +0 -1
  399. package/dist/types/src/panels/DevicesPanel/index.d.ts +0 -2
  400. package/dist/types/src/panels/DevicesPanel/index.d.ts.map +0 -1
  401. package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts +0 -6
  402. package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +0 -1
  403. package/dist/types/src/panels/IdentityPanel/index.d.ts +0 -2
  404. package/dist/types/src/panels/IdentityPanel/index.d.ts.map +0 -1
  405. package/dist/types/src/panels/JoinPanel/JoinHeading.d.ts +0 -13
  406. package/dist/types/src/panels/JoinPanel/JoinHeading.d.ts.map +0 -1
  407. package/dist/types/src/panels/JoinPanel/JoinPanel.d.ts +0 -3
  408. package/dist/types/src/panels/JoinPanel/JoinPanel.d.ts.map +0 -1
  409. package/dist/types/src/panels/JoinPanel/JoinPanelProps.d.ts +0 -54
  410. package/dist/types/src/panels/JoinPanel/JoinPanelProps.d.ts.map +0 -1
  411. package/dist/types/src/panels/JoinPanel/index.d.ts +0 -3
  412. package/dist/types/src/panels/JoinPanel/index.d.ts.map +0 -1
  413. package/dist/types/src/panels/JoinPanel/joinMachine.d.ts +0 -64
  414. package/dist/types/src/panels/JoinPanel/joinMachine.d.ts.map +0 -1
  415. package/dist/types/src/panels/JoinPanel/view-states/AdditionMethodSelector.d.ts +0 -4
  416. package/dist/types/src/panels/JoinPanel/view-states/AdditionMethodSelector.d.ts.map +0 -1
  417. package/dist/types/src/panels/JoinPanel/view-states/IdentityAdded.d.ts +0 -15
  418. package/dist/types/src/panels/JoinPanel/view-states/IdentityAdded.d.ts.map +0 -1
  419. package/dist/types/src/panels/JoinPanel/view-states/IdentityInput.d.ts +0 -6
  420. package/dist/types/src/panels/JoinPanel/view-states/IdentityInput.d.ts.map +0 -1
  421. package/dist/types/src/panels/JoinPanel/view-states/InvitationAccepted.d.ts +0 -10
  422. package/dist/types/src/panels/JoinPanel/view-states/InvitationAccepted.d.ts.map +0 -1
  423. package/dist/types/src/panels/JoinPanel/view-states/InvitationAuthenticator.d.ts +0 -7
  424. package/dist/types/src/panels/JoinPanel/view-states/InvitationAuthenticator.d.ts.map +0 -1
  425. package/dist/types/src/panels/JoinPanel/view-states/InvitationInput.d.ts +0 -6
  426. package/dist/types/src/panels/JoinPanel/view-states/InvitationInput.d.ts.map +0 -1
  427. package/dist/types/src/panels/JoinPanel/view-states/InvitationRescuer.d.ts +0 -6
  428. package/dist/types/src/panels/JoinPanel/view-states/InvitationRescuer.d.ts.map +0 -1
  429. package/dist/types/src/panels/JoinPanel/view-states/ViewState.d.ts +0 -10
  430. package/dist/types/src/panels/JoinPanel/view-states/ViewState.d.ts.map +0 -1
  431. package/dist/types/src/panels/JoinPanel/view-states/index.d.ts +0 -8
  432. package/dist/types/src/panels/JoinPanel/view-states/index.d.ts.map +0 -1
  433. package/dist/types/src/panels/SpacePanel/SpacePanel.d.ts +0 -12
  434. package/dist/types/src/panels/SpacePanel/SpacePanel.d.ts.map +0 -1
  435. package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts +0 -8
  436. package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts.map +0 -1
  437. package/dist/types/src/panels/SpacePanel/index.d.ts +0 -2
  438. package/dist/types/src/panels/SpacePanel/index.d.ts.map +0 -1
  439. package/dist/types/src/panels/index.d.ts +0 -5
  440. package/dist/types/src/panels/index.d.ts.map +0 -1
  441. package/dist/types/src/playwright/invitations-manager.d.ts +0 -25
  442. package/dist/types/src/playwright/invitations-manager.d.ts.map +0 -1
  443. package/dist/types/src/playwright/invitations.spec.d.ts +0 -2
  444. package/dist/types/src/playwright/invitations.spec.d.ts.map +0 -1
  445. package/dist/types/src/playwright/playwright.config.d.ts +0 -3
  446. package/dist/types/src/playwright/playwright.config.d.ts.map +0 -1
  447. package/dist/types/src/stories/Invitations.stories.d.ts +0 -14
  448. package/dist/types/src/stories/Invitations.stories.d.ts.map +0 -1
  449. package/dist/types/src/styles/dialogStyles.d.ts +0 -3
  450. package/dist/types/src/styles/dialogStyles.d.ts.map +0 -1
  451. package/dist/types/src/styles/index.d.ts +0 -4
  452. package/dist/types/src/styles/index.d.ts.map +0 -1
  453. package/dist/types/src/styles/invitationStatusStyles.d.ts +0 -20
  454. package/dist/types/src/styles/invitationStatusStyles.d.ts.map +0 -1
  455. package/dist/types/src/styles/panelStyles.d.ts +0 -4
  456. package/dist/types/src/styles/panelStyles.d.ts.map +0 -1
  457. package/dist/types/src/testing/index.d.ts +0 -2
  458. package/dist/types/src/testing/index.d.ts.map +0 -1
  459. package/dist/types/src/testing/shell-manager.d.ts +0 -17
  460. package/dist/types/src/testing/shell-manager.d.ts.map +0 -1
  461. package/dist/types/src/translations/index.d.ts +0 -5
  462. package/dist/types/src/translations/index.d.ts.map +0 -1
  463. package/dist/types/src/translations/locales/en-US.d.ts +0 -66
  464. package/dist/types/src/translations/locales/en-US.d.ts.map +0 -1
  465. package/dist/types/src/util/invitationStatusValue.d.ts +0 -8
  466. package/dist/types/src/util/invitationStatusValue.d.ts.map +0 -1
  467. package/dist/types/src/util/toEmoji.d.ts +0 -2
  468. package/dist/types/src/util/toEmoji.d.ts.map +0 -1
  469. package/src/components/Clipboard/ClipboardProvider.tsx +0 -26
  470. package/src/components/Clipboard/CopyButton.tsx +0 -38
  471. package/src/components/Clipboard/index.ts +0 -6
  472. package/src/components/IdentityList/DeviceList.tsx +0 -31
  473. package/src/components/IdentityList/IdentityListItem.stories.tsx +0 -23
  474. package/src/components/IdentityList/IdentityListItem.tsx +0 -48
  475. package/src/components/IdentityList/SpaceMemberList.tsx +0 -33
  476. package/src/components/IdentityList/SpaceMemberListContainer.tsx +0 -32
  477. package/src/components/IdentityList/index.ts +0 -8
  478. package/src/components/InvitationEmoji/InvitationEmoji.tsx +0 -32
  479. package/src/components/InvitationEmoji/index.ts +0 -5
  480. package/src/components/InvitationList/InvitationList.stories.tsx +0 -65
  481. package/src/components/InvitationList/InvitationList.tsx +0 -33
  482. package/src/components/InvitationList/InvitationListContainer.tsx +0 -27
  483. package/src/components/InvitationList/InvitationListItem.tsx +0 -91
  484. package/src/components/InvitationList/InvitationListProps.ts +0 -7
  485. package/src/components/InvitationList/InvitationStatusAvatar.stories.tsx +0 -52
  486. package/src/components/InvitationList/InvitationStatusAvatar.tsx +0 -91
  487. package/src/components/InvitationList/index.ts +0 -8
  488. package/src/components/PanelSeparator/PanelSeparator.tsx +0 -17
  489. package/src/components/PanelSeparator/index.ts +0 -5
  490. package/src/components/SpaceList/SpaceListItem.tsx +0 -32
  491. package/src/components/SpaceList/index.ts +0 -5
  492. package/src/composites/DevicesDialog/DevicesDialog.tsx +0 -39
  493. package/src/composites/DevicesDialog/index.ts +0 -5
  494. package/src/composites/IdentityPopover/IdentityPopover.tsx +0 -54
  495. package/src/composites/IdentityPopover/index.ts +0 -5
  496. package/src/composites/JoinDialog/JoinDialog.stories.tsx +0 -74
  497. package/src/composites/JoinDialog/JoinDialog.tsx +0 -35
  498. package/src/composites/Shell/Shell.stories.tsx +0 -93
  499. package/src/composites/Shell/Shell.tsx +0 -100
  500. package/src/composites/Shell/ShellContext.tsx +0 -178
  501. package/src/composites/Shell/index.ts +0 -6
  502. package/src/composites/SpaceDialog/SpaceDialog.tsx +0 -39
  503. package/src/composites/index.ts +0 -8
  504. package/src/layouts/PanelAlertDialog/PanelAlertDialog.tsx +0 -40
  505. package/src/layouts/PanelAlertDialog/index.ts +0 -5
  506. package/src/layouts/PanelDialog/PanelDialog.tsx +0 -41
  507. package/src/layouts/PanelPopover/PanelPopover.tsx +0 -40
  508. package/src/layouts/PanelSidebar/PanelSidebar.tsx +0 -124
  509. package/src/layouts/PanelSidebar/index.ts +0 -5
  510. package/src/layouts/index.ts +0 -8
  511. package/src/panels/DevicesPanel/DevicesPanel.tsx +0 -113
  512. package/src/panels/DevicesPanel/index.ts +0 -5
  513. package/src/panels/IdentityPanel/IdentityPanel.tsx +0 -43
  514. package/src/panels/IdentityPanel/index.ts +0 -5
  515. package/src/panels/JoinPanel/JoinHeading.tsx +0 -73
  516. package/src/panels/JoinPanel/JoinPanel.tsx +0 -247
  517. package/src/panels/JoinPanel/JoinPanelProps.ts +0 -90
  518. package/src/panels/JoinPanel/index.ts +0 -6
  519. package/src/panels/JoinPanel/joinMachine.ts +0 -444
  520. package/src/panels/JoinPanel/view-states/AdditionMethodSelector.tsx +0 -63
  521. package/src/panels/JoinPanel/view-states/IdentityAdded.tsx +0 -99
  522. package/src/panels/JoinPanel/view-states/IdentityInput.tsx +0 -81
  523. package/src/panels/JoinPanel/view-states/InvitationAccepted.tsx +0 -74
  524. package/src/panels/JoinPanel/view-states/InvitationAuthenticator.tsx +0 -152
  525. package/src/panels/JoinPanel/view-states/InvitationInput.tsx +0 -75
  526. package/src/panels/JoinPanel/view-states/InvitationRescuer.tsx +0 -115
  527. package/src/panels/JoinPanel/view-states/ViewState.tsx +0 -153
  528. package/src/panels/JoinPanel/view-states/index.ts +0 -11
  529. package/src/panels/SpacePanel/SpacePanel.stories.tsx +0 -15
  530. package/src/panels/SpacePanel/SpacePanel.tsx +0 -105
  531. package/src/panels/index.ts +0 -8
  532. package/src/playwright/invitations-manager.ts +0 -165
  533. package/src/playwright/invitations.spec.ts +0 -393
  534. package/src/playwright/playwright.config.ts +0 -7
  535. package/src/stories/Invitations.stories.tsx +0 -187
  536. package/src/styles/dialogStyles.ts +0 -8
  537. package/src/styles/index.ts +0 -7
  538. package/src/styles/invitationStatusStyles.ts +0 -42
  539. package/src/styles/panelStyles.ts +0 -7
  540. package/src/testing/index.ts +0 -5
  541. package/src/testing/shell-manager.ts +0 -79
  542. package/src/translations/index.ts +0 -7
  543. package/src/translations/locales/en-US.ts +0 -69
  544. package/src/util/invitationStatusValue.ts +0 -22
  545. package/src/util/toEmoji.ts +0 -22
  546. package/theme-extensions.js +0 -11
@@ -0,0 +1,103 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ // This implementation is based upon https://github.com/hosembafer/react-swipe-to-dismiss, commit d88deafe910a6bd1400cf8fa90459a76cf4f71d3
6
+
7
+ import { type RefObject, useCallback, useEffect, useState } from 'react';
8
+
9
+ enum MotionState {
10
+ IDLE,
11
+ DEBOUNCING,
12
+ FOLLOWING,
13
+ }
14
+
15
+ type Options = Partial<{
16
+ onDismiss: () => void;
17
+ dismissThreshold: number;
18
+ debounceThreshold: number;
19
+ side: 'inline-start' | 'inline-end';
20
+ offset: number;
21
+ }>;
22
+
23
+ export const useSwipeToDismiss = (
24
+ ref: RefObject<HTMLElement | null>,
25
+ { onDismiss, dismissThreshold = 64, debounceThreshold = 8, offset = 0 /* side = 'inline-start' */ }: Options,
26
+ ) => {
27
+ const $root = ref.current;
28
+ // todo(thure): Implement other sides.
29
+ // const dK = direction === 'inline-start' ? 1 : -1;
30
+
31
+ const [motionState, setMotionState] = useState<MotionState>(MotionState.IDLE);
32
+ const [gestureStartX, setGestureStartX] = useState(0);
33
+
34
+ const setIdle = useCallback(() => {
35
+ setMotionState(MotionState.IDLE);
36
+ $root?.style.removeProperty('inset-inline-start');
37
+ $root?.style.setProperty('transition-duration', '200ms');
38
+ }, [$root]);
39
+
40
+ const setFollowing = useCallback(() => {
41
+ setMotionState(MotionState.FOLLOWING);
42
+ $root?.style.setProperty('transition-duration', '0ms');
43
+ }, [$root]);
44
+
45
+ const handlePointerDown = useCallback(
46
+ ({ screenX }: PointerEvent) => {
47
+ if (motionState === MotionState.IDLE) {
48
+ setMotionState(MotionState.DEBOUNCING);
49
+ setGestureStartX(screenX);
50
+ }
51
+ },
52
+ [motionState],
53
+ );
54
+
55
+ const handlePointerMove = useCallback(
56
+ ({ screenX }: PointerEvent) => {
57
+ if ($root) {
58
+ const delta = Math.min(screenX - gestureStartX, 0);
59
+ switch (motionState) {
60
+ case MotionState.FOLLOWING:
61
+ if (Math.abs(delta) > dismissThreshold) {
62
+ setIdle();
63
+ onDismiss?.();
64
+ } else {
65
+ $root.style.setProperty('inset-inline-start', `${offset + delta}px`);
66
+ }
67
+ break;
68
+ case MotionState.DEBOUNCING:
69
+ if (Math.abs(delta) > debounceThreshold) {
70
+ setFollowing();
71
+ }
72
+ break;
73
+ }
74
+ }
75
+ },
76
+ [$root, motionState, gestureStartX],
77
+ );
78
+
79
+ const handlePointerUp = useCallback(() => {
80
+ setIdle();
81
+ }, [setIdle]);
82
+
83
+ useEffect(() => {
84
+ $root?.addEventListener('pointerdown', handlePointerDown);
85
+ return () => {
86
+ $root?.removeEventListener('pointerdown', handlePointerDown);
87
+ };
88
+ }, [$root, handlePointerDown]);
89
+
90
+ useEffect(() => {
91
+ $root && document.documentElement.addEventListener('pointermove', handlePointerMove);
92
+ return () => {
93
+ document.documentElement.removeEventListener('pointermove', handlePointerMove);
94
+ };
95
+ }, [$root, handlePointerMove]);
96
+
97
+ useEffect(() => {
98
+ $root && document.documentElement.addEventListener('pointerup', handlePointerUp);
99
+ return () => {
100
+ document.documentElement.removeEventListener('pointerup', handlePointerUp);
101
+ };
102
+ }, [$root, handlePointerUp]);
103
+ };
@@ -0,0 +1,39 @@
1
+ //
2
+ // Copyright 2022 DXOS.org
3
+ //
4
+
5
+ import '@dxosTheme';
6
+
7
+ import { Info } from '@phosphor-icons/react';
8
+ import React from 'react';
9
+
10
+ import { type MessageValence } from '@dxos/react-ui-types';
11
+
12
+ import { Message } from './Message';
13
+
14
+ type StoryMessageProps = {
15
+ valence: MessageValence;
16
+ title: string;
17
+ body: string;
18
+ };
19
+
20
+ const StoryMessage = ({ valence, title, body }: StoryMessageProps) => (
21
+ <Message.Root valence={valence}>
22
+ <Message.Title>
23
+ <Info className='inline w-5 h-5 mb-1' weight='duotone' /> {title}
24
+ </Message.Title>
25
+ <Message.Body>{body}</Message.Body>
26
+ </Message.Root>
27
+ );
28
+
29
+ export default {
30
+ component: StoryMessage,
31
+ };
32
+
33
+ export const Default = {
34
+ args: {
35
+ valence: 'error',
36
+ title: 'Alert title',
37
+ body: 'Alert content',
38
+ },
39
+ };
@@ -0,0 +1,109 @@
1
+ //
2
+ // Copyright 2022 DXOS.org
3
+ //
4
+
5
+ import { createContext } from '@radix-ui/react-context';
6
+ import { Primitive } from '@radix-ui/react-primitive';
7
+ import { Slot } from '@radix-ui/react-slot';
8
+ import React, { type ComponentPropsWithRef, forwardRef } from 'react';
9
+
10
+ import { useId } from '@dxos/react-hooks';
11
+ import { type MessageValence, type Elevation } from '@dxos/react-ui-types';
12
+
13
+ import { useElevationContext, useThemeContext } from '../../hooks';
14
+
15
+ type MessageRootProps = ComponentPropsWithRef<typeof Primitive.div> & {
16
+ valence?: MessageValence;
17
+ elevation?: Elevation;
18
+ asChild?: boolean;
19
+ titleId?: string;
20
+ descriptionId?: string;
21
+ };
22
+
23
+ type MessageContextValue = { titleId?: string; descriptionId: string };
24
+ const MESSAGE_NAME = 'Message';
25
+ const [MessageProvider, useMessageContext] = createContext<MessageContextValue>(MESSAGE_NAME);
26
+
27
+ const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
28
+ (
29
+ {
30
+ asChild,
31
+ valence,
32
+ elevation: propsElevation,
33
+ className,
34
+ titleId: propsTitleId,
35
+ descriptionId: propsDescriptionId,
36
+ children,
37
+ ...props
38
+ },
39
+ forwardedRef,
40
+ ) => {
41
+ const { tx } = useThemeContext();
42
+ const titleId = useId('message__title', propsTitleId);
43
+ const descriptionId = useId('message__description', propsDescriptionId);
44
+ const elevation = useElevationContext(propsElevation);
45
+ const Root = asChild ? Slot : Primitive.div;
46
+ return (
47
+ <MessageProvider {...{ titleId, descriptionId }}>
48
+ <Root
49
+ {...props}
50
+ className={tx('message.root', 'message', { valence, elevation }, className)}
51
+ aria-labelledby={titleId}
52
+ aria-describedby={descriptionId}
53
+ ref={forwardedRef}
54
+ >
55
+ {children}
56
+ </Root>
57
+ </MessageProvider>
58
+ );
59
+ },
60
+ );
61
+
62
+ MessageRoot.displayName = MESSAGE_NAME;
63
+
64
+ type MessageTitleProps = Omit<ComponentPropsWithRef<typeof Primitive.h2>, 'id'> & { asChild?: boolean };
65
+
66
+ const MESSAGE_TITLE_NAME = 'MessageTitle';
67
+
68
+ const MessageTitle = forwardRef<HTMLHeadingElement, MessageTitleProps>(
69
+ ({ asChild, className, children, ...props }, forwardedRef) => {
70
+ const { tx } = useThemeContext();
71
+ const { titleId } = useMessageContext(MESSAGE_TITLE_NAME);
72
+ const Root = asChild ? Slot : Primitive.h2;
73
+ return (
74
+ <Root {...props} className={tx('message.title', 'message__title', {}, className)} id={titleId} ref={forwardedRef}>
75
+ {children}
76
+ </Root>
77
+ );
78
+ },
79
+ );
80
+
81
+ MessageTitle.displayName = MESSAGE_TITLE_NAME;
82
+
83
+ type MessageBodyProps = Omit<ComponentPropsWithRef<typeof Primitive.h2>, 'id'> & { asChild?: boolean };
84
+
85
+ const MESSAGE_BODY_NAME = 'MessageBody';
86
+
87
+ const MessageBody = forwardRef<HTMLParagraphElement, MessageBodyProps>(
88
+ ({ asChild, className, children, ...props }, forwardedRef) => {
89
+ const { tx } = useThemeContext();
90
+ const { descriptionId } = useMessageContext(MESSAGE_BODY_NAME);
91
+ const Root = asChild ? Slot : Primitive.p;
92
+ return (
93
+ <Root
94
+ {...props}
95
+ className={tx('message.body', 'message__body', {}, className)}
96
+ id={descriptionId}
97
+ ref={forwardedRef}
98
+ >
99
+ {children}
100
+ </Root>
101
+ );
102
+ },
103
+ );
104
+
105
+ MessageBody.displayName = MESSAGE_BODY_NAME;
106
+
107
+ export const Message = { Root: MessageRoot, Title: MessageTitle, Body: MessageBody };
108
+
109
+ export type { MessageRootProps, MessageTitleProps, MessageBodyProps };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2022 DXOS.org
3
+ //
4
+
5
+ export * from './Message';
@@ -0,0 +1,38 @@
1
+ //
2
+ // Copyright 2022 DXOS.org
3
+ //
4
+
5
+ import '@dxosTheme';
6
+
7
+ import { faker } from '@faker-js/faker';
8
+ import React, { type PropsWithChildren, type ReactNode } from 'react';
9
+
10
+ import { Popover } from './Popover';
11
+ import { Button } from '../Buttons';
12
+
13
+ faker.seed(1234);
14
+
15
+ const StorybookPopover = ({ openTrigger, children }: PropsWithChildren<{ openTrigger: ReactNode }>) => {
16
+ return (
17
+ <Popover.Root defaultOpen>
18
+ <Popover.Trigger asChild>{openTrigger}</Popover.Trigger>
19
+ <Popover.Content>
20
+ <Popover.Viewport>
21
+ <p className='pli-2 plb-1 min-is-[18rem] max-is-[38rem]'>{children}</p>
22
+ </Popover.Viewport>
23
+ <Popover.Arrow />
24
+ </Popover.Content>
25
+ </Popover.Root>
26
+ );
27
+ };
28
+
29
+ export default {
30
+ component: StorybookPopover,
31
+ };
32
+
33
+ export const Default = {
34
+ args: {
35
+ openTrigger: <Button>Open popover</Button>,
36
+ children: faker.lorem.paragraphs(3),
37
+ },
38
+ };
@@ -0,0 +1,123 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import {
6
+ Root as PopoverRootPrimitive,
7
+ type PopoverProps as PopoverRootPrimitiveProps,
8
+ type PopoverContentProps as PopoverContentPrimitiveProps,
9
+ PopoverContent as PopoverContentPrimitive,
10
+ type PopoverTriggerProps as PopoverTriggerPrimitiveProps,
11
+ PopoverTrigger as PopoverTriggerPrimitive,
12
+ type PopoverAnchorProps as PopoverAnchorPrimitiveProps,
13
+ PopoverAnchor as PopoverAnchorPrimitive,
14
+ type PopoverPortalProps as PopoverPortalPrimitiveProps,
15
+ PopoverPortal as PopoverPortalPrimitive,
16
+ type PopoverArrowProps as PopoverArrowPrimitiveProps,
17
+ PopoverArrow as PopoverArrowPrimitive,
18
+ type PopoverCloseProps as PopoverClosePrimitiveProps,
19
+ PopoverClose as PopoverClosePrimitive,
20
+ } from '@radix-ui/react-popover';
21
+ import { Primitive } from '@radix-ui/react-primitive';
22
+ import { Slot } from '@radix-ui/react-slot';
23
+ import React, { type ComponentPropsWithRef, forwardRef, type FunctionComponent } from 'react';
24
+
25
+ import { useThemeContext } from '../../hooks';
26
+ import { type ThemedClassName } from '../../util';
27
+ import { ElevationProvider } from '../ElevationProvider';
28
+
29
+ type PopoverRootProps = PopoverRootPrimitiveProps;
30
+
31
+ const PopoverRoot: FunctionComponent<PopoverRootProps> = PopoverRootPrimitive;
32
+
33
+ type PopoverPortalProps = PopoverPortalPrimitiveProps;
34
+
35
+ const PopoverPortal = PopoverPortalPrimitive;
36
+
37
+ type PopoverTriggerProps = PopoverTriggerPrimitiveProps;
38
+
39
+ const PopoverTrigger = PopoverTriggerPrimitive;
40
+
41
+ type PopoverAnchorProps = PopoverAnchorPrimitiveProps;
42
+
43
+ const PopoverAnchor = PopoverAnchorPrimitive;
44
+
45
+ type PopoverCloseProps = PopoverClosePrimitiveProps;
46
+
47
+ const PopoverClose = PopoverClosePrimitive;
48
+
49
+ type PopoverArrowProps = ThemedClassName<PopoverArrowPrimitiveProps>;
50
+
51
+ const PopoverArrow = forwardRef<SVGSVGElement, PopoverArrowProps>(({ classNames, ...props }, forwardedRef) => {
52
+ const { tx } = useThemeContext();
53
+ return (
54
+ <PopoverArrowPrimitive
55
+ {...props}
56
+ className={tx('popover.arrow', 'popover__arrow', {}, classNames)}
57
+ ref={forwardedRef}
58
+ />
59
+ );
60
+ });
61
+
62
+ type PopoverContentProps = ThemedClassName<PopoverContentPrimitiveProps>;
63
+
64
+ const PopoverContent = forwardRef<HTMLDivElement, PopoverContentProps>(
65
+ ({ classNames, children, ...props }, forwardedRef) => {
66
+ const { tx } = useThemeContext();
67
+ return (
68
+ <PopoverContentPrimitive
69
+ sideOffset={4}
70
+ collisionPadding={8}
71
+ {...props}
72
+ className={tx('popover.content', 'popover', {}, classNames)}
73
+ ref={forwardedRef}
74
+ >
75
+ <ElevationProvider elevation='chrome'>{children}</ElevationProvider>
76
+ </PopoverContentPrimitive>
77
+ );
78
+ },
79
+ );
80
+
81
+ type PopoverViewportProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.div>> & {
82
+ asChild?: boolean;
83
+ constrainInline?: boolean;
84
+ constrainBlock?: boolean;
85
+ };
86
+
87
+ const PopoverViewport = forwardRef<HTMLDivElement, PopoverViewportProps>(
88
+ ({ classNames, asChild, constrainInline = true, constrainBlock = true, children, ...props }, forwardedRef) => {
89
+ const { tx } = useThemeContext();
90
+ const Root = asChild ? Slot : Primitive.div;
91
+ return (
92
+ <Root
93
+ {...props}
94
+ className={tx('popover.viewport', 'popover__viewport', { constrainInline, constrainBlock }, classNames)}
95
+ ref={forwardedRef}
96
+ >
97
+ {children}
98
+ </Root>
99
+ );
100
+ },
101
+ );
102
+
103
+ export const Popover = {
104
+ Root: PopoverRoot,
105
+ Portal: PopoverPortal,
106
+ Trigger: PopoverTrigger,
107
+ Anchor: PopoverAnchor,
108
+ Arrow: PopoverArrow,
109
+ Close: PopoverClose,
110
+ Content: PopoverContent,
111
+ Viewport: PopoverViewport,
112
+ };
113
+
114
+ export type {
115
+ PopoverRootProps,
116
+ PopoverPortalProps,
117
+ PopoverTriggerProps,
118
+ PopoverAnchorProps,
119
+ PopoverArrowProps,
120
+ PopoverCloseProps,
121
+ PopoverContentProps,
122
+ PopoverViewportProps,
123
+ };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ export * from './Popover';
@@ -0,0 +1,33 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import '@dxosTheme';
6
+
7
+ import React from 'react';
8
+
9
+ import { ProgressBar } from './ProgressBar';
10
+
11
+ export default {
12
+ component: ProgressBar,
13
+ actions: { argTypesRegex: '^on.*' },
14
+ };
15
+
16
+ export const Normal = (props: any) => {
17
+ return (
18
+ <div className='flex flex-col gap-5'>
19
+ <ProgressBar progress={0} {...props} />
20
+ <ProgressBar progress={0.3} {...props} />
21
+ <ProgressBar progress={0.7} {...props} />
22
+ <ProgressBar progress={1} {...props} />
23
+ </div>
24
+ );
25
+ };
26
+
27
+ export const Indeterminate = (props: any) => {
28
+ return (
29
+ <>
30
+ <ProgressBar className='m-4' indeterminate {...props} />
31
+ </>
32
+ );
33
+ };
@@ -0,0 +1,29 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import React from 'react';
6
+
7
+ export type ProgressBarProps = {
8
+ indeterminate?: boolean;
9
+ progress?: number;
10
+ className?: string;
11
+ };
12
+
13
+ export const ProgressBar = (props: ProgressBarProps) => {
14
+ const { className, indeterminate = false, progress = 0 } = props;
15
+ return (
16
+ <span
17
+ role='none'
18
+ className={'w-20 h-1 inline-block relative bg-neutral-400/25 rounded-full' + (className ? ' ' + className : '')}
19
+ >
20
+ <span
21
+ className={
22
+ 'absolute left-0 top-0 bottom-0 inline-block bg-neutral-400 rounded-full' +
23
+ (indeterminate ? ' animate-progress-indeterminate' : '')
24
+ }
25
+ {...(indeterminate ? {} : { style: { width: `${(progress * 100).toFixed(0)}%` } })}
26
+ />
27
+ </span>
28
+ );
29
+ };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ export * from './ProgressBar';
@@ -0,0 +1,43 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import '@dxosTheme';
6
+
7
+ import { faker } from '@faker-js/faker';
8
+ import React, { type PropsWithChildren } from 'react';
9
+
10
+ import { groupSurface, surfaceElevation } from '@dxos/react-ui-theme';
11
+
12
+ import { ScrollArea } from './ScrollArea';
13
+
14
+ faker.seed(1234);
15
+
16
+ const StorybookScrollArea = ({ children }: PropsWithChildren<{}>) => {
17
+ return (
18
+ <ScrollArea.Root
19
+ classNames={['is-[300px] bs-[400px] rounded', groupSurface, surfaceElevation({ elevation: 'group' })]}
20
+ >
21
+ <ScrollArea.Viewport classNames='rounded p-4'>
22
+ <p>{children}</p>
23
+ </ScrollArea.Viewport>
24
+ <ScrollArea.Scrollbar orientation='horizontal'>
25
+ <ScrollArea.Thumb />
26
+ </ScrollArea.Scrollbar>
27
+ <ScrollArea.Scrollbar orientation='vertical'>
28
+ <ScrollArea.Thumb />
29
+ </ScrollArea.Scrollbar>
30
+ <ScrollArea.Corner />
31
+ </ScrollArea.Root>
32
+ );
33
+ };
34
+
35
+ export default {
36
+ component: StorybookScrollArea,
37
+ };
38
+
39
+ export const Default = {
40
+ args: {
41
+ children: faker.lorem.paragraphs(5),
42
+ },
43
+ };
@@ -0,0 +1,105 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import {
6
+ Root as ScrollAreaPrimitiveRoot,
7
+ type ScrollAreaProps as ScrollAreaPrimitiveRootProps,
8
+ Viewport as ScrollAreaPrimitiveViewport,
9
+ type ScrollAreaViewportProps as ScrollAreaPrimitiveViewportProps,
10
+ Scrollbar as ScrollAreaPrimitiveScrollbar,
11
+ type ScrollAreaScrollbarProps as ScrollAreaPrimitiveScrollbarProps,
12
+ Thumb as ScrollAreaPrimitiveThumb,
13
+ type ScrollAreaThumbProps as ScrollAreaPrimitiveThumbProps,
14
+ Corner as ScrollAreaPrimitiveCorner,
15
+ type ScrollAreaCornerProps as ScrollAreaPrimitiveCornerProps,
16
+ } from '@radix-ui/react-scroll-area';
17
+ import React, { forwardRef } from 'react';
18
+
19
+ import { useThemeContext } from '../../hooks';
20
+ import { type ThemedClassName } from '../../util';
21
+
22
+ type ScrollAreaRootProps = ThemedClassName<ScrollAreaPrimitiveRootProps>;
23
+
24
+ const ScrollAreaRoot = forwardRef<HTMLDivElement, ScrollAreaRootProps>(({ classNames, ...props }, forwardedRef) => {
25
+ const { tx } = useThemeContext();
26
+ return (
27
+ <ScrollAreaPrimitiveRoot
28
+ {...props}
29
+ className={tx('scrollArea.root', 'scroll-area', {}, classNames)}
30
+ ref={forwardedRef}
31
+ />
32
+ );
33
+ });
34
+
35
+ type ScrollAreaViewportProps = ThemedClassName<ScrollAreaPrimitiveViewportProps>;
36
+
37
+ const ScrollAreaViewport = forwardRef<HTMLDivElement, ScrollAreaViewportProps>(
38
+ ({ classNames, ...props }, forwardedRef) => {
39
+ const { tx } = useThemeContext();
40
+ return (
41
+ <ScrollAreaPrimitiveViewport
42
+ {...props}
43
+ className={tx('scrollArea.viewport', 'scroll-area', {}, classNames)}
44
+ ref={forwardedRef}
45
+ />
46
+ );
47
+ },
48
+ );
49
+
50
+ type ScrollAreaScrollbarProps = ThemedClassName<ScrollAreaPrimitiveScrollbarProps>;
51
+
52
+ const ScrollAreaScrollbar = forwardRef<HTMLDivElement, ScrollAreaScrollbarProps>(
53
+ ({ classNames, ...props }, forwardedRef) => {
54
+ const { tx } = useThemeContext();
55
+ return (
56
+ <ScrollAreaPrimitiveScrollbar
57
+ {...props}
58
+ className={tx('scrollArea.scrollbar', 'scroll-area__scrollbar', {}, classNames)}
59
+ ref={forwardedRef}
60
+ />
61
+ );
62
+ },
63
+ );
64
+
65
+ type ScrollAreaThumbProps = ThemedClassName<ScrollAreaPrimitiveThumbProps>;
66
+
67
+ const ScrollAreaThumb = forwardRef<HTMLDivElement, ScrollAreaThumbProps>(({ classNames, ...props }, forwardedRef) => {
68
+ const { tx } = useThemeContext();
69
+ return (
70
+ <ScrollAreaPrimitiveThumb
71
+ {...props}
72
+ className={tx('scrollArea.thumb', 'scroll-area__thumb', {}, classNames)}
73
+ ref={forwardedRef}
74
+ />
75
+ );
76
+ });
77
+
78
+ type ScrollAreaCornerProps = ThemedClassName<ScrollAreaPrimitiveCornerProps>;
79
+
80
+ const ScrollAreaCorner = forwardRef<HTMLDivElement, ScrollAreaCornerProps>(({ classNames, ...props }, forwardedRef) => {
81
+ const { tx } = useThemeContext();
82
+ return (
83
+ <ScrollAreaPrimitiveCorner
84
+ {...props}
85
+ className={tx('scrollArea.corner', 'scroll-area__corner', {}, classNames)}
86
+ ref={forwardedRef}
87
+ />
88
+ );
89
+ });
90
+
91
+ export const ScrollArea = {
92
+ Root: ScrollAreaRoot,
93
+ Viewport: ScrollAreaViewport,
94
+ Scrollbar: ScrollAreaScrollbar,
95
+ Thumb: ScrollAreaThumb,
96
+ Corner: ScrollAreaCorner,
97
+ };
98
+
99
+ export type {
100
+ ScrollAreaRootProps,
101
+ ScrollAreaViewportProps,
102
+ ScrollAreaScrollbarProps,
103
+ ScrollAreaThumbProps,
104
+ ScrollAreaCornerProps,
105
+ };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ export * from './ScrollArea';