@memberjunction/ng-whiteboard 0.0.1 → 5.42.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 (62) hide show
  1. package/README.md +302 -28
  2. package/dist/lib/whiteboard-agent-sees-popover.component.d.ts +31 -0
  3. package/dist/lib/whiteboard-agent-sees-popover.component.d.ts.map +1 -0
  4. package/dist/lib/whiteboard-agent-sees-popover.component.js +132 -0
  5. package/dist/lib/whiteboard-agent-sees-popover.component.js.map +1 -0
  6. package/dist/lib/whiteboard-board.component.d.ts +458 -0
  7. package/dist/lib/whiteboard-board.component.d.ts.map +1 -0
  8. package/dist/lib/whiteboard-board.component.js +2357 -0
  9. package/dist/lib/whiteboard-board.component.js.map +1 -0
  10. package/dist/lib/whiteboard-context-menu.d.ts +57 -0
  11. package/dist/lib/whiteboard-context-menu.d.ts.map +1 -0
  12. package/dist/lib/whiteboard-context-menu.js +69 -0
  13. package/dist/lib/whiteboard-context-menu.js.map +1 -0
  14. package/dist/lib/whiteboard-export.d.ts +94 -0
  15. package/dist/lib/whiteboard-export.d.ts.map +1 -0
  16. package/dist/lib/whiteboard-export.js +592 -0
  17. package/dist/lib/whiteboard-export.js.map +1 -0
  18. package/dist/lib/whiteboard-host.component.d.ts +174 -0
  19. package/dist/lib/whiteboard-host.component.d.ts.map +1 -0
  20. package/dist/lib/whiteboard-host.component.js +758 -0
  21. package/dist/lib/whiteboard-host.component.js.map +1 -0
  22. package/dist/lib/whiteboard-pages.component.d.ts +83 -0
  23. package/dist/lib/whiteboard-pages.component.d.ts.map +1 -0
  24. package/dist/lib/whiteboard-pages.component.js +211 -0
  25. package/dist/lib/whiteboard-pages.component.js.map +1 -0
  26. package/dist/lib/whiteboard-snapshot.component.d.ts +30 -0
  27. package/dist/lib/whiteboard-snapshot.component.d.ts.map +1 -0
  28. package/dist/lib/whiteboard-snapshot.component.js +91 -0
  29. package/dist/lib/whiteboard-snapshot.component.js.map +1 -0
  30. package/dist/lib/whiteboard-srcdoc.pipe.d.ts +60 -0
  31. package/dist/lib/whiteboard-srcdoc.pipe.d.ts.map +1 -0
  32. package/dist/lib/whiteboard-srcdoc.pipe.js +75 -0
  33. package/dist/lib/whiteboard-srcdoc.pipe.js.map +1 -0
  34. package/dist/lib/whiteboard-state.d.ts +1113 -0
  35. package/dist/lib/whiteboard-state.d.ts.map +1 -0
  36. package/dist/lib/whiteboard-state.js +1396 -0
  37. package/dist/lib/whiteboard-state.js.map +1 -0
  38. package/dist/lib/whiteboard-toolbar.component.d.ts +95 -0
  39. package/dist/lib/whiteboard-toolbar.component.d.ts.map +1 -0
  40. package/dist/lib/whiteboard-toolbar.component.js +344 -0
  41. package/dist/lib/whiteboard-toolbar.component.js.map +1 -0
  42. package/dist/lib/whiteboard-tools.d.ts +103 -0
  43. package/dist/lib/whiteboard-tools.d.ts.map +1 -0
  44. package/dist/lib/whiteboard-tools.js +748 -0
  45. package/dist/lib/whiteboard-tools.js.map +1 -0
  46. package/dist/lib/whiteboard-widget-bridge.d.ts +217 -0
  47. package/dist/lib/whiteboard-widget-bridge.d.ts.map +1 -0
  48. package/dist/lib/whiteboard-widget-bridge.js +254 -0
  49. package/dist/lib/whiteboard-widget-bridge.js.map +1 -0
  50. package/dist/lib/whiteboard-zoom.component.d.ts +55 -0
  51. package/dist/lib/whiteboard-zoom.component.d.ts.map +1 -0
  52. package/dist/lib/whiteboard-zoom.component.js +139 -0
  53. package/dist/lib/whiteboard-zoom.component.js.map +1 -0
  54. package/dist/lib/whiteboard.module.d.ts +29 -0
  55. package/dist/lib/whiteboard.module.d.ts.map +1 -0
  56. package/dist/lib/whiteboard.module.js +78 -0
  57. package/dist/lib/whiteboard.module.js.map +1 -0
  58. package/dist/public-api.d.ts +49 -0
  59. package/dist/public-api.d.ts.map +1 -0
  60. package/dist/public-api.js +59 -0
  61. package/dist/public-api.js.map +1 -0
  62. package/package.json +43 -6
