aeico-components 0.1.7 → 0.1.8

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 (349) hide show
  1. package/dist/alert.cjs +637 -4
  2. package/dist/alert.cjs.map +7 -1
  3. package/dist/alert.js +575 -3
  4. package/dist/alert.js.map +7 -1
  5. package/dist/badge.cjs +573 -4
  6. package/dist/badge.cjs.map +7 -1
  7. package/dist/badge.js +510 -3
  8. package/dist/badge.js.map +7 -1
  9. package/dist/breadcrumb.cjs +709 -5
  10. package/dist/breadcrumb.cjs.map +7 -1
  11. package/dist/breadcrumb.js +644 -4
  12. package/dist/breadcrumb.js.map +7 -1
  13. package/dist/button-group.cjs +546 -4
  14. package/dist/button-group.cjs.map +7 -1
  15. package/dist/button-group.js +489 -3
  16. package/dist/button-group.js.map +7 -1
  17. package/dist/button.cjs +834 -4
  18. package/dist/button.cjs.map +7 -1
  19. package/dist/button.js +771 -3
  20. package/dist/button.js.map +7 -1
  21. package/dist/card.cjs +574 -4
  22. package/dist/card.cjs.map +7 -1
  23. package/dist/card.js +516 -3
  24. package/dist/card.js.map +7 -1
  25. package/dist/checkbox.cjs +867 -4
  26. package/dist/checkbox.cjs.map +7 -1
  27. package/dist/checkbox.js +794 -3
  28. package/dist/checkbox.js.map +7 -1
  29. package/dist/copy-button.cjs +1046 -4
  30. package/dist/copy-button.cjs.map +7 -1
  31. package/dist/copy-button.js +969 -3
  32. package/dist/copy-button.js.map +7 -1
  33. package/dist/detail-group.cjs +531 -4
  34. package/dist/detail-group.cjs.map +7 -1
  35. package/dist/detail-group.js +474 -3
  36. package/dist/detail-group.js.map +7 -1
  37. package/dist/detail.cjs +627 -4
  38. package/dist/detail.cjs.map +7 -1
  39. package/dist/detail.js +569 -3
  40. package/dist/detail.js.map +7 -1
  41. package/dist/dialog.cjs +738 -4
  42. package/dist/dialog.cjs.map +7 -1
  43. package/dist/dialog.js +665 -3
  44. package/dist/dialog.js.map +7 -1
  45. package/dist/divider.cjs +558 -4
  46. package/dist/divider.cjs.map +7 -1
  47. package/dist/divider.js +502 -3
  48. package/dist/divider.js.map +7 -1
  49. package/dist/drawer.cjs +818 -4
  50. package/dist/drawer.cjs.map +7 -1
  51. package/dist/drawer.js +749 -3
  52. package/dist/drawer.js.map +7 -1
  53. package/dist/dropdown.cjs +1396 -5
  54. package/dist/dropdown.cjs.map +7 -1
  55. package/dist/dropdown.js +1316 -4
  56. package/dist/dropdown.js.map +7 -1
  57. package/dist/icon-button.cjs +999 -4
  58. package/dist/icon-button.cjs.map +7 -1
  59. package/dist/icon-button.js +930 -3
  60. package/dist/icon-button.js.map +7 -1
  61. package/dist/icon.cjs +613 -4
  62. package/dist/icon.cjs.map +7 -1
  63. package/dist/icon.js +547 -3
  64. package/dist/icon.js.map +7 -1
  65. package/dist/index.cjs +6532 -74
  66. package/dist/index.cjs.map +7 -1
  67. package/dist/index.js +6183 -73
  68. package/dist/index.js.map +7 -1
  69. package/dist/menu.cjs +841 -4
  70. package/dist/menu.cjs.map +7 -1
  71. package/dist/menu.js +785 -3
  72. package/dist/menu.js.map +7 -1
  73. package/dist/navbar.cjs +622 -4
  74. package/dist/navbar.cjs.map +7 -1
  75. package/dist/navbar.js +564 -3
  76. package/dist/navbar.js.map +7 -1
  77. package/dist/number-input.cjs +885 -4
  78. package/dist/number-input.cjs.map +7 -1
  79. package/dist/number-input.js +817 -3
  80. package/dist/number-input.js.map +7 -1
  81. package/dist/pagination.cjs +1099 -4
  82. package/dist/pagination.cjs.map +7 -1
  83. package/dist/pagination.js +1029 -3
  84. package/dist/pagination.js.map +7 -1
  85. package/dist/progress-bar.cjs +581 -4
  86. package/dist/progress-bar.cjs.map +7 -1
  87. package/dist/progress-bar.js +525 -3
  88. package/dist/progress-bar.js.map +7 -1
  89. package/dist/radio-group.cjs +973 -5
  90. package/dist/radio-group.cjs.map +7 -1
  91. package/dist/radio-group.js +899 -4
  92. package/dist/radio-group.js.map +7 -1
  93. package/dist/select.cjs +1242 -45
  94. package/dist/select.cjs.map +7 -1
  95. package/dist/select.js +1159 -44
  96. package/dist/select.js.map +7 -1
  97. package/dist/slider.cjs +1420 -4
  98. package/dist/slider.cjs.map +7 -1
  99. package/dist/slider.js +1351 -3
  100. package/dist/slider.js.map +7 -1
  101. package/dist/spinner.cjs +587 -4
  102. package/dist/spinner.cjs.map +7 -1
  103. package/dist/spinner.js +528 -3
  104. package/dist/spinner.js.map +7 -1
  105. package/dist/styles/layout.cjs +1 -0
  106. package/dist/styles/layout.js +1 -0
  107. package/dist/styles/radius.cjs +1 -0
  108. package/dist/styles/radius.js +1 -0
  109. package/dist/styles/variables.cjs +1 -0
  110. package/dist/styles/variables.js +1 -0
  111. package/dist/switch.cjs +1092 -4
  112. package/dist/switch.cjs.map +7 -1
  113. package/dist/switch.js +1013 -3
  114. package/dist/switch.js.map +7 -1
  115. package/dist/tabs.cjs +660 -6
  116. package/dist/tabs.cjs.map +7 -1
  117. package/dist/tabs.js +591 -5
  118. package/dist/tabs.js.map +7 -1
  119. package/dist/tag.cjs +591 -3
  120. package/dist/tag.cjs.map +7 -1
  121. package/dist/tag.js +532 -2
  122. package/dist/tag.js.map +7 -1
  123. package/dist/text-input.cjs +829 -4
  124. package/dist/text-input.cjs.map +7 -1
  125. package/dist/text-input.js +761 -3
  126. package/dist/text-input.js.map +7 -1
  127. package/dist/textarea.cjs +914 -3
  128. package/dist/textarea.cjs.map +7 -1
  129. package/dist/textarea.js +854 -2
  130. package/dist/textarea.js.map +7 -1
  131. package/dist/tooltip.cjs +764 -4
  132. package/dist/tooltip.cjs.map +7 -1
  133. package/dist/tooltip.js +711 -3
  134. package/dist/tooltip.js.map +7 -1
  135. package/dist/tree.cjs +1059 -4
  136. package/dist/tree.cjs.map +7 -1
  137. package/dist/tree.js +985 -3
  138. package/dist/tree.js.map +7 -1
  139. package/dist/types/dialog/dialog.d.ts +1 -0
  140. package/dist/types/drawer/drawer.d.ts +2 -0
  141. package/dist/types/icon/defines.d.ts +2 -0
  142. package/dist/types/menu/defines.d.ts +1 -0
  143. package/dist/types/menu/menu-item.d.ts +1 -0
  144. package/dist/types/menu/menu.d.ts +1 -0
  145. package/dist/types/styles/layout.d.ts +2 -0
  146. package/dist/types/styles/radius.d.ts +2 -0
  147. package/dist/types/styles/variables.d.ts +2 -0
  148. package/package.json +31 -7
  149. package/src/alert/alert.ts +3 -3
  150. package/src/badge/badge.ts +4 -4
  151. package/src/breadcrumb/breadcrumb-item.ts +2 -2
  152. package/src/breadcrumb/breadcrumb.ts +3 -3
  153. package/src/button/button.ts +4 -4
  154. package/src/button-group/button-group.ts +8 -9
  155. package/src/card/card.ts +3 -3
  156. package/src/checkbox/checkbox.ts +6 -6
  157. package/src/copy-button/copy-button.ts +4 -4
  158. package/src/detail/detail.ts +3 -3
  159. package/src/detail-group/detail-group.ts +2 -2
  160. package/src/dialog/dialog.ts +15 -14
  161. package/src/divider/divider.ts +3 -3
  162. package/src/drawer/drawer.ts +28 -11
  163. package/src/dropdown/dropdown-item.ts +2 -2
  164. package/src/dropdown/dropdown.ts +2 -2
  165. package/src/icon/defines.ts +2 -0
  166. package/src/icon/icon.ts +4 -4
  167. package/src/menu/defines.ts +1 -0
  168. package/src/menu/menu-item.ts +14 -4
  169. package/src/menu/menu.ts +5 -2
  170. package/src/navbar/navbar.ts +3 -3
  171. package/src/number-input/number-input.ts +5 -5
  172. package/src/pagination/pagination.ts +3 -3
  173. package/src/progress-bar/progress-bar.ts +3 -3
  174. package/src/radio-group/radio-group.ts +12 -8
  175. package/src/select/select-option.ts +2 -2
  176. package/src/select/select.ts +5 -5
  177. package/src/slider/slider.ts +6 -6
  178. package/src/spinner/spinner.ts +4 -4
  179. package/src/styles/components/button-group.css +2 -0
  180. package/src/styles/components/card.css +42 -18
  181. package/src/styles/components/checkbox.css +16 -5
  182. package/src/styles/components/dialog.css +1 -1
  183. package/src/styles/components/drawer.css +50 -9
  184. package/src/styles/components/field-label.css +1 -1
  185. package/src/styles/components/menu-item.css +6 -0
  186. package/src/styles/components/navbar.css +7 -28
  187. package/src/styles/components/radio-group.css +19 -0
  188. package/src/styles/components/slider.css +30 -5
  189. package/src/styles/components/switch.css +16 -2
  190. package/src/styles/layout.css +5 -2
  191. package/src/styles/radius.css +15 -0
  192. package/src/switch/switch.ts +6 -6
  193. package/src/tabs/tab-panel.ts +1 -1
  194. package/src/tabs/tab.ts +1 -1
  195. package/src/tabs/tabs.ts +2 -2
  196. package/src/tag/tag.ts +4 -4
  197. package/src/text-input/text-input.ts +5 -5
  198. package/src/textarea/textarea.ts +5 -5
  199. package/src/tooltip/tooltip.ts +2 -2
  200. package/src/tree/tree-item.ts +2 -2
  201. package/src/tree/tree.ts +2 -2
  202. package/dist/chunks/action-button.cjs +0 -296
  203. package/dist/chunks/action-button.cjs.map +0 -1
  204. package/dist/chunks/action-button.js +0 -297
  205. package/dist/chunks/action-button.js.map +0 -1
  206. package/dist/chunks/aeico-component.cjs +0 -17
  207. package/dist/chunks/aeico-component.cjs.map +0 -1
  208. package/dist/chunks/aeico-component.js +0 -18
  209. package/dist/chunks/aeico-component.js.map +0 -1
  210. package/dist/chunks/alert.cjs +0 -164
  211. package/dist/chunks/alert.cjs.map +0 -1
  212. package/dist/chunks/alert.js +0 -165
  213. package/dist/chunks/alert.js.map +0 -1
  214. package/dist/chunks/badge.cjs +0 -85
  215. package/dist/chunks/badge.cjs.map +0 -1
  216. package/dist/chunks/badge.js +0 -86
  217. package/dist/chunks/badge.js.map +0 -1
  218. package/dist/chunks/breadcrumb-item.cjs +0 -261
  219. package/dist/chunks/breadcrumb-item.cjs.map +0 -1
  220. package/dist/chunks/breadcrumb-item.js +0 -262
  221. package/dist/chunks/breadcrumb-item.js.map +0 -1
  222. package/dist/chunks/button-group.cjs +0 -79
  223. package/dist/chunks/button-group.cjs.map +0 -1
  224. package/dist/chunks/button-group.js +0 -80
  225. package/dist/chunks/button-group.js.map +0 -1
  226. package/dist/chunks/button.cjs +0 -337
  227. package/dist/chunks/button.cjs.map +0 -1
  228. package/dist/chunks/button.js +0 -338
  229. package/dist/chunks/button.js.map +0 -1
  230. package/dist/chunks/card.cjs +0 -93
  231. package/dist/chunks/card.cjs.map +0 -1
  232. package/dist/chunks/card.js +0 -94
  233. package/dist/chunks/card.js.map +0 -1
  234. package/dist/chunks/checkbox.cjs +0 -86
  235. package/dist/chunks/checkbox.cjs.map +0 -1
  236. package/dist/chunks/checkbox.js +0 -87
  237. package/dist/chunks/checkbox.js.map +0 -1
  238. package/dist/chunks/color.cjs +0 -4
  239. package/dist/chunks/color.cjs.map +0 -1
  240. package/dist/chunks/color.js +0 -5
  241. package/dist/chunks/color.js.map +0 -1
  242. package/dist/chunks/copy-button.cjs +0 -171
  243. package/dist/chunks/copy-button.cjs.map +0 -1
  244. package/dist/chunks/copy-button.js +0 -172
  245. package/dist/chunks/copy-button.js.map +0 -1
  246. package/dist/chunks/detail-group.cjs +0 -65
  247. package/dist/chunks/detail-group.cjs.map +0 -1
  248. package/dist/chunks/detail-group.js +0 -66
  249. package/dist/chunks/detail-group.js.map +0 -1
  250. package/dist/chunks/detail.cjs +0 -146
  251. package/dist/chunks/detail.cjs.map +0 -1
  252. package/dist/chunks/detail.js +0 -147
  253. package/dist/chunks/detail.js.map +0 -1
  254. package/dist/chunks/dialog.cjs +0 -117
  255. package/dist/chunks/dialog.cjs.map +0 -1
  256. package/dist/chunks/dialog.js +0 -118
  257. package/dist/chunks/dialog.js.map +0 -1
  258. package/dist/chunks/divider.cjs +0 -80
  259. package/dist/chunks/divider.cjs.map +0 -1
  260. package/dist/chunks/divider.js +0 -81
  261. package/dist/chunks/divider.js.map +0 -1
  262. package/dist/chunks/drawer.cjs +0 -180
  263. package/dist/chunks/drawer.cjs.map +0 -1
  264. package/dist/chunks/drawer.js +0 -181
  265. package/dist/chunks/drawer.js.map +0 -1
  266. package/dist/chunks/dropdown-button.cjs +0 -533
  267. package/dist/chunks/dropdown-button.cjs.map +0 -1
  268. package/dist/chunks/dropdown-button.js +0 -534
  269. package/dist/chunks/dropdown-button.js.map +0 -1
  270. package/dist/chunks/icon-button.cjs +0 -35
  271. package/dist/chunks/icon-button.cjs.map +0 -1
  272. package/dist/chunks/icon-button.js +0 -36
  273. package/dist/chunks/icon-button.js.map +0 -1
  274. package/dist/chunks/icon.cjs +0 -124
  275. package/dist/chunks/icon.cjs.map +0 -1
  276. package/dist/chunks/icon.js +0 -125
  277. package/dist/chunks/icon.js.map +0 -1
  278. package/dist/chunks/menu.cjs +0 -396
  279. package/dist/chunks/menu.cjs.map +0 -1
  280. package/dist/chunks/menu.js +0 -397
  281. package/dist/chunks/menu.js.map +0 -1
  282. package/dist/chunks/navbar.cjs +0 -142
  283. package/dist/chunks/navbar.cjs.map +0 -1
  284. package/dist/chunks/navbar.js +0 -143
  285. package/dist/chunks/navbar.js.map +0 -1
  286. package/dist/chunks/number-input.cjs +0 -110
  287. package/dist/chunks/number-input.cjs.map +0 -1
  288. package/dist/chunks/number-input.js +0 -111
  289. package/dist/chunks/number-input.js.map +0 -1
  290. package/dist/chunks/pagination.cjs +0 -475
  291. package/dist/chunks/pagination.cjs.map +0 -1
  292. package/dist/chunks/pagination.js +0 -476
  293. package/dist/chunks/pagination.js.map +0 -1
  294. package/dist/chunks/progress-bar.cjs +0 -101
  295. package/dist/chunks/progress-bar.cjs.map +0 -1
  296. package/dist/chunks/progress-bar.js +0 -102
  297. package/dist/chunks/progress-bar.js.map +0 -1
  298. package/dist/chunks/radio.cjs +0 -185
  299. package/dist/chunks/radio.cjs.map +0 -1
  300. package/dist/chunks/radio.js +0 -186
  301. package/dist/chunks/radio.js.map +0 -1
  302. package/dist/chunks/select.cjs +0 -381
  303. package/dist/chunks/select.cjs.map +0 -1
  304. package/dist/chunks/select.js +0 -382
  305. package/dist/chunks/select.js.map +0 -1
  306. package/dist/chunks/size.cjs +0 -4
  307. package/dist/chunks/size.cjs.map +0 -1
  308. package/dist/chunks/size.js +0 -5
  309. package/dist/chunks/size.js.map +0 -1
  310. package/dist/chunks/slider.cjs +0 -608
  311. package/dist/chunks/slider.cjs.map +0 -1
  312. package/dist/chunks/slider.js +0 -609
  313. package/dist/chunks/slider.js.map +0 -1
  314. package/dist/chunks/spinner.cjs +0 -102
  315. package/dist/chunks/spinner.cjs.map +0 -1
  316. package/dist/chunks/spinner.js +0 -103
  317. package/dist/chunks/spinner.js.map +0 -1
  318. package/dist/chunks/switch.cjs +0 -167
  319. package/dist/chunks/switch.cjs.map +0 -1
  320. package/dist/chunks/switch.js +0 -168
  321. package/dist/chunks/switch.js.map +0 -1
  322. package/dist/chunks/tab-panel.cjs +0 -174
  323. package/dist/chunks/tab-panel.cjs.map +0 -1
  324. package/dist/chunks/tab-panel.js +0 -175
  325. package/dist/chunks/tab-panel.js.map +0 -1
  326. package/dist/chunks/tag.cjs +0 -108
  327. package/dist/chunks/tag.cjs.map +0 -1
  328. package/dist/chunks/tag.js +0 -109
  329. package/dist/chunks/tag.js.map +0 -1
  330. package/dist/chunks/text-input.cjs +0 -54
  331. package/dist/chunks/text-input.cjs.map +0 -1
  332. package/dist/chunks/text-input.js +0 -55
  333. package/dist/chunks/text-input.js.map +0 -1
  334. package/dist/chunks/textarea.cjs +0 -137
  335. package/dist/chunks/textarea.cjs.map +0 -1
  336. package/dist/chunks/textarea.js +0 -138
  337. package/dist/chunks/textarea.js.map +0 -1
  338. package/dist/chunks/tooltip.cjs +0 -292
  339. package/dist/chunks/tooltip.cjs.map +0 -1
  340. package/dist/chunks/tooltip.js +0 -293
  341. package/dist/chunks/tooltip.js.map +0 -1
  342. package/dist/chunks/tree.cjs +0 -468
  343. package/dist/chunks/tree.cjs.map +0 -1
  344. package/dist/chunks/tree.js +0 -469
  345. package/dist/chunks/tree.js.map +0 -1
  346. package/dist/chunks/variables.cjs +0 -396
  347. package/dist/chunks/variables.cjs.map +0 -1
  348. package/dist/chunks/variables.js +0 -397
  349. package/dist/chunks/variables.js.map +0 -1
