@aceshooting/lyra-ui 2.8.0 → 2.10.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 (59) hide show
  1. package/README.md +3 -1
  2. package/custom-elements.json +1288 -62
  3. package/dist/components/button/button.class.d.ts +57 -0
  4. package/dist/components/button/button.class.d.ts.map +1 -0
  5. package/dist/components/button/button.class.js +108 -0
  6. package/dist/components/button/button.class.js.map +1 -0
  7. package/dist/components/button/button.d.ts +2 -0
  8. package/dist/components/button/button.d.ts.map +1 -0
  9. package/dist/components/button/button.js +5 -0
  10. package/dist/components/button/button.js.map +1 -0
  11. package/dist/components/button/button.styles.d.ts +2 -0
  12. package/dist/components/button/button.styles.d.ts.map +1 -0
  13. package/dist/components/button/button.styles.js +121 -0
  14. package/dist/components/button/button.styles.js.map +1 -0
  15. package/dist/components/heatmap/heatmap.class.d.ts +41 -6
  16. package/dist/components/heatmap/heatmap.class.d.ts.map +1 -1
  17. package/dist/components/heatmap/heatmap.class.js +132 -21
  18. package/dist/components/heatmap/heatmap.class.js.map +1 -1
  19. package/dist/components/heatmap/heatmap.styles.d.ts.map +1 -1
  20. package/dist/components/heatmap/heatmap.styles.js +6 -0
  21. package/dist/components/heatmap/heatmap.styles.js.map +1 -1
  22. package/dist/components/input/input.class.d.ts +109 -0
  23. package/dist/components/input/input.class.d.ts.map +1 -0
  24. package/dist/components/input/input.class.js +269 -0
  25. package/dist/components/input/input.class.js.map +1 -0
  26. package/dist/components/input/input.d.ts +2 -0
  27. package/dist/components/input/input.d.ts.map +1 -0
  28. package/dist/components/input/input.js +5 -0
  29. package/dist/components/input/input.js.map +1 -0
  30. package/dist/components/input/input.styles.d.ts +2 -0
  31. package/dist/components/input/input.styles.d.ts.map +1 -0
  32. package/dist/components/input/input.styles.js +88 -0
  33. package/dist/components/input/input.styles.js.map +1 -0
  34. package/dist/components/tool-result-view/tool-result-view.class.d.ts +13 -5
  35. package/dist/components/tool-result-view/tool-result-view.class.d.ts.map +1 -1
  36. package/dist/components/tool-result-view/tool-result-view.class.js +26 -7
  37. package/dist/components/tool-result-view/tool-result-view.class.js.map +1 -1
  38. package/dist/components/tool-result-view/tool-result-view.styles.d.ts.map +1 -1
  39. package/dist/components/tool-result-view/tool-result-view.styles.js +11 -0
  40. package/dist/components/tool-result-view/tool-result-view.styles.js.map +1 -1
  41. package/dist/internal/icons.d.ts +6 -0
  42. package/dist/internal/icons.d.ts.map +1 -1
  43. package/dist/internal/icons.js +20 -0
  44. package/dist/internal/icons.js.map +1 -1
  45. package/dist/internal/localization.d.ts +1 -1
  46. package/dist/internal/localization.d.ts.map +1 -1
  47. package/dist/internal/localization.js +5 -0
  48. package/dist/internal/localization.js.map +1 -1
  49. package/dist/internal/root-registration-allowlist.d.ts +1 -1
  50. package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
  51. package/dist/internal/root-registration-allowlist.js +2 -0
  52. package/dist/internal/root-registration-allowlist.js.map +1 -1
  53. package/dist/lyra.d.ts +7 -0
  54. package/dist/lyra.d.ts.map +1 -1
  55. package/dist/lyra.js +4 -0
  56. package/dist/lyra.js.map +1 -1
  57. package/llms-full.txt +136 -9
  58. package/llms.txt +1 -1
  59. package/package.json +7 -2
