aeico-components 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +0 -0
  3. package/dist/chunks/action-button.cjs +296 -0
  4. package/dist/chunks/action-button.cjs.map +1 -0
  5. package/dist/chunks/action-button.js +297 -0
  6. package/dist/chunks/action-button.js.map +1 -0
  7. package/dist/chunks/alert.cjs +26 -32
  8. package/dist/chunks/alert.cjs.map +1 -1
  9. package/dist/chunks/alert.js +27 -33
  10. package/dist/chunks/alert.js.map +1 -1
  11. package/dist/chunks/badge.cjs +2 -2
  12. package/dist/chunks/badge.cjs.map +1 -1
  13. package/dist/chunks/badge.js +3 -3
  14. package/dist/chunks/badge.js.map +1 -1
  15. package/dist/chunks/breadcrumb-item.cjs +9 -9
  16. package/dist/chunks/breadcrumb-item.cjs.map +1 -1
  17. package/dist/chunks/breadcrumb-item.js +10 -10
  18. package/dist/chunks/breadcrumb-item.js.map +1 -1
  19. package/dist/chunks/button-group.cjs +1 -1
  20. package/dist/chunks/button-group.cjs.map +1 -1
  21. package/dist/chunks/button-group.js +2 -2
  22. package/dist/chunks/button-group.js.map +1 -1
  23. package/dist/chunks/button.cjs +40 -51
  24. package/dist/chunks/button.cjs.map +1 -1
  25. package/dist/chunks/button.js +41 -52
  26. package/dist/chunks/button.js.map +1 -1
  27. package/dist/chunks/card.cjs +2 -2
  28. package/dist/chunks/card.cjs.map +1 -1
  29. package/dist/chunks/card.js +3 -3
  30. package/dist/chunks/card.js.map +1 -1
  31. package/dist/chunks/checkbox.cjs +18 -5
  32. package/dist/chunks/checkbox.cjs.map +1 -1
  33. package/dist/chunks/checkbox.js +18 -5
  34. package/dist/chunks/checkbox.js.map +1 -1
  35. package/dist/chunks/color.cjs +1 -1
  36. package/dist/chunks/color.js +1 -1
  37. package/dist/chunks/copy-button.cjs +171 -0
  38. package/dist/chunks/copy-button.cjs.map +1 -0
  39. package/dist/chunks/copy-button.js +172 -0
  40. package/dist/chunks/copy-button.js.map +1 -0
  41. package/dist/chunks/detail-group.cjs +65 -0
  42. package/dist/chunks/detail-group.cjs.map +1 -0
  43. package/dist/chunks/detail-group.js +66 -0
  44. package/dist/chunks/detail-group.js.map +1 -0
  45. package/dist/chunks/detail.cjs +7 -4
  46. package/dist/chunks/detail.cjs.map +1 -1
  47. package/dist/chunks/detail.js +8 -5
  48. package/dist/chunks/detail.js.map +1 -1
  49. package/dist/chunks/dialog.cjs +2 -2
  50. package/dist/chunks/dialog.cjs.map +1 -1
  51. package/dist/chunks/dialog.js +3 -3
  52. package/dist/chunks/dialog.js.map +1 -1
  53. package/dist/chunks/divider.cjs +2 -2
  54. package/dist/chunks/divider.cjs.map +1 -1
  55. package/dist/chunks/divider.js +3 -3
  56. package/dist/chunks/divider.js.map +1 -1
  57. package/dist/chunks/drawer.cjs +180 -0
  58. package/dist/chunks/drawer.cjs.map +1 -0
  59. package/dist/chunks/drawer.js +181 -0
  60. package/dist/chunks/drawer.js.map +1 -0
  61. package/dist/chunks/dropdown-button.cjs +10 -11
  62. package/dist/chunks/dropdown-button.cjs.map +1 -1
  63. package/dist/chunks/dropdown-button.js +14 -15
  64. package/dist/chunks/dropdown-button.js.map +1 -1
  65. package/dist/chunks/icon.cjs +57 -11
  66. package/dist/chunks/icon.cjs.map +1 -1
  67. package/dist/chunks/icon.js +58 -12
  68. package/dist/chunks/icon.js.map +1 -1
  69. package/dist/chunks/menu.cjs +396 -0
  70. package/dist/chunks/menu.cjs.map +1 -0
  71. package/dist/chunks/menu.js +397 -0
  72. package/dist/chunks/menu.js.map +1 -0
  73. package/dist/chunks/navbar.cjs +2 -2
  74. package/dist/chunks/navbar.cjs.map +1 -1
  75. package/dist/chunks/navbar.js +3 -3
  76. package/dist/chunks/navbar.js.map +1 -1
  77. package/dist/chunks/number-input.cjs +110 -0
  78. package/dist/chunks/number-input.cjs.map +1 -0
  79. package/dist/chunks/number-input.js +111 -0
  80. package/dist/chunks/number-input.js.map +1 -0
  81. package/dist/chunks/pagination.cjs +475 -0
  82. package/dist/chunks/pagination.cjs.map +1 -0
  83. package/dist/chunks/pagination.js +476 -0
  84. package/dist/chunks/pagination.js.map +1 -0
  85. package/dist/chunks/progress-bar.cjs +101 -0
  86. package/dist/chunks/progress-bar.cjs.map +1 -0
  87. package/dist/chunks/progress-bar.js +102 -0
  88. package/dist/chunks/progress-bar.js.map +1 -0
  89. package/dist/chunks/radio.cjs +11 -7
  90. package/dist/chunks/radio.cjs.map +1 -1
  91. package/dist/chunks/radio.js +11 -7
  92. package/dist/chunks/radio.js.map +1 -1
  93. package/dist/chunks/select.cjs +97 -66
  94. package/dist/chunks/select.cjs.map +1 -1
  95. package/dist/chunks/select.js +97 -66
  96. package/dist/chunks/select.js.map +1 -1
  97. package/dist/chunks/size.cjs +1 -1
  98. package/dist/chunks/size.js +1 -1
  99. package/dist/chunks/slider.cjs +35 -75
  100. package/dist/chunks/slider.cjs.map +1 -1
  101. package/dist/chunks/slider.js +35 -75
  102. package/dist/chunks/slider.js.map +1 -1
  103. package/dist/chunks/spinner.cjs +102 -0
  104. package/dist/chunks/spinner.cjs.map +1 -0
  105. package/dist/chunks/spinner.js +103 -0
  106. package/dist/chunks/spinner.js.map +1 -0
  107. package/dist/chunks/switch.cjs +110 -16
  108. package/dist/chunks/switch.cjs.map +1 -1
  109. package/dist/chunks/switch.js +111 -17
  110. package/dist/chunks/switch.js.map +1 -1
  111. package/dist/chunks/tab-panel.cjs +14 -5
  112. package/dist/chunks/tab-panel.cjs.map +1 -1
  113. package/dist/chunks/tab-panel.js +15 -6
  114. package/dist/chunks/tab-panel.js.map +1 -1
  115. package/dist/chunks/tag.cjs +2 -2
  116. package/dist/chunks/tag.cjs.map +1 -1
  117. package/dist/chunks/tag.js +3 -3
  118. package/dist/chunks/tag.js.map +1 -1
  119. package/dist/chunks/text-input.cjs +11 -16
  120. package/dist/chunks/text-input.cjs.map +1 -1
  121. package/dist/chunks/text-input.js +11 -16
  122. package/dist/chunks/text-input.js.map +1 -1
  123. package/dist/chunks/textarea.cjs +137 -0
  124. package/dist/chunks/textarea.cjs.map +1 -0
  125. package/dist/chunks/textarea.js +138 -0
  126. package/dist/chunks/textarea.js.map +1 -0
  127. package/dist/chunks/tooltip.cjs +292 -0
  128. package/dist/chunks/tooltip.cjs.map +1 -0
  129. package/dist/chunks/tooltip.js +293 -0
  130. package/dist/chunks/tooltip.js.map +1 -0
  131. package/dist/chunks/tree.cjs +468 -0
  132. package/dist/chunks/tree.cjs.map +1 -0
  133. package/dist/chunks/tree.js +469 -0
  134. package/dist/chunks/tree.js.map +1 -0
  135. package/dist/chunks/variables.cjs +273 -249
  136. package/dist/chunks/variables.cjs.map +1 -1
  137. package/dist/chunks/variables.js +273 -249
  138. package/dist/chunks/variables.js.map +1 -1
  139. package/dist/copy-button.cjs +6 -0
  140. package/dist/copy-button.cjs.map +1 -0
  141. package/dist/copy-button.js +6 -0
  142. package/dist/copy-button.js.map +1 -0
  143. package/dist/detail-group.cjs +6 -0
  144. package/dist/detail-group.cjs.map +1 -0
  145. package/dist/detail-group.js +6 -0
  146. package/dist/detail-group.js.map +1 -0
  147. package/dist/drawer.cjs +6 -0
  148. package/dist/drawer.cjs.map +1 -0
  149. package/dist/drawer.js +6 -0
  150. package/dist/drawer.js.map +1 -0
  151. package/dist/dropdown.js +4 -4
  152. package/dist/index.cjs +24 -99
  153. package/dist/index.cjs.map +1 -1
  154. package/dist/index.js +41 -116
  155. package/dist/index.js.map +1 -1
  156. package/dist/menu.cjs +6 -0
  157. package/dist/menu.cjs.map +1 -0
  158. package/dist/menu.js +6 -0
  159. package/dist/menu.js.map +1 -0
  160. package/dist/number-input.cjs +6 -0
  161. package/dist/number-input.cjs.map +1 -0
  162. package/dist/number-input.js +6 -0
  163. package/dist/number-input.js.map +1 -0
  164. package/dist/pagination.cjs +6 -0
  165. package/dist/pagination.cjs.map +1 -0
  166. package/dist/pagination.js +6 -0
  167. package/dist/pagination.js.map +1 -0
  168. package/dist/progress-bar.cjs +6 -0
  169. package/dist/progress-bar.cjs.map +1 -0
  170. package/dist/progress-bar.js +6 -0
  171. package/dist/progress-bar.js.map +1 -0
  172. package/dist/select.cjs +2 -2
  173. package/dist/select.cjs.map +1 -1
  174. package/dist/select.js +3 -3
  175. package/dist/select.js.map +1 -1
  176. package/dist/spinner.cjs +6 -0
  177. package/dist/spinner.cjs.map +1 -0
  178. package/dist/spinner.js +6 -0
  179. package/dist/spinner.js.map +1 -0
  180. package/dist/textarea.cjs +5 -0
  181. package/dist/textarea.cjs.map +1 -0
  182. package/dist/textarea.js +5 -0
  183. package/dist/textarea.js.map +1 -0
  184. package/dist/tooltip.cjs +6 -0
  185. package/dist/tooltip.cjs.map +1 -0
  186. package/dist/tooltip.js +6 -0
  187. package/dist/tooltip.js.map +1 -0
  188. package/dist/tree.cjs +6 -0
  189. package/dist/tree.cjs.map +1 -0
  190. package/dist/tree.js +6 -0
  191. package/dist/tree.js.map +1 -0
  192. package/dist/types/aeico-field.d.ts +52 -0
  193. package/dist/types/alert/alert.d.ts +1 -0
  194. package/dist/types/card/defines.d.ts +1 -1
  195. package/dist/types/copy-button/copy-button.d.ts +32 -0
  196. package/dist/types/copy-button/defines.d.ts +1 -0
  197. package/dist/types/copy-button/index.d.ts +3 -0
  198. package/dist/types/detail/defines.d.ts +2 -1
  199. package/dist/types/detail/detail.d.ts +3 -1
  200. package/dist/types/detail/index.d.ts +1 -1
  201. package/dist/types/detail-group/detail-group.d.ts +39 -0
  202. package/dist/types/detail-group/index.d.ts +2 -0
  203. package/dist/types/drawer/defines.d.ts +1 -0
  204. package/dist/types/drawer/drawer.d.ts +31 -0
  205. package/dist/types/drawer/index.d.ts +3 -0
  206. package/dist/types/icon/built-in-icons.d.ts +1 -0
  207. package/dist/types/icon/defines.d.ts +5 -1
  208. package/dist/types/icon/icon.d.ts +1 -0
  209. package/dist/types/icon/index.d.ts +1 -1
  210. package/dist/types/icon/registry.d.ts +8 -0
  211. package/dist/types/index.d.ts +17 -0
  212. package/dist/types/menu/defines.d.ts +15 -0
  213. package/dist/types/menu/index.d.ts +5 -0
  214. package/dist/types/menu/menu-item.d.ts +63 -0
  215. package/dist/types/menu/menu.d.ts +34 -0
  216. package/dist/types/number-input/index.d.ts +2 -0
  217. package/dist/types/number-input/number-input.d.ts +35 -0
  218. package/dist/types/pagination/defines.d.ts +2 -0
  219. package/dist/types/pagination/index.d.ts +3 -0
  220. package/dist/types/pagination/pagination.d.ts +77 -0
  221. package/dist/types/select/select.d.ts +2 -2
  222. package/dist/types/spinner/defines.d.ts +3 -0
  223. package/dist/types/spinner/index.d.ts +3 -0
  224. package/dist/types/spinner/spinner.d.ts +35 -0
  225. package/dist/types/switch/defines.d.ts +1 -0
  226. package/dist/types/switch/switch.d.ts +8 -4
  227. package/dist/types/tabs/defines.d.ts +1 -0
  228. package/dist/types/tabs/tabs.d.ts +3 -0
  229. package/dist/types/text-input/text-input.d.ts +0 -4
  230. package/dist/types/textarea/index.d.ts +1 -0
  231. package/dist/types/textarea/textarea.d.ts +26 -0
  232. package/dist/types/tooltip/defines.d.ts +2 -0
  233. package/dist/types/tooltip/index.d.ts +4 -0
  234. package/dist/types/tooltip/tooltip.d.ts +48 -0
  235. package/dist/types/tree/defines.d.ts +23 -0
  236. package/dist/types/tree/index.d.ts +5 -0
  237. package/dist/types/tree/tree-item.d.ts +54 -0
  238. package/dist/types/tree/tree.d.ts +64 -0
  239. package/package.json +5 -5
  240. package/src/aeico-field.ts +142 -7
  241. package/src/alert/alert.ts +3 -2
  242. package/src/card/defines.ts +1 -1
  243. package/src/checkbox/checkbox.ts +17 -2
  244. package/src/copy-button/copy-button.ts +150 -0
  245. package/src/copy-button/defines.ts +5 -0
  246. package/src/copy-button/index.ts +3 -0
  247. package/src/detail/defines.ts +2 -1
  248. package/src/detail/detail.ts +5 -1
  249. package/src/detail/index.ts +1 -1
  250. package/src/detail-group/detail-group.ts +104 -0
  251. package/src/detail-group/index.ts +2 -0
  252. package/src/drawer/defines.ts +1 -0
  253. package/src/drawer/drawer.ts +157 -0
  254. package/src/drawer/index.ts +3 -0
  255. package/src/icon/built-in-icons.ts +21 -0
  256. package/src/icon/defines.ts +6 -1
  257. package/src/icon/icon.ts +29 -10
  258. package/src/icon/index.ts +1 -1
  259. package/src/icon/registry.ts +23 -1
  260. package/src/index.ts +30 -0
  261. package/src/menu/defines.ts +17 -0
  262. package/src/menu/index.ts +5 -0
  263. package/src/menu/menu-item.ts +315 -0
  264. package/src/menu/menu.ts +81 -0
  265. package/src/number-input/index.ts +2 -0
  266. package/src/number-input/number-input.ts +137 -0
  267. package/src/pagination/defines.ts +2 -0
  268. package/src/pagination/index.ts +3 -0
  269. package/src/pagination/pagination.ts +310 -0
  270. package/src/radio-group/radio-group.ts +11 -4
  271. package/src/select/select.ts +111 -70
  272. package/src/slider/slider.ts +9 -2
  273. package/src/spinner/defines.ts +12 -0
  274. package/src/spinner/index.ts +3 -0
  275. package/src/spinner/spinner.ts +81 -0
  276. package/src/styles/color.css +91 -91
  277. package/src/styles/components/action-button.css +37 -0
  278. package/src/styles/components/alert.css +22 -28
  279. package/src/styles/components/badge.css +13 -20
  280. package/src/styles/components/breadcrumb-item.css +7 -7
  281. package/src/styles/components/button.css +39 -50
  282. package/src/styles/components/card.css +45 -30
  283. package/src/styles/components/checkbox.css +9 -36
  284. package/src/styles/components/copy-button.css +108 -0
  285. package/src/styles/components/detail-group.css +10 -0
  286. package/src/styles/components/detail.css +56 -35
  287. package/src/styles/components/dialog.css +11 -11
  288. package/src/styles/components/divider.css +3 -3
  289. package/src/styles/components/drawer.css +152 -0
  290. package/src/styles/components/dropdown-item.css +7 -8
  291. package/src/styles/components/dropdown.css +3 -4
  292. package/src/styles/components/field-label.css +120 -0
  293. package/src/styles/components/icon-button.css +25 -36
  294. package/src/styles/components/icon.css +1 -1
  295. package/src/styles/components/menu-item.css +167 -0
  296. package/src/styles/components/menu.css +17 -0
  297. package/src/styles/components/navbar.css +16 -16
  298. package/src/styles/components/number-input.css +158 -0
  299. package/src/styles/components/pagination.css +205 -0
  300. package/src/styles/components/progress-bar.css +2 -3
  301. package/src/styles/components/radio-group.css +69 -106
  302. package/src/styles/components/select-option.css +5 -5
  303. package/src/styles/components/select.css +30 -69
  304. package/src/styles/components/slider.css +26 -71
  305. package/src/styles/components/spinner.css +78 -0
  306. package/src/styles/components/switch.css +64 -27
  307. package/src/styles/components/tab-panel.css +1 -1
  308. package/src/styles/components/tab.css +4 -5
  309. package/src/styles/components/tabs.css +49 -1
  310. package/src/styles/components/tag.css +14 -21
  311. package/src/styles/components/text-input.css +17 -64
  312. package/src/styles/components/textarea.css +66 -0
  313. package/src/styles/components/tooltip.css +102 -0
  314. package/src/styles/components/tree-item.css +152 -0
  315. package/src/styles/components/tree.css +10 -0
  316. package/src/styles/layout.css +457 -25
  317. package/src/styles/radius.css +10 -0
  318. package/src/styles/size.css +7 -7
  319. package/src/styles/variables.css +271 -247
  320. package/src/switch/defines.ts +1 -0
  321. package/src/switch/switch.ts +61 -12
  322. package/src/tabs/defines.ts +1 -0
  323. package/src/tabs/tabs.ts +12 -0
  324. package/src/text-input/text-input.ts +10 -15
  325. package/src/textarea/index.ts +1 -0
  326. package/src/textarea/textarea.ts +107 -0
  327. package/src/tooltip/defines.ts +11 -0
  328. package/src/tooltip/index.ts +4 -0
  329. package/src/tooltip/tooltip.ts +183 -0
  330. package/src/tree/defines.ts +26 -0
  331. package/src/tree/index.ts +5 -0
  332. package/src/tree/tree-item.ts +258 -0
  333. package/src/tree/tree.ts +237 -0
  334. package/dist/chunks/aeico-field.cjs +0 -179
  335. package/dist/chunks/aeico-field.cjs.map +0 -1
  336. package/dist/chunks/aeico-field.js +0 -180
  337. package/dist/chunks/aeico-field.js.map +0 -1
