aeico-components 0.1.8 → 0.1.10

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 (233) hide show
  1. package/README.md +0 -0
  2. package/dist/alert.cjs +20 -29
  3. package/dist/alert.cjs.map +3 -3
  4. package/dist/alert.js +20 -29
  5. package/dist/alert.js.map +3 -3
  6. package/dist/badge.cjs +19 -28
  7. package/dist/badge.cjs.map +3 -3
  8. package/dist/badge.js +19 -28
  9. package/dist/badge.js.map +3 -3
  10. package/dist/breadcrumb.cjs +22 -33
  11. package/dist/breadcrumb.cjs.map +3 -3
  12. package/dist/breadcrumb.js +22 -33
  13. package/dist/breadcrumb.js.map +3 -3
  14. package/dist/button-group.cjs +19 -28
  15. package/dist/button-group.cjs.map +3 -3
  16. package/dist/button-group.js +19 -28
  17. package/dist/button-group.js.map +3 -3
  18. package/dist/button.cjs +19 -29
  19. package/dist/button.cjs.map +3 -3
  20. package/dist/button.js +19 -29
  21. package/dist/button.js.map +3 -3
  22. package/dist/card.cjs +19 -29
  23. package/dist/card.cjs.map +3 -3
  24. package/dist/card.js +19 -29
  25. package/dist/card.js.map +3 -3
  26. package/dist/checkbox.cjs +21 -31
  27. package/dist/checkbox.cjs.map +3 -3
  28. package/dist/checkbox.js +21 -31
  29. package/dist/checkbox.js.map +3 -3
  30. package/dist/copy-button.cjs +25 -33
  31. package/dist/copy-button.cjs.map +2 -2
  32. package/dist/copy-button.js +25 -33
  33. package/dist/copy-button.js.map +3 -3
  34. package/dist/detail-group.cjs +19 -29
  35. package/dist/detail-group.cjs.map +3 -3
  36. package/dist/detail-group.js +19 -29
  37. package/dist/detail-group.js.map +3 -3
  38. package/dist/detail.cjs +19 -29
  39. package/dist/detail.cjs.map +3 -3
  40. package/dist/detail.js +19 -29
  41. package/dist/detail.js.map +3 -3
  42. package/dist/dialog.cjs +24 -32
  43. package/dist/dialog.cjs.map +2 -2
  44. package/dist/dialog.js +24 -32
  45. package/dist/dialog.js.map +3 -3
  46. package/dist/divider.cjs +20 -30
  47. package/dist/divider.cjs.map +3 -3
  48. package/dist/divider.js +20 -30
  49. package/dist/divider.js.map +3 -3
  50. package/dist/drawer.cjs +24 -32
  51. package/dist/drawer.cjs.map +2 -2
  52. package/dist/drawer.js +24 -32
  53. package/dist/drawer.js.map +3 -3
  54. package/dist/dropdown.cjs +31 -43
  55. package/dist/dropdown.cjs.map +3 -3
  56. package/dist/dropdown.js +31 -43
  57. package/dist/dropdown.js.map +3 -3
  58. package/dist/icon-button.cjs +25 -35
  59. package/dist/icon-button.cjs.map +3 -3
  60. package/dist/icon-button.js +25 -35
  61. package/dist/icon-button.js.map +3 -3
  62. package/dist/icon.cjs +20 -26
  63. package/dist/icon.cjs.map +2 -2
  64. package/dist/icon.js +20 -26
  65. package/dist/icon.js.map +2 -2
  66. package/dist/index.cjs +75 -113
  67. package/dist/index.cjs.map +3 -3
  68. package/dist/index.js +75 -113
  69. package/dist/index.js.map +3 -3
  70. package/dist/menu.cjs +20 -31
  71. package/dist/menu.cjs.map +3 -3
  72. package/dist/menu.js +20 -31
  73. package/dist/menu.js.map +3 -3
  74. package/dist/navbar.cjs +19 -29
  75. package/dist/navbar.cjs.map +3 -3
  76. package/dist/navbar.js +19 -29
  77. package/dist/navbar.js.map +3 -3
  78. package/dist/number-input.cjs +21 -31
  79. package/dist/number-input.cjs.map +3 -3
  80. package/dist/number-input.js +21 -31
  81. package/dist/number-input.js.map +3 -3
  82. package/dist/pagination.cjs +24 -33
  83. package/dist/pagination.cjs.map +2 -2
  84. package/dist/pagination.js +24 -33
  85. package/dist/pagination.js.map +3 -3
  86. package/dist/progress-bar.cjs +19 -29
  87. package/dist/progress-bar.cjs.map +3 -3
  88. package/dist/progress-bar.js +19 -29
  89. package/dist/progress-bar.js.map +3 -3
  90. package/dist/radio-group.cjs +24 -35
  91. package/dist/radio-group.cjs.map +3 -3
  92. package/dist/radio-group.js +24 -35
  93. package/dist/radio-group.js.map +3 -3
  94. package/dist/select.cjs +23 -34
  95. package/dist/select.cjs.map +3 -3
  96. package/dist/select.js +23 -34
  97. package/dist/select.js.map +3 -3
  98. package/dist/slider.cjs +21 -32
  99. package/dist/slider.cjs.map +3 -3
  100. package/dist/slider.js +21 -32
  101. package/dist/slider.js.map +3 -3
  102. package/dist/spinner.cjs +19 -29
  103. package/dist/spinner.cjs.map +3 -3
  104. package/dist/spinner.js +19 -29
  105. package/dist/spinner.js.map +3 -3
  106. package/dist/styles/layout.cjs +1 -1
  107. package/dist/styles/layout.js +1 -1
  108. package/dist/styles/radius.cjs +1 -1
  109. package/dist/styles/radius.js +1 -1
  110. package/dist/styles/variables.cjs +1 -1
  111. package/dist/styles/variables.js +1 -1
  112. package/dist/switch.cjs +26 -35
  113. package/dist/switch.cjs.map +3 -3
  114. package/dist/switch.js +26 -35
  115. package/dist/switch.js.map +3 -3
  116. package/dist/tabs.cjs +21 -30
  117. package/dist/tabs.cjs.map +3 -3
  118. package/dist/tabs.js +21 -30
  119. package/dist/tabs.js.map +3 -3
  120. package/dist/tag.cjs +19 -28
  121. package/dist/tag.cjs.map +3 -3
  122. package/dist/tag.js +19 -28
  123. package/dist/tag.js.map +3 -3
  124. package/dist/text-input.cjs +21 -31
  125. package/dist/text-input.cjs.map +3 -3
  126. package/dist/text-input.js +21 -31
  127. package/dist/text-input.js.map +3 -3
  128. package/dist/textarea.cjs +21 -31
  129. package/dist/textarea.cjs.map +3 -3
  130. package/dist/textarea.js +21 -31
  131. package/dist/textarea.js.map +3 -3
  132. package/dist/tooltip.cjs +19 -28
  133. package/dist/tooltip.cjs.map +3 -3
  134. package/dist/tooltip.js +19 -28
  135. package/dist/tooltip.js.map +3 -3
  136. package/dist/tree.cjs +25 -35
  137. package/dist/tree.cjs.map +3 -3
  138. package/dist/tree.js +25 -35
  139. package/dist/tree.js.map +3 -3
  140. package/dist/types/aeico-component.d.ts +1 -1
  141. package/dist/types/aeico-field.d.ts +1 -1
  142. package/dist/types/breadcrumb/breadcrumb-item.d.ts +0 -1
  143. package/dist/types/breadcrumb/breadcrumb.d.ts +2 -3
  144. package/dist/types/button-group/button-group.d.ts +1 -1
  145. package/dist/types/card/card.d.ts +0 -1
  146. package/dist/types/checkbox/checkbox.d.ts +0 -1
  147. package/dist/types/detail/detail.d.ts +0 -1
  148. package/dist/types/detail-group/detail-group.d.ts +1 -2
  149. package/dist/types/divider/divider.d.ts +0 -1
  150. package/dist/types/dropdown/dropdown-button.d.ts +4 -5
  151. package/dist/types/dropdown/dropdown-item.d.ts +3 -4
  152. package/dist/types/dropdown/dropdown.d.ts +4 -5
  153. package/dist/types/icon/icon.d.ts +0 -1
  154. package/dist/types/icon/registry.d.ts +1 -1
  155. package/dist/types/icon-button/icon-button.d.ts +0 -1
  156. package/dist/types/index.d.ts +4 -4
  157. package/dist/types/menu/menu-item.d.ts +3 -4
  158. package/dist/types/menu/menu.d.ts +3 -4
  159. package/dist/types/navbar/navbar.d.ts +5 -6
  160. package/dist/types/number-input/number-input.d.ts +0 -1
  161. package/dist/types/pagination/pagination.d.ts +0 -1
  162. package/dist/types/progress-bar/progress-bar.d.ts +0 -1
  163. package/dist/types/radio-group/radio-group.d.ts +0 -1
  164. package/dist/types/radio-group/radio.d.ts +6 -7
  165. package/dist/types/select/select-option.d.ts +0 -1
  166. package/dist/types/select/select.d.ts +0 -1
  167. package/dist/types/slider/defines.d.ts +5 -5
  168. package/dist/types/slider/slider.d.ts +0 -1
  169. package/dist/types/spinner/spinner.d.ts +1 -2
  170. package/dist/types/switch/switch.d.ts +0 -1
  171. package/dist/types/text-input/text-input.d.ts +0 -1
  172. package/dist/types/textarea/textarea.d.ts +0 -1
  173. package/dist/types/tree/tree-item.d.ts +1 -2
  174. package/dist/types/tree/tree.d.ts +0 -1
  175. package/package.json +5 -3
  176. package/src/aeico-component.ts +6 -5
  177. package/src/aeico-field.ts +2 -2
  178. package/src/alert/alert.ts +2 -2
  179. package/src/badge/badge.ts +2 -2
  180. package/src/breadcrumb/breadcrumb-item.ts +2 -4
  181. package/src/breadcrumb/breadcrumb.ts +4 -6
  182. package/src/button/button.ts +2 -2
  183. package/src/button-group/button-group.ts +3 -3
  184. package/src/card/card.ts +2 -4
  185. package/src/card/defines.ts +1 -1
  186. package/src/card/index.ts +1 -1
  187. package/src/checkbox/checkbox.ts +2 -4
  188. package/src/copy-button/copy-button.ts +1 -1
  189. package/src/detail/detail.ts +2 -4
  190. package/src/detail-group/detail-group.ts +2 -4
  191. package/src/dialog/dialog.ts +2 -2
  192. package/src/divider/divider.ts +2 -4
  193. package/src/drawer/drawer.ts +2 -2
  194. package/src/dropdown/dropdown-button.ts +6 -8
  195. package/src/dropdown/dropdown-item.ts +5 -7
  196. package/src/dropdown/dropdown.ts +7 -9
  197. package/src/icon/icon.ts +2 -4
  198. package/src/icon/registry.ts +1 -1
  199. package/src/icon-button/icon-button.ts +2 -4
  200. package/src/index.ts +4 -4
  201. package/src/menu/menu-item.ts +5 -7
  202. package/src/menu/menu.ts +4 -6
  203. package/src/navbar/navbar.ts +7 -9
  204. package/src/number-input/number-input.ts +1 -3
  205. package/src/pagination/pagination.ts +1 -3
  206. package/src/progress-bar/progress-bar.ts +1 -2
  207. package/src/radio-group/radio-group.ts +5 -7
  208. package/src/radio-group/radio.ts +8 -10
  209. package/src/select/select-option.ts +2 -4
  210. package/src/select/select.ts +4 -6
  211. package/src/slider/defines.ts +5 -5
  212. package/src/slider/slider.ts +5 -8
  213. package/src/spinner/spinner.ts +2 -4
  214. package/src/styles/components/action-button.css +1 -1
  215. package/src/styles/components/alert.css +1 -1
  216. package/src/styles/components/breadcrumb-item.css +2 -2
  217. package/src/styles/components/button.css +0 -1
  218. package/src/styles/components/divider.css +1 -1
  219. package/src/styles/components/dropdown-item.css +2 -2
  220. package/src/styles/components/dropdown.css +1 -1
  221. package/src/styles/layout.css +14 -14
  222. package/src/styles/radius.css +1 -1
  223. package/src/styles/variables.css +14 -16
  224. package/src/switch/switch.ts +2 -4
  225. package/src/tabs/tab-panel.ts +2 -2
  226. package/src/tabs/tab.ts +2 -2
  227. package/src/tabs/tabs.ts +2 -2
  228. package/src/tag/tag.ts +2 -2
  229. package/src/text-input/text-input.ts +2 -4
  230. package/src/textarea/textarea.ts +1 -3
  231. package/src/tooltip/tooltip.ts +1 -1
  232. package/src/tree/tree-item.ts +3 -5
  233. package/src/tree/tree.ts +2 -4
