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
@@ -6,12 +6,12 @@ dialog {
6
6
  display: none;
7
7
  flex-direction: column;
8
8
  border: none;
9
- border-radius: 8px;
9
+ border-radius: var(--ae-border-radius, var(--ae-border-radius));
10
10
  padding: 0;
11
11
  max-width: min(90vw, 600px);
12
12
  max-height: 90vh;
13
- background: var(--surface-overlay);
14
- color: var(--color-text-main);
13
+ background: var(--ae-surface-overlay);
14
+ color: var(--ae-color-text-main);
15
15
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
16
16
  overflow: hidden;
17
17
  }
@@ -47,16 +47,16 @@ header {
47
47
  align-items: center;
48
48
  gap: 8px;
49
49
  padding: 16px 20px;
50
- border-bottom: 1px solid var(--border-subtle);
50
+ border-bottom: 1px solid var(--ae-border-subtle);
51
51
  flex-shrink: 0;
52
52
  }
53
53
 
54
54
  .label {
55
55
  flex: 1;
56
- font-size: var(--size-m, 1rem);
56
+ font-size: var(--ae-size-m, 1rem);
57
57
  font-weight: 500;
58
58
  margin: 0;
59
- color: var(--color-text-main);
59
+ color: var(--ae-color-text-main);
60
60
  }
61
61
 
