@stocksharp/diagram 1.2.0 → 1.2.1

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.
@@ -0,0 +1,109 @@
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
+ const CSS_COLOR_KEYWORDS = {
5
+ white: [255, 255, 255],
6
+ black: [0, 0, 0],
7
+ transparent: [255, 255, 255],
8
+ };
9
+ /**
10
+ * Channels of a CSS colour, or null when it cannot be read.
11
+ *
12
+ * Understands the keywords above, three-, six- and eight-digit hex (the alpha is
13
+ * ignored), and rgb()/rgba() in both the comma and the space syntax.
14
+ */
15
+ function parseRgb(color) {
16
+ const value = color.trim().toLowerCase();
17
+ if (value === '')
18
+ return null;
19
+ const keyword = CSS_COLOR_KEYWORDS[value];
20
+ if (keyword !== undefined)
21
+ return [...keyword];
22
+ const long = value.match(/^#?([0-9a-f]{6})$/);
23
+ if (long !== null) {
24
+ const n = parseInt(long[1], 16);
25
+ return [(n >> 16) & 255, (n >> 8) & 255, n & 255];
26
+ }
27
+ // #abc is shorthand for #aabbcc, and the eight-digit forms carry an alpha we ignore.
28
+ const short = value.match(/^#?([0-9a-f]{3})([0-9a-f])?$/);
29
+ if (short !== null) {
30
+ const [r, g, b] = [...short[1]].map((digit) => parseInt(digit + digit, 16));
31
+ return [r, g, b];
32
+ }
33
+ const long8 = value.match(/^#?([0-9a-f]{6})[0-9a-f]{2}$/);
34
+ if (long8 !== null) {
35
+ const n = parseInt(long8[1], 16);
36
+ return [(n >> 16) & 255, (n >> 8) & 255, n & 255];
37
+ }
38
+ const rgb = value.match(/^rgba?\(([^)]+)\)$/);
39
+ if (rgb !== null) {
40
+ const parts = rgb[1].split(/[\s,/]+/).filter((part) => part !== '');
41
+ if (parts.length >= 3) {
42
+ const [r, g, b] = parts.slice(0, 3).map((part) => part.endsWith('%')
43
+ ? (parseFloat(part) / 100) * 255
44
+ : parseFloat(part));
45
+ if ([r, g, b].every((channel) => Number.isFinite(channel)))
46
+ return [r, g, b];
47
+ }
48
+ }
49
+ return null;
50
+ }
51
+ /**
52
+ * Perceived brightness of a CSS colour, or -1 when it cannot be read.
53
+ *
54
+ * Six-digit hex was the only form understood, and everything else answered 0 -- black. A page
55
+ * writing --diagram-bg as #fff, white or rgb(255 255 255) therefore had its white canvas
56
+ * classified as dark and got the dark link palette: near-white wires on a near-white background.
57
+ * Unreadable is now -1 rather than 0, so the caller can keep its own default instead of being
58
+ * told the page is black.
59
+ */
60
+ export function luminance(color) {
61
+ const rgb = parseRgb(color);
62
+ if (rgb === null)
63
+ return -1;
64
+ const [r, g, b] = rgb;
65
+ return 0.299 * r + 0.587 * g + 0.114 * b;
66
+ }
67
+ const DARK_TEXT = '#1b1b1b';
68
+ const LIGHT_TEXT = '#f5f5f5';
69
+ /// One channel on the scale contrast is measured on, where equal steps look
70
+ /// equally different rather than merely being equal numbers.
71
+ function toLinear(channel) {
72
+ const v = channel / 255;
73
+ return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);
74
+ }
75
+ /// Relative luminance as WCAG defines it, or -1 for a colour that cannot be read.
76
+ function relativeLuminance(color) {
77
+ const rgb = parseRgb(color);
78
+ if (rgb === null)
79
+ return -1;
80
+ const [r, g, b] = rgb;
81
+ return 0.2126 * toLinear(r) + 0.7152 * toLinear(g) + 0.0722 * toLinear(b);
82
+ }
83
+ /// WCAG contrast ratio between two relative luminances: 1 for identical, 21 for
84
+ /// black against white.
85
+ function contrast(a, b) {
86
+ const [lighter, darker] = a > b ? [a, b] : [b, a];
87
+ return (lighter + 0.05) / (darker + 0.05);
88
+ }
89
+ /// Title colour for a body filled with `fill`.
90
+ ///
91
+ /// A node's fill comes from the scheme rather than the theme, so it can be any
92
+ /// colour, and a title fixed to one shade disappears as soon as a node is filled
93
+ /// close to it. Rather than split the range at a brightness someone has to pick,
94
+ /// this measures both candidates against the fill and takes whichever stands out
95
+ /// more. That is also why a saturated orange keeps its dark title where a plain
96
+ /// brightness test, which reads such a colour as darker than it looks, flips it.
97
+ ///
98
+ /// A fill this cannot read keeps the dark title: every node shipped so far is
99
+ /// light, so guessing light text would fail on more of them than it fixes.
100
+ export function readableTextOn(fill) {
101
+ const background = relativeLuminance(fill);
102
+ if (background < 0)
103
+ return DARK_TEXT;
104
+ return contrast(background, relativeLuminance(LIGHT_TEXT))
105
+ > contrast(background, relativeLuminance(DARK_TEXT))
106
+ ? LIGHT_TEXT
107
+ : DARK_TEXT;
108
+ }
109
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/color.ts"],"names":[],"mappings":"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"}
package/dist/esm/embed.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { t } from './i18n.js';
2
+ import { luminance } from './color.js';
2
3
  // Shared read-only diagram embed layer. Rendering, palette loading and theming
3
4
  // live next to the diagram engine so web applications do not copy that logic.
4
5
  //
@@ -22,57 +23,6 @@ function iconUrl(name) {
22
23
  }
23
24
  // Perceived luminance (0..255) of a #rrggbb colour; used to tell a light diagram canvas from a dark
24
25
  // one so the (dark-canvas-tuned) link palette can be darkened when the canvas is light.
25
- const CSS_COLOR_KEYWORDS = {
26
- white: [255, 255, 255],
27
- black: [0, 0, 0],
28
- transparent: [255, 255, 255],
29
- };
30
- /**
31
- * Perceived brightness of a CSS colour, or -1 when it cannot be read.
32
- *
33
- * Six-digit hex was the only form understood, and everything else answered 0 -- black. A page
34
- * writing --diagram-bg as #fff, white or rgb(255 255 255) therefore had its white canvas
35
- * classified as dark and got the dark link palette: near-white wires on a near-white background.
36
- * Unreadable is now -1 rather than 0, so the caller can keep its own default instead of being
37
- * told the page is black.
38
- */
39
- function luminance(color) {
40
- const value = color.trim().toLowerCase();
41
- if (value === '')
42
- return -1;
43
- const keyword = CSS_COLOR_KEYWORDS[value];
44
- if (keyword !== undefined)
45
- return 0.299 * keyword[0] + 0.587 * keyword[1] + 0.114 * keyword[2];
46
- const long = value.match(/^#?([0-9a-f]{6})$/);
47
- if (long !== null) {
48
- const n = parseInt(long[1], 16);
49
- return 0.299 * ((n >> 16) & 255) + 0.587 * ((n >> 8) & 255) + 0.114 * (n & 255);
50
- }
51
- // #abc is shorthand for #aabbcc, and the eight-digit forms carry an alpha we ignore.
52
- const short = value.match(/^#?([0-9a-f]{3})([0-9a-f])?$/);
53
- if (short !== null) {
54
- const [r, g, b] = [...short[1]].map((digit) => parseInt(digit + digit, 16));
55
- return 0.299 * r + 0.587 * g + 0.114 * b;
56
- }
57
- const long8 = value.match(/^#?([0-9a-f]{6})[0-9a-f]{2}$/);
58
- if (long8 !== null) {
59
- const n = parseInt(long8[1], 16);
60
- return 0.299 * ((n >> 16) & 255) + 0.587 * ((n >> 8) & 255) + 0.114 * (n & 255);
61
- }
62
- // rgb()/rgba(), both the comma and the space syntax.
63
- const rgb = value.match(/^rgba?\(([^)]+)\)$/);
64
- if (rgb !== null) {
65
- const parts = rgb[1].split(/[\s,/]+/).filter((part) => part !== '');
66
- if (parts.length >= 3) {
67
- const [r, g, b] = parts.slice(0, 3).map((part) => part.endsWith('%')
68
- ? (parseFloat(part) / 100) * 255
69
- : parseFloat(part));
70
- if ([r, g, b].every((channel) => Number.isFinite(channel)))
71
- return 0.299 * r + 0.587 * g + 0.114 * b;
72
- }
73
- }
74
- return -1;
75
- }
76
26
  function makePort(p) {
77
27
  return new Port({
78
28
  id: p.key,
@@ -1 +1 @@
1
- {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/embed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/embed.ts"],"names":[],"mappings":"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"}
@@ -348,6 +348,69 @@ var SSDiagramHeadless = (() => {
348
348
  }
349
349
  };
350
350
 
351
+ // src/color.ts
352
+ var CSS_COLOR_KEYWORDS = {
353
+ white: [255, 255, 255],
354
+ black: [0, 0, 0],
355
+ transparent: [255, 255, 255]
356
+ };
357
+ function parseRgb(color) {
358
+ const value = color.trim().toLowerCase();
359
+ if (value === "")
360
+ return null;
361
+ const keyword = CSS_COLOR_KEYWORDS[value];
362
+ if (keyword !== void 0)
363
+ return [...keyword];
364
+ const long = value.match(/^#?([0-9a-f]{6})$/);
365
+ if (long !== null) {
366
+ const n2 = parseInt(long[1], 16);
367
+ return [n2 >> 16 & 255, n2 >> 8 & 255, n2 & 255];
368
+ }
369
+ const short = value.match(/^#?([0-9a-f]{3})([0-9a-f])?$/);
370
+ if (short !== null) {
371
+ const [r, g, b] = [...short[1]].map((digit) => parseInt(digit + digit, 16));
372
+ return [r, g, b];
373
+ }
374
+ const long8 = value.match(/^#?([0-9a-f]{6})[0-9a-f]{2}$/);
375
+ if (long8 !== null) {
376
+ const n2 = parseInt(long8[1], 16);
377
+ return [n2 >> 16 & 255, n2 >> 8 & 255, n2 & 255];
378
+ }
379
+ const rgb = value.match(/^rgba?\(([^)]+)\)$/);
380
+ if (rgb !== null) {
381
+ const parts = rgb[1].split(/[\s,/]+/).filter((part) => part !== "");
382
+ if (parts.length >= 3) {
383
+ const [r, g, b] = parts.slice(0, 3).map((part) => part.endsWith("%") ? parseFloat(part) / 100 * 255 : parseFloat(part));
384
+ if ([r, g, b].every((channel) => Number.isFinite(channel)))
385
+ return [r, g, b];
386
+ }
387
+ }
388
+ return null;
389
+ }
390
+ var DARK_TEXT = "#1b1b1b";
391
+ var LIGHT_TEXT = "#f5f5f5";
392
+ function toLinear(channel) {
393
+ const v = channel / 255;
394
+ return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);
395
+ }
396
+ function relativeLuminance(color) {
397
+ const rgb = parseRgb(color);
398
+ if (rgb === null)
399
+ return -1;
400
+ const [r, g, b] = rgb;
401
+ return 0.2126 * toLinear(r) + 0.7152 * toLinear(g) + 0.0722 * toLinear(b);
402
+ }
403
+ function contrast(a, b) {
404
+ const [lighter, darker] = a > b ? [a, b] : [b, a];
405
+ return (lighter + 0.05) / (darker + 0.05);
406
+ }
407
+ function readableTextOn(fill) {
408
+ const background = relativeLuminance(fill);
409
+ if (background < 0)
410
+ return DARK_TEXT;
411
+ return contrast(background, relativeLuminance(LIGHT_TEXT)) > contrast(background, relativeLuminance(DARK_TEXT)) ? LIGHT_TEXT : DARK_TEXT;
412
+ }
413
+
351
414
  // src/core/json.ts
352
415
  function setJsonKey(target, key, value) {
353
416
  if (key === "__proto__") {
@@ -3539,7 +3602,7 @@ ${runtime.error}`;
3539
3602
  }
3540
3603
  }
3541
3604
  const titleShift = n2.icon ? iconW + 4 : 0;
3542
- ctx.fillStyle = hasLoadError ? "#ffffff" : "#1b1b1b";
3605
+ ctx.fillStyle = hasLoadError ? "#ffffff" : readableTextOn(active ? "#ffd1dc" : n2.color);
3543
3606
  ctx.font = "600 12px Segoe UI, Tahoma, sans-serif";
3544
3607
  ctx.textAlign = "center";
3545
3608
  ctx.textBaseline = "middle";