package/dist/index.js CHANGED
@@ -53,20 +53,12 @@ import { tags } from "aeico";
53
53
 
54
54
  // src/aeico-component.ts
55
55
  import { AeicoElement } from "aeico";
56
-
57
- // src/utils.ts
58
- var SVG_NS = "http://www.w3.org/2000/svg";
59
- function toKebab(str) {
60
- const cleaned = str.replace(/^[_\d]+/, "");
61
- return cleaned.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
62
- }
63
-
64
- // src/aeico-component.ts
65
56
  var TAG_NAME_PREFIX = "ae";
66
57
  var AeicoComponent = class extends AeicoElement {
67
- static register(name) {
68
- const tagName = name || `${TAG_NAME_PREFIX}-${this.tagName || toKebab(this.name)}`;
69
- super.register(tagName);
58
+ static define(name) {
59
+ const prefix = `${TAG_NAME_PREFIX}-`;
60
+ const tagName = name.startsWith(prefix) ? name : `${prefix}${name}`;
61
+ super.define(tagName);
70
62
  }
71
63
  };
72
64
  var aeico_component_default = AeicoComponent;
@@ -221,7 +213,7 @@ var AeicoField = class _AeicoField extends aeico_component_default {
221
213
  }
222
214
  }
223
215
  /**
224
- * Watcher for error property syncs aria-invalid on the field element
216
+ * Watcher for error property - syncs aria-invalid on the field element
225
217
  */
226
218
  onErrorChanged(newValue) {
227
219
  if (this.fieldElement) {
@@ -436,7 +428,7 @@ var variables_default = `:root,
436
428
  --ae-cyan-800: color-mix(in srgb, var(--ae-cyan) 40%, black);
437
429
  --ae-cyan-900: color-mix(in srgb, var(--ae-cyan) 20%, black);
438
430
 
439
- /* Gray (neutral \u2014 base #6e6e6e) */
431
+ /* Gray (neutral - base #6e6e6e) */
440
432
  --ae-gray-100: color-mix(in srgb, var(--ae-gray) 20%, white);
441
433
  --ae-gray-200: color-mix(in srgb, var(--ae-gray) 40%, white);
442
434
  --ae-gray-300: color-mix(in srgb, var(--ae-gray) 60%, white);
@@ -447,7 +439,7 @@ var variables_default = `:root,
447
439
  --ae-gray-800: color-mix(in srgb, var(--ae-gray) 40%, black);
448
440
  --ae-gray-900: color-mix(in srgb, var(--ae-gray) 20%, black);
449
441
 
450
- /* Slate (blue-gray \u2014 base #64748b, used for 'secondary') */
442
+ /* Slate (blue-gray - base #64748b, used for 'secondary') */
451
443
  --ae-slate-100: color-mix(in srgb, var(--ae-slate) 20%, white);
452
444
  --ae-slate-200: color-mix(in srgb, var(--ae-slate) 40%, white);
453
445
  --ae-slate-300: color-mix(in srgb, var(--ae-slate) 60%, white);
@@ -483,7 +475,7 @@ var variables_default = `:root,
483
475
 
484
476
  :root,
485
477
  :host {
486
- /* Hover / active mix (light default \u2014 overridden in \xA7 6 dark) */
478
+ /* Hover / active mix (light default - overridden in \xA7 6 dark) */
487
479
  --ae-color-mix-hover: black 10%;
488
480
  --ae-color-mix-active: black 20%;
489
481
 
@@ -517,7 +509,7 @@ var variables_default = `:root,
517
509
  --ae-color-info-active: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-active));
518
510
  --ae-color-info-disabled: color-mix(in srgb, var(--ae-cyan) 50%, var(--ae-gray-500));
519
511
 
520
- /* Secondary (Slate) \u2014 base differs per theme, overridden in \xA7 6 dark */
512
+ /* Secondary (Slate) - base differs per theme, overridden in \xA7 6 dark */
521
513
  --ae-color-secondary: var(--ae-slate-500);
522
514
  --ae-color-secondary-hover: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-hover));
523
515
  --ae-color-secondary-active: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-active));
@@ -533,7 +525,7 @@ var variables_default = `:root,
533
525
  :host {
534
526
  color-scheme: light;
535
527
 
536
- /* Gray UI aliases \u2014 lighter palette steps for elements on white background */
528
+ /* Gray UI aliases - lighter palette steps for elements on white background */
537
529
  --ae-color-gray-dark: var(--ae-gray-400);
538
530
  --ae-color-gray: var(--ae-gray-300);
539
531
  --ae-color-gray-light: var(--ae-gray-200);
@@ -565,7 +557,7 @@ var variables_default = `:root,
565
557
  --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.30);
566
558
  --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.15);
567
559
 
568
- /* Subtle intent tokens \u2014 light context */
560
+ /* Subtle intent tokens - light context */
569
561
  --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.08);
570
562
  --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.40);
571
563
  --ae-color-primary-text-emphasis: var(--ae-blue-700);
@@ -596,7 +588,7 @@ var variables_default = `:root,
596
588
  --ae-color-dark-bg-subtle: var(--ae-dark-100); /* opaque on white: ~#d6d8d9 */
597
589
  --ae-color-dark-border-subtle: var(--ae-dark-300); /* opaque on white: ~#85898c */
598
590
 
599
- /* Component tokens \u2014 light defaults */
591
+ /* Component tokens - light defaults */
600
592
  --ae-action-btn-bg: var(--ae-gray-200);
601
593
  --ae-action-btn-bg-hover: var(--ae-color-primary);
602
594
  --ae-action-btn-color: var(--ae-gray-600);
@@ -631,14 +623,12 @@ var variables_default = `:root,
631
623
  --ae-size-3xs: round(calc(var(--ae-size-2xs) / 1.125), 1px); /* 10px */
