@aceshooting/lyra-ui 2.5.0 → 2.7.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 (214) hide show
  1. package/README.md +13 -7
  2. package/custom-elements.json +4560 -1025
  3. package/dist/components/app-rail/app-rail.class.d.ts +8 -1
  4. package/dist/components/app-rail/app-rail.class.d.ts.map +1 -1
  5. package/dist/components/app-rail/app-rail.class.js +12 -2
  6. package/dist/components/app-rail/app-rail.class.js.map +1 -1
  7. package/dist/components/chat-composer/chat-composer.class.d.ts +27 -0
  8. package/dist/components/chat-composer/chat-composer.class.d.ts.map +1 -1
  9. package/dist/components/chat-composer/chat-composer.class.js +64 -1
  10. package/dist/components/chat-composer/chat-composer.class.js.map +1 -1
  11. package/dist/components/chat-message/chat-message.class.d.ts +7 -1
  12. package/dist/components/chat-message/chat-message.class.d.ts.map +1 -1
  13. package/dist/components/chat-message/chat-message.class.js +15 -4
  14. package/dist/components/chat-message/chat-message.class.js.map +1 -1
  15. package/dist/components/checkbox/checkbox.class.d.ts +7 -0
  16. package/dist/components/checkbox/checkbox.class.d.ts.map +1 -1
  17. package/dist/components/checkbox/checkbox.class.js +7 -0
  18. package/dist/components/checkbox/checkbox.class.js.map +1 -1
  19. package/dist/components/chip/chip.class.d.ts +2 -0
  20. package/dist/components/chip/chip.class.d.ts.map +1 -1
  21. package/dist/components/chip/chip.class.js +3 -1
  22. package/dist/components/chip/chip.class.js.map +1 -1
  23. package/dist/components/chip/chip.styles.d.ts.map +1 -1
  24. package/dist/components/chip/chip.styles.js +10 -2
  25. package/dist/components/chip/chip.styles.js.map +1 -1
  26. package/dist/components/combobox/combobox.class.d.ts +16 -0
  27. package/dist/components/combobox/combobox.class.d.ts.map +1 -1
  28. package/dist/components/combobox/combobox.class.js +47 -2
  29. package/dist/components/combobox/combobox.class.js.map +1 -1
  30. package/dist/components/combobox/combobox.styles.d.ts.map +1 -1
  31. package/dist/components/combobox/combobox.styles.js +56 -6
  32. package/dist/components/combobox/combobox.styles.js.map +1 -1
  33. package/dist/components/conversation-item/conversation-item.class.d.ts +14 -0
  34. package/dist/components/conversation-item/conversation-item.class.d.ts.map +1 -1
  35. package/dist/components/conversation-item/conversation-item.class.js +38 -0
  36. package/dist/components/conversation-item/conversation-item.class.js.map +1 -1
  37. package/dist/components/date-picker/date-input.class.d.ts +25 -0
  38. package/dist/components/date-picker/date-input.class.d.ts.map +1 -1
  39. package/dist/components/date-picker/date-input.class.js +61 -0
  40. package/dist/components/date-picker/date-input.class.js.map +1 -1
  41. package/dist/components/dialog/dialog.class.d.ts +13 -1
  42. package/dist/components/dialog/dialog.class.d.ts.map +1 -1
  43. package/dist/components/dialog/dialog.class.js +24 -8
  44. package/dist/components/dialog/dialog.class.js.map +1 -1
  45. package/dist/components/empty/empty.class.d.ts +2 -0
  46. package/dist/components/empty/empty.class.d.ts.map +1 -1
  47. package/dist/components/empty/empty.class.js +2 -0
  48. package/dist/components/empty/empty.class.js.map +1 -1
  49. package/dist/components/empty/empty.styles.d.ts.map +1 -1
  50. package/dist/components/empty/empty.styles.js +6 -3
  51. package/dist/components/empty/empty.styles.js.map +1 -1
  52. package/dist/components/export-button/export-button.class.d.ts +19 -2
  53. package/dist/components/export-button/export-button.class.d.ts.map +1 -1
  54. package/dist/components/export-button/export-button.class.js +32 -8
  55. package/dist/components/export-button/export-button.class.js.map +1 -1
  56. package/dist/components/export-button/export-button.styles.d.ts.map +1 -1
  57. package/dist/components/export-button/export-button.styles.js +8 -1
  58. package/dist/components/export-button/export-button.styles.js.map +1 -1
  59. package/dist/components/gauge/gauge.class.d.ts +6 -2
  60. package/dist/components/gauge/gauge.class.d.ts.map +1 -1
  61. package/dist/components/gauge/gauge.class.js +40 -4
  62. package/dist/components/gauge/gauge.class.js.map +1 -1
  63. package/dist/components/gauge/gauge.styles.js +1 -1
  64. package/dist/components/graph/graph.class.d.ts +28 -1
  65. package/dist/components/graph/graph.class.d.ts.map +1 -1
  66. package/dist/components/graph/graph.class.js +94 -42
  67. package/dist/components/graph/graph.class.js.map +1 -1
  68. package/dist/components/graph/graph.styles.d.ts.map +1 -1
  69. package/dist/components/graph/graph.styles.js +4 -1
  70. package/dist/components/graph/graph.styles.js.map +1 -1
  71. package/dist/components/heatmap/heatmap.class.d.ts +22 -1
  72. package/dist/components/heatmap/heatmap.class.d.ts.map +1 -1
  73. package/dist/components/heatmap/heatmap.class.js +38 -3
  74. package/dist/components/heatmap/heatmap.class.js.map +1 -1
  75. package/dist/components/map/map.class.d.ts +4 -2
  76. package/dist/components/map/map.class.d.ts.map +1 -1
  77. package/dist/components/map/map.class.js +5 -3
  78. package/dist/components/map/map.class.js.map +1 -1
  79. package/dist/components/mention-popover/mention-popover.class.d.ts +9 -4
  80. package/dist/components/mention-popover/mention-popover.class.d.ts.map +1 -1
  81. package/dist/components/mention-popover/mention-popover.class.js +11 -5
  82. package/dist/components/mention-popover/mention-popover.class.js.map +1 -1
  83. package/dist/components/menu/menu.class.d.ts +10 -4
  84. package/dist/components/menu/menu.class.d.ts.map +1 -1
  85. package/dist/components/menu/menu.class.js +11 -5
  86. package/dist/components/menu/menu.class.js.map +1 -1
  87. package/dist/components/model-select/model-select.class.d.ts +44 -0
  88. package/dist/components/model-select/model-select.class.d.ts.map +1 -1
  89. package/dist/components/model-select/model-select.class.js +125 -0
  90. package/dist/components/model-select/model-select.class.js.map +1 -1
  91. package/dist/components/model-select/model-select.styles.d.ts.map +1 -1
  92. package/dist/components/model-select/model-select.styles.js +21 -0
  93. package/dist/components/model-select/model-select.styles.js.map +1 -1
  94. package/dist/components/pagination/pagination.class.d.ts +81 -0
  95. package/dist/components/pagination/pagination.class.d.ts.map +1 -0
  96. package/dist/components/pagination/pagination.class.js +278 -0
  97. package/dist/components/pagination/pagination.class.js.map +1 -0
  98. package/dist/components/pagination/pagination.d.ts +2 -0
  99. package/dist/components/pagination/pagination.d.ts.map +1 -0
  100. package/dist/components/pagination/pagination.js +5 -0
  101. package/dist/components/pagination/pagination.js.map +1 -0
  102. package/dist/components/pagination/pagination.styles.d.ts +2 -0
  103. package/dist/components/pagination/pagination.styles.d.ts.map +1 -0
  104. package/dist/components/pagination/pagination.styles.js +142 -0
  105. package/dist/components/pagination/pagination.styles.js.map +1 -0
  106. package/dist/components/phone-input/phone-input.class.d.ts +191 -0
  107. package/dist/components/phone-input/phone-input.class.d.ts.map +1 -0
  108. package/dist/components/phone-input/phone-input.class.js +493 -0
  109. package/dist/components/phone-input/phone-input.class.js.map +1 -0
  110. package/dist/components/phone-input/phone-input.d.ts +2 -0
  111. package/dist/components/phone-input/phone-input.d.ts.map +1 -0
  112. package/dist/components/phone-input/phone-input.js +5 -0
  113. package/dist/components/phone-input/phone-input.js.map +1 -0
  114. package/dist/components/phone-input/phone-input.styles.d.ts +2 -0
  115. package/dist/components/phone-input/phone-input.styles.d.ts.map +1 -0
  116. package/dist/components/phone-input/phone-input.styles.js +123 -0
  117. package/dist/components/phone-input/phone-input.styles.js.map +1 -0
  118. package/dist/components/poll-status/poll-status.styles.d.ts.map +1 -1
  119. package/dist/components/poll-status/poll-status.styles.js +5 -6
  120. package/dist/components/poll-status/poll-status.styles.js.map +1 -1
  121. package/dist/components/segmented/segmented.class.d.ts +4 -0
  122. package/dist/components/segmented/segmented.class.d.ts.map +1 -1
  123. package/dist/components/segmented/segmented.class.js +2 -1
  124. package/dist/components/segmented/segmented.class.js.map +1 -1
  125. package/dist/components/segmented/segmented.styles.d.ts.map +1 -1
  126. package/dist/components/segmented/segmented.styles.js +7 -0
  127. package/dist/components/segmented/segmented.styles.js.map +1 -1
  128. package/dist/components/skeleton/skeleton.styles.d.ts.map +1 -1
  129. package/dist/components/skeleton/skeleton.styles.js +1 -0
  130. package/dist/components/skeleton/skeleton.styles.js.map +1 -1
  131. package/dist/components/slider/slider.class.d.ts +3 -0
  132. package/dist/components/slider/slider.class.d.ts.map +1 -1
  133. package/dist/components/slider/slider.class.js +3 -0
  134. package/dist/components/slider/slider.class.js.map +1 -1
  135. package/dist/components/stream-status/stream-status.styles.d.ts.map +1 -1
  136. package/dist/components/stream-status/stream-status.styles.js +4 -5
  137. package/dist/components/stream-status/stream-status.styles.js.map +1 -1
  138. package/dist/components/switch/switch.class.d.ts +20 -0
  139. package/dist/components/switch/switch.class.d.ts.map +1 -1
  140. package/dist/components/switch/switch.class.js +83 -23
  141. package/dist/components/switch/switch.class.js.map +1 -1
  142. package/dist/components/switch/switch.styles.d.ts.map +1 -1
  143. package/dist/components/switch/switch.styles.js +18 -0
  144. package/dist/components/switch/switch.styles.js.map +1 -1
  145. package/dist/components/table/table.class.d.ts +12 -0
  146. package/dist/components/table/table.class.d.ts.map +1 -1
  147. package/dist/components/table/table.class.js +6 -1
  148. package/dist/components/table/table.class.js.map +1 -1
  149. package/dist/components/table/table.styles.d.ts.map +1 -1
  150. package/dist/components/table/table.styles.js +3 -0
  151. package/dist/components/table/table.styles.js.map +1 -1
  152. package/dist/components/textarea/textarea.class.d.ts +127 -0
  153. package/dist/components/textarea/textarea.class.d.ts.map +1 -0
  154. package/dist/components/textarea/textarea.class.js +364 -0
  155. package/dist/components/textarea/textarea.class.js.map +1 -0
  156. package/dist/components/textarea/textarea.d.ts +2 -0
  157. package/dist/components/textarea/textarea.d.ts.map +1 -0
  158. package/dist/components/textarea/textarea.js +5 -0
  159. package/dist/components/textarea/textarea.js.map +1 -0
  160. package/dist/components/textarea/textarea.styles.d.ts +2 -0
  161. package/dist/components/textarea/textarea.styles.d.ts.map +1 -0
  162. package/dist/components/textarea/textarea.styles.js +67 -0
  163. package/dist/components/textarea/textarea.styles.js.map +1 -0
  164. package/dist/components/time-range/time-range.class.d.ts +4 -0
  165. package/dist/components/time-range/time-range.class.d.ts.map +1 -1
  166. package/dist/components/time-range/time-range.class.js +4 -0
  167. package/dist/components/time-range/time-range.class.js.map +1 -1
  168. package/dist/components/tool-approval-dialog/tool-approval-dialog.class.d.ts +6 -0
  169. package/dist/components/tool-approval-dialog/tool-approval-dialog.class.d.ts.map +1 -1
  170. package/dist/components/tool-approval-dialog/tool-approval-dialog.class.js +8 -0
  171. package/dist/components/tool-approval-dialog/tool-approval-dialog.class.js.map +1 -1
  172. package/dist/components/tree/tree-node.class.d.ts +3 -0
  173. package/dist/components/tree/tree-node.class.d.ts.map +1 -1
  174. package/dist/components/tree/tree-node.class.js +16 -1
  175. package/dist/components/tree/tree-node.class.js.map +1 -1
  176. package/dist/components/tree/tree-node.styles.d.ts.map +1 -1
  177. package/dist/components/tree/tree-node.styles.js +27 -1
  178. package/dist/components/tree/tree-node.styles.js.map +1 -1
  179. package/dist/components/tree/tree.class.d.ts +11 -1
  180. package/dist/components/tree/tree.class.d.ts.map +1 -1
  181. package/dist/components/tree/tree.class.js +6 -2
  182. package/dist/components/tree/tree.class.js.map +1 -1
  183. package/dist/components/typing-indicator/typing-indicator.class.d.ts +4 -0
  184. package/dist/components/typing-indicator/typing-indicator.class.d.ts.map +1 -1
  185. package/dist/components/typing-indicator/typing-indicator.class.js +4 -0
  186. package/dist/components/typing-indicator/typing-indicator.class.js.map +1 -1
  187. package/dist/components/typing-indicator/typing-indicator.styles.d.ts.map +1 -1
  188. package/dist/components/typing-indicator/typing-indicator.styles.js +24 -22
  189. package/dist/components/typing-indicator/typing-indicator.styles.js.map +1 -1
  190. package/dist/components/widget/widget.class.d.ts +5 -0
  191. package/dist/components/widget/widget.class.d.ts.map +1 -1
  192. package/dist/components/widget/widget.class.js +22 -1
  193. package/dist/components/widget/widget.class.js.map +1 -1
  194. package/dist/components/widget/widget.styles.d.ts.map +1 -1
  195. package/dist/components/widget/widget.styles.js +3 -2
  196. package/dist/components/widget/widget.styles.js.map +1 -1
  197. package/dist/internal/localization.d.ts +1 -1
  198. package/dist/internal/localization.d.ts.map +1 -1
  199. package/dist/internal/localization.js +6 -0
  200. package/dist/internal/localization.js.map +1 -1
  201. package/dist/internal/root-registration-allowlist.d.ts +1 -1
  202. package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
  203. package/dist/internal/root-registration-allowlist.js +3 -0
  204. package/dist/internal/root-registration-allowlist.js.map +1 -1
  205. package/dist/internal/tokens.styles.d.ts.map +1 -1
  206. package/dist/internal/tokens.styles.js +6 -2
  207. package/dist/internal/tokens.styles.js.map +1 -1
  208. package/dist/lyra.d.ts +14 -2
  209. package/dist/lyra.d.ts.map +1 -1
  210. package/dist/lyra.js +6 -0
  211. package/dist/lyra.js.map +1 -1
  212. package/llms-full.txt +615 -92
  213. package/llms.txt +5 -3
  214. package/package.json +12 -2
