@dxos/plugin-simple-layout 0.8.4-main.bc674ce → 0.8.4-main.d05673bc65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/chunk-MDPEKLKR.mjs +1163 -0
- package/dist/lib/browser/chunk-MDPEKLKR.mjs.map +7 -0
- package/dist/lib/browser/{chunk-P77G4YTR.mjs → chunk-MRR7PXSM.mjs} +5 -5
- package/dist/lib/browser/chunk-MRR7PXSM.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +20 -19
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{operation-resolver-775UYAC2.mjs → operation-resolver-VTZ6HZ4B.mjs} +37 -46
- package/dist/lib/browser/operation-resolver-VTZ6HZ4B.mjs.map +7 -0
- package/dist/lib/browser/{react-root-KM55OMGJ.mjs → react-root-WVQYY2JA.mjs} +5 -5
- package/dist/lib/browser/react-root-WVQYY2JA.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-BABGAWGY.mjs → react-surface-VLBR37ED.mjs} +18 -13
- package/dist/lib/browser/react-surface-VLBR37ED.mjs.map +7 -0
- package/dist/lib/browser/{spotlight-dismiss-VSNOPETH.mjs → spotlight-dismiss-67PHYS5B.mjs} +3 -3
- package/dist/lib/browser/spotlight-dismiss-67PHYS5B.mjs.map +7 -0
- package/dist/lib/browser/{state-OUFTC2KV.mjs → state-TXSMUWYI.mjs} +5 -4
- package/dist/lib/browser/state-TXSMUWYI.mjs.map +7 -0
- package/dist/lib/browser/url-handler-RBRONH7S.mjs +151 -0
- package/dist/lib/browser/url-handler-RBRONH7S.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-DCKASLMP.mjs +1164 -0
- package/dist/lib/node-esm/chunk-DCKASLMP.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-F5TEKVJG.mjs → chunk-WMNTJ2MK.mjs} +5 -5
- package/dist/lib/node-esm/chunk-WMNTJ2MK.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +20 -19
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{operation-resolver-LDNYS3DI.mjs → operation-resolver-R7CQ6ERU.mjs} +37 -46
- package/dist/lib/node-esm/operation-resolver-R7CQ6ERU.mjs.map +7 -0
- package/dist/lib/node-esm/{react-root-36UYFEEB.mjs → react-root-XBNDM7BE.mjs} +5 -5
- package/dist/lib/node-esm/react-root-XBNDM7BE.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-CGHFVWU3.mjs → react-surface-U5NHA367.mjs} +18 -13
- package/dist/lib/node-esm/react-surface-U5NHA367.mjs.map +7 -0
- package/dist/lib/node-esm/{spotlight-dismiss-L5PCWIJG.mjs → spotlight-dismiss-RMLRZUVY.mjs} +3 -3
- package/dist/lib/node-esm/spotlight-dismiss-RMLRZUVY.mjs.map +7 -0
- package/dist/lib/node-esm/{state-Q2ZA26W5.mjs → state-JMX6FAG4.mjs} +5 -4
- package/dist/lib/node-esm/state-JMX6FAG4.mjs.map +7 -0
- package/dist/lib/node-esm/url-handler-QSMCH3JB.mjs +152 -0
- package/dist/lib/node-esm/url-handler-QSMCH3JB.mjs.map +7 -0
- package/dist/types/src/SimpleLayoutPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts +1 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/spotlight-dismiss/index.d.ts +1 -1
- package/dist/types/src/capabilities/spotlight-dismiss/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/spotlight-dismiss/spotlight-dismiss.d.ts +1 -1
- package/dist/types/src/capabilities/spotlight-dismiss/spotlight-dismiss.d.ts.map +1 -1
- package/dist/types/src/capabilities/state/index.d.ts +1 -1
- package/dist/types/src/capabilities/state/state.d.ts +1 -1
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
- package/dist/types/src/capabilities/url-handler/url-handler.d.ts +5 -3
- package/dist/types/src/capabilities/url-handler/url-handler.d.ts.map +1 -1
- package/dist/types/src/components/ContentError.stories.d.ts +1 -3
- package/dist/types/src/components/ContentError.stories.d.ts.map +1 -1
- package/dist/types/src/components/ContentLoading/ContentLoading.d.ts.map +1 -0
- package/dist/types/src/components/ContentLoading/ContentLoading.stories.d.ts.map +1 -0
- package/dist/types/src/components/ContentLoading/index.d.ts +2 -0
- package/dist/types/src/components/ContentLoading/index.d.ts.map +1 -0
- package/dist/types/src/components/Home/Home.d.ts.map +1 -1
- package/dist/types/src/components/MobileLayout/MobileLayout.d.ts +35 -0
- package/dist/types/src/components/MobileLayout/MobileLayout.d.ts.map +1 -0
- package/dist/types/src/components/MobileLayout/MobileLayout.stories.d.ts +7 -0
- package/dist/types/src/components/MobileLayout/MobileLayout.stories.d.ts.map +1 -0
- package/dist/types/src/components/MobileLayout/index.d.ts +2 -0
- package/dist/types/src/components/MobileLayout/index.d.ts.map +1 -0
- package/dist/types/src/components/NavBranch/NavBranch.d.ts +11 -0
- package/dist/types/src/components/NavBranch/NavBranch.d.ts.map +1 -0
- package/dist/types/src/components/NavBranch/index.d.ts +2 -0
- package/dist/types/src/components/NavBranch/index.d.ts.map +1 -0
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/AppBar.d.ts +26 -0
- package/dist/types/src/components/SimpleLayout/AppBar.d.ts.map +1 -0
- package/dist/types/src/components/SimpleLayout/AppBar.stories.d.ts +47 -0
- package/dist/types/src/components/SimpleLayout/AppBar.stories.d.ts.map +1 -0
- package/dist/types/src/components/SimpleLayout/Drawer.d.ts +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 +10 -3
- package/dist/types/src/components/SimpleLayout/NavBar.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts +4 -4
- 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.map +1 -1
- package/dist/types/src/components/SimpleLayout/index.d.ts +3 -0
- package/dist/types/src/components/SimpleLayout/index.d.ts.map +1 -1
- package/dist/types/src/components/hooks.d.ts +4 -2
- package/dist/types/src/components/hooks.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 +19 -0
- package/dist/types/src/hooks/actions.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +4 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useAppBarProps.d.ts +7 -0
- package/dist/types/src/hooks/useAppBarProps.d.ts.map +1 -0
- package/dist/types/src/hooks/useCompanions.d.ts +5 -1
- package/dist/types/src/hooks/useCompanions.d.ts.map +1 -1
- package/dist/types/src/hooks/useDrawerActions.d.ts +13 -0
- package/dist/types/src/hooks/useDrawerActions.d.ts.map +1 -0
- package/dist/types/src/hooks/useNavbarActions.d.ts +14 -0
- package/dist/types/src/hooks/useNavbarActions.d.ts.map +1 -0
- package/dist/types/src/hooks/useSimpleLayoutState.d.ts +3 -3
- package/dist/types/src/hooks/useSimpleLayoutState.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +7 -6
- package/dist/types/src/types/capabilities.d.ts.map +1 -1
- package/dist/types/src/types/events.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +36 -30
- package/src/SimpleLayoutPlugin.ts +10 -9
- package/src/capabilities/operation-resolver/operation-resolver.ts +33 -46
- package/src/capabilities/react-root/react-root.tsx +2 -2
- package/src/capabilities/react-surface/react-surface.tsx +14 -11
- package/src/capabilities/spotlight-dismiss/spotlight-dismiss.ts +2 -2
- package/src/capabilities/state/state.tsx +4 -3
- package/src/capabilities/url-handler/url-handler.ts +98 -45
- package/src/components/ContentError.stories.tsx +8 -7
- package/src/components/{ContentLoading.stories.tsx → ContentLoading/ContentLoading.stories.tsx} +2 -2
- package/src/components/{ContentLoading.tsx → ContentLoading/ContentLoading.tsx} +1 -1
- package/src/components/ContentLoading/index.ts +5 -0
- package/src/components/Dialog/Dialog.tsx +5 -5
- package/src/components/Home/Home.tsx +43 -35
- package/src/components/MobileLayout/MobileLayout.stories.tsx +129 -0
- package/src/components/MobileLayout/MobileLayout.tsx +305 -0
- package/src/components/MobileLayout/index.ts +5 -0
- package/src/components/NavBranch/NavBranch.tsx +130 -0
- package/src/components/{Workspace → NavBranch}/index.ts +1 -1
- package/src/components/Popover/Popover.tsx +17 -7
- package/src/components/SimpleLayout/AppBar.stories.tsx +144 -0
- package/src/components/SimpleLayout/AppBar.tsx +94 -0
- package/src/components/SimpleLayout/Drawer.tsx +25 -80
- package/src/components/SimpleLayout/Main.tsx +40 -30
- package/src/components/SimpleLayout/NavBar.stories.tsx +131 -23
- package/src/components/SimpleLayout/NavBar.tsx +15 -47
- package/src/components/SimpleLayout/SimpleLayout.stories.tsx +20 -11
- package/src/components/SimpleLayout/SimpleLayout.tsx +38 -19
- package/src/components/SimpleLayout/index.ts +3 -0
- package/src/components/hooks.ts +9 -9
- package/src/components/index.ts +2 -1
- package/src/hooks/actions.ts +83 -0
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useAppBarProps.ts +115 -0
- package/src/hooks/useCompanions.ts +8 -5
- package/src/hooks/useDrawerActions.ts +100 -0
- package/src/hooks/useNavbarActions.ts +87 -0
- package/src/hooks/useSimpleLayoutState.ts +5 -5
- package/src/meta.ts +1 -1
- package/src/types/capabilities.ts +11 -7
- package/src/types/events.ts +3 -2
- package/dist/lib/browser/chunk-LR3EE3VB.mjs +0 -789
- package/dist/lib/browser/chunk-LR3EE3VB.mjs.map +0 -7
- package/dist/lib/browser/chunk-P77G4YTR.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-775UYAC2.mjs.map +0 -7
- package/dist/lib/browser/react-root-KM55OMGJ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-BABGAWGY.mjs.map +0 -7
- package/dist/lib/browser/spotlight-dismiss-VSNOPETH.mjs.map +0 -7
- package/dist/lib/browser/state-OUFTC2KV.mjs.map +0 -7
- package/dist/lib/browser/url-handler-DOUFQIAC.mjs +0 -54
- package/dist/lib/browser/url-handler-DOUFQIAC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-F5TEKVJG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HB2B3LLG.mjs +0 -790
- package/dist/lib/node-esm/chunk-HB2B3LLG.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-LDNYS3DI.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-36UYFEEB.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-CGHFVWU3.mjs.map +0 -7
- package/dist/lib/node-esm/spotlight-dismiss-L5PCWIJG.mjs.map +0 -7
- package/dist/lib/node-esm/state-Q2ZA26W5.mjs.map +0 -7
- package/dist/lib/node-esm/url-handler-DVAZZEUO.mjs +0 -55
- package/dist/lib/node-esm/url-handler-DVAZZEUO.mjs.map +0 -7
- package/dist/types/src/components/ContentError.d.ts +0 -5
- package/dist/types/src/components/ContentError.d.ts.map +0 -1
- package/dist/types/src/components/ContentLoading.d.ts.map +0 -1
- package/dist/types/src/components/ContentLoading.stories.d.ts.map +0 -1
- package/dist/types/src/components/SimpleLayout/Banner.d.ts +0 -8
- package/dist/types/src/components/SimpleLayout/Banner.d.ts.map +0 -1
- package/dist/types/src/components/Workspace/Workspace.d.ts +0 -9
- package/dist/types/src/components/Workspace/Workspace.d.ts.map +0 -1
- package/dist/types/src/components/Workspace/index.d.ts +0 -2
- package/dist/types/src/components/Workspace/index.d.ts.map +0 -1
- package/src/components/ContentError.tsx +0 -23
- package/src/components/SimpleLayout/Banner.tsx +0 -113
- package/src/components/Workspace/Workspace.tsx +0 -115
- /package/dist/types/src/components/{ContentLoading.d.ts → ContentLoading/ContentLoading.d.ts} +0 -0
- /package/dist/types/src/components/{ContentLoading.stories.d.ts → ContentLoading/ContentLoading.stories.d.ts} +0 -0
|
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
|
|
|
2
2
|
|
|
3
3
|
// src/capabilities/spotlight-dismiss/spotlight-dismiss.ts
|
|
4
4
|
import * as Effect from "effect/Effect";
|
|
5
|
-
import {
|
|
5
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
6
6
|
import { log } from "@dxos/log";
|
|
7
7
|
import { isTauri } from "@dxos/util";
|
|
8
8
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-simple-layout/src/capabilities/spotlight-dismiss/spotlight-dismiss.ts";
|
|
@@ -57,7 +57,7 @@ var spotlight_dismiss_default = Capability.makeModule(({ isPopover = false } = {
|
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
59
|
window.addEventListener("keydown", handleKeyDown);
|
|
60
|
-
return Capability.contributes(
|
|
60
|
+
return Capability.contributes(Capabilities.Null, null, () => Effect.sync(() => {
|
|
61
61
|
focusCleanup?.();
|
|
62
62
|
window.removeEventListener("keydown", handleKeyDown);
|
|
63
63
|
}));
|
|
@@ -65,4 +65,4 @@ var spotlight_dismiss_default = Capability.makeModule(({ isPopover = false } = {
|
|
|
65
65
|
export {
|
|
66
66
|
spotlight_dismiss_default as default
|
|
67
67
|
};
|
|
68
|
-
//# sourceMappingURL=spotlight-dismiss-
|
|
68
|
+
//# sourceMappingURL=spotlight-dismiss-RMLRZUVY.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
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,12 +1,13 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
SimpleLayoutState
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WMNTJ2MK.mjs";
|
|
5
5
|
|
|
6
6
|
// src/capabilities/state/state.tsx
|
|
7
7
|
import { Atom } from "@effect-atom/atom-react";
|
|
8
8
|
import * as Effect from "effect/Effect";
|
|
9
|
-
import { Capability
|
|
9
|
+
import { Capability } from "@dxos/app-framework";
|
|
10
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
10
11
|
import { Node } from "@dxos/plugin-graph";
|
|
11
12
|
var defaultState = {
|
|
12
13
|
dialogOpen: false,
|
|
@@ -39,10 +40,10 @@ var state_default = Capability.makeModule(({ initialState } = {}) => Effect.sync
|
|
|
39
40
|
});
|
|
40
41
|
return [
|
|
41
42
|
Capability.contributes(SimpleLayoutState, stateAtom),
|
|
42
|
-
Capability.contributes(
|
|
43
|
+
Capability.contributes(AppCapabilities.Layout, layoutAtom)
|
|
43
44
|
];
|
|
44
45
|
}));
|
|
45
46
|
export {
|
|
46
47
|
state_default as default
|
|
47
48
|
};
|
|
48
|
-
//# sourceMappingURL=state-
|
|
49
|
+
//# sourceMappingURL=state-JMX6FAG4.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
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
|
|
@@ -0,0 +1,7 @@
|
|
|
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": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiBC,aAAaC,sBAAsBC,iBAAiB;AAC9E,SAASC,WAAW;AACpB,SAASC,eAAe;;AAWxB,IAAA,sBAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAM,EAAEC,WAAU,IAAK,OAAOH,WAAWI,IAAIC,aAAaC,gBAAgB;AAM1E,QAAMC,uBAAuB,CAACC,aAAAA;AAC5BC,QAAIC,KAAK,mCAAmC;MAAEF;IAAS,GAAA;;;;;;AAEvD,UAAMG,cAAcC,YAAYJ,QAAAA;AAChC,UAAMK,YAAYC,qBAAqBH,WAAAA;AAEvCR,eAAWY,gBAAgBC,iBAAiB;MAAEC,SAASJ;IAAU,CAAA;AAEjE,UAAMK,WAAWP,gBAAgBE,YAAYF,cAAcQ;AAC3D,QAAID,UAAU;AACZf,iBAAWY,gBAAgBK,MAAM;QAAEH,SAAS;UAACC;;MAAU,CAAA;IACzD;EACF;AAEA,QAAMG,eAAeC,iBAAiBf,oBAAAA;AAEtC,SAAcgB,YAAK,MAAMF,aAAAA,CAAAA;AACzBG,SAAOC,iBAAiB,YAAYJ,YAAAA;AAEpC,MAAIK;AACJ,MAAIC,QAAAA,GAAW;AACb,WAAcC,kBAAW;MACvBC,KAAK,YAAA;AACH,cAAM,EAAEC,YAAYC,UAAS,IAAK,MAAM,OAAO,8BAAA;AAE/C,cAAMC,aAAa,MAAMF,WAAAA;AACzB,YAAIE,cAAcA,WAAWC,SAAS,GAAG;AACvCxB,cAAIC,KAAK,6CAA6C;YAAEwB,MAAMF;UAAW,GAAA;;;;;;AACzE,qBAAWG,OAAOH,YAAY;AAC5BI,2BAAeD,KAAK5B,oBAAAA;UACtB;QACF;AAEAmB,2BAAmB,MAAMK,UAAU,CAACG,SAAAA;AAClCzB,cAAIC,KAAK,oCAAoC;YAAEwB;UAAK,GAAA;;;;;;AACpD,qBAAWC,OAAOD,MAAM;AACtBE,2BAAeD,KAAK5B,oBAAAA;UACtB;QACF,CAAA;AAEAE,YAAIC,KAAK,+CAAA,QAAA;;;;;;MACX;MACA2B,OAAO,CAACC,UAAAA;AACN7B,YAAI8B,KAAK,wDAAwD;UAAED;QAAM,GAAA;;;;;;AACzE,eAAOA;MACT;IACF,CAAA,EAAGE,KAAYC,gBAAS,MAAaC,WAAI,CAAA;EAC3C;AAEA,MAAIC;AACJ,MAAIC;AACJ,QAAMC,cAAc,OAAOxC,aAAayC,cAAcC,mBAA6B,CAACC,UAAAA;AAClF,UAAM,EAAEnC,WAAWoC,OAAM,IAAKD;AAE9B,QAAInC,cAAc8B,iBAAiBM,WAAWL,YAAY;AACxDD,sBAAgB9B;AAChB+B,mBAAaK;AAEb,YAAMC,OAAOD,SAASE,UAAUF,MAAAA,IAAUE,UAAUtC,SAAAA;AACpD,UAAIW,OAAO4B,SAAS5C,aAAa0C,MAAM;AACrCG,gBAAQC,UAAU,MAAM,IAAI,GAAGJ,IAAAA,GAAO1B,OAAO4B,SAASG,MAAM,EAAE;MAChE;IACF;EACF,CAAA;AAEA,SAAOvD,WAAWwD,YAAYnD,aAAaoD,MAAM,MAAM,MAC9ClC,YAAK,MAAA;AACVC,WAAOkC,oBAAoB,YAAYrC,YAAAA;AACvCwB,gBAAAA;AACAnB,uBAAAA;EACF,CAAA,CAAA;AAEJ,CAAA,CAAA;AAOF,IAAMiC,iBAAiB,CAACnD,aAA8BA,SAASoD,WAAW,YAAA;AAK1E,IAAMtC,mBACJ,CAACuC,aACD,MACEA,SAASrC,OAAO4B,SAAS5C,QAAQ;AAKrC,IAAM4B,iBAAiB,CAAC0B,WAAmBD,aAAAA;AACzCpD,MAAIC,KAAK,mCAAmC;IAAEyB,KAAK2B;EAAU,GAAA;;;;;;AAC7D,MAAI;AACF,UAAM3B,MAAM,IAAI4B,IAAID,SAAAA;AACpB,QAAIH,eAAexB,IAAI3B,QAAQ,GAAG;AAChCC,UAAIC,KAAK,2DAA2D;QAAEF,UAAU2B,IAAI3B;MAAS,GAAA;;;;;;AAC7F;IACF;AACAqD,aAAS1B,IAAI3B,QAAQ;EACvB,SAAS8B,OAAO;AACd7B,QAAI8B,KAAK,8CAA8C;MAAEuB;MAAWxB;IAAM,GAAA;;;;;;EAC5E;AACF;",
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleLayoutPlugin.d.ts","sourceRoot":"","sources":["../../../src/SimpleLayoutPlugin.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"SimpleLayoutPlugin.d.ts","sourceRoot":"","sources":["../../../src/SimpleLayoutPlugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiD,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ5F,MAAM,MAAM,yBAAyB,GAAG;IACtC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,kBAAkB,iDA8B9B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Effect from 'effect/Effect';
|
|
2
|
-
import {
|
|
3
|
-
declare const _default: (props
|
|
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
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=operation-resolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,7 +1,7 @@
|
|
|
1
1
|
import * as Effect from 'effect/Effect';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Capability } from '@dxos/app-framework';
|
|
4
|
-
declare const _default: (props
|
|
4
|
+
declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Readonly<{
|
|
5
5
|
id: string;
|
|
6
6
|
root: React.FC<React.PropsWithChildren>;
|
|
7
7
|
}>>>, never, never>;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,3 +1,3 @@
|
|
|
1
1
|
import { Capability } from '@dxos/app-framework';
|
|
2
|
-
export declare const ReactSurface: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/
|
|
2
|
+
export declare const ReactSurface: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Capabilities").ReactSurface>>, Error>;
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,5 +1,5 @@
|
|
|
1
1
|
import * as Effect from 'effect/Effect';
|
|
2
|
-
import {
|
|
3
|
-
declare const _default: (props
|
|
2
|
+
import { Capabilities, Capability } from '@dxos/app-framework';
|
|
3
|
+
declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Capabilities.ReactSurface>>, never, never>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=react-surface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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 +1,3 @@
|
|
|
1
1
|
import { Capability } from '@dxos/app-framework';
|
|
2
|
-
export declare const SpotlightDismiss: Capability.LazyCapability<import("./spotlight-dismiss").SpotlightDismissOptions, [] | Capability.Capability<Capability.InterfaceDef<null>>, Error>;
|
|
2
|
+
export declare const SpotlightDismiss: Capability.LazyCapability<import("./spotlight-dismiss").SpotlightDismissOptions | undefined, [] | Capability.Capability<Capability.InterfaceDef<null>>, Error>;
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -9,6 +9,6 @@ export type SpotlightDismissOptions = {
|
|
|
9
9
|
* When running in Tauri popover mode, listens for focus loss and Escape key
|
|
10
10
|
* to dismiss the spotlight panel. Runs at startup before React renders.
|
|
11
11
|
*/
|
|
12
|
-
declare const _default: (props
|
|
12
|
+
declare const _default: (props: SpotlightDismissOptions | undefined) => Effect.Effect<[] | Capability.Capability<Capability.InterfaceDef<null>>, never, never>;
|
|
13
13
|
export default _default;
|
|
14
14
|
//# sourceMappingURL=spotlight-dismiss.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,5 +1,5 @@
|
|
|
1
1
|
import { Capability } from '@dxos/app-framework';
|
|
2
|
-
export declare const State: Capability.LazyCapability<import("./state").SimpleLayoutStateOptions, [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<{
|
|
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
3
|
mode: string;
|
|
4
4
|
dialogOpen: boolean;
|
|
5
5
|
sidebarOpen: boolean;
|
|
@@ -5,7 +5,7 @@ import { type SimpleLayoutState } from '../../types';
|
|
|
5
5
|
export type SimpleLayoutStateOptions = {
|
|
6
6
|
initialState?: Partial<SimpleLayoutState>;
|
|
7
7
|
};
|
|
8
|
-
declare const _default: (props
|
|
8
|
+
declare const _default: (props: SimpleLayoutStateOptions | undefined) => Effect.Effect<[Capability.Capability<Capability.InterfaceDef<Atom.Writable<SimpleLayoutState, SimpleLayoutState>>>, Capability.Capability<Capability.InterfaceDef<Atom.Atom<Readonly<{
|
|
9
9
|
mode: string;
|
|
10
10
|
dialogOpen: boolean;
|
|
11
11
|
sidebarOpen: boolean;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -2,9 +2,11 @@ import * as Effect from 'effect/Effect';
|
|
|
2
2
|
import { Capability } from '@dxos/app-framework';
|
|
3
3
|
/**
|
|
4
4
|
* URL handler for simple layout that syncs browser URL with layout state.
|
|
5
|
-
* URL
|
|
6
|
-
* Root is represented as
|
|
5
|
+
* URL paths map directly to qualified graph IDs with the leading `root` segment stripped.
|
|
6
|
+
* Root is represented as `/`.
|
|
7
|
+
*
|
|
8
|
+
* On mobile Tauri, also listens for deep links via the deep-link plugin.
|
|
7
9
|
*/
|
|
8
|
-
declare const _default: (props
|
|
10
|
+
declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<null>>, Error, Capability.Service>;
|
|
9
11
|
export default _default;
|
|
10
12
|
//# sourceMappingURL=url-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,9 +1,7 @@
|
|
|
1
1
|
import { type StoryObj } from '@storybook/react-vite';
|
|
2
2
|
declare const meta: {
|
|
3
3
|
title: string;
|
|
4
|
-
component: ({ error }:
|
|
5
|
-
error?: Error;
|
|
6
|
-
}) => import("react").JSX.Element;
|
|
4
|
+
component: ({ children, error, title, data }: import("@dxos/react-ui").ErrorFallbackProps) => React.JSX.Element;
|
|
7
5
|
decorators: import("@storybook/react").Decorator[];
|
|
8
6
|
parameters: {
|
|
9
7
|
layout: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentError.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ContentError.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ContentError.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ContentError.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAOjE,QAAA,MAAM,IAAI;;;;;;;;yBAJI,CAAQ,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAYQ,CAAC;AAEvC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAIvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAI3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContentLoading/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Home.d.ts","sourceRoot":"","sources":["../../../../../src/components/Home/Home.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Home.d.ts","sourceRoot":"","sources":["../../../../../src/components/Home/Home.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAgBvE,MAAM,MAAM,SAAS,GAAG,EAAE,CAAC;AAE3B;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,GAAG,SAAS,sBAuChC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React, { type PropsWithChildren } from 'react';
|
|
2
|
+
import { type ThemedClassName } from '@dxos/react-ui';
|
|
3
|
+
type MobileLayoutContextValue = {
|
|
4
|
+
keyboardOpen: boolean;
|
|
5
|
+
};
|
|
6
|
+
declare const useMobileLayout: (consumerName: string) => MobileLayoutContextValue;
|
|
7
|
+
type MobileLayoutRootProps = ThemedClassName<PropsWithChildren<{
|
|
8
|
+
transition?: number;
|
|
9
|
+
onKeyboardOpenChange?: (nextState: boolean) => void;
|
|
10
|
+
}>>;
|
|
11
|
+
type MobileLayoutPanelProps = ThemedClassName<PropsWithChildren<{
|
|
12
|
+
safe?: {
|
|
13
|
+
top: boolean;
|
|
14
|
+
bottom: boolean;
|
|
15
|
+
};
|
|
16
|
+
}>>;
|
|
17
|
+
export declare const MobileLayout: {
|
|
18
|
+
Root: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<{
|
|
19
|
+
transition?: number;
|
|
20
|
+
onKeyboardOpenChange?: (nextState: boolean) => void;
|
|
21
|
+
}>, "className"> & {
|
|
22
|
+
classNames?: import("@dxos/ui-types").ClassNameValue;
|
|
23
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
24
|
+
Panel: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<{
|
|
25
|
+
safe?: {
|
|
26
|
+
top: boolean;
|
|
27
|
+
bottom: boolean;
|
|
28
|
+
};
|
|
29
|
+
}>, "className"> & {
|
|
30
|
+
classNames?: import("@dxos/ui-types").ClassNameValue;
|
|
31
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
32
|
+
};
|
|
33
|
+
export { useMobileLayout };
|
|
34
|
+
export type { MobileLayoutRootProps, MobileLayoutPanelProps };
|
|
35
|
+
//# sourceMappingURL=MobileLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileLayout.d.ts","sourceRoot":"","sources":["../../../../../src/components/MobileLayout/MobileLayout.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAmC,MAAM,OAAO,CAAC;AAIvF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAatD,KAAK,wBAAwB,GAAG;IAC9B,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,QAAA,MAA6B,eAAe,oDAA+D,CAAC;AAM5G,KAAK,qBAAqB,GAAG,eAAe,CAC1C,iBAAiB,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD,CAAC,CACH,CAAC;AAsCF,KAAK,sBAAsB,GAAG,eAAe,CAC3C,iBAAiB,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,GAAG,EAAE,OAAO,CAAC;QACb,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;CACH,CAAC,CACH,CAAC;AA8BF,eAAO,MAAM,YAAY;;qBA9ER,MAAM;+BACI,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI;;;;;eA0C5C;YACL,GAAG,EAAE,OAAO,CAAC;YACb,MAAM,EAAE,OAAO,CAAC;SACjB;;;;CAmCJ,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { type MobileLayoutRootProps } from './MobileLayout';
|
|
3
|
+
declare const meta: Meta<MobileLayoutRootProps>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<MobileLayoutRootProps>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
//# sourceMappingURL=MobileLayout.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileLayout.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/MobileLayout/MobileLayout.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAOjE,OAAO,EAAgB,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAuG1E,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAQrC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/MobileLayout/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type NavBranchProps = {
|
|
3
|
+
id: string;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Renders the children of a graph branch node as a searchable mosaic list.
|
|
7
|
+
* Used for any node with `role: 'branch'` or a workspace disposition, including
|
|
8
|
+
* spaces, collection sections, type sections, and schema nodes.
|
|
9
|
+
*/
|
|
10
|
+
export declare const NavBranch: ({ id }: NavBranchProps) => React.JSX.Element;
|
|
11
|
+
//# sourceMappingURL=NavBranch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavBranch.d.ts","sourceRoot":"","sources":["../../../../../src/components/NavBranch/NavBranch.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAevE,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,cAAc,sBA0C/C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/NavBranch/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../../../src/components/Popover/Popover.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAqD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../../../src/components/Popover/Popover.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAqD,MAAM,OAAO,CAAC;AAkBzG,eAAO,MAAM,WAAW,GAAI,cAAc,iBAAiB,sBA+B1D,CAAC;AAMF,eAAO,MAAM,cAAc,yBAqE1B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Atom } from '@effect-atom/atom-react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { type ThemedClassName } from '@dxos/react-ui';
|
|
4
|
+
import { type ActionExecutor, type ActionGraphProps } from '@dxos/react-ui-menu';
|
|
5
|
+
export type AppBarProps = ThemedClassName<{
|
|
6
|
+
/** Title/label to display in the banner. */
|
|
7
|
+
title?: string;
|
|
8
|
+
/** Action graph atom for the dropdown menu. */
|
|
9
|
+
actions: Atom.Atom<ActionGraphProps>;
|
|
10
|
+
/** Whether to show the back button. */
|
|
11
|
+
showBackButton?: boolean;
|
|
12
|
+
/** Popover anchor ID for the dropdown trigger. */
|
|
13
|
+
popoverAnchorId?: string;
|
|
14
|
+
/** Action executor callback. */
|
|
15
|
+
onAction?: ActionExecutor;
|
|
16
|
+
/** Callback when back button is clicked. */
|
|
17
|
+
onBack?: () => void;
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* AppBar component that renders a title, optional back button, and actions dropdown.
|
|
21
|
+
*/
|
|
22
|
+
export declare const AppBar: {
|
|
23
|
+
({ classNames, title, actions, showBackButton, popoverAnchorId, onAction, onBack, }: AppBarProps): React.JSX.Element;
|
|
24
|
+
displayName: string;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=AppBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppBar.d.ts","sourceRoot":"","sources":["../../../../../src/components/SimpleLayout/AppBar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAgB,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,EAAuB,KAAK,eAAe,EAA2B,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAwB,MAAM,qBAAqB,CAAC;AAQvG,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;IACxC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACrC,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM;yFAQhB,WAAW;;CAiDb,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { type ActionGraphProps } from '@dxos/react-ui-menu';
|
|
4
|
+
import { type AppBarProps } from './AppBar';
|
|
5
|
+
type StoryProps = Omit<AppBarProps, 'actions'> & {
|
|
6
|
+
actions: ActionGraphProps;
|
|
7
|
+
};
|
|
8
|
+
declare const meta: {
|
|
9
|
+
title: string;
|
|
10
|
+
render: ({ actions: actionsProp, ...props }: StoryProps) => React.JSX.Element;
|
|
11
|
+
decorators: import("@storybook/react").Decorator[];
|
|
12
|
+
parameters: {
|
|
13
|
+
layout: string;
|
|
14
|
+
translations: [{
|
|
15
|
+
readonly 'en-US': {
|
|
16
|
+
readonly [meta.id]: {
|
|
17
|
+
readonly 'plugin name': "Simple layout";
|
|
18
|
+
readonly 'settings title': "Simple layout settings";
|
|
19
|
+
readonly 'workspaces heading': "Workspaces";
|
|
20
|
+
readonly 'settings heading': "Settings";
|
|
21
|
+
readonly 'back label': "Back";
|
|
22
|
+
readonly 'browse label': "Browse";
|
|
23
|
+
readonly 'notifications label': "Notifications";
|
|
24
|
+
readonly 'profile label': "Profile";
|
|
25
|
+
readonly 'app menu label': "App menu";
|
|
26
|
+
readonly 'main menu label': "Main menu";
|
|
27
|
+
readonly 'companions menu label': "Companions";
|
|
28
|
+
readonly 'error fallback message': "An error occurred";
|
|
29
|
+
readonly 'search placeholder': "Search...";
|
|
30
|
+
readonly 'drawer label': "Drawer";
|
|
31
|
+
readonly 'close drawer label': "Close drawer";
|
|
32
|
+
readonly 'expand drawer label': "Expand drawer";
|
|
33
|
+
readonly 'collapse drawer label': "Collapse drawer";
|
|
34
|
+
readonly 'actions menu label': "Actions";
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
}];
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
export default meta;
|
|
41
|
+
type Story = StoryObj<StoryProps>;
|
|
42
|
+
export declare const Default: Story;
|
|
43
|
+
export declare const NoBackButton: Story;
|
|
44
|
+
export declare const LongTitle: Story;
|
|
45
|
+
export declare const NoActions: Story;
|
|
46
|
+
export declare const Empty: Story;
|
|
47
|
+
//# sourceMappingURL=AppBar.stories.d.ts.map
|