632
624
  }
633
625
 
634
- /* Border-radius tokens \u2014 shared across all components */
626
+ /* Border-radius tokens - shared across all components */
635
627
  :root,
636
628
  :host {
637
629
  /**
638
630
  * Unified border-radius hook for all components.
639
631
  *
640
- * Not set by default \u2014 each component falls back to its own --ae-radius-*
641
- * token (e.g. button \u2192 sm, card \u2192 lg, input \u2192 xs).
642
632
  *
643
633
  * Usage:
644
634
  * :root { --ae-border-radius: 0; } // global: all components square
@@ -660,7 +650,7 @@ var variables_default = `:root,
660
650
  --ae-radius-circle: 50%;
661
651
  }
662
652
 
663
- /* Layout tokens \u2014 defined on :root so all light DOM elements can use them */
653
+ /* Layout tokens - defined on :root so all light DOM elements can use them */
664
654
  :root,
665
655
  :host {
666
656
  --container-max-width: 1280px;
@@ -673,18 +663,18 @@ var variables_default = `:root,
673
663
  :host-context([theme="dark"]) {
674
664
  color-scheme: dark;
675
665
 
676
- /* Hover / active \u2014 slightly gentler on dark backgrounds */
666
+ /* Hover / active - slightly gentler on dark backgrounds */
677
667
  --ae-color-mix-hover: black 8%;
678
668
  --ae-color-mix-active: black 16%;
679
669
 
680
- /* Gray UI aliases \u2014 darker palette steps for elements on dark background */
670
+ /* Gray UI aliases - darker palette steps for elements on dark background */
681
671
  --ae-color-gray-dark: var(--ae-gray-800);
682
672
  --ae-color-gray: var(--ae-gray-700);
683
673
  --ae-color-gray-light: var(--ae-gray-600);
684
674
  --ae-color-gray-lighter: var(--ae-gray-500);
685
675
  --ae-color-gray-lightest: var(--ae-gray-400);
686
676
 
687
- /* Secondary \u2014 deeper base on dark background */
677
+ /* Secondary - deeper base on dark background */
688
678
  --ae-color-secondary: var(--ae-slate-700);
689
679
  --ae-color-secondary-text: var(--ae-slate-300);
690
680
 
@@ -713,7 +703,7 @@ var variables_default = `:root,
713
703
  --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.25);
714
704
  --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.10);
715
705
 
716
- /* Subtle intent tokens \u2014 dark context (more alpha, lighter text-emphasis) */
706
+ /* Subtle intent tokens - dark context (more alpha, lighter text-emphasis) */
717
707
  --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.10);
718
708
  --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.30);
719
709
  --ae-color-primary-text-emphasis: var(--ae-blue-300);
