aeico-components 0.1.4 → 0.1.6

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 (299) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +0 -0
  3. package/dist/chunks/action-button.cjs +296 -0
  4. package/dist/chunks/action-button.cjs.map +1 -0
  5. package/dist/chunks/action-button.js +297 -0
  6. package/dist/chunks/action-button.js.map +1 -0
  7. package/dist/chunks/alert.cjs +4 -4
  8. package/dist/chunks/alert.cjs.map +1 -1
  9. package/dist/chunks/alert.js +5 -5
  10. package/dist/chunks/alert.js.map +1 -1
  11. package/dist/chunks/badge.cjs +1 -1
  12. package/dist/chunks/badge.cjs.map +1 -1
  13. package/dist/chunks/badge.js +2 -2
  14. package/dist/chunks/badge.js.map +1 -1
  15. package/dist/chunks/breadcrumb-item.cjs +2 -2
  16. package/dist/chunks/breadcrumb-item.cjs.map +1 -1
  17. package/dist/chunks/breadcrumb-item.js +3 -3
  18. package/dist/chunks/breadcrumb-item.js.map +1 -1
  19. package/dist/chunks/button-group.cjs +1 -1
  20. package/dist/chunks/button-group.cjs.map +1 -1
  21. package/dist/chunks/button-group.js +2 -2
  22. package/dist/chunks/button-group.js.map +1 -1
  23. package/dist/chunks/button.cjs +12 -15
  24. package/dist/chunks/button.cjs.map +1 -1
  25. package/dist/chunks/button.js +13 -16
  26. package/dist/chunks/button.js.map +1 -1
  27. package/dist/chunks/card.cjs +1 -1
  28. package/dist/chunks/card.cjs.map +1 -1
  29. package/dist/chunks/card.js +2 -2
  30. package/dist/chunks/card.js.map +1 -1
  31. package/dist/chunks/checkbox.cjs +18 -5
  32. package/dist/chunks/checkbox.cjs.map +1 -1
  33. package/dist/chunks/checkbox.js +18 -5
  34. package/dist/chunks/checkbox.js.map +1 -1
  35. package/dist/chunks/copy-button.cjs +168 -0
  36. package/dist/chunks/copy-button.cjs.map +1 -0
  37. package/dist/chunks/copy-button.js +169 -0
  38. package/dist/chunks/copy-button.js.map +1 -0
  39. package/dist/chunks/detail.cjs +7 -4
  40. package/dist/chunks/detail.cjs.map +1 -1
  41. package/dist/chunks/detail.js +8 -5
  42. package/dist/chunks/detail.js.map +1 -1
  43. package/dist/chunks/dialog.cjs +1 -1
  44. package/dist/chunks/dialog.cjs.map +1 -1
  45. package/dist/chunks/dialog.js +2 -2
  46. package/dist/chunks/dialog.js.map +1 -1
  47. package/dist/chunks/divider.cjs +1 -1
  48. package/dist/chunks/divider.cjs.map +1 -1
  49. package/dist/chunks/divider.js +2 -2
  50. package/dist/chunks/divider.js.map +1 -1
  51. package/dist/chunks/drawer.cjs +180 -0
  52. package/dist/chunks/drawer.cjs.map +1 -0
  53. package/dist/chunks/drawer.js +181 -0
  54. package/dist/chunks/drawer.js.map +1 -0
  55. package/dist/chunks/dropdown-button.cjs +2 -2
  56. package/dist/chunks/dropdown-button.cjs.map +1 -1
  57. package/dist/chunks/dropdown-button.js +6 -6
  58. package/dist/chunks/dropdown-button.js.map +1 -1
  59. package/dist/chunks/icon.cjs +31 -1
  60. package/dist/chunks/icon.cjs.map +1 -1
  61. package/dist/chunks/icon.js +32 -2
  62. package/dist/chunks/icon.js.map +1 -1
  63. package/dist/chunks/menu.cjs +396 -0
  64. package/dist/chunks/menu.cjs.map +1 -0
  65. package/dist/chunks/menu.js +397 -0
  66. package/dist/chunks/menu.js.map +1 -0
  67. package/dist/chunks/navbar.cjs +2 -3
  68. package/dist/chunks/navbar.cjs.map +1 -1
  69. package/dist/chunks/navbar.js +3 -4
  70. package/dist/chunks/navbar.js.map +1 -1
  71. package/dist/chunks/pagination.cjs +475 -0
  72. package/dist/chunks/pagination.cjs.map +1 -0
  73. package/dist/chunks/pagination.js +476 -0
  74. package/dist/chunks/pagination.js.map +1 -0
  75. package/dist/chunks/progress-bar.cjs +101 -0
  76. package/dist/chunks/progress-bar.cjs.map +1 -0
  77. package/dist/chunks/progress-bar.js +102 -0
  78. package/dist/chunks/progress-bar.js.map +1 -0
  79. package/dist/chunks/radio.cjs +11 -7
  80. package/dist/chunks/radio.cjs.map +1 -1
  81. package/dist/chunks/radio.js +11 -7
  82. package/dist/chunks/radio.js.map +1 -1
  83. package/dist/chunks/select.cjs +97 -66
  84. package/dist/chunks/select.cjs.map +1 -1
  85. package/dist/chunks/select.js +97 -66
  86. package/dist/chunks/select.js.map +1 -1
  87. package/dist/chunks/slider.cjs +9 -46
  88. package/dist/chunks/slider.cjs.map +1 -1
  89. package/dist/chunks/slider.js +9 -46
  90. package/dist/chunks/slider.js.map +1 -1
  91. package/dist/chunks/spinner.cjs +102 -0
  92. package/dist/chunks/spinner.cjs.map +1 -0
  93. package/dist/chunks/spinner.js +103 -0
  94. package/dist/chunks/spinner.js.map +1 -0
  95. package/dist/chunks/switch.cjs +110 -16
  96. package/dist/chunks/switch.cjs.map +1 -1
  97. package/dist/chunks/switch.js +111 -17
  98. package/dist/chunks/switch.js.map +1 -1
  99. package/dist/chunks/tab-panel.cjs +6 -7
  100. package/dist/chunks/tab-panel.cjs.map +1 -1
  101. package/dist/chunks/tab-panel.js +7 -8
  102. package/dist/chunks/tab-panel.js.map +1 -1
  103. package/dist/chunks/tag.cjs +1 -1
  104. package/dist/chunks/tag.cjs.map +1 -1
  105. package/dist/chunks/tag.js +2 -2
  106. package/dist/chunks/tag.js.map +1 -1
  107. package/dist/chunks/text-input.cjs +11 -16
  108. package/dist/chunks/text-input.cjs.map +1 -1
  109. package/dist/chunks/text-input.js +11 -16
  110. package/dist/chunks/text-input.js.map +1 -1
  111. package/dist/chunks/textarea.cjs +137 -0
  112. package/dist/chunks/textarea.cjs.map +1 -0
  113. package/dist/chunks/textarea.js +138 -0
  114. package/dist/chunks/textarea.js.map +1 -0
  115. package/dist/chunks/tooltip.cjs +293 -0
  116. package/dist/chunks/tooltip.cjs.map +1 -0
  117. package/dist/chunks/tooltip.js +294 -0
  118. package/dist/chunks/tooltip.js.map +1 -0
  119. package/dist/chunks/tree.cjs +468 -0
  120. package/dist/chunks/tree.cjs.map +1 -0
  121. package/dist/chunks/tree.js +469 -0
  122. package/dist/chunks/tree.js.map +1 -0
  123. package/dist/chunks/variables.cjs +2 -2
  124. package/dist/chunks/variables.js +2 -2
  125. package/dist/copy-button.cjs +6 -0
  126. package/dist/copy-button.cjs.map +1 -0
  127. package/dist/copy-button.js +6 -0
  128. package/dist/copy-button.js.map +1 -0
  129. package/dist/drawer.cjs +6 -0
  130. package/dist/drawer.cjs.map +1 -0
  131. package/dist/drawer.js +6 -0
  132. package/dist/drawer.js.map +1 -0
  133. package/dist/dropdown.js +4 -4
  134. package/dist/index.cjs +186 -0
  135. package/dist/index.cjs.map +1 -1
  136. package/dist/index.js +201 -15
  137. package/dist/index.js.map +1 -1
  138. package/dist/menu.cjs +6 -0
  139. package/dist/menu.cjs.map +1 -0
  140. package/dist/menu.js +6 -0
  141. package/dist/menu.js.map +1 -0
  142. package/dist/pagination.cjs +6 -0
  143. package/dist/pagination.cjs.map +1 -0
  144. package/dist/pagination.js +6 -0
  145. package/dist/pagination.js.map +1 -0
  146. package/dist/progress-bar.cjs +6 -0
  147. package/dist/progress-bar.cjs.map +1 -0
  148. package/dist/progress-bar.js +6 -0
  149. package/dist/progress-bar.js.map +1 -0
  150. package/dist/select.cjs +1 -1
  151. package/dist/select.cjs.map +1 -1
  152. package/dist/select.js +2 -2
  153. package/dist/select.js.map +1 -1
  154. package/dist/spinner.cjs +6 -0
  155. package/dist/spinner.cjs.map +1 -0
  156. package/dist/spinner.js +6 -0
  157. package/dist/spinner.js.map +1 -0
  158. package/dist/textarea.cjs +5 -0
  159. package/dist/textarea.cjs.map +1 -0
  160. package/dist/textarea.js +5 -0
  161. package/dist/textarea.js.map +1 -0
  162. package/dist/tooltip.cjs +6 -0
  163. package/dist/tooltip.cjs.map +1 -0
  164. package/dist/tooltip.js +6 -0
  165. package/dist/tooltip.js.map +1 -0
  166. package/dist/tree.cjs +6 -0
  167. package/dist/tree.cjs.map +1 -0
  168. package/dist/tree.js +6 -0
  169. package/dist/tree.js.map +1 -0
  170. package/dist/types/aeico-field.d.ts +57 -5
  171. package/dist/types/alert/alert.d.ts +1 -0
  172. package/dist/types/button/button.d.ts +2 -1
  173. package/dist/types/checkbox/checkbox.d.ts +5 -5
  174. package/dist/types/copy-button/copy-button.d.ts +32 -0
  175. package/dist/types/copy-button/defines.d.ts +1 -0
  176. package/dist/types/copy-button/index.d.ts +3 -0
  177. package/dist/types/detail/defines.d.ts +1 -0
  178. package/dist/types/detail/detail.d.ts +3 -1
  179. package/dist/types/detail/index.d.ts +1 -1
  180. package/dist/types/detail-group/detail-group.d.ts +39 -0
  181. package/dist/types/detail-group/index.d.ts +2 -0
  182. package/dist/types/drawer/defines.d.ts +1 -0
  183. package/dist/types/drawer/drawer.d.ts +31 -0
  184. package/dist/types/drawer/index.d.ts +3 -0
  185. package/dist/types/icon/built-in-icons.d.ts +1 -0
  186. package/dist/types/icon/icon.d.ts +1 -0
  187. package/dist/types/icon/registry.d.ts +8 -0
  188. package/dist/types/index.d.ts +19 -0
  189. package/dist/types/menu/defines.d.ts +15 -0
  190. package/dist/types/menu/index.d.ts +5 -0
  191. package/dist/types/menu/menu-item.d.ts +63 -0
  192. package/dist/types/menu/menu.d.ts +34 -0
  193. package/dist/types/number-input/index.d.ts +2 -0
  194. package/dist/types/number-input/number-input.d.ts +35 -0
  195. package/dist/types/pagination/defines.d.ts +2 -0
  196. package/dist/types/pagination/index.d.ts +3 -0
  197. package/dist/types/pagination/pagination.d.ts +77 -0
  198. package/dist/types/progress-bar/defines.d.ts +1 -0
  199. package/dist/types/progress-bar/index.d.ts +3 -0
  200. package/dist/types/progress-bar/progress-bar.d.ts +37 -0
  201. package/dist/types/radio-group/radio-group.d.ts +1 -1
  202. package/dist/types/select/select.d.ts +3 -3
  203. package/dist/types/spinner/defines.d.ts +3 -0
  204. package/dist/types/spinner/index.d.ts +3 -0
  205. package/dist/types/spinner/spinner.d.ts +35 -0
  206. package/dist/types/switch/defines.d.ts +1 -0
  207. package/dist/types/switch/switch.d.ts +13 -9
  208. package/dist/types/text-input/text-input.d.ts +0 -4
  209. package/dist/types/textarea/index.d.ts +1 -0
  210. package/dist/types/textarea/textarea.d.ts +26 -0
  211. package/dist/types/tooltip/defines.d.ts +2 -0
  212. package/dist/types/tooltip/index.d.ts +4 -0
  213. package/dist/types/tooltip/tooltip.d.ts +48 -0
  214. package/dist/types/tree/defines.d.ts +23 -0
  215. package/dist/types/tree/index.d.ts +5 -0
  216. package/dist/types/tree/tree-item.d.ts +54 -0
  217. package/dist/types/tree/tree.d.ts +64 -0
  218. package/package.json +6 -6
  219. package/src/aeico-field.ts +154 -15
  220. package/src/alert/alert.ts +3 -2
  221. package/src/button/button.ts +11 -13
  222. package/src/checkbox/checkbox.ts +21 -6
  223. package/src/copy-button/copy-button.ts +146 -0
  224. package/src/copy-button/defines.ts +5 -0
  225. package/src/copy-button/index.ts +3 -0
  226. package/src/detail/defines.ts +1 -0
  227. package/src/detail/detail.ts +5 -1
  228. package/src/detail/index.ts +1 -1
  229. package/src/detail-group/detail-group.ts +104 -0
  230. package/src/detail-group/index.ts +2 -0
  231. package/src/drawer/defines.ts +1 -0
  232. package/src/drawer/drawer.ts +157 -0
  233. package/src/drawer/index.ts +3 -0
  234. package/src/icon/built-in-icons.ts +21 -0
  235. package/src/icon/icon.ts +1 -0
  236. package/src/icon/registry.ts +22 -0
  237. package/src/index.ts +32 -0
  238. package/src/menu/defines.ts +17 -0
  239. package/src/menu/index.ts +5 -0
  240. package/src/menu/menu-item.ts +315 -0
  241. package/src/menu/menu.ts +81 -0
  242. package/src/navbar/navbar.ts +1 -3
  243. package/src/number-input/index.ts +2 -0
  244. package/src/number-input/number-input.ts +137 -0
  245. package/src/pagination/defines.ts +2 -0
  246. package/src/pagination/index.ts +3 -0
  247. package/src/pagination/pagination.ts +310 -0
  248. package/src/progress-bar/defines.ts +8 -0
  249. package/src/progress-bar/index.ts +3 -0
  250. package/src/progress-bar/progress-bar.ts +80 -0
  251. package/src/radio-group/radio-group.ts +12 -5
  252. package/src/select/select.ts +112 -71
  253. package/src/slider/slider.ts +9 -2
  254. package/src/spinner/defines.ts +12 -0
  255. package/src/spinner/index.ts +3 -0
  256. package/src/spinner/spinner.ts +81 -0
  257. package/src/styles/components/action-button.css +37 -0
  258. package/src/styles/components/checkbox.css +4 -26
  259. package/src/styles/components/copy-button.css +119 -0
  260. package/src/styles/components/detail-group.css +10 -0
  261. package/src/styles/components/detail.css +10 -1
  262. package/src/styles/components/drawer.css +161 -0
  263. package/src/styles/components/field-label.css +120 -0
  264. package/src/styles/components/menu-item.css +168 -0
  265. package/src/styles/components/menu.css +17 -0
  266. package/src/styles/components/number-input.css +167 -0
  267. package/src/styles/components/pagination.css +205 -0
  268. package/src/styles/components/progress-bar.css +44 -0
  269. package/src/styles/components/radio-group.css +0 -23
  270. package/src/styles/components/select.css +12 -39
  271. package/src/styles/components/slider.css +0 -42
  272. package/src/styles/components/spinner.css +80 -0
  273. package/src/styles/components/switch.css +68 -19
  274. package/src/styles/components/tab-panel.css +1 -1
  275. package/src/styles/components/tabs.css +1 -0
  276. package/src/styles/components/text-input.css +7 -45
  277. package/src/styles/components/textarea.css +75 -0
  278. package/src/styles/components/tooltip.css +103 -0
  279. package/src/styles/components/tree-item.css +152 -0
  280. package/src/styles/components/tree.css +10 -0
  281. package/src/styles/layout.css +457 -25
  282. package/src/switch/defines.ts +1 -0
  283. package/src/switch/switch.ts +65 -16
  284. package/src/tabs/tab.ts +1 -1
  285. package/src/tabs/tabs.ts +1 -2
  286. package/src/text-input/text-input.ts +10 -15
  287. package/src/textarea/index.ts +1 -0
  288. package/src/textarea/textarea.ts +107 -0
  289. package/src/tooltip/defines.ts +11 -0
  290. package/src/tooltip/index.ts +4 -0
  291. package/src/tooltip/tooltip.ts +183 -0
  292. package/src/tree/defines.ts +26 -0
  293. package/src/tree/index.ts +5 -0
  294. package/src/tree/tree-item.ts +258 -0
  295. package/src/tree/tree.ts +237 -0
  296. package/dist/chunks/aeico-field.cjs +0 -179
  297. package/dist/chunks/aeico-field.cjs.map +0 -1
  298. package/dist/chunks/aeico-field.js +0 -180
  299. package/dist/chunks/aeico-field.js.map +0 -1
