@dxos/plugin-attention 0.7.5-main.9d2a38b → 0.7.5-main.c41020f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/lib/browser/{chunk-TBISRVXA.mjs → chunk-QGHCD7NY.mjs} +2 -1
  2. package/dist/lib/browser/{chunk-TBISRVXA.mjs.map → chunk-QGHCD7NY.mjs.map} +3 -3
  3. package/dist/lib/browser/index.mjs +9 -5
  4. package/dist/lib/browser/index.mjs.map +3 -3
  5. package/dist/lib/browser/{keyboard-QID5LXKS.mjs → keyboard-DOWPJCCR.mjs} +2 -2
  6. package/dist/lib/browser/meta.json +1 -1
  7. package/dist/lib/browser/react-context-VM7VC5YD.mjs +27 -0
  8. package/dist/lib/browser/react-context-VM7VC5YD.mjs.map +7 -0
  9. package/dist/lib/node/{chunk-5B4YWZQ5.cjs → chunk-5HIEAHDF.cjs} +5 -4
  10. package/dist/lib/node/{chunk-5B4YWZQ5.cjs.map → chunk-5HIEAHDF.cjs.map} +3 -3
  11. package/dist/lib/node/index.cjs +16 -12
  12. package/dist/lib/node/index.cjs.map +3 -3
  13. package/dist/lib/node/{keyboard-ZALVEHH3.cjs → keyboard-YGKVKJJI.cjs} +6 -6
  14. package/dist/lib/node/meta.json +1 -1
  15. package/dist/lib/node/{react-context-JOSQYVWS.cjs → react-context-L6PLLZNC.cjs} +11 -8
  16. package/dist/lib/node/react-context-L6PLLZNC.cjs.map +7 -0
  17. package/dist/lib/node-esm/{chunk-EMYCEZDW.mjs → chunk-6NERFJ2M.mjs} +2 -1
  18. package/dist/lib/node-esm/{chunk-EMYCEZDW.mjs.map → chunk-6NERFJ2M.mjs.map} +3 -3
  19. package/dist/lib/node-esm/index.mjs +9 -5
  20. package/dist/lib/node-esm/index.mjs.map +3 -3
  21. package/dist/lib/node-esm/{keyboard-SZNNVXFG.mjs → keyboard-JQ7DYGIG.mjs} +2 -2
  22. package/dist/lib/node-esm/meta.json +1 -1
  23. package/dist/lib/node-esm/{react-context-6RDXU5HM.mjs → react-context-5SBZKQ6J.mjs} +9 -6
  24. package/dist/lib/node-esm/react-context-5SBZKQ6J.mjs.map +7 -0
  25. package/dist/types/src/AttentionPlugin.d.ts.map +1 -1
  26. package/dist/types/src/capabilities/capabilities.d.ts +2 -1
  27. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  28. package/dist/types/src/capabilities/index.d.ts +3 -3
  29. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  30. package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
  31. package/package.json +7 -6
  32. package/src/AttentionPlugin.ts +6 -2
  33. package/src/capabilities/capabilities.ts +2 -1
  34. package/src/capabilities/react-context.tsx +5 -4
  35. package/dist/lib/browser/react-context-YJB443IX.mjs +0 -24
  36. package/dist/lib/browser/react-context-YJB443IX.mjs.map +0 -7
  37. package/dist/lib/node/react-context-JOSQYVWS.cjs.map +0 -7
  38. package/dist/lib/node-esm/react-context-6RDXU5HM.mjs.map +0 -7
  39. /package/dist/lib/browser/{keyboard-QID5LXKS.mjs.map → keyboard-DOWPJCCR.mjs.map} +0 -0
  40. /package/dist/lib/node/{keyboard-ZALVEHH3.cjs.map → keyboard-YGKVKJJI.cjs.map} +0 -0
  41. /package/dist/lib/node-esm/{keyboard-SZNNVXFG.mjs.map → keyboard-JQ7DYGIG.mjs.map} +0 -0
@@ -10,6 +10,7 @@ import { defineCapability } from "@dxos/app-framework";
10
10
  var AttentionCapabilities;
11
11
  (function(AttentionCapabilities2) {
12
12
  AttentionCapabilities2.Attention = defineCapability(`${ATTENTION_PLUGIN}/capability/attention`);
13
+ AttentionCapabilities2.Selection = defineCapability(`${ATTENTION_PLUGIN}/capability/selection`);
13
14
  })(AttentionCapabilities || (AttentionCapabilities = {}));
14
15
 
15
16
  export {
@@ -17,4 +18,4 @@ export {
17
18
  meta,
18
19
  AttentionCapabilities
19
20
  };
20
- //# sourceMappingURL=chunk-TBISRVXA.mjs.map
21
+ //# sourceMappingURL=chunk-QGHCD7NY.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 = {\n id: ATTENTION_PLUGIN,\n name: 'Attention',\n} satisfies PluginMeta;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { 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}\n"],
5
- "mappings": ";AAMO,IAAMA,mBAAmB;AAEzB,IAAMC,OAAO;EAClBC,IAAIF;EACJG,MAAM;AACR;;;ACPA,SAASC,wBAAwB;;UAKhBC,wBAAAA;yBACFC,YAAYC,iBAAmC,GAAGC,gBAAAA,uBAAuC;AACxG,GAFiBH,0BAAAA,wBAAAA,CAAAA,EAAAA;",
6
- "names": ["ATTENTION_PLUGIN", "meta", "id", "name", "defineCapability", "AttentionCapabilities", "Attention", "defineCapability", "ATTENTION_PLUGIN"]
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 = {\n id: ATTENTION_PLUGIN,\n name: 'Attention',\n} satisfies PluginMeta;\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,OAAO;EAClBC,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
7
  }
@@ -2,19 +2,19 @@ import {
2
2
  ATTENTION_PLUGIN,
3
3
  AttentionCapabilities,
4
4
  meta
5
- } from "./chunk-TBISRVXA.mjs";
5
+ } from "./chunk-QGHCD7NY.mjs";
6
6
 
7
7
  // packages/plugins/plugin-attention/src/index.ts
8
8
  export * from "@dxos/react-ui-attention";
9
9
 
10
10
  // packages/plugins/plugin-attention/src/AttentionPlugin.ts
11
11
  import { defineModule, definePlugin, Events, contributes, allOf } from "@dxos/app-framework";
12
- import { AttentionManager } from "@dxos/react-ui-attention";
12
+ import { AttentionManager, SelectionManager } from "@dxos/react-ui-attention";
13
13
 
14
14
  // packages/plugins/plugin-attention/src/capabilities/index.ts
15
15
  import { lazy } from "@dxos/app-framework";
16
- var Keyboard = lazy(() => import("./keyboard-QID5LXKS.mjs"));
17
- var ReactContext = lazy(() => import("./react-context-YJB443IX.mjs"));
16
+ var Keyboard = lazy(() => import("./keyboard-DOWPJCCR.mjs"));
17
+ var ReactContext = lazy(() => import("./react-context-VM7VC5YD.mjs"));
18
18
 
19
19
  // packages/plugins/plugin-attention/src/events.ts
20
20
  import { defineEvent } from "@dxos/app-framework";