@@ -0,0 +1,57 @@
1
+ import { type TemplateResult } from 'lit';
2
+ import { LyraElement } from '../../internal/lyra-element.js';
3
+ export type ButtonVariant = 'neutral' | 'brand' | 'success' | 'warning' | 'danger';
4
+ export type ButtonAppearance = 'filled' | 'outlined' | 'plain';
5
+ export type ButtonSize = 'xs' | 's' | 'm' | 'l' | 'xl';
6
+ export type ButtonType = 'button' | 'submit' | 'reset';
7
+ /**
8
+ * `<lyra-button>` — a generic action-button primitive, the `lyra-*` equivalent of a plain
9
+ * `wa-button`. Renders an internal native `<button part="base">` (never a real `<wa-button>` —
10
+ * this library has no runtime dependency on Web Awesome, matching `<lyra-copy-button>`/
11
+ * `<lyra-export-button>`'s own clean-room, API-mirroring approach). `type="submit"`/`type="reset"`
12
+ * are handled by this component itself via the host's own `closest('form')` — a shadow-internal
13
+ * native `<button type="submit">` does not participate in an ancestor light-DOM form's submission
14
+ * on its own, since form-submitter semantics don't cross the shadow boundary.
15
+ *
16
+ * A host `aria-label` is forwarded to the internal button as a literal string (for an icon-only
17
+ * button with no visible label); external `aria-labelledby`/`aria-describedby` idrefs are not
18
+ * copied across the shadow boundary.
19
+ *
20
+ * @customElement lyra-button
21
+ * @slot - Default slot: the button's label content.
22
+ * @slot start - Leading icon/content, rendered before the label.
23
+ * @slot end - Trailing icon/content, rendered after the label.
24
+ * @csspart base - The internal native `<button>`.
25
+ * @csspart label - The default-slot label wrapper.
26
+ * @csspart start - The `start` slot wrapper.
27
+ * @csspart end - The `end` slot wrapper.
28
+ * @csspart spinner - The loading spinner, present only while `loading` is `true`.
29
+ */
30
+ export declare class LyraButton extends LyraElement {
31
+ static styles: import("lit").CSSResultGroup[];
32
+ /** Tone vocabulary shared with `<lyra-chip>`/`<lyra-avatar>`'s own `tone` property, named
33
+ * `variant` here (not `tone`) to mirror `wa-button`'s own attribute name for a mechanical
34
+ * migration off a plain `wa-button`. */
35
+ variant: ButtonVariant;
36
+ appearance: ButtonAppearance;
37
+ size: ButtonSize;
38
+ /** Forwarded to this component's own submit/reset handling — see the class doc comment above
39
+ * for why this component (not the shadow-internal `<button>`) owns that behavior. */
40
+ type: ButtonType;
41
+ /** Shows an internal spinner in place of interaction affordance and disables the button, without
42
+ * clearing `disabled` — a consumer's own `disabled` state and a transient `loading` state are
43
+ * independent (mirrors `<lyra-export-button>`'s own `loading`/`disabled` pair). */
44
+ loading: boolean;
45
+ disabled: boolean;
46
+ private buttonEl?;
47
+ focus(options?: FocusOptions): void;
48
+ blur(): void;
49
+ private onClick;
50
+ render(): TemplateResult;
51
+ }
52
+ declare global {
53
+ interface HTMLElementTagNameMap {
54
+ 'lyra-button': LyraButton;
55
+ }
56
+ }
57
+ //# sourceMappingURL=button.class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.class.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AACnF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAC/D,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAW,SAAQ,WAAW;IACzC,MAAM,CAAC,MAAM,iCAAgC;IAE7C;;6CAEyC;IACZ,OAAO,EAAE,aAAa,CAAa;IACnC,UAAU,EAAE,gBAAgB,CAAY;IACxC,IAAI,EAAE,UAAU,CAAO;IACpD;0FACsF;IAC1E,IAAI,EAAE,UAAU,CAAY;IACxC;;wFAEoF;IACxC,OAAO,UAAS;IAChB,QAAQ,UAAS;IAE5C,OAAO,CAAC,QAAQ,CAAC,CAAoB;IAE7C,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAE3C;IAEQ,IAAI,IAAI,IAAI,CAEpB;IAED,OAAO,CAAC,OAAO,CAMb;IAEF,MAAM,IAAI,cAAc,CAiBvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
@@ -0,0 +1,108 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { html, nothing } from 'lit';
8
+ import { property, query } from 'lit/decorators.js';
9
+ import { LyraElement } from '../../internal/lyra-element.js';
10
+ import { spinnerIcon } from '../../internal/icons.js';
11
+ import { styles } from './button.styles.js';
12
+ /**
13
+ * `<lyra-button>` — a generic action-button primitive, the `lyra-*` equivalent of a plain
14
+ * `wa-button`. Renders an internal native `<button part="base">` (never a real `<wa-button>` —
15
+ * this library has no runtime dependency on Web Awesome, matching `<lyra-copy-button>`/
16
+ * `<lyra-export-button>`'s own clean-room, API-mirroring approach). `type="submit"`/`type="reset"`
17
+ * are handled by this component itself via the host's own `closest('form')` — a shadow-internal
18
+ * native `<button type="submit">` does not participate in an ancestor light-DOM form's submission
19
+ * on its own, since form-submitter semantics don't cross the shadow boundary.
20
+ *
21
+ * A host `aria-label` is forwarded to the internal button as a literal string (for an icon-only
22
+ * button with no visible label); external `aria-labelledby`/`aria-describedby` idrefs are not
23
+ * copied across the shadow boundary.
24
+ *
25
+ * @customElement lyra-button
26
+ * @slot - Default slot: the button's label content.
27
+ * @slot start - Leading icon/content, rendered before the label.
28
+ * @slot end - Trailing icon/content, rendered after the label.
29
+ * @csspart base - The internal native `<button>`.
30
+ * @csspart label - The default-slot label wrapper.
31
+ * @csspart start - The `start` slot wrapper.
32
+ * @csspart end - The `end` slot wrapper.
33
+ * @csspart spinner - The loading spinner, present only while `loading` is `true`.
34
+ */
35
+ export class LyraButton extends LyraElement {
36
+ constructor() {
37
+ super(...arguments);
38
+ /** Tone vocabulary shared with `<lyra-chip>`/`<lyra-avatar>`'s own `tone` property, named
39
+ * `variant` here (not `tone`) to mirror `wa-button`'s own attribute name for a mechanical
40
+ * migration off a plain `wa-button`. */
41
+ this.variant = 'neutral';
42
+ this.appearance = 'filled';
43
+ this.size = 'm';
44
+ /** Forwarded to this component's own submit/reset handling — see the class doc comment above
45
+ * for why this component (not the shadow-internal `<button>`) owns that behavior. */
46
+ this.type = 'button';
47
+ /** Shows an internal spinner in place of interaction affordance and disables the button, without
48
+ * clearing `disabled` — a consumer's own `disabled` state and a transient `loading` state are
49
+ * independent (mirrors `<lyra-export-button>`'s own `loading`/`disabled` pair). */
50
+ this.loading = false;
51
+ this.disabled = false;
52
+ this.onClick = () => {
53
+ if (this.type === 'submit') {
54
+ this.closest('form')?.requestSubmit();
55
+ }
56
+ else if (this.type === 'reset') {
57
+ this.closest('form')?.reset();
58
+ }
59
+ };
60
+ }
61
+ static { this.styles = [LyraElement.styles, styles]; }
62
+ focus(options) {
63
+ this.buttonEl?.focus(options);
64
+ }
65
+ blur() {
66
+ this.buttonEl?.blur();
67
+ }
68
+ render() {
69
+ const ariaLabel = this.getAttribute('aria-label');
70
+ return html `
71
+ <button
72
+ part="base"
73
+ type="button"
74
+ aria-label=${ariaLabel || nothing}
75
+ aria-busy=${this.loading ? 'true' : 'false'}
76
+ ?disabled=${this.disabled || this.loading}
77
+ @click=${this.onClick}
78
+ >
79
+ <span part="start"><slot name="start"></slot></span>
80
+ <span part="label"><slot></slot></span>
81
+ <span part="end"><slot name="end"></slot></span>
82
+ ${this.loading ? html `<span part="spinner" aria-hidden="true">${spinnerIcon()}</span>` : ''}
83
+ </button>
84
+ `;
85
+ }
86
+ }
87
+ __decorate([
88
+ property({ reflect: true })
89
+ ], LyraButton.prototype, "variant", void 0);
90
+ __decorate([
91
+ property({ reflect: true })
92
+ ], LyraButton.prototype, "appearance", void 0);
93
+ __decorate([
94
+ property({ reflect: true })
95
+ ], LyraButton.prototype, "size", void 0);
96
+ __decorate([
97
+ property()
98
+ ], LyraButton.prototype, "type", void 0);
99
+ __decorate([
100
+ property({ type: Boolean, reflect: true })
101
+ ], LyraButton.prototype, "loading", void 0);
102
+ __decorate([
103
+ property({ type: Boolean, reflect: true })
104
+ ], LyraButton.prototype, "disabled", void 0);
105
+ __decorate([
106
+ query('button')
107
+ ], LyraButton.prototype, "buttonEl", void 0);
108
+ //# sourceMappingURL=button.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.class.js","sourceRoot":"","sources":["../../../src/components/button/button.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAuB,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAO5C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,UAAW,SAAQ,WAAW;IAA3C;;QAGE;;iDAEyC;QACZ,YAAO,GAAkB,SAAS,CAAC;QACnC,eAAU,GAAqB,QAAQ,CAAC;QACxC,SAAI,GAAe,GAAG,CAAC;QACpD;8FACsF;QAC1E,SAAI,GAAe,QAAQ,CAAC;QACxC;;4FAEoF;QACxC,YAAO,GAAG,KAAK,CAAC;QAChB,aAAQ,GAAG,KAAK,CAAC;QAYrD,YAAO,GAAG,GAAS,EAAE;YAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;IAoBJ,CAAC;aArDQ,WAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,AAA/B,CAAgC;IAmBpC,KAAK,CAAC,OAAsB;QACnC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAEQ,IAAI;QACX,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAUD,MAAM;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,IAAI,CAAA;;;;qBAIM,SAAS,IAAI,OAAO;oBACrB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBAC/B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;iBAChC,IAAI,CAAC,OAAO;;;;;UAKnB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,2CAA2C,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;;KAE9F,CAAC;IACJ,CAAC;CACF;AAhD8B;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAoC;AACnC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAyC;AACxC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCAAwB;AAGxC;IAAX,QAAQ,EAAE;wCAA6B;AAII;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAiB;AAChB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAAkB;AAEpC;IAAxB,KAAK,CAAC,QAAQ,CAAC;4CAAsC"}
@@ -0,0 +1,2 @@
1
+ export * from './button.class.js';
2
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './button.class.js';
2
+ import { LyraButton } from './button.class.js';
3
+ import { defineElement } from '../../internal/prefix.js';
4
+ defineElement('button', LyraButton);
5
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button/button.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=button.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAsHlB,CAAC"}
@@ -0,0 +1,121 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: inline-block;
5
+ --lyra-button-accent: var(--lyra-color-text);
6
+ --lyra-button-fill: var(--lyra-color-surface);
7
+ --lyra-button-on-fill: var(--lyra-color-text);
8
+ --lyra-button-border: var(--lyra-color-border);
9
+ }
10
+ :host([variant='brand']) {
11
+ --lyra-button-accent: var(--lyra-color-brand);
12
+ --lyra-button-fill: var(--lyra-color-brand);
13
+ --lyra-button-on-fill: var(--lyra-color-on-brand);
14
+ --lyra-button-border: var(--lyra-color-brand);
15
+ }
16
+ :host([variant='success']) {
17
+ --lyra-button-accent: var(--lyra-color-success);
18
+ --lyra-button-fill: var(--lyra-color-success);
19
+ --lyra-button-on-fill: var(--lyra-color-on-success);
20
+ --lyra-button-border: var(--lyra-color-success);
21
+ }
22
+ :host([variant='warning']) {
23
+ --lyra-button-accent: var(--lyra-color-warning);
24
+ --lyra-button-fill: var(--lyra-color-warning);
25
+ --lyra-button-on-fill: var(--lyra-color-on-warning);
26
+ --lyra-button-border: var(--lyra-color-warning);
27
+ }
28
+ :host([variant='danger']) {
29
+ --lyra-button-accent: var(--lyra-color-danger);
30
+ --lyra-button-fill: var(--lyra-color-danger);
31
+ --lyra-button-on-fill: var(--lyra-color-on-danger);
32
+ --lyra-button-border: var(--lyra-color-danger);
33
+ }
34
+ [part='base'] {
35
+ display: inline-flex;
36
+ align-items: center;
37
+ justify-content: center;
38
+ gap: var(--lyra-space-2xs);
39
+ border-radius: var(--lyra-radius);
40
+ border: var(--lyra-border-width-thin) solid var(--lyra-button-border);
41
+ font: inherit;
42
+ font-weight: var(--lyra-font-weight-semibold);
43
+ cursor: pointer;
44
+ }
45
+ :host([appearance='filled']) [part='base'] {
46
+ background: var(--lyra-button-fill);
47
+ color: var(--lyra-button-on-fill);
48
+ }
49
+ :host([appearance='outlined']) [part='base'] {
50
+ background: transparent;
51
+ color: var(--lyra-button-accent);
52
+ }
53
+ :host([appearance='plain']) [part='base'] {
54
+ background: transparent;
55
+ color: var(--lyra-button-accent);
56
+ border-color: transparent;
57
+ }
58
+ [part='base']:disabled {
59
+ opacity: var(--lyra-opacity-disabled);
60
+ cursor: not-allowed;
61
+ }
62
+ [part='base']:focus-visible {
63
+ outline: var(--lyra-focus-ring-width) solid var(--lyra-focus-ring-color);
64
+ outline-offset: var(--lyra-focus-ring-offset);
65
+ }
66
+ [part='start']:empty,
67
+ [part='end']:empty {
68
+ display: none;
69
+ }
70
+ [part='start'],
71
+ [part='end'] {
72
+ display: inline-flex;
73
+ align-items: center;
74
+ }
75
+ :host([size='xs']) [part='base'] {
76
+ padding-inline: var(--lyra-space-xs);
77
+ padding-block: var(--lyra-space-2xs);
78
+ font-size: var(--lyra-font-size-xs);
79
+ min-block-size: var(--lyra-size-1-5rem);
80
+ }
81
+ :host([size='s']) [part='base'] {
82
+ padding-inline: var(--lyra-space-s);
83
+ padding-block: var(--lyra-space-2xs);
84
+ font-size: var(--lyra-font-size-sm);
85
+ min-block-size: var(--lyra-size-1-75rem);
86
+ }
87
+ :host([size='m']) [part='base'] {
88
+ padding-inline: var(--lyra-space-m);
89
+ padding-block: var(--lyra-space-xs);
90
+ font-size: var(--lyra-font-size-md-sm);
91
+ min-block-size: var(--lyra-size-2rem);
92
+ }
93
+ :host([size='l']) [part='base'] {
94
+ padding-inline: var(--lyra-space-l);
95
+ padding-block: var(--lyra-space-s);
96
+ font-size: var(--lyra-font-size-md);
97
+ min-block-size: var(--lyra-size-2-5rem);
98
+ }
99
+ :host([size='xl']) [part='base'] {
100
+ padding-inline: var(--lyra-space-2xl);
101
+ padding-block: var(--lyra-space-m);
102
+ font-size: var(--lyra-font-size-lg);
103
+ min-block-size: var(--lyra-size-3rem);
104
+ }
105
+ [part='spinner'] {
106
+ display: inline-flex;
107
+ animation: lyra-button-spin 1s linear infinite;
108
+ }
109
+ @keyframes lyra-button-spin {
110
+ to {
111
+ transform: rotate(360deg);
112
+ }
113
+ }
114
+ @media (prefers-reduced-motion: reduce) {
115
+ [part='spinner'] {
116
+ animation-duration: 0.001ms;
117
+ animation-iteration-count: 1;
118
+ }
119
+ }
120
+ `;
121
+ //# sourceMappingURL=button.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.styles.js","sourceRoot":"","sources":["../../../src/components/button/button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsHxB,CAAC"}
@@ -31,12 +31,22 @@ export interface HeatmapAnnotation {
31
31
  date?: string;
32
32
  label?: string;
33
33
  }
34
+ /** A single cell to mark as persistently selected -- `row`/`col` in matrix mode, `date` in
35
+ * calendar mode (whichever pair matches the active `mode`; the other field is ignored),
36
+ * mirroring `HeatmapAnnotation`'s own row/col/date shape. */
37
+ export interface HeatmapSelectedCell {
38
+ row?: number;
39
+ col?: number;
40
+ date?: string;
41
+ }
34
42
  /**
35
- * Parses a strict `#rgb` or `#rrggbb` hex string into an `[r, g, b]` triple,
36
- * or `null` if `hex` isn't one (rather than silently coercing an unparsable
37
- * string to `0` via `Number.parseInt(..., 16)` returning `NaN`).
43
+ * Parses a strict `#rgb`/`#rgba`/`#rrggbb`/`#rrggbbaa` hex string into an
44
+ * `[r, g, b, a]` quadruple (`a` in `[0, 1]`, defaulting to `1` for the
45
+ * 3/6-digit alpha-less forms), or `null` if `hex` isn't one (rather than
46
+ * silently coercing an unparsable string to `0` via
47
+ * `Number.parseInt(..., 16)` returning `NaN`).
38
48
  */
