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
@@ -1 +1 @@
1
- {"version":3,"file":"select.cjs","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":["AeicoComponent","prop","_a","html","variables"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,eAAA,eAAA,YAAA,YAAA,IAAA,OAAA,QAAA,QAAA,WAAA;AAOA,MAAM,sBAAqB,KAAAA,eAAAA,gBAGzB,aAAA,CAACC,MAAAA,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,aAAA,CAACA,MAAAA,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,gBAAA,CAACA,MAAAA,KAAK,EAAE,MAAM,QAAA,CAAS,CAAA,GAGvB,gBAAA,CAACA,MAAAA,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,WAASC,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,WAAOC,WAAK,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,UAAAA,gBAAW,KAAK,CAAA;AA2B7C,aAAa,SAAA;;;;"}
1
+ {"version":3,"file":"select.cjs","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":["AeicoComponent","prop","_a","html","variables"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,eAAA,eAAA,YAAA,YAAA,IAAA,OAAA,QAAA,QAAA,WAAA;AAOA,MAAM,sBAAqB,KAAAA,eAAAA,gBAGzB,aAAA,CAACC,MAAAA,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,aAAA,CAACA,MAAAA,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,gBAAA,CAACA,MAAAA,KAAK,EAAE,MAAM,QAAA,CAAS,CAAA,GAGvB,gBAAA,CAACA,MAAAA,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,WAASC,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,WAAOC,WAAK,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,UAAAA,WAAW,KAAK,CAAA;AA2B7C,aAAa,SAAA;;;;"}
package/dist/select.js CHANGED
@@ -1,7 +1,7 @@
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";
4
+ import { v as variables } from "./chunks/variables.js";
5
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";
6
6
  var __create = Object.create;
7
7
  var __defProp = Object.defineProperty;
@@ -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
@@ -70,14 +122,14 @@ declare class AeicoField<TValue = string> extends AeicoComponent {
70
122
  *
71
123
  * @returns Current field value
72
124
  */
73
- protected getValue(): any;
125
+ protected getValue(): TValue;
74
126
  /**
75
127
  * Write value to the underlying UI element and sync props
76
128
  * Subclasses must override this to update their specific UI element
77
129
  *
78
130
  * @param _value New value to write to the element
79
131
  */
80
- protected writeValue(_value: any): void;
132
+ protected writeValue(_value: TValue): void;
81
133
  /**
82
134
  * Get event payload for change events
83
135
  * Override in subclasses to customize event data (e.g., { checked, oldChecked } for checkbox)
@@ -87,7 +139,7 @@ declare class AeicoField<TValue = string> extends AeicoComponent {
87
139
  * @param action Action type
88
140
  * @returns Event payload object
89
141
  */
90
- protected getEventPayload(value: any, oldValue: any, action: FieldAction): Record<string, any>;
142
+ protected getEventPayload(value: TValue, oldValue: TValue, action: FieldAction): Record<string, unknown>;
91
143
  /**
92
144
  * Update field value programmatically (internal method)
93
145
  * Subclasses should provide type-safe public wrappers (e.g., change() method)
@@ -96,7 +148,7 @@ declare class AeicoField<TValue = string> extends AeicoComponent {
96
148
  * @param options.silent If true, won't emit change event (default: true)
97
149
  * @param options.action Action type for the event (default: 'change')
98
150
  */
99
- protected setValue(value: any, options?: {
151
+ protected setValue(value: TValue, options?: {
100
152
  silent?: boolean;
101
153
  action?: FieldAction;
102
154
  }): void;
@@ -106,7 +158,7 @@ declare class AeicoField<TValue = string> extends AeicoComponent {
106
158
  * @param value Value to reset to, defaults to defaultValue prop
107
159
  * @param options.silent If false, will emit reset event (default: true)
108
160
  */
109
- reset(value?: any, options?: {
161
+ reset(value?: TValue, options?: {
110
162
  silent?: boolean;
111
163
  }): void;
112
164
  /**
@@ -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;
@@ -33,7 +33,8 @@ declare class Button extends AeicoComponent {
33
33
  type?: 'button' | 'submit' | 'reset';
34
34
  active?: boolean;
35
35
  block?: boolean;
36
- private buttonElement;
36
+ private _buttonElement;
37
+ private _slotElement;
37
38
  private _autoAriaLabel;
38
39
  protected onMounted(): void;
39
40
  private _handleSlotChange;
@@ -1,7 +1,7 @@
1
- import AeicoField from '../aeico-field';
1
+ import AeicoField, { type FieldAction } from '../aeico-field';
2
2
  import type { InferProps, Props } from 'aeico';
3
3
  import { CheckboxVariant } from './defines';
4
- declare class Checkbox extends AeicoField {
4
+ declare class Checkbox extends AeicoField<boolean> {
5
5
  protected fieldElement: HTMLInputElement | null;
6
6
  static tagName: string;
7
7
  static props: Props;
@@ -11,14 +11,14 @@ declare class Checkbox extends AeicoField {
11
11
  protected static styles: string[];
12
12
  protected getValue(): boolean;
13
13
  protected writeValue(checked: boolean): void;
14
- protected getEventPayload(checked: boolean, oldChecked: boolean, action: any): {
14
+ protected getEventPayload(checked: boolean, oldChecked: boolean, action: FieldAction): {
15
15
  checked: boolean;
16
16
  oldChecked: boolean;
17
- action: any;
17
+ action: FieldAction;
18
18
  };
19
19
  protected setValue(checked: boolean, options?: {
20
20
  silent?: boolean;
21
- action?: any;
21
+ action?: FieldAction;
22
22
  }): void;
23
23
  reset(checked?: boolean, options?: {
24
24
  silent?: boolean;
@@ -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
1
  export type DetailVariant = 'subtle' | 'faint' | 'filled' | 'outlined';
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,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,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,7 +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';
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';
56
67
  export type { SelectProps, SelectOption, SelectOptions, SelectOptionValue } from './select';
57
68
  export type { SliderProps, SliderOption, SliderOptions, SliderOptionValue } from './slider';
58
69
  export type { CheckboxProps, CheckboxVariant } from './checkbox';
@@ -60,15 +71,23 @@ export type { RadioGroupProps, RadioGroupMode, RadioGroupOption, RadioGroupOptio
60
71
  export type { RadioProps } from './radio-group';
61
72
  export type { SwitchProps } from './switch';
62
73
  export type { TextInputProps } from './text-input';
74
+ export type { NumberInputProps } from './number-input';
75
+ export type { TextareaProps } from './textarea';
63
76
  export type { ButtonProps, ButtonColor, ButtonSize, ButtonVariant } from './button';
64
77
  export type { ButtonGroupProps } from './button-group';
78
+ export type { PaginationProps, PaginationSize } from './pagination';
65
79
  export type { AlertProps, AlertColor, AlertSize, AlertVariant } from './alert';
66
80
  export type { BadgeProps, BadgeColor, BadgeSize, BadgeVariant } from './badge';
67
81
  export type { TagProps, TagColor, TagSize, TagVariant } from './tag';
68
82
  export type { DialogProps } from './dialog';
83
+ export type { DrawerProps, DrawerPlacement } from './drawer';
69
84
  export type { IconProps, IconSize, IconColor, IconDefinition, IconRegistryData } from './icon';
85
+ export type { ProgressBarProps, ProgressBarColor } from './progress-bar';
70
86
  export type { IconButtonProps, IconButtonVariant, IconButtonSize } from './icon-button';
71
87
  export type { DividerProps } from './divider';
72
88
  export type { CardProps, CardVariant, CardColor } from './card';
73
89
  export type { NavbarProps, NavbarColor, NavbarAppearance } from './navbar';
74
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';