@@ -33,8 +33,12 @@ var AttentionPlugin = () => definePlugin(meta, [
33
33
  ],
34
34
  activate: () => {
35
35
  const attention = new AttentionManager();
36
+ const selection = new SelectionManager();
36
37
  setupDevtools(attention);
37
- return contributes(AttentionCapabilities.Attention, attention);
38
+ return [
39
+ contributes(AttentionCapabilities.Attention, attention),
40
+ contributes(AttentionCapabilities.Selection, selection)
41
+ ];
38
42
  }
39
43
  }),
40
44
  defineModule({
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 } 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 setupDevtools(attention);\n return contributes(AttentionCapabilities.Attention, attention);\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 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,wBAAwB;;;ACDjC,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;AACtBC,oBAAcF,SAAAA;AACd,aAAOG,YAAYC,sBAAsBC,WAAWL,SAAAA;IACtD;EACF,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBI,UAAUO;EACZ,CAAA;EACAf,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAac,MAAMb,OAAOc,eAAeX,gBAAgBC,cAAc;IACvEC,UAAUU;EACZ,CAAA;CACD;AAEH,IAAMP,gBAAgB,CAACF,cAAAA;AACpBU,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASX,YAAY;IACvC,IAAIY,WAAW;AACb,aAAOZ,UAAUa;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAWtB,MAAMQ,UAAUa,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAYxB,GAAGyB,MAAM,GAAA;AACrC,YAAIF,WAAWC,YAAYD,QAAQG,WAAW,IAAI;AAChD,iBAAOH;QACT;MACF;IACF;EACF;AACF;",
6
- "names": ["defineModule", "definePlugin", "Events", "contributes", "allOf", "AttentionManager", "lazy", "Keyboard", "lazy", "ReactContext", "defineEvent", "AttentionEvents", "AttentionReady", "defineEvent", "ATTENTION_PLUGIN", "AttentionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "Startup", "activatesAfter", "AttentionEvents", "AttentionReady", "activate", "attention", "AttentionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "ReactContext", "allOf", "AppGraphReady", "Keyboard", "globalThis", "composer", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
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 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,WAAW;AACb,aAAOf,UAAUgB;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAWzB,MAAMQ,UAAUgB,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAY3B,GAAG4B,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", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AttentionCapabilities
3
- } from "./chunk-TBISRVXA.mjs";
3
+ } from "./chunk-QGHCD7NY.mjs";
4
4
 
5
5
  // packages/plugins/plugin-attention/src/capabilities/keyboard.ts
6
6
  import { effect } from "@preact/signals-core";
