@dxos/plugin-simple-layout 0.8.4-main.bc674ce → 0.8.4-main.d05673bc65

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 (187) hide show
  1. package/dist/lib/browser/chunk-MDPEKLKR.mjs +1163 -0
  2. package/dist/lib/browser/chunk-MDPEKLKR.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-P77G4YTR.mjs → chunk-MRR7PXSM.mjs} +5 -5
  4. package/dist/lib/browser/chunk-MRR7PXSM.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +20 -19
  6. package/dist/lib/browser/index.mjs.map +3 -3
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/{operation-resolver-775UYAC2.mjs → operation-resolver-VTZ6HZ4B.mjs} +37 -46
  9. package/dist/lib/browser/operation-resolver-VTZ6HZ4B.mjs.map +7 -0
  10. package/dist/lib/browser/{react-root-KM55OMGJ.mjs → react-root-WVQYY2JA.mjs} +5 -5
  11. package/dist/lib/browser/react-root-WVQYY2JA.mjs.map +7 -0
  12. package/dist/lib/browser/{react-surface-BABGAWGY.mjs → react-surface-VLBR37ED.mjs} +18 -13
  13. package/dist/lib/browser/react-surface-VLBR37ED.mjs.map +7 -0
  14. package/dist/lib/browser/{spotlight-dismiss-VSNOPETH.mjs → spotlight-dismiss-67PHYS5B.mjs} +3 -3
  15. package/dist/lib/browser/spotlight-dismiss-67PHYS5B.mjs.map +7 -0
  16. package/dist/lib/browser/{state-OUFTC2KV.mjs → state-TXSMUWYI.mjs} +5 -4
  17. package/dist/lib/browser/state-TXSMUWYI.mjs.map +7 -0
  18. package/dist/lib/browser/url-handler-RBRONH7S.mjs +151 -0
  19. package/dist/lib/browser/url-handler-RBRONH7S.mjs.map +7 -0
  20. package/dist/lib/node-esm/chunk-DCKASLMP.mjs +1164 -0
  21. package/dist/lib/node-esm/chunk-DCKASLMP.mjs.map +7 -0
  22. package/dist/lib/node-esm/{chunk-F5TEKVJG.mjs → chunk-WMNTJ2MK.mjs} +5 -5
  23. package/dist/lib/node-esm/chunk-WMNTJ2MK.mjs.map +7 -0
  24. package/dist/lib/node-esm/index.mjs +20 -19
  25. package/dist/lib/node-esm/index.mjs.map +3 -3
  26. package/dist/lib/node-esm/meta.json +1 -1
  27. package/dist/lib/node-esm/{operation-resolver-LDNYS3DI.mjs → operation-resolver-R7CQ6ERU.mjs} +37 -46
  28. package/dist/lib/node-esm/operation-resolver-R7CQ6ERU.mjs.map +7 -0
  29. package/dist/lib/node-esm/{react-root-36UYFEEB.mjs → react-root-XBNDM7BE.mjs} +5 -5
  30. package/dist/lib/node-esm/react-root-XBNDM7BE.mjs.map +7 -0
  31. package/dist/lib/node-esm/{react-surface-CGHFVWU3.mjs → react-surface-U5NHA367.mjs} +18 -13
  32. package/dist/lib/node-esm/react-surface-U5NHA367.mjs.map +7 -0
  33. package/dist/lib/node-esm/{spotlight-dismiss-L5PCWIJG.mjs → spotlight-dismiss-RMLRZUVY.mjs} +3 -3
  34. package/dist/lib/node-esm/spotlight-dismiss-RMLRZUVY.mjs.map +7 -0
  35. package/dist/lib/node-esm/{state-Q2ZA26W5.mjs → state-JMX6FAG4.mjs} +5 -4
  36. package/dist/lib/node-esm/state-JMX6FAG4.mjs.map +7 -0
  37. package/dist/lib/node-esm/url-handler-QSMCH3JB.mjs +152 -0
  38. package/dist/lib/node-esm/url-handler-QSMCH3JB.mjs.map +7 -0
  39. package/dist/types/src/SimpleLayoutPlugin.d.ts.map +1 -1
  40. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  41. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  42. package/dist/types/src/capabilities/react-root/react-root.d.ts +1 -1
  43. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
  44. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  45. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  46. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  47. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  48. package/dist/types/src/capabilities/spotlight-dismiss/index.d.ts +1 -1
  49. package/dist/types/src/capabilities/spotlight-dismiss/index.d.ts.map +1 -1
  50. package/dist/types/src/capabilities/spotlight-dismiss/spotlight-dismiss.d.ts +1 -1
  51. package/dist/types/src/capabilities/spotlight-dismiss/spotlight-dismiss.d.ts.map +1 -1
  52. package/dist/types/src/capabilities/state/index.d.ts +1 -1
  53. package/dist/types/src/capabilities/state/state.d.ts +1 -1
  54. package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
  55. package/dist/types/src/capabilities/url-handler/url-handler.d.ts +5 -3
  56. package/dist/types/src/capabilities/url-handler/url-handler.d.ts.map +1 -1
  57. package/dist/types/src/components/ContentError.stories.d.ts +1 -3
  58. package/dist/types/src/components/ContentError.stories.d.ts.map +1 -1
  59. package/dist/types/src/components/ContentLoading/ContentLoading.d.ts.map +1 -0
  60. package/dist/types/src/components/ContentLoading/ContentLoading.stories.d.ts.map +1 -0
  61. package/dist/types/src/components/ContentLoading/index.d.ts +2 -0
  62. package/dist/types/src/components/ContentLoading/index.d.ts.map +1 -0
  63. package/dist/types/src/components/Home/Home.d.ts.map +1 -1
  64. package/dist/types/src/components/MobileLayout/MobileLayout.d.ts +35 -0
  65. package/dist/types/src/components/MobileLayout/MobileLayout.d.ts.map +1 -0
  66. package/dist/types/src/components/MobileLayout/MobileLayout.stories.d.ts +7 -0
  67. package/dist/types/src/components/MobileLayout/MobileLayout.stories.d.ts.map +1 -0
  68. package/dist/types/src/components/MobileLayout/index.d.ts +2 -0
  69. package/dist/types/src/components/MobileLayout/index.d.ts.map +1 -0
  70. package/dist/types/src/components/NavBranch/NavBranch.d.ts +11 -0
  71. package/dist/types/src/components/NavBranch/NavBranch.d.ts.map +1 -0
  72. package/dist/types/src/components/NavBranch/index.d.ts +2 -0
  73. package/dist/types/src/components/NavBranch/index.d.ts.map +1 -0
  74. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  75. package/dist/types/src/components/SimpleLayout/AppBar.d.ts +26 -0
  76. package/dist/types/src/components/SimpleLayout/AppBar.d.ts.map +1 -0
  77. package/dist/types/src/components/SimpleLayout/AppBar.stories.d.ts +47 -0
  78. package/dist/types/src/components/SimpleLayout/AppBar.stories.d.ts.map +1 -0
  79. package/dist/types/src/components/SimpleLayout/Drawer.d.ts +1 -1
  80. package/dist/types/src/components/SimpleLayout/Drawer.d.ts.map +1 -1
  81. package/dist/types/src/components/SimpleLayout/Main.d.ts.map +1 -1
  82. package/dist/types/src/components/SimpleLayout/NavBar.d.ts +10 -3
  83. package/dist/types/src/components/SimpleLayout/NavBar.d.ts.map +1 -1
  84. package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts +4 -4
  85. package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts.map +1 -1
  86. package/dist/types/src/components/SimpleLayout/SimpleLayout.d.ts.map +1 -1
  87. package/dist/types/src/components/SimpleLayout/SimpleLayout.stories.d.ts.map +1 -1
  88. package/dist/types/src/components/SimpleLayout/index.d.ts +3 -0
  89. package/dist/types/src/components/SimpleLayout/index.d.ts.map +1 -1
  90. package/dist/types/src/components/hooks.d.ts +4 -2
  91. package/dist/types/src/components/hooks.d.ts.map +1 -1
  92. package/dist/types/src/components/index.d.ts +2 -1
  93. package/dist/types/src/components/index.d.ts.map +1 -1
  94. package/dist/types/src/hooks/actions.d.ts +19 -0
  95. package/dist/types/src/hooks/actions.d.ts.map +1 -0
  96. package/dist/types/src/hooks/index.d.ts +4 -0
  97. package/dist/types/src/hooks/index.d.ts.map +1 -1
  98. package/dist/types/src/hooks/useAppBarProps.d.ts +7 -0
  99. package/dist/types/src/hooks/useAppBarProps.d.ts.map +1 -0
  100. package/dist/types/src/hooks/useCompanions.d.ts +5 -1
  101. package/dist/types/src/hooks/useCompanions.d.ts.map +1 -1
  102. package/dist/types/src/hooks/useDrawerActions.d.ts +13 -0
  103. package/dist/types/src/hooks/useDrawerActions.d.ts.map +1 -0
  104. package/dist/types/src/hooks/useNavbarActions.d.ts +14 -0
  105. package/dist/types/src/hooks/useNavbarActions.d.ts.map +1 -0
  106. package/dist/types/src/hooks/useSimpleLayoutState.d.ts +3 -3
  107. package/dist/types/src/hooks/useSimpleLayoutState.d.ts.map +1 -1
  108. package/dist/types/src/types/capabilities.d.ts +7 -6
  109. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  110. package/dist/types/src/types/events.d.ts.map +1 -1
  111. package/dist/types/tsconfig.tsbuildinfo +1 -1
  112. package/package.json +36 -30
  113. package/src/SimpleLayoutPlugin.ts +10 -9
  114. package/src/capabilities/operation-resolver/operation-resolver.ts +33 -46
  115. package/src/capabilities/react-root/react-root.tsx +2 -2
  116. package/src/capabilities/react-surface/react-surface.tsx +14 -11
  117. package/src/capabilities/spotlight-dismiss/spotlight-dismiss.ts +2 -2
  118. package/src/capabilities/state/state.tsx +4 -3
  119. package/src/capabilities/url-handler/url-handler.ts +98 -45
  120. package/src/components/ContentError.stories.tsx +8 -7
  121. package/src/components/{ContentLoading.stories.tsx → ContentLoading/ContentLoading.stories.tsx} +2 -2
  122. package/src/components/{ContentLoading.tsx → ContentLoading/ContentLoading.tsx} +1 -1
  123. package/src/components/ContentLoading/index.ts +5 -0
  124. package/src/components/Dialog/Dialog.tsx +5 -5
  125. package/src/components/Home/Home.tsx +43 -35
  126. package/src/components/MobileLayout/MobileLayout.stories.tsx +129 -0
  127. package/src/components/MobileLayout/MobileLayout.tsx +305 -0
  128. package/src/components/MobileLayout/index.ts +5 -0
  129. package/src/components/NavBranch/NavBranch.tsx +130 -0
  130. package/src/components/{Workspace → NavBranch}/index.ts +1 -1
  131. package/src/components/Popover/Popover.tsx +17 -7
  132. package/src/components/SimpleLayout/AppBar.stories.tsx +144 -0
  133. package/src/components/SimpleLayout/AppBar.tsx +94 -0
  134. package/src/components/SimpleLayout/Drawer.tsx +25 -80
  135. package/src/components/SimpleLayout/Main.tsx +40 -30
  136. package/src/components/SimpleLayout/NavBar.stories.tsx +131 -23
  137. package/src/components/SimpleLayout/NavBar.tsx +15 -47
  138. package/src/components/SimpleLayout/SimpleLayout.stories.tsx +20 -11
  139. package/src/components/SimpleLayout/SimpleLayout.tsx +38 -19
  140. package/src/components/SimpleLayout/index.ts +3 -0
  141. package/src/components/hooks.ts +9 -9
  142. package/src/components/index.ts +2 -1
  143. package/src/hooks/actions.ts +83 -0
  144. package/src/hooks/index.ts +4 -0
  145. package/src/hooks/useAppBarProps.ts +115 -0
  146. package/src/hooks/useCompanions.ts +8 -5
  147. package/src/hooks/useDrawerActions.ts +100 -0
  148. package/src/hooks/useNavbarActions.ts +87 -0
  149. package/src/hooks/useSimpleLayoutState.ts +5 -5
  150. package/src/meta.ts +1 -1
  151. package/src/types/capabilities.ts +11 -7
  152. package/src/types/events.ts +3 -2
  153. package/dist/lib/browser/chunk-LR3EE3VB.mjs +0 -789
  154. package/dist/lib/browser/chunk-LR3EE3VB.mjs.map +0 -7
  155. package/dist/lib/browser/chunk-P77G4YTR.mjs.map +0 -7
  156. package/dist/lib/browser/operation-resolver-775UYAC2.mjs.map +0 -7
  157. package/dist/lib/browser/react-root-KM55OMGJ.mjs.map +0 -7
  158. package/dist/lib/browser/react-surface-BABGAWGY.mjs.map +0 -7
  159. package/dist/lib/browser/spotlight-dismiss-VSNOPETH.mjs.map +0 -7
  160. package/dist/lib/browser/state-OUFTC2KV.mjs.map +0 -7
  161. package/dist/lib/browser/url-handler-DOUFQIAC.mjs +0 -54
  162. package/dist/lib/browser/url-handler-DOUFQIAC.mjs.map +0 -7
  163. package/dist/lib/node-esm/chunk-F5TEKVJG.mjs.map +0 -7
  164. package/dist/lib/node-esm/chunk-HB2B3LLG.mjs +0 -790
  165. package/dist/lib/node-esm/chunk-HB2B3LLG.mjs.map +0 -7
  166. package/dist/lib/node-esm/operation-resolver-LDNYS3DI.mjs.map +0 -7
  167. package/dist/lib/node-esm/react-root-36UYFEEB.mjs.map +0 -7
  168. package/dist/lib/node-esm/react-surface-CGHFVWU3.mjs.map +0 -7
  169. package/dist/lib/node-esm/spotlight-dismiss-L5PCWIJG.mjs.map +0 -7
  170. package/dist/lib/node-esm/state-Q2ZA26W5.mjs.map +0 -7
  171. package/dist/lib/node-esm/url-handler-DVAZZEUO.mjs +0 -55
  172. package/dist/lib/node-esm/url-handler-DVAZZEUO.mjs.map +0 -7
  173. package/dist/types/src/components/ContentError.d.ts +0 -5
  174. package/dist/types/src/components/ContentError.d.ts.map +0 -1
  175. package/dist/types/src/components/ContentLoading.d.ts.map +0 -1
  176. package/dist/types/src/components/ContentLoading.stories.d.ts.map +0 -1
  177. package/dist/types/src/components/SimpleLayout/Banner.d.ts +0 -8
  178. package/dist/types/src/components/SimpleLayout/Banner.d.ts.map +0 -1
  179. package/dist/types/src/components/Workspace/Workspace.d.ts +0 -9
  180. package/dist/types/src/components/Workspace/Workspace.d.ts.map +0 -1
  181. package/dist/types/src/components/Workspace/index.d.ts +0 -2
  182. package/dist/types/src/components/Workspace/index.d.ts.map +0 -1
  183. package/src/components/ContentError.tsx +0 -23
  184. package/src/components/SimpleLayout/Banner.tsx +0 -113
  185. package/src/components/Workspace/Workspace.tsx +0 -115
  186. /package/dist/types/src/components/{ContentLoading.d.ts → ContentLoading/ContentLoading.d.ts} +0 -0
  187. /package/dist/types/src/components/{ContentLoading.stories.d.ts → ContentLoading/ContentLoading.stories.d.ts} +0 -0
