@helixui/library 1.1.2-next.8 → 1.1.2-next.9

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 (50) hide show
  1. package/custom-elements.json +627 -580
  2. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts +1 -0
  3. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
  4. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +10 -8
  5. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  6. package/dist/components/hx-breadcrumb/index.js +1 -1
  7. package/dist/components/hx-menu/hx-menu-item.d.ts +5 -0
  8. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  9. package/dist/components/hx-menu/hx-menu.d.ts +1 -0
  10. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  11. package/dist/components/hx-menu/hx-menu.styles.d.ts.map +1 -1
  12. package/dist/components/hx-menu/index.js +1 -1
  13. package/dist/components/hx-nav/hx-nav.d.ts +10 -0
  14. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  15. package/dist/components/hx-nav/index.js +1 -1
  16. package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -1
  17. package/dist/components/hx-pagination/index.js +1 -1
  18. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  19. package/dist/components/hx-tabs/hx-tabs.d.ts +10 -0
  20. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  21. package/dist/components/hx-tabs/index.js +1 -1
  22. package/dist/components/hx-tree-view/hx-tree-item.d.ts +5 -0
  23. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  24. package/dist/components/hx-tree-view/hx-tree-view.d.ts +6 -0
  25. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  26. package/dist/components/hx-tree-view/index.js +1 -1
  27. package/dist/css/helix-all.css +2 -0
  28. package/dist/css/helix-navigation.css +2 -0
  29. package/dist/css/hx-menu.css +2 -0
  30. package/dist/css/index.css +1 -1
  31. package/dist/css/manifest.json +2 -1
  32. package/dist/index.js +6 -6
  33. package/dist/shared/{hx-breadcrumb-item-B2rjepqy.js → hx-breadcrumb-item-CObc-WJl.js} +8 -6
  34. package/dist/shared/hx-breadcrumb-item-CObc-WJl.js.map +1 -0
  35. package/dist/shared/{hx-menu-divider-DR4G_rqw.js → hx-menu-divider-puPmRAdN.js} +40 -20
  36. package/dist/shared/hx-menu-divider-puPmRAdN.js.map +1 -0
  37. package/dist/shared/{hx-nav-D377Ngz4.js → hx-nav-CiyqaW2I.js} +112 -99
  38. package/dist/shared/hx-nav-CiyqaW2I.js.map +1 -0
  39. package/dist/shared/{hx-pagination-DYhYPqDn.js → hx-pagination-Cb9UEWXz.js} +74 -66
  40. package/dist/shared/{hx-pagination-DYhYPqDn.js.map → hx-pagination-Cb9UEWXz.js.map} +1 -1
  41. package/dist/shared/{hx-tab-panel-GGjk6Qg4.js → hx-tab-panel-Dnt8aA74.js} +89 -61
  42. package/dist/shared/hx-tab-panel-Dnt8aA74.js.map +1 -0
  43. package/dist/shared/{hx-tree-item-DTDIBRrI.js → hx-tree-item-C1PhX-HE.js} +50 -19
  44. package/dist/shared/hx-tree-item-C1PhX-HE.js.map +1 -0
  45. package/package.json +2 -2
  46. package/dist/shared/hx-breadcrumb-item-B2rjepqy.js.map +0 -1
  47. package/dist/shared/hx-menu-divider-DR4G_rqw.js.map +0 -1
  48. package/dist/shared/hx-nav-D377Ngz4.js.map +0 -1
  49. package/dist/shared/hx-tab-panel-GGjk6Qg4.js.map +0 -1
  50. package/dist/shared/hx-tree-item-DTDIBRrI.js.map +0 -1
@@ -2,230 +2,6 @@
2
2
  "schemaVersion": "1.0.0",
3
3
  "readme": "",