@@ -0,0 +1,81 @@
1
+ import AeicoComponent from '../aeico-component';
2
+ import type { InferProps } from 'aeico';
3
+ import { html, prop } from 'aeico';
4
+ import styleVariables from '../styles/variables.css?inline';
5
+ import sizeCSS from '../styles/size.css?inline';
6
+ import colorCSS from '../styles/color.css?inline';
7
+ import style from '../styles/components/spinner.css?inline';
8
+ import type { SpinnerColor, SpinnerSize, SpinnerVariant } from './defines';
9
+
10
+ /**
11
+ * Spinner — animated loading indicator.
12
+ *
13
+ * Supports two visual variants: a rotating ring (`border`, default) and
14
+ * three bouncing dots (`dots`). Size and colour are driven by the shared
15
+ * design-token system.
16
+ *
17
+ * @example
18
+ * ```html
19
+ * <ae-spinner></ae-spinner>
20
+ * <ae-spinner variant="dots" color="primary" size="lg"></ae-spinner>
21
+ * <ae-spinner color="success" speed="0.5s" label="Saving…"></ae-spinner>
22
+ * ```
23
+ */
24
+ class Spinner extends AeicoComponent {
25
+ static tagName = 'spinner';
26
+
27
+ @prop({ type: String })
28
+ accessor variant: SpinnerVariant = 'border';
29
+
30
+ @prop({ type: String })
31
+ accessor size: SpinnerSize = 'md';
32
+
33
+ @prop({ type: String })
34
+ accessor color: SpinnerColor = 'default';
35
+
36
+ @prop({ type: String })
37
+ accessor label: string = 'Loading…';
38
+
39
+ @prop({ type: String })
40
+ accessor speed: string | undefined;
41
+
42
+ protected static styles = [styleVariables, sizeCSS, colorCSS, style];
43
+
44
+ connectedCallback() {
45
+ super.connectedCallback();
46
+ this.setAttribute('role', 'status');
47
+ }
48
+
49
+ protected render() {
50
+ this.setAttribute('aria-label', this.label);
51
+
52
+ if (this.speed) {
53
+ this.style.setProperty('--spinner-speed', this.speed);
54
+ } else {
55
+ this.style.removeProperty('--spinner-speed');
56
+ }
57
+
58
+ const isDots = this.variant === 'dots';
59
+
60
+ return html(({ span }) => {
61
+ span({ part: 'track', className: 'track', 'aria-hidden': 'true' }, () => {
62
+ if (isDots) {
63
+ span({ className: 'dot' });
64
+ span({ className: 'dot' });
65
+ span({ className: 'dot' });
66
+ }
67
+ });
68
+ });
69
+ }
70
+ }
71
+
72
+ Spinner.register();
73
+
74
+ declare global {
75
+ interface HTMLElementTagNameMap {
76
+ 'ae-spinner': Spinner;
77
+ }
78
+ }
79
+
80
+ export default Spinner;
81
+ export type SpinnerProps = InferProps<typeof Spinner>;
@@ -1,117 +1,117 @@
1
1
  :host {
2
- --color-solid: var(--color-gray);
3
- --color-solid-hover: color-mix(in srgb, var(--color-solid), var(--color-mix-hover));
4
- --color-solid-active: color-mix(in srgb, var(--color-solid), var(--color-mix-active));
5
- --color-on-solid: var(--color-text-main);
6
- --color-border: var(--color-gray);
7
- --color-border-hover: color-mix(in srgb, var(--color-border), var(--color-mix-hover));
8
- --color-accent: var(--color-text-muted);
9
- --color-accent-hover: var(--color-text-main);
10
- --color-subtle: var(--border-subtle);
11
- --color-subtle-hover: var(--border-default);
12
- --color-bg-subtle: var(--border-subtle);
13
- --color-text-subtle: var(--color-text-muted);
14
- --color-border-subtle: var(--border-default);
2
+ --ae-color-solid: var(--ae-color-gray);
3
+ --ae-color-solid-hover: color-mix(in srgb, var(--ae-color-solid), var(--ae-color-mix-hover));
4
+ --ae-color-solid-active: color-mix(in srgb, var(--ae-color-solid), var(--ae-color-mix-active));
5
+ --ae-color-on-solid: var(--ae-color-text-main);
6
+ --ae-color-border: var(--ae-color-gray);
7
+ --ae-color-border-hover: color-mix(in srgb, var(--ae-color-border), var(--ae-color-mix-hover));
8
+ --ae-color-accent: var(--ae-color-text-muted);
9
+ --ae-color-accent-hover: var(--ae-color-text-main);
10
+ --ae-color-subtle: var(--ae-border-subtle);
11
+ --ae-color-subtle-hover: var(--ae-border-default);
12
+ --ae-color-bg-subtle: var(--ae-border-subtle);
13
+ --ae-color-text-subtle: var(--ae-color-text-muted);
14
+ --ae-color-border-subtle: var(--ae-border-default);
15
15
  }
