@stocksharp/diagram 1.2.0 → 1.2.2

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.
@@ -330,6 +330,7 @@ export declare class Diagram {
330
330
  private hoverPort;
331
331
  private hoverNode;
332
332
  private hoveredLink;
333
+ private portFeed;
333
334
  private tipTimer;
334
335
  private tipShow;
335
336
  private tipTarget;
@@ -348,6 +349,7 @@ export declare class Diagram {
348
349
  private validator;
349
350
  private handlers;
350
351
  constructor(opts: DiagramOptions);
352
+ private observeHostSize;
351
353
  on<K extends EvName>(ev: K, h: (p: DiagramEvents[K]) => void): () => void;
352
354
  private emit;
353
355
  setLinkValidator(fn: LinkValidator | null): void;
@@ -484,6 +486,8 @@ export declare class Diagram {
484
486
  private relayout;
485
487
  private toScreen;
486
488
  private toWorld;
489
+ private feedTypes;
490
+ private portFillType;
487
491
  private portColor;
488
492
  private selectionColor;
489
493
  private linkHoverColor;
@@ -518,6 +522,7 @@ export declare class Diagram {
518
522
  }): string[];
519
523
  private clearHover;
520
524
  private cancelLongPress;
525
+ private commitNodeDrag;
521
526
  private fireContextMenu;
522
527
  private listen;
523
528
  private bind;
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-renderer.d.ts","sourceRoot":"","sources":["../../src/canvas-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas-renderer.d.ts","sourceRoot":"","sources":["../../src/canvas-renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Perceived brightness of a CSS colour, or -1 when it cannot be read.
3
+ *
4
+ * Six-digit hex was the only form understood, and everything else answered 0 -- black. A page
5
+ * writing --diagram-bg as #fff, white or rgb(255 255 255) therefore had its white canvas
6
+ * classified as dark and got the dark link palette: near-white wires on a near-white background.
7
+ * Unreadable is now -1 rather than 0, so the caller can keep its own default instead of being
8
+ * told the page is black.
9
+ */
10
+ export declare function luminance(color: string): number;
11
+ export declare function readableTextOn(fill: string): string;
12
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/color.ts"],"names":[],"mappings":"AA2DA;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO/C;AAwCD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASnD"}
@@ -156,6 +156,14 @@ export declare class StockSharpDiagram extends EventEmitter<DiagramEvents> {
156
156
  */
157
157
  setContextMenuEnabled(enabled: boolean): void;
158
158
  isContextMenuEnabled(): boolean;
159
+ /**
160
+ * Whether the built-in menu is on screen right now.
161
+ *
162
+ * The menu closes itself on Escape. A host that binds the same key - to leave a fullscreen
163
+ * layout, to close its own dialog - needs to know the key was already spoken for, or one
164
+ * press does both.
165
+ */
166
+ isContextMenuOpen(): boolean;
159
167
  getContextCommands(): ContextMenuItemState[];
160
168
  executeContextCommand(command: ContextCommand): boolean;
161
169
  clear(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"stocksharp-diagram.d.ts","sourceRoot":"","sources":["../../../src/diagram/stocksharp-diagram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stocksharp-diagram.d.ts","sourceRoot":"","sources":["../../../src/diagram/stocksharp-diagram.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/embed.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AA4B3F,MAAM,WAAW,sBAAsB;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;CAAE;AAC3G,MAAM,WAAW,sBAAsB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE;AACvG,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,KAAK,EAAE,sBAAsB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IACnC,qBAAqB,CAAC,EAAE,CACvB,OAAO,EAAE,0BAA0B,EACnC,MAAM,EAAE,kBAAkB,KACtB,IAAI,CAAC;IACV;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CACnB,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,kBAAkB,KACtB,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACnD;AAiSD,wBAAsB,YAAY,CACjC,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,mBAAwB,GAC/B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAEpC;AAyKD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAGhE;AA8DD,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAC/B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CA2BpC;AAKD,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,mBAAwB,GAC/B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAwBpC;AAKD,wBAAgB,SAAS,CAAC,IAAI,GAAE,UAAqB,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI,CA6B9F"}
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/embed.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AA4B3F,MAAM,WAAW,sBAAsB;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;CAAE;AAC3G,MAAM,WAAW,sBAAsB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE;AACvG,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,KAAK,EAAE,sBAAsB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IACnC,qBAAqB,CAAC,EAAE,CACvB,OAAO,EAAE,0BAA0B,EACnC,MAAM,EAAE,kBAAkB,KACtB,IAAI,CAAC;IACV;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CACnB,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,kBAAkB,KACtB,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACnD;AAyOD,wBAAsB,YAAY,CACjC,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,mBAAwB,GAC/B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAEpC;AAyKD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAGhE;AA8DD,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAC/B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CA2BpC;AAKD,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,mBAAwB,GAC/B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAwBpC;AAKD,wBAAgB,SAAS,CAAC,IAAI,GAAE,UAAqB,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI,CA6B9F"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stocksharp/diagram",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "Browser strategy-diagram editor for StockSharp with typed ports, palette, canvas rendering, persistence, and a TypeScript API.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": {
@@ -1,5 +1,6 @@
1
1
  import type { DrawSurface } from './draw-surface.js';
2
2
  import { SvgSurface } from './svg-surface.js';
3
+ import { readableTextOn } from './color.js';
3
4
  // Internal dependency-free canvas renderer used by StockSharpDiagram.
4
5
  //
5
6
  // Dependency-free, pure 2D canvas. Demonstrates the hard parts: typed
@@ -296,6 +297,13 @@ function isWildcardPortType(type: string): boolean {
296
297
  || normalized.startsWith('system.object,');
297
298
  }
298
299
 
300
+ // The empty socket a grow-on-connect input spawns its siblings from. The scheme records it
301
+ // first, but it accepts nothing until something is wired into it, so it belongs under the
302
+ // sockets that do carry data.
303
+ function isGrowAnchor(port: PortModel): boolean {
304
+ return port.isDynamic && !port.isSibling;
305
+ }
306
+
299
307
  function arePortTypesCompatible(fromType: string, toType: string, availableTypes: readonly string[]): boolean {
300
308
  if (isWildcardPortType(fromType) || isWildcardPortType(toType)) return true;
301
309
  const normalizedFrom = normalizePortType(fromType);
@@ -568,6 +576,8 @@ export class Diagram {
568
576
  private hoverPort: { node: NodeModel; port: PortModel } | null = null;
569
577
  private hoverNode: NodeModel | null = null;
570
578
  private hoveredLink: LinkModel | null = null;
579
+ // Type feeding each wired input, keyed by node and port, rebuilt for every frame.
580
+ private portFeed: ReadonlyMap<PortModel, string> = new Map();
571
581
  private tipTimer: ReturnType<typeof setTimeout> | null = null;
572
582
  private tipShow = false;
573
583
  private tipTarget: PortModel | NodeModel | null = null;
@@ -622,9 +632,23 @@ export class Diagram {
622
632
  if (ctx === null) throw new Error('ssdiagram: 2d context unavailable');
623
633
  this.ctx = ctx;
624
634
  this.resize(this.host.clientWidth || 800, this.host.clientHeight || 480);
635
+ this.observeHostSize();
625
636
  this.bind();
626
637
  }
627
638
 
639
+ /// The control creates the canvas, so it keeps it the size of the element it was mounted in.
640
+ /// A host that lays its panels out after construction - a docking shell, a tab that opens
641
+ /// hidden - measures nothing at that point, and the fallback size above would then outlive
642
+ /// the layout: a strip of the panel that draws nothing and answers no clicks. resize()
643
+ /// ignores anything smaller than two pixels, so a panel switched away from keeps its view.
644
+ private observeHostSize(): void {
645
+ if (typeof ResizeObserver === 'undefined') return;
646
+
647
+ const observer = new ResizeObserver(() => this.resize(this.host.clientWidth, this.host.clientHeight));
648
+ observer.observe(this.host);
649
+ this.domDisposables.push(() => observer.disconnect());
650
+ }
651
+
628
652
  // ---- events -----------------------------------------------------
629
653
  on<K extends EvName>(ev: K, h: (p: DiagramEvents[K]) => void): () => void {
630
654
  let set = this.handlers.get(ev);
@@ -1848,8 +1872,11 @@ export class Diagram {
1848
1872
  // node border).
1849
1873
  const off = PORT_SQ / 2;
1850
1874
  const place = (ports: PortModel[], x: number): void => {
1851
- const startY = n.y + (n.h - ports.length * PORT_ROW_H) / 2 + PORT_ROW_H / 2;
1852
- ports.forEach((p, i) => { p.cx = x; p.cy = startY + i * PORT_ROW_H; });
1875
+ const stack = ports.some(isGrowAnchor)
1876
+ ? [...ports.filter((p) => !isGrowAnchor(p)), ...ports.filter(isGrowAnchor)]
1877
+ : ports;
1878
+ const startY = n.y + (n.h - stack.length * PORT_ROW_H) / 2 + PORT_ROW_H / 2;
1879
+ stack.forEach((p, i) => { p.cx = x; p.cy = startY + i * PORT_ROW_H; });
1853
1880
  };
1854
1881
  place(n.inPorts, n.x - off);
1855
1882
  place(n.outPorts, n.x + n.w + off);
@@ -1862,6 +1889,28 @@ export class Diagram {
1862
1889
  private toWorld(sx: number, sy: number): [number, number] {
1863
1890
  return [(sx - this.offX) / this.scale, (sy - this.offY) / this.scale];
1864
1891
  }
1892
+ /// Type of the output wired into each connected input. First link wins, which is the one
1893
+ /// drawn first, so a socket accepting several links agrees with the wire on top.
1894
+ private feedTypes(): Map<PortModel, string> {
1895
+ const feed = new Map<PortModel, string>();
1896
+ for (const l of this.links) {
1897
+ const from = this.findNode(l.from)?.outPorts.find((p) => p.id === l.fromPort);
1898
+ if (from === undefined || isWildcardPortType(from.type)) continue;
1899
+ const to = this.findNode(l.to)?.inPorts.find((p) => p.id === l.toPort);
1900
+ if (to === undefined || feed.has(to)) continue;
1901
+ feed.set(to, from.type);
1902
+ }
1903
+ return feed;
1904
+ }
1905
+
1906
+ /// Colour type of a socket: its own, unless it is a wildcard input with something wired in.
1907
+ /// A wildcard promises to take whatever arrives, so once something has arrived the socket
1908
+ /// shows what that is. An untyped socket ('') promises nothing and keeps its neutral fill.
1909
+ private portFillType(p: PortModel): string {
1910
+ if (p.direction !== 'in' || p.type === '' || !isWildcardPortType(p.type)) return p.type;
1911
+ return this.portFeed.get(p) ?? p.type;
1912
+ }
1913
+
1865
1914
  private portColor(type: string): string {
1866
1915
  const maxL = this.opts.linkMaxLightness;
1867
1916
  const light = maxL !== undefined && maxL < 0.5;
@@ -2207,10 +2256,42 @@ export class Diagram {
2207
2256
  if (this.lpTimer !== null) { clearTimeout(this.lpTimer); this.lpTimer = null; }
2208
2257
  this.lpStart = null;
2209
2258
  }
2210
- // Hit-test at screen coords and emit a contextMenu event. Cancels
2211
- // any partial drag/rubber/link gesture that may have started once
2212
- // the menu opens we don't want a half-drag racing it.
2259
+ /// Ends a node drag the way releasing the pointer does: the whole multi-node move becomes
2260
+ /// one undo step, and every node that actually moved is announced. Nodes are moved in place
2261
+ /// as the pointer travels, so a caller that clears the drag without coming through here
2262
+ /// leaves them where the drag put them with nothing in the history and the host unaware.
2263
+ private commitNodeDrag(): void {
2264
+ if (this.dragNode === null) return;
2265
+
2266
+ // Capture before/after positions so the whole multi-node
2267
+ // drag is ONE undo step. Skip the action if nothing
2268
+ // actually moved (a "click" that bypassed the threshold).
2269
+ const moves = this.dragStart
2270
+ .map((it) => ({ id: it.n.id, fromX: it.x, fromY: it.y, toX: it.n.x, toY: it.n.y }))
2271
+ .filter((m) => m.fromX !== m.toX || m.fromY !== m.toY);
2272
+ // Announce the same set the undo step records. Emitting for every node the drag
2273
+ // touched reported a move for a plain selection click -- one per selected node --
2274
+ // and a host doing dirty tracking marked the strategy modified for nothing.
2275
+ const moved = new Set(moves.map((m) => m.id));
2276
+ for (const it of this.dragStart) {
2277
+ if (moved.has(it.n.id)) this.emit('nodeMoved', { node: it.n });
2278
+ }
2279
+ this.dragNode = null;
2280
+ this.dragStart = [];
2281
+ if (moves.length > 0) {
2282
+ this.record({
2283
+ do: () => { for (const m of moves) this.doMoveNode(m.id, m.toX, m.toY); },
2284
+ undo: () => { for (const m of moves) this.doMoveNode(m.id, m.fromX, m.fromY); },
2285
+ label: 'drag',
2286
+ });
2287
+ }
2288
+ }
2289
+
2290
+ // Hit-test at screen coords and emit a contextMenu event. Ends whatever gesture was in
2291
+ // flight — once the menu opens we don't want a half-drag racing it — and a node drag ends
2292
+ // properly rather than being dropped, because its nodes have already moved.
2213
2293
  private fireContextMenu(sx: number, sy: number, pageX: number, pageY: number): void {
2294
+ this.commitNodeDrag();
2214
2295
  const [wx, wy] = this.toWorld(sx, sy);
2215
2296
  const port = this.portAt(wx, wy);
2216
2297
  const node = port?.node ?? this.nodeAt(wx, wy);
@@ -2227,7 +2308,13 @@ export class Diagram {
2227
2308
  else if (link !== null && this.selectedLink !== link) this.selectLink(link);
2228
2309
  }
2229
2310
  this.dragNode = null; this.dragStart = []; this.rubber = null;
2230
- this.panning = false; this.linking = null; this.relinking = null; this.relinkCandidate = null; this.linkSnap = null;
2311
+ this.linking = null; this.relinking = null; this.relinkCandidate = null; this.linkSnap = null;
2312
+ // A pan ends here too, and it ends settled: a host that persists the viewport on the
2313
+ // settled event would otherwise keep the position the pan started from.
2314
+ const viewportMoved = this.panning || this.ovDragging;
2315
+ this.panning = false;
2316
+ this.ovDragging = false;
2317
+ if (viewportMoved) this.emitViewChanged(false);
2231
2318
  // A menu is about to cover this spot, and it opens under a cursor that has not moved --
2232
2319
  // which fires no boundary event, so nothing else would end the hover. Without this the
2233
2320
  // tooltip armed by the last pointermove appears 400ms later, through the open menu.
@@ -2509,30 +2596,7 @@ export class Diagram {
2509
2596
  const finish = (e: MouseEvent | PointerEvent): void => {
2510
2597
  this.cancelLongPress();
2511
2598
  this.relinkCandidate = null;
2512
- if (this.dragNode !== null) {
2513
- // Capture before/after positions so the whole multi-node
2514
- // drag is ONE undo step. Skip the action if nothing
2515
- // actually moved (a "click" that bypassed the threshold).
2516
- const moves = this.dragStart
2517
- .map((it) => ({ id: it.n.id, fromX: it.x, fromY: it.y, toX: it.n.x, toY: it.n.y }))
2518
- .filter((m) => m.fromX !== m.toX || m.fromY !== m.toY);
2519
- // Announce the same set the undo step records. Emitting for every node the drag
2520
- // touched reported a move for a plain selection click -- one per selected node --
2521
- // and a host doing dirty tracking marked the strategy modified for nothing.
2522
- const moved = new Set(moves.map((m) => m.id));
2523
- for (const it of this.dragStart) {
2524
- if (moved.has(it.n.id)) this.emit('nodeMoved', { node: it.n });
2525
- }
2526
- this.dragNode = null;
2527
- this.dragStart = [];
2528
- if (moves.length > 0) {
2529
- this.record({
2530
- do: () => { for (const m of moves) this.doMoveNode(m.id, m.toX, m.toY); },
2531
- undo: () => { for (const m of moves) this.doMoveNode(m.id, m.fromX, m.fromY); },
2532
- label: 'drag',
2533
- });
2534
- }
2535
- }
2599
+ this.commitNodeDrag();
2536
2600
  if (this.rubber !== null) {
2537
2601
  const rx0 = Math.min(this.rubber.x0, this.rubber.x);
2538
2602
  const ry0 = Math.min(this.rubber.y0, this.rubber.y);
@@ -2625,12 +2689,19 @@ export class Diagram {
2625
2689
  this.zoomToFit();
2626
2690
  });
2627
2691
  // Desktop right-click → same contextMenu event as touch long-press.
2628
- this.listen(this.canvas, 'contextmenu', (e) => {
2692
+ const openContextMenu = (e: MouseEvent): void => {
2629
2693
  e.preventDefault();
2630
2694
  if (!this.permissions.inspect) return;
2631
2695
  const [sx, sy] = localXY(e);
2632
2696
  this.cancelLongPress();
2633
2697
  this.fireContextMenu(sx, sy, e.clientX, e.clientY);
2698
+ };
2699
+ this.listen(this.canvas, 'contextmenu', openContextMenu);
2700
+ // The control is more than its canvas: its own buttons sit over the corners, and a
2701
+ // right-click on one of those stops at the button, so the browser drew its own menu
2702
+ // there. The canvas keeps its own handler, and this one skips what that already took.
2703
+ this.listen(this.host, 'contextmenu', (e) => {
2704
+ if (e.target !== this.canvas) openContextMenu(e);
2634
2705
  });
2635
2706
  // Two-finger pinch → uniform zoom around the initial midpoint
2636
2707
  // between the fingers. Mobile analog of mouse wheel.
@@ -2780,6 +2851,7 @@ export class Diagram {
2780
2851
  }
2781
2852
  }
2782
2853
  if (options.transient && (this.linking !== null || this.relinking !== null)) this.drawPendingLink();
2854
+ this.portFeed = this.feedTypes();
2783
2855
  for (const n of this.nodes) this.drawNode(n, options.selection && this.selectedNodes.has(n), options);
2784
2856
  if (options.selection && this.permissions.createLinks && this.relinking === null)
2785
2857
  this.drawSelectedLinkEndpoints();
@@ -3016,10 +3088,14 @@ export class Diagram {
3016
3088
  const img = this.getIcon(n.icon);
3017
3089
  if (img) { try { ctx.drawImage(img, n.x + 8, n.y + (n.h - iconW) / 2, iconW, iconW); } catch { /* undecodable */ } }
3018
3090
  }
3019
- // Bold title centred on the light body (nudged right when an icon shows so
3020
- // they don't overlap); ports are bare colour squares on the edges.
3091
+ // Bold title centred on the body (nudged right when an icon shows so they
3092
+ // don't overlap); ports are bare colour squares on the edges. The title
3093
+ // takes its colour from the fill it sits on: that fill comes from the
3094
+ // scheme, so a node may well be darker than the title used to assume.
3021
3095
  const titleShift = n.icon ? iconW + 4 : 0;
3022
- ctx.fillStyle = hasLoadError ? '#ffffff' : '#1b1b1b';
3096
+ ctx.fillStyle = hasLoadError
3097
+ ? '#ffffff'
3098
+ : readableTextOn(active ? '#ffd1dc' : n.color);
3023
3099
  ctx.font = '600 12px Segoe UI, Tahoma, sans-serif';
3024
3100
  ctx.textAlign = 'center';
3025
3101
  ctx.textBaseline = 'middle';
@@ -3044,7 +3120,7 @@ export class Diagram {
3044
3120
  // Single rounded path filled + stroked (aligned, anti-aliased —
3045
3121
  // no half-pixel double edge).
3046
3122
  roundRect(ctx, x, y, s, s, r);
3047
- ctx.fillStyle = this.portColor(p.type);
3123
+ ctx.fillStyle = this.portColor(this.portFillType(p));
3048
3124
  ctx.fill();
3049
3125
  ctx.lineWidth = magnet ? 1.5 : 1;
3050
3126
  ctx.strokeStyle = magnet ? '#ffffff' : 'rgba(12,12,16,0.55)';
package/src/color.ts ADDED
@@ -0,0 +1,125 @@
1
+ // Colour arithmetic shared by the parts that have to stay readable against a
2
+ // fill they do not choose: the embed host reading a page's background, and the
3
+ // renderer drawing a title on a node whose colour comes from the scheme.
4
+
5
+ const CSS_COLOR_KEYWORDS: Readonly<Record<string, [number, number, number]>> = {
6
+ white: [255, 255, 255],
7
+ black: [0, 0, 0],
8
+ transparent: [255, 255, 255],
9
+ };
10
+
11
+ /**
12
+ * Channels of a CSS colour, or null when it cannot be read.
13
+ *
14
+ * Understands the keywords above, three-, six- and eight-digit hex (the alpha is
15
+ * ignored), and rgb()/rgba() in both the comma and the space syntax.
16
+ */
17
+ function parseRgb(color: string): [number, number, number] | null {
18
+ const value = color.trim().toLowerCase();
19
+ if (value === '')
20
+ return null;
21
+
22
+ const keyword = CSS_COLOR_KEYWORDS[value];
23
+ if (keyword !== undefined)
24
+ return [...keyword];
25
+
26
+ const long = value.match(/^#?([0-9a-f]{6})$/);
27
+ if (long !== null) {
28
+ const n = parseInt(long[1], 16);
29
+ return [(n >> 16) & 255, (n >> 8) & 255, n & 255];
30
+ }
31
+
32
+ // #abc is shorthand for #aabbcc, and the eight-digit forms carry an alpha we ignore.
33
+ const short = value.match(/^#?([0-9a-f]{3})([0-9a-f])?$/);
34
+ if (short !== null) {
35
+ const [r, g, b] = [...short[1]].map((digit) => parseInt(digit + digit, 16));
36
+ return [r, g, b];
37
+ }
38
+
39
+ const long8 = value.match(/^#?([0-9a-f]{6})[0-9a-f]{2}$/);
40
+ if (long8 !== null) {
41
+ const n = parseInt(long8[1], 16);
42
+ return [(n >> 16) & 255, (n >> 8) & 255, n & 255];
43
+ }
44
+
45
+ const rgb = value.match(/^rgba?\(([^)]+)\)$/);
46
+ if (rgb !== null) {
47
+ const parts = rgb[1].split(/[\s,/]+/).filter((part) => part !== '');
48
+ if (parts.length >= 3) {
49
+ const [r, g, b] = parts.slice(0, 3).map((part) => part.endsWith('%')
50
+ ? (parseFloat(part) / 100) * 255
51
+ : parseFloat(part));
52
+ if ([r, g, b].every((channel) => Number.isFinite(channel)))
53
+ return [r, g, b];
54
+ }
55
+ }
56
+
57
+ return null;
58
+ }
59
+
60
+ /**
61
+ * Perceived brightness of a CSS colour, or -1 when it cannot be read.
62
+ *
63
+ * Six-digit hex was the only form understood, and everything else answered 0 -- black. A page
64
+ * writing --diagram-bg as #fff, white or rgb(255 255 255) therefore had its white canvas
65
+ * classified as dark and got the dark link palette: near-white wires on a near-white background.
66
+ * Unreadable is now -1 rather than 0, so the caller can keep its own default instead of being
67
+ * told the page is black.
68
+ */
69
+ export function luminance(color: string): number {
70
+ const rgb = parseRgb(color);
71
+ if (rgb === null)
72
+ return -1;
73
+
74
+ const [r, g, b] = rgb;
75
+ return 0.299 * r + 0.587 * g + 0.114 * b;
76
+ }
77
+
78
+ const DARK_TEXT = '#1b1b1b';
79
+ const LIGHT_TEXT = '#f5f5f5';
80
+
81
+ /// One channel on the scale contrast is measured on, where equal steps look
82
+ /// equally different rather than merely being equal numbers.
83
+ function toLinear(channel: number): number {
84
+ const v = channel / 255;
85
+ return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);
86
+ }
87
+
88
+ /// Relative luminance as WCAG defines it, or -1 for a colour that cannot be read.
89
+ function relativeLuminance(color: string): number {
90
+ const rgb = parseRgb(color);
91
+ if (rgb === null)
92
+ return -1;
93
+
94
+ const [r, g, b] = rgb;
95
+ return 0.2126 * toLinear(r) + 0.7152 * toLinear(g) + 0.0722 * toLinear(b);
96
+ }
97
+
98
+ /// WCAG contrast ratio between two relative luminances: 1 for identical, 21 for
99
+ /// black against white.
100
+ function contrast(a: number, b: number): number {
101
+ const [lighter, darker] = a > b ? [a, b] : [b, a];
102
+ return (lighter + 0.05) / (darker + 0.05);
103
+ }
104
+
105
+ /// Title colour for a body filled with `fill`.
106
+ ///
107
+ /// A node's fill comes from the scheme rather than the theme, so it can be any
108
+ /// colour, and a title fixed to one shade disappears as soon as a node is filled
109
+ /// close to it. Rather than split the range at a brightness someone has to pick,
110
+ /// this measures both candidates against the fill and takes whichever stands out
111
+ /// more. That is also why a saturated orange keeps its dark title where a plain
112
+ /// brightness test, which reads such a colour as darker than it looks, flips it.
113
+ ///
114
+ /// A fill this cannot read keeps the dark title: every node shipped so far is
115
+ /// light, so guessing light text would fail on more of them than it fixes.
116
+ export function readableTextOn(fill: string): string {
117
+ const background = relativeLuminance(fill);
118
+ if (background < 0)
119
+ return DARK_TEXT;
120
+
121
+ return contrast(background, relativeLuminance(LIGHT_TEXT))
122
+ > contrast(background, relativeLuminance(DARK_TEXT))
123
+ ? LIGHT_TEXT
124
+ : DARK_TEXT;
125
+ }
@@ -128,7 +128,7 @@ export class ContextMenuView {
128
128
  // through -- and the canvas listener that suppresses the native menu never sees it,
129
129
  // because the menu is not a child of the canvas. Without this the browser drew its own
130
130
  // menu on top of ours, leaving two stacked over each other.
131
- this.on(root, 'contextmenu', (event) => { event.preventDefault(); });
131
+ this.on(root, 'contextmenu', (event) => { event.preventDefault(); event.stopPropagation(); });
132
132
 
133
133
  this.container.appendChild(root);
134
134
  this.root = root;
@@ -628,6 +628,17 @@ export class StockSharpDiagram extends EventEmitter<DiagramEvents> {
628
628
  return this.contextMenu !== null;
629
629
  }
630
630
 
631
+ /**
632
+ * Whether the built-in menu is on screen right now.
633
+ *
634
+ * The menu closes itself on Escape. A host that binds the same key - to leave a fullscreen
635
+ * layout, to close its own dialog - needs to know the key was already spoken for, or one
636
+ * press does both.
637
+ */
638
+ isContextMenuOpen(): boolean {
639
+ return this.contextMenu?.isOpen ?? false;
640
+ }
641
+
631
642
  getContextCommands(): ContextMenuItemState[] {
632
643
  const context = this.contextActionContext();
633
644
  const state = (command: ContextCommand): ContextCommandState => {