4
4
  "modules": [
5
- {
6
- "kind": "javascript-module",
7
- "path": "src/components/hx-action-bar/hx-action-bar.ts",
8
- "declarations": [
9
- {
10
- "kind": "class",
11
- "description": "A horizontal toolbar container for grouping related action buttons and controls.\nImplements the ARIA toolbar pattern with roving tabindex keyboard navigation.",
12
- "name": "HelixActionBar",
13
- "cssProperties": [
14
- {
15
- "description": "Bar background color (default variant).",
16
- "name": "--hx-action-bar-bg",
17
- "default": "transparent"
18
- },
19
- {
20
- "description": "Bar border (default variant).",
21
- "name": "--hx-action-bar-border",
22
- "default": "none"
23
- },
24
- {
25
- "description": "Inner padding.",
26
- "name": "--hx-action-bar-padding",
27
- "default": "var(--hx-space-2,0.5rem) var(--hx-space-3,0.75rem)"
28
- },
29
- {
30
- "description": "Gap between slotted items.",
31
- "name": "--hx-action-bar-gap",
32
- "default": "var(--hx-space-2,0.5rem)"
33
- },
34
- {
35
- "description": "Z-index when sticky or bottom position.",
36
- "name": "--hx-action-bar-z-index",
37
- "default": "10"
38
- }
39
- ],
40
- "cssParts": [
41
- {
42
- "description": "The root toolbar container element.",
43
- "name": "base"
44
- },
45
- {
46
- "description": "The start (left) slot wrapper.",
47
- "name": "start"
48
- },
49
- {
50
- "description": "The center (default) slot wrapper.",
51
- "name": "center"
52
- },
53
- {
54
- "description": "The end (right) slot wrapper.",
55
- "name": "end"
56
- },
57
- {
58
- "description": "The overflow slot wrapper (hidden when no overflow content).",
59
- "name": "overflow"
60
- }
61
- ],
62
- "slots": [
63
- {
64
- "description": "Left-aligned actions.",
65
- "name": "start"
66
- },
67
- {
68
- "description": "Center content (default slot).",
69
- "name": ""
70
- },
71
- {
72
- "description": "Right-aligned actions.",
73
- "name": "end"
74
- },
75
- {
76
- "description": "Actions revealed when the bar is constrained for space.",
77
- "name": "overflow"
78
- }
79
- ],
80
- "members": [
81
- {
82
- "kind": "field",
83
- "name": "size",
84
- "type": {
85
- "text": "'sm' | 'md' | 'lg'"
86
- },
87
- "default": "'md'",
88
- "description": "Size of the action bar — propagated as a data attribute to slotted children.",
89
- "attribute": "hx-size",
90
- "reflects": true
91
- },
92
- {
93
- "kind": "field",
94
- "name": "variant",
95
- "type": {
96
- "text": "'default' | 'outlined' | 'filled'"
97
- },
98
- "default": "'default'",
99
- "description": "Visual variant controlling the bar background.",
100
- "attribute": "variant",
101
- "reflects": true
102
- },
103
- {
104
- "kind": "field",
105
- "name": "position",
106
- "type": {
107
- "text": "'top' | 'bottom' | 'sticky'"
108
- },
109
- "default": "'top'",
110
- "description": "Position and sticky behavior of the action bar.\n- `top` — normal flow (default)\n- `sticky` — sticks to the top of the scroll container; add `scroll-padding-top` to the\n scroll container equal to the bar height to prevent anchor targets from scrolling behind it\n- `bottom` — sticks to the bottom of the scroll container with iOS safe-area-inset support",
111
- "attribute": "position",
112
- "reflects": true
113
- },
114
- {
115
- "kind": "field",
116
- "name": "sticky",
117
- "type": {
118
- "text": "boolean"
119
- },
120
- "deprecated": "Use `position=\"sticky\"` instead.\nWhen true, the bar sticks to the top of its scroll container.",
121
- "attribute": "sticky",
122
- "reflects": true
123
- },
124
- {
125
- "kind": "field",
126
- "name": "ariaLabel",
127
- "type": {
128
- "text": "string"
129
- },
130
- "default": "'Actions'",
131
- "description": "Accessible label for the toolbar.\nRequired when multiple toolbars appear on the same page.",
132
- "attribute": "aria-label"
133
- }
134
- ],
135
- "attributes": [
136
- {
137
- "name": "hx-size",
138
- "type": {
139
- "text": "'sm' | 'md' | 'lg'"
140
- },
141
- "default": "'md'",
142
- "description": "Size of the action bar — propagated as a data attribute to slotted children.",
143
- "fieldName": "size",
144
- "attribute": "hx-size"
145
- },
146
- {
147
- "name": "variant",
148
- "type": {
149
- "text": "'default' | 'outlined' | 'filled'"
150
- },
151
- "default": "'default'",
152
- "description": "Visual variant controlling the bar background.",
153
- "fieldName": "variant",
154
- "attribute": "variant"
155
- },
156
- {
157
- "name": "position",
158
- "type": {
159
- "text": "'top' | 'bottom' | 'sticky'"
160
- },
161
- "default": "'top'",
162
- "description": "Position and sticky behavior of the action bar.\n- `top` — normal flow (default)\n- `sticky` — sticks to the top of the scroll container; add `scroll-padding-top` to the\n scroll container equal to the bar height to prevent anchor targets from scrolling behind it\n- `bottom` — sticks to the bottom of the scroll container with iOS safe-area-inset support",
163
- "fieldName": "position",
164
- "attribute": "position"
165
- },
166
- {
167
- "name": "sticky",
168
- "type": {
169
- "text": "boolean"
170
- },
171
- "deprecated": "Use `position=\"sticky\"` instead.\nWhen true, the bar sticks to the top of its scroll container.",
172
- "fieldName": "sticky",
173
- "attribute": "sticky"
174
- },
175
- {
176
- "name": "aria-label",
177
- "type": {
178
- "text": "string"
179
- },
180
- "default": "'Actions'",
181
- "description": "Accessible label for the toolbar.\nRequired when multiple toolbars appear on the same page.",
182
- "fieldName": "ariaLabel",
183
- "attribute": "aria-label"
184
- }
185
- ],
186
- "superclass": {
187
- "name": "LitElement",
188
- "package": "lit"
189
- },
190
- "tagName": "hx-action-bar",
191
- "customElement": true,
192
- "summary": "Horizontal action bar for grouping related controls."
193
- }
194
- ],
195
- "exports": [
196
- {
197
- "kind": "js",
198
- "name": "HelixActionBar",
199
- "declaration": {
200
- "name": "HelixActionBar",
201
- "module": "src/components/hx-action-bar/hx-action-bar.ts"
202
- }
203
- },
204
- {
205
- "kind": "custom-element-definition",
206
- "name": "hx-action-bar",
207
- "declaration": {
208
- "name": "HelixActionBar",
209
- "module": "src/components/hx-action-bar/hx-action-bar.ts"
210
- }
211
- }
212
- ]
213
- },
214
- {
215
- "kind": "javascript-module",
216
- "path": "src/components/hx-action-bar/index.ts",
217
- "declarations": [],
218
- "exports": [
219
- {
220
- "kind": "js",
221
- "name": "HelixActionBar",
222
- "declaration": {
223
- "name": "HelixActionBar",
224
- "module": "./hx-action-bar.js"
225
- }
226
- }
227
- ]
228
- },
229
5
  {
230
6
  "kind": "javascript-module",
231
7
  "path": "src/components/hx-accordion/hx-accordion-item.ts",
@@ -527,36 +303,260 @@
527
303
  },
528
304
  {
529
305
  "kind": "javascript-module",
530
- "path": "src/components/hx-alert/hx-alert.ts",
306
+ "path": "src/components/hx-action-bar/hx-action-bar.ts",
531
307
  "declarations": [
532
308
  {
533
309
  "kind": "class",
534
- "description": "A feedback component for communicating status messages, warnings, and errors.\nCritical for healthcare patient safety alerts.",
535
- "name": "HelixAlert",
310
+ "description": "A horizontal toolbar container for grouping related action buttons and controls.\nImplements the ARIA toolbar pattern with roving tabindex keyboard navigation.",
311
+ "name": "HelixActionBar",
536
312
  "cssProperties": [
537
313
  {
538
- "description": "Alert background color.",
539
- "name": "--hx-alert-bg",
540
- "default": "var(--hx-color-info-50)"
314
+ "description": "Bar background color (default variant).",
315
+ "name": "--hx-action-bar-bg",
316
+ "default": "transparent"
541
317
  },
542
318
  {
543
- "description": "Alert text color.",
544
- "name": "--hx-alert-color",
545
- "default": "var(--hx-color-info-800)"
319
+ "description": "Bar border (default variant).",
320
+ "name": "--hx-action-bar-border",
321
+ "default": "none"
546
322
  },
547
323
  {
548
- "description": "Alert border color.",
549
- "name": "--hx-alert-border-color",
550
- "default": "var(--hx-color-info-200)"
324
+ "description": "Inner padding.",
325
+ "name": "--hx-action-bar-padding",
326
+ "default": "var(--hx-space-2,0.5rem) var(--hx-space-3,0.75rem)"
551
327
  },
552
328
  {
553
- "description": "Alert border radius.",
554
- "name": "--hx-alert-border-radius",
555
- "default": "var(--hx-border-radius-md)"
329
+ "description": "Gap between slotted items.",
330
+ "name": "--hx-action-bar-gap",
331
+ "default": "var(--hx-space-2,0.5rem)"
556
332
  },
557
333
  {
558
- "description": "Alert border width.",
559
- "name": "--hx-alert-border-width",
334
+ "description": "Z-index when sticky or bottom position.",
335
+ "name": "--hx-action-bar-z-index",
336
+ "default": "10"
337
+ }
338
+ ],
339
+ "cssParts": [
340
+ {
341
+ "description": "The root toolbar container element.",
342
+ "name": "base"
343
+ },
344
+ {
345
+ "description": "The start (left) slot wrapper.",
346
+ "name": "start"
347
+ },
348
+ {
349
+ "description": "The center (default) slot wrapper.",
350
+ "name": "center"
351
+ },
352
+ {
353
+ "description": "The end (right) slot wrapper.",
354
+ "name": "end"
355
+ },
356
+ {
357
+ "description": "The overflow slot wrapper (hidden when no overflow content).",
358
+ "name": "overflow"
359
+ }
360
+ ],
361
+ "slots": [
362
+ {
363
+ "description": "Left-aligned actions.",
364
+ "name": "start"
365
+ },
366
+ {
367
+ "description": "Center content (default slot).",
368
+ "name": ""
369
+ },
370
+ {
371
+ "description": "Right-aligned actions.",
372
+ "name": "end"
373
+ },
374
+ {
375
+ "description": "Actions revealed when the bar is constrained for space.",
376
+ "name": "overflow"
377
+ }
378
+ ],
379
+ "members": [
380
+ {
381
+ "kind": "field",
382
+ "name": "size",
383
+ "type": {
384
+ "text": "'sm' | 'md' | 'lg'"
385
+ },
386
+ "default": "'md'",
387
+ "description": "Size of the action bar — propagated as a data attribute to slotted children.",
388
+ "attribute": "hx-size",
389
+ "reflects": true
390
+ },
391
+ {
392
+ "kind": "field",
393
+ "name": "variant",
394
+ "type": {
395
+ "text": "'default' | 'outlined' | 'filled'"
396
+ },
397
+ "default": "'default'",
398
+ "description": "Visual variant controlling the bar background.",
399
+ "attribute": "variant",
400
+ "reflects": true
401
+ },
402
+ {
403
+ "kind": "field",
404
+ "name": "position",
405
+ "type": {
406
+ "text": "'top' | 'bottom' | 'sticky'"
407
+ },
408
+ "default": "'top'",
409
+ "description": "Position and sticky behavior of the action bar.\n- `top` — normal flow (default)\n- `sticky` — sticks to the top of the scroll container; add `scroll-padding-top` to the\n scroll container equal to the bar height to prevent anchor targets from scrolling behind it\n- `bottom` — sticks to the bottom of the scroll container with iOS safe-area-inset support",
410
+ "attribute": "position",
411
+ "reflects": true
412
+ },
413
+ {
414
+ "kind": "field",
415
+ "name": "sticky",
416
+ "type": {
417
+ "text": "boolean"
418
+ },
419
+ "deprecated": "Use `position=\"sticky\"` instead.\nWhen true, the bar sticks to the top of its scroll container.",
420
+ "attribute": "sticky",
421
+ "reflects": true
422
+ },
423
+ {
424
+ "kind": "field",
425
+ "name": "ariaLabel",
426
+ "type": {
427
+ "text": "string"
428
+ },
429
+ "default": "'Actions'",
430
+ "description": "Accessible label for the toolbar.\nRequired when multiple toolbars appear on the same page.",
431
+ "attribute": "aria-label"
432
+ }
433
+ ],
434
+ "attributes": [
435
+ {
436
+ "name": "hx-size",
437
+ "type": {
438
+ "text": "'sm' | 'md' | 'lg'"
439
+ },
440
+ "default": "'md'",
441
+ "description": "Size of the action bar — propagated as a data attribute to slotted children.",
442
+ "fieldName": "size",
443
+ "attribute": "hx-size"
444
+ },
445
+ {
446
+ "name": "variant",
447
+ "type": {
448
+ "text": "'default' | 'outlined' | 'filled'"
449
+ },
450
+ "default": "'default'",
451
+ "description": "Visual variant controlling the bar background.",
452
+ "fieldName": "variant",
453
+ "attribute": "variant"
454
+ },
455
+ {
456
+ "name": "position",
457
+ "type": {
458
+ "text": "'top' | 'bottom' | 'sticky'"
459
+ },
460
+ "default": "'top'",
461
+ "description": "Position and sticky behavior of the action bar.\n- `top` — normal flow (default)\n- `sticky` — sticks to the top of the scroll container; add `scroll-padding-top` to the\n scroll container equal to the bar height to prevent anchor targets from scrolling behind it\n- `bottom` — sticks to the bottom of the scroll container with iOS safe-area-inset support",
462
+ "fieldName": "position",
463
+ "attribute": "position"
464
+ },
465
+ {
466
+ "name": "sticky",
467
+ "type": {
468
+ "text": "boolean"
469
+ },
470
+ "deprecated": "Use `position=\"sticky\"` instead.\nWhen true, the bar sticks to the top of its scroll container.",
471
+ "fieldName": "sticky",
472
+ "attribute": "sticky"
473
+ },
474
+ {
475
+ "name": "aria-label",
476
+ "type": {
477
+ "text": "string"
478
+ },
479
+ "default": "'Actions'",
480
+ "description": "Accessible label for the toolbar.\nRequired when multiple toolbars appear on the same page.",
481
+ "fieldName": "ariaLabel",
482
+ "attribute": "aria-label"
483
+ }
484
+ ],
485
+ "superclass": {
486
+ "name": "LitElement",
487
+ "package": "lit"
488
+ },
489
+ "tagName": "hx-action-bar",
490
+ "customElement": true,
491
+ "summary": "Horizontal action bar for grouping related controls."
492
+ }
493
+ ],
494
+ "exports": [
495
+ {
496
+ "kind": "js",
497
+ "name": "HelixActionBar",
498
+ "declaration": {
499
+ "name": "HelixActionBar",
500
+ "module": "src/components/hx-action-bar/hx-action-bar.ts"
501
+ }
502
+ },
503
+ {
504
+ "kind": "custom-element-definition",
505
+ "name": "hx-action-bar",
506
+ "declaration": {
507
+ "name": "HelixActionBar",
508
+ "module": "src/components/hx-action-bar/hx-action-bar.ts"
509
+ }
510
+ }
511
+ ]
512
+ },
513
+ {
514
+ "kind": "javascript-module",
515
+ "path": "src/components/hx-action-bar/index.ts",
516
+ "declarations": [],
517
+ "exports": [
518
+ {
519
+ "kind": "js",
520
+ "name": "HelixActionBar",
521
+ "declaration": {
522
+ "name": "HelixActionBar",
523
+ "module": "./hx-action-bar.js"
524
+ }
525
+ }
526
+ ]
527
+ },
528
+ {
529
+ "kind": "javascript-module",
530
+ "path": "src/components/hx-alert/hx-alert.ts",
531
+ "declarations": [
532
+ {
533
+ "kind": "class",
534
+ "description": "A feedback component for communicating status messages, warnings, and errors.\nCritical for healthcare patient safety alerts.",
535
+ "name": "HelixAlert",
536
+ "cssProperties": [
537
+ {
538
+ "description": "Alert background color.",
539
+ "name": "--hx-alert-bg",
540
+ "default": "var(--hx-color-info-50)"
541
+ },
542
+ {
543
+ "description": "Alert text color.",
544
+ "name": "--hx-alert-color",
545
+ "default": "var(--hx-color-info-800)"
546
+ },
547
+ {
548
+ "description": "Alert border color.",
549
+ "name": "--hx-alert-border-color",
550
+ "default": "var(--hx-color-info-200)"
551
+ },
552
+ {
553
+ "description": "Alert border radius.",
554
+ "name": "--hx-alert-border-radius",
555
+ "default": "var(--hx-border-radius-md)"
556
+ },
557
+ {
558
+ "description": "Alert border width.",
559
+ "name": "--hx-alert-border-width",
560
560
  "default": "var(--hx-border-width-thin)"
561
561
  },
562
562
  {
@@ -1920,6 +1920,11 @@
1920
1920
  {
1921
1921
  "description": "Optional max-width for text truncation.",
1922
1922
  "name": "--hx-breadcrumb-item-max-width"
1923
+ },
1924
+ {
1925
+ "description": "Focus ring color for breadcrumb links.",
1926
+ "name": "--hx-breadcrumb-link-focus-ring-color",
1927
+ "default": "var(--hx-focus-ring-color, var(--hx-color-primary-500))"
1923
1928
  }
1924
1929
  ],
1925
1930
  "cssParts": [
@@ -4055,670 +4060,670 @@
4055
4060
  },
4056
4061
  {
4057
4062
  "kind": "javascript-module",
4058
- "path": "src/components/hx-clinical-status/hx-clinical-status.ts",
4063
+ "path": "src/components/hx-checkbox-group/hx-checkbox-group.ts",
4059
4064
  "declarations": [
4060
4065
  {
4061
4066
  "kind": "class",
4062
- "description": "A clinical status indicator designed for healthcare alert fatigue prevention.\nStandardizes clinical alert presentations to reduce cognitive overload from\ninconsistent color/icon combinations across healthcare interfaces.",
4063
- "name": "HelixClinicalStatus",
4067
+ "description": "A form-associated checkbox group that manages a set of `<hx-checkbox>` children.",
4068
+ "name": "HelixCheckboxGroup",
4064
4069
  "cssProperties": [
4065
4070
  {
4066
- "description": "Background color.",
4067
- "name": "--hx-clinical-status-bg",
4068
- "default": "var(--hx-color-info-50)"
4071
+ "description": "Gap between checkbox items.",
4072
+ "name": "--hx-checkbox-group-gap",
4073
+ "default": "var(--hx-space-3, 0.75rem)"
4069
4074
  },
4070
4075
  {
4071
- "description": "Text color.",
4072
- "name": "--hx-clinical-status-color",
4073
- "default": "var(--hx-color-info-800)"
4076
+ "description": "Label text color.",
4077
+ "name": "--hx-checkbox-group-label-color",
4078
+ "default": "var(--hx-color-neutral-700, #343a40)"
4074
4079
  },
4075
4080
  {
4076
- "description": "Border color.",
4077
- "name": "--hx-clinical-status-border-color",
4078
- "default": "var(--hx-color-info-200)"
4081
+ "description": "Error message color.",
4082
+ "name": "--hx-checkbox-group-error-color",
4083
+ "default": "var(--hx-color-error-500, #dc3545)"
4079
4084
  },
4080
4085
  {
4081
- "description": "Border radius.",
4082
- "name": "--hx-clinical-status-border-radius",
4083
- "default": "var(--hx-border-radius-md)"
4084
- },
4085
- {
4086
- "description": "Border width.",
4087
- "name": "--hx-clinical-status-border-width",
4088
- "default": "var(--hx-border-width-thin)"
4089
- },
4090
- {
4091
- "description": "Left accent stripe color.",
4092
- "name": "--hx-clinical-status-accent-color",
4093
- "default": "var(--hx-color-info-500)"
4094
- },
4095
- {
4096
- "description": "Left accent stripe width.",
4097
- "name": "--hx-clinical-status-accent-width",
4098
- "default": "4px"
4099
- },
4100
- {
4101
- "description": "Container padding.",
4102
- "name": "--hx-clinical-status-padding",
4103
- "default": "var(--hx-space-4)"
4104
- },
4105
- {
4106
- "description": "Gap between elements.",
4107
- "name": "--hx-clinical-status-gap",
4108
- "default": "var(--hx-space-3)"
4109
- },
4086
+ "description": "Help text color.",
4087
+ "name": "--hx-checkbox-group-help-text-color",
4088
+ "default": "var(--hx-color-neutral-500)"
4089
+ }
4090
+ ],
4091
+ "cssParts": [
4110
4092
  {
4111
- "description": "Icon color.",
4112
- "name": "--hx-clinical-status-icon-color",
4113
- "default": "var(--hx-color-info-500)"
4093
+ "description": "The fieldset wrapper.",
4094
+ "name": "group"
4114
4095
  },
4115
4096
  {
4116
- "description": "Font family.",
4117
- "name": "--hx-clinical-status-font-family",
4118
- "default": "var(--hx-font-family-sans)"
4097
+ "description": "The legend/label.",
4098
+ "name": "label"
4119
4099
  },
4120
4100
  {
4121
- "description": "Padding in compact mode.",
4122
- "name": "--hx-clinical-status-compact-padding"
4101
+ "description": "The help text container.",
4102
+ "name": "help-text"
4123
4103
  },
4124
4104
  {
4125
- "description": "Accent width for emergent severity.",
4126
- "name": "--hx-clinical-status-emergent-accent-width",
4127
- "default": "6px"
4105
+ "description": "The error message container.",
4106
+ "name": "error-message"
4128
4107
  }
4129
4108
  ],
4130
- "cssParts": [
4131
- {
4132
- "description": "The outer status container.",
4133
- "name": "container"
4134
- },
4135
- {
4136
- "description": "The icon container.",
4137
- "name": "icon"
4138
- },
4109
+ "slots": [
4139
4110
  {
4140
- "description": "The message content area.",
4141
- "name": "message"
4111
+ "description": "`<hx-checkbox>` elements.",
4112
+ "name": ""
4142
4113
  },
4143
4114
  {
4144
- "description": "The actions container (dismiss/acknowledge buttons).",
4145
- "name": "actions"
4115
+ "description": "Rich HTML group label (overrides the label property when used).",
4116
+ "name": "label"
4146
4117
  },
4147
4118
  {
4148
- "description": "The dismiss button (only rendered when dismissible).",
4149
- "name": "dismiss-button"
4119
+ "description": "Custom error content (overrides the error property).",
4120
+ "name": "error"
4150
4121
  },
4151
4122
  {
4152
- "description": "The acknowledge button (only rendered when acknowledgeable).",
4153
- "name": "acknowledge-button"
4154
- }
4155
- ],
4156
- "slots": [
4157
- {
4158
- "description": "Default slot for additional message content.",
4159
- "name": ""
4123
+ "description": "Group-level help text.",
4124
+ "name": "help-text"
4160
4125
  }
4161
4126
  ],
4162
4127
  "members": [
4163
4128
  {
4164
4129
  "kind": "field",
4165
- "name": "severity",
4130
+ "name": "name",
4166
4131
  "type": {
4167
- "text": "ClinicalSeverity"
4132
+ "text": "string"
4168
4133
  },
4169
- "default": "'info'",
4170
- "description": "Clinical severity level that determines visual styling and ARIA semantics.\n- `info`: Informational, non-urgent (role=\"status\")\n- `warning`: Requires attention but not immediate (role=\"status\")\n- `critical`: Requires prompt clinical attention (role=\"alert\")\n- `emergent`: Life-threatening, immediate action required (role=\"alert\")",
4171
- "attribute": "severity",
4172
- "reflects": true
4134
+ "default": "''",
4135
+ "description": "The name used for form submission. Passed to child `hx-checkbox` elements.",
4136
+ "attribute": "name"
4173
4137
  },
4174
4138
  {
4175
4139
  "kind": "field",
4176
- "name": "message",
4140
+ "name": "label",
4177
4141
  "type": {
4178
4142
  "text": "string"
4179
4143
  },
4180
4144
  "default": "''",
4181
- "description": "Status message text. Displayed as the primary content of the indicator.",
4182
- "attribute": "message"
4145
+ "description": "The fieldset legend/label text.",
4146
+ "attribute": "label"
4183
4147
  },
4184
4148
  {
4185
4149
  "kind": "field",
4186
- "name": "dismissible",
4150
+ "name": "required",
4187
4151
  "type": {
4188
4152
  "text": "boolean"
4189
4153
  },
4190
4154
  "default": "false",
4191
- "description": "Whether the status can be dismissed by the user.\nCritical and emergent statuses should require acknowledgment rather than simple dismissal.",
4192
- "attribute": "dismissible",
4155
+ "description": "Whether at least one checkbox must be checked for form submission.",
4156
+ "attribute": "required",
4193
4157
  "reflects": true
4194
4158
  },
4195
4159
  {
4196
4160
  "kind": "field",
4197
- "name": "persistent",
4161
+ "name": "disabled",
4198
4162
  "type": {
4199
4163
  "text": "boolean"
4200
4164
  },
4201
4165
  "default": "false",
4202
- "description": "Whether the status survives page navigation.\nDefaults to false for info/warning, true for critical/emergent.\nWhen set explicitly, overrides the severity-based default.",
4203
- "attribute": "persistent",
4166
+ "description": "Whether the entire group is disabled.",
4167
+ "attribute": "disabled",
4204
4168
  "reflects": true
4205
4169
  },
4206
4170
  {
4207
4171
  "kind": "field",
4208
- "name": "icon",
4172
+ "name": "error",
4209
4173
  "type": {
4210
4174
  "text": "string"
4211
4175
  },
4212
4176
  "default": "''",
4213
- "description": "Optional custom icon name. When not set, a default severity-appropriate icon is shown.",
4214
- "attribute": "icon"
4177
+ "description": "Error message to display. When set, the group enters an error state.",
4178
+ "attribute": "error"
4215
4179
  },
4216
4180
  {
4217
4181
  "kind": "field",
4218
- "name": "compact",
4182
+ "name": "helpText",
4219
4183
  "type": {
4220
- "text": "boolean"
4184
+ "text": "string"
4221
4185
  },
4222
- "default": "false",
4223
- "description": "Compact mode for dense clinical UIs (e.g. patient dashboards, bedside displays).\nReduces padding, font size, and icon size.",
4224
- "attribute": "compact",
4186
+ "default": "''",
4187
+ "description": "Help text to display below the group. Can also be provided via the help-text slot.",
4188
+ "attribute": "help-text"
4189
+ },
4190
+ {
4191
+ "kind": "field",
4192
+ "name": "orientation",
4193
+ "type": {
4194
+ "text": "'vertical' | 'horizontal'"
4195
+ },
4196
+ "description": "Layout orientation of the checkbox items.",
4197
+ "attribute": "orientation",
4225
4198
  "reflects": true
4226
4199
  },
4227
4200
  {
4228
4201
  "kind": "field",
4229
- "name": "_isAssertive",
4202
+ "name": "form",
4230
4203
  "type": {
4231
- "text": "boolean"
4204
+ "text": "HTMLFormElement | null"
4232
4205
  },
4233
- "privacy": "private",
4234
- "description": "Returns true when the severity requires assertive announcement.",
4206
+ "description": "Returns the associated form element, if any.",
4235
4207
  "readonly": true
4236
4208
  },
4237
4209
  {
4238
4210
  "kind": "field",
4239
- "name": "_role",
4211
+ "name": "validationMessage",
4240
4212
  "type": {
4241
4213
  "text": "string"
4242
4214
  },
4243
- "privacy": "private",
4244
- "description": "Returns the appropriate ARIA role based on severity.",
4215
+ "description": "Returns the validation message.",
4216
+ "readonly": true
4217
+ },
4218
+ {
4219
+ "kind": "field",
4220
+ "name": "validity",
4221
+ "type": {
4222
+ "text": "ValidityState"
4223
+ },
4224
+ "description": "Returns the ValidityState object.",
4245
4225
  "readonly": true
4246
4226
  },
4247
4227
  {
4248
4228
  "kind": "method",
4249
- "name": "_severityLabel",
4250
- "privacy": "private",
4229
+ "name": "checkValidity",
4251
4230
  "return": {
4252
4231
  "type": {
4253
- "text": "string"
4232
+ "text": "boolean"
4254
4233
  }
4255
4234
  },
4256
- "description": "Returns the default severity label for screen readers (WCAG 1.4.1)."
4257
- },
4258
- {
4259
- "kind": "field",
4260
- "name": "_requiresAcknowledgment",
4261
- "type": {
4262
- "text": "boolean"
4263
- },
4264
- "privacy": "private",
4265
- "description": "Returns true when the severity requires explicit acknowledgment.",
4266
- "readonly": true
4235
+ "description": "Checks whether the group satisfies its constraints."
4267
4236
  },
4268
4237
  {
4269
- "kind": "field",
4270
- "name": "_effectivePersistent",
4271
- "type": {
4272
- "text": "boolean"
4238
+ "kind": "method",
4239
+ "name": "reportValidity",
4240
+ "return": {
4241
+ "type": {
4242
+ "text": "boolean"
4243
+ }
4273
4244
  },
4274
- "privacy": "private",
4275
- "description": "Effective persistent value, considering severity-based defaults.",
4276
- "readonly": true
4245
+ "description": "Reports validity and shows the browser's constraint validation UI."
4277
4246
  }
4278
4247
  ],
4279
4248
  "events": [
4280
4249
  {
4281
- "name": "hx-dismiss",
4282
4250
  "type": {
4283
- "text": "CustomEvent<void>"
4284
- },
4285
- "description": "Dispatched when the user dismisses the status."
4286
- },
4287
- {
4288
- "name": "hx-acknowledge",
4289
- "type": {
4290
- "text": "CustomEvent<{ severity: ClinicalSeverity; persistent: boolean }>"
4251
+ "text": "CustomEvent<{values: string[]}>"
4291
4252
  },
4292
- "description": "Dispatched when the user acknowledges a critical/emergent status."
4253
+ "description": "Dispatched when any child checkbox changes.",
4254
+ "name": "hx-change"
4293
4255
  }
4294
4256
  ],
4295
4257
  "attributes": [
4296
4258
  {
4297
- "name": "severity",
4259
+ "name": "name",
4298
4260
  "type": {
4299
- "text": "ClinicalSeverity"
4261
+ "text": "string"
4300
4262
  },
4301
- "default": "'info'",
4302
- "description": "Clinical severity level that determines visual styling and ARIA semantics.\n- `info`: Informational, non-urgent (role=\"status\")\n- `warning`: Requires attention but not immediate (role=\"status\")\n- `critical`: Requires prompt clinical attention (role=\"alert\")\n- `emergent`: Life-threatening, immediate action required (role=\"alert\")",
4303
- "fieldName": "severity",
4304
- "attribute": "severity"
4263
+ "default": "''",
4264
+ "description": "The name used for form submission. Passed to child `hx-checkbox` elements.",
4265
+ "fieldName": "name",
4266
+ "attribute": "name"
4305
4267
  },
4306
4268
  {
4307
- "name": "message",
4269
+ "name": "label",
4308
4270
  "type": {
4309
4271
  "text": "string"
4310
4272
  },
4311
4273
  "default": "''",
4312
- "description": "Status message text. Displayed as the primary content of the indicator.",
4313
- "fieldName": "message",
4314
- "attribute": "message"
4274
+ "description": "The fieldset legend/label text.",
4275
+ "fieldName": "label",
4276
+ "attribute": "label"
4315
4277
  },
4316
4278
  {
4317
- "name": "dismissible",
4279
+ "name": "required",
4318
4280
  "type": {
4319
4281
  "text": "boolean"
4320
4282
  },
4321
4283
  "default": "false",
4322
- "description": "Whether the status can be dismissed by the user.\nCritical and emergent statuses should require acknowledgment rather than simple dismissal.",
4323
- "fieldName": "dismissible",
4324
- "attribute": "dismissible"
4284
+ "description": "Whether at least one checkbox must be checked for form submission.",
4285
+ "fieldName": "required",
4286
+ "attribute": "required"
4325
4287
  },
4326
4288
  {
4327
- "name": "persistent",
4289
+ "name": "disabled",
4328
4290
  "type": {
4329
4291
  "text": "boolean"
4330
4292
  },
4331
4293
  "default": "false",
4332
- "description": "Whether the status survives page navigation.\nDefaults to false for info/warning, true for critical/emergent.\nWhen set explicitly, overrides the severity-based default.",
4333
- "fieldName": "persistent",
4334
- "attribute": "persistent"
4294
+ "description": "Whether the entire group is disabled.",
4295
+ "fieldName": "disabled",
4296
+ "attribute": "disabled"
4335
4297
  },
4336
4298
  {
4337
- "name": "icon",
4299
+ "name": "error",
4338
4300
  "type": {
4339
4301
  "text": "string"
4340
4302
  },
4341
4303
  "default": "''",
4342
- "description": "Optional custom icon name. When not set, a default severity-appropriate icon is shown.",
4343
- "fieldName": "icon",
4344
- "attribute": "icon"
4304
+ "description": "Error message to display. When set, the group enters an error state.",
4305
+ "fieldName": "error",
4306
+ "attribute": "error"
4345
4307
  },
4346
4308
  {
4347
- "name": "compact",
4309
+ "name": "help-text",
4348
4310
  "type": {
4349
- "text": "boolean"
4311
+ "text": "string"
4350
4312
  },
4351
- "default": "false",
4352
- "description": "Compact mode for dense clinical UIs (e.g. patient dashboards, bedside displays).\nReduces padding, font size, and icon size.",
4353
- "fieldName": "compact",
4354
- "attribute": "compact"
4313
+ "default": "''",
4314
+ "description": "Help text to display below the group. Can also be provided via the help-text slot.",
4315
+ "fieldName": "helpText",
4316
+ "attribute": "help-text"
4317
+ },
4318
+ {
4319
+ "name": "orientation",
4320
+ "type": {
4321
+ "text": "'vertical' | 'horizontal'"
4322
+ },
4323
+ "description": "Layout orientation of the checkbox items.",
4324
+ "fieldName": "orientation",
4325
+ "attribute": "orientation"
4355
4326
  }
4356
4327
  ],
4357
4328
  "superclass": {
4358
- "name": "HelixElement",
4359
- "module": "/src/base/index.js"
4329
+ "name": "LitElement",
4330
+ "package": "lit"
4360
4331
  },
4361
- "tagName": "hx-clinical-status",
4332
+ "tagName": "hx-checkbox-group",
4362
4333
  "customElement": true,
4363
- "summary": "Clinical status indicator for standardized healthcare alert fatigue prevention."
4334
+ "summary": "Form-associated checkbox group with label, validation, help text, and multi-value form submission."
4364
4335
  }
4365
4336
  ],
4366
4337
  "exports": [
4367
4338
  {
4368
4339
  "kind": "js",
4369
- "name": "HelixClinicalStatus",
4340
+ "name": "HelixCheckboxGroup",
4370
4341
  "declaration": {
4371
- "name": "HelixClinicalStatus",
4372
- "module": "src/components/hx-clinical-status/hx-clinical-status.ts"
4342
+ "name": "HelixCheckboxGroup",
4343
+ "module": "src/components/hx-checkbox-group/hx-checkbox-group.ts"
4373
4344
  }
4374
4345
  },
4375
4346
  {
4376
4347
  "kind": "custom-element-definition",
4377
- "name": "hx-clinical-status",
4348
+ "name": "hx-checkbox-group",
4378
4349
  "declaration": {
4379
- "name": "HelixClinicalStatus",
4380
- "module": "src/components/hx-clinical-status/hx-clinical-status.ts"
4350
+ "name": "HelixCheckboxGroup",
4351
+ "module": "src/components/hx-checkbox-group/hx-checkbox-group.ts"
4381
4352
  }
4382
4353
  }
4383
4354
  ]
4384
4355
  },
4385
4356
  {
4386
4357
  "kind": "javascript-module",
4387
- "path": "src/components/hx-clinical-status/index.ts",
4358
+ "path": "src/components/hx-checkbox-group/index.ts",
4388
4359
  "declarations": [],
4389
4360
  "exports": [
4390
4361
  {
4391
4362
  "kind": "js",
4392
- "name": "HelixClinicalStatus",
4393
- "declaration": {
4394
- "name": "HelixClinicalStatus",
4395
- "module": "./hx-clinical-status.js"
4396
- }
4397
- },
4398
- {
4399
- "kind": "js",
4400
- "name": "ClinicalSeverity",
4401
- "declaration": {
4402
- "name": "ClinicalSeverity",
4403
- "module": "./hx-clinical-status.js"
4404
- }
4405
- },
4406
- {
4407
- "kind": "js",
4408
- "name": "HxClinicalStatus",
4363
+ "name": "HelixCheckboxGroup",
4409
4364
  "declaration": {
4410
- "name": "HxClinicalStatus",
4411
- "module": "./hx-clinical-status.js"
4365
+ "name": "HelixCheckboxGroup",
4366
+ "module": "./hx-checkbox-group.js"
4412
4367
  }
4413
4368
  }
4414
4369
  ]
4415
4370
  },
4416
4371
  {
4417
4372
  "kind": "javascript-module",
4418
- "path": "src/components/hx-checkbox-group/hx-checkbox-group.ts",
4373
+ "path": "src/components/hx-clinical-status/hx-clinical-status.ts",
4419
4374
  "declarations": [
4420
4375
  {
4421
4376
  "kind": "class",
4422
- "description": "A form-associated checkbox group that manages a set of `<hx-checkbox>` children.",
4423
- "name": "HelixCheckboxGroup",
4377
+ "description": "A clinical status indicator designed for healthcare alert fatigue prevention.\nStandardizes clinical alert presentations to reduce cognitive overload from\ninconsistent color/icon combinations across healthcare interfaces.",
4378
+ "name": "HelixClinicalStatus",
4424
4379
  "cssProperties": [
4425
4380
  {
4426
- "description": "Gap between checkbox items.",
4427
- "name": "--hx-checkbox-group-gap",
4428
- "default": "var(--hx-space-3, 0.75rem)"
4381
+ "description": "Background color.",
4382
+ "name": "--hx-clinical-status-bg",
4383
+ "default": "var(--hx-color-info-50)"
4429
4384
  },
4430
4385
  {
4431
- "description": "Label text color.",
4432
- "name": "--hx-checkbox-group-label-color",
4433
- "default": "var(--hx-color-neutral-700, #343a40)"
4386
+ "description": "Text color.",
4387
+ "name": "--hx-clinical-status-color",
4388
+ "default": "var(--hx-color-info-800)"
4434
4389
  },
4435
4390
  {
4436
- "description": "Error message color.",
4437
- "name": "--hx-checkbox-group-error-color",
4438
- "default": "var(--hx-color-error-500, #dc3545)"
4391
+ "description": "Border color.",
4392
+ "name": "--hx-clinical-status-border-color",
4393
+ "default": "var(--hx-color-info-200)"
4439
4394
  },
4440
4395
  {
4441
- "description": "Help text color.",
4442
- "name": "--hx-checkbox-group-help-text-color",
4443
- "default": "var(--hx-color-neutral-500)"
4444
- }
4445
- ],
4446
- "cssParts": [
4396
+ "description": "Border radius.",
4397
+ "name": "--hx-clinical-status-border-radius",
4398
+ "default": "var(--hx-border-radius-md)"
4399
+ },
4447
4400
  {
4448
- "description": "The fieldset wrapper.",
4449
- "name": "group"
4401
+ "description": "Border width.",
4402
+ "name": "--hx-clinical-status-border-width",
4403
+ "default": "var(--hx-border-width-thin)"
4450
4404
  },
4451
4405
  {
4452
- "description": "The legend/label.",
4453
- "name": "label"
4406
+ "description": "Left accent stripe color.",
4407
+ "name": "--hx-clinical-status-accent-color",
4408
+ "default": "var(--hx-color-info-500)"
4454
4409
  },
4455
4410
  {
4456
- "description": "The help text container.",
4457
- "name": "help-text"
4411
+ "description": "Left accent stripe width.",
4412
+ "name": "--hx-clinical-status-accent-width",
4413
+ "default": "4px"
4458
4414
  },
4459
4415
  {
4460
- "description": "The error message container.",
4461
- "name": "error-message"
4416
+ "description": "Container padding.",
4417
+ "name": "--hx-clinical-status-padding",
4418
+ "default": "var(--hx-space-4)"
4419
+ },
4420
+ {
4421
+ "description": "Gap between elements.",
4422
+ "name": "--hx-clinical-status-gap",
4423
+ "default": "var(--hx-space-3)"
4424
+ },
4425
+ {
4426
+ "description": "Icon color.",
4427
+ "name": "--hx-clinical-status-icon-color",
4428
+ "default": "var(--hx-color-info-500)"
4429
+ },
4430
+ {
4431
+ "description": "Font family.",
4432
+ "name": "--hx-clinical-status-font-family",
4433
+ "default": "var(--hx-font-family-sans)"
4434
+ },
4435
+ {
4436
+ "description": "Padding in compact mode.",
4437
+ "name": "--hx-clinical-status-compact-padding"
4438
+ },
4439
+ {
4440
+ "description": "Accent width for emergent severity.",
4441
+ "name": "--hx-clinical-status-emergent-accent-width",
4442
+ "default": "6px"
4462
4443
  }
4463
4444
  ],
4464
- "slots": [
4445
+ "cssParts": [
4465
4446
  {
4466
- "description": "`<hx-checkbox>` elements.",
4467
- "name": ""
4447
+ "description": "The outer status container.",
4448
+ "name": "container"
4468
4449
  },
4469
4450
  {
4470
- "description": "Rich HTML group label (overrides the label property when used).",
4471
- "name": "label"
4451
+ "description": "The icon container.",
4452
+ "name": "icon"
4472
4453
  },
4473
4454
  {
4474
- "description": "Custom error content (overrides the error property).",
4475
- "name": "error"
4455
+ "description": "The message content area.",
4456
+ "name": "message"
4476
4457
  },
4477
4458
  {
4478
- "description": "Group-level help text.",
4479
- "name": "help-text"
4459
+ "description": "The actions container (dismiss/acknowledge buttons).",
4460
+ "name": "actions"
4461
+ },
4462
+ {
4463
+ "description": "The dismiss button (only rendered when dismissible).",
4464
+ "name": "dismiss-button"
4465
+ },
4466
+ {
4467
+ "description": "The acknowledge button (only rendered when acknowledgeable).",
4468
+ "name": "acknowledge-button"
4469
+ }
4470
+ ],
4471
+ "slots": [
4472
+ {
4473
+ "description": "Default slot for additional message content.",
4474
+ "name": ""
4480
4475
  }
4481
4476
  ],
4482
4477
  "members": [
4483
4478
  {
4484
4479
  "kind": "field",
4485
- "name": "name",
4480
+ "name": "severity",
4486
4481
  "type": {
4487
- "text": "string"
4482
+ "text": "ClinicalSeverity"
4488
4483
  },
4489
- "default": "''",
4490
- "description": "The name used for form submission. Passed to child `hx-checkbox` elements.",
4491
- "attribute": "name"
4484
+ "default": "'info'",
4485
+ "description": "Clinical severity level that determines visual styling and ARIA semantics.\n- `info`: Informational, non-urgent (role=\"status\")\n- `warning`: Requires attention but not immediate (role=\"status\")\n- `critical`: Requires prompt clinical attention (role=\"alert\")\n- `emergent`: Life-threatening, immediate action required (role=\"alert\")",
4486
+ "attribute": "severity",
4487
+ "reflects": true
4492
4488
  },
4493
4489
  {
4494
4490
  "kind": "field",
4495
- "name": "label",
4491
+ "name": "message",
4496
4492
  "type": {
4497
4493
  "text": "string"
4498
4494
  },
4499
4495
  "default": "''",
4500
- "description": "The fieldset legend/label text.",
4501
- "attribute": "label"
4496
+ "description": "Status message text. Displayed as the primary content of the indicator.",
4497
+ "attribute": "message"
4502
4498
  },
4503
4499
  {
4504
4500
  "kind": "field",
4505
- "name": "required",
4501
+ "name": "dismissible",
4506
4502
  "type": {
4507
4503
  "text": "boolean"
4508
4504
  },
4509
4505
  "default": "false",
4510
- "description": "Whether at least one checkbox must be checked for form submission.",
4511
- "attribute": "required",
4506
+ "description": "Whether the status can be dismissed by the user.\nCritical and emergent statuses should require acknowledgment rather than simple dismissal.",
4507
+ "attribute": "dismissible",
4512
4508
  "reflects": true
4513
4509
  },
4514
4510
  {
4515
4511
  "kind": "field",
4516
- "name": "disabled",
4512
+ "name": "persistent",
4517
4513
  "type": {
4518
4514
  "text": "boolean"
4519
4515
  },
4520
4516
  "default": "false",
4521
- "description": "Whether the entire group is disabled.",
4522
- "attribute": "disabled",
4517
+ "description": "Whether the status survives page navigation.\nDefaults to false for info/warning, true for critical/emergent.\nWhen set explicitly, overrides the severity-based default.",
4518
+ "attribute": "persistent",
4523
4519
  "reflects": true
4524
4520
  },
4525
4521
  {
4526
4522
  "kind": "field",
4527
- "name": "error",
4528
- "type": {
4529
- "text": "string"
4530
- },
4531
- "default": "''",
4532
- "description": "Error message to display. When set, the group enters an error state.",
4533
- "attribute": "error"
4534
- },
4535
- {
4536
- "kind": "field",
4537
- "name": "helpText",
4523
+ "name": "icon",
4538
4524
  "type": {
4539
4525
  "text": "string"
4540
4526
  },
4541
4527
  "default": "''",
4542
- "description": "Help text to display below the group. Can also be provided via the help-text slot.",
4543
- "attribute": "help-text"
4528
+ "description": "Optional custom icon name. When not set, a default severity-appropriate icon is shown.",
4529
+ "attribute": "icon"
4544
4530
  },
4545
4531
  {
4546
4532
  "kind": "field",
4547
- "name": "orientation",
4533
+ "name": "compact",
4548
4534
  "type": {
4549
- "text": "'vertical' | 'horizontal'"
4535
+ "text": "boolean"
4550
4536
  },
4551
- "description": "Layout orientation of the checkbox items.",
4552
- "attribute": "orientation",
4537
+ "default": "false",
4538
+ "description": "Compact mode for dense clinical UIs (e.g. patient dashboards, bedside displays).\nReduces padding, font size, and icon size.",
4539
+ "attribute": "compact",
4553
4540
  "reflects": true
4554
4541
  },
4555
4542
  {
4556
4543
  "kind": "field",
4557
- "name": "form",
4544
+ "name": "_isAssertive",
4558
4545
  "type": {
4559
- "text": "HTMLFormElement | null"
4546
+ "text": "boolean"
4560
4547
  },
4561
- "description": "Returns the associated form element, if any.",
4548
+ "privacy": "private",
4549
+ "description": "Returns true when the severity requires assertive announcement.",
4562
4550
  "readonly": true
4563
4551
  },
4564
4552
  {
4565
4553
  "kind": "field",
4566
- "name": "validationMessage",
4554
+ "name": "_role",
4567
4555
  "type": {
4568
4556
  "text": "string"
4569
4557
  },
4570
- "description": "Returns the validation message.",
4571
- "readonly": true
4572
- },
4573
- {
4574
- "kind": "field",
4575
- "name": "validity",
4576
- "type": {
4577
- "text": "ValidityState"
4578
- },
4579
- "description": "Returns the ValidityState object.",
4558
+ "privacy": "private",
4559
+ "description": "Returns the appropriate ARIA role based on severity.",
4580
4560
  "readonly": true
4581
4561
  },
4582
4562
  {
4583
4563
  "kind": "method",
4584
- "name": "checkValidity",
4564
+ "name": "_severityLabel",
4565
+ "privacy": "private",
4585
4566
  "return": {
4586
4567
  "type": {
4587
- "text": "boolean"
4568
+ "text": "string"
4588
4569
  }
4589
4570
  },
4590
- "description": "Checks whether the group satisfies its constraints."
4571
+ "description": "Returns the default severity label for screen readers (WCAG 1.4.1)."
4591
4572
  },
4592
4573
  {
4593
- "kind": "method",
4594
- "name": "reportValidity",
4595
- "return": {
4596
- "type": {
4597
- "text": "boolean"
4598
- }
4574
+ "kind": "field",
4575
+ "name": "_requiresAcknowledgment",
4576
+ "type": {
4577
+ "text": "boolean"
4599
4578
  },
4600
- "description": "Reports validity and shows the browser's constraint validation UI."
4579
+ "privacy": "private",
4580
+ "description": "Returns true when the severity requires explicit acknowledgment.",
4581
+ "readonly": true
4582
+ },
4583
+ {
4584
+ "kind": "field",
4585
+ "name": "_effectivePersistent",
4586
+ "type": {
4587
+ "text": "boolean"
4588
+ },
4589
+ "privacy": "private",
4590
+ "description": "Effective persistent value, considering severity-based defaults.",
4591
+ "readonly": true
4601
4592
  }
4602
4593
  ],
4603
4594
  "events": [
4604
4595
  {
4596
+ "name": "hx-dismiss",
4605
4597
  "type": {
4606
- "text": "CustomEvent<{values: string[]}>"
4598
+ "text": "CustomEvent<void>"
4607
4599
  },
4608
- "description": "Dispatched when any child checkbox changes.",
4609
- "name": "hx-change"
4600
+ "description": "Dispatched when the user dismisses the status."
4601
+ },
4602
+ {
4603
+ "name": "hx-acknowledge",
4604
+ "type": {
4605
+ "text": "CustomEvent<{ severity: ClinicalSeverity; persistent: boolean }>"
4606
+ },
4607
+ "description": "Dispatched when the user acknowledges a critical/emergent status."
4610
4608
  }
4611
4609
  ],
4612
4610
  "attributes": [
4613
4611
  {
4614
- "name": "name",
4612
+ "name": "severity",
4615
4613
  "type": {
4616
- "text": "string"
4614
+ "text": "ClinicalSeverity"
4617
4615
  },
4618
- "default": "''",
4619
- "description": "The name used for form submission. Passed to child `hx-checkbox` elements.",
4620
- "fieldName": "name",
4621
- "attribute": "name"
4616
+ "default": "'info'",
4617
+ "description": "Clinical severity level that determines visual styling and ARIA semantics.\n- `info`: Informational, non-urgent (role=\"status\")\n- `warning`: Requires attention but not immediate (role=\"status\")\n- `critical`: Requires prompt clinical attention (role=\"alert\")\n- `emergent`: Life-threatening, immediate action required (role=\"alert\")",
4618
+ "fieldName": "severity",
4619
+ "attribute": "severity"
4622
4620
  },
4623
4621
  {
4624
- "name": "label",
4622
+ "name": "message",
4625
4623
  "type": {
4626
4624
  "text": "string"
4627
4625
  },
4628
4626
  "default": "''",
4629
- "description": "The fieldset legend/label text.",
4630
- "fieldName": "label",
4631
- "attribute": "label"
4627
+ "description": "Status message text. Displayed as the primary content of the indicator.",
4628
+ "fieldName": "message",
4629
+ "attribute": "message"
4632
4630
  },
4633
4631
  {
4634
- "name": "required",
4632
+ "name": "dismissible",
4635
4633
  "type": {
4636
4634
  "text": "boolean"
4637
4635
  },
4638
4636
  "default": "false",
4639
- "description": "Whether at least one checkbox must be checked for form submission.",
4640
- "fieldName": "required",
4641
- "attribute": "required"
4637
+ "description": "Whether the status can be dismissed by the user.\nCritical and emergent statuses should require acknowledgment rather than simple dismissal.",
4638
+ "fieldName": "dismissible",
4639
+ "attribute": "dismissible"
4642
4640
  },
4643
4641
  {
4644
- "name": "disabled",
4642
+ "name": "persistent",
4645
4643
  "type": {
4646
4644
  "text": "boolean"
4647
4645
  },
4648
4646
  "default": "false",
4649
- "description": "Whether the entire group is disabled.",
4650
- "fieldName": "disabled",
4651
- "attribute": "disabled"
4652
- },
4653
- {
4654
- "name": "error",
4655
- "type": {
4656
- "text": "string"
4657
- },
4658
- "default": "''",
4659
- "description": "Error message to display. When set, the group enters an error state.",
4660
- "fieldName": "error",
4661
- "attribute": "error"
4647
+ "description": "Whether the status survives page navigation.\nDefaults to false for info/warning, true for critical/emergent.\nWhen set explicitly, overrides the severity-based default.",
4648
+ "fieldName": "persistent",
4649
+ "attribute": "persistent"
4662
4650
  },
4663
4651
  {
4664
- "name": "help-text",
4652
+ "name": "icon",
4665
4653
  "type": {
4666
4654
  "text": "string"
4667
4655
  },
4668
4656
  "default": "''",
4669
- "description": "Help text to display below the group. Can also be provided via the help-text slot.",
4670
- "fieldName": "helpText",
4671
- "attribute": "help-text"
4657
+ "description": "Optional custom icon name. When not set, a default severity-appropriate icon is shown.",
4658
+ "fieldName": "icon",
4659
+ "attribute": "icon"
4672
4660
  },
4673
4661
  {
4674
- "name": "orientation",
4662
+ "name": "compact",
4675
4663
  "type": {
4676
- "text": "'vertical' | 'horizontal'"
4664
+ "text": "boolean"
4677
4665
  },
4678
- "description": "Layout orientation of the checkbox items.",
4679
- "fieldName": "orientation",
4680
- "attribute": "orientation"
4666
+ "default": "false",
4667
+ "description": "Compact mode for dense clinical UIs (e.g. patient dashboards, bedside displays).\nReduces padding, font size, and icon size.",
4668
+ "fieldName": "compact",
4669
+ "attribute": "compact"
4681
4670
  }
4682
4671
  ],
4683
4672
  "superclass": {
4684
- "name": "LitElement",
4685
- "package": "lit"
4673
+ "name": "HelixElement",
4674
+ "module": "/src/base/index.js"
4686
4675
  },
4687
- "tagName": "hx-checkbox-group",
4676
+ "tagName": "hx-clinical-status",
4688
4677
  "customElement": true,
4689
- "summary": "Form-associated checkbox group with label, validation, help text, and multi-value form submission."
4678
+ "summary": "Clinical status indicator for standardized healthcare alert fatigue prevention."
4690
4679
  }
4691
4680
  ],
4692
4681
  "exports": [
4693
4682
  {
4694
4683
  "kind": "js",
4695
- "name": "HelixCheckboxGroup",
4684
+ "name": "HelixClinicalStatus",
4696
4685
  "declaration": {
4697
- "name": "HelixCheckboxGroup",
4698
- "module": "src/components/hx-checkbox-group/hx-checkbox-group.ts"
4686
+ "name": "HelixClinicalStatus",
4687
+ "module": "src/components/hx-clinical-status/hx-clinical-status.ts"
4699
4688
  }
4700
4689
  },
4701
4690
  {
4702
4691
  "kind": "custom-element-definition",
4703
- "name": "hx-checkbox-group",
4692
+ "name": "hx-clinical-status",
4704
4693
  "declaration": {
4705
- "name": "HelixCheckboxGroup",
4706
- "module": "src/components/hx-checkbox-group/hx-checkbox-group.ts"
4694
+ "name": "HelixClinicalStatus",
4695
+ "module": "src/components/hx-clinical-status/hx-clinical-status.ts"
4707
4696
  }
4708
4697
  }
4709
4698
  ]
4710
4699
  },
4711
4700
  {
4712
4701
  "kind": "javascript-module",
4713
- "path": "src/components/hx-checkbox-group/index.ts",
4702
+ "path": "src/components/hx-clinical-status/index.ts",
4714
4703
  "declarations": [],
4715
4704
  "exports": [
4716
4705
  {
4717
4706
  "kind": "js",
4718
- "name": "HelixCheckboxGroup",
4707
+ "name": "HelixClinicalStatus",
4719
4708
  "declaration": {
4720
- "name": "HelixCheckboxGroup",
4721
- "module": "./hx-checkbox-group.js"
4709
+ "name": "HelixClinicalStatus",
4710
+ "module": "./hx-clinical-status.js"
4711
+ }
4712
+ },
4713
+ {
4714
+ "kind": "js",
4715
+ "name": "ClinicalSeverity",
4716
+ "declaration": {
4717
+ "name": "ClinicalSeverity",
4718
+ "module": "./hx-clinical-status.js"
4719
+ }
4720
+ },
4721
+ {
4722
+ "kind": "js",
4723
+ "name": "HxClinicalStatus",
4724
+ "declaration": {
4725
+ "name": "HxClinicalStatus",
4726
+ "module": "./hx-clinical-status.js"
4722
4727
  }
4723
4728
  }
4724
4729
  ]
@@ -13015,6 +13020,24 @@
13015
13020
  }
13016
13021
  ],
13017
13022
  "members": [
13023
+ {
13024
+ "kind": "method",
13025
+ "name": "setSubmenuOpen",
13026
+ "return": {
13027
+ "type": {
13028
+ "text": "void"
13029
+ }
13030
+ },
13031
+ "parameters": [
13032
+ {
13033
+ "name": "open",
13034
+ "type": {
13035
+ "text": "boolean"
13036
+ }
13037
+ }
13038
+ ],
13039
+ "description": "Set whether the nested submenu is open. Called by the component managing submenu visibility."
13040
+ },
13018
13041
  {
13019
13042
  "kind": "field",
13020
13043
  "name": "value",
@@ -13103,6 +13126,13 @@
13103
13126
  "text": "CustomEvent<{item: HelixMenuItem}>"
13104
13127
  },
13105
13128
  "description": "Dispatched when ArrowRight is pressed on an item with a submenu."
13129
+ },
13130
+ {
13131
+ "name": "hx-item-submenu-close",
13132
+ "type": {
13133
+ "text": "CustomEvent<{item: HelixMenuItem}>"
13134
+ },
13135
+ "description": "Dispatched when ArrowLeft is pressed on an item, signaling the parent to close the submenu and return focus."
13106
13136
  }
13107
13137
  ],
13108
13138
  "attributes": [
@@ -13217,6 +13247,11 @@
13217
13247
  "description": "Minimum menu width.",
13218
13248
  "name": "--hx-menu-min-width",
13219
13249
  "default": "10rem"
13250
+ },
13251
+ {
13252
+ "description": "Maximum menu height before vertical scroll is activated.",
13253
+ "name": "--hx-menu-max-height",
13254
+ "default": "20rem"
13220
13255
  }
13221
13256
  ],
13222
13257
  "cssParts": [
@@ -23768,7 +23803,7 @@
23768
23803
  "type": {
23769
23804
  "text": "number"
23770
23805
  },
23771
- "description": "Gets or sets the zero-based index of the currently selected tab.\nSetting this programmatically activates the tab at the given index."
23806
+ "description": "Gets or sets the zero-based index of the currently selected tab.\nSetting this programmatically activates the tab at the given index.\nCan also be set via the `selected-index` HTML attribute for server-side\npre-selection (e.g. Drupal Twig templates)."
23772
23807
  }
23773
23808
  ],
23774
23809
  "events": [
@@ -23781,6 +23816,9 @@
23781
23816
  }
23782
23817
  ],
23783
23818
  "attributes": [
23819
+ {
23820
+ "name": "selected-index"
23821
+ },
23784
23822
  {
23785
23823
  "name": "orientation",
23786
23824
  "type": {
@@ -27538,6 +27576,15 @@
27538
27576
  },
27539
27577
  "readonly": true
27540
27578
  },
27579
+ {
27580
+ "kind": "field",
27581
+ "name": "labelText",
27582
+ "type": {
27583
+ "text": "string"
27584
+ },
27585
+ "description": "The text content of the item's label slot, used for typeahead keyboard navigation.\nReturns an empty string until the label slot has been assigned.",
27586
+ "readonly": true
27587
+ },
27541
27588
  {
27542
27589
  "kind": "method",
27543
27590
  "name": "setRovingActive",