@@ -23,4 +23,4 @@ var keyboard_default = (context) => {
23
23
  export {
24
24
  keyboard_default as default
25
25
  };
26
- //# sourceMappingURL=keyboard-QID5LXKS.mjs.map
26
+ //# sourceMappingURL=keyboard-DOWPJCCR.mjs.map
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytes":1010,"imports":[],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytes":1497,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytes":3380,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytes":3768,"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":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytes":1147,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"packages/plugins/plugin-attention/src/events.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytes":6105,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/index.ts":{"bytes":1020,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-attention/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4212},"packages/plugins/plugin-attention/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/browser/chunk-TBISRVXA.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":"packages/plugins/plugin-attention/dist/lib/browser/keyboard-QID5LXKS.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-attention/dist/lib/browser/react-context-YJB443IX.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"packages/plugins/plugin-attention/src/index.ts","inputs":{"packages/plugins/plugin-attention/src/index.ts":{"bytesInOutput":42},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytesInOutput":1235},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytesInOutput":177},"packages/plugins/plugin-attention/src/events.ts":{"bytesInOutput":243}},"bytes":2215},"packages/plugins/plugin-attention/dist/lib/browser/keyboard-QID5LXKS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1788},"packages/plugins/plugin-attention/dist/lib/browser/keyboard-QID5LXKS.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/browser/chunk-TBISRVXA.mjs","kind":"import-statement"},{"path":"@preact/signals-core","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":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","inputs":{"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytesInOutput":677}},"bytes":897},"packages/plugins/plugin-attention/dist/lib/browser/react-context-YJB443IX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1851},"packages/plugins/plugin-attention/dist/lib/browser/react-context-YJB443IX.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/browser/chunk-TBISRVXA.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":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytesInOutput":553}},"bytes":809},"packages/plugins/plugin-attention/dist/lib/browser/chunk-TBISRVXA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1102},"packages/plugins/plugin-attention/dist/lib/browser/chunk-TBISRVXA.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytesInOutput":112},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytesInOutput":277}},"bytes":618}}}
1
+ {"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytes":1010,"imports":[],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytes":1857,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytes":3380,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytes":4255,"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":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytes":1147,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"packages/plugins/plugin-attention/src/events.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytes":6694,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/index.ts":{"bytes":1020,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-attention/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4523},"packages/plugins/plugin-attention/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/browser/chunk-QGHCD7NY.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":"packages/plugins/plugin-attention/dist/lib/browser/keyboard-DOWPJCCR.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-attention/dist/lib/browser/react-context-VM7VC5YD.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"packages/plugins/plugin-attention/src/index.ts","inputs":{"packages/plugins/plugin-attention/src/index.ts":{"bytesInOutput":42},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytesInOutput":1384},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytesInOutput":177},"packages/plugins/plugin-attention/src/events.ts":{"bytesInOutput":243}},"bytes":2364},"packages/plugins/plugin-attention/dist/lib/browser/keyboard-DOWPJCCR.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1788},"packages/plugins/plugin-attention/dist/lib/browser/keyboard-DOWPJCCR.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/browser/chunk-QGHCD7NY.mjs","kind":"import-statement"},{"path":"@preact/signals-core","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":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","inputs":{"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytesInOutput":677}},"bytes":897},"packages/plugins/plugin-attention/dist/lib/browser/react-context-VM7VC5YD.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2098},"packages/plugins/plugin-attention/dist/lib/browser/react-context-VM7VC5YD.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/browser/chunk-QGHCD7NY.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":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytesInOutput":701}},"bytes":957},"packages/plugins/plugin-attention/dist/lib/browser/chunk-QGHCD7NY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1287},"packages/plugins/plugin-attention/dist/lib/browser/chunk-QGHCD7NY.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytesInOutput":112},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytesInOutput":376}},"bytes":717}}}
@@ -0,0 +1,27 @@
1
+ import {
2
+ ATTENTION_PLUGIN,
3
+ AttentionCapabilities
4
+ } from "./chunk-QGHCD7NY.mjs";
5
+
6
+ // packages/plugins/plugin-attention/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-VM7VC5YD.mjs.map
@@ -0,0 +1,7 @@
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
+ }
@@ -16,13 +16,13 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_5B4YWZQ5_exports = {};
20
- __export(chunk_5B4YWZQ5_exports, {
19
+ var chunk_5HIEAHDF_exports = {};
20
+ __export(chunk_5HIEAHDF_exports, {
21
21
  ATTENTION_PLUGIN: () => ATTENTION_PLUGIN,
22
22
  AttentionCapabilities: () => AttentionCapabilities,
23
23
  meta: () => meta
24
24
  });
25
- module.exports = __toCommonJS(chunk_5B4YWZQ5_exports);
25
+ module.exports = __toCommonJS(chunk_5HIEAHDF_exports);
26
26
  var import_app_framework = require("@dxos/app-framework");
27
27
  var ATTENTION_PLUGIN = "dxos.org/plugin/attention";
28
28
  var meta = {
@@ -32,6 +32,7 @@ var meta = {
32
32
  var AttentionCapabilities;
33
33
  (function(AttentionCapabilities2) {
34
34
  AttentionCapabilities2.Attention = (0, import_app_framework.defineCapability)(`${ATTENTION_PLUGIN}/capability/attention`);
35
+ AttentionCapabilities2.Selection = (0, import_app_framework.defineCapability)(`${ATTENTION_PLUGIN}/capability/selection`);
35
36
  })(AttentionCapabilities || (AttentionCapabilities = {}));
36
37
  // Annotate the CommonJS export names for ESM import in node:
37
38
  0 && (module.exports = {
@@ -39,4 +40,4 @@ var AttentionCapabilities;
39
40
  AttentionCapabilities,
40
41
  meta
41
42
  });
42
- //# sourceMappingURL=chunk-5B4YWZQ5.cjs.map
43
+ //# sourceMappingURL=chunk-5HIEAHDF.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 = {\n id: ATTENTION_PLUGIN,\n name: 'Attention',\n} satisfies PluginMeta;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { 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}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;ACIA,2BAAiC;ADE1B,IAAMA,mBAAmB;AAEzB,IAAMC,OAAO;EAClBC,IAAIF;EACJG,MAAM;AACR;;UCFiBC,wBAAAA;yBACFC,gBAAYC,uCAAmC,GAAGN,gBAAAA,uBAAuC;AACxG,GAFiBI,0BAAAA,wBAAAA,CAAAA,EAAAA;",
6
- "names": ["ATTENTION_PLUGIN", "meta", "id", "name", "AttentionCapabilities", "Attention", "defineCapability"]
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 = {\n id: ATTENTION_PLUGIN,\n name: 'Attention',\n} satisfies PluginMeta;\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": ";;;;;;;;;;;;;;;;;;;;;;;;;ACIA,2BAAiC;ADE1B,IAAMA,mBAAmB;AAEzB,IAAMC,OAAO;EAClBC,IAAIF;EACJG,MAAM;AACR;;UCFiBC,wBAAAA;yBACFC,gBAAYC,uCAAmC,GAAGN,gBAAAA,uBAAuC;yBACzFO,gBAAYD,uCAAmC,GAAGN,gBAAAA,uBAAuC;AACxG,GAHiBI,0BAAAA,wBAAAA,CAAAA,EAAAA;",
6
+ "names": ["ATTENTION_PLUGIN", "meta", "id", "name", "AttentionCapabilities", "Attention", "defineCapability", "Selection"]
7
7
  }
@@ -29,45 +29,49 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
29
29
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
30
  var node_exports = {};
31
31
  __export(node_exports, {
32
- ATTENTION_PLUGIN: () => import_chunk_5B4YWZQ5.ATTENTION_PLUGIN,
33
- AttentionCapabilities: () => import_chunk_5B4YWZQ5.AttentionCapabilities,
32
+ ATTENTION_PLUGIN: () => import_chunk_5HIEAHDF.ATTENTION_PLUGIN,
33
+ AttentionCapabilities: () => import_chunk_5HIEAHDF.AttentionCapabilities,
34
34
  AttentionEvents: () => AttentionEvents,
35
35
  AttentionPlugin: () => AttentionPlugin,
36
- meta: () => import_chunk_5B4YWZQ5.meta
36
+ meta: () => import_chunk_5HIEAHDF.meta
37
37
  });
38
38
  module.exports = __toCommonJS(node_exports);
39
- var import_chunk_5B4YWZQ5 = require("./chunk-5B4YWZQ5.cjs");
39
+ var import_chunk_5HIEAHDF = require("./chunk-5HIEAHDF.cjs");
40
40
  __reExport(node_exports, require("@dxos/react-ui-attention"), module.exports);
41
41
  var import_app_framework = require("@dxos/app-framework");
42
42
  var import_react_ui_attention = require("@dxos/react-ui-attention");
43
43
  var import_app_framework2 = require("@dxos/app-framework");
44
44
  var import_app_framework3 = require("@dxos/app-framework");
45
- var Keyboard = (0, import_app_framework2.lazy)(() => import("./keyboard-ZALVEHH3.cjs"));
46
- var ReactContext = (0, import_app_framework2.lazy)(() => import("./react-context-JOSQYVWS.cjs"));
45
+ var Keyboard = (0, import_app_framework2.lazy)(() => import("./keyboard-YGKVKJJI.cjs"));
46
+ var ReactContext = (0, import_app_framework2.lazy)(() => import("./react-context-L6PLLZNC.cjs"));
47
47
  var AttentionEvents;
48
48
  (function(AttentionEvents2) {
49
- AttentionEvents2.AttentionReady = (0, import_app_framework3.defineEvent)(`${import_chunk_5B4YWZQ5.ATTENTION_PLUGIN}/event/attention-ready`);
49
+ AttentionEvents2.AttentionReady = (0, import_app_framework3.defineEvent)(`${import_chunk_5HIEAHDF.ATTENTION_PLUGIN}/event/attention-ready`);
50
50
  })(AttentionEvents || (AttentionEvents = {}));
51
- var AttentionPlugin = () => (0, import_app_framework.definePlugin)(import_chunk_5B4YWZQ5.meta, [
51
+ var AttentionPlugin = () => (0, import_app_framework.definePlugin)(import_chunk_5HIEAHDF.meta, [
52
52
  (0, import_app_framework.defineModule)({
53
- id: `${import_chunk_5B4YWZQ5.meta.id}/module/attention`,
53
+ id: `${import_chunk_5HIEAHDF.meta.id}/module/attention`,
54
54
  activatesOn: import_app_framework.Events.Startup,
55
55
  activatesAfter: [
56
56
  AttentionEvents.AttentionReady
57
57
  ],
58
58
  activate: () => {
59
59
  const attention = new import_react_ui_attention.AttentionManager();
60
+ const selection = new import_react_ui_attention.SelectionManager();
60
61
  setupDevtools(attention);
61
- return (0, import_app_framework.contributes)(import_chunk_5B4YWZQ5.AttentionCapabilities.Attention, attention);
62
+ return [
63
+ (0, import_app_framework.contributes)(import_chunk_5HIEAHDF.AttentionCapabilities.Attention, attention),
64
+ (0, import_app_framework.contributes)(import_chunk_5HIEAHDF.AttentionCapabilities.Selection, selection)
65
+ ];
62
66
  }
63
67
  }),
64
68
  (0, import_app_framework.defineModule)({
65
- id: `${import_chunk_5B4YWZQ5.meta.id}/module/react-context`,
69
+ id: `${import_chunk_5HIEAHDF.meta.id}/module/react-context`,
66
70
  activatesOn: import_app_framework.Events.Startup,
67
71
  activate: ReactContext
68
72
  }),
69
73
  (0, import_app_framework.defineModule)({
70
- id: `${import_chunk_5B4YWZQ5.meta.id}/module/keyboard`,
74
+ id: `${import_chunk_5HIEAHDF.meta.id}/module/keyboard`,
71
75
  activatesOn: (0, import_app_framework.allOf)(import_app_framework.Events.AppGraphReady, AttentionEvents.AttentionReady),
72
76
  activate: Keyboard
73
77
  })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 } 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 setupDevtools(attention);\n return contributes(AttentionCapabilities.Attention, attention);\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 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,yBAAc;ACAd,2BAAuE;AACvE,gCAAiC;ACDjC,IAAAA,wBAAqB;ACArB,IAAAA,wBAA4B;ADErB,IAAMC,eAAWC,4BAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAMC,mBAAeD,4BAAK,MAAM,OAAO,8BAAA,CAAA;;UCC7BE,kBAAAA;mBACFC,qBAAiBC,mCAAY,GAAGC,sCAAAA,wBAAwC;AACvF,GAFiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;AFGV,IAAMI,kBAAkB,UAC7BC,mCAAaC,4BAAM;MACjBC,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOC;IACpBC,gBAAgB;MAACZ,gBAAgBC;;IACjCY,UAAU,MAAA;AACR,YAAMC,YAAY,IAAIC,2CAAAA;AACtBC,oBAAcF,SAAAA;AACd,iBAAOG,kCAAYC,4CAAsBC,WAAWL,SAAAA;IACtD;EACF,CAAA;MACAP,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOC;IACpBE,UAAUd;EACZ,CAAA;MACAQ,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,iBAAaW,4BAAMV,4BAAOW,eAAerB,gBAAgBC,cAAc;IACvEY,UAAUhB;EACZ,CAAA;CACD;AAEH,IAAMmB,gBAAgB,CAACF,cAAAA;AACpBQ,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAAST,YAAY;IACvC,IAAIU,WAAW;AACb,aAAOV,UAAUW;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAWlB,MAAMM,UAAUW,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAYpB,GAAGqB,MAAM,GAAA;AACrC,YAAIF,WAAWC,YAAYD,QAAQG,WAAW,IAAI;AAChD,iBAAOH;QACT;MACF;IACF;EACF;AACF;",
6
- "names": ["import_app_framework", "Keyboard", "lazy", "ReactContext", "AttentionEvents", "AttentionReady", "defineEvent", "ATTENTION_PLUGIN", "AttentionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "Startup", "activatesAfter", "activate", "attention", "AttentionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "allOf", "AppGraphReady", "globalThis", "composer", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
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 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,yBAAc;ACAd,2BAAuE;AACvE,gCAAmD;ACDnD,IAAAA,wBAAqB;ACArB,IAAAA,wBAA4B;ADErB,IAAMC,eAAWC,4BAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAMC,mBAAeD,4BAAK,MAAM,OAAO,8BAAA,CAAA;;UCC7BE,kBAAAA;mBACFC,qBAAiBC,mCAAY,GAAGC,sCAAAA,wBAAwC;AACvF,GAFiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;AFGV,IAAMI,kBAAkB,UAC7BC,mCAAaC,4BAAM;MACjBC,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOC;IACpBC,gBAAgB;MAACZ,gBAAgBC;;IACjCY,UAAU,MAAA;AACR,YAAMC,YAAY,IAAIC,2CAAAA;AACtB,YAAMC,YAAY,IAAIC,2CAAAA;AACtBC,oBAAcJ,SAAAA;AACd,aAAO;YACLK,kCAAYC,4CAAsBC,WAAWP,SAAAA;YAC7CK,kCAAYC,4CAAsBE,WAAWN,SAAAA;;IAEjD;EACF,CAAA;MACAT,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOC;IACpBE,UAAUd;EACZ,CAAA;MACAQ,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,iBAAac,4BAAMb,4BAAOc,eAAexB,gBAAgBC,cAAc;IACvEY,UAAUhB;EACZ,CAAA;CACD;AAEH,IAAMqB,gBAAgB,CAACJ,cAAAA;AACpBW,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASZ,YAAY;IACvC,IAAIa,WAAW;AACb,aAAOb,UAAUc;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAWrB,MAAMM,UAAUc,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAYvB,GAAGwB,MAAM,GAAA;AACrC,YAAIF,WAAWC,YAAYD,QAAQG,WAAW,IAAI;AAChD,iBAAOH;QACT;MACF;IACF;EACF;AACF;",
6
+ "names": ["import_app_framework", "Keyboard", "lazy", "ReactContext", "AttentionEvents", "AttentionReady", "defineEvent", "ATTENTION_PLUGIN", "AttentionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "Startup", "activatesAfter", "activate", "attention", "AttentionManager", "selection", "SelectionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "Selection", "allOf", "AppGraphReady", "globalThis", "composer", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
7
7
  }
@@ -16,18 +16,18 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var keyboard_ZALVEHH3_exports = {};
20
- __export(keyboard_ZALVEHH3_exports, {
19
+ var keyboard_YGKVKJJI_exports = {};
20
+ __export(keyboard_YGKVKJJI_exports, {
21
21
  default: () => keyboard_default
22
22
  });
23
- module.exports = __toCommonJS(keyboard_ZALVEHH3_exports);
24
- var import_chunk_5B4YWZQ5 = require("./chunk-5B4YWZQ5.cjs");
23
+ module.exports = __toCommonJS(keyboard_YGKVKJJI_exports);
24
+ var import_chunk_5HIEAHDF = require("./chunk-5HIEAHDF.cjs");
25
25
  var import_signals_core = require("@preact/signals-core");
26
26
  var import_app_framework = require("@dxos/app-framework");
27
27
  var import_keyboard = require("@dxos/keyboard");
28
28
  var keyboard_default = (context) => {
29
29
  const { graph } = context.requestCapability(import_app_framework.Capabilities.AppGraph);
30
- const attention = context.requestCapability(import_chunk_5B4YWZQ5.AttentionCapabilities.Attention);
30
+ const attention = context.requestCapability(import_chunk_5HIEAHDF.AttentionCapabilities.Attention);
31
31
  const unsubscribe = (0, import_signals_core.effect)(() => {
32
32
  const id = Array.from(attention.current)[0];
33
33
  const path = id && graph.getPath({
@@ -39,4 +39,4 @@ var keyboard_default = (context) => {
39
39
  });
40
40
  return (0, import_app_framework.contributes)(import_app_framework.Capabilities.Null, null, () => unsubscribe());
41
41
  };
42
- //# sourceMappingURL=keyboard-ZALVEHH3.cjs.map
42
+ //# sourceMappingURL=keyboard-YGKVKJJI.cjs.map
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytes":1010,"imports":[],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytes":1497,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytes":3380,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytes":3768,"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":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytes":1147,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"packages/plugins/plugin-attention/src/events.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytes":6105,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/index.ts":{"bytes":1020,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-attention/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4212},"packages/plugins/plugin-attention/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node/chunk-5B4YWZQ5.cjs","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":"packages/plugins/plugin-attention/dist/lib/node/keyboard-ZALVEHH3.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-attention/dist/lib/node/react-context-JOSQYVWS.cjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"packages/plugins/plugin-attention/src/index.ts","inputs":{"packages/plugins/plugin-attention/src/index.ts":{"bytesInOutput":42},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytesInOutput":1235},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytesInOutput":177},"packages/plugins/plugin-attention/src/events.ts":{"bytesInOutput":243}},"bytes":2215},"packages/plugins/plugin-attention/dist/lib/node/keyboard-ZALVEHH3.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1788},"packages/plugins/plugin-attention/dist/lib/node/keyboard-ZALVEHH3.cjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node/chunk-5B4YWZQ5.cjs","kind":"import-statement"},{"path":"@preact/signals-core","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":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","inputs":{"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytesInOutput":677}},"bytes":897},"packages/plugins/plugin-attention/dist/lib/node/react-context-JOSQYVWS.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1851},"packages/plugins/plugin-attention/dist/lib/node/react-context-JOSQYVWS.cjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node/chunk-5B4YWZQ5.cjs","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":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytesInOutput":553}},"bytes":809},"packages/plugins/plugin-attention/dist/lib/node/chunk-5B4YWZQ5.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1102},"packages/plugins/plugin-attention/dist/lib/node/chunk-5B4YWZQ5.cjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytesInOutput":112},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytesInOutput":277}},"bytes":618}}}
1
+ {"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytes":1010,"imports":[],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytes":1857,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytes":3380,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytes":4255,"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":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytes":1147,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"packages/plugins/plugin-attention/src/events.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytes":6694,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/index.ts":{"bytes":1020,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-attention/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4523},"packages/plugins/plugin-attention/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node/chunk-5HIEAHDF.cjs","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":"packages/plugins/plugin-attention/dist/lib/node/keyboard-YGKVKJJI.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-attention/dist/lib/node/react-context-L6PLLZNC.cjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"packages/plugins/plugin-attention/src/index.ts","inputs":{"packages/plugins/plugin-attention/src/index.ts":{"bytesInOutput":42},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytesInOutput":1384},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytesInOutput":177},"packages/plugins/plugin-attention/src/events.ts":{"bytesInOutput":243}},"bytes":2364},"packages/plugins/plugin-attention/dist/lib/node/keyboard-YGKVKJJI.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1788},"packages/plugins/plugin-attention/dist/lib/node/keyboard-YGKVKJJI.cjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node/chunk-5HIEAHDF.cjs","kind":"import-statement"},{"path":"@preact/signals-core","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":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","inputs":{"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytesInOutput":677}},"bytes":897},"packages/plugins/plugin-attention/dist/lib/node/react-context-L6PLLZNC.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2098},"packages/plugins/plugin-attention/dist/lib/node/react-context-L6PLLZNC.cjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node/chunk-5HIEAHDF.cjs","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":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytesInOutput":701}},"bytes":957},"packages/plugins/plugin-attention/dist/lib/node/chunk-5HIEAHDF.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1287},"packages/plugins/plugin-attention/dist/lib/node/chunk-5HIEAHDF.cjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytesInOutput":112},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytesInOutput":376}},"bytes":717}}}
@@ -26,24 +26,27 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var react_context_JOSQYVWS_exports = {};
30
- __export(react_context_JOSQYVWS_exports, {
29
+ var react_context_L6PLLZNC_exports = {};
30
+ __export(react_context_L6PLLZNC_exports, {
31
31
  default: () => react_context_default
32
32
  });
33
- module.exports = __toCommonJS(react_context_JOSQYVWS_exports);
34
- var import_chunk_5B4YWZQ5 = require("./chunk-5B4YWZQ5.cjs");
33
+ module.exports = __toCommonJS(react_context_L6PLLZNC_exports);
34
+ var import_chunk_5HIEAHDF = require("./chunk-5HIEAHDF.cjs");
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_app_framework = require("@dxos/app-framework");
37
37
  var import_react_ui_attention = require("@dxos/react-ui-attention");
38
38
  var react_context_default = () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.ReactContext, {
39
- id: import_chunk_5B4YWZQ5.ATTENTION_PLUGIN,
39
+ id: import_chunk_5HIEAHDF.ATTENTION_PLUGIN,
40
40
  context: (props) => {
41
- const attention = (0, import_app_framework.useCapability)(import_chunk_5B4YWZQ5.AttentionCapabilities.Attention);
41
+ const attention = (0, import_app_framework.useCapability)(import_chunk_5HIEAHDF.AttentionCapabilities.Attention);
42
+ const selection = (0, import_app_framework.useCapability)(import_chunk_5HIEAHDF.AttentionCapabilities.Selection);
42
43
  return /* @__PURE__ */ import_react.default.createElement(import_react_ui_attention.RootAttentionProvider, {
43
44
  attention,
44
45
  onChange: (nextAttended) => {
45
46
  }
46
- }, props.children);
47
+ }, /* @__PURE__ */ import_react.default.createElement(import_react_ui_attention.SelectionProvider, {
48
+ selection
49
+ }, props.children));
47
50
  }
48
51
  });