@@ -4,11 +4,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { html, svg } from 'lit';
7
+ import { html, nothing, svg } from 'lit';
8
8
  import { property, state } from 'lit/decorators.js';
9
9
  import { styleMap } from 'lit/directives/style-map.js';
10
10
  import { LyraElement } from '../../internal/lyra-element.js';
11
- import { srOnly } from '../../internal/a11y.js';
11
+ import { nextId, srOnly } from '../../internal/a11y.js';
12
12
  import { isRtl } from '../../internal/rtl.js';
13
13
  import { styles } from './graph.styles.js';
14
14
  import { loadD3 } from './graph-loader.js';
@@ -62,6 +62,11 @@ const MAX_RADIUS = 24;
62
62
  function sanitizeNodeColor(color) {
63
63
  return color != null && !/[;{}]/.test(color) ? color : undefined;
64
64
  }
65
+ function normalizeLinkDash(dash) {
66
+ if (!dash?.length || dash.some((value) => !Number.isFinite(value) || value < 0))
67
+ return undefined;
68
+ return dash.join(' ');
69
+ }
65
70
  /**
66
71
  * `<lyra-graph>` — a force-directed node-link diagram with pan/zoom/drag.
67
72
  * Requires the optional peer deps `d3-force`/`d3-drag`/`d3-zoom`/`d3-selection`
@@ -79,11 +84,12 @@ function sanitizeNodeColor(color) {
79
84
  *
80
85
  * @customElement lyra-graph
81
86
  * @event lyra-node-click - `detail: { id }`.
82
- * @event lyra-link-click - `detail: { source, target }`.
87
+ * @event lyra-link-click - `detail: { source, target, id? }`.
83
88
  * @csspart base - The graph wrapper.
84
89
  * @csspart svg - The graph SVG.
85
90
  * @csspart node - A graph node.
86
91
  * @csspart link - A graph link.
92
+ * @csspart arrowhead - The marker used by directed graph links.
87
93
  * @csspart label - A node label.
88
94
  * @csspart live-region - The current graph item announcement.
89
95
  * @csspart data-list - A visually hidden list alternative for graph data.
@@ -100,6 +106,9 @@ export class LyraGraph extends LyraElement {
100
106
  this.linkDistance = 100;
101
107
  this.minZoom = 0.1;
102
108
  this.maxZoom = 8;
109
+ /** Accessible name forwarded from the host to the semantic graph SVG. */
110
+ this.accessibleLabel = null;
111
+ this.arrowMarkerId = nextId('graph-arrow');
103
112
  /** True until the lazy-loaded d3 peer dependencies have settled (success or failure). */
