@dxos/plugin-simple-layout 0.8.4-main.d05673bc65 → 0.8.4-main.fcfe5033a5
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.
- package/dist/lib/browser/index.mjs +35 -56
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +35 -55
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/SimpleLayoutPlugin.d.ts +1 -1
- package/dist/types/src/SimpleLayoutPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +21 -6
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/spotlight-dismiss.d.ts.map +1 -0
- package/dist/types/src/capabilities/{state/state.d.ts → state.d.ts} +1 -1
- package/dist/types/src/capabilities/state.d.ts.map +1 -0
- package/dist/types/src/capabilities/{url-handler/url-handler.d.ts → url-handler.d.ts} +1 -1
- package/dist/types/src/capabilities/url-handler.d.ts.map +1 -0
- package/dist/types/src/components/ContentError.stories.d.ts +25 -18
- package/dist/types/src/components/ContentError.stories.d.ts.map +1 -1
- package/dist/types/src/components/DebugOverlay/DebugOverlay.d.ts +19 -0
- package/dist/types/src/components/DebugOverlay/DebugOverlay.d.ts.map +1 -0
- package/dist/types/src/components/DebugOverlay/index.d.ts +2 -0
- package/dist/types/src/components/DebugOverlay/index.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/src/components/Home/Home.d.ts.map +1 -1
- package/dist/types/src/components/Loading/Loading.d.ts +3 -0
- package/dist/types/src/components/Loading/Loading.d.ts.map +1 -0
- package/dist/types/src/components/{ContentLoading/ContentLoading.stories.d.ts → Loading/Loading.stories.d.ts} +1 -1
- package/dist/types/src/components/Loading/Loading.stories.d.ts.map +1 -0
- package/dist/types/src/components/Loading/index.d.ts +2 -0
- package/dist/types/src/components/Loading/index.d.ts.map +1 -0
- package/dist/types/src/components/MobileLayout/MobileLayout.d.ts.map +1 -1
- package/dist/types/src/components/MobileLayout/MobileLayout.stories.d.ts.map +1 -1
- package/dist/types/src/components/NavBranch/NavBranch.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/AppBar.d.ts +5 -7
- package/dist/types/src/components/SimpleLayout/AppBar.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/AppBar.stories.d.ts +28 -21
- package/dist/types/src/components/SimpleLayout/AppBar.stories.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/Drawer.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/Main.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/NavBar.d.ts +5 -7
- package/dist/types/src/components/SimpleLayout/NavBar.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts +28 -22
- package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/SimpleLayout.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/SimpleLayout.stories.d.ts +26 -25
- package/dist/types/src/components/SimpleLayout/SimpleLayout.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/actions.d.ts +1 -1
- package/dist/types/src/hooks/actions.d.ts.map +1 -1
- package/dist/types/src/hooks/useAppBarProps.d.ts +1 -1
- package/dist/types/src/hooks/useAppBarProps.d.ts.map +1 -1
- package/dist/types/src/hooks/useSimpleLayoutState.d.ts +1 -1
- package/dist/types/src/hooks/useSimpleLayoutState.d.ts.map +1 -1
- package/dist/types/src/operations/close.d.ts +5 -0
- package/dist/types/src/operations/close.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts +3 -0
- package/dist/types/src/operations/index.d.ts.map +1 -0
- package/dist/types/src/operations/open.d.ts +5 -0
- package/dist/types/src/operations/open.d.ts.map +1 -0
- package/dist/types/src/operations/revert-workspace.d.ts +5 -0
- package/dist/types/src/operations/revert-workspace.d.ts.map +1 -0
- package/dist/types/src/operations/set-layout-mode.d.ts +5 -0
- package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -0
- package/dist/types/src/operations/set.d.ts +5 -0
- package/dist/types/src/operations/set.d.ts.map +1 -0
- package/dist/types/src/operations/state-access.d.ts +8 -0
- package/dist/types/src/operations/state-access.d.ts.map +1 -0
- package/dist/types/src/operations/switch-workspace.d.ts +5 -0
- package/dist/types/src/operations/switch-workspace.d.ts.map +1 -0
- package/dist/types/src/operations/update-complementary.d.ts +5 -0
- package/dist/types/src/operations/update-complementary.d.ts.map +1 -0
- package/dist/types/src/operations/update-dialog.d.ts +5 -0
- package/dist/types/src/operations/update-dialog.d.ts.map +1 -0
- package/dist/types/src/operations/update-popover.d.ts +5 -0
- package/dist/types/src/operations/update-popover.d.ts.map +1 -0
- package/dist/types/src/operations/update-sidebar.d.ts +5 -0
- package/dist/types/src/operations/update-sidebar.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +26 -19
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +10 -2
- package/dist/types/src/types/capabilities.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +39 -29
- package/src/SimpleLayoutPlugin.ts +16 -6
- package/src/capabilities/app-graph-builder.ts +21 -0
- package/src/capabilities/index.ts +13 -6
- package/src/capabilities/operation-handler.ts +14 -0
- package/src/capabilities/{react-root/react-root.tsx → react-root.tsx} +2 -2
- package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +11 -4
- package/src/capabilities/{state/state.tsx → state.tsx} +2 -2
- package/src/capabilities/url-handler.ts +161 -0
- package/src/components/DebugOverlay/DebugOverlay.tsx +96 -0
- package/src/components/DebugOverlay/index.ts +5 -0
- package/src/components/Dialog/Dialog.tsx +14 -3
- package/src/components/Home/Home.tsx +29 -29
- package/src/components/{ContentLoading/ContentLoading.stories.tsx → Loading/Loading.stories.tsx} +4 -4
- package/src/components/{ContentLoading/ContentLoading.tsx → Loading/Loading.tsx} +1 -1
- package/src/components/{ContentLoading → Loading}/index.ts +1 -1
- package/src/components/MobileLayout/MobileLayout.stories.tsx +21 -17
- package/src/components/MobileLayout/MobileLayout.tsx +118 -49
- package/src/components/NavBranch/NavBranch.tsx +29 -31
- package/src/components/Popover/Popover.tsx +10 -16
- package/src/components/SimpleLayout/AppBar.stories.tsx +8 -9
- package/src/components/SimpleLayout/AppBar.tsx +60 -60
- package/src/components/SimpleLayout/Drawer.tsx +30 -22
- package/src/components/SimpleLayout/Main.tsx +19 -23
- package/src/components/SimpleLayout/NavBar.stories.tsx +1 -2
- package/src/components/SimpleLayout/NavBar.tsx +8 -9
- package/src/components/SimpleLayout/SimpleLayout.stories.tsx +43 -66
- package/src/components/SimpleLayout/SimpleLayout.tsx +33 -34
- package/src/components/hooks.ts +1 -1
- package/src/components/index.ts +2 -1
- package/src/hooks/actions.ts +4 -3
- package/src/hooks/useAppBarProps.ts +9 -9
- package/src/hooks/useDrawerActions.ts +6 -6
- package/src/hooks/useNavbarActions.ts +3 -3
- package/src/hooks/useSimpleLayoutState.ts +1 -1
- package/src/operations/close.ts +34 -0
- package/src/operations/index.ts +16 -0
- package/src/operations/open.ts +63 -0
- package/src/operations/revert-workspace.ts +22 -0
- package/src/operations/set-layout-mode.ts +12 -0
- package/src/operations/set.ts +23 -0
- package/src/operations/state-access.ts +19 -0
- package/src/operations/switch-workspace.ts +26 -0
- package/src/operations/update-complementary.ts +35 -0
- package/src/operations/update-dialog.ts +28 -0
- package/src/operations/update-popover.ts +35 -0
- package/src/operations/update-sidebar.ts +12 -0
- package/src/translations.ts +21 -19
- package/src/types/capabilities.ts +3 -3
- package/dist/lib/browser/chunk-MDPEKLKR.mjs +0 -1163
- package/dist/lib/browser/chunk-MDPEKLKR.mjs.map +0 -7
- package/dist/lib/browser/chunk-MRR7PXSM.mjs +0 -29
- package/dist/lib/browser/chunk-MRR7PXSM.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-VTZ6HZ4B.mjs +0 -194
- package/dist/lib/browser/operation-resolver-VTZ6HZ4B.mjs.map +0 -7
- package/dist/lib/browser/react-root-WVQYY2JA.mjs +0 -21
- package/dist/lib/browser/react-root-WVQYY2JA.mjs.map +0 -7
- package/dist/lib/browser/react-surface-VLBR37ED.mjs +0 -44
- package/dist/lib/browser/react-surface-VLBR37ED.mjs.map +0 -7
- package/dist/lib/browser/spotlight-dismiss-67PHYS5B.mjs +0 -66
- package/dist/lib/browser/spotlight-dismiss-67PHYS5B.mjs.map +0 -7
- package/dist/lib/browser/state-TXSMUWYI.mjs +0 -48
- package/dist/lib/browser/state-TXSMUWYI.mjs.map +0 -7
- package/dist/lib/browser/url-handler-RBRONH7S.mjs +0 -151
- package/dist/lib/browser/url-handler-RBRONH7S.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-DCKASLMP.mjs +0 -1164
- package/dist/lib/node-esm/chunk-DCKASLMP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WMNTJ2MK.mjs +0 -31
- package/dist/lib/node-esm/chunk-WMNTJ2MK.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-R7CQ6ERU.mjs +0 -195
- package/dist/lib/node-esm/operation-resolver-R7CQ6ERU.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-XBNDM7BE.mjs +0 -22
- package/dist/lib/node-esm/react-root-XBNDM7BE.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-U5NHA367.mjs +0 -45
- package/dist/lib/node-esm/react-surface-U5NHA367.mjs.map +0 -7
- package/dist/lib/node-esm/spotlight-dismiss-RMLRZUVY.mjs +0 -68
- package/dist/lib/node-esm/spotlight-dismiss-RMLRZUVY.mjs.map +0 -7
- package/dist/lib/node-esm/state-JMX6FAG4.mjs +0 -49
- package/dist/lib/node-esm/state-JMX6FAG4.mjs.map +0 -7
- package/dist/lib/node-esm/url-handler-QSMCH3JB.mjs +0 -152
- package/dist/lib/node-esm/url-handler-QSMCH3JB.mjs.map +0 -7
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-root/index.d.ts +0 -6
- package/dist/types/src/capabilities/react-root/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/spotlight-dismiss/index.d.ts +0 -3
- package/dist/types/src/capabilities/spotlight-dismiss/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/spotlight-dismiss/spotlight-dismiss.d.ts.map +0 -1
- package/dist/types/src/capabilities/state/index.d.ts +0 -13
- package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/state/state.d.ts.map +0 -1
- package/dist/types/src/capabilities/url-handler/index.d.ts +0 -3
- package/dist/types/src/capabilities/url-handler/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/url-handler/url-handler.d.ts.map +0 -1
- package/dist/types/src/components/ContentLoading/ContentLoading.d.ts +0 -3
- package/dist/types/src/components/ContentLoading/ContentLoading.d.ts.map +0 -1
- package/dist/types/src/components/ContentLoading/ContentLoading.stories.d.ts.map +0 -1
- package/dist/types/src/components/ContentLoading/index.d.ts +0 -2
- package/dist/types/src/components/ContentLoading/index.d.ts.map +0 -1
- package/src/capabilities/operation-resolver/index.ts +0 -10
- package/src/capabilities/operation-resolver/operation-resolver.ts +0 -202
- package/src/capabilities/react-root/index.ts +0 -7
- package/src/capabilities/react-surface/index.ts +0 -7
- package/src/capabilities/spotlight-dismiss/index.ts +0 -7
- package/src/capabilities/state/index.ts +0 -9
- package/src/capabilities/url-handler/index.ts +0 -7
- package/src/capabilities/url-handler/url-handler.ts +0 -133
- /package/dist/types/src/capabilities/{react-root/react-root.d.ts → react-root.d.ts} +0 -0
- /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
- /package/dist/types/src/capabilities/{spotlight-dismiss/spotlight-dismiss.d.ts → spotlight-dismiss.d.ts} +0 -0
- /package/src/capabilities/{spotlight-dismiss/spotlight-dismiss.ts → spotlight-dismiss.ts} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
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 { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { Node } from '@dxos/plugin-graph';\n\nimport { Home, NavBranch } from '../../components';\nimport { meta } from '../../meta';\n\ntype SurfaceData = {\n attendableId: string;\n properties: Record<string, any>;\n};\n\nconst ALLOWED_DISPOSITIONS = ['workspace', 'user-account', 'pin-end', 'alternate-tree'];\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: `${meta.id}.home`,\n role: 'article',\n filter: (data): data is SurfaceData => data.attendableId === Node.RootId,\n component: () => <Home />,\n }),\n Surface.create({\n id: `${meta.id}.nav-branch`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is SurfaceData => {\n const props = data.properties as Record<string, any>;\n return ALLOWED_DISPOSITIONS.includes(props?.disposition) || props?.role === 'branch';\n },\n component: ({ data }) => <NavBranch id={data.attendableId} />,\n }),\n ]),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AACxB,SAASC,YAAY;AAUrB,IAAMC,uBAAuB;EAAC;EAAa;EAAgB;EAAW;;AAEtE,IAAA,wBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,aAAaC,cAAc;EAChDC,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAA8BA,KAAKC,iBAAiBC,KAAKC;IAClEC,WAAW,MAAM,sBAAA,cAACC,MAAAA,IAAAA;EACpB,CAAA;EACAX,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNQ,UAAU;IACVP,QAAQ,CAACC,SAAAA;AACP,YAAMO,QAAQP,KAAKQ;AACnB,aAAOrB,qBAAqBsB,SAASF,OAAOG,WAAAA,KAAgBH,OAAOT,SAAS;IAC9E;IACAM,WAAW,CAAC,EAAEJ,KAAI,MAAO,sBAAA,cAACW,WAAAA;MAAUf,IAAII,KAAKC;;EAC/C,CAAA;CACD,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "React", "Capabilities", "Capability", "Surface", "Node", "ALLOWED_DISPOSITIONS", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "ReactSurface", "Surface", "create", "id", "meta", "role", "filter", "data", "attendableId", "Node", "RootId", "component", "Home", "position", "props", "properties", "includes", "disposition", "NavBranch"]
|
|
7
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
|
|
3
|
-
// src/capabilities/spotlight-dismiss/spotlight-dismiss.ts
|
|
4
|
-
import * as Effect from "effect/Effect";
|
|
5
|
-
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
6
|
-
import { log } from "@dxos/log";
|
|
7
|
-
import { isTauri } from "@dxos/util";
|
|
8
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-simple-layout/src/capabilities/spotlight-dismiss/spotlight-dismiss.ts";
|
|
9
|
-
var getTauriWindow = () => {
|
|
10
|
-
const tauri = globalThis.__TAURI__;
|
|
11
|
-
return tauri?.window;
|
|
12
|
-
};
|
|
13
|
-
var getTauriCore = () => {
|
|
14
|
-
const tauri = globalThis.__TAURI__;
|
|
15
|
-
return tauri?.core;
|
|
16
|
-
};
|
|
17
|
-
var spotlight_dismiss_default = Capability.makeModule(({ isPopover = false } = {}) => Effect.promise(async () => {
|
|
18
|
-
if (!isPopover || !isTauri()) {
|
|
19
|
-
return [];
|
|
20
|
-
}
|
|
21
|
-
let focusCleanup;
|
|
22
|
-
try {
|
|
23
|
-
const tauriWindow = getTauriWindow();
|
|
24
|
-
const tauriCore = getTauriCore();
|
|
25
|
-
if (tauriWindow && tauriCore) {
|
|
26
|
-
const win = tauriWindow.getCurrentWindow();
|
|
27
|
-
focusCleanup = await win.onFocusChanged(async ({ payload }) => {
|
|
28
|
-
if (!payload) {
|
|
29
|
-
await tauriCore.invoke("hide_spotlight");
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
} catch (err) {
|
|
34
|
-
log.catch(err, void 0, {
|
|
35
|
-
F: __dxlog_file,
|
|
36
|
-
L: 60,
|
|
37
|
-
S: void 0,
|
|
38
|
-
C: (f, a) => f(...a)
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
const handleKeyDown = async (event) => {
|
|
42
|
-
if (event.key === "Escape") {
|
|
43
|
-
event.preventDefault();
|
|
44
|
-
try {
|
|
45
|
-
const tauriCore = getTauriCore();
|
|
46
|
-
if (tauriCore) {
|
|
47
|
-
await tauriCore.invoke("hide_spotlight");
|
|
48
|
-
}
|
|
49
|
-
} catch (err) {
|
|
50
|
-
log.catch(err, void 0, {
|
|
51
|
-
F: __dxlog_file,
|
|
52
|
-
L: 73,
|
|
53
|
-
S: void 0,
|
|
54
|
-
C: (f, a) => f(...a)
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
window.addEventListener("keydown", handleKeyDown);
|
|
60
|
-
return Capability.contributes(Capabilities.Null, null, () => Effect.sync(() => {
|
|
61
|
-
focusCleanup?.();
|
|
62
|
-
window.removeEventListener("keydown", handleKeyDown);
|
|
63
|
-
}));
|
|
64
|
-
}));
|
|
65
|
-
export {
|
|
66
|
-
spotlight_dismiss_default as default
|
|
67
|
-
};
|
|
68
|
-
//# sourceMappingURL=spotlight-dismiss-RMLRZUVY.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/spotlight-dismiss/spotlight-dismiss.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// Based on the frontend-driven dismiss pattern from:\n// https://github.com/Jedliu/tauri-template-demo\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { isTauri } from '@dxos/util';\n\n/**\n * Get the Tauri window API from the global object.\n */\nconst getTauriWindow = (): any => {\n const tauri = (globalThis as any).__TAURI__;\n return tauri?.window;\n};\n\n/**\n * Get the Tauri core API (invoke) from the global object.\n */\nconst getTauriCore = (): any => {\n const tauri = (globalThis as any).__TAURI__;\n return tauri?.core;\n};\n\nexport type SpotlightDismissOptions = {\n /** Whether running in popover window context. */\n isPopover?: boolean;\n};\n\n/**\n * Capability that sets up spotlight panel dismiss behavior.\n * When running in Tauri popover mode, listens for focus loss and Escape key\n * to dismiss the spotlight panel. Runs at startup before React renders.\n */\nexport default Capability.makeModule(({ isPopover = false }: SpotlightDismissOptions = {}) =>\n Effect.promise(async () => {\n if (!isPopover || !isTauri()) {\n return [];\n }\n\n // Set up focus listener.\n let focusCleanup: (() => void) | undefined;\n try {\n const tauriWindow = getTauriWindow();\n const tauriCore = getTauriCore();\n if (tauriWindow && tauriCore) {\n const win = tauriWindow.getCurrentWindow();\n focusCleanup = await win.onFocusChanged(async ({ payload }: { payload: boolean }) => {\n if (!payload) {\n await tauriCore.invoke('hide_spotlight');\n }\n });\n }\n } catch (err) {\n log.catch(err);\n }\n\n // Set up Escape key listener.\n const handleKeyDown = async (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n event.preventDefault();\n try {\n const tauriCore = getTauriCore();\n if (tauriCore) {\n await tauriCore.invoke('hide_spotlight');\n }\n } catch (err) {\n log.catch(err);\n }\n }\n };\n window.addEventListener('keydown', handleKeyDown);\n\n return Capability.contributes(Capabilities.Null, null, () =>\n Effect.sync(() => {\n focusCleanup?.();\n window.removeEventListener('keydown', handleKeyDown);\n }),\n );\n }),\n);\n"],
|
|
5
|
-
"mappings": ";;;AAOA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,WAAW;AACpB,SAASC,eAAe;;AAKxB,IAAMC,iBAAiB,MAAA;AACrB,QAAMC,QAASC,WAAmBC;AAClC,SAAOF,OAAOG;AAChB;AAKA,IAAMC,eAAe,MAAA;AACnB,QAAMJ,QAASC,WAAmBC;AAClC,SAAOF,OAAOK;AAChB;AAYA,IAAA,4BAAeT,WAAWU,WAAW,CAAC,EAAEC,YAAY,MAAK,IAA8B,CAAC,MAC/EC,eAAQ,YAAA;AACb,MAAI,CAACD,aAAa,CAACT,QAAAA,GAAW;AAC5B,WAAO,CAAA;EACT;AAGA,MAAIW;AACJ,MAAI;AACF,UAAMC,cAAcX,eAAAA;AACpB,UAAMY,YAAYP,aAAAA;AAClB,QAAIM,eAAeC,WAAW;AAC5B,YAAMC,MAAMF,YAAYG,iBAAgB;AACxCJ,qBAAe,MAAMG,IAAIE,eAAe,OAAO,EAAEC,QAAO,MAAwB;AAC9E,YAAI,CAACA,SAAS;AACZ,gBAAMJ,UAAUK,OAAO,gBAAA;QACzB;MACF,CAAA;IACF;EACF,SAASC,KAAK;AACZpB,QAAIqB,MAAMD,KAAAA,QAAAA;;;;;;EACZ;AAGA,QAAME,gBAAgB,OAAOC,UAAAA;AAC3B,QAAIA,MAAMC,QAAQ,UAAU;AAC1BD,YAAME,eAAc;AACpB,UAAI;AACF,cAAMX,YAAYP,aAAAA;AAClB,YAAIO,WAAW;AACb,gBAAMA,UAAUK,OAAO,gBAAA;QACzB;MACF,SAASC,KAAK;AACZpB,YAAIqB,MAAMD,KAAAA,QAAAA;;;;;;MACZ;IACF;EACF;AACAd,SAAOoB,iBAAiB,WAAWJ,aAAAA;AAEnC,SAAOvB,WAAW4B,YAAY7B,aAAa8B,MAAM,MAAM,MAC9CC,YAAK,MAAA;AACVjB,mBAAAA;AACAN,WAAOwB,oBAAoB,WAAWR,aAAAA;EACxC,CAAA,CAAA;AAEJ,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Capabilities", "Capability", "log", "isTauri", "getTauriWindow", "tauri", "globalThis", "__TAURI__", "window", "getTauriCore", "core", "makeModule", "isPopover", "promise", "focusCleanup", "tauriWindow", "tauriCore", "win", "getCurrentWindow", "onFocusChanged", "payload", "invoke", "err", "catch", "handleKeyDown", "event", "key", "preventDefault", "addEventListener", "contributes", "Null", "sync", "removeEventListener"]
|
|
7
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
SimpleLayoutState
|
|
4
|
-
} from "./chunk-WMNTJ2MK.mjs";
|
|
5
|
-
|
|
6
|
-
// src/capabilities/state/state.tsx
|
|
7
|
-
import { Atom } from "@effect-atom/atom-react";
|
|
8
|
-
import * as Effect from "effect/Effect";
|
|
9
|
-
import { Capability } from "@dxos/app-framework";
|
|
10
|
-
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
11
|
-
import { Node } from "@dxos/plugin-graph";
|
|
12
|
-
var defaultState = {
|
|
13
|
-
dialogOpen: false,
|
|
14
|
-
workspace: Node.RootId,
|
|
15
|
-
previousWorkspace: Node.RootId,
|
|
16
|
-
history: [],
|
|
17
|
-
isPopover: false,
|
|
18
|
-
companionVariant: void 0,
|
|
19
|
-
drawerState: "closed"
|
|
20
|
-
};
|
|
21
|
-
var state_default = Capability.makeModule(({ initialState } = {}) => Effect.sync(() => {
|
|
22
|
-
const stateAtom = Atom.make({
|
|
23
|
-
...defaultState,
|
|
24
|
-
...initialState
|
|
25
|
-
});
|
|
26
|
-
const layoutAtom = Atom.make((get) => {
|
|
27
|
-
const state = get(stateAtom);
|
|
28
|
-
return {
|
|
29
|
-
mode: "simple",
|
|
30
|
-
dialogOpen: state.dialogOpen,
|
|
31
|
-
sidebarOpen: false,
|
|
32
|
-
complementarySidebarOpen: false,
|
|
33
|
-
workspace: state.workspace,
|
|
34
|
-
active: state.active ? [
|
|
35
|
-
state.active
|
|
36
|
-
] : [],
|
|
37
|
-
inactive: [],
|
|
38
|
-
scrollIntoView: void 0
|
|
39
|
-
};
|
|
40
|
-
});
|
|
41
|
-
return [
|
|
42
|
-
Capability.contributes(SimpleLayoutState, stateAtom),
|
|
43
|
-
Capability.contributes(AppCapabilities.Layout, layoutAtom)
|
|
44
|
-
];
|
|
45
|
-
}));
|
|
46
|
-
export {
|
|
47
|
-
state_default as default
|
|
48
|
-
};
|
|
49
|
-
//# sourceMappingURL=state-JMX6FAG4.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/state/state.tsx"],
|
|
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 } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Node } from '@dxos/plugin-graph';\n\nimport { type SimpleLayoutState } from '../../types';\nimport { SimpleLayoutState as SimpleLayoutStateCapability } from '../../types';\n\nconst defaultState: SimpleLayoutState = {\n dialogOpen: false,\n workspace: Node.RootId,\n previousWorkspace: Node.RootId,\n history: [],\n isPopover: false,\n companionVariant: undefined,\n drawerState: 'closed',\n};\n\nexport type SimpleLayoutStateOptions = {\n initialState?: Partial<SimpleLayoutState>;\n};\n\nexport default Capability.makeModule(({ initialState }: SimpleLayoutStateOptions = {}) =>\n Effect.sync(() => {\n const stateAtom = Atom.make<SimpleLayoutState>({ ...defaultState, ...initialState });\n\n const layoutAtom = Atom.make((get): AppCapabilities.Layout => {\n const state = get(stateAtom);\n return {\n mode: 'simple',\n dialogOpen: state.dialogOpen,\n sidebarOpen: false,\n complementarySidebarOpen: false,\n workspace: state.workspace,\n active: state.active ? [state.active] : [],\n inactive: [],\n scrollIntoView: undefined,\n };\n });\n\n return [\n Capability.contributes(SimpleLayoutStateCapability, stateAtom),\n Capability.contributes(AppCapabilities.Layout, layoutAtom),\n ];\n }),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,SAASA,YAAY;AACrB,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,YAAY;AAKrB,IAAMC,eAAkC;EACtCC,YAAY;EACZC,WAAWC,KAAKC;EAChBC,mBAAmBF,KAAKC;EACxBE,SAAS,CAAA;EACTC,WAAW;EACXC,kBAAkBC;EAClBC,aAAa;AACf;AAMA,IAAA,gBAAeC,WAAWC,WAAW,CAAC,EAAEC,aAAY,IAA+B,CAAC,MAC3EC,YAAK,MAAA;AACV,QAAMC,YAAYC,KAAKC,KAAwB;IAAE,GAAGjB;IAAc,GAAGa;EAAa,CAAA;AAElF,QAAMK,aAAaF,KAAKC,KAAK,CAACE,QAAAA;AAC5B,UAAMC,QAAQD,IAAIJ,SAAAA;AAClB,WAAO;MACLM,MAAM;MACNpB,YAAYmB,MAAMnB;MAClBqB,aAAa;MACbC,0BAA0B;MAC1BrB,WAAWkB,MAAMlB;MACjBsB,QAAQJ,MAAMI,SAAS;QAACJ,MAAMI;UAAU,CAAA;MACxCC,UAAU,CAAA;MACVC,gBAAgBjB;IAClB;EACF,CAAA;AAEA,SAAO;IACLE,WAAWgB,YAAYC,mBAA6Bb,SAAAA;IACpDJ,WAAWgB,YAAYE,gBAAgBC,QAAQZ,UAAAA;;AAEnD,CAAA,CAAA;",
|
|
6
|
-
"names": ["Atom", "Effect", "Capability", "AppCapabilities", "Node", "defaultState", "dialogOpen", "workspace", "Node", "RootId", "previousWorkspace", "history", "isPopover", "companionVariant", "undefined", "drawerState", "Capability", "makeModule", "initialState", "sync", "stateAtom", "Atom", "make", "layoutAtom", "get", "state", "mode", "sidebarOpen", "complementarySidebarOpen", "active", "inactive", "scrollIntoView", "contributes", "SimpleLayoutStateCapability", "AppCapabilities", "Layout"]
|
|
7
|
-
}
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
SimpleLayoutState
|
|
4
|
-
} from "./chunk-WMNTJ2MK.mjs";
|
|
5
|
-
|
|
6
|
-
// src/capabilities/url-handler/url-handler.ts
|
|
7
|
-
import * as Effect from "effect/Effect";
|
|
8
|
-
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
9
|
-
import { LayoutOperation, fromUrlPath, getWorkspaceFromPath, toUrlPath } from "@dxos/app-toolkit";
|
|
10
|
-
import { log } from "@dxos/log";
|
|
11
|
-
import { isTauri } from "@dxos/util";
|
|
12
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-simple-layout/src/capabilities/url-handler/url-handler.ts";
|
|
13
|
-
var url_handler_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
14
|
-
const { invokeSync } = yield* Capability.get(Capabilities.OperationInvoker);
|
|
15
|
-
const handlePathNavigation = (pathname) => {
|
|
16
|
-
log.info("[UrlHandler] Navigating to path", {
|
|
17
|
-
pathname
|
|
18
|
-
}, {
|
|
19
|
-
F: __dxlog_file,
|
|
20
|
-
L: 30,
|
|
21
|
-
S: this,
|
|
22
|
-
C: (f, a) => f(...a)
|
|
23
|
-
});
|
|
24
|
-
const qualifiedId = fromUrlPath(pathname);
|
|
25
|
-
const workspace = getWorkspaceFromPath(qualifiedId);
|
|
26
|
-
invokeSync(LayoutOperation.SwitchWorkspace, {
|
|
27
|
-
subject: workspace
|
|
28
|
-
});
|
|
29
|
-
const activeId = qualifiedId !== workspace ? qualifiedId : void 0;
|
|
30
|
-
if (activeId) {
|
|
31
|
-
invokeSync(LayoutOperation.Open, {
|
|
32
|
-
subject: [
|
|
33
|
-
activeId
|
|
34
|
-
]
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
const onNavigation = handleNavigation(handlePathNavigation);
|
|
39
|
-
yield* Effect.sync(() => onNavigation());
|
|
40
|
-
window.addEventListener("popstate", onNavigation);
|
|
41
|
-
let unlistenDeepLink;
|
|
42
|
-
if (isTauri()) {
|
|
43
|
-
yield* Effect.tryPromise({
|
|
44
|
-
try: async () => {
|
|
45
|
-
const { getCurrent, onOpenUrl } = await import("@tauri-apps/plugin-deep-link");
|
|
46
|
-
const launchUrls = await getCurrent();
|
|
47
|
-
if (launchUrls && launchUrls.length > 0) {
|
|
48
|
-
log.info("[UrlHandler] App launched with deep links", {
|
|
49
|
-
urls: launchUrls
|
|
50
|
-
}, {
|
|
51
|
-
F: __dxlog_file,
|
|
52
|
-
L: 56,
|
|
53
|
-
S: this,
|
|
54
|
-
C: (f, a) => f(...a)
|
|
55
|
-
});
|
|
56
|
-
for (const url of launchUrls) {
|
|
57
|
-
handleDeepLink(url, handlePathNavigation);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
unlistenDeepLink = await onOpenUrl((urls) => {
|
|
61
|
-
log.info("[UrlHandler] Deep links received", {
|
|
62
|
-
urls
|
|
63
|
-
}, {
|
|
64
|
-
F: __dxlog_file,
|
|
65
|
-
L: 63,
|
|
66
|
-
S: this,
|
|
67
|
-
C: (f, a) => f(...a)
|
|
68
|
-
});
|
|
69
|
-
for (const url of urls) {
|
|
70
|
-
handleDeepLink(url, handlePathNavigation);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
log.info("[UrlHandler] Deep link listener initialized", void 0, {
|
|
74
|
-
F: __dxlog_file,
|
|
75
|
-
L: 69,
|
|
76
|
-
S: this,
|
|
77
|
-
C: (f, a) => f(...a)
|
|
78
|
-
});
|
|
79
|
-
},
|
|
80
|
-
catch: (error) => {
|
|
81
|
-
log.warn("[UrlHandler] Failed to initialize deep link listener", {
|
|
82
|
-
error
|
|
83
|
-
}, {
|
|
84
|
-
F: __dxlog_file,
|
|
85
|
-
L: 72,
|
|
86
|
-
S: this,
|
|
87
|
-
C: (f, a) => f(...a)
|
|
88
|
-
});
|
|
89
|
-
return error;
|
|
90
|
-
}
|
|
91
|
-
}).pipe(Effect.catchAll(() => Effect.void));
|
|
92
|
-
}
|
|
93
|
-
let lastWorkspace;
|
|
94
|
-
let lastActive;
|
|
95
|
-
const unsubscribe = yield* Capabilities.subscribeAtom(SimpleLayoutState, (state) => {
|
|
96
|
-
const { workspace, active } = state;
|
|
97
|
-
if (workspace !== lastWorkspace || active !== lastActive) {
|
|
98
|
-
lastWorkspace = workspace;
|
|
99
|
-
lastActive = active;
|
|
100
|
-
const path = active ? toUrlPath(active) : toUrlPath(workspace);
|
|
101
|
-
if (window.location.pathname !== path) {
|
|
102
|
-
history.pushState(null, "", `${path}${window.location.search}`);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
return Capability.contributes(Capabilities.Null, null, () => Effect.sync(() => {
|
|
107
|
-
window.removeEventListener("popstate", onNavigation);
|
|
108
|
-
unsubscribe();
|
|
109
|
-
unlistenDeepLink?.();
|
|
110
|
-
}));
|
|
111
|
-
}));
|
|
112
|
-
var isRedirectPath = (pathname) => pathname.startsWith("/redirect/");
|
|
113
|
-
var handleNavigation = (navigate) => () => navigate(window.location.pathname);
|
|
114
|
-
var handleDeepLink = (urlString, navigate) => {
|
|
115
|
-
log.info("[UrlHandler] Deep link received", {
|
|
116
|
-
url: urlString
|
|
117
|
-
}, {
|
|
118
|
-
F: __dxlog_file,
|
|
119
|
-
L: 122,
|
|
120
|
-
S: void 0,
|
|
121
|
-
C: (f, a) => f(...a)
|
|
122
|
-
});
|
|
123
|
-
try {
|
|
124
|
-
const url = new URL(urlString);
|
|
125
|
-
if (isRedirectPath(url.pathname)) {
|
|
126
|
-
log.info("[UrlHandler] Skipping redirect path (handled elsewhere)", {
|
|
127
|
-
pathname: url.pathname
|
|
128
|
-
}, {
|
|
129
|
-
F: __dxlog_file,
|
|
130
|
-
L: 126,
|
|
131
|
-
S: void 0,
|
|
132
|
-
C: (f, a) => f(...a)
|
|
133
|
-
});
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
navigate(url.pathname);
|
|
137
|
-
} catch (error) {
|
|
138
|
-
log.warn("[UrlHandler] Failed to parse deep link URL", {
|
|
139
|
-
urlString,
|
|
140
|
-
error
|
|
141
|
-
}, {
|
|
142
|
-
F: __dxlog_file,
|
|
143
|
-
L: 131,
|
|
144
|
-
S: void 0,
|
|
145
|
-
C: (f, a) => f(...a)
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
export {
|
|
150
|
-
url_handler_default as default
|
|
151
|
-
};
|
|
152
|
-
//# sourceMappingURL=url-handler-QSMCH3JB.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/url-handler/url-handler.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { LayoutOperation, fromUrlPath, getWorkspaceFromPath, toUrlPath } from '@dxos/app-toolkit';\nimport { log } from '@dxos/log';\nimport { isTauri } from '@dxos/util';\n\nimport { type SimpleLayoutState, SimpleLayoutState as SimpleLayoutStateCapability } from '../../types';\n\n/**\n * URL handler for simple layout that syncs browser URL with layout state.\n * URL paths map directly to qualified graph IDs with the leading `root` segment stripped.\n * Root is represented as `/`.\n *\n * On mobile Tauri, also listens for deep links via the deep-link plugin.\n */\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const { invokeSync } = yield* Capability.get(Capabilities.OperationInvoker);\n\n /**\n * Handle navigation from a pathname.\n * Restores the qualified graph ID and dispatches layout operations.\n */\n const handlePathNavigation = (pathname: string) => {\n log.info('[UrlHandler] Navigating to path', { pathname });\n\n const qualifiedId = fromUrlPath(pathname);\n const workspace = getWorkspaceFromPath(qualifiedId);\n\n invokeSync(LayoutOperation.SwitchWorkspace, { subject: workspace });\n\n const activeId = qualifiedId !== workspace ? qualifiedId : undefined;\n if (activeId) {\n invokeSync(LayoutOperation.Open, { subject: [activeId] });\n }\n };\n\n const onNavigation = handleNavigation(handlePathNavigation);\n\n yield* Effect.sync(() => onNavigation());\n window.addEventListener('popstate', onNavigation);\n\n let unlistenDeepLink: (() => void) | undefined;\n if (isTauri()) {\n yield* Effect.tryPromise({\n try: async () => {\n const { getCurrent, onOpenUrl } = await import('@tauri-apps/plugin-deep-link');\n\n const launchUrls = await getCurrent();\n if (launchUrls && launchUrls.length > 0) {\n log.info('[UrlHandler] App launched with deep links', { urls: launchUrls });\n for (const url of launchUrls) {\n handleDeepLink(url, handlePathNavigation);\n }\n }\n\n unlistenDeepLink = await onOpenUrl((urls) => {\n log.info('[UrlHandler] Deep links received', { urls });\n for (const url of urls) {\n handleDeepLink(url, handlePathNavigation);\n }\n });\n\n log.info('[UrlHandler] Deep link listener initialized');\n },\n catch: (error) => {\n log.warn('[UrlHandler] Failed to initialize deep link listener', { error });\n return error;\n },\n }).pipe(Effect.catchAll(() => Effect.void));\n }\n\n let lastWorkspace: string | undefined;\n let lastActive: string | undefined;\n const unsubscribe = yield* Capabilities.subscribeAtom(SimpleLayoutStateCapability, (state: SimpleLayoutState) => {\n const { workspace, active } = state;\n\n if (workspace !== lastWorkspace || active !== lastActive) {\n lastWorkspace = workspace;\n lastActive = active;\n\n const path = active ? toUrlPath(active) : toUrlPath(workspace);\n if (window.location.pathname !== path) {\n history.pushState(null, '', `${path}${window.location.search}`);\n }\n }\n });\n\n return Capability.contributes(Capabilities.Null, null, () =>\n Effect.sync(() => {\n window.removeEventListener('popstate', onNavigation);\n unsubscribe();\n unlistenDeepLink?.();\n }),\n );\n }),\n);\n\n/**\n * Check if a path is a special redirect path that shouldn't be navigated to.\n * These paths are handled by other systems (e.g., OAuth).\n */\nconst isRedirectPath = (pathname: string): boolean => pathname.startsWith('/redirect/');\n\n/**\n * Returns a handler for navigation events (initial load and popstate) that navigates to current pathname.\n */\nconst handleNavigation =\n (navigate: (pathname: string) => void): (() => void) =>\n () =>\n navigate(window.location.pathname);\n\n/**\n * Handle deep link URL from Tauri. Parses the URL and calls navigate unless it's a redirect path.\n */\nconst handleDeepLink = (urlString: string, navigate: (pathname: string) => void): void => {\n log.info('[UrlHandler] Deep link received', { url: urlString });\n try {\n const url = new URL(urlString);\n if (isRedirectPath(url.pathname)) {\n log.info('[UrlHandler] Skipping redirect path (handled elsewhere)', { pathname: url.pathname });\n return;\n }\n navigate(url.pathname);\n } catch (error) {\n log.warn('[UrlHandler] Failed to parse deep link URL', { urlString, error });\n }\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Effect", "Capabilities", "Capability", "LayoutOperation", "fromUrlPath", "getWorkspaceFromPath", "toUrlPath", "log", "isTauri", "Capability", "makeModule", "fnUntraced", "invokeSync", "get", "Capabilities", "OperationInvoker", "handlePathNavigation", "pathname", "log", "info", "qualifiedId", "fromUrlPath", "workspace", "getWorkspaceFromPath", "LayoutOperation", "SwitchWorkspace", "subject", "activeId", "undefined", "Open", "onNavigation", "handleNavigation", "sync", "window", "addEventListener", "unlistenDeepLink", "isTauri", "tryPromise", "try", "getCurrent", "onOpenUrl", "launchUrls", "length", "urls", "url", "handleDeepLink", "catch", "error", "warn", "pipe", "catchAll", "void", "lastWorkspace", "lastActive", "unsubscribe", "subscribeAtom", "SimpleLayoutStateCapability", "state", "active", "path", "toUrlPath", "location", "history", "pushState", "search", "contributes", "Null", "removeEventListener", "isRedirectPath", "startsWith", "navigate", "urlString", "URL"]
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/operation-resolver/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAA6B,MAAM,qBAAqB,CAAC;AAEjF,eAAO,MAAM,iBAAiB,EAAE,UAAU,CAAC,cAG1C,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import * as Effect from 'effect/Effect';
|
|
2
|
-
import { Capabilities, Capability } from '@dxos/app-framework';
|
|
3
|
-
declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Capabilities.OperationResolver[]>>, Error, Capability.Service>;
|
|
4
|
-
export default _default;
|
|
5
|
-
//# sourceMappingURL=operation-resolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operation-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/operation-resolver/operation-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;;AAS/D,wBA0LE"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Capability } from '@dxos/app-framework';
|
|
2
|
-
export declare const ReactRoot: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<Readonly<{
|
|
3
|
-
id: string;
|
|
4
|
-
root: import("react").FC<import("react").PropsWithChildren>;
|
|
5
|
-
}>>>, Error>;
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/react-root/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,SAAS;;;YAA6D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-root.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/react-root/react-root.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;;;;;AAK/D,wBASE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/react-surface/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,YAAY,iJAAmE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/react-surface/react-surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;;AAc/D,wBAqBE"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { Capability } from '@dxos/app-framework';
|
|
2
|
-
export declare const SpotlightDismiss: Capability.LazyCapability<import("./spotlight-dismiss").SpotlightDismissOptions | undefined, [] | Capability.Capability<Capability.InterfaceDef<null>>, Error>;
|
|
3
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/spotlight-dismiss/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,gBAAgB,gKAA2E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spotlight-dismiss.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/spotlight-dismiss/spotlight-dismiss.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAoB/D,MAAM,MAAM,uBAAuB,GAAG;IACpC,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;GAIG;;AACH,wBA8CE"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Capability } from '@dxos/app-framework';
|
|
2
|
-
export declare const State: Capability.LazyCapability<import("./state").SimpleLayoutStateOptions | undefined, [Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Writable<import("../../types").SimpleLayoutState, import("../../types").SimpleLayoutState>>>, Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Atom<Readonly<{
|
|
3
|
-
mode: string;
|
|
4
|
-
dialogOpen: boolean;
|
|
5
|
-
sidebarOpen: boolean;
|
|
6
|
-
complementarySidebarOpen: boolean;
|
|
7
|
-
workspace: string;
|
|
8
|
-
active: string[];
|
|
9
|
-
inactive: string[];
|
|
10
|
-
scrollIntoView: string | undefined;
|
|
11
|
-
}>>>>], Error>;
|
|
12
|
-
export type { SimpleLayoutStateOptions } from './state';
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/state/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,KAAK;;;;;;;;;cAAoD,CAAC;AAEvE,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/state/state.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAarD,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC3C,CAAC;;;;;;;;;;;AAEF,wBAuBE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/url-handler/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,UAAU,8FAA+D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url-handler.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/url-handler/url-handler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAO/D;;;;;;GAMG;;AACH,wBAiFE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContentLoading.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContentLoading/ContentLoading.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,cAAc,yBAE1B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContentLoading.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContentLoading/ContentLoading.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMjE,QAAA,MAAM,IAAI;;;;;;;CAO6B,CAAC;AAExC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContentLoading/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { type Capability, Capability as Capability$ } from '@dxos/app-framework';
|
|
6
|
-
|
|
7
|
-
export const OperationResolver: Capability.LazyCapability = Capability$.lazy(
|
|
8
|
-
'OperationResolver',
|
|
9
|
-
() => import('./operation-resolver'),
|
|
10
|
-
);
|