49
- //# sourceMappingURL=react-context-JOSQYVWS.cjs.map
52
+ //# sourceMappingURL=react-context-L6PLLZNC.cjs.map
@@ -0,0 +1,7 @@
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,mBAA8C;AAE9C,2BAAyD;AACzD,gCAAyD;AAKzD,IAAA,wBAAe,UACbA,kCAAYC,kCAAaC,cAAc;EACrCC,IAAIC;EACJC,SAAS,CAACC,UAAAA;AACR,UAAMC,gBAAYC,oCAAcC,4CAAsBC,SAAS;AAC/D,UAAMC,gBAAYH,oCAAcC,4CAAsBG,SAAS;AAE/D,WACE,6BAAAC,QAAA,cAACC,iDAAAA;MACCP;MACAQ,UAAU,CAACC,iBAAAA;MAKX;OAEA,6BAAAH,QAAA,cAACI,6CAAAA;MAAkBN;OAAuBL,MAAMY,QAAQ,CAAA;EAG9D;AACF,CAAA;",
6
+ "names": ["contributes", "Capabilities", "ReactContext", "id", "ATTENTION_PLUGIN", "context", "props", "attention", "useCapability", "AttentionCapabilities", "Attention", "selection", "Selection", "React", "RootAttentionProvider", "onChange", "nextAttended", "SelectionProvider", "children"]
7
+ }
@@ -12,6 +12,7 @@ import { defineCapability } from "@dxos/app-framework";
12
12
  var AttentionCapabilities;