16
16
 
17
17
  :host([color="primary"]) {
18
- --color-solid: var(--color-primary);
19
- --color-on-solid: white;
20
- --color-border: var(--color-primary);
21
- --color-accent: var(--color-text-link);
22
- --color-accent-hover: var(--color-text-link-hover);
23
- --color-subtle: var(--color-primary-bg-subtle);
24
- --color-subtle-hover: rgb(from var(--blue) r g b / 0.15);
25
- --color-bg-subtle: var(--color-primary-bg-subtle);
26
- --color-text-subtle: var(--color-primary-text-emphasis);
27
- --color-border-subtle: var(--color-primary-border-subtle);
18
+ --ae-color-solid: var(--ae-color-primary);
19
+ --ae-color-on-solid: white;
20
+ --ae-color-border: var(--ae-color-primary);
21
+ --ae-color-accent: var(--ae-color-text-link);
22
+ --ae-color-accent-hover: var(--ae-color-text-link-hover);
23
+ --ae-color-subtle: var(--ae-color-primary-bg-subtle);
24
+ --ae-color-subtle-hover: rgb(from var(--ae-blue) r g b / 0.15);
25
+ --ae-color-bg-subtle: var(--ae-color-primary-bg-subtle);
26
+ --ae-color-text-subtle: var(--ae-color-primary-text-emphasis);
27
+ --ae-color-border-subtle: var(--ae-color-primary-border-subtle);
28
28
  }