104
113
  this.loading = true;
105
114
  this.simNodes = [];
@@ -314,12 +323,11 @@ export class LyraGraph extends LyraElement {
314
323
  const line = this.linkEls[i];
315
324
  if (!line)
316
325
  return;
317
- const source = l.source;
318
- const target = l.target;
319
- line.setAttribute('x1', String(source.x ?? 0));
320
- line.setAttribute('y1', String(source.y ?? 0));
321
- line.setAttribute('x2', String(target.x ?? 0));
322
- line.setAttribute('y2', String(target.y ?? 0));
326
+ const coordinates = this.linkCoordinates(l);
327
+ line.setAttribute('x1', String(coordinates.x1));
328
+ line.setAttribute('y1', String(coordinates.y1));
329
+ line.setAttribute('x2', String(coordinates.x2));
330
+ line.setAttribute('y2', String(coordinates.y2));
323
331
  });
324
332
  }
325
333
  rebuildSimulation() {
@@ -417,7 +425,43 @@ export class LyraGraph extends LyraElement {
417
425
  onLinkClick(link) {
418
426
  const source = typeof link.source === 'object' ? link.source.id : String(link.source);
419
427
  const target = typeof link.target === 'object' ? link.target.id : String(link.target);
420
- this.emit('lyra-link-click', { source, target });
428
+ this.emit('lyra-link-click', { source, target, ...(link.id ? { id: link.id } : {}) });
429
+ }
430
+ nodeAccessibleText(node) {
431
+ return node.accessibleLabel || node.label || node.id;
432
+ }
433
+ linkAccessibleText(link) {
434
+ if (link.accessibleLabel)
435
+ return link.accessibleLabel;
436
+ const source = typeof link.source === 'object'
437
+ ? this.nodeAccessibleText(link.source)
438
+ : String(link.source);
439
+ const target = typeof link.target === 'object'
440
+ ? this.nodeAccessibleText(link.target)
441
+ : String(link.target);
442
+ return link.label || this.localize('graphLink', undefined, { source, target });
443
+ }
444
+ linkCoordinates(link) {
445
+ const source = link.source;
446
+ const target = link.target;
447
+ const x1 = source.x ?? 0;
448
+ const y1 = source.y ?? 0;
449
+ const targetX = target.x ?? 0;
450
+ const targetY = target.y ?? 0;
451
+ if (!link.directed || link.dangling)
452
+ return { x1, y1, x2: targetX, y2: targetY };
453
+ const dx = targetX - x1;
454
+ const dy = targetY - y1;
455
+ const distance = Math.hypot(dx, dy);
456
+ if (distance === 0)
457
+ return { x1, y1, x2: targetX, y2: targetY };
458
+ const inset = Math.min(this.nodeRadius(target), distance);
459
+ return {
460
+ x1,
461
+ y1,
462
+ x2: targetX - (dx / distance) * inset,
463
+ y2: targetY - (dy / distance) * inset,
464
+ };
421
465
  }
422
466
  graphItemCount() {
423
467
  return this.simNodes.length + this.simLinks.length;
@@ -429,14 +473,10 @@ export class LyraGraph extends LyraElement {
429
473
  graphItemText(index) {
430
474
  if (index < this.simNodes.length) {
431
475
  const node = this.simNodes[index];
432
- return node ? this.localize('graphNode', undefined, { label: node.label ?? node.id }) : '';
476
+ return node ? this.localize('graphNode', undefined, { label: this.nodeAccessibleText(node) }) : '';
433
477
  }
434
478
  const link = this.simLinks[index - this.simNodes.length];
435
- if (!link)
436
- return '';
437
- const source = typeof link.source === 'object' ? link.source.label ?? link.source.id : String(link.source);
438
- const target = typeof link.target === 'object' ? link.target.label ?? link.target.id : String(link.target);
439
- return this.localize('graphLink', undefined, { source, target });
479
+ return link ? this.linkAccessibleText(link) : '';
440
480
  }
441
481
  onGraphItemFocus(index) {
442
482
  if (this.normalizedGraphItem(index) < 0)
@@ -513,35 +553,51 @@ export class LyraGraph extends LyraElement {
513
553
  <svg
514
554
  part="svg"
515
555
  role="group"
516
- aria-label=${this.localize('graphDiagram', undefined, {
517
- nodeCount: this.simNodes.length,
518
- linkCount: this.simLinks.length,
519
- })}
556
+ aria-label=${this.accessibleLabel ||
557
+ this.localize('graphDiagram', undefined, {
558
+ nodeCount: this.simNodes.length,
559
+ linkCount: this.simLinks.length,
560
+ })}
520
561
  viewBox="0 0 ${this.width} ${this.height}"
521
562
  tabindex=${this.graphItemCount() ? '-1' : '0'}
522
563
  >
564
+ <defs>
565
+ <marker
566
+ id=${this.arrowMarkerId}
567
+ viewBox="0 0 10 10"
568
+ refX="9"
569
+ refY="5"
570
+ markerWidth="6"
571
+ markerHeight="6"
572
+ orient="auto-start-reverse"
573
+ markerUnits="strokeWidth"
574
+ >
575
+ <path part="arrowhead" d="M 0 0 L 10 5 L 0 10 z"></path>
576
+ </marker>
577
+ </defs>
523
578
  <g transform="">
524
579
  ${this.simLinks.map((l, linkIndex) => {
525
- const source = l.source;
526
- const target = l.target;
527
580
  const itemIndex = this.simNodes.length + linkIndex;
581
+ const coordinates = this.linkCoordinates(l);
582
+ const color = sanitizeNodeColor(l.color);
583
+ const dash = normalizeLinkDash(l.dash);
528
584
  return svg `<line
529
585
  part="link"
530
586
  role="button"
531
587
  tabindex=${this.normalizedGraphItem() === itemIndex ? '0' : '-1'}
532
- aria-label=${this.localize('graphLink', undefined, {
533
- source: source.label ?? source.id,
534
- target: target.label ?? target.id,
535
- })}
588
+ aria-label=${this.linkAccessibleText(l)}
536
589
  stroke-width=${l.width ?? 1.5}
537
- x1=${source.x ?? 0}
538
- y1=${source.y ?? 0}
539
- x2=${target.x ?? 0}
540
- y2=${target.y ?? 0}
590
+ stroke-dasharray=${dash ?? nothing}
591
+ marker-end=${l.directed ? `url(#${this.arrowMarkerId})` : nothing}
592
+ style=${styleMap(color ? { '--lyra-link-color': color } : {})}
593
+ x1=${coordinates.x1}
594
+ y1=${coordinates.y1}
595
+ x2=${coordinates.x2}
596
+ y2=${coordinates.y2}
541
597
  @click=${() => this.onLinkClick(l)}
542
598
  @focus=${() => this.onGraphItemFocus(itemIndex)}
543
599
  @keydown=${(e) => this.onGraphKeyDown(e, itemIndex, () => this.onLinkClick(l))}
544
- ></line>`;
600
+ >${l.description || l.label ? svg `<title>${l.description || l.label}</title>` : nothing}</line>`;
545
601
  })}
546
602
  ${this.danglingLinks.map((l) => {
547
603
  const source = l.source;
@@ -564,7 +620,7 @@ export class LyraGraph extends LyraElement {
564
620
  part="node"
565
621
  role="button"
566
622
  tabindex=${this.normalizedGraphItem() === itemIndex ? '0' : '-1'}
567
- aria-label=${n.label ?? n.id}
623
+ aria-label=${this.nodeAccessibleText(n)}
568
624
  r=${this.nodeRadius(n)}
569
625
  cx=${n.x ?? 0}
570
626
  cy=${n.y ?? 0}
@@ -572,7 +628,7 @@ export class LyraGraph extends LyraElement {
572
628
  @click=${() => this.onNodeClick(n)}
573
629
  @focus=${() => this.onGraphItemFocus(itemIndex)}
574
630
  @keydown=${(e) => this.onGraphKeyDown(e, itemIndex, () => this.onNodeClick(n))}
575
- ></circle>
631
+ >${n.description ? svg `<title>${n.description}</title>` : nothing}</circle>
576
632
  ${n.label
577
633
  ? svg `<text part="label" aria-hidden="true" x=${(n.x ?? 0) + this.nodeRadius(n) + 2} y=${n.y ?? 0}>${n.label}</text>`
578
634
  : ''}
@@ -584,15 +640,8 @@ export class LyraGraph extends LyraElement {
584
640
  ${this.graphLiveText || (this.normalizedGraphItem() >= 0 ? `${this.graphItemText(this.normalizedGraphItem())} (1 of ${this.graphItemCount()})` : '')}
585
641
  </div>
586
642
  <ul part="data-list" class="sr-only" aria-label=${this.localize('graphDataList')}>
587
- ${this.simNodes.map((node) => html `<li>${this.localize('graphNode', undefined, { label: node.label ?? node.id })}</li>`)}
588
- ${this.simLinks.map((link) => {
589
- const source = link.source;
590
- const target = link.target;
591
- return html `<li>${this.localize('graphLink', undefined, {
592
- source: source.label ?? source.id,
593
- target: target.label ?? target.id,
594
- })}</li>`;
595
- })}
643
+ ${this.simNodes.map((node) => html `<li>${this.localize('graphNode', undefined, { label: this.nodeAccessibleText(node) })}</li>`)}
644
+ ${this.simLinks.map((link) => html `<li>${this.linkAccessibleText(link)}</li>`)}
596
645
  </ul>
597
646
  </div>
598
647
  `;
@@ -622,6 +671,9 @@ __decorate([
622
671
  __decorate([
623
672
  property({ type: Number, attribute: 'max-zoom' })
624
673
  ], LyraGraph.prototype, "maxZoom", void 0);
674
+ __decorate([
675
+ property({ attribute: 'aria-label' })
676
+ ], LyraGraph.prototype, "accessibleLabel", void 0);
625
677
  __decorate([
626
678
  property({ type: Number })
627
679
  ], LyraGraph.prototype, "seed", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"graph.class.js","sourceRoot":"","sources":["../../../src/components/graph/graph.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.class.js","sourceRoot":"","sources":["../../../src/components/graph/graph.class.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"graph.styles.d.ts","sourceRoot":"","sources":["../../../src/components/graph/graph.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA6ClB,CAAC"}
1
+ {"version":3,"file":"graph.styles.d.ts","sourceRoot":"","sources":["../../../src/components/graph/graph.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAgDlB,CAAC"}
@@ -9,10 +9,13 @@ export const styles = css `
9
9
  block-size: 100%;
10
10
  }
11
11
  [part='link'] {
12
- stroke: var(--lyra-color-border);
12
+ stroke: var(--lyra-link-color, var(--lyra-color-border));
13
13
  fill: none;
14
14
  cursor: pointer;
15
15
  }
16
+ [part='arrowhead'] {
17
+ fill: context-stroke;
18
+ }
16
19
  [part='link']:focus-visible {
17
20
  outline: var(--lyra-focus-ring-width) solid var(--lyra-focus-ring-color);
18
21
  outline-offset: var(--lyra-focus-ring-offset);
@@ -1 +1 @@
1
- {"version":3,"file":"graph.styles.js","sourceRoot":"","sources":["../../../src/components/graph/graph.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CxB,CAAC"}
1
+ {"version":3,"file":"graph.styles.js","sourceRoot":"","sources":["../../../src/components/graph/graph.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDxB,CAAC"}
@@ -217,8 +217,16 @@ export declare class LyraHeatmap extends LyraElement<LyraHeatmapEventMap> {
217
217
  * both "no data" and the ramp's own lightest step) without a prepended synthetic ramp color,
218
218
  * which can't safely reserve an exact value on a skewed dataset (the bucket selectors round by
219
219
  * continuous ratio, with no equality-based reservation). Unset (the default) reproduces today's
220
- * exact ramp/no-data behavior for every cell. */
220
+ * exact ramp/no-data behavior for every cell. A returned value containing a CSS custom property
221
+ * (e.g. `var(--x)`) or other browser-resolvable color syntax (e.g. `color-mix(...)`) is
222
+ * automatically resolved before being used as a canvas fill color. */
221
223
  cellColor?: (pos: MatrixCellPos | CalendarCellPos, value: number) => string | undefined;
224
+ /** Overrides the weekday-axis label text in calendar mode -- receives the real JS weekday index
225
+ * (`0` Sunday .. `6` Saturday) for a row that would otherwise render a label (today, only rows
226
+ * 1/3/5 relative to `firstDayOfWeek` ever do) and, when it returns a string, uses it instead of
227
+ * the built-in `Intl.DateTimeFormat`-derived short weekday name. Unset (the default) reproduces
228
+ * today's exact locale-derived output. */
229
+ weekdayLabelText?: (jsWeekday: number) => string | undefined;
222
230
  /** A discrete array (≥2) of CSS colors used as exact ramp steps instead of linearly
223
231
  * interpolating between the two `--lyra-heatmap-scale-lo`/`-hi` endpoints — lets a consumer
224
232
  * bring a validated, non-linear (or simply non-2-endpoint) sequential palette. Governs both
@@ -481,6 +489,19 @@ export declare class LyraHeatmap extends LyraElement<LyraHeatmapEventMap> {
481
489
  private onKeyDown;
482
490
  private onMatrixKeyDown;
483
491
  private onCalendarKeyDown;
492
+ /** Cache of resolved colors for the current draw pass, cleared at the top
493
+ * of drawCalendar()/drawMatrix() so a theme change is always picked up on
494
+ * the very next full redraw, while repeated identical cellColor() outputs
495
+ * within the same pass resolve only once. */
496
+ private canvasColorCache;
497
+ private colorProbe?;
498
+ /** Resolves a cellColor() return value that may contain a CSS custom
499
+ * property (or any other CSS color syntax the browser understands, e.g.
500
+ * color-mix()) into a literal color canvas's fillStyle can actually use --
501
+ * fillStyle silently no-ops on an unparseable string, per the Canvas 2D
502
+ * spec, leaving whatever the previous cell painted. Falls back to
503
+ * noDataFill() for a genuinely invalid color. */
504
+ private resolveCanvasColor;
484
505
  render(): TemplateResult;
485
506
  }
486
507
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"heatmap.class.d.ts","sourceRoot":"","sources":["../../../src/components/heatmap/heatmap.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heatmap.class.d.ts","sourceRoot":"","sources":["../../../src/components/heatmap/heatmap.class.ts"],"names":[],"mappings":"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"}
@@ -344,6 +344,11 @@ export class LyraHeatmap extends LyraElement {
344
344
  else
345
345
  this.onMatrixKeyDown(e);
346
346
  };
347
+ /** Cache of resolved colors for the current draw pass, cleared at the top
348
+ * of drawCalendar()/drawMatrix() so a theme change is always picked up on
349
+ * the very next full redraw, while repeated identical cellColor() outputs
350
+ * within the same pass resolve only once. */
351
+ this.canvasColorCache = new Map();
347
352
  }
348
353
  static { this.styles = [LyraElement.styles, styles, srOnly]; }
349
354
  /**
@@ -712,7 +717,9 @@ export class LyraHeatmap extends LyraElement {
712
717
  const labels = ['', '', '', '', '', '', ''];
713
718
  for (const weekday of [1, 3, 5]) {
714
719
  const row = (weekday - this.firstDayOfWeek + 7) % 7;
715
- labels[row] = formatter.format(new Date(firstWeekStart.getTime() + row * MS_PER_DAY));
720
+ labels[row] =
721
+ this.weekdayLabelText?.(weekday) ??
722
+ formatter.format(new Date(firstWeekStart.getTime() + row * MS_PER_DAY));
716
723
  }
717
724
  return labels;
718
725
  }
@@ -742,6 +749,7 @@ export class LyraHeatmap extends LyraElement {
742
749
  const buckets = normalizeBucketCount(this.bucketCount);
743
750
  const ramp = this.colorRamp(buckets).colors;
744
751
  const noDataFill = this.noDataFill();
752
+ this.canvasColorCache.clear();
745
753
  // Only consulted when `scale === 'sqrt'` — mirrors `drawMatrix()`'s own
746
754
  // `hi` bound, reusing the already-cached value range instead of
747
755
  // rescanning `sortedValues` for its max.
@@ -761,7 +769,7 @@ export class LyraHeatmap extends LyraElement {
761
769
  const y = this.rowYFor(weekday);
762
770
  const override = this.cellColor?.({ week, weekday }, value);
763
771
  if (override != null) {
764
- ctx.fillStyle = override;
772
+ ctx.fillStyle = this.resolveCanvasColor(override);
765
773
  }
766
774
  else if (value < 0 || !Number.isFinite(value)) {
767
775
  ctx.fillStyle = noDataFill;
@@ -859,6 +867,7 @@ export class LyraHeatmap extends LyraElement {
859
867
  const ramp = rampData.colors;
860
868
  const { loRgb, hiRgb } = rampData;
861
869
  const noDataFill = this.noDataFill();
870
+ this.canvasColorCache.clear();
862
871
  for (let r = 0; r < rows; r++) {
863
872
  for (let c = 0; c < cols; c++) {
864
873
  const v = this.values[r]?.[c] ?? -1;
@@ -866,7 +875,7 @@ export class LyraHeatmap extends LyraElement {
866
875
  const y = PAD_TOP + r * cellSize;
867
876
  const override = this.cellColor?.({ row: r, col: c }, v);
868
877
  if (override != null) {
869
- ctx.fillStyle = override;
878
+ ctx.fillStyle = this.resolveCanvasColor(override);
870
879
  }
871
880
  else if (v < 0 || !Number.isFinite(v)) {
872
881
  // `v < 0` alone is false for NaN, which would otherwise fall through to
@@ -1212,6 +1221,29 @@ export class LyraHeatmap extends LyraElement {
1212
1221
  this.focusedCell = next;
1213
1222
  this.announce(next);
1214
1223
  }
1224
+ /** Resolves a cellColor() return value that may contain a CSS custom
1225
+ * property (or any other CSS color syntax the browser understands, e.g.
1226
+ * color-mix()) into a literal color canvas's fillStyle can actually use --
1227
+ * fillStyle silently no-ops on an unparseable string, per the Canvas 2D
1228
+ * spec, leaving whatever the previous cell painted. Falls back to
1229
+ * noDataFill() for a genuinely invalid color. */
1230
+ resolveCanvasColor(value) {
1231
+ if (!value.includes('var('))
1232
+ return value;
1233
+ const cached = this.canvasColorCache.get(value);
1234
+ if (cached !== undefined)
1235
+ return cached;
1236
+ if (!this.colorProbe) {
1237
+ this.colorProbe = document.createElement('span');
1238
+ this.colorProbe.style.cssText =
1239
+ 'position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none;';
1240
+ this.shadowRoot.appendChild(this.colorProbe);
1241
+ }
1242
+ this.colorProbe.style.color = value;
1243
+ const resolved = this.colorProbe.style.color ? getComputedStyle(this.colorProbe).color : this.noDataFill();
1244
+ this.canvasColorCache.set(value, resolved);
1245
+ return resolved;
1246
+ }
1215
1247
  render() {
1216
1248
  const range = this.cachedValueRange;
1217
1249
  const labeledAnnotations = this.annotations.filter((a) => a.label);
@@ -1289,6 +1321,9 @@ __decorate([
1289
1321
  __decorate([
1290
1322
  property({ attribute: false })
1291
1323
  ], LyraHeatmap.prototype, "cellColor", void 0);
1324
+ __decorate([
1325
+ property({ attribute: false })
1326
+ ], LyraHeatmap.prototype, "weekdayLabelText", void 0);
1292
1327
  __decorate([
1293
1328
  property({ attribute: false })
1294
1329
  ], LyraHeatmap.prototype, "colorSteps", void 0);