@@ -1,115 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import React, { useCallback, useEffect, useRef } from 'react';
6
-
7
- import { Common } from '@dxos/app-framework';
8
- import { useAppGraph, useOperationInvoker } from '@dxos/app-framework/react';
9
- import { type Node, useConnections } from '@dxos/plugin-graph';
10
- import { Avatar, Icon, Toolbar, toLocalizedString, useTranslation } from '@dxos/react-ui';
11
- import { Card, Layout, Mosaic, type StackTileComponent } from '@dxos/react-ui-mosaic';
12
- import { SearchList, useSearchListItem, useSearchListResults } from '@dxos/react-ui-searchlist';
13
- import { mx } from '@dxos/ui-theme';
14
-
15
- import { meta } from '../../meta';
16
- import { useLoadDescendents } from '../hooks';
17
-
18
- export type WorkspaceProps = {
19
- id: string;
20
- };
21
-
22
- /**
23
- *
24
- */
25
- // TODO(burdon): Rename or motivate name in comment.
26
- export const Workspace = ({ id }: WorkspaceProps) => {
27
- const { t } = useTranslation(meta.id);
28
- const { graph } = useAppGraph();
29
-
30
- // Expand the workspace node to load its children.
31
- useLoadDescendents(id);
32
-
33
- // Get direct children of the workspace node.
34
- const children = useConnections(graph, id, 'outbound');
35
-
36
- const { results, handleSearch } = useSearchListResults({
37
- items: children,
38
- extract: (child) => toLocalizedString(child.properties.label, t),
39
- });
40
-
41
- return (
42
- <Layout.Main toolbar>
43
- <SearchList.Root onSearch={handleSearch}>
44
- <Toolbar.Root>
45
- <SearchList.Input placeholder={t('search placeholder')} autoFocus />
46
- </Toolbar.Root>
47
- <SearchList.Content>
48
- <Mosaic.Container asChild>
49
- <Mosaic.Viewport padding>
50
- <Mosaic.Stack items={results} getId={(child) => child.id} Tile={WorkspaceChildTile} />
51
- </Mosaic.Viewport>
52
- </Mosaic.Container>
53
- </SearchList.Content>
54
- </SearchList.Root>
55
- </Layout.Main>
56
- );
57
- };
58
-
59
- const WorkspaceChildTile: StackTileComponent<Node.Node> = ({ data }) => {
60
- const { t } = useTranslation(meta.id);
61
- const { invokeSync } = useOperationInvoker();
62
- const ref = useRef<HTMLDivElement>(null);
63
- const { selectedValue, registerItem, unregisterItem } = useSearchListItem();
64
- const isSelected = selectedValue === data.id;
65
-
66
- const name = toLocalizedString(data.properties.label, t);
67
-
68
- const handleSelect = useCallback(
69
- () => invokeSync(Common.LayoutOperation.Open, { subject: [data.id] }),
70
- [invokeSync, data.id],
71
- );
72
-
73
- // Register this item with the search context.
74
- useEffect(() => {
75
- if (ref.current) {
76
- registerItem(data.id, ref.current, handleSelect);
77
- }
78
-
79
- return () => unregisterItem(data.id);
80
- }, [data.id, handleSelect, registerItem, unregisterItem]);
81
-
82
- // Scroll into view when selected.
83
- useEffect(() => {
84
- if (isSelected && ref.current) {
85
- ref.current.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
86
- }
87
- }, [isSelected]);
88
-
89
- return (
90
- <Card.Root
91
- ref={ref}
92
- role='button'
93
- fullWidth
94
- tabIndex={-1} // TODO(burdon): Use Mosaic.Focus.
95
- data-selected={isSelected}
96
- classNames={mx('dx-focus-ring', isSelected && 'bg-hoverOverlay')}
97
- onClick={handleSelect}
98
- >
99
- <Card.Toolbar density='coarse'>
100
- <Avatar.Root>
101
- <Avatar.Content
102
- hue={data.properties.hue}
103
- icon={data.properties.icon}
104
- hueVariant='transparent'
105
- variant='square'
106
- size={12}
107
- fallback={name}
108
- />
109
- <Avatar.Label>{name}</Avatar.Label>
110
- <Icon icon='ph--caret-right--regular' />
111
- </Avatar.Root>
112
- </Card.Toolbar>
113
- </Card.Root>
114
- );
115
- };