@bimetal/whiteboard-angular-components 0.29.0 → 0.32.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.
@@ -1,5 +1,5 @@
1
1
  import { OnInit, OnDestroy, OnChanges, SimpleChanges, AfterViewInit, ElementRef } from '@angular/core';
2
- import type { Point, WhiteboardControllerSnapshot, WhiteboardLocale, WhiteboardConfigInput, ShapeView, Tool, AlignEdge, DistributeAxis, StyleInput } from '@bimetal/whiteboard-headless';
2
+ import type { Point, WhiteboardController, WhiteboardControllerSnapshot, WhiteboardLocale, WhiteboardConfigInput, ShapeView, Tool, AlignEdge, DistributeAxis, StyleInput } from '@bimetal/whiteboard-headless';
3
3
  import type { WhiteboardStore } from '@bimetal/whiteboard-data';
4
4
  import { type ResizeIntent } from './TransformHandles.js';
5
5
  import * as i0 from "@angular/core";
@@ -58,15 +58,26 @@ interface ThreadView {
58
58
  * reference.
59
59
  */
60
60
  export declare class WhiteboardComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges {
61
+ /** BOUND path (composition contract, F1/K4): an already-owned controller. When
62
+ * present the component renders its snapshot and forwards intents, but NEVER
63
+ * creates/destroys/setConfigs it. `null` tolerated (no template narrowing). */
64
+ controller?: WhiteboardController | null;
61
65
  store: WhiteboardStore;
62
66
  canvasId: string;
63
67
  config?: WhiteboardConfigInput;
64
68
  darkMode: boolean;
69
+ dir?: 'ltr' | 'rtl';
65
70
  /** Surfaces infrastructure errors (a domain rejection is an undo toast). */
66
71
  onError?: (err: unknown) => void;
72
+ /** OBSERVE hook (STANDALONE only): fires when the selected shapes change (ids, empty on clear). */
73
+ onSelectionChange?: (selectedIds: readonly string[]) => void;
67
74
  viewportRef?: ElementRef<HTMLDivElement>;
68
- private binding;
75
+ private binding?;
76
+ private ctrlRef;
77
+ private snapshotSig;
78
+ private unsub?;
69
79
  private zone;
80
+ private resizeObserver?;
70
81
  readonly tools: readonly {
71
82
  id: Tool;
72
83
  glyph: string;
@@ -81,7 +92,7 @@ export declare class WhiteboardComponent implements OnInit, AfterViewInit, OnDes
81
92
  }[];
82
93
  readonly arrowId: string;
83
94
  readonly markerUrl: string;
84
- get ctrl(): import("@bimetal/whiteboard-headless").WhiteboardController;
95
+ get ctrl(): WhiteboardController;
85
96
  get snapshot(): WhiteboardControllerSnapshot;
86
97
  get viewport(): import("@bimetal/whiteboard-headless").Viewport;
87
98
  get activeTool(): Tool;
@@ -158,7 +169,7 @@ export declare class WhiteboardComponent implements OnInit, AfterViewInit, OnDes
158
169
  trackPin(_i: number, p: PinView): string;
159
170
  trackIndex(i: number): number;
160
171
  static ɵfac: i0.ɵɵFactoryDeclaration<WhiteboardComponent, never>;
161
- static ɵcmp: i0.ɵɵComponentDeclaration<WhiteboardComponent, "bm-whiteboard", never, { "store": { "alias": "store"; "required": true; }; "canvasId": { "alias": "canvasId"; "required": true; }; "config": { "alias": "config"; "required": false; }; "darkMode": { "alias": "darkMode"; "required": false; }; "onError": { "alias": "onError"; "required": false; }; }, {}, never, never, true, never>;
172
+ static ɵcmp: i0.ɵɵComponentDeclaration<WhiteboardComponent, "bm-whiteboard", never, { "controller": { "alias": "controller"; "required": false; }; "store": { "alias": "store"; "required": true; }; "canvasId": { "alias": "canvasId"; "required": true; }; "config": { "alias": "config"; "required": false; }; "darkMode": { "alias": "darkMode"; "required": false; }; "dir": { "alias": "dir"; "required": false; }; "onError": { "alias": "onError"; "required": false; }; "onSelectionChange": { "alias": "onSelectionChange"; "required": false; }; }, {}, never, never, true, never>;
162
173
  }
163
174
  export {};
164
175
  //# sourceMappingURL=Whiteboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Whiteboard.d.ts","sourceRoot":"","sources":["../../src/components/Whiteboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Whiteboard.d.ts","sourceRoot":"","sources":["../../src/components/Whiteboard.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Component, Input, ViewChild, ElementRef, ChangeDetectionStrategy, NgZone, inject, } from '@angular/core';
1
+ import { Component, Input, ViewChild, ElementRef, ChangeDetectionStrategy, NgZone, inject, signal, } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { screenToBoard, boardToScreen, WHITEBOARD_TOOLS, WHITEBOARD_ALIGN, WHITEBOARD_DISTRIBUTE, whiteboardConnectorPath, whiteboardDrawPath, whiteboardDashArray, whiteboardCommentAnchor, } from '@bimetal/whiteboard-headless';
4
4
  import { createWhiteboardControllerBinding } from '@bimetal/angular';
@@ -7,6 +7,7 @@ import { TransformHandlesComponent } from './TransformHandles.js';
7
7
  import { StylePanelComponent } from './StylePanel.js';
8
8
  import { CommentThreadComponent } from './CommentThread.js';
9
9
  import { TextDialogComponent } from './TextDialog.js';
10
+ import { isEditableTarget } from '@bimetal/a11y-dom';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "@angular/common";
12
13
  const _c0 = ["viewportRef"];
@@ -88,7 +89,7 @@ function WhiteboardComponent_bm_wb_shape_37_Template(rf, ctx) { if (rf & 1) {
88
89
  } if (rf & 2) {
89
90
  const v_r12 = ctx.$implicit;
90
91
  const ctx_r3 = i0.ɵɵnextContext();
91
- i0.ɵɵproperty("view", v_r12)("dropTarget", ctx_r3.snapshot.dropTargetId === v_r12.shape.id);
92
+ i0.ɵɵproperty("shape", v_r12.shape)("selected", v_r12.selected)("dropTarget", ctx_r3.snapshot.dropTargetId === v_r12.shape.id)("lockedLabel", ctx_r3.locale.locked);
92
93
  } }
93
94
  function WhiteboardComponent_div_38_Template(rf, ctx) { if (rf & 1) {
94
95
  i0.ɵɵelement(0, "div", 39);
@@ -206,12 +207,6 @@ function WhiteboardComponent_bm_wb_text_dialog_47_Template(rf, ctx) { if (rf & 1
206
207
  * two mounted boards and `url(#…)` would resolve to the wrong marker. */
207
208
  let wbMarkerSeq = 0;
208
209
  const mod = (n, m) => ((n % m) + m) % m;
209
- function isEditableTarget(t) {
210
- const el = t;
211
- if (!el || !el.tagName)
212
- return false;
213
- return el.tagName === 'INPUT' || el.tagName === 'TEXTAREA' || el.isContentEditable === true;
214
- }
215
210
  /**
216
211
  * The Angular whiteboard — a thin, standalone-component binding over the canonical
217
212
  * `@bimetal/whiteboard-headless` controller. Owns DOM only: it converts
@@ -222,22 +217,33 @@ function isEditableTarget(t) {
222
217
  * reference.
223
218
  */
224
219
  export class WhiteboardComponent {
220
+ /** BOUND path (composition contract, F1/K4): an already-owned controller. When
221
+ * present the component renders its snapshot and forwards intents, but NEVER
222
+ * creates/destroys/setConfigs it. `null` tolerated (no template narrowing). */
223
+ controller;
225
224
  store;
226
225
  canvasId;
227
226
  config;
228
227
  darkMode = false;
228
+ dir;
229
229
  /** Surfaces infrastructure errors (a domain rejection is an undo toast). */
230
230
  onError;
231
+ /** OBSERVE hook (STANDALONE only): fires when the selected shapes change (ids, empty on clear). */
232
+ onSelectionChange;
231
233
  viewportRef;
232
- binding;
234
+ binding; // STANDALONE only — bound path leaves the owned controller untouched
235
+ ctrlRef;
236
+ snapshotSig;
237
+ unsub;
233
238
  zone = inject(NgZone, { optional: true }) ?? undefined;
239
+ resizeObserver;
234
240
  tools = WHITEBOARD_TOOLS;
235
241
  aligns = WHITEBOARD_ALIGN;
236
242
  distributes = WHITEBOARD_DISTRIBUTE;
237
243
  arrowId = `bm-wb-arrow-${wbMarkerSeq++}`;
238
244
  markerUrl = `url(#${this.arrowId})`;
239
- get ctrl() { return this.binding.ctrl; }
240
- get snapshot() { return this.binding.snapshot(); }
245
+ get ctrl() { return this.ctrlRef; }
246
+ get snapshot() { return this.snapshotSig(); }
241
247
  get viewport() { return this.snapshot.viewport; }
242
248
  get activeTool() { return this.snapshot.activeTool; }
243
249
  get cfg() { return this.snapshot.config; }
@@ -261,11 +267,11 @@ export class WhiteboardComponent {
261
267
  }
262
268
  // ── Selection-derived toolbar state ──
263
269
  get selectedViews() { return this.snapshot.shapes.filter((v) => v.selected); }
264
- get hasSel() { return this.snapshot.selection.length > 0; }
265
- get canAlign() { return this.snapshot.selection.length >= 2; } // controller no-ops below 2
266
- get canDistribute() { return this.snapshot.selection.length >= 3; } // controller no-ops below 3
267
- get canGroup() { return this.snapshot.selection.length >= 2; } // group needs ≥2
268
- get canUngroup() { return this.selectedViews.some((v) => v.shape.kind === 'frame' || v.shape.kind === 'group'); }
270
+ get hasSel() { return this.snapshot.selectedIds.length > 0; }
271
+ get canAlign() { return this.snapshot.canAlign; } // controller-derived (single source)
272
+ get canDistribute() { return this.snapshot.canDistribute; }
273
+ get canGroup() { return this.snapshot.canGroup; }
274
+ get canUngroup() { return this.snapshot.canUngroup; }
269
275
  // A group's box is derived from its children — not directly resizable/rotatable.
270
276
  get transformView() {
271
277
  // The controller decides WHICH shape (if any) shows handles via transformHandleId.
@@ -393,12 +399,27 @@ export class WhiteboardComponent {
393
399
  }
394
400
  };
395
401
  ngOnInit() {
396
- this.binding = createWhiteboardControllerBinding({
397
- store: this.store,
398
- canvasId: this.canvasId,
399
- config: this.config,
400
- onError: (err) => this.onError?.(err),
401
- }, this.zone);
402
+ if (this.controller) {
403
+ // BOUND: adapt the owned controller to a signal; never create/destroy/mutate it.
404
+ this.ctrlRef = this.controller;
405
+ const sig = signal(this.ctrlRef.getSnapshot());
406
+ this.unsub = this.ctrlRef.subscribe(() => {
407
+ const set = () => sig.set(this.ctrlRef.getSnapshot());
408
+ this.zone ? this.zone.run(set) : set();
409
+ });
410
+ this.snapshotSig = sig;
411
+ }
412
+ else {
413
+ this.binding = createWhiteboardControllerBinding({
414
+ store: this.store,
415
+ canvasId: this.canvasId,
416
+ config: this.config,
417
+ onError: (err) => this.onError?.(err),
418
+ onSelectionChange: this.onSelectionChange,
419
+ }, this.zone);
420
+ this.ctrlRef = this.binding.ctrl;
421
+ this.snapshotSig = this.binding.snapshot;
422
+ }
402
423
  if (typeof window !== 'undefined') {
403
424
  window.addEventListener('pointermove', this.onMove);
404
425
  window.addEventListener('pointerup', this.onUp);
@@ -406,7 +427,15 @@ export class WhiteboardComponent {
406
427
  }
407
428
  }
408
429
  ngAfterViewInit() {
409
- this.viewportRef?.nativeElement.addEventListener('wheel', this.onWheel, { passive: false });
430
+ const vp = this.viewportRef?.nativeElement;
431
+ vp?.addEventListener('wheel', this.onWheel, { passive: false });
432
+ // v0.30 Slice 5c: report the viewport's SCREEN size for 2D-culling. Additive —
433
+ // the controller renders all shapes until the first report. ResizeObserver fires
434
+ // once on observe, so the initial size lands without a manual measure.
435
+ if (vp) {
436
+ this.resizeObserver = new ResizeObserver(() => this.ctrl.setViewportSize(vp.clientWidth, vp.clientHeight));
437
+ this.resizeObserver.observe(vp);
438
+ }
410
439
  }
411
440
  ngOnChanges(changes) {
412
441
  if (!this.binding)
@@ -422,7 +451,9 @@ export class WhiteboardComponent {
422
451
  window.removeEventListener('pointercancel', this.onCancel);
423
452
  }
424
453
  this.viewportRef?.nativeElement.removeEventListener('wheel', this.onWheel);
425
- this.binding?.destroy();
454
+ this.resizeObserver?.disconnect();
455
+ this.unsub?.();
456
+ this.binding?.destroy(); // undefined on the bound path → the owned controller is left intact
426
457
  }
427
458
  // ── Pointer entry points (read the live snapshot for the armed tool) ──
428
459
  onViewportPointerDown(e) {
@@ -521,7 +552,7 @@ export class WhiteboardComponent {
521
552
  } if (rf & 2) {
522
553
  let _t;
523
554
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.viewportRef = _t.first);
524
- } }, hostAttrs: [2, "display", "block", "width", "100%", "height", "100%"], inputs: { store: "store", canvasId: "canvasId", config: "config", darkMode: "darkMode", onError: "onError" }, features: [i0.ɵɵNgOnChangesFeature], decls: 48, vars: 46, consts: [["viewportRef", ""], ["role", "application", "tabindex", "0", 1, "bm-wb", 3, "keydown"], [1, "bm-wb__toolbar"], ["type", "button", 3, "class", "click", 4, "ngFor", "ngForOf"], [1, "bm-wb__toolbar-sep"], ["type", "button", 1, "bm-wb__btn", 3, "click", "disabled"], ["type", "button", 1, "bm-wb__btn", "bm-wb__lock-btn", 3, "click", "disabled"], ["type", "button", "data-action", "group", 1, "bm-wb__btn", 3, "click", "disabled"], ["type", "button", "data-action", "ungroup", 1, "bm-wb__btn", 3, "click", "disabled"], ["type", "button", "data-action", "duplicate", 1, "bm-wb__btn", 3, "click", "disabled"], ["type", "button", "class", "bm-wb__btn", 3, "disabled", "click", 4, "ngFor", "ngForOf"], ["type", "button", 1, "bm-wb__btn", 3, "click"], [1, "bm-wb__toolbar-zoom"], ["data-testid", "wb-viewport", 3, "pointerdown", "ngStyle"], [1, "bm-wb__scene"], ["data-testid", "wb-connectors", 1, "bm-wb__connectors"], ["markerWidth", "8", "markerHeight", "8", "refX", "7", "refY", "4", "orient", "auto"], ["d", "M0,0 L7,4 L0,8 Z", "fill", "context-stroke"], ["class", "bm-wb__connector", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "bm-wb__connector-preview", 4, "ngIf"], ["class", "bm-wb__draw-preview", "data-testid", "wb-draw-preview", 4, "ngIf"], ["class", "bm-wb__guide", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "view", "dropTarget", "shapePointerDown", "shapeDoubleClick", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "bm-wb__marquee", 3, "left", "top", "width", "height", 4, "ngIf"], ["class", "bm-wb__create-preview", 3, "left", "top", "width", "height", 4, "ngIf"], [3, "view", "resize", "rotate", 4, "ngIf"], ["type", "button", 3, "class", "left", "top", "pointerdown", "click", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "bm-wb__laser-layer", "data-testid", "wb-laser-layer", 4, "ngIf"], [3, "at", "initial", "existing", "resolved", "locale", "commit", "close", 4, "ngIf"], [3, "at", "initial", "existing", "resolved", "locale", "commit", "close", "resolve", "delete", 4, "ngIf"], [3, "style", "locale", "styleInput", 4, "ngIf"], ["class", "bm-wb__toast", "role", "status", 4, "ngIf"], [3, "initial", "locale", "save", "close", "delete", 4, "ngIf"], ["type", "button", 3, "click"], [1, "bm-wb__connector"], [1, "bm-wb__connector-preview"], ["data-testid", "wb-draw-preview", 1, "bm-wb__draw-preview"], [1, "bm-wb__guide"], [3, "shapePointerDown", "shapeDoubleClick", "view", "dropTarget"], [1, "bm-wb__marquee"], [1, "bm-wb__create-preview"], [3, "resize", "rotate", "view"], ["type", "button", 3, "pointerdown", "click"], ["data-testid", "wb-laser-layer", 1, "bm-wb__laser-layer"], ["class", "bm-wb__laser", "data-testid", "wb-laser", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["data-testid", "wb-laser", 1, "bm-wb__laser"], [3, "commit", "close", "at", "initial", "existing", "resolved", "locale"], [3, "commit", "close", "resolve", "delete", "at", "initial", "existing", "resolved", "locale"], [3, "styleInput", "locale"], ["role", "status", 1, "bm-wb__toast"], ["type", "button", 1, "bm-wb__toast-btn", 3, "click"], [3, "save", "close", "delete", "initial", "locale"]], template: function WhiteboardComponent_Template(rf, ctx) { if (rf & 1) {
555
+ } }, hostAttrs: [2, "display", "block", "width", "100%", "height", "100%"], inputs: { controller: "controller", store: "store", canvasId: "canvasId", config: "config", darkMode: "darkMode", dir: "dir", onError: "onError", onSelectionChange: "onSelectionChange" }, features: [i0.ɵɵNgOnChangesFeature], decls: 48, vars: 47, consts: [["viewportRef", ""], ["role", "application", "tabindex", "0", 1, "bm-wb", 3, "keydown"], [1, "bm-wb__toolbar"], ["type", "button", 3, "class", "click", 4, "ngFor", "ngForOf"], [1, "bm-wb__toolbar-sep"], ["type", "button", 1, "bm-wb__btn", 3, "click", "disabled"], ["type", "button", 1, "bm-wb__btn", "bm-wb__lock-btn", 3, "click", "disabled"], ["type", "button", "data-action", "group", 1, "bm-wb__btn", 3, "click", "disabled"], ["type", "button", "data-action", "ungroup", 1, "bm-wb__btn", 3, "click", "disabled"], ["type", "button", "data-action", "duplicate", 1, "bm-wb__btn", 3, "click", "disabled"], ["type", "button", "class", "bm-wb__btn", 3, "disabled", "click", 4, "ngFor", "ngForOf"], ["type", "button", 1, "bm-wb__btn", 3, "click"], [1, "bm-wb__toolbar-zoom"], ["data-testid", "wb-viewport", 3, "pointerdown", "ngStyle"], [1, "bm-wb__scene"], ["data-testid", "wb-connectors", 1, "bm-wb__connectors"], ["markerWidth", "8", "markerHeight", "8", "refX", "7", "refY", "4", "orient", "auto"], ["d", "M0,0 L7,4 L0,8 Z", "fill", "context-stroke"], ["class", "bm-wb__connector", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "bm-wb__connector-preview", 4, "ngIf"], ["class", "bm-wb__draw-preview", "data-testid", "wb-draw-preview", 4, "ngIf"], ["class", "bm-wb__guide", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "shape", "selected", "dropTarget", "lockedLabel", "shapePointerDown", "shapeDoubleClick", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "bm-wb__marquee", 3, "left", "top", "width", "height", 4, "ngIf"], ["class", "bm-wb__create-preview", 3, "left", "top", "width", "height", 4, "ngIf"], [3, "view", "resize", "rotate", 4, "ngIf"], ["type", "button", 3, "class", "left", "top", "pointerdown", "click", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "bm-wb__laser-layer", "data-testid", "wb-laser-layer", 4, "ngIf"], [3, "at", "initial", "existing", "resolved", "locale", "commit", "close", 4, "ngIf"], [3, "at", "initial", "existing", "resolved", "locale", "commit", "close", "resolve", "delete", 4, "ngIf"], [3, "style", "locale", "styleInput", 4, "ngIf"], ["class", "bm-wb__toast", "role", "status", 4, "ngIf"], [3, "initial", "locale", "save", "close", "delete", 4, "ngIf"], ["type", "button", 3, "click"], [1, "bm-wb__connector"], [1, "bm-wb__connector-preview"], ["data-testid", "wb-draw-preview", 1, "bm-wb__draw-preview"], [1, "bm-wb__guide"], [3, "shapePointerDown", "shapeDoubleClick", "shape", "selected", "dropTarget", "lockedLabel"], [1, "bm-wb__marquee"], [1, "bm-wb__create-preview"], [3, "resize", "rotate", "view"], ["type", "button", 3, "pointerdown", "click"], ["data-testid", "wb-laser-layer", 1, "bm-wb__laser-layer"], ["class", "bm-wb__laser", "data-testid", "wb-laser", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["data-testid", "wb-laser", 1, "bm-wb__laser"], [3, "commit", "close", "at", "initial", "existing", "resolved", "locale"], [3, "commit", "close", "resolve", "delete", "at", "initial", "existing", "resolved", "locale"], [3, "styleInput", "locale"], ["role", "status", 1, "bm-wb__toast"], ["type", "button", 1, "bm-wb__toast-btn", 3, "click"], [3, "save", "close", "delete", "initial", "locale"]], template: function WhiteboardComponent_Template(rf, ctx) { if (rf & 1) {
525
556
  const _r1 = i0.ɵɵgetCurrentView();
526
557
  i0.ɵɵelementStart(0, "div", 1);
527
558
  i0.ɵɵlistener("keydown", function WhiteboardComponent_Template_div_keydown_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onKeydown($event)); });
@@ -575,14 +606,15 @@ export class WhiteboardComponent {
575
606
  i0.ɵɵelementEnd()();
576
607
  i0.ɵɵtemplate(33, WhiteboardComponent__svg_path_33_Template, 1, 8, "path", 18)(34, WhiteboardComponent__svg_path_34_Template, 1, 1, "path", 19)(35, WhiteboardComponent__svg_path_35_Template, 1, 1, "path", 20)(36, WhiteboardComponent__svg_line_36_Template, 1, 5, "line", 21);
577
608
  i0.ɵɵelementEnd();
578
- i0.ɵɵtemplate(37, WhiteboardComponent_bm_wb_shape_37_Template, 1, 2, "bm-wb-shape", 22)(38, WhiteboardComponent_div_38_Template, 1, 8, "div", 23)(39, WhiteboardComponent_div_39_Template, 1, 8, "div", 24)(40, WhiteboardComponent_bm_wb_transform_handles_40_Template, 1, 1, "bm-wb-transform-handles", 25)(41, WhiteboardComponent_button_41_Template, 2, 9, "button", 26)(42, WhiteboardComponent__svg_svg_42_Template, 2, 2, "svg", 27);
609
+ i0.ɵɵtemplate(37, WhiteboardComponent_bm_wb_shape_37_Template, 1, 4, "bm-wb-shape", 22)(38, WhiteboardComponent_div_38_Template, 1, 8, "div", 23)(39, WhiteboardComponent_div_39_Template, 1, 8, "div", 24)(40, WhiteboardComponent_bm_wb_transform_handles_40_Template, 1, 1, "bm-wb-transform-handles", 25)(41, WhiteboardComponent_button_41_Template, 2, 9, "button", 26)(42, WhiteboardComponent__svg_svg_42_Template, 2, 2, "svg", 27);
579
610
  i0.ɵɵelementEnd();
580
611
  i0.ɵɵtemplate(43, WhiteboardComponent_bm_wb_comment_thread_43_Template, 1, 5, "bm-wb-comment-thread", 28)(44, WhiteboardComponent_bm_wb_comment_thread_44_Template, 1, 5, "bm-wb-comment-thread", 29);
581
612
  i0.ɵɵelementEnd();
582
613
  i0.ɵɵtemplate(45, WhiteboardComponent_bm_wb_style_panel_45_Template, 1, 3, "bm-wb-style-panel", 30)(46, WhiteboardComponent_div_46_Template, 5, 2, "div", 31)(47, WhiteboardComponent_bm_wb_text_dialog_47_Template, 1, 2, "bm-wb-text-dialog", 32);
583
614
  i0.ɵɵelementEnd();
584
615
  } if (rf & 2) {
585
- i0.ɵɵattribute("data-theme", ctx.darkMode ? "dark" : null)("aria-label", ctx.snapshot.ariaLabel);
616
+ let tmp_2_0;
617
+ i0.ɵɵattribute("data-theme", ctx.darkMode ? "dark" : null)("dir", (tmp_2_0 = ctx.dir) !== null && tmp_2_0 !== undefined ? tmp_2_0 : null)("aria-label", ctx.snapshot.ariaLabel);
586
618
  i0.ɵɵadvance(2);
587
619
  i0.ɵɵproperty("ngForOf", ctx.tools);
588
620
  i0.ɵɵadvance(2);
@@ -670,7 +702,7 @@ export class WhiteboardComponent {
670
702
  ],
671
703
  changeDetection: ChangeDetectionStrategy.OnPush,
672
704
  template: `
673
- <div class="bm-wb" [attr.data-theme]="darkMode ? 'dark' : null" role="application" [attr.aria-label]="snapshot.ariaLabel" tabindex="0" (keydown)="onKeydown($event)">
705
+ <div class="bm-wb" [attr.data-theme]="darkMode ? 'dark' : null" [attr.dir]="dir ?? null" role="application" [attr.aria-label]="snapshot.ariaLabel" tabindex="0" (keydown)="onKeydown($event)">
674
706
  <div class="bm-wb__toolbar">
675
707
  <button
676
708
  *ngFor="let t of tools"
@@ -745,8 +777,10 @@ export class WhiteboardComponent {
745
777
 
746
778
  <bm-wb-shape
747
779
  *ngFor="let v of snapshot.shapes; trackBy: trackShape"
748
- [view]="v"
780
+ [shape]="v.shape"
781
+ [selected]="v.selected"
749
782
  [dropTarget]="snapshot.dropTargetId === v.shape.id"
783
+ [lockedLabel]="locale.locked"
750
784
  (shapePointerDown)="onShapeDown(v.shape.id, $event)"
751
785
  (shapeDoubleClick)="onShapeDblClick(v.shape.id, $event)"></bm-wb-shape>
752
786
 
@@ -825,7 +859,9 @@ export class WhiteboardComponent {
825
859
  </div>
826
860
  `,
827
861
  }]
828
- }], null, { store: [{
862
+ }], null, { controller: [{
863
+ type: Input
864
+ }], store: [{
829
865
  type: Input,
830
866
  args: [{ required: true }]
831
867
  }], canvasId: [{
@@ -835,11 +871,15 @@ export class WhiteboardComponent {
835
871
  type: Input
836
872
  }], darkMode: [{
837
873
  type: Input
874
+ }], dir: [{
875
+ type: Input
838
876
  }], onError: [{
839
877
  type: Input
878
+ }], onSelectionChange: [{
879
+ type: Input
840
880
  }], viewportRef: [{
841
881
  type: ViewChild,
842
882
  args: ['viewportRef']
843
883
  }] }); })();
844
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WhiteboardComponent, { className: "WhiteboardComponent", filePath: "components/whiteboard.ts", lineNumber: 229 }); })();
884
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WhiteboardComponent, { className: "WhiteboardComponent", filePath: "components/whiteboard.ts", lineNumber: 227 }); })();
845
885
  //# sourceMappingURL=Whiteboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Whiteboard.js","sourceRoot":"","sources":["../../src/components/Whiteboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Whiteboard.js","sourceRoot":"","sources":["../../src/components/Whiteboard.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import type { ShapeView } from '@bimetal/whiteboard-headless';
