@dxos/plugin-attention 0.8.4-main.84f28bd → 0.8.4-main.8baae0fced
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/LICENSE +102 -5
- package/README.md +1 -1
- package/dist/lib/neutral/AttentionPlugin.mjs +9 -0
- package/dist/lib/neutral/AttentionPlugin.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +11 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/chunk-DPUSNLAH.mjs +60 -0
- package/dist/lib/neutral/chunk-DPUSNLAH.mjs.map +7 -0
- package/dist/lib/neutral/chunk-DTGSOFCE.mjs +41 -0
- package/dist/lib/neutral/chunk-DTGSOFCE.mjs.map +7 -0
- package/dist/lib/neutral/chunk-QSTYRKHK.mjs +8 -0
- package/dist/lib/neutral/chunk-QSTYRKHK.mjs.map +7 -0
- package/dist/lib/neutral/chunk-TNTMPZ3O.mjs +19 -0
- package/dist/lib/neutral/chunk-TNTMPZ3O.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +15 -0
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/neutral/keyboard-6CPNUR24.mjs +19 -0
- package/dist/lib/neutral/keyboard-6CPNUR24.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +7 -0
- package/dist/lib/neutral/meta.mjs.map +7 -0
- package/dist/lib/neutral/operation-handler-O5PDEBTC.mjs +11 -0
- package/dist/lib/neutral/operation-handler-O5PDEBTC.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +7 -0
- package/dist/lib/neutral/operations/index.mjs.map +7 -0
- package/dist/lib/neutral/plugin.mjs +15 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/{node-esm/react-context-SVXVOSRH.mjs → neutral/react-context-W7BGQDHK.mjs} +9 -11
- package/dist/lib/neutral/react-context-W7BGQDHK.mjs.map +7 -0
- package/dist/lib/neutral/select-CI2OLVWT.mjs +46 -0
- package/dist/lib/neutral/select-CI2OLVWT.mjs.map +7 -0
- package/dist/lib/neutral/testing.mjs +7 -0
- package/dist/lib/neutral/testing.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +11 -0
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/types/src/AttentionPlugin.d.ts +3 -1
- package/dist/types/src/AttentionPlugin.d.ts.map +1 -1
- package/dist/types/src/AttentionPlugin.test.d.ts +2 -0
- package/dist/types/src/AttentionPlugin.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +6 -4
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/keyboard.d.ts +3 -2
- package/dist/types/src/capabilities/keyboard.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-context.d.ts +4 -2
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -3
- package/dist/types/src/meta.d.ts.map +1 -1
- 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/select.d.ts +5 -0
- package/dist/types/src/operations/select.d.ts.map +1 -0
- package/dist/types/src/plugin.d.ts +4 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/testing.d.ts +2 -0
- package/dist/types/src/testing.d.ts.map +1 -0
- package/dist/types/src/types/capabilities.d.ts +7 -0
- package/dist/types/src/types/capabilities.d.ts.map +1 -0
- package/dist/types/src/types/events.d.ts +5 -0
- package/dist/types/src/types/events.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +4 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/types/types.d.ts +32 -0
- package/dist/types/src/types/types.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +60 -22
- package/src/AttentionPlugin.test.ts +32 -0
- package/src/AttentionPlugin.ts +40 -33
- package/src/capabilities/index.ts +8 -5
- package/src/capabilities/keyboard.ts +15 -16
- package/src/capabilities/operation-handler.ts +16 -0
- package/src/capabilities/react-context.tsx +29 -24
- package/src/index.ts +1 -5
- package/src/meta.ts +10 -5
- package/src/operations/index.ts +7 -0
- package/src/operations/select.ts +43 -0
- package/src/plugin.ts +11 -0
- package/src/testing.ts +7 -0
- package/src/types/capabilities.ts +13 -0
- package/src/types/events.ts +11 -0
- package/src/types/index.ts +7 -0
- package/src/types/types.ts +21 -0
- package/dist/lib/browser/chunk-O6FNOKYX.mjs +0 -21
- package/dist/lib/browser/chunk-O6FNOKYX.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -81
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/keyboard-IYF35Z4E.mjs +0 -27
- package/dist/lib/browser/keyboard-IYF35Z4E.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-context-JVGQB2CO.mjs +0 -27
- package/dist/lib/browser/react-context-JVGQB2CO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SVV7GQYN.mjs +0 -23
- package/dist/lib/node-esm/chunk-SVV7GQYN.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -82
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/keyboard-GSUNGWNE.mjs +0 -28
- package/dist/lib/node-esm/keyboard-GSUNGWNE.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/react-context-SVXVOSRH.mjs.map +0 -7
- package/dist/types/src/capabilities/capabilities.d.ts +0 -6
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/events.d.ts +0 -4
- package/dist/types/src/events.d.ts.map +0 -1
- package/src/capabilities/capabilities.ts +0 -13
- package/src/events.ts +0 -11
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ATTENTION_PLUGIN,
|
|
3
|
-
AttentionCapabilities,
|
|
4
|
-
meta
|
|
5
|
-
} from "./chunk-O6FNOKYX.mjs";
|
|
6
|
-
|
|
7
|
-
// src/index.ts
|
|
8
|
-
export * from "@dxos/react-ui-attention";
|
|
9
|
-
|
|
10
|
-
// src/AttentionPlugin.ts
|
|
11
|
-
import { defineModule, definePlugin, Events, contributes, allOf } from "@dxos/app-framework";
|
|
12
|
-
import { AttentionManager, SelectionManager } from "@dxos/react-ui-attention";
|
|
13
|
-
|
|
14
|
-
// src/capabilities/index.ts
|
|
15
|
-
import { lazy } from "@dxos/app-framework";
|
|
16
|
-
var Keyboard = lazy(() => import("./keyboard-IYF35Z4E.mjs"));
|
|
17
|
-
var ReactContext = lazy(() => import("./react-context-JVGQB2CO.mjs"));
|
|
18
|
-
|
|
19
|
-
// src/events.ts
|
|
20
|
-
import { defineEvent } from "@dxos/app-framework";
|
|
21
|
-
(function(AttentionEvents2) {
|
|
22
|
-
AttentionEvents2.AttentionReady = defineEvent(`${ATTENTION_PLUGIN}/event/attention-ready`);
|
|
23
|
-
})(AttentionEvents || (AttentionEvents = {}));
|
|
24
|
-
var AttentionEvents;
|
|
25
|
-
|
|
26
|
-
// src/AttentionPlugin.ts
|
|
27
|
-
var AttentionPlugin = () => definePlugin(meta, [
|
|
28
|
-
defineModule({
|
|
29
|
-
id: `${meta.id}/module/attention`,
|
|
30
|
-
activatesOn: Events.Startup,
|
|
31
|
-
activatesAfter: [
|
|
32
|
-
AttentionEvents.AttentionReady
|
|
33
|
-
],
|
|
34
|
-
activate: () => {
|
|
35
|
-
const attention = new AttentionManager();
|
|
36
|
-
const selection = new SelectionManager();
|
|
37
|
-
setupDevtools(attention);
|
|
38
|
-
return [
|
|
39
|
-
contributes(AttentionCapabilities.Attention, attention),
|
|
40
|
-
contributes(AttentionCapabilities.Selection, selection)
|
|
41
|
-
];
|
|
42
|
-
}
|
|
43
|
-
}),
|
|
44
|
-
defineModule({
|
|
45
|
-
id: `${meta.id}/module/react-context`,
|
|
46
|
-
activatesOn: Events.Startup,
|
|
47
|
-
activate: ReactContext
|
|
48
|
-
}),
|
|
49
|
-
defineModule({
|
|
50
|
-
id: `${meta.id}/module/keyboard`,
|
|
51
|
-
activatesOn: allOf(Events.AppGraphReady, AttentionEvents.AttentionReady),
|
|
52
|
-
activate: Keyboard
|
|
53
|
-
})
|
|
54
|
-
]);
|
|
55
|
-
var setupDevtools = (attention) => {
|
|
56
|
-
globalThis.composer ??= {};
|
|
57
|
-
globalThis.composer.attention = {
|
|
58
|
-
get manager() {
|
|
59
|
-
return attention;
|
|
60
|
-
},
|
|
61
|
-
get attended() {
|
|
62
|
-
return attention.current;
|
|
63
|
-
},
|
|
64
|
-
get currentSpace() {
|
|
65
|
-
for (const id of attention.current) {
|
|
66
|
-
const [spaceId, objectId] = id.split(":");
|
|
67
|
-
if (spaceId && objectId && spaceId.length === 33) {
|
|
68
|
-
return spaceId;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
};
|
|
74
|
-
export {
|
|
75
|
-
ATTENTION_PLUGIN,
|
|
76
|
-
AttentionCapabilities,
|
|
77
|
-
AttentionEvents,
|
|
78
|
-
AttentionPlugin,
|
|
79
|
-
meta
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/index.ts", "../../../src/AttentionPlugin.ts", "../../../src/capabilities/index.ts", "../../../src/events.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nexport * from '@dxos/react-ui-attention';\n\nexport * from './AttentionPlugin';\nexport { AttentionCapabilities } from './capabilities';\nexport * from './events';\nexport * from './meta';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineModule, definePlugin, Events, contributes, allOf } from '@dxos/app-framework';\nimport { AttentionManager, SelectionManager } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities, Keyboard, ReactContext } from './capabilities';\nimport { AttentionEvents } from './events';\nimport { meta } from './meta';\n\nexport const AttentionPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/attention`,\n activatesOn: Events.Startup,\n activatesAfter: [AttentionEvents.AttentionReady],\n activate: () => {\n const attention = new AttentionManager();\n const selection = new SelectionManager();\n setupDevtools(attention);\n return [\n contributes(AttentionCapabilities.Attention, attention),\n contributes(AttentionCapabilities.Selection, selection),\n ];\n },\n }),\n defineModule({\n id: `${meta.id}/module/react-context`,\n activatesOn: Events.Startup,\n activate: ReactContext,\n }),\n defineModule({\n id: `${meta.id}/module/keyboard`,\n activatesOn: allOf(Events.AppGraphReady, AttentionEvents.AttentionReady),\n activate: Keyboard,\n }),\n ]);\n\nconst setupDevtools = (attention: AttentionManager) => {\n (globalThis as any).composer ??= {};\n\n (globalThis as any).composer.attention = {\n get manager() {\n return attention;\n },\n get attended() {\n return attention.current;\n },\n get currentSpace() {\n for (const id of attention.current) {\n const [spaceId, objectId] = id.split(':');\n if (spaceId && objectId && spaceId.length === 33) {\n return spaceId;\n }\n }\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const Keyboard = lazy(() => import('./keyboard'));\nexport const ReactContext = lazy(() => import('./react-context'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { ATTENTION_PLUGIN } from './meta';\n\nexport namespace AttentionEvents {\n export const AttentionReady = defineEvent(`${ATTENTION_PLUGIN}/event/attention-ready`);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;AAIA,cAAc;;;ACAd,SAASA,cAAcC,cAAcC,QAAQC,aAAaC,aAAa;AACvE,SAASC,kBAAkBC,wBAAwB;;;ACDnD,SAASC,YAAY;AAEd,IAAMC,WAAWC,KAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAMC,eAAeD,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACH9C,SAASE,mBAAmB;UAIXC,kBAAAA;mBACFC,iBAAiBC,YAAY,GAAGC,gBAAAA,wBAAwC;AACvF,GAFiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;;;;AFGV,IAAMI,kBAAkB,MAC7BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,gBAAgB;MAACC,gBAAgBC;;IACjCC,UAAU,MAAA;AACR,YAAMC,YAAY,IAAIC,iBAAAA;AACtB,YAAMC,YAAY,IAAIC,iBAAAA;AACtBC,oBAAcJ,SAAAA;AACd,aAAO;QACLK,YAAYC,sBAAsBC,WAAWP,SAAAA;QAC7CK,YAAYC,sBAAsBE,WAAWN,SAAAA;;IAEjD;EACF,CAAA;EACAX,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBI,UAAUU;EACZ,CAAA;EACAlB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiB,MAAMhB,OAAOiB,eAAed,gBAAgBC,cAAc;IACvEC,UAAUa;EACZ,CAAA;CACD;AAEH,IAAMR,gBAAgB,CAACJ,cAAAA;AACpBa,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASd,YAAY;IACvC,IAAIe,UAAU;AACZ,aAAOf;IACT;IACA,IAAIgB,WAAW;AACb,aAAOhB,UAAUiB;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAW1B,MAAMQ,UAAUiB,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAY5B,GAAG6B,MAAM,GAAA;AACrC,YAAIF,WAAWC,YAAYD,QAAQG,WAAW,IAAI;AAChD,iBAAOH;QACT;MACF;IACF;EACF;AACF;",
|
|
6
|
-
"names": ["defineModule", "definePlugin", "Events", "contributes", "allOf", "AttentionManager", "SelectionManager", "lazy", "Keyboard", "lazy", "ReactContext", "defineEvent", "AttentionEvents", "AttentionReady", "defineEvent", "ATTENTION_PLUGIN", "AttentionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "Startup", "activatesAfter", "AttentionEvents", "AttentionReady", "activate", "attention", "AttentionManager", "selection", "SelectionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "Selection", "ReactContext", "allOf", "AppGraphReady", "Keyboard", "globalThis", "composer", "manager", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
|
|
7
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AttentionCapabilities
|
|
3
|
-
} from "./chunk-O6FNOKYX.mjs";
|
|
4
|
-
|
|
5
|
-
// src/capabilities/keyboard.ts
|
|
6
|
-
import { effect } from "@preact/signals-core";
|
|
7
|
-
import { Option } from "effect";
|
|
8
|
-
import { Capabilities as AppCapabilities, contributes } from "@dxos/app-framework";
|
|
9
|
-
import { Keyboard } from "@dxos/keyboard";
|
|
10
|
-
var keyboard_default = (context) => {
|
|
11
|
-
const { graph } = context.getCapability(AppCapabilities.AppGraph);
|
|
12
|
-
const attention = context.getCapability(AttentionCapabilities.Attention);
|
|
13
|
-
const unsubscribe = effect(() => {
|
|
14
|
-
const id = Array.from(attention.current)[0];
|
|
15
|
-
const path = id && graph.getPath({
|
|
16
|
-
target: id
|
|
17
|
-
}).pipe(Option.getOrNull);
|
|
18
|
-
if (path) {
|
|
19
|
-
Keyboard.singleton.setCurrentContext(path.join("/"));
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
return contributes(AppCapabilities.Null, null, () => unsubscribe());
|
|
23
|
-
};
|
|
24
|
-
export {
|
|
25
|
-
keyboard_default as default
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=keyboard-IYF35Z4E.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/keyboard.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport { Option } from 'effect';\n\nimport { Capabilities as AppCapabilities, contributes, type PluginContext } from '@dxos/app-framework';\nimport { Keyboard } from '@dxos/keyboard';\n\nimport { AttentionCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const { graph } = context.getCapability(AppCapabilities.AppGraph);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n\n const unsubscribe = effect(() => {\n const id = Array.from(attention.current)[0];\n const path = id && graph.getPath({ target: id }).pipe(Option.getOrNull);\n if (path) {\n Keyboard.singleton.setCurrentContext(path.join('/'));\n }\n });\n\n return contributes(AppCapabilities.Null, null, () => unsubscribe());\n};\n"],
|
|
5
|
-
"mappings": ";;;;;AAIA,SAASA,cAAc;AACvB,SAASC,cAAc;AAEvB,SAASC,gBAAgBC,iBAAiBC,mBAAuC;AACjF,SAASC,gBAAgB;AAIzB,IAAA,mBAAe,CAACC,YAAAA;AACd,QAAM,EAAEC,MAAK,IAAKD,QAAQE,cAAcC,gBAAgBC,QAAQ;AAChE,QAAMC,YAAYL,QAAQE,cAAcI,sBAAsBC,SAAS;AAEvE,QAAMC,cAAcC,OAAO,MAAA;AACzB,UAAMC,KAAKC,MAAMC,KAAKP,UAAUQ,OAAO,EAAE,CAAA;AACzC,UAAMC,OAAOJ,MAAMT,MAAMc,QAAQ;MAAEC,QAAQN;IAAG,CAAA,EAAGO,KAAKC,OAAOC,SAAS;AACtE,QAAIL,MAAM;AACRM,eAASC,UAAUC,kBAAkBR,KAAKS,KAAK,GAAA,CAAA;IACjD;EACF,CAAA;AAEA,SAAOC,YAAYrB,gBAAgBsB,MAAM,MAAM,MAAMjB,YAAAA,CAAAA;AACvD;",
|
|
6
|
-
"names": ["effect", "Option", "Capabilities", "AppCapabilities", "contributes", "Keyboard", "context", "graph", "getCapability", "AppCapabilities", "AppGraph", "attention", "AttentionCapabilities", "Attention", "unsubscribe", "effect", "id", "Array", "from", "current", "path", "getPath", "target", "pipe", "Option", "getOrNull", "Keyboard", "singleton", "setCurrentContext", "join", "contributes", "Null"]
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"inputs":{"src/meta.ts":{"bytes":949,"imports":[],"format":"esm"},"src/capabilities/capabilities.ts":{"bytes":1792,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/keyboard.ts":{"bytes":3527,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"src/capabilities/react-context.tsx":{"bytes":4182,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1098,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"src/events.ts":{"bytes":1238,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/AttentionPlugin.ts":{"bytes":6759,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/events.ts","kind":"import-statement","original":"./events"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/index.ts":{"bytes":971,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/events.ts","kind":"import-statement","original":"./events"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4622},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-O6FNOKYX.mjs","kind":"import-statement"},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/keyboard-IYF35Z4E.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/react-context-JVGQB2CO.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":42},"src/AttentionPlugin.ts":{"bytesInOutput":1435},"src/capabilities/index.ts":{"bytesInOutput":177},"src/events.ts":{"bytesInOutput":243}},"bytes":2245},"dist/lib/browser/keyboard-IYF35Z4E.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1909},"dist/lib/browser/keyboard-IYF35Z4E.mjs":{"imports":[{"path":"dist/lib/browser/chunk-O6FNOKYX.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/keyboard.ts","inputs":{"src/capabilities/keyboard.ts":{"bytesInOutput":725}},"bytes":911},"dist/lib/browser/react-context-JVGQB2CO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2098},"dist/lib/browser/react-context-JVGQB2CO.mjs":{"imports":[{"path":"dist/lib/browser/chunk-O6FNOKYX.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-context.tsx","inputs":{"src/capabilities/react-context.tsx":{"bytesInOutput":701}},"bytes":923},"dist/lib/browser/chunk-O6FNOKYX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1279},"dist/lib/browser/chunk-O6FNOKYX.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":112},"src/capabilities/capabilities.ts":{"bytesInOutput":376}},"bytes":649}}}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ATTENTION_PLUGIN,
|
|
3
|
-
AttentionCapabilities
|
|
4
|
-
} from "./chunk-O6FNOKYX.mjs";
|
|
5
|
-
|
|
6
|
-
// src/capabilities/react-context.tsx
|
|
7
|
-
import React from "react";
|
|
8
|
-
import { Capabilities, contributes, useCapability } from "@dxos/app-framework";
|
|
9
|
-
import { RootAttentionProvider, SelectionProvider } from "@dxos/react-ui-attention";
|
|
10
|
-
var react_context_default = () => contributes(Capabilities.ReactContext, {
|
|
11
|
-
id: ATTENTION_PLUGIN,
|
|
12
|
-
context: (props) => {
|
|
13
|
-
const attention = useCapability(AttentionCapabilities.Attention);
|
|
14
|
-
const selection = useCapability(AttentionCapabilities.Selection);
|
|
15
|
-
return /* @__PURE__ */ React.createElement(RootAttentionProvider, {
|
|
16
|
-
attention,
|
|
17
|
-
onChange: (nextAttended) => {
|
|
18
|
-
}
|
|
19
|
-
}, /* @__PURE__ */ React.createElement(SelectionProvider, {
|
|
20
|
-
selection
|
|
21
|
-
}, props.children));
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
export {
|
|
25
|
-
react_context_default as default
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=react-context-JVGQB2CO.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/react-context.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type PropsWithChildren } from 'react';\n\nimport { Capabilities, contributes, useCapability } from '@dxos/app-framework';\nimport { RootAttentionProvider, SelectionProvider } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities } from './capabilities';\nimport { ATTENTION_PLUGIN } from '../meta';\n\nexport default () =>\n contributes(Capabilities.ReactContext, {\n id: ATTENTION_PLUGIN,\n context: (props: PropsWithChildren) => {\n const attention = useCapability(AttentionCapabilities.Attention);\n const selection = useCapability(AttentionCapabilities.Selection);\n\n return (\n <RootAttentionProvider\n attention={attention}\n onChange={(nextAttended) => {\n // TODO(Zan): Workout why this was in deck plugin. It didn't seem to work?\n // if (layout.values.scrollIntoView && nextAttended.has(layout.values.scrollIntoView)) {\n // layout.values.scrollIntoView = undefined;\n // }\n }}\n >\n <SelectionProvider selection={selection}>{props.children}</SelectionProvider>\n </RootAttentionProvider>\n );\n },\n });\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,OAAOA,WAAuC;AAE9C,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,uBAAuBC,yBAAyB;AAKzD,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,IAAIC;EACJC,SAAS,CAACC,UAAAA;AACR,UAAMC,YAAYC,cAAcC,sBAAsBC,SAAS;AAC/D,UAAMC,YAAYH,cAAcC,sBAAsBG,SAAS;AAE/D,WACE,sBAAA,cAACC,uBAAAA;MACCN;MACAO,UAAU,CAACC,iBAAAA;MAKX;OAEA,sBAAA,cAACC,mBAAAA;MAAkBL;OAAuBL,MAAMW,QAAQ,CAAA;EAG9D;AACF,CAAA;",
|
|
6
|
-
"names": ["React", "Capabilities", "contributes", "useCapability", "RootAttentionProvider", "SelectionProvider", "contributes", "Capabilities", "ReactContext", "id", "ATTENTION_PLUGIN", "context", "props", "attention", "useCapability", "AttentionCapabilities", "Attention", "selection", "Selection", "RootAttentionProvider", "onChange", "nextAttended", "SelectionProvider", "children"]
|
|
7
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
|
|
3
|
-
// src/meta.ts
|
|
4
|
-
var ATTENTION_PLUGIN = "dxos.org/plugin/attention";
|
|
5
|
-
var meta = {
|
|
6
|
-
id: ATTENTION_PLUGIN,
|
|
7
|
-
name: "Attention"
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
// src/capabilities/capabilities.ts
|
|
11
|
-
import { defineCapability } from "@dxos/app-framework";
|
|
12
|
-
(function(AttentionCapabilities2) {
|
|
13
|
-
AttentionCapabilities2.Attention = defineCapability(`${ATTENTION_PLUGIN}/capability/attention`);
|
|
14
|
-
AttentionCapabilities2.Selection = defineCapability(`${ATTENTION_PLUGIN}/capability/selection`);
|
|
15
|
-
})(AttentionCapabilities || (AttentionCapabilities = {}));
|
|
16
|
-
var AttentionCapabilities;
|
|
17
|
-
|
|
18
|
-
export {
|
|
19
|
-
ATTENTION_PLUGIN,
|
|
20
|
-
meta,
|
|
21
|
-
AttentionCapabilities
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=chunk-SVV7GQYN.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/meta.ts", "../../../src/capabilities/capabilities.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const ATTENTION_PLUGIN = 'dxos.org/plugin/attention';\n\nexport const meta: PluginMeta = {\n id: ATTENTION_PLUGIN,\n name: 'Attention',\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type SelectionManager, type AttentionManager } from '@dxos/react-ui-attention';\n\nimport { ATTENTION_PLUGIN } from '../meta';\n\nexport namespace AttentionCapabilities {\n export const Attention = defineCapability<AttentionManager>(`${ATTENTION_PLUGIN}/capability/attention`);\n export const Selection = defineCapability<SelectionManager>(`${ATTENTION_PLUGIN}/capability/selection`);\n}\n"],
|
|
5
|
-
"mappings": ";;;AAMO,IAAMA,mBAAmB;AAEzB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;AACR;;;ACPA,SAASC,wBAAwB;UAKhBC,wBAAAA;yBACFC,YAAYC,iBAAmC,GAAGC,gBAAAA,uBAAuC;yBACzFC,YAAYF,iBAAmC,GAAGC,gBAAAA,uBAAuC;AACxG,GAHiBH,0BAAAA,wBAAAA,CAAAA,EAAAA;;",
|
|
6
|
-
"names": ["ATTENTION_PLUGIN", "meta", "id", "name", "defineCapability", "AttentionCapabilities", "Attention", "defineCapability", "ATTENTION_PLUGIN", "Selection"]
|
|
7
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
ATTENTION_PLUGIN,
|
|
4
|
-
AttentionCapabilities,
|
|
5
|
-
meta
|
|
6
|
-
} from "./chunk-SVV7GQYN.mjs";
|
|
7
|
-
|
|
8
|
-
// src/index.ts
|
|
9
|
-
export * from "@dxos/react-ui-attention";
|
|
10
|
-
|
|
11
|
-
// src/AttentionPlugin.ts
|
|
12
|
-
import { defineModule, definePlugin, Events, contributes, allOf } from "@dxos/app-framework";
|
|
13
|
-
import { AttentionManager, SelectionManager } from "@dxos/react-ui-attention";
|
|
14
|
-
|
|
15
|
-
// src/capabilities/index.ts
|
|
16
|
-
import { lazy } from "@dxos/app-framework";
|
|
17
|
-
var Keyboard = lazy(() => import("./keyboard-GSUNGWNE.mjs"));
|
|
18
|
-
var ReactContext = lazy(() => import("./react-context-SVXVOSRH.mjs"));
|
|
19
|
-
|
|
20
|
-
// src/events.ts
|
|
21
|
-
import { defineEvent } from "@dxos/app-framework";
|
|
22
|
-
(function(AttentionEvents2) {
|
|
23
|
-
AttentionEvents2.AttentionReady = defineEvent(`${ATTENTION_PLUGIN}/event/attention-ready`);
|
|
24
|
-
})(AttentionEvents || (AttentionEvents = {}));
|
|
25
|
-
var AttentionEvents;
|
|
26
|
-
|
|
27
|
-
// src/AttentionPlugin.ts
|
|
28
|
-
var AttentionPlugin = () => definePlugin(meta, [
|
|
29
|
-
defineModule({
|
|
30
|
-
id: `${meta.id}/module/attention`,
|
|
31
|
-
activatesOn: Events.Startup,
|
|
32
|
-
activatesAfter: [
|
|
33
|
-
AttentionEvents.AttentionReady
|
|
34
|
-
],
|
|
35
|
-
activate: () => {
|
|
36
|
-
const attention = new AttentionManager();
|
|
37
|
-
const selection = new SelectionManager();
|
|
38
|
-
setupDevtools(attention);
|
|
39
|
-
return [
|
|
40
|
-
contributes(AttentionCapabilities.Attention, attention),
|
|
41
|
-
contributes(AttentionCapabilities.Selection, selection)
|
|
42
|
-
];
|
|
43
|
-
}
|
|
44
|
-
}),
|
|
45
|
-
defineModule({
|
|
46
|
-
id: `${meta.id}/module/react-context`,
|
|
47
|
-
activatesOn: Events.Startup,
|
|
48
|
-
activate: ReactContext
|
|
49
|
-
}),
|
|
50
|
-
defineModule({
|
|
51
|
-
id: `${meta.id}/module/keyboard`,
|
|
52
|
-
activatesOn: allOf(Events.AppGraphReady, AttentionEvents.AttentionReady),
|
|
53
|
-
activate: Keyboard
|
|
54
|
-
})
|
|
55
|
-
]);
|
|
56
|
-
var setupDevtools = (attention) => {
|
|
57
|
-
globalThis.composer ??= {};
|
|
58
|
-
globalThis.composer.attention = {
|
|
59
|
-
get manager() {
|
|
60
|
-
return attention;
|
|
61
|
-
},
|
|
62
|
-
get attended() {
|
|
63
|
-
return attention.current;
|
|
64
|
-
},
|
|
65
|
-
get currentSpace() {
|
|
66
|
-
for (const id of attention.current) {
|
|
67
|
-
const [spaceId, objectId] = id.split(":");
|
|
68
|
-
if (spaceId && objectId && spaceId.length === 33) {
|
|
69
|
-
return spaceId;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
export {
|
|
76
|
-
ATTENTION_PLUGIN,
|
|
77
|
-
AttentionCapabilities,
|
|
78
|
-
AttentionEvents,
|
|
79
|
-
AttentionPlugin,
|
|
80
|
-
meta
|
|
81
|
-
};
|
|
82
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/index.ts", "../../../src/AttentionPlugin.ts", "../../../src/capabilities/index.ts", "../../../src/events.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nexport * from '@dxos/react-ui-attention';\n\nexport * from './AttentionPlugin';\nexport { AttentionCapabilities } from './capabilities';\nexport * from './events';\nexport * from './meta';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineModule, definePlugin, Events, contributes, allOf } from '@dxos/app-framework';\nimport { AttentionManager, SelectionManager } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities, Keyboard, ReactContext } from './capabilities';\nimport { AttentionEvents } from './events';\nimport { meta } from './meta';\n\nexport const AttentionPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/attention`,\n activatesOn: Events.Startup,\n activatesAfter: [AttentionEvents.AttentionReady],\n activate: () => {\n const attention = new AttentionManager();\n const selection = new SelectionManager();\n setupDevtools(attention);\n return [\n contributes(AttentionCapabilities.Attention, attention),\n contributes(AttentionCapabilities.Selection, selection),\n ];\n },\n }),\n defineModule({\n id: `${meta.id}/module/react-context`,\n activatesOn: Events.Startup,\n activate: ReactContext,\n }),\n defineModule({\n id: `${meta.id}/module/keyboard`,\n activatesOn: allOf(Events.AppGraphReady, AttentionEvents.AttentionReady),\n activate: Keyboard,\n }),\n ]);\n\nconst setupDevtools = (attention: AttentionManager) => {\n (globalThis as any).composer ??= {};\n\n (globalThis as any).composer.attention = {\n get manager() {\n return attention;\n },\n get attended() {\n return attention.current;\n },\n get currentSpace() {\n for (const id of attention.current) {\n const [spaceId, objectId] = id.split(':');\n if (spaceId && objectId && spaceId.length === 33) {\n return spaceId;\n }\n }\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const Keyboard = lazy(() => import('./keyboard'));\nexport const ReactContext = lazy(() => import('./react-context'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { ATTENTION_PLUGIN } from './meta';\n\nexport namespace AttentionEvents {\n export const AttentionReady = defineEvent(`${ATTENTION_PLUGIN}/event/attention-ready`);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;AAIA,cAAc;;;ACAd,SAASA,cAAcC,cAAcC,QAAQC,aAAaC,aAAa;AACvE,SAASC,kBAAkBC,wBAAwB;;;ACDnD,SAASC,YAAY;AAEd,IAAMC,WAAWC,KAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAMC,eAAeD,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACH9C,SAASE,mBAAmB;UAIXC,kBAAAA;mBACFC,iBAAiBC,YAAY,GAAGC,gBAAAA,wBAAwC;AACvF,GAFiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;;;;AFGV,IAAMI,kBAAkB,MAC7BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,gBAAgB;MAACC,gBAAgBC;;IACjCC,UAAU,MAAA;AACR,YAAMC,YAAY,IAAIC,iBAAAA;AACtB,YAAMC,YAAY,IAAIC,iBAAAA;AACtBC,oBAAcJ,SAAAA;AACd,aAAO;QACLK,YAAYC,sBAAsBC,WAAWP,SAAAA;QAC7CK,YAAYC,sBAAsBE,WAAWN,SAAAA;;IAEjD;EACF,CAAA;EACAX,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBI,UAAUU;EACZ,CAAA;EACAlB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiB,MAAMhB,OAAOiB,eAAed,gBAAgBC,cAAc;IACvEC,UAAUa;EACZ,CAAA;CACD;AAEH,IAAMR,gBAAgB,CAACJ,cAAAA;AACpBa,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASd,YAAY;IACvC,IAAIe,UAAU;AACZ,aAAOf;IACT;IACA,IAAIgB,WAAW;AACb,aAAOhB,UAAUiB;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAW1B,MAAMQ,UAAUiB,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAY5B,GAAG6B,MAAM,GAAA;AACrC,YAAIF,WAAWC,YAAYD,QAAQG,WAAW,IAAI;AAChD,iBAAOH;QACT;MACF;IACF;EACF;AACF;",
|
|
6
|
-
"names": ["defineModule", "definePlugin", "Events", "contributes", "allOf", "AttentionManager", "SelectionManager", "lazy", "Keyboard", "lazy", "ReactContext", "defineEvent", "AttentionEvents", "AttentionReady", "defineEvent", "ATTENTION_PLUGIN", "AttentionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "Startup", "activatesAfter", "AttentionEvents", "AttentionReady", "activate", "attention", "AttentionManager", "selection", "SelectionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "Selection", "ReactContext", "allOf", "AppGraphReady", "Keyboard", "globalThis", "composer", "manager", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
|
|
7
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
AttentionCapabilities
|
|
4
|
-
} from "./chunk-SVV7GQYN.mjs";
|
|
5
|
-
|
|
6
|
-
// src/capabilities/keyboard.ts
|
|
7
|
-
import { effect } from "@preact/signals-core";
|
|
8
|
-
import { Option } from "effect";
|
|
9
|
-
import { Capabilities as AppCapabilities, contributes } from "@dxos/app-framework";
|
|
10
|
-
import { Keyboard } from "@dxos/keyboard";
|
|
11
|
-
var keyboard_default = (context) => {
|
|
12
|
-
const { graph } = context.getCapability(AppCapabilities.AppGraph);
|
|
13
|
-
const attention = context.getCapability(AttentionCapabilities.Attention);
|
|
14
|
-
const unsubscribe = effect(() => {
|
|
15
|
-
const id = Array.from(attention.current)[0];
|
|
16
|
-
const path = id && graph.getPath({
|
|
17
|
-
target: id
|
|
18
|
-
}).pipe(Option.getOrNull);
|
|
19
|
-
if (path) {
|
|
20
|
-
Keyboard.singleton.setCurrentContext(path.join("/"));
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
return contributes(AppCapabilities.Null, null, () => unsubscribe());
|
|
24
|
-
};
|
|
25
|
-
export {
|
|
26
|
-
keyboard_default as default
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=keyboard-GSUNGWNE.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/keyboard.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport { Option } from 'effect';\n\nimport { Capabilities as AppCapabilities, contributes, type PluginContext } from '@dxos/app-framework';\nimport { Keyboard } from '@dxos/keyboard';\n\nimport { AttentionCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const { graph } = context.getCapability(AppCapabilities.AppGraph);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n\n const unsubscribe = effect(() => {\n const id = Array.from(attention.current)[0];\n const path = id && graph.getPath({ target: id }).pipe(Option.getOrNull);\n if (path) {\n Keyboard.singleton.setCurrentContext(path.join('/'));\n }\n });\n\n return contributes(AppCapabilities.Null, null, () => unsubscribe());\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,SAASA,cAAc;AACvB,SAASC,cAAc;AAEvB,SAASC,gBAAgBC,iBAAiBC,mBAAuC;AACjF,SAASC,gBAAgB;AAIzB,IAAA,mBAAe,CAACC,YAAAA;AACd,QAAM,EAAEC,MAAK,IAAKD,QAAQE,cAAcC,gBAAgBC,QAAQ;AAChE,QAAMC,YAAYL,QAAQE,cAAcI,sBAAsBC,SAAS;AAEvE,QAAMC,cAAcC,OAAO,MAAA;AACzB,UAAMC,KAAKC,MAAMC,KAAKP,UAAUQ,OAAO,EAAE,CAAA;AACzC,UAAMC,OAAOJ,MAAMT,MAAMc,QAAQ;MAAEC,QAAQN;IAAG,CAAA,EAAGO,KAAKC,OAAOC,SAAS;AACtE,QAAIL,MAAM;AACRM,eAASC,UAAUC,kBAAkBR,KAAKS,KAAK,GAAA,CAAA;IACjD;EACF,CAAA;AAEA,SAAOC,YAAYrB,gBAAgBsB,MAAM,MAAM,MAAMjB,YAAAA,CAAAA;AACvD;",
|
|
6
|
-
"names": ["effect", "Option", "Capabilities", "AppCapabilities", "contributes", "Keyboard", "context", "graph", "getCapability", "AppCapabilities", "AppGraph", "attention", "AttentionCapabilities", "Attention", "unsubscribe", "effect", "id", "Array", "from", "current", "path", "getPath", "target", "pipe", "Option", "getOrNull", "Keyboard", "singleton", "setCurrentContext", "join", "contributes", "Null"]
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"inputs":{"src/meta.ts":{"bytes":949,"imports":[],"format":"esm"},"src/capabilities/capabilities.ts":{"bytes":1792,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/keyboard.ts":{"bytes":3527,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"src/capabilities/react-context.tsx":{"bytes":4182,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1098,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"src/events.ts":{"bytes":1238,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/AttentionPlugin.ts":{"bytes":6759,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/events.ts","kind":"import-statement","original":"./events"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/index.ts":{"bytes":971,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/events.ts","kind":"import-statement","original":"./events"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4623},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-SVV7GQYN.mjs","kind":"import-statement"},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/keyboard-GSUNGWNE.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/react-context-SVXVOSRH.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":42},"src/AttentionPlugin.ts":{"bytesInOutput":1435},"src/capabilities/index.ts":{"bytesInOutput":177},"src/events.ts":{"bytesInOutput":243}},"bytes":2337},"dist/lib/node-esm/keyboard-GSUNGWNE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1910},"dist/lib/node-esm/keyboard-GSUNGWNE.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-SVV7GQYN.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/keyboard.ts","inputs":{"src/capabilities/keyboard.ts":{"bytesInOutput":725}},"bytes":1003},"dist/lib/node-esm/react-context-SVXVOSRH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2099},"dist/lib/node-esm/react-context-SVXVOSRH.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-SVV7GQYN.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-context.tsx","inputs":{"src/capabilities/react-context.tsx":{"bytesInOutput":701}},"bytes":1015},"dist/lib/node-esm/chunk-SVV7GQYN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1281},"dist/lib/node-esm/chunk-SVV7GQYN.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":112},"src/capabilities/capabilities.ts":{"bytesInOutput":376}},"bytes":742}}}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/react-context.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type PropsWithChildren } from 'react';\n\nimport { Capabilities, contributes, useCapability } from '@dxos/app-framework';\nimport { RootAttentionProvider, SelectionProvider } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities } from './capabilities';\nimport { ATTENTION_PLUGIN } from '../meta';\n\nexport default () =>\n contributes(Capabilities.ReactContext, {\n id: ATTENTION_PLUGIN,\n context: (props: PropsWithChildren) => {\n const attention = useCapability(AttentionCapabilities.Attention);\n const selection = useCapability(AttentionCapabilities.Selection);\n\n return (\n <RootAttentionProvider\n attention={attention}\n onChange={(nextAttended) => {\n // TODO(Zan): Workout why this was in deck plugin. It didn't seem to work?\n // if (layout.values.scrollIntoView && nextAttended.has(layout.values.scrollIntoView)) {\n // layout.values.scrollIntoView = undefined;\n // }\n }}\n >\n <SelectionProvider selection={selection}>{props.children}</SelectionProvider>\n </RootAttentionProvider>\n );\n },\n });\n"],
|
|
5
|
-
"mappings": ";;;;;;;AAIA,OAAOA,WAAuC;AAE9C,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,uBAAuBC,yBAAyB;AAKzD,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,IAAIC;EACJC,SAAS,CAACC,UAAAA;AACR,UAAMC,YAAYC,cAAcC,sBAAsBC,SAAS;AAC/D,UAAMC,YAAYH,cAAcC,sBAAsBG,SAAS;AAE/D,WACE,sBAAA,cAACC,uBAAAA;MACCN;MACAO,UAAU,CAACC,iBAAAA;MAKX;OAEA,sBAAA,cAACC,mBAAAA;MAAkBL;OAAuBL,MAAMW,QAAQ,CAAA;EAG9D;AACF,CAAA;",
|
|
6
|
-
"names": ["React", "Capabilities", "contributes", "useCapability", "RootAttentionProvider", "SelectionProvider", "contributes", "Capabilities", "ReactContext", "id", "ATTENTION_PLUGIN", "context", "props", "attention", "useCapability", "AttentionCapabilities", "Attention", "selection", "Selection", "RootAttentionProvider", "onChange", "nextAttended", "SelectionProvider", "children"]
|
|
7
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type SelectionManager, type AttentionManager } from '@dxos/react-ui-attention';
|
|
2
|
-
export declare namespace AttentionCapabilities {
|
|
3
|
-
const Attention: import("@dxos/app-framework").InterfaceDef<AttentionManager>;
|
|
4
|
-
const Selection: import("@dxos/app-framework").InterfaceDef<SelectionManager>;
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/capabilities.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIxF,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,SAAS,8DAAiF,CAAC;IACjG,MAAM,SAAS,8DAAiF,CAAC;CACzG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAQA,yBAAiB,eAAe,CAAC;IACxB,MAAM,cAAc,+CAA2D,CAAC;CACxF"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { defineCapability } from '@dxos/app-framework';
|
|
6
|
-
import { type SelectionManager, type AttentionManager } from '@dxos/react-ui-attention';
|
|
7
|
-
|
|
8
|
-
import { ATTENTION_PLUGIN } from '../meta';
|
|
9
|
-
|
|
10
|
-
export namespace AttentionCapabilities {
|
|
11
|
-
export const Attention = defineCapability<AttentionManager>(`${ATTENTION_PLUGIN}/capability/attention`);
|
|
12
|
-
export const Selection = defineCapability<SelectionManager>(`${ATTENTION_PLUGIN}/capability/selection`);
|
|
13
|
-
}
|
package/src/events.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { defineEvent } from '@dxos/app-framework';
|
|
6
|
-
|
|
7
|
-
import { ATTENTION_PLUGIN } from './meta';
|
|
8
|
-
|
|
9
|
-
export namespace AttentionEvents {
|
|
10
|
-
export const AttentionReady = defineEvent(`${ATTENTION_PLUGIN}/event/attention-ready`);
|
|
11
|
-
}
|