@@ -0,0 +1,469 @@
1
+ import { S as SVG_NS, A as AeicoComponent } from "./aeico-component.js";
2
+ import { prop, html } from "aeico";
3
+ import { v as variables } from "./variables.js";
4
+ const style$1 = ":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";
5
+ const style = ":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(--color-text-main, #343a40);\n --tree-item-color-disabled: var(--color-text-disabled, #bbb);\n --tree-item-bg-hover: var(--surface-raised, rgba(0, 0, 0, 0.04));\n --tree-item-bg-selected: var(--color-primary-bg-subtle, rgba(14, 99, 156, 0.08));\n --tree-item-color-selected: var(--color-primary, #0e639c);\n --tree-item-line-color: var(--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-radius-sm, 4px);\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-radius-sm, 4px);\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(--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(--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(--color-primary, #0e639c);\n outline-offset: -2px;\n border-radius: var(--ae-radius-sm, 4px);\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";
6
+ var __create$1 = Object.create;
7
+ var __defProp$1 = Object.defineProperty;
8
+ var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
9
+ var __knownSymbol$1 = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
10
+ var __typeError$1 = (msg) => {
11
+ throw TypeError(msg);
12
+ };
13
+ var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
+ var __decoratorStart$1 = (base) => [, , , __create$1((base == null ? void 0 : base[__knownSymbol$1("metadata")]) ?? null)];
15
+ var __decoratorStrings$1 = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
16
+ var __expectFn$1 = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$1("Function expected") : fn;
17
+ var __decoratorContext$1 = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$1[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$1("Already initialized") : fns.push(__expectFn$1(fn || null)) });
18
+ var __decoratorMetadata$1 = (array, target) => __defNormalProp$1(target, __knownSymbol$1("metadata"), array[3]);
19
+ var __runInitializers$1 = (array, flags, self, value) => {
20
+ 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);
21
+ return value;
22
+ };
23
+ var __decorateElement$1 = (array, flags, name, decorators, target, extra) => {
24
+ var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
25
+ var j = array.length + 1, key = __decoratorStrings$1[k + 5];
26
+ var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
27
+ var desc = (target = target.prototype, __getOwnPropDesc$1({ get [name]() {
28
+ return __privateGet$1(this, extra);
29
+ }, set [name](x) {
30
+ return __privateSet$1(this, extra, x);
31
+ } }, name));
32
+ for (var i = decorators.length - 1; i >= 0; i--) {
33
+ ctx = __decoratorContext$1(k, name, done = {}, array[3], extraInitializers);
34
+ {
35
+ ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
36
+ access.get = (x) => x[name];
37
+ access.set = (x, y) => x[name] = y;
38
+ }
39
+ it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
40
+ if (it === void 0) __expectFn$1(it) && (desc[key] = it);
41
+ else if (typeof it !== "object" || it === null) __typeError$1("Object expected");
42
+ else __expectFn$1(fn = it.get) && (desc.get = fn), __expectFn$1(fn = it.set) && (desc.set = fn), __expectFn$1(fn = it.init) && initializers.unshift(fn);
43
+ }
44
+ return desc && __defProp$1(target, name, desc), target;
45
+ };
46
+ var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
47
+ var __accessCheck$1 = (obj, member, msg) => member.has(obj) || __typeError$1("Cannot " + msg);
48
+ var __privateGet$1 = (obj, member, getter) => (__accessCheck$1(obj, member, "read from private field"), member.get(obj));
49
+ var __privateAdd$1 = (obj, member, value) => member.has(obj) ? __typeError$1("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
50
+ var __privateSet$1 = (obj, member, value, setter) => (__accessCheck$1(obj, member, "write to private field"), member.set(obj, value), value);
51
+ var _indeterminate_dec, _checked_dec, _selected_dec, _expanded_dec, _disabled_dec, _icon_dec$1, _key_dec, _a$1, _init$1, _key, _icon$1, _disabled, _expanded, _selected, _checked, _indeterminate;
52
+ let _autoKeyCounter = 0;
53
+ class TreeItem extends (_a$1 = AeicoComponent, _key_dec = [prop({ type: String })], _icon_dec$1 = [prop({ type: String })], _disabled_dec = [prop({ type: Boolean })], _expanded_dec = [prop({ type: Boolean })], _selected_dec = [prop({ type: Boolean })], _checked_dec = [prop({ type: Boolean })], _indeterminate_dec = [prop({ type: Boolean })], _a$1) {
54
+ constructor() {
55
+ super(...arguments);
56
+ __privateAdd$1(this, _key, __runInitializers$1(_init$1, 8, this)), __runInitializers$1(_init$1, 11, this);
57
+ __privateAdd$1(this, _icon$1, __runInitializers$1(_init$1, 12, this)), __runInitializers$1(_init$1, 15, this);
58
+ __publicField$1(this, "_autoKey", `ae-tree-item-${_autoKeyCounter++}`);
59
+ __privateAdd$1(this, _disabled, __runInitializers$1(_init$1, 16, this, false)), __runInitializers$1(_init$1, 19, this);
60
+ __privateAdd$1(this, _expanded, __runInitializers$1(_init$1, 20, this, false)), __runInitializers$1(_init$1, 23, this);
61
+ __privateAdd$1(this, _selected, __runInitializers$1(_init$1, 24, this, false)), __runInitializers$1(_init$1, 27, this);
62
+ __privateAdd$1(this, _checked, __runInitializers$1(_init$1, 28, this, false)), __runInitializers$1(_init$1, 31, this);
63
+ __privateAdd$1(this, _indeterminate, __runInitializers$1(_init$1, 32, this, false)), __runInitializers$1(_init$1, 35, this);
64
+ __publicField$1(this, "_checkboxEl", null);
65
+ __publicField$1(this, "_handleExpandClick", (e) => {
66
+ e.stopPropagation();
67
+ if (this.disabled) return;
68
+ this.dispatchEvent(
69
+ new CustomEvent("_tree-item-toggle-expand", {
70
+ bubbles: true,
71
+ composed: true,
72
+ detail: { key: this._effectiveKey }
73
+ })
74
+ );
75
+ });
76
+ __publicField$1(this, "_handleLabelClick", () => {
77
+ if (this.disabled) return;
78
+ this.dispatchEvent(
79
+ new CustomEvent("_tree-item-select", {
80
+ bubbles: true,
81
+ composed: true,
82
+ detail: { key: this._effectiveKey }
83
+ })
84
+ );
85
+ });
86
+ __publicField$1(this, "_handleCheckChange", (e) => {
87
+ if (this.disabled) return;
88
+ const input = e.target;
89
+ this.dispatchEvent(
90
+ new CustomEvent("_tree-item-check", {
91
+ bubbles: true,
92
+ composed: true,
93
+ detail: { key: this._effectiveKey, checked: input.checked }
94
+ })
95
+ );
96
+ });
97
+ __publicField$1(this, "_handleKeydown", (e) => {
98
+ if (e.key === "Enter" || e.key === " ") {
99
+ e.preventDefault();
100
+ if (e.target.classList.contains("tree-item-label")) {
101
+ this._handleLabelClick();
102
+ }
103
+ }
104
+ if (e.key === "ArrowRight" && this._hasChildren && !this.expanded) {
105
+ this._handleExpandClick(e);
106
+ }
107
+ if (e.key === "ArrowLeft" && this.expanded) {
108
+ this._handleExpandClick(e);
109
+ }
110
+ });
111
+ }
112
+ get _effectiveKey() {
113
+ return this.key ?? this._autoKey;
114
+ }
115
+ connectedCallback() {
116
+ var _a2, _b;
117
+ super.connectedCallback();
118
+ if (((_a2 = this.parentElement) == null ? void 0 : _a2.tagName.toLowerCase()) === "ae-tree-item" && !this.hasAttribute("slot")) {
119
+ this.setAttribute("slot", "sub");
120
+ }
121
+ let depth = 0;
122
+ let el = this.parentElement;
123
+ while (el) {
124
+ const tag = el.tagName.toLowerCase();
125
+ if (tag === "ae-tree-item") {
126
+ depth++;
127
+ } else if (tag === "ae-tree") {
128
+ break;
129
+ }
130
+ el = el.parentElement;
131
+ }
132
+ this.style.setProperty("--depth", String(depth));
133
+ if ((_b = this._parentTree) == null ? void 0 : _b.showLine) {
134
+ this.setAttribute("showline", "");
135
+ }
136
+ }
137
+ onMounted() {
138
+ var _a2;
139
+ if (((_a2 = this._parentTree) == null ? void 0 : _a2.defaultExpandAll) && this._hasChildren) {
140
+ this.expanded = true;
141
+ }
142
+ }
143
+ get _parentTree() {
144
+ return this.closest("ae-tree");
145
+ }
146
+ get _isCheckable() {
147
+ var _a2;
148
+ return ((_a2 = this._parentTree) == null ? void 0 : _a2.checkable) ?? false;
149
+ }
150
+ get _hasChildren() {
151
+ return !!this.querySelector(':scope > ae-tree-item[slot="sub"]');
152
+ }
153
+ onUpdated() {
154
+ if (this._checkboxEl) {
155
+ this._checkboxEl.checked = this.checked;
156
+ this._checkboxEl.indeterminate = this.indeterminate;
157
+ }
158
+ }
159
+ render() {
160
+ var _a2;
161
+ const hasChildren = this._hasChildren;
162
+ const isCheckable = this._isCheckable;
163
+ const expandIcon = this.icon ?? ((_a2 = this._parentTree) == null ? void 0 : _a2.icon);
164
+ return html(({ div, button, span, input, slot, svg, path, aeIcon }) => {
165
+ div(
166
+ {
167
+ className: "tree-item-content",
168
+ role: "treeitem",
169
+ "aria-expanded": hasChildren ? String(this.expanded) : void 0,
170
+ "aria-selected": String(this.selected),
171
+ "aria-disabled": this.disabled ? "true" : void 0
172
+ },
173
+ () => {
174
+ if (hasChildren) {
175
+ button(
176
+ {
177
+ type: "button",
178
+ className: "expand-btn",
179
+ tabIndex: -1,
180
+ "aria-hidden": "true",
181
+ "@click": this._handleExpandClick
182
+ },
183
+ () => {
184
+ if (expandIcon) {
185
+ aeIcon({ className: "expand-icon", name: expandIcon });
186
+ } else {
187
+ svg(
188
+ {
189
+ className: "expand-icon",
190
+ viewBox: "0 0 10 10",
191
+ "aria-hidden": "true",
192
+ xmlns: SVG_NS
193
+ },
194
+ () => {
195
+ path({ d: "M2 1l6 4-6 4V1z" });
196
+ }
197
+ );
198
+ }
199
+ }
200
+ );
201
+ } else {
202
+ span({ className: "expand-placeholder", "aria-hidden": "true" });
203
+ }
204
+ if (isCheckable) {
205
+ this._checkboxEl = input({
206
+ type: "checkbox",
207
+ className: "tree-item-checkbox",
208
+ checked: this.checked,
209
+ disabled: this.disabled,
210
+ tabIndex: -1,
211
+ "@change": this._handleCheckChange
212
+ });
213
+ }
214
+ button(
215
+ {
216
+ type: "button",
217
+ className: "tree-item-label",
218
+ disabled: this.disabled,
219
+ "@click": this._handleLabelClick,
220
+ "@keydown": this._handleKeydown
221
+ },
222
+ () => {
223
+ slot();
224
+ }
225
+ );
226
+ }
227
+ );
228
+ div({ className: "tree-item-children", role: "group" }, () => {
229
+ slot({ name: "sub" });
230
+ });
231
+ });
232
+ }
233
+ }
234
+ _init$1 = __decoratorStart$1(_a$1);
235
+ _key = /* @__PURE__ */ new WeakMap();
236
+ _icon$1 = /* @__PURE__ */ new WeakMap();
237
+ _disabled = /* @__PURE__ */ new WeakMap();
238
+ _expanded = /* @__PURE__ */ new WeakMap();
239
+ _selected = /* @__PURE__ */ new WeakMap();
240
+ _checked = /* @__PURE__ */ new WeakMap();
241
+ _indeterminate = /* @__PURE__ */ new WeakMap();
242
+ __decorateElement$1(_init$1, 4, "key", _key_dec, TreeItem, _key);
243
+ __decorateElement$1(_init$1, 4, "icon", _icon_dec$1, TreeItem, _icon$1);
244
+ __decorateElement$1(_init$1, 4, "disabled", _disabled_dec, TreeItem, _disabled);
245
+ __decorateElement$1(_init$1, 4, "expanded", _expanded_dec, TreeItem, _expanded);
246
+ __decorateElement$1(_init$1, 4, "selected", _selected_dec, TreeItem, _selected);
247
+ __decorateElement$1(_init$1, 4, "checked", _checked_dec, TreeItem, _checked);
248
+ __decorateElement$1(_init$1, 4, "indeterminate", _indeterminate_dec, TreeItem, _indeterminate);
249
+ __decoratorMetadata$1(_init$1, TreeItem);
250
+ __publicField$1(TreeItem, "tagName", "tree-item");
251
+ __publicField$1(TreeItem, "styles", [variables, style]);
252
+ TreeItem.register();
253
+ var __create = Object.create;
254
+ var __defProp = Object.defineProperty;
255
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
256
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
257
+ var __typeError = (msg) => {
258
+ throw TypeError(msg);
259
+ };
260
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
261
+ var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
262
+ var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
263
+ var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
264
+ var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
265
+ var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
266
+ var __runInitializers = (array, flags, self, value) => {
267
+ 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);
268
+ return value;
269
+ };
270
+ var __decorateElement = (array, flags, name, decorators, target, extra) => {
271
+ var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
272
+ var j = array.length + 1, key = __decoratorStrings[k + 5];
273
+ var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
274
+ var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
275
+ return __privateGet(this, extra);
276
+ }, set [name](x) {
277
+ return __privateSet(this, extra, x);
278
+ } }, name));
279
+ for (var i = decorators.length - 1; i >= 0; i--) {
280
+ ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
281
+ {
282
+ ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
283
+ access.get = (x) => x[name];
284
+ access.set = (x, y) => x[name] = y;
285
+ }
286
+ it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
287
+ if (it === void 0) __expectFn(it) && (desc[key] = it);
288
+ else if (typeof it !== "object" || it === null) __typeError("Object expected");
289
+ else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
290
+ }
291
+ return desc && __defProp(target, name, desc), target;
292
+ };
293
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
294
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
295
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
296
+ 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);
297
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
298
+ var _icon_dec, _selectedKey_dec, _defaultExpandAll_dec, _showLine_dec, _multiple_dec, _checkable_dec, _a, _init, _checkable, _multiple, _showLine, _defaultExpandAll, _selectedKey, _icon;
299
+ class Tree extends (_a = AeicoComponent, _checkable_dec = [prop({ type: Boolean })], _multiple_dec = [prop({ type: Boolean })], _showLine_dec = [prop({ type: Boolean })], _defaultExpandAll_dec = [prop({ type: Boolean })], _selectedKey_dec = [prop({ type: String })], _icon_dec = [prop({ type: String })], _a) {
300
+ constructor() {
301
+ super(...arguments);
302
+ __privateAdd(this, _checkable, __runInitializers(_init, 8, this, false)), __runInitializers(_init, 11, this);
303
+ __privateAdd(this, _multiple, __runInitializers(_init, 12, this, false)), __runInitializers(_init, 15, this);
304
+ __privateAdd(this, _showLine, __runInitializers(_init, 16, this, false)), __runInitializers(_init, 19, this);
305
+ __privateAdd(this, _defaultExpandAll, __runInitializers(_init, 20, this, false)), __runInitializers(_init, 23, this);
306
+ __privateAdd(this, _selectedKey, __runInitializers(_init, 24, this)), __runInitializers(_init, 27, this);
307
+ __privateAdd(this, _icon, __runInitializers(_init, 28, this)), __runInitializers(_init, 31, this);
308
+ __publicField(this, "selectedKeys", []);
309
+ __publicField(this, "checkedKeys", []);
310
+ __publicField(this, "expandedKeys", []);
311
+ __publicField(this, "_handleItemToggleExpand", (e) => {
312
+ const node = e.target;
313
+ const newExpanded = !node.expanded;
314
+ node.expanded = newExpanded;
315
+ const key = node.key ?? "";
316
+ if (newExpanded) {
317
+ if (!this.expandedKeys.includes(key)) {
318
+ this.expandedKeys = [...this.expandedKeys, key];
319
+ }
320
+ } else {
321
+ this.expandedKeys = this.expandedKeys.filter((k) => k !== key);
322
+ }
323
+ this.emit("expand", {
324
+ detail: {
325
+ key,
326
+ expanded: newExpanded,
327
+ expandedKeys: [...this.expandedKeys]
328
+ }
329
+ });
330
+ });
331
+ __publicField(this, "_handleItemSelect", (e) => {
332
+ const { key } = e.detail;
333
+ if (this.multiple) {
334
+ const alreadySelected = this.selectedKeys.includes(key);
335
+ if (alreadySelected) {
336
+ this.selectedKeys = this.selectedKeys.filter((k) => k !== key);
337
+ } else {
338
+ this.selectedKeys = [...this.selectedKeys, key];
339
+ }
340
+ this.selectedKey = this.selectedKeys[this.selectedKeys.length - 1];
341
+ this._getAllItems().forEach((item) => {
342
+ item.selected = this.selectedKeys.includes(item.key ?? "");
343
+ });
344
+ this.emit("select", {
345
+ detail: {
346
+ key,
347
+ selected: !alreadySelected,
348
+ selectedKeys: [...this.selectedKeys]
349
+ }
350
+ });
351
+ } else {
352
+ const alreadySelected = this.selectedKey === key;
353
+ this._getAllItems().forEach((item) => {
354
+ item.selected = !alreadySelected && item.key === key;
355
+ });
356
+ this.selectedKey = alreadySelected ? void 0 : key;
357
+ this.selectedKeys = this.selectedKey ? [this.selectedKey] : [];
358
+ this.emit("select", {
359
+ detail: {
360
+ key,
361
+ selected: !alreadySelected,
362
+ selectedKeys: [...this.selectedKeys]
363
+ }
364
+ });
365
+ }
366
+ });
367
+ __publicField(this, "_handleItemCheck", (e) => {
368
+ const { key, checked } = e.detail;
369
+ const sourceNode = e.target;
370
+ this._setCheckedRecursive(sourceNode, checked);
371
+ this._syncAncestors(sourceNode);
372
+ this.checkedKeys = this._computeCheckedKeys();
373
+ this.emit("check", {
374
+ detail: { key, checked, checkedKeys: [...this.checkedKeys] }
375
+ });
376
+ });
377
+ }
378
+ connectedCallback() {
379
+ super.connectedCallback();
380
+ this.listen("_tree-item-toggle-expand", this._handleItemToggleExpand);
381
+ this.listen("_tree-item-select", this._handleItemSelect);
382
+ this.listen("_tree-item-check", this._handleItemCheck);
383
+ }
384
+ _getAllItems() {
385
+ return Array.from(this.querySelectorAll("ae-tree-item"));
386
+ }
387
+ _getDirectChildren(node) {
388
+ return Array.from(node.querySelectorAll(":scope > ae-tree-item"));
389
+ }
390
+ _computeCheckedKeys() {
391
+ const keys = [];
392
+ for (const item of this._getAllItems()) {
393
+ if (item.checked && !item.indeterminate) {
394
+ keys.push(item.key ?? "");
395
+ }
396
+ }
397
+ return keys.filter(Boolean);
398
+ }
399
+ _setCheckedRecursive(node, checked) {
400
+ if (node.disabled) return;
401
+ node.checked = checked;
402
+ node.indeterminate = false;
403
+ for (const child of this._getDirectChildren(node)) {
404
+ this._setCheckedRecursive(child, checked);
405
+ }
406
+ }
407
+ _syncAncestors(sourceNode) {
408
+ let el = sourceNode.parentElement;
409
+ while (el) {
410
+ const tag = el.tagName.toLowerCase();
411
+ if (tag === "ae-tree-item") {
412
+ const parent = el;
413
+ const children = this._getDirectChildren(parent).filter((c) => !c.disabled);
414
+ if (children.length === 0) break;
415
+ const checkedCount = children.filter((c) => c.checked && !c.indeterminate).length;
416
+ const indeterminateCount = children.filter((c) => c.indeterminate).length;
417
+ if (checkedCount === children.length) {
418
+ parent.checked = true;
419
+ parent.indeterminate = false;
420
+ } else if (checkedCount > 0 || indeterminateCount > 0) {
421
+ parent.checked = false;
422
+ parent.indeterminate = true;
423
+ } else {
424
+ parent.checked = false;
425
+ parent.indeterminate = false;
426
+ }
427
+ } else if (tag === "ae-tree") {
428
+ break;
429
+ }
430
+ el = el.parentElement;
431
+ }
432
+ }
433
+ render() {
434
+ return html(({ div, slot }) => {
435
+ div(
436
+ {
437
+ className: "tree",
438
+ role: "tree",
439
+ "aria-multiselectable": this.multiple ? "true" : "false"
440
+ },
441
+ () => {
442
+ slot();
443
+ }
444
+ );
445
+ });
446
+ }
447
+ }
448
+ _init = __decoratorStart(_a);
449
+ _checkable = /* @__PURE__ */ new WeakMap();
450
+ _multiple = /* @__PURE__ */ new WeakMap();
451
+ _showLine = /* @__PURE__ */ new WeakMap();
452
+ _defaultExpandAll = /* @__PURE__ */ new WeakMap();
453
+ _selectedKey = /* @__PURE__ */ new WeakMap();
454
+ _icon = /* @__PURE__ */ new WeakMap();
455
+ __decorateElement(_init, 4, "checkable", _checkable_dec, Tree, _checkable);
456
+ __decorateElement(_init, 4, "multiple", _multiple_dec, Tree, _multiple);
457
+ __decorateElement(_init, 4, "showLine", _showLine_dec, Tree, _showLine);
458
+ __decorateElement(_init, 4, "defaultExpandAll", _defaultExpandAll_dec, Tree, _defaultExpandAll);
459
+ __decorateElement(_init, 4, "selectedKey", _selectedKey_dec, Tree, _selectedKey);
460
+ __decorateElement(_init, 4, "icon", _icon_dec, Tree, _icon);
461
+ __decoratorMetadata(_init, Tree);
462
+ __publicField(Tree, "tagName", "tree");
463
+ __publicField(Tree, "styles", [variables, style$1]);
464
+ Tree.register();
465
+ export {
466
+ Tree as T,
467
+ TreeItem as a
468
+ };
469
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sources":["../../src/tree/tree-item.ts","../../src/tree/tree.ts"],"sourcesContent":["import AeicoComponent from '../aeico-component';\nimport type { InferProps } from 'aeico';\nimport { html, prop } from 'aeico';\nimport style from '../styles/components/tree-item.css?inline';\nimport variables from '../styles/variables.css?inline';\nimport type { ParentTreeLike } from './defines';\nimport { SVG_NS } from '../utils';\nimport '../icon';\n\nlet _autoKeyCounter = 0;\n\n/**\n * Tree item — used as a direct child of `<ae-tree>` or nested inside another\n * `<ae-tree-item>` to create a multi-level tree.\n *\n * - **Parent item**: nest `<ae-tree-item>` children inside; an expand toggle is shown.\n * - **Leaf item**: no `<ae-tree-item>` children; no expand toggle is shown.\n *\n * @prop {string} key - Unique identifier for this item.\n * @prop {string} icon - Icon name (uses `<ae-icon>`). Optional.\n * @prop {boolean} disabled - Disables interaction.\n * @prop {boolean} expanded - Whether children are visible.\n * @prop {boolean} selected - Whether this item is visually selected.\n * @prop {boolean} checked - Checkbox state (checkable mode).\n * @prop {boolean} indeterminate - Checkbox partial state (checkable mode, JS-only).\n *\n * @slot default - Child `<ae-tree-item>` elements.\n * @slot label - Custom label content (falls back to the `label` attribute text).\n */\nclass TreeItem extends AeicoComponent {\n static tagName = 'tree-item';\n\n protected static styles = [variables, style];\n\n @prop({ type: String })\n accessor key: string | undefined;\n\n @prop({ type: String })\n accessor icon: string | undefined;\n\n /** Stable auto-generated key used when `key` prop is not set. */\n private readonly _autoKey = `ae-tree-item-${_autoKeyCounter++}`;\n\n private get _effectiveKey(): string {\n return this.key ?? this._autoKey;\n }\n\n @prop({ type: Boolean })\n accessor disabled: boolean = false;\n\n @prop({ type: Boolean })\n accessor expanded: boolean = false;\n\n @prop({ type: Boolean })\n accessor selected: boolean = false;\n\n @prop({ type: Boolean })\n accessor checked: boolean = false;\n\n @prop({ type: Boolean })\n accessor indeterminate: boolean = false;\n\n private _checkboxEl: HTMLInputElement | null = null;\n\n connectedCallback() {\n super.connectedCallback();\n\n // Auto-assign slot so users don't need to write slot=\"sub\" manually\n if (\n this.parentElement?.tagName.toLowerCase() === 'ae-tree-item' &&\n !this.hasAttribute('slot')\n ) {\n this.setAttribute('slot', 'sub');\n }\n\n let depth = 0;\n let el: Element | null = this.parentElement;\n while (el) {\n const tag = el.tagName.toLowerCase();\n if (tag === 'ae-tree-item') {\n depth++;\n } else if (tag === 'ae-tree') {\n break;\n }\n el = el.parentElement;\n }\n this.style.setProperty('--depth', String(depth));\n\n if (this._parentTree?.showLine) {\n this.setAttribute('showline', '');\n }\n }\n\n protected onMounted(): void {\n if (this._parentTree?.defaultExpandAll && this._hasChildren) {\n this.expanded = true;\n }\n }\n\n private get _parentTree(): ParentTreeLike | null {\n return this.closest<ParentTreeLike>('ae-tree');\n }\n\n private get _isCheckable(): boolean {\n return this._parentTree?.checkable ?? false;\n }\n\n private get _hasChildren(): boolean {\n return !!this.querySelector(':scope > ae-tree-item[slot=\"sub\"]');\n }\n\n private _handleExpandClick = (e: Event): void => {\n e.stopPropagation();\n if (this.disabled) return;\n this.dispatchEvent(\n new CustomEvent('_tree-item-toggle-expand', {\n bubbles: true,\n composed: true,\n detail: { key: this._effectiveKey },\n }),\n );\n };\n\n private _handleLabelClick = (): void => {\n if (this.disabled) return;\n this.dispatchEvent(\n new CustomEvent('_tree-item-select', {\n bubbles: true,\n composed: true,\n detail: { key: this._effectiveKey },\n }),\n );\n };\n\n private _handleCheckChange = (e: Event): void => {\n if (this.disabled) return;\n const input = e.target as HTMLInputElement;\n this.dispatchEvent(\n new CustomEvent('_tree-item-check', {\n bubbles: true,\n composed: true,\n detail: { key: this._effectiveKey, checked: input.checked },\n }),\n );\n };\n\n private _handleKeydown = (e: KeyboardEvent): void => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if ((e.target as HTMLElement).classList.contains('tree-item-label')) {\n this._handleLabelClick();\n }\n }\n if (e.key === 'ArrowRight' && this._hasChildren && !this.expanded) {\n this._handleExpandClick(e);\n }\n if (e.key === 'ArrowLeft' && this.expanded) {\n this._handleExpandClick(e);\n }\n };\n\n protected onUpdated(): void {\n // indeterminate/checked cannot be set correctly via HTML attribute — must set via JS property\n if (this._checkboxEl) {\n this._checkboxEl.checked = this.checked;\n this._checkboxEl.indeterminate = this.indeterminate;\n }\n }\n\n protected render() {\n const hasChildren = this._hasChildren;\n const isCheckable = this._isCheckable;\n const expandIcon = this.icon ?? this._parentTree?.icon;\n\n return html(({ div, button, span, input, slot, svg, path, aeIcon }) => {\n div(\n {\n className: 'tree-item-content',\n role: 'treeitem',\n 'aria-expanded': hasChildren ? String(this.expanded) : undefined,\n 'aria-selected': String(this.selected),\n 'aria-disabled': this.disabled ? 'true' : undefined,\n },\n () => {\n if (hasChildren) {\n button(\n {\n type: 'button',\n className: 'expand-btn',\n tabIndex: -1,\n 'aria-hidden': 'true',\n '@click': this._handleExpandClick,\n },\n () => {\n if (expandIcon) {\n aeIcon({ className: 'expand-icon', name: expandIcon });\n } else {\n svg(\n {\n className: 'expand-icon',\n viewBox: '0 0 10 10',\n 'aria-hidden': 'true',\n xmlns: SVG_NS,\n },\n () => {\n path({ d: 'M2 1l6 4-6 4V1z' });\n },\n );\n }\n },\n );\n } else {\n span({ className: 'expand-placeholder', 'aria-hidden': 'true' });\n }\n\n if (isCheckable) {\n this._checkboxEl = input({\n type: 'checkbox',\n className: 'tree-item-checkbox',\n checked: this.checked,\n disabled: this.disabled,\n tabIndex: -1,\n '@change': this._handleCheckChange,\n });\n }\n\n button(\n {\n type: 'button',\n className: 'tree-item-label',\n disabled: this.disabled,\n '@click': this._handleLabelClick,\n '@keydown': this._handleKeydown,\n },\n () => {\n slot();\n },\n );\n },\n );\n\n div({ className: 'tree-item-children', role: 'group' }, () => {\n slot({ name: 'sub' });\n });\n });\n }\n}\n\nTreeItem.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-tree-item': TreeItem;\n }\n}\n\nexport default TreeItem;\nexport type TreeItemProps = InferProps<typeof TreeItem>;\n","import AeicoComponent from '../aeico-component';\nimport type { InferProps } from 'aeico';\nimport { html, prop } from 'aeico';\nimport style from '../styles/components/tree.css?inline';\nimport variables from '../styles/variables.css?inline';\nimport type { TreeSelectDetail, TreeExpandDetail, TreeCheckDetail } from './defines';\nimport './tree-item';\nimport type TreeItem from './tree-item';\n\n/**\n * Tree component. Renders a hierarchical tree of `<ae-tree-item>` elements.\n *\n * @prop {boolean} checkable - Enable checkbox selection mode with parent-child sync.\n * @prop {boolean} multiple - Allow multi-select (click to toggle). Ignored when checkable.\n * @prop {boolean} showLine - Show dashed connecting lines between items.\n * @prop {boolean} defaultExpandAll - Expand all items on initial connect.\n * @prop {string} selectedKey - Currently selected key (single-select convenience prop).\n *\n * @property {string[]} selectedKeys - Currently selected keys (multi-select).\n * @property {string[]} checkedKeys - Currently checked keys (checkable mode).\n * @property {string[]} expandedKeys - Currently expanded keys.\n *\n * @event {CustomEvent<TreeSelectDetail>} select - Fires when an item is selected/deselected.\n * @event {CustomEvent<TreeExpandDetail>} expand - Fires when an item is expanded/collapsed.\n * @event {CustomEvent<TreeCheckDetail>} check - Fires when an item checkbox changes.\n *\n * @example\n * ```html\n * <ae-tree>\n * <ae-tree-item key=\"1\" label=\"Parent\">\n * <ae-tree-item key=\"1-1\" label=\"Child A\"></ae-tree-item>\n * <ae-tree-item key=\"1-2\" label=\"Child B\"></ae-tree-item>\n * </ae-tree-item>\n * </ae-tree>\n * ```\n */\nclass Tree extends AeicoComponent {\n static tagName = 'tree';\n\n protected static styles = [variables, style];\n\n @prop({ type: Boolean })\n accessor checkable: boolean = false;\n\n @prop({ type: Boolean })\n accessor multiple: boolean = false;\n\n @prop({ type: Boolean })\n accessor showLine: boolean = false;\n\n @prop({ type: Boolean })\n accessor defaultExpandAll: boolean = false;\n\n @prop({ type: String })\n accessor selectedKey: string | undefined;\n\n /** Icon name used for the expand/collapse toggle on all items (overridable per item). */\n @prop({ type: String })\n accessor icon: string | undefined;\n\n /** Currently selected keys (multi-select). Set programmatically. */\n selectedKeys: string[] = [];\n\n /** Currently checked keys (checkable mode). Set programmatically. */\n checkedKeys: string[] = [];\n\n /** Currently expanded keys. Set programmatically. */\n expandedKeys: string[] = [];\n\n connectedCallback() {\n super.connectedCallback();\n this.listen('_tree-item-toggle-expand', this._handleItemToggleExpand as EventListener);\n this.listen('_tree-item-select', this._handleItemSelect as EventListener);\n this.listen('_tree-item-check', this._handleItemCheck as EventListener);\n }\n\n private _getAllItems(): TreeItem[] {\n return Array.from(this.querySelectorAll<TreeItem>('ae-tree-item'));\n }\n\n private _getDirectChildren(node: Element): TreeItem[] {\n return Array.from(node.querySelectorAll<TreeItem>(':scope > ae-tree-item'));\n }\n\n private _computeCheckedKeys(): string[] {\n const keys: string[] = [];\n for (const item of this._getAllItems()) {\n if (item.checked && !item.indeterminate) {\n keys.push(item.key ?? '');\n }\n }\n return keys.filter(Boolean);\n }\n\n private _handleItemToggleExpand = (e: CustomEvent<{ key: string }>): void => {\n const node = e.target as TreeItem;\n const newExpanded = !node.expanded;\n node.expanded = newExpanded;\n\n const key = node.key ?? '';\n if (newExpanded) {\n if (!this.expandedKeys.includes(key)) {\n this.expandedKeys = [...this.expandedKeys, key];\n }\n } else {\n this.expandedKeys = this.expandedKeys.filter((k) => k !== key);\n }\n\n this.emit('expand', {\n detail: {\n key,\n expanded: newExpanded,\n expandedKeys: [...this.expandedKeys],\n } satisfies TreeExpandDetail,\n });\n };\n\n private _handleItemSelect = (e: CustomEvent<{ key: string }>): void => {\n const { key } = e.detail;\n\n if (this.multiple) {\n // Toggle selection\n const alreadySelected = this.selectedKeys.includes(key);\n if (alreadySelected) {\n this.selectedKeys = this.selectedKeys.filter((k) => k !== key);\n } else {\n this.selectedKeys = [...this.selectedKeys, key];\n }\n this.selectedKey = this.selectedKeys[this.selectedKeys.length - 1];\n\n // Sync visual state\n this._getAllItems().forEach((item) => {\n item.selected = this.selectedKeys.includes(item.key ?? '');\n });\n\n this.emit('select', {\n detail: {\n key,\n selected: !alreadySelected,\n selectedKeys: [...this.selectedKeys],\n } satisfies TreeSelectDetail,\n });\n } else {\n // Single select — deselect all, select target\n const alreadySelected = this.selectedKey === key;\n this._getAllItems().forEach((item) => {\n item.selected = !alreadySelected && item.key === key;\n });\n this.selectedKey = alreadySelected ? undefined : key;\n this.selectedKeys = this.selectedKey ? [this.selectedKey] : [];\n\n this.emit('select', {\n detail: {\n key,\n selected: !alreadySelected,\n selectedKeys: [...this.selectedKeys],\n } satisfies TreeSelectDetail,\n });\n }\n };\n\n private _handleItemCheck = (e: CustomEvent<{ key: string; checked: boolean }>): void => {\n const { key, checked } = e.detail;\n const sourceNode = e.target as TreeItem;\n\n this._setCheckedRecursive(sourceNode, checked);\n this._syncAncestors(sourceNode);\n this.checkedKeys = this._computeCheckedKeys();\n\n this.emit('check', {\n detail: { key, checked, checkedKeys: [...this.checkedKeys] } satisfies TreeCheckDetail,\n });\n };\n\n private _setCheckedRecursive(node: TreeItem, checked: boolean): void {\n if (node.disabled) return;\n node.checked = checked;\n node.indeterminate = false;\n for (const child of this._getDirectChildren(node)) {\n this._setCheckedRecursive(child, checked);\n }\n }\n\n private _syncAncestors(sourceNode: TreeItem): void {\n let el: Element | null = sourceNode.parentElement;\n while (el) {\n const tag = el.tagName.toLowerCase();\n if (tag === 'ae-tree-item') {\n const parent = el as TreeItem;\n const children = this._getDirectChildren(parent).filter((c) => !c.disabled);\n if (children.length === 0) break;\n const checkedCount = children.filter((c) => c.checked && !c.indeterminate).length;\n const indeterminateCount = children.filter((c) => c.indeterminate).length;\n\n if (checkedCount === children.length) {\n parent.checked = true;\n parent.indeterminate = false;\n } else if (checkedCount > 0 || indeterminateCount > 0) {\n parent.checked = false;\n parent.indeterminate = true;\n } else {\n parent.checked = false;\n parent.indeterminate = false;\n }\n } else if (tag === 'ae-tree') {\n break;\n }\n el = el.parentElement;\n }\n }\n\n protected render() {\n return html(({ div, slot }) => {\n div(\n {\n className: 'tree',\n role: 'tree',\n 'aria-multiselectable': this.multiple ? 'true' : 'false',\n },\n () => {\n slot();\n },\n );\n });\n }\n}\n\nTree.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-tree': Tree;\n }\n}\n\nexport default Tree;\nexport type TreeProps = InferProps<typeof Tree>;\n"],"names":["_icon_dec","_a","_init","_icon","__privateAdd","__runInitializers","__publicField","__decoratorStart","__decorateElement","__decoratorMetadata","style"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const styleVariables = `:root,
2
+ const variables = `:root,
3
3
  :host {
4
4
  --ae-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
5
5
  "Noto Sans", "Liberation Sans", Arial, sans-serif,
@@ -368,5 +368,5 @@ const styleVariables = `:root,
368
368
  --clear-btn-color-hover: var(--red-300);
369
369
  }
370
370
  `;
371
- exports.styleVariables = styleVariables;
371
+ exports.variables = variables;
372
372
  //# sourceMappingURL=variables.cjs.map
@@ -1,4 +1,4 @@
1
- const styleVariables = `:root,
1
+ const variables = `:root,
2
2
  :host {
3
3
  --ae-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
4
4
  "Noto Sans", "Liberation Sans", Arial, sans-serif,
@@ -368,6 +368,6 @@ const styleVariables = `:root,
368
368
  }