2
+ import type { Shape } from '@bimetal/whiteboard-data';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * One shape, positioned in BOARD coordinates inside the pan/zoom scene (the
@@ -8,13 +8,26 @@ import * as i0 from "@angular/core";
8
8
  * (ellipse/diamond via CSS). A pure renderer — the pointer/dblclick events are the
9
9
  * only seams; the parent owns the board-coord conversion. 1:1 with the React
10
10
  * reference.
11
+ *
12
+ * v0.30 Slice 3 (Angular identity-treue): the `ShapeView` WRAPPER (rebuilt every snapshot)
13
+ * is DECOMPOSED into a stable `shape` ref (structural-sharing-memoised in the controller) plus
14
+ * the `selected`/`dropTarget` primitives, so `OnPush` skips checking unchanged shapes (a fresh
15
+ * wrapper ref would fail OnPush's input-identity check and re-render every shape).
11
16
  */
12
17
  export declare class WhiteboardShapeComponent {
13
- view: ShapeView;
18
+ shape: Shape;
19
+ selected: boolean;
14
20
  dropTarget: boolean;
21
+ /** Accessible name for the lock badge (locale.locked — a stable string, threaded
22
+ * from the parent so it does not reach into a global and stays OnPush-safe). */
23
+ lockedLabel: string;
15
24
  shapePointerDown: EventEmitter<PointerEvent>;
16
25
  shapeDoubleClick: EventEmitter<MouseEvent>;
17
- get s(): import("@bimetal/whiteboard-data").Shape;
26
+ /** v0.30 Slice 3 perf probe: a template binding evaluates ONLY when the view is refreshed,
27
+ * so this counts REAL leaf re-renders (unlike ngDoCheck, which can fire without a refresh).
28
+ * Returns null → renders no attribute; a single boolean check when the probe is disabled. */
29
+ probe(): null;
30
+ get s(): Shape;
18
31
  get isText(): boolean;
19
32
  get isFrame(): boolean;
20
33
  get isDraw(): boolean;
@@ -25,6 +38,6 @@ export declare class WhiteboardShapeComponent {
25
38
  get boxStyle(): Record<string, string | undefined>;
26
39
  get cls(): string;
27
40
  static ɵfac: i0.ɵɵFactoryDeclaration<WhiteboardShapeComponent, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<WhiteboardShapeComponent, "bm-wb-shape", never, { "view": { "alias": "view"; "required": true; }; "dropTarget": { "alias": "dropTarget"; "required": false; }; }, { "shapePointerDown": "shapePointerDown"; "shapeDoubleClick": "shapeDoubleClick"; }, never, never, true, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<WhiteboardShapeComponent, "bm-wb-shape", never, { "shape": { "alias": "shape"; "required": true; }; "selected": { "alias": "selected"; "required": false; }; "dropTarget": { "alias": "dropTarget"; "required": false; }; "lockedLabel": { "alias": "lockedLabel"; "required": true; }; }, { "shapePointerDown": "shapePointerDown"; "shapeDoubleClick": "shapeDoubleClick"; }, never, never, true, never>;
29
42
  }
30
43
  //# sourceMappingURL=WhiteboardShape.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WhiteboardShape.d.ts","sourceRoot":"","sources":["../../src/components/WhiteboardShape.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAA2B,MAAM,eAAe,CAAC;AAGhG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;;AAE9D;;;;;;;GAOG;AACH,qBAkCa,wBAAwB;IACR,IAAI,EAAG,SAAS,CAAC;IACnC,UAAU,UAAS;IAClB,gBAAgB,6BAAoC;IACpD,gBAAgB,2BAAkC;IAE5D,IAAI,CAAC,6CAA8B;IACnC,IAAI,MAAM,IAAI,OAAO,CAAmC;IACxD,IAAI,OAAO,IAAI,OAAO,CAAoC;IAC1D,IAAI,MAAM,IAAI,OAAO,CAAmC;IACxD,IAAI,OAAO,IAAI,OAAO,CAAoC;IAC1D,IAAI,QAAQ,IAAI,OAAO,CAA2E;IAElG,IAAI,QAAQ,IAAI,MAAM,CAAmE;IACzF,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAAmD;IAEtF,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAiBjD;IAED,IAAI,GAAG,IAAI,MAAM,CAMhB;yCAzCU,wBAAwB;2CAAxB,wBAAwB;CA0CpC"}
1
+ {"version":3,"file":"WhiteboardShape.d.ts","sourceRoot":"","sources":["../../src/components/WhiteboardShape.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAA2B,MAAM,eAAe,CAAC;AAGhG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;;AAGtD;;;;;;;;;;;;GAYG;AACH,qBAmCa,wBAAwB;IACR,KAAK,EAAG,KAAK,CAAC;IAChC,QAAQ,UAAS;IACjB,UAAU,UAAS;IAC5B;qFACiF;IACtD,WAAW,EAAG,MAAM,CAAC;IACtC,gBAAgB,6BAAoC;IACpD,gBAAgB,2BAAkC;IAE5D;;kGAE8F;IAC9F,KAAK,IAAI,IAAI;IAEb,IAAI,CAAC,UAAyB;IAC9B,IAAI,MAAM,IAAI,OAAO,CAAmC;IACxD,IAAI,OAAO,IAAI,OAAO,CAAoC;IAC1D,IAAI,MAAM,IAAI,OAAO,CAAmC;IACxD,IAAI,OAAO,IAAI,OAAO,CAAoC;IAC1D,IAAI,QAAQ,IAAI,OAAO,CAA2E;IAElG,IAAI,QAAQ,IAAI,MAAM,CAAmE;IACzF,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAAmD;IAEtF,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAiBjD;IAED,IAAI,GAAG,IAAI,MAAM,CAMhB;yCAlDU,wBAAwB;2CAAxB,wBAAwB;CAmDpC"}
@@ -1,6 +1,7 @@
1
1
  import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { whiteboardDrawPath, whiteboardDashArray } from '@bimetal/whiteboard-headless';
4
+ import { probeRender } from '@bimetal/angular';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  function WhiteboardShapeComponent__svg_svg_1_Template(rf, ctx) { if (rf & 1) {
@@ -27,6 +28,9 @@ function WhiteboardShapeComponent_span_3_Template(rf, ctx) { if (rf & 1) {
27
28
  i0.ɵɵelementStart(0, "span", 7);
28
29
  i0.ɵɵtext(1, "\uD83D\uDD12");
29
30
  i0.ɵɵelementEnd();
31
+ } if (rf & 2) {
32
+ const ctx_r0 = i0.ɵɵnextContext();
33
+ i0.ɵɵattribute("aria-label", ctx_r0.lockedLabel);
30
34
  } }
31
35
  /**
32
36
  * One shape, positioned in BOARD coordinates inside the pan/zoom scene (the
@@ -35,13 +39,26 @@ function WhiteboardShapeComponent_span_3_Template(rf, ctx) { if (rf & 1) {
35
39
  * (ellipse/diamond via CSS). A pure renderer — the pointer/dblclick events are the
36
40
  * only seams; the parent owns the board-coord conversion. 1:1 with the React
37
41
  * reference.
42
+ *
43
+ * v0.30 Slice 3 (Angular identity-treue): the `ShapeView` WRAPPER (rebuilt every snapshot)
44
+ * is DECOMPOSED into a stable `shape` ref (structural-sharing-memoised in the controller) plus
45
+ * the `selected`/`dropTarget` primitives, so `OnPush` skips checking unchanged shapes (a fresh
46
+ * wrapper ref would fail OnPush's input-identity check and re-render every shape).
38
47
  */
39
48
  export class WhiteboardShapeComponent {
40
- view;
49
+ shape;
50
+ selected = false;
41
51
  dropTarget = false;
52
+ /** Accessible name for the lock badge (locale.locked — a stable string, threaded
53
+ * from the parent so it does not reach into a global and stays OnPush-safe). */
54
+ lockedLabel;
42
55
  shapePointerDown = new EventEmitter();
43
56
  shapeDoubleClick = new EventEmitter();
44
- get s() { return this.view.shape; }
57
+ /** v0.30 Slice 3 perf probe: a template binding evaluates ONLY when the view is refreshed,
58
+ * so this counts REAL leaf re-renders (unlike ngDoCheck, which can fire without a refresh).
59
+ * Returns null → renders no attribute; a single boolean check when the probe is disabled. */
60
+ probe() { probeRender(this.shape.id); return null; }
61
+ get s() { return this.shape; }
45
62
  get isText() { return this.s.kind === 'text'; }
46
63
  get isFrame() { return this.s.kind === 'frame'; }
47
64
  get isDraw() { return this.s.kind === 'draw'; }
@@ -70,20 +87,20 @@ export class WhiteboardShapeComponent {
70
87
  get cls() {
71
88
  const s = this.s;
72
89
  return `bm-wb__shape bm-wb__shape--${s.kind}`
73
- + (this.view.selected ? ' bm-wb__shape--selected' : '')
90
+ + (this.selected ? ' bm-wb__shape--selected' : '')
74
91
  + (s.locked ? ' bm-wb__shape--locked' : '')
75
92
  + (this.dropTarget ? ' bm-wb__shape--drop-target' : '');
76
93
  }
77
94
  static ɵfac = function WhiteboardShapeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WhiteboardShapeComponent)(); };
78
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WhiteboardShapeComponent, selectors: [["bm-wb-shape"]], hostAttrs: [2, "display", "contents"], inputs: { view: "view", dropTarget: "dropTarget" }, outputs: { shapePointerDown: "shapePointerDown", shapeDoubleClick: "shapeDoubleClick" }, decls: 4, vars: 8, consts: [[3, "pointerdown", "dblclick", "ngStyle"], ["class", "bm-wb__draw", 4, "ngIf"], ["class", "bm-wb__shape-text", 4, "ngIf"], ["class", "bm-wb__lock-badge", "aria-label", "locked", 4, "ngIf"], [1, "bm-wb__draw"], ["fill", "none", "stroke-linecap", "round", "stroke-linejoin", "round"], [1, "bm-wb__shape-text"], ["aria-label", "locked", 1, "bm-wb__lock-badge"]], template: function WhiteboardShapeComponent_Template(rf, ctx) { if (rf & 1) {
95
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WhiteboardShapeComponent, selectors: [["bm-wb-shape"]], hostAttrs: [2, "display", "contents"], inputs: { shape: "shape", selected: "selected", dropTarget: "dropTarget", lockedLabel: "lockedLabel" }, outputs: { shapePointerDown: "shapePointerDown", shapeDoubleClick: "shapeDoubleClick" }, decls: 4, vars: 9, consts: [[3, "pointerdown", "dblclick", "ngStyle"], ["class", "bm-wb__draw", 4, "ngIf"], ["class", "bm-wb__shape-text", 4, "ngIf"], ["class", "bm-wb__lock-badge", 4, "ngIf"], [1, "bm-wb__draw"], ["fill", "none", "stroke-linecap", "round", "stroke-linejoin", "round"], [1, "bm-wb__shape-text"], [1, "bm-wb__lock-badge"]], template: function WhiteboardShapeComponent_Template(rf, ctx) { if (rf & 1) {
79
96
  i0.ɵɵelementStart(0, "div", 0);
80
97
  i0.ɵɵlistener("pointerdown", function WhiteboardShapeComponent_Template_div_pointerdown_0_listener($event) { return ctx.shapePointerDown.emit($event); })("dblclick", function WhiteboardShapeComponent_Template_div_dblclick_0_listener($event) { return ctx.shapeDoubleClick.emit($event); });
81
- i0.ɵɵtemplate(1, WhiteboardShapeComponent__svg_svg_1_Template, 2, 7, "svg", 1)(2, WhiteboardShapeComponent_span_2_Template, 2, 1, "span", 2)(3, WhiteboardShapeComponent_span_3_Template, 2, 0, "span", 3);
98
+ i0.ɵɵtemplate(1, WhiteboardShapeComponent__svg_svg_1_Template, 2, 7, "svg", 1)(2, WhiteboardShapeComponent_span_2_Template, 2, 1, "span", 2)(3, WhiteboardShapeComponent_span_3_Template, 2, 1, "span", 3);
82
99
  i0.ɵɵelementEnd();
83
100
  } if (rf & 2) {
84
101
  i0.ɵɵclassMap(ctx.cls);
85
102
  i0.ɵɵproperty("ngStyle", ctx.boxStyle);
86
- i0.ɵɵattribute("data-shape-id", ctx.s.id)("data-kind", ctx.s.kind);
103
+ i0.ɵɵattribute("data-shape-id", ctx.s.id)("data-kind", ctx.s.kind)("data-r", ctx.probe());
87
104
  i0.ɵɵadvance();
88
105
  i0.ɵɵproperty("ngIf", ctx.isDraw && ctx.s.points);
89
106
  i0.ɵɵadvance();
@@ -106,6 +123,7 @@ export class WhiteboardShapeComponent {
106
123
  [ngStyle]="boxStyle"
107
124
  [attr.data-shape-id]="s.id"
108
125
  [attr.data-kind]="s.kind"
126
+ [attr.data-r]="probe()"
109
127
  (pointerdown)="shapePointerDown.emit($event)"
110
128
  (dblclick)="shapeDoubleClick.emit($event)">
111
129
  <svg
@@ -124,19 +142,24 @@ export class WhiteboardShapeComponent {
124
142
  stroke-linejoin="round"></path>
125
143
  </svg>
126
144
  <span *ngIf="!isDraw && (isText || isFrame || s.text)" class="bm-wb__shape-text">{{ s.text }}</span>
127
- <span *ngIf="s.locked" class="bm-wb__lock-badge" aria-label="locked">🔒</span>
145
+ <span *ngIf="s.locked" class="bm-wb__lock-badge" [attr.aria-label]="lockedLabel">🔒</span>
128
146
  </div>
129
147
  `,
130
148
  }]
131
- }], null, { view: [{
149
+ }], null, { shape: [{
132
150
  type: Input,
133
151
  args: [{ required: true }]
152
+ }], selected: [{
153
+ type: Input
134
154
  }], dropTarget: [{
135
155
  type: Input
156
+ }], lockedLabel: [{
157
+ type: Input,
158
+ args: [{ required: true }]
136
159
  }], shapePointerDown: [{
137
160
  type: Output
138
161
  }], shapeDoubleClick: [{
139
162
  type: Output
140
163
  }] }); })();
141
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WhiteboardShapeComponent, { className: "WhiteboardShapeComponent", filePath: "components/whiteboardshape.ts", lineNumber: 48 }); })();
164
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WhiteboardShapeComponent, { className: "WhiteboardShapeComponent", filePath: "components/whiteboardshape.ts", lineNumber: 55 }); })();
142
165
  //# sourceMappingURL=WhiteboardShape.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WhiteboardShape.js","sourceRoot":"","sources":["../../src/components/WhiteboardShape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WhiteboardShape.js","sourceRoot":"","sources":["../../src/components/WhiteboardShape.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bimetal/whiteboard-angular-components",
3
- "version": "0.29.0",
3
+ "version": "0.32.0",
4
4
  "description": "Default Angular whiteboard — infinite-canvas pan/zoom, shapes, drag/resize/rotate, connectors, freehand, smart guides, group, frames, comments, laser, style panel, theming.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,10 +24,11 @@
24
24
  "prepublishOnly": "npm run build"
25
25
  },
26
26
  "dependencies": {
27
- "@bimetal/angular": "^0.29.0",
28
- "@bimetal/whiteboard-data": "^0.29.0",
29
- "@bimetal/whiteboard-headless": "^0.29.0",
30
- "@bimetal/whiteboard-themes": "^0.29.0"
27
+ "@bimetal/angular": "^0.32.0",
28
+ "@bimetal/whiteboard-data": "^0.32.0",
29
+ "@bimetal/whiteboard-headless": "^0.32.0",
30
+ "@bimetal/whiteboard-themes": "^0.32.0",
31
+ "@bimetal/a11y-dom": "^0.32.0"
31
32
  },
32
33
  "peerDependencies": {
33
34
  "@angular/core": "^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0",