62
62
  .close-btn {
@@ -68,9 +68,9 @@ header {
68
68
  height: 28px;
69
69
  padding: 0;
70
70
  border: none;
71
- border-radius: 4px;
71
+ border-radius: var(--ae-border-radius, var(--ae-radius-sm));
72
72
  background: transparent;
73
- color: var(--color-text-muted);
73
+ color: var(--ae-color-text-muted);
74
74
  font-size: 18px;
75
75
  line-height: 1;
76
76
  cursor: pointer;
@@ -78,8 +78,8 @@ header {
78
78
  }
79
79
 
80
80
  .close-btn:hover {
81
- background: var(--border-subtle);
82
- color: var(--color-text-main);
81
+ background: var(--ae-border-subtle);
82
+ color: var(--ae-color-text-main);
83
83
  }
84
84
 
85
85
  .body {
@@ -94,7 +94,7 @@ footer {
94
94
  justify-content: flex-end;
95
95
  gap: 8px;
96
96
  padding: 12px 20px;
97
- border-top: 1px solid var(--border-subtle);
97
+ border-top: 1px solid var(--ae-border-subtle);
98
98
  flex-shrink: 0;
99
99
  }
100
100
 
@@ -4,10 +4,10 @@
4
4
  height: var(--thickness, 1px);
5
5
  flex-shrink: 0;
6
6
 
7
- /* Override colorCSS default --color-border from gray to the subtle border token */
8
- --color-border: var(--border-default);
7
+ /* Override color.css default divider uses the subtle border token when no [color] is set */
8
+ --ae-color-border: var(--ae-border-default);
9
9
 
10
- background: var(--color-border);
10
+ background: var(--ae-color-border);
11
11
  }
12
12
 
13
13
  :host([vertical]) {
@@ -0,0 +1,152 @@
1
+ :host {
2
+ display: none;
3
+ }
4
+
5
+ :host([data-open]) {
6
+ display: block;
7
+ position: fixed;
8
+ inset: 0;
9
+ z-index: var(--ae-drawer-z-index, 1000);
10
+ pointer-events: none;
11
+ }
12
+
13
+ .backdrop {
14
+ position: absolute;
15
+ inset: 0;
16
+ background: var(--color-overlay);
17
+ animation: drawer-backdrop-in 0.2s ease;
18
+ pointer-events: auto;
19
+ }
20
+
21
+ .panel {
22
+ position: absolute;
23
+ display: flex;
24
+ flex-direction: column;
25
+ background: var(--ae-surface-overlay);
26
+ color: var(--ae-color-text-main);
27
+ box-shadow: 0 8px 40px rgba(0, 0, 0, 0.2);
28
+ overflow: hidden;
29
+ pointer-events: auto;
30
+ outline: none;
31
+ }
32
+
33
+ .panel.placement-right {
34
+ inset: 0 0 0 auto;
35
+ width: var(--ae-drawer-size, 320px);
36
+ max-width: 100%;
37
+ border-radius: var(--ae-border-radius, var(--ae-border-radius)) 0 0 var(--ae-border-radius, var(--ae-border-radius));
38
+ animation: drawer-slide-in-right 0.25s cubic-bezier(0.16, 1, 0.3, 1);
39
+ }
40
+
41
+ .panel.placement-left {
42
+ inset: 0 auto 0 0;
43
+ width: var(--ae-drawer-size, 320px);
44
+ max-width: 100%;
45
+ border-radius: 0 var(--ae-border-radius, var(--ae-border-radius)) var(--ae-border-radius, var(--ae-border-radius)) 0;
46
+ animation: drawer-slide-in-left 0.25s cubic-bezier(0.16, 1, 0.3, 1);
47
+ }
48
+
49
+ .panel.placement-top {
50
+ inset: 0 0 auto 0;
51
+ height: var(--ae-drawer-size, 320px);
52
+ max-height: 100%;
53
+ border-radius: 0 0 var(--ae-border-radius, var(--ae-border-radius)) var(--ae-border-radius, var(--ae-border-radius));
54
+ animation: drawer-slide-in-top 0.25s cubic-bezier(0.16, 1, 0.3, 1);
55
+ }
56
+
57
+ .panel.placement-bottom {
58
+ inset: auto 0 0 0;
59
+ height: var(--ae-drawer-size, 320px);
60
+ max-height: 100%;
61
+ border-radius: var(--ae-border-radius, var(--ae-border-radius)) var(--ae-border-radius, var(--ae-border-radius)) 0 0;
62
+ animation: drawer-slide-in-bottom 0.25s cubic-bezier(0.16, 1, 0.3, 1);
63
+ }
64
+
65
+ /* ── Keyframes ───────────────────────────────────────────────────── */
66
+ @keyframes drawer-backdrop-in {
67
+ from { opacity: 0; }
68
+ to { opacity: 1; }
69
+ }
70
+
71
+ @keyframes drawer-slide-in-right {
72
+ from { transform: translateX(100%); }
73
+ to { transform: translateX(0); }
74
+ }
75
+
76
+ @keyframes drawer-slide-in-left {
77
+ from { transform: translateX(-100%); }
78
+ to { transform: translateX(0); }
79
+ }
80
+
81
+ @keyframes drawer-slide-in-top {
82
+ from { transform: translateY(-100%); }
83
+ to { transform: translateY(0); }
84
+ }
85
+
86
+ @keyframes drawer-slide-in-bottom {
87
+ from { transform: translateY(100%); }
88
+ to { transform: translateY(0); }
89
+ }
90
+
91
+ /* ── Header ──────────────────────────────────────────────────────── */
92
+ header {
93
+ display: flex;
94
+ align-items: center;
95
+ gap: 8px;
96
+ padding: 16px 20px;
97
+ border-bottom: 1px solid var(--ae-border-subtle);
98
+ flex-shrink: 0;
99
+ }
100
+
101
+ .label {
102
+ flex: 1;
103
+ font-size: var(--ae-size-m, 1rem);
104
+ font-weight: 500;
105
+ margin: 0;
106
+ color: var(--ae-color-text-main);
107
+ }
108
+
109
+ .close-btn {
110
+ display: flex;
111
+ align-items: center;
112
+ justify-content: center;
113
+ flex-shrink: 0;
114
+ width: 28px;
115
+ height: 28px;
116
+ padding: 0;
117
+ border: none;
118
+ border-radius: var(--ae-border-radius, var(--ae-border-radius));
119
+ background: transparent;
120
+ color: var(--ae-color-text-muted);
121
+ font-size: 18px;
122
+ line-height: 1;
123
+ cursor: pointer;
124
+ transition: background 0.15s, color 0.15s;
125
+ }
126
+
127
+ .close-btn:hover {
128
+ background: var(--ae-border-subtle);
129
+ color: var(--ae-color-text-main);
130
+ }
131
+
132
+ /* ── Body ────────────────────────────────────────────────────────── */
133
+ .body {
134
+ flex: 1;
135
+ overflow-y: auto;
136
+ padding: 20px;
137
+ }
138
+
139
+ /* ── Footer ──────────────────────────────────────────────────────── */
140
+ footer {
141
+ display: flex;
142
+ align-items: center;
143
+ justify-content: flex-end;
144
+ gap: 8px;
145
+ padding: 12px 20px;
146
+ border-top: 1px solid var(--ae-border-subtle);
147
+ flex-shrink: 0;
148
+ }
149
+
150
+ ::slotted([data-align-left]) {
151
+ margin-right: auto;
152
+ }
@@ -3,14 +3,13 @@
3
3
 
4
4
  --dropdown-item-padding: 0.5rem 0.875rem;
5
5
  --dropdown-item-bg: transparent;
6
- --dropdown-item-bg-hover: var(--surface-raised, rgba(0, 0, 0, 0.05));
7
- --dropdown-item-bg-active: var(--surface-raised-active, rgba(0, 0, 0, 0.1));
8
- --dropdown-item-color: var(--color-text-main, inherit);
9
- --dropdown-item-color-disabled: var(--color-text-disabled, rgba(0, 0, 0, 0.35));
6
+ --dropdown-item-bg-hover: var(--ae-surface-raised, rgba(0, 0, 0, 0.05));
7
+ --dropdown-item-bg-active: var(--ae-surface-raised-active, rgba(0, 0, 0, 0.1));
8
+ --dropdown-item-color: var(--ae-color-text-main, inherit);
9
+ --dropdown-item-color-disabled: var(--ae-color-text-disabled, rgba(0, 0, 0, 0.35));
10
10
  --dropdown-item-font-size: 0.9375rem;
11
11
  --dropdown-item-gap: 0.5rem;
12
12
  --dropdown-item-transition: background 0.1s;
13
- --dropdown-item-border-radius: var(--ae-radius-sm, 4px);
14
13
  }
15
14
 
16
15
  .item {
@@ -24,7 +23,7 @@
24
23
  color: var(--dropdown-item-color);
25
24
  background: var(--dropdown-item-bg);
26
25
  border: none;
27
- border-radius: var(--dropdown-item-border-radius);
26
+ border-radius: var(--ae-border-radius, var(--ae-radius-sm));
28
27
  text-align: left;
29
28
  text-decoration: none;
30
29
  cursor: pointer;
@@ -45,7 +44,7 @@
45
44
 
46
45
  .item:focus-visible {
47
46
  background: var(--dropdown-item-bg-hover);
48
- outline: 2px solid var(--color-primary, #0e639c);
47
+ outline: 2px solid var(--ae-color-primary, #0e639c);
49
48
  outline-offset: -2px;
50
49
  }
51
50
 
@@ -60,7 +59,7 @@
60
59
  /* Active item — current selection, current route, etc. */
61
60
  :host([active]) .item {
62
61
  background: var(--dropdown-item-bg-selected, rgba(0, 0, 0, 0.06));
63
- color: var(--dropdown-item-color-active, var(--color-primary, #0e639c));
62
+ color: var(--dropdown-item-color-active, var(--ae-color-primary, #0e639c));
64
63
  font-weight: 500;
65
64
  }
66
65
 
@@ -3,9 +3,8 @@
3
3
  position: relative;
4
4
 
5
5
  --dropdown-z-index: 1000;
6
- --dropdown-bg: var(--surface-overlay, #fff);
7
- --dropdown-border: 1px solid var(--color-border, rgba(0, 0, 0, 0.12));
8
- --dropdown-border-radius: var(--ae-radius-md, 6px);
6
+ --dropdown-bg: var(--ae-surface-overlay, #fff);
7
+ --dropdown-border: 1px solid var(--ae-color-border, rgba(0, 0, 0, 0.12));
9
8
  --dropdown-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
10
9
  --dropdown-min-width: 10rem;
11
10
  --dropdown-padding: 0.25rem 0;
@@ -86,7 +85,7 @@
86
85
  z-index: var(--dropdown-z-index);
87
86
  background: var(--dropdown-bg);
88
87
  border: var(--dropdown-border);
89
- border-radius: var(--dropdown-border-radius);
88
+ border-radius: var(--ae-border-radius, var(--ae-radius-md));
90
89
  box-shadow: var(--dropdown-shadow);
91
90
  min-width: var(--dropdown-min-width);
92
91
  padding: var(--dropdown-padding);
@@ -0,0 +1,120 @@
1
+ :host {
2
+ --field-label-gap: 4px;
3
+ --field-label-col-gap: 8px;
4
+ --field-label-width: 100px;
5
+ --field-label-font-size: 0.875em;
6
+ --field-label-color: inherit;
7
+ --field-required-color: var(--ae-red, #dc3545);
8
+ --field-helper-color: var(--ae-color-text-muted, #6e6e6e);
9
+ --field-error-color: var(--ae-red, #dc3545);
10
+ }
11
+
12
+ :host([label]) {
13
+ display: flex;
14
+ flex-direction: column;
15
+ align-items: stretch;
16
+ gap: var(--field-label-gap);
17
+ }
18
+
19
+ :host([label][label-placement="left"]) {
20
+ display: grid;
21
+ grid-template-columns: var(--field-label-width) 1fr;
22
+ column-gap: var(--field-label-col-gap);
23
+ row-gap: var(--field-label-gap);
24
+ align-items: start;
25
+ }
26
+
27
+ :host([label][label-placement="left"]) .field-label {
28
+ align-self: center;
29
+ }
30
+
31
+ :host([label][label-placement="left"]) .field-helper,
32
+ :host([label][label-placement="left"]) .field-error {
33
+ grid-column: 2;
34
+ }
35
+
36
+ .field-label {
37
+ font-size: var(--field-label-font-size);
38
+ color: var(--field-label-color);
39
+ user-select: none;
40
+ line-height: 1.4;
41
+ }
42
+
43
+ .field-required {
44
+ color: var(--field-required-color);
45
+ margin-left: 2px;
46
+ }
47
+
48
+ .field-helper {
49
+ font-size: 0.8em;
50
+ color: var(--field-helper-color);
51
+ line-height: 1.4;
52
+ }
53
+
54
+ .field-error {
55
+ font-size: 0.8em;
56
+ color: var(--field-error-color);
57
+ line-height: 1.4;
58
+ }
59
+
60
+ /* Action controls container (integrated style) */
61
+ .action-controls {
62
+ display: flex;
63
+ flex-direction: row;
64
+ align-items: stretch;
65
+ margin-left: calc(-1 * var(--field-action-gap, 4px) - 1px);
66
+ border: var(--field-action-border-width, 1px) solid var(--field-action-border-color, var(--ae-border-subtle));
67
+ border-radius: 0 var(--field-action-border-radius, var(--ae-radius-xs)) var(--field-action-border-radius, var(--ae-radius-xs)) 0;
68
+ overflow: hidden;
69
+ flex-shrink: 0;
70
+ transition: border-color 0.12s;
71
+ background: var(--field-action-bg, var(--ae-surface-base));
72
+ position: relative;
73
+ z-index: 1;
74
+ align-self: stretch;
75
+ }
76
+
77
+ .action-controls .action-btn {
78
+ border: none;
79
+ background: transparent;
80
+ color: var(--field-action-color, var(--ae-color-text-muted));
81
+ font-size: 0.875em;
82
+ line-height: 1;
83
+ cursor: pointer;
84
+ display: flex;
85
+ align-items: center;
86
+ justify-content: center;
87
+ padding: 0 0.5em;
88
+ transition: background 0.12s;
89
+ }
90
+
91
+ .action-controls .action-btn:hover:not(:disabled) {
92
+ background: var(--field-action-bg-hover, var(--ae-surface-raised));
93
+ }
94
+
95
+ .action-controls .action-btn:active:not(:disabled) {
96
+ background: var(--field-action-bg-focus, var(--ae-surface-raised));
97
+ }
98
+
99
+ .action-controls .action-btn:disabled {
100
+ opacity: 0.5;
101
+ cursor: not-allowed;
102
+ }
103
+
104
+ .action-controls .action-btn + .action-btn {
105
+ border-left: var(--field-action-border-width, 1px) solid var(--field-action-border-color, var(--ae-border-subtle));
106
+ }
107
+
108
+ .input-container:has(input:focus) ~ .action-controls,
109
+ .input-container:has(input:focus) .action-controls,
110
+ .container:has(.trigger.open) ~ .action-controls,
111
+ .container:has(.trigger.open) .action-controls {
112
+ border-color: var(--field-action-border-color-focus, var(--ae-border-focus));
113
+ }
114
+
115
+ .input-container:has(input:hover:not(:focus)) ~ .action-controls,
116
+ .input-container:has(input:hover:not(:focus)) .action-controls,
117
+ .container:has(.trigger:hover:not(.disabled)) ~ .action-controls,
118
+ .container:has(.trigger:hover:not(.disabled)) .action-controls {
119
+ border-color: var(--field-action-border-color-hover, var(--ae-border-default));
120
+ }
@@ -2,18 +2,7 @@
2
2
 
3
3
  :host {
4
4
  display: inline-flex;
5
- font-size: var(--size-m);
6
- --btn-solid-bg: var(--color-solid);
7
- --btn-solid-bg-hover: var(--color-solid-hover);
8
- --btn-solid-bg-active: var(--color-solid-active);
9
- --btn-solid-color: var(--color-on-solid);
10
- --btn-solid-color-hover: var(--color-on-solid-hover);
11
- --btn-border: var(--color-border);
12
- --btn-border-hover: var(--color-border-hover);
13
- --btn-accent: var(--color-accent);
14
- --btn-accent-hover: var(--color-accent-hover);
15
- --btn-subtle-bg: var(--color-subtle);
16
- --btn-subtle-bg-hover: var(--color-subtle-hover);
5
+ font-size: var(--ae-size-m);
17
6
  }
18
7
 
19
8
  button {
@@ -23,7 +12,7 @@ button {
23
12
  padding: 0;
24
13
  font-size: 1em;
25
14
  cursor: pointer;
26
- border-radius: 4px;
15
+ border-radius: var(--ae-border-radius, var(--ae-radius-sm));
27
16
  transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
28
17
  outline: none;
29
18
  user-select: none;
@@ -31,21 +20,21 @@ button {
31
20
  width: 2.286em;
32
21
  height: 2.286em;
33
22
  --ib-icon-size: 1.286em;
34
- background: var(--btn-solid-bg);
35
- border: 1px solid var(--btn-border);
36
- color: var(--btn-solid-color);
23
+ background: var(--ae-color-solid);
24
+ border: 1px solid var(--ae-color-border);
25
+ color: var(--ae-color-on-solid);
37
26
  }
38
27
 
39
28
  button:focus { outline: none; }
40
29
  button:active { transform: translateY(1px); }
41
30
 
42
31
  button:hover:not(:disabled) {
43
- background: var(--btn-solid-bg-hover);
44
- border-color: var(--btn-border-hover);
45
- color: var(--btn-solid-color-hover, var(--btn-solid-color));
32
+ background: var(--ae-color-solid-hover);
33
+ border-color: var(--ae-color-border-hover);
34
+ color: var(--ae-color-on-solid-hover, var(--ae-color-on-solid));
46
35
  }
47
36
 
48
- button:active:not(:disabled) { background: var(--btn-solid-bg-active); }
37
+ button:active:not(:disabled) { background: var(--ae-color-solid-active); }
49
38
 
50
39
  button:disabled {
51
40
  opacity: 0.5;
@@ -53,52 +42,52 @@ button:disabled {
53
42
  }
54
43
 
55
44
  :host([size="xs"]) button,
56
- :host([size="sm"]) button { border-radius: 3px; }
45
+ :host([size="sm"]) button { border-radius: var(--ae-border-radius, var(--ae-radius-xs)); }
57
46
 
58
47
  :host([variant="outlined"]) button {
59
48
  background: transparent;
60
- border-color: var(--btn-border);
61
- color: var(--btn-accent);
49
+ border-color: var(--ae-color-border);
50
+ color: var(--ae-color-accent);
62
51
  }
63
52
 
64
53
  :host([variant="outlined"]) button:hover:not(:disabled) {
65
- background: var(--btn-subtle-bg);
66
- border-color: var(--btn-border-hover);
67
- color: var(--btn-accent-hover);
54
+ background: var(--ae-color-subtle);
55
+ border-color: var(--ae-color-border-hover);
56
+ color: var(--ae-color-accent-hover);
68
57
  }
69
58
 
70
59
  :host([variant="outlined"]) button:active:not(:disabled) {
71
- background: var(--btn-subtle-bg-hover);
60
+ background: var(--ae-color-subtle-hover);
72
61
  }
73
62
 
74
63
  :host([variant="subtle"]) button {
75
- background: var(--btn-subtle-bg);
64
+ background: var(--ae-color-subtle);
76
65
  border-color: transparent;
77
- color: var(--btn-accent);
66
+ color: var(--ae-color-accent);
78
67
  }
79
68
 
80
69
  :host([variant="subtle"]) button:hover:not(:disabled) {
81
- background: var(--btn-subtle-bg-hover);
82
- color: var(--btn-accent-hover);
70
+ background: var(--ae-color-subtle-hover);
71
+ color: var(--ae-color-accent-hover);
83
72
  }
84
73
 
85
74
  :host([variant="subtle"]) button:active:not(:disabled) {
86
- background: var(--btn-subtle-bg-hover);
75
+ background: var(--ae-color-subtle-hover);
87
76
  }
88
77
 
89
78
  :host([variant="text"]) button {
90
79
  background: transparent;
91
80
  border-color: transparent;
92
- color: var(--btn-accent);
81
+ color: var(--ae-color-accent);
93
82
  }
94
83
 
95
84
  :host([variant="text"]) button:hover:not(:disabled) {
96
- background: var(--btn-subtle-bg);
97
- color: var(--btn-accent-hover);
85
+ background: var(--ae-color-subtle);
86
+ color: var(--ae-color-accent-hover);
98
87
  }
99
88
 
100
89
  :host([variant="text"]) button:active:not(:disabled) {
101
- background: var(--btn-subtle-bg-hover);
90
+ background: var(--ae-color-subtle-hover);
102
91
  }
103
92
 
104
93
  .icon-svg {
@@ -12,7 +12,7 @@
12
12
  }
13
13
 
14
14
  :host([color]) {
15
- color: var(--color-solid);
15
+ color: var(--ae-color-solid);
16
16
  }
17
17
 
18
18
  .icon-svg {