@eclipse-docks/extension-canvas 0.0.0-stage → 0.8.0

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 (99) hide show
  1. package/dist/_virtual/_@oxc-project_runtime@0.152.0/helpers/esm/decorate.js +9 -0
  2. package/dist/active-canvas.d.ts +13 -0
  3. package/dist/active-canvas.d.ts.map +1 -0
  4. package/dist/active-canvas.js +23 -0
  5. package/dist/active-canvas.js.map +1 -0
  6. package/dist/bridges/core.d.ts +2 -0
  7. package/dist/bridges/core.d.ts.map +1 -0
  8. package/dist/bridges/core.js +9 -0
  9. package/dist/bridges/core.js.map +1 -0
  10. package/dist/bridges/events.d.ts +2 -0
  11. package/dist/bridges/events.d.ts.map +1 -0
  12. package/dist/bridges/events.js +9 -0
  13. package/dist/bridges/events.js.map +1 -0
  14. package/dist/bridges/lit.d.ts +2 -0
  15. package/dist/bridges/lit.d.ts.map +1 -0
  16. package/dist/bridges/lit.js +9 -0
  17. package/dist/bridges/lit.js.map +1 -0
  18. package/dist/bridges/parts.d.ts +2 -0
  19. package/dist/bridges/parts.d.ts.map +1 -0
  20. package/dist/bridges/parts.js +9 -0
  21. package/dist/bridges/parts.js.map +1 -0
  22. package/dist/bridges/register.d.ts +9 -0
  23. package/dist/bridges/register.d.ts.map +1 -0
  24. package/dist/bridges/register.js +13 -0
  25. package/dist/bridges/register.js.map +1 -0
  26. package/dist/bridges/third-party.d.ts +2 -0
  27. package/dist/bridges/third-party.d.ts.map +1 -0
  28. package/dist/bridges/third-party.js +9 -0
  29. package/dist/bridges/third-party.js.map +1 -0
  30. package/dist/bridges/urls.d.ts +3 -0
  31. package/dist/bridges/urls.d.ts.map +1 -0
  32. package/dist/bridges/urls.js +27 -0
  33. package/dist/bridges/urls.js.map +1 -0
  34. package/dist/bridges/webawesome.d.ts +2 -0
  35. package/dist/bridges/webawesome.d.ts.map +1 -0
  36. package/dist/bridges/webawesome.js +9 -0
  37. package/dist/bridges/webawesome.js.map +1 -0
  38. package/dist/bridges/widgets.d.ts +2 -0
  39. package/dist/bridges/widgets.d.ts.map +1 -0
  40. package/dist/bridges/widgets.js +9 -0
  41. package/dist/bridges/widgets.js.map +1 -0
  42. package/dist/canvas-editor.d.ts +61 -0
  43. package/dist/canvas-editor.d.ts.map +1 -0
  44. package/dist/canvas-editor.js +276 -0
  45. package/dist/canvas-editor.js.map +1 -0
  46. package/dist/canvas-extension.d.ts +1 -0
  47. package/dist/canvas-extension.d.ts.map +1 -0
  48. package/dist/canvas-extension.js +48 -0
  49. package/dist/canvas-extension.js.map +1 -0
  50. package/dist/canvas-switcher.d.ts +11 -0
  51. package/dist/canvas-switcher.d.ts.map +1 -0
  52. package/dist/canvas-switcher.js +59 -0
  53. package/dist/canvas-switcher.js.map +1 -0
  54. package/dist/canvas-tools.d.ts +4 -0
  55. package/dist/canvas-tools.d.ts.map +1 -0
  56. package/dist/canvas-tools.js +30 -0
  57. package/dist/canvas-tools.js.map +1 -0
  58. package/dist/canvases.d.ts +3 -0
  59. package/dist/canvases.d.ts.map +1 -0
  60. package/dist/canvases.js +10 -0
  61. package/dist/canvases.js.map +1 -0
  62. package/dist/commands.d.ts +9 -0
  63. package/dist/commands.d.ts.map +1 -0
  64. package/dist/commands.js +255 -0
  65. package/dist/commands.js.map +1 -0
  66. package/dist/compile.d.ts +31 -0
  67. package/dist/compile.d.ts.map +1 -0
  68. package/dist/compile.js +398 -0
  69. package/dist/compile.js.map +1 -0
  70. package/dist/contribution.d.ts +30 -0
  71. package/dist/contribution.d.ts.map +1 -0
  72. package/dist/contribution.js +10 -0
  73. package/dist/contribution.js.map +1 -0
  74. package/dist/help.d.ts +3 -0
  75. package/dist/help.d.ts.map +1 -0
  76. package/dist/help.js +19 -0
  77. package/dist/help.js.map +1 -0
  78. package/dist/host.d.ts +11 -0
  79. package/dist/host.d.ts.map +1 -0
  80. package/dist/host.js +63 -0
  81. package/dist/host.js.map +1 -0
  82. package/dist/i18n.de.js +11 -0
  83. package/dist/i18n.de.js.map +1 -0
  84. package/dist/i18n.en.js +11 -0
  85. package/dist/i18n.en.js.map +1 -0
  86. package/dist/index.d.ts +2 -0
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/index.js +20 -0
  89. package/dist/index.js.map +1 -0
  90. package/dist/mount.d.ts +15 -0
  91. package/dist/mount.d.ts.map +1 -0
  92. package/dist/mount.js +81 -0
  93. package/dist/mount.js.map +1 -0
  94. package/dist/workspace-file.d.ts +5 -0
  95. package/dist/workspace-file.d.ts.map +1 -0
  96. package/dist/workspace-file.js +41 -0
  97. package/dist/workspace-file.js.map +1 -0
  98. package/package.json +41 -4
  99. package/README.md +0 -3
