@dxos/plugin-simple-layout 0.8.4-main.6fa680abb7 → 0.8.4-main.7996785055

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 (195) hide show
  1. package/dist/lib/browser/{chunk-MDPEKLKR.mjs → chunk-J5FQ32AV.mjs} +302 -209
  2. package/dist/lib/browser/chunk-J5FQ32AV.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-XJVW3PRY.mjs +22 -0
  4. package/dist/lib/browser/chunk-XJVW3PRY.mjs.map +7 -0
  5. package/dist/lib/browser/close-OT5JOGVY.mjs +34 -0
  6. package/dist/lib/browser/close-OT5JOGVY.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +23 -22
  8. package/dist/lib/browser/index.mjs.map +4 -4
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/open-4FQ44Z5G.mjs +31 -0
  11. package/dist/lib/browser/open-4FQ44Z5G.mjs.map +7 -0
  12. package/dist/lib/browser/operation-handler-OAD7LISD.mjs +16 -0
  13. package/dist/lib/browser/operation-handler-OAD7LISD.mjs.map +7 -0
  14. package/dist/lib/browser/{react-root-WVQYY2JA.mjs → react-root-6KIGPLUT.mjs} +2 -2
  15. package/dist/lib/browser/{react-surface-VLBR37ED.mjs → react-surface-JLIEQGOL.mjs} +2 -2
  16. package/dist/lib/browser/revert-workspace-DLE265AN.mjs +21 -0
  17. package/dist/lib/browser/revert-workspace-DLE265AN.mjs.map +7 -0
  18. package/dist/lib/browser/set-52HGTSH4.mjs +21 -0
  19. package/dist/lib/browser/set-52HGTSH4.mjs.map +7 -0
  20. package/dist/lib/browser/set-layout-mode-T6QI3DGU.mjs +11 -0
  21. package/dist/lib/browser/set-layout-mode-T6QI3DGU.mjs.map +7 -0
  22. package/dist/lib/browser/switch-workspace-5Y6T4BWJ.mjs +24 -0
  23. package/dist/lib/browser/switch-workspace-5Y6T4BWJ.mjs.map +7 -0
  24. package/dist/lib/browser/update-complementary-MX3TTVAB.mjs +31 -0
  25. package/dist/lib/browser/update-complementary-MX3TTVAB.mjs.map +7 -0
  26. package/dist/lib/browser/update-dialog-FPAPZXKO.mjs +29 -0
  27. package/dist/lib/browser/update-dialog-FPAPZXKO.mjs.map +7 -0
  28. package/dist/lib/browser/update-popover-6V5ZTIYN.mjs +33 -0
  29. package/dist/lib/browser/update-popover-6V5ZTIYN.mjs.map +7 -0
  30. package/dist/lib/browser/update-sidebar-WHDKYMV7.mjs +10 -0
  31. package/dist/lib/browser/update-sidebar-WHDKYMV7.mjs.map +7 -0
  32. package/dist/lib/browser/{url-handler-RBRONH7S.mjs → url-handler-GUJ3L7Y3.mjs} +24 -12
  33. package/dist/lib/browser/url-handler-GUJ3L7Y3.mjs.map +7 -0
  34. package/dist/lib/node-esm/chunk-27K22G6S.mjs +23 -0
  35. package/dist/lib/node-esm/chunk-27K22G6S.mjs.map +7 -0
  36. package/dist/lib/node-esm/{chunk-DCKASLMP.mjs → chunk-EXNDYZTP.mjs} +302 -209
  37. package/dist/lib/node-esm/chunk-EXNDYZTP.mjs.map +7 -0
  38. package/dist/lib/node-esm/close-PEVHREL2.mjs +35 -0
  39. package/dist/lib/node-esm/close-PEVHREL2.mjs.map +7 -0
  40. package/dist/lib/node-esm/index.mjs +23 -22
  41. package/dist/lib/node-esm/index.mjs.map +4 -4
  42. package/dist/lib/node-esm/meta.json +1 -1
  43. package/dist/lib/node-esm/open-LMJY7JCJ.mjs +32 -0
  44. package/dist/lib/node-esm/open-LMJY7JCJ.mjs.map +7 -0
  45. package/dist/lib/node-esm/operation-handler-A2DC4WHC.mjs +18 -0
  46. package/dist/lib/node-esm/operation-handler-A2DC4WHC.mjs.map +7 -0
  47. package/dist/lib/node-esm/{react-root-XBNDM7BE.mjs → react-root-5SCW2KTH.mjs} +2 -2
  48. package/dist/lib/node-esm/{react-surface-U5NHA367.mjs → react-surface-WLKB6AET.mjs} +2 -2
  49. package/dist/lib/node-esm/revert-workspace-XZXT64YA.mjs +22 -0
  50. package/dist/lib/node-esm/revert-workspace-XZXT64YA.mjs.map +7 -0
  51. package/dist/lib/node-esm/set-5I6LFH5L.mjs +22 -0
  52. package/dist/lib/node-esm/set-5I6LFH5L.mjs.map +7 -0
  53. package/dist/lib/node-esm/set-layout-mode-F5B6QLZM.mjs +13 -0
  54. package/dist/lib/node-esm/set-layout-mode-F5B6QLZM.mjs.map +7 -0
  55. package/dist/lib/node-esm/switch-workspace-PB6T2SGY.mjs +25 -0
  56. package/dist/lib/node-esm/switch-workspace-PB6T2SGY.mjs.map +7 -0
  57. package/dist/lib/node-esm/update-complementary-FTW423IY.mjs +32 -0
  58. package/dist/lib/node-esm/update-complementary-FTW423IY.mjs.map +7 -0
  59. package/dist/lib/node-esm/update-dialog-ID267DCL.mjs +30 -0
  60. package/dist/lib/node-esm/update-dialog-ID267DCL.mjs.map +7 -0
  61. package/dist/lib/node-esm/update-popover-RLHU2HF4.mjs +34 -0
  62. package/dist/lib/node-esm/update-popover-RLHU2HF4.mjs.map +7 -0
  63. package/dist/lib/node-esm/update-sidebar-BJ7HTNZ4.mjs +12 -0
  64. package/dist/lib/node-esm/update-sidebar-BJ7HTNZ4.mjs.map +7 -0
  65. package/dist/lib/node-esm/{url-handler-QSMCH3JB.mjs → url-handler-WMONO2T6.mjs} +24 -12
  66. package/dist/lib/node-esm/url-handler-WMONO2T6.mjs.map +7 -0
  67. package/dist/types/src/SimpleLayoutPlugin.d.ts +1 -1
  68. package/dist/types/src/SimpleLayoutPlugin.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/index.d.ts +1 -1
  70. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/operation-handler/index.d.ts +4 -0
  72. package/dist/types/src/capabilities/operation-handler/index.d.ts.map +1 -0
  73. package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts +6 -0
  74. package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts.map +1 -0
  75. package/dist/types/src/capabilities/url-handler/url-handler.d.ts.map +1 -1
  76. package/dist/types/src/components/ContentError.stories.d.ts +6 -1
  77. package/dist/types/src/components/ContentError.stories.d.ts.map +1 -1
  78. package/dist/types/src/components/DebugOverlay/DebugOverlay.d.ts +19 -0
  79. package/dist/types/src/components/DebugOverlay/DebugOverlay.d.ts.map +1 -0
  80. package/dist/types/src/components/DebugOverlay/index.d.ts +2 -0
  81. package/dist/types/src/components/DebugOverlay/index.d.ts.map +1 -0
  82. package/dist/types/src/components/Home/Home.d.ts.map +1 -1
  83. package/dist/types/src/components/Loading/Loading.d.ts +3 -0
  84. package/dist/types/src/components/Loading/Loading.d.ts.map +1 -0
  85. package/dist/types/src/components/{ContentLoading/ContentLoading.stories.d.ts → Loading/Loading.stories.d.ts} +1 -1
  86. package/dist/types/src/components/Loading/Loading.stories.d.ts.map +1 -0
  87. package/dist/types/src/components/Loading/index.d.ts +2 -0
  88. package/dist/types/src/components/Loading/index.d.ts.map +1 -0
  89. package/dist/types/src/components/MobileLayout/MobileLayout.d.ts.map +1 -1
  90. package/dist/types/src/components/MobileLayout/MobileLayout.stories.d.ts.map +1 -1
  91. package/dist/types/src/components/NavBranch/NavBranch.d.ts.map +1 -1
  92. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  93. package/dist/types/src/components/SimpleLayout/AppBar.d.ts +9 -7
  94. package/dist/types/src/components/SimpleLayout/AppBar.d.ts.map +1 -1
  95. package/dist/types/src/components/SimpleLayout/AppBar.stories.d.ts +9 -4
  96. package/dist/types/src/components/SimpleLayout/AppBar.stories.d.ts.map +1 -1
  97. package/dist/types/src/components/SimpleLayout/Main.d.ts.map +1 -1
  98. package/dist/types/src/components/SimpleLayout/NavBar.d.ts +9 -7
  99. package/dist/types/src/components/SimpleLayout/NavBar.d.ts.map +1 -1
  100. package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts +13 -5
  101. package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts.map +1 -1
  102. package/dist/types/src/components/SimpleLayout/SimpleLayout.d.ts.map +1 -1
  103. package/dist/types/src/components/SimpleLayout/SimpleLayout.stories.d.ts +10 -11
  104. package/dist/types/src/components/SimpleLayout/SimpleLayout.stories.d.ts.map +1 -1
  105. package/dist/types/src/components/index.d.ts +2 -1
  106. package/dist/types/src/components/index.d.ts.map +1 -1
  107. package/dist/types/src/operations/close.d.ts +5 -0
  108. package/dist/types/src/operations/close.d.ts.map +1 -0
  109. package/dist/types/src/operations/index.d.ts +3 -0
  110. package/dist/types/src/operations/index.d.ts.map +1 -0
  111. package/dist/types/src/operations/open.d.ts +5 -0
  112. package/dist/types/src/operations/open.d.ts.map +1 -0
  113. package/dist/types/src/operations/revert-workspace.d.ts +5 -0
  114. package/dist/types/src/operations/revert-workspace.d.ts.map +1 -0
  115. package/dist/types/src/operations/set-layout-mode.d.ts +5 -0
  116. package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -0
  117. package/dist/types/src/operations/set.d.ts +5 -0
  118. package/dist/types/src/operations/set.d.ts.map +1 -0
  119. package/dist/types/src/operations/state-access.d.ts +8 -0
  120. package/dist/types/src/operations/state-access.d.ts.map +1 -0
  121. package/dist/types/src/operations/switch-workspace.d.ts +5 -0
  122. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -0
  123. package/dist/types/src/operations/update-complementary.d.ts +5 -0
  124. package/dist/types/src/operations/update-complementary.d.ts.map +1 -0
  125. package/dist/types/src/operations/update-dialog.d.ts +5 -0
  126. package/dist/types/src/operations/update-dialog.d.ts.map +1 -0
  127. package/dist/types/src/operations/update-popover.d.ts +5 -0
  128. package/dist/types/src/operations/update-popover.d.ts.map +1 -0
  129. package/dist/types/src/operations/update-sidebar.d.ts +5 -0
  130. package/dist/types/src/operations/update-sidebar.d.ts.map +1 -0
  131. package/dist/types/src/translations.d.ts +6 -1
  132. package/dist/types/src/translations.d.ts.map +1 -1
  133. package/dist/types/tsconfig.tsbuildinfo +1 -1
  134. package/package.json +29 -29
  135. package/src/SimpleLayoutPlugin.ts +3 -3
  136. package/src/capabilities/index.ts +1 -1
  137. package/src/capabilities/operation-handler/index.ts +9 -0
  138. package/src/capabilities/operation-handler/operation-handler.ts +14 -0
  139. package/src/capabilities/url-handler/url-handler.ts +15 -3
  140. package/src/components/DebugOverlay/DebugOverlay.tsx +96 -0
  141. package/src/components/DebugOverlay/index.ts +5 -0
  142. package/src/components/Home/Home.tsx +27 -28
  143. package/src/components/{ContentLoading/ContentLoading.stories.tsx → Loading/Loading.stories.tsx} +4 -4
  144. package/src/components/{ContentLoading/ContentLoading.tsx → Loading/Loading.tsx} +1 -1
  145. package/src/components/{ContentLoading → Loading}/index.ts +1 -1
  146. package/src/components/MobileLayout/MobileLayout.stories.tsx +10 -6
  147. package/src/components/MobileLayout/MobileLayout.tsx +118 -49
  148. package/src/components/NavBranch/NavBranch.tsx +27 -30
  149. package/src/components/Popover/Popover.tsx +2 -12
  150. package/src/components/SimpleLayout/AppBar.stories.tsx +3 -3
  151. package/src/components/SimpleLayout/AppBar.tsx +58 -59
  152. package/src/components/SimpleLayout/Drawer.tsx +6 -6
  153. package/src/components/SimpleLayout/Main.tsx +15 -19
  154. package/src/components/SimpleLayout/NavBar.tsx +8 -9
  155. package/src/components/SimpleLayout/SimpleLayout.stories.tsx +41 -64
  156. package/src/components/SimpleLayout/SimpleLayout.tsx +29 -30
  157. package/src/components/index.ts +2 -1
  158. package/src/hooks/useAppBarProps.ts +6 -6
  159. package/src/hooks/useDrawerActions.ts +1 -1
  160. package/src/operations/close.ts +34 -0
  161. package/src/operations/index.ts +16 -0
  162. package/src/operations/open.ts +32 -0
  163. package/src/operations/revert-workspace.ts +22 -0
  164. package/src/operations/set-layout-mode.ts +12 -0
  165. package/src/operations/set.ts +23 -0
  166. package/src/operations/state-access.ts +19 -0
  167. package/src/operations/switch-workspace.ts +26 -0
  168. package/src/operations/update-complementary.ts +34 -0
  169. package/src/operations/update-dialog.ts +28 -0
  170. package/src/operations/update-popover.ts +35 -0
  171. package/src/operations/update-sidebar.ts +12 -0
  172. package/src/translations.ts +2 -1
  173. package/dist/lib/browser/chunk-MDPEKLKR.mjs.map +0 -7
  174. package/dist/lib/browser/operation-resolver-VTZ6HZ4B.mjs +0 -194
  175. package/dist/lib/browser/operation-resolver-VTZ6HZ4B.mjs.map +0 -7
  176. package/dist/lib/browser/url-handler-RBRONH7S.mjs.map +0 -7
  177. package/dist/lib/node-esm/chunk-DCKASLMP.mjs.map +0 -7
  178. package/dist/lib/node-esm/operation-resolver-R7CQ6ERU.mjs +0 -195
  179. package/dist/lib/node-esm/operation-resolver-R7CQ6ERU.mjs.map +0 -7
  180. package/dist/lib/node-esm/url-handler-QSMCH3JB.mjs.map +0 -7
  181. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  182. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  183. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  184. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  185. package/dist/types/src/components/ContentLoading/ContentLoading.d.ts +0 -3
  186. package/dist/types/src/components/ContentLoading/ContentLoading.d.ts.map +0 -1
  187. package/dist/types/src/components/ContentLoading/ContentLoading.stories.d.ts.map +0 -1
  188. package/dist/types/src/components/ContentLoading/index.d.ts +0 -2
  189. package/dist/types/src/components/ContentLoading/index.d.ts.map +0 -1
  190. package/src/capabilities/operation-resolver/index.ts +0 -10
  191. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -202
  192. /package/dist/lib/browser/{react-root-WVQYY2JA.mjs.map → react-root-6KIGPLUT.mjs.map} +0 -0
  193. /package/dist/lib/browser/{react-surface-VLBR37ED.mjs.map → react-surface-JLIEQGOL.mjs.map} +0 -0
  194. /package/dist/lib/node-esm/{react-root-XBNDM7BE.mjs.map → react-root-5SCW2KTH.mjs.map} +0 -0
  195. /package/dist/lib/node-esm/{react-surface-U5NHA367.mjs.map → react-surface-WLKB6AET.mjs.map} +0 -0
