@dxos/plugin-navtree 0.8.4-main.7ace549 → 0.8.4-main.937b3ca

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 (166) hide show
  1. package/dist/lib/browser/app-graph-builder-RSMA6I22.mjs +43 -0
  2. package/dist/lib/browser/app-graph-builder-RSMA6I22.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-6YPQ625I.mjs +1293 -0
  4. package/dist/lib/browser/chunk-6YPQ625I.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-AGQDZBPL.mjs +23 -0
  6. package/dist/lib/browser/chunk-AGQDZBPL.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-E6MZBCU5.mjs → chunk-YKTYPINZ.mjs} +1 -1
  8. package/dist/lib/browser/chunk-YKTYPINZ.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +82 -91
  10. package/dist/lib/browser/index.mjs.map +4 -4
  11. package/dist/lib/browser/{keyboard-YJEK2HTH.mjs → keyboard-32EH3N4K.mjs} +17 -14
  12. package/dist/lib/browser/keyboard-32EH3N4K.mjs.map +7 -0
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/operation-resolver-IB75DC5O.mjs +52 -0
  15. package/dist/lib/browser/operation-resolver-IB75DC5O.mjs.map +7 -0
  16. package/dist/lib/browser/react-surface-F6CVMS3Y.mjs +58 -0
  17. package/dist/lib/browser/react-surface-F6CVMS3Y.mjs.map +7 -0
  18. package/dist/lib/browser/state-EVYQOUI3.mjs +120 -0
  19. package/dist/lib/browser/state-EVYQOUI3.mjs.map +7 -0
  20. package/dist/types/src/NavTreePlugin.d.ts +2 -1
  21. package/dist/types/src/NavTreePlugin.d.ts.map +1 -1
  22. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  23. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  24. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  25. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  26. package/dist/types/src/capabilities/index.d.ts +5 -108
  27. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  28. package/dist/types/src/capabilities/keyboard/index.d.ts +3 -0
  29. package/dist/types/src/capabilities/keyboard/index.d.ts.map +1 -0
  30. package/dist/types/src/capabilities/keyboard/keyboard.d.ts +5 -0
  31. package/dist/types/src/capabilities/keyboard/keyboard.d.ts.map +1 -0
  32. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  33. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  34. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  35. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  36. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  37. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  38. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  39. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  40. package/dist/types/src/capabilities/state/index.d.ts +3 -0
  41. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  42. package/dist/types/src/capabilities/state/state.d.ts +6 -0
  43. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  44. package/dist/types/src/components/CommandsDialog/CommandsDialog.d.ts +3 -2
  45. package/dist/types/src/components/CommandsDialog/CommandsDialog.d.ts.map +1 -1
  46. package/dist/types/src/components/CommandsDialog/CommandsTrigger.d.ts.map +1 -1
  47. package/dist/types/src/components/NavTree/NavTree.d.ts +30 -1
  48. package/dist/types/src/components/NavTree/NavTree.d.ts.map +1 -1
  49. package/dist/types/src/components/NavTree/NavTree.stories.d.ts +4 -1
  50. package/dist/types/src/components/NavTree/NavTree.stories.d.ts.map +1 -1
  51. package/dist/types/src/components/NavTreeContainer.d.ts +8 -1
  52. package/dist/types/src/components/NavTreeContainer.d.ts.map +1 -1
  53. package/dist/types/src/components/NavTreeDocumentTitle.d.ts +1 -1
  54. package/dist/types/src/components/NavTreeDocumentTitle.d.ts.map +1 -1
  55. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.d.ts +6 -6
  56. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.d.ts.map +1 -1
  57. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.stories.d.ts +2 -1
  58. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.stories.d.ts.map +1 -1
  59. package/dist/types/src/components/Sidebar/L0Menu.d.ts +4 -4
  60. package/dist/types/src/components/Sidebar/L0Menu.d.ts.map +1 -1
  61. package/dist/types/src/components/Sidebar/L1Panel.d.ts +1 -1
  62. package/dist/types/src/components/Sidebar/L1Panel.d.ts.map +1 -1
  63. package/dist/types/src/components/Sidebar/L1Tabs.d.ts +2 -2
  64. package/dist/types/src/components/Sidebar/L1Tabs.d.ts.map +1 -1
  65. package/dist/types/src/components/index.d.ts.map +1 -1
  66. package/dist/types/src/components/types.d.ts +7 -7
  67. package/dist/types/src/components/types.d.ts.map +1 -1
  68. package/dist/types/src/hooks.d.ts +32 -1
  69. package/dist/types/src/hooks.d.ts.map +1 -1
  70. package/dist/types/src/index.d.ts +1 -2
  71. package/dist/types/src/index.d.ts.map +1 -1
  72. package/dist/types/src/meta.d.ts +2 -2
  73. package/dist/types/src/meta.d.ts.map +1 -1
  74. package/dist/types/src/testing/app-graph-builder.d.ts +2 -3
  75. package/dist/types/src/testing/app-graph-builder.d.ts.map +1 -1
  76. package/dist/types/src/testing/generator.d.ts +5 -6
  77. package/dist/types/src/testing/generator.d.ts.map +1 -1
  78. package/dist/types/src/testing/update-state.d.ts +2 -2
  79. package/dist/types/src/testing/update-state.d.ts.map +1 -1
  80. package/dist/types/src/types/capabilities.d.ts +16 -0
  81. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  82. package/dist/types/src/types/events.d.ts +5 -0
  83. package/dist/types/src/types/events.d.ts.map +1 -0
  84. package/dist/types/src/types/index.d.ts +4 -0
  85. package/dist/types/src/types/index.d.ts.map +1 -0
  86. package/dist/types/src/{types.d.ts → types/schema.d.ts} +6 -6
  87. package/dist/types/src/types/schema.d.ts.map +1 -0
  88. package/dist/types/src/util.d.ts +7 -7
  89. package/dist/types/src/util.d.ts.map +1 -1
  90. package/dist/types/tsconfig.tsbuildinfo +1 -1
  91. package/package.json +53 -52
  92. package/src/NavTreePlugin.tsx +53 -70
  93. package/src/capabilities/app-graph-builder/app-graph-builder.ts +41 -0
  94. package/src/capabilities/app-graph-builder/index.ts +7 -0
  95. package/src/capabilities/index.ts +5 -9
  96. package/src/capabilities/keyboard/index.ts +7 -0
  97. package/src/capabilities/keyboard/keyboard.ts +65 -0
  98. package/src/capabilities/operation-resolver/index.ts +7 -0
  99. package/src/capabilities/operation-resolver/operation-resolver.ts +41 -0
  100. package/src/capabilities/react-surface/index.ts +7 -0
  101. package/src/capabilities/react-surface/react-surface.tsx +54 -0
  102. package/src/capabilities/state/index.ts +7 -0
  103. package/src/capabilities/state/state.ts +121 -0
  104. package/src/components/CommandsDialog/CommandsDialog.tsx +107 -104
  105. package/src/components/CommandsDialog/CommandsTrigger.tsx +4 -14
  106. package/src/components/NavTree/NavTree.stories.tsx +32 -41
  107. package/src/components/NavTree/NavTree.tsx +5 -15
  108. package/src/components/NavTreeContainer.tsx +251 -292
  109. package/src/components/NavTreeDocumentTitle.tsx +3 -2
  110. package/src/components/NavTreeItem/NavTreeItemAction.stories.tsx +17 -7
  111. package/src/components/NavTreeItem/NavTreeItemAction.tsx +18 -12
  112. package/src/components/NavTreeItem/NavTreeItemColumns.tsx +5 -5
  113. package/src/components/Sidebar/L0Menu.tsx +65 -91
  114. package/src/components/Sidebar/L1Panel.tsx +9 -7
  115. package/src/components/Sidebar/L1Tabs.tsx +6 -31
  116. package/src/components/index.ts +1 -0
  117. package/src/components/types.ts +7 -7
  118. package/src/experimental/Tree.stories.tsx +2 -2
  119. package/src/experimental/Tree.tsx +1 -1
  120. package/src/hooks.ts +54 -2
  121. package/src/index.ts +1 -2
  122. package/src/meta.ts +2 -2
  123. package/src/testing/app-graph-builder.ts +158 -234
  124. package/src/testing/generator.ts +12 -12
  125. package/src/testing/update-state.ts +6 -6
  126. package/src/types/capabilities.ts +21 -0
  127. package/src/types/events.ts +11 -0
  128. package/src/types/index.ts +7 -0
  129. package/src/{types.ts → types/schema.ts} +5 -5
  130. package/src/util.ts +13 -16
  131. package/dist/lib/browser/app-graph-builder-OHSCN3GX.mjs +0 -46
  132. package/dist/lib/browser/app-graph-builder-OHSCN3GX.mjs.map +0 -7
  133. package/dist/lib/browser/chunk-5VLWX4PK.mjs +0 -15
  134. package/dist/lib/browser/chunk-5VLWX4PK.mjs.map +0 -7
  135. package/dist/lib/browser/chunk-E6MZBCU5.mjs.map +0 -7
  136. package/dist/lib/browser/chunk-UDAINHB6.mjs +0 -1488
  137. package/dist/lib/browser/chunk-UDAINHB6.mjs.map +0 -7
  138. package/dist/lib/browser/intent-resolver-YUVXVPHG.mjs +0 -47
  139. package/dist/lib/browser/intent-resolver-YUVXVPHG.mjs.map +0 -7
  140. package/dist/lib/browser/keyboard-YJEK2HTH.mjs.map +0 -7
  141. package/dist/lib/browser/react-surface-V6LS3R4L.mjs +0 -51
  142. package/dist/lib/browser/react-surface-V6LS3R4L.mjs.map +0 -7
  143. package/dist/lib/browser/state-BFD5KJCV.mjs +0 -117
  144. package/dist/lib/browser/state-BFD5KJCV.mjs.map +0 -7
  145. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  146. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  147. package/dist/types/src/capabilities/capabilities.d.ts +0 -21
  148. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  149. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  150. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  151. package/dist/types/src/capabilities/keyboard.d.ts +0 -4
  152. package/dist/types/src/capabilities/keyboard.d.ts.map +0 -1
  153. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  154. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  155. package/dist/types/src/capabilities/state.d.ts +0 -20
  156. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  157. package/dist/types/src/events.d.ts +0 -4
  158. package/dist/types/src/events.d.ts.map +0 -1
  159. package/dist/types/src/types.d.ts.map +0 -1
  160. package/src/capabilities/app-graph-builder.ts +0 -53
  161. package/src/capabilities/capabilities.ts +0 -20
  162. package/src/capabilities/intent-resolver.ts +0 -37
  163. package/src/capabilities/keyboard.ts +0 -57
  164. package/src/capabilities/react-surface.tsx +0 -45
  165. package/src/capabilities/state.ts +0 -104
  166. package/src/events.ts +0 -11
