aeico-components 0.1.5 → 0.1.7

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 (337) 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 +26 -32
  8. package/dist/chunks/alert.cjs.map +1 -1
  9. package/dist/chunks/alert.js +27 -33
  10. package/dist/chunks/alert.js.map +1 -1
  11. package/dist/chunks/badge.cjs +2 -2
  12. package/dist/chunks/badge.cjs.map +1 -1
  13. package/dist/chunks/badge.js +3 -3
  14. package/dist/chunks/badge.js.map +1 -1
  15. package/dist/chunks/breadcrumb-item.cjs +9 -9
  16. package/dist/chunks/breadcrumb-item.cjs.map +1 -1
  17. package/dist/chunks/breadcrumb-item.js +10 -10
  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 +40 -51
  24. package/dist/chunks/button.cjs.map +1 -1
  25. package/dist/chunks/button.js +41 -52
  26. package/dist/chunks/button.js.map +1 -1
  27. package/dist/chunks/card.cjs +2 -2
  28. package/dist/chunks/card.cjs.map +1 -1
  29. package/dist/chunks/card.js +3 -3
  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/color.cjs +1 -1
  36. package/dist/chunks/color.js +1 -1
  37. package/dist/chunks/copy-button.cjs +171 -0
  38. package/dist/chunks/copy-button.cjs.map +1 -0
  39. package/dist/chunks/copy-button.js +172 -0
  40. package/dist/chunks/copy-button.js.map +1 -0
  41. package/dist/chunks/detail-group.cjs +65 -0
  42. package/dist/chunks/detail-group.cjs.map +1 -0
  43. package/dist/chunks/detail-group.js +66 -0
  44. package/dist/chunks/detail-group.js.map +1 -0
  45. package/dist/chunks/detail.cjs +7 -4
  46. package/dist/chunks/detail.cjs.map +1 -1
  47. package/dist/chunks/detail.js +8 -5
  48. package/dist/chunks/detail.js.map +1 -1
  49. package/dist/chunks/dialog.cjs +2 -2
  50. package/dist/chunks/dialog.cjs.map +1 -1
  51. package/dist/chunks/dialog.js +3 -3
  52. package/dist/chunks/dialog.js.map +1 -1
  53. package/dist/chunks/divider.cjs +2 -2
  54. package/dist/chunks/divider.cjs.map +1 -1
  55. package/dist/chunks/divider.js +3 -3
  56. package/dist/chunks/divider.js.map +1 -1
  57. package/dist/chunks/drawer.cjs +180 -0
  58. package/dist/chunks/drawer.cjs.map +1 -0
  59. package/dist/chunks/drawer.js +181 -0
  60. package/dist/chunks/drawer.js.map +1 -0
  61. package/dist/chunks/dropdown-button.cjs +10 -11
  62. package/dist/chunks/dropdown-button.cjs.map +1 -1
  63. package/dist/chunks/dropdown-button.js +14 -15
  64. package/dist/chunks/dropdown-button.js.map +1 -1
  65. package/dist/chunks/icon.cjs +57 -11
  66. package/dist/chunks/icon.cjs.map +1 -1
  67. package/dist/chunks/icon.js +58 -12
  68. package/dist/chunks/icon.js.map +1 -1
  69. package/dist/chunks/menu.cjs +396 -0
  70. package/dist/chunks/menu.cjs.map +1 -0
  71. package/dist/chunks/menu.js +397 -0
  72. package/dist/chunks/menu.js.map +1 -0
  73. package/dist/chunks/navbar.cjs +2 -2
  74. package/dist/chunks/navbar.cjs.map +1 -1
  75. package/dist/chunks/navbar.js +3 -3
  76. package/dist/chunks/navbar.js.map +1 -1
  77. package/dist/chunks/number-input.cjs +110 -0
  78. package/dist/chunks/number-input.cjs.map +1 -0
  79. package/dist/chunks/number-input.js +111 -0
  80. package/dist/chunks/number-input.js.map +1 -0
  81. package/dist/chunks/pagination.cjs +475 -0
  82. package/dist/chunks/pagination.cjs.map +1 -0
  83. package/dist/chunks/pagination.js +476 -0
  84. package/dist/chunks/pagination.js.map +1 -0
  85. package/dist/chunks/progress-bar.cjs +101 -0
  86. package/dist/chunks/progress-bar.cjs.map +1 -0
  87. package/dist/chunks/progress-bar.js +102 -0
  88. package/dist/chunks/progress-bar.js.map +1 -0
  89. package/dist/chunks/radio.cjs +11 -7
  90. package/dist/chunks/radio.cjs.map +1 -1
  91. package/dist/chunks/radio.js +11 -7
  92. package/dist/chunks/radio.js.map +1 -1
  93. package/dist/chunks/select.cjs +97 -66
  94. package/dist/chunks/select.cjs.map +1 -1
  95. package/dist/chunks/select.js +97 -66
  96. package/dist/chunks/select.js.map +1 -1
  97. package/dist/chunks/size.cjs +1 -1
  98. package/dist/chunks/size.js +1 -1
  99. package/dist/chunks/slider.cjs +35 -75
  100. package/dist/chunks/slider.cjs.map +1 -1
  101. package/dist/chunks/slider.js +35 -75
  102. package/dist/chunks/slider.js.map +1 -1
  103. package/dist/chunks/spinner.cjs +102 -0
  104. package/dist/chunks/spinner.cjs.map +1 -0
  105. package/dist/chunks/spinner.js +103 -0
  106. package/dist/chunks/spinner.js.map +1 -0
  107. package/dist/chunks/switch.cjs +110 -16
  108. package/dist/chunks/switch.cjs.map +1 -1
  109. package/dist/chunks/switch.js +111 -17
  110. package/dist/chunks/switch.js.map +1 -1
  111. package/dist/chunks/tab-panel.cjs +14 -5
  112. package/dist/chunks/tab-panel.cjs.map +1 -1
  113. package/dist/chunks/tab-panel.js +15 -6
  114. package/dist/chunks/tab-panel.js.map +1 -1
  115. package/dist/chunks/tag.cjs +2 -2
  116. package/dist/chunks/tag.cjs.map +1 -1
  117. package/dist/chunks/tag.js +3 -3
  118. package/dist/chunks/tag.js.map +1 -1
  119. package/dist/chunks/text-input.cjs +11 -16
  120. package/dist/chunks/text-input.cjs.map +1 -1
  121. package/dist/chunks/text-input.js +11 -16
  122. package/dist/chunks/text-input.js.map +1 -1
  123. package/dist/chunks/textarea.cjs +137 -0
  124. package/dist/chunks/textarea.cjs.map +1 -0
  125. package/dist/chunks/textarea.js +138 -0
  126. package/dist/chunks/textarea.js.map +1 -0
  127. package/dist/chunks/tooltip.cjs +292 -0
  128. package/dist/chunks/tooltip.cjs.map +1 -0
  129. package/dist/chunks/tooltip.js +293 -0
  130. package/dist/chunks/tooltip.js.map +1 -0
  131. package/dist/chunks/tree.cjs +468 -0
  132. package/dist/chunks/tree.cjs.map +1 -0
  133. package/dist/chunks/tree.js +469 -0
  134. package/dist/chunks/tree.js.map +1 -0
  135. package/dist/chunks/variables.cjs +273 -249
  136. package/dist/chunks/variables.cjs.map +1 -1
  137. package/dist/chunks/variables.js +273 -249
  138. package/dist/chunks/variables.js.map +1 -1
  139. package/dist/copy-button.cjs +6 -0
  140. package/dist/copy-button.cjs.map +1 -0
  141. package/dist/copy-button.js +6 -0
  142. package/dist/copy-button.js.map +1 -0
  143. package/dist/detail-group.cjs +6 -0
  144. package/dist/detail-group.cjs.map +1 -0
  145. package/dist/detail-group.js +6 -0
  146. package/dist/detail-group.js.map +1 -0
  147. package/dist/drawer.cjs +6 -0
  148. package/dist/drawer.cjs.map +1 -0
  149. package/dist/drawer.js +6 -0
  150. package/dist/drawer.js.map +1 -0
  151. package/dist/dropdown.js +4 -4
  152. package/dist/index.cjs +24 -99
  153. package/dist/index.cjs.map +1 -1
  154. package/dist/index.js +41 -116
  155. package/dist/index.js.map +1 -1
  156. package/dist/menu.cjs +6 -0
  157. package/dist/menu.cjs.map +1 -0
  158. package/dist/menu.js +6 -0
  159. package/dist/menu.js.map +1 -0
  160. package/dist/number-input.cjs +6 -0
  161. package/dist/number-input.cjs.map +1 -0
  162. package/dist/number-input.js +6 -0
  163. package/dist/number-input.js.map +1 -0
  164. package/dist/pagination.cjs +6 -0
  165. package/dist/pagination.cjs.map +1 -0
  166. package/dist/pagination.js +6 -0
  167. package/dist/pagination.js.map +1 -0
  168. package/dist/progress-bar.cjs +6 -0
  169. package/dist/progress-bar.cjs.map +1 -0
  170. package/dist/progress-bar.js +6 -0
  171. package/dist/progress-bar.js.map +1 -0
  172. package/dist/select.cjs +2 -2
  173. package/dist/select.cjs.map +1 -1
  174. package/dist/select.js +3 -3
  175. package/dist/select.js.map +1 -1
  176. package/dist/spinner.cjs +6 -0
  177. package/dist/spinner.cjs.map +1 -0
  178. package/dist/spinner.js +6 -0
  179. package/dist/spinner.js.map +1 -0
  180. package/dist/textarea.cjs +5 -0
  181. package/dist/textarea.cjs.map +1 -0
  182. package/dist/textarea.js +5 -0
  183. package/dist/textarea.js.map +1 -0
  184. package/dist/tooltip.cjs +6 -0
  185. package/dist/tooltip.cjs.map +1 -0
  186. package/dist/tooltip.js +6 -0
  187. package/dist/tooltip.js.map +1 -0
  188. package/dist/tree.cjs +6 -0
  189. package/dist/tree.cjs.map +1 -0
  190. package/dist/tree.js +6 -0
  191. package/dist/tree.js.map +1 -0
  192. package/dist/types/aeico-field.d.ts +52 -0
  193. package/dist/types/alert/alert.d.ts +1 -0
  194. package/dist/types/card/defines.d.ts +1 -1
  195. package/dist/types/copy-button/copy-button.d.ts +32 -0
  196. package/dist/types/copy-button/defines.d.ts +1 -0
  197. package/dist/types/copy-button/index.d.ts +3 -0
  198. package/dist/types/detail/defines.d.ts +2 -1
  199. package/dist/types/detail/detail.d.ts +3 -1
  200. package/dist/types/detail/index.d.ts +1 -1
  201. package/dist/types/detail-group/detail-group.d.ts +39 -0
  202. package/dist/types/detail-group/index.d.ts +2 -0
  203. package/dist/types/drawer/defines.d.ts +1 -0
  204. package/dist/types/drawer/drawer.d.ts +31 -0
  205. package/dist/types/drawer/index.d.ts +3 -0
  206. package/dist/types/icon/built-in-icons.d.ts +1 -0
  207. package/dist/types/icon/defines.d.ts +5 -1
  208. package/dist/types/icon/icon.d.ts +1 -0
  209. package/dist/types/icon/index.d.ts +1 -1
  210. package/dist/types/icon/registry.d.ts +8 -0
  211. package/dist/types/index.d.ts +17 -0
  212. package/dist/types/menu/defines.d.ts +15 -0
  213. package/dist/types/menu/index.d.ts +5 -0
  214. package/dist/types/menu/menu-item.d.ts +63 -0
  215. package/dist/types/menu/menu.d.ts +34 -0
  216. package/dist/types/number-input/index.d.ts +2 -0
  217. package/dist/types/number-input/number-input.d.ts +35 -0
  218. package/dist/types/pagination/defines.d.ts +2 -0
  219. package/dist/types/pagination/index.d.ts +3 -0
  220. package/dist/types/pagination/pagination.d.ts +77 -0
  221. package/dist/types/select/select.d.ts +2 -2
  222. package/dist/types/spinner/defines.d.ts +3 -0
  223. package/dist/types/spinner/index.d.ts +3 -0
  224. package/dist/types/spinner/spinner.d.ts +35 -0
  225. package/dist/types/switch/defines.d.ts +1 -0
  226. package/dist/types/switch/switch.d.ts +8 -4
  227. package/dist/types/tabs/defines.d.ts +1 -0
  228. package/dist/types/tabs/tabs.d.ts +3 -0
  229. package/dist/types/text-input/text-input.d.ts +0 -4
  230. package/dist/types/textarea/index.d.ts +1 -0
  231. package/dist/types/textarea/textarea.d.ts +26 -0
  232. package/dist/types/tooltip/defines.d.ts +2 -0
  233. package/dist/types/tooltip/index.d.ts +4 -0
  234. package/dist/types/tooltip/tooltip.d.ts +48 -0
  235. package/dist/types/tree/defines.d.ts +23 -0
  236. package/dist/types/tree/index.d.ts +5 -0
  237. package/dist/types/tree/tree-item.d.ts +54 -0
  238. package/dist/types/tree/tree.d.ts +64 -0
  239. package/package.json +5 -5
  240. package/src/aeico-field.ts +142 -7
  241. package/src/alert/alert.ts +3 -2
  242. package/src/card/defines.ts +1 -1
  243. package/src/checkbox/checkbox.ts +17 -2
  244. package/src/copy-button/copy-button.ts +150 -0
  245. package/src/copy-button/defines.ts +5 -0
  246. package/src/copy-button/index.ts +3 -0
  247. package/src/detail/defines.ts +2 -1
  248. package/src/detail/detail.ts +5 -1
  249. package/src/detail/index.ts +1 -1
  250. package/src/detail-group/detail-group.ts +104 -0
  251. package/src/detail-group/index.ts +2 -0
  252. package/src/drawer/defines.ts +1 -0
  253. package/src/drawer/drawer.ts +157 -0
  254. package/src/drawer/index.ts +3 -0
  255. package/src/icon/built-in-icons.ts +21 -0
  256. package/src/icon/defines.ts +6 -1
  257. package/src/icon/icon.ts +29 -10
  258. package/src/icon/index.ts +1 -1
  259. package/src/icon/registry.ts +23 -1
  260. package/src/index.ts +30 -0
  261. package/src/menu/defines.ts +17 -0
  262. package/src/menu/index.ts +5 -0
  263. package/src/menu/menu-item.ts +315 -0
  264. package/src/menu/menu.ts +81 -0
  265. package/src/number-input/index.ts +2 -0
  266. package/src/number-input/number-input.ts +137 -0
  267. package/src/pagination/defines.ts +2 -0
  268. package/src/pagination/index.ts +3 -0
  269. package/src/pagination/pagination.ts +310 -0
  270. package/src/radio-group/radio-group.ts +11 -4
  271. package/src/select/select.ts +111 -70
  272. package/src/slider/slider.ts +9 -2
  273. package/src/spinner/defines.ts +12 -0
  274. package/src/spinner/index.ts +3 -0
  275. package/src/spinner/spinner.ts +81 -0
  276. package/src/styles/color.css +91 -91
  277. package/src/styles/components/action-button.css +37 -0
  278. package/src/styles/components/alert.css +22 -28
  279. package/src/styles/components/badge.css +13 -20
  280. package/src/styles/components/breadcrumb-item.css +7 -7
  281. package/src/styles/components/button.css +39 -50
  282. package/src/styles/components/card.css +45 -30
  283. package/src/styles/components/checkbox.css +9 -36
  284. package/src/styles/components/copy-button.css +108 -0
  285. package/src/styles/components/detail-group.css +10 -0
  286. package/src/styles/components/detail.css +56 -35
  287. package/src/styles/components/dialog.css +11 -11
  288. package/src/styles/components/divider.css +3 -3
  289. package/src/styles/components/drawer.css +152 -0
  290. package/src/styles/components/dropdown-item.css +7 -8
  291. package/src/styles/components/dropdown.css +3 -4
  292. package/src/styles/components/field-label.css +120 -0
  293. package/src/styles/components/icon-button.css +25 -36
  294. package/src/styles/components/icon.css +1 -1
  295. package/src/styles/components/menu-item.css +167 -0
  296. package/src/styles/components/menu.css +17 -0
  297. package/src/styles/components/navbar.css +16 -16
  298. package/src/styles/components/number-input.css +158 -0
  299. package/src/styles/components/pagination.css +205 -0
  300. package/src/styles/components/progress-bar.css +2 -3
  301. package/src/styles/components/radio-group.css +69 -106
  302. package/src/styles/components/select-option.css +5 -5
  303. package/src/styles/components/select.css +30 -69
  304. package/src/styles/components/slider.css +26 -71
  305. package/src/styles/components/spinner.css +78 -0
  306. package/src/styles/components/switch.css +64 -27
  307. package/src/styles/components/tab-panel.css +1 -1
  308. package/src/styles/components/tab.css +4 -5
  309. package/src/styles/components/tabs.css +49 -1
  310. package/src/styles/components/tag.css +14 -21
  311. package/src/styles/components/text-input.css +17 -64
  312. package/src/styles/components/textarea.css +66 -0
  313. package/src/styles/components/tooltip.css +102 -0
  314. package/src/styles/components/tree-item.css +152 -0
  315. package/src/styles/components/tree.css +10 -0
  316. package/src/styles/layout.css +457 -25
  317. package/src/styles/radius.css +10 -0
  318. package/src/styles/size.css +7 -7
  319. package/src/styles/variables.css +271 -247
  320. package/src/switch/defines.ts +1 -0
  321. package/src/switch/switch.ts +61 -12
  322. package/src/tabs/defines.ts +1 -0
  323. package/src/tabs/tabs.ts +12 -0
  324. package/src/text-input/text-input.ts +10 -15
  325. package/src/textarea/index.ts +1 -0
  326. package/src/textarea/textarea.ts +107 -0
  327. package/src/tooltip/defines.ts +11 -0
  328. package/src/tooltip/index.ts +4 -0
  329. package/src/tooltip/tooltip.ts +183 -0
  330. package/src/tree/defines.ts +26 -0
  331. package/src/tree/index.ts +5 -0
  332. package/src/tree/tree-item.ts +258 -0
  333. package/src/tree/tree.ts +237 -0
  334. package/dist/chunks/aeico-field.cjs +0 -179
  335. package/dist/chunks/aeico-field.cjs.map +0 -1
  336. package/dist/chunks/aeico-field.js +0 -180
  337. package/dist/chunks/aeico-field.js.map +0 -1
