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/tree.cjs CHANGED
@@ -1,6 +1,1061 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const tree = require("./chunks/tree.cjs");
4
- exports.Tree = tree.Tree;
5
- exports.TreeItem = tree.TreeItem;
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
9
+ var __typeError = (msg) => {
10
+ throw TypeError(msg);
11
+ };
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
+ var __commonJS = (cb, mod) => function __require() {
15
+ try {
16
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
17
+ } catch (e) {
18
+ throw mod = 0, e;
19
+ }
20
+ };
21
+ var __export = (target, all) => {
22
+ for (var name in all)
23
+ __defProp(target, name, { get: all[name], enumerable: true });
24
+ };
25
+ var __copyProps = (to, from, except, desc) => {
26
+ if (from && typeof from === "object" || typeof from === "function") {
27
+ for (let key of __getOwnPropNames(from))
28
+ if (!__hasOwnProp.call(to, key) && key !== except)
29
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
30
+ }
31
+ return to;
32
+ };
33
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
34
+ // If the importer is in node compatibility mode or this is not an ESM
35
+ // file that has been converted to a CommonJS file using a Babel-
36
+ // compatible transform (i.e. "__esModule" has not been set), then set
37
+ // "default" to the CommonJS "module.exports" for node compatibility.
38
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
39
+ mod
40
+ ));
41
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
42
+ var __decoratorStart = (base) => [, , , __create(base?.[__knownSymbol("metadata")] ?? null)];
43
+ var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
44
+ var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
45
+ var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
46
+ var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
47
+ var __runInitializers = (array, flags, self, value) => {
48
+ 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);
49
+ return value;
50
+ };
51
+ var __decorateElement = (array, flags, name, decorators, target, extra) => {
52
+ var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
53
+ var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
54
+ var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
55
+ var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
56
+ return __privateGet(this, extra);
57
+ }, set [name](x) {
58
+ return __privateSet(this, extra, x);
59
+ } }, name));
60
+ k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
61
+ for (var i = decorators.length - 1; i >= 0; i--) {
62
+ ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
63
+ if (k) {
64
+ ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
65
+ if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
66
+ if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
67
+ }
68
+ 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;
69
+ if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
70
+ else if (typeof it !== "object" || it === null) __typeError("Object expected");
71
+ else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
72
+ }
73
+ return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
74
+ };
75
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
76
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
77
+ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
78
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
79
+ 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);
80
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
81
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
82
+
83
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/tree.css
84
+ var require_tree = __commonJS({
85
+ "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/tree.css"(exports2, module2) {
86
+ module2.exports = ":host {\n display: block;\n}\n\n.tree {\n display: block;\n padding: 0.25rem;\n box-sizing: border-box;\n user-select: none;\n}\n";
87
+ }
88
+ });
89
+
90
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/variables.css
91
+ var require_variables = __commonJS({
92
+ "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/variables.css"(exports2, module2) {
93
+ module2.exports = `:root,
94
+ :host {
95
+ --ae-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
96
+ "Noto Sans", "Liberation Sans", Arial, sans-serif,
97
+ "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
98
+ --ae-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
99
+ "Liberation Mono", "Courier New", monospace;
100
+ font-family: var(--ae-font-sans-serif);
101
+ --ae-blue: #0e639c;
102
+ --ae-green: #28a745;
103
+ --ae-red: #dc3545;
104
+ --ae-yellow: #ffc107;
105
+ --ae-cyan: #17a2b8;
106
+ --ae-gray: #6e6e6e;
107
+ --ae-slate: #64748b;
108
+ --ae-dark: #343a40;
109
+ --ae-light: #f8f9fa;
110
+ }
111
+
112
+ :root,
113
+ :host {
114
+ /* Blue */
115
+ --ae-blue-100: color-mix(in srgb, var(--ae-blue) 20%, white);
116
+ --ae-blue-200: color-mix(in srgb, var(--ae-blue) 40%, white);
117
+ --ae-blue-300: color-mix(in srgb, var(--ae-blue) 60%, white);
118
+ --ae-blue-400: color-mix(in srgb, var(--ae-blue) 80%, white);
119
+ --ae-blue-500: var(--ae-blue);
120
+ --ae-blue-600: color-mix(in srgb, var(--ae-blue) 80%, black);
121
+ --ae-blue-700: color-mix(in srgb, var(--ae-blue) 60%, black);
122
+ --ae-blue-800: color-mix(in srgb, var(--ae-blue) 40%, black);
123
+ --ae-blue-900: color-mix(in srgb, var(--ae-blue) 20%, black);
124
+
125
+ /* Green */
126
+ --ae-green-100: color-mix(in srgb, var(--ae-green) 20%, white);
127
+ --ae-green-200: color-mix(in srgb, var(--ae-green) 40%, white);
128
+ --ae-green-300: color-mix(in srgb, var(--ae-green) 60%, white);
129
+ --ae-green-400: color-mix(in srgb, var(--ae-green) 80%, white);
130
+ --ae-green-500: var(--ae-green);
131
+ --ae-green-600: color-mix(in srgb, var(--ae-green) 80%, black);
132
+ --ae-green-700: color-mix(in srgb, var(--ae-green) 60%, black);
133
+ --ae-green-800: color-mix(in srgb, var(--ae-green) 40%, black);
134
+ --ae-green-900: color-mix(in srgb, var(--ae-green) 20%, black);
135
+
136
+ /* Red */
137
+ --ae-red-100: color-mix(in srgb, var(--ae-red) 20%, white);
138
+ --ae-red-200: color-mix(in srgb, var(--ae-red) 40%, white);
139
+ --ae-red-300: color-mix(in srgb, var(--ae-red) 60%, white);
140
+ --ae-red-400: color-mix(in srgb, var(--ae-red) 80%, white);
141
+ --ae-red-500: var(--ae-red);
142
+ --ae-red-600: color-mix(in srgb, var(--ae-red) 80%, black);
143
+ --ae-red-700: color-mix(in srgb, var(--ae-red) 60%, black);
144
+ --ae-red-800: color-mix(in srgb, var(--ae-red) 40%, black);
145
+ --ae-red-900: color-mix(in srgb, var(--ae-red) 20%, black);
146
+
147
+ /* Yellow */
148
+ --ae-yellow-100: color-mix(in srgb, var(--ae-yellow) 20%, white);
149
+ --ae-yellow-200: color-mix(in srgb, var(--ae-yellow) 40%, white);
150
+ --ae-yellow-300: color-mix(in srgb, var(--ae-yellow) 60%, white);
151
+ --ae-yellow-400: color-mix(in srgb, var(--ae-yellow) 80%, white);
152
+ --ae-yellow-500: var(--ae-yellow);
153
+ --ae-yellow-600: color-mix(in srgb, var(--ae-yellow) 80%, black);
154
+ --ae-yellow-700: color-mix(in srgb, var(--ae-yellow) 60%, black);
155
+ --ae-yellow-800: color-mix(in srgb, var(--ae-yellow) 40%, black);
156
+ --ae-yellow-900: color-mix(in srgb, var(--ae-yellow) 20%, black);
157
+
158
+ /* Cyan */
159
+ --ae-cyan-100: color-mix(in srgb, var(--ae-cyan) 20%, white);
160
+ --ae-cyan-200: color-mix(in srgb, var(--ae-cyan) 40%, white);
161
+ --ae-cyan-300: color-mix(in srgb, var(--ae-cyan) 60%, white);
162
+ --ae-cyan-400: color-mix(in srgb, var(--ae-cyan) 80%, white);
163
+ --ae-cyan-500: var(--ae-cyan);
164
+ --ae-cyan-600: color-mix(in srgb, var(--ae-cyan) 80%, black);
165
+ --ae-cyan-700: color-mix(in srgb, var(--ae-cyan) 60%, black);
166
+ --ae-cyan-800: color-mix(in srgb, var(--ae-cyan) 40%, black);
167
+ --ae-cyan-900: color-mix(in srgb, var(--ae-cyan) 20%, black);
168
+
169
+ /* Gray (neutral \u2014 base #6e6e6e) */
170
+ --ae-gray-100: color-mix(in srgb, var(--ae-gray) 20%, white);
171
+ --ae-gray-200: color-mix(in srgb, var(--ae-gray) 40%, white);
172
+ --ae-gray-300: color-mix(in srgb, var(--ae-gray) 60%, white);
173
+ --ae-gray-400: color-mix(in srgb, var(--ae-gray) 80%, white);
174
+ --ae-gray-500: var(--ae-gray);
175
+ --ae-gray-600: color-mix(in srgb, var(--ae-gray) 80%, black);
176
+ --ae-gray-700: color-mix(in srgb, var(--ae-gray) 60%, black);
177
+ --ae-gray-800: color-mix(in srgb, var(--ae-gray) 40%, black);
178
+ --ae-gray-900: color-mix(in srgb, var(--ae-gray) 20%, black);
179
+
180
+ /* Slate (blue-gray \u2014 base #64748b, used for 'secondary') */
181
+ --ae-slate-100: color-mix(in srgb, var(--ae-slate) 20%, white);
182
+ --ae-slate-200: color-mix(in srgb, var(--ae-slate) 40%, white);
183
+ --ae-slate-300: color-mix(in srgb, var(--ae-slate) 60%, white);
184
+ --ae-slate-400: color-mix(in srgb, var(--ae-slate) 80%, white);
185
+ --ae-slate-500: var(--ae-slate);
186
+ --ae-slate-600: color-mix(in srgb, var(--ae-slate) 80%, black);
187
+ --ae-slate-700: color-mix(in srgb, var(--ae-slate) 60%, black);
188
+ --ae-slate-800: color-mix(in srgb, var(--ae-slate) 40%, black);
189
+ --ae-slate-900: color-mix(in srgb, var(--ae-slate) 20%, black);
190
+
191
+ /* Dark (base #343a40) */
192
+ --ae-dark-100: color-mix(in srgb, var(--ae-dark) 20%, white);
193
+ --ae-dark-200: color-mix(in srgb, var(--ae-dark) 40%, white);
194
+ --ae-dark-300: color-mix(in srgb, var(--ae-dark) 60%, white);
195
+ --ae-dark-400: color-mix(in srgb, var(--ae-dark) 80%, white);
196
+ --ae-dark-500: var(--ae-dark);
197
+ --ae-dark-600: color-mix(in srgb, var(--ae-dark) 80%, black);
198
+ --ae-dark-700: color-mix(in srgb, var(--ae-dark) 60%, black);
199
+ --ae-dark-800: color-mix(in srgb, var(--ae-dark) 40%, black);
200
+ --ae-dark-900: color-mix(in srgb, var(--ae-dark) 20%, black);
201
+
202
+ /* Light (base #f8f9fa) */
203
+ --ae-light-100: color-mix(in srgb, var(--ae-light) 20%, white);
204
+ --ae-light-200: color-mix(in srgb, var(--ae-light) 40%, white);
205
+ --ae-light-300: color-mix(in srgb, var(--ae-light) 60%, white);
206
+ --ae-light-400: color-mix(in srgb, var(--ae-light) 80%, white);
207
+ --ae-light-500: var(--ae-light);
208
+ --ae-light-600: color-mix(in srgb, var(--ae-light) 80%, black);
209
+ --ae-light-700: color-mix(in srgb, var(--ae-light) 60%, black);
210
+ --ae-light-800: color-mix(in srgb, var(--ae-light) 40%, black);
211
+ --ae-light-900: color-mix(in srgb, var(--ae-light) 20%, black);
212
+ }
213
+
214
+ :root,
215
+ :host {
216
+ /* Hover / active mix (light default \u2014 overridden in \xA7 6 dark) */
217
+ --ae-color-mix-hover: black 10%;
218
+ --ae-color-mix-active: black 20%;
219
+
220
+ /* Primary (Blue) */
221
+ --ae-color-primary: var(--ae-blue-500);
222
+ --ae-color-primary-hover: color-mix(in srgb, var(--ae-color-primary), var(--ae-color-mix-hover));
223
+ --ae-color-primary-active: color-mix(in srgb, var(--ae-color-primary), var(--ae-color-mix-active));
224
+ --ae-color-primary-disabled: color-mix(in srgb, var(--ae-blue) 50%, var(--ae-gray-500));
225
+
226
+ /* Success (Green) */
227
+ --ae-color-success: var(--ae-green-500);
228
+ --ae-color-success-hover: color-mix(in srgb, var(--ae-color-success), var(--ae-color-mix-hover));
229
+ --ae-color-success-active: color-mix(in srgb, var(--ae-color-success), var(--ae-color-mix-active));
230
+ --ae-color-success-disabled: color-mix(in srgb, var(--ae-green) 50%, var(--ae-gray-500));
231
+
232
+ /* Danger (Red) */
233
+ --ae-color-danger: var(--ae-red-500);
234
+ --ae-color-danger-hover: color-mix(in srgb, var(--ae-color-danger), var(--ae-color-mix-hover));
235
+ --ae-color-danger-active: color-mix(in srgb, var(--ae-color-danger), var(--ae-color-mix-active));
236
+ --ae-color-danger-disabled: color-mix(in srgb, var(--ae-red) 50%, var(--ae-gray-500));
237
+
238
+ /* Warning (Yellow) */
239
+ --ae-color-warning: var(--ae-yellow-500);
240
+ --ae-color-warning-hover: color-mix(in srgb, var(--ae-color-warning), var(--ae-color-mix-hover));
241
+ --ae-color-warning-active: color-mix(in srgb, var(--ae-color-warning), var(--ae-color-mix-active));
242
+ --ae-color-warning-disabled: color-mix(in srgb, var(--ae-yellow) 50%, var(--ae-gray-500));
243
+
244
+ /* Info (Cyan) */
245
+ --ae-color-info: var(--ae-cyan-500);
246
+ --ae-color-info-hover: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-hover));
247
+ --ae-color-info-active: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-active));
248
+ --ae-color-info-disabled: color-mix(in srgb, var(--ae-cyan) 50%, var(--ae-gray-500));
249
+
250
+ /* Secondary (Slate) \u2014 base differs per theme, overridden in \xA7 6 dark */
251
+ --ae-color-secondary: var(--ae-slate-500);
252
+ --ae-color-secondary-hover: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-hover));
253
+ --ae-color-secondary-active: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-active));
254
+ --ae-color-secondary-text: var(--ae-slate-700);
255
+ }
256
+
257
+
258
+ .theme-light,
259
+ :root[theme="light"],
260
+ :host([theme="light"]),
261
+ :host-context([theme="light"]),
262
+ :where(:root),
263
+ :host {
264
+ color-scheme: light;
265
+
266
+ /* Gray UI aliases \u2014 lighter palette steps for elements on white background */
267
+ --ae-color-gray-dark: var(--ae-gray-400);
268
+ --ae-color-gray: var(--ae-gray-300);
269
+ --ae-color-gray-light: var(--ae-gray-200);
270
+ --ae-color-gray-lighter: var(--ae-gray-100);
271
+ --ae-color-gray-lightest: color-mix(in srgb, var(--ae-gray) 10%, white);
272
+
273
+ /* Text */
274
+ --ae-color-text-main: var(--ae-dark-700);
275
+ --ae-color-text-muted: var(--ae-gray-600);
276
+ --ae-color-text-disabled: var(--ae-gray-300);
277
+ --ae-color-text-link: var(--ae-blue-500);
278
+ --ae-color-text-link-hover: var(--ae-blue-700);
279
+
280
+ /* Surfaces */
281
+ --ae-surface-sunken: var(--ae-light-500);
282
+ --ae-surface-base: white;
283
+ --ae-surface-raised: var(--ae-light-500);
284
+ --ae-surface-overlay: white;
285
+ --ae-color-overlay: rgba(0, 0, 0, 0.4);
286
+
287
+ /* Borders */
288
+ --ae-border-subtle: rgba(0, 0, 0, 0.08);
289
+ --ae-border-default: rgba(0, 0, 0, 0.15);
290
+ --ae-border-hover: rgba(0, 0, 0, 0.25);
291
+ --ae-border-focus: var(--ae-color-primary);
292
+ --ae-border-disabled: rgba(0, 0, 0, 0.06);
293
+
294
+ /* Focus ring */
295
+ --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.30);
296
+ --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.15);
297
+
298
+ /* Subtle intent tokens \u2014 light context */
299
+ --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.08);
300
+ --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.40);
301
+ --ae-color-primary-text-emphasis: var(--ae-blue-700);
302
+
303
+ --ae-color-success-bg-subtle: rgb(from var(--ae-green) r g b / 0.08);
304
+ --ae-color-success-border-subtle: rgb(from var(--ae-green) r g b / 0.40);
305
+ --ae-color-success-text-emphasis: var(--ae-green-700);
306
+
307
+ --ae-color-danger-bg-subtle: rgb(from var(--ae-red) r g b / 0.08);
308
+ --ae-color-danger-border-subtle: rgb(from var(--ae-red) r g b / 0.40);
309
+ --ae-color-danger-text-emphasis: var(--ae-red-700);
310
+
311
+ --ae-color-warning-bg-subtle: rgb(from var(--ae-yellow) r g b / 0.08);
312
+ --ae-color-warning-border-subtle: rgb(from var(--ae-yellow) r g b / 0.40);
313
+ --ae-color-warning-text-emphasis: var(--ae-yellow-700);
314
+
315
+ --ae-color-info-bg-subtle: rgb(from var(--ae-cyan) r g b / 0.08);
316
+ --ae-color-info-border-subtle: rgb(from var(--ae-cyan) r g b / 0.40);
317
+ --ae-color-info-text-emphasis: var(--ae-cyan-700);
318
+
319
+ --ae-color-secondary-bg-subtle: rgb(from var(--ae-slate) r g b / 0.08);
320
+ --ae-color-secondary-border-subtle: rgb(from var(--ae-slate) r g b / 0.40);
321
+ --ae-color-secondary-text-emphasis: var(--ae-slate-700);
322
+
323
+ --ae-color-light-bg-subtle: var(--ae-gray-100); /* opaque on white: ~#e2e2e2 */
324
+ --ae-color-light-border-subtle: var(--ae-gray-200); /* opaque on white: ~#c4c4c4 */
325
+
326
+ --ae-color-dark-bg-subtle: var(--ae-dark-100); /* opaque on white: ~#d6d8d9 */
327
+ --ae-color-dark-border-subtle: var(--ae-dark-300); /* opaque on white: ~#85898c */
328
+
329
+ /* Component tokens \u2014 light defaults */
330
+ --ae-action-btn-bg: var(--ae-gray-200);
331
+ --ae-action-btn-bg-hover: var(--ae-color-primary);
332
+ --ae-action-btn-color: var(--ae-gray-600);
333
+ --ae-action-btn-color-hover: white;
334
+
335
+ --ae-clear-btn-bg-hover: var(--ae-color-danger);
336
+ --ae-clear-btn-color-hover: white;
337
+
338
+ --ae-reset-btn-border-radius: var(--ae-radius-xs);
339
+ --ae-reset-btn-bg: var(--ae-action-btn-bg);
340
+ --ae-reset-btn-bg-hover: var(--ae-action-btn-bg-hover);
341
+ --ae-reset-btn-color: var(--ae-action-btn-color);
342
+ --ae-reset-btn-color-hover: var(--ae-action-btn-color-hover);
343
+ --ae-reset-btn-transition: all 0.12s;
344
+
345
+ --ae-clear-btn-border-radius: var(--ae-radius-xs);
346
+ --ae-clear-btn-bg: var(--ae-action-btn-bg);
347
+ --ae-clear-btn-color: var(--ae-action-btn-color);
348
+ --ae-clear-btn-transition: all 0.12s;
349
+ }
350
+
351
+ :root,
352
+ :host {
353
+ --ae-size-scale: 1;
354
+ --ae-size-base: calc(1rem * var(--ae-size-scale)); /* 16px */
355
+ --ae-size-xl: round(calc(var(--ae-size-l) * 1.125), 1px); /* 23px */
356
+ --ae-size-l: round(calc(var(--ae-size-m) * 1.125 * 1.125), 1px); /* 20px */
357
+ --ae-size-m: var(--ae-size-base); /* 16px */
358
+ --ae-size-s: round(calc(var(--ae-size-m) / 1.125), 1px); /* 14px */
359
+ --ae-size-xs: round(calc(var(--ae-size-s) / 1.125), 1px); /* 12px */
360
+ --ae-size-2xs: round(calc(var(--ae-size-xs) / 1.125), 1px); /* 11px */
361
+ --ae-size-3xs: round(calc(var(--ae-size-2xs) / 1.125), 1px); /* 10px */
362
+ }
363
+
364
+ /* Border-radius tokens \u2014 shared across all components */
365
+ :root,
366
+ :host {
367
+ /**
368
+ * Unified border-radius hook for all components.
369
+ *
370
+ * Not set by default \u2014 each component falls back to its own --ae-radius-*
371
+ * token (e.g. button \u2192 sm, card \u2192 lg, input \u2192 xs).
372
+ *
373
+ * Usage:
374
+ * :root { --ae-border-radius: 0; } // global: all components square
375
+ * :root { --ae-border-radius: 999px; } // global: all components pill
376
+ * ae-button { --ae-border-radius: 50%; } // scoped: only buttons circular
377
+ * .sidebar { --ae-border-radius: 8px; } // scoped: everything inside .sidebar
378
+ *
379
+ * To restore a component to its own default:
380
+ * ae-card { --ae-border-radius: initial; }
381
+ */
382
+
383
+ --ae-radius-square: 0;
384
+ --ae-radius-xs: 2px;
385
+ --ae-radius-sm: 4px;
386
+ --ae-radius-md: 6px;
387
+ --ae-radius-lg: 8px;
388
+ --ae-radius-xl: 12px;
389
+ --ae-radius-pill: 999px;
390
+ --ae-radius-circle: 50%;
391
+ }
392
+
393
+ /* Layout tokens \u2014 defined on :root so all light DOM elements can use them */
394
+ :root,
395
+ :host {
396
+ --container-max-width: 1280px;
397
+ --container-padding-x: 1.5rem;
398
+ }
399
+
400
+ .theme-dark,
401
+ :root[theme="dark"],
402
+ :host([theme="dark"]),
403
+ :host-context([theme="dark"]) {
404
+ color-scheme: dark;
405
+
406
+ /* Hover / active \u2014 slightly gentler on dark backgrounds */
407
+ --ae-color-mix-hover: black 8%;
408
+ --ae-color-mix-active: black 16%;
409
+
410
+ /* Gray UI aliases \u2014 darker palette steps for elements on dark background */
411
+ --ae-color-gray-dark: var(--ae-gray-800);
412
+ --ae-color-gray: var(--ae-gray-700);
413
+ --ae-color-gray-light: var(--ae-gray-600);
414
+ --ae-color-gray-lighter: var(--ae-gray-500);
415
+ --ae-color-gray-lightest: var(--ae-gray-400);
416
+
417
+ /* Secondary \u2014 deeper base on dark background */
418
+ --ae-color-secondary: var(--ae-slate-700);
419
+ --ae-color-secondary-text: var(--ae-slate-300);
420
+
421
+ /* Text */
422
+ --ae-color-text-main: white;
423
+ --ae-color-text-muted: var(--ae-gray-200);
424
+ --ae-color-text-disabled: var(--ae-gray-500);
425
+ --ae-color-text-link: var(--ae-blue-300);
426
+ --ae-color-text-link-hover: var(--ae-blue-200);
427
+
428
+ /* Surfaces */
429
+ --ae-surface-sunken: var(--ae-gray-900);
430
+ --ae-surface-base: color-mix(in srgb, var(--ae-gray) 27%, black);
431
+ --ae-surface-raised: color-mix(in srgb, var(--ae-gray) 34%, black);
432
+ --ae-surface-overlay: color-mix(in srgb, var(--ae-gray) 38%, black);
433
+ --ae-color-overlay: rgba(0, 0, 0, 0.6);
434
+
435
+ /* Borders */
436
+ --ae-border-subtle: rgba(255, 255, 255, 0.08);
437
+ --ae-border-default: rgba(255, 255, 255, 0.12);
438
+ --ae-border-hover: rgba(255, 255, 255, 0.20);
439
+ --ae-border-focus: var(--ae-color-primary);
440
+ --ae-border-disabled: rgba(255, 255, 255, 0.06);
441
+
442
+ /* Focus ring */
443
+ --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.25);
444
+ --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.10);
445
+
446
+ /* Subtle intent tokens \u2014 dark context (more alpha, lighter text-emphasis) */
447
+ --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.10);
448
+ --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.30);
449
+ --ae-color-primary-text-emphasis: var(--ae-blue-300);
450
+
451
+ --ae-color-success-bg-subtle: rgb(from var(--ae-green) r g b / 0.10);
452
+ --ae-color-success-border-subtle: rgb(from var(--ae-green) r g b / 0.30);
453
+ --ae-color-success-text-emphasis: var(--ae-green-300);
454
+
455
+ --ae-color-danger-bg-subtle: rgb(from var(--ae-red) r g b / 0.10);
456
+ --ae-color-danger-border-subtle: rgb(from var(--ae-red) r g b / 0.30);
457
+ --ae-color-danger-text-emphasis: var(--ae-red-300);
458
+
459
+ --ae-color-warning-bg-subtle: rgb(from var(--ae-yellow) r g b / 0.10);
460
+ --ae-color-warning-border-subtle: rgb(from var(--ae-yellow) r g b / 0.30);
461
+ --ae-color-warning-text-emphasis: var(--ae-yellow-300);
462
+
463
+ --ae-color-info-bg-subtle: rgb(from var(--ae-cyan) r g b / 0.10);
464
+ --ae-color-info-border-subtle: rgb(from var(--ae-cyan) r g b / 0.30);
465
+ --ae-color-info-text-emphasis: var(--ae-cyan-300);
466
+
467
+ --ae-color-secondary-bg-subtle: rgb(from var(--ae-slate) r g b / 0.10);
468
+ --ae-color-secondary-border-subtle: rgb(from var(--ae-slate) r g b / 0.30);
469
+ --ae-color-secondary-text-emphasis: var(--ae-slate-300);
470
+
471
+ --ae-color-light-bg-subtle: rgb(from var(--ae-light) r g b / 0.20);
472
+ --ae-color-light-border-subtle: rgb(from var(--ae-light) r g b / 0.25);
473
+
474
+ --ae-color-dark-bg-subtle: rgb(from var(--ae-dark) r g b / 0.30);
475
+ --ae-color-dark-border-subtle: rgb(from var(--ae-dark) r g b / 0.50);
476
+
477
+ /* Component tokens \u2014 dark overrides */
478
+ --ae-action-btn-bg: var(--ae-color-gray);
479
+ --ae-action-btn-bg-hover: color-mix(in srgb, var(--ae-blue) 25%, var(--ae-gray-800));
480
+ --ae-action-btn-color: var(--ae-gray-400);
481
+ --ae-action-btn-color-hover: var(--ae-cyan-300);
482
+ --ae-clear-btn-bg-hover: color-mix(in srgb, var(--ae-red) 25%, var(--ae-gray-800));
483
+ --ae-clear-btn-color-hover: var(--ae-red-300);
484
+ }
485
+ `;
486
+ }
487
+ });
488
+
489
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/tree-item.css
490
+ var require_tree_item = __commonJS({
491
+ "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/tree-item.css"(exports2, module2) {
492
+ module2.exports = ":host {\n display: block;\n --ae-tree-indent: 1.25rem;\n --tree-item-height: 2rem;\n --tree-item-font-size: 0.9375rem;\n --tree-item-color: var(--ae-color-text-main, #343a40);\n --tree-item-color-disabled: var(--ae-color-text-disabled, #bbb);\n --tree-item-bg-hover: var(--ae-surface-raised, rgba(0, 0, 0, 0.04));\n --tree-item-bg-selected: var(--ae-color-primary-bg-subtle, rgba(14, 99, 156, 0.08));\n --tree-item-color-selected: var(--ae-color-primary, #0e639c);\n --tree-item-line-color: var(--ae-border-default, rgba(0, 0, 0, 0.15));\n --tree-item-expand-size: 1rem;\n}\n\n.tree-item-content {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n height: var(--tree-item-height);\n padding-left: calc(var(--ae-tree-indent) * var(--depth, 0) + 0.25rem);\n padding-right: 0.5rem;\n font-size: var(--tree-item-font-size);\n color: var(--tree-item-color);\n cursor: pointer;\n user-select: none;\n border-radius: var(--ae-border-radius, var(--ae-radius-sm));\n transition: background 0.1s, color 0.1s;\n box-sizing: border-box;\n}\n\n.tree-item-content:hover {\n background: var(--tree-item-bg-hover);\n}\n\n.expand-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--tree-item-expand-size);\n height: var(--tree-item-expand-size);\n padding: 0;\n border: none;\n background: transparent;\n color: inherit;\n cursor: pointer;\n border-radius: var(--ae-border-radius, var(--ae-radius-sm));\n transition: transform 0.18s;\n outline: none;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.expand-btn:focus-visible {\n outline: 2px solid var(--ae-color-primary, #0e639c);\n outline-offset: 1px;\n}\n\n.expand-btn svg,\n.expand-btn ae-icon {\n display: block;\n width: 0.625rem;\n height: 0.625rem;\n fill: currentColor;\n transition: transform 0.18s;\n}\n\n/* ae-icon uses font-size for its internal sizing */\n.expand-btn ae-icon,\n.expand-placeholder ae-icon {\n font-size: 0.625rem;\n}\n\n:host([expanded]) .expand-btn svg,\n:host([expanded]) .expand-btn ae-icon {\n transform: rotate(90deg);\n}\n\n/* Leaf placeholder keeps alignment consistent */\n.expand-placeholder {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--tree-item-expand-size);\n height: var(--tree-item-expand-size);\n}\n\n.tree-item-checkbox {\n flex-shrink: 0;\n width: 0.875rem;\n height: 0.875rem;\n margin: 0;\n cursor: pointer;\n accent-color: var(--ae-color-primary, #0e639c);\n}\n\n.tree-item-label {\n display: inline-flex;\n align-items: center;\n flex: 1;\n min-width: 0;\n height: 100%;\n padding: 0 0.25rem;\n border: none;\n background: transparent;\n color: inherit;\n font-size: inherit;\n font-family: inherit;\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n outline: none;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.tree-item-label:focus-visible {\n outline: 2px solid var(--ae-color-primary, #0e639c);\n outline-offset: -2px;\n border-radius: var(--ae-border-radius, var(--ae-radius-sm));\n}\n\n:host([selected]) .tree-item-content {\n background: var(--tree-item-bg-selected);\n color: var(--tree-item-color-selected);\n}\n\n:host([disabled]) .tree-item-content {\n color: var(--tree-item-color-disabled);\n cursor: not-allowed;\n}\n\n:host([disabled]) .tree-item-content * {\n pointer-events: none;\n}\n\n.tree-item-children {\n display: none;\n}\n\n:host([expanded]) .tree-item-children {\n display: block;\n}\n\n:host([showline]) .tree-item-children {\n margin-left: calc(var(--ae-tree-indent) * var(--depth, 0) + 0.25rem + calc(var(--tree-item-expand-size) / 2));\n padding-left: calc(var(--ae-tree-indent) - calc(var(--tree-item-expand-size) / 2));\n border-left: 1px dashed var(--tree-item-line-color);\n}\n";
493
+ }
494
+ });
495
+
496
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/size.css
497
+ var require_size = __commonJS({
498
+ "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/size.css"(exports2, module2) {
499
+ module2.exports = ':host([size="xs"]) { font-size: var(--ae-size-xs); }\n:host([size="sm"]) { font-size: var(--ae-size-s); }\n:host([size="md"]) { font-size: var(--ae-size-m); }\n:host([size="lg"]) { font-size: var(--ae-size-l); }\n:host([size="xl"]) { font-size: var(--ae-size-xl); }\n:host([size="3xs"]) { font-size: var(--ae-size-3xs); }\n:host([size="2xs"]) { font-size: var(--ae-size-2xs); }\n';
500
+ }
501
+ });
502
+
503
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/color.css
504
+ var require_color = __commonJS({
505
+ "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/color.css"(exports2, module2) {
506
+ module2.exports = ':host {\n --ae-color-solid: var(--ae-color-gray);\n --ae-color-solid-hover: color-mix(in srgb, var(--ae-color-solid), var(--ae-color-mix-hover));\n --ae-color-solid-active: color-mix(in srgb, var(--ae-color-solid), var(--ae-color-mix-active));\n --ae-color-on-solid: var(--ae-color-text-main);\n --ae-color-border: var(--ae-color-gray);\n --ae-color-border-hover: color-mix(in srgb, var(--ae-color-border), var(--ae-color-mix-hover));\n --ae-color-accent: var(--ae-color-text-muted);\n --ae-color-accent-hover: var(--ae-color-text-main);\n --ae-color-subtle: var(--ae-border-subtle);\n --ae-color-subtle-hover: var(--ae-border-default);\n --ae-color-bg-subtle: var(--ae-border-subtle);\n --ae-color-text-subtle: var(--ae-color-text-muted);\n --ae-color-border-subtle: var(--ae-border-default);\n}\n\n:host([color="primary"]) {\n --ae-color-solid: var(--ae-color-primary);\n --ae-color-on-solid: white;\n --ae-color-border: var(--ae-color-primary);\n --ae-color-accent: var(--ae-color-text-link);\n --ae-color-accent-hover: var(--ae-color-text-link-hover);\n --ae-color-subtle: var(--ae-color-primary-bg-subtle);\n --ae-color-subtle-hover: rgb(from var(--ae-blue) r g b / 0.15);\n --ae-color-bg-subtle: var(--ae-color-primary-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-primary-text-emphasis);\n --ae-color-border-subtle: var(--ae-color-primary-border-subtle);\n}\n\n:host([color="secondary"]) {\n --ae-color-solid: var(--ae-color-secondary);\n --ae-color-on-solid: white;\n --ae-color-border: var(--ae-color-secondary-hover);\n --ae-color-accent: var(--ae-color-secondary-text-emphasis);\n --ae-color-accent-hover: var(--ae-color-text-main);\n --ae-color-subtle: rgb(from var(--ae-slate) r g b / 0.06);\n --ae-color-subtle-hover: rgb(from var(--ae-slate) r g b / 0.12);\n --ae-color-bg-subtle: var(--ae-color-secondary-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-secondary-text-emphasis);\n --ae-color-border-subtle: var(--ae-color-secondary-border-subtle);\n}\n\n:host([color="success"]) {\n --ae-color-solid: var(--ae-color-success);\n --ae-color-on-solid: white;\n --ae-color-border: var(--ae-color-success);\n --ae-color-accent: var(--ae-color-success-text-emphasis);\n --ae-color-accent-hover: var(--ae-color-success-hover);\n --ae-color-subtle: var(--ae-color-success-bg-subtle);\n --ae-color-subtle-hover: rgb(from var(--ae-green) r g b / 0.15);\n --ae-color-bg-subtle: var(--ae-color-success-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-success-text-emphasis);\n --ae-color-border-subtle: var(--ae-color-success-border-subtle);\n}\n\n:host([color="danger"]) {\n --ae-color-solid: var(--ae-color-danger);\n --ae-color-on-solid: white;\n --ae-color-border: var(--ae-color-danger);\n --ae-color-accent: var(--ae-color-danger-text-emphasis);\n --ae-color-accent-hover: var(--ae-color-danger-hover);\n --ae-color-subtle: var(--ae-color-danger-bg-subtle);\n --ae-color-subtle-hover: rgb(from var(--ae-red) r g b / 0.15);\n --ae-color-bg-subtle: var(--ae-color-danger-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-danger-text-emphasis);\n --ae-color-border-subtle: var(--ae-color-danger-border-subtle);\n}\n\n:host([color="warning"]) {\n --ae-color-solid: var(--ae-color-warning);\n --ae-color-on-solid: var(--ae-gray-900);\n --ae-color-border: var(--ae-color-warning);\n --ae-color-accent: var(--ae-color-warning-text-emphasis);\n --ae-color-accent-hover: var(--ae-color-warning-hover);\n --ae-color-subtle: var(--ae-color-warning-bg-subtle);\n --ae-color-subtle-hover: rgb(from var(--ae-yellow) r g b / 0.15);\n --ae-color-bg-subtle: var(--ae-color-warning-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-warning-text-emphasis);\n --ae-color-border-subtle: var(--ae-color-warning-border-subtle);\n}\n\n:host([color="info"]) {\n --ae-color-solid: var(--ae-color-info);\n --ae-color-on-solid: white;\n --ae-color-border: var(--ae-color-info);\n --ae-color-accent: var(--ae-color-info-text-emphasis);\n --ae-color-accent-hover: var(--ae-color-info-hover);\n --ae-color-subtle: var(--ae-color-info-bg-subtle);\n --ae-color-subtle-hover: rgb(from var(--ae-cyan) r g b / 0.15);\n --ae-color-bg-subtle: var(--ae-color-info-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-info-text-emphasis);\n --ae-color-border-subtle: var(--ae-color-info-border-subtle);\n}\n\n:host([color="light"]) {\n --ae-color-solid: var(--ae-light);\n --ae-color-on-solid: var(--ae-gray-900);\n --ae-color-border: var(--ae-border-hover);\n --ae-color-subtle: var(--ae-color-light-bg-subtle);\n --ae-color-subtle-hover: var(--ae-color-light-border-subtle);\n --ae-color-bg-subtle: var(--ae-color-light-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-text-muted);\n --ae-color-border-subtle: var(--ae-color-light-border-subtle);\n}\n\n:host([color="dark"]) {\n --ae-color-solid: var(--ae-dark-500);\n --ae-color-on-solid: white;\n --ae-color-border: var(--ae-dark-500);\n --ae-color-accent: var(--ae-color-text-main);\n --ae-color-accent-hover: var(--ae-color-text-main);\n --ae-color-subtle: var(--ae-color-dark-bg-subtle);\n --ae-color-subtle-hover: var(--ae-color-dark-border-subtle);\n --ae-color-bg-subtle: var(--ae-color-dark-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-text-main);\n --ae-color-border-subtle: var(--ae-color-dark-border-subtle);\n}\n';
507
+ }
508
+ });
509
+
510
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/icon.css
511
+ var require_icon = __commonJS({
512
+ "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/icon.css"(exports2, module2) {
513
+ module2.exports = ":host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 20px;\n width: 1em;\n height: 1em;\n color: inherit;\n flex-shrink: 0;\n line-height: 0;\n vertical-align: middle;\n}\n\n:host([color]) {\n color: var(--ae-color-solid);\n}\n\n.icon-svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: var(--icon-fill, currentColor);\n stroke: var(--icon-stroke, none);\n stroke-width: var(--icon-stroke-width, 2);\n stroke-linecap: var(--icon-stroke-linecap, round);\n stroke-linejoin: var(--icon-stroke-linejoin, round);\n pointer-events: none;\n overflow: visible;\n}\n";
514
+ }
515
+ });
516
+
517
+ // src/tree/index.ts
518
+ var tree_exports = {};
519
+ __export(tree_exports, {
520
+ Tree: () => tree_default,
521
+ TreeItem: () => tree_item_default
522
+ });
523
+ module.exports = __toCommonJS(tree_exports);
524
+
525
+ // src/aeico-component.ts
526
+ var import_aeico = require("aeico");
527
+
528
+ // src/utils.ts
529
+ var SVG_NS = "http://www.w3.org/2000/svg";
530
+ function toKebab(str) {
531
+ const cleaned = str.replace(/^[_\d]+/, "");
532
+ return cleaned.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
533
+ }
534
+
535
+ // src/aeico-component.ts
536
+ var TAG_NAME_PREFIX = "ae";
537
+ var AeicoComponent = class extends import_aeico.AeicoElement {
538
+ static register(name) {
539
+ const tagName = name || `${TAG_NAME_PREFIX}-${this.tagName || toKebab(this.name)}`;
540
+ super.register(tagName);
541
+ }
542
+ };
543
+ var aeico_component_default = AeicoComponent;
544
+
545
+ // src/tree/tree.ts
546
+ var import_aeico4 = require("aeico");
547
+ var import_tree = __toESM(require_tree(), 1);
548
+ var import_variables3 = __toESM(require_variables(), 1);
549
+
550
+ // src/tree/tree-item.ts
551
+ var import_aeico3 = require("aeico");
552
+ var import_tree_item = __toESM(require_tree_item(), 1);
553
+ var import_variables2 = __toESM(require_variables(), 1);
554
+
555
+ // src/icon/icon.ts
556
+ var import_aeico2 = require("aeico");
557
+ var import_variables = __toESM(require_variables(), 1);
558
+ var import_size = __toESM(require_size(), 1);
559
+ var import_color = __toESM(require_color(), 1);
560
+ var import_icon = __toESM(require_icon(), 1);
561
+
562
+ // src/icon/defines.ts
563
+ var defaultViewBox = "0 0 24 24";
564
+
565
+ // src/icon/registry.ts
566
+ var IconRegistry = class {
567
+ static _icons = /* @__PURE__ */ new Map();
568
+ /** Names registered via addBuiltIn — can be overridden by user add() calls */
569
+ static _builtInKeys = /* @__PURE__ */ new Set();
570
+ /** Register user icons. Always takes priority over built-in icons. */
571
+ static add(icons) {
572
+ for (const [name, data] of Object.entries(icons)) {
573
+ if (typeof data === "string") {
574
+ this._icons.set(name, { paths: data, viewBox: defaultViewBox });
575
+ } else {
576
+ this._icons.set(name, data);
577
+ }
578
+ this._builtInKeys.delete(name);
579
+ }
580
+ }
581
+ /**
582
+ * Register built-in icons provided by the library.
583
+ * A built-in icon will NOT overwrite an icon already registered by the user.
584
+ */
585
+ static addBuiltIn(icons) {
586
+ for (const [name, data] of Object.entries(icons)) {
587
+ if (this._icons.has(name) && !this._builtInKeys.has(name)) continue;
588
+ if (typeof data === "string") {
589
+ this._icons.set(name, { paths: data, viewBox: defaultViewBox });
590
+ } else {
591
+ this._icons.set(name, data);
592
+ }
593
+ this._builtInKeys.add(name);
594
+ }
595
+ }
596
+ static get(name) {
597
+ return this._icons.get(name);
598
+ }
599
+ static has(name) {
600
+ return this._icons.has(name);
601
+ }
602
+ };
603
+ var registry_default = IconRegistry;
604
+
605
+ // src/icon/built-in-icons.ts
606
+ registry_default.addBuiltIn({
607
+ copy: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z",
608
+ check: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z",
609
+ "chevron-left": "M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z",
610
+ "chevron-right": "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z",
611
+ "chevron-up": "M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",
612
+ "chevron-down": "M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z",
613
+ "chevrons-left": "M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z",
614
+ "chevrons-right": "M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z",
615
+ close: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
616
+ });
617
+
618
+ // src/icon/icon.ts
619
+ var Icon = class extends aeico_component_default {
620
+ static tagName = "icon";
621
+ static props = {
622
+ name: { type: String },
623
+ size: { type: String },
624
+ color: { type: String },
625
+ stroke: { type: Boolean },
626
+ strokeWidth: { type: Number }
627
+ };
628
+ static styles = [import_variables.default, import_size.default, import_color.default, import_icon.default];
629
+ render() {
630
+ const def = this.name ? registry_default.get(this.name) : void 0;
631
+ const numericSize = Number(this.size);
632
+ if (this.size !== void 0 && !isNaN(numericSize) && numericSize > 0) {
633
+ this.style.setProperty("font-size", `${numericSize}px`);
634
+ } else {
635
+ this.style.removeProperty("font-size");
636
+ }
637
+ if (!def) return;
638
+ const { paths } = def;
639
+ const isMultiPath = Array.isArray(paths);
640
+ if (!isMultiPath) {
641
+ const useStroke = this.stroke ?? (this.strokeWidth !== void 0 ? true : def.stroke ?? false);
642
+ const useStrokeWidth = this.strokeWidth ?? def.strokeWidth ?? 2;
643
+ if (useStroke) {
644
+ this.style.setProperty("--icon-fill", "none");
645
+ this.style.setProperty("--icon-stroke", "currentColor");
646
+ this.style.setProperty("--icon-stroke-width", String(useStrokeWidth));
647
+ } else {
648
+ this.style.removeProperty("--icon-fill");
649
+ this.style.removeProperty("--icon-stroke");
650
+ this.style.removeProperty("--icon-stroke-width");
651
+ }
652
+ } else {
653
+ this.style.removeProperty("--icon-fill");
654
+ this.style.removeProperty("--icon-stroke");
655
+ this.style.removeProperty("--icon-stroke-width");
656
+ }
657
+ return (0, import_aeico2.html)(({ svg, path }) => {
658
+ svg(
659
+ {
660
+ className: "icon-svg",
661
+ viewBox: def.viewBox ?? defaultViewBox,
662
+ "aria-hidden": "true",
663
+ xmlns: SVG_NS
664
+ },
665
+ () => {
666
+ if (typeof paths === "string") {
667
+ path({ d: paths });
668
+ } else {
669
+ for (const p of paths) {
670
+ const attrs = { d: p.d };
671
+ if (p.fill) attrs.style = { fill: p.fill };
672
+ path(attrs);
673
+ }
674
+ }
675
+ }
676
+ );
677
+ });
678
+ }
679
+ };
680
+ Icon.register();
681
+
682
+ // src/tree/tree-item.ts
683
+ var _autoKeyCounter = 0;
684
+ var _indeterminate_dec, _checked_dec, _selected_dec, _expanded_dec, _disabled_dec, _icon_dec, _key_dec, _a, _init, _key, _icon, _disabled, _expanded, _selected, _checked, _indeterminate;
685
+ var TreeItem = class extends (_a = aeico_component_default, _key_dec = [(0, import_aeico3.prop)({ type: String })], _icon_dec = [(0, import_aeico3.prop)({ type: String })], _disabled_dec = [(0, import_aeico3.prop)({ type: Boolean })], _expanded_dec = [(0, import_aeico3.prop)({ type: Boolean })], _selected_dec = [(0, import_aeico3.prop)({ type: Boolean })], _checked_dec = [(0, import_aeico3.prop)({ type: Boolean })], _indeterminate_dec = [(0, import_aeico3.prop)({ type: Boolean })], _a) {
686
+ constructor() {
687
+ super(...arguments);
688
+ __privateAdd(this, _key, __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);
689
+ __privateAdd(this, _icon, __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);
690
+ /** Stable auto-generated key used when `key` prop is not set. */
691
+ __publicField(this, "_autoKey", `ae-tree-item-${_autoKeyCounter++}`);
692
+ __privateAdd(this, _disabled, __runInitializers(_init, 16, this, false)), __runInitializers(_init, 19, this);
693
+ __privateAdd(this, _expanded, __runInitializers(_init, 20, this, false)), __runInitializers(_init, 23, this);
694
+ __privateAdd(this, _selected, __runInitializers(_init, 24, this, false)), __runInitializers(_init, 27, this);
695
+ __privateAdd(this, _checked, __runInitializers(_init, 28, this, false)), __runInitializers(_init, 31, this);
696
+ __privateAdd(this, _indeterminate, __runInitializers(_init, 32, this, false)), __runInitializers(_init, 35, this);
697
+ __publicField(this, "_checkboxEl", null);
698
+ __publicField(this, "_handleExpandClick", (e) => {
699
+ e.stopPropagation();
700
+ if (this.disabled) return;
701
+ this.dispatchEvent(
702
+ new CustomEvent("_tree-item-toggle-expand", {
703
+ bubbles: true,
704
+ composed: true,
705
+ detail: { key: this._effectiveKey }
706
+ })
707
+ );
708
+ });
709
+ __publicField(this, "_handleLabelClick", () => {
710
+ if (this.disabled) return;
711
+ this.dispatchEvent(
712
+ new CustomEvent("_tree-item-select", {
713
+ bubbles: true,
714
+ composed: true,
715
+ detail: { key: this._effectiveKey }
716
+ })
717
+ );
718
+ });
719
+ __publicField(this, "_handleCheckChange", (e) => {
720
+ if (this.disabled) return;
721
+ const input = e.target;
722
+ this.dispatchEvent(
723
+ new CustomEvent("_tree-item-check", {
724
+ bubbles: true,
725
+ composed: true,
726
+ detail: { key: this._effectiveKey, checked: input.checked }
727
+ })
728
+ );
729
+ });
730
+ __publicField(this, "_handleKeydown", (e) => {
731
+ if (e.key === "Enter" || e.key === " ") {
732
+ e.preventDefault();
733
+ if (e.target.classList.contains("tree-item-label")) {
734
+ this._handleLabelClick();
735
+ }
736
+ }
737
+ if (e.key === "ArrowRight" && this._hasChildren && !this.expanded) {
738
+ this._handleExpandClick(e);
739
+ }
740
+ if (e.key === "ArrowLeft" && this.expanded) {
741
+ this._handleExpandClick(e);
742
+ }
743
+ });
744
+ }
745
+ get _effectiveKey() {
746
+ return this.key ?? this._autoKey;
747
+ }
748
+ connectedCallback() {
749
+ super.connectedCallback();
750
+ if (this.parentElement?.tagName.toLowerCase() === "ae-tree-item" && !this.hasAttribute("slot")) {
751
+ this.setAttribute("slot", "sub");
752
+ }
753
+ let depth = 0;
754
+ let el = this.parentElement;
755
+ while (el) {
756
+ const tag = el.tagName.toLowerCase();
757
+ if (tag === "ae-tree-item") {
758
+ depth++;
759
+ } else if (tag === "ae-tree") {
760
+ break;
761
+ }
762
+ el = el.parentElement;
763
+ }
764
+ this.style.setProperty("--depth", String(depth));
765
+ if (this._parentTree?.showLine) {
766
+ this.setAttribute("showline", "");
767
+ }
768
+ }
769
+ onMounted() {
770
+ if (this._parentTree?.defaultExpandAll && this._hasChildren) {
771
+ this.expanded = true;
772
+ }
773
+ }
774
+ get _parentTree() {
775
+ return this.closest("ae-tree");
776
+ }
777
+ get _isCheckable() {
778
+ return this._parentTree?.checkable ?? false;
779
+ }
780
+ get _hasChildren() {
781
+ return !!this.querySelector(':scope > ae-tree-item[slot="sub"]');
782
+ }
783
+ onUpdated() {
784
+ if (this._checkboxEl) {
785
+ this._checkboxEl.checked = this.checked;
786
+ this._checkboxEl.indeterminate = this.indeterminate;
787
+ }
788
+ }
789
+ render() {
790
+ const hasChildren = this._hasChildren;
791
+ const isCheckable = this._isCheckable;
792
+ const expandIcon = this.icon ?? this._parentTree?.icon;
793
+ return (0, import_aeico3.html)(({ div, button, span, input, slot, svg, path, aeIcon }) => {
794
+ div(
795
+ {
796
+ className: "tree-item-content",
797
+ role: "treeitem",
798
+ "aria-expanded": hasChildren ? String(this.expanded) : void 0,
799
+ "aria-selected": String(this.selected),
800
+ "aria-disabled": this.disabled ? "true" : void 0
801
+ },
802
+ () => {
803
+ if (hasChildren) {
804
+ button(
805
+ {
806
+ type: "button",
807
+ className: "expand-btn",
808
+ tabIndex: -1,
809
+ "aria-hidden": "true",
810
+ "@click": this._handleExpandClick
811
+ },
812
+ () => {
813
+ if (expandIcon) {
814
+ aeIcon({ className: "expand-icon", name: expandIcon });
815
+ } else {
816
+ svg(
817
+ {
818
+ className: "expand-icon",
819
+ viewBox: "0 0 10 10",
820
+ "aria-hidden": "true",
821
+ xmlns: SVG_NS
822
+ },
823
+ () => {
824
+ path({ d: "M2 1l6 4-6 4V1z" });
825
+ }
826
+ );
827
+ }
828
+ }
829
+ );
830
+ } else {
831
+ span({ className: "expand-placeholder", "aria-hidden": "true" });
832
+ }
833
+ if (isCheckable) {
834
+ this._checkboxEl = input({
835
+ type: "checkbox",
836
+ className: "tree-item-checkbox",
837
+ checked: this.checked,
838
+ disabled: this.disabled,
839
+ tabIndex: -1,
840
+ "@change": this._handleCheckChange
841
+ });
842
+ }
843
+ button(
844
+ {
845
+ type: "button",
846
+ className: "tree-item-label",
847
+ disabled: this.disabled,
848
+ "@click": this._handleLabelClick,
849
+ "@keydown": this._handleKeydown
850
+ },
851
+ () => {
852
+ slot();
853
+ }
854
+ );
855
+ }
856
+ );
857
+ div({ className: "tree-item-children", role: "group" }, () => {
858
+ slot({ name: "sub" });
859
+ });
860
+ });
861
+ }
862
+ };
863
+ _init = __decoratorStart(_a);
864
+ _key = new WeakMap();
865
+ _icon = new WeakMap();
866
+ _disabled = new WeakMap();
867
+ _expanded = new WeakMap();
868
+ _selected = new WeakMap();
869
+ _checked = new WeakMap();
870
+ _indeterminate = new WeakMap();
871
+ __decorateElement(_init, 4, "key", _key_dec, TreeItem, _key);
872
+ __decorateElement(_init, 4, "icon", _icon_dec, TreeItem, _icon);
873
+ __decorateElement(_init, 4, "disabled", _disabled_dec, TreeItem, _disabled);
874
+ __decorateElement(_init, 4, "expanded", _expanded_dec, TreeItem, _expanded);
875
+ __decorateElement(_init, 4, "selected", _selected_dec, TreeItem, _selected);
876
+ __decorateElement(_init, 4, "checked", _checked_dec, TreeItem, _checked);
877
+ __decorateElement(_init, 4, "indeterminate", _indeterminate_dec, TreeItem, _indeterminate);
878
+ __decoratorMetadata(_init, TreeItem);
879
+ __publicField(TreeItem, "tagName", "tree-item");
880
+ __publicField(TreeItem, "styles", [import_variables2.default, import_tree_item.default]);
881
+ TreeItem.register();
882
+ var tree_item_default = TreeItem;
883
+
884
+ // src/tree/tree.ts
885
+ var _icon_dec2, _selectedKey_dec, _defaultExpandAll_dec, _showLine_dec, _multiple_dec, _checkable_dec, _a2, _init2, _checkable, _multiple, _showLine, _defaultExpandAll, _selectedKey, _icon2;
886
+ var Tree = class extends (_a2 = aeico_component_default, _checkable_dec = [(0, import_aeico4.prop)({ type: Boolean })], _multiple_dec = [(0, import_aeico4.prop)({ type: Boolean })], _showLine_dec = [(0, import_aeico4.prop)({ type: Boolean })], _defaultExpandAll_dec = [(0, import_aeico4.prop)({ type: Boolean })], _selectedKey_dec = [(0, import_aeico4.prop)({ type: String })], _icon_dec2 = [(0, import_aeico4.prop)({ type: String })], _a2) {
887
+ constructor() {
888
+ super(...arguments);
889
+ __privateAdd(this, _checkable, __runInitializers(_init2, 8, this, false)), __runInitializers(_init2, 11, this);
890
+ __privateAdd(this, _multiple, __runInitializers(_init2, 12, this, false)), __runInitializers(_init2, 15, this);
891
+ __privateAdd(this, _showLine, __runInitializers(_init2, 16, this, false)), __runInitializers(_init2, 19, this);
892
+ __privateAdd(this, _defaultExpandAll, __runInitializers(_init2, 20, this, false)), __runInitializers(_init2, 23, this);
893
+ __privateAdd(this, _selectedKey, __runInitializers(_init2, 24, this)), __runInitializers(_init2, 27, this);
894
+ __privateAdd(this, _icon2, __runInitializers(_init2, 28, this)), __runInitializers(_init2, 31, this);
895
+ /** Currently selected keys (multi-select). Set programmatically. */
896
+ __publicField(this, "selectedKeys", []);
897
+ /** Currently checked keys (checkable mode). Set programmatically. */
898
+ __publicField(this, "checkedKeys", []);
899
+ /** Currently expanded keys. Set programmatically. */
900
+ __publicField(this, "expandedKeys", []);
901
+ __publicField(this, "_handleItemToggleExpand", (e) => {
902
+ const node = e.target;
903
+ const newExpanded = !node.expanded;
904
+ node.expanded = newExpanded;
905
+ const key = node.key ?? "";
906
+ if (newExpanded) {
907
+ if (!this.expandedKeys.includes(key)) {
908
+ this.expandedKeys = [...this.expandedKeys, key];
909
+ }
910
+ } else {
911
+ this.expandedKeys = this.expandedKeys.filter((k) => k !== key);
912
+ }
913
+ this.emit("expand", {
914
+ detail: {
915
+ key,
916
+ expanded: newExpanded,
917
+ expandedKeys: [...this.expandedKeys]
918
+ }
919
+ });
920
+ });
921
+ __publicField(this, "_handleItemSelect", (e) => {
922
+ const { key } = e.detail;
923
+ if (this.multiple) {
924
+ const alreadySelected = this.selectedKeys.includes(key);
925
+ if (alreadySelected) {
926
+ this.selectedKeys = this.selectedKeys.filter((k) => k !== key);
927
+ } else {
928
+ this.selectedKeys = [...this.selectedKeys, key];
929
+ }
930
+ this.selectedKey = this.selectedKeys[this.selectedKeys.length - 1];
931
+ this._getAllItems().forEach((item) => {
932
+ item.selected = this.selectedKeys.includes(item.key ?? "");
933
+ });
934
+ this.emit("select", {
935
+ detail: {
936
+ key,
937
+ selected: !alreadySelected,
938
+ selectedKeys: [...this.selectedKeys]
939
+ }
940
+ });
941
+ } else {
942
+ const alreadySelected = this.selectedKey === key;
943
+ this._getAllItems().forEach((item) => {
944
+ item.selected = !alreadySelected && item.key === key;
945
+ });
946
+ this.selectedKey = alreadySelected ? void 0 : key;
947
+ this.selectedKeys = this.selectedKey ? [this.selectedKey] : [];
948
+ this.emit("select", {
949
+ detail: {
950
+ key,
951
+ selected: !alreadySelected,
952
+ selectedKeys: [...this.selectedKeys]
953
+ }
954
+ });
955
+ }
956
+ });
957
+ __publicField(this, "_handleItemCheck", (e) => {
958
+ const { key, checked } = e.detail;
959
+ const sourceNode = e.target;
960
+ this._setCheckedRecursive(sourceNode, checked);
961
+ this._syncAncestors(sourceNode);
962
+ this.checkedKeys = this._computeCheckedKeys();
963
+ this.emit("check", {
964
+ detail: { key, checked, checkedKeys: [...this.checkedKeys] }
965
+ });
966
+ });
967
+ }
968
+ connectedCallback() {
969
+ super.connectedCallback();
970
+ this.listen("_tree-item-toggle-expand", this._handleItemToggleExpand);
971
+ this.listen("_tree-item-select", this._handleItemSelect);
972
+ this.listen("_tree-item-check", this._handleItemCheck);
973
+ }
974
+ _getAllItems() {
975
+ return Array.from(this.querySelectorAll("ae-tree-item"));
976
+ }
977
+ _getDirectChildren(node) {
978
+ return Array.from(node.querySelectorAll(":scope > ae-tree-item"));
979
+ }
980
+ _computeCheckedKeys() {
981
+ const keys = [];
982
+ for (const item of this._getAllItems()) {
983
+ if (item.checked && !item.indeterminate) {
984
+ keys.push(item.key ?? "");
985
+ }
986
+ }
987
+ return keys.filter(Boolean);
988
+ }
989
+ _setCheckedRecursive(node, checked) {
990
+ if (node.disabled) return;
991
+ node.checked = checked;
992
+ node.indeterminate = false;
993
+ for (const child of this._getDirectChildren(node)) {
994
+ this._setCheckedRecursive(child, checked);
995
+ }
996
+ }
997
+ _syncAncestors(sourceNode) {
998
+ let el = sourceNode.parentElement;
999
+ while (el) {
1000
+ const tag = el.tagName.toLowerCase();
1001
+ if (tag === "ae-tree-item") {
1002
+ const parent = el;
1003
+ const children = this._getDirectChildren(parent).filter((c) => !c.disabled);
1004
+ if (children.length === 0) break;
1005
+ const checkedCount = children.filter((c) => c.checked && !c.indeterminate).length;
1006
+ const indeterminateCount = children.filter((c) => c.indeterminate).length;
1007
+ if (checkedCount === children.length) {
1008
+ parent.checked = true;
1009
+ parent.indeterminate = false;
1010
+ } else if (checkedCount > 0 || indeterminateCount > 0) {
1011
+ parent.checked = false;
1012
+ parent.indeterminate = true;
1013
+ } else {
1014
+ parent.checked = false;
1015
+ parent.indeterminate = false;
1016
+ }
1017
+ } else if (tag === "ae-tree") {
1018
+ break;
1019
+ }
1020
+ el = el.parentElement;
1021
+ }
1022
+ }
1023
+ render() {
1024
+ return (0, import_aeico4.html)(({ div, slot }) => {
1025
+ div(
1026
+ {
1027
+ className: "tree",
1028
+ role: "tree",
1029
+ "aria-multiselectable": this.multiple ? "true" : "false"
1030
+ },
1031
+ () => {
1032
+ slot();
1033
+ }
1034
+ );
1035
+ });
1036
+ }
1037
+ };
1038
+ _init2 = __decoratorStart(_a2);
1039
+ _checkable = new WeakMap();
1040
+ _multiple = new WeakMap();
1041
+ _showLine = new WeakMap();
1042
+ _defaultExpandAll = new WeakMap();
1043
+ _selectedKey = new WeakMap();
1044
+ _icon2 = new WeakMap();
1045
+ __decorateElement(_init2, 4, "checkable", _checkable_dec, Tree, _checkable);
1046
+ __decorateElement(_init2, 4, "multiple", _multiple_dec, Tree, _multiple);
1047
+ __decorateElement(_init2, 4, "showLine", _showLine_dec, Tree, _showLine);
1048
+ __decorateElement(_init2, 4, "defaultExpandAll", _defaultExpandAll_dec, Tree, _defaultExpandAll);
1049
+ __decorateElement(_init2, 4, "selectedKey", _selectedKey_dec, Tree, _selectedKey);
1050
+ __decorateElement(_init2, 4, "icon", _icon_dec2, Tree, _icon2);
1051
+ __decoratorMetadata(_init2, Tree);
1052
+ __publicField(Tree, "tagName", "tree");
1053
+ __publicField(Tree, "styles", [import_variables3.default, import_tree.default]);
1054
+ Tree.register();
1055
+ var tree_default = Tree;
1056
+ // Annotate the CommonJS export names for ESM import in node:
1057
+ 0 && (module.exports = {
1058
+ Tree,
1059
+ TreeItem
1060
+ });
6
1061
  //# sourceMappingURL=tree.cjs.map