29
29
 
30
30
  :host([color="secondary"]) {
31
- --color-solid: var(--color-secondary);
32
- --color-on-solid: white;
33
- --color-border: var(--color-secondary-hover);
34
- --color-accent: var(--color-secondary-text-emphasis);
35
- --color-accent-hover: var(--color-text-main);
36
- --color-subtle: rgb(from var(--slate) r g b / 0.06);
37
- --color-subtle-hover: rgb(from var(--slate) r g b / 0.12);
38
- --color-bg-subtle: var(--color-secondary-bg-subtle);
39
- --color-text-subtle: var(--color-secondary-text-emphasis);
40
- --color-border-subtle: var(--color-secondary-border-subtle);
31
+ --ae-color-solid: var(--ae-color-secondary);
32
+ --ae-color-on-solid: white;
33
+ --ae-color-border: var(--ae-color-secondary-hover);
34
+ --ae-color-accent: var(--ae-color-secondary-text-emphasis);
35
+ --ae-color-accent-hover: var(--ae-color-text-main);
36
+ --ae-color-subtle: rgb(from var(--ae-slate) r g b / 0.06);
37
+ --ae-color-subtle-hover: rgb(from var(--ae-slate) r g b / 0.12);
38
+ --ae-color-bg-subtle: var(--ae-color-secondary-bg-subtle);
39
+ --ae-color-text-subtle: var(--ae-color-secondary-text-emphasis);
40
+ --ae-color-border-subtle: var(--ae-color-secondary-border-subtle);
41
41
  }