@@ -1,202 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
-
7
- import { Capabilities, Capability } from '@dxos/app-framework';
8
- import { getCompanionVariant, LayoutOperation, isPinnedWorkspace } from '@dxos/app-toolkit';
9
- import { Operation, OperationResolver } from '@dxos/operation';
10
-
11
- import { type SimpleLayoutState, SimpleLayoutState as SimpleLayoutStateCapability } from '../../types';
12
-
13
- /** Maximum number of items to keep in navigation history. */
14
- const MAX_HISTORY_LENGTH = 50;
15
-
16
- export default Capability.makeModule(
17
- Effect.fnUntraced(function* () {
18
- const registry = yield* Capability.get(Capabilities.AtomRegistry);
19
- const stateAtom = yield* Capability.get(SimpleLayoutStateCapability);
20
-
21
- const getState = () => registry.get(stateAtom);
22
- const updateState = (fn: (current: SimpleLayoutState) => SimpleLayoutState) => {
23
- registry.set(stateAtom, fn(getState()));
24
- };
25
-
26
- return Capability.contributes(Capabilities.OperationResolver, [
27
- //
28
- // SetLayoutMode
29
- //
30
- // TODO(burdon): No-op for to fix startup bug?
31
- OperationResolver.make({
32
- operation: LayoutOperation.SetLayoutMode,
33
- handler: Effect.fnUntraced(function* () {}),
34
- }),
35
-
36
- //
37
- // UpdateSidebar - No-op for simple layout.
38
- //
39
- OperationResolver.make({
40
- operation: LayoutOperation.UpdateSidebar,
41
- handler: () => Effect.void,
42
- }),
43
-
44
- //
45
- // UpdateComplementary - Controls companion drawer.
46
- //
47
- // TODO(wittjosiah): Not sure if we should be using this for the drawer.
48
- OperationResolver.make({
49
- operation: LayoutOperation.UpdateComplementary,
50
- handler: Effect.fnUntraced(function* (input) {
51
- if (input.state === 'closed') {
52
- updateState((state) => ({
53
- ...state,
54
- drawerState: 'closed',
55
- }));
56
- } else if (input.subject) {
57
- const variant = getCompanionVariant(input.subject);
58
- updateState((state) => ({
59
- ...state,
60
- companionVariant: variant,
61
- drawerState: input.state === 'expanded' ? 'expanded' : 'open',
62
- }));
63
- }
64
- }),
65
- }),
66
-
67
- //
68
- // UpdateDialog
69
- //
70
- OperationResolver.make({
71
- operation: LayoutOperation.UpdateDialog,
72
- handler: Effect.fnUntraced(function* (input) {
73
- updateState((state) => ({
74
- ...state,
75
- dialogOpen: input.state ?? Boolean(input.subject),
76
- dialogType: input.type ?? 'default',
77
- dialogBlockAlign: input.blockAlign ?? 'center',
78
- dialogOverlayClasses: input.overlayClasses,
79
- dialogOverlayStyle: input.overlayStyle,
80
- dialogContent: input.subject ? { component: input.subject, props: input.props } : undefined,
81
- }));
82
- }),
83
- }),
84
-
85
- //
86
- // UpdatePopover
87
- //
88
- OperationResolver.make({
89
- operation: LayoutOperation.UpdatePopover,
90
- handler: Effect.fnUntraced(function* (input) {
91
- updateState((state) => ({
92
- ...state,
93
- popoverOpen: input.state ?? Boolean(input.subject),
94
- popoverKind: input.kind ?? 'base',
95
- popoverTitle: input.kind === 'card' ? input.title : undefined,
96
- popoverContent:
97
- typeof input.subject === 'string'
98
- ? { component: input.subject, props: input.props }
99
- : input.subject
100
- ? { subject: input.subject }
101
- : undefined,
102
- popoverSide: input.side,
103
- popoverVariant: input.variant,
104
- popoverAnchor: input.variant === 'virtual' ? input.anchor : state.popoverAnchor,
105
- popoverAnchorId: input.variant !== 'virtual' ? input.anchorId : state.popoverAnchorId,
106
- }));
107
- }),
108
- }),
109
-
110
- //
111
- // SwitchWorkspace
112
- //
113
- OperationResolver.make({
114
- operation: LayoutOperation.SwitchWorkspace,
115
- handler: Effect.fnUntraced(function* (input) {
116
- updateState((state) => ({
117
- ...state,
118
- // TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.
119
- // Ideally this should be worked into the data model in a generic way.
120
- previousWorkspace: !isPinnedWorkspace(state.workspace) ? state.workspace : state.previousWorkspace,
121
- workspace: input.subject,
122
- active: undefined,
123
- // Clear history when switching workspaces.
124
- history: [],
125
- }));
126
- }),
127
- }),
128
-
129
- //
130
- // RevertWorkspace
131
- //
132
- OperationResolver.make({
133
- operation: LayoutOperation.RevertWorkspace,
134
- handler: Effect.fnUntraced(function* () {
135
- const state = getState();
136
- yield* Operation.invoke(LayoutOperation.SwitchWorkspace, {
137
- subject: state.previousWorkspace,
138
- });
139
- }),
140
- }),
141
-
142
- //
143
- // Open
144
- //
145
- OperationResolver.make({
146
- operation: LayoutOperation.Open,
147
- handler: Effect.fnUntraced(function* (input) {
148
- const id = input.subject[0];
149
- updateState((state) => {
150
- const newHistory = state.active ? [...state.history, state.active] : state.history;
151
- const trimmedHistory =
152
- newHistory.length > MAX_HISTORY_LENGTH ? newHistory.slice(-MAX_HISTORY_LENGTH) : newHistory;
153
- return {
154
- ...state,
155
- active: id,
156
- history: trimmedHistory,
157
- };
158
- });
159
- }),
160
- }),
161
-
162
- //
163
- // Close
164
- //
165
- OperationResolver.make({
166
- operation: LayoutOperation.Close,
167
- handler: Effect.fnUntraced(function* () {
168
- updateState((state) => {
169
- // Pop from history if available.
170
- if (state.history.length > 0) {
171
- const newHistory = [...state.history];
172
- const previousActive = newHistory.pop();
173
- return {
174
- ...state,
175
- active: previousActive,
176
- history: newHistory,
177
- };
178
- }
179
- // No history, just clear active.
180
- return {
181
- ...state,
182
- active: undefined,
183
- };
184
- });
185
- }),
186
- }),
187
-
188
- //
189
- // Set
190
- //
191
- OperationResolver.make({
192
- operation: LayoutOperation.Set,
193
- handler: Effect.fnUntraced(function* (input) {
194
- updateState((state) => ({
195
- ...state,
196
- active: input.subject[0],
197
- }));
198
- }),
199
- }),
200
- ]);
201
- }),
202
- );