@@ -744,7 +734,7 @@ var variables_default = `:root,
744
734
  --ae-color-dark-bg-subtle: rgb(from var(--ae-dark) r g b / 0.30);
745
735
  --ae-color-dark-border-subtle: rgb(from var(--ae-dark) r g b / 0.50);
746
736
 
747
- /* Component tokens \u2014 dark overrides */
737
+ /* Component tokens - dark overrides */
748
738
  --ae-action-btn-bg: var(--ae-color-gray);
749
739
  --ae-action-btn-bg-hover: color-mix(in srgb, var(--ae-blue) 25%, var(--ae-gray-800));
750
740
  --ae-action-btn-color: var(--ae-gray-400);
@@ -761,7 +751,7 @@ var size_default = ':host([size="xs"]) { font-size: var(--ae-size-xs); }\n:host(
761
751
  var field_label_default = ':host {\n --field-label-gap: 4px;\n --field-label-col-gap: 8px;\n --field-label-width: 100px;\n --field-label-font-size: 0.875em;\n --field-label-color: inherit;\n --field-required-color: var(--ae-red, #dc3545);\n --field-helper-color: var(--ae-color-text-muted, #6e6e6e);\n --field-error-color: var(--ae-red, #dc3545);\n}\n\n:host([label]) {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--field-label-gap);\n}\n\n:host([label][label-placement="left"]) {\n display: grid;\n grid-template-columns: var(--field-label-width) 1fr;\n column-gap: var(--field-label-col-gap);\n row-gap: var(--field-label-gap);\n align-items: center;\n}\n\n:host([label][label-placement="left"]) .field-label {\n align-self: center;\n}\n\n:host([label][label-placement="left"]) .field-helper,\n:host([label][label-placement="left"]) .field-error {\n grid-column: 2;\n}\n\n.field-label {\n font-size: var(--field-label-font-size);\n color: var(--field-label-color);\n user-select: none;\n line-height: 1.4;\n}\n\n.field-required {\n color: var(--field-required-color);\n margin-left: 2px;\n}\n\n.field-helper {\n font-size: 0.8em;\n color: var(--field-helper-color);\n line-height: 1.4;\n}\n\n.field-error {\n font-size: 0.8em;\n color: var(--field-error-color);\n line-height: 1.4;\n}\n\n/* Action controls container (integrated style) */\n.action-controls {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n margin-left: calc(-1 * var(--field-action-gap, 4px) - 1px);\n border: var(--field-action-border-width, 1px) solid var(--field-action-border-color, var(--ae-border-subtle));\n border-radius: 0 var(--field-action-border-radius, var(--ae-radius-xs)) var(--field-action-border-radius, var(--ae-radius-xs)) 0;\n overflow: hidden;\n flex-shrink: 0;\n transition: border-color 0.12s;\n background: var(--field-action-bg, var(--ae-surface-base));\n position: relative;\n z-index: 1;\n align-self: stretch;\n}\n\n.action-controls .action-btn {\n border: none;\n background: transparent;\n color: var(--field-action-color, var(--ae-color-text-muted));\n font-size: 0.875em;\n line-height: 1;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 0.5em;\n transition: background 0.12s;\n}\n\n.action-controls .action-btn:hover:not(:disabled) {\n background: var(--field-action-bg-hover, var(--ae-surface-raised));\n}\n\n.action-controls .action-btn:active:not(:disabled) {\n background: var(--field-action-bg-focus, var(--ae-surface-raised));\n}\n\n.action-controls .action-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.action-controls .action-btn + .action-btn {\n border-left: var(--field-action-border-width, 1px) solid var(--field-action-border-color, var(--ae-border-subtle));\n}\n\n.input-container:has(input:focus) ~ .action-controls,\n.input-container:has(input:focus) .action-controls,\n.container:has(.trigger.open) ~ .action-controls,\n.container:has(.trigger.open) .action-controls {\n border-color: var(--field-action-border-color-focus, var(--ae-border-focus));\n}\n\n.input-container:has(input:hover:not(:focus)) ~ .action-controls,\n.input-container:has(input:hover:not(:focus)) .action-controls,\n.container:has(.trigger:hover:not(.disabled)) ~ .action-controls,\n.container:has(.trigger:hover:not(.disabled)) .action-controls {\n border-color: var(--field-action-border-color-hover, var(--ae-border-default));\n}\n';
762
752
 
763
753
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/action-button.css
764
- var action_button_default = "/* Action button base styles \u2014 shared by clear-btn and reset-btn (standalone mode) */\n.clear-btn:not(.action-btn),\n.reset-btn:not(.action-btn) {\n width: 1.333em;\n height: 1.333em;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n line-height: 1;\n}\n\n.clear-btn:not(.action-btn) {\n border-radius: var(--ae-clear-btn-border-radius);\n background: var(--ae-clear-btn-bg);\n color: var(--ae-clear-btn-color);\n transition: var(--ae-clear-btn-transition);\n}\n\n.reset-btn:not(.action-btn) {\n border-radius: var(--ae-reset-btn-border-radius);\n background: var(--ae-reset-btn-bg);\n color: var(--ae-reset-btn-color);\n transition: var(--ae-reset-btn-transition);\n}\n\n.clear-btn:not(.action-btn):hover {\n background: var(--ae-clear-btn-bg-hover);\n color: var(--ae-clear-btn-color-hover);\n}\n\n.reset-btn:not(.action-btn):hover {\n background: var(--ae-reset-btn-bg-hover);\n color: var(--ae-reset-btn-color-hover);\n}\n";
754
+ var action_button_default = "/* Action button base styles - shared by clear-btn and reset-btn (standalone mode) */\n.clear-btn:not(.action-btn),\n.reset-btn:not(.action-btn) {\n width: 1.333em;\n height: 1.333em;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n line-height: 1;\n}\n\n.clear-btn:not(.action-btn) {\n border-radius: var(--ae-clear-btn-border-radius);\n background: var(--ae-clear-btn-bg);\n color: var(--ae-clear-btn-color);\n transition: var(--ae-clear-btn-transition);\n}\n\n.reset-btn:not(.action-btn) {\n border-radius: var(--ae-reset-btn-border-radius);\n background: var(--ae-reset-btn-bg);\n color: var(--ae-reset-btn-color);\n transition: var(--ae-reset-btn-transition);\n}\n\n.clear-btn:not(.action-btn):hover {\n background: var(--ae-clear-btn-bg-hover);\n color: var(--ae-clear-btn-color-hover);\n}\n\n.reset-btn:not(.action-btn):hover {\n background: var(--ae-reset-btn-bg-hover);\n color: var(--ae-reset-btn-color-hover);\n}\n";
765
755
 
766
756
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/text-input.css
767
757
  var text_input_default = ":host {\n display: block;\n flex: 1;\n min-width: 0;\n font-size: var(--ae-size-base);\n --input-field-gap: 4px;\n --input-font-size: 1em;\n --input-padding: 0.333em 0.583em;\n --input-border-width: 1px;\n --input-transition: border-color 0.12s, background 0.12s;\n}\n\n.input-container {\n display: flex;\n align-items: center;\n gap: var(--input-field-gap);\n width: 100%;\n}\n\ninput {\n flex: 1;\n min-width: 0;\n font-size: var(--input-font-size);\n padding: var(--input-padding);\n border: var(--input-border-width) solid var(--ae-border-subtle);\n border-radius: var(--ae-border-radius, var(--ae-radius-xs));\n background: var(--ae-surface-base);\n color: var(--ae-color-text-muted);\n transition: var(--input-transition);\n}\n\ninput::placeholder {\n color: var(--ae-color-text-disabled);\n}\n\ninput:focus {\n outline: none;\n border-color: var(--ae-border-focus);\n background: var(--ae-surface-raised);\n}\n\ninput:hover:not(:focus) {\n border-color: var(--ae-border-default);\n background: var(--ae-surface-raised);\n}\n\ninput:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n:host([error]) input {\n border-color: var(--field-error-color, var(--ae-red));\n}\n\n:host([error]) input:hover:not(:focus),\n:host([error]) input:focus {\n border-color: var(--field-error-color, var(--ae-red));\n}\n\n.input-container:has(.action-controls) input {\n border-radius: var(--ae-border-radius, var(--ae-radius-xs)) 0 0 var(--ae-border-radius, var(--ae-radius-xs));\n}\n";
@@ -769,7 +759,6 @@ var text_input_default = ":host {\n display: block;\n flex: 1;\n min-width: 0
769
759
  // src/text-input/text-input.ts
770
760
  var TextInput = class extends aeico_field_default {
771
761
  fieldElement = null;
772
- static tagName = "text-input";
773
762
  static props = {
774
763
  placeholder: { type: String },
775
764
  type: { type: String }
@@ -806,7 +795,7 @@ var TextInput = class extends aeico_field_default {
806
795
  }
807
796
  }
808
797
  };
809
- TextInput.register();
798
+ TextInput.define("text-input");
810
799
  var text_input_default2 = TextInput;
811
800
 
812
801
  // src/number-input/number-input.ts
@@ -818,7 +807,6 @@ var number_input_default = ":host {\n display: block;\n flex: 1;\n min-width:
818
807
  // src/number-input/number-input.ts
819
808
  var NumberInput = class extends aeico_field_default {
820
809
  fieldElement = null;
821
- static tagName = "number-input";
822
810
  static props = {
823
811
  placeholder: { type: String },
824
812
  min: { type: Number },
@@ -911,7 +899,7 @@ var NumberInput = class extends aeico_field_default {
911
899
  return { value, oldValue, action };
912
900
  }
913
901
  };
914
- NumberInput.register();
902
+ NumberInput.define("number-input");
915
903
  var number_input_default2 = NumberInput;
916
904
 
917
905
  // src/textarea/textarea.ts
@@ -1002,9 +990,8 @@ __decorateElement(_init, 4, "minlength", _minlength_dec, Textarea, _minlength);
1002
990
  __decorateElement(_init, 4, "resize", _resize_dec, Textarea, _resize);
1003
991
  __decorateElement(_init, 4, "autoResize", _autoResize_dec, Textarea, _autoResize);
1004
992
  __decoratorMetadata(_init, Textarea);
1005
- __publicField(Textarea, "tagName", "textarea");
1006
993
  __publicField(Textarea, "styles", [variables_default, size_default, field_label_default, action_button_default, textarea_default]);
1007
- Textarea.register();
994
+ Textarea.define("textarea");
1008
995
  var textarea_default2 = Textarea;
1009
996
 
1010
997
  // src/select/select.ts
@@ -1075,7 +1062,7 @@ __decorateElement(_init2, 4, "disabled", _disabled_dec, Tag, _disabled);
1075
1062
  __decorateElement(_init2, 4, "pill", _pill_dec, Tag, _pill);
1076
1063
  __decoratorMetadata(_init2, Tag);
1077
1064
  __publicField(Tag, "styles", [variables_default, size_default, color_default, tag_default]);
1078
- Tag.register();
1065
+ Tag.define("tag");
1079
1066
  var tag_default2 = Tag;
1080
1067
 
1081
1068
  // src/select/select.ts
@@ -1399,9 +1386,8 @@ __decorateElement(_init3, 4, "expandable", _expandable_dec, Select, _expandable)
1399
1386
  __decorateElement(_init3, 5, "value", _value_dec, Select);
1400
1387
  __decorateElement(_init3, 5, "defaultValue", _defaultValue_dec, Select);
1401
1388
  __decoratorMetadata(_init3, Select);
1402
- __publicField(Select, "tagName", "select");
1403
1389
  __publicField(Select, "styles", [variables_default, size_default, field_label_default, action_button_default, select_default]);
1404
- Select.register();
1390
+ Select.define("select");
1405
1391
  var select_default2 = Select;
1406
1392
 
1407
1393
  // src/select/select-option.ts
@@ -1451,9 +1437,8 @@ __decorateElement(_init4, 4, "label", _label_dec, SelectOption, _label);
1451
1437
  __decorateElement(_init4, 4, "disabled", _disabled_dec2, SelectOption, _disabled2);
1452
1438
  __decorateElement(_init4, 4, "selected", _selected_dec, SelectOption, _selected);
1453
1439
  __decoratorMetadata(_init4, SelectOption);
1454
- __publicField(SelectOption, "tagName", "select-option");
1455
1440
  __publicField(SelectOption, "styles", [variables_default, select_option_default]);
1456
- SelectOption.register();
1441
+ SelectOption.define("select-option");
1457
1442
 
1458
1443
  // src/slider/slider.ts
1459
1444
  import { html as html7, tags as tags3 } from "aeico";
@@ -1772,7 +1757,6 @@ import { prop as prop5 } from "aeico";
1772
1757
  var _marks_dec, _tracked_dec, _editable_dec, _step_dec, _max_dec, _min_dec, _percentage_dec, _options_dec2, _a5, _init5, _options2, _percentage, _min, _max, _step, _editable, _tracked, _marks;
1773
1758
  var Slider = class extends (_a5 = aeico_field_default, _options_dec2 = [prop5({ type: Array })], _percentage_dec = [prop5({ type: Boolean })], _min_dec = [prop5({ type: Number })], _max_dec = [prop5({ type: Number })], _step_dec = [prop5({ type: Number })], _editable_dec = [prop5({ type: Boolean })], _tracked_dec = [prop5({ type: Boolean })], _marks_dec = [prop5({
1774
1759
  type: Array,
1775
- // bare attribute (<ae-slider marks>) → true; JSON array → MarkItem[]
1776
1760
  parser: (value) => {
1777
1761
  if (value === null) return void 0;
1778
1762
  if (value === "" || value === "true") return true;
@@ -2036,9 +2020,8 @@ __decorateElement(_init5, 4, "editable", _editable_dec, Slider, _editable);
2036
2020
  __decorateElement(_init5, 4, "tracked", _tracked_dec, Slider, _tracked);
2037
2021
  __decorateElement(_init5, 4, "marks", _marks_dec, Slider, _marks);
2038
2022
  __decoratorMetadata(_init5, Slider);
2039
- __publicField(Slider, "tagName", "slider");
2040
2023
  __publicField(Slider, "styles", [variables_default, size_default, color_default, field_label_default, action_button_default, slider_default]);
2041
- Slider.register();
2024
+ Slider.define("slider");
2042
2025
  var slider_default2 = Slider;
2043
2026
 
2044
2027
  // src/checkbox/checkbox.ts
@@ -2050,7 +2033,6 @@ var checkbox_default = ":host {\n display: block;\n flex: 1;\n min-width: 0;\
2050
2033
  // src/checkbox/checkbox.ts
2051
2034
  var Checkbox = class extends aeico_field_default {
2052
2035
  fieldElement = null;
2053
- static tagName = "checkbox";
2054
2036
  static props = {
2055
2037
  checked: { type: Boolean },
2056
2038
  defaultChecked: { type: Boolean },
@@ -2117,7 +2099,7 @@ var Checkbox = class extends aeico_field_default {
2117
2099
  });
2118
2100
  }
2119
2101
  };
2120
- Checkbox.register();
2102
+ Checkbox.define("checkbox");
2121
2103
  var checkbox_default2 = Checkbox;
2122
2104
 
2123
2105
  // src/radio-group/radio-group.ts
@@ -2133,7 +2115,6 @@ var RadioGroup = class _RadioGroup extends aeico_field_default {
2133
2115
  _slotOptions = [];
2134
2116
  static _instanceCount = 0;
2135
2117
  _groupName;
2136
- static tagName = "radio-group";
2137
2118
  static props = {
2138
2119
  options: { type: Array },
2139
2120
  mode: { type: String },
@@ -2177,7 +2158,7 @@ var RadioGroup = class _RadioGroup extends aeico_field_default {
2177
2158
  );
2178
2159
  this.update();
2179
2160
  }
2180
- // Single handler for radio inputs handles both select and deselect.
2161
+ // Single handler for radio inputs - handles both select and deselect.
2181
2162
  // Only uses `click` (not `change`) because `change` fires before `click`;
2182
2163
  // if we set value in `change`, the `click` handler would see the updated
2183
2164
  // value and immediately deselect.
@@ -2287,25 +2268,27 @@ var RadioGroup = class _RadioGroup extends aeico_field_default {
2287
2268
  }
2288
2269
  }
2289
2270
  };
2290
- RadioGroup.register();
2271
+ RadioGroup.define("radio-group");
2291
2272
  var radio_group_default2 = RadioGroup;
2292
2273
 
2293
2274
  // src/radio-group/radio.ts
2294
2275
  var Radio = class extends aeico_component_default {
2295
- static tagName = "radio";
2296
- /** No shadow DOM — this element is a transparent data/content carrier. */
2276
+ /** No shadow DOM - this element is a transparent data/content carrier. */
2297
2277
  static useShadowDOM = false;
2298
2278
  static props = {
2299
2279
  value: { type: String },
2300
2280
  disabled: { type: Boolean }
2301
2281
  };
2302
2282
  };
2303
- Radio.register();
2283
+ Radio.define("radio");
2304
2284
  var radio_default = Radio;
2305
2285
 
2306
2286
  // src/switch/switch.ts
2307
2287
  import { html as html11, prop as prop6 } from "aeico";
2308
2288
 
2289
+ // src/utils.ts
2290
+ var SVG_NS = "http://www.w3.org/2000/svg";
2291
+
2309
2292
  // src/icon/icon.ts
2310
2293
  import { html as html10 } from "aeico";
2311
2294
 
@@ -2318,7 +2301,7 @@ var defaultViewBox = "0 0 24 24";
2318
2301
  // src/icon/registry.ts
2319
2302
  var IconRegistry = class {
2320
2303
  static _icons = /* @__PURE__ */ new Map();
2321
- /** Names registered via addBuiltIn can be overridden by user add() calls */
2304
+ /** Names registered via addBuiltIn - can be overridden by user add() calls */
2322
2305
  static _builtInKeys = /* @__PURE__ */ new Set();
2323
2306
  /** Register user icons. Always takes priority over built-in icons. */
2324
2307
  static add(icons) {
@@ -2370,7 +2353,6 @@ registry_default.addBuiltIn({
2370
2353
 
2371
2354
  // src/icon/icon.ts
2372
2355
  var Icon = class extends aeico_component_default {
2373
- static tagName = "icon";
2374
2356
  static props = {
2375
2357
  name: { type: String },
2376
2358
  size: { type: String },
@@ -2430,7 +2412,7 @@ var Icon = class extends aeico_component_default {
2430
2412
  });
2431
2413
  }
2432
2414
  };
2433
- Icon.register();
2415
+ Icon.define("icon");
2434
2416
  var icon_default2 = Icon;
2435
2417
 
2436
2418
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/switch.css
@@ -2539,7 +2521,6 @@ __decorateElement(_init6, 4, "icon", _icon_dec, Switch, _icon);
2539
2521
  __decorateElement(_init6, 4, "iconChecked", _iconChecked_dec, Switch, _iconChecked);
2540
2522
  __decorateElement(_init6, 4, "iconPlacement", _iconPlacement_dec, Switch, _iconPlacement);
2541
2523
  __decoratorMetadata(_init6, Switch);
2542
- __publicField(Switch, "tagName", "switch");
2543
2524
  __publicField(Switch, "styles", [
2544
2525
  variables_default,
2545
2526
  size_default,
@@ -2548,7 +2529,7 @@ __publicField(Switch, "styles", [
2548
2529
  action_button_default,
2549
2530
  switch_default
2550
2531
  ]);
2551
- Switch.register();
2532
+ Switch.define("switch");
2552
2533
  var switch_default2 = Switch;
2553
2534
 
2554
2535
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/breadcrumb.css
@@ -2622,9 +2603,8 @@ _color2 = new WeakMap();
2622
2603
  __decorateElement(_init7, 4, "separator", _separator_dec, Breadcrumb, _separator);
2623
2604
  __decorateElement(_init7, 4, "color", _color_dec2, Breadcrumb, _color2);
2624
2605
  __decoratorMetadata(_init7, Breadcrumb);
2625
- __publicField(Breadcrumb, "tagName", "breadcrumb");
2626
2606
  __publicField(Breadcrumb, "styles", [variables_default, color_default, breadcrumb_default]);
2627
- Breadcrumb.register();
2607
+ Breadcrumb.define("breadcrumb");
2628
2608
  var breadcrumb_default2 = Breadcrumb;
2629
2609
 
2630
2610
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/breadcrumb-item.css
@@ -2639,7 +2619,7 @@ var breadcrumb_item_default = `:host {
2639
2619
  white-space: nowrap;
2640
2620
  }