42
42
 
43
43
  :host([color="success"]) {
44
- --color-solid: var(--color-success);
45
- --color-on-solid: white;
46
- --color-border: var(--color-success);
47
- --color-accent: var(--color-success-text-emphasis);
48
- --color-accent-hover: var(--color-success-hover);
49
- --color-subtle: var(--color-success-bg-subtle);
50
- --color-subtle-hover: rgb(from var(--green) r g b / 0.15);
51
- --color-bg-subtle: var(--color-success-bg-subtle);
52
- --color-text-subtle: var(--color-success-text-emphasis);
53
- --color-border-subtle: var(--color-success-border-subtle);
44
+ --ae-color-solid: var(--ae-color-success);
45
+ --ae-color-on-solid: white;
46
+ --ae-color-border: var(--ae-color-success);
47
+ --ae-color-accent: var(--ae-color-success-text-emphasis);
48
+ --ae-color-accent-hover: var(--ae-color-success-hover);
49
+ --ae-color-subtle: var(--ae-color-success-bg-subtle);
50
+ --ae-color-subtle-hover: rgb(from var(--ae-green) r g b / 0.15);
51
+ --ae-color-bg-subtle: var(--ae-color-success-bg-subtle);
52
+ --ae-color-text-subtle: var(--ae-color-success-text-emphasis);
53
+ --ae-color-border-subtle: var(--ae-color-success-border-subtle);
54
54
  }