369
369
  `;
370
370
  export {
371
- styleVariables as s
371
+ variables as v
372
372
  };
373
373
  //# sourceMappingURL=variables.js.map
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const copyButton = require("./chunks/copy-button.cjs");
4
+ exports.CopyButton = copyButton.CopyButton;
5
+ exports.default = copyButton.CopyButton;
6
+ //# sourceMappingURL=copy-button.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-button.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,6 @@
1
+ import { C, C as C2 } from "./chunks/copy-button.js";
2
+ export {
3
+ C as CopyButton,
4
+ C2 as default
5
+ };
6
+ //# sourceMappingURL=copy-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-button.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const drawer = require("./chunks/drawer.cjs");
4
+ exports.Drawer = drawer.Drawer;
5
+ exports.default = drawer.Drawer;
6
+ //# sourceMappingURL=drawer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
package/dist/drawer.js ADDED
@@ -0,0 +1,6 @@
1
+ import { D, D as D2 } from "./chunks/drawer.js";
2
+ export {
3
+ D as Drawer,
4
+ D2 as default
5
+ };
6
+ //# sourceMappingURL=drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/dropdown.js CHANGED
@@ -1,7 +1,7 @@
1
- import { a, b, D } from "./chunks/dropdown-button.js";
1
+ import { D, a, b } from "./chunks/dropdown-button.js";
2
2
  export {
3
- a as DropdownButton,
4
- b as DropdownItem,
5
- D as default
3
+ D as DropdownButton,
4
+ a as DropdownItem,
5
+ b as default
6
6
  };
7
7
  //# sourceMappingURL=dropdown.js.map