@dxos/react-ui 0.1.41-next.adfd7c6 → 0.3.3-main.3ce60d4

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
@@ -1,93 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import '@dxosTheme';
6
- import { faker } from '@faker-js/faker';
7
- import { Intersect, Laptop, PlusCircle } from '@phosphor-icons/react';
8
- import React, { useState } from 'react';
9
-
10
- import { PublicKey, ShellLayout } from '@dxos/client';
11
- import { useClient, useSpace, useSpaces } from '@dxos/react-client';
12
- import { ClientDecorator } from '@dxos/react-client/testing';
13
- import {
14
- Button,
15
- ButtonGroup,
16
- getSize,
17
- Group,
18
- TooltipRoot,
19
- TooltipContent,
20
- TooltipTrigger
21
- } from '@dxos/react-components';
22
-
23
- import { SpaceListItem } from '../../components';
24
- import { ShellProvider, useShell } from './ShellContext';
25
-
26
- export default {
27
- component: ShellProvider
28
- };
29
-
30
- const ShellControls = () => {
31
- const client = useClient();
32
- const spaces = useSpaces();
33
- const shell = useShell();
34
-
35
- const controls = (
36
- <ButtonGroup className='mbe-4'>
37
- <TooltipRoot>
38
- <TooltipContent>Devices</TooltipContent>
39
- <TooltipTrigger asChild>
40
- <Button onClick={() => shell.setLayout(ShellLayout.DEVICE_INVITATIONS)}>
41
- <Laptop weight='fill' className={getSize(6)} />
42
- </Button>
43
- </TooltipTrigger>
44
- </TooltipRoot>
45
- <TooltipRoot>
46
- <TooltipContent>Create Space</TooltipContent>
47
- <TooltipTrigger asChild>
48
- <Button onClick={() => client.createSpace({ name: faker.animal.bird() })}>
49
- <PlusCircle weight='fill' className={getSize(6)} />
50
- </Button>
51
- </TooltipTrigger>
52
- </TooltipRoot>
53
- <TooltipRoot>
54
- <TooltipContent>Join Space</TooltipContent>
55
- <TooltipTrigger asChild>
56
- <Button onClick={() => shell.setLayout(ShellLayout.JOIN_SPACE)}>
57
- <Intersect weight='fill' className={getSize(6)} />
58
- </Button>
59
- </TooltipTrigger>
60
- </TooltipRoot>
61
- </ButtonGroup>
62
- );
63
-
64
- const header = <div className='flex flex-row-reverse'>{controls}</div>;
65
-
66
- return (
67
- <Group label={{ children: header }} className='flex flex-col w-96'>
68
- <ul>
69
- {spaces.map((space) => (
70
- <SpaceListItem
71
- key={space.key.toHex()}
72
- space={space}
73
- onClick={() => shell.setLayout(ShellLayout.SPACE_INVITATIONS, { spaceKey: space.key })}
74
- />
75
- ))}
76
- </ul>
77
- </Group>
78
- );
79
- };
80
-
81
- export const Default = {
82
- render: () => {
83
- const [spaceKey, setSpaceKey] = useState<PublicKey>();
84
- const space = useSpace(spaceKey);
85
-
86
- return (
87
- <ShellProvider space={space} onJoinedSpace={setSpaceKey}>
88
- <ShellControls />
89
- </ShellProvider>
90
- );
91
- },
92
- decorators: [ClientDecorator()]
93
- };
@@ -1,100 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React, { useEffect, useState } from 'react';
6
-
7
- import { ShellRuntime } from '@dxos/client-services';
8
- import { log } from '@dxos/log';
9
- import { LayoutRequest, ShellDisplay, ShellLayout } from '@dxos/protocols/proto/dxos/iframe';
10
- import { useClient, useSpace, useSpaces } from '@dxos/react-client';
11
-
12
- import { DevicesDialog } from '../DevicesDialog';
13
- import { JoinDialog } from '../JoinDialog';
14
- import { SpaceDialog } from '../SpaceDialog';
15
-
16
- export const Shell = ({ runtime, origin }: { runtime: ShellRuntime; origin: string }) => {
17
- const [{ layout, invitationCode, spaceKey }, setLayout] = useState<LayoutRequest>({
18
- layout: runtime.layout,
19
- invitationCode: runtime.invitationCode,
20
- spaceKey: runtime.spaceKey
21
- });
22
-
23
- const client = useClient();
24
- const spaces = useSpaces();
25
- const space = useSpace(spaceKey);
26
-
27
- useEffect(() => {
28
- return runtime.layoutUpdate.on((request) => setLayout(request));
29
- }, [runtime]);
30
-
31
- useEffect(() => {
32
- if (layout === ShellLayout.SPACE_INVITATIONS && !space) {
33
- log.warn('No space found for shell space invitations.');
34
-
35
- const timeout = setTimeout(async () => {
36
- await runtime.setAppContext({ display: ShellDisplay.NONE });
37
- runtime.setLayout(ShellLayout.DEFAULT);
38
- });
39
-
40
- return () => clearTimeout(timeout);
41
- }
42
- }, [runtime, layout, space]);
43
-
44
- switch (layout) {
45
- case ShellLayout.INITIALIZE_IDENTITY:
46
- return (
47
- <JoinDialog
48
- mode='halo-only'
49
- initialInvitationCode={invitationCode}
50
- onDone={() => {
51
- void runtime.setAppContext({ display: ShellDisplay.NONE });
52
- runtime.setLayout(ShellLayout.DEFAULT);
53
- // TODO(wittjosiah): Support this first-class inside client?
54
- spaces.length > 0 || client.createSpace();
55
- }}
56
- />
57
- );
58
-
59
- case ShellLayout.DEVICE_INVITATIONS:
60
- return (
61
- <DevicesDialog
62
- createInvitationUrl={(invitationCode) => `${origin}?haloInvitationCode=${invitationCode}`}
63
- onDone={async () => {
64
- await runtime.setAppContext({ display: ShellDisplay.NONE });
65
- runtime.setLayout(ShellLayout.DEFAULT);
66
- }}
67
- />
68
- );
69
-
70
- case ShellLayout.SPACE_INVITATIONS:
71
- return space ? (
72
- <SpaceDialog
73
- space={space}
74
- createInvitationUrl={(invitationCode) => `${origin}?spaceInvitationCode=${invitationCode}`}
75
- onDone={async () => {
76
- await runtime.setAppContext({ display: ShellDisplay.NONE });
77
- runtime.setLayout(ShellLayout.DEFAULT);
78
- }}
79
- />
80
- ) : null;
81
-
82
- case ShellLayout.JOIN_SPACE:
83
- return (
84
- <JoinDialog
85
- initialInvitationCode={invitationCode}
86
- onDone={async (result) => {
87
- await runtime.setAppContext({ display: ShellDisplay.NONE, spaceKey: result?.spaceKey ?? undefined });
88
- runtime.setLayout(ShellLayout.DEFAULT);
89
- }}
90
- onExit={async () => {
91
- await runtime.setAppContext({ display: ShellDisplay.NONE });
92
- runtime.setLayout(ShellLayout.DEFAULT);
93
- }}
94
- />
95
- );
96
-
97
- default:
98
- return null;
99
- }
100
- };
@@ -1,178 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React, {
6
- Context,
7
- createContext,
8
- PropsWithChildren,
9
- useCallback,
10
- useContext,
11
- useEffect,
12
- useMemo,
13
- useState
14
- } from 'react';
15
-
16
- import {
17
- IFrameClientServicesProxy,
18
- type PublicKey,
19
- type ShellController,
20
- ShellDisplay,
21
- ShellLayout,
22
- type Space
23
- } from '@dxos/client';
24
- import { MemoryShellRuntime } from '@dxos/client-services';
25
- import { useClient, useIdentity } from '@dxos/react-client';
26
- import { mx } from '@dxos/react-components';
27
-
28
- import { Shell } from './Shell';
29
-
30
- export type ShellContextProps = {
31
- runtime?: MemoryShellRuntime;
32
- setDisplay?: (display: ShellDisplay) => void;
33
- };
34
-
35
- export const ShellContext: Context<ShellContextProps> = createContext<ShellContextProps>({});
36
-
37
- export const useShell = (): {
38
- setLayout: ShellController['setLayout'];
39
- } => {
40
- const client = useClient();
41
- const { runtime, setDisplay } = useContext(ShellContext);
42
-
43
- const setLayout: ShellController['setLayout'] = async (layout, options) => {
44
- if (runtime) {
45
- if (layout === ShellLayout.DEFAULT) {
46
- setDisplay?.(ShellDisplay.NONE);
47
- } else {
48
- setDisplay?.(ShellDisplay.FULLSCREEN);
49
- }
50
-
51
- runtime.setLayout(layout, options);
52
- }
53
-
54
- if (client.services instanceof IFrameClientServicesProxy) {
55
- await client.services.setLayout(layout, options);
56
- }
57
- };
58
-
59
- return {
60
- setLayout
61
- };
62
- };
63
- export type ShellProviderProps = PropsWithChildren<{
64
- space?: Space;
65
- // TODO(wittjosiah): `deviceInvitationCode`.
66
- haloInvitationCode?: string | null;
67
- spaceInvitationCode?: string | null;
68
- onJoinedSpace?: (spaceKey?: PublicKey) => void;
69
- }>;
70
-
71
- /**
72
- * Renders the DXOS shell and provides a way to set the layout of the shell from the rest of the app.
73
- */
74
- export const ShellProvider = ({
75
- space,
76
- haloInvitationCode,
77
- spaceInvitationCode,
78
- onJoinedSpace,
79
- children
80
- }: ShellProviderProps) => {
81
- //
82
- // IFrame Shell
83
- //
84
-
85
- useEffect(() => {
86
- if (client.services instanceof IFrameClientServicesProxy && onJoinedSpace) {
87
- return client.services.joinedSpace.on(onJoinedSpace);
88
- }
89
- }, []);
90
-
91
- useEffect(() => {
92
- if (client.services instanceof IFrameClientServicesProxy) {
93
- client.services.setSpaceProvider(() => space?.key);
94
- }
95
- }, [space]);
96
-
97
- //
98
- // Component Shell
99
- //
100
-
101
- const client = useClient();
102
- const identity = useIdentity();
103
- const [display, setDisplay] = useState(
104
- !identity || spaceInvitationCode || haloInvitationCode ? ShellDisplay.FULLSCREEN : ShellDisplay.NONE
105
- );
106
-
107
- const shellRuntime = useMemo(() => {
108
- if (client.config.get('runtime.app.env.DX_VAULT') !== 'false') {
109
- return;
110
- }
111
-
112
- if (spaceInvitationCode) {
113
- return new MemoryShellRuntime({
114
- layout: ShellLayout.JOIN_SPACE,
115
- invitationCode: spaceInvitationCode
116
- });
117
- }
118
-
119
- if (haloInvitationCode) {
120
- return new MemoryShellRuntime({
121
- layout: ShellLayout.INITIALIZE_IDENTITY,
122
- invitationCode: haloInvitationCode
123
- });
124
- }
125
-
126
- return new MemoryShellRuntime({ layout: identity ? ShellLayout.DEFAULT : ShellLayout.INITIALIZE_IDENTITY });
127
- }, [client, identity, spaceInvitationCode, haloInvitationCode]);
128
-
129
- const handleKeyDown = useCallback(
130
- (event: KeyboardEvent) => {
131
- if (!space || !shellRuntime) {
132
- return;
133
- }
134
-
135
- const modifier = event.ctrlKey || event.metaKey;
136
- if (event.key === '>' && event.shiftKey && modifier) {
137
- shellRuntime.setLayout(ShellLayout.DEVICE_INVITATIONS);
138
- setDisplay(ShellDisplay.FULLSCREEN);
139
- } else if (event.key === '.' && modifier) {
140
- shellRuntime.setLayout(ShellLayout.SPACE_INVITATIONS, { spaceKey: space.key });
141
- setDisplay(ShellDisplay.FULLSCREEN);
142
- }
143
- },
144
- [space, shellRuntime]
145
- );
146
-
147
- useEffect(() => {
148
- if (!shellRuntime) {
149
- return;
150
- }
151
-
152
- window.addEventListener('keydown', handleKeyDown);
153
- return () => window.removeEventListener('keydown', handleKeyDown);
154
- }, [shellRuntime, handleKeyDown]);
155
-
156
- useEffect(() => {
157
- if (!shellRuntime) {
158
- return;
159
- }
160
-
161
- return shellRuntime.contextUpdate.on(({ display, spaceKey }) => {
162
- setDisplay(display);
163
- onJoinedSpace?.(spaceKey);
164
- });
165
- }, [shellRuntime]);
166
-
167
- return (
168
- <>
169
- {shellRuntime && (
170
- <div className={mx(display === ShellDisplay.NONE ? 'hidden' : '')}>
171
- <Shell runtime={shellRuntime} origin={window.location.origin} />
172
- </div>
173
- )}
174
-
175
- <ShellContext.Provider value={{ runtime: shellRuntime, setDisplay }}>{children}</ShellContext.Provider>
176
- </>
177
- );
178
- };
@@ -1,6 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- export * from './Shell';
6
- export * from './ShellContext';
@@ -1,39 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { Close } from '@radix-ui/react-dialog';
6
- import React from 'react';
7
-
8
- import { ThemeContext, useId, useThemeContext } from '@dxos/react-components';
9
-
10
- import { PanelDialog, PanelDialogProps } from '../../layouts';
11
- import { SpacePanel, SpacePanelProps } from '../../panels';
12
-
13
- export interface SpaceDialogProps
14
- extends Omit<PanelDialogProps, 'titleId' | 'children'>,
15
- Omit<SpacePanelProps, 'doneActionParent'> {}
16
-
17
- export const SpaceDialog = ({ slots, ...spacePanelProps }: SpaceDialogProps) => {
18
- const titleId = useId('spaceDialog__title');
19
- const themeContextValue = useThemeContext();
20
-
21
- return (
22
- <PanelDialog
23
- {...{
24
- slots: { ...slots, root: { onOpenChange: (open) => open || spacePanelProps.onDone?.(), ...slots?.root } },
25
- titleId
26
- }}
27
- >
28
- <ThemeContext.Provider value={{ ...themeContextValue, themeVariant: 'os' }}>
29
- <SpacePanel
30
- {...{
31
- ...spacePanelProps,
32
- titleId,
33
- doneActionParent: <Close asChild />
34
- }}
35
- />
36
- </ThemeContext.Provider>
37
- </PanelDialog>
38
- );
39
- };
@@ -1,8 +0,0 @@
1
- //
2
- // Copyright 2022 DXOS.org
3
- //
4
-
5
- export * from './IdentityPopover';
6
- export * from './JoinDialog';
7
- export * from './Shell';
8
- export * from './SpaceDialog';
@@ -1,40 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import * as AlertDialog from '@radix-ui/react-alert-dialog';
6
- import React, { ComponentPropsWithoutRef, PropsWithChildren } from 'react';
7
-
8
- import { mx } from '@dxos/react-components';
9
-
10
- import { defaultDialogContent, defaultOverlay } from '../../styles';
11
-
12
- export interface PanelAlertDialogSlots {
13
- root: ComponentPropsWithoutRef<typeof AlertDialog.Root>;
14
- overlay: ComponentPropsWithoutRef<typeof AlertDialog.Overlay>;
15
- content: ComponentPropsWithoutRef<typeof AlertDialog.Content>;
16
- trigger: ComponentPropsWithoutRef<typeof AlertDialog.Trigger>;
17
- }
18
-
19
- export type PanelAlertDialogProps = PropsWithChildren<{
20
- titleId: string;
21
- slots?: Partial<PanelAlertDialogSlots>;
22
- }>;
23
-
24
- export const PanelAlertDialog = ({ titleId, slots = {}, children }: PanelAlertDialogProps) => {
25
- return (
26
- <AlertDialog.Root defaultOpen {...slots.root}>
27
- {slots.trigger && <AlertDialog.Trigger {...slots.trigger} />}
28
- <AlertDialog.Overlay {...slots.overlay} className={mx(defaultOverlay, 'z-40', slots.overlay?.className)}>
29
- <AlertDialog.Content
30
- onEscapeKeyDown={(event) => event.preventDefault()}
31
- {...slots.content}
32
- aria-labelledby={titleId}
33
- className={mx(defaultDialogContent, slots.content?.className)}
34
- >
35
- {children}
36
- </AlertDialog.Content>
37
- </AlertDialog.Overlay>
38
- </AlertDialog.Root>
39
- );
40
- };
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- export * from './PanelAlertDialog';
@@ -1,41 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import * as Dialog from '@radix-ui/react-dialog';
6
- import React, { ComponentPropsWithoutRef, PropsWithChildren } from 'react';
7
-
8
- import { mx } from '@dxos/react-components';
9
-
10
- import { defaultDialogContent, defaultOverlay } from '../../styles';
11
-
12
- export interface PanelDialogSlots {
13
- root: ComponentPropsWithoutRef<typeof Dialog.Root>;
14
- overlay: ComponentPropsWithoutRef<typeof Dialog.Overlay>;
15
- content: ComponentPropsWithoutRef<typeof Dialog.Content>;
16
- trigger: ComponentPropsWithoutRef<typeof Dialog.Trigger>;
17
- }
18
-
19
- export type PanelDialogProps = PropsWithChildren<{
20
- titleId: string;
21
- slots?: Partial<PanelDialogSlots>;
22
- }>;
23
-
24
- export const PanelDialog = ({ titleId, slots = {}, children }: PanelDialogProps) => {
25
- return (
26
- <Dialog.Root defaultOpen {...slots.root}>
27
- {slots.trigger && <Dialog.Trigger {...slots.trigger} />}
28
- <Dialog.Overlay {...slots.overlay} className={mx(defaultOverlay, 'z-40', slots.overlay?.className)}>
29
- <Dialog.Content
30
- onOpenAutoFocus={(event) => event.preventDefault()}
31
- onCloseAutoFocus={(event) => event.preventDefault()}
32
- {...slots.content}
33
- aria-labelledby={titleId}
34
- className={mx(defaultDialogContent, slots.content?.className)}
35
- >
36
- {children}
37
- </Dialog.Content>
38
- </Dialog.Overlay>
39
- </Dialog.Root>
40
- );
41
- };
@@ -1,40 +0,0 @@
1
- //
2
- // Copyright 2022 DXOS.org
3
- //
4
-
5
- import React, { ComponentProps } from 'react';
6
-
7
- import { mx, Popover } from '@dxos/react-components';
8
-
9
- import { defaultSurface, defaultArrow } from '../../styles';
10
-
11
- /**
12
- * This component essentially sets default styles for popovers which have panels as their content
13
- * @param slots
14
- * @param children
15
- * @param popoverProps
16
- * @constructor
17
- */
18
- export const PanelPopover = ({ slots, children, ...popoverProps }: ComponentProps<typeof Popover>) => {
19
- return (
20
- <Popover
21
- slots={{
22
- arrow: { ...slots?.arrow, className: mx(defaultArrow, slots?.arrow?.className) },
23
- content: {
24
- collisionPadding: 8,
25
- sideOffset: 4,
26
- ...slots?.content,
27
- className: mx(defaultSurface, slots?.content?.className)
28
- },
29
- trigger: {
30
- ...slots?.trigger,
31
- className: mx('', slots?.trigger?.className)
32
- },
33
- ...slots
34
- }}
35
- {...popoverProps}
36
- >
37
- {children}
38
- </Popover>
39
- );
40
- };
@@ -1,124 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import * as DialogPrimitive from '@radix-ui/react-dialog';
6
- import React, {
7
- ComponentProps,
8
- createContext,
9
- Dispatch,
10
- PropsWithChildren,
11
- SetStateAction,
12
- useCallback,
13
- useContext,
14
- useState
15
- } from 'react';
16
-
17
- import { defaultOverlay, mx, useMediaQuery, useTranslation } from '@dxos/react-components';
18
-
19
- export type PanelSidebarState = 'show' | 'hide';
20
-
21
- export interface PanelSidebarContextValue {
22
- setDisplayState: Dispatch<SetStateAction<PanelSidebarState>>;
23
- displayState: PanelSidebarState;
24
- }
25
-
26
- export const PanelSidebarContext = createContext<PanelSidebarContextValue>({
27
- displayState: 'hide',
28
- setDisplayState: () => {}
29
- });
30
-
31
- export const useTogglePanelSidebar = () => {
32
- const { displayState, setDisplayState } = useContext(PanelSidebarContext);
33
- return useCallback(() => {
34
- setDisplayState(displayState === 'hide' ? 'show' : 'hide');
35
- }, [displayState]);
36
- };
37
-
38
- export interface PanelSidebarProviderSlots {
39
- content?: ComponentProps<typeof DialogPrimitive.Content>;
40
- main?: ComponentProps<'div'>;
41
- }
42
-
43
- export interface PanelSidebarProviderProps {
44
- inlineStart?: boolean;
45
- slots?: PanelSidebarProviderSlots;
46
- }
47
-
48
- export const PanelSidebarProvider = ({ children, slots }: PropsWithChildren<PanelSidebarProviderProps>) => {
49
- const { t } = useTranslation('os');
50
- const [isLg] = useMediaQuery('lg', { ssr: false });
51
- const [displayState, setInternalDisplayState] = useState<PanelSidebarState>(isLg ? 'show' : 'hide');
52
- const isOpen = displayState === 'show';
53
- const [transitionShow, setTransitionShow] = useState(isOpen);
54
- const [domShow, setDomShow] = useState(isOpen);
55
-
56
- const internalHide = () => {
57
- setTransitionShow(false);
58
- setInternalDisplayState('hide');
59
- setTimeout(() => {
60
- setDomShow(false);
61
- }, 200);
62
- };
63
-
64
- const internalShow = () => {
65
- setDomShow(true);
66
- setInternalDisplayState('show');
67
- setTimeout(() => {
68
- setTransitionShow(true);
69
- // todo (thure): this may be a race condition in certain situations
70
- }, 0);
71
- };
72
-
73
- const setDisplayState = (displayState: SetStateAction<PanelSidebarState>) =>
74
- displayState === 'show' ? internalShow() : internalHide();
75
-
76
- return (
77
- <PanelSidebarContext.Provider value={{ setDisplayState, displayState }}>
78
- <DialogPrimitive.Root open={domShow} modal={false}>
79
- {/* todo(thure): Why does DialogPrimitive.Overlay not render any element here? */}
80
- {!isLg && (
81
- <div
82
- role='none'
83
- className={mx(
84
- defaultOverlay,
85
- 'transition-opacity duration-200 ease-in-out',
86
- transitionShow ? 'opacity-100' : 'opacity-0',
87
- domShow ? 'block' : 'hidden'
88
- )}
89
- onClick={internalHide}
90
- />
91
- )}
92
-
93
- {/* Sidebar. */}
94
- <DialogPrimitive.Content
95
- onOpenAutoFocus={(event) => isLg && event.preventDefault()}
96
- onCloseAutoFocus={(event) => isLg && event.preventDefault()}
97
- {...slots?.content}
98
- className={mx(
99
- 'fixed block-start-0 block-end-0 is-sidebar z-30 overscroll-contain overflow-x-hidden overflow-y-auto',
100
- 'transition-[inset-inline-start,inset-inline-end] duration-200 ease-in-out',
101
- transitionShow ? 'inline-start-0' : '-inline-start-sidebar',
102
- slots?.content?.className
103
- )}
104
- >
105
- <DialogPrimitive.Title className='sr-only'>{t('sidebar label')}</DialogPrimitive.Title>
106
- {slots?.content?.children}
107
- </DialogPrimitive.Content>
108
-
109
- {/* Main content. */}
110
- <div
111
- role='none'
112
- {...slots?.main}
113
- className={mx(
114
- 'transition-[padding-inline-start] duration-200 ease-in-out',
115
- isLg && isOpen ? 'pis-sidebar' : 'pis-0',
116
- slots?.main?.className
117
- )}
118
- >
119
- {children}
120
- </div>
121
- </DialogPrimitive.Root>
122
- </PanelSidebarContext.Provider>
123
- );
124
- };
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- export * from './PanelSidebar';