13
13
  (function(AttentionCapabilities2) {
14
14
  AttentionCapabilities2.Attention = defineCapability(`${ATTENTION_PLUGIN}/capability/attention`);
15
+ AttentionCapabilities2.Selection = defineCapability(`${ATTENTION_PLUGIN}/capability/selection`);
15
16
  })(AttentionCapabilities || (AttentionCapabilities = {}));
16
17
 
17
18
  export {
@@ -19,4 +20,4 @@ export {
19
20
  meta,
20
21
  AttentionCapabilities
21
22
  };
22
- //# sourceMappingURL=chunk-EMYCEZDW.mjs.map
23
+ //# sourceMappingURL=chunk-6NERFJ2M.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 = {\n id: ATTENTION_PLUGIN,\n name: 'Attention',\n} satisfies PluginMeta;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { 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}\n"],
5
- "mappings": ";;;AAMO,IAAMA,mBAAmB;AAEzB,IAAMC,OAAO;EAClBC,IAAIF;EACJG,MAAM;AACR;;;ACPA,SAASC,wBAAwB;;UAKhBC,wBAAAA;yBACFC,YAAYC,iBAAmC,GAAGC,gBAAAA,uBAAuC;AACxG,GAFiBH,0BAAAA,wBAAAA,CAAAA,EAAAA;",
6
- "names": ["ATTENTION_PLUGIN", "meta", "id", "name", "defineCapability", "AttentionCapabilities", "Attention", "defineCapability", "ATTENTION_PLUGIN"]
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 = {\n id: ATTENTION_PLUGIN,\n name: 'Attention',\n} satisfies PluginMeta;\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,OAAO;EAClBC,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
7
  }