55
55
 
56
56
  :host([color="danger"]) {
57
- --color-solid: var(--color-danger);
58
- --color-on-solid: white;
59
- --color-border: var(--color-danger);
60
- --color-accent: var(--color-danger-text-emphasis);
61
- --color-accent-hover: var(--color-danger-hover);
62
- --color-subtle: var(--color-danger-bg-subtle);
63
- --color-subtle-hover: rgb(from var(--red) r g b / 0.15);
64
- --color-bg-subtle: var(--color-danger-bg-subtle);
65
- --color-text-subtle: var(--color-danger-text-emphasis);
66
- --color-border-subtle: var(--color-danger-border-subtle);
57
+ --ae-color-solid: var(--ae-color-danger);
58
+ --ae-color-on-solid: white;
59
+ --ae-color-border: var(--ae-color-danger);
60
+ --ae-color-accent: var(--ae-color-danger-text-emphasis);
61
+ --ae-color-accent-hover: var(--ae-color-danger-hover);
62
+ --ae-color-subtle: var(--ae-color-danger-bg-subtle);
63
+ --ae-color-subtle-hover: rgb(from var(--ae-red) r g b / 0.15);
64
+ --ae-color-bg-subtle: var(--ae-color-danger-bg-subtle);
65
+ --ae-color-text-subtle: var(--ae-color-danger-text-emphasis);
66
+ --ae-color-border-subtle: var(--ae-color-danger-border-subtle);
67
67
  }
68
68
 
69
69
  :host([color="warning"]) {
70
- --color-solid: var(--color-warning);
71
- --color-on-solid: var(--gray-900);
72
- --color-border: var(--color-warning);
73
- --color-accent: var(--color-warning-text-emphasis);
74
- --color-accent-hover: var(--color-warning-hover);
75
- --color-subtle: var(--color-warning-bg-subtle);
76
- --color-subtle-hover: rgb(from var(--yellow) r g b / 0.15);
77
- --color-bg-subtle: var(--color-warning-bg-subtle);
78
- --color-text-subtle: var(--color-warning-text-emphasis);
79
- --color-border-subtle: var(--color-warning-border-subtle);
70
+ --ae-color-solid: var(--ae-color-warning);
71
+ --ae-color-on-solid: var(--ae-gray-900);
72
+ --ae-color-border: var(--ae-color-warning);
73
+ --ae-color-accent: var(--ae-color-warning-text-emphasis);
74
+ --ae-color-accent-hover: var(--ae-color-warning-hover);
75
+ --ae-color-subtle: var(--ae-color-warning-bg-subtle);
76
+ --ae-color-subtle-hover: rgb(from var(--ae-yellow) r g b / 0.15);
77
+ --ae-color-bg-subtle: var(--ae-color-warning-bg-subtle);
78
+ --ae-color-text-subtle: var(--ae-color-warning-text-emphasis);
79
+ --ae-color-border-subtle: var(--ae-color-warning-border-subtle);
80
80
  }
81
81
 
82
82
  :host([color="info"]) {
83
- --color-solid: var(--color-info);
84
- --color-on-solid: white;
85
- --color-border: var(--color-info);
86
- --color-accent: var(--color-info-text-emphasis);
87
- --color-accent-hover: var(--color-info-hover);
88
- --color-subtle: var(--color-info-bg-subtle);
89
- --color-subtle-hover: rgb(from var(--cyan) r g b / 0.15);
90
- --color-bg-subtle: var(--color-info-bg-subtle);
91
- --color-text-subtle: var(--color-info-text-emphasis);
92
- --color-border-subtle: var(--color-info-border-subtle);
83
+ --ae-color-solid: var(--ae-color-info);
84
+ --ae-color-on-solid: white;
85
+ --ae-color-border: var(--ae-color-info);
86
+ --ae-color-accent: var(--ae-color-info-text-emphasis);
87
+ --ae-color-accent-hover: var(--ae-color-info-hover);
88
+ --ae-color-subtle: var(--ae-color-info-bg-subtle);
89
+ --ae-color-subtle-hover: rgb(from var(--ae-cyan) r g b / 0.15);
90
+ --ae-color-bg-subtle: var(--ae-color-info-bg-subtle);
91
+ --ae-color-text-subtle: var(--ae-color-info-text-emphasis);
92
+ --ae-color-border-subtle: var(--ae-color-info-border-subtle);
93
93
  }
94
94
 
95
95
  :host([color="light"]) {
96
- --color-solid: var(--light);
97
- --color-on-solid: var(--gray-900);
98
- --color-border: var(--border-hover);
99
- --color-subtle: var(--color-light-bg-subtle);
100
- --color-subtle-hover: var(--color-light-border-subtle);
101
- --color-bg-subtle: var(--color-light-bg-subtle);
102
- --color-text-subtle: var(--color-text-muted);
103
- --color-border-subtle: var(--color-light-border-subtle);
96
+ --ae-color-solid: var(--ae-light);
97
+ --ae-color-on-solid: var(--ae-gray-900);
98
+ --ae-color-border: var(--ae-border-hover);
99
+ --ae-color-subtle: var(--ae-color-light-bg-subtle);
100
+ --ae-color-subtle-hover: var(--ae-color-light-border-subtle);
101
+ --ae-color-bg-subtle: var(--ae-color-light-bg-subtle);
102
+ --ae-color-text-subtle: var(--ae-color-text-muted);
103
+ --ae-color-border-subtle: var(--ae-color-light-border-subtle);
104
104
  }
