@helixui/library 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/custom-elements.json +487 -485
  2. package/dist/components/hx-alert/hx-alert.d.ts +10 -7
  3. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  4. package/dist/components/hx-alert/index.js +1 -1
  5. package/dist/components/hx-data-table/hx-data-table.d.ts +5 -13
  6. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  7. package/dist/components/hx-data-table/index.js +1 -1
  8. package/dist/components/hx-date-picker/hx-date-picker.d.ts +30 -10
  9. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  10. package/dist/components/hx-date-picker/index.js +1 -1
  11. package/dist/components/hx-number-input/hx-number-input.d.ts +15 -4
  12. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  13. package/dist/components/hx-number-input/index.js +1 -1
  14. package/dist/components/hx-pagination/hx-pagination.d.ts +18 -12
  15. package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -1
  16. package/dist/components/hx-pagination/index.js +1 -1
  17. package/dist/components/hx-split-panel/hx-split-panel.d.ts +13 -9
  18. package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -1
  19. package/dist/components/hx-split-panel/index.js +1 -1
  20. package/dist/index.js +6 -6
  21. package/dist/shared/{hx-alert-K5F8KeqI.js → hx-alert-CSxCF2rr.js} +38 -33
  22. package/dist/shared/hx-alert-CSxCF2rr.js.map +1 -0
  23. package/dist/shared/{hx-data-table-DujB9hSE.js → hx-data-table-BWvd5NNx.js} +107 -116
  24. package/dist/shared/hx-data-table-BWvd5NNx.js.map +1 -0
  25. package/dist/shared/{hx-date-picker-C8d2HtRV.js → hx-date-picker-6voxxxNE.js} +82 -79
  26. package/dist/shared/hx-date-picker-6voxxxNE.js.map +1 -0
  27. package/dist/shared/{hx-number-input-CAAibZ8X.js → hx-number-input-CIpL2BEh.js} +38 -35
  28. package/dist/shared/hx-number-input-CIpL2BEh.js.map +1 -0
  29. package/dist/shared/{hx-pagination-DBs-vmSv.js → hx-pagination-Blt-fFqV.js} +47 -50
  30. package/dist/shared/hx-pagination-Blt-fFqV.js.map +1 -0
  31. package/dist/shared/{hx-split-panel-BPMWKPGu.js → hx-split-panel-CV_Kr4EK.js} +16 -19
  32. package/dist/shared/hx-split-panel-CV_Kr4EK.js.map +1 -0
  33. package/package.json +1 -1
  34. package/dist/shared/hx-alert-K5F8KeqI.js.map +0 -1
  35. package/dist/shared/hx-data-table-DujB9hSE.js.map +0 -1
  36. package/dist/shared/hx-date-picker-C8d2HtRV.js.map +0 -1
  37. package/dist/shared/hx-number-input-CAAibZ8X.js.map +0 -1
  38. package/dist/shared/hx-pagination-DBs-vmSv.js.map +0 -1
  39. package/dist/shared/hx-split-panel-BPMWKPGu.js.map +0 -1