@@ -3,19 +3,19 @@ import {
3
3
  ATTENTION_PLUGIN,
4
4
  AttentionCapabilities,
5
5
  meta
6
- } from "./chunk-EMYCEZDW.mjs";
6
+ } from "./chunk-6NERFJ2M.mjs";
7
7
 
8
8
  // packages/plugins/plugin-attention/src/index.ts
9
9
  export * from "@dxos/react-ui-attention";
10
10
 
11
11
  // packages/plugins/plugin-attention/src/AttentionPlugin.ts
12
12
  import { defineModule, definePlugin, Events, contributes, allOf } from "@dxos/app-framework";
13
- import { AttentionManager } from "@dxos/react-ui-attention";
13
+ import { AttentionManager, SelectionManager } from "@dxos/react-ui-attention";
14
14
 
15
15
  // packages/plugins/plugin-attention/src/capabilities/index.ts
16
16
  import { lazy } from "@dxos/app-framework";
17
- var Keyboard = lazy(() => import("./keyboard-SZNNVXFG.mjs"));
18
- var ReactContext = lazy(() => import("./react-context-6RDXU5HM.mjs"));
17
+ var Keyboard = lazy(() => import("./keyboard-JQ7DYGIG.mjs"));
18
+ var ReactContext = lazy(() => import("./react-context-5SBZKQ6J.mjs"));
19
19
 
20
20
  // packages/plugins/plugin-attention/src/events.ts
21
21
  import { defineEvent } from "@dxos/app-framework";
@@ -34,8 +34,12 @@ var AttentionPlugin = () => definePlugin(meta, [
34
34
  ],
35
35
  activate: () => {
36
36
  const attention = new AttentionManager();
37
+ const selection = new SelectionManager();
37
38
  setupDevtools(attention);
38
- return contributes(AttentionCapabilities.Attention, attention);
39
+ return [
40
+ contributes(AttentionCapabilities.Attention, attention),
41
+ contributes(AttentionCapabilities.Selection, selection)
42
+ ];
39
43
  }
40
44
  }),
41
45
  defineModule({
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 } 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 setupDevtools(attention);\n return contributes(AttentionCapabilities.Attention, attention);\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 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,wBAAwB;;;ACDjC,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;AACtBC,oBAAcF,SAAAA;AACd,aAAOG,YAAYC,sBAAsBC,WAAWL,SAAAA;IACtD;EACF,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBI,UAAUO;EACZ,CAAA;EACAf,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAac,MAAMb,OAAOc,eAAeX,gBAAgBC,cAAc;IACvEC,UAAUU;EACZ,CAAA;CACD;AAEH,IAAMP,gBAAgB,CAACF,cAAAA;AACpBU,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASX,YAAY;IACvC,IAAIY,WAAW;AACb,aAAOZ,UAAUa;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAWtB,MAAMQ,UAAUa,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAYxB,GAAGyB,MAAM,GAAA;AACrC,YAAIF,WAAWC,YAAYD,QAAQG,WAAW,IAAI;AAChD,iBAAOH;QACT;MACF;IACF;EACF;AACF;",
6
- "names": ["defineModule", "definePlugin", "Events", "contributes", "allOf", "AttentionManager", "lazy", "Keyboard", "lazy", "ReactContext", "defineEvent", "AttentionEvents", "AttentionReady", "defineEvent", "ATTENTION_PLUGIN", "AttentionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "Startup", "activatesAfter", "AttentionEvents", "AttentionReady", "activate", "attention", "AttentionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "ReactContext", "allOf", "AppGraphReady", "Keyboard", "globalThis", "composer", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
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 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,WAAW;AACb,aAAOf,UAAUgB;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAWzB,MAAMQ,UAAUgB,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAY3B,GAAG4B,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", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  AttentionCapabilities
4
- } from "./chunk-EMYCEZDW.mjs";
4
+ } from "./chunk-6NERFJ2M.mjs";
5
5
 
6
6
  // packages/plugins/plugin-attention/src/capabilities/keyboard.ts
7
7
  import { effect } from "@preact/signals-core";
@@ -24,4 +24,4 @@ var keyboard_default = (context) => {
24
24
  export {
25
25
  keyboard_default as default
26
26
  };
27
- //# sourceMappingURL=keyboard-SZNNVXFG.mjs.map
27
+ //# sourceMappingURL=keyboard-JQ7DYGIG.mjs.map
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytes":1010,"imports":[],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytes":1497,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytes":3380,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytes":3768,"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":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytes":1147,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"packages/plugins/plugin-attention/src/events.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytes":6105,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/index.ts":{"bytes":1020,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-attention/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4213},"packages/plugins/plugin-attention/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-EMYCEZDW.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":"packages/plugins/plugin-attention/dist/lib/node-esm/keyboard-SZNNVXFG.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/react-context-6RDXU5HM.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"packages/plugins/plugin-attention/src/index.ts","inputs":{"packages/plugins/plugin-attention/src/index.ts":{"bytesInOutput":42},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytesInOutput":1235},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytesInOutput":177},"packages/plugins/plugin-attention/src/events.ts":{"bytesInOutput":243}},"bytes":2307},"packages/plugins/plugin-attention/dist/lib/node-esm/keyboard-SZNNVXFG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1789},"packages/plugins/plugin-attention/dist/lib/node-esm/keyboard-SZNNVXFG.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-EMYCEZDW.mjs","kind":"import-statement"},{"path":"@preact/signals-core","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":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","inputs":{"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytesInOutput":677}},"bytes":989},"packages/plugins/plugin-attention/dist/lib/node-esm/react-context-6RDXU5HM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1852},"packages/plugins/plugin-attention/dist/lib/node-esm/react-context-6RDXU5HM.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-EMYCEZDW.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":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytesInOutput":553}},"bytes":901},"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-EMYCEZDW.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1104},"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-EMYCEZDW.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytesInOutput":112},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytesInOutput":277}},"bytes":711}}}
1
+ {"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytes":1010,"imports":[],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytes":1857,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytes":3380,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytes":4255,"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":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytes":1147,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"packages/plugins/plugin-attention/src/events.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytes":6694,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/index.ts":{"bytes":1020,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-attention/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4524},"packages/plugins/plugin-attention/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-6NERFJ2M.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":"packages/plugins/plugin-attention/dist/lib/node-esm/keyboard-JQ7DYGIG.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/react-context-5SBZKQ6J.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"packages/plugins/plugin-attention/src/index.ts","inputs":{"packages/plugins/plugin-attention/src/index.ts":{"bytesInOutput":42},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytesInOutput":1384},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytesInOutput":177},"packages/plugins/plugin-attention/src/events.ts":{"bytesInOutput":243}},"bytes":2456},"packages/plugins/plugin-attention/dist/lib/node-esm/keyboard-JQ7DYGIG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1789},"packages/plugins/plugin-attention/dist/lib/node-esm/keyboard-JQ7DYGIG.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-6NERFJ2M.mjs","kind":"import-statement"},{"path":"@preact/signals-core","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":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","inputs":{"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytesInOutput":677}},"bytes":989},"packages/plugins/plugin-attention/dist/lib/node-esm/react-context-5SBZKQ6J.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2099},"packages/plugins/plugin-attention/dist/lib/node-esm/react-context-5SBZKQ6J.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-6NERFJ2M.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":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytesInOutput":701}},"bytes":1049},"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-6NERFJ2M.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1289},"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-6NERFJ2M.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytesInOutput":112},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytesInOutput":376}},"bytes":810}}}
@@ -2,24 +2,27 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  ATTENTION_PLUGIN,
4
4
  AttentionCapabilities