@@ -0,0 +1,78 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RealtimeWhiteboardBoardComponent } from './whiteboard-board.component';
3
+ import { RealtimeWhiteboardToolbarComponent } from './whiteboard-toolbar.component';
4
+ import { RealtimeWhiteboardZoomComponent } from './whiteboard-zoom.component';
5
+ import { RealtimeWhiteboardPagesComponent } from './whiteboard-pages.component';
6
+ import { RealtimeWhiteboardAgentSeesPopoverComponent } from './whiteboard-agent-sees-popover.component';
7
+ import { RealtimeWhiteboardHostComponent } from './whiteboard-host.component';
8
+ import { WhiteboardSnapshotComponent } from './whiteboard-snapshot.component';
9
+ import { WhiteboardWidgetSrcdocPipe } from './whiteboard-srcdoc.pipe';
10
+ import * as i0 from "@angular/core";
11
+ /**
12
+ * Convenience NgModule that re-exports every standalone whiteboard component (and the
13
+ * `wbWidgetSrcdoc` pipe), for consumers organized around NgModules. All components in
14
+ * this package are STANDALONE — apps using standalone bootstrapping can import the
15
+ * component classes directly and skip this module entirely.
16
+ */
17
+ export class WhiteboardModule {
18
+ static { this.ɵfac = function WhiteboardModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WhiteboardModule)(); }; }
19
+ static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: WhiteboardModule }); }
20
+ static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [RealtimeWhiteboardBoardComponent,
21
+ RealtimeWhiteboardToolbarComponent,
22
+ RealtimeWhiteboardZoomComponent,
23
+ RealtimeWhiteboardPagesComponent,
24
+ RealtimeWhiteboardAgentSeesPopoverComponent,
25
+ RealtimeWhiteboardHostComponent,
26
+ WhiteboardSnapshotComponent] }); }
27
+ }
28
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WhiteboardModule, [{
29
+ type: NgModule,
30
+ args: [{
31
+ imports: [
32
+ RealtimeWhiteboardBoardComponent,
33
+ RealtimeWhiteboardToolbarComponent,
34
+ RealtimeWhiteboardZoomComponent,
35
+ RealtimeWhiteboardPagesComponent,
36
+ RealtimeWhiteboardAgentSeesPopoverComponent,
37
+ RealtimeWhiteboardHostComponent,
38
+ WhiteboardSnapshotComponent,
39
+ WhiteboardWidgetSrcdocPipe
40
+ ],
41
+ exports: [
42
+ RealtimeWhiteboardBoardComponent,
43
+ RealtimeWhiteboardToolbarComponent,
44
+ RealtimeWhiteboardZoomComponent,
45
+ RealtimeWhiteboardPagesComponent,
46
+ RealtimeWhiteboardAgentSeesPopoverComponent,
47
+ RealtimeWhiteboardHostComponent,
48
+ WhiteboardSnapshotComponent,
49
+ WhiteboardWidgetSrcdocPipe
50
+ ]
51
+ }]
52
+ }], null, null); })();
53
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(WhiteboardModule, { imports: [RealtimeWhiteboardBoardComponent,
54
+ RealtimeWhiteboardToolbarComponent,
55
+ RealtimeWhiteboardZoomComponent,
56
+ RealtimeWhiteboardPagesComponent,
57
+ RealtimeWhiteboardAgentSeesPopoverComponent,
58
+ RealtimeWhiteboardHostComponent,
59
+ WhiteboardSnapshotComponent,
60
+ WhiteboardWidgetSrcdocPipe], exports: [RealtimeWhiteboardBoardComponent,
61
+ RealtimeWhiteboardToolbarComponent,
62
+ RealtimeWhiteboardZoomComponent,
63
+ RealtimeWhiteboardPagesComponent,
64
+ RealtimeWhiteboardAgentSeesPopoverComponent,
65
+ RealtimeWhiteboardHostComponent,
66
+ WhiteboardSnapshotComponent,
67
+ WhiteboardWidgetSrcdocPipe] }); })();
68
+ /**
69
+ * Tree-shaking prevention hook. The whiteboard components are usually referenced
70
+ * statically (standalone `imports` arrays), which is enough to retain them — call this
71
+ * from your bootstrap path only when every usage in your app is resolved DYNAMICALLY
72
+ * (e.g. a plugin returns a component type through the MJ ClassFactory) and the bundler
73
+ * would otherwise see no static reference to this package.
74
+ */
75
+ export function LoadWhiteboardComponents() {
76
+ // intentional no-op — referencing this module creates the static code path
77
+ }
78
+ //# sourceMappingURL=whiteboard.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whiteboard.module.js","sourceRoot":"","sources":["../../src/lib/whiteboard.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,2CAA2C,EAAE,MAAM,2CAA2C,CAAC;AACxG,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;;AAEtE;;;;;GAKG;AAuBH,MAAM,OAAO,gBAAgB;iHAAhB,gBAAgB;mEAAhB,gBAAgB;uEApBzB,gCAAgC;YAChC,kCAAkC;YAClC,+BAA+B;YAC/B,gCAAgC;YAChC,2CAA2C;YAC3C,+BAA+B;YAC/B,2BAA2B;;iFAclB,gBAAgB;cAtB5B,QAAQ;eAAC;gBACR,OAAO,EAAE;oBACP,gCAAgC;oBAChC,kCAAkC;oBAClC,+BAA+B;oBAC/B,gCAAgC;oBAChC,2CAA2C;oBAC3C,+BAA+B;oBAC/B,2BAA2B;oBAC3B,0BAA0B;iBAC3B;gBACD,OAAO,EAAE;oBACP,gCAAgC;oBAChC,kCAAkC;oBAClC,+BAA+B;oBAC/B,gCAAgC;oBAChC,2CAA2C;oBAC3C,+BAA+B;oBAC/B,2BAA2B;oBAC3B,0BAA0B;iBAC3B;aACF;;wFACY,gBAAgB,cApBzB,gCAAgC;QAChC,kCAAkC;QAClC,+BAA+B;QAC/B,gCAAgC;QAChC,2CAA2C;QAC3C,+BAA+B;QAC/B,2BAA2B;QAC3B,0BAA0B,aAG1B,gCAAgC;QAChC,kCAAkC;QAClC,+BAA+B;QAC/B,gCAAgC;QAChC,2CAA2C;QAC3C,+BAA+B;QAC/B,2BAA2B;QAC3B,0BAA0B;AAK9B;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB;IACtC,2EAA2E;AAC7E,CAAC","sourcesContent":["import { NgModule } from '@angular/core';\nimport { RealtimeWhiteboardBoardComponent } from './whiteboard-board.component';\nimport { RealtimeWhiteboardToolbarComponent } from './whiteboard-toolbar.component';\nimport { RealtimeWhiteboardZoomComponent } from './whiteboard-zoom.component';\nimport { RealtimeWhiteboardPagesComponent } from './whiteboard-pages.component';\nimport { RealtimeWhiteboardAgentSeesPopoverComponent } from './whiteboard-agent-sees-popover.component';\nimport { RealtimeWhiteboardHostComponent } from './whiteboard-host.component';\nimport { WhiteboardSnapshotComponent } from './whiteboard-snapshot.component';\nimport { WhiteboardWidgetSrcdocPipe } from './whiteboard-srcdoc.pipe';\n\n/**\n * Convenience NgModule that re-exports every standalone whiteboard component (and the\n * `wbWidgetSrcdoc` pipe), for consumers organized around NgModules. All components in\n * this package are STANDALONE — apps using standalone bootstrapping can import the\n * component classes directly and skip this module entirely.\n */\n@NgModule({\n imports: [\n RealtimeWhiteboardBoardComponent,\n RealtimeWhiteboardToolbarComponent,\n RealtimeWhiteboardZoomComponent,\n RealtimeWhiteboardPagesComponent,\n RealtimeWhiteboardAgentSeesPopoverComponent,\n RealtimeWhiteboardHostComponent,\n WhiteboardSnapshotComponent,\n WhiteboardWidgetSrcdocPipe\n ],\n exports: [\n RealtimeWhiteboardBoardComponent,\n RealtimeWhiteboardToolbarComponent,\n RealtimeWhiteboardZoomComponent,\n RealtimeWhiteboardPagesComponent,\n RealtimeWhiteboardAgentSeesPopoverComponent,\n RealtimeWhiteboardHostComponent,\n WhiteboardSnapshotComponent,\n WhiteboardWidgetSrcdocPipe\n ]\n})\nexport class WhiteboardModule {}\n\n/**\n * Tree-shaking prevention hook. The whiteboard components are usually referenced\n * statically (standalone `imports` arrays), which is enough to retain them — call this\n * from your bootstrap path only when every usage in your app is resolved DYNAMICALLY\n * (e.g. a plugin returns a component type through the MJ ClassFactory) and the bundler\n * would otherwise see no static reference to this package.\n */\nexport function LoadWhiteboardComponents(): void {\n // intentional no-op — referencing this module creates the static code path\n}\n"]}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * # @memberjunction/ng-whiteboard
5
+ *
6
+ * A generic, reusable collaborative whiteboard for ANY Angular application, designed for
7
+ * dual authorship: a human user drawing with direct-manipulation tools, and a co-author
8
+ * (typically an AI agent) mutating the same board through a programmatic, JSON-described
9
+ * tool API. The package follows the MemberJunction Generic-component conventions: no
10
+ * Router dependency, PascalCase public surface, standalone components, design-token
11
+ * theming, and a cancelable before / after event pattern on every major mutation.
12
+ *
13
+ * ## Layers
14
+ *
15
+ * - **State engine** ({@link WhiteboardState}, `whiteboard-state.ts`) — Angular-free
16
+ * typed board model: items, selection, snapshot undo/redo, a change journal with
17
+ * coalesced scene deltas (the "agent perception" feed), JSON persistence, and the
18
+ * before/after mutation events (`ItemAdding$` / `ItemAdded$`, …).
19
+ * - **Programmatic tool API** (`whiteboard-tools.ts`) — the `Whiteboard_*` JSON tool
20
+ * definitions plus {@link ApplyWhiteboardAgentTool}, the pure execute-one-tool-call
21
+ * round-trip any agent/automation layer can drive.
22
+ * - **Components** — {@link RealtimeWhiteboardHostComponent} (the full board surface:
23
+ * header, toolbar, zoom cluster, perception popover, export menu, agent toast),
24
+ * {@link RealtimeWhiteboardBoardComponent} (the canvas itself), and the supporting
25
+ * toolbar / zoom / popover / read-only snapshot components.
26
+ * - **Export builders** (`whiteboard-export.ts`) — pure functions producing one
27
+ * self-contained HTML document or a standalone SVG of a board snapshot.
28
+ * - **Widget input bridge** (`whiteboard-widget-bridge.ts`) — the `MJWhiteboard.submit`
29
+ * postMessage contract that lets STRICTLY SANDBOXED HTML widgets send user input back
30
+ * to the host.
31
+ *
32
+ * See the package README for a quickstart, the agent-integration recipe, the event
33
+ * surface, security notes, and theming/extension points.
34
+ */
35
+ export * from './lib/whiteboard-state';
36
+ export * from './lib/whiteboard-tools';
37
+ export * from './lib/whiteboard-export';
38
+ export * from './lib/whiteboard-widget-bridge';
39
+ export * from './lib/whiteboard-srcdoc.pipe';
40
+ export * from './lib/whiteboard-context-menu';
41
+ export * from './lib/whiteboard-board.component';
42
+ export * from './lib/whiteboard-toolbar.component';
43
+ export * from './lib/whiteboard-zoom.component';
44
+ export * from './lib/whiteboard-pages.component';
45
+ export * from './lib/whiteboard-agent-sees-popover.component';
46
+ export * from './lib/whiteboard-host.component';
47
+ export * from './lib/whiteboard-snapshot.component';
48
+ export * from './lib/whiteboard.module';
49
+ //# sourceMappingURL=public-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,cAAc,wBAAwB,CAAC;AAGvC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,gCAAgC,CAAC;AAI/C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AAGpD,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * # @memberjunction/ng-whiteboard
5
+ *
6
+ * A generic, reusable collaborative whiteboard for ANY Angular application, designed for
7
+ * dual authorship: a human user drawing with direct-manipulation tools, and a co-author
8
+ * (typically an AI agent) mutating the same board through a programmatic, JSON-described
9
+ * tool API. The package follows the MemberJunction Generic-component conventions: no
10
+ * Router dependency, PascalCase public surface, standalone components, design-token
11
+ * theming, and a cancelable before / after event pattern on every major mutation.
12
+ *
13
+ * ## Layers
14
+ *
15
+ * - **State engine** ({@link WhiteboardState}, `whiteboard-state.ts`) — Angular-free
16
+ * typed board model: items, selection, snapshot undo/redo, a change journal with
17
+ * coalesced scene deltas (the "agent perception" feed), JSON persistence, and the
18
+ * before/after mutation events (`ItemAdding$` / `ItemAdded$`, …).
19
+ * - **Programmatic tool API** (`whiteboard-tools.ts`) — the `Whiteboard_*` JSON tool
20
+ * definitions plus {@link ApplyWhiteboardAgentTool}, the pure execute-one-tool-call
21
+ * round-trip any agent/automation layer can drive.
22
+ * - **Components** — {@link RealtimeWhiteboardHostComponent} (the full board surface:
23
+ * header, toolbar, zoom cluster, perception popover, export menu, agent toast),
24
+ * {@link RealtimeWhiteboardBoardComponent} (the canvas itself), and the supporting
25
+ * toolbar / zoom / popover / read-only snapshot components.
26
+ * - **Export builders** (`whiteboard-export.ts`) — pure functions producing one
27
+ * self-contained HTML document or a standalone SVG of a board snapshot.
28
+ * - **Widget input bridge** (`whiteboard-widget-bridge.ts`) — the `MJWhiteboard.submit`
29
+ * postMessage contract that lets STRICTLY SANDBOXED HTML widgets send user input back
30
+ * to the host.
31
+ *
32
+ * See the package README for a quickstart, the agent-integration recipe, the event
33
+ * surface, security notes, and theming/extension points.
34
+ */
35
+ // State engine — board model, mutations, undo/redo, perception deltas, persistence,
36
+ // and the before/after mutation event surface.
37
+ export * from './lib/whiteboard-state';
38
+ // Programmatic mutation tool API (agent-facing JSON tools + the pure executor).
39
+ export * from './lib/whiteboard-tools';
40
+ // Pure export builders (self-contained HTML document / standalone SVG).
41
+ export * from './lib/whiteboard-export';
42
+ // Sandboxed HTML-widget input bridge (MJWhiteboard.submit contract + host validation).
43
+ export * from './lib/whiteboard-widget-bridge';
44
+ // View-scoped srcdoc builder pipe for sandboxed HTML widgets (rebuilt per mount,
45
+ // identity-stable while mounted — see the pipe's TSDoc for the lifecycle contract).
46
+ export * from './lib/whiteboard-srcdoc.pipe';
47
+ // Right-click context-menu model (pure — decides WHAT is offered, not how it renders).
48
+ export * from './lib/whiteboard-context-menu';
49
+ // Components (all standalone).
50
+ export * from './lib/whiteboard-board.component';
51
+ export * from './lib/whiteboard-toolbar.component';
52
+ export * from './lib/whiteboard-zoom.component';
53
+ export * from './lib/whiteboard-pages.component';
54
+ export * from './lib/whiteboard-agent-sees-popover.component';
55
+ export * from './lib/whiteboard-host.component';
56
+ export * from './lib/whiteboard-snapshot.component';
57
+ // Convenience NgModule + tree-shaking prevention hook.
58
+ export * from './lib/whiteboard.module';
59
+ //# sourceMappingURL=public-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,oFAAoF;AACpF,+CAA+C;AAC/C,cAAc,wBAAwB,CAAC;AAEvC,gFAAgF;AAChF,cAAc,wBAAwB,CAAC;AAEvC,wEAAwE;AACxE,cAAc,yBAAyB,CAAC;AAExC,uFAAuF;AACvF,cAAc,gCAAgC,CAAC;AAE/C,iFAAiF;AACjF,oFAAoF;AACpF,cAAc,8BAA8B,CAAC;AAE7C,uFAAuF;AACvF,cAAc,+BAA+B,CAAC;AAE9C,+BAA+B;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AAEpD,uDAAuD;AACvD,cAAc,yBAAyB,CAAC","sourcesContent":["/**\n * @packageDocumentation\n *\n * # @memberjunction/ng-whiteboard\n *\n * A generic, reusable collaborative whiteboard for ANY Angular application, designed for\n * dual authorship: a human user drawing with direct-manipulation tools, and a co-author\n * (typically an AI agent) mutating the same board through a programmatic, JSON-described\n * tool API. The package follows the MemberJunction Generic-component conventions: no\n * Router dependency, PascalCase public surface, standalone components, design-token\n * theming, and a cancelable before / after event pattern on every major mutation.\n *\n * ## Layers\n *\n * - **State engine** ({@link WhiteboardState}, `whiteboard-state.ts`) — Angular-free\n * typed board model: items, selection, snapshot undo/redo, a change journal with\n * coalesced scene deltas (the \"agent perception\" feed), JSON persistence, and the\n * before/after mutation events (`ItemAdding$` / `ItemAdded$`, …).\n * - **Programmatic tool API** (`whiteboard-tools.ts`) — the `Whiteboard_*` JSON tool\n * definitions plus {@link ApplyWhiteboardAgentTool}, the pure execute-one-tool-call\n * round-trip any agent/automation layer can drive.\n * - **Components** — {@link RealtimeWhiteboardHostComponent} (the full board surface:\n * header, toolbar, zoom cluster, perception popover, export menu, agent toast),\n * {@link RealtimeWhiteboardBoardComponent} (the canvas itself), and the supporting\n * toolbar / zoom / popover / read-only snapshot components.\n * - **Export builders** (`whiteboard-export.ts`) — pure functions producing one\n * self-contained HTML document or a standalone SVG of a board snapshot.\n * - **Widget input bridge** (`whiteboard-widget-bridge.ts`) — the `MJWhiteboard.submit`\n * postMessage contract that lets STRICTLY SANDBOXED HTML widgets send user input back\n * to the host.\n *\n * See the package README for a quickstart, the agent-integration recipe, the event\n * surface, security notes, and theming/extension points.\n */\n\n// State engine — board model, mutations, undo/redo, perception deltas, persistence,\n// and the before/after mutation event surface.\nexport * from './lib/whiteboard-state';\n\n// Programmatic mutation tool API (agent-facing JSON tools + the pure executor).\nexport * from './lib/whiteboard-tools';\n\n// Pure export builders (self-contained HTML document / standalone SVG).\nexport * from './lib/whiteboard-export';\n\n// Sandboxed HTML-widget input bridge (MJWhiteboard.submit contract + host validation).\nexport * from './lib/whiteboard-widget-bridge';\n\n// View-scoped srcdoc builder pipe for sandboxed HTML widgets (rebuilt per mount,\n// identity-stable while mounted — see the pipe's TSDoc for the lifecycle contract).\nexport * from './lib/whiteboard-srcdoc.pipe';\n\n// Right-click context-menu model (pure — decides WHAT is offered, not how it renders).\nexport * from './lib/whiteboard-context-menu';\n\n// Components (all standalone).\nexport * from './lib/whiteboard-board.component';\nexport * from './lib/whiteboard-toolbar.component';\nexport * from './lib/whiteboard-zoom.component';\nexport * from './lib/whiteboard-pages.component';\nexport * from './lib/whiteboard-agent-sees-popover.component';\nexport * from './lib/whiteboard-host.component';\nexport * from './lib/whiteboard-snapshot.component';\n\n// Convenience NgModule + tree-shaking prevention hook.\nexport * from './lib/whiteboard.module';\n"]}
package/package.json CHANGED
@@ -1,10 +1,47 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-whiteboard",
3
- "version": "0.0.1",
4
- "description": "OIDC trusted publishing setup package for @memberjunction/ng-whiteboard",
3
+ "version": "5.42.0",
4
+ "description": "MemberJunction: Generic collaborative whiteboard for any Angular application — Angular-free state engine with undo/redo + change journal, agent perception deltas, a programmatic (AI-agent-ready) mutation tool API, sandboxed HTML widgets with an input bridge, markdown panels, and self-contained HTML/SVG export",
5
+ "main": "./dist/public-api.js",
6
+ "typings": "./dist/public-api.d.ts",
7
+ "files": [
8
+ "/dist"
9
+ ],
10
+ "scripts": {
11
+ "test": "vitest run",
12
+ "build": "ngc",
13
+ "test:watch": "vitest"
14
+ },
5
15
  "keywords": [
6
- "oidc",
7
- "trusted-publishing",
8
- "setup"
9
- ]
16
+ "angular",
17
+ "whiteboard",
18
+ "canvas",
19
+ "collaboration",
20
+ "ai-agent",
21
+ "memberjunction"
22
+ ],
23
+ "author": "MemberJunction",
24
+ "license": "ISC",
25
+ "devDependencies": {
26
+ "@angular/compiler": "21.1.3",
27
+ "@angular/compiler-cli": "21.1.3",
28
+ "vitest": "^4.0.18"
29
+ },
30
+ "peerDependencies": {
31
+ "@angular/common": "21.1.3",
32
+ "@angular/core": "21.1.3",
33
+ "@angular/platform-browser": "21.1.3"
34
+ },
35
+ "dependencies": {
36
+ "@memberjunction/global": "5.42.0",
37
+ "@memberjunction/ng-code-editor": "5.42.0",
38
+ "@memberjunction/ng-markdown": "5.42.0",
39
+ "rxjs": "^7.8.2",
40
+ "tslib": "^2.8.1"
41
+ },
42
+ "sideEffects": false,
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "https://github.com/MemberJunction/MJ"
46
+ }
10
47
  }