2641
2621
 
2642
- /* Separator \u2014 uses a fixed muted color that does NOT follow the breadcrumb's color prop */
2622
+ /* Separator - uses a fixed muted color that does NOT follow the breadcrumb's color prop */
2643
2623
  .sep {
2644
2624
  display: inline-flex;
2645
2625
  align-items: center;
@@ -2663,7 +2643,7 @@ var breadcrumb_item_default = `:host {
2663
2643
  color: var(--ae-color-text-muted);
2664
2644
  }
2665
2645
 
2666
- /* Current page \u2014 last item */
2646
+ /* Current page - last item */
2667
2647
  :host([aria-current="page"]) .label {
2668
2648
  color: var(--ae-color-text-main);
2669
2649
  font-weight: 500;
@@ -2721,9 +2701,8 @@ _init8 = __decoratorStart(_a8);
2721
2701
  _href = new WeakMap();
2722
2702
  __decorateElement(_init8, 4, "href", _href_dec, BreadcrumbItem, _href);
2723
2703
  __decoratorMetadata(_init8, BreadcrumbItem);
2724
- __publicField(BreadcrumbItem, "tagName", "breadcrumb-item");
2725
2704
  __publicField(BreadcrumbItem, "styles", [variables_default, breadcrumb_item_default]);
2726
- BreadcrumbItem.register();
2705
+ BreadcrumbItem.define("breadcrumb-item");
2727
2706
  var breadcrumb_item_default2 = BreadcrumbItem;
2728
2707
 
2729
2708
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/button.css
@@ -2845,7 +2824,6 @@ button:disabled {
2845
2824
  background: var(--ae-color-subtle-hover);
2846
2825
  }
2847
2826
 
2848
- /* Icon-only: single ae-icon child \u2192 square compact layout */
2849
2827
  :host([icon-only]) {
2850
2828
  display: inline-flex;
2851
2829
  }
@@ -3024,7 +3002,7 @@ __decorateElement(_init9, 5, "active", _active_dec, Button);
3024
3002
  __decorateElement(_init9, 5, "block", _block_dec, Button);
3025
3003
  __decoratorMetadata(_init9, Button);
3026
3004
  __publicField(Button, "styles", [variables_default, size_default, color_default, button_default]);
3027
- Button.register();
3005
+ Button.define("button");
3028
3006
  var button_default2 = Button;
3029
3007
 
3030
3008
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/copy-button.css
@@ -3277,7 +3255,7 @@ __decorateElement(_init10, 4, "trigger", _trigger_dec, Tooltip, _trigger);
3277
3255
  __decorateElement(_init10, 4, "open", _open_dec, Tooltip, _open);
3278
3256
  __decoratorMetadata(_init10, Tooltip);
3279
3257
  __publicField(Tooltip, "styles", [variables_default, tooltip_default]);
3280
- Tooltip.register();
3258
+ Tooltip.define("tooltip");
3281
3259
  var tooltip_default2 = Tooltip;
3282
3260
 
3283
3261
  // src/copy-button/copy-button.ts
@@ -3396,7 +3374,7 @@ __decorateElement(_init11, 4, "tooltipCopied", _tooltipCopied_dec, CopyButton, _
3396
3374
  __decorateElement(_init11, 4, "tooltipPlacement", _tooltipPlacement_dec, CopyButton, _tooltipPlacement);
3397
3375
  __decoratorMetadata(_init11, CopyButton);
3398
3376
  __publicField(CopyButton, "styles", [variables_default, size_default, color_default, copy_button_default]);
3399
- CopyButton.register();
3377
+ CopyButton.define("copy-button");
3400
3378
  var copy_button_default2 = CopyButton;
3401
3379
 
3402
3380
  // src/dropdown/dropdown.ts
@@ -3404,7 +3382,7 @@ import { html as html18 } from "aeico";
3404
3382
  import { prop as prop13 } from "aeico";
3405
3383
 
3406
3384
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/dropdown.css
3407
- var dropdown_default = ":host {\n display: inline-block;\n position: relative;\n\n --dropdown-z-index: 1000;\n --dropdown-bg: var(--ae-surface-overlay, #fff);\n --dropdown-border: 1px solid var(--ae-color-border, rgba(0, 0, 0, 0.12));\n --dropdown-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n --dropdown-min-width: 10rem;\n --dropdown-padding: 0.25rem 0;\n}\n\n.trigger-wrapper {\n display: flex;\n align-items: stretch;\n height: 100%;\n}\n\n/* Internal trigger rendered when `label` prop is set.\n Uses --dropdown-trigger-* variables. Context components (e.g. ae-navbar)\n map their own tokens to these variables via ::slotted(ae-dropdown). */\n.trigger-label {\n display: inline-flex;\n align-items: center;\n height: var(--dropdown-trigger-height, auto);\n padding: 0 var(--dropdown-trigger-padding-x, 0.75rem);\n color: var(--dropdown-trigger-color, inherit);\n background: var(--dropdown-trigger-bg, none);\n border: none;\n border-radius: var(--dropdown-trigger-radius, 0);\n -webkit-appearance: none;\n appearance: none;\n cursor: pointer;\n font: inherit;\n font-size: var(--dropdown-trigger-font-size, inherit);\n white-space: nowrap;\n transition: color 0.15s ease, background-color 0.15s ease;\n outline-offset: 2px;\n}\n\n.trigger-label:hover {\n color: var(--dropdown-trigger-hover-color, inherit);\n background-color: var(--dropdown-trigger-hover-bg, transparent);\n}\n\n:host([disabled]) .trigger-label {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Bootstrap-style CSS border caret \u2014 shadow DOM only, no global injection needed */\n.ae-dropdown-arrow {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.3em;\n vertical-align: 0.2em;\n flex-shrink: 0;\n}\n.ae-dropdown-arrow--bottom {\n border-top: 0.35em solid;\n border-right: 0.35em solid transparent;\n border-left: 0.35em solid transparent;\n}\n.ae-dropdown-arrow--top {\n border-bottom: 0.35em solid;\n border-right: 0.35em solid transparent;\n border-left: 0.35em solid transparent;\n}\n.ae-dropdown-arrow--right {\n border-left: 0.35em solid;\n border-top: 0.35em solid transparent;\n border-bottom: 0.35em solid transparent;\n}\n.ae-dropdown-arrow--left {\n border-right: 0.35em solid;\n border-top: 0.35em solid transparent;\n border-bottom: 0.35em solid transparent;\n}\n\n.panel {\n display: none;\n position: absolute;\n z-index: var(--dropdown-z-index);\n background: var(--dropdown-bg);\n border: var(--dropdown-border);\n border-radius: var(--ae-border-radius, var(--ae-radius-md));\n box-shadow: var(--dropdown-shadow);\n min-width: var(--dropdown-min-width);\n padding: var(--dropdown-padding);\n box-sizing: border-box;\n /* Prevent panel from being wider than viewport */\n max-width: calc(100vw - 16px);\n}\n\n.panel.open {\n display: block;\n}\n\n/* placement variants */\n.panel.placement-bottom-start {\n top: 100%;\n left: 0;\n margin-top: 4px;\n}\n\n.panel.placement-bottom-end {\n top: 100%;\n right: 0;\n margin-top: 4px;\n}\n\n.panel.placement-bottom {\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-top: 4px;\n}\n\n.panel.placement-top-start {\n bottom: 100%;\n left: 0;\n margin-bottom: 4px;\n}\n\n.panel.placement-top-end {\n bottom: 100%;\n right: 0;\n margin-bottom: 4px;\n}\n\n.panel.placement-top {\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-bottom: 4px;\n}\n\n/* right placements */\n.panel.placement-right-start {\n top: 0;\n left: 100%;\n margin-left: 4px;\n}\n\n.panel.placement-right-end {\n bottom: 0;\n left: 100%;\n margin-left: 4px;\n}\n\n.panel.placement-right {\n top: 50%;\n left: 100%;\n transform: translateY(-50%);\n margin-left: 4px;\n}\n\n/* left placements */\n.panel.placement-left-start {\n top: 0;\n right: 100%;\n margin-right: 4px;\n}\n\n.panel.placement-left-end {\n bottom: 0;\n right: 100%;\n margin-right: 4px;\n}\n\n.panel.placement-left {\n top: 50%;\n right: 100%;\n transform: translateY(-50%);\n margin-right: 4px;\n}\n";
3385
+ var dropdown_default = ":host {\n display: inline-block;\n position: relative;\n\n --dropdown-z-index: 1000;\n --dropdown-bg: var(--ae-surface-overlay, #fff);\n --dropdown-border: 1px solid var(--ae-color-border, rgba(0, 0, 0, 0.12));\n --dropdown-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n --dropdown-min-width: 10rem;\n --dropdown-padding: 0.25rem 0;\n}\n\n.trigger-wrapper {\n display: flex;\n align-items: stretch;\n height: 100%;\n}\n\n/* Internal trigger rendered when `label` prop is set.\n Uses --dropdown-trigger-* variables. Context components (e.g. ae-navbar)\n map their own tokens to these variables via ::slotted(ae-dropdown). */\n.trigger-label {\n display: inline-flex;\n align-items: center;\n height: var(--dropdown-trigger-height, auto);\n padding: 0 var(--dropdown-trigger-padding-x, 0.75rem);\n color: var(--dropdown-trigger-color, inherit);\n background: var(--dropdown-trigger-bg, none);\n border: none;\n border-radius: var(--dropdown-trigger-radius, 0);\n -webkit-appearance: none;\n appearance: none;\n cursor: pointer;\n font: inherit;\n font-size: var(--dropdown-trigger-font-size, inherit);\n white-space: nowrap;\n transition: color 0.15s ease, background-color 0.15s ease;\n outline-offset: 2px;\n}\n\n.trigger-label:hover {\n color: var(--dropdown-trigger-hover-color, inherit);\n background-color: var(--dropdown-trigger-hover-bg, transparent);\n}\n\n:host([disabled]) .trigger-label {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Bootstrap-style CSS border caret - shadow DOM only, no global injection needed */\n.ae-dropdown-arrow {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.3em;\n vertical-align: 0.2em;\n flex-shrink: 0;\n}\n.ae-dropdown-arrow--bottom {\n border-top: 0.35em solid;\n border-right: 0.35em solid transparent;\n border-left: 0.35em solid transparent;\n}\n.ae-dropdown-arrow--top {\n border-bottom: 0.35em solid;\n border-right: 0.35em solid transparent;\n border-left: 0.35em solid transparent;\n}\n.ae-dropdown-arrow--right {\n border-left: 0.35em solid;\n border-top: 0.35em solid transparent;\n border-bottom: 0.35em solid transparent;\n}\n.ae-dropdown-arrow--left {\n border-right: 0.35em solid;\n border-top: 0.35em solid transparent;\n border-bottom: 0.35em solid transparent;\n}\n\n.panel {\n display: none;\n position: absolute;\n z-index: var(--dropdown-z-index);\n background: var(--dropdown-bg);\n border: var(--dropdown-border);\n border-radius: var(--ae-border-radius, var(--ae-radius-md));\n box-shadow: var(--dropdown-shadow);\n min-width: var(--dropdown-min-width);\n padding: var(--dropdown-padding);\n box-sizing: border-box;\n /* Prevent panel from being wider than viewport */\n max-width: calc(100vw - 16px);\n}\n\n.panel.open {\n display: block;\n}\n\n/* placement variants */\n.panel.placement-bottom-start {\n top: 100%;\n left: 0;\n margin-top: 4px;\n}\n\n.panel.placement-bottom-end {\n top: 100%;\n right: 0;\n margin-top: 4px;\n}\n\n.panel.placement-bottom {\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-top: 4px;\n}\n\n.panel.placement-top-start {\n bottom: 100%;\n left: 0;\n margin-bottom: 4px;\n}\n\n.panel.placement-top-end {\n bottom: 100%;\n right: 0;\n margin-bottom: 4px;\n}\n\n.panel.placement-top {\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-bottom: 4px;\n}\n\n/* right placements */\n.panel.placement-right-start {\n top: 0;\n left: 100%;\n margin-left: 4px;\n}\n\n.panel.placement-right-end {\n bottom: 0;\n left: 100%;\n margin-left: 4px;\n}\n\n.panel.placement-right {\n top: 50%;\n left: 100%;\n transform: translateY(-50%);\n margin-left: 4px;\n}\n\n/* left placements */\n.panel.placement-left-start {\n top: 0;\n right: 100%;\n margin-right: 4px;\n}\n\n.panel.placement-left-end {\n bottom: 0;\n right: 100%;\n margin-right: 4px;\n}\n\n.panel.placement-left {\n top: 50%;\n right: 100%;\n transform: translateY(-50%);\n margin-right: 4px;\n}\n";
3408
3386
 
3409
3387
  // src/dropdown/dropdown-item.ts
3410
3388
  import { html as html17 } from "aeico";
@@ -3468,14 +3446,14 @@ var dropdown_item_default = `:host {
3468
3446
  pointer-events: none;
3469
3447
  }
3470
3448
 
3471
- /* Active item \u2014 current selection, current route, etc. */
3449
+ /* Active item - current selection, current route, etc. */
3472
3450
  :host([active]) .item {
3473
3451
  background: var(--dropdown-item-bg-selected, rgba(0, 0, 0, 0.06));
3474
3452
  color: var(--dropdown-item-color-active, var(--ae-color-primary, #0e639c));
3475
3453
  font-weight: 500;
3476
3454
  }
3477
3455
 
3478
- /* Checkbox mode \u2014 fixed-width indicator column */
3456
+ /* Checkbox mode - fixed-width indicator column */
3479
3457
  .check-indicator {
3480
3458
  display: inline-flex;
3481
3459
  align-items: center;
@@ -3586,9 +3564,8 @@ __decorateElement(_init12, 4, "type", _type_dec2, DropdownItem, _type);
3586
3564
  __decorateElement(_init12, 4, "checked", _checked_dec2, DropdownItem, _checked2);
3587
3565
  __decorateElement(_init12, 4, "active", _active_dec2, DropdownItem, _active);
3588
3566
  __decoratorMetadata(_init12, DropdownItem);
3589
- __publicField(DropdownItem, "tagName", "dropdown-item");
3590
3567
  __publicField(DropdownItem, "styles", [variables_default, dropdown_item_default]);
3591
- DropdownItem.register();
3568
+ DropdownItem.define("dropdown-item");
3592
3569
  var dropdown_item_default2 = DropdownItem;
3593
3570
 
3594
3571
  // src/dropdown/dropdown.ts
@@ -3604,7 +3581,7 @@ var Dropdown = class extends (_a13 = aeico_component_default, _placement_dec2 =
3604
3581
  __publicField(this, "_outsideClickHandler", null);
3605
3582
  // Called via declarative @click on the trigger-wrapper div inside the shadow DOM.
3606
3583
  // Events from slotted trigger content bubble through the shadow DOM slot path,
3607
- // so this fires for trigger clicks only not for panel item clicks.
3584
+ // so this fires for trigger clicks only - not for panel item clicks.
3608
3585
  __publicField(this, "_handleTriggerClick", () => {
3609
3586
  this.toggle();
3610
3587
  });
@@ -3722,9 +3699,8 @@ __decorateElement(_init13, 4, "closeOnSelect", _closeOnSelect_dec, Dropdown, _cl
3722
3699
  __decorateElement(_init13, 4, "disabled", _disabled_dec7, Dropdown, _disabled6);
3723
3700
  __decorateElement(_init13, 4, "label", _label_dec2, Dropdown, _label2);
3724
3701
  __decoratorMetadata(_init13, Dropdown);
3725
- __publicField(Dropdown, "tagName", "dropdown");
3726
3702
  __publicField(Dropdown, "styles", [variables_default, dropdown_default]);
3727
- Dropdown.register();
3703
+ Dropdown.define("dropdown");
3728
3704
  var dropdown_default2 = Dropdown;
3729
3705
 
3730
3706
  // src/dropdown/dropdown-button.ts
@@ -3798,7 +3774,6 @@ __decorateElement(_init14, 4, "disabled", _disabled_dec8, DropdownButton, _disab
3798
3774
  __decorateElement(_init14, 4, "placement", _placement_dec3, DropdownButton, _placement3);
3799
3775
  __decorateElement(_init14, 4, "closeOnSelect", _closeOnSelect_dec2, DropdownButton, _closeOnSelect2);
3800
3776
  __decoratorMetadata(_init14, DropdownButton);
3801
- __publicField(DropdownButton, "tagName", "dropdown-button");
3802
3777
  // ae-button and ae-dropdown each carry their own shadow DOM styles.
3803
3778
  // Only the host display is set here so button-group compact layout works.
3804
3779
  __publicField(DropdownButton, "styles", [
@@ -3809,7 +3784,7 @@ __publicField(DropdownButton, "styles", [
3809
3784
  ".caret--right { border-left: 0.35em solid; border-top: 0.35em solid transparent; border-bottom: 0.35em solid transparent; }",
3810
3785
  ".caret--left { border-right: 0.35em solid; border-top: 0.35em solid transparent; border-bottom: 0.35em solid transparent; }"
3811
3786
  ]);
3812
- DropdownButton.register();
3787
+ DropdownButton.define("dropdown-button");
3813
3788
  var dropdown_button_default = DropdownButton;
3814
3789
 
3815
3790
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/button-group.css
@@ -3883,7 +3858,7 @@ var ButtonGroup = class extends aeico_component_default {
3883
3858
  btn.style.removeProperty("--_btn-r-bl");
3884
3859
  }
3885
3860
  };
3886
- ButtonGroup.register();
3861
+ ButtonGroup.define("button-group");
3887
3862
  var button_group_default2 = ButtonGroup;
3888
3863
 
3889
3864
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/badge.css
@@ -3922,7 +3897,7 @@ __decorateElement(_init15, 4, "size", _size_dec5, Badge, _size4);
3922
3897
  __decorateElement(_init15, 4, "pill", _pill_dec2, Badge, _pill2);
3923
3898
  __decoratorMetadata(_init15, Badge);
3924
3899
  __publicField(Badge, "styles", [variables_default, size_default, color_default, badge_default]);
3925
- Badge.register();
3900
+ Badge.define("badge");
3926
3901
  var badge_default2 = Badge;
3927
3902
 
3928
3903
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/alert.css
@@ -3942,7 +3917,7 @@ var alert_default = `.alert {
3942
3917
  margin-bottom: 0;
3943
3918
  }
3944
3919
 
3945
- /* default color (no [color] attribute) \u2014 primary */
3920
+ /* default color (no [color] attribute) - primary */
3946
3921
  :host(:not([color])) {
3947
3922
  --ae-color-solid: var(--ae-color-primary);
3948
3923
  --ae-color-on-solid: var(--ae-color-text-main);
@@ -4079,7 +4054,7 @@ var Alert = class extends aeico_component_default {
4079
4054
  this.remove();
4080
4055
  };
4081
4056
  };
4082
- Alert.register();
4057
+ Alert.define("alert");
4083
4058
  var alert_default2 = Alert;
4084
4059
 
4085
4060
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/dialog.css
@@ -4194,7 +4169,7 @@ var Dialog = class extends aeico_component_default {
4194
4169
  return this._dialogEl?.open ?? false;
4195
4170
  }
4196
4171
  };
4197
- Dialog.register();
4172
+ Dialog.define("dialog");
4198
4173
  var dialog_default2 = Dialog;
4199
4174
 
4200
4175
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/drawer.css
@@ -4343,13 +4318,12 @@ __decorateElement(_init16, 4, "header", _header_dec, Drawer, _header);
4343
4318
  __decorateElement(_init16, 4, "closeOnOverlayClick", _closeOnOverlayClick_dec, Drawer, _closeOnOverlayClick);
4344
4319
  __decoratorMetadata(_init16, Drawer);
4345
4320
  __publicField(Drawer, "styles", [variables_default, drawer_default]);
4346
- Drawer.register();
4321
+ Drawer.define("drawer");
4347
4322
  var drawer_default2 = Drawer;
4348
4323
 
4349
4324
  // src/icon-button/icon-button.ts
4350
4325
  import { html as html25 } from "aeico";
4351
4326
  var IconButton = class extends aeico_component_default {
4352
- static tagName = "icon-button";
4353
4327
  static props = {
4354
4328
  icon: { type: String },
4355
4329
  size: { type: String },
@@ -4374,7 +4348,7 @@ var IconButton = class extends aeico_component_default {
4374
4348
  });
4375
4349
  }
4376
4350
  };
4377
- IconButton.register();
4351
+ IconButton.define("icon-button");
4378
4352
  var icon_button_default = IconButton;
4379
4353
 
4380
4354
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/tabs.css
@@ -4485,7 +4459,7 @@ var Tabs = class extends aeico_component_default {
4485
4459
  });
4486
4460
  }
4487
4461
  };
4488
- Tabs.register();
4462
+ Tabs.define("tabs");
4489
4463
  var tabs_default2 = Tabs;
4490
4464
 
4491
4465
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/tab.css
@@ -4532,7 +4506,7 @@ var Tab = class extends aeico_component_default {
4532
4506
  });
4533
4507
  }
4534
4508
  };
4535
- Tab.register();
4509
+ Tab.define("tab");
4536
4510
  var tab_default2 = Tab;
4537
4511
 
4538
4512
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/tab-panel.css
@@ -4548,11 +4522,11 @@ var TabPanel = class extends aeico_component_default {
4548
4522
  });
4549
4523
  }
4550
4524
  };
4551
- TabPanel.register();
4525
+ TabPanel.define("tab-panel");
4552
4526
  var tab_panel_default2 = TabPanel;
4553
4527
 
4554
4528
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/divider.css
4555
- var divider_default = ":host {\n display: block;\n width: 100%;\n height: var(--thickness, 1px);\n flex-shrink: 0;\n\n /* Override color.css default \u2014 divider uses the subtle border token when no [color] is set */\n --ae-color-border: var(--ae-border-default);\n\n background: var(--ae-color-border);\n}\n\n:host([vertical]) {\n display: inline-block;\n width: var(--thickness, 1px);\n height: 1lh;\n vertical-align: middle;\n}\n";
4529
+ var divider_default = ":host {\n display: block;\n width: 100%;\n height: var(--thickness, 1px);\n flex-shrink: 0;\n\n /* Override color.css default - divider uses the subtle border token when no [color] is set */\n --ae-color-border: var(--ae-border-default);\n\n background: var(--ae-color-border);\n}\n\n:host([vertical]) {\n display: inline-block;\n width: var(--thickness, 1px);\n height: 1lh;\n vertical-align: middle;\n}\n";
4556
4530
 
4557
4531
  // src/divider/divider.ts
4558
4532
  import { prop as prop17 } from "aeico";
@@ -4580,9 +4554,8 @@ __decorateElement(_init17, 4, "vertical", _vertical_dec, Divider, _vertical);
4580
4554
  __decorateElement(_init17, 4, "thickness", _thickness_dec, Divider, _thickness);
4581
4555
  __decorateElement(_init17, 4, "color", _color_dec7, Divider, _color6);
4582
4556
  __decoratorMetadata(_init17, Divider);
4583
- __publicField(Divider, "tagName", "divider");
4584
4557
  __publicField(Divider, "styles", [variables_default, color_default, divider_default]);
4585
- Divider.register();
4558
+ Divider.define("divider");
4586
4559
  var divider_default2 = Divider;
4587
4560
 
4588
4561
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/card.css
@@ -4628,9 +4601,8 @@ _variant5 = new WeakMap();
4628
4601
  __decorateElement(_init18, 4, "color", _color_dec8, Card, _color7);
4629
4602
  __decorateElement(_init18, 4, "variant", _variant_dec6, Card, _variant5);
4630
4603
  __decoratorMetadata(_init18, Card);
4631
- __publicField(Card, "tagName", "card");
4632
4604
  __publicField(Card, "styles", [variables_default, color_default, card_default]);
4633
- Card.register();
4605
+ Card.define("card");
4634
4606
  var card_default2 = Card;
4635
4607
 
4636
4608
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/navbar.css
@@ -4724,9 +4696,8 @@ __decorateElement(_init19, 4, "sticky", _sticky_dec, Navbar, _sticky);
4724
4696
  __decorateElement(_init19, 4, "appearance", _appearance_dec, Navbar, _appearance);
4725
4697
  __decorateElement(_init19, 4, "open", _open_dec3, Navbar, _open3);
4726
4698
  __decoratorMetadata(_init19, Navbar);
4727
- __publicField(Navbar, "tagName", "navbar");
4728
4699
  __publicField(Navbar, "styles", [variables_default, color_default, navbar_default]);
4729
- Navbar.register();
4700
+ Navbar.define("navbar");
4730
4701
  var navbar_default2 = Navbar;
4731
4702
 
4732
4703
  // src/spinner/spinner.ts
@@ -4781,9 +4752,8 @@ __decorateElement(_init20, 4, "color", _color_dec10, Spinner, _color9);
4781
4752
  __decorateElement(_init20, 4, "label", _label_dec4, Spinner, _label4);
4782
4753
  __decorateElement(_init20, 4, "speed", _speed_dec, Spinner, _speed);
4783
4754
  __decoratorMetadata(_init20, Spinner);
4784
- __publicField(Spinner, "tagName", "spinner");
4785
4755
  __publicField(Spinner, "styles", [variables_default, size_default, color_default, spinner_default]);
4786
- Spinner.register();
4756
+ Spinner.define("spinner");
4787
4757
  var spinner_default2 = Spinner;
4788
4758
 
4789
4759
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/detail.css
@@ -4882,9 +4852,8 @@ __decorateElement(_init21, 4, "color", _color_dec11, Detail, _color10);
4882
4852
  __decorateElement(_init21, 4, "disabled", _disabled_dec9, Detail, _disabled8);
4883
4853
  __decorateElement(_init21, 4, "iconPlacement", _iconPlacement_dec2, Detail, _iconPlacement2);
4884
4854
  __decoratorMetadata(_init21, Detail);
4885
- __publicField(Detail, "tagName", "detail");
4886
4855
  __publicField(Detail, "styles", [variables_default, color_default, detail_default]);
4887
- Detail.register();
4856
+ Detail.define("detail");
4888
4857
  var detail_default2 = Detail;
4889
4858
 
4890
4859
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/detail-group.css
@@ -4893,7 +4862,6 @@ var detail_group_default = ":host {\n display: block;\n}\n\n/* Raise hovered/fo
4893
4862
  // src/detail-group/detail-group.ts
4894
4863
  import { html as html33 } from "aeico";
4895
4864
  var DetailGroup = class extends aeico_component_default {
4896
- static tagName = "detail-group";
4897
4865
  static props = {
4898
4866
  multiple: { type: Boolean },
4899
4867
  variant: { type: String },
@@ -4943,7 +4911,7 @@ var DetailGroup = class extends aeico_component_default {
4943
4911
  });
4944
4912
  }
4945
4913
  };
4946
- DetailGroup.register();
4914
+ DetailGroup.define("detail-group");
4947
4915
  var detail_group_default2 = DetailGroup;
4948
4916
 
4949
4917
  // src/progress-bar/progress-bar.ts
@@ -4998,9 +4966,8 @@ __decorateElement(_init22, 4, "label", _label_dec5, ProgressBar, _label5);
4998
4966
  __decorateElement(_init22, 4, "color", _color_dec12, ProgressBar, _color11);
4999
4967
  __decorateElement(_init22, 4, "animated", _animated_dec, ProgressBar, _animated);
5000
4968
  __decoratorMetadata(_init22, ProgressBar);
5001
- __publicField(ProgressBar, "tagName", "progress-bar");
5002
4969
  __publicField(ProgressBar, "styles", [variables_default, color_default, progress_bar_default]);
5003
- ProgressBar.register();
4970
+ ProgressBar.define("progress-bar");
5004
4971
  var progress_bar_default2 = ProgressBar;
5005
4972
 
5006
4973
  // src/menu/menu.ts
@@ -5261,9 +5228,8 @@ __decorateElement(_init23, 4, "selected", _selected_dec2, MenuItem, _selected2);
5261
5228
  __decorateElement(_init23, 4, "open", _open_dec4, MenuItem, _open4);
5262
5229
  __decorateElement(_init23, 4, "iconPlacement", _iconPlacement_dec3, MenuItem, _iconPlacement3);
5263
5230
  __decoratorMetadata(_init23, MenuItem);
5264
- __publicField(MenuItem, "tagName", "menu-item");
5265
5231
  __publicField(MenuItem, "styles", [variables_default, menu_item_default]);
5266
- MenuItem.register();
5232
+ MenuItem.define("menu-item");
5267
5233
  var menu_item_default2 = MenuItem;
5268
5234
 
5269
5235
  // src/menu/menu.ts
@@ -5318,9 +5284,8 @@ __decorateElement(_init24, 4, "trigger", _trigger_dec2, Menu, _trigger2);
5318
5284
  __decorateElement(_init24, 4, "selectedKey", _selectedKey_dec, Menu, _selectedKey);
5319
5285
  __decorateElement(_init24, 4, "wrapText", _wrapText_dec, Menu, _wrapText);
5320
5286
  __decoratorMetadata(_init24, Menu);
5321
- __publicField(Menu, "tagName", "menu");
5322
5287
  __publicField(Menu, "styles", [variables_default, menu_default]);
5323
- Menu.register();
5288
+ Menu.define("menu");
5324
5289
  var menu_default2 = Menu;
5325
5290
 
5326
5291
  // src/pagination/pagination.ts
@@ -5749,9 +5714,8 @@ __decorateElement(_init25, 4, "simple", _simple_dec, Pagination, _simple);
5749
5714
  __decorateElement(_init25, 4, "showFirstLast", _showFirstLast_dec, Pagination, _showFirstLast);
5750
5715
  __decorateElement(_init25, 4, "variant", _variant_dec9, Pagination, _variant8);
5751
5716
  __decoratorMetadata(_init25, Pagination);
5752
- __publicField(Pagination, "tagName", "pagination");
5753
5717
  __publicField(Pagination, "styles", [variables_default, size_default, pagination_default]);
5754
- Pagination.register();
5718
+ Pagination.define("pagination");
5755
5719
  var pagination_default2 = Pagination;
5756
5720
 
5757
5721
  // src/tree/tree.ts
@@ -5963,9 +5927,8 @@ __decorateElement(_init26, 4, "selected", _selected_dec3, TreeItem, _selected3);
5963
5927
  __decorateElement(_init26, 4, "checked", _checked_dec3, TreeItem, _checked3);
5964
5928
  __decorateElement(_init26, 4, "indeterminate", _indeterminate_dec, TreeItem, _indeterminate);
5965
5929
  __decoratorMetadata(_init26, TreeItem);
5966
- __publicField(TreeItem, "tagName", "tree-item");
5967
5930
  __publicField(TreeItem, "styles", [variables_default, tree_item_default]);
5968
- TreeItem.register();
5931
+ TreeItem.define("tree-item");
5969
5932
  var tree_item_default2 = TreeItem;
5970
5933
 
5971
5934
  // src/tree/tree.ts
@@ -6136,9 +6099,8 @@ __decorateElement(_init27, 4, "defaultExpandAll", _defaultExpandAll_dec, Tree, _
6136
6099
  __decorateElement(_init27, 4, "selectedKey", _selectedKey_dec2, Tree, _selectedKey2);
6137
6100
  __decorateElement(_init27, 4, "icon", _icon_dec3, Tree, _icon3);
6138
6101
  __decoratorMetadata(_init27, Tree);
6139
- __publicField(Tree, "tagName", "tree");
6140
6102
  __publicField(Tree, "styles", [variables_default, tree_default]);
6141
- Tree.register();
6103
+ Tree.define("tree");
6142
6104
  var tree_default2 = Tree;
6143
6105
  export {
6144
6106
  alert_default2 as Alert,