5
- } from "./chunk-EMYCEZDW.mjs";
5
+ } from "./chunk-6NERFJ2M.mjs";
6
6
 
7
7
  // packages/plugins/plugin-attention/src/capabilities/react-context.tsx
8
8
  import React from "react";
9
- import { Capabilities as AppCapabilities, contributes, useCapability } from "@dxos/app-framework";
10
- import { RootAttentionProvider } from "@dxos/react-ui-attention";
11
- var react_context_default = () => contributes(AppCapabilities.ReactContext, {
9
+ import { Capabilities, contributes, useCapability } from "@dxos/app-framework";
10
+ import { RootAttentionProvider, SelectionProvider } from "@dxos/react-ui-attention";
11
+ var react_context_default = () => contributes(Capabilities.ReactContext, {
12
12
  id: ATTENTION_PLUGIN,
13
13
  context: (props) => {
14
14
  const attention = useCapability(AttentionCapabilities.Attention);
15
+ const selection = useCapability(AttentionCapabilities.Selection);
15
16
  return /* @__PURE__ */ React.createElement(RootAttentionProvider, {
16
17
  attention,
17
18
  onChange: (nextAttended) => {
18
19
  }
19
- }, props.children);
20
+ }, /* @__PURE__ */ React.createElement(SelectionProvider, {
21
+ selection
22
+ }, props.children));
20
23
  }
21
24
  });
22
25
  export {
23
26
  react_context_default as default
24
27
  };