105
105
 
106
106
  :host([color="dark"]) {
107
- --color-solid: var(--dark-500);
108
- --color-on-solid: white;
109
- --color-border: var(--dark-500);
110
- --color-accent: var(--color-text-main);
111
- --color-accent-hover: var(--color-text-main);
112
- --color-subtle: var(--color-dark-bg-subtle);
113
- --color-subtle-hover: var(--color-dark-border-subtle);
114
- --color-bg-subtle: var(--color-dark-bg-subtle);
115
- --color-text-subtle: var(--color-text-main);
116
- --color-border-subtle: var(--color-dark-border-subtle);
107
+ --ae-color-solid: var(--ae-dark-500);
108
+ --ae-color-on-solid: white;
109
+ --ae-color-border: var(--ae-dark-500);
110
+ --ae-color-accent: var(--ae-color-text-main);
111
+ --ae-color-accent-hover: var(--ae-color-text-main);
112
+ --ae-color-subtle: var(--ae-color-dark-bg-subtle);
113
+ --ae-color-subtle-hover: var(--ae-color-dark-border-subtle);
114
+ --ae-color-bg-subtle: var(--ae-color-dark-bg-subtle);
115
+ --ae-color-text-subtle: var(--ae-color-text-main);
116
+ --ae-color-border-subtle: var(--ae-color-dark-border-subtle);
117
117
  }
@@ -0,0 +1,37 @@
1
+ /* Action button base styles — shared by clear-btn and reset-btn (standalone mode) */
2
+ .clear-btn:not(.action-btn),
3
+ .reset-btn:not(.action-btn) {
4
+ width: 1.333em;
5
+ height: 1.333em;
6
+ border: none;
7
+ cursor: pointer;
8
+ display: flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+ flex-shrink: 0;
12
+ line-height: 1;
13
+ }
14
+
15
+ .clear-btn:not(.action-btn) {
16
+ border-radius: var(--ae-clear-btn-border-radius);
17
+ background: var(--ae-clear-btn-bg);
18
+ color: var(--ae-clear-btn-color);
19
+ transition: var(--ae-clear-btn-transition);
20
+ }
21
+
22
+ .reset-btn:not(.action-btn) {
23
+ border-radius: var(--ae-reset-btn-border-radius);
24
+ background: var(--ae-reset-btn-bg);
25
+ color: var(--ae-reset-btn-color);
26
+ transition: var(--ae-reset-btn-transition);
27
+ }
28
+
29
+ .clear-btn:not(.action-btn):hover {
30
+ background: var(--ae-clear-btn-bg-hover);
31
+ color: var(--ae-clear-btn-color-hover);
32
+ }
33
+
34
+ .reset-btn:not(.action-btn):hover {
35
+ background: var(--ae-reset-btn-bg-hover);
36
+ color: var(--ae-reset-btn-color-hover);
37
+ }
@@ -2,57 +2,51 @@
2
2
  position: relative;
3
3
  padding: 12px 16px;
4
4
  margin-bottom: 12px;
5
- border-radius: 4px;
5
+ border-radius: var(--ae-border-radius, var(--ae-radius-sm));
6
6
  font-size: 12px;
7
7
  line-height: 1.6;
8
- background-color: var(--alert-solid-bg);
9
- color: var(--alert-solid-color);
10
- border: 1px solid var(--alert-solid-bg);
8
+ background-color: var(--ae-color-solid);
9
+ color: var(--ae-color-on-solid);
10
+ border: 1px solid var(--ae-color-solid);
11
11
  }
12
12
 
13
13
  .alert:last-child {
14
14
  margin-bottom: 0;
15
15
  }
16
16
 