package/dist/menu.js CHANGED
@@ -1,6 +1,788 @@
1
- import { M, a } from "./chunks/menu.js";
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
5
+ var __typeError = (msg) => {
6
+ throw TypeError(msg);
7
+ };
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
10
+ var __decoratorStart = (base) => [, , , __create(base?.[__knownSymbol("metadata")] ?? null)];
11
+ var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
12
+ var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
13
+ var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
14
+ var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
15
+ var __runInitializers = (array, flags, self, value) => {
16
+ for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
17
+ return value;
18
+ };
19
+ var __decorateElement = (array, flags, name, decorators, target, extra) => {
20
+ var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
21
+ var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
22
+ var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
23
+ var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
24
+ return __privateGet(this, extra);
25
+ }, set [name](x) {
26
+ return __privateSet(this, extra, x);
27
+ } }, name));
28
+ k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
29
+ for (var i = decorators.length - 1; i >= 0; i--) {
30
+ ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
31
+ if (k) {
32
+ ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
33
+ if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
34
+ if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
35
+ }
36
+ it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
37
+ if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
38
+ else if (typeof it !== "object" || it === null) __typeError("Object expected");
39
+ else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
40
+ }
41
+ return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
42
+ };
43
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
44
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
45
+ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
46
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
47
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
48
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
49
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
50
+
51
+ // src/aeico-component.ts
52
+ import { AeicoElement } from "aeico";
53
+
54
+ // src/utils.ts
55
+ function toKebab(str) {
56
+ const cleaned = str.replace(/^[_\d]+/, "");
57
+ return cleaned.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
58
+ }
59
+
60
+ // src/aeico-component.ts
61
+ var TAG_NAME_PREFIX = "ae";
62
+ var AeicoComponent = class extends AeicoElement {
63
+ static register(name) {
64
+ const tagName = name || `${TAG_NAME_PREFIX}-${this.tagName || toKebab(this.name)}`;
65
+ super.register(tagName);
66
+ }
67
+ };
68
+ var aeico_component_default = AeicoComponent;
69
+
70
+ // src/menu/menu.ts
71
+ import { html as html2, prop as prop2 } from "aeico";
72
+
73
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/menu.css
74
+ var menu_default = ":host {\n display: block;\n}\n\n.menu-list {\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style: none;\n gap: 0;\n}\n\n.menu-list--horizontal {\n flex-direction: row;\n align-items: stretch;\n}\n";
75
+
76
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/variables.css
77
+ var variables_default = `:root,
78
+ :host {
79
+ --ae-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
80
+ "Noto Sans", "Liberation Sans", Arial, sans-serif,
81
+ "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
82
+ --ae-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
83
+ "Liberation Mono", "Courier New", monospace;
84
+ font-family: var(--ae-font-sans-serif);
85
+ --ae-blue: #0e639c;
86
+ --ae-green: #28a745;
87
+ --ae-red: #dc3545;
88
+ --ae-yellow: #ffc107;
89
+ --ae-cyan: #17a2b8;
90
+ --ae-gray: #6e6e6e;
91
+ --ae-slate: #64748b;
92
+ --ae-dark: #343a40;
93
+ --ae-light: #f8f9fa;
94
+ }
95
+
96
+ :root,
97
+ :host {
98
+ /* Blue */
99
+ --ae-blue-100: color-mix(in srgb, var(--ae-blue) 20%, white);
100
+ --ae-blue-200: color-mix(in srgb, var(--ae-blue) 40%, white);
101
+ --ae-blue-300: color-mix(in srgb, var(--ae-blue) 60%, white);
102
+ --ae-blue-400: color-mix(in srgb, var(--ae-blue) 80%, white);
103
+ --ae-blue-500: var(--ae-blue);
104
+ --ae-blue-600: color-mix(in srgb, var(--ae-blue) 80%, black);
105
+ --ae-blue-700: color-mix(in srgb, var(--ae-blue) 60%, black);
106
+ --ae-blue-800: color-mix(in srgb, var(--ae-blue) 40%, black);
107
+ --ae-blue-900: color-mix(in srgb, var(--ae-blue) 20%, black);
108
+
109
+ /* Green */
110
+ --ae-green-100: color-mix(in srgb, var(--ae-green) 20%, white);
111
+ --ae-green-200: color-mix(in srgb, var(--ae-green) 40%, white);
112
+ --ae-green-300: color-mix(in srgb, var(--ae-green) 60%, white);
113
+ --ae-green-400: color-mix(in srgb, var(--ae-green) 80%, white);
114
+ --ae-green-500: var(--ae-green);
115
+ --ae-green-600: color-mix(in srgb, var(--ae-green) 80%, black);
116
+ --ae-green-700: color-mix(in srgb, var(--ae-green) 60%, black);
117
+ --ae-green-800: color-mix(in srgb, var(--ae-green) 40%, black);
118
+ --ae-green-900: color-mix(in srgb, var(--ae-green) 20%, black);
119
+
120
+ /* Red */
121
+ --ae-red-100: color-mix(in srgb, var(--ae-red) 20%, white);
122
+ --ae-red-200: color-mix(in srgb, var(--ae-red) 40%, white);
123
+ --ae-red-300: color-mix(in srgb, var(--ae-red) 60%, white);
124
+ --ae-red-400: color-mix(in srgb, var(--ae-red) 80%, white);
125
+ --ae-red-500: var(--ae-red);
126
+ --ae-red-600: color-mix(in srgb, var(--ae-red) 80%, black);
127
+ --ae-red-700: color-mix(in srgb, var(--ae-red) 60%, black);
128
+ --ae-red-800: color-mix(in srgb, var(--ae-red) 40%, black);
129
+ --ae-red-900: color-mix(in srgb, var(--ae-red) 20%, black);
130
+
131
+ /* Yellow */
132
+ --ae-yellow-100: color-mix(in srgb, var(--ae-yellow) 20%, white);
133
+ --ae-yellow-200: color-mix(in srgb, var(--ae-yellow) 40%, white);
134
+ --ae-yellow-300: color-mix(in srgb, var(--ae-yellow) 60%, white);
135
+ --ae-yellow-400: color-mix(in srgb, var(--ae-yellow) 80%, white);
136
+ --ae-yellow-500: var(--ae-yellow);
137
+ --ae-yellow-600: color-mix(in srgb, var(--ae-yellow) 80%, black);
138
+ --ae-yellow-700: color-mix(in srgb, var(--ae-yellow) 60%, black);
139
+ --ae-yellow-800: color-mix(in srgb, var(--ae-yellow) 40%, black);
140
+ --ae-yellow-900: color-mix(in srgb, var(--ae-yellow) 20%, black);
141
+
142
+ /* Cyan */
143
+ --ae-cyan-100: color-mix(in srgb, var(--ae-cyan) 20%, white);
144
+ --ae-cyan-200: color-mix(in srgb, var(--ae-cyan) 40%, white);
145
+ --ae-cyan-300: color-mix(in srgb, var(--ae-cyan) 60%, white);
146
+ --ae-cyan-400: color-mix(in srgb, var(--ae-cyan) 80%, white);
147
+ --ae-cyan-500: var(--ae-cyan);
148
+ --ae-cyan-600: color-mix(in srgb, var(--ae-cyan) 80%, black);
149
+ --ae-cyan-700: color-mix(in srgb, var(--ae-cyan) 60%, black);
150
+ --ae-cyan-800: color-mix(in srgb, var(--ae-cyan) 40%, black);
151
+ --ae-cyan-900: color-mix(in srgb, var(--ae-cyan) 20%, black);
152
+
153
+ /* Gray (neutral \u2014 base #6e6e6e) */
154
+ --ae-gray-100: color-mix(in srgb, var(--ae-gray) 20%, white);
155
+ --ae-gray-200: color-mix(in srgb, var(--ae-gray) 40%, white);
156
+ --ae-gray-300: color-mix(in srgb, var(--ae-gray) 60%, white);
157
+ --ae-gray-400: color-mix(in srgb, var(--ae-gray) 80%, white);
158
+ --ae-gray-500: var(--ae-gray);
159
+ --ae-gray-600: color-mix(in srgb, var(--ae-gray) 80%, black);
160
+ --ae-gray-700: color-mix(in srgb, var(--ae-gray) 60%, black);
161
+ --ae-gray-800: color-mix(in srgb, var(--ae-gray) 40%, black);
162
+ --ae-gray-900: color-mix(in srgb, var(--ae-gray) 20%, black);
163
+
164
+ /* Slate (blue-gray \u2014 base #64748b, used for 'secondary') */
165
+ --ae-slate-100: color-mix(in srgb, var(--ae-slate) 20%, white);
166
+ --ae-slate-200: color-mix(in srgb, var(--ae-slate) 40%, white);
167
+ --ae-slate-300: color-mix(in srgb, var(--ae-slate) 60%, white);
168
+ --ae-slate-400: color-mix(in srgb, var(--ae-slate) 80%, white);
169
+ --ae-slate-500: var(--ae-slate);
170
+ --ae-slate-600: color-mix(in srgb, var(--ae-slate) 80%, black);
171
+ --ae-slate-700: color-mix(in srgb, var(--ae-slate) 60%, black);
172
+ --ae-slate-800: color-mix(in srgb, var(--ae-slate) 40%, black);
173
+ --ae-slate-900: color-mix(in srgb, var(--ae-slate) 20%, black);
174
+
175
+ /* Dark (base #343a40) */
176
+ --ae-dark-100: color-mix(in srgb, var(--ae-dark) 20%, white);
177
+ --ae-dark-200: color-mix(in srgb, var(--ae-dark) 40%, white);
178
+ --ae-dark-300: color-mix(in srgb, var(--ae-dark) 60%, white);
179
+ --ae-dark-400: color-mix(in srgb, var(--ae-dark) 80%, white);
180
+ --ae-dark-500: var(--ae-dark);
181
+ --ae-dark-600: color-mix(in srgb, var(--ae-dark) 80%, black);
182
+ --ae-dark-700: color-mix(in srgb, var(--ae-dark) 60%, black);
183
+ --ae-dark-800: color-mix(in srgb, var(--ae-dark) 40%, black);
184
+ --ae-dark-900: color-mix(in srgb, var(--ae-dark) 20%, black);
185
+
186
+ /* Light (base #f8f9fa) */
187
+ --ae-light-100: color-mix(in srgb, var(--ae-light) 20%, white);
188
+ --ae-light-200: color-mix(in srgb, var(--ae-light) 40%, white);
189
+ --ae-light-300: color-mix(in srgb, var(--ae-light) 60%, white);
190
+ --ae-light-400: color-mix(in srgb, var(--ae-light) 80%, white);
191
+ --ae-light-500: var(--ae-light);
192
+ --ae-light-600: color-mix(in srgb, var(--ae-light) 80%, black);
193
+ --ae-light-700: color-mix(in srgb, var(--ae-light) 60%, black);
194
+ --ae-light-800: color-mix(in srgb, var(--ae-light) 40%, black);
195
+ --ae-light-900: color-mix(in srgb, var(--ae-light) 20%, black);
196
+ }
197
+
198
+ :root,
199
+ :host {
200
+ /* Hover / active mix (light default \u2014 overridden in \xA7 6 dark) */
201
+ --ae-color-mix-hover: black 10%;
202
+ --ae-color-mix-active: black 20%;
203
+
204
+ /* Primary (Blue) */
205
+ --ae-color-primary: var(--ae-blue-500);
206
+ --ae-color-primary-hover: color-mix(in srgb, var(--ae-color-primary), var(--ae-color-mix-hover));
207
+ --ae-color-primary-active: color-mix(in srgb, var(--ae-color-primary), var(--ae-color-mix-active));
208
+ --ae-color-primary-disabled: color-mix(in srgb, var(--ae-blue) 50%, var(--ae-gray-500));
209
+
210
+ /* Success (Green) */
211
+ --ae-color-success: var(--ae-green-500);
212
+ --ae-color-success-hover: color-mix(in srgb, var(--ae-color-success), var(--ae-color-mix-hover));
213
+ --ae-color-success-active: color-mix(in srgb, var(--ae-color-success), var(--ae-color-mix-active));
214
+ --ae-color-success-disabled: color-mix(in srgb, var(--ae-green) 50%, var(--ae-gray-500));
215
+
216
+ /* Danger (Red) */
217
+ --ae-color-danger: var(--ae-red-500);
218
+ --ae-color-danger-hover: color-mix(in srgb, var(--ae-color-danger), var(--ae-color-mix-hover));
219
+ --ae-color-danger-active: color-mix(in srgb, var(--ae-color-danger), var(--ae-color-mix-active));
220
+ --ae-color-danger-disabled: color-mix(in srgb, var(--ae-red) 50%, var(--ae-gray-500));
221
+
222
+ /* Warning (Yellow) */
223
+ --ae-color-warning: var(--ae-yellow-500);
224
+ --ae-color-warning-hover: color-mix(in srgb, var(--ae-color-warning), var(--ae-color-mix-hover));
225
+ --ae-color-warning-active: color-mix(in srgb, var(--ae-color-warning), var(--ae-color-mix-active));
226
+ --ae-color-warning-disabled: color-mix(in srgb, var(--ae-yellow) 50%, var(--ae-gray-500));
227
+
228
+ /* Info (Cyan) */
229
+ --ae-color-info: var(--ae-cyan-500);
230
+ --ae-color-info-hover: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-hover));
231
+ --ae-color-info-active: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-active));
232
+ --ae-color-info-disabled: color-mix(in srgb, var(--ae-cyan) 50%, var(--ae-gray-500));
233
+
234
+ /* Secondary (Slate) \u2014 base differs per theme, overridden in \xA7 6 dark */
235
+ --ae-color-secondary: var(--ae-slate-500);
236
+ --ae-color-secondary-hover: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-hover));
237
+ --ae-color-secondary-active: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-active));
238
+ --ae-color-secondary-text: var(--ae-slate-700);
239
+ }
240
+
241
+
242
+ .theme-light,
243
+ :root[theme="light"],
244
+ :host([theme="light"]),
245
+ :host-context([theme="light"]),
246
+ :where(:root),
247
+ :host {
248
+ color-scheme: light;
249
+
250
+ /* Gray UI aliases \u2014 lighter palette steps for elements on white background */
251
+ --ae-color-gray-dark: var(--ae-gray-400);
252
+ --ae-color-gray: var(--ae-gray-300);
253
+ --ae-color-gray-light: var(--ae-gray-200);
254
+ --ae-color-gray-lighter: var(--ae-gray-100);
255
+ --ae-color-gray-lightest: color-mix(in srgb, var(--ae-gray) 10%, white);
256
+
257
+ /* Text */
258
+ --ae-color-text-main: var(--ae-dark-700);
259
+ --ae-color-text-muted: var(--ae-gray-600);
260
+ --ae-color-text-disabled: var(--ae-gray-300);
261
+ --ae-color-text-link: var(--ae-blue-500);
262
+ --ae-color-text-link-hover: var(--ae-blue-700);
263
+
264
+ /* Surfaces */
265
+ --ae-surface-sunken: var(--ae-light-500);
266
+ --ae-surface-base: white;
267
+ --ae-surface-raised: var(--ae-light-500);
268
+ --ae-surface-overlay: white;
269
+ --ae-color-overlay: rgba(0, 0, 0, 0.4);
270
+
271
+ /* Borders */
272
+ --ae-border-subtle: rgba(0, 0, 0, 0.08);
273
+ --ae-border-default: rgba(0, 0, 0, 0.15);
274
+ --ae-border-hover: rgba(0, 0, 0, 0.25);
275
+ --ae-border-focus: var(--ae-color-primary);
276
+ --ae-border-disabled: rgba(0, 0, 0, 0.06);
277
+
278
+ /* Focus ring */
279
+ --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.30);
280
+ --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.15);
281
+
282
+ /* Subtle intent tokens \u2014 light context */
283
+ --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.08);
284
+ --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.40);
285
+ --ae-color-primary-text-emphasis: var(--ae-blue-700);
286
+
287
+ --ae-color-success-bg-subtle: rgb(from var(--ae-green) r g b / 0.08);
288
+ --ae-color-success-border-subtle: rgb(from var(--ae-green) r g b / 0.40);
289
+ --ae-color-success-text-emphasis: var(--ae-green-700);
290
+
291
+ --ae-color-danger-bg-subtle: rgb(from var(--ae-red) r g b / 0.08);
292
+ --ae-color-danger-border-subtle: rgb(from var(--ae-red) r g b / 0.40);
293
+ --ae-color-danger-text-emphasis: var(--ae-red-700);
294
+
295
+ --ae-color-warning-bg-subtle: rgb(from var(--ae-yellow) r g b / 0.08);
296
+ --ae-color-warning-border-subtle: rgb(from var(--ae-yellow) r g b / 0.40);
297
+ --ae-color-warning-text-emphasis: var(--ae-yellow-700);
298
+
299
+ --ae-color-info-bg-subtle: rgb(from var(--ae-cyan) r g b / 0.08);
300
+ --ae-color-info-border-subtle: rgb(from var(--ae-cyan) r g b / 0.40);
301
+ --ae-color-info-text-emphasis: var(--ae-cyan-700);
302
+
303
+ --ae-color-secondary-bg-subtle: rgb(from var(--ae-slate) r g b / 0.08);
304
+ --ae-color-secondary-border-subtle: rgb(from var(--ae-slate) r g b / 0.40);
305
+ --ae-color-secondary-text-emphasis: var(--ae-slate-700);
306
+
307
+ --ae-color-light-bg-subtle: var(--ae-gray-100); /* opaque on white: ~#e2e2e2 */
308
+ --ae-color-light-border-subtle: var(--ae-gray-200); /* opaque on white: ~#c4c4c4 */
309
+
310
+ --ae-color-dark-bg-subtle: var(--ae-dark-100); /* opaque on white: ~#d6d8d9 */
311
+ --ae-color-dark-border-subtle: var(--ae-dark-300); /* opaque on white: ~#85898c */
312
+
313
+ /* Component tokens \u2014 light defaults */
314
+ --ae-action-btn-bg: var(--ae-gray-200);
315
+ --ae-action-btn-bg-hover: var(--ae-color-primary);
316
+ --ae-action-btn-color: var(--ae-gray-600);
317
+ --ae-action-btn-color-hover: white;
318
+
319
+ --ae-clear-btn-bg-hover: var(--ae-color-danger);
320
+ --ae-clear-btn-color-hover: white;
321
+
322
+ --ae-reset-btn-border-radius: var(--ae-radius-xs);
323
+ --ae-reset-btn-bg: var(--ae-action-btn-bg);
324
+ --ae-reset-btn-bg-hover: var(--ae-action-btn-bg-hover);
325
+ --ae-reset-btn-color: var(--ae-action-btn-color);
326
+ --ae-reset-btn-color-hover: var(--ae-action-btn-color-hover);
327
+ --ae-reset-btn-transition: all 0.12s;
328
+
329
+ --ae-clear-btn-border-radius: var(--ae-radius-xs);
330
+ --ae-clear-btn-bg: var(--ae-action-btn-bg);
331
+ --ae-clear-btn-color: var(--ae-action-btn-color);
332
+ --ae-clear-btn-transition: all 0.12s;
333
+ }
334
+
335
+ :root,
336
+ :host {
337
+ --ae-size-scale: 1;
338
+ --ae-size-base: calc(1rem * var(--ae-size-scale)); /* 16px */
339
+ --ae-size-xl: round(calc(var(--ae-size-l) * 1.125), 1px); /* 23px */
340
+ --ae-size-l: round(calc(var(--ae-size-m) * 1.125 * 1.125), 1px); /* 20px */
341
+ --ae-size-m: var(--ae-size-base); /* 16px */
342
+ --ae-size-s: round(calc(var(--ae-size-m) / 1.125), 1px); /* 14px */
343
+ --ae-size-xs: round(calc(var(--ae-size-s) / 1.125), 1px); /* 12px */
344
+ --ae-size-2xs: round(calc(var(--ae-size-xs) / 1.125), 1px); /* 11px */
345
+ --ae-size-3xs: round(calc(var(--ae-size-2xs) / 1.125), 1px); /* 10px */
346
+ }
347
+
348
+ /* Border-radius tokens \u2014 shared across all components */
349
+ :root,
350
+ :host {
351
+ /**
352
+ * Unified border-radius hook for all components.
353
+ *
354
+ * Not set by default \u2014 each component falls back to its own --ae-radius-*
355
+ * token (e.g. button \u2192 sm, card \u2192 lg, input \u2192 xs).
356
+ *
357
+ * Usage:
358
+ * :root { --ae-border-radius: 0; } // global: all components square
359
+ * :root { --ae-border-radius: 999px; } // global: all components pill
360
+ * ae-button { --ae-border-radius: 50%; } // scoped: only buttons circular
361
+ * .sidebar { --ae-border-radius: 8px; } // scoped: everything inside .sidebar
362
+ *
363
+ * To restore a component to its own default:
364
+ * ae-card { --ae-border-radius: initial; }
365
+ */
366
+
367
+ --ae-radius-square: 0;
368
+ --ae-radius-xs: 2px;
369
+ --ae-radius-sm: 4px;
370
+ --ae-radius-md: 6px;
371
+ --ae-radius-lg: 8px;
372
+ --ae-radius-xl: 12px;
373
+ --ae-radius-pill: 999px;
374
+ --ae-radius-circle: 50%;
375
+ }
376
+
377
+ /* Layout tokens \u2014 defined on :root so all light DOM elements can use them */
378
+ :root,
379
+ :host {
380
+ --container-max-width: 1280px;
381
+ --container-padding-x: 1.5rem;
382
+ }
383
+
384
+ .theme-dark,
385
+ :root[theme="dark"],
386
+ :host([theme="dark"]),
387
+ :host-context([theme="dark"]) {
388
+ color-scheme: dark;
389
+
390
+ /* Hover / active \u2014 slightly gentler on dark backgrounds */
391
+ --ae-color-mix-hover: black 8%;
392
+ --ae-color-mix-active: black 16%;
393
+
394
+ /* Gray UI aliases \u2014 darker palette steps for elements on dark background */
395
+ --ae-color-gray-dark: var(--ae-gray-800);
396
+ --ae-color-gray: var(--ae-gray-700);
397
+ --ae-color-gray-light: var(--ae-gray-600);
398
+ --ae-color-gray-lighter: var(--ae-gray-500);
399
+ --ae-color-gray-lightest: var(--ae-gray-400);
400
+
401
+ /* Secondary \u2014 deeper base on dark background */
402
+ --ae-color-secondary: var(--ae-slate-700);
403
+ --ae-color-secondary-text: var(--ae-slate-300);
404
+
405
+ /* Text */
406
+ --ae-color-text-main: white;
407
+ --ae-color-text-muted: var(--ae-gray-200);
408
+ --ae-color-text-disabled: var(--ae-gray-500);
409
+ --ae-color-text-link: var(--ae-blue-300);
410
+ --ae-color-text-link-hover: var(--ae-blue-200);
411
+
412
+ /* Surfaces */
413
+ --ae-surface-sunken: var(--ae-gray-900);
414
+ --ae-surface-base: color-mix(in srgb, var(--ae-gray) 27%, black);
415
+ --ae-surface-raised: color-mix(in srgb, var(--ae-gray) 34%, black);
416
+ --ae-surface-overlay: color-mix(in srgb, var(--ae-gray) 38%, black);
417
+ --ae-color-overlay: rgba(0, 0, 0, 0.6);
418
+
419
+ /* Borders */
420
+ --ae-border-subtle: rgba(255, 255, 255, 0.08);
421
+ --ae-border-default: rgba(255, 255, 255, 0.12);
422
+ --ae-border-hover: rgba(255, 255, 255, 0.20);
423
+ --ae-border-focus: var(--ae-color-primary);
424
+ --ae-border-disabled: rgba(255, 255, 255, 0.06);
425
+
426
+ /* Focus ring */
427
+ --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.25);
428
+ --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.10);
429
+
430
+ /* Subtle intent tokens \u2014 dark context (more alpha, lighter text-emphasis) */
431
+ --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.10);
432
+ --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.30);
433
+ --ae-color-primary-text-emphasis: var(--ae-blue-300);
434
+
435
+ --ae-color-success-bg-subtle: rgb(from var(--ae-green) r g b / 0.10);
436
+ --ae-color-success-border-subtle: rgb(from var(--ae-green) r g b / 0.30);
437
+ --ae-color-success-text-emphasis: var(--ae-green-300);
438
+
439
+ --ae-color-danger-bg-subtle: rgb(from var(--ae-red) r g b / 0.10);
440
+ --ae-color-danger-border-subtle: rgb(from var(--ae-red) r g b / 0.30);
441
+ --ae-color-danger-text-emphasis: var(--ae-red-300);
442
+
443
+ --ae-color-warning-bg-subtle: rgb(from var(--ae-yellow) r g b / 0.10);
444
+ --ae-color-warning-border-subtle: rgb(from var(--ae-yellow) r g b / 0.30);
445
+ --ae-color-warning-text-emphasis: var(--ae-yellow-300);
446
+
447
+ --ae-color-info-bg-subtle: rgb(from var(--ae-cyan) r g b / 0.10);
448
+ --ae-color-info-border-subtle: rgb(from var(--ae-cyan) r g b / 0.30);
449
+ --ae-color-info-text-emphasis: var(--ae-cyan-300);
450
+
451
+ --ae-color-secondary-bg-subtle: rgb(from var(--ae-slate) r g b / 0.10);
452
+ --ae-color-secondary-border-subtle: rgb(from var(--ae-slate) r g b / 0.30);
453
+ --ae-color-secondary-text-emphasis: var(--ae-slate-300);
454
+
455
+ --ae-color-light-bg-subtle: rgb(from var(--ae-light) r g b / 0.20);
456
+ --ae-color-light-border-subtle: rgb(from var(--ae-light) r g b / 0.25);
457
+
458
+ --ae-color-dark-bg-subtle: rgb(from var(--ae-dark) r g b / 0.30);
459
+ --ae-color-dark-border-subtle: rgb(from var(--ae-dark) r g b / 0.50);
460
+
461
+ /* Component tokens \u2014 dark overrides */
462
+ --ae-action-btn-bg: var(--ae-color-gray);
463
+ --ae-action-btn-bg-hover: color-mix(in srgb, var(--ae-blue) 25%, var(--ae-gray-800));
464
+ --ae-action-btn-color: var(--ae-gray-400);
465
+ --ae-action-btn-color-hover: var(--ae-cyan-300);
466
+ --ae-clear-btn-bg-hover: color-mix(in srgb, var(--ae-red) 25%, var(--ae-gray-800));
467
+ --ae-clear-btn-color-hover: var(--ae-red-300);
468
+ }
469
+ `;
470
+
471
+ // src/menu/menu-item.ts
472
+ import { html, prop } from "aeico";
473
+
474
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/menu-item.css
475
+ var menu_item_default = ':host {\n display: block;\n position: relative;\n\n --menu-item-height: 2.5rem;\n --menu-item-padding-x: 0.875rem;\n --menu-item-font-size: 0.9375rem;\n --menu-item-color: inherit;\n --menu-item-color-disabled: var(--ae-color-text-disabled);\n --menu-item-bg: transparent;\n --menu-item-bg-hover: var(--ae-surface-raised, rgba(0, 0, 0, 0.05));\n --menu-item-active-color: var(--ae-color-primary, var(--ae-blue-500));\n --menu-item-active-border-color: var(--ae-color-primary, var(--ae-blue-500));\n\n --submenu-z-index: 1001;\n --submenu-bg: var(--ae-surface-overlay, #fff);\n --submenu-border: 1px solid var(--ae-border-default);\n --submenu-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n --submenu-min-width: 10rem;\n --submenu-padding: 0.25rem 0;\n}\n\n.item {\n display: inline-flex;\n align-items: center;\n gap: 0.4rem;\n width: 100%;\n height: var(--menu-item-height);\n padding: 0 var(--menu-item-padding-x);\n font-size: var(--menu-item-font-size);\n font-family: inherit;\n color: var(--menu-item-color);\n background: var(--menu-item-bg);\n border: none;\n border-bottom: 2px solid transparent;\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n user-select: none;\n white-space: nowrap;\n box-sizing: border-box;\n outline: none;\n transition: background 0.1s, color 0.1s, border-color 0.1s;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.item--leaf-in-panel {\n height: auto;\n padding: 0.5rem var(--menu-item-padding-x);\n border-bottom: none;\n}\n\n.item--wrap {\n white-space: normal;\n height: auto;\n min-height: var(--menu-item-height);\n}\n\n.item:hover:not(:disabled) {\n background: var(--menu-item-bg-hover);\n}\n\n.item:focus-visible {\n background: var(--menu-item-bg-hover);\n outline: 2px solid var(--menu-item-active-color);\n outline-offset: -2px;\n}\n\n:host([disabled]) .item,\n.item:disabled {\n color: var(--menu-item-color-disabled);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n:host([selected]) .item {\n color: var(--menu-item-active-color);\n border-bottom-color: var(--menu-item-active-border-color);\n}\n\n.item-arrow {\n display: inline-block;\n width: 0;\n height: 0;\n flex-shrink: 0;\n}\n\n.item-arrow--right {\n border-top: 0.3em solid transparent;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.item-arrow--bottom {\n border-left: 0.3em solid transparent;\n border-right: 0.3em solid transparent;\n border-top: 0.3em solid;\n}\n\n.item--open .item-arrow--right {\n transform: rotate(90deg);\n}\n\nslot[name="expand"],\nslot[name="collapse"] {\n display: inline-flex;\n align-items: center;\n margin-inline-start: auto;\n flex-shrink: 0;\n}\n\nslot[name="collapse"] {\n display: none;\n}\n\n.item--open slot[name="expand"] {\n display: none;\n}\n\n.item--open slot[name="collapse"] {\n display: inline-flex;\n align-items: center;\n}\n\nslot[name="collapse"] .item-arrow--right {\n transform: rotate(90deg);\n}\n\n:host([icon-placement="start"]) slot[name="expand"],\n:host([icon-placement="start"]) slot[name="collapse"] {\n order: -1;\n margin-inline-start: 0;\n}\n\n.submenu-panel {\n display: none;\n position: absolute;\n z-index: var(--submenu-z-index);\n background: var(--submenu-bg);\n border: var(--submenu-border);\n border-radius: var(--ae-border-radius, var(--ae-radius-md));\n box-shadow: var(--submenu-shadow);\n min-width: var(--submenu-min-width);\n padding: var(--submenu-padding);\n box-sizing: border-box;\n max-width: calc(100vw - 16px);\n}\n\n.submenu-panel.open {\n display: block;\n}\n\n.submenu-panel.placement-bottom {\n top: 100%;\n left: 0;\n margin-top: 2px;\n}\n\n.submenu-panel.placement-right {\n top: 0;\n left: 100%;\n margin-left: 2px;\n}\n\n.submenu-inline {\n display: none;\n padding-left: 1rem;\n}\n\n.submenu-inline.open {\n display: block;\n}\n';
476
+
477
+ // src/menu/menu-item.ts
478
+ var _iconPlacement_dec, _open_dec, _selected_dec, _href_dec, _disabled_dec, _label_dec, _key_dec, _a, _init, _key, _label, _disabled, _href, _selected, _open, _iconPlacement;
479
+ var MenuItem = class extends (_a = aeico_component_default, _key_dec = [prop({ type: String })], _label_dec = [prop({ type: String })], _disabled_dec = [prop({ type: Boolean })], _href_dec = [prop({ type: String })], _selected_dec = [prop({ type: Boolean })], _open_dec = [prop({ type: Boolean })], _iconPlacement_dec = [prop({ type: String })], _a) {
480
+ constructor() {
481
+ super(...arguments);
482
+ __privateAdd(this, _key, __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);
483
+ __privateAdd(this, _label, __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);
484
+ __privateAdd(this, _disabled, __runInitializers(_init, 16, this, false)), __runInitializers(_init, 19, this);
485
+ __privateAdd(this, _href, __runInitializers(_init, 20, this)), __runInitializers(_init, 23, this);
486
+ __privateAdd(this, _selected, __runInitializers(_init, 24, this, false)), __runInitializers(_init, 27, this);
487
+ __privateAdd(this, _open, __runInitializers(_init, 28, this, false)), __runInitializers(_init, 31, this);
488
+ __privateAdd(this, _iconPlacement, __runInitializers(_init, 32, this, "end")), __runInitializers(_init, 35, this);
489
+ __publicField(this, "_outsideClickHandler", null);
490
+ __publicField(this, "_closeTimer", null);
491
+ __publicField(this, "_handleMouseEnter", () => {
492
+ if (!this._isHoverTrigger()) return;
493
+ if (this._closeTimer !== null) {
494
+ clearTimeout(this._closeTimer);
495
+ this._closeTimer = null;
496
+ }
497
+ this.open = true;
498
+ });
499
+ __publicField(this, "_handleMouseLeave", () => {
500
+ if (!this._isHoverTrigger()) return;
501
+ this._closeTimer = setTimeout(() => {
502
+ this.open = false;
503
+ this._closeTimer = null;
504
+ }, 150);
505
+ });
506
+ __publicField(this, "_handleParentClick", () => {
507
+ if (this.disabled) return;
508
+ const mode = this._mode;
509
+ const trigger = this._trigger;
510
+ if (mode === "flyout" && trigger === "hover") {
511
+ this.open = !this.open;
512
+ return;
513
+ }
514
+ this.open = !this.open;
515
+ });
516
+ __publicField(this, "_handleLeafClick", (e) => {
517
+ if (this.disabled) {
518
+ e.preventDefault();
519
+ return;
520
+ }
521
+ const path = this._buildKeyPath();
522
+ const label = this.textContent?.trim() ?? "";
523
+ this.dispatchEvent(
524
+ new CustomEvent("_menu-item-select", {
525
+ bubbles: true,
526
+ composed: true,
527
+ detail: { key: this.key ?? "", label, keyPath: path }
528
+ })
529
+ );
530
+ });
531
+ __publicField(this, "_handleChildSelect", () => {
532
+ if (this._mode === "flyout") {
533
+ this.open = false;
534
+ }
535
+ });
536
+ __publicField(this, "_handleKeydown", (e) => {
537
+ if (e.key === "Escape" && this.open) {
538
+ e.stopPropagation();
539
+ this.open = false;
540
+ }
541
+ });
542
+ }
543
+ connectedCallback() {
544
+ super.connectedCallback();
545
+ const depth = this.parentElement?.closest("ae-menu-item") ? 1 : 0;
546
+ this.dataset.depth = String(depth);
547
+ this.listen("mouseenter", this._handleMouseEnter);
548
+ this.listen("mouseleave", this._handleMouseLeave);
549
+ this._outsideClickHandler = (e) => {
550
+ if (!this.open) return;
551
+ if (this._mode === "inline") return;
552
+ if (!e.composedPath().includes(this)) this.open = false;
553
+ };
554
+ document.addEventListener("click", this._outsideClickHandler);
555
+ this.listen("_menu-item-select", this._handleChildSelect);
556
+ }
557
+ disconnectedCallback() {
558
+ super.disconnectedCallback();
559
+ if (this._outsideClickHandler) {
560
+ document.removeEventListener("click", this._outsideClickHandler);
561
+ this._outsideClickHandler = null;
562
+ }
563
+ if (this._closeTimer !== null) {
564
+ clearTimeout(this._closeTimer);
565
+ this._closeTimer = null;
566
+ }
567
+ }
568
+ get _parentMenu() {
569
+ return this.closest("ae-menu");
570
+ }
571
+ get _mode() {
572
+ return this._parentMenu?.mode ?? "flyout";
573
+ }
574
+ get _orientation() {
575
+ return this._parentMenu?.orientation ?? "horizontal";
576
+ }
577
+ get _trigger() {
578
+ return this._parentMenu?.trigger ?? "click";
579
+ }
580
+ get _wrapText() {
581
+ return this._parentMenu?.wrapText ?? false;
582
+ }
583
+ get _isParent() {
584
+ return this.label != null && this.label !== "";
585
+ }
586
+ /** Compute flyout panel placement based on depth and parent orientation. */
587
+ get _panelPlacement() {
588
+ const isNested = !!this.parentElement?.closest("ae-menu-item");
589
+ if (!isNested && this._orientation === "horizontal") return "bottom";
590
+ return "right";
591
+ }
592
+ _isHoverTrigger() {
593
+ return this._isParent && this._mode === "flyout" && this._trigger === "hover";
594
+ }
595
+ _buildKeyPath() {
596
+ const path = [];
597
+ if (this.key) path.unshift(this.key);
598
+ let el = this.parentElement;
599
+ while (el) {
600
+ const tag = el.tagName.toLowerCase();
601
+ if (tag === "ae-menu-item") {
602
+ const k = el.key;
603
+ if (k) path.unshift(k);
604
+ } else if (tag === "ae-menu") {
605
+ break;
606
+ }
607
+ el = el.parentElement;
608
+ }
609
+ return path;
610
+ }
611
+ render() {
612
+ const mode = this._mode;
613
+ const panelPlacement = this._panelPlacement;
614
+ const isParent = this._isParent;
615
+ const isInline = mode === "inline";
616
+ const arrowDir = !isInline && panelPlacement === "bottom" ? "bottom" : "right";
617
+ const wrapText = this._wrapText;
618
+ const isNested = !!this.parentElement?.closest("ae-menu-item");
619
+ return html(({ div, button, a, span, slot }) => {
620
+ if (isParent) {
621
+ div({ className: "item-wrapper" }, () => {
622
+ button(
623
+ {
624
+ type: "button",
625
+ className: {
626
+ item: true,
627
+ "item--parent": true,
628
+ "item--open": this.open,
629
+ "item--wrap": wrapText
630
+ },
631
+ disabled: this.disabled,
632
+ "aria-haspopup": "menu",
633
+ "aria-expanded": String(this.open),
634
+ "@click": this._handleParentClick,
635
+ "@keydown": this._handleKeydown
636
+ },
637
+ () => {
638
+ span({ text: this.label });
639
+ slot({ name: "expand" }, () => {
640
+ span({ className: `item-arrow item-arrow--${arrowDir}`, "aria-hidden": "true" });
641
+ });
642
+ slot({ name: "collapse" }, () => {
643
+ span({ className: `item-arrow item-arrow--${arrowDir}`, "aria-hidden": "true" });
644
+ });
645
+ }
646
+ );
647
+ if (isInline) {
648
+ div(
649
+ {
650
+ className: { "submenu-inline": true, open: this.open },
651
+ role: "menu"
652
+ },
653
+ () => {
654
+ slot();
655
+ }
656
+ );
657
+ } else {
658
+ div(
659
+ {
660
+ className: {
661
+ "submenu-panel": true,
662
+ [`placement-${panelPlacement}`]: true,
663
+ open: this.open
664
+ },
665
+ role: "menu"
666
+ },
667
+ () => {
668
+ slot();
669
+ }
670
+ );
671
+ }
672
+ });
673
+ } else {
674
+ const sharedProps = {
675
+ className: { item: true, "item--leaf-in-panel": isNested, "item--wrap": wrapText },
676
+ role: "menuitem",
677
+ "@click": this._handleLeafClick,
678
+ "@keydown": this._handleKeydown
679
+ };
680
+ if (this.href) {
681
+ a(
682
+ {
683
+ ...sharedProps,
684
+ href: this.disabled ? void 0 : this.href,
685
+ "aria-disabled": this.disabled ? "true" : void 0
686
+ },
687
+ () => {
688
+ slot();
689
+ }
690
+ );
691
+ } else {
692
+ button(
693
+ {
694
+ ...sharedProps,
695
+ type: "button",
696
+ disabled: this.disabled
697
+ },
698
+ () => {
699
+ slot();
700
+ }
701
+ );
702
+ }
703
+ }
704
+ });
705
+ }
706
+ };
707
+ _init = __decoratorStart(_a);
708
+ _key = new WeakMap();
709
+ _label = new WeakMap();
710
+ _disabled = new WeakMap();
711
+ _href = new WeakMap();
712
+ _selected = new WeakMap();
713
+ _open = new WeakMap();
714
+ _iconPlacement = new WeakMap();
715
+ __decorateElement(_init, 4, "key", _key_dec, MenuItem, _key);
716
+ __decorateElement(_init, 4, "label", _label_dec, MenuItem, _label);
717
+ __decorateElement(_init, 4, "disabled", _disabled_dec, MenuItem, _disabled);
718
+ __decorateElement(_init, 4, "href", _href_dec, MenuItem, _href);
719
+ __decorateElement(_init, 4, "selected", _selected_dec, MenuItem, _selected);
720
+ __decorateElement(_init, 4, "open", _open_dec, MenuItem, _open);
721
+ __decorateElement(_init, 4, "iconPlacement", _iconPlacement_dec, MenuItem, _iconPlacement);
722
+ __decoratorMetadata(_init, MenuItem);
723
+ __publicField(MenuItem, "tagName", "menu-item");
724
+ __publicField(MenuItem, "styles", [variables_default, menu_item_default]);
725
+ MenuItem.register();
726
+ var menu_item_default2 = MenuItem;
727
+
728
+ // src/menu/menu.ts
729
+ var _wrapText_dec, _selectedKey_dec, _trigger_dec, _orientation_dec, _mode_dec, _a2, _init2, _mode, _orientation, _trigger, _selectedKey, _wrapText;
730
+ var Menu = class extends (_a2 = aeico_component_default, _mode_dec = [prop2({ type: String })], _orientation_dec = [prop2({ type: String })], _trigger_dec = [prop2({ type: String })], _selectedKey_dec = [prop2({ type: String })], _wrapText_dec = [prop2({ type: Boolean })], _a2) {
731
+ constructor() {
732
+ super(...arguments);
733
+ __privateAdd(this, _mode, __runInitializers(_init2, 8, this, "flyout")), __runInitializers(_init2, 11, this);
734
+ __privateAdd(this, _orientation, __runInitializers(_init2, 12, this, "horizontal")), __runInitializers(_init2, 15, this);
735
+ __privateAdd(this, _trigger, __runInitializers(_init2, 16, this, "click")), __runInitializers(_init2, 19, this);
736
+ __privateAdd(this, _selectedKey, __runInitializers(_init2, 20, this)), __runInitializers(_init2, 23, this);
737
+ __privateAdd(this, _wrapText, __runInitializers(_init2, 24, this, false)), __runInitializers(_init2, 27, this);
738
+ __publicField(this, "_handleItemSelect", (e) => {
739
+ const { key, label, keyPath } = e.detail;
740
+ this.querySelectorAll("ae-menu-item").forEach((el) => {
741
+ const item = el;
742
+ item.selected = item.key === key && !item.label;
743
+ });
744
+ this.selectedKey = key;
745
+ this.emit("select", { detail: { key, label, keyPath } });
746
+ });
747
+ }
748
+ connectedCallback() {
749
+ super.connectedCallback();
750
+ this.listen("_menu-item-select", this._handleItemSelect);
751
+ }
752
+ render() {
753
+ const isHorizontal = this.orientation === "horizontal";
754
+ return html2(({ div, slot }) => {
755
+ div(
756
+ {
757
+ className: { "menu-list": true, "menu-list--horizontal": isHorizontal },
758
+ role: isHorizontal ? "menubar" : "menu",
759
+ "aria-orientation": this.orientation
760
+ },
761
+ () => {
762
+ slot();
763
+ }
764
+ );
765
+ });
766
+ }
767
+ };
768
+ _init2 = __decoratorStart(_a2);
769
+ _mode = new WeakMap();
770
+ _orientation = new WeakMap();
771
+ _trigger = new WeakMap();
772
+ _selectedKey = new WeakMap();
773
+ _wrapText = new WeakMap();
774
+ __decorateElement(_init2, 4, "mode", _mode_dec, Menu, _mode);
775
+ __decorateElement(_init2, 4, "orientation", _orientation_dec, Menu, _orientation);
776
+ __decorateElement(_init2, 4, "trigger", _trigger_dec, Menu, _trigger);
777
+ __decorateElement(_init2, 4, "selectedKey", _selectedKey_dec, Menu, _selectedKey);
778
+ __decorateElement(_init2, 4, "wrapText", _wrapText_dec, Menu, _wrapText);
779
+ __decoratorMetadata(_init2, Menu);
780
+ __publicField(Menu, "tagName", "menu");
781
+ __publicField(Menu, "styles", [variables_default, menu_default]);
782
+ Menu.register();
783
+ var menu_default2 = Menu;
2
784
  export {
3
- M as Menu,
4
- a as MenuItem
785
+ menu_default2 as Menu,
786
+ menu_item_default2 as MenuItem
5
787
  };
6
788
  //# sourceMappingURL=menu.js.map