25
- //# sourceMappingURL=react-context-6RDXU5HM.mjs.map
28
+ //# sourceMappingURL=react-context-5SBZKQ6J.mjs.map
@@ -0,0 +1,7 @@
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 +1 @@
1
- {"version":3,"file":"AttentionPlugin.d.ts","sourceRoot":"","sources":["../../../src/AttentionPlugin.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,eAAe,4CAsBxB,CAAC"}
1
+ {"version":3,"file":"AttentionPlugin.d.ts","sourceRoot":"","sources":["../../../src/AttentionPlugin.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,eAAe,4CA0BxB,CAAC"}
@@ -1,5 +1,6 @@
1
- import { type AttentionManager } from '@dxos/react-ui-attention';
1
+ import { type SelectionManager, type AttentionManager } from '@dxos/react-ui-attention';
2
2
  export declare namespace AttentionCapabilities {
3
3
  const Attention: import("@dxos/app-framework").InterfaceDef<AttentionManager>;
4
+ const Selection: import("@dxos/app-framework").InterfaceDef<SelectionManager>;
4
5
  }
5
6
  //# sourceMappingURL=capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/capabilities.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,SAAS,8DAAiF,CAAC;CACzG"}
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,8 +1,8 @@
1
- export declare const Keyboard: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<import("@dxos/app-framework").Capability<null>>;
2
- export declare const ReactContext: (props?: unknown) => Promise<import("@dxos/app-framework").Capability<Readonly<{
1
+ export declare const Keyboard: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<null> | import("@dxos/app-framework").AnyCapability[]>>;
2
+ export declare const ReactContext: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<Readonly<{
3
3
  id: string;
4
4
  dependsOn?: string[];
5
5
  context: import("react").FC<import("react").PropsWithChildren>;
6
- }>>>;
6
+ }>> | import("@dxos/app-framework").AnyCapability[]>>;
7
7
  export * from './capabilities';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,QAAQ,+HAAmC,CAAC;AACzD,eAAO,MAAM,YAAY;;;;IAAwC,CAAC;AAElE,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,QAAQ,8LAAmC,CAAC;AACzD,eAAO,MAAM,YAAY;;;;qDAAwC,CAAC;AAElE,cAAc,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-context.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-context.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;;;;;;AAQtD,wBAoBK"}
1
+ {"version":3,"file":"react-context.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-context.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;;;;;;AAQtD,wBAqBK"}
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@dxos/plugin-attention",
3
- "version": "0.7.5-main.9d2a38b",
3
+ "version": "0.7.5-main.c41020f",
4
4
  "description": "Plugin for attention",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
7
  "license": "MIT",
8
8
  "author": "DXOS.org",
9
9
  "sideEffects": true,
10
+ "type": "module",
10
11
  "exports": {
11
12
  ".": {
12
13
  "types": "./dist/types/src/index.d.ts",
@@ -24,11 +25,11 @@
24
25
  ],
25
26
  "dependencies": {
26
27
  "@preact/signals-core": "^1.6.0",
27
- "@dxos/app-framework": "0.7.5-main.9d2a38b",
28
- "@dxos/echo-schema": "0.7.5-main.9d2a38b",
29
- "@dxos/keyboard": "0.7.5-main.9d2a38b",
30
- "@dxos/echo-signals": "0.7.5-main.9d2a38b",
31
- "@dxos/react-ui-attention": "0.7.5-main.9d2a38b"
28
+ "@dxos/app-framework": "0.7.5-main.c41020f",
29
+ "@dxos/echo-schema": "0.7.5-main.c41020f",
30
+ "@dxos/echo-signals": "0.7.5-main.c41020f",
31
+ "@dxos/keyboard": "0.7.5-main.c41020f",
32
+ "@dxos/react-ui-attention": "0.7.5-main.c41020f"
32
33
  },
33
34
  "devDependencies": {
34
35
  "@types/react": "~18.2.0",
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { defineModule, definePlugin, Events, contributes, allOf } from '@dxos/app-framework';
6
- import { AttentionManager } from '@dxos/react-ui-attention';
6
+ import { AttentionManager, SelectionManager } from '@dxos/react-ui-attention';
7
7
 
8
8
  import { AttentionCapabilities, Keyboard, ReactContext } from './capabilities';
9
9
  import { AttentionEvents } from './events';
@@ -17,8 +17,12 @@ export const AttentionPlugin = () =>
17
17
  activatesAfter: [AttentionEvents.AttentionReady],
18
18
  activate: () => {
19
19
  const attention = new AttentionManager();
20
+ const selection = new SelectionManager();
20
21
  setupDevtools(attention);
21
- return contributes(AttentionCapabilities.Attention, attention);
22
+ return [
23
+ contributes(AttentionCapabilities.Attention, attention),
24
+ contributes(AttentionCapabilities.Selection, selection),
25
+ ];
22
26
  },
23
27
  }),
24
28
  defineModule({
@@ -3,10 +3,11 @@
3
3
  //
4
4
 
5
5
  import { defineCapability } from '@dxos/app-framework';
6
- import { type AttentionManager } from '@dxos/react-ui-attention';
6
+ import { type SelectionManager, type AttentionManager } from '@dxos/react-ui-attention';
7
7
 
8
8
  import { ATTENTION_PLUGIN } from '../meta';
9
9
 
10
10
  export namespace AttentionCapabilities {
11
11
  export const Attention = defineCapability<AttentionManager>(`${ATTENTION_PLUGIN}/capability/attention`);
12
+ export const Selection = defineCapability<SelectionManager>(`${ATTENTION_PLUGIN}/capability/selection`);
12
13
  }
@@ -4,17 +4,18 @@
4
4
 
5
5
  import React, { type PropsWithChildren } from 'react';
6
6
 
7
- import { Capabilities as AppCapabilities, contributes, useCapability } from '@dxos/app-framework';
8
- import { RootAttentionProvider } from '@dxos/react-ui-attention';
7
+ import { Capabilities, contributes, useCapability } from '@dxos/app-framework';
8
+ import { RootAttentionProvider, SelectionProvider } from '@dxos/react-ui-attention';
9
9
 
10
10
  import { AttentionCapabilities } from './capabilities';
11
11
  import { ATTENTION_PLUGIN } from '../meta';
12
12
 
13
13
  export default () =>
14
- contributes(AppCapabilities.ReactContext, {
14
+ contributes(Capabilities.ReactContext, {
15
15
  id: ATTENTION_PLUGIN,
16
16
  context: (props: PropsWithChildren) => {
17
17
  const attention = useCapability(AttentionCapabilities.Attention);
18
+ const selection = useCapability(AttentionCapabilities.Selection);
18
19
 
19
20
  return (
20
21
  <RootAttentionProvider
@@ -26,7 +27,7 @@ export default () =>
26
27
  // }
27
28
  }}
28
29
  >
29
- {props.children}
30
+ <SelectionProvider selection={selection}>{props.children}</SelectionProvider>
30
31
  </RootAttentionProvider>
31
32
  );
32
33
  },
@@ -1,24 +0,0 @@
1
- import {
2
- ATTENTION_PLUGIN,
3
- AttentionCapabilities
4
- } from "./chunk-TBISRVXA.mjs";
5
-
6
- // packages/plugins/plugin-attention/src/capabilities/react-context.tsx
7
- import React from "react";
8
- import { Capabilities as AppCapabilities, contributes, useCapability } from "@dxos/app-framework";
9
- import { RootAttentionProvider } from "@dxos/react-ui-attention";
10
- var react_context_default = () => contributes(AppCapabilities.ReactContext, {
11
- id: ATTENTION_PLUGIN,
12
- context: (props) => {
13
- const attention = useCapability(AttentionCapabilities.Attention);
14
- return /* @__PURE__ */ React.createElement(RootAttentionProvider, {
15
- attention,
16
- onChange: (nextAttended) => {
17
- }
18
- }, props.children);
19
- }
20
- });
21
- export {
22
- react_context_default as default
23
- };
24
- //# sourceMappingURL=react-context-YJB443IX.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 as AppCapabilities, contributes, useCapability } from '@dxos/app-framework';\nimport { RootAttentionProvider } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities } from './capabilities';\nimport { ATTENTION_PLUGIN } from '../meta';\n\nexport default () =>\n contributes(AppCapabilities.ReactContext, {\n id: ATTENTION_PLUGIN,\n context: (props: PropsWithChildren) => {\n const attention = useCapability(AttentionCapabilities.Attention);\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 {props.children}\n </RootAttentionProvider>\n );\n },\n });\n"],
5
- "mappings": ";;;;;;AAIA,OAAOA,WAAuC;AAE9C,SAASC,gBAAgBC,iBAAiBC,aAAaC,qBAAqB;AAC5E,SAASC,6BAA6B;AAKtC,IAAA,wBAAe,MACbC,YAAYC,gBAAgBC,cAAc;EACxCC,IAAIC;EACJC,SAAS,CAACC,UAAAA;AACR,UAAMC,YAAYC,cAAcC,sBAAsBC,SAAS;AAE/D,WACE,sBAAA,cAACC,uBAAAA;MACCJ;MACAK,UAAU,CAACC,iBAAAA;MAKX;OAECP,MAAMQ,QAAQ;EAGrB;AACF,CAAA;",
6
- "names": ["React", "Capabilities", "AppCapabilities", "contributes", "useCapability", "RootAttentionProvider", "contributes", "AppCapabilities", "ReactContext", "id", "ATTENTION_PLUGIN", "context", "props", "attention", "useCapability", "AttentionCapabilities", "Attention", "RootAttentionProvider", "onChange", "nextAttended", "children"]
7
- }
@@ -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 as AppCapabilities, contributes, useCapability } from '@dxos/app-framework';\nimport { RootAttentionProvider } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities } from './capabilities';\nimport { ATTENTION_PLUGIN } from '../meta';\n\nexport default () =>\n contributes(AppCapabilities.ReactContext, {\n id: ATTENTION_PLUGIN,\n context: (props: PropsWithChildren) => {\n const attention = useCapability(AttentionCapabilities.Attention);\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 {props.children}\n </RootAttentionProvider>\n );\n },\n });\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAA8C;AAE9C,2BAA4E;AAC5E,gCAAsC;AAKtC,IAAA,wBAAe,UACbA,kCAAYC,qBAAAA,aAAgBC,cAAc;EACxCC,IAAIC;EACJC,SAAS,CAACC,UAAAA;AACR,UAAMC,gBAAYC,oCAAcC,4CAAsBC,SAAS;AAE/D,WACE,6BAAAC,QAAA,cAACC,iDAAAA;MACCL;MACAM,UAAU,CAACC,iBAAAA;MAKX;OAECR,MAAMS,QAAQ;EAGrB;AACF,CAAA;",
6
- "names": ["contributes", "AppCapabilities", "ReactContext", "id", "ATTENTION_PLUGIN", "context", "props", "attention", "useCapability", "AttentionCapabilities", "Attention", "React", "RootAttentionProvider", "onChange", "nextAttended", "children"]
7
- }
@@ -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 as AppCapabilities, contributes, useCapability } from '@dxos/app-framework';\nimport { RootAttentionProvider } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities } from './capabilities';\nimport { ATTENTION_PLUGIN } from '../meta';\n\nexport default () =>\n contributes(AppCapabilities.ReactContext, {\n id: ATTENTION_PLUGIN,\n context: (props: PropsWithChildren) => {\n const attention = useCapability(AttentionCapabilities.Attention);\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 {props.children}\n </RootAttentionProvider>\n );\n },\n });\n"],
5
- "mappings": ";;;;;;;AAIA,OAAOA,WAAuC;AAE9C,SAASC,gBAAgBC,iBAAiBC,aAAaC,qBAAqB;AAC5E,SAASC,6BAA6B;AAKtC,IAAA,wBAAe,MACbC,YAAYC,gBAAgBC,cAAc;EACxCC,IAAIC;EACJC,SAAS,CAACC,UAAAA;AACR,UAAMC,YAAYC,cAAcC,sBAAsBC,SAAS;AAE/D,WACE,sBAAA,cAACC,uBAAAA;MACCJ;MACAK,UAAU,CAACC,iBAAAA;MAKX;OAECP,MAAMQ,QAAQ;EAGrB;AACF,CAAA;",
6
- "names": ["React", "Capabilities", "AppCapabilities", "contributes", "useCapability", "RootAttentionProvider", "contributes", "AppCapabilities", "ReactContext", "id", "ATTENTION_PLUGIN", "context", "props", "attention", "useCapability", "AttentionCapabilities", "Attention", "RootAttentionProvider", "onChange", "nextAttended", "children"]
7
- }