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.cjs CHANGED
@@ -159,7 +159,7 @@ var require_variables = __commonJS({
159
159
  --ae-cyan-800: color-mix(in srgb, var(--ae-cyan) 40%, black);
160
160
  --ae-cyan-900: color-mix(in srgb, var(--ae-cyan) 20%, black);
161
161
 
162
- /* Gray (neutral \u2014 base #6e6e6e) */
162
+ /* Gray (neutral - base #6e6e6e) */
163
163
  --ae-gray-100: color-mix(in srgb, var(--ae-gray) 20%, white);
164
164
  --ae-gray-200: color-mix(in srgb, var(--ae-gray) 40%, white);
165
165
  --ae-gray-300: color-mix(in srgb, var(--ae-gray) 60%, white);
@@ -170,7 +170,7 @@ var require_variables = __commonJS({
170
170
  --ae-gray-800: color-mix(in srgb, var(--ae-gray) 40%, black);
171
171
  --ae-gray-900: color-mix(in srgb, var(--ae-gray) 20%, black);
172
172
 
173
- /* Slate (blue-gray \u2014 base #64748b, used for 'secondary') */
173
+ /* Slate (blue-gray - base #64748b, used for 'secondary') */
174
174
  --ae-slate-100: color-mix(in srgb, var(--ae-slate) 20%, white);
175
175
  --ae-slate-200: color-mix(in srgb, var(--ae-slate) 40%, white);
176
176
  --ae-slate-300: color-mix(in srgb, var(--ae-slate) 60%, white);
@@ -206,7 +206,7 @@ var require_variables = __commonJS({
206
206
 
207
207
  :root,
208
208
  :host {
209
- /* Hover / active mix (light default \u2014 overridden in \xA7 6 dark) */
209
+ /* Hover / active mix (light default - overridden in \xA7 6 dark) */
210
210
  --ae-color-mix-hover: black 10%;
211
211
  --ae-color-mix-active: black 20%;
212
212
 
@@ -240,7 +240,7 @@ var require_variables = __commonJS({
240
240
  --ae-color-info-active: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-active));
241
241
  --ae-color-info-disabled: color-mix(in srgb, var(--ae-cyan) 50%, var(--ae-gray-500));
242
242
 
243
- /* Secondary (Slate) \u2014 base differs per theme, overridden in \xA7 6 dark */
243
+ /* Secondary (Slate) - base differs per theme, overridden in \xA7 6 dark */
244
244
  --ae-color-secondary: var(--ae-slate-500);
245
245
  --ae-color-secondary-hover: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-hover));
246
246
  --ae-color-secondary-active: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-active));
@@ -256,7 +256,7 @@ var require_variables = __commonJS({
256
256
  :host {
257
257
  color-scheme: light;
258
258
 
259
- /* Gray UI aliases \u2014 lighter palette steps for elements on white background */
259
+ /* Gray UI aliases - lighter palette steps for elements on white background */
260
260
  --ae-color-gray-dark: var(--ae-gray-400);
261
261
  --ae-color-gray: var(--ae-gray-300);
262
262
  --ae-color-gray-light: var(--ae-gray-200);
@@ -288,7 +288,7 @@ var require_variables = __commonJS({
288
288
  --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.30);
289
289
  --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.15);
290
290
 
291
- /* Subtle intent tokens \u2014 light context */
291
+ /* Subtle intent tokens - light context */
292
292
  --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.08);
293
293
  --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.40);
294
294
  --ae-color-primary-text-emphasis: var(--ae-blue-700);
@@ -319,7 +319,7 @@ var require_variables = __commonJS({
319
319
  --ae-color-dark-bg-subtle: var(--ae-dark-100); /* opaque on white: ~#d6d8d9 */
320
320
  --ae-color-dark-border-subtle: var(--ae-dark-300); /* opaque on white: ~#85898c */
321
321
 
322
- /* Component tokens \u2014 light defaults */
322
+ /* Component tokens - light defaults */
323
323
  --ae-action-btn-bg: var(--ae-gray-200);
324
324
  --ae-action-btn-bg-hover: var(--ae-color-primary);
325
325
  --ae-action-btn-color: var(--ae-gray-600);
@@ -354,14 +354,12 @@ var require_variables = __commonJS({
354
354
  --ae-size-3xs: round(calc(var(--ae-size-2xs) / 1.125), 1px); /* 10px */
355
355
  }
356
356
 
357
- /* Border-radius tokens \u2014 shared across all components */
357
+ /* Border-radius tokens - shared across all components */
358
358
  :root,
359
359
  :host {
360
360
  /**
361
361
  * Unified border-radius hook for all components.
362
362
  *
363
- * Not set by default \u2014 each component falls back to its own --ae-radius-*
364
- * token (e.g. button \u2192 sm, card \u2192 lg, input \u2192 xs).
365
363
  *
366
364
  * Usage:
367
365
  * :root { --ae-border-radius: 0; } // global: all components square
@@ -383,7 +381,7 @@ var require_variables = __commonJS({
383
381
  --ae-radius-circle: 50%;
384
382
  }
385
383
 
386
- /* Layout tokens \u2014 defined on :root so all light DOM elements can use them */
384
+ /* Layout tokens - defined on :root so all light DOM elements can use them */
387
385
  :root,
388
386
  :host {
389
387
  --container-max-width: 1280px;
@@ -396,18 +394,18 @@ var require_variables = __commonJS({
396
394
  :host-context([theme="dark"]) {
397
395
  color-scheme: dark;
398
396
 
399
- /* Hover / active \u2014 slightly gentler on dark backgrounds */
397
+ /* Hover / active - slightly gentler on dark backgrounds */
400
398
  --ae-color-mix-hover: black 8%;
401
399
  --ae-color-mix-active: black 16%;
402
400
 
403
- /* Gray UI aliases \u2014 darker palette steps for elements on dark background */
401
+ /* Gray UI aliases - darker palette steps for elements on dark background */
404
402
  --ae-color-gray-dark: var(--ae-gray-800);
405
403
  --ae-color-gray: var(--ae-gray-700);
406
404
  --ae-color-gray-light: var(--ae-gray-600);
407
405
  --ae-color-gray-lighter: var(--ae-gray-500);
408
406
  --ae-color-gray-lightest: var(--ae-gray-400);
409
407
 
410
- /* Secondary \u2014 deeper base on dark background */
408
+ /* Secondary - deeper base on dark background */
411
409
  --ae-color-secondary: var(--ae-slate-700);
412
410
  --ae-color-secondary-text: var(--ae-slate-300);
413
411
 
@@ -436,7 +434,7 @@ var require_variables = __commonJS({
436
434
  --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.25);
437
435
  --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.10);
438
436
 
439
- /* Subtle intent tokens \u2014 dark context (more alpha, lighter text-emphasis) */
437
+ /* Subtle intent tokens - dark context (more alpha, lighter text-emphasis) */
440
438
  --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.10);
441
439
  --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.30);
442
440
  --ae-color-primary-text-emphasis: var(--ae-blue-300);
@@ -467,7 +465,7 @@ var require_variables = __commonJS({
467
465
  --ae-color-dark-bg-subtle: rgb(from var(--ae-dark) r g b / 0.30);
468
466
  --ae-color-dark-border-subtle: rgb(from var(--ae-dark) r g b / 0.50);
469
467
 
470
- /* Component tokens \u2014 dark overrides */
468
+ /* Component tokens - dark overrides */
471
469
  --ae-action-btn-bg: var(--ae-color-gray);
472
470
  --ae-action-btn-bg-hover: color-mix(in srgb, var(--ae-blue) 25%, var(--ae-gray-800));
473
471
  --ae-action-btn-color: var(--ae-gray-400);
@@ -496,7 +494,7 @@ var require_field_label = __commonJS({
496
494
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/action-button.css
497
495
  var require_action_button = __commonJS({
498
496
  "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/action-button.css"(exports2, module2) {
499
- module2.exports = "/* 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";
497
+ module2.exports = "/* 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";
500
498
  }
501
499
  });
502
500
 
@@ -911,7 +909,7 @@ var require_breadcrumb_item = __commonJS({
911
909
  white-space: nowrap;
912
910
  }
913
911
 
914
- /* Separator \u2014 uses a fixed muted color that does NOT follow the breadcrumb's color prop */
912
+ /* Separator - uses a fixed muted color that does NOT follow the breadcrumb's color prop */
915
913
  .sep {
916
914
  display: inline-flex;
917
915
  align-items: center;
@@ -935,7 +933,7 @@ var require_breadcrumb_item = __commonJS({
935
933
  color: var(--ae-color-text-muted);
936
934
  }
937
935
 
938
- /* Current page \u2014 last item */
936
+ /* Current page - last item */
939
937
  :host([aria-current="page"]) .label {
940
938
  color: var(--ae-color-text-main);
941
939
  font-weight: 500;
@@ -1084,7 +1082,6 @@ button:disabled {
1084
1082
  background: var(--ae-color-subtle-hover);
1085
1083
  }
1086
1084
 
1087
- /* Icon-only: single ae-icon child \u2192 square compact layout */
1088
1085
  :host([icon-only]) {
1089
1086
  display: inline-flex;
1090
1087
  }
@@ -1291,7 +1288,7 @@ var require_tooltip = __commonJS({
1291
1288
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/dropdown.css
1292
1289
  var require_dropdown = __commonJS({
1293
1290
  "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/dropdown.css"(exports2, module2) {
1294
- module2.exports = ":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";
1291
+ module2.exports = ":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";
1295
1292
  }
1296
1293
  });
1297
1294
 
@@ -1356,14 +1353,14 @@ var require_dropdown_item = __commonJS({
1356
1353
  pointer-events: none;
1357
1354
  }
1358
1355
 
1359
- /* Active item \u2014 current selection, current route, etc. */
1356
+ /* Active item - current selection, current route, etc. */
1360
1357
  :host([active]) .item {
1361
1358
  background: var(--dropdown-item-bg-selected, rgba(0, 0, 0, 0.06));
1362
1359
  color: var(--dropdown-item-color-active, var(--ae-color-primary, #0e639c));
1363
1360
  font-weight: 500;
1364
1361
  }
1365
1362
 
1366
- /* Checkbox mode \u2014 fixed-width indicator column */
1363
+ /* Checkbox mode - fixed-width indicator column */
1367
1364
  .check-indicator {
1368
1365
  display: inline-flex;
1369
1366
  align-items: center;
@@ -1425,7 +1422,7 @@ var require_alert = __commonJS({
1425
1422
  margin-bottom: 0;
1426
1423
  }
1427
1424
 
1428
- /* default color (no [color] attribute) \u2014 primary */
1425
+ /* default color (no [color] attribute) - primary */
1429
1426
  :host(:not([color])) {
1430
1427
  --ae-color-solid: var(--ae-color-primary);
1431
1428
  --ae-color-on-solid: var(--ae-color-text-main);
@@ -1549,7 +1546,7 @@ var require_tab_panel = __commonJS({
1549
1546
  // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/divider.css
1550
1547
  var require_divider = __commonJS({
1551
1548
  "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/divider.css"(exports2, module2) {
1552
- module2.exports = ":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";
1549
+ module2.exports = ":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";
1553
1550
  }
1554
1551
  });
1555
1552
 
@@ -1887,20 +1884,12 @@ var import_aeico2 = require("aeico");
1887
1884
 
1888
1885
  // src/aeico-component.ts
1889
1886
  var import_aeico = require("aeico");
1890
-
1891
- // src/utils.ts
1892
- var SVG_NS = "http://www.w3.org/2000/svg";
1893
- function toKebab(str) {
1894
- const cleaned = str.replace(/^[_\d]+/, "");
1895
- return cleaned.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
1896
- }
1897
-
1898
- // src/aeico-component.ts
1899
1887
  var TAG_NAME_PREFIX = "ae";
1900
1888
  var AeicoComponent = class extends import_aeico.AeicoElement {
1901
- static register(name) {
1902
- const tagName = name || `${TAG_NAME_PREFIX}-${this.tagName || toKebab(this.name)}`;
1903
- super.register(tagName);
1889
+ static define(name) {
1890
+ const prefix = `${TAG_NAME_PREFIX}-`;
1891
+ const tagName = name.startsWith(prefix) ? name : `${prefix}${name}`;
1892
+ super.define(tagName);
1904
1893
  }
1905
1894
  };
1906
1895
  var aeico_component_default = AeicoComponent;
@@ -2055,7 +2044,7 @@ var AeicoField = class _AeicoField extends aeico_component_default {
2055
2044
  }
2056
2045
  }
2057
2046
  /**
2058
- * Watcher for error property syncs aria-invalid on the field element
2047
+ * Watcher for error property - syncs aria-invalid on the field element
2059
2048
  */
2060
2049
  onErrorChanged(newValue) {
2061
2050
  if (this.fieldElement) {
@@ -2199,7 +2188,6 @@ var import_action_button = __toESM(require_action_button(), 1);
2199
2188
  var import_text_input = __toESM(require_text_input(), 1);
2200
2189
  var TextInput = class extends aeico_field_default {
2201
2190
  fieldElement = null;
2202
- static tagName = "text-input";
2203
2191
  static props = {
2204
2192
  placeholder: { type: String },
2205
2193
  type: { type: String }
@@ -2236,7 +2224,7 @@ var TextInput = class extends aeico_field_default {
2236
2224
  }
2237
2225
  }
2238
2226
  };
2239
- TextInput.register();
2227
+ TextInput.define("text-input");
2240
2228
  var text_input_default = TextInput;
2241
2229
 
2242
2230
  // src/number-input/number-input.ts
@@ -2248,7 +2236,6 @@ var import_action_button2 = __toESM(require_action_button(), 1);
2248
2236
  var import_number_input = __toESM(require_number_input(), 1);
2249
2237
  var NumberInput = class extends aeico_field_default {
2250
2238
  fieldElement = null;
2251
- static tagName = "number-input";
2252
2239
  static props = {
2253
2240
  placeholder: { type: String },
2254
2241
  min: { type: Number },
@@ -2341,7 +2328,7 @@ var NumberInput = class extends aeico_field_default {
2341
2328
  return { value, oldValue, action };
2342
2329
  }
2343
2330
  };
2344
- NumberInput.register();
2331
+ NumberInput.define("number-input");
2345
2332
  var number_input_default = NumberInput;
2346
2333
 
2347
2334
  // src/textarea/textarea.ts
@@ -2432,9 +2419,8 @@ __decorateElement(_init, 4, "minlength", _minlength_dec, Textarea, _minlength);
2432
2419
  __decorateElement(_init, 4, "resize", _resize_dec, Textarea, _resize);
2433
2420
  __decorateElement(_init, 4, "autoResize", _autoResize_dec, Textarea, _autoResize);
2434
2421
  __decoratorMetadata(_init, Textarea);
2435
- __publicField(Textarea, "tagName", "textarea");
2436
2422
  __publicField(Textarea, "styles", [import_variables3.default, import_size3.default, import_field_label3.default, import_action_button3.default, import_textarea.default]);
2437
- Textarea.register();
2423
+ Textarea.define("textarea");
2438
2424
  var textarea_default = Textarea;
2439
2425
 
2440
2426
  // src/select/select.ts
@@ -2505,7 +2491,7 @@ __decorateElement(_init2, 4, "disabled", _disabled_dec, Tag, _disabled);
2505
2491
  __decorateElement(_init2, 4, "pill", _pill_dec, Tag, _pill);
2506
2492
  __decoratorMetadata(_init2, Tag);
2507
2493
  __publicField(Tag, "styles", [import_variables4.default, import_size4.default, import_color.default, import_tag.default]);
2508
- Tag.register();
2494
+ Tag.define("tag");
2509
2495
  var tag_default = Tag;
2510
2496
 
2511
2497
  // src/select/select.ts
@@ -2829,9 +2815,8 @@ __decorateElement(_init3, 4, "expandable", _expandable_dec, Select, _expandable)
2829
2815
  __decorateElement(_init3, 5, "value", _value_dec, Select);
2830
2816
  __decorateElement(_init3, 5, "defaultValue", _defaultValue_dec, Select);
2831
2817
  __decoratorMetadata(_init3, Select);
2832
- __publicField(Select, "tagName", "select");
2833
2818
  __publicField(Select, "styles", [import_variables5.default, import_size5.default, import_field_label4.default, import_action_button4.default, import_select.default]);
2834
- Select.register();
2819
+ Select.define("select");
2835
2820
  var select_default = Select;
2836
2821
 
2837
2822
  // src/select/select-option.ts
@@ -2878,9 +2863,8 @@ __decorateElement(_init4, 4, "label", _label_dec, SelectOption, _label);
2878
2863
  __decorateElement(_init4, 4, "disabled", _disabled_dec2, SelectOption, _disabled2);
2879
2864
  __decorateElement(_init4, 4, "selected", _selected_dec, SelectOption, _selected);
2880
2865
  __decoratorMetadata(_init4, SelectOption);
2881
- __publicField(SelectOption, "tagName", "select-option");
2882
2866
  __publicField(SelectOption, "styles", [import_variables6.default, import_select_option.default]);
2883
- SelectOption.register();
2867
+ SelectOption.define("select-option");
2884
2868
 
2885
2869
  // src/slider/slider.ts
2886
2870
  var import_aeico12 = require("aeico");
@@ -2894,7 +2878,6 @@ var import_aeico13 = require("aeico");
2894
2878
  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;
2895
2879
  var Slider = class extends (_a5 = aeico_field_default, _options_dec2 = [(0, import_aeico13.prop)({ type: Array })], _percentage_dec = [(0, import_aeico13.prop)({ type: Boolean })], _min_dec = [(0, import_aeico13.prop)({ type: Number })], _max_dec = [(0, import_aeico13.prop)({ type: Number })], _step_dec = [(0, import_aeico13.prop)({ type: Number })], _editable_dec = [(0, import_aeico13.prop)({ type: Boolean })], _tracked_dec = [(0, import_aeico13.prop)({ type: Boolean })], _marks_dec = [(0, import_aeico13.prop)({
2896
2880
  type: Array,
2897
- // bare attribute (<ae-slider marks>) → true; JSON array → MarkItem[]
2898
2881
  parser: (value) => {
2899
2882
  if (value === null) return void 0;
2900
2883
  if (value === "" || value === "true") return true;
@@ -3158,9 +3141,8 @@ __decorateElement(_init5, 4, "editable", _editable_dec, Slider, _editable);
3158
3141
  __decorateElement(_init5, 4, "tracked", _tracked_dec, Slider, _tracked);
3159
3142
  __decorateElement(_init5, 4, "marks", _marks_dec, Slider, _marks);
3160
3143
  __decoratorMetadata(_init5, Slider);
3161
- __publicField(Slider, "tagName", "slider");
3162
3144
  __publicField(Slider, "styles", [import_variables7.default, import_size6.default, import_color2.default, import_field_label5.default, import_action_button5.default, import_slider.default]);
3163
- Slider.register();
3145
+ Slider.define("slider");
3164
3146
  var slider_default = Slider;
3165
3147
 
3166
3148
  // src/checkbox/checkbox.ts
@@ -3173,7 +3155,6 @@ var import_action_button6 = __toESM(require_action_button(), 1);
3173
3155
  var import_checkbox = __toESM(require_checkbox(), 1);
3174
3156
  var Checkbox = class extends aeico_field_default {
3175
3157
  fieldElement = null;
3176
- static tagName = "checkbox";
3177
3158
  static props = {
3178
3159
  checked: { type: Boolean },
3179
3160
  defaultChecked: { type: Boolean },
@@ -3240,7 +3221,7 @@ var Checkbox = class extends aeico_field_default {
3240
3221
  });
3241
3222
  }
3242
3223
  };
3243
- Checkbox.register();
3224
+ Checkbox.define("checkbox");
3244
3225
  var checkbox_default = Checkbox;
3245
3226
 
3246
3227
  // src/radio-group/radio-group.ts
@@ -3257,7 +3238,6 @@ var RadioGroup = class _RadioGroup extends aeico_field_default {
3257
3238
  _slotOptions = [];
3258
3239
  static _instanceCount = 0;
3259
3240
  _groupName;
3260
- static tagName = "radio-group";
3261
3241
  static props = {
3262
3242
  options: { type: Array },
3263
3243
  mode: { type: String },
@@ -3301,7 +3281,7 @@ var RadioGroup = class _RadioGroup extends aeico_field_default {
3301
3281
  );
3302
3282
  this.update();
3303
3283
  }
3304
- // Single handler for radio inputs handles both select and deselect.
3284
+ // Single handler for radio inputs - handles both select and deselect.
3305
3285
  // Only uses `click` (not `change`) because `change` fires before `click`;
3306
3286
  // if we set value in `change`, the `click` handler would see the updated
3307
3287
  // value and immediately deselect.
@@ -3411,25 +3391,27 @@ var RadioGroup = class _RadioGroup extends aeico_field_default {
3411
3391
  }
3412
3392
  }
3413
3393
  };
3414
- RadioGroup.register();
3394
+ RadioGroup.define("radio-group");
3415
3395
  var radio_group_default = RadioGroup;
3416
3396
 
3417
3397
  // src/radio-group/radio.ts
3418
3398
  var Radio = class extends aeico_component_default {
3419
- static tagName = "radio";
3420
- /** No shadow DOM — this element is a transparent data/content carrier. */
3399
+ /** No shadow DOM - this element is a transparent data/content carrier. */
3421
3400
  static useShadowDOM = false;
3422
3401
  static props = {
3423
3402
  value: { type: String },
3424
3403
  disabled: { type: Boolean }
3425
3404
  };
3426
3405
  };
3427
- Radio.register();
3406
+ Radio.define("radio");
3428
3407
  var radio_default = Radio;
3429
3408
 
3430
3409
  // src/switch/switch.ts
3431
3410
  var import_aeico17 = require("aeico");
3432
3411
 
3412
+ // src/utils.ts
3413
+ var SVG_NS = "http://www.w3.org/2000/svg";
3414
+
3433
3415
  // src/icon/icon.ts
3434
3416
  var import_aeico16 = require("aeico");
3435
3417
  var import_variables10 = __toESM(require_variables(), 1);
@@ -3443,7 +3425,7 @@ var defaultViewBox = "0 0 24 24";
3443
3425
  // src/icon/registry.ts
3444
3426
  var IconRegistry = class {
3445
3427
  static _icons = /* @__PURE__ */ new Map();
3446
- /** Names registered via addBuiltIn can be overridden by user add() calls */
3428
+ /** Names registered via addBuiltIn - can be overridden by user add() calls */
3447
3429
  static _builtInKeys = /* @__PURE__ */ new Set();
3448
3430
  /** Register user icons. Always takes priority over built-in icons. */
3449
3431
  static add(icons) {
@@ -3495,7 +3477,6 @@ registry_default.addBuiltIn({
3495
3477
 
3496
3478
  // src/icon/icon.ts
3497
3479
  var Icon = class extends aeico_component_default {
3498
- static tagName = "icon";
3499
3480
  static props = {
3500
3481
  name: { type: String },
3501
3482
  size: { type: String },
@@ -3555,7 +3536,7 @@ var Icon = class extends aeico_component_default {
3555
3536
  });
3556
3537
  }
3557
3538
  };
3558
- Icon.register();
3539
+ Icon.define("icon");
3559
3540
  var icon_default = Icon;
3560
3541
 
3561
3542
  // src/switch/switch.ts
@@ -3667,7 +3648,6 @@ __decorateElement(_init6, 4, "icon", _icon_dec, Switch, _icon);
3667
3648
  __decorateElement(_init6, 4, "iconChecked", _iconChecked_dec, Switch, _iconChecked);
3668
3649
  __decorateElement(_init6, 4, "iconPlacement", _iconPlacement_dec, Switch, _iconPlacement);
3669
3650
  __decoratorMetadata(_init6, Switch);
3670
- __publicField(Switch, "tagName", "switch");
3671
3651
  __publicField(Switch, "styles", [
3672
3652
  import_variables11.default,
3673
3653
  import_size10.default,
@@ -3676,7 +3656,7 @@ __publicField(Switch, "styles", [
3676
3656
  import_action_button8.default,
3677
3657
  import_switch.default
3678
3658
  ]);
3679
- Switch.register();
3659
+ Switch.define("switch");
3680
3660
  var switch_default = Switch;
3681
3661
 
3682
3662
  // src/breadcrumb/breadcrumb.ts
@@ -3750,9 +3730,8 @@ _color2 = new WeakMap();
3750
3730
  __decorateElement(_init7, 4, "separator", _separator_dec, Breadcrumb, _separator);
3751
3731
  __decorateElement(_init7, 4, "color", _color_dec2, Breadcrumb, _color2);
3752
3732
  __decoratorMetadata(_init7, Breadcrumb);
3753
- __publicField(Breadcrumb, "tagName", "breadcrumb");
3754
3733
  __publicField(Breadcrumb, "styles", [import_variables12.default, import_color7.default, import_breadcrumb.default]);
3755
- Breadcrumb.register();
3734
+ Breadcrumb.define("breadcrumb");
3756
3735
  var breadcrumb_default = Breadcrumb;
3757
3736
 
3758
3737
  // src/breadcrumb/breadcrumb-item.ts
@@ -3789,9 +3768,8 @@ _init8 = __decoratorStart(_a8);
3789
3768
  _href = new WeakMap();
3790
3769
  __decorateElement(_init8, 4, "href", _href_dec, BreadcrumbItem, _href);
3791
3770
  __decoratorMetadata(_init8, BreadcrumbItem);
3792
- __publicField(BreadcrumbItem, "tagName", "breadcrumb-item");
3793
3771
  __publicField(BreadcrumbItem, "styles", [import_variables13.default, import_breadcrumb_item.default]);
3794
- BreadcrumbItem.register();
3772
+ BreadcrumbItem.define("breadcrumb-item");
3795
3773
  var breadcrumb_item_default = BreadcrumbItem;
3796
3774
 
3797
3775
  // src/button/button.ts
@@ -3891,7 +3869,7 @@ __decorateElement(_init9, 5, "active", _active_dec, Button);
3891
3869
  __decorateElement(_init9, 5, "block", _block_dec, Button);
3892
3870
  __decoratorMetadata(_init9, Button);
3893
3871
  __publicField(Button, "styles", [import_variables14.default, import_size11.default, import_color8.default, import_button.default]);
3894
- Button.register();
3872
+ Button.define("button");
3895
3873
  var button_default = Button;
3896
3874
 
3897
3875
  // src/copy-button/copy-button.ts
@@ -4042,7 +4020,7 @@ __decorateElement(_init10, 4, "trigger", _trigger_dec, Tooltip, _trigger);
4042
4020
  __decorateElement(_init10, 4, "open", _open_dec, Tooltip, _open);
4043
4021
  __decoratorMetadata(_init10, Tooltip);
4044
4022
  __publicField(Tooltip, "styles", [import_variables15.default, import_tooltip.default]);
4045
- Tooltip.register();
4023
+ Tooltip.define("tooltip");
4046
4024
  var tooltip_default = Tooltip;
4047
4025
 
4048
4026
  // src/copy-button/copy-button.ts
@@ -4161,7 +4139,7 @@ __decorateElement(_init11, 4, "tooltipCopied", _tooltipCopied_dec, CopyButton, _
4161
4139
  __decorateElement(_init11, 4, "tooltipPlacement", _tooltipPlacement_dec, CopyButton, _tooltipPlacement);
4162
4140
  __decoratorMetadata(_init11, CopyButton);
4163
4141
  __publicField(CopyButton, "styles", [import_variables16.default, import_size12.default, import_color9.default, import_copy_button.default]);
4164
- CopyButton.register();
4142
+ CopyButton.define("copy-button");
4165
4143
  var copy_button_default = CopyButton;
4166
4144
 
4167
4145
  // src/dropdown/dropdown.ts
@@ -4257,9 +4235,8 @@ __decorateElement(_init12, 4, "type", _type_dec2, DropdownItem, _type);
4257
4235
  __decorateElement(_init12, 4, "checked", _checked_dec2, DropdownItem, _checked2);
4258
4236
  __decorateElement(_init12, 4, "active", _active_dec2, DropdownItem, _active);
4259
4237
  __decoratorMetadata(_init12, DropdownItem);
4260
- __publicField(DropdownItem, "tagName", "dropdown-item");
4261
4238
  __publicField(DropdownItem, "styles", [import_variables17.default, import_dropdown_item.default]);
4262
- DropdownItem.register();
4239
+ DropdownItem.define("dropdown-item");
4263
4240
  var dropdown_item_default = DropdownItem;
4264
4241
 
4265
4242
  // src/dropdown/dropdown.ts
@@ -4275,7 +4252,7 @@ var Dropdown = class extends (_a13 = aeico_component_default, _placement_dec2 =
4275
4252
  __publicField(this, "_outsideClickHandler", null);
4276
4253
  // Called via declarative @click on the trigger-wrapper div inside the shadow DOM.
4277
4254
  // Events from slotted trigger content bubble through the shadow DOM slot path,
4278
- // so this fires for trigger clicks only not for panel item clicks.
4255
+ // so this fires for trigger clicks only - not for panel item clicks.
4279
4256
  __publicField(this, "_handleTriggerClick", () => {
4280
4257
  this.toggle();
4281
4258
  });
@@ -4393,9 +4370,8 @@ __decorateElement(_init13, 4, "closeOnSelect", _closeOnSelect_dec, Dropdown, _cl
4393
4370
  __decorateElement(_init13, 4, "disabled", _disabled_dec7, Dropdown, _disabled6);
4394
4371
  __decorateElement(_init13, 4, "label", _label_dec2, Dropdown, _label2);
4395
4372
  __decoratorMetadata(_init13, Dropdown);
4396
- __publicField(Dropdown, "tagName", "dropdown");
4397
4373
  __publicField(Dropdown, "styles", [import_variables18.default, import_dropdown.default]);
4398
- Dropdown.register();
4374
+ Dropdown.define("dropdown");
4399
4375
  var dropdown_default = Dropdown;
4400
4376
 
4401
4377
  // src/dropdown/dropdown-button.ts
@@ -4469,7 +4445,6 @@ __decorateElement(_init14, 4, "disabled", _disabled_dec8, DropdownButton, _disab
4469
4445
  __decorateElement(_init14, 4, "placement", _placement_dec3, DropdownButton, _placement3);
4470
4446
  __decorateElement(_init14, 4, "closeOnSelect", _closeOnSelect_dec2, DropdownButton, _closeOnSelect2);
4471
4447
  __decoratorMetadata(_init14, DropdownButton);
4472
- __publicField(DropdownButton, "tagName", "dropdown-button");
4473
4448
  // ae-button and ae-dropdown each carry their own shadow DOM styles.
4474
4449
  // Only the host display is set here so button-group compact layout works.
4475
4450
  __publicField(DropdownButton, "styles", [
@@ -4480,7 +4455,7 @@ __publicField(DropdownButton, "styles", [
4480
4455
  ".caret--right { border-left: 0.35em solid; border-top: 0.35em solid transparent; border-bottom: 0.35em solid transparent; }",
4481
4456
  ".caret--left { border-right: 0.35em solid; border-top: 0.35em solid transparent; border-bottom: 0.35em solid transparent; }"
4482
4457
  ]);
4483
- DropdownButton.register();
4458
+ DropdownButton.define("dropdown-button");
4484
4459
  var dropdown_button_default = DropdownButton;
4485
4460
 
4486
4461
  // src/button-group/button-group.ts
@@ -4553,7 +4528,7 @@ var ButtonGroup = class extends aeico_component_default {
4553
4528
  btn.style.removeProperty("--_btn-r-bl");
4554
4529
  }
4555
4530
  };
4556
- ButtonGroup.register();
4531
+ ButtonGroup.define("button-group");
4557
4532
  var button_group_default = ButtonGroup;
4558
4533
 
4559
4534
  // src/badge/badge.ts
@@ -4593,7 +4568,7 @@ __decorateElement(_init15, 4, "size", _size_dec5, Badge, _size4);
4593
4568
  __decorateElement(_init15, 4, "pill", _pill_dec2, Badge, _pill2);
4594
4569
  __decoratorMetadata(_init15, Badge);
4595
4570
  __publicField(Badge, "styles", [import_variables20.default, import_size13.default, import_color10.default, import_badge.default]);
4596
- Badge.register();
4571
+ Badge.define("badge");
4597
4572
  var badge_default = Badge;
4598
4573
 
4599
4574
  // src/alert/alert.ts
@@ -4652,7 +4627,7 @@ var Alert = class extends aeico_component_default {
4652
4627
  this.remove();
4653
4628
  };
4654
4629
  };
4655
- Alert.register();
4630
+ Alert.define("alert");
4656
4631
  var alert_default = Alert;
4657
4632
 
4658
4633
  // src/dialog/dialog.ts
@@ -4766,7 +4741,7 @@ var Dialog = class extends aeico_component_default {
4766
4741
  return this._dialogEl?.open ?? false;
4767
4742
  }
4768
4743
  };
4769
- Dialog.register();
4744
+ Dialog.define("dialog");
4770
4745
  var dialog_default = Dialog;
4771
4746
 
4772
4747
  // src/drawer/drawer.ts
@@ -4914,13 +4889,12 @@ __decorateElement(_init16, 4, "header", _header_dec, Drawer, _header);
4914
4889
  __decorateElement(_init16, 4, "closeOnOverlayClick", _closeOnOverlayClick_dec, Drawer, _closeOnOverlayClick);
4915
4890
  __decoratorMetadata(_init16, Drawer);
4916
4891
  __publicField(Drawer, "styles", [import_variables23.default, import_drawer.default]);
4917
- Drawer.register();
4892
+ Drawer.define("drawer");
4918
4893
  var drawer_default = Drawer;
4919
4894
 
4920
4895
  // src/icon-button/icon-button.ts
4921
4896
  var import_aeico39 = require("aeico");
4922
4897
  var IconButton = class extends aeico_component_default {
4923
- static tagName = "icon-button";
4924
4898
  static props = {
4925
4899
  icon: { type: String },
4926
4900
  size: { type: String },
@@ -4945,7 +4919,7 @@ var IconButton = class extends aeico_component_default {
4945
4919
  });
4946
4920
  }
4947
4921
  };
4948
- IconButton.register();
4922
+ IconButton.define("icon-button");
4949
4923
  var icon_button_default = IconButton;
4950
4924
 
4951
4925
  // src/tabs/tabs.ts
@@ -5055,7 +5029,7 @@ var Tabs = class extends aeico_component_default {
5055
5029
  });
5056
5030
  }
5057
5031
  };
5058
- Tabs.register();
5032
+ Tabs.define("tabs");
5059
5033
  var tabs_default = Tabs;
5060
5034
 
5061
5035
  // src/tabs/tab.ts
@@ -5100,7 +5074,7 @@ var Tab = class extends aeico_component_default {
5100
5074
  });
5101
5075
  }
5102
5076
  };
5103
- Tab.register();
5077
+ Tab.define("tab");
5104
5078
  var tab_default = Tab;
5105
5079
 
5106
5080
  // src/tabs/tab-panel.ts
@@ -5114,7 +5088,7 @@ var TabPanel = class extends aeico_component_default {
5114
5088
  });
5115
5089
  }
5116
5090
  };
5117
- TabPanel.register();
5091
+ TabPanel.define("tab-panel");
5118
5092
  var tab_panel_default = TabPanel;
5119
5093
 
5120
5094
  // src/divider/divider.ts
@@ -5146,9 +5120,8 @@ __decorateElement(_init17, 4, "vertical", _vertical_dec, Divider, _vertical);
5146
5120
  __decorateElement(_init17, 4, "thickness", _thickness_dec, Divider, _thickness);
5147
5121
  __decorateElement(_init17, 4, "color", _color_dec7, Divider, _color6);
5148
5122
  __decoratorMetadata(_init17, Divider);
5149
- __publicField(Divider, "tagName", "divider");
5150
5123
  __publicField(Divider, "styles", [import_variables25.default, import_color12.default, import_divider.default]);
5151
- Divider.register();
5124
+ Divider.define("divider");
5152
5125
  var divider_default = Divider;
5153
5126
 
5154
5127
  // src/card/card.ts
@@ -5194,9 +5167,8 @@ _variant5 = new WeakMap();
5194
5167
  __decorateElement(_init18, 4, "color", _color_dec8, Card, _color7);
5195
5168
  __decorateElement(_init18, 4, "variant", _variant_dec6, Card, _variant5);
5196
5169
  __decoratorMetadata(_init18, Card);
5197
- __publicField(Card, "tagName", "card");
5198
5170
  __publicField(Card, "styles", [import_variables26.default, import_color13.default, import_card.default]);
5199
- Card.register();
5171
+ Card.define("card");
5200
5172
  var card_default = Card;
5201
5173
 
5202
5174
  // src/navbar/navbar.ts
@@ -5290,9 +5262,8 @@ __decorateElement(_init19, 4, "sticky", _sticky_dec, Navbar, _sticky);
5290
5262
  __decorateElement(_init19, 4, "appearance", _appearance_dec, Navbar, _appearance);
5291
5263
  __decorateElement(_init19, 4, "open", _open_dec3, Navbar, _open3);
5292
5264
  __decoratorMetadata(_init19, Navbar);
5293
- __publicField(Navbar, "tagName", "navbar");
5294
5265
  __publicField(Navbar, "styles", [import_variables27.default, import_color14.default, import_navbar.default]);
5295
- Navbar.register();
5266
+ Navbar.define("navbar");
5296
5267
  var navbar_default = Navbar;
5297
5268
 
5298
5269
  // src/spinner/spinner.ts
@@ -5346,9 +5317,8 @@ __decorateElement(_init20, 4, "color", _color_dec10, Spinner, _color9);
5346
5317
  __decorateElement(_init20, 4, "label", _label_dec4, Spinner, _label4);
5347
5318
  __decorateElement(_init20, 4, "speed", _speed_dec, Spinner, _speed);
5348
5319
  __decoratorMetadata(_init20, Spinner);
5349
- __publicField(Spinner, "tagName", "spinner");
5350
5320
  __publicField(Spinner, "styles", [import_variables28.default, import_size14.default, import_color15.default, import_spinner.default]);
5351
- Spinner.register();
5321
+ Spinner.define("spinner");
5352
5322
  var spinner_default = Spinner;
5353
5323
 
5354
5324
  // src/detail/detail.ts
@@ -5447,9 +5417,8 @@ __decorateElement(_init21, 4, "color", _color_dec11, Detail, _color10);
5447
5417
  __decorateElement(_init21, 4, "disabled", _disabled_dec9, Detail, _disabled8);
5448
5418
  __decorateElement(_init21, 4, "iconPlacement", _iconPlacement_dec2, Detail, _iconPlacement2);
5449
5419
  __decoratorMetadata(_init21, Detail);
5450
- __publicField(Detail, "tagName", "detail");
5451
5420
  __publicField(Detail, "styles", [import_variables29.default, import_color16.default, import_detail.default]);
5452
- Detail.register();
5421
+ Detail.define("detail");
5453
5422
  var detail_default = Detail;
5454
5423
 
5455
5424
  // src/detail-group/detail-group.ts
@@ -5457,7 +5426,6 @@ var import_variables30 = __toESM(require_variables(), 1);
5457
5426
  var import_detail_group = __toESM(require_detail_group(), 1);
5458
5427
  var import_aeico51 = require("aeico");
5459
5428
  var DetailGroup = class extends aeico_component_default {
5460
- static tagName = "detail-group";
5461
5429
  static props = {
5462
5430
  multiple: { type: Boolean },
5463
5431
  variant: { type: String },
@@ -5507,7 +5475,7 @@ var DetailGroup = class extends aeico_component_default {
5507
5475
  });
5508
5476
  }
5509
5477
  };
5510
- DetailGroup.register();
5478
+ DetailGroup.define("detail-group");
5511
5479
  var detail_group_default = DetailGroup;
5512
5480
 
5513
5481
  // src/progress-bar/progress-bar.ts
@@ -5560,9 +5528,8 @@ __decorateElement(_init22, 4, "label", _label_dec5, ProgressBar, _label5);
5560
5528
  __decorateElement(_init22, 4, "color", _color_dec12, ProgressBar, _color11);
5561
5529
  __decorateElement(_init22, 4, "animated", _animated_dec, ProgressBar, _animated);
5562
5530
  __decoratorMetadata(_init22, ProgressBar);
5563
- __publicField(ProgressBar, "tagName", "progress-bar");
5564
5531
  __publicField(ProgressBar, "styles", [import_variables31.default, import_color17.default, import_progress_bar.default]);
5565
- ProgressBar.register();
5532
+ ProgressBar.define("progress-bar");
5566
5533
  var progress_bar_default = ProgressBar;
5567
5534
 
5568
5535
  // src/menu/menu.ts
@@ -5819,9 +5786,8 @@ __decorateElement(_init23, 4, "selected", _selected_dec2, MenuItem, _selected2);
5819
5786
  __decorateElement(_init23, 4, "open", _open_dec4, MenuItem, _open4);
5820
5787
  __decorateElement(_init23, 4, "iconPlacement", _iconPlacement_dec3, MenuItem, _iconPlacement3);
5821
5788
  __decoratorMetadata(_init23, MenuItem);
5822
- __publicField(MenuItem, "tagName", "menu-item");
5823
5789
  __publicField(MenuItem, "styles", [import_variables32.default, import_menu_item.default]);
5824
- MenuItem.register();
5790
+ MenuItem.define("menu-item");
5825
5791
  var menu_item_default = MenuItem;
5826
5792
 
5827
5793
  // src/menu/menu.ts
@@ -5876,9 +5842,8 @@ __decorateElement(_init24, 4, "trigger", _trigger_dec2, Menu, _trigger2);
5876
5842
  __decorateElement(_init24, 4, "selectedKey", _selectedKey_dec, Menu, _selectedKey);
5877
5843
  __decorateElement(_init24, 4, "wrapText", _wrapText_dec, Menu, _wrapText);
5878
5844
  __decoratorMetadata(_init24, Menu);
5879
- __publicField(Menu, "tagName", "menu");
5880
5845
  __publicField(Menu, "styles", [import_variables33.default, import_menu.default]);
5881
- Menu.register();
5846
+ Menu.define("menu");
5882
5847
  var menu_default = Menu;
5883
5848
 
5884
5849
  // src/pagination/pagination.ts
@@ -6100,9 +6065,8 @@ __decorateElement(_init25, 4, "simple", _simple_dec, Pagination, _simple);
6100
6065
  __decorateElement(_init25, 4, "showFirstLast", _showFirstLast_dec, Pagination, _showFirstLast);
6101
6066
  __decorateElement(_init25, 4, "variant", _variant_dec9, Pagination, _variant8);
6102
6067
  __decoratorMetadata(_init25, Pagination);
6103
- __publicField(Pagination, "tagName", "pagination");
6104
6068
  __publicField(Pagination, "styles", [import_variables34.default, import_size15.default, import_pagination.default]);
6105
- Pagination.register();
6069
+ Pagination.define("pagination");
6106
6070
  var pagination_default = Pagination;
6107
6071
 
6108
6072
  // src/tree/tree.ts
@@ -6310,9 +6274,8 @@ __decorateElement(_init26, 4, "selected", _selected_dec3, TreeItem, _selected3);
6310
6274
  __decorateElement(_init26, 4, "checked", _checked_dec3, TreeItem, _checked3);
6311
6275
  __decorateElement(_init26, 4, "indeterminate", _indeterminate_dec, TreeItem, _indeterminate);
6312
6276
  __decoratorMetadata(_init26, TreeItem);
6313
- __publicField(TreeItem, "tagName", "tree-item");
6314
6277
  __publicField(TreeItem, "styles", [import_variables35.default, import_tree_item.default]);
6315
- TreeItem.register();
6278
+ TreeItem.define("tree-item");
6316
6279
  var tree_item_default = TreeItem;
6317
6280
 
6318
6281
  // src/tree/tree.ts
@@ -6483,9 +6446,8 @@ __decorateElement(_init27, 4, "defaultExpandAll", _defaultExpandAll_dec, Tree, _
6483
6446
  __decorateElement(_init27, 4, "selectedKey", _selectedKey_dec2, Tree, _selectedKey2);
6484
6447
  __decorateElement(_init27, 4, "icon", _icon_dec3, Tree, _icon3);
6485
6448
  __decoratorMetadata(_init27, Tree);
6486
- __publicField(Tree, "tagName", "tree");
6487
6449
  __publicField(Tree, "styles", [import_variables36.default, import_tree.default]);
6488
- Tree.register();
6450
+ Tree.define("tree");
6489
6451
  var tree_default = Tree;
6490
6452
  // Annotate the CommonJS export names for ESM import in node:
6491
6453
  0 && (module.exports = {