aeico-components 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/README.md +0 -0
  2. package/dist/alert.cjs +637 -4
  3. package/dist/alert.cjs.map +7 -1
  4. package/dist/alert.js +575 -3
  5. package/dist/alert.js.map +7 -1
  6. package/dist/badge.cjs +573 -4
  7. package/dist/badge.cjs.map +7 -1
  8. package/dist/badge.js +510 -3
  9. package/dist/badge.js.map +7 -1
  10. package/dist/breadcrumb.cjs +709 -5
  11. package/dist/breadcrumb.cjs.map +7 -1
  12. package/dist/breadcrumb.js +644 -4
  13. package/dist/breadcrumb.js.map +7 -1
  14. package/dist/button-group.cjs +546 -4
  15. package/dist/button-group.cjs.map +7 -1
  16. package/dist/button-group.js +489 -3
  17. package/dist/button-group.js.map +7 -1
  18. package/dist/button.cjs +834 -4
  19. package/dist/button.cjs.map +7 -1
  20. package/dist/button.js +771 -3
  21. package/dist/button.js.map +7 -1
  22. package/dist/card.cjs +574 -4
  23. package/dist/card.cjs.map +7 -1
  24. package/dist/card.js +516 -3
  25. package/dist/card.js.map +7 -1
  26. package/dist/checkbox.cjs +867 -4
  27. package/dist/checkbox.cjs.map +7 -1
  28. package/dist/checkbox.js +794 -3
  29. package/dist/checkbox.js.map +7 -1
  30. package/dist/copy-button.cjs +1046 -4
  31. package/dist/copy-button.cjs.map +7 -1
  32. package/dist/copy-button.js +969 -3
  33. package/dist/copy-button.js.map +7 -1
  34. package/dist/detail-group.cjs +533 -0
  35. package/dist/detail-group.cjs.map +7 -0
  36. package/dist/detail-group.js +477 -0
  37. package/dist/detail-group.js.map +7 -0
  38. package/dist/detail.cjs +627 -4
  39. package/dist/detail.cjs.map +7 -1
  40. package/dist/detail.js +569 -3
  41. package/dist/detail.js.map +7 -1
  42. package/dist/dialog.cjs +738 -4
  43. package/dist/dialog.cjs.map +7 -1
  44. package/dist/dialog.js +665 -3
  45. package/dist/dialog.js.map +7 -1
  46. package/dist/divider.cjs +558 -4
  47. package/dist/divider.cjs.map +7 -1
  48. package/dist/divider.js +502 -3
  49. package/dist/divider.js.map +7 -1
  50. package/dist/drawer.cjs +818 -4
  51. package/dist/drawer.cjs.map +7 -1
  52. package/dist/drawer.js +749 -3
  53. package/dist/drawer.js.map +7 -1
  54. package/dist/dropdown.cjs +1396 -5
  55. package/dist/dropdown.cjs.map +7 -1
  56. package/dist/dropdown.js +1316 -4
  57. package/dist/dropdown.js.map +7 -1
  58. package/dist/icon-button.cjs +999 -4
  59. package/dist/icon-button.cjs.map +7 -1
  60. package/dist/icon-button.js +930 -3
  61. package/dist/icon-button.js.map +7 -1
  62. package/dist/icon.cjs +613 -4
  63. package/dist/icon.cjs.map +7 -1
  64. package/dist/icon.js +547 -3
  65. package/dist/icon.js.map +7 -1
  66. package/dist/index.cjs +6484 -188
  67. package/dist/index.cjs.map +7 -1
  68. package/dist/index.js +6095 -147
  69. package/dist/index.js.map +7 -1
  70. package/dist/menu.cjs +841 -4
  71. package/dist/menu.cjs.map +7 -1
  72. package/dist/menu.js +785 -3
  73. package/dist/menu.js.map +7 -1
  74. package/dist/navbar.cjs +622 -4
  75. package/dist/navbar.cjs.map +7 -1
  76. package/dist/navbar.js +564 -3
  77. package/dist/navbar.js.map +7 -1
  78. package/dist/number-input.cjs +887 -0
  79. package/dist/number-input.cjs.map +7 -0
  80. package/dist/number-input.js +820 -0
  81. package/dist/number-input.js.map +7 -0
  82. package/dist/pagination.cjs +1099 -4
  83. package/dist/pagination.cjs.map +7 -1
  84. package/dist/pagination.js +1029 -3
  85. package/dist/pagination.js.map +7 -1
  86. package/dist/progress-bar.cjs +581 -4
  87. package/dist/progress-bar.cjs.map +7 -1
  88. package/dist/progress-bar.js +525 -3
  89. package/dist/progress-bar.js.map +7 -1
  90. package/dist/radio-group.cjs +973 -5
  91. package/dist/radio-group.cjs.map +7 -1
  92. package/dist/radio-group.js +899 -4
  93. package/dist/radio-group.js.map +7 -1
  94. package/dist/select.cjs +1242 -45
  95. package/dist/select.cjs.map +7 -1
  96. package/dist/select.js +1159 -44
  97. package/dist/select.js.map +7 -1
  98. package/dist/slider.cjs +1420 -4
  99. package/dist/slider.cjs.map +7 -1
  100. package/dist/slider.js +1351 -3
  101. package/dist/slider.js.map +7 -1
  102. package/dist/spinner.cjs +587 -4
  103. package/dist/spinner.cjs.map +7 -1
  104. package/dist/spinner.js +528 -3
  105. package/dist/spinner.js.map +7 -1
  106. package/dist/styles/layout.cjs +1 -0
  107. package/dist/styles/layout.js +1 -0
  108. package/dist/styles/radius.cjs +1 -0
  109. package/dist/styles/radius.js +1 -0
  110. package/dist/styles/variables.cjs +1 -0
  111. package/dist/styles/variables.js +1 -0
  112. package/dist/switch.cjs +1092 -4
  113. package/dist/switch.cjs.map +7 -1
  114. package/dist/switch.js +1013 -3
  115. package/dist/switch.js.map +7 -1
  116. package/dist/tabs.cjs +660 -6
  117. package/dist/tabs.cjs.map +7 -1
  118. package/dist/tabs.js +591 -5
  119. package/dist/tabs.js.map +7 -1
  120. package/dist/tag.cjs +591 -3
  121. package/dist/tag.cjs.map +7 -1
  122. package/dist/tag.js +532 -2
  123. package/dist/tag.js.map +7 -1
  124. package/dist/text-input.cjs +829 -4
  125. package/dist/text-input.cjs.map +7 -1
  126. package/dist/text-input.js +761 -3
  127. package/dist/text-input.js.map +7 -1
  128. package/dist/textarea.cjs +914 -3
  129. package/dist/textarea.cjs.map +7 -1
  130. package/dist/textarea.js +854 -2
  131. package/dist/textarea.js.map +7 -1
  132. package/dist/tooltip.cjs +764 -4
  133. package/dist/tooltip.cjs.map +7 -1
  134. package/dist/tooltip.js +711 -3
  135. package/dist/tooltip.js.map +7 -1
  136. package/dist/tree.cjs +1059 -4
  137. package/dist/tree.cjs.map +7 -1
  138. package/dist/tree.js +985 -3
  139. package/dist/tree.js.map +7 -1
  140. package/dist/types/card/defines.d.ts +1 -1
  141. package/dist/types/detail/defines.d.ts +1 -1
  142. package/dist/types/dialog/dialog.d.ts +1 -0
  143. package/dist/types/drawer/drawer.d.ts +2 -0
  144. package/dist/types/icon/defines.d.ts +7 -1
  145. package/dist/types/icon/index.d.ts +1 -1
  146. package/dist/types/menu/defines.d.ts +1 -0
  147. package/dist/types/menu/menu-item.d.ts +1 -0
  148. package/dist/types/menu/menu.d.ts +1 -0
  149. package/dist/types/styles/layout.d.ts +2 -0
  150. package/dist/types/styles/radius.d.ts +2 -0
  151. package/dist/types/styles/variables.d.ts +2 -0
  152. package/dist/types/tabs/defines.d.ts +1 -0
  153. package/dist/types/tabs/tabs.d.ts +3 -0
  154. package/package.json +31 -7
  155. package/src/alert/alert.ts +3 -3
  156. package/src/badge/badge.ts +4 -4
  157. package/src/breadcrumb/breadcrumb-item.ts +2 -2
  158. package/src/breadcrumb/breadcrumb.ts +3 -3
  159. package/src/button/button.ts +4 -4
  160. package/src/button-group/button-group.ts +8 -9
  161. package/src/card/card.ts +3 -3
  162. package/src/card/defines.ts +1 -1
  163. package/src/checkbox/checkbox.ts +6 -6
  164. package/src/copy-button/copy-button.ts +13 -9
  165. package/src/detail/defines.ts +1 -1
  166. package/src/detail/detail.ts +3 -3
  167. package/src/detail-group/detail-group.ts +2 -2
  168. package/src/dialog/dialog.ts +15 -14
  169. package/src/divider/divider.ts +3 -3
  170. package/src/drawer/drawer.ts +28 -11
  171. package/src/dropdown/dropdown-item.ts +2 -2
  172. package/src/dropdown/dropdown.ts +2 -2
  173. package/src/icon/defines.ts +8 -1
  174. package/src/icon/icon.ts +32 -14
  175. package/src/icon/index.ts +1 -1
  176. package/src/icon/registry.ts +2 -2
  177. package/src/menu/defines.ts +1 -0
  178. package/src/menu/menu-item.ts +14 -4
  179. package/src/menu/menu.ts +5 -2
  180. package/src/navbar/navbar.ts +3 -3
  181. package/src/number-input/number-input.ts +5 -5
  182. package/src/pagination/pagination.ts +3 -3
  183. package/src/progress-bar/progress-bar.ts +3 -3
  184. package/src/radio-group/radio-group.ts +12 -8
  185. package/src/select/select-option.ts +2 -2
  186. package/src/select/select.ts +5 -5
  187. package/src/slider/slider.ts +6 -6
  188. package/src/spinner/spinner.ts +4 -4
  189. package/src/styles/color.css +91 -91
  190. package/src/styles/components/action-button.css +12 -12
  191. package/src/styles/components/alert.css +22 -28
  192. package/src/styles/components/badge.css +13 -20
  193. package/src/styles/components/breadcrumb-item.css +7 -7
  194. package/src/styles/components/button-group.css +2 -0
  195. package/src/styles/components/button.css +39 -50
  196. package/src/styles/components/card.css +69 -30
  197. package/src/styles/components/checkbox.css +22 -16
  198. package/src/styles/components/copy-button.css +22 -33
  199. package/src/styles/components/detail.css +51 -39
  200. package/src/styles/components/dialog.css +11 -11
  201. package/src/styles/components/divider.css +3 -3
  202. package/src/styles/components/drawer.css +59 -27
  203. package/src/styles/components/dropdown-item.css +7 -8
  204. package/src/styles/components/dropdown.css +3 -4
  205. package/src/styles/components/field-label.css +13 -13
  206. package/src/styles/components/icon-button.css +25 -36
  207. package/src/styles/components/icon.css +1 -1
  208. package/src/styles/components/menu-item.css +13 -8
  209. package/src/styles/components/navbar.css +23 -44
  210. package/src/styles/components/number-input.css +27 -36
  211. package/src/styles/components/pagination.css +31 -31
  212. package/src/styles/components/progress-bar.css +2 -3
  213. package/src/styles/components/radio-group.css +88 -83
  214. package/src/styles/components/select-option.css +5 -5
  215. package/src/styles/components/select.css +21 -33
  216. package/src/styles/components/slider.css +56 -34
  217. package/src/styles/components/spinner.css +7 -9
  218. package/src/styles/components/switch.css +21 -19
  219. package/src/styles/components/tab.css +4 -5
  220. package/src/styles/components/tabs.css +48 -1
  221. package/src/styles/components/tag.css +14 -21
  222. package/src/styles/components/text-input.css +13 -22
  223. package/src/styles/components/textarea.css +12 -21
  224. package/src/styles/components/tooltip.css +4 -5
  225. package/src/styles/components/tree-item.css +12 -12
  226. package/src/styles/layout.css +5 -2
  227. package/src/styles/radius.css +25 -0
  228. package/src/styles/size.css +7 -7
  229. package/src/styles/variables.css +271 -247
  230. package/src/switch/switch.ts +6 -6
  231. package/src/tabs/defines.ts +1 -0
  232. package/src/tabs/tab-panel.ts +1 -1
  233. package/src/tabs/tab.ts +1 -1
  234. package/src/tabs/tabs.ts +14 -2
  235. package/src/tag/tag.ts +4 -4
  236. package/src/text-input/text-input.ts +5 -5
  237. package/src/textarea/textarea.ts +5 -5
  238. package/src/tooltip/tooltip.ts +2 -2
  239. package/src/tree/tree-item.ts +2 -2
  240. package/src/tree/tree.ts +2 -2
  241. package/dist/chunks/action-button.cjs +0 -296
  242. package/dist/chunks/action-button.cjs.map +0 -1
  243. package/dist/chunks/action-button.js +0 -297
  244. package/dist/chunks/action-button.js.map +0 -1
  245. package/dist/chunks/aeico-component.cjs +0 -17
  246. package/dist/chunks/aeico-component.cjs.map +0 -1
  247. package/dist/chunks/aeico-component.js +0 -18
  248. package/dist/chunks/aeico-component.js.map +0 -1
  249. package/dist/chunks/alert.cjs +0 -170
  250. package/dist/chunks/alert.cjs.map +0 -1
  251. package/dist/chunks/alert.js +0 -171
  252. package/dist/chunks/alert.js.map +0 -1
  253. package/dist/chunks/badge.cjs +0 -85
  254. package/dist/chunks/badge.cjs.map +0 -1
  255. package/dist/chunks/badge.js +0 -86
  256. package/dist/chunks/badge.js.map +0 -1
  257. package/dist/chunks/breadcrumb-item.cjs +0 -261
  258. package/dist/chunks/breadcrumb-item.cjs.map +0 -1
  259. package/dist/chunks/breadcrumb-item.js +0 -262
  260. package/dist/chunks/breadcrumb-item.js.map +0 -1
  261. package/dist/chunks/button-group.cjs +0 -79
  262. package/dist/chunks/button-group.cjs.map +0 -1
  263. package/dist/chunks/button-group.js +0 -80
  264. package/dist/chunks/button-group.js.map +0 -1
  265. package/dist/chunks/button.cjs +0 -348
  266. package/dist/chunks/button.cjs.map +0 -1
  267. package/dist/chunks/button.js +0 -349
  268. package/dist/chunks/button.js.map +0 -1
  269. package/dist/chunks/card.cjs +0 -93
  270. package/dist/chunks/card.cjs.map +0 -1
  271. package/dist/chunks/card.js +0 -94
  272. package/dist/chunks/card.js.map +0 -1
  273. package/dist/chunks/checkbox.cjs +0 -86
  274. package/dist/chunks/checkbox.cjs.map +0 -1
  275. package/dist/chunks/checkbox.js +0 -87
  276. package/dist/chunks/checkbox.js.map +0 -1
  277. package/dist/chunks/color.cjs +0 -4
  278. package/dist/chunks/color.cjs.map +0 -1
  279. package/dist/chunks/color.js +0 -5
  280. package/dist/chunks/color.js.map +0 -1
  281. package/dist/chunks/copy-button.cjs +0 -168
  282. package/dist/chunks/copy-button.cjs.map +0 -1
  283. package/dist/chunks/copy-button.js +0 -169
  284. package/dist/chunks/copy-button.js.map +0 -1
  285. package/dist/chunks/detail.cjs +0 -146
  286. package/dist/chunks/detail.cjs.map +0 -1
  287. package/dist/chunks/detail.js +0 -147
  288. package/dist/chunks/detail.js.map +0 -1
  289. package/dist/chunks/dialog.cjs +0 -117
  290. package/dist/chunks/dialog.cjs.map +0 -1
  291. package/dist/chunks/dialog.js +0 -118
  292. package/dist/chunks/dialog.js.map +0 -1
  293. package/dist/chunks/divider.cjs +0 -80
  294. package/dist/chunks/divider.cjs.map +0 -1
  295. package/dist/chunks/divider.js +0 -81
  296. package/dist/chunks/divider.js.map +0 -1
  297. package/dist/chunks/drawer.cjs +0 -180
  298. package/dist/chunks/drawer.cjs.map +0 -1
  299. package/dist/chunks/drawer.js +0 -181
  300. package/dist/chunks/drawer.js.map +0 -1
  301. package/dist/chunks/dropdown-button.cjs +0 -534
  302. package/dist/chunks/dropdown-button.cjs.map +0 -1
  303. package/dist/chunks/dropdown-button.js +0 -535
  304. package/dist/chunks/dropdown-button.js.map +0 -1
  305. package/dist/chunks/icon-button.cjs +0 -35
  306. package/dist/chunks/icon-button.cjs.map +0 -1
  307. package/dist/chunks/icon-button.js +0 -36
  308. package/dist/chunks/icon-button.js.map +0 -1
  309. package/dist/chunks/icon.cjs +0 -108
  310. package/dist/chunks/icon.cjs.map +0 -1
  311. package/dist/chunks/icon.js +0 -109
  312. package/dist/chunks/icon.js.map +0 -1
  313. package/dist/chunks/menu.cjs +0 -396
  314. package/dist/chunks/menu.cjs.map +0 -1
  315. package/dist/chunks/menu.js +0 -397
  316. package/dist/chunks/menu.js.map +0 -1
  317. package/dist/chunks/navbar.cjs +0 -142
  318. package/dist/chunks/navbar.cjs.map +0 -1
  319. package/dist/chunks/navbar.js +0 -143
  320. package/dist/chunks/navbar.js.map +0 -1
  321. package/dist/chunks/pagination.cjs +0 -475
  322. package/dist/chunks/pagination.cjs.map +0 -1
  323. package/dist/chunks/pagination.js +0 -476
  324. package/dist/chunks/pagination.js.map +0 -1
  325. package/dist/chunks/progress-bar.cjs +0 -101
  326. package/dist/chunks/progress-bar.cjs.map +0 -1
  327. package/dist/chunks/progress-bar.js +0 -102
  328. package/dist/chunks/progress-bar.js.map +0 -1
  329. package/dist/chunks/radio.cjs +0 -185
  330. package/dist/chunks/radio.cjs.map +0 -1
  331. package/dist/chunks/radio.js +0 -186
  332. package/dist/chunks/radio.js.map +0 -1
  333. package/dist/chunks/select.cjs +0 -381
  334. package/dist/chunks/select.cjs.map +0 -1
  335. package/dist/chunks/select.js +0 -382
  336. package/dist/chunks/select.js.map +0 -1
  337. package/dist/chunks/size.cjs +0 -4
  338. package/dist/chunks/size.cjs.map +0 -1
  339. package/dist/chunks/size.js +0 -5
  340. package/dist/chunks/size.js.map +0 -1
  341. package/dist/chunks/slider.cjs +0 -611
  342. package/dist/chunks/slider.cjs.map +0 -1
  343. package/dist/chunks/slider.js +0 -612
  344. package/dist/chunks/slider.js.map +0 -1
  345. package/dist/chunks/spinner.cjs +0 -102
  346. package/dist/chunks/spinner.cjs.map +0 -1
  347. package/dist/chunks/spinner.js +0 -103
  348. package/dist/chunks/spinner.js.map +0 -1
  349. package/dist/chunks/switch.cjs +0 -167
  350. package/dist/chunks/switch.cjs.map +0 -1
  351. package/dist/chunks/switch.js +0 -168
  352. package/dist/chunks/switch.js.map +0 -1
  353. package/dist/chunks/tab-panel.cjs +0 -165
  354. package/dist/chunks/tab-panel.cjs.map +0 -1
  355. package/dist/chunks/tab-panel.js +0 -166
  356. package/dist/chunks/tab-panel.js.map +0 -1
  357. package/dist/chunks/tag.cjs +0 -108
  358. package/dist/chunks/tag.cjs.map +0 -1
  359. package/dist/chunks/tag.js +0 -109
  360. package/dist/chunks/tag.js.map +0 -1
  361. package/dist/chunks/text-input.cjs +0 -54
  362. package/dist/chunks/text-input.cjs.map +0 -1
  363. package/dist/chunks/text-input.js +0 -55
  364. package/dist/chunks/text-input.js.map +0 -1
  365. package/dist/chunks/textarea.cjs +0 -137
  366. package/dist/chunks/textarea.cjs.map +0 -1
  367. package/dist/chunks/textarea.js +0 -138
  368. package/dist/chunks/textarea.js.map +0 -1
  369. package/dist/chunks/tooltip.cjs +0 -293
  370. package/dist/chunks/tooltip.cjs.map +0 -1
  371. package/dist/chunks/tooltip.js +0 -294
  372. package/dist/chunks/tooltip.js.map +0 -1
  373. package/dist/chunks/tree.cjs +0 -468
  374. package/dist/chunks/tree.cjs.map +0 -1
  375. package/dist/chunks/tree.js +0 -469
  376. package/dist/chunks/tree.js.map +0 -1
  377. package/dist/chunks/variables.cjs +0 -372
  378. package/dist/chunks/variables.cjs.map +0 -1
  379. package/dist/chunks/variables.js +0 -373
  380. package/dist/chunks/variables.js.map +0 -1