@@ -74,6 +74,12 @@ export declare class HelixAlert extends LitElement {
74
74
  * @attr accent
75
75
  */
76
76
  accent: boolean;
77
+ /**
78
+ * Override for the severity prefix announced to screen readers (e.g., "Info:", "Error:").
79
+ * When not set, defaults to the English label matching the current variant.
80
+ * @attr severity-label
81
+ */
82
+ severityLabel: string | undefined;
77
83
  /**
78
84
  * CSS selector for the element to return focus to after the alert is dismissed.
79
85
  * When set, the component will find and focus the matching element after dismissal.
@@ -81,13 +87,6 @@ export declare class HelixAlert extends LitElement {
81
87
  * @attr return-focus-to
82
88
  */
83
89
  returnFocusTo: string | null;
84
- /**
85
- * Map of severity variant labels prepended to screen-reader announcements.
86
- * Override to provide localized severity prefixes.
87
- */
88
- severityLabels: Partial<Record<string, string>>;
89
- /** Accessible label for the dismiss button. Override for localized text. */
90
- closeLabel: string;
91
90
  /** @internal */
92
91
  private _hasActions;
93
92
  /** @internal */
@@ -96,6 +95,10 @@ export declare class HelixAlert extends LitElement {
96
95
  private _actionsSlotChangeHandler;
97
96
  /** @internal */
98
97
  private _titleSlotChangeHandler;
98
+ /** Returns the default English severity label for the current variant. */
99
+ private _defaultSeverityLabel;
100
+ /** Returns the effective severity label, using the override if provided. */
101
+ private get _effectiveSeverityLabel();
99
102
  /** Returns true when the variant requires assertive announcement. */
100
103
  /** @internal */
101
104
  private get _isAssertive();
@@ -1 +1 @@
1
- {"version":3,"file":"hx-alert.d.ts","sourceRoot":"","sources":["../../../src/components/hx-alert/hx-alert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAMhD,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,4BAAmC;IAIzD;;;OAGG;IAEH,OAAO,EAAE,YAAY,CAAU;IAE/B;;;OAGG;IAEH,WAAW,UAAS;IAEpB;;;;;OAKG;IAEH,OAAO,SAAM;IAEb;;;OAGG;IAEH,IAAI,UAAS;IAEb;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;;OAIG;IAEH,MAAM,UAAS;IAEf;;;;;OAKG;IAEH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEpC;;;OAGG;IAEH,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAK7C;IAEF,4EAA4E;IAE5E,UAAU,SAAiB;IAI3B,gBAAgB;IAEhB,OAAO,CAAC,WAAW,CAAS;IAE5B,gBAAgB;IAEhB,OAAO,CAAC,SAAS,CAAS;IAI1B,gBAAgB;IAChB,OAAO,CAAC,yBAAyB,CAA6B;IAC9D,gBAAgB;IAChB,OAAO,CAAC,uBAAuB,CAA6B;IAI5D,qEAAqE;IACrE,gBAAgB;IAChB,OAAO,KAAK,YAAY,GAEvB;IAED;;;;OAIG;IACH,gBAAgB;IAChB,OAAO,KAAK,KAAK,GAEhB;IAIQ,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAY5B,YAAY,IAAI,IAAI;cAoBV,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI;IA6C9E,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAQvB,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAQ1B,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAQ1B,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAQxB,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAc1B,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAUxB,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAqCb,MAAM;CAuDhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,UAAU,CAAC;KACxB;CACF;AAED,YAAY,EAAE,UAAU,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"hx-alert.d.ts","sourceRoot":"","sources":["../../../src/components/hx-alert/hx-alert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAMhD,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,4BAAmC;IAIzD;;;OAGG;IAEH,OAAO,EAAE,YAAY,CAAU;IAE/B;;;OAGG;IAEH,WAAW,UAAS;IAEpB;;;;;OAKG;IAEH,OAAO,SAAM;IAEb;;;OAGG;IAEH,IAAI,UAAS;IAEb;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;;OAIG;IAEH,MAAM,UAAS;IAEf;;;;OAIG;IAEH,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC;;;;;OAKG;IAEH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAIpC,gBAAgB;IAEhB,OAAO,CAAC,WAAW,CAAS;IAE5B,gBAAgB;IAEhB,OAAO,CAAC,SAAS,CAAS;IAI1B,gBAAgB;IAChB,OAAO,CAAC,yBAAyB,CAA6B;IAC9D,gBAAgB;IAChB,OAAO,CAAC,uBAAuB,CAA6B;IAI5D,0EAA0E;IAC1E,OAAO,CAAC,qBAAqB;IAU7B,4EAA4E;IAC5E,OAAO,KAAK,uBAAuB,GAElC;IAED,qEAAqE;IACrE,gBAAgB;IAChB,OAAO,KAAK,YAAY,GAEvB;IAED;;;;OAIG;IACH,gBAAgB;IAChB,OAAO,KAAK,KAAK,GAEhB;IAIQ,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAY5B,YAAY,IAAI,IAAI;cAoBV,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI;IA6C9E,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAQvB,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAQ1B,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAQ1B,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAQxB,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAc1B,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAUxB,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAqCb,MAAM;CAuDhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,UAAU,CAAC;KACxB;CACF;AAED,YAAY,EAAE,UAAU,IAAI,OAAO,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { H as l } from "../../shared/hx-alert-K5F8KeqI.js";
1
+ import { H as l } from "../../shared/hx-alert-CSxCF2rr.js";
2
2
  export {
3
3
  l as HelixAlert
4
4
  };
@@ -93,24 +93,16 @@ export declare class HelixDataTable extends LitElement {
93
93
  * @attr label
94
94
  */
95
95
  label: string;
96
+ /**
97
+ * Accessible label for the "select all rows" checkbox in the table header.
98
+ * @attr select-all-label
99
+ */
100
+ selectAllLabel: string;
96
101
  /**
97
102
  * When true, the header row is sticky (position: sticky; top: 0).
98
103
  * @attr sticky-header
99
104
  */
100
105
  stickyHeader: boolean;
101
- /** Accessible label for the "select all rows" checkbox. */
102
- labelSelectAll: string;
103
- /**
104
- * Generates the accessible label for column sort buttons.
105
- * @param col - column label
106
- * @param dir - current sort direction
107
- */
108
- labelSortBy: (col: string, dir: 'asc' | 'desc' | null) => string;
109
- /**
110
- * Generates the accessible label for row selection checkboxes.
111
- * @param index - 1-based row index
112
- */
113
- labelSelectRow: (index: number) => string;
114
106
  /**
115
107
  * Current page (1-based). Set to 0 or leave at default (0) to disable pagination.
116
108
  * @attr page
@@ -1 +1 @@
1
- {"version":3,"file":"hx-data-table.d.ts","sourceRoot":"","sources":["../../../src/components/hx-data-table/hx-data-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAOrE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBACa,cAAe,SAAQ,UAAU;IAC5C,OAAgB,MAAM,4BAAuC;IAI7D;;;;OAIG;IAEH,OAAO,EAAE,iBAAiB,EAAE,CAAM;IAElC;;;;OAIG;IAEH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IAErC;;;OAGG;IAEH,UAAU,UAAS;IAEnB;;;OAGG;IAEH,OAAO,SAAM;IAEb;;;OAGG;IAEH,aAAa,EAAE,KAAK,GAAG,MAAM,CAAS;IAEtC;;;OAGG;IAEH,OAAO,UAAS;IAEhB;;;OAGG;IAEH,UAAU,SAAa;IAEvB;;;;OAIG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,YAAY,UAAS;IAErB,2DAA2D;IAE3D,cAAc,SAAqB;IAEnC;;;;OAIG;IAEH,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,KAAK,MAAM,CAGzC;IAEvB;;;OAGG;IAEH,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAoC;IAE7E;;;OAGG;IAEH,IAAI,SAAK;IAET;;;OAGG;IAEH,QAAQ,SAAK;IAIb,gBAAgB;IAEhB,OAAO,CAAC,aAAa,CAA0B;IAItC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAmDxD,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAcnB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAUvB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAWrB,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAKxB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAiBvB,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAmEtB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAyBvB,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAsDxB,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAsB3B,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAWvB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAwDd,MAAM;CAyBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,cAAc,CAAC;KACjC;CACF"}
1
+ {"version":3,"file":"hx-data-table.d.ts","sourceRoot":"","sources":["../../../src/components/hx-data-table/hx-data-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAOrE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBACa,cAAe,SAAQ,UAAU;IAC5C,OAAgB,MAAM,4BAAuC;IAI7D;;;;OAIG;IAEH,OAAO,EAAE,iBAAiB,EAAE,CAAM;IAElC;;;;OAIG;IAEH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IAErC;;;OAGG;IAEH,UAAU,UAAS;IAEnB;;;OAGG;IAEH,OAAO,SAAM;IAEb;;;OAGG;IAEH,aAAa,EAAE,KAAK,GAAG,MAAM,CAAS;IAEtC;;;OAGG;IAEH,OAAO,UAAS;IAEhB;;;OAGG;IAEH,UAAU,SAAa;IAEvB;;;;OAIG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,cAAc,SAAqB;IAEnC;;;OAGG;IAEH,YAAY,UAAS;IAErB;;;OAGG;IAEH,IAAI,SAAK;IAET;;;OAGG;IAEH,QAAQ,SAAK;IAIb,gBAAgB;IAEhB,OAAO,CAAC,aAAa,CAA0B;IAItC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAmDxD,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAcnB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAUvB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAWrB,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAKxB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAiBvB,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAmEtB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAyBvB,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAqDxB,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAsB3B,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAWvB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAwDd,MAAM;CAyBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,cAAc,CAAC;KACjC;CACF"}
@@ -1,4 +1,4 @@
1
- import { H as l } from "../../shared/hx-data-table-DujB9hSE.js";
1
+ import { H as l } from "../../shared/hx-data-table-BWvd5NNx.js";
2
2
  export {
3
3
  l as HelixDataTable
4
4
  };
@@ -108,16 +108,36 @@ export declare class HelixDatePicker extends LitElement {
108
108
  * @attr locale
109
109
  */
110
110
  locale: string;
111
- /** Accessible label for the calendar grid/dialog. */
112
- labelChooseDate: string;
113
- /** Accessible label for the "previous month" button. */
114
- labelPrevMonth: string;
115
- /** Accessible label for the "next month" button. */
116
- labelNextMonth: string;
117
- /** Accessible label for the calendar trigger button when calendar is closed. */
118
- labelOpenCalendar: string;
119
- /** Accessible label for the calendar trigger button when calendar is open. */
120
- labelCloseCalendar: string;
111
+ /**
112
+ * Validation message shown when the field is required but empty.
113
+ * @attr required-message
114
+ */
115
+ requiredMessage: string;
116
+ /**
117
+ * Accessible label for the calendar dialog.
118
+ * @attr choose-date-label
119
+ */
120
+ chooseDateLabel: string;
121
+ /**
122
+ * Accessible label for the calendar trigger button when the calendar is closed.
123
+ * @attr open-calendar-label
124
+ */
125
+ openCalendarLabel: string;
126
+ /**
127
+ * Accessible label for the calendar trigger button when the calendar is open.
128
+ * @attr close-calendar-label
129
+ */
130
+ closeCalendarLabel: string;
131
+ /**
132
+ * Accessible label for the previous month navigation button.
133
+ * @attr previous-month-label
134
+ */
135
+ previousMonthLabel: string;
136
+ /**
137
+ * Accessible label for the next month navigation button.
138
+ * @attr next-month-label
139
+ */
140
+ nextMonthLabel: string;
121
141
  /**
122
142
  * Tracks whether the calendar popup is currently visible.
123
143
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"hx-date-picker.d.ts","sourceRoot":"","sources":["../../../src/components/hx-date-picker/hx-date-picker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hx-date-picker.d.ts","sourceRoot":"","sources":["../../../src/components/hx-date-picker/hx-date-picker.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { H as a } from "../../shared/hx-date-picker-C8d2HtRV.js";
1
+ import { H as a } from "../../shared/hx-date-picker-6voxxxNE.js";
2
2
  export {
3
3
  a as HelixDatePicker
4
4
  };
@@ -108,10 +108,21 @@ export declare class HelixNumberInput extends LitElement {
108
108
  * @attr no-stepper
109
109
  */
110
110
  noStepper: boolean;
111
- /** Accessible label for the increment button. */
112
- labelIncrement: string;
113
- /** Accessible label for the decrement button. */
114
- labelDecrement: string;
111
+ /**
112
+ * Validation message shown when the field is required but empty.
113
+ * @attr required-message
114
+ */
115
+ requiredMessage: string;
116
+ /**
117
+ * Accessible label for the increment (+) stepper button.
118
+ * @attr increment-label
119
+ */
120
+ incrementLabel: string;
121
+ /**
122
+ * Accessible label for the decrement (-) stepper button.
123
+ * @attr decrement-label
124
+ */
125
+ decrementLabel: string;
115
126
  /** @internal */
116
127
  private _input;
117
128
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"hx-number-input.d.ts","sourceRoot":"","sources":["../../../src/components/hx-number-input/hx-number-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hx-number-input.d.ts","sourceRoot":"","sources":["../../../src/components/hx-number-input/hx-number-input.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { H as m } from "../../shared/hx-number-input-CAAibZ8X.js";
1
+ import { H as m } from "../../shared/hx-number-input-CIpL2BEh.js";
2
2
  export {
3
3
  m as HelixNumberInput
4
4
  };
@@ -105,20 +105,26 @@ export declare class HelixPagination extends LitElement {
105
105
  * @attr label-rows-per-page
106
106
  */
107
107
  labelRowsPerPage: string;
108
- /** Accessible label for the first-page button. */
109
- labelFirstPage: string;
110
- /** Accessible label for the previous-page button. */
111
- labelPrevPage: string;
112
- /** Accessible label for the next-page button. */
113
- labelNextPage: string;
114
- /** Accessible label for the last-page button. */
115
- labelLastPage: string;
116
108
  /**
117
- * Generates the live-region text announcing the current page.
118
- * @param current - current page number
119
- * @param total - total page count
109
+ * Accessible label for the "First page" navigation button.
110
+ * @attr first-page-label
120
111
  */
121
- labelPageOf: (current: number, total: number) => string;
112
+ firstPageLabel: string;
113
+ /**
114
+ * Accessible label for the "Previous page" navigation button.
115
+ * @attr previous-page-label
116
+ */
117
+ previousPageLabel: string;
118
+ /**
119
+ * Accessible label for the "Next page" navigation button.
120
+ * @attr next-page-label
121
+ */
122
+ nextPageLabel: string;
123
+ /**
124
+ * Accessible label for the "Last page" navigation button.
125
+ * @attr last-page-label
126
+ */
127
+ lastPageLabel: string;
122
128
  /** Tracks the roving tabindex target. Null means default to currentPage. */
123
129
  /** @internal */
124
130
  private _rovingKey;
@@ -1 +1 @@
1
- {"version":3,"file":"hx-pagination.d.ts","sourceRoot":"","sources":["../../../src/components/hx-pagination/hx-pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAOhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAC7C,OAAgB,MAAM,4BAAwC;IAE9D;;;OAGG;IAEH,UAAU,SAAK;IAEf;;;OAGG;IAEH,WAAW,SAAK;IAEhB;;;OAGG;IAEH,YAAY,SAAK;IAEjB;;;OAGG;IAEH,aAAa,SAAK;IAElB;;;OAGG;IAEH,aAAa,UAAS;IAEtB;;;OAGG;IAEH,KAAK,SAAgB;IAErB;;;;OAIG;IAEH,QAAQ,SAAM;IAEd;;;OAGG;IAEH,YAAY,UAAS;IAErB;;;OAGG;IAEH,gBAAgB,SAAoB;IAEpC,kDAAkD;IAElD,cAAc,SAAgB;IAE9B,qDAAqD;IAErD,aAAa,SAAmB;IAEhC,iDAAiD;IAEjD,aAAa,SAAe;IAE5B,iDAAiD;IAEjD,aAAa,SAAe;IAE5B;;;;OAIG;IAEH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CACvB;IAEhC,4EAA4E;IAC5E,gBAAgB;IACP,OAAO,CAAC,UAAU,CAAgC;IAE3D,4DAA4D;IAC5D,gBAAgB;IACP,OAAO,CAAC,YAAY,CAAM;IAEnC,6CAA6C;IAC7C,gBAAgB;IAChB,OAAO,CAAC,eAAe,CAAoE;IAI3F,gBAAgB;IAChB,OAAO,CAAC,eAAe;IA6CvB,gBAAgB;IAChB,OAAO,CAAC,MAAM;IAMd,gBAAgB;IAChB,OAAO,CAAC,SAAS;IAgBjB,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAe7B,gBAAgB;IAChB,OAAO,KAAK,mBAAmB,GAE9B;IAED,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAQtB,gBAAgB;IAChB,OAAO,CAAC,cAAc;IA8Bb,MAAM;CA0IhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,eAAe,CAAC;KAClC;CACF;AAED,uGAAuG;AACvG,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"hx-pagination.d.ts","sourceRoot":"","sources":["../../../src/components/hx-pagination/hx-pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAOhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAC7C,OAAgB,MAAM,4BAAwC;IAE9D;;;OAGG;IAEH,UAAU,SAAK;IAEf;;;OAGG;IAEH,WAAW,SAAK;IAEhB;;;OAGG;IAEH,YAAY,SAAK;IAEjB;;;OAGG;IAEH,aAAa,SAAK;IAElB;;;OAGG;IAEH,aAAa,UAAS;IAEtB;;;OAGG;IAEH,KAAK,SAAgB;IAErB;;;;OAIG;IAEH,QAAQ,SAAM;IAEd;;;OAGG;IAEH,YAAY,UAAS;IAErB;;;OAGG;IAEH,gBAAgB,SAAoB;IAEpC;;;OAGG;IAEH,cAAc,SAAgB;IAE9B;;;OAGG;IAEH,iBAAiB,SAAmB;IAEpC;;;OAGG;IAEH,aAAa,SAAe;IAE5B;;;OAGG;IAEH,aAAa,SAAe;IAE5B,4EAA4E;IAC5E,gBAAgB;IACP,OAAO,CAAC,UAAU,CAAgC;IAE3D,4DAA4D;IAC5D,gBAAgB;IACP,OAAO,CAAC,YAAY,CAAM;IAEnC,6CAA6C;IAC7C,gBAAgB;IAChB,OAAO,CAAC,eAAe,CAAoE;IAI3F,gBAAgB;IAChB,OAAO,CAAC,eAAe;IA6CvB,gBAAgB;IAChB,OAAO,CAAC,MAAM;IAMd,gBAAgB;IAChB,OAAO,CAAC,SAAS;IAgBjB,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAe7B,gBAAgB;IAChB,OAAO,KAAK,mBAAmB,GAE9B;IAED,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAQtB,gBAAgB;IAChB,OAAO,CAAC,cAAc;IA8Bb,MAAM;CA0IhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,eAAe,CAAC;KAClC;CACF;AAED,uGAAuG;AACvG,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC"}
@@ -1,4 +1,4 @@
1
- import { H as o } from "../../shared/hx-pagination-DBs-vmSv.js";
1
+ import { H as o } from "../../shared/hx-pagination-Blt-fFqV.js";
2
2
  export {
3
3
  o as HelixPagination
4
4
  };
@@ -87,17 +87,21 @@ export declare class HelixSplitPanel extends LitElement {
87
87
  * @attr collapsed
88
88
  */
89
89
  collapsed: 'start' | 'end' | null;
90
- /** Accessible label for the resize divider handle. */
91
- labelResize: string;
92
- /** Accessible label for the collapse-start panel button. */
93
- labelCollapseStart: string;
94
- /** Accessible label for the collapse-end panel button. */
95
- labelCollapseEnd: string;
96
90
  /**
97
- * Generates the accessible label for the expand button when a panel is collapsed.
98
- * @param side - which panel was collapsed
91
+ * Accessible label for the divider separator element.
92
+ * @attr resize-label
99
93
  */
100
- labelExpand: (side: 'start' | 'end') => string;
94
+ resizeLabel: string;
95
+ /**
96
+ * Accessible label for the button that collapses the start panel.
97
+ * @attr collapse-start-label
98
+ */
99
+ collapseStartLabel: string;
100
+ /**
101
+ * Accessible label for the button that collapses the end panel.
102
+ * @attr collapse-end-label
103
+ */
104
+ collapseEndLabel: string;
101
105
  /**
102
106
  * Whether the user is currently dragging the divider.
103
107
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"hx-split-panel.d.ts","sourceRoot":"","sources":["../../../src/components/hx-split-panel/hx-split-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAMrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAC7C,OAAgB,MAAM,4BAAwC;IAE9D;;;OAGG;IAEH,QAAQ,SAAM;IAEd;;;;OAIG;IAEH,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC;;;OAGG;IAEH,WAAW,EAAE,YAAY,GAAG,UAAU,CAAgB;IAEtD;;;OAGG;IAEH,GAAG,SAAK;IAER;;;OAGG;IAEH,GAAG,SAAO;IAEV;;;;;OAKG;IAsBH,IAAI,EAAE,MAAM,EAAE,CAAM;IAEpB;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,WAAW,UAAS;IAEpB;;;OAGG;IAEH,SAAS,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,CAAQ;IAEzC,sDAAsD;IAEtD,WAAW,SAAmB;IAE9B,4DAA4D;IAE5D,kBAAkB,SAA0B;IAE5C,0DAA0D;IAE1D,gBAAgB,SAAwB;IAExC;;;OAGG;IAEH,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,KAAK,MAAM,CAAoC;IAElF;;;OAGG;IACH,OAAO,CAAC,SAAS,CAAS;IAC1B;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAK;IACvB;;;OAGG;IACH,OAAO,CAAC,oBAAoB,CAAK;IACjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB,CAAM;IACrC;;;OAGG;IACH,OAAO,CAAC,qBAAqB,CAAK;IAClC;;;OAGG;IACH,OAAO,CAAC,sBAAsB,CAAK;IAEnC,gBAAgB;IAChB,OAAO,CAAC,MAAM;IAId,gBAAgB;IAChB,OAAO,CAAC,YAAY;IASpB,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAapB,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAOpB;;;OAGG;IACH,OAAO,CAAC,cAAc,CAWpB;IAEF;;;OAGG;IACH,OAAO,CAAC,cAAc,CASpB;IAEF;;;OAGG;IACH,OAAO,CAAC,YAAY,CAIlB;IAEF;;;OAGG;IACH,OAAO,CAAC,UAAU,CA8BhB;IAEF;;;OAGG;IACH,OAAO,CAAC,cAAc,CAEpB;IAEF;;;OAGG;IACH,OAAO,CAAC,YAAY,CAElB;IAEF;;;OAGG;IACH,OAAO,CAAC,OAAO,CAEb;cAEiB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAmBnE,iBAAiB,IAAI,IAAI;IAelC,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAOlB,MAAM;CA2DhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,eAAe,CAAC;KACnC;CACF"}
1
+ {"version":3,"file":"hx-split-panel.d.ts","sourceRoot":"","sources":["../../../src/components/hx-split-panel/hx-split-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAMrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAC7C,OAAgB,MAAM,4BAAwC;IAE9D;;;OAGG;IAEH,QAAQ,SAAM;IAEd;;;;OAIG;IAEH,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC;;;OAGG;IAEH,WAAW,EAAE,YAAY,GAAG,UAAU,CAAgB;IAEtD;;;OAGG;IAEH,GAAG,SAAK;IAER;;;OAGG;IAEH,GAAG,SAAO;IAEV;;;;;OAKG;IAsBH,IAAI,EAAE,MAAM,EAAE,CAAM;IAEpB;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,WAAW,UAAS;IAEpB;;;OAGG;IAEH,SAAS,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,CAAQ;IAEzC;;;OAGG;IAEH,WAAW,SAAmB;IAE9B;;;OAGG;IAEH,kBAAkB,SAA0B;IAE5C;;;OAGG;IAEH,gBAAgB,SAAwB;IAExC;;;OAGG;IACH,OAAO,CAAC,SAAS,CAAS;IAC1B;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAK;IACvB;;;OAGG;IACH,OAAO,CAAC,oBAAoB,CAAK;IACjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB,CAAM;IACrC;;;OAGG;IACH,OAAO,CAAC,qBAAqB,CAAK;IAClC;;;OAGG;IACH,OAAO,CAAC,sBAAsB,CAAK;IAEnC,gBAAgB;IAChB,OAAO,CAAC,MAAM;IAId,gBAAgB;IAChB,OAAO,CAAC,YAAY;IASpB,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAapB,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAOpB;;;OAGG;IACH,OAAO,CAAC,cAAc,CAWpB;IAEF;;;OAGG;IACH,OAAO,CAAC,cAAc,CASpB;IAEF;;;OAGG;IACH,OAAO,CAAC,YAAY,CAIlB;IAEF;;;OAGG;IACH,OAAO,CAAC,UAAU,CA8BhB;IAEF;;;OAGG;IACH,OAAO,CAAC,cAAc,CAEpB;IAEF;;;OAGG;IACH,OAAO,CAAC,YAAY,CAElB;IAEF;;;OAGG;IACH,OAAO,CAAC,OAAO,CAEb;cAEiB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAmBnE,iBAAiB,IAAI,IAAI;IAelC,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAOlB,MAAM;CA2DhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,eAAe,CAAC;KACnC;CACF"}
@@ -1,4 +1,4 @@
1
- import { H as a } from "../../shared/hx-split-panel-BPMWKPGu.js";
1
+ import { H as a } from "../../shared/hx-split-panel-CV_Kr4EK.js";
2
2
  export {
3
3
  a as HelixSplitPanel
4
4
  };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { H as r, a as x } from "./shared/hx-accordion-D1kFhdeQ.js";
2
2
  import { H as a } from "./shared/hx-action-bar-D4bulGQP.js";
3
- import { H as i } from "./shared/hx-alert-K5F8KeqI.js";
3
+ import { H as i } from "./shared/hx-alert-CSxCF2rr.js";
4
4
  import { H as s } from "./shared/hx-avatar-Cun-O99h.js";
5
5
  import { H as m } from "./shared/hx-badge-CsFd2xtw.js";
6
6
  import { H as n } from "./shared/hx-banner-BTV-X2xF.js";
@@ -17,8 +17,8 @@ import { H as N } from "./shared/hx-combobox-CivfelTS.js";
17
17
  import { H as y } from "./shared/hx-container-DLUKnTi9.js";
18
18
  import { H as O } from "./shared/hx-copy-button--0dymSvw.js";
19
19
  import { H as j } from "./shared/hx-counter-Duf00H7p.js";
20
- import { H as z } from "./shared/hx-data-table-DujB9hSE.js";
21
- import { H as J } from "./shared/hx-date-picker-C8d2HtRV.js";
20
+ import { H as z } from "./shared/hx-data-table-BWvd5NNx.js";
21
+ import { H as J } from "./shared/hx-date-picker-6voxxxNE.js";
22
22
  import { H as Q } from "./shared/hx-dialog-DkUSnVgw.js";
23
23
  import { H as X } from "./shared/hx-divider-DNNs4e8q.js";
24
24
  import { H as Z } from "./shared/hx-drawer-CJcRZcns.js";
@@ -38,9 +38,9 @@ import { H as Pe, a as ke } from "./shared/hx-list-DwInEX2H.js";
38
38
  import { H as De, a as we, b as Fe } from "./shared/hx-menu-divider-DR4G_rqw.js";
39
39
  import { H as Re } from "./shared/hx-meter-uXkTZq-W.js";
40
40
  import { H as Ge } from "./shared/hx-nav-3JsN2Oak.js";
41
- import { H as Ne } from "./shared/hx-number-input-CAAibZ8X.js";
41
+ import { H as Ne } from "./shared/hx-number-input-CIpL2BEh.js";
42
42
  import { H as ye } from "./shared/hx-overflow-menu-2kgOJ_ht.js";
43
- import { H as Oe } from "./shared/hx-pagination-DBs-vmSv.js";
43
+ import { H as Oe } from "./shared/hx-pagination-Blt-fFqV.js";
44
44
  import { H as je } from "./shared/hx-popover-DxE67miP.js";
45
45
  import { H as ze } from "./shared/hx-popup-Dg6n_PbY.js";
46
46
  import { H as Je } from "./shared/hx-progress-bar-Dm_EHyng.js";
@@ -54,7 +54,7 @@ import { H as io } from "./shared/hx-skeleton-BHvALyd7.js";
54
54
  import { H as so } from "./shared/hx-slider-D_0EKJyk.js";
55
55
  import { H as mo } from "./shared/hx-spinner-DMn4SChS.js";
56
56
  import { H as no } from "./shared/hx-split-button-CypgLXw1.js";
57
- import { H as To } from "./shared/hx-split-panel-BPMWKPGu.js";
57
+ import { H as To } from "./shared/hx-split-panel-CV_Kr4EK.js";
58
58
  import { H as co } from "./shared/hx-stack-BStY1RmV.js";
59
59
  import { H as Io } from "./shared/hx-stat-CHntLHJM.js";
60
60
  import { H as Co } from "./shared/hx-status-indicator-C1BwEvUw.js";
@@ -1,8 +1,8 @@
1
- import { css as v, LitElement as p, html as i, nothing as d } from "lit";
2
- import { property as s, state as u, customElement as f } from "lit/decorators.js";
1
+ import { css as u, LitElement as p, html as s, nothing as d } from "lit";
2
+ import { property as i, state as v, customElement as f } from "lit/decorators.js";
3
3
  import { classMap as x } from "lit/directives/class-map.js";
4
4
  import { tokenStyles as b } from "@helixui/tokens/lit";
5
- const g = v`
5
+ const g = u`
6
6
  :host {
7
7
  display: block;
8
8
  }
@@ -222,14 +222,22 @@ var m = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, o = (e, t, n
222
222
  };
223
223
  let r = class extends p {
224
224
  constructor() {
225
- super(...arguments), this.variant = "info", this.dismissible = !1, this.heading = "", this.open = !1, this.showIcon = !1, this.accent = !1, this.returnFocusTo = null, this.severityLabels = {
225
+ super(...arguments), this.variant = "info", this.dismissible = !1, this.heading = "", this.open = !1, this.showIcon = !1, this.accent = !1, this.returnFocusTo = null, this._hasActions = !1, this._hasTitle = !1, this._actionsSlotChangeHandler = null, this._titleSlotChangeHandler = null;
226
+ }
227
+ // ─── Private Helpers ───
228
+ /** Returns the default English severity label for the current variant. */
229
+ _defaultSeverityLabel() {
230
+ return {
226
231
  info: "Info:",
227
232
  success: "Success:",
228
233
  warning: "Warning:",
229
234
  error: "Error:"
230
- }, this.closeLabel = "Close alert", this._hasActions = !1, this._hasTitle = !1, this._actionsSlotChangeHandler = null, this._titleSlotChangeHandler = null;
235
+ }[this.variant] ?? "";
236
+ }
237
+ /** Returns the effective severity label, using the override if provided. */
238
+ get _effectiveSeverityLabel() {
239
+ return this.severityLabel ?? this._defaultSeverityLabel();
231
240
  }
232
- // ─── Private Helpers ───
233
241
  /** Returns true when the variant requires assertive announcement. */
234
242
  /** @internal */
235
243
  get _isAssertive() {
@@ -272,7 +280,7 @@ let r = class extends p {
272
280
  const n = this.renderRoot.querySelector(".sr-only");
273
281
  n && (n.textContent = "", Promise.resolve().then(() => {
274
282
  var c;
275
- const l = this.severityLabels[this.variant] ?? "", a = ((c = this.textContent) == null ? void 0 : c.trim()) ?? "";
283
+ const l = this._effectiveSeverityLabel, a = ((c = this.textContent) == null ? void 0 : c.trim()) ?? "";
276
284
  n.textContent = l ? `${l} ${a}` : a;
277
285
  }));
278
286
  });
@@ -285,7 +293,7 @@ let r = class extends p {
285
293
  // ─── Default Icons ───
286
294
  /** @internal */
287
295
  _renderInfoIcon() {
288
- return i`<svg viewBox="0 0 20 20" aria-hidden="true">
296
+ return s`<svg viewBox="0 0 20 20" aria-hidden="true">
289
297
  <path
290
298
  d="M10 2a8 8 0 100 16 8 8 0 000-16zm.75 4.75a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM9.25 9a.75.75 0 011.5 0v4a.75.75 0 01-1.5 0V9z"
291
299
  />
@@ -293,7 +301,7 @@ let r = class extends p {
293
301
  }
294
302
  /** @internal */
295
303
  _renderSuccessIcon() {
296
- return i`<svg viewBox="0 0 20 20" aria-hidden="true">
304
+ return s`<svg viewBox="0 0 20 20" aria-hidden="true">
297
305
  <path
298
306
  d="M10 2a8 8 0 100 16 8 8 0 000-16zm3.03 6.28a.75.75 0 00-1.06-1.06L9 10.19 7.78 8.97a.75.75 0 00-1.06 1.06l1.75 1.75a.75.75 0 001.06 0l3.5-3.5z"
299
307
  />
@@ -301,7 +309,7 @@ let r = class extends p {
301
309
  }
302
310
  /** @internal */
303
311
  _renderWarningIcon() {
304
- return i`<svg viewBox="0 0 20 20" aria-hidden="true">
312
+ return s`<svg viewBox="0 0 20 20" aria-hidden="true">
305
313
  <path
306
314
  d="M8.49 2.92a1.75 1.75 0 013.02 0l6.25 10.83A1.75 1.75 0 0116.25 16H3.75a1.75 1.75 0 01-1.51-2.25L8.49 2.92zM10 7a.75.75 0 01.75.75v3a.75.75 0 01-1.5 0v-3A.75.75 0 0110 7zm0 7.5a.75.75 0 100-1.5.75.75 0 000 1.5z"
307
315
  />
@@ -309,7 +317,7 @@ let r = class extends p {
309
317
  }
310
318
  /** @internal */
311
319
  _renderErrorIcon() {
312
- return i`<svg viewBox="0 0 20 20" aria-hidden="true">
320
+ return s`<svg viewBox="0 0 20 20" aria-hidden="true">
313
321
  <path
314
322
  d="M10 2a8 8 0 100 16 8 8 0 000-16zm-1.72 5.22a.75.75 0 011.06 0L10 7.94l.66-.72a.75.75 0 111.06 1.06L11.06 9l.66.72a.75.75 0 11-1.06 1.06L10 10.06l-.66.72a.75.75 0 01-1.06-1.06L8.94 9l-.66-.72a.75.75 0 010-1.06z"
315
323
  />
@@ -331,7 +339,7 @@ let r = class extends p {
331
339
  }
332
340
  /** @internal */
333
341
  _renderCloseIcon() {
334
- return i`<svg viewBox="0 0 20 20" aria-hidden="true">
342
+ return s`<svg viewBox="0 0 20 20" aria-hidden="true">
335
343
  <path
336
344
  d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"
337
345
  />
@@ -362,8 +370,8 @@ let r = class extends p {
362
370
  alert: !0,
363
371
  [`alert--${this.variant}`]: !0,
364
372
  "alert--accent": this.accent
365
- }, t = this.severityLabels[this.variant] ?? "";
366
- return i`
373
+ }, t = this._effectiveSeverityLabel;
374
+ return s`
367
375
  <div
368
376
  class="sr-only"
369
377
  aria-live=${this._isAssertive ? "assertive" : "polite"}
@@ -371,7 +379,7 @@ let r = class extends p {
371
379
  ></div>
372
380
  <div part="alert" class=${x(e)}>
373
381
  <span class="alert__severity-label">${t}</span>
374
- ${this.showIcon ? i`
382
+ ${this.showIcon ? s`
375
383
  <div part="icon" class="alert__icon">
376
384
  <slot name="icon">${this._renderDefaultIcon()}</slot>
377
385
  </div>
@@ -390,11 +398,11 @@ let r = class extends p {
390
398
  </div>
391
399
  </div>
392
400
 
393
- ${this.dismissible ? i`
401
+ ${this.dismissible ? s`
394
402
  <button
395
403
  part="close-button"
396
404
  class="alert__close-button"
397
- aria-label=${this.closeLabel}
405
+ aria-label=${`Close ${this.heading ? `${this.heading} ` : ""}alert`}
398
406
  @click=${this._handleDismiss}
399
407
  >
400
408
  ${this._renderCloseIcon()}
@@ -406,37 +414,34 @@ let r = class extends p {
406
414
  };
407
415
  r.styles = [b, g];
408
416
  o([
409
- s({ type: String, reflect: !0 })
417
+ i({ type: String, reflect: !0 })
410
418
  ], r.prototype, "variant", 2);
411
419
  o([
412
- s({ type: Boolean, reflect: !0 })
420
+ i({ type: Boolean, reflect: !0 })
413
421
  ], r.prototype, "dismissible", 2);
414
422
  o([
415
- s({ type: String })
423
+ i({ type: String })
416
424
  ], r.prototype, "heading", 2);
417
425
  o([
418
- s({ type: Boolean, reflect: !0 })
426
+ i({ type: Boolean, reflect: !0 })
419
427
  ], r.prototype, "open", 2);
420
428
  o([
421
- s({ type: Boolean, reflect: !0, attribute: "show-icon" })
429
+ i({ type: Boolean, reflect: !0, attribute: "show-icon" })
422
430
  ], r.prototype, "showIcon", 2);
423
431
  o([
424
- s({ type: Boolean, reflect: !0 })
432
+ i({ type: Boolean, reflect: !0 })
425
433
  ], r.prototype, "accent", 2);
426
434
  o([
427
- s({ type: String, attribute: "return-focus-to" })
428
- ], r.prototype, "returnFocusTo", 2);
429
- o([
430
- s({ attribute: !1 })
431
- ], r.prototype, "severityLabels", 2);
435
+ i({ attribute: "severity-label" })
436
+ ], r.prototype, "severityLabel", 2);
432
437
  o([
433
- s({ type: String, attribute: "close-label" })
434
- ], r.prototype, "closeLabel", 2);
438
+ i({ type: String, attribute: "return-focus-to" })
439
+ ], r.prototype, "returnFocusTo", 2);
435
440
  o([
436
- u()
441
+ v()
437
442
  ], r.prototype, "_hasActions", 2);
438
443
  o([
439
- u()
444
+ v()
440
445
  ], r.prototype, "_hasTitle", 2);
441
446
  r = o([
442
447
  f("hx-alert")
@@ -444,4 +449,4 @@ r = o([
444
449
  export {
445
450
  r as H
446
451
  };
447
- //# sourceMappingURL=hx-alert-K5F8KeqI.js.map
452
+ //# sourceMappingURL=hx-alert-CSxCF2rr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hx-alert-CSxCF2rr.js","sources":["../../src/components/hx-alert/hx-alert.styles.ts","../../src/components/hx-alert/hx-alert.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixAlertStyles = css`\n :host {\n display: block;\n }\n\n :host(:not([open])) {\n display: none;\n }\n\n /* ─── Screen-reader-only announcement region ─── */\n /* Always present in DOM so AT registers it before content is injected. */\n /* Visually hidden via clip-path technique (superior to display:none which */\n /* removes the element from the AT tree entirely). */\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n * {\n box-sizing: border-box;\n }\n\n /* ─── Alert Container ─── */\n\n .alert {\n display: flex;\n align-items: flex-start;\n gap: var(--hx-alert-gap, var(--hx-space-3, 0.75rem));\n padding: var(--hx-alert-padding, var(--hx-space-4, 1rem));\n border: var(--hx-alert-border-width, var(--hx-border-width-thin, 1px)) solid\n var(--hx-alert-border-color, var(--hx-color-info-200, #b3d9ef));\n border-radius: var(--hx-alert-border-radius, var(--hx-border-radius-md, 0.375rem));\n background-color: var(--hx-alert-bg, var(--hx-color-info-50, #e8f4fd));\n color: var(--hx-alert-color, var(--hx-color-info-800, #1a3a4a));\n font-family: var(--hx-alert-font-family, var(--hx-font-family-sans, sans-serif));\n font-size: var(--hx-font-size-sm, 0.875rem);\n line-height: var(--hx-line-height-normal, 1.5);\n }\n\n /* ─── Accent Variant (left border stripe) ─── */\n /* Removes full border and replaces with a left-side accent stripe. */\n /* Common healthcare/enterprise dashboard pattern for dense information UIs. */\n\n .alert--accent {\n border-width: 0;\n border-left: var(--hx-alert-accent-width, 4px) solid\n var(--hx-alert-border-color, var(--hx-color-info-200, #b3d9ef));\n border-radius: 0;\n }\n\n /* ─── Severity Label (WCAG 1.4.1) ─── */\n /* Visually hidden — provides a non-color cue for screen readers and users */\n /* who cannot distinguish variants by color alone (e.g. color-blind users). */\n /* Always present regardless of showIcon so severity is never color-only. */\n\n .alert__severity-label {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n /* ─── Icon ─── */\n\n .alert__icon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n color: var(--hx-alert-icon-color, var(--hx-color-info-500, #3b82f6));\n }\n\n .alert__icon svg {\n width: var(--hx-space-5, 1.25rem);\n height: var(--hx-space-5, 1.25rem);\n fill: currentColor;\n }\n\n /* ─── Title ─── */\n\n .alert__title {\n display: none;\n font-weight: var(--hx-font-weight-semibold, 600);\n margin-bottom: var(--hx-space-1, 0.25rem);\n }\n\n .alert__title--visible {\n display: block;\n }\n\n /* ─── Message ─── */\n\n .alert__message {\n flex: 1;\n min-width: 0;\n }\n\n /* ─── Actions ─── */\n /* Hidden by default; shown via JS slotchange detection to avoid invisible */\n /* margin-top spacing when no actions are slotted. */\n\n .alert__actions {\n display: none;\n align-items: center;\n gap: var(--hx-space-2, 0.5rem);\n margin-top: var(--hx-space-2, 0.5rem);\n }\n\n .alert__actions--visible {\n display: flex;\n }\n\n /* ─── Close Button ─── */\n /* Minimum 44px touch target per WCAG 2.5.8 (Target Size Minimum, AA) and */\n /* Apple HIG / Google Material guidelines. Uses absolute px units to ensure */\n /* the target size is independent of the consumer's base font size. */\n\n .alert__close-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n min-width: var(--hx-touch-target-size, 44px);\n min-height: var(--hx-touch-target-size, 44px);\n margin-left: auto;\n padding: 0;\n border: none;\n border-radius: var(--hx-border-radius-sm, 0.25rem);\n background: transparent;\n color: var(--hx-alert-color, var(--hx-color-info-800, #1a3a4a));\n cursor: pointer;\n font-size: var(--hx-font-size-md, 1rem);\n line-height: 1;\n transition:\n background-color var(--hx-transition-fast, 150ms ease),\n opacity var(--hx-transition-fast, 150ms ease);\n opacity: 0.7;\n }\n\n .alert__close-button:hover {\n opacity: 1;\n /* color-mix() is supported in Chrome 111+, Firefox 113+, Safari 16.2+. */\n /* Falls back to transparent (no hover background) in older environments. */\n background-color: color-mix(in srgb, currentColor 10%, transparent);\n }\n\n .alert__close-button:focus-visible {\n outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #2563eb);\n outline-offset: var(--hx-focus-ring-offset, 2px);\n opacity: 1;\n }\n\n .alert__close-button svg {\n width: var(--hx-space-4, 1rem);\n height: var(--hx-space-4, 1rem);\n fill: currentColor;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .alert__close-button {\n transition: none;\n }\n }\n\n /* ─── Variant: info ─── */\n\n :host([variant='info']) .alert,\n :host(:not([variant])) .alert {\n --hx-alert-bg: var(--hx-color-info-50, #e8f4fd);\n --hx-alert-border-color: var(--hx-color-info-200, #b3d9ef);\n --hx-alert-color: var(--hx-color-info-800, #1a3a4a);\n --hx-alert-icon-color: var(--hx-color-info-500, #3b82f6);\n }\n\n /* ─── Variant: success ─── */\n\n :host([variant='success']) .alert {\n --hx-alert-bg: var(--hx-color-success-50, #ecfdf5);\n --hx-alert-border-color: var(--hx-color-success-200, #a7f3d0);\n --hx-alert-color: var(--hx-color-success-800, #065f46);\n --hx-alert-icon-color: var(--hx-color-success-500, #10b981);\n }\n\n /* ─── Variant: warning ─── */\n\n :host([variant='warning']) .alert {\n --hx-alert-bg: var(--hx-color-warning-50, #fffbeb);\n --hx-alert-border-color: var(--hx-color-warning-200, #fde68a);\n --hx-alert-color: var(--hx-color-warning-800, #92400e);\n --hx-alert-icon-color: var(--hx-color-warning-500, #f59e0b);\n }\n\n /* ─── Variant: error ─── */\n\n :host([variant='error']) .alert {\n --hx-alert-bg: var(--hx-color-error-50, #fef2f2);\n --hx-alert-border-color: var(--hx-color-error-200, #fecaca);\n --hx-alert-color: var(--hx-color-error-800, #991b1b);\n --hx-alert-icon-color: var(--hx-color-error-500, #ef4444);\n }\n`;\n","import { LitElement, html, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { tokenStyles } from '@helixui/tokens/lit';\nimport { helixAlertStyles } from './hx-alert.styles.js';\n\n/** Alert variant determines visual styling and ARIA semantics. */\nexport type AlertVariant = 'info' | 'success' | 'warning' | 'error';\n\n/**\n * A feedback component for communicating status messages, warnings, and errors.\n * Critical for healthcare patient safety alerts.\n *\n * @summary Feedback alert for status messages with variant-based styling and ARIA live regions.\n *\n * @tag hx-alert\n *\n * @slot - Default slot for alert message content.\n * @slot title - Optional title/headline for the alert.\n * @slot icon - Custom icon to override the default variant icon.\n * @slot actions - Action buttons rendered within the alert.\n *\n * @attr {string} heading - Text used to build the close button's contextual aria-label\n * (e.g., \"Close Low blood pressure alert\"). When absent the label falls back to \"Close alert\".\n *\n * @fires {CustomEvent<{reason: string}>} hx-close - Dispatched when the user dismisses the alert.\n * @fires {CustomEvent} hx-after-close - Dispatched after the alert is dismissed.\n *\n * @csspart alert - The outer alert container.\n * @csspart title - The title/headline container.\n * @csspart icon - The icon container.\n * @csspart message - The message content area.\n * @csspart close-button - The dismiss button (only rendered when dismissible).\n * @csspart actions - The actions container.\n *\n * @cssprop [--hx-alert-bg=var(--hx-color-info-50)] - Alert background color.\n * @cssprop [--hx-alert-color=var(--hx-color-info-800)] - Alert text color.\n * @cssprop [--hx-alert-border-color=var(--hx-color-info-200)] - Alert border color.\n * @cssprop [--hx-alert-border-radius=var(--hx-border-radius-md)] - Alert border radius.\n * @cssprop [--hx-alert-border-width=var(--hx-border-width-thin)] - Alert border width.\n * @cssprop [--hx-alert-padding=var(--hx-space-4)] - Alert padding.\n * @cssprop [--hx-alert-gap=var(--hx-space-3)] - Gap between alert elements.\n * @cssprop [--hx-alert-icon-color=var(--hx-color-info-500)] - Alert icon color.\n * @cssprop [--hx-alert-font-family=var(--hx-font-family-sans)] - Alert font family.\n * @cssprop [--hx-touch-target-size=44px] - Minimum touch target size for the close button.\n * @cssprop [--hx-alert-accent-width=4px] - Width of the left border accent stripe.\n */\n@customElement('hx-alert')\nexport class HelixAlert extends LitElement {\n static override styles = [tokenStyles, helixAlertStyles];\n\n // ─── Properties ───\n\n /**\n * Visual variant of the alert that determines colors and ARIA semantics.\n * @attr variant\n */\n @property({ type: String, reflect: true })\n variant: AlertVariant = 'info';\n\n /**\n * Whether the alert can be dismissed by the user.\n * @attr dismissible\n */\n @property({ type: Boolean, reflect: true })\n dismissible = false;\n\n /**\n * Optional heading text that provides context for the close button's accessible label.\n * When provided, the close button is announced as \"Close [heading] alert\".\n * When absent, the close button falls back to \"Close alert\".\n * @attr heading\n */\n @property({ type: String })\n heading = '';\n\n /**\n * Whether the alert is visible. Add the `open` attribute to show the alert.\n * @attr open\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Whether to show the default variant icon. Add `show-icon` attribute to display the icon.\n * @attr show-icon\n */\n @property({ type: Boolean, reflect: true, attribute: 'show-icon' })\n showIcon = false;\n\n /**\n * When true, applies a left border accent stripe instead of a full border.\n * Common healthcare/enterprise dashboard pattern for visual distinction of alert types.\n * @attr accent\n */\n @property({ type: Boolean, reflect: true })\n accent = false;\n\n /**\n * Override for the severity prefix announced to screen readers (e.g., \"Info:\", \"Error:\").\n * When not set, defaults to the English label matching the current variant.\n * @attr severity-label\n */\n @property({ attribute: 'severity-label' })\n severityLabel: string | undefined;\n\n /**\n * CSS selector for the element to return focus to after the alert is dismissed.\n * When set, the component will find and focus the matching element after dismissal.\n * If not set, focus management is the caller's responsibility via the hx-after-close event.\n * @attr return-focus-to\n */\n @property({ type: String, attribute: 'return-focus-to' })\n returnFocusTo: string | null = null;\n\n // ─── State ───\n\n /** @internal */\n @state()\n private _hasActions = false;\n\n /** @internal */\n @state()\n private _hasTitle = false;\n\n // ─── Private Handler References ───\n\n /** @internal */\n private _actionsSlotChangeHandler: (() => void) | null = null;\n /** @internal */\n private _titleSlotChangeHandler: (() => void) | null = null;\n\n // ─── Private Helpers ───\n\n /** Returns the default English severity label for the current variant. */\n private _defaultSeverityLabel(): string {\n const labels: Record<string, string> = {\n info: 'Info:',\n success: 'Success:',\n warning: 'Warning:',\n error: 'Error:',\n };\n return labels[this.variant] ?? '';\n }\n\n /** Returns the effective severity label, using the override if provided. */\n private get _effectiveSeverityLabel(): string {\n return this.severityLabel ?? this._defaultSeverityLabel();\n }\n\n /** Returns true when the variant requires assertive announcement. */\n /** @internal */\n private get _isAssertive(): boolean {\n return this.variant === 'error';\n }\n\n /**\n * Returns the appropriate ARIA role based on variant.\n * role=\"alert\" implies aria-live=\"assertive\"; role=\"status\" implies aria-live=\"polite\".\n * We do NOT set aria-live explicitly to avoid double-announcements in JAWS.\n */\n /** @internal */\n private get _role(): string {\n return this._isAssertive ? 'alert' : 'status';\n }\n\n // ─── Lifecycle ───\n\n override connectedCallback(): void {\n super.connectedCallback();\n // Apply ARIA role to the host element for reliable screen reader support across\n // Shadow DOM boundaries. Placing role on a shadow-internal element has inconsistent\n // AT support in JAWS+Chrome and VoiceOver+Safari combinations (particularly pre-2024).\n this.setAttribute('role', this._role);\n if (!this.open) {\n this.setAttribute('aria-hidden', 'true');\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n const actionsSlot = this.renderRoot.querySelector<HTMLSlotElement>('slot[name=\"actions\"]');\n if (actionsSlot && this._actionsSlotChangeHandler) {\n actionsSlot.removeEventListener('slotchange', this._actionsSlotChangeHandler);\n }\n const titleSlot = this.renderRoot.querySelector<HTMLSlotElement>('slot[name=\"title\"]');\n if (titleSlot && this._titleSlotChangeHandler) {\n titleSlot.removeEventListener('slotchange', this._titleSlotChangeHandler);\n }\n }\n\n override firstUpdated(): void {\n // Track actions slot content to avoid invisible spacing when no actions are slotted.\n const actionsSlot = this.renderRoot.querySelector<HTMLSlotElement>('slot[name=\"actions\"]');\n if (actionsSlot) {\n this._actionsSlotChangeHandler = () => {\n this._hasActions = actionsSlot.assignedNodes({ flatten: true }).length > 0;\n };\n actionsSlot.addEventListener('slotchange', this._actionsSlotChangeHandler);\n }\n\n // Track title slot content so the title container doesn't create dead space when empty.\n const titleSlot = this.renderRoot.querySelector<HTMLSlotElement>('slot[name=\"title\"]');\n if (titleSlot) {\n this._titleSlotChangeHandler = () => {\n this._hasTitle = titleSlot.assignedNodes({ flatten: true }).length > 0;\n };\n titleSlot.addEventListener('slotchange', this._titleSlotChangeHandler);\n }\n }\n\n protected override updated(changedProperties: Map<PropertyKey, unknown>): void {\n super.updated(changedProperties);\n if (changedProperties.has('variant')) {\n // Keep host ARIA role in sync with variant (assertive vs. polite).\n this.setAttribute('role', this._role);\n }\n if (changedProperties.has('open')) {\n // Manage aria-hidden in addition to display:none for reliable AT exclusion.\n // When open transitions from false→true, removing aria-hidden signals to AT\n // that the live region content should be announced.\n if (this.open) {\n this.removeAttribute('aria-hidden');\n // Trigger announcement via the sr-only polite live region for ATs (JAWS+Chrome,\n // NVDA) that do not re-announce existing content when aria-hidden is merely removed.\n // We inject text after a microtask so the DOM has settled and the live region\n // is registered by the AT before content arrives.\n const previousOpen = changedProperties.get('open');\n if (previousOpen === false) {\n Promise.resolve().then(() => {\n const announcer = this.renderRoot.querySelector<HTMLElement>('.sr-only');\n if (announcer) {\n announcer.textContent = '';\n // Second microtask ensures the clear is processed before re-injection,\n // guaranteeing the AT sees a content change rather than no-op.\n Promise.resolve().then(() => {\n const prefix = this._effectiveSeverityLabel;\n const message = this.textContent?.trim() ?? '';\n announcer.textContent = prefix ? `${prefix} ${message}` : message;\n });\n }\n });\n }\n } else {\n this.setAttribute('aria-hidden', 'true');\n // Clear the announcer when hidden so stale text is not re-read on next open.\n const announcer = this.renderRoot.querySelector<HTMLElement>('.sr-only');\n if (announcer) {\n announcer.textContent = '';\n }\n }\n }\n }\n\n // ─── Default Icons ───\n\n /** @internal */\n private _renderInfoIcon() {\n return html`<svg viewBox=\"0 0 20 20\" aria-hidden=\"true\">\n <path\n d=\"M10 2a8 8 0 100 16 8 8 0 000-16zm.75 4.75a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM9.25 9a.75.75 0 011.5 0v4a.75.75 0 01-1.5 0V9z\"\n />\n </svg>`;\n }\n\n /** @internal */\n private _renderSuccessIcon() {\n return html`<svg viewBox=\"0 0 20 20\" aria-hidden=\"true\">\n <path\n d=\"M10 2a8 8 0 100 16 8 8 0 000-16zm3.03 6.28a.75.75 0 00-1.06-1.06L9 10.19 7.78 8.97a.75.75 0 00-1.06 1.06l1.75 1.75a.75.75 0 001.06 0l3.5-3.5z\"\n />\n </svg>`;\n }\n\n /** @internal */\n private _renderWarningIcon() {\n return html`<svg viewBox=\"0 0 20 20\" aria-hidden=\"true\">\n <path\n d=\"M8.49 2.92a1.75 1.75 0 013.02 0l6.25 10.83A1.75 1.75 0 0116.25 16H3.75a1.75 1.75 0 01-1.51-2.25L8.49 2.92zM10 7a.75.75 0 01.75.75v3a.75.75 0 01-1.5 0v-3A.75.75 0 0110 7zm0 7.5a.75.75 0 100-1.5.75.75 0 000 1.5z\"\n />\n </svg>`;\n }\n\n /** @internal */\n private _renderErrorIcon() {\n return html`<svg viewBox=\"0 0 20 20\" aria-hidden=\"true\">\n <path\n d=\"M10 2a8 8 0 100 16 8 8 0 000-16zm-1.72 5.22a.75.75 0 011.06 0L10 7.94l.66-.72a.75.75 0 111.06 1.06L11.06 9l.66.72a.75.75 0 11-1.06 1.06L10 10.06l-.66.72a.75.75 0 01-1.06-1.06L8.94 9l-.66-.72a.75.75 0 010-1.06z\"\n />\n </svg>`;\n }\n\n /** @internal */\n private _renderDefaultIcon() {\n switch (this.variant) {\n case 'success':\n return this._renderSuccessIcon();\n case 'warning':\n return this._renderWarningIcon();\n case 'error':\n return this._renderErrorIcon();\n case 'info':\n default:\n return this._renderInfoIcon();\n }\n }\n\n /** @internal */\n private _renderCloseIcon() {\n return html`<svg viewBox=\"0 0 20 20\" aria-hidden=\"true\">\n <path\n d=\"M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z\"\n />\n </svg>`;\n }\n\n // ─── Event Handling ───\n\n /** @internal */\n private _handleDismiss(): void {\n this.open = false;\n\n /**\n * Dispatched when the user dismisses the alert.\n * @event hx-close\n */\n this.dispatchEvent(\n new CustomEvent<{ reason: string }>('hx-close', {\n bubbles: true,\n composed: true,\n detail: { reason: 'user' },\n }),\n );\n\n /**\n * Dispatched after the alert is dismissed.\n * @event hx-after-close\n */\n this.dispatchEvent(\n new CustomEvent<void>('hx-after-close', {\n bubbles: true,\n composed: true,\n }),\n );\n\n // Return focus to a designated element if specified via returnFocusTo.\n if (this.returnFocusTo) {\n const target = document.querySelector(this.returnFocusTo);\n if (target instanceof HTMLElement) {\n target.focus();\n }\n }\n }\n\n // ─── Render ───\n\n override render() {\n const classes = {\n alert: true,\n [`alert--${this.variant}`]: true,\n 'alert--accent': this.accent,\n };\n\n // WCAG 1.4.1: Always render a visually-hidden severity label so the variant\n // is never conveyed by color alone, regardless of whether showIcon is set.\n const severityLabel = this._effectiveSeverityLabel;\n\n return html`\n <div\n class=\"sr-only\"\n aria-live=${this._isAssertive ? 'assertive' : 'polite'}\n aria-atomic=\"true\"\n ></div>\n <div part=\"alert\" class=${classMap(classes)}>\n <span class=\"alert__severity-label\">${severityLabel}</span>\n ${this.showIcon\n ? html`\n <div part=\"icon\" class=\"alert__icon\">\n <slot name=\"icon\">${this._renderDefaultIcon()}</slot>\n </div>\n `\n : nothing}\n\n <div part=\"message\" class=\"alert__message\">\n <div part=\"title\" class=\"alert__title ${this._hasTitle ? 'alert__title--visible' : ''}\">\n <slot name=\"title\"></slot>\n </div>\n <slot></slot>\n <div\n part=\"actions\"\n class=\"alert__actions ${this._hasActions ? 'alert__actions--visible' : ''}\"\n >\n <slot name=\"actions\"></slot>\n </div>\n </div>\n\n ${this.dismissible\n ? html`\n <button\n part=\"close-button\"\n class=\"alert__close-button\"\n aria-label=${`Close ${this.heading ? `${this.heading} ` : ''}alert`}\n @click=${this._handleDismiss}\n >\n ${this._renderCloseIcon()}\n </button>\n `\n : nothing}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-alert': HelixAlert;\n }\n}\n\nexport type { HelixAlert as HxAlert };\n"],"names":["helixAlertStyles","css","HelixAlert","LitElement","actionsSlot","titleSlot","changedProperties","announcer","prefix","message","_a","html","target","classes","severityLabel","classMap","nothing","tokenStyles","__decorateClass","property","state","customElement"],"mappings":"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"}