package/dist/select.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { S, S as S2 } from "./chunks/select.js";
2
2
  import { A as AeicoComponent } from "./chunks/aeico-component.js";
3
3
  import { prop, html } from "aeico";
4
- import { s as styleVariables } from "./chunks/variables.js";
5
- const style = ":host {\n display: block;\n\n --option-padding: 0.417em 0.667em;\n --option-bg: transparent;\n --option-bg-hover: var(--surface-raised);\n --option-bg-selected: color-mix(in srgb, var(--color-primary) 12%, transparent);\n --option-color: var(--color-text-main);\n --option-color-disabled: var(--color-text-disabled);\n --option-color-selected: var(--color-primary);\n --option-font-size: 1em;\n --option-transition: background 0.1s;\n}\n\n.option-item {\n padding: var(--option-padding);\n font-size: var(--option-font-size);\n color: var(--option-color);\n background: var(--option-bg);\n cursor: pointer;\n transition: var(--option-transition);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: none;\n}\n\n:host(:hover:not([disabled])) .option-item {\n background: var(--option-bg-hover);\n}\n\n:host([selected]) .option-item {\n background: var(--option-bg-selected);\n color: var(--option-color-selected);\n}\n\n:host([disabled]) .option-item {\n color: var(--option-color-disabled);\n cursor: default;\n pointer-events: none;\n}\n\n\n";
4
+ import { v as variables } from "./chunks/variables.js";
5
+ const style = ":host {\n display: block;\n\n --option-padding: 0.417em 0.667em;\n --option-bg: transparent;\n --option-bg-hover: var(--ae-surface-raised);\n --option-bg-selected: color-mix(in srgb, var(--ae-color-primary) 12%, transparent);\n --option-color: var(--ae-color-text-main);\n --option-color-disabled: var(--ae-color-text-disabled);\n --option-color-selected: var(--ae-color-primary);\n --option-font-size: 1em;\n --option-transition: background 0.1s;\n}\n\n.option-item {\n padding: var(--option-padding);\n font-size: var(--option-font-size);\n color: var(--option-color);\n background: var(--option-bg);\n cursor: pointer;\n transition: var(--option-transition);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: none;\n}\n\n:host(:hover:not([disabled])) .option-item {\n background: var(--option-bg-hover);\n}\n\n:host([selected]) .option-item {\n background: var(--option-bg-selected);\n color: var(--option-color-selected);\n}\n\n:host([disabled]) .option-item {\n color: var(--option-color-disabled);\n cursor: default;\n pointer-events: none;\n}\n\n\n";
6
6
  var __create = Object.create;