package/dist/icon.cjs.map CHANGED
@@ -1 +1,7 @@
1
- {"version":3,"file":"icon.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/variables.css", "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/size.css", "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/color.css", "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/icon.css", "../src/icon/index.ts", "../src/utils.ts", "../src/aeico-component.ts", "../src/icon/icon.ts", "../src/icon/defines.ts", "../src/icon/registry.ts", "../src/icon/built-in-icons.ts"],
4
+ "sourcesContent": ["module.exports = \":root,\\n:host {\\n --ae-font-sans-serif: system-ui, -apple-system, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\",\\n \\\"Noto Sans\\\", \\\"Liberation Sans\\\", Arial, sans-serif,\\n \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n --ae-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas,\\n \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace;\\n font-family: var(--ae-font-sans-serif);\\n --ae-blue: #0e639c;\\n --ae-green: #28a745;\\n --ae-red: #dc3545;\\n --ae-yellow: #ffc107;\\n --ae-cyan: #17a2b8;\\n --ae-gray: #6e6e6e;\\n --ae-slate: #64748b;\\n --ae-dark: #343a40;\\n --ae-light: #f8f9fa;\\n}\\n\\n:root,\\n:host {\\n /* Blue */\\n --ae-blue-100: color-mix(in srgb, var(--ae-blue) 20%, white);\\n --ae-blue-200: color-mix(in srgb, var(--ae-blue) 40%, white);\\n --ae-blue-300: color-mix(in srgb, var(--ae-blue) 60%, white);\\n --ae-blue-400: color-mix(in srgb, var(--ae-blue) 80%, white);\\n --ae-blue-500: var(--ae-blue);\\n --ae-blue-600: color-mix(in srgb, var(--ae-blue) 80%, black);\\n --ae-blue-700: color-mix(in srgb, var(--ae-blue) 60%, black);\\n --ae-blue-800: color-mix(in srgb, var(--ae-blue) 40%, black);\\n --ae-blue-900: color-mix(in srgb, var(--ae-blue) 20%, black);\\n\\n /* Green */\\n --ae-green-100: color-mix(in srgb, var(--ae-green) 20%, white);\\n --ae-green-200: color-mix(in srgb, var(--ae-green) 40%, white);\\n --ae-green-300: color-mix(in srgb, var(--ae-green) 60%, white);\\n --ae-green-400: color-mix(in srgb, var(--ae-green) 80%, white);\\n --ae-green-500: var(--ae-green);\\n --ae-green-600: color-mix(in srgb, var(--ae-green) 80%, black);\\n --ae-green-700: color-mix(in srgb, var(--ae-green) 60%, black);\\n --ae-green-800: color-mix(in srgb, var(--ae-green) 40%, black);\\n --ae-green-900: color-mix(in srgb, var(--ae-green) 20%, black);\\n\\n /* Red */\\n --ae-red-100: color-mix(in srgb, var(--ae-red) 20%, white);\\n --ae-red-200: color-mix(in srgb, var(--ae-red) 40%, white);\\n --ae-red-300: color-mix(in srgb, var(--ae-red) 60%, white);\\n --ae-red-400: color-mix(in srgb, var(--ae-red) 80%, white);\\n --ae-red-500: var(--ae-red);\\n --ae-red-600: color-mix(in srgb, var(--ae-red) 80%, black);\\n --ae-red-700: color-mix(in srgb, var(--ae-red) 60%, black);\\n --ae-red-800: color-mix(in srgb, var(--ae-red) 40%, black);\\n --ae-red-900: color-mix(in srgb, var(--ae-red) 20%, black);\\n\\n /* Yellow */\\n --ae-yellow-100: color-mix(in srgb, var(--ae-yellow) 20%, white);\\n --ae-yellow-200: color-mix(in srgb, var(--ae-yellow) 40%, white);\\n --ae-yellow-300: color-mix(in srgb, var(--ae-yellow) 60%, white);\\n --ae-yellow-400: color-mix(in srgb, var(--ae-yellow) 80%, white);\\n --ae-yellow-500: var(--ae-yellow);\\n --ae-yellow-600: color-mix(in srgb, var(--ae-yellow) 80%, black);\\n --ae-yellow-700: color-mix(in srgb, var(--ae-yellow) 60%, black);\\n --ae-yellow-800: color-mix(in srgb, var(--ae-yellow) 40%, black);\\n --ae-yellow-900: color-mix(in srgb, var(--ae-yellow) 20%, black);\\n\\n /* Cyan */\\n --ae-cyan-100: color-mix(in srgb, var(--ae-cyan) 20%, white);\\n --ae-cyan-200: color-mix(in srgb, var(--ae-cyan) 40%, white);\\n --ae-cyan-300: color-mix(in srgb, var(--ae-cyan) 60%, white);\\n --ae-cyan-400: color-mix(in srgb, var(--ae-cyan) 80%, white);\\n --ae-cyan-500: var(--ae-cyan);\\n --ae-cyan-600: color-mix(in srgb, var(--ae-cyan) 80%, black);\\n --ae-cyan-700: color-mix(in srgb, var(--ae-cyan) 60%, black);\\n --ae-cyan-800: color-mix(in srgb, var(--ae-cyan) 40%, black);\\n --ae-cyan-900: color-mix(in srgb, var(--ae-cyan) 20%, black);\\n\\n /* Gray (neutral \u2014 base #6e6e6e) */\\n --ae-gray-100: color-mix(in srgb, var(--ae-gray) 20%, white);\\n --ae-gray-200: color-mix(in srgb, var(--ae-gray) 40%, white);\\n --ae-gray-300: color-mix(in srgb, var(--ae-gray) 60%, white);\\n --ae-gray-400: color-mix(in srgb, var(--ae-gray) 80%, white);\\n --ae-gray-500: var(--ae-gray);\\n --ae-gray-600: color-mix(in srgb, var(--ae-gray) 80%, black);\\n --ae-gray-700: color-mix(in srgb, var(--ae-gray) 60%, black);\\n --ae-gray-800: color-mix(in srgb, var(--ae-gray) 40%, black);\\n --ae-gray-900: color-mix(in srgb, var(--ae-gray) 20%, black);\\n\\n /* Slate (blue-gray \u2014 base #64748b, used for 'secondary') */\\n --ae-slate-100: color-mix(in srgb, var(--ae-slate) 20%, white);\\n --ae-slate-200: color-mix(in srgb, var(--ae-slate) 40%, white);\\n --ae-slate-300: color-mix(in srgb, var(--ae-slate) 60%, white);\\n --ae-slate-400: color-mix(in srgb, var(--ae-slate) 80%, white);\\n --ae-slate-500: var(--ae-slate);\\n --ae-slate-600: color-mix(in srgb, var(--ae-slate) 80%, black);\\n --ae-slate-700: color-mix(in srgb, var(--ae-slate) 60%, black);\\n --ae-slate-800: color-mix(in srgb, var(--ae-slate) 40%, black);\\n --ae-slate-900: color-mix(in srgb, var(--ae-slate) 20%, black);\\n\\n /* Dark (base #343a40) */\\n --ae-dark-100: color-mix(in srgb, var(--ae-dark) 20%, white);\\n --ae-dark-200: color-mix(in srgb, var(--ae-dark) 40%, white);\\n --ae-dark-300: color-mix(in srgb, var(--ae-dark) 60%, white);\\n --ae-dark-400: color-mix(in srgb, var(--ae-dark) 80%, white);\\n --ae-dark-500: var(--ae-dark);\\n --ae-dark-600: color-mix(in srgb, var(--ae-dark) 80%, black);\\n --ae-dark-700: color-mix(in srgb, var(--ae-dark) 60%, black);\\n --ae-dark-800: color-mix(in srgb, var(--ae-dark) 40%, black);\\n --ae-dark-900: color-mix(in srgb, var(--ae-dark) 20%, black);\\n\\n /* Light (base #f8f9fa) */\\n --ae-light-100: color-mix(in srgb, var(--ae-light) 20%, white);\\n --ae-light-200: color-mix(in srgb, var(--ae-light) 40%, white);\\n --ae-light-300: color-mix(in srgb, var(--ae-light) 60%, white);\\n --ae-light-400: color-mix(in srgb, var(--ae-light) 80%, white);\\n --ae-light-500: var(--ae-light);\\n --ae-light-600: color-mix(in srgb, var(--ae-light) 80%, black);\\n --ae-light-700: color-mix(in srgb, var(--ae-light) 60%, black);\\n --ae-light-800: color-mix(in srgb, var(--ae-light) 40%, black);\\n --ae-light-900: color-mix(in srgb, var(--ae-light) 20%, black);\\n}\\n\\n:root,\\n:host {\\n /* Hover / active mix (light default \u2014 overridden in \u00A7 6 dark) */\\n --ae-color-mix-hover: black 10%;\\n --ae-color-mix-active: black 20%;\\n\\n /* Primary (Blue) */\\n --ae-color-primary: var(--ae-blue-500);\\n --ae-color-primary-hover: color-mix(in srgb, var(--ae-color-primary), var(--ae-color-mix-hover));\\n --ae-color-primary-active: color-mix(in srgb, var(--ae-color-primary), var(--ae-color-mix-active));\\n --ae-color-primary-disabled: color-mix(in srgb, var(--ae-blue) 50%, var(--ae-gray-500));\\n\\n /* Success (Green) */\\n --ae-color-success: var(--ae-green-500);\\n --ae-color-success-hover: color-mix(in srgb, var(--ae-color-success), var(--ae-color-mix-hover));\\n --ae-color-success-active: color-mix(in srgb, var(--ae-color-success), var(--ae-color-mix-active));\\n --ae-color-success-disabled: color-mix(in srgb, var(--ae-green) 50%, var(--ae-gray-500));\\n\\n /* Danger (Red) */\\n --ae-color-danger: var(--ae-red-500);\\n --ae-color-danger-hover: color-mix(in srgb, var(--ae-color-danger), var(--ae-color-mix-hover));\\n --ae-color-danger-active: color-mix(in srgb, var(--ae-color-danger), var(--ae-color-mix-active));\\n --ae-color-danger-disabled: color-mix(in srgb, var(--ae-red) 50%, var(--ae-gray-500));\\n\\n /* Warning (Yellow) */\\n --ae-color-warning: var(--ae-yellow-500);\\n --ae-color-warning-hover: color-mix(in srgb, var(--ae-color-warning), var(--ae-color-mix-hover));\\n --ae-color-warning-active: color-mix(in srgb, var(--ae-color-warning), var(--ae-color-mix-active));\\n --ae-color-warning-disabled: color-mix(in srgb, var(--ae-yellow) 50%, var(--ae-gray-500));\\n\\n /* Info (Cyan) */\\n --ae-color-info: var(--ae-cyan-500);\\n --ae-color-info-hover: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-hover));\\n --ae-color-info-active: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-active));\\n --ae-color-info-disabled: color-mix(in srgb, var(--ae-cyan) 50%, var(--ae-gray-500));\\n\\n /* Secondary (Slate) \u2014 base differs per theme, overridden in \u00A7 6 dark */\\n --ae-color-secondary: var(--ae-slate-500);\\n --ae-color-secondary-hover: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-hover));\\n --ae-color-secondary-active: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-active));\\n --ae-color-secondary-text: var(--ae-slate-700);\\n}\\n\\n\\n.theme-light,\\n:root[theme=\\\"light\\\"],\\n:host([theme=\\\"light\\\"]),\\n:host-context([theme=\\\"light\\\"]),\\n:where(:root),\\n:host {\\n color-scheme: light;\\n\\n /* Gray UI aliases \u2014 lighter palette steps for elements on white background */\\n --ae-color-gray-dark: var(--ae-gray-400);\\n --ae-color-gray: var(--ae-gray-300);\\n --ae-color-gray-light: var(--ae-gray-200);\\n --ae-color-gray-lighter: var(--ae-gray-100);\\n --ae-color-gray-lightest: color-mix(in srgb, var(--ae-gray) 10%, white);\\n\\n /* Text */\\n --ae-color-text-main: var(--ae-dark-700);\\n --ae-color-text-muted: var(--ae-gray-600);\\n --ae-color-text-disabled: var(--ae-gray-300);\\n --ae-color-text-link: var(--ae-blue-500);\\n --ae-color-text-link-hover: var(--ae-blue-700);\\n\\n /* Surfaces */\\n --ae-surface-sunken: var(--ae-light-500);\\n --ae-surface-base: white;\\n --ae-surface-raised: var(--ae-light-500);\\n --ae-surface-overlay: white;\\n --ae-color-overlay: rgba(0, 0, 0, 0.4);\\n\\n /* Borders */\\n --ae-border-subtle: rgba(0, 0, 0, 0.08);\\n --ae-border-default: rgba(0, 0, 0, 0.15);\\n --ae-border-hover: rgba(0, 0, 0, 0.25);\\n --ae-border-focus: var(--ae-color-primary);\\n --ae-border-disabled: rgba(0, 0, 0, 0.06);\\n\\n /* Focus ring */\\n --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.30);\\n --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.15);\\n\\n /* Subtle intent tokens \u2014 light context */\\n --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.08);\\n --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.40);\\n --ae-color-primary-text-emphasis: var(--ae-blue-700);\\n\\n --ae-color-success-bg-subtle: rgb(from var(--ae-green) r g b / 0.08);\\n --ae-color-success-border-subtle: rgb(from var(--ae-green) r g b / 0.40);\\n --ae-color-success-text-emphasis: var(--ae-green-700);\\n\\n --ae-color-danger-bg-subtle: rgb(from var(--ae-red) r g b / 0.08);\\n --ae-color-danger-border-subtle: rgb(from var(--ae-red) r g b / 0.40);\\n --ae-color-danger-text-emphasis: var(--ae-red-700);\\n\\n --ae-color-warning-bg-subtle: rgb(from var(--ae-yellow) r g b / 0.08);\\n --ae-color-warning-border-subtle: rgb(from var(--ae-yellow) r g b / 0.40);\\n --ae-color-warning-text-emphasis: var(--ae-yellow-700);\\n\\n --ae-color-info-bg-subtle: rgb(from var(--ae-cyan) r g b / 0.08);\\n --ae-color-info-border-subtle: rgb(from var(--ae-cyan) r g b / 0.40);\\n --ae-color-info-text-emphasis: var(--ae-cyan-700);\\n\\n --ae-color-secondary-bg-subtle: rgb(from var(--ae-slate) r g b / 0.08);\\n --ae-color-secondary-border-subtle: rgb(from var(--ae-slate) r g b / 0.40);\\n --ae-color-secondary-text-emphasis: var(--ae-slate-700);\\n\\n --ae-color-light-bg-subtle: var(--ae-gray-100); /* opaque on white: ~#e2e2e2 */\\n --ae-color-light-border-subtle: var(--ae-gray-200); /* opaque on white: ~#c4c4c4 */\\n\\n --ae-color-dark-bg-subtle: var(--ae-dark-100); /* opaque on white: ~#d6d8d9 */\\n --ae-color-dark-border-subtle: var(--ae-dark-300); /* opaque on white: ~#85898c */\\n\\n /* Component tokens \u2014 light defaults */\\n --ae-action-btn-bg: var(--ae-gray-200);\\n --ae-action-btn-bg-hover: var(--ae-color-primary);\\n --ae-action-btn-color: var(--ae-gray-600);\\n --ae-action-btn-color-hover: white;\\n\\n --ae-clear-btn-bg-hover: var(--ae-color-danger);\\n --ae-clear-btn-color-hover: white;\\n\\n --ae-reset-btn-border-radius: var(--ae-radius-xs);\\n --ae-reset-btn-bg: var(--ae-action-btn-bg);\\n --ae-reset-btn-bg-hover: var(--ae-action-btn-bg-hover);\\n --ae-reset-btn-color: var(--ae-action-btn-color);\\n --ae-reset-btn-color-hover: var(--ae-action-btn-color-hover);\\n --ae-reset-btn-transition: all 0.12s;\\n\\n --ae-clear-btn-border-radius: var(--ae-radius-xs);\\n --ae-clear-btn-bg: var(--ae-action-btn-bg);\\n --ae-clear-btn-color: var(--ae-action-btn-color);\\n --ae-clear-btn-transition: all 0.12s;\\n}\\n\\n:root,\\n:host {\\n --ae-size-scale: 1;\\n --ae-size-base: calc(1rem * var(--ae-size-scale)); /* 16px */\\n --ae-size-xl: round(calc(var(--ae-size-l) * 1.125), 1px); /* 23px */\\n --ae-size-l: round(calc(var(--ae-size-m) * 1.125 * 1.125), 1px); /* 20px */\\n --ae-size-m: var(--ae-size-base); /* 16px */\\n --ae-size-s: round(calc(var(--ae-size-m) / 1.125), 1px); /* 14px */\\n --ae-size-xs: round(calc(var(--ae-size-s) / 1.125), 1px); /* 12px */\\n --ae-size-2xs: round(calc(var(--ae-size-xs) / 1.125), 1px); /* 11px */\\n --ae-size-3xs: round(calc(var(--ae-size-2xs) / 1.125), 1px); /* 10px */\\n}\\n\\n/* Border-radius tokens \u2014 shared across all components */\\n:root,\\n:host {\\n /**\\n * Unified border-radius hook for all components.\\n *\\n * Not set by default \u2014 each component falls back to its own --ae-radius-*\\n * token (e.g. button \u2192 sm, card \u2192 lg, input \u2192 xs).\\n *\\n * Usage:\\n * :root { --ae-border-radius: 0; } // global: all components square\\n * :root { --ae-border-radius: 999px; } // global: all components pill\\n * ae-button { --ae-border-radius: 50%; } // scoped: only buttons circular\\n * .sidebar { --ae-border-radius: 8px; } // scoped: everything inside .sidebar\\n *\\n * To restore a component to its own default:\\n * ae-card { --ae-border-radius: initial; }\\n */\\n\\n --ae-radius-square: 0;\\n --ae-radius-xs: 2px;\\n --ae-radius-sm: 4px;\\n --ae-radius-md: 6px;\\n --ae-radius-lg: 8px;\\n --ae-radius-xl: 12px;\\n --ae-radius-pill: 999px;\\n --ae-radius-circle: 50%;\\n}\\n\\n/* Layout tokens \u2014 defined on :root so all light DOM elements can use them */\\n:root,\\n:host {\\n --container-max-width: 1280px;\\n --container-padding-x: 1.5rem;\\n}\\n\\n.theme-dark,\\n:root[theme=\\\"dark\\\"],\\n:host([theme=\\\"dark\\\"]),\\n:host-context([theme=\\\"dark\\\"]) {\\n color-scheme: dark;\\n\\n /* Hover / active \u2014 slightly gentler on dark backgrounds */\\n --ae-color-mix-hover: black 8%;\\n --ae-color-mix-active: black 16%;\\n\\n /* Gray UI aliases \u2014 darker palette steps for elements on dark background */\\n --ae-color-gray-dark: var(--ae-gray-800);\\n --ae-color-gray: var(--ae-gray-700);\\n --ae-color-gray-light: var(--ae-gray-600);\\n --ae-color-gray-lighter: var(--ae-gray-500);\\n --ae-color-gray-lightest: var(--ae-gray-400);\\n\\n /* Secondary \u2014 deeper base on dark background */\\n --ae-color-secondary: var(--ae-slate-700);\\n --ae-color-secondary-text: var(--ae-slate-300);\\n\\n /* Text */\\n --ae-color-text-main: white;\\n --ae-color-text-muted: var(--ae-gray-200);\\n --ae-color-text-disabled: var(--ae-gray-500);\\n --ae-color-text-link: var(--ae-blue-300);\\n --ae-color-text-link-hover: var(--ae-blue-200);\\n\\n /* Surfaces */\\n --ae-surface-sunken: var(--ae-gray-900);\\n --ae-surface-base: color-mix(in srgb, var(--ae-gray) 27%, black);\\n --ae-surface-raised: color-mix(in srgb, var(--ae-gray) 34%, black);\\n --ae-surface-overlay: color-mix(in srgb, var(--ae-gray) 38%, black);\\n --ae-color-overlay: rgba(0, 0, 0, 0.6);\\n\\n /* Borders */\\n --ae-border-subtle: rgba(255, 255, 255, 0.08);\\n --ae-border-default: rgba(255, 255, 255, 0.12);\\n --ae-border-hover: rgba(255, 255, 255, 0.20);\\n --ae-border-focus: var(--ae-color-primary);\\n --ae-border-disabled: rgba(255, 255, 255, 0.06);\\n\\n /* Focus ring */\\n --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.25);\\n --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.10);\\n\\n /* Subtle intent tokens \u2014 dark context (more alpha, lighter text-emphasis) */\\n --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.10);\\n --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.30);\\n --ae-color-primary-text-emphasis: var(--ae-blue-300);\\n\\n --ae-color-success-bg-subtle: rgb(from var(--ae-green) r g b / 0.10);\\n --ae-color-success-border-subtle: rgb(from var(--ae-green) r g b / 0.30);\\n --ae-color-success-text-emphasis: var(--ae-green-300);\\n\\n --ae-color-danger-bg-subtle: rgb(from var(--ae-red) r g b / 0.10);\\n --ae-color-danger-border-subtle: rgb(from var(--ae-red) r g b / 0.30);\\n --ae-color-danger-text-emphasis: var(--ae-red-300);\\n\\n --ae-color-warning-bg-subtle: rgb(from var(--ae-yellow) r g b / 0.10);\\n --ae-color-warning-border-subtle: rgb(from var(--ae-yellow) r g b / 0.30);\\n --ae-color-warning-text-emphasis: var(--ae-yellow-300);\\n\\n --ae-color-info-bg-subtle: rgb(from var(--ae-cyan) r g b / 0.10);\\n --ae-color-info-border-subtle: rgb(from var(--ae-cyan) r g b / 0.30);\\n --ae-color-info-text-emphasis: var(--ae-cyan-300);\\n\\n --ae-color-secondary-bg-subtle: rgb(from var(--ae-slate) r g b / 0.10);\\n --ae-color-secondary-border-subtle: rgb(from var(--ae-slate) r g b / 0.30);\\n --ae-color-secondary-text-emphasis: var(--ae-slate-300);\\n\\n --ae-color-light-bg-subtle: rgb(from var(--ae-light) r g b / 0.20);\\n --ae-color-light-border-subtle: rgb(from var(--ae-light) r g b / 0.25);\\n\\n --ae-color-dark-bg-subtle: rgb(from var(--ae-dark) r g b / 0.30);\\n --ae-color-dark-border-subtle: rgb(from var(--ae-dark) r g b / 0.50);\\n\\n /* Component tokens \u2014 dark overrides */\\n --ae-action-btn-bg: var(--ae-color-gray);\\n --ae-action-btn-bg-hover: color-mix(in srgb, var(--ae-blue) 25%, var(--ae-gray-800));\\n --ae-action-btn-color: var(--ae-gray-400);\\n --ae-action-btn-color-hover: var(--ae-cyan-300);\\n --ae-clear-btn-bg-hover: color-mix(in srgb, var(--ae-red) 25%, var(--ae-gray-800));\\n --ae-clear-btn-color-hover: var(--ae-red-300);\\n}\\n\"", "module.exports = \":host([size=\\\"xs\\\"]) { font-size: var(--ae-size-xs); }\\n:host([size=\\\"sm\\\"]) { font-size: var(--ae-size-s); }\\n:host([size=\\\"md\\\"]) { font-size: var(--ae-size-m); }\\n:host([size=\\\"lg\\\"]) { font-size: var(--ae-size-l); }\\n:host([size=\\\"xl\\\"]) { font-size: var(--ae-size-xl); }\\n:host([size=\\\"3xs\\\"]) { font-size: var(--ae-size-3xs); }\\n:host([size=\\\"2xs\\\"]) { font-size: var(--ae-size-2xs); }\\n\"", "module.exports = \":host {\\n --ae-color-solid: var(--ae-color-gray);\\n --ae-color-solid-hover: color-mix(in srgb, var(--ae-color-solid), var(--ae-color-mix-hover));\\n --ae-color-solid-active: color-mix(in srgb, var(--ae-color-solid), var(--ae-color-mix-active));\\n --ae-color-on-solid: var(--ae-color-text-main);\\n --ae-color-border: var(--ae-color-gray);\\n --ae-color-border-hover: color-mix(in srgb, var(--ae-color-border), var(--ae-color-mix-hover));\\n --ae-color-accent: var(--ae-color-text-muted);\\n --ae-color-accent-hover: var(--ae-color-text-main);\\n --ae-color-subtle: var(--ae-border-subtle);\\n --ae-color-subtle-hover: var(--ae-border-default);\\n --ae-color-bg-subtle: var(--ae-border-subtle);\\n --ae-color-text-subtle: var(--ae-color-text-muted);\\n --ae-color-border-subtle: var(--ae-border-default);\\n}\\n\\n:host([color=\\\"primary\\\"]) {\\n --ae-color-solid: var(--ae-color-primary);\\n --ae-color-on-solid: white;\\n --ae-color-border: var(--ae-color-primary);\\n --ae-color-accent: var(--ae-color-text-link);\\n --ae-color-accent-hover: var(--ae-color-text-link-hover);\\n --ae-color-subtle: var(--ae-color-primary-bg-subtle);\\n --ae-color-subtle-hover: rgb(from var(--ae-blue) r g b / 0.15);\\n --ae-color-bg-subtle: var(--ae-color-primary-bg-subtle);\\n --ae-color-text-subtle: var(--ae-color-primary-text-emphasis);\\n --ae-color-border-subtle: var(--ae-color-primary-border-subtle);\\n}\\n\\n:host([color=\\\"secondary\\\"]) {\\n --ae-color-solid: var(--ae-color-secondary);\\n --ae-color-on-solid: white;\\n --ae-color-border: var(--ae-color-secondary-hover);\\n --ae-color-accent: var(--ae-color-secondary-text-emphasis);\\n --ae-color-accent-hover: var(--ae-color-text-main);\\n --ae-color-subtle: rgb(from var(--ae-slate) r g b / 0.06);\\n --ae-color-subtle-hover: rgb(from var(--ae-slate) r g b / 0.12);\\n --ae-color-bg-subtle: var(--ae-color-secondary-bg-subtle);\\n --ae-color-text-subtle: var(--ae-color-secondary-text-emphasis);\\n --ae-color-border-subtle: var(--ae-color-secondary-border-subtle);\\n}\\n\\n:host([color=\\\"success\\\"]) {\\n --ae-color-solid: var(--ae-color-success);\\n --ae-color-on-solid: white;\\n --ae-color-border: var(--ae-color-success);\\n --ae-color-accent: var(--ae-color-success-text-emphasis);\\n --ae-color-accent-hover: var(--ae-color-success-hover);\\n --ae-color-subtle: var(--ae-color-success-bg-subtle);\\n --ae-color-subtle-hover: rgb(from var(--ae-green) r g b / 0.15);\\n --ae-color-bg-subtle: var(--ae-color-success-bg-subtle);\\n --ae-color-text-subtle: var(--ae-color-success-text-emphasis);\\n --ae-color-border-subtle: var(--ae-color-success-border-subtle);\\n}\\n\\n:host([color=\\\"danger\\\"]) {\\n --ae-color-solid: var(--ae-color-danger);\\n --ae-color-on-solid: white;\\n --ae-color-border: var(--ae-color-danger);\\n --ae-color-accent: var(--ae-color-danger-text-emphasis);\\n --ae-color-accent-hover: var(--ae-color-danger-hover);\\n --ae-color-subtle: var(--ae-color-danger-bg-subtle);\\n --ae-color-subtle-hover: rgb(from var(--ae-red) r g b / 0.15);\\n --ae-color-bg-subtle: var(--ae-color-danger-bg-subtle);\\n --ae-color-text-subtle: var(--ae-color-danger-text-emphasis);\\n --ae-color-border-subtle: var(--ae-color-danger-border-subtle);\\n}\\n\\n:host([color=\\\"warning\\\"]) {\\n --ae-color-solid: var(--ae-color-warning);\\n --ae-color-on-solid: var(--ae-gray-900);\\n --ae-color-border: var(--ae-color-warning);\\n --ae-color-accent: var(--ae-color-warning-text-emphasis);\\n --ae-color-accent-hover: var(--ae-color-warning-hover);\\n --ae-color-subtle: var(--ae-color-warning-bg-subtle);\\n --ae-color-subtle-hover: rgb(from var(--ae-yellow) r g b / 0.15);\\n --ae-color-bg-subtle: var(--ae-color-warning-bg-subtle);\\n --ae-color-text-subtle: var(--ae-color-warning-text-emphasis);\\n --ae-color-border-subtle: var(--ae-color-warning-border-subtle);\\n}\\n\\n:host([color=\\\"info\\\"]) {\\n --ae-color-solid: var(--ae-color-info);\\n --ae-color-on-solid: white;\\n --ae-color-border: var(--ae-color-info);\\n --ae-color-accent: var(--ae-color-info-text-emphasis);\\n --ae-color-accent-hover: var(--ae-color-info-hover);\\n --ae-color-subtle: var(--ae-color-info-bg-subtle);\\n --ae-color-subtle-hover: rgb(from var(--ae-cyan) r g b / 0.15);\\n --ae-color-bg-subtle: var(--ae-color-info-bg-subtle);\\n --ae-color-text-subtle: var(--ae-color-info-text-emphasis);\\n --ae-color-border-subtle: var(--ae-color-info-border-subtle);\\n}\\n\\n:host([color=\\\"light\\\"]) {\\n --ae-color-solid: var(--ae-light);\\n --ae-color-on-solid: var(--ae-gray-900);\\n --ae-color-border: var(--ae-border-hover);\\n --ae-color-subtle: var(--ae-color-light-bg-subtle);\\n --ae-color-subtle-hover: var(--ae-color-light-border-subtle);\\n --ae-color-bg-subtle: var(--ae-color-light-bg-subtle);\\n --ae-color-text-subtle: var(--ae-color-text-muted);\\n --ae-color-border-subtle: var(--ae-color-light-border-subtle);\\n}\\n\\n:host([color=\\\"dark\\\"]) {\\n --ae-color-solid: var(--ae-dark-500);\\n --ae-color-on-solid: white;\\n --ae-color-border: var(--ae-dark-500);\\n --ae-color-accent: var(--ae-color-text-main);\\n --ae-color-accent-hover: var(--ae-color-text-main);\\n --ae-color-subtle: var(--ae-color-dark-bg-subtle);\\n --ae-color-subtle-hover: var(--ae-color-dark-border-subtle);\\n --ae-color-bg-subtle: var(--ae-color-dark-bg-subtle);\\n --ae-color-text-subtle: var(--ae-color-text-main);\\n --ae-color-border-subtle: var(--ae-color-dark-border-subtle);\\n}\\n\"", "module.exports = \":host {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n font-size: 20px;\\n width: 1em;\\n height: 1em;\\n color: inherit;\\n flex-shrink: 0;\\n line-height: 0;\\n vertical-align: middle;\\n}\\n\\n:host([color]) {\\n color: var(--ae-color-solid);\\n}\\n\\n.icon-svg {\\n display: block;\\n width: 100%;\\n height: 100%;\\n fill: var(--icon-fill, currentColor);\\n stroke: var(--icon-stroke, none);\\n stroke-width: var(--icon-stroke-width, 2);\\n stroke-linecap: var(--icon-stroke-linecap, round);\\n stroke-linejoin: var(--icon-stroke-linejoin, round);\\n pointer-events: none;\\n overflow: visible;\\n}\\n\"", "export { default as Icon } from './icon';\nexport type { IconProps } from './icon';\nexport { default as IconRegistry } from './registry';\nexport type { IconSize, IconColor, IconDefinition, IconPathDef, IconRegistryData } from './defines';\n", "export const SVG_NS = 'http://www.w3.org/2000/svg';\n\nexport function toKebab(str: string): string {\n const cleaned = str.replace(/^[_\\d]+/, '');\n\n return cleaned.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n", "\uFEFFimport { AeicoElement } from 'aeico';\nimport { toKebab } from './utils';\n\nconst TAG_NAME_PREFIX = 'ae';\n\n/**\n * AeicoComponent is the base class for all built-in Aeico components.\n */\nclass AeicoComponent extends AeicoElement {\n static register(name?: string) {\n const tagName = name || `${TAG_NAME_PREFIX}-${this.tagName || toKebab(this.name)}`;\n\n super.register(tagName);\n }\n}\n\nexport default AeicoComponent;\n", "\uFEFFimport type { InferProps, Props } from 'aeico';\nimport { SVG_NS } from '../utils';\nimport AeicoComponent from '../aeico-component';\nimport { html } from 'aeico';\nimport styleVariables from '../styles/variables.css';\nimport sizeCSS from '../styles/size.css';\nimport colorCSS from '../styles/color.css';\nimport style from '../styles/components/icon.css';\nimport type { IconSize, IconColor } from './defines';\nimport { defaultViewBox } from './defines';\nimport IconRegistry from './registry';\nimport './built-in-icons';\n\nclass Icon extends AeicoComponent {\n static tagName = 'icon';\n\n static props: Props = {\n name: { type: String },\n size: { type: String },\n color: { type: String },\n stroke: { type: Boolean },\n strokeWidth: { type: Number },\n };\n\n declare name?: string;\n declare size?: IconSize;\n declare color?: IconColor;\n declare stroke?: boolean;\n declare strokeWidth?: number;\n\n protected static styles = [styleVariables, sizeCSS, colorCSS, style];\n\n protected render() {\n const def = this.name ? IconRegistry.get(this.name) : undefined;\n\n // Numeric size: set font-size directly (string sizes are handled by size.css)\n const numericSize = Number(this.size);\n if (this.size !== undefined && !isNaN(numericSize) && numericSize > 0) {\n this.style.setProperty('font-size', `${numericSize}px`);\n } else {\n this.style.removeProperty('font-size');\n }\n\n if (!def) return;\n\n const { paths } = def;\n const isMultiPath = Array.isArray(paths);\n\n // Stroke CSS variables only apply in single-path mode (component props)\n if (!isMultiPath) {\n const useStroke =\n this.stroke ?? (this.strokeWidth !== undefined ? true : (def.stroke ?? false));\n const useStrokeWidth = this.strokeWidth ?? def.strokeWidth ?? 2;\n\n if (useStroke) {\n this.style.setProperty('--icon-fill', 'none');\n this.style.setProperty('--icon-stroke', 'currentColor');\n this.style.setProperty('--icon-stroke-width', String(useStrokeWidth));\n } else {\n this.style.removeProperty('--icon-fill');\n this.style.removeProperty('--icon-stroke');\n this.style.removeProperty('--icon-stroke-width');\n }\n } else {\n this.style.removeProperty('--icon-fill');\n this.style.removeProperty('--icon-stroke');\n this.style.removeProperty('--icon-stroke-width');\n }\n\n return html(({ svg, path }) => {\n svg(\n {\n className: 'icon-svg',\n viewBox: def.viewBox ?? defaultViewBox,\n 'aria-hidden': 'true',\n xmlns: SVG_NS,\n },\n () => {\n if (typeof paths === 'string') {\n path({ d: paths });\n } else {\n for (const p of paths) {\n const attrs: Record<string, unknown> = { d: p.d };\n if (p.fill) attrs.style = { fill: p.fill };\n path(attrs);\n }\n }\n },\n );\n });\n }\n}\n\nIcon.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-icon': Icon;\n }\n}\n\nexport default Icon;\nexport type IconProps = InferProps<typeof Icon>;\n", "export type IconSize = '3xs' | '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;\n\nexport type IconColor =\n | 'default'\n | 'primary'\n | 'secondary'\n | 'success'\n | 'danger'\n | 'warning'\n | 'info';\n\nexport interface IconPathDef {\n d: string;\n fill?: string;\n stroke?: boolean;\n strokeWidth?: number;\n}\n\nexport interface IconDefinition {\n paths: string | IconPathDef[];\n viewBox?: string;\n stroke?: boolean;\n strokeWidth?: number;\n}\n\nexport const defaultViewBox = '0 0 24 24';\n\nexport type IconRegistryData = Record<string, string | IconDefinition>;\n", "import { IconDefinition, IconRegistryData, defaultViewBox } from './defines';\n\nclass IconRegistry {\n private static _icons: Map<string, IconDefinition> = new Map();\n /** Names registered via addBuiltIn \u2014 can be overridden by user add() calls */\n private static _builtInKeys: Set<string> = new Set();\n\n /** Register user icons. Always takes priority over built-in icons. */\n static add(icons: IconRegistryData) {\n for (const [name, data] of Object.entries(icons)) {\n if (typeof data === 'string') {\n this._icons.set(name, { paths: data, viewBox: defaultViewBox });\n } else {\n this._icons.set(name, data);\n }\n // Mark as user-defined (removes built-in status)\n this._builtInKeys.delete(name);\n }\n }\n\n /**\n * Register built-in icons provided by the library.\n * A built-in icon will NOT overwrite an icon already registered by the user.\n */\n static addBuiltIn(icons: IconRegistryData) {\n for (const [name, data] of Object.entries(icons)) {\n // Skip if the user has already registered this icon\n if (this._icons.has(name) && !this._builtInKeys.has(name)) continue;\n if (typeof data === 'string') {\n this._icons.set(name, { paths: data, viewBox: defaultViewBox });\n } else {\n this._icons.set(name, data);\n }\n this._builtInKeys.add(name);\n }\n }\n\n static get(name: string): IconDefinition | undefined {\n return this._icons.get(name);\n }\n\n static has(name: string): boolean {\n return this._icons.has(name);\n }\n}\n\nexport default IconRegistry;\n", "/**\n * Built-in system icons used internally by aeico components.\n * These are pre-registered so components work out of the box.\n * Users can override any of them by calling IconRegistry.add({ 'name': '...' }).\n *\n * All paths use the Material Design 24\u00D724 viewBox.\n */\nimport IconRegistry from './registry';\n\nIconRegistry.addBuiltIn({\n copy: 'M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z',\n check: 'M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z',\n 'chevron-left': 'M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z',\n 'chevron-right': 'M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z',\n 'chevron-up': 'M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z',\n 'chevron-down': 'M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z',\n 'chevrons-left': 'M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z',\n 'chevrons-right': 'M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z',\n close:\n 'M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z',\n});\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,4FAAAA,UAAAC,SAAA;AAAA,IAAAA,QAAO,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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",
6
+ "names": ["exports", "module", "exports", "module", "exports", "module", "exports", "module", "import_aeico", "styleVariables", "sizeCSS", "colorCSS", "style"]
7
+ }
package/dist/icon.js CHANGED
@@ -1,6 +1,550 @@
1
- import { I, a } from "./chunks/icon.js";
1
+ // src/utils.ts
2
+ var SVG_NS = "http://www.w3.org/2000/svg";
3
+ function toKebab(str) {
4
+ const cleaned = str.replace(/^[_\d]+/, "");
5
+ return cleaned.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
6
+ }
7
+
8
+ // src/aeico-component.ts
9
+ import { AeicoElement } from "aeico";
10
+ var TAG_NAME_PREFIX = "ae";
11
+ var AeicoComponent = class extends AeicoElement {
12
+ static register(name) {
13
+ const tagName = name || `${TAG_NAME_PREFIX}-${this.tagName || toKebab(this.name)}`;
14
+ super.register(tagName);
15
+ }
16
+ };
17
+ var aeico_component_default = AeicoComponent;
18
+
19
+ // src/icon/icon.ts
20
+ import { html } from "aeico";
21
+
22
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/variables.css
23
+ var variables_default = `:root,
24
+ :host {
25
+ --ae-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
26
+ "Noto Sans", "Liberation Sans", Arial, sans-serif,
27
+ "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
28
+ --ae-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
29
+ "Liberation Mono", "Courier New", monospace;
30
+ font-family: var(--ae-font-sans-serif);
31
+ --ae-blue: #0e639c;
32
+ --ae-green: #28a745;
33
+ --ae-red: #dc3545;
34
+ --ae-yellow: #ffc107;
35
+ --ae-cyan: #17a2b8;
36
+ --ae-gray: #6e6e6e;
37
+ --ae-slate: #64748b;
38
+ --ae-dark: #343a40;
39
+ --ae-light: #f8f9fa;
40
+ }
41
+
42
+ :root,
43
+ :host {
44
+ /* Blue */
45
+ --ae-blue-100: color-mix(in srgb, var(--ae-blue) 20%, white);
46
+ --ae-blue-200: color-mix(in srgb, var(--ae-blue) 40%, white);
47
+ --ae-blue-300: color-mix(in srgb, var(--ae-blue) 60%, white);
48
+ --ae-blue-400: color-mix(in srgb, var(--ae-blue) 80%, white);
49
+ --ae-blue-500: var(--ae-blue);
50
+ --ae-blue-600: color-mix(in srgb, var(--ae-blue) 80%, black);
51
+ --ae-blue-700: color-mix(in srgb, var(--ae-blue) 60%, black);
52
+ --ae-blue-800: color-mix(in srgb, var(--ae-blue) 40%, black);
53
+ --ae-blue-900: color-mix(in srgb, var(--ae-blue) 20%, black);
54
+
55
+ /* Green */
56
+ --ae-green-100: color-mix(in srgb, var(--ae-green) 20%, white);
57
+ --ae-green-200: color-mix(in srgb, var(--ae-green) 40%, white);
58
+ --ae-green-300: color-mix(in srgb, var(--ae-green) 60%, white);
59
+ --ae-green-400: color-mix(in srgb, var(--ae-green) 80%, white);
60
+ --ae-green-500: var(--ae-green);
61
+ --ae-green-600: color-mix(in srgb, var(--ae-green) 80%, black);
62
+ --ae-green-700: color-mix(in srgb, var(--ae-green) 60%, black);
63
+ --ae-green-800: color-mix(in srgb, var(--ae-green) 40%, black);
64
+ --ae-green-900: color-mix(in srgb, var(--ae-green) 20%, black);
65
+
66
+ /* Red */
67
+ --ae-red-100: color-mix(in srgb, var(--ae-red) 20%, white);
68
+ --ae-red-200: color-mix(in srgb, var(--ae-red) 40%, white);
69
+ --ae-red-300: color-mix(in srgb, var(--ae-red) 60%, white);
70
+ --ae-red-400: color-mix(in srgb, var(--ae-red) 80%, white);
71
+ --ae-red-500: var(--ae-red);
72
+ --ae-red-600: color-mix(in srgb, var(--ae-red) 80%, black);
73
+ --ae-red-700: color-mix(in srgb, var(--ae-red) 60%, black);
74
+ --ae-red-800: color-mix(in srgb, var(--ae-red) 40%, black);
75
+ --ae-red-900: color-mix(in srgb, var(--ae-red) 20%, black);
76
+
77
+ /* Yellow */
78
+ --ae-yellow-100: color-mix(in srgb, var(--ae-yellow) 20%, white);
79
+ --ae-yellow-200: color-mix(in srgb, var(--ae-yellow) 40%, white);
80
+ --ae-yellow-300: color-mix(in srgb, var(--ae-yellow) 60%, white);
81
+ --ae-yellow-400: color-mix(in srgb, var(--ae-yellow) 80%, white);
82
+ --ae-yellow-500: var(--ae-yellow);
83
+ --ae-yellow-600: color-mix(in srgb, var(--ae-yellow) 80%, black);
84
+ --ae-yellow-700: color-mix(in srgb, var(--ae-yellow) 60%, black);
85
+ --ae-yellow-800: color-mix(in srgb, var(--ae-yellow) 40%, black);
86
+ --ae-yellow-900: color-mix(in srgb, var(--ae-yellow) 20%, black);
87
+
88
+ /* Cyan */
89
+ --ae-cyan-100: color-mix(in srgb, var(--ae-cyan) 20%, white);
90
+ --ae-cyan-200: color-mix(in srgb, var(--ae-cyan) 40%, white);
91
+ --ae-cyan-300: color-mix(in srgb, var(--ae-cyan) 60%, white);
92
+ --ae-cyan-400: color-mix(in srgb, var(--ae-cyan) 80%, white);
93
+ --ae-cyan-500: var(--ae-cyan);
94
+ --ae-cyan-600: color-mix(in srgb, var(--ae-cyan) 80%, black);
95
+ --ae-cyan-700: color-mix(in srgb, var(--ae-cyan) 60%, black);
96
+ --ae-cyan-800: color-mix(in srgb, var(--ae-cyan) 40%, black);
97
+ --ae-cyan-900: color-mix(in srgb, var(--ae-cyan) 20%, black);
98
+
99
+ /* Gray (neutral \u2014 base #6e6e6e) */
100
+ --ae-gray-100: color-mix(in srgb, var(--ae-gray) 20%, white);
101
+ --ae-gray-200: color-mix(in srgb, var(--ae-gray) 40%, white);
102
+ --ae-gray-300: color-mix(in srgb, var(--ae-gray) 60%, white);
103
+ --ae-gray-400: color-mix(in srgb, var(--ae-gray) 80%, white);
104
+ --ae-gray-500: var(--ae-gray);
105
+ --ae-gray-600: color-mix(in srgb, var(--ae-gray) 80%, black);
106
+ --ae-gray-700: color-mix(in srgb, var(--ae-gray) 60%, black);
107
+ --ae-gray-800: color-mix(in srgb, var(--ae-gray) 40%, black);
108
+ --ae-gray-900: color-mix(in srgb, var(--ae-gray) 20%, black);
109
+
110
+ /* Slate (blue-gray \u2014 base #64748b, used for 'secondary') */
111
+ --ae-slate-100: color-mix(in srgb, var(--ae-slate) 20%, white);
112
+ --ae-slate-200: color-mix(in srgb, var(--ae-slate) 40%, white);
113
+ --ae-slate-300: color-mix(in srgb, var(--ae-slate) 60%, white);
114
+ --ae-slate-400: color-mix(in srgb, var(--ae-slate) 80%, white);
115
+ --ae-slate-500: var(--ae-slate);
116
+ --ae-slate-600: color-mix(in srgb, var(--ae-slate) 80%, black);
117
+ --ae-slate-700: color-mix(in srgb, var(--ae-slate) 60%, black);
118
+ --ae-slate-800: color-mix(in srgb, var(--ae-slate) 40%, black);
119
+ --ae-slate-900: color-mix(in srgb, var(--ae-slate) 20%, black);
120
+
121
+ /* Dark (base #343a40) */
122
+ --ae-dark-100: color-mix(in srgb, var(--ae-dark) 20%, white);
123
+ --ae-dark-200: color-mix(in srgb, var(--ae-dark) 40%, white);
124
+ --ae-dark-300: color-mix(in srgb, var(--ae-dark) 60%, white);
125
+ --ae-dark-400: color-mix(in srgb, var(--ae-dark) 80%, white);
126
+ --ae-dark-500: var(--ae-dark);
127
+ --ae-dark-600: color-mix(in srgb, var(--ae-dark) 80%, black);
128
+ --ae-dark-700: color-mix(in srgb, var(--ae-dark) 60%, black);
129
+ --ae-dark-800: color-mix(in srgb, var(--ae-dark) 40%, black);
130
+ --ae-dark-900: color-mix(in srgb, var(--ae-dark) 20%, black);
131
+
132
+ /* Light (base #f8f9fa) */
133
+ --ae-light-100: color-mix(in srgb, var(--ae-light) 20%, white);
134
+ --ae-light-200: color-mix(in srgb, var(--ae-light) 40%, white);
135
+ --ae-light-300: color-mix(in srgb, var(--ae-light) 60%, white);
136
+ --ae-light-400: color-mix(in srgb, var(--ae-light) 80%, white);
137
+ --ae-light-500: var(--ae-light);
138
+ --ae-light-600: color-mix(in srgb, var(--ae-light) 80%, black);
139
+ --ae-light-700: color-mix(in srgb, var(--ae-light) 60%, black);
140
+ --ae-light-800: color-mix(in srgb, var(--ae-light) 40%, black);
141
+ --ae-light-900: color-mix(in srgb, var(--ae-light) 20%, black);
142
+ }
143
+
144
+ :root,
145
+ :host {
146
+ /* Hover / active mix (light default \u2014 overridden in \xA7 6 dark) */
147
+ --ae-color-mix-hover: black 10%;
148
+ --ae-color-mix-active: black 20%;
149
+
150
+ /* Primary (Blue) */
151
+ --ae-color-primary: var(--ae-blue-500);
152
+ --ae-color-primary-hover: color-mix(in srgb, var(--ae-color-primary), var(--ae-color-mix-hover));
153
+ --ae-color-primary-active: color-mix(in srgb, var(--ae-color-primary), var(--ae-color-mix-active));
154
+ --ae-color-primary-disabled: color-mix(in srgb, var(--ae-blue) 50%, var(--ae-gray-500));
155
+
156
+ /* Success (Green) */
157
+ --ae-color-success: var(--ae-green-500);
158
+ --ae-color-success-hover: color-mix(in srgb, var(--ae-color-success), var(--ae-color-mix-hover));
159
+ --ae-color-success-active: color-mix(in srgb, var(--ae-color-success), var(--ae-color-mix-active));
160
+ --ae-color-success-disabled: color-mix(in srgb, var(--ae-green) 50%, var(--ae-gray-500));
161
+
162
+ /* Danger (Red) */
163
+ --ae-color-danger: var(--ae-red-500);
164
+ --ae-color-danger-hover: color-mix(in srgb, var(--ae-color-danger), var(--ae-color-mix-hover));
165
+ --ae-color-danger-active: color-mix(in srgb, var(--ae-color-danger), var(--ae-color-mix-active));
166
+ --ae-color-danger-disabled: color-mix(in srgb, var(--ae-red) 50%, var(--ae-gray-500));
167
+
168
+ /* Warning (Yellow) */
169
+ --ae-color-warning: var(--ae-yellow-500);
170
+ --ae-color-warning-hover: color-mix(in srgb, var(--ae-color-warning), var(--ae-color-mix-hover));
171
+ --ae-color-warning-active: color-mix(in srgb, var(--ae-color-warning), var(--ae-color-mix-active));
172
+ --ae-color-warning-disabled: color-mix(in srgb, var(--ae-yellow) 50%, var(--ae-gray-500));
173
+
174
+ /* Info (Cyan) */
175
+ --ae-color-info: var(--ae-cyan-500);
176
+ --ae-color-info-hover: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-hover));
177
+ --ae-color-info-active: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-active));
178
+ --ae-color-info-disabled: color-mix(in srgb, var(--ae-cyan) 50%, var(--ae-gray-500));
179
+
180
+ /* Secondary (Slate) \u2014 base differs per theme, overridden in \xA7 6 dark */
181
+ --ae-color-secondary: var(--ae-slate-500);
182
+ --ae-color-secondary-hover: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-hover));
183
+ --ae-color-secondary-active: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-active));
184
+ --ae-color-secondary-text: var(--ae-slate-700);
185
+ }
186
+
187
+
188
+ .theme-light,
189
+ :root[theme="light"],
190
+ :host([theme="light"]),
191
+ :host-context([theme="light"]),
192
+ :where(:root),
193
+ :host {
194
+ color-scheme: light;
195
+
196
+ /* Gray UI aliases \u2014 lighter palette steps for elements on white background */
197
+ --ae-color-gray-dark: var(--ae-gray-400);
198
+ --ae-color-gray: var(--ae-gray-300);
199
+ --ae-color-gray-light: var(--ae-gray-200);
200
+ --ae-color-gray-lighter: var(--ae-gray-100);
201
+ --ae-color-gray-lightest: color-mix(in srgb, var(--ae-gray) 10%, white);
202
+
203
+ /* Text */
204
+ --ae-color-text-main: var(--ae-dark-700);
205
+ --ae-color-text-muted: var(--ae-gray-600);
206
+ --ae-color-text-disabled: var(--ae-gray-300);
207
+ --ae-color-text-link: var(--ae-blue-500);
208
+ --ae-color-text-link-hover: var(--ae-blue-700);
209
+
210
+ /* Surfaces */
211
+ --ae-surface-sunken: var(--ae-light-500);
212
+ --ae-surface-base: white;
213
+ --ae-surface-raised: var(--ae-light-500);
214
+ --ae-surface-overlay: white;
215
+ --ae-color-overlay: rgba(0, 0, 0, 0.4);
216
+
217
+ /* Borders */
218
+ --ae-border-subtle: rgba(0, 0, 0, 0.08);
219
+ --ae-border-default: rgba(0, 0, 0, 0.15);
220
+ --ae-border-hover: rgba(0, 0, 0, 0.25);
221
+ --ae-border-focus: var(--ae-color-primary);
222
+ --ae-border-disabled: rgba(0, 0, 0, 0.06);
223
+
224
+ /* Focus ring */
225
+ --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.30);
226
+ --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.15);
227
+
228
+ /* Subtle intent tokens \u2014 light context */
229
+ --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.08);
230
+ --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.40);
231
+ --ae-color-primary-text-emphasis: var(--ae-blue-700);
232
+
233
+ --ae-color-success-bg-subtle: rgb(from var(--ae-green) r g b / 0.08);
234
+ --ae-color-success-border-subtle: rgb(from var(--ae-green) r g b / 0.40);
235
+ --ae-color-success-text-emphasis: var(--ae-green-700);
236
+
237
+ --ae-color-danger-bg-subtle: rgb(from var(--ae-red) r g b / 0.08);
238
+ --ae-color-danger-border-subtle: rgb(from var(--ae-red) r g b / 0.40);
239
+ --ae-color-danger-text-emphasis: var(--ae-red-700);
240
+
241
+ --ae-color-warning-bg-subtle: rgb(from var(--ae-yellow) r g b / 0.08);
242
+ --ae-color-warning-border-subtle: rgb(from var(--ae-yellow) r g b / 0.40);
243
+ --ae-color-warning-text-emphasis: var(--ae-yellow-700);
244
+
245
+ --ae-color-info-bg-subtle: rgb(from var(--ae-cyan) r g b / 0.08);
246
+ --ae-color-info-border-subtle: rgb(from var(--ae-cyan) r g b / 0.40);
247
+ --ae-color-info-text-emphasis: var(--ae-cyan-700);
248
+
249
+ --ae-color-secondary-bg-subtle: rgb(from var(--ae-slate) r g b / 0.08);
250
+ --ae-color-secondary-border-subtle: rgb(from var(--ae-slate) r g b / 0.40);
251
+ --ae-color-secondary-text-emphasis: var(--ae-slate-700);
252
+
253
+ --ae-color-light-bg-subtle: var(--ae-gray-100); /* opaque on white: ~#e2e2e2 */
254
+ --ae-color-light-border-subtle: var(--ae-gray-200); /* opaque on white: ~#c4c4c4 */
255
+
256
+ --ae-color-dark-bg-subtle: var(--ae-dark-100); /* opaque on white: ~#d6d8d9 */
257
+ --ae-color-dark-border-subtle: var(--ae-dark-300); /* opaque on white: ~#85898c */
258
+
259
+ /* Component tokens \u2014 light defaults */
260
+ --ae-action-btn-bg: var(--ae-gray-200);
261
+ --ae-action-btn-bg-hover: var(--ae-color-primary);
262
+ --ae-action-btn-color: var(--ae-gray-600);
263
+ --ae-action-btn-color-hover: white;
264
+
265
+ --ae-clear-btn-bg-hover: var(--ae-color-danger);
266
+ --ae-clear-btn-color-hover: white;
267
+
268
+ --ae-reset-btn-border-radius: var(--ae-radius-xs);
269
+ --ae-reset-btn-bg: var(--ae-action-btn-bg);
270
+ --ae-reset-btn-bg-hover: var(--ae-action-btn-bg-hover);
271
+ --ae-reset-btn-color: var(--ae-action-btn-color);
272
+ --ae-reset-btn-color-hover: var(--ae-action-btn-color-hover);
273
+ --ae-reset-btn-transition: all 0.12s;
274
+
275
+ --ae-clear-btn-border-radius: var(--ae-radius-xs);
276
+ --ae-clear-btn-bg: var(--ae-action-btn-bg);
277
+ --ae-clear-btn-color: var(--ae-action-btn-color);
278
+ --ae-clear-btn-transition: all 0.12s;
279
+ }
280
+
281
+ :root,
282
+ :host {
283
+ --ae-size-scale: 1;
284
+ --ae-size-base: calc(1rem * var(--ae-size-scale)); /* 16px */
285
+ --ae-size-xl: round(calc(var(--ae-size-l) * 1.125), 1px); /* 23px */
286
+ --ae-size-l: round(calc(var(--ae-size-m) * 1.125 * 1.125), 1px); /* 20px */
287
+ --ae-size-m: var(--ae-size-base); /* 16px */
288
+ --ae-size-s: round(calc(var(--ae-size-m) / 1.125), 1px); /* 14px */
289
+ --ae-size-xs: round(calc(var(--ae-size-s) / 1.125), 1px); /* 12px */
290
+ --ae-size-2xs: round(calc(var(--ae-size-xs) / 1.125), 1px); /* 11px */
291
+ --ae-size-3xs: round(calc(var(--ae-size-2xs) / 1.125), 1px); /* 10px */
292
+ }
293
+
294
+ /* Border-radius tokens \u2014 shared across all components */
295
+ :root,
296
+ :host {
297
+ /**
298
+ * Unified border-radius hook for all components.
299
+ *
300
+ * Not set by default \u2014 each component falls back to its own --ae-radius-*
301
+ * token (e.g. button \u2192 sm, card \u2192 lg, input \u2192 xs).
302
+ *
303
+ * Usage:
304
+ * :root { --ae-border-radius: 0; } // global: all components square
305
+ * :root { --ae-border-radius: 999px; } // global: all components pill
306
+ * ae-button { --ae-border-radius: 50%; } // scoped: only buttons circular
307
+ * .sidebar { --ae-border-radius: 8px; } // scoped: everything inside .sidebar
308
+ *
309
+ * To restore a component to its own default:
310
+ * ae-card { --ae-border-radius: initial; }
311
+ */
312
+
313
+ --ae-radius-square: 0;
314
+ --ae-radius-xs: 2px;
315
+ --ae-radius-sm: 4px;
316
+ --ae-radius-md: 6px;
317
+ --ae-radius-lg: 8px;
318
+ --ae-radius-xl: 12px;
319
+ --ae-radius-pill: 999px;
320
+ --ae-radius-circle: 50%;
321
+ }
322
+
323
+ /* Layout tokens \u2014 defined on :root so all light DOM elements can use them */
324
+ :root,
325
+ :host {
326
+ --container-max-width: 1280px;
327
+ --container-padding-x: 1.5rem;
328
+ }
329
+
330
+ .theme-dark,
331
+ :root[theme="dark"],
332
+ :host([theme="dark"]),
333
+ :host-context([theme="dark"]) {
334
+ color-scheme: dark;
335
+
336
+ /* Hover / active \u2014 slightly gentler on dark backgrounds */
337
+ --ae-color-mix-hover: black 8%;
338
+ --ae-color-mix-active: black 16%;
339
+
340
+ /* Gray UI aliases \u2014 darker palette steps for elements on dark background */
341
+ --ae-color-gray-dark: var(--ae-gray-800);
342
+ --ae-color-gray: var(--ae-gray-700);
343
+ --ae-color-gray-light: var(--ae-gray-600);
344
+ --ae-color-gray-lighter: var(--ae-gray-500);
345
+ --ae-color-gray-lightest: var(--ae-gray-400);
346
+
347
+ /* Secondary \u2014 deeper base on dark background */
348
+ --ae-color-secondary: var(--ae-slate-700);
349
+ --ae-color-secondary-text: var(--ae-slate-300);
350
+
351
+ /* Text */
352
+ --ae-color-text-main: white;
353
+ --ae-color-text-muted: var(--ae-gray-200);
354
+ --ae-color-text-disabled: var(--ae-gray-500);
355
+ --ae-color-text-link: var(--ae-blue-300);
356
+ --ae-color-text-link-hover: var(--ae-blue-200);
357
+
358
+ /* Surfaces */
359
+ --ae-surface-sunken: var(--ae-gray-900);
360
+ --ae-surface-base: color-mix(in srgb, var(--ae-gray) 27%, black);
361
+ --ae-surface-raised: color-mix(in srgb, var(--ae-gray) 34%, black);
362
+ --ae-surface-overlay: color-mix(in srgb, var(--ae-gray) 38%, black);
363
+ --ae-color-overlay: rgba(0, 0, 0, 0.6);
364
+
365
+ /* Borders */
366
+ --ae-border-subtle: rgba(255, 255, 255, 0.08);
367
+ --ae-border-default: rgba(255, 255, 255, 0.12);
368
+ --ae-border-hover: rgba(255, 255, 255, 0.20);
369
+ --ae-border-focus: var(--ae-color-primary);
370
+ --ae-border-disabled: rgba(255, 255, 255, 0.06);
371
+
372
+ /* Focus ring */
373
+ --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.25);
374
+ --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.10);
375
+
376
+ /* Subtle intent tokens \u2014 dark context (more alpha, lighter text-emphasis) */
377
+ --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.10);
378
+ --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.30);
379
+ --ae-color-primary-text-emphasis: var(--ae-blue-300);
380
+
381
+ --ae-color-success-bg-subtle: rgb(from var(--ae-green) r g b / 0.10);
382
+ --ae-color-success-border-subtle: rgb(from var(--ae-green) r g b / 0.30);
383
+ --ae-color-success-text-emphasis: var(--ae-green-300);
384
+
385
+ --ae-color-danger-bg-subtle: rgb(from var(--ae-red) r g b / 0.10);
386
+ --ae-color-danger-border-subtle: rgb(from var(--ae-red) r g b / 0.30);
387
+ --ae-color-danger-text-emphasis: var(--ae-red-300);
388
+
389
+ --ae-color-warning-bg-subtle: rgb(from var(--ae-yellow) r g b / 0.10);
390
+ --ae-color-warning-border-subtle: rgb(from var(--ae-yellow) r g b / 0.30);
391
+ --ae-color-warning-text-emphasis: var(--ae-yellow-300);
392
+
393
+ --ae-color-info-bg-subtle: rgb(from var(--ae-cyan) r g b / 0.10);
394
+ --ae-color-info-border-subtle: rgb(from var(--ae-cyan) r g b / 0.30);
395
+ --ae-color-info-text-emphasis: var(--ae-cyan-300);
396
+
397
+ --ae-color-secondary-bg-subtle: rgb(from var(--ae-slate) r g b / 0.10);
398
+ --ae-color-secondary-border-subtle: rgb(from var(--ae-slate) r g b / 0.30);
399
+ --ae-color-secondary-text-emphasis: var(--ae-slate-300);
400
+
401
+ --ae-color-light-bg-subtle: rgb(from var(--ae-light) r g b / 0.20);
402
+ --ae-color-light-border-subtle: rgb(from var(--ae-light) r g b / 0.25);
403
+
404
+ --ae-color-dark-bg-subtle: rgb(from var(--ae-dark) r g b / 0.30);
405
+ --ae-color-dark-border-subtle: rgb(from var(--ae-dark) r g b / 0.50);
406
+
407
+ /* Component tokens \u2014 dark overrides */
408
+ --ae-action-btn-bg: var(--ae-color-gray);
409
+ --ae-action-btn-bg-hover: color-mix(in srgb, var(--ae-blue) 25%, var(--ae-gray-800));
410
+ --ae-action-btn-color: var(--ae-gray-400);
411
+ --ae-action-btn-color-hover: var(--ae-cyan-300);
412
+ --ae-clear-btn-bg-hover: color-mix(in srgb, var(--ae-red) 25%, var(--ae-gray-800));
413
+ --ae-clear-btn-color-hover: var(--ae-red-300);
414
+ }
415
+ `;
416
+
417
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/size.css
418
+ var size_default = ':host([size="xs"]) { font-size: var(--ae-size-xs); }\n:host([size="sm"]) { font-size: var(--ae-size-s); }\n:host([size="md"]) { font-size: var(--ae-size-m); }\n:host([size="lg"]) { font-size: var(--ae-size-l); }\n:host([size="xl"]) { font-size: var(--ae-size-xl); }\n:host([size="3xs"]) { font-size: var(--ae-size-3xs); }\n:host([size="2xs"]) { font-size: var(--ae-size-2xs); }\n';
419
+
420
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/color.css
421
+ var color_default = ':host {\n --ae-color-solid: var(--ae-color-gray);\n --ae-color-solid-hover: color-mix(in srgb, var(--ae-color-solid), var(--ae-color-mix-hover));\n --ae-color-solid-active: color-mix(in srgb, var(--ae-color-solid), var(--ae-color-mix-active));\n --ae-color-on-solid: var(--ae-color-text-main);\n --ae-color-border: var(--ae-color-gray);\n --ae-color-border-hover: color-mix(in srgb, var(--ae-color-border), var(--ae-color-mix-hover));\n --ae-color-accent: var(--ae-color-text-muted);\n --ae-color-accent-hover: var(--ae-color-text-main);\n --ae-color-subtle: var(--ae-border-subtle);\n --ae-color-subtle-hover: var(--ae-border-default);\n --ae-color-bg-subtle: var(--ae-border-subtle);\n --ae-color-text-subtle: var(--ae-color-text-muted);\n --ae-color-border-subtle: var(--ae-border-default);\n}\n\n:host([color="primary"]) {\n --ae-color-solid: var(--ae-color-primary);\n --ae-color-on-solid: white;\n --ae-color-border: var(--ae-color-primary);\n --ae-color-accent: var(--ae-color-text-link);\n --ae-color-accent-hover: var(--ae-color-text-link-hover);\n --ae-color-subtle: var(--ae-color-primary-bg-subtle);\n --ae-color-subtle-hover: rgb(from var(--ae-blue) r g b / 0.15);\n --ae-color-bg-subtle: var(--ae-color-primary-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-primary-text-emphasis);\n --ae-color-border-subtle: var(--ae-color-primary-border-subtle);\n}\n\n:host([color="secondary"]) {\n --ae-color-solid: var(--ae-color-secondary);\n --ae-color-on-solid: white;\n --ae-color-border: var(--ae-color-secondary-hover);\n --ae-color-accent: var(--ae-color-secondary-text-emphasis);\n --ae-color-accent-hover: var(--ae-color-text-main);\n --ae-color-subtle: rgb(from var(--ae-slate) r g b / 0.06);\n --ae-color-subtle-hover: rgb(from var(--ae-slate) r g b / 0.12);\n --ae-color-bg-subtle: var(--ae-color-secondary-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-secondary-text-emphasis);\n --ae-color-border-subtle: var(--ae-color-secondary-border-subtle);\n}\n\n:host([color="success"]) {\n --ae-color-solid: var(--ae-color-success);\n --ae-color-on-solid: white;\n --ae-color-border: var(--ae-color-success);\n --ae-color-accent: var(--ae-color-success-text-emphasis);\n --ae-color-accent-hover: var(--ae-color-success-hover);\n --ae-color-subtle: var(--ae-color-success-bg-subtle);\n --ae-color-subtle-hover: rgb(from var(--ae-green) r g b / 0.15);\n --ae-color-bg-subtle: var(--ae-color-success-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-success-text-emphasis);\n --ae-color-border-subtle: var(--ae-color-success-border-subtle);\n}\n\n:host([color="danger"]) {\n --ae-color-solid: var(--ae-color-danger);\n --ae-color-on-solid: white;\n --ae-color-border: var(--ae-color-danger);\n --ae-color-accent: var(--ae-color-danger-text-emphasis);\n --ae-color-accent-hover: var(--ae-color-danger-hover);\n --ae-color-subtle: var(--ae-color-danger-bg-subtle);\n --ae-color-subtle-hover: rgb(from var(--ae-red) r g b / 0.15);\n --ae-color-bg-subtle: var(--ae-color-danger-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-danger-text-emphasis);\n --ae-color-border-subtle: var(--ae-color-danger-border-subtle);\n}\n\n:host([color="warning"]) {\n --ae-color-solid: var(--ae-color-warning);\n --ae-color-on-solid: var(--ae-gray-900);\n --ae-color-border: var(--ae-color-warning);\n --ae-color-accent: var(--ae-color-warning-text-emphasis);\n --ae-color-accent-hover: var(--ae-color-warning-hover);\n --ae-color-subtle: var(--ae-color-warning-bg-subtle);\n --ae-color-subtle-hover: rgb(from var(--ae-yellow) r g b / 0.15);\n --ae-color-bg-subtle: var(--ae-color-warning-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-warning-text-emphasis);\n --ae-color-border-subtle: var(--ae-color-warning-border-subtle);\n}\n\n:host([color="info"]) {\n --ae-color-solid: var(--ae-color-info);\n --ae-color-on-solid: white;\n --ae-color-border: var(--ae-color-info);\n --ae-color-accent: var(--ae-color-info-text-emphasis);\n --ae-color-accent-hover: var(--ae-color-info-hover);\n --ae-color-subtle: var(--ae-color-info-bg-subtle);\n --ae-color-subtle-hover: rgb(from var(--ae-cyan) r g b / 0.15);\n --ae-color-bg-subtle: var(--ae-color-info-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-info-text-emphasis);\n --ae-color-border-subtle: var(--ae-color-info-border-subtle);\n}\n\n:host([color="light"]) {\n --ae-color-solid: var(--ae-light);\n --ae-color-on-solid: var(--ae-gray-900);\n --ae-color-border: var(--ae-border-hover);\n --ae-color-subtle: var(--ae-color-light-bg-subtle);\n --ae-color-subtle-hover: var(--ae-color-light-border-subtle);\n --ae-color-bg-subtle: var(--ae-color-light-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-text-muted);\n --ae-color-border-subtle: var(--ae-color-light-border-subtle);\n}\n\n:host([color="dark"]) {\n --ae-color-solid: var(--ae-dark-500);\n --ae-color-on-solid: white;\n --ae-color-border: var(--ae-dark-500);\n --ae-color-accent: var(--ae-color-text-main);\n --ae-color-accent-hover: var(--ae-color-text-main);\n --ae-color-subtle: var(--ae-color-dark-bg-subtle);\n --ae-color-subtle-hover: var(--ae-color-dark-border-subtle);\n --ae-color-bg-subtle: var(--ae-color-dark-bg-subtle);\n --ae-color-text-subtle: var(--ae-color-text-main);\n --ae-color-border-subtle: var(--ae-color-dark-border-subtle);\n}\n';
422
+
423
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/icon.css
424
+ var icon_default = ":host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 20px;\n width: 1em;\n height: 1em;\n color: inherit;\n flex-shrink: 0;\n line-height: 0;\n vertical-align: middle;\n}\n\n:host([color]) {\n color: var(--ae-color-solid);\n}\n\n.icon-svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: var(--icon-fill, currentColor);\n stroke: var(--icon-stroke, none);\n stroke-width: var(--icon-stroke-width, 2);\n stroke-linecap: var(--icon-stroke-linecap, round);\n stroke-linejoin: var(--icon-stroke-linejoin, round);\n pointer-events: none;\n overflow: visible;\n}\n";
425
+
426
+ // src/icon/defines.ts
427
+ var defaultViewBox = "0 0 24 24";
428
+
429
+ // src/icon/registry.ts
430
+ var IconRegistry = class {
431
+ static _icons = /* @__PURE__ */ new Map();
432
+ /** Names registered via addBuiltIn — can be overridden by user add() calls */
433
+ static _builtInKeys = /* @__PURE__ */ new Set();
434
+ /** Register user icons. Always takes priority over built-in icons. */
435
+ static add(icons) {
436
+ for (const [name, data] of Object.entries(icons)) {
437
+ if (typeof data === "string") {
438
+ this._icons.set(name, { paths: data, viewBox: defaultViewBox });
439
+ } else {
440
+ this._icons.set(name, data);
441
+ }
442
+ this._builtInKeys.delete(name);
443
+ }
444
+ }
445
+ /**
446
+ * Register built-in icons provided by the library.
447
+ * A built-in icon will NOT overwrite an icon already registered by the user.
448
+ */
449
+ static addBuiltIn(icons) {
450
+ for (const [name, data] of Object.entries(icons)) {
451
+ if (this._icons.has(name) && !this._builtInKeys.has(name)) continue;
452
+ if (typeof data === "string") {
453
+ this._icons.set(name, { paths: data, viewBox: defaultViewBox });
454
+ } else {
455
+ this._icons.set(name, data);
456
+ }
457
+ this._builtInKeys.add(name);
458
+ }
459
+ }
460
+ static get(name) {
461
+ return this._icons.get(name);
462
+ }
463
+ static has(name) {
464
+ return this._icons.has(name);
465
+ }
466
+ };
467
+ var registry_default = IconRegistry;
468
+
469
+ // src/icon/built-in-icons.ts
470
+ registry_default.addBuiltIn({
471
+ copy: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z",
472
+ check: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z",
473
+ "chevron-left": "M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z",
474
+ "chevron-right": "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z",
475
+ "chevron-up": "M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",
476
+ "chevron-down": "M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z",
477
+ "chevrons-left": "M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z",
478
+ "chevrons-right": "M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z",
479
+ close: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
480
+ });
481
+
482
+ // src/icon/icon.ts
483
+ var Icon = class extends aeico_component_default {
484
+ static tagName = "icon";
485
+ static props = {
486
+ name: { type: String },
487
+ size: { type: String },
488
+ color: { type: String },
489
+ stroke: { type: Boolean },
490
+ strokeWidth: { type: Number }
491
+ };
492
+ static styles = [variables_default, size_default, color_default, icon_default];
493
+ render() {
494
+ const def = this.name ? registry_default.get(this.name) : void 0;
495
+ const numericSize = Number(this.size);
496
+ if (this.size !== void 0 && !isNaN(numericSize) && numericSize > 0) {
497
+ this.style.setProperty("font-size", `${numericSize}px`);
498
+ } else {
499
+ this.style.removeProperty("font-size");
500
+ }
501
+ if (!def) return;
502
+ const { paths } = def;
503
+ const isMultiPath = Array.isArray(paths);
504
+ if (!isMultiPath) {
505
+ const useStroke = this.stroke ?? (this.strokeWidth !== void 0 ? true : def.stroke ?? false);
506
+ const useStrokeWidth = this.strokeWidth ?? def.strokeWidth ?? 2;
507
+ if (useStroke) {
508
+ this.style.setProperty("--icon-fill", "none");
509
+ this.style.setProperty("--icon-stroke", "currentColor");
510
+ this.style.setProperty("--icon-stroke-width", String(useStrokeWidth));
511
+ } else {
512
+ this.style.removeProperty("--icon-fill");
513
+ this.style.removeProperty("--icon-stroke");
514
+ this.style.removeProperty("--icon-stroke-width");
515
+ }
516
+ } else {
517
+ this.style.removeProperty("--icon-fill");
518
+ this.style.removeProperty("--icon-stroke");
519
+ this.style.removeProperty("--icon-stroke-width");
520
+ }
521
+ return html(({ svg, path }) => {
522
+ svg(
523
+ {
524
+ className: "icon-svg",
525
+ viewBox: def.viewBox ?? defaultViewBox,
526
+ "aria-hidden": "true",
527
+ xmlns: SVG_NS
528
+ },
529
+ () => {
530
+ if (typeof paths === "string") {
531
+ path({ d: paths });
532
+ } else {
533
+ for (const p of paths) {
534
+ const attrs = { d: p.d };
535
+ if (p.fill) attrs.style = { fill: p.fill };
536
+ path(attrs);
537
+ }
538
+ }
539
+ }
540
+ );
541
+ });
542
+ }
543
+ };
544
+ Icon.register();
545
+ var icon_default2 = Icon;
2
546
  export {
3
- I as Icon,
4
- a as IconRegistry
547
+ icon_default2 as Icon,
548
+ registry_default as IconRegistry
5
549
  };
6
550
  //# sourceMappingURL=icon.js.map