39
- export declare function hexToRgb(hex: string): [number, number, number] | null;
49
+ export declare function hexToRgb(hex: string): [number, number, number, number] | null;
40
50
  /**
41
51
  * Normalizes a bucket count to the safe, renderable range. Non-finite values
42
52
  * restore the public default; finite values are floored and clamped to
@@ -46,7 +56,11 @@ export declare function hexToRgb(hex: string): [number, number, number] | null;
46
56
  export declare function normalizeBucketCount(bucketCount: number): number;
47
57
  /**
48
58
  * Resolves any syntactically valid CSS `<color>` — hex, `rgb()`, `hsl()`,
49
- * `oklch()`, a named color, etc. — to an `[r, g, b]` triple.
59
+ * `oklch()`, a named color, etc. — to an `[r, g, b, a]` quadruple (`a` in
60
+ * `[0, 1]`, `1` for an opaque input). A translucent input (e.g.
61
+ * `rgba(255,255,255,.028)`, a common way to key a color ramp off a themed
62
+ * "quiet surface" token) round-trips its alpha rather than silently
63
+ * resolving to the fully opaque equivalent.
50
64
  *
51
65
  * Hand-rolling a parser for every CSS color syntax is unnecessary and
52
66
  * error-prone (a naive hex-only parser silently turns an unrecognized format
@@ -58,7 +72,7 @@ export declare function normalizeBucketCount(bucketCount: number): number;
58
72
  * back to `fallbackHex` (with a one-time `console.warn`) instead of
59
73
  * silently drawing the wrong color.
60
74
  */