@@ -1,15 +1,18 @@
1
1
  import {
2
2
  KEY_BINDING
3
- } from "./chunk-E6MZBCU5.mjs";
3
+ } from "./chunk-YKTYPINZ.mjs";
4
4
 
5
- // src/capabilities/keyboard.ts
6
- import { Capabilities as AppCapabilities, contributes } from "@dxos/app-framework";
5
+ // src/capabilities/keyboard/keyboard.ts
6
+ import * as Effect from "effect/Effect";
7
+ import { Capability, Common } from "@dxos/app-framework";
7
8
  import { debounce } from "@dxos/async";
8
9
  import { Keyboard } from "@dxos/keyboard";
9
- import { isAction } from "@dxos/plugin-graph";
10
+ import { Graph, Node, runAction } from "@dxos/plugin-graph";
10
11
  import { getHostPlatform } from "@dxos/util";
11
- var keyboard_default = ((context) => {
12
- const { graph } = context.getCapability(AppCapabilities.AppGraph);
12
+ var keyboard_default = Capability.makeModule(Effect.fnUntraced(function* () {
13
+ const { graph } = yield* Capability.get(Common.Capability.AppGraph);
14
+ const invoker = yield* Capability.get(Common.Capability.OperationInvoker);
15
+ const pluginContext = yield* Capability.Service;
13
16
  const visitor = (node, path) => {
14
17
  let shortcut;
15
18
  if (typeof node.properties.keyBinding === "object") {
@@ -19,10 +22,10 @@ var keyboard_default = ((context) => {
19
22
  } else {
20
23
  shortcut = node.properties.keyBinding;
21
24
  }
22
- if (shortcut && isAction(node)) {
25
+ if (shortcut && Node.isAction(node)) {
23
26
  Keyboard.singleton.getContext(path.slice(0, -1).join("/")).bind({
24
27
  shortcut,
25
- handler: () => node.data({
28
+ handler: () => void runAction(invoker, pluginContext, node, {
26
29
  parent: node,
27
30
  caller: KEY_BINDING
28
31
  }),
@@ -31,19 +34,19 @@ var keyboard_default = ((context) => {
31
34
  }
32
35
  };
33
36
  const eventHandler = debounce(() => {
34
- graph.traverse({
37
+ Graph.traverse(graph, {
35
38
  visitor
36
39
  });
37
40
  }, 500);
38
41
  const unsubscribe = graph.onNodeChanged.on(eventHandler);
39
42
  Keyboard.singleton.initialize();
40
- Keyboard.singleton.setCurrentContext(graph.root.id);
41
- return contributes(AppCapabilities.Null, null, () => {
43
+ Keyboard.singleton.setCurrentContext(Node.RootId);
44
+ return Capability.contributes(Common.Capability.Null, null, () => Effect.sync(() => {
42
45
  unsubscribe();
43
46
  Keyboard.singleton.destroy();
44
- });
45
- });
47
+ }));
48
+ }));
46
49
  export {
47
50
  keyboard_default as default
48
51
  };
49
- //# sourceMappingURL=keyboard-YJEK2HTH.mjs.map
52
+ //# sourceMappingURL=keyboard-32EH3N4K.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/keyboard/keyboard.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { debounce } from '@dxos/async';\nimport { Keyboard } from '@dxos/keyboard';\nimport { Graph, Node, runAction } from '@dxos/plugin-graph';\nimport { getHostPlatform } from '@dxos/util';\n\nimport { KEY_BINDING } from '../../meta';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const { graph } = yield* Capability.get(Common.Capability.AppGraph);\n const invoker = yield* Capability.get(Common.Capability.OperationInvoker);\n const pluginContext = yield* Capability.Service;\n\n // TODO(wittjosiah): Factor out.\n // TODO(wittjosiah): Handle removal of actions.\n const visitor = (node: Node.Node, path: string[]) => {\n let shortcut: string | undefined;\n if (typeof node.properties.keyBinding === 'object') {\n const availablePlatforms = Object.keys(node.properties.keyBinding);\n const platform = getHostPlatform();\n shortcut = availablePlatforms.includes(platform)\n ? node.properties.keyBinding[platform]\n : platform === 'ios'\n ? node.properties.keyBinding.macos // Fallback to macos if ios-specific bindings not provided.\n : platform === 'linux' || platform === 'unknown'\n ? node.properties.keyBinding.windows // Fallback to windows if platform-specific bindings not provided.\n : undefined;\n } else {\n shortcut = node.properties.keyBinding;\n }\n\n if (shortcut && Node.isAction(node)) {\n Keyboard.singleton.getContext(path.slice(0, -1).join('/')).bind({\n shortcut,\n handler: () => void runAction(invoker, pluginContext, node, { parent: node, caller: KEY_BINDING }),\n data: node.properties.label,\n });\n }\n };\n\n const eventHandler = debounce(() => {\n Graph.traverse(graph, { visitor });\n }, 500);\n\n const unsubscribe = graph.onNodeChanged.on(eventHandler);\n\n // TODO(burdon): Create context and plugin.\n Keyboard.singleton.initialize();\n Keyboard.singleton.setCurrentContext(Node.RootId);\n\n return Capability.contributes(Common.Capability.Null, null, () =>\n Effect.sync(() => {\n unsubscribe();\n Keyboard.singleton.destroy();\n }),\n );\n }),\n);\n"],
5
+ "mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,OAAOC,MAAMC,iBAAiB;AACvC,SAASC,uBAAuB;AAIhC,IAAA,mBAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAM,EAAEC,MAAK,IAAK,OAAOH,WAAWI,IAAIC,OAAOL,WAAWM,QAAQ;AAClE,QAAMC,UAAU,OAAOP,WAAWI,IAAIC,OAAOL,WAAWQ,gBAAgB;AACxE,QAAMC,gBAAgB,OAAOT,WAAWU;AAIxC,QAAMC,UAAU,CAACC,MAAiBC,SAAAA;AAChC,QAAIC;AACJ,QAAI,OAAOF,KAAKG,WAAWC,eAAe,UAAU;AAClD,YAAMC,qBAAqBC,OAAOC,KAAKP,KAAKG,WAAWC,UAAU;AACjE,YAAMI,WAAWC,gBAAAA;AACjBP,iBAAWG,mBAAmBK,SAASF,QAAAA,IACnCR,KAAKG,WAAWC,WAAWI,QAAAA,IAC3BA,aAAa,QACXR,KAAKG,WAAWC,WAAWO,QAC3BH,aAAa,WAAWA,aAAa,YACnCR,KAAKG,WAAWC,WAAWQ,UAC3BC;IACV,OAAO;AACLX,iBAAWF,KAAKG,WAAWC;IAC7B;AAEA,QAAIF,YAAYY,KAAKC,SAASf,IAAAA,GAAO;AACnCgB,eAASC,UAAUC,WAAWjB,KAAKkB,MAAM,GAAG,EAAC,EAAGC,KAAK,GAAA,CAAA,EAAMC,KAAK;QAC9DnB;QACAoB,SAAS,MAAM,KAAKC,UAAU5B,SAASE,eAAeG,MAAM;UAAEwB,QAAQxB;UAAMyB,QAAQC;QAAY,CAAA;QAChGC,MAAM3B,KAAKG,WAAWyB;MACxB,CAAA;IACF;EACF;AAEA,QAAMC,eAAeC,SAAS,MAAA;AAC5BC,UAAMC,SAASzC,OAAO;MAAEQ;IAAQ,CAAA;EAClC,GAAG,GAAA;AAEH,QAAMkC,cAAc1C,MAAM2C,cAAcC,GAAGN,YAAAA;AAG3Cb,WAASC,UAAUmB,WAAU;AAC7BpB,WAASC,UAAUoB,kBAAkBvB,KAAKwB,MAAM;AAEhD,SAAOlD,WAAWmD,YAAY9C,OAAOL,WAAWoD,MAAM,MAAM,MACnDC,YAAK,MAAA;AACVR,gBAAAA;AACAjB,aAASC,UAAUyB,QAAO;EAC5B,CAAA,CAAA;AAEJ,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "Common", "debounce", "Keyboard", "Graph", "Node", "runAction", "getHostPlatform", "Capability", "makeModule", "fnUntraced", "graph", "get", "Common", "AppGraph", "invoker", "OperationInvoker", "pluginContext", "Service", "visitor", "node", "path", "shortcut", "properties", "keyBinding", "availablePlatforms", "Object", "keys", "platform", "getHostPlatform", "includes", "macos", "windows", "undefined", "Node", "isAction", "Keyboard", "singleton", "getContext", "slice", "join", "bind", "handler", "runAction", "parent", "caller", "KEY_BINDING", "data", "label", "eventHandler", "debounce", "Graph", "traverse", "unsubscribe", "onNodeChanged", "on", "initialize", "setCurrentContext", "RootId", "contributes", "Null", "sync", "destroy"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"src/meta.ts":{"bytes":2004,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/capabilities.ts":{"bytes":2067,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/app-graph-builder.ts":{"bytes":6484,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":5196,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"src/capabilities/keyboard.ts":{"bytes":7558,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/components/CommandsDialog/CommandsDialog.tsx":{"bytes":18020,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/components/CommandsDialog/CommandsTrigger.tsx":{"bytes":4259,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/components/CommandsDialog/index.ts":{"bytes":609,"imports":[{"path":"src/components/CommandsDialog/CommandsDialog.tsx","kind":"import-statement","original":"./CommandsDialog"},{"path":"src/components/CommandsDialog/CommandsTrigger.tsx","kind":"import-statement","original":"./CommandsTrigger"}],"format":"esm"},"src/hooks.ts":{"bytes":1931,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"./components"}],"format":"esm"},"src/components/NavTreeContext.tsx":{"bytes":1463,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"src/util.ts":{"bytes":10042,"imports":[{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/components/UserAccountAvatar/UserAccountAvatar.tsx":{"bytes":4083,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/components/Sidebar/index.ts","kind":"import-statement","original":"../Sidebar"}],"format":"esm"},"src/components/UserAccountAvatar/index.ts":{"bytes":512,"imports":[{"path":"src/components/UserAccountAvatar/UserAccountAvatar.tsx","kind":"import-statement","original":"./UserAccountAvatar"}],"format":"esm"},"src/components/Sidebar/L0Menu.tsx":{"bytes":49965,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/combine","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/adapter","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/preserve-offset-on-source","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/scroll-just-enough-into-view","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/lit-ui/react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-tabs","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/hooks.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"src/util.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"../NavTreeContext"},{"path":"src/components/UserAccountAvatar/index.ts","kind":"import-statement","original":"../UserAccountAvatar"}],"format":"esm"},"src/components/NavTreeItem/NavTreeItemAction.tsx":{"bytes":12009,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/components/NavTreeItem/NavTreeItemColumns.tsx":{"bytes":11352,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/hooks.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"src/components/NavTree/index.ts","kind":"import-statement","original":"../NavTree"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"../NavTreeContext"},{"path":"src/components/NavTreeItem/NavTreeItemAction.tsx","kind":"import-statement","original":"./NavTreeItemAction"}],"format":"esm"},"src/components/NavTreeItem/index.ts":{"bytes":620,"imports":[{"path":"src/components/NavTreeItem/NavTreeItemAction.tsx","kind":"import-statement","original":"./NavTreeItemAction"},{"path":"src/components/NavTreeItem/NavTreeItemColumns.tsx","kind":"import-statement","original":"./NavTreeItemColumns"}],"format":"esm"},"src/components/Sidebar/L1Panel.tsx":{"bytes":19086,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-tabs","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"../NavTreeContext"},{"path":"src/components/NavTreeItem/index.ts","kind":"import-statement","original":"../NavTreeItem"}],"format":"esm"},"src/components/Sidebar/L1Tabs.tsx":{"bytes":5994,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/hooks.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/util.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"../NavTreeContext"},{"path":"src/components/Sidebar/L1Panel.tsx","kind":"import-statement","original":"./L1Panel"}],"format":"esm"},"src/components/Sidebar/index.ts":{"bytes":644,"imports":[{"path":"src/components/Sidebar/L0Menu.tsx","kind":"import-statement","original":"./L0Menu"},{"path":"src/components/Sidebar/L1Panel.tsx","kind":"import-statement","original":"./L1Panel"},{"path":"src/components/Sidebar/L1Tabs.tsx","kind":"import-statement","original":"./L1Tabs"}],"format":"esm"},"src/components/NavTree/NavTree.tsx":{"bytes":9131,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-tabs","kind":"import-statement","external":true},{"path":"src/hooks.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"../NavTreeContext"},{"path":"src/components/Sidebar/index.ts","kind":"import-statement","original":"../Sidebar"}],"format":"esm"},"src/components/NavTree/index.ts":{"bytes":476,"imports":[{"path":"src/components/NavTree/NavTree.tsx","kind":"import-statement","original":"./NavTree"}],"format":"esm"},"src/components/NavTreeContainer.tsx":{"bytes":45730,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/adapter","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"../capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/util.ts","kind":"import-statement","original":"../util"},{"path":"src/components/NavTree/index.ts","kind":"import-statement","original":"./NavTree"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"./NavTreeContext"}],"format":"esm"},"src/components/NavTreeDocumentTitle.tsx":{"bytes":2193,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/components/index.ts":{"bytes":948,"imports":[{"path":"src/components/CommandsDialog/index.ts","kind":"import-statement","original":"./CommandsDialog"},{"path":"src/components/NavTree/index.ts","kind":"import-statement","original":"./NavTree"},{"path":"src/components/NavTreeContainer.tsx","kind":"import-statement","original":"./NavTreeContainer"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"./NavTreeContext"},{"path":"src/components/NavTreeDocumentTitle.tsx","kind":"import-statement","original":"./NavTreeDocumentTitle"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":5704,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/state.ts":{"bytes":13285,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1815,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"src/capabilities/state.ts","kind":"dynamic-import","original":"./state"}],"format":"esm"},"src/events.ts":{"bytes":1113,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/translations.ts":{"bytes":2272,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/NavTreePlugin.tsx":{"bytes":11895,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/events.ts","kind":"import-statement","original":"./events"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/index.ts":{"bytes":983,"imports":[{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/events.ts","kind":"import-statement","original":"./events"},{"path":"src/NavTreePlugin.tsx","kind":"import-statement","original":"./NavTreePlugin"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7093},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-UDAINHB6.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-5VLWX4PK.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-E6MZBCU5.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["COMMANDS_DIALOG","KEY_BINDING","NavTreeCapabilities","NavTreeEvents","NavTreePlugin","getChildren","getParent","getPersistenceParent","l0ItemType","meta","resolveMigrationOperation","sortActions"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/events.ts":{"bytesInOutput":200},"src/NavTreePlugin.tsx":{"bytesInOutput":2457},"src/translations.ts":{"bytesInOutput":516}},"bytes":3901},"dist/lib/browser/app-graph-builder-OHSCN3GX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3217},"dist/lib/browser/app-graph-builder-OHSCN3GX.mjs":{"imports":[{"path":"dist/lib/browser/chunk-E6MZBCU5.mjs","kind":"import-statement"},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/app-graph-builder.ts","inputs":{"src/capabilities/app-graph-builder.ts":{"bytesInOutput":1272}},"bytes":1487},"dist/lib/browser/intent-resolver-YUVXVPHG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2652},"dist/lib/browser/intent-resolver-YUVXVPHG.mjs":{"imports":[{"path":"dist/lib/browser/chunk-5VLWX4PK.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-E6MZBCU5.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":1230}},"bytes":1466},"dist/lib/browser/keyboard-YJEK2HTH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3922},"dist/lib/browser/keyboard-YJEK2HTH.mjs":{"imports":[{"path":"dist/lib/browser/chunk-E6MZBCU5.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/keyboard.ts","inputs":{"src/capabilities/keyboard.ts":{"bytesInOutput":1556}},"bytes":1732},"dist/lib/browser/react-surface-V6LS3R4L.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2856},"dist/lib/browser/react-surface-V6LS3R4L.mjs":{"imports":[{"path":"dist/lib/browser/chunk-UDAINHB6.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-5VLWX4PK.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-E6MZBCU5.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":1227}},"bytes":1589},"dist/lib/browser/chunk-UDAINHB6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":98510},"dist/lib/browser/chunk-UDAINHB6.mjs":{"imports":[{"path":"dist/lib/browser/chunk-5VLWX4PK.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-E6MZBCU5.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/adapter","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/app-graph-builder-OHSCN3GX.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/intent-resolver-YUVXVPHG.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/keyboard-YJEK2HTH.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/react-surface-V6LS3R4L.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/state-BFD5KJCV.mjs","kind":"dynamic-import"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-tabs","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/combine","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/adapter","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/preserve-offset-on-source","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/scroll-just-enough-into-view","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/lit-ui/react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-tabs","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-tabs","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["AppGraphBuilder","CommandsDialogContent","CommandsTrigger","IntentResolver","Keyboard","NODE_TYPE","NavTreeContainer","NavTreeDocumentTitle","ReactSurface","State","getChildren","getParent","getPersistenceParent","l0ItemType","resolveMigrationOperation","sortActions"],"inputs":{"src/components/CommandsDialog/CommandsDialog.tsx":{"bytesInOutput":4626},"src/components/CommandsDialog/CommandsTrigger.tsx":{"bytesInOutput":1196},"src/util.ts":{"bytesInOutput":2177},"src/components/NavTreeContainer.tsx":{"bytesInOutput":11409},"src/capabilities/index.ts":{"bytesInOutput":387},"src/components/NavTree/NavTree.tsx":{"bytesInOutput":2542},"src/hooks.ts":{"bytesInOutput":349},"src/components/CommandsDialog/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0},"src/components/NavTreeContext.tsx":{"bytesInOutput":250},"src/components/NavTreeDocumentTitle.tsx":{"bytesInOutput":434},"src/components/Sidebar/L0Menu.tsx":{"bytesInOutput":14182},"src/components/UserAccountAvatar/UserAccountAvatar.tsx":{"bytesInOutput":1087},"src/components/UserAccountAvatar/index.ts":{"bytesInOutput":0},"src/components/Sidebar/index.ts":{"bytesInOutput":0},"src/components/Sidebar/L1Panel.tsx":{"bytesInOutput":5383},"src/components/NavTreeItem/NavTreeItemAction.tsx":{"bytesInOutput":3335},"src/components/NavTreeItem/index.ts":{"bytesInOutput":0},"src/components/NavTreeItem/NavTreeItemColumns.tsx":{"bytesInOutput":3052},"src/components/Sidebar/L1Tabs.tsx":{"bytesInOutput":1513},"src/components/NavTree/index.ts":{"bytesInOutput":0}},"bytes":53204},"dist/lib/browser/state-BFD5KJCV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6863},"dist/lib/browser/state-BFD5KJCV.mjs":{"imports":[{"path":"dist/lib/browser/chunk-5VLWX4PK.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-E6MZBCU5.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/state.ts","inputs":{"src/capabilities/state.ts":{"bytesInOutput":2781}},"bytes":3003},"dist/lib/browser/chunk-5VLWX4PK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1217},"dist/lib/browser/chunk-5VLWX4PK.mjs":{"imports":[{"path":"dist/lib/browser/chunk-E6MZBCU5.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["NavTreeCapabilities"],"inputs":{"src/capabilities/capabilities.ts":{"bytesInOutput":250}},"bytes":413},"dist/lib/browser/chunk-E6MZBCU5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":932},"dist/lib/browser/chunk-E6MZBCU5.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["COMMANDS_DIALOG","KEY_BINDING","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":384}},"bytes":497}}}
1
+ {"inputs":{"src/meta.ts":{"bytes":2000,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/types/capabilities.ts":{"bytes":1801,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/events.ts":{"bytes":1272,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/schema.ts":{"bytes":2787,"imports":[],"format":"esm"},"src/types/index.ts":{"bytes":644,"imports":[{"path":"src/types/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/types/events.ts","kind":"import-statement","original":"./events"},{"path":"src/types/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"},"src/capabilities/app-graph-builder/app-graph-builder.ts":{"bytes":4751,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/capabilities/app-graph-builder/index.ts":{"bytes":945,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/app-graph-builder/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"}],"format":"esm"},"src/capabilities/keyboard/keyboard.ts":{"bytes":8773,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/capabilities/keyboard/index.ts":{"bytes":865,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/keyboard/keyboard.ts","kind":"dynamic-import","original":"./keyboard"}],"format":"esm"},"src/capabilities/operation-resolver/operation-resolver.ts":{"bytes":6036,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../../types"}],"format":"esm"},"src/capabilities/operation-resolver/index.ts":{"bytes":963,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/operation-resolver/operation-resolver.ts","kind":"dynamic-import","original":"./operation-resolver"}],"format":"esm"},"src/components/CommandsDialog/CommandsDialog.tsx":{"bytes":17998,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/components/CommandsDialog/CommandsTrigger.tsx":{"bytes":3543,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/components/CommandsDialog/index.ts":{"bytes":609,"imports":[{"path":"src/components/CommandsDialog/CommandsDialog.tsx","kind":"import-statement","original":"./CommandsDialog"},{"path":"src/components/CommandsDialog/CommandsTrigger.tsx","kind":"import-statement","original":"./CommandsTrigger"}],"format":"esm"},"src/hooks.ts":{"bytes":7439,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/components/NavTreeContext.tsx":{"bytes":1463,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"src/util.ts":{"bytes":9613,"imports":[{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/components/UserAccountAvatar/UserAccountAvatar.tsx":{"bytes":3853,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/components/Sidebar/index.ts","kind":"import-statement","original":"../Sidebar"}],"format":"esm"},"src/components/UserAccountAvatar/index.ts":{"bytes":512,"imports":[{"path":"src/components/UserAccountAvatar/UserAccountAvatar.tsx","kind":"import-statement","original":"./UserAccountAvatar"}],"format":"esm"},"src/components/Sidebar/L0Menu.tsx":{"bytes":44772,"imports":[{"path":"@atlaskit/pragmatic-drag-and-drop/combine","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/adapter","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/preserve-offset-on-source","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/scroll-just-enough-into-view","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/lit-ui/react","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-tabs","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/hooks.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"src/util.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"../NavTreeContext"},{"path":"src/components/UserAccountAvatar/index.ts","kind":"import-statement","original":"../UserAccountAvatar"}],"format":"esm"},"src/components/NavTreeItem/NavTreeItemAction.tsx":{"bytes":11989,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/components/NavTreeItem/NavTreeItemColumns.tsx":{"bytes":11117,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/hooks.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"src/components/NavTree/index.ts","kind":"import-statement","original":"../NavTree"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"../NavTreeContext"},{"path":"src/components/NavTreeItem/NavTreeItemAction.tsx","kind":"import-statement","original":"./NavTreeItemAction"}],"format":"esm"},"src/components/NavTreeItem/index.ts":{"bytes":620,"imports":[{"path":"src/components/NavTreeItem/NavTreeItemAction.tsx","kind":"import-statement","original":"./NavTreeItemAction"},{"path":"src/components/NavTreeItem/NavTreeItemColumns.tsx","kind":"import-statement","original":"./NavTreeItemColumns"}],"format":"esm"},"src/components/Sidebar/L1Panel.tsx":{"bytes":18339,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-tabs","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"../NavTreeContext"},{"path":"src/components/NavTreeItem/index.ts","kind":"import-statement","original":"../NavTreeItem"}],"format":"esm"},"src/components/Sidebar/L1Tabs.tsx":{"bytes":2585,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/util.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/Sidebar/L1Panel.tsx","kind":"import-statement","original":"./L1Panel"}],"format":"esm"},"src/components/Sidebar/index.ts":{"bytes":644,"imports":[{"path":"src/components/Sidebar/L0Menu.tsx","kind":"import-statement","original":"./L0Menu"},{"path":"src/components/Sidebar/L1Panel.tsx","kind":"import-statement","original":"./L1Panel"},{"path":"src/components/Sidebar/L1Tabs.tsx","kind":"import-statement","original":"./L1Tabs"}],"format":"esm"},"src/components/NavTree/NavTree.tsx":{"bytes":7744,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-tabs","kind":"import-statement","external":true},{"path":"src/hooks.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"../NavTreeContext"},{"path":"src/components/Sidebar/index.ts","kind":"import-statement","original":"../Sidebar"}],"format":"esm"},"src/components/NavTree/index.ts":{"bytes":476,"imports":[{"path":"src/components/NavTree/NavTree.tsx","kind":"import-statement","original":"./NavTree"}],"format":"esm"},"src/components/NavTreeContainer.tsx":{"bytes":43884,"imports":[{"path":"@atlaskit/pragmatic-drag-and-drop/element/adapter","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/hooks.ts","kind":"import-statement","original":"../hooks"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/util.ts","kind":"import-statement","original":"../util"},{"path":"src/components/NavTree/index.ts","kind":"import-statement","original":"./NavTree"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"./NavTreeContext"}],"format":"esm"},"src/components/NavTreeDocumentTitle.tsx":{"bytes":2392,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/components/index.ts":{"bytes":948,"imports":[{"path":"src/components/CommandsDialog/index.ts","kind":"import-statement","original":"./CommandsDialog"},{"path":"src/components/NavTree/index.ts","kind":"import-statement","original":"./NavTree"},{"path":"src/components/NavTreeContainer.tsx","kind":"import-statement","original":"./NavTreeContainer"},{"path":"src/components/NavTreeContext.tsx","kind":"import-statement","original":"./NavTreeContext"},{"path":"src/components/NavTreeDocumentTitle.tsx","kind":"import-statement","original":"./NavTreeDocumentTitle"}],"format":"esm"},"src/capabilities/react-surface/react-surface.tsx":{"bytes":6695,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/capabilities/react-surface/index.ts":{"bytes":911,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/react-surface/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/capabilities/state/state.ts":{"bytes":15462,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../../types"}],"format":"esm"},"src/capabilities/state/index.ts":{"bytes":837,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/state/state.ts","kind":"dynamic-import","original":"./state"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":880,"imports":[{"path":"src/capabilities/app-graph-builder/index.ts","kind":"import-statement","original":"./app-graph-builder"},{"path":"src/capabilities/keyboard/index.ts","kind":"import-statement","original":"./keyboard"},{"path":"src/capabilities/operation-resolver/index.ts","kind":"import-statement","original":"./operation-resolver"},{"path":"src/capabilities/react-surface/index.ts","kind":"import-statement","original":"./react-surface"},{"path":"src/capabilities/state/index.ts","kind":"import-statement","original":"./state"}],"format":"esm"},"src/translations.ts":{"bytes":2272,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/NavTreePlugin.tsx":{"bytes":10447,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/index.ts":{"bytes":881,"imports":[{"path":"src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"src/NavTreePlugin.tsx","kind":"import-statement","original":"./NavTreePlugin"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8110},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-6YPQ625I.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-AGQDZBPL.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-YKTYPINZ.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/app-graph-builder-RSMA6I22.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/keyboard-32EH3N4K.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/operation-resolver-IB75DC5O.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/react-surface-F6CVMS3Y.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/state-EVYQOUI3.mjs","kind":"dynamic-import"}],"exports":["COMMANDS_DIALOG","KEY_BINDING","NavTreeCapabilities","NavTreeEvents","NavTreePlugin","getChildren","getParent","getPersistenceParent","l0ItemType","meta","resolveMigrationOperation","sortActions"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/NavTreePlugin.tsx":{"bytesInOutput":2096},"src/capabilities/app-graph-builder/index.ts":{"bytesInOutput":158},"src/capabilities/index.ts":{"bytesInOutput":0},"src/capabilities/keyboard/index.ts":{"bytesInOutput":151},"src/capabilities/operation-resolver/index.ts":{"bytesInOutput":179},"src/capabilities/react-surface/index.ts":{"bytesInOutput":164},"src/capabilities/state/index.ts":{"bytesInOutput":142},"src/translations.ts":{"bytesInOutput":516}},"bytes":4275},"dist/lib/browser/app-graph-builder-RSMA6I22.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2358},"dist/lib/browser/app-graph-builder-RSMA6I22.mjs":{"imports":[{"path":"dist/lib/browser/chunk-YKTYPINZ.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/app-graph-builder/app-graph-builder.ts","inputs":{"src/capabilities/app-graph-builder/app-graph-builder.ts":{"bytesInOutput":1034}},"bytes":1267},"dist/lib/browser/keyboard-32EH3N4K.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4576},"dist/lib/browser/keyboard-32EH3N4K.mjs":{"imports":[{"path":"dist/lib/browser/chunk-YKTYPINZ.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/keyboard/keyboard.ts","inputs":{"src/capabilities/keyboard/keyboard.ts":{"bytesInOutput":1832}},"bytes":2017},"dist/lib/browser/operation-resolver-IB75DC5O.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2994},"dist/lib/browser/operation-resolver-IB75DC5O.mjs":{"imports":[{"path":"dist/lib/browser/chunk-AGQDZBPL.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-YKTYPINZ.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/operation-resolver/operation-resolver.ts","inputs":{"src/capabilities/operation-resolver/operation-resolver.ts":{"bytesInOutput":1567}},"bytes":1831},"dist/lib/browser/react-surface-F6CVMS3Y.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3323},"dist/lib/browser/react-surface-F6CVMS3Y.mjs":{"imports":[{"path":"dist/lib/browser/chunk-6YPQ625I.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-AGQDZBPL.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-YKTYPINZ.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface/react-surface.tsx","inputs":{"src/capabilities/react-surface/react-surface.tsx":{"bytesInOutput":1406}},"bytes":1782},"dist/lib/browser/chunk-6YPQ625I.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":97347},"dist/lib/browser/chunk-6YPQ625I.mjs":{"imports":[{"path":"dist/lib/browser/chunk-AGQDZBPL.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-YKTYPINZ.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/adapter","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-tabs","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/combine","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/adapter","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/preserve-offset-on-source","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop/element/scroll-just-enough-into-view","kind":"import-statement","external":true},{"path":"@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/lit-ui/react","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-tabs","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-tabs","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"exports":["CommandsDialogContent","CommandsTrigger","NODE_TYPE","NavTreeContainer","NavTreeDocumentTitle","getChildren","getParent","getPersistenceParent","l0ItemType","resolveMigrationOperation","sortActions"],"inputs":{"src/components/CommandsDialog/CommandsDialog.tsx":{"bytesInOutput":4236},"src/components/CommandsDialog/CommandsTrigger.tsx":{"bytesInOutput":885},"src/util.ts":{"bytesInOutput":2054},"src/components/NavTreeContainer.tsx":{"bytesInOutput":10474},"src/hooks.ts":{"bytesInOutput":1129},"src/components/CommandsDialog/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0},"src/components/NavTree/NavTree.tsx":{"bytesInOutput":1979},"src/components/NavTreeContext.tsx":{"bytesInOutput":250},"src/components/Sidebar/L0Menu.tsx":{"bytesInOutput":11770},"src/components/UserAccountAvatar/UserAccountAvatar.tsx":{"bytesInOutput":902},"src/components/UserAccountAvatar/index.ts":{"bytesInOutput":0},"src/components/Sidebar/index.ts":{"bytesInOutput":0},"src/components/Sidebar/L1Panel.tsx":{"bytesInOutput":4867},"src/components/NavTreeItem/NavTreeItemAction.tsx":{"bytesInOutput":3098},"src/components/NavTreeItem/index.ts":{"bytesInOutput":0},"src/components/NavTreeItem/NavTreeItemColumns.tsx":{"bytesInOutput":2814},"src/components/Sidebar/L1Tabs.tsx":{"bytesInOutput":417},"src/components/NavTree/index.ts":{"bytesInOutput":0},"src/components/NavTreeDocumentTitle.tsx":{"bytesInOutput":509}},"bytes":46549},"dist/lib/browser/state-EVYQOUI3.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7966},"dist/lib/browser/state-EVYQOUI3.mjs":{"imports":[{"path":"dist/lib/browser/chunk-AGQDZBPL.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-YKTYPINZ.mjs","kind":"import-statement"},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/state/state.ts","inputs":{"src/capabilities/state/state.ts":{"bytesInOutput":3061}},"bytes":3289},"dist/lib/browser/chunk-AGQDZBPL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1566},"dist/lib/browser/chunk-AGQDZBPL.mjs":{"imports":[{"path":"dist/lib/browser/chunk-YKTYPINZ.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["NavTreeCapabilities","NavTreeEvents"],"inputs":{"src/types/capabilities.ts":{"bytesInOutput":243},"src/types/events.ts":{"bytesInOutput":216},"src/types/index.ts":{"bytesInOutput":0}},"bytes":656},"dist/lib/browser/chunk-YKTYPINZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":929},"dist/lib/browser/chunk-YKTYPINZ.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["COMMANDS_DIALOG","KEY_BINDING","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":384}},"bytes":497}}}
@@ -0,0 +1,52 @@
1
+ import {
2
+ NavTreeCapabilities
3
+ } from "./chunk-AGQDZBPL.mjs";
4
+ import "./chunk-YKTYPINZ.mjs";
5
+
6
+ // src/capabilities/operation-resolver/operation-resolver.ts
7
+ import * as Effect from "effect/Effect";
8
+ import { Capability, Common } from "@dxos/app-framework";
9
+ import { log } from "@dxos/log";
10
+ import { OperationResolver } from "@dxos/operation";
11
+ import { Graph } from "@dxos/plugin-graph";
12
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-navtree/src/capabilities/operation-resolver/operation-resolver.ts";
13
+ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(function* () {
14
+ return Capability.contributes(Common.Capability.OperationResolver, [
15
+ OperationResolver.make({
16
+ operation: Common.LayoutOperation.Expose,
17
+ handler: Effect.fnUntraced(function* ({ subject }) {
18
+ const { graph } = yield* Capability.get(Common.Capability.AppGraph);
19
+ const { getItem, setItem } = yield* Capability.get(NavTreeCapabilities.State);
20
+ yield* Effect.tryPromise(() => Graph.waitForPath(graph, {
21
+ target: subject
22
+ }, {
23
+ timeout: 1e3
24
+ })).pipe(Effect.andThen((path) => {
25
+ [
26
+ ...Array(path.length)
27
+ ].forEach((_, index) => {
28
+ const subpath = path.slice(0, index);
29
+ const value = getItem(subpath);
30
+ if (!value.open) {
31
+ setItem(subpath, "open", true);
32
+ }
33
+ });
34
+ }), Effect.catchAll(() => {
35
+ log("Path to node not found", {
36
+ subject
37
+ }, {
38
+ F: __dxlog_file,
39
+ L: 33,
40
+ S: this,
41
+ C: (f, a) => f(...a)
42
+ });
43
+ return Effect.void;
44
+ }));
45
+ })
46
+ })
47
+ ]);
48
+ }));
49
+ export {
50
+ operation_resolver_default as default
51
+ };
52
+ //# sourceMappingURL=operation-resolver-IB75DC5O.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/operation-resolver/operation-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { OperationResolver } from '@dxos/operation';\nimport { Graph } from '@dxos/plugin-graph';\n\nimport { NavTreeCapabilities } from '../../types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contributes(Common.Capability.OperationResolver, [\n OperationResolver.make({\n operation: Common.LayoutOperation.Expose,\n handler: Effect.fnUntraced(function* ({ subject }) {\n const { graph } = yield* Capability.get(Common.Capability.AppGraph);\n const { getItem, setItem } = yield* Capability.get(NavTreeCapabilities.State);\n yield* Effect.tryPromise(() => Graph.waitForPath(graph, { target: subject }, { timeout: 1_000 })).pipe(\n Effect.andThen((path) => {\n [...Array(path.length)].forEach((_, index) => {\n const subpath = path.slice(0, index);\n const value = getItem(subpath);\n if (!value.open) {\n setItem(subpath, 'open', true);\n }\n });\n }),\n Effect.catchAll(() => {\n log('Path to node not found', { subject });\n return Effect.void;\n }),\n );\n }),\n }),\n ]);\n }),\n);\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,WAAW;AACpB,SAASC,yBAAyB;AAClC,SAASC,aAAa;;AAItB,IAAA,6BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,SAAOF,WAAWG,YAAYC,OAAOJ,WAAWK,mBAAmB;IACjEA,kBAAkBC,KAAK;MACrBC,WAAWH,OAAOI,gBAAgBC;MAClCC,SAAgBR,kBAAW,WAAW,EAAES,QAAO,GAAE;AAC/C,cAAM,EAAEC,MAAK,IAAK,OAAOZ,WAAWa,IAAIT,OAAOJ,WAAWc,QAAQ;AAClE,cAAM,EAAEC,SAASC,QAAO,IAAK,OAAOhB,WAAWa,IAAII,oBAAoBC,KAAK;AAC5E,eAAcC,kBAAW,MAAMC,MAAMC,YAAYT,OAAO;UAAEU,QAAQX;QAAQ,GAAG;UAAEY,SAAS;QAAM,CAAA,CAAA,EAAIC,KACzFC,eAAQ,CAACC,SAAAA;AACd;eAAIC,MAAMD,KAAKE,MAAM;YAAGC,QAAQ,CAACC,GAAGC,UAAAA;AAClC,kBAAMC,UAAUN,KAAKO,MAAM,GAAGF,KAAAA;AAC9B,kBAAMG,QAAQnB,QAAQiB,OAAAA;AACtB,gBAAI,CAACE,MAAMC,MAAM;AACfnB,sBAAQgB,SAAS,QAAQ,IAAA;YAC3B;UACF,CAAA;QACF,CAAA,GACOI,gBAAS,MAAA;AACdC,cAAI,0BAA0B;YAAE1B;UAAQ,GAAA;;;;;;AACxC,iBAAc2B;QAChB,CAAA,CAAA;MAEJ,CAAA;IACF,CAAA;GACD;AACH,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "Common", "log", "OperationResolver", "Graph", "Capability", "makeModule", "fnUntraced", "contributes", "Common", "OperationResolver", "make", "operation", "LayoutOperation", "Expose", "handler", "subject", "graph", "get", "AppGraph", "getItem", "setItem", "NavTreeCapabilities", "State", "tryPromise", "Graph", "waitForPath", "target", "timeout", "pipe", "andThen", "path", "Array", "length", "forEach", "_", "index", "subpath", "slice", "value", "open", "catchAll", "log", "void"]
7
+ }
@@ -0,0 +1,58 @@
1
+ import {
2
+ CommandsDialogContent,
3
+ CommandsTrigger,
4
+ NavTreeContainer,
5
+ NavTreeDocumentTitle
6
+ } from "./chunk-6YPQ625I.mjs";
7
+ import "./chunk-AGQDZBPL.mjs";
8
+ import {
9
+ COMMANDS_DIALOG,
10
+ meta
11
+ } from "./chunk-YKTYPINZ.mjs";
12
+
13
+ // src/capabilities/react-surface/react-surface.tsx
14
+ import * as Effect from "effect/Effect";
15
+ import React from "react";
16
+ import { Capability, Common } from "@dxos/app-framework";
17
+ import { Node } from "@dxos/plugin-graph";
18
+ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Common.Capability.ReactSurface, [
19
+ Common.createSurface({
20
+ id: COMMANDS_DIALOG,
21
+ role: "dialog",
22
+ filter: (data) => data.component === COMMANDS_DIALOG,
23
+ component: ({ data, ref }) => /* @__PURE__ */ React.createElement(CommandsDialogContent, {
24
+ ...data.props,
25
+ ref
26
+ })
27
+ }),
28
+ Common.createSurface({
29
+ id: `${meta.id}/navigation`,
30
+ role: "navigation",
31
+ filter: (data) => typeof data.current === "string",
32
+ component: ({ data, ref }) => {
33
+ return /* @__PURE__ */ React.createElement(NavTreeContainer, {
34
+ tab: data.current,
35
+ popoverAnchorId: data.popoverAnchorId,
36
+ topbar: data.topbar,
37
+ ref
38
+ });
39
+ }
40
+ }),
41
+ Common.createSurface({
42
+ id: `${meta.id}/document-title`,
43
+ role: "document-title",
44
+ component: ({ data }) => /* @__PURE__ */ React.createElement(NavTreeDocumentTitle, {
45
+ node: Node.isGraphNode(data.subject) ? data.subject : void 0
46
+ })
47
+ }),
48
+ Common.createSurface({
49
+ id: `${meta.id}/search-input`,
50
+ role: "search-input",
51
+ position: "fallback",
52
+ component: () => /* @__PURE__ */ React.createElement(CommandsTrigger, null)
53
+ })
54
+ ])));
55
+ export {
56
+ react_surface_default as default
57
+ };
58
+ //# sourceMappingURL=react-surface-F6CVMS3Y.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { Node } from '@dxos/plugin-graph';\n\nimport { CommandsDialogContent, CommandsTrigger, NavTreeContainer, NavTreeDocumentTitle } from '../../components';\nimport { COMMANDS_DIALOG, meta } from '../../meta';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Common.Capability.ReactSurface, [\n Common.createSurface({\n id: COMMANDS_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: { selected?: string } } => data.component === COMMANDS_DIALOG,\n component: ({ data, ref }) => <CommandsDialogContent {...data.props} ref={ref} />,\n }),\n Common.createSurface({\n id: `${meta.id}/navigation`,\n role: 'navigation',\n filter: (data): data is { popoverAnchorId?: string; topbar: boolean; current: string } =>\n typeof data.current === 'string',\n component: ({ data, ref }) => {\n return (\n <NavTreeContainer\n tab={data.current}\n popoverAnchorId={data.popoverAnchorId as string | undefined}\n topbar={data.topbar as boolean}\n ref={ref}\n />\n );\n },\n }),\n Common.createSurface({\n id: `${meta.id}/document-title`,\n role: 'document-title',\n component: ({ data }) => (\n <NavTreeDocumentTitle node={Node.isGraphNode(data.subject) ? data.subject : undefined} />\n ),\n }),\n Common.createSurface({\n id: `${meta.id}/search-input`,\n role: 'search-input',\n position: 'fallback',\n component: () => <CommandsTrigger />,\n }),\n ]),\n ),\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,YAAYC,cAAc;AACnC,SAASC,YAAY;AAKrB,IAAA,wBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,OAAOJ,WAAWK,cAAc;EACrDD,OAAOE,cAAc;IACnBC,IAAIC;IACJC,MAAM;IACNC,QAAQ,CAACC,SAAmDA,KAAKC,cAAcJ;IAC/EI,WAAW,CAAC,EAAED,MAAME,IAAG,MAAO,sBAAA,cAACC,uBAAAA;MAAuB,GAAGH,KAAKI;MAAOF;;EACvE,CAAA;EACAT,OAAOE,cAAc;IACnBC,IAAI,GAAGS,KAAKT,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACP,OAAOA,KAAKM,YAAY;IAC1BL,WAAW,CAAC,EAAED,MAAME,IAAG,MAAE;AACvB,aACE,sBAAA,cAACK,kBAAAA;QACCC,KAAKR,KAAKM;QACVG,iBAAiBT,KAAKS;QACtBC,QAAQV,KAAKU;QACbR;;IAGN;EACF,CAAA;EACAT,OAAOE,cAAc;IACnBC,IAAI,GAAGS,KAAKT,EAAE;IACdE,MAAM;IACNG,WAAW,CAAC,EAAED,KAAI,MAChB,sBAAA,cAACW,sBAAAA;MAAqBC,MAAMC,KAAKC,YAAYd,KAAKe,OAAO,IAAIf,KAAKe,UAAUC;;EAEhF,CAAA;EACAvB,OAAOE,cAAc;IACnBC,IAAI,GAAGS,KAAKT,EAAE;IACdE,MAAM;IACNmB,UAAU;IACVhB,WAAW,MAAM,sBAAA,cAACiB,iBAAAA,IAAAA;EACpB,CAAA;CACD,CAAA,CAAA;",
6
+ "names": ["Effect", "React", "Capability", "Common", "Node", "Capability", "makeModule", "succeed", "contributes", "Common", "ReactSurface", "createSurface", "id", "COMMANDS_DIALOG", "role", "filter", "data", "component", "ref", "CommandsDialogContent", "props", "meta", "current", "NavTreeContainer", "tab", "popoverAnchorId", "topbar", "NavTreeDocumentTitle", "node", "Node", "isGraphNode", "subject", "undefined", "position", "CommandsTrigger"]
7
+ }
@@ -0,0 +1,120 @@
1
+ import {
2
+ NavTreeCapabilities
3
+ } from "./chunk-AGQDZBPL.mjs";
4
+ import {
5
+ meta
6
+ } from "./chunk-YKTYPINZ.mjs";
7
+
8
+ // src/capabilities/state/state.ts
9
+ import { Atom } from "@effect-atom/atom-react";
10
+ import * as Effect from "effect/Effect";
11
+ import { Capability, Common } from "@dxos/app-framework";
12
+ import { Path } from "@dxos/react-ui-list";
13
+ var KEY = `${meta.id}/state/v1`;
14
+ var defaultItemState = {
15
+ open: false,
16
+ current: false,
17
+ alternateTree: false
18
+ };
19
+ var defaultStateEntries = [
20
+ [
21
+ "root",
22
+ {
23
+ open: true,
24
+ current: false
25
+ }
26
+ ],
27
+ [
28
+ "root~dxos.org/plugin/space-spaces",
29
+ {
30
+ open: true,
31
+ current: false
32
+ }
33
+ ],
34
+ [
35
+ "root~dxos.org/plugin/files",
36
+ {
37
+ open: true,
38
+ current: false
39
+ }
40
+ ]
41
+ ];
42
+ var getInitialState = () => {
43
+ const stringified = localStorage.getItem(KEY);
44
+ if (!stringified) {
45
+ return new Map(defaultStateEntries);
46
+ }
47
+ try {
48
+ const cached = JSON.parse(stringified);
49
+ return new Map(cached.map(([key, value]) => [
50
+ key,
51
+ {
52
+ open: value.open,
53
+ current: false
54
+ }
55
+ ]));
56
+ } catch {
57
+ return new Map(defaultStateEntries);
58
+ }
59
+ };
60
+ var state_default = Capability.makeModule(Effect.fnUntraced(function* () {
61
+ const registry = yield* Capability.get(Common.Capability.AtomRegistry);
62
+ const layoutAtom = yield* Capability.get(Common.Capability.Layout);
63
+ const backingState = getInitialState();
64
+ const itemAtomFamily = Atom.family((pathString) => Atom.make(backingState.get(pathString) ?? {
65
+ ...defaultItemState
66
+ }).pipe(Atom.keepAlive));
67
+ const getItemAtom = (path) => {
68
+ const pathString = Path.create(...path);
69
+ return itemAtomFamily(pathString);
70
+ };
71
+ const getItem = (path) => {
72
+ return registry.get(getItemAtom(path));
73
+ };
74
+ const setItem = (path, key, next) => {
75
+ const pathString = Path.create(...path);
76
+ const atom = itemAtomFamily(pathString);
77
+ const currentValue = registry.get(atom);
78
+ const newValue = {
79
+ ...currentValue,
80
+ [key]: next
81
+ };
82
+ registry.set(atom, newValue);
83
+ backingState.set(pathString, newValue);
84
+ localStorage.setItem(KEY, JSON.stringify(Array.from(backingState.entries())));
85
+ };
86
+ let previous = [];
87
+ const unsubscribe = registry.subscribe(layoutAtom, (layout) => {
88
+ const removed = previous.filter((id) => !layout.active.includes(id));
89
+ previous = layout.active;
90
+ const handleUpdate = () => {
91
+ removed.forEach((id) => {
92
+ const keys = Array.from(backingState.keys()).filter((key) => Path.last(key) === id);
93
+ keys.forEach((key) => {
94
+ setItem(Path.parts(key), "current", false);
95
+ });
96
+ });
97
+ layout.active.forEach((id) => {
98
+ const keys = Array.from(/* @__PURE__ */ new Set([
99
+ ...backingState.keys(),
100
+ id
101
+ ])).filter((key) => Path.last(key) === id);
102
+ keys.forEach((key) => {
103
+ setItem(Path.parts(key), "current", true);
104
+ });
105
+ });
106
+ };
107
+ const timeout = setTimeout(handleUpdate, 500);
108
+ handleUpdate();
109
+ return () => clearTimeout(timeout);
110
+ });
111
+ return Capability.contributes(NavTreeCapabilities.State, {
112
+ getItem,
113
+ getItemAtom,
114
+ setItem
115
+ }, () => Effect.sync(() => unsubscribe()));
116
+ }));
117
+ export {
118
+ state_default as default
119
+ };
120
+ //# sourceMappingURL=state-EVYQOUI3.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/state/state.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { Path } from '@dxos/react-ui-list';\n\nimport { meta } from '../../meta';\nimport { type NavTreeCapabilities as NC, NavTreeCapabilities } from '../../types';\n\nconst KEY = `${meta.id}/state/v1`;\n\n/** Default item state for new entries. */\nconst defaultItemState: NC.NavTreeItemState = { open: false, current: false, alternateTree: false };\n\n/** Default state entries for initial tree structure. */\n// TODO(thure): Initialize these dynamically.\nconst defaultStateEntries: [string, NC.NavTreeItemState][] = [\n ['root', { open: true, current: false }],\n ['root~dxos.org/plugin/space-spaces', { open: true, current: false }],\n ['root~dxos.org/plugin/files', { open: true, current: false }],\n];\n\nconst getInitialState = (): Map<string, NC.NavTreeItemState> => {\n const stringified = localStorage.getItem(KEY);\n if (!stringified) {\n return new Map(defaultStateEntries);\n }\n\n try {\n const cached: [string, { open: boolean; current: boolean }][] = JSON.parse(stringified);\n return new Map(cached.map(([key, value]) => [key, { open: value.open, current: false }]));\n } catch {\n return new Map(defaultStateEntries);\n }\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const registry = yield* Capability.get(Common.Capability.AtomRegistry);\n const layoutAtom = yield* Capability.get(Common.Capability.Layout);\n\n // Backing state for persistence (not reactive).\n const backingState = getInitialState();\n\n // Per-path atom family for fine-grained reactivity.\n // keepAlive prevents atoms from being garbage collected when components unmount,\n // ensuring state is preserved across deletion/restoration cycles.\n const itemAtomFamily = Atom.family((pathString: string) =>\n Atom.make<NC.NavTreeItemState>(backingState.get(pathString) ?? { ...defaultItemState }).pipe(Atom.keepAlive),\n );\n\n const getItemAtom = (path: string[]): Atom.Atom<NC.NavTreeItemState> => {\n const pathString = Path.create(...path);\n return itemAtomFamily(pathString);\n };\n\n const getItem = (path: string[]): NC.NavTreeItemState => {\n return registry.get(getItemAtom(path));\n };\n\n const setItem = (path: string[], key: 'open' | 'current' | 'alternateTree', next: boolean) => {\n const pathString = Path.create(...path);\n const atom = itemAtomFamily(pathString);\n const currentValue = registry.get(atom);\n const newValue = { ...currentValue, [key]: next };\n\n // Update the atom.\n registry.set(atom, newValue);\n\n // Update backing state and persist to localStorage.\n backingState.set(pathString, newValue);\n localStorage.setItem(KEY, JSON.stringify(Array.from(backingState.entries())));\n };\n\n // Subscribe to layout changes to update current state.\n let previous: string[] = [];\n const unsubscribe = registry.subscribe(layoutAtom, (layout) => {\n const removed = previous.filter((id) => !layout.active.includes(id));\n previous = layout.active;\n\n const handleUpdate = () => {\n // Mark removed items as not current.\n removed.forEach((id) => {\n const keys = Array.from(backingState.keys()).filter((key) => Path.last(key) === id);\n keys.forEach((key) => {\n setItem(Path.parts(key), 'current', false);\n });\n });\n\n // Mark active items as current.\n layout.active.forEach((id: string) => {\n const keys = Array.from(new Set([...backingState.keys(), id])).filter((key) => Path.last(key) === id);\n keys.forEach((key) => {\n setItem(Path.parts(key), 'current', true);\n });\n });\n };\n\n // TODO(wittjosiah): This is setTimeout because there's a race between the keys being initialized.\n // Keys are initialized on the first render of an item in the navtree.\n // This could be avoided if the location was a path as well and not just an id.\n const timeout = setTimeout(handleUpdate, 500);\n handleUpdate();\n return () => clearTimeout(timeout);\n });\n\n return Capability.contributes(\n NavTreeCapabilities.State,\n {\n getItem,\n getItemAtom,\n setItem,\n },\n () => Effect.sync(() => unsubscribe()),\n );\n }),\n);\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,YAAY;AACrB,YAAYC,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,YAAY;AAKrB,IAAMC,MAAM,GAAGC,KAAKC,EAAE;AAGtB,IAAMC,mBAAwC;EAAEC,MAAM;EAAOC,SAAS;EAAOC,eAAe;AAAM;AAIlG,IAAMC,sBAAuD;EAC3D;IAAC;IAAQ;MAAEH,MAAM;MAAMC,SAAS;IAAM;;EACtC;IAAC;IAAqC;MAAED,MAAM;MAAMC,SAAS;IAAM;;EACnE;IAAC;IAA8B;MAAED,MAAM;MAAMC,SAAS;IAAM;;;AAG9D,IAAMG,kBAAkB,MAAA;AACtB,QAAMC,cAAcC,aAAaC,QAAQX,GAAAA;AACzC,MAAI,CAACS,aAAa;AAChB,WAAO,IAAIG,IAAIL,mBAAAA;EACjB;AAEA,MAAI;AACF,UAAMM,SAA0DC,KAAKC,MAAMN,WAAAA;AAC3E,WAAO,IAAIG,IAAIC,OAAOG,IAAI,CAAC,CAACC,KAAKC,KAAAA,MAAW;MAACD;MAAK;QAAEb,MAAMc,MAAMd;QAAMC,SAAS;MAAM;KAAE,CAAA;EACzF,QAAQ;AACN,WAAO,IAAIO,IAAIL,mBAAAA;EACjB;AACF;AAEA,IAAA,gBAAeY,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,WAAW,OAAOH,WAAWI,IAAIC,OAAOL,WAAWM,YAAY;AACrE,QAAMC,aAAa,OAAOP,WAAWI,IAAIC,OAAOL,WAAWQ,MAAM;AAGjE,QAAMC,eAAepB,gBAAAA;AAKrB,QAAMqB,iBAAiBC,KAAKC,OAAO,CAACC,eAClCF,KAAKG,KAA0BL,aAAaL,IAAIS,UAAAA,KAAe;IAAE,GAAG7B;EAAiB,CAAA,EAAG+B,KAAKJ,KAAKK,SAAS,CAAA;AAG7G,QAAMC,cAAc,CAACC,SAAAA;AACnB,UAAML,aAAaM,KAAKC,OAAM,GAAIF,IAAAA;AAClC,WAAOR,eAAeG,UAAAA;EACxB;AAEA,QAAMrB,UAAU,CAAC0B,SAAAA;AACf,WAAOf,SAASC,IAAIa,YAAYC,IAAAA,CAAAA;EAClC;AAEA,QAAMG,UAAU,CAACH,MAAgBpB,KAA2CwB,SAAAA;AAC1E,UAAMT,aAAaM,KAAKC,OAAM,GAAIF,IAAAA;AAClC,UAAMK,OAAOb,eAAeG,UAAAA;AAC5B,UAAMW,eAAerB,SAASC,IAAImB,IAAAA;AAClC,UAAME,WAAW;MAAE,GAAGD;MAAc,CAAC1B,GAAAA,GAAMwB;IAAK;AAGhDnB,aAASuB,IAAIH,MAAME,QAAAA;AAGnBhB,iBAAaiB,IAAIb,YAAYY,QAAAA;AAC7BlC,iBAAa8B,QAAQxC,KAAKc,KAAKgC,UAAUC,MAAMC,KAAKpB,aAAaqB,QAAO,CAAA,CAAA,CAAA;EAC1E;AAGA,MAAIC,WAAqB,CAAA;AACzB,QAAMC,cAAc7B,SAAS8B,UAAU1B,YAAY,CAAC2B,WAAAA;AAClD,UAAMC,UAAUJ,SAASK,OAAO,CAACrD,OAAO,CAACmD,OAAOG,OAAOC,SAASvD,EAAAA,CAAAA;AAChEgD,eAAWG,OAAOG;AAElB,UAAME,eAAe,MAAA;AAEnBJ,cAAQK,QAAQ,CAACzD,OAAAA;AACf,cAAM0D,OAAOb,MAAMC,KAAKpB,aAAagC,KAAI,CAAA,EAAIL,OAAO,CAACtC,QAAQqB,KAAKuB,KAAK5C,GAAAA,MAASf,EAAAA;AAChF0D,aAAKD,QAAQ,CAAC1C,QAAAA;AACZuB,kBAAQF,KAAKwB,MAAM7C,GAAAA,GAAM,WAAW,KAAA;QACtC,CAAA;MACF,CAAA;AAGAoC,aAAOG,OAAOG,QAAQ,CAACzD,OAAAA;AACrB,cAAM0D,OAAOb,MAAMC,KAAK,oBAAIe,IAAI;aAAInC,aAAagC,KAAI;UAAI1D;SAAG,CAAA,EAAGqD,OAAO,CAACtC,QAAQqB,KAAKuB,KAAK5C,GAAAA,MAASf,EAAAA;AAClG0D,aAAKD,QAAQ,CAAC1C,QAAAA;AACZuB,kBAAQF,KAAKwB,MAAM7C,GAAAA,GAAM,WAAW,IAAA;QACtC,CAAA;MACF,CAAA;IACF;AAKA,UAAM+C,UAAUC,WAAWP,cAAc,GAAA;AACzCA,iBAAAA;AACA,WAAO,MAAMQ,aAAaF,OAAAA;EAC5B,CAAA;AAEA,SAAO7C,WAAWgD,YAChBC,oBAAoBC,OACpB;IACE1D;IACAyB;IACAI;EACF,GACA,MAAa8B,YAAK,MAAMnB,YAAAA,CAAAA,CAAAA;AAE5B,CAAA,CAAA;",
6
+ "names": ["Atom", "Effect", "Capability", "Common", "Path", "KEY", "meta", "id", "defaultItemState", "open", "current", "alternateTree", "defaultStateEntries", "getInitialState", "stringified", "localStorage", "getItem", "Map", "cached", "JSON", "parse", "map", "key", "value", "Capability", "makeModule", "fnUntraced", "registry", "get", "Common", "AtomRegistry", "layoutAtom", "Layout", "backingState", "itemAtomFamily", "Atom", "family", "pathString", "make", "pipe", "keepAlive", "getItemAtom", "path", "Path", "create", "setItem", "next", "atom", "currentValue", "newValue", "set", "stringify", "Array", "from", "entries", "previous", "unsubscribe", "subscribe", "layout", "removed", "filter", "active", "includes", "handleUpdate", "forEach", "keys", "last", "parts", "Set", "timeout", "setTimeout", "clearTimeout", "contributes", "NavTreeCapabilities", "State", "sync"]
7
+ }
@@ -1,2 +1,3 @@
1
- export declare const NavTreePlugin: import("@dxos/app-framework").PluginFactory<void>;
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const NavTreePlugin: Plugin.PluginFactory<void>;
2
3
  //# sourceMappingURL=NavTreePlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavTreePlugin.d.ts","sourceRoot":"","sources":["../../../src/NavTreePlugin.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,aAAa,mDAuExB,CAAC"}
1
+ {"version":3,"file":"NavTreePlugin.d.ts","sourceRoot":"","sources":["../../../src/NavTreePlugin.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAuC,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAUlF,eAAO,MAAM,aAAa,4BA4DzB,CAAC"}