7
7
  var __defProp = Object.defineProperty;
8
8
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -89,7 +89,7 @@ __decorateElement(_init, 4, "disabled", _disabled_dec, SelectOption, _disabled);
89
89
  __decorateElement(_init, 4, "selected", _selected_dec, SelectOption, _selected);
90
90
  __decoratorMetadata(_init, SelectOption);
91
91
  __publicField(SelectOption, "tagName", "select-option");
92
- __publicField(SelectOption, "styles", [styleVariables, style]);
92
+ __publicField(SelectOption, "styles", [variables, style]);
93
93
  SelectOption.register();
94
94
  export {
95
95
  S as Select,
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sources":["../src/select/select-option.ts"],"sourcesContent":["import AeicoComponent from '../aeico-component';\nimport type { InferProps } from 'aeico';\nimport { html } from 'aeico';\nimport style from '../styles/components/select-option.css?inline';\nimport variables from '../styles/variables.css?inline';\nimport { prop } from 'aeico';\n\nclass SelectOption extends AeicoComponent {\n static tagName = 'select-option';\n\n @prop({ type: String })\n accessor value: string | undefined;\n\n @prop({ type: String })\n accessor label: string | undefined;\n\n @prop({ type: Boolean })\n accessor disabled: boolean = false;\n\n @prop({ type: Boolean })\n accessor selected: boolean | undefined = false;\n\n protected static styles = [variables, style];\n\n connectedCallback() {\n super.connectedCallback();\n this.listen('click', this._handleClick);\n }\n\n private _handleClick = (e: Event): void => {\n if (this.disabled) {\n e.stopPropagation();\n\n return;\n }\n\n const displayLabel = this.label || this.textContent?.trim() || '';\n this.emit('selectoption', { detail: { value: this.value ?? '', label: displayLabel } });\n };\n\n render() {\n return html(({ div, slot }) => {\n div({ className: 'option-item' }, () => {\n slot();\n });\n });\n }\n}\n\nSelectOption.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-select-option': SelectOption;\n }\n}\n\nexport default SelectOption;\nexport type SelectOptionProps = InferProps<typeof SelectOption>;\n"],"names":["_a","variables"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,eAAA,eAAA,YAAA,YAAA,IAAA,OAAA,QAAA,QAAA,WAAA;AAOA,MAAM,sBAAqB,KAAA,gBAGzB,aAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,aAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,gBAAA,CAAC,KAAK,EAAE,MAAM,QAAA,CAAS,CAAA,GAGvB,gBAAA,CAAC,KAAK,EAAE,MAAM,QAAA,CAAS,IAZE,IAAe;AAAA,EAA1C,cAAA;AAAA,UAAA,GAAA,SAAA;AAIE,iBAAA,MAAS,QAAT,kBAAA,OAAA,GAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,QAAT,kBAAA,OAAA,IAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,WAAoB,kBAA7B,OAAA,IAAA,MAA6B,KAAA,CAAA,GAA7B,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,WAAgC,kBAAzC,OAAA,IAAA,MAAyC,KAAA,CAAA,GAAzC,kBAAA,OAAA,IAAA,IAAA;AASA,kBAAA,MAAQ,gBAAe,CAAC,MAAmB;;AACzC,UAAI,KAAK,UAAU;AACjB,UAAE,gBAAA;AAEF;AAAA,MACF;AAEA,YAAM,eAAe,KAAK,WAASA,MAAA,KAAK,gBAAL,gBAAAA,IAAkB,WAAU;AAC/D,WAAK,KAAK,gBAAgB,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,IAAI,OAAO,aAAA,EAAa,CAAG;AAAA,IACxF,CAAA;AAAA,EAAA;AAAA,EAdA,oBAAoB;AAClB,UAAM,kBAAA;AACN,SAAK,OAAO,SAAS,KAAK,YAAY;AAAA,EACxC;AAAA,EAaA,SAAS;AACP,WAAO,KAAK,CAAC,EAAE,KAAK,WAAW;AAC7B,UAAI,EAAE,WAAW,cAAA,GAAiB,MAAM;AACtC,aAAA;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAxCA,QAAA,iBAAA,EAAA;AAIW,SAAA,oBAAA,QAAA;AAGA,SAAA,oBAAA,QAAA;AAGA,YAAA,oBAAA,QAAA;AAGA,YAAA,oBAAA,QAAA;AATT,kBAAA,OAAA,GAAS,SADT,YAHI,cAIK,MAAA;AAGT,kBAAA,OAAA,GAAS,SADT,YANI,cAOK,MAAA;AAGT,kBAAA,OAAA,GAAS,YADT,eATI,cAUK,SAAA;AAGT,kBAAA,OAAA,GAAS,YADT,eAZI,cAaK,SAAA;AAbX,oBAAA,OAAM,YAAA;AACJ,cADI,cACG,WAAU,eAAA;AAcjB,cAfI,cAea,UAAS,CAACC,gBAAW,KAAK,CAAA;AA2B7C,aAAa,SAAA;"}
1
+ {"version":3,"file":"select.js","sources":["../src/select/select-option.ts"],"sourcesContent":["import AeicoComponent from '../aeico-component';\nimport type { InferProps } from 'aeico';\nimport { html } from 'aeico';\nimport style from '../styles/components/select-option.css?inline';\nimport variables from '../styles/variables.css?inline';\nimport { prop } from 'aeico';\n\nclass SelectOption extends AeicoComponent {\n static tagName = 'select-option';\n\n @prop({ type: String })\n accessor value: string | undefined;\n\n @prop({ type: String })\n accessor label: string | undefined;\n\n @prop({ type: Boolean })\n accessor disabled: boolean = false;\n\n @prop({ type: Boolean })\n accessor selected: boolean | undefined = false;\n\n protected static styles = [variables, style];\n\n connectedCallback() {\n super.connectedCallback();\n this.listen('click', this._handleClick);\n }\n\n private _handleClick = (e: Event): void => {\n if (this.disabled) {\n e.stopPropagation();\n\n return;\n }\n\n const displayLabel = this.label || this.textContent?.trim() || '';\n this.emit('selectoption', { detail: { value: this.value ?? '', label: displayLabel } });\n };\n\n render() {\n return html(({ div, slot }) => {\n div({ className: 'option-item' }, () => {\n slot();\n });\n });\n }\n}\n\nSelectOption.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-select-option': SelectOption;\n }\n}\n\nexport default SelectOption;\nexport type SelectOptionProps = InferProps<typeof SelectOption>;\n"],"names":["_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,eAAA,eAAA,YAAA,YAAA,IAAA,OAAA,QAAA,QAAA,WAAA;AAOA,MAAM,sBAAqB,KAAA,gBAGzB,aAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,aAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,gBAAA,CAAC,KAAK,EAAE,MAAM,QAAA,CAAS,CAAA,GAGvB,gBAAA,CAAC,KAAK,EAAE,MAAM,QAAA,CAAS,IAZE,IAAe;AAAA,EAA1C,cAAA;AAAA,UAAA,GAAA,SAAA;AAIE,iBAAA,MAAS,QAAT,kBAAA,OAAA,GAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,QAAT,kBAAA,OAAA,IAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,WAAoB,kBAA7B,OAAA,IAAA,MAA6B,KAAA,CAAA,GAA7B,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,WAAgC,kBAAzC,OAAA,IAAA,MAAyC,KAAA,CAAA,GAAzC,kBAAA,OAAA,IAAA,IAAA;AASA,kBAAA,MAAQ,gBAAe,CAAC,MAAmB;;AACzC,UAAI,KAAK,UAAU;AACjB,UAAE,gBAAA;AAEF;AAAA,MACF;AAEA,YAAM,eAAe,KAAK,WAASA,MAAA,KAAK,gBAAL,gBAAAA,IAAkB,WAAU;AAC/D,WAAK,KAAK,gBAAgB,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,IAAI,OAAO,aAAA,EAAa,CAAG;AAAA,IACxF,CAAA;AAAA,EAAA;AAAA,EAdA,oBAAoB;AAClB,UAAM,kBAAA;AACN,SAAK,OAAO,SAAS,KAAK,YAAY;AAAA,EACxC;AAAA,EAaA,SAAS;AACP,WAAO,KAAK,CAAC,EAAE,KAAK,WAAW;AAC7B,UAAI,EAAE,WAAW,cAAA,GAAiB,MAAM;AACtC,aAAA;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAxCA,QAAA,iBAAA,EAAA;AAIW,SAAA,oBAAA,QAAA;AAGA,SAAA,oBAAA,QAAA;AAGA,YAAA,oBAAA,QAAA;AAGA,YAAA,oBAAA,QAAA;AATT,kBAAA,OAAA,GAAS,SADT,YAHI,cAIK,MAAA;AAGT,kBAAA,OAAA,GAAS,SADT,YANI,cAOK,MAAA;AAGT,kBAAA,OAAA,GAAS,YADT,eATI,cAUK,SAAA;AAGT,kBAAA,OAAA,GAAS,YADT,eAZI,cAaK,SAAA;AAbX,oBAAA,OAAM,YAAA;AACJ,cADI,cACG,WAAU,eAAA;AAcjB,cAfI,cAea,UAAS,CAAC,WAAW,KAAK,CAAA;AA2B7C,aAAa,SAAA;"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const spinner = require("./chunks/spinner.cjs");
4
+ exports.Spinner = spinner.Spinner;
5
+ exports.default = spinner.Spinner;
6
+ //# sourceMappingURL=spinner.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,6 @@
1
+ import { S, S as S2 } from "./chunks/spinner.js";
2
+ export {
3
+ S as Spinner,
4
+ S2 as default
5
+ };
6
+ //# sourceMappingURL=spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const textarea = require("./chunks/textarea.cjs");
4
+ exports.default = textarea.Textarea;
5
+ //# sourceMappingURL=textarea.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,5 @@
1
+ import { T } from "./chunks/textarea.js";
2
+ export {
3
+ T as default
4
+ };
5
+ //# sourceMappingURL=textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.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 tooltip = require("./chunks/tooltip.cjs");
4
+ exports.Tooltip = tooltip.Tooltip;
5
+ exports.default = tooltip.Tooltip;
6
+ //# sourceMappingURL=tooltip.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,6 @@
1
+ import { T, T as T2 } from "./chunks/tooltip.js";
2
+ export {
3
+ T as Tooltip,
4
+ T2 as default
5
+ };
6
+ //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/tree.cjs ADDED
@@ -0,0 +1,6 @@
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;
6
+ //# sourceMappingURL=tree.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
package/dist/tree.js ADDED
@@ -0,0 +1,6 @@
1
+ import { T, a } from "./chunks/tree.js";
2
+ export {
3
+ T as Tree,
4
+ a as TreeItem
5
+ };
6
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -2,6 +2,7 @@ import type { InferProps, Props, Watchers } from 'aeico';
2
2
  import AeicoComponent from './aeico-component';
3
3
  export type FieldAction = 'clear' | 'reset' | 'change';
4
4
  export type FieldElement = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
5
+ export type ActionButtonStyle = 'standalone' | 'integrated';
5
6
  /**
6
7
  * Base class for form field components
7
8
  *
@@ -21,6 +22,9 @@ declare class AeicoField<TValue = string> extends AeicoComponent {
21
22
  * Property watchers
22
23
  */
23
24
  static watchers: Watchers;
25
+ private static _fieldIdCounter;
26
+ private readonly _fieldId;
27
+ constructor();
24
28
  /**
25
29
  * The underlying form control element (input, select, etc.)
26
30
  * Subclasses should set this to their specific element
@@ -35,10 +39,18 @@ declare class AeicoField<TValue = string> extends AeicoComponent {
35
39
  defaultValue?: TValue | string;
36
40
  resettable?: boolean;
37
41
  resetText?: string;
42
+ resetTitle?: string;
38
43
  clearable?: boolean;
39
44
  clearText?: string;
45
+ clearTitle?: string;
46
+ actionButtonStyle?: ActionButtonStyle;
40
47
  size?: string;
41
48
  disabled?: boolean;
49
+ label?: string;
50
+ labelPlacement?: 'top' | 'left';
51
+ required?: boolean;
52
+ helperText?: string;
53
+ error?: string;
42
54
  /**
43
55
  * Lifecycle: Component connected to DOM
44
56
  */
@@ -54,10 +66,50 @@ declare class AeicoField<TValue = string> extends AeicoComponent {
54
66
  protected renderActionButtons(force?: boolean): void;
55
67
  protected renderResetButton(force?: boolean): void;
56
68
  protected renderClearButton(force?: boolean): void;
69
+ /**
70
+ * Returns a stable unique ID for this field instance,
71
+ * used to associate <label htmlFor> with the underlying input.
72
+ */
73
+ protected getFieldId(): string;
74
+ /**
75
+ * Renders a <label> element when the `label` prop is set.
76
+ * Call this as the first statement inside the render() html() callback.
77
+ * @param fieldId - The id to set on the underlying form control element (pass to input via id prop)
78
+ */
79
+ protected renderLabel(fieldId: string): void;
80
+ /**
81
+ * Renders helper text below the field. Hidden when `error` is set.
82
+ * Call this after the field-body div in render().
83
+ */
84
+ protected renderHelperText(): void;
85
+ /**
86
+ * Renders an error message below the field when `error` is set.
87
+ * Call this after renderHelperText() in render().
88
+ */
89
+ protected renderError(): void;
57
90
  /**
58
91
  * Watcher for disabled property
59
92
  */
60
93
  protected onDisabledChanged(newValue: boolean): void;
94
+ /**
95
+ * Watcher for error property — syncs aria-invalid on the field element
96
+ */
97
+ protected onErrorChanged(newValue: string | undefined): void;
98
+ /**
99
+ * Lifecycle: called after every render update.
100
+ * Keeps aria-invalid on fieldElement in sync regardless of watcher timing.
101
+ */
102
+ protected onUpdated(_changedProps: Map<string, unknown>): void;
103
+ /**
104
+ * Returns true if the field passes constraint validation.
105
+ * Delegates to the underlying fieldElement when available;
106
+ * falls back to a manual required-check otherwise.
107
+ */
108
+ checkValidity(): boolean;
109
+ /**
110
+ * Reports validity, showing the browser's built-in validation UI when possible.
111
+ */
112
+ reportValidity(): boolean;
61
113
  /**
62
114
  * Render the field component
63
115
  * Override in subclass to provide custom rendering
@@ -35,6 +35,7 @@ declare class Alert extends AeicoComponent {
35
35
  size?: AlertSize;
36
36
  dismissible?: boolean;
37
37
  invisible?: boolean;
38
+ closeText?: string;
38
39
  protected render(): import("aeico-view").RenderResult;
39
40
  show(): void;
40
41
  hide(): void;
@@ -1,2 +1,2 @@
1
- export type CardVariant = 'subtle' | 'faint' | 'filled' | 'outlined';
1
+ export type CardVariant = 'subtle' | 'faint' | 'filled' | 'outlined' | 'text';
2
2
  export type CardColor = 'default' | 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'light' | 'dark';
@@ -0,0 +1,32 @@
1
+ import type { InferProps } from 'aeico';
2
+ import AeicoComponent from '../aeico-component';
3
+ import '../icon/icon';
4
+ import '../tooltip/tooltip';
5
+ import type { TooltipPlacement } from '../tooltip/defines';
6
+ import type { CopyButtonColor, CopyButtonSize, CopyButtonVariant } from './defines';
7
+ declare class CopyButton extends AeicoComponent {
8
+ protected static styles: string[];
9
+ accessor text: string | undefined;
10
+ accessor color: CopyButtonColor | undefined;
11
+ accessor variant: CopyButtonVariant | undefined;
12
+ accessor size: CopyButtonSize | undefined;
13
+ accessor disabled: boolean | undefined;
14
+ accessor duration: number | undefined;
15
+ accessor tooltip: string;
16
+ accessor tooltipCopied: string;
17
+ accessor tooltipPlacement: TooltipPlacement;
18
+ private _slotElement;
19
+ private _tooltipEl;
20
+ private _resetTimer;
21
+ private _getTextToCopy;
22
+ private _handleClick;
23
+ protected onUnmounted(): void;
24
+ protected render(): import("aeico-view").RenderResult;
25
+ }
26
+ declare global {
27
+ interface HTMLElementTagNameMap {
28
+ 'ae-copy-button': CopyButton;
29
+ }
30
+ }
31
+ export default CopyButton;
32
+ export type CopyButtonProps = InferProps<typeof CopyButton>;
@@ -0,0 +1 @@
1
+ export type { ButtonColor as CopyButtonColor, ButtonVariant as CopyButtonVariant, ButtonSize as CopyButtonSize, } from '../button/defines';
@@ -0,0 +1,3 @@
1
+ export { default, default as CopyButton } from './copy-button';
2
+ export type { CopyButtonProps } from './copy-button';
3
+ export type { CopyButtonColor, CopyButtonSize, CopyButtonVariant } from './defines';
@@ -1,2 +1,3 @@
1
- export type DetailVariant = 'subtle' | 'faint' | 'filled' | 'outlined';
1
+ export type DetailVariant = 'subtle' | 'faint' | 'filled' | 'outlined' | 'text';
2
+ export type DetailIconPlacement = 'start' | 'end';
2
3
  export type DetailColor = 'default' | 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'light' | 'dark';
@@ -1,6 +1,6 @@
1
1
  import type { InferProps } from 'aeico';
2
2
  import AeicoComponent from '../aeico-component';
3
- import type { DetailColor, DetailVariant } from './defines';
3
+ import type { DetailColor, DetailVariant, DetailIconPlacement } from './defines';
4
4
  /**
5
5
  * Detail component that can be used to show/hide additional content.
6
6
  *
@@ -19,6 +19,7 @@ declare class Detail extends AeicoComponent {
19
19
  accessor variant: DetailVariant;
20
20
  accessor color: DetailColor;
21
21
  accessor disabled: boolean;
22
+ accessor iconPlacement: DetailIconPlacement;
22
23
  private _open;
23
24
  /** Opens the detail panel. */
24
25
  open(): void;
@@ -38,3 +39,4 @@ declare global {
38
39
  }
39
40
  export default Detail;
40
41
  export type DetailProps = InferProps<typeof Detail>;
42
+ export type { DetailIconPlacement };
@@ -1,3 +1,3 @@
1
1
  export { default, default as Detail } from './detail';
2
2
  export type { DetailProps } from './detail';
3
- export type { DetailVariant, DetailColor } from './defines';
3
+ export type { DetailVariant, DetailColor, DetailIconPlacement } from './defines';
@@ -0,0 +1,39 @@
1
+ import type { InferProps, Props } from 'aeico';
2
+ import AeicoComponent from '../aeico-component';
3
+ import type { DetailColor, DetailVariant } from '../detail/defines';
4
+ /**
5
+ * DetailGroup component — wraps multiple `ae-detail` elements into an
6
+ * accordion-style group. By default only one item can be open at a time;
7
+ * set `multiple` to allow several items open simultaneously.
8
+ *
9
+ * @example
10
+ * ```html
11
+ * <ae-detail-group>
12
+ * <ae-detail summary="Section 1">Content 1</ae-detail>
13
+ * <ae-detail summary="Section 2">Content 2</ae-detail>
14
+ * <ae-detail summary="Section 3">Content 3</ae-detail>
15
+ * </ae-detail-group>
16
+ * ```
17
+ */
18
+ declare class DetailGroup extends AeicoComponent {
19
+ static tagName: string;
20
+ static props: Props;
21
+ protected static styles: string[];
22
+ multiple?: boolean;
23
+ variant?: DetailVariant;
24
+ color?: DetailColor;
25
+ private slotEl;
26
+ private readonly DETAIL_RADIUS;
27
+ connectedCallback(): void;
28
+ private _getDetails;
29
+ private _syncChildren;
30
+ private _handleOpen;
31
+ protected render(): import("aeico-view").RenderResult;
32
+ }
33
+ declare global {
34
+ interface HTMLElementTagNameMap {
35
+ 'ae-detail-group': DetailGroup;
36
+ }
37
+ }
38
+ export default DetailGroup;
39
+ export type DetailGroupProps = InferProps<typeof DetailGroup>;
@@ -0,0 +1,2 @@
1
+ export { default, default as DetailGroup } from './detail-group';
2
+ export type { DetailGroupProps } from './detail-group';
@@ -0,0 +1 @@
1
+ export type DrawerPlacement = 'left' | 'right' | 'top' | 'bottom';
@@ -0,0 +1,31 @@
1
+ import type { InferProps } from 'aeico';
2
+ import AeicoComponent from '../aeico-component';
3
+ import type { DrawerPlacement } from './defines';
4
+ declare class Drawer extends AeicoComponent {
5
+ protected static styles: string[];
6
+ accessor label: string | undefined;
7
+ accessor placement: DrawerPlacement | undefined;
8
+ accessor size: string | undefined;
9
+ accessor modal: boolean;
10
+ accessor closable: boolean;
11
+ accessor header: boolean;
12
+ accessor closeOnOverlayClick: boolean;
13
+ private _panelEl;
14
+ private _hasFooter;
15
+ protected render(): import("aeico-view").RenderResult;
16
+ private _handleBackdropClick;
17
+ private _handlePanelClick;
18
+ private _handleKeydown;
19
+ private _handleFooterSlotChange;
20
+ open(): void;
21
+ close(): void;
22
+ isOpen(): boolean;
23
+ disconnectedCallback(): void;
24
+ }
25
+ declare global {
26
+ interface HTMLElementTagNameMap {
27
+ 'ae-drawer': Drawer;
28
+ }
29
+ }
30
+ export default Drawer;
31
+ export type DrawerProps = InferProps<typeof Drawer>;
@@ -0,0 +1,3 @@
1
+ export { default, default as Drawer } from './drawer';
2
+ export type { DrawerProps } from './drawer';
3
+ export type { DrawerPlacement } from './defines';
@@ -0,0 +1 @@
1
+ export {};
@@ -1,7 +1,11 @@
1
1
  export type IconSize = '3xs' | '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
2
2
  export type IconColor = 'default' | 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
3
+ export interface IconPathDef {
4
+ d: string;
5
+ fill?: string;
6
+ }
3
7
  export interface IconDefinition {
4
- path: string;
8
+ paths: string | IconPathDef[];
5
9
  viewBox?: string;
6
10
  stroke?: boolean;
7
11
  strokeWidth?: number;
@@ -1,6 +1,7 @@
1
1
  import type { InferProps, Props } from 'aeico';
2
2
  import AeicoComponent from '../aeico-component';
3
3
  import type { IconSize, IconColor } from './defines';
4
+ import './built-in-icons';
4
5
  declare class Icon extends AeicoComponent {
5
6
  static tagName: string;
6
7
  static props: Props;
@@ -1,4 +1,4 @@
1
1
  export { default as Icon } from './icon';
2
2
  export type { IconProps } from './icon';
3
3
  export { default as IconRegistry } from './registry';
4
- export type { IconSize, IconColor, IconDefinition, IconRegistryData } from './defines';
4
+ export type { IconSize, IconColor, IconDefinition, IconPathDef, IconRegistryData } from './defines';
@@ -1,7 +1,15 @@
1
1
  import { IconDefinition, IconRegistryData } from './defines';
2
2
  declare class IconRegistry {
3
3
  private static _icons;
4
+ /** Names registered via addBuiltIn — can be overridden by user add() calls */
5
+ private static _builtInKeys;
6
+ /** Register user icons. Always takes priority over built-in icons. */
4
7
  static add(icons: IconRegistryData): void;
8
+ /**
9
+ * Register built-in icons provided by the library.
10
+ * A built-in icon will NOT overwrite an icon already registered by the user.
11
+ */
12
+ static addBuiltIn(icons: IconRegistryData): void;
5
13
  static get(name: string): IconDefinition | undefined;
6
14
  static has(name: string): boolean;
7
15
  }
@@ -31,6 +31,8 @@
31
31
  * ```
32
32
  */
33
33
  export { default as TextInput } from './text-input';
34
+ export { default as NumberInput } from './number-input';
35
+ export { default as Textarea, type TextareaResize } from './textarea';
34
36
  export { default as Select } from './select';
35
37
  export { default as Slider } from './slider';
36
38
  export { default as Checkbox } from './checkbox';
@@ -39,12 +41,14 @@ export { Radio } from './radio-group';
39
41
  export { default as Switch } from './switch';
40
42
  export { default as Breadcrumb, BreadcrumbItem } from './breadcrumb';
41
43
  export { default as Button } from './button';
44
+ export { default as CopyButton } from './copy-button';
42
45
  export { default as Dropdown, DropdownItem, DropdownButton } from './dropdown';
43
46
  export { default as ButtonGroup } from './button-group';
44
47
  export { default as Badge } from './badge';
45
48
  export { default as Tag } from './tag';
46
49
  export { default as Alert } from './alert';
47
50
  export { default as Dialog } from './dialog';
51
+ export { default as Drawer } from './drawer';
48
52
  export { default as Icon } from './icon/icon';
49
53
  export { default as IconRegistry } from './icon/registry';
50
54
  export { default as IconButton } from './icon-button';
@@ -52,8 +56,14 @@ export { Tabs, Tab, TabPanel } from './tabs';
52
56
  export { default as Divider } from './divider';
53
57
  export { default as Card } from './card';
54
58
  export { default as Navbar } from './navbar';
59
+ export { default as Spinner } from './spinner';
55
60
  export { default as Detail } from './detail';
61
+ export { default as DetailGroup } from './detail-group';
56
62
  export { default as ProgressBar } from './progress-bar';
63
+ export { Menu, MenuItem } from './menu';
64
+ export { default as Tooltip } from './tooltip';
65
+ export { default as Pagination } from './pagination';
66
+ export { Tree, TreeItem } from './tree';
57
67
  export type { SelectProps, SelectOption, SelectOptions, SelectOptionValue } from './select';
58
68
  export type { SliderProps, SliderOption, SliderOptions, SliderOptionValue } from './slider';
59
69
  export type { CheckboxProps, CheckboxVariant } from './checkbox';
@@ -61,12 +71,16 @@ export type { RadioGroupProps, RadioGroupMode, RadioGroupOption, RadioGroupOptio
61
71
  export type { RadioProps } from './radio-group';
62
72
  export type { SwitchProps } from './switch';
63
73
  export type { TextInputProps } from './text-input';
74
+ export type { NumberInputProps } from './number-input';
75
+ export type { TextareaProps } from './textarea';
64
76
  export type { ButtonProps, ButtonColor, ButtonSize, ButtonVariant } from './button';
65
77
  export type { ButtonGroupProps } from './button-group';
78
+ export type { PaginationProps, PaginationSize } from './pagination';
66
79
  export type { AlertProps, AlertColor, AlertSize, AlertVariant } from './alert';
67
80
  export type { BadgeProps, BadgeColor, BadgeSize, BadgeVariant } from './badge';
68
81
  export type { TagProps, TagColor, TagSize, TagVariant } from './tag';
69
82
  export type { DialogProps } from './dialog';
83
+ export type { DrawerProps, DrawerPlacement } from './drawer';
70
84
  export type { IconProps, IconSize, IconColor, IconDefinition, IconRegistryData } from './icon';
71
85
  export type { ProgressBarProps, ProgressBarColor } from './progress-bar';
72
86
  export type { IconButtonProps, IconButtonVariant, IconButtonSize } from './icon-button';
@@ -74,3 +88,6 @@ export type { DividerProps } from './divider';
74
88
  export type { CardProps, CardVariant, CardColor } from './card';
75
89
  export type { NavbarProps, NavbarColor, NavbarAppearance } from './navbar';
76
90
  export type { DetailProps, DetailVariant, DetailColor } from './detail';
91
+ export type { MenuProps, MenuItemProps, MenuMode, MenuOrientation, MenuTrigger, MenuSelectDetail, } from './menu';
92
+ export type { TooltipProps, TooltipPlacement, TooltipTrigger } from './tooltip';
93
+ export type { TreeProps, TreeItemProps, TreeSelectDetail, TreeExpandDetail, TreeCheckDetail, } from './tree';
@@ -0,0 +1,15 @@
1
+ export type MenuMode = 'flyout' | 'inline';
2
+ export type MenuOrientation = 'horizontal' | 'vertical';
3
+ export type MenuTrigger = 'click' | 'hover';
4
+ export type MenuIconPlacement = 'start' | 'end';
5
+ /** Minimal interface used by menu-item to read config from its parent ae-menu. */
6
+ export interface ParentMenuLike extends Element {
7
+ mode?: MenuMode;
8
+ orientation?: MenuOrientation;
9
+ trigger?: MenuTrigger;
10
+ }
11
+ export interface MenuSelectDetail {
12
+ key: string;
13
+ label: string;
14
+ keyPath: string[];
15
+ }
@@ -0,0 +1,5 @@
1
+ export { default as Menu } from './menu';
2
+ export { default as MenuItem } from './menu-item';
3
+ export type { MenuProps } from './menu';
4
+ export type { MenuItemProps } from './menu-item';
5
+ export type { MenuMode, MenuOrientation, MenuTrigger, MenuSelectDetail } from './defines';
@@ -0,0 +1,63 @@
1
+ import AeicoComponent from '../aeico-component';
2
+ import type { InferProps } from 'aeico';
3
+ import type { MenuIconPlacement } from './defines';
4
+ /**
5
+ * Menu item — used as a direct child of `<ae-menu>` or nested inside another
6
+ * `<ae-menu-item>` to create a two-level submenu.
7
+ *
8
+ * - **Leaf item**: omit `label`; slot contains the item text.
9
+ * - **Parent item**: set `label` to the trigger text; slot children are
10
+ * `<ae-menu-item>` elements that appear in the submenu panel/section.
11
+ *
12
+ * **Slots (parent items only)**
13
+ * - `expand` — icon shown when the submenu is closed (default: CSS triangle).
14
+ * - `collapse` — icon shown when the submenu is open (default: rotated CSS triangle).
15
+ *
16
+ * @example
17
+ * ```html
18
+ * <ae-menu-item label="Settings" icon-placement="start">
19
+ * <ae-icon name="chevron-right" slot="expand"></ae-icon>
20
+ * <ae-icon name="chevron-down" slot="collapse"></ae-icon>
21
+ * <ae-menu-item key="profile">Profile</ae-menu-item>
22
+ * </ae-menu-item>
23
+ * ```
24
+ */
25
+ declare class MenuItem extends AeicoComponent {
26
+ static tagName: string;
27
+ protected static styles: string[];
28
+ accessor key: string | undefined;
29
+ accessor label: string | undefined;
30
+ accessor disabled: boolean;
31
+ accessor href: string | undefined;
32
+ accessor selected: boolean;
33
+ accessor open: boolean;
34
+ accessor iconPlacement: MenuIconPlacement;
35
+ private _outsideClickHandler;
36
+ private _closeTimer;
37
+ connectedCallback(): void;
38
+ disconnectedCallback(): void;
39
+ private get _parentMenu();
40
+ private get _mode();
41
+ private get _orientation();
42
+ private get _trigger();
43
+ private get _isParent();
44
+ /** Compute flyout panel placement based on depth and parent orientation. */
45
+ private get _panelPlacement();
46
+ private _isHoverTrigger;
47
+ private _handleMouseEnter;
48
+ private _handleMouseLeave;
49
+ private _handleParentClick;
50
+ private _handleLeafClick;
51
+ private _handleChildSelect;
52
+ private _handleKeydown;
53
+ private _buildKeyPath;
54
+ protected render(): import("aeico-view").RenderResult;
55
+ }
56
+ declare global {
57
+ interface HTMLElementTagNameMap {
58
+ 'ae-menu-item': MenuItem;
59
+ }
60
+ }
61
+ export default MenuItem;
62
+ export type MenuItemProps = InferProps<typeof MenuItem>;
63
+ export type { MenuIconPlacement };
@@ -0,0 +1,34 @@
1
+ import AeicoComponent from '../aeico-component';
2
+ import type { InferProps } from 'aeico';
3
+ import type { MenuMode, MenuOrientation, MenuTrigger } from './defines';
4
+ import './menu-item';
5
+ /**
6
+ * Menu navigation component. Renders a horizontal or vertical menu with
7
+ * optional two-level flyout or inline (accordion) submenus.
8
+ *
9
+ * Two modes:
10
+ * - `flyout` (default) — submenus open as floating panels (like a nav bar or
11
+ * context menu).
12
+ * - `inline` — submenus expand in-place (accordion-style sidebar).
13
+ *
14
+ * Emits:
15
+ * - `select` — `{ detail: { key, label, keyPath } }` when a leaf item is clicked.
16
+ */
17
+ declare class Menu extends AeicoComponent {
18
+ static tagName: string;
19
+ protected static styles: string[];
20
+ accessor mode: MenuMode;
21
+ accessor orientation: MenuOrientation;
22
+ accessor trigger: MenuTrigger;
23
+ accessor selectedKey: string | undefined;
24
+ connectedCallback(): void;
25
+ private _handleItemSelect;
26
+ protected render(): import("aeico-view").RenderResult;
27
+ }
28
+ declare global {
29
+ interface HTMLElementTagNameMap {
30
+ 'ae-menu': Menu;
31
+ }
32
+ }
33
+ export default Menu;
34
+ export type MenuProps = InferProps<typeof Menu>;
@@ -0,0 +1,2 @@
1
+ export { default, default as NumberInput } from './number-input';
2
+ export type { NumberInputProps } from './number-input';