61
- export declare function resolveRgb(color: string, fallbackHex: string): [number, number, number];
75
+ export declare function resolveRgb(color: string, fallbackHex: string): [number, number, number, number];
62
76
  /** Linearly interpolates between two CSS colors (any valid syntax) at `t` in `[0, 1]`. */
63
77
  export declare function mixColor(fromColor: string, toColor: string, t: number): string;
64
78
  export type LyraHeatmapCellClickDetail = {
@@ -198,6 +212,16 @@ export declare class LyraHeatmap extends LyraElement<LyraHeatmapEventMap> {
198
212
  set bucketCount(value: number);
199
213
  /** Cells to ring-highlight — `row`/`col` in matrix mode, `date` in calendar mode. See `HeatmapAnnotation`. */
200
214
  annotations: HeatmapAnnotation[];
215
+ /**
216
+ * The single cell to mark as persistently selected -- `row`/`col` in matrix mode, `date` in
217
+ * calendar mode. Purely a controlled, consumer-owned visual/accessibility marker, mirroring
218
+ * `<lyra-lite-chart>`'s `selectedIndex` -- this component never mutates it itself; a consumer
219
+ * wires it up from `lyra-cell-click` (or any other source) to build a toggle-select
220
+ * interaction. Unset (the default, `null`) draws no selection ring, adds no selected-cell text
221
+ * to the host's `aria-label`, and adds no "(selected)" suffix to the live-region announcement,
222
+ * reproducing today's exact output.
223
+ */
224
+ selectedCell: HeatmapSelectedCell | null;
201
225
  /** Formats the per-cell tooltip and keyboard live-region text — receives the cell position
202
226
  * (`MatrixCellPos` in matrix mode, `CalendarCellPos` in calendar mode) and its value. Falls back to
203
227
  * the built-in English "Row X, Col Y: value" / "Mon DD: value" template when unset. */
@@ -313,6 +337,9 @@ export declare class LyraHeatmap extends LyraElement<LyraHeatmapEventMap> {
313
337
  private queueThemeRefresh;
314
338
  private watchTheme;
315
339
  protected willUpdate(changed: PropertyValues): void;
340
+ /** The localized "Selected: <cell>." description appended to the host `aria-label`, or `''` when
341
+ * `selectedCell` is unset or doesn't resolve to a real cell in the current grid. */
342
+ private selectedCellDescription;
316
343
  /**
317
344
  * The real (non-no-data) value range across `values` (or `days` in
318
345
  * calendar mode), or `null` if there is none. Only called from
@@ -338,6 +365,14 @@ export declare class LyraHeatmap extends LyraElement<LyraHeatmapEventMap> {
338
365
  private focusRingColor;
339
366
  /** Reads the customizable canvas-drawn annotation-ring stroke color off the host's computed style. */
340
367
  private annotationColor;
368
+ /** Reads the customizable canvas-drawn selected-cell-ring stroke color off the host's computed style. */
369
+ private selectedColor;
370
+ /** Whether `selectedCell` refers to the given grid position, in whichever mode is active --
371
+ * `row`/`col` equality in matrix mode, resolved-date equality in calendar mode (looking the
372
+ * position's actual date up via `calendarCellAt()`, the same way the annotation ring resolves
373
+ * `ann.date` against `cells`). Shared by the live-region announcement, which needs to know
374
+ * whether the just-announced cell *is* the selection. */
375
+ private isSelectedPos;
341
376
  private draw;
342
377
  private scheduleDraw;
343
378
  private colorRamp;
@@ -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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"}