17
- :host {
18
- --color-solid: var(--color-primary);
19
- --color-on-solid: var(--color-text-main);
20
- --color-border: var(--color-primary);
21
- --color-bg-subtle: var(--color-primary-bg-subtle);
22
- --color-text-subtle: var(--color-primary-text-emphasis);
23
- --color-border-subtle: var(--color-primary-border-subtle);
24
-
25
- --alert-solid-bg: var(--color-solid);
26
- --alert-solid-color: var(--color-on-solid);
27
- --alert-border: var(--color-border);
28
- --alert-subtle-bg: var(--color-bg-subtle);
29
- --alert-subtle-color: var(--color-text-subtle);
30
- --alert-subtle-border:var(--color-border-subtle);
17
+ /* default color (no [color] attribute) — primary */
18
+ :host(:not([color])) {
19
+ --ae-color-solid: var(--ae-color-primary);
20
+ --ae-color-on-solid: var(--ae-color-text-main);
21
+ --ae-color-border: var(--ae-color-primary);
22
+ --ae-color-bg-subtle: var(--ae-color-primary-bg-subtle);
23
+ --ae-color-text-subtle: var(--ae-color-primary-text-emphasis);
24
+ --ae-color-border-subtle: var(--ae-color-primary-border-subtle);
31
25
  }
32
26
 
33
27
 
34
28
  :host([variant="faint"]) .alert {
35
- background-color: var(--alert-subtle-bg);
36
- color: var(--alert-subtle-color);
37
- border-color: var(--alert-subtle-border);
29
+ background-color: var(--ae-color-bg-subtle);
30
+ color: var(--ae-color-text-subtle);
31
+ border-color: var(--ae-color-border-subtle);
38
32
  }
39
33
 
40
34
  :host([variant="subtle"]) .alert {
41
- background-color: var(--alert-subtle-bg);
42
- color: var(--alert-subtle-color);
35
+ background-color: var(--ae-color-bg-subtle);
36
+ color: var(--ae-color-text-subtle);
43
37
  border-color: transparent;
44
38
  }
45
39
 
46
40
  :host([variant="filled"]) .alert {
47
- background-color: var(--alert-solid-bg);
48
- color: var(--alert-solid-color);
49
- border-color: var(--alert-solid-bg);
41
+ background-color: var(--ae-color-solid);
42
+ color: var(--ae-color-on-solid);
43
+ border-color: var(--ae-color-solid);
50
44
  }
51
45
 
52
46
  :host([variant="outlined"]) .alert {
53
47
  background-color: transparent;
54
- color: var(--alert-subtle-color);
55
- border-color: var(--alert-border);
48
+ color: var(--ae-color-text-subtle);
49
+ border-color: var(--ae-color-border);
56
50
  }
57
51
 
58
52
  :host([dismissible]) .alert {
@@ -1,13 +1,6 @@
1
1
  :host {
2
2
  display: inline-flex;
3
3
  align-items: center;
4
- --badge-solid-bg: var(--color-solid);
5
- --badge-solid-color: var(--color-on-solid);
6
- --badge-border: var(--color-border);
7
- --badge-accent: var(--color-accent);
8
- --badge-subtle-bg: var(--color-bg-subtle);
9
- --badge-subtle-color: var(--color-text-subtle);
10
- --badge-subtle-border: var(--color-border-subtle);
11
4
  }
12
5
 
13
6
  .badge {
@@ -21,10 +14,10 @@
21
14
  line-height: 1.2;
22
15
  font-size: 1em;
23
16
  padding: 0.15em 0.6em;
24
- border-radius: 4px;
25
- border: 1px solid var(--badge-solid-bg);
26
- background: var(--badge-solid-bg);
27
- color: var(--badge-solid-color);
17
+ border-radius: var(--ae-border-radius, var(--ae-radius-sm));
18
+ border: 1px solid var(--ae-color-solid);
19
+ background: var(--ae-color-solid);
20
+ color: var(--ae-color-on-solid);
28
21
  }
29
22
 
30
23
  /* Default (no [variant]) = filled */
@@ -33,32 +26,32 @@
33
26
 
34
27
  :host([variant="outlined"]) .badge {
35
28
  background: transparent;
36
- border-color: var(--badge-border);
37
- color: var(--badge-accent);
29
+ border-color: var(--ae-color-border);
30
+ color: var(--ae-color-accent);
38
31
  }
39
32
 
40
33
  :host([variant="faint"]) .badge {
41
- background: var(--badge-subtle-bg);
42
- border-color: var(--badge-subtle-border);
43
- color: var(--badge-subtle-color);
34
+ background: var(--ae-color-bg-subtle);
35
+ border-color: var(--ae-color-border-subtle);
36
+ color: var(--ae-color-text-subtle);
44
37
  }
45
38
 
46
39
  :host([variant="subtle"]) .badge {
47
- background: var(--badge-subtle-bg);
40
+ background: var(--ae-color-bg-subtle);
48
41
  border-color: transparent;
49
- color: var(--badge-subtle-color);
42
+ color: var(--ae-color-text-subtle);
50
43
  }
51
44
 
52
45
  :host([variant="text"]) .badge {
53
46
  background: transparent;
54
47
  border-color: transparent;
55
- color: var(--badge-accent);
48
+ color: var(--ae-color-accent);
56
49
  padding-left: 0;
57
50
  padding-right: 0;
58
51
  }
59
52
 
60
53
  :host([pill]) .badge {
61
- border-radius: 999px;
54
+ border-radius: var(--ae-radius-pill);
62
55
  }
63
56
 
64
57
  /* Icon slots */
@@ -13,7 +13,7 @@
13
13
  .sep {
14
14
  display: inline-flex;
15
15
  align-items: center;
16
- color: var(--color-text-muted);
16
+ color: var(--ae-color-text-muted);
17
17
  padding: 0 0.35em;
18
18
  user-select: none;
19
19
  pointer-events: none;
@@ -30,30 +30,30 @@
30
30
  .label {
31
31
  display: inline-flex;
32
32
  align-items: center;
33
- color: var(--color-text-muted);
33
+ color: var(--ae-color-text-muted);
34
34
  }
35
35
 
36
36
  /* Current page — last item */
37
37
  :host([aria-current="page"]) .label {
38
- color: var(--color-text-main);
38
+ color: var(--ae-color-text-main);
39
39
  font-weight: 500;
40
40
  cursor: default;
41
41
  }
42
42
 
43
43
  /* Link items */
44
44
  .label a {
45
- color: var(--color-accent, var(--color-text-link));
45
+ color: var(--ae-color-accent, var(--ae-color-text-link));
46
46
  text-decoration: none;
47
47
  outline: none;
48
48
  }
49
49
 
50
50
  .label a:hover {
51
- color: var(--color-accent-hover, var(--color-text-link-hover));
51
+ color: var(--ae-color-accent-hover, var(--ae-color-text-link-hover));
52
52
  text-decoration: underline;
53
53
  }
54
54
 
55
55
  .label a:focus-visible {
56
- outline: 2px solid var(--color-accent, var(--focus-ring-color));
56
+ outline: 2px solid var(--ae-color-accent, var(--ae-focus-ring-color));
57
57
  outline-offset: 2px;
58
- border-radius: 2px;
58
+ border-radius: var(--ae-radius-xs);
59
59
  }