@aceshooting/lyra-ui 2.6.0 → 2.8.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.
- package/README.md +13 -8
- package/custom-elements.json +3128 -31
- package/dist/components/app-rail/app-rail.class.d.ts +8 -1
- package/dist/components/app-rail/app-rail.class.d.ts.map +1 -1
- package/dist/components/app-rail/app-rail.class.js +12 -2
- package/dist/components/app-rail/app-rail.class.js.map +1 -1
- package/dist/components/chat-composer/chat-composer.class.d.ts +27 -0
- package/dist/components/chat-composer/chat-composer.class.d.ts.map +1 -1
- package/dist/components/chat-composer/chat-composer.class.js +64 -1
- package/dist/components/chat-composer/chat-composer.class.js.map +1 -1
- package/dist/components/checkbox/checkbox.class.d.ts +7 -0
- package/dist/components/checkbox/checkbox.class.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox.class.js +7 -0
- package/dist/components/checkbox/checkbox.class.js.map +1 -1
- package/dist/components/chip/chip.class.d.ts +2 -0
- package/dist/components/chip/chip.class.d.ts.map +1 -1
- package/dist/components/chip/chip.class.js +3 -1
- package/dist/components/chip/chip.class.js.map +1 -1
- package/dist/components/chip/chip.styles.d.ts.map +1 -1
- package/dist/components/chip/chip.styles.js +4 -1
- package/dist/components/chip/chip.styles.js.map +1 -1
- package/dist/components/combobox/combobox.class.d.ts +16 -0
- package/dist/components/combobox/combobox.class.d.ts.map +1 -1
- package/dist/components/combobox/combobox.class.js +47 -2
- package/dist/components/combobox/combobox.class.js.map +1 -1
- package/dist/components/combobox/combobox.styles.d.ts.map +1 -1
- package/dist/components/combobox/combobox.styles.js +56 -6
- package/dist/components/combobox/combobox.styles.js.map +1 -1
- package/dist/components/conversation-item/conversation-item.class.d.ts +14 -0
- package/dist/components/conversation-item/conversation-item.class.d.ts.map +1 -1
- package/dist/components/conversation-item/conversation-item.class.js +38 -0
- package/dist/components/conversation-item/conversation-item.class.js.map +1 -1
- package/dist/components/date-picker/date-input.class.d.ts +25 -0
- package/dist/components/date-picker/date-input.class.d.ts.map +1 -1
- package/dist/components/date-picker/date-input.class.js +61 -0
- package/dist/components/date-picker/date-input.class.js.map +1 -1
- package/dist/components/dialog/dialog.class.d.ts +13 -1
- package/dist/components/dialog/dialog.class.d.ts.map +1 -1
- package/dist/components/dialog/dialog.class.js +24 -8
- package/dist/components/dialog/dialog.class.js.map +1 -1
- package/dist/components/empty/empty.class.d.ts +2 -0
- package/dist/components/empty/empty.class.d.ts.map +1 -1
- package/dist/components/empty/empty.class.js +2 -0
- package/dist/components/empty/empty.class.js.map +1 -1
- package/dist/components/empty/empty.styles.d.ts.map +1 -1
- package/dist/components/empty/empty.styles.js +5 -2
- package/dist/components/empty/empty.styles.js.map +1 -1
- package/dist/components/export-button/export-button.class.d.ts +19 -2
- package/dist/components/export-button/export-button.class.d.ts.map +1 -1
- package/dist/components/export-button/export-button.class.js +32 -8
- package/dist/components/export-button/export-button.class.js.map +1 -1
- package/dist/components/export-button/export-button.styles.d.ts.map +1 -1
- package/dist/components/export-button/export-button.styles.js +8 -1
- package/dist/components/export-button/export-button.styles.js.map +1 -1
- package/dist/components/gauge/gauge.class.d.ts +6 -2
- package/dist/components/gauge/gauge.class.d.ts.map +1 -1
- package/dist/components/gauge/gauge.class.js +40 -4
- package/dist/components/gauge/gauge.class.js.map +1 -1
- package/dist/components/gauge/gauge.styles.js +1 -1
- package/dist/components/graph/graph.class.d.ts +28 -1
- package/dist/components/graph/graph.class.d.ts.map +1 -1
- package/dist/components/graph/graph.class.js +94 -42
- package/dist/components/graph/graph.class.js.map +1 -1
- package/dist/components/graph/graph.styles.d.ts.map +1 -1
- package/dist/components/graph/graph.styles.js +4 -1
- package/dist/components/graph/graph.styles.js.map +1 -1
- package/dist/components/map/map.class.d.ts +4 -2
- package/dist/components/map/map.class.d.ts.map +1 -1
- package/dist/components/map/map.class.js +5 -3
- package/dist/components/map/map.class.js.map +1 -1
- package/dist/components/mention-popover/mention-popover.class.d.ts +9 -4
- package/dist/components/mention-popover/mention-popover.class.d.ts.map +1 -1
- package/dist/components/mention-popover/mention-popover.class.js +11 -5
- package/dist/components/mention-popover/mention-popover.class.js.map +1 -1
- package/dist/components/menu/menu.class.d.ts +10 -4
- package/dist/components/menu/menu.class.d.ts.map +1 -1
- package/dist/components/menu/menu.class.js +11 -5
- package/dist/components/menu/menu.class.js.map +1 -1
- package/dist/components/model-select/model-select.class.d.ts +44 -0
- package/dist/components/model-select/model-select.class.d.ts.map +1 -1
- package/dist/components/model-select/model-select.class.js +125 -0
- package/dist/components/model-select/model-select.class.js.map +1 -1
- package/dist/components/model-select/model-select.styles.d.ts.map +1 -1
- package/dist/components/model-select/model-select.styles.js +21 -0
- package/dist/components/model-select/model-select.styles.js.map +1 -1
- package/dist/components/pagination/pagination.class.d.ts +81 -0
- package/dist/components/pagination/pagination.class.d.ts.map +1 -0
- package/dist/components/pagination/pagination.class.js +278 -0
- package/dist/components/pagination/pagination.class.js.map +1 -0
- package/dist/components/pagination/pagination.d.ts +2 -0
- package/dist/components/pagination/pagination.d.ts.map +1 -0
- package/dist/components/pagination/pagination.js +5 -0
- package/dist/components/pagination/pagination.js.map +1 -0
- package/dist/components/pagination/pagination.styles.d.ts +2 -0
- package/dist/components/pagination/pagination.styles.d.ts.map +1 -0
- package/dist/components/pagination/pagination.styles.js +142 -0
- package/dist/components/pagination/pagination.styles.js.map +1 -0
- package/dist/components/phone-input/phone-input.class.d.ts +191 -0
- package/dist/components/phone-input/phone-input.class.d.ts.map +1 -0
- package/dist/components/phone-input/phone-input.class.js +493 -0
- package/dist/components/phone-input/phone-input.class.js.map +1 -0
- package/dist/components/phone-input/phone-input.d.ts +2 -0
- package/dist/components/phone-input/phone-input.d.ts.map +1 -0
- package/dist/components/phone-input/phone-input.js +5 -0
- package/dist/components/phone-input/phone-input.js.map +1 -0
- package/dist/components/phone-input/phone-input.styles.d.ts +2 -0
- package/dist/components/phone-input/phone-input.styles.d.ts.map +1 -0
- package/dist/components/phone-input/phone-input.styles.js +123 -0
- package/dist/components/phone-input/phone-input.styles.js.map +1 -0
- package/dist/components/segmented/segmented.class.d.ts +1 -0
- package/dist/components/segmented/segmented.class.d.ts.map +1 -1
- package/dist/components/segmented/segmented.class.js +1 -0
- package/dist/components/segmented/segmented.class.js.map +1 -1
- package/dist/components/slider/slider.class.d.ts +3 -0
- package/dist/components/slider/slider.class.d.ts.map +1 -1
- package/dist/components/slider/slider.class.js +3 -0
- package/dist/components/slider/slider.class.js.map +1 -1
- package/dist/components/switch/switch.class.d.ts +20 -0
- package/dist/components/switch/switch.class.d.ts.map +1 -1
- package/dist/components/switch/switch.class.js +83 -23
- package/dist/components/switch/switch.class.js.map +1 -1
- package/dist/components/switch/switch.styles.d.ts.map +1 -1
- package/dist/components/switch/switch.styles.js +18 -0
- package/dist/components/switch/switch.styles.js.map +1 -1
- package/dist/components/table/table.class.d.ts +22 -6
- package/dist/components/table/table.class.d.ts.map +1 -1
- package/dist/components/table/table.class.js +20 -6
- package/dist/components/table/table.class.js.map +1 -1
- package/dist/components/textarea/textarea.class.d.ts +86 -7
- package/dist/components/textarea/textarea.class.d.ts.map +1 -1
- package/dist/components/textarea/textarea.class.js +305 -21
- package/dist/components/textarea/textarea.class.js.map +1 -1
- package/dist/components/textarea/textarea.styles.d.ts.map +1 -1
- package/dist/components/textarea/textarea.styles.js +36 -0
- package/dist/components/textarea/textarea.styles.js.map +1 -1
- package/dist/components/time-range/time-range.class.d.ts +4 -0
- package/dist/components/time-range/time-range.class.d.ts.map +1 -1
- package/dist/components/time-range/time-range.class.js +4 -0
- package/dist/components/time-range/time-range.class.js.map +1 -1
- package/dist/components/tool-approval-dialog/tool-approval-dialog.class.d.ts +6 -0
- package/dist/components/tool-approval-dialog/tool-approval-dialog.class.d.ts.map +1 -1
- package/dist/components/tool-approval-dialog/tool-approval-dialog.class.js +8 -0
- package/dist/components/tool-approval-dialog/tool-approval-dialog.class.js.map +1 -1
- package/dist/components/tree/tree-node.class.d.ts +3 -0
- package/dist/components/tree/tree-node.class.d.ts.map +1 -1
- package/dist/components/tree/tree-node.class.js +16 -1
- package/dist/components/tree/tree-node.class.js.map +1 -1
- package/dist/components/tree/tree-node.styles.d.ts.map +1 -1
- package/dist/components/tree/tree-node.styles.js +27 -1
- package/dist/components/tree/tree-node.styles.js.map +1 -1
- package/dist/components/tree/tree.class.d.ts +11 -1
- package/dist/components/tree/tree.class.d.ts.map +1 -1
- package/dist/components/tree/tree.class.js +6 -2
- package/dist/components/tree/tree.class.js.map +1 -1
- package/dist/components/typing-indicator/typing-indicator.class.d.ts +4 -0
- package/dist/components/typing-indicator/typing-indicator.class.d.ts.map +1 -1
- package/dist/components/typing-indicator/typing-indicator.class.js +4 -0
- package/dist/components/typing-indicator/typing-indicator.class.js.map +1 -1
- package/dist/components/typing-indicator/typing-indicator.styles.d.ts.map +1 -1
- package/dist/components/typing-indicator/typing-indicator.styles.js +9 -7
- package/dist/components/typing-indicator/typing-indicator.styles.js.map +1 -1
- package/dist/internal/localization.d.ts +1 -1
- package/dist/internal/localization.d.ts.map +1 -1
- package/dist/internal/localization.js +5 -0
- package/dist/internal/localization.js.map +1 -1
- package/dist/internal/root-registration-allowlist.d.ts +1 -1
- package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
- package/dist/internal/root-registration-allowlist.js +2 -0
- package/dist/internal/root-registration-allowlist.js.map +1 -1
- package/dist/lyra.d.ts +11 -3
- package/dist/lyra.d.ts.map +1 -1
- package/dist/lyra.js +4 -0
- package/dist/lyra.js.map +1 -1
- package/llms-full.txt +573 -94
- package/llms.txt +5 -3
- package/package.json +9 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-button.class.js","sourceRoot":"","sources":["../../../src/components/export-button/export-button.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAA4C,MAAM,KAAK,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAkB,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"export-button.class.js","sourceRoot":"","sources":["../../../src/components/export-button/export-button.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/export-button/export-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"export-button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/export-button/export-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAgGlB,CAAC"}
|
|
@@ -66,7 +66,10 @@ export const styles = css `
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
[part='menu-item'] {
|
|
69
|
-
display:
|
|
69
|
+
display: flex;
|
|
70
|
+
flex-direction: column;
|
|
71
|
+
align-items: flex-start;
|
|
72
|
+
gap: var(--lyra-size-1px);
|
|
70
73
|
inline-size: 100%;
|
|
71
74
|
text-align: start;
|
|
72
75
|
padding: var(--lyra-space-xs) var(--lyra-space-s);
|
|
@@ -88,5 +91,9 @@ export const styles = css `
|
|
|
88
91
|
opacity: var(--lyra-opacity-disabled);
|
|
89
92
|
cursor: not-allowed;
|
|
90
93
|
}
|
|
94
|
+
[part='format-description'] {
|
|
95
|
+
color: var(--lyra-color-text-quiet);
|
|
96
|
+
font-size: var(--lyra-font-size-sm);
|
|
97
|
+
}
|
|
91
98
|
`;
|
|
92
99
|
//# sourceMappingURL=export-button.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-button.styles.js","sourceRoot":"","sources":["../../../src/components/export-button/export-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"export-button.styles.js","sourceRoot":"","sources":["../../../src/components/export-button/export-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGxB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type TemplateResult } from 'lit';
|
|
2
2
|
import { LyraElement } from '../../internal/lyra-element.js';
|
|
3
|
-
export type GaugeType = 'radial' | 'linear';
|
|
3
|
+
export type GaugeType = 'radial' | 'ring' | 'linear';
|
|
4
4
|
/**
|
|
5
|
-
* `<lyra-gauge>` — a radial or linear meter. First-party invention; no
|
|
5
|
+
* `<lyra-gauge>` — a radial, full-circle ring, or linear meter. First-party invention; no
|
|
6
6
|
* generic gauge widget exists in Web Awesome.
|
|
7
7
|
*
|
|
8
8
|
* @customElement lyra-gauge
|
|
@@ -11,6 +11,7 @@ export type GaugeType = 'radial' | 'linear';
|
|
|
11
11
|
* @csspart fill - The animated fill arc/line.
|
|
12
12
|
* @csspart value - The value text.
|
|
13
13
|
* @csspart label - The label text.
|
|
14
|
+
* @cssprop [--lyra-gauge-fill=var(--lyra-color-brand)] - Fill stroke for radial, ring, and linear gauges.
|
|
14
15
|
*/
|
|
15
16
|
export declare class LyraGauge extends LyraElement {
|
|
16
17
|
static styles: import("lit").CSSResultGroup[];
|
|
@@ -22,6 +23,8 @@ export declare class LyraGauge extends LyraElement {
|
|
|
22
23
|
/** Imperative override for the displayed/announced value text, e.g. `'72°F'` for a raw `value` of `72`.
|
|
23
24
|
* An empty string is treated the same as unset and falls back to the numeric `value`. */
|
|
24
25
|
valueLabel?: string;
|
|
26
|
+
private appliedAriaLabel;
|
|
27
|
+
private explicitAriaLabel;
|
|
25
28
|
private get domain();
|
|
26
29
|
private get ratio();
|
|
27
30
|
/** The text rendered/announced for the current value: `valueLabel` when set,
|
|
@@ -31,6 +34,7 @@ export declare class LyraGauge extends LyraElement {
|
|
|
31
34
|
protected willUpdate(): void;
|
|
32
35
|
private renderRadial;
|
|
33
36
|
private renderLinear;
|
|
37
|
+
private renderRing;
|
|
34
38
|
render(): TemplateResult;
|
|
35
39
|
}
|
|
36
40
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gauge.class.d.ts","sourceRoot":"","sources":["../../../src/components/gauge/gauge.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"gauge.class.d.ts","sourceRoot":"","sources":["../../../src/components/gauge/gauge.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAsCrD;;;;;;;;;;;GAWG;AACH,qBAAa,SAAU,SAAQ,WAAW;IACxC,MAAM,CAAC,MAAM,iCAAgC;IAEjB,KAAK,SAAK;IACV,GAAG,SAAK;IACR,GAAG,SAAO;IACT,IAAI,EAAE,SAAS,CAAY;IAC5C,KAAK,SAAM;IACvB;6FACyF;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,iBAAiB,CAAuB;IAKhD,OAAO,KAAK,MAAM,GAIjB;IAED,OAAO,KAAK,KAAK,GAMhB;IAED;;mEAE+D;IAC/D,OAAO,KAAK,WAAW,GAEtB;IAED,SAAS,CAAC,UAAU,IAAI,IAAI,CA4B3B;IAED,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,UAAU;IAoBlB,MAAM,IAAI,cAAc,CAIvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAC;KACzB;CACF"}
|
|
@@ -39,8 +39,9 @@ function arcPath(startDeg, endDeg) {
|
|
|
39
39
|
// technique used for the linear variant's fill line below.
|
|
40
40
|
const RADIAL_ARC_D = arcPath(START_DEG, START_DEG + SWEEP_DEG);
|
|
41
41
|
const RADIAL_ARC_LENGTH = (SWEEP_DEG / 360) * 2 * Math.PI * RADIUS;
|
|
42
|
+
const RING_CIRCUMFERENCE = 2 * Math.PI * RADIUS;
|
|
42
43
|
/**
|
|
43
|
-
* `<lyra-gauge>` — a radial or linear meter. First-party invention; no
|
|
44
|
+
* `<lyra-gauge>` — a radial, full-circle ring, or linear meter. First-party invention; no
|
|
44
45
|
* generic gauge widget exists in Web Awesome.
|
|
45
46
|
*
|
|
46
47
|
* @customElement lyra-gauge
|
|
@@ -49,6 +50,7 @@ const RADIAL_ARC_LENGTH = (SWEEP_DEG / 360) * 2 * Math.PI * RADIUS;
|
|
|
49
50
|
* @csspart fill - The animated fill arc/line.
|
|
50
51
|
* @csspart value - The value text.
|
|
51
52
|
* @csspart label - The label text.
|
|
53
|
+
* @cssprop [--lyra-gauge-fill=var(--lyra-color-brand)] - Fill stroke for radial, ring, and linear gauges.
|
|
52
54
|
*/
|
|
53
55
|
export class LyraGauge extends LyraElement {
|
|
54
56
|
constructor() {
|
|
@@ -58,6 +60,11 @@ export class LyraGauge extends LyraElement {
|
|
|
58
60
|
this.max = 100;
|
|
59
61
|
this.type = 'radial';
|
|
60
62
|
this.label = '';
|
|
63
|
+
// `label` supplies the default meter name, but an author-provided host
|
|
64
|
+
// `aria-label` must win. Track the value last applied by the component so
|
|
65
|
+
// later label updates remain distinguishable from author attribute edits.
|
|
66
|
+
this.appliedAriaLabel = null;
|
|
67
|
+
this.explicitAriaLabel = null;
|
|
61
68
|
}
|
|
62
69
|
static { this.styles = [LyraElement.styles, styles]; }
|
|
63
70
|
// Normalizes a reversed min > max domain by swapping lo/hi, but only once
|
|
@@ -106,10 +113,16 @@ export class LyraGauge extends LyraElement {
|
|
|
106
113
|
this.setAttribute('aria-valuemax', String(hi));
|
|
107
114
|
else
|
|
108
115
|
this.removeAttribute('aria-valuemax');
|
|
109
|
-
|
|
110
|
-
|
|
116
|
+
const currentAriaLabel = this.getAttribute('aria-label');
|
|
117
|
+
if (currentAriaLabel !== this.appliedAriaLabel) {
|
|
118
|
+
this.explicitAriaLabel = currentAriaLabel;
|
|
119
|
+
}
|
|
120
|
+
const nextAriaLabel = this.explicitAriaLabel || this.label || null;
|
|
121
|
+
if (nextAriaLabel)
|
|
122
|
+
this.setAttribute('aria-label', nextAriaLabel);
|
|
111
123
|
else
|
|
112
124
|
this.removeAttribute('aria-label');
|
|
125
|
+
this.appliedAriaLabel = nextAriaLabel;
|
|
113
126
|
if (this.valueLabel)
|
|
114
127
|
this.setAttribute('aria-valuetext', this.valueLabel);
|
|
115
128
|
else
|
|
@@ -163,8 +176,31 @@ export class LyraGauge extends LyraElement {
|
|
|
163
176
|
<text part="value" x=${endX} y=${LINEAR_TEXT_Y} style=${rtl ? 'text-anchor:start' : nothing} aria-hidden="true">${text}</text>
|
|
164
177
|
</svg>`;
|
|
165
178
|
}
|
|
179
|
+
renderRing() {
|
|
180
|
+
const text = this.displayText;
|
|
181
|
+
const dashoffset = RING_CIRCUMFERENCE * (1 - this.ratio);
|
|
182
|
+
return html `<svg part="base" viewBox="0 0 100 100">
|
|
183
|
+
<circle part="track" cx=${CENTER} cy=${CENTER} r=${RADIUS} stroke-width=${STROKE}></circle>
|
|
184
|
+
<circle
|
|
185
|
+
part="fill"
|
|
186
|
+
cx=${CENTER}
|
|
187
|
+
cy=${CENTER}
|
|
188
|
+
r=${RADIUS}
|
|
189
|
+
stroke-width=${STROKE}
|
|
190
|
+
stroke-dasharray=${RING_CIRCUMFERENCE}
|
|
191
|
+
stroke-dashoffset=${dashoffset}
|
|
192
|
+
transform="rotate(-90 50 50)"
|
|
193
|
+
></circle>
|
|
194
|
+
<text part="value" x="50" y="52" aria-hidden="true">${text}</text>
|
|
195
|
+
${this.label ? svg `<text part="label" x="50" y="68" aria-hidden="true">${this.label}</text>` : ''}
|
|
196
|
+
</svg>`;
|
|
197
|
+
}
|
|
166
198
|
render() {
|
|
167
|
-
|
|
199
|
+
if (this.type === 'linear')
|
|
200
|
+
return this.renderLinear();
|
|
201
|
+
if (this.type === 'ring')
|
|
202
|
+
return this.renderRing();
|
|
203
|
+
return this.renderRadial();
|
|
168
204
|
}
|
|
169
205
|
}
|
|
170
206
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gauge.class.js","sourceRoot":"","sources":["../../../src/components/gauge/gauge.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAuB,MAAM,KAAK,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,kFAAkF;AAClF,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,8CAA8C;AACrE,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,MAAM,MAAM,GAAG,EAAE,CAAC;AAElB,0EAA0E;AAC1E,0DAA0D;AAC1D,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,+EAA+E;AAC/E,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,GAAG,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACvC,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,OAAO,CAAC,QAAgB,EAAE,MAAc;IAC/C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,IAAI,MAAM,MAAM,QAAQ,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;AAC3E,CAAC;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,qEAAqE;AACrE,8EAA8E;AAC9E,2DAA2D;AAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;AAC/D,MAAM,iBAAiB,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"gauge.class.js","sourceRoot":"","sources":["../../../src/components/gauge/gauge.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,10 @@ import '../skeleton/skeleton.class.js';
|
|
|
4
4
|
export interface GraphNode {
|
|
5
5
|
id: string;
|
|
6
6
|
label?: string;
|
|
7
|
+
/** Spoken label when it needs more context than the visible label. */
|
|
8
|
+
accessibleLabel?: string;
|
|
9
|
+
/** Optional native SVG tooltip text. */
|
|
10
|
+
description?: string;
|
|
7
11
|
/** Clamped to [6, 24] (a non-finite/missing value uses the midpoint, 15) — never rendered smaller/larger. */
|
|
8
12
|
radius?: number;
|
|
9
13
|
color?: string;
|
|
@@ -13,9 +17,24 @@ export interface GraphNode {
|
|
|
13
17
|
* a not-yet-created page. A link whose `source` id has no matching node is still dropped
|
|
14
18
|
* entirely (there is no position to draw a stub from). */
|
|
15
19
|
export interface GraphLink {
|
|
20
|
+
/** Optional stable id returned by `lyra-link-click`. */
|
|
21
|
+
id?: string;
|
|
16
22
|
source: string;
|
|
17
23
|
target: string;
|
|
18
24
|
width?: number;
|
|
25
|
+
/** Optional spoken-name and SVG-tooltip fallback used before the generated source/target text.
|
|
26
|
+
* It is not rendered as a visible edge label. */
|
|
27
|
+
label?: string;
|
|
28
|
+
/** Spoken label for the keyboard-operable link. */
|
|
29
|
+
accessibleLabel?: string;
|
|
30
|
+
/** Optional native SVG tooltip text. */
|
|
31
|
+
description?: string;
|
|
32
|
+
/** Draw an arrowhead at the target end. */
|
|
33
|
+
directed?: boolean;
|
|
34
|
+
/** Per-link stroke color; unsafe CSS declaration delimiters are rejected. */
|
|
35
|
+
color?: string;
|
|
36
|
+
/** SVG stroke-dash sequence. Invalid/negative entries are rejected as a whole. */
|
|
37
|
+
dash?: number[];
|
|
19
38
|
}
|
|
20
39
|
export interface LyraGraphEventMap {
|
|
21
40
|
'lyra-node-click': CustomEvent<{
|
|
@@ -24,6 +43,7 @@ export interface LyraGraphEventMap {
|
|
|
24
43
|
'lyra-link-click': CustomEvent<{
|
|
25
44
|
source: string;
|
|
26
45
|
target: string;
|
|
46
|
+
id?: string;
|
|
27
47
|
}>;
|
|
28
48
|
}
|
|
29
49
|
/**
|
|
@@ -43,11 +63,12 @@ export interface LyraGraphEventMap {
|
|
|
43
63
|
*
|
|
44
64
|
* @customElement lyra-graph
|
|
45
65
|
* @event lyra-node-click - `detail: { id }`.
|
|
46
|
-
* @event lyra-link-click - `detail: { source, target }`.
|
|
66
|
+
* @event lyra-link-click - `detail: { source, target, id? }`.
|
|
47
67
|
* @csspart base - The graph wrapper.
|
|
48
68
|
* @csspart svg - The graph SVG.
|
|
49
69
|
* @csspart node - A graph node.
|
|
50
70
|
* @csspart link - A graph link.
|
|
71
|
+
* @csspart arrowhead - The marker used by directed graph links.
|
|
51
72
|
* @csspart label - A node label.
|
|
52
73
|
* @csspart live-region - The current graph item announcement.
|
|
53
74
|
* @csspart data-list - A visually hidden list alternative for graph data.
|
|
@@ -63,6 +84,8 @@ export declare class LyraGraph extends LyraElement<LyraGraphEventMap> {
|
|
|
63
84
|
linkDistance: number;
|
|
64
85
|
minZoom: number;
|
|
65
86
|
maxZoom: number;
|
|
87
|
+
/** Accessible name forwarded from the host to the semantic graph SVG. */
|
|
88
|
+
accessibleLabel: string | null;
|
|
66
89
|
/** When set, seeds each node's initial x/y deterministically (keyed by
|
|
67
90
|
* node id, not array index) instead of forceSimulation()'s own random
|
|
68
91
|
* start, and settles the simulation synchronously — see rebuildSimulation().
|
|
@@ -72,6 +95,7 @@ export declare class LyraGraph extends LyraElement<LyraGraphEventMap> {
|
|
|
72
95
|
* not retroactively reposition already-settled nodes; there is currently
|
|
73
96
|
* no way to make an already-rendered graph reproducible after the fact. */
|
|
74
97
|
seed?: number;
|
|
98
|
+
private readonly arrowMarkerId;
|
|
75
99
|
/** True until the lazy-loaded d3 peer dependencies have settled (success or failure). */
|
|
76
100
|
private loading;
|
|
77
101
|
private simNodes;
|
|
@@ -157,6 +181,9 @@ export declare class LyraGraph extends LyraElement<LyraGraphEventMap> {
|
|
|
157
181
|
private rebuildSimulation;
|
|
158
182
|
private onNodeClick;
|
|
159
183
|
private onLinkClick;
|
|
184
|
+
private nodeAccessibleText;
|
|
185
|
+
private linkAccessibleText;
|
|
186
|
+
private linkCoordinates;
|
|
160
187
|
private graphItemCount;
|
|
161
188
|
private normalizedGraphItem;
|
|
162
189
|
private graphItemText;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.class.d.ts","sourceRoot":"","sources":["../../../src/components/graph/graph.class.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"graph.class.d.ts","sourceRoot":"","sources":["../../../src/components/graph/graph.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
318
|
-
|
|
319
|
-
line.setAttribute('
|
|
320
|
-
line.setAttribute('
|
|
321
|
-
line.setAttribute('
|
|
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:
|
|
476
|
+
return node ? this.localize('graphNode', undefined, { label: this.nodeAccessibleText(node) }) : '';
|
|
433
477
|
}
|
|
434
478
|
const link = this.simLinks[index - this.simNodes.length];
|
|
435
|
-
|
|
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.
|
|
517
|
-
|
|
518
|
-
|
|
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.
|
|
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
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
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
|
-
|
|
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=${
|
|
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
|
-
|
|
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:
|
|
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);
|