@@ -0,0 +1,9 @@
1
+ //#region \0@oxc-project+runtime@0.152.0/helpers/esm/decorate.js
2
+ function __decorate(decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ }
8
+ //#endregion
9
+ export { __decorate as default };
@@ -0,0 +1,13 @@
1
+ export interface ActiveCanvas {
2
+ kind: 'workspace' | 'registered';
3
+ canvasName?: string;
4
+ editor: boolean;
5
+ getContent?: () => string | null;
6
+ getFilePath?: () => string | null;
7
+ setSource?: (source: string) => void;
8
+ reload?: () => Promise<string>;
9
+ getState?: (key: string) => unknown;
10
+ setState?: (key: string, value: unknown) => void;
11
+ }
12
+ export declare function readActiveCanvas(): ActiveCanvas | null;
13
+ //# sourceMappingURL=active-canvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-canvas.d.ts","sourceRoot":"","sources":["../src/active-canvas.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAED,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CAgBtD"}
@@ -0,0 +1,23 @@
1
+ import { activeEditorSignal } from "@eclipse-docks/core";
2
+ //#region src/active-canvas.ts
3
+ function readActiveCanvas() {
4
+ const active = activeEditorSignal.get();
5
+ if (!active) return null;
6
+ const localName = active.localName;
7
+ if (localName !== "docks-canvas-editor" && localName !== "docks-canvas-surface") return null;
8
+ return {
9
+ kind: active.kind === "registered" ? "registered" : "workspace",
10
+ canvasName: active.canvasName,
11
+ editor: localName === "docks-canvas-editor",
12
+ getContent: active.getContent?.bind(active),
13
+ getFilePath: active.getFilePath?.bind(active),
14
+ setSource: active.setSource?.bind(active),
15
+ reload: active.reload?.bind(active),
16
+ getState: active.getState?.bind(active),
17
+ setState: active.setState?.bind(active)
18
+ };
19
+ }
20
+ //#endregion
21
+ export { readActiveCanvas };
22
+
23
+ //# sourceMappingURL=active-canvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-canvas.js","names":[],"sources":["../src/active-canvas.ts"],"sourcesContent":["import { activeEditorSignal } from '@eclipse-docks/core';\n\nexport interface ActiveCanvas {\n kind: 'workspace' | 'registered';\n canvasName?: string;\n editor: boolean;\n getContent?: () => string | null;\n getFilePath?: () => string | null;\n setSource?: (source: string) => void;\n reload?: () => Promise<string>;\n getState?: (key: string) => unknown;\n setState?: (key: string, value: unknown) => void;\n}\n\nexport function readActiveCanvas(): ActiveCanvas | null {\n const active = activeEditorSignal.get() as unknown as (ActiveCanvas & { localName?: string }) | null;\n if (!active) return null;\n const localName = active.localName;\n if (localName !== 'docks-canvas-editor' && localName !== 'docks-canvas-surface') return null;\n return {\n kind: active.kind === 'registered' ? 'registered' : 'workspace',\n canvasName: active.canvasName,\n editor: localName === 'docks-canvas-editor',\n getContent: active.getContent?.bind(active),\n getFilePath: active.getFilePath?.bind(active),\n setSource: active.setSource?.bind(active),\n reload: active.reload?.bind(active),\n getState: active.getState?.bind(active),\n setState: active.setState?.bind(active),\n };\n}\n"],"mappings":";;AAcA,SAAgB,mBAAwC;CACpD,MAAM,SAAS,mBAAmB,IAAI;CACtC,IAAI,CAAC,QAAQ,OAAO;CACpB,MAAM,YAAY,OAAO;CACzB,IAAI,cAAc,yBAAyB,cAAc,wBAAwB,OAAO;CACxF,OAAO;EACH,MAAM,OAAO,SAAS,eAAe,eAAe;EACpD,YAAY,OAAO;EACnB,QAAQ,cAAc;EACtB,YAAY,OAAO,YAAY,KAAK,MAAM;EAC1C,aAAa,OAAO,aAAa,KAAK,MAAM;EAC5C,WAAW,OAAO,WAAW,KAAK,MAAM;EACxC,QAAQ,OAAO,QAAQ,KAAK,MAAM;EAClC,UAAU,OAAO,UAAU,KAAK,MAAM;EACtC,UAAU,OAAO,UAAU,KAAK,MAAM;CAC1C;AACJ"}
@@ -0,0 +1,2 @@
1
+ export declare const canvasBridgeHref: string;
2
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/bridges/core.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,QAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { registerCanvasBridge } from "./register.js";
2
+ import * as core from "@eclipse-docks/core";
3
+ //#region src/bridges/core.ts
4
+ registerCanvasBridge("core", core);
5
+ var canvasBridgeHref = import.meta.url;
6
+ //#endregion
7
+ export { canvasBridgeHref };
8
+
9
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","names":[],"sources":["../../src/bridges/core.ts"],"sourcesContent":["import * as core from '@eclipse-docks/core';\nimport { registerCanvasBridge } from './register';\n\nregisterCanvasBridge('core', core);\nexport const canvasBridgeHref = import.meta.url;\n"],"mappings":";;;AAGA,qBAAqB,QAAQ,IAAI;AACjC,IAAa,mBAAmB,YAAY"}
@@ -0,0 +1,2 @@
1
+ export declare const canvasBridgeHref: string;
2
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/bridges/events.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,QAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { registerCanvasSubpath } from "./register.js";
2
+ import * as events from "@eclipse-docks/core/core/events";
3
+ //#region src/bridges/events.ts
4
+ registerCanvasSubpath("./core/events", events);
5
+ var canvasBridgeHref = import.meta.url;
6
+ //#endregion
7
+ export { canvasBridgeHref };
8
+
9
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","names":[],"sources":["../../src/bridges/events.ts"],"sourcesContent":["import * as events from '@eclipse-docks/core/core/events';\nimport { registerCanvasSubpath } from './register';\n\nregisterCanvasSubpath('./core/events', events);\nexport const canvasBridgeHref = import.meta.url;\n"],"mappings":";;;AAGA,sBAAsB,iBAAiB,MAAM;AAC7C,IAAa,mBAAmB,YAAY"}
@@ -0,0 +1,2 @@
1
+ export declare const canvasBridgeHref: string;
2
+ //# sourceMappingURL=lit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lit.d.ts","sourceRoot":"","sources":["../../src/bridges/lit.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,QAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { registerCanvasBridge } from "./register.js";
2
+ import * as lit from "@eclipse-docks/core/externals/lit";
3
+ //#region src/bridges/lit.ts
4
+ registerCanvasBridge("lit", lit, "./externals/lit");
5
+ var canvasBridgeHref = import.meta.url;
6
+ //#endregion
7
+ export { canvasBridgeHref };
8
+
9
+ //# sourceMappingURL=lit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lit.js","names":[],"sources":["../../src/bridges/lit.ts"],"sourcesContent":["import * as lit from '@eclipse-docks/core/externals/lit';\nimport { registerCanvasBridge } from './register';\n\nregisterCanvasBridge('lit', lit, './externals/lit');\nexport const canvasBridgeHref = import.meta.url;\n"],"mappings":";;;AAGA,qBAAqB,OAAO,KAAK,iBAAiB;AAClD,IAAa,mBAAmB,YAAY"}
@@ -0,0 +1,2 @@
1
+ export declare const canvasBridgeHref: string;
2
+ //# sourceMappingURL=parts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parts.d.ts","sourceRoot":"","sources":["../../src/bridges/parts.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AAInC,eAAO,MAAM,gBAAgB,QAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { registerCanvasSubpath } from "./register.js";
2
+ import "@eclipse-docks/core/parts";
3
+ //#region src/bridges/parts.ts
4
+ registerCanvasSubpath("./parts", {});
5
+ var canvasBridgeHref = import.meta.url;
6
+ //#endregion
7
+ export { canvasBridgeHref };
8
+
9
+ //# sourceMappingURL=parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parts.js","names":[],"sources":["../../src/bridges/parts.ts"],"sourcesContent":["import '@eclipse-docks/core/parts';\nimport { registerCanvasSubpath } from './register';\n\nregisterCanvasSubpath('./parts', {});\nexport const canvasBridgeHref = import.meta.url;\n"],"mappings":";;;AAGA,sBAAsB,WAAW,CAAC,CAAC;AACnC,IAAa,mBAAmB,YAAY"}
@@ -0,0 +1,9 @@
1
+ export interface CanvasRuntime {
2
+ lit?: object;
3
+ webawesome?: object;
4
+ core?: object;
5
+ subpaths: Record<string, object>;
6
+ }
7
+ export declare function registerCanvasBridge(key: 'lit' | 'webawesome' | 'core', namespace: object, subpath?: string): void;
8
+ export declare function registerCanvasSubpath(subpath: string, namespace: object): void;
9
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/bridges/register.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAID,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,KAAK,GAAG,YAAY,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAGlH;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAE9E"}
@@ -0,0 +1,13 @@
1
+ //#region src/bridges/register.ts
2
+ var runtime = globalThis.__docksCanvas ??= { subpaths: {} };
3
+ function registerCanvasBridge(key, namespace, subpath) {
4
+ runtime[key] = namespace;
5
+ if (subpath) runtime.subpaths[subpath] = namespace;
6
+ }
7
+ function registerCanvasSubpath(subpath, namespace) {
8
+ runtime.subpaths[subpath] = namespace;
9
+ }
10
+ //#endregion
11
+ export { registerCanvasBridge, registerCanvasSubpath };
12
+
13
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","names":[],"sources":["../../src/bridges/register.ts"],"sourcesContent":["export interface CanvasRuntime {\n lit?: object;\n webawesome?: object;\n core?: object;\n subpaths: Record<string, object>;\n}\n\nconst runtime = ((globalThis as { __docksCanvas?: CanvasRuntime }).__docksCanvas ??= { subpaths: {} });\n\nexport function registerCanvasBridge(key: 'lit' | 'webawesome' | 'core', namespace: object, subpath?: string): void {\n runtime[key] = namespace;\n if (subpath) runtime.subpaths[subpath] = namespace;\n}\n\nexport function registerCanvasSubpath(subpath: string, namespace: object): void {\n runtime.subpaths[subpath] = namespace;\n}\n"],"mappings":";AAOA,IAAM,UAAW,WAAkD,kBAAkB,EAAE,UAAU,CAAC,EAAE;AAEpG,SAAgB,qBAAqB,KAAoC,WAAmB,SAAwB;CAChH,QAAQ,OAAO;CACf,IAAI,SAAS,QAAQ,SAAS,WAAW;AAC7C;AAEA,SAAgB,sBAAsB,SAAiB,WAAyB;CAC5E,QAAQ,SAAS,WAAW;AAChC"}
@@ -0,0 +1,2 @@
1
+ export declare const canvasBridgeHref: string;
2
+ //# sourceMappingURL=third-party.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"third-party.d.ts","sourceRoot":"","sources":["../../src/bridges/third-party.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,QAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { registerCanvasSubpath } from "./register.js";
2
+ import * as thirdParty from "@eclipse-docks/core/externals/third-party";
3
+ //#region src/bridges/third-party.ts
4
+ registerCanvasSubpath("./externals/third-party", thirdParty);
5
+ var canvasBridgeHref = import.meta.url;
6
+ //#endregion
7
+ export { canvasBridgeHref };
8
+
9
+ //# sourceMappingURL=third-party.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"third-party.js","names":[],"sources":["../../src/bridges/third-party.ts"],"sourcesContent":["import * as thirdParty from '@eclipse-docks/core/externals/third-party';\nimport { registerCanvasSubpath } from './register';\n\nregisterCanvasSubpath('./externals/third-party', thirdParty);\nexport const canvasBridgeHref = import.meta.url;\n"],"mappings":";;;AAGA,sBAAsB,2BAA2B,UAAU;AAC3D,IAAa,mBAAmB,YAAY"}
@@ -0,0 +1,3 @@
1
+ import { CanvasBridges } from '../compile';
2
+ export declare function canvasBridges(): CanvasBridges;
3
+ //# sourceMappingURL=urls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../src/bridges/urls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAShD,wBAAgB,aAAa,IAAI,aAAa,CAc7C"}
@@ -0,0 +1,27 @@
1
+ import { canvasBridgeHref } from "./core.js";
2
+ import { canvasBridgeHref as canvasBridgeHref$1 } from "./events.js";
3
+ import { canvasBridgeHref as canvasBridgeHref$2 } from "./lit.js";
4
+ import { canvasBridgeHref as canvasBridgeHref$3 } from "./parts.js";
5
+ import { canvasBridgeHref as canvasBridgeHref$4 } from "./third-party.js";
6
+ import { canvasBridgeHref as canvasBridgeHref$5 } from "./webawesome.js";
7
+ import { canvasBridgeHref as canvasBridgeHref$6 } from "./widgets.js";
8
+ //#region src/bridges/urls.ts
9
+ function canvasBridges() {
10
+ return {
11
+ lit: canvasBridgeHref$2,
12
+ webawesome: canvasBridgeHref$5,
13
+ core: canvasBridgeHref,
14
+ coreSubpaths: {
15
+ "./externals/lit": canvasBridgeHref$2,
16
+ "./externals/webawesome": canvasBridgeHref$5,
17
+ "./externals/third-party": canvasBridgeHref$4,
18
+ "./parts": canvasBridgeHref$3,
19
+ "./widgets": canvasBridgeHref$6,
20
+ "./core/events": canvasBridgeHref$1
21
+ }
22
+ };
23
+ }
24
+ //#endregion
25
+ export { canvasBridges };
26
+
27
+ //# sourceMappingURL=urls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urls.js","names":["lit","webawesome","thirdParty","parts","widgets","events"],"sources":["../../src/bridges/urls.ts"],"sourcesContent":["import type { CanvasBridges } from '../compile';\nimport { canvasBridgeHref as core } from './core';\nimport { canvasBridgeHref as events } from './events';\nimport { canvasBridgeHref as lit } from './lit';\nimport { canvasBridgeHref as parts } from './parts';\nimport { canvasBridgeHref as thirdParty } from './third-party';\nimport { canvasBridgeHref as webawesome } from './webawesome';\nimport { canvasBridgeHref as widgets } from './widgets';\n\nexport function canvasBridges(): CanvasBridges {\n return {\n lit,\n webawesome,\n core,\n coreSubpaths: {\n './externals/lit': lit,\n './externals/webawesome': webawesome,\n './externals/third-party': thirdParty,\n './parts': parts,\n './widgets': widgets,\n './core/events': events,\n },\n };\n}\n"],"mappings":";;;;;;;;AASA,SAAgB,gBAA+B;CAC3C,OAAO;EACH,KAAA;EACA,YAAA;EACA,MAAA;EACA,cAAc;GACV,mBAAmBA;GACnB,0BAA0BC;GAC1B,2BAA2BC;GAC3B,WAAWC;GACX,aAAaC;GACb,iBAAiBC;EACrB;CACJ;AACJ"}
@@ -0,0 +1,2 @@
1
+ export declare const canvasBridgeHref: string;
2
+ //# sourceMappingURL=webawesome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webawesome.d.ts","sourceRoot":"","sources":["../../src/bridges/webawesome.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,QAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { registerCanvasBridge } from "./register.js";
2
+ import * as webawesome from "@eclipse-docks/core/externals/webawesome";
3
+ //#region src/bridges/webawesome.ts
4
+ registerCanvasBridge("webawesome", webawesome, "./externals/webawesome");
5
+ var canvasBridgeHref = import.meta.url;
6
+ //#endregion
7
+ export { canvasBridgeHref };
8
+
9
+ //# sourceMappingURL=webawesome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webawesome.js","names":[],"sources":["../../src/bridges/webawesome.ts"],"sourcesContent":["import * as webawesome from '@eclipse-docks/core/externals/webawesome';\nimport { registerCanvasBridge } from './register';\n\nregisterCanvasBridge('webawesome', webawesome, './externals/webawesome');\nexport const canvasBridgeHref = import.meta.url;\n"],"mappings":";;;AAGA,qBAAqB,cAAc,YAAY,wBAAwB;AACvE,IAAa,mBAAmB,YAAY"}
@@ -0,0 +1,2 @@
1
+ export declare const canvasBridgeHref: string;
2
+ //# sourceMappingURL=widgets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets.d.ts","sourceRoot":"","sources":["../../src/bridges/widgets.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AAIrC,eAAO,MAAM,gBAAgB,QAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { registerCanvasSubpath } from "./register.js";
2
+ import "@eclipse-docks/core/widgets";
3
+ //#region src/bridges/widgets.ts
4
+ registerCanvasSubpath("./widgets", {});
5
+ var canvasBridgeHref = import.meta.url;
6
+ //#endregion
7
+ export { canvasBridgeHref };
8
+
9
+ //# sourceMappingURL=widgets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets.js","names":[],"sources":["../../src/bridges/widgets.ts"],"sourcesContent":["import '@eclipse-docks/core/widgets';\nimport { registerCanvasSubpath } from './register';\n\nregisterCanvasSubpath('./widgets', {});\nexport const canvasBridgeHref = import.meta.url;\n"],"mappings":";;;AAGA,sBAAsB,aAAa,CAAC,CAAC;AACrC,IAAa,mBAAmB,YAAY"}
@@ -0,0 +1,61 @@
1
+ import { DocksPart, EditorContentProvider, EditorInput } from '@eclipse-docks/core';
2
+ import { nothing, PropertyValues } from '@eclipse-docks/core/externals/lit';
3
+ import { DocksMonacoWidget } from '@eclipse-docks/extension-monaco-editor/widget';
4
+ import { CanvasHost } from './host';
5
+ import { CanvasViewElement } from './mount';
6
+ export declare class DocksCanvasSurface extends DocksPart implements EditorContentProvider {
7
+ input?: EditorInput;
8
+ kind: 'workspace' | 'registered';
9
+ canvasName?: string;
10
+ entryPath: string;
11
+ source: string;
12
+ showSource: boolean;
13
+ protected sourceText: string;
14
+ protected mode: 'preview' | 'source';
15
+ protected previewError?: string;
16
+ protected previewElement?: CanvasViewElement;
17
+ protected widget?: DocksMonacoWidget;
18
+ protected scrollMode: 'scroller' | 'native' | 'none';
19
+ protected host: CanvasHost;
20
+ private previewDispose?;
21
+ private contribution?;
22
+ private ready;
23
+ private reloadGeneration;
24
+ private compiledSource;
25
+ protected previewStale: boolean;
26
+ connectedCallback(): void;
27
+ disconnectedCallback(): void;
28
+ protected doInitUI(): Promise<void>;
29
+ protected doClose(): void;
30
+ getContent(): string | null;
31
+ getSelection(): string | null;
32
+ getSnippet(lines?: number): {
33
+ snippet: string;
34
+ cursorLine: number;
35
+ } | null;
36
+ getLanguage(): string | null;
37
+ isLanguage(lang: string): boolean;
38
+ getFilePath(): string | null;
39
+ getState(key: string): unknown;
40
+ setState(key: string, value: unknown): void;
41
+ setSource(source: string): void;
42
+ reload(): Promise<string>;
43
+ private replacePreview;
44
+ private onDirty;
45
+ protected updated(changed: PropertyValues): void;
46
+ private onContentChange;
47
+ private toggleMode;
48
+ protected renderToolbar(): typeof nothing | import('lit-html').TemplateResult<1>;
49
+ protected renderContent(): import('lit-html').TemplateResult<1>;
50
+ static styles: import('lit').CSSResult;
51
+ }
52
+ export declare class DocksCanvasEditor extends DocksCanvasSurface {
53
+ save(): Promise<void>;
54
+ }
55
+ declare global {
56
+ interface HTMLElementTagNameMap {
57
+ 'docks-canvas-surface': DocksCanvasSurface;
58
+ 'docks-canvas-editor': DocksCanvasEditor;
59
+ }
60
+ }
61
+ //# sourceMappingURL=canvas-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-editor.d.ts","sourceRoot":"","sources":["../src/canvas-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EAGT,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAa,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAG5F,OAAO,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGvF,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AACjF,OAAO,EAAyC,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAUxF,qBACa,kBAAmB,SAAQ,SAAU,YAAW,qBAAqB;IAC9C,KAAK,CAAC,EAAE,WAAW,CAAC;IACxC,IAAI,EAAE,WAAW,GAAG,YAAY,CAAe;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,SAAM;IACf,MAAM,SAAM;IACK,UAAU,UAAS;IAEvC,SAAS,CAAC,UAAU,SAAM;IAC1B,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAa;IACjD,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACxB,SAAS,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAEnE,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAU;IAC9D,SAAS,CAAC,IAAI,EAAE,UAAU,CAAoG;IAC9H,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,YAAY,CAAC,CAAqB;IAC1C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAAM;IAC5B,SAAS,CAAC,YAAY,UAAS;IAEtB,iBAAiB;IAKjB,oBAAoB;cAMb,QAAQ;IA8BxB,SAAS,CAAC,OAAO;IAOjB,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B,UAAU,CAAC,KAAK,SAAI,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIrE,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,WAAW,IAAI,MAAM,GAAG,IAAI;IAM5B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI9B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQzB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAsD/B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,OAAO,CAMb;IAEF,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc;IAKzC,OAAO,CAAC,eAAe,CAKrB;IAEF,OAAO,CAAC,UAAU;IAQlB,SAAS,CAAC,aAAa;IAYvB,SAAS,CAAC,aAAa;IAsBvB,MAAM,CAAC,MAAM,0BAaX;CACL;AAED,qBACa,iBAAkB,SAAQ,kBAAkB;IACtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAOvC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,sBAAsB,EAAE,kBAAkB,CAAC;QAC3C,qBAAqB,EAAE,iBAAiB,CAAC;KAC5C;CACJ"}
@@ -0,0 +1,276 @@
1
+ import { compileCanvas } from "./compile.js";
2
+ import { createContributionHost, createFileHost } from "./host.js";
3
+ import { elementFromConstructor, mountCompiled } from "./mount.js";
4
+ import { canvasBridges } from "./bridges/urls.js";
5
+ import { readWorkspaceFile } from "./workspace-file.js";
6
+ import __decorate from "./_virtual/_@oxc-project_runtime@0.152.0/helpers/esm/decorate.js";
7
+ import { DocksPart, File, icon } from "@eclipse-docks/core";
8
+ import { css, customElement, html, nothing, property, query, state } from "@eclipse-docks/core/externals/lit";
9
+ import { Directive, directive } from "lit/directive.js";
10
+ import "@eclipse-docks/extension-monaco-editor/widget";
11
+ //#region src/canvas-editor.ts
12
+ var heldNode = directive(class extends Directive {
13
+ render(node) {
14
+ return node ?? nothing;
15
+ }
16
+ });
17
+ var DocksCanvasSurface = class DocksCanvasSurface extends DocksPart {
18
+ constructor(..._args) {
19
+ super(..._args);
20
+ this.kind = "workspace";
21
+ this.entryPath = "";
22
+ this.source = "";
23
+ this.showSource = false;
24
+ this.sourceText = "";
25
+ this.mode = "preview";
26
+ this.scrollMode = "none";
27
+ this.host = {
28
+ getState: (_key, fallback) => fallback,
29
+ setState: () => void 0,
30
+ openFile: () => void 0
31
+ };
32
+ this.ready = false;
33
+ this.reloadGeneration = 0;
34
+ this.compiledSource = "";
35
+ this.previewStale = false;
36
+ this.onDirty = (event) => {
37
+ if (!this.ready || event.detail !== true) return;
38
+ if ((this.getContent() ?? "") === this.compiledSource && this.previewElement) return;
39
+ this.previewStale = true;
40
+ if (this.mode === "preview" || !this.showSource) this.reload();
41
+ };
42
+ this.onContentChange = () => {
43
+ const next = this.widget?.getContent() ?? this.sourceText;
44
+ this.previewStale = next !== this.compiledSource;
45
+ this.sourceText = next;
46
+ this.markDirty(true);
47
+ };
48
+ }
49
+ connectedCallback() {
50
+ super.connectedCallback();
51
+ this.addEventListener("dirty", this.onDirty);
52
+ }
53
+ disconnectedCallback() {
54
+ this.removeEventListener("dirty", this.onDirty);
55
+ this.reloadGeneration++;
56
+ super.disconnectedCallback();
57
+ }
58
+ async doInitUI() {
59
+ const data = this.input?.data;
60
+ if (data instanceof File) {
61
+ this.kind = "workspace";
62
+ this.entryPath = data.getWorkspacePath();
63
+ this.showSource = true;
64
+ this.sourceText = String(await data.getContents() ?? "");
65
+ this.host = await createFileHost(data);
66
+ } else if (data && typeof data === "object" && "contribution" in data) {
67
+ this.contribution = data.contribution;
68
+ this.kind = "registered";
69
+ this.canvasName = this.contribution.name;
70
+ this.showSource = this.contribution.source !== void 0;
71
+ if (typeof this.contribution.source === "function") this.sourceText = await this.contribution.source();
72
+ else this.sourceText = this.contribution.source ?? "";
73
+ this.host = await createContributionHost(this.contribution);
74
+ } else if (this.entryPath || this.source) {
75
+ this.kind = "workspace";
76
+ this.showSource = false;
77
+ this.sourceText = this.source;
78
+ const workspaceFile = await readWorkspaceFile(this.entryPath);
79
+ if (workspaceFile?.text !== void 0 && !this.sourceText) this.sourceText = workspaceFile.text;
80
+ this.host = {
81
+ getState: (_key, fallback) => fallback,
82
+ setState: () => void 0,
83
+ openFile: () => void 0
84
+ };
85
+ }
86
+ this.mode = this.input?.state?.mode === "source" ? "source" : "preview";
87
+ this.ready = true;
88
+ this.requestUpdate();
89
+ if (this.mode === "preview" || !this.showSource) await this.reload();
90
+ }
91
+ doClose() {
92
+ this.reloadGeneration++;
93
+ this.previewDispose?.();
94
+ this.previewDispose = void 0;
95
+ this.widget?.dispose();
96
+ }
97
+ getContent() {
98
+ return this.widget?.getContent() ?? this.sourceText;
99
+ }
100
+ getSelection() {
101
+ return this.widget?.getSelection() ?? null;
102
+ }
103
+ getSnippet(lines = 5) {
104
+ return this.widget?.getSnippet(lines) ?? null;
105
+ }
106
+ getLanguage() {
107
+ return "javascript";
108
+ }
109
+ isLanguage(lang) {
110
+ return lang.toLowerCase() === "javascript";
111
+ }
112
+ getFilePath() {
113
+ const data = this.input?.data;
114
+ if (data instanceof File) return data.getWorkspacePath();
115
+ return this.entryPath || null;
116
+ }
117
+ getState(key) {
118
+ return this.host.getState(key);
119
+ }
120
+ setState(key, value) {
121
+ this.host.setState(key, value);
122
+ }
123
+ setSource(source) {
124
+ this.previewStale = source !== this.compiledSource;
125
+ this.sourceText = source;
126
+ const model = this.widget?.getModel();
127
+ if (model && model.getValue() !== source) model.setValue(source);
128
+ this.requestUpdate();
129
+ }
130
+ async reload() {
131
+ const source = this.getContent() ?? "";
132
+ if (this.previewElement && !this.previewStale && source === this.compiledSource && !this.previewError) return "ready";
133
+ const generation = ++this.reloadGeneration;
134
+ if (this.kind === "registered" && this.contribution) try {
135
+ const mod = await this.contribution.load();
136
+ if (generation !== this.reloadGeneration) return "ready";
137
+ const Ctor = mod.default;
138
+ if (typeof Ctor !== "function" || !(Ctor.prototype instanceof HTMLElement)) {
139
+ this.previewError = "Canvas default export must be an HTMLElement subclass";
140
+ this.requestUpdate();
141
+ return this.previewError;
142
+ }
143
+ const element = elementFromConstructor(Ctor);
144
+ element.canvasHost = this.host;
145
+ this.replacePreview(element);
146
+ return "ready";
147
+ } catch (err) {
148
+ if (generation !== this.reloadGeneration) return "ready";
149
+ this.previewError = err instanceof Error ? err.message : String(err);
150
+ this.requestUpdate();
151
+ return this.previewError;
152
+ }
153
+ const compiled = await compileCanvas({
154
+ entryPath: this.entryPath || "canvas.js",
155
+ entrySource: source,
156
+ read: readWorkspaceFile,
157
+ bridges: canvasBridges()
158
+ });
159
+ if (generation !== this.reloadGeneration) return "ready";
160
+ if (!compiled.ok) {
161
+ this.previewError = compiled.error;
162
+ this.requestUpdate();
163
+ return compiled.error;
164
+ }
165
+ const mounted = await mountCompiled(compiled.code);
166
+ if (generation !== this.reloadGeneration) {
167
+ if (mounted.ok) mounted.dispose();
168
+ return "ready";
169
+ }
170
+ if (!mounted.ok) {
171
+ this.previewError = mounted.error;
172
+ this.requestUpdate();
173
+ return mounted.error;
174
+ }
175
+ mounted.element.canvasHost = this.host;
176
+ this.compiledSource = source;
177
+ this.previewStale = false;
178
+ this.replacePreview(mounted.element, mounted.dispose);
179
+ return "ready";
180
+ }
181
+ replacePreview(element, dispose) {
182
+ const previous = this.previewDispose;
183
+ this.previewDispose = dispose ?? (() => element.remove());
184
+ this.previewElement = element;
185
+ this.previewError = void 0;
186
+ this.compiledSource = this.getContent() ?? this.compiledSource;
187
+ this.previewStale = false;
188
+ this.requestUpdate();
189
+ previous?.();
190
+ }
191
+ updated(changed) {
192
+ super.updated(changed);
193
+ if (this.mode === "source") this.widget?.layout();
194
+ }
195
+ toggleMode() {
196
+ if (this.widget) this.sourceText = this.widget.getContent() ?? this.sourceText;
197
+ const next = this.mode === "preview" ? "source" : "preview";
198
+ this.mode = next;
199
+ if (this.input) this.input.state.mode = next;
200
+ if (next === "preview" && (this.previewStale || !this.previewElement)) this.reload();
201
+ }
202
+ renderToolbar() {
203
+ if (!this.ready || !this.showSource) return nothing;
204
+ const toSource = this.mode === "preview";
205
+ const label = toSource ? "Source" : "Preview";
206
+ return html`
207
+ <wa-button appearance="plain" size="s" title=${label} @click=${() => this.toggleMode()}>
208
+ ${icon(toSource ? "code" : "eye", { slot: "start" })}
209
+ ${label}
210
+ </wa-button>
211
+ `;
212
+ }
213
+ renderContent() {
214
+ if (!this.ready) return html``;
215
+ const showPreview = !this.showSource || this.mode === "preview";
216
+ return html`
217
+ <div class="canvas-preview ${showPreview ? "" : "canvas-hidden"}">
218
+ ${this.previewError ? html`<pre class="canvas-error">${this.previewError}</pre>` : nothing}
219
+ <wa-scroller class="canvas-scroll" orientation="vertical">
220
+ <div class="canvas-mount">${heldNode(this.previewElement)}</div>
221
+ </wa-scroller>
222
+ </div>
223
+ ${this.showSource ? html`
224
+ <docks-monaco-widget
225
+ class=${this.mode === "source" ? "" : "canvas-hidden"}
226
+ .value=${this.sourceText}
227
+ .language=${"javascript"}
228
+ .uri=${this.entryPath || this.canvasName || "canvas.js"}
229
+ @content-change=${this.onContentChange}>
230
+ </docks-monaco-widget>
231
+ ` : nothing}
232
+ `;
233
+ }
234
+ static {
235
+ this.styles = css`
236
+ :host { display: flex; flex-direction: column; height: 100%; min-height: 0; }
237
+ .canvas-preview { display: flex; flex-direction: column; height: 100%; min-height: 0; overflow: hidden; }
238
+ .canvas-preview.canvas-hidden, docks-monaco-widget.canvas-hidden { display: none; }
239
+ wa-scroller.canvas-scroll { flex: 1 1 0; min-height: 0; height: 100%; }
240
+ .canvas-mount > * { display: block; }
241
+ docks-monaco-widget { display: block; height: 100%; min-height: 0; }
242
+ .canvas-error {
243
+ margin: 0;
244
+ padding: var(--wa-space-s, 8px);
245
+ white-space: pre-wrap;
246
+ color: var(--wa-color-danger-on-quiet, #b42318);
247
+ }
248
+ `;
249
+ }
250
+ };
251
+ __decorate([property({ attribute: false })], DocksCanvasSurface.prototype, "input", void 0);
252
+ __decorate([property()], DocksCanvasSurface.prototype, "kind", void 0);
253
+ __decorate([property()], DocksCanvasSurface.prototype, "canvasName", void 0);
254
+ __decorate([property()], DocksCanvasSurface.prototype, "entryPath", void 0);
255
+ __decorate([property()], DocksCanvasSurface.prototype, "source", void 0);
256
+ __decorate([property({ type: Boolean })], DocksCanvasSurface.prototype, "showSource", void 0);
257
+ __decorate([state()], DocksCanvasSurface.prototype, "sourceText", void 0);
258
+ __decorate([state()], DocksCanvasSurface.prototype, "mode", void 0);
259
+ __decorate([state()], DocksCanvasSurface.prototype, "previewError", void 0);
260
+ __decorate([state()], DocksCanvasSurface.prototype, "previewElement", void 0);
261
+ __decorate([query("docks-monaco-widget")], DocksCanvasSurface.prototype, "widget", void 0);
262
+ DocksCanvasSurface = __decorate([customElement("docks-canvas-surface")], DocksCanvasSurface);
263
+ var DocksCanvasEditor = class DocksCanvasEditor extends DocksCanvasSurface {
264
+ async save() {
265
+ const value = this.getContent() ?? "";
266
+ const data = this.input?.data;
267
+ if (data instanceof File) await data.saveContents(value);
268
+ this.markDirty(false);
269
+ if (this.mode === "preview" && this.previewStale) await this.reload();
270
+ }
271
+ };
272
+ DocksCanvasEditor = __decorate([customElement("docks-canvas-editor")], DocksCanvasEditor);
273
+ //#endregion
274
+ export { DocksCanvasEditor, DocksCanvasSurface };
275
+
276
+ //# sourceMappingURL=canvas-editor.js.map