aeico-components 0.1.7 → 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 (349) hide show
  1. package/dist/alert.cjs +637 -4
  2. package/dist/alert.cjs.map +7 -1
  3. package/dist/alert.js +575 -3
  4. package/dist/alert.js.map +7 -1
  5. package/dist/badge.cjs +573 -4
  6. package/dist/badge.cjs.map +7 -1
  7. package/dist/badge.js +510 -3
  8. package/dist/badge.js.map +7 -1
  9. package/dist/breadcrumb.cjs +709 -5
  10. package/dist/breadcrumb.cjs.map +7 -1
  11. package/dist/breadcrumb.js +644 -4
  12. package/dist/breadcrumb.js.map +7 -1
  13. package/dist/button-group.cjs +546 -4
  14. package/dist/button-group.cjs.map +7 -1
  15. package/dist/button-group.js +489 -3
  16. package/dist/button-group.js.map +7 -1
  17. package/dist/button.cjs +834 -4
  18. package/dist/button.cjs.map +7 -1
  19. package/dist/button.js +771 -3
  20. package/dist/button.js.map +7 -1
  21. package/dist/card.cjs +574 -4
  22. package/dist/card.cjs.map +7 -1
  23. package/dist/card.js +516 -3
  24. package/dist/card.js.map +7 -1
  25. package/dist/checkbox.cjs +867 -4
  26. package/dist/checkbox.cjs.map +7 -1
  27. package/dist/checkbox.js +794 -3
  28. package/dist/checkbox.js.map +7 -1
  29. package/dist/copy-button.cjs +1046 -4
  30. package/dist/copy-button.cjs.map +7 -1
  31. package/dist/copy-button.js +969 -3
  32. package/dist/copy-button.js.map +7 -1
  33. package/dist/detail-group.cjs +531 -4
  34. package/dist/detail-group.cjs.map +7 -1
  35. package/dist/detail-group.js +474 -3
  36. package/dist/detail-group.js.map +7 -1
  37. package/dist/detail.cjs +627 -4
  38. package/dist/detail.cjs.map +7 -1
  39. package/dist/detail.js +569 -3
  40. package/dist/detail.js.map +7 -1
  41. package/dist/dialog.cjs +738 -4
  42. package/dist/dialog.cjs.map +7 -1
  43. package/dist/dialog.js +665 -3
  44. package/dist/dialog.js.map +7 -1
  45. package/dist/divider.cjs +558 -4
  46. package/dist/divider.cjs.map +7 -1
  47. package/dist/divider.js +502 -3
  48. package/dist/divider.js.map +7 -1
  49. package/dist/drawer.cjs +818 -4
  50. package/dist/drawer.cjs.map +7 -1
  51. package/dist/drawer.js +749 -3
  52. package/dist/drawer.js.map +7 -1
  53. package/dist/dropdown.cjs +1396 -5
  54. package/dist/dropdown.cjs.map +7 -1
  55. package/dist/dropdown.js +1316 -4
  56. package/dist/dropdown.js.map +7 -1
  57. package/dist/icon-button.cjs +999 -4
  58. package/dist/icon-button.cjs.map +7 -1
  59. package/dist/icon-button.js +930 -3
  60. package/dist/icon-button.js.map +7 -1
  61. package/dist/icon.cjs +613 -4
  62. package/dist/icon.cjs.map +7 -1
  63. package/dist/icon.js +547 -3
  64. package/dist/icon.js.map +7 -1
  65. package/dist/index.cjs +6532 -74
  66. package/dist/index.cjs.map +7 -1
  67. package/dist/index.js +6183 -73
  68. package/dist/index.js.map +7 -1
  69. package/dist/menu.cjs +841 -4
  70. package/dist/menu.cjs.map +7 -1
  71. package/dist/menu.js +785 -3
  72. package/dist/menu.js.map +7 -1
  73. package/dist/navbar.cjs +622 -4
  74. package/dist/navbar.cjs.map +7 -1
  75. package/dist/navbar.js +564 -3
  76. package/dist/navbar.js.map +7 -1
  77. package/dist/number-input.cjs +885 -4
  78. package/dist/number-input.cjs.map +7 -1
  79. package/dist/number-input.js +817 -3
  80. package/dist/number-input.js.map +7 -1
  81. package/dist/pagination.cjs +1099 -4
  82. package/dist/pagination.cjs.map +7 -1
  83. package/dist/pagination.js +1029 -3
  84. package/dist/pagination.js.map +7 -1
  85. package/dist/progress-bar.cjs +581 -4
  86. package/dist/progress-bar.cjs.map +7 -1
  87. package/dist/progress-bar.js +525 -3
  88. package/dist/progress-bar.js.map +7 -1
  89. package/dist/radio-group.cjs +973 -5
  90. package/dist/radio-group.cjs.map +7 -1
  91. package/dist/radio-group.js +899 -4
  92. package/dist/radio-group.js.map +7 -1
  93. package/dist/select.cjs +1242 -45
  94. package/dist/select.cjs.map +7 -1
  95. package/dist/select.js +1159 -44
  96. package/dist/select.js.map +7 -1
  97. package/dist/slider.cjs +1420 -4
  98. package/dist/slider.cjs.map +7 -1
  99. package/dist/slider.js +1351 -3
  100. package/dist/slider.js.map +7 -1
  101. package/dist/spinner.cjs +587 -4
  102. package/dist/spinner.cjs.map +7 -1
  103. package/dist/spinner.js +528 -3
  104. package/dist/spinner.js.map +7 -1
  105. package/dist/styles/layout.cjs +1 -0
  106. package/dist/styles/layout.js +1 -0
  107. package/dist/styles/radius.cjs +1 -0
  108. package/dist/styles/radius.js +1 -0
  109. package/dist/styles/variables.cjs +1 -0
  110. package/dist/styles/variables.js +1 -0
  111. package/dist/switch.cjs +1092 -4
  112. package/dist/switch.cjs.map +7 -1
  113. package/dist/switch.js +1013 -3
  114. package/dist/switch.js.map +7 -1
  115. package/dist/tabs.cjs +660 -6
  116. package/dist/tabs.cjs.map +7 -1
  117. package/dist/tabs.js +591 -5
  118. package/dist/tabs.js.map +7 -1
  119. package/dist/tag.cjs +591 -3
  120. package/dist/tag.cjs.map +7 -1
  121. package/dist/tag.js +532 -2
  122. package/dist/tag.js.map +7 -1
  123. package/dist/text-input.cjs +829 -4
  124. package/dist/text-input.cjs.map +7 -1
  125. package/dist/text-input.js +761 -3
  126. package/dist/text-input.js.map +7 -1
  127. package/dist/textarea.cjs +914 -3
  128. package/dist/textarea.cjs.map +7 -1
  129. package/dist/textarea.js +854 -2
  130. package/dist/textarea.js.map +7 -1
  131. package/dist/tooltip.cjs +764 -4
  132. package/dist/tooltip.cjs.map +7 -1
  133. package/dist/tooltip.js +711 -3
  134. package/dist/tooltip.js.map +7 -1
  135. package/dist/tree.cjs +1059 -4
  136. package/dist/tree.cjs.map +7 -1
  137. package/dist/tree.js +985 -3
  138. package/dist/tree.js.map +7 -1
  139. package/dist/types/dialog/dialog.d.ts +1 -0
  140. package/dist/types/drawer/drawer.d.ts +2 -0
  141. package/dist/types/icon/defines.d.ts +2 -0
  142. package/dist/types/menu/defines.d.ts +1 -0
  143. package/dist/types/menu/menu-item.d.ts +1 -0
  144. package/dist/types/menu/menu.d.ts +1 -0
  145. package/dist/types/styles/layout.d.ts +2 -0
  146. package/dist/types/styles/radius.d.ts +2 -0
  147. package/dist/types/styles/variables.d.ts +2 -0
  148. package/package.json +31 -7
  149. package/src/alert/alert.ts +3 -3
  150. package/src/badge/badge.ts +4 -4
  151. package/src/breadcrumb/breadcrumb-item.ts +2 -2
  152. package/src/breadcrumb/breadcrumb.ts +3 -3
  153. package/src/button/button.ts +4 -4
  154. package/src/button-group/button-group.ts +8 -9
  155. package/src/card/card.ts +3 -3
  156. package/src/checkbox/checkbox.ts +6 -6
  157. package/src/copy-button/copy-button.ts +4 -4
  158. package/src/detail/detail.ts +3 -3
  159. package/src/detail-group/detail-group.ts +2 -2
  160. package/src/dialog/dialog.ts +15 -14
  161. package/src/divider/divider.ts +3 -3
  162. package/src/drawer/drawer.ts +28 -11
  163. package/src/dropdown/dropdown-item.ts +2 -2
  164. package/src/dropdown/dropdown.ts +2 -2
  165. package/src/icon/defines.ts +2 -0
  166. package/src/icon/icon.ts +4 -4
  167. package/src/menu/defines.ts +1 -0
  168. package/src/menu/menu-item.ts +14 -4
  169. package/src/menu/menu.ts +5 -2
  170. package/src/navbar/navbar.ts +3 -3
  171. package/src/number-input/number-input.ts +5 -5
  172. package/src/pagination/pagination.ts +3 -3
  173. package/src/progress-bar/progress-bar.ts +3 -3
  174. package/src/radio-group/radio-group.ts +12 -8
  175. package/src/select/select-option.ts +2 -2
  176. package/src/select/select.ts +5 -5
  177. package/src/slider/slider.ts +6 -6
  178. package/src/spinner/spinner.ts +4 -4
  179. package/src/styles/components/button-group.css +2 -0
  180. package/src/styles/components/card.css +42 -18
  181. package/src/styles/components/checkbox.css +16 -5
  182. package/src/styles/components/dialog.css +1 -1
  183. package/src/styles/components/drawer.css +50 -9
  184. package/src/styles/components/field-label.css +1 -1
  185. package/src/styles/components/menu-item.css +6 -0
  186. package/src/styles/components/navbar.css +7 -28
  187. package/src/styles/components/radio-group.css +19 -0
  188. package/src/styles/components/slider.css +30 -5
  189. package/src/styles/components/switch.css +16 -2
  190. package/src/styles/layout.css +5 -2
  191. package/src/styles/radius.css +15 -0
  192. package/src/switch/switch.ts +6 -6
  193. package/src/tabs/tab-panel.ts +1 -1
  194. package/src/tabs/tab.ts +1 -1
  195. package/src/tabs/tabs.ts +2 -2
  196. package/src/tag/tag.ts +4 -4
  197. package/src/text-input/text-input.ts +5 -5
  198. package/src/textarea/textarea.ts +5 -5
  199. package/src/tooltip/tooltip.ts +2 -2
  200. package/src/tree/tree-item.ts +2 -2
  201. package/src/tree/tree.ts +2 -2
  202. package/dist/chunks/action-button.cjs +0 -296
  203. package/dist/chunks/action-button.cjs.map +0 -1
  204. package/dist/chunks/action-button.js +0 -297
  205. package/dist/chunks/action-button.js.map +0 -1
  206. package/dist/chunks/aeico-component.cjs +0 -17
  207. package/dist/chunks/aeico-component.cjs.map +0 -1
  208. package/dist/chunks/aeico-component.js +0 -18
  209. package/dist/chunks/aeico-component.js.map +0 -1
  210. package/dist/chunks/alert.cjs +0 -164
  211. package/dist/chunks/alert.cjs.map +0 -1
  212. package/dist/chunks/alert.js +0 -165
  213. package/dist/chunks/alert.js.map +0 -1
  214. package/dist/chunks/badge.cjs +0 -85
  215. package/dist/chunks/badge.cjs.map +0 -1
  216. package/dist/chunks/badge.js +0 -86
  217. package/dist/chunks/badge.js.map +0 -1
  218. package/dist/chunks/breadcrumb-item.cjs +0 -261
  219. package/dist/chunks/breadcrumb-item.cjs.map +0 -1
  220. package/dist/chunks/breadcrumb-item.js +0 -262
  221. package/dist/chunks/breadcrumb-item.js.map +0 -1
  222. package/dist/chunks/button-group.cjs +0 -79
  223. package/dist/chunks/button-group.cjs.map +0 -1
  224. package/dist/chunks/button-group.js +0 -80
  225. package/dist/chunks/button-group.js.map +0 -1
  226. package/dist/chunks/button.cjs +0 -337
  227. package/dist/chunks/button.cjs.map +0 -1
  228. package/dist/chunks/button.js +0 -338
  229. package/dist/chunks/button.js.map +0 -1
  230. package/dist/chunks/card.cjs +0 -93
  231. package/dist/chunks/card.cjs.map +0 -1
  232. package/dist/chunks/card.js +0 -94
  233. package/dist/chunks/card.js.map +0 -1
  234. package/dist/chunks/checkbox.cjs +0 -86
  235. package/dist/chunks/checkbox.cjs.map +0 -1
  236. package/dist/chunks/checkbox.js +0 -87
  237. package/dist/chunks/checkbox.js.map +0 -1
  238. package/dist/chunks/color.cjs +0 -4
  239. package/dist/chunks/color.cjs.map +0 -1
  240. package/dist/chunks/color.js +0 -5
  241. package/dist/chunks/color.js.map +0 -1
  242. package/dist/chunks/copy-button.cjs +0 -171
  243. package/dist/chunks/copy-button.cjs.map +0 -1
  244. package/dist/chunks/copy-button.js +0 -172
  245. package/dist/chunks/copy-button.js.map +0 -1
  246. package/dist/chunks/detail-group.cjs +0 -65
  247. package/dist/chunks/detail-group.cjs.map +0 -1
  248. package/dist/chunks/detail-group.js +0 -66
  249. package/dist/chunks/detail-group.js.map +0 -1
  250. package/dist/chunks/detail.cjs +0 -146
  251. package/dist/chunks/detail.cjs.map +0 -1
  252. package/dist/chunks/detail.js +0 -147
  253. package/dist/chunks/detail.js.map +0 -1
  254. package/dist/chunks/dialog.cjs +0 -117
  255. package/dist/chunks/dialog.cjs.map +0 -1
  256. package/dist/chunks/dialog.js +0 -118
  257. package/dist/chunks/dialog.js.map +0 -1
  258. package/dist/chunks/divider.cjs +0 -80
  259. package/dist/chunks/divider.cjs.map +0 -1
  260. package/dist/chunks/divider.js +0 -81
  261. package/dist/chunks/divider.js.map +0 -1
  262. package/dist/chunks/drawer.cjs +0 -180
  263. package/dist/chunks/drawer.cjs.map +0 -1
  264. package/dist/chunks/drawer.js +0 -181
  265. package/dist/chunks/drawer.js.map +0 -1
  266. package/dist/chunks/dropdown-button.cjs +0 -533
  267. package/dist/chunks/dropdown-button.cjs.map +0 -1
  268. package/dist/chunks/dropdown-button.js +0 -534
  269. package/dist/chunks/dropdown-button.js.map +0 -1
  270. package/dist/chunks/icon-button.cjs +0 -35
  271. package/dist/chunks/icon-button.cjs.map +0 -1
  272. package/dist/chunks/icon-button.js +0 -36
  273. package/dist/chunks/icon-button.js.map +0 -1
  274. package/dist/chunks/icon.cjs +0 -124
  275. package/dist/chunks/icon.cjs.map +0 -1
  276. package/dist/chunks/icon.js +0 -125
  277. package/dist/chunks/icon.js.map +0 -1
  278. package/dist/chunks/menu.cjs +0 -396
  279. package/dist/chunks/menu.cjs.map +0 -1
  280. package/dist/chunks/menu.js +0 -397
  281. package/dist/chunks/menu.js.map +0 -1
  282. package/dist/chunks/navbar.cjs +0 -142
  283. package/dist/chunks/navbar.cjs.map +0 -1
  284. package/dist/chunks/navbar.js +0 -143
  285. package/dist/chunks/navbar.js.map +0 -1
  286. package/dist/chunks/number-input.cjs +0 -110
  287. package/dist/chunks/number-input.cjs.map +0 -1
  288. package/dist/chunks/number-input.js +0 -111
  289. package/dist/chunks/number-input.js.map +0 -1
  290. package/dist/chunks/pagination.cjs +0 -475
  291. package/dist/chunks/pagination.cjs.map +0 -1
  292. package/dist/chunks/pagination.js +0 -476
  293. package/dist/chunks/pagination.js.map +0 -1
  294. package/dist/chunks/progress-bar.cjs +0 -101
  295. package/dist/chunks/progress-bar.cjs.map +0 -1
  296. package/dist/chunks/progress-bar.js +0 -102
  297. package/dist/chunks/progress-bar.js.map +0 -1
  298. package/dist/chunks/radio.cjs +0 -185
  299. package/dist/chunks/radio.cjs.map +0 -1
  300. package/dist/chunks/radio.js +0 -186
  301. package/dist/chunks/radio.js.map +0 -1
  302. package/dist/chunks/select.cjs +0 -381
  303. package/dist/chunks/select.cjs.map +0 -1
  304. package/dist/chunks/select.js +0 -382
  305. package/dist/chunks/select.js.map +0 -1
  306. package/dist/chunks/size.cjs +0 -4
  307. package/dist/chunks/size.cjs.map +0 -1
  308. package/dist/chunks/size.js +0 -5
  309. package/dist/chunks/size.js.map +0 -1
  310. package/dist/chunks/slider.cjs +0 -608
  311. package/dist/chunks/slider.cjs.map +0 -1
  312. package/dist/chunks/slider.js +0 -609
  313. package/dist/chunks/slider.js.map +0 -1
  314. package/dist/chunks/spinner.cjs +0 -102
  315. package/dist/chunks/spinner.cjs.map +0 -1
  316. package/dist/chunks/spinner.js +0 -103
  317. package/dist/chunks/spinner.js.map +0 -1
  318. package/dist/chunks/switch.cjs +0 -167
  319. package/dist/chunks/switch.cjs.map +0 -1
  320. package/dist/chunks/switch.js +0 -168
  321. package/dist/chunks/switch.js.map +0 -1
  322. package/dist/chunks/tab-panel.cjs +0 -174
  323. package/dist/chunks/tab-panel.cjs.map +0 -1
  324. package/dist/chunks/tab-panel.js +0 -175
  325. package/dist/chunks/tab-panel.js.map +0 -1
  326. package/dist/chunks/tag.cjs +0 -108
  327. package/dist/chunks/tag.cjs.map +0 -1
  328. package/dist/chunks/tag.js +0 -109
  329. package/dist/chunks/tag.js.map +0 -1
  330. package/dist/chunks/text-input.cjs +0 -54
  331. package/dist/chunks/text-input.cjs.map +0 -1
  332. package/dist/chunks/text-input.js +0 -55
  333. package/dist/chunks/text-input.js.map +0 -1
  334. package/dist/chunks/textarea.cjs +0 -137
  335. package/dist/chunks/textarea.cjs.map +0 -1
  336. package/dist/chunks/textarea.js +0 -138
  337. package/dist/chunks/textarea.js.map +0 -1
  338. package/dist/chunks/tooltip.cjs +0 -292
  339. package/dist/chunks/tooltip.cjs.map +0 -1
  340. package/dist/chunks/tooltip.js +0 -293
  341. package/dist/chunks/tooltip.js.map +0 -1
  342. package/dist/chunks/tree.cjs +0 -468
  343. package/dist/chunks/tree.cjs.map +0 -1
  344. package/dist/chunks/tree.js +0 -469
  345. package/dist/chunks/tree.js.map +0 -1
  346. package/dist/chunks/variables.cjs +0 -396
  347. package/dist/chunks/variables.cjs.map +0 -1
  348. package/dist/chunks/variables.js +0 -397
  349. package/dist/chunks/variables.js.map +0 -1
package/dist/slider.cjs CHANGED
@@ -1,6 +1,1422 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const slider = require("./chunks/slider.cjs");
4
- exports.Slider = slider.Slider;
5
- exports.default = slider.Slider;
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
9
+ var __typeError = (msg) => {
10
+ throw TypeError(msg);
11
+ };
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
+ var __commonJS = (cb, mod) => function __require() {
15
+ try {
16
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
17
+ } catch (e) {
18
+ throw mod = 0, e;
19
+ }
20
+ };
21
+ var __export = (target, all) => {
22
+ for (var name in all)
23
+ __defProp(target, name, { get: all[name], enumerable: true });
24
+ };
25
+ var __copyProps = (to, from, except, desc) => {
26
+ if (from && typeof from === "object" || typeof from === "function") {
27
+ for (let key of __getOwnPropNames(from))
28
+ if (!__hasOwnProp.call(to, key) && key !== except)
29
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
30
+ }
31
+ return to;
32
+ };
33
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
34
+ // If the importer is in node compatibility mode or this is not an ESM
35
+ // file that has been converted to a CommonJS file using a Babel-
36
+ // compatible transform (i.e. "__esModule" has not been set), then set
37
+ // "default" to the CommonJS "module.exports" for node compatibility.
38
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
39
+ mod
40
+ ));
41
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
42
+ var __decoratorStart = (base) => [, , , __create(base?.[__knownSymbol("metadata")] ?? null)];
43
+ var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
44
+ var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
45
+ var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
46
+ var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
47
+ var __runInitializers = (array, flags, self, value) => {
48
+ for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
49
+ return value;
50
+ };
51
+ var __decorateElement = (array, flags, name, decorators, target, extra) => {
52
+ var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
53
+ var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
54
+ var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
55
+ var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
56
+ return __privateGet(this, extra);
57
+ }, set [name](x) {
58
+ return __privateSet(this, extra, x);
59
+ } }, name));
60
+ k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
61
+ for (var i = decorators.length - 1; i >= 0; i--) {
62
+ ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
63
+ if (k) {
64
+ ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
65
+ if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
66
+ if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
67
+ }
68
+ it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
69
+ if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
70
+ else if (typeof it !== "object" || it === null) __typeError("Object expected");
71
+ else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
72
+ }
73
+ return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
74
+ };
75
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
76
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
77
+ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
78
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
79
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
80
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
81
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
82
+
83
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/slider.css
84
+ var require_slider = __commonJS({
85
+ "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/slider.css"(exports2, module2) {
86
+ module2.exports = `:host {
87
+ display: block;
88
+ flex: 1;
89
+ min-width: 0;
90
+ font-size: var(--ae-size-base);
91
+ }
92
+
93
+ .range-container {
94
+ display: flex;
95
+ align-items: center;
96
+ gap: 6px;
97
+ width: 100%;
98
+ height: 26px;
99
+ }
100
+
101
+ input[type="range"] {
102
+ flex: 1;
103
+ margin: 0;
104
+ }
105
+
106
+ .input-range,
107
+ .slider-input,
108
+ input[type="range"] {
109
+ -webkit-appearance: none;
110
+ appearance: none;
111
+ width: 100%;
112
+ height: 0.333em;
113
+ border-radius: var(--ae-radius-xs);
114
+ background: var(--ae-border-subtle);
115
+ outline: none;
116
+ cursor: pointer;
117
+ margin: 0;
118
+ }
119
+
120
+ .input-range {
121
+ margin: 10px 0;
122
+ }
123
+
124
+ .input-range::-webkit-slider-thumb,
125
+ .slider-input::-webkit-slider-thumb,
126
+ input[type="range"]::-webkit-slider-thumb {
127
+ -webkit-appearance: none;
128
+ appearance: none;
129
+ width: 1.167em;
130
+ height: 1.167em;
131
+ border-radius: var(--ae-radius-circle);
132
+ background: var(--ae-color-solid);
133
+ cursor: pointer;
134
+ transition: background 0.12s, transform 0.12s;
135
+ }
136
+
137
+ .input-range::-webkit-slider-thumb:hover,
138
+ .slider-input::-webkit-slider-thumb:hover,
139
+ input[type="range"]:hover::-webkit-slider-thumb {
140
+ background: var(--ae-color-solid-hover);
141
+ transform: scale(1.1);
142
+ }
143
+
144
+ .input-range::-webkit-slider-thumb:active,
145
+ .slider-input::-webkit-slider-thumb:active,
146
+ input[type="range"]:active::-webkit-slider-thumb {
147
+ background: var(--ae-color-solid-hover);
148
+ transform: scale(1.2);
149
+ }
150
+
151
+ .input-range:focus::-webkit-slider-thumb,
152
+ .slider-input:focus::-webkit-slider-thumb,
153
+ input[type="range"]:focus::-webkit-slider-thumb {
154
+ background: var(--ae-color-solid);
155
+ outline: none;
156
+ box-shadow: none;
157
+ }
158
+
159
+ .input-range:focus:hover::-webkit-slider-thumb,
160
+ .slider-input:focus:hover::-webkit-slider-thumb,
161
+ input[type="range"]:focus:hover::-webkit-slider-thumb {
162
+ background: var(--ae-color-solid-hover);
163
+ outline: none;
164
+ box-shadow: none;
165
+ }
166
+
167
+ .input-range:focus:active::-webkit-slider-thumb,
168
+ .slider-input:focus:active::-webkit-slider-thumb,
169
+ input[type="range"]:focus:active::-webkit-slider-thumb {
170
+ background: var(--ae-color-solid-hover);
171
+ outline: none;
172
+ box-shadow: none;
173
+ }
174
+
175
+ .input-range::-moz-range-thumb,
176
+ .slider-input::-moz-range-thumb,
177
+ input[type="range"]::-moz-range-thumb {
178
+ width: 1.167em;
179
+ height: 1.167em;
180
+ border: none;
181
+ border-radius: var(--ae-radius-circle);
182
+ background: var(--ae-color-solid);
183
+ cursor: pointer;
184
+ transition: background 0.12s, transform 0.12s;
185
+ }
186
+
187
+ .input-range::-moz-range-thumb:hover,
188
+ .slider-input::-moz-range-thumb:hover,
189
+ input[type="range"]:hover::-moz-range-thumb {
190
+ background: var(--ae-color-solid-hover);
191
+ transform: scale(1.1);
192
+ }
193
+
194
+ .input-range::-moz-range-thumb:active,
195
+ .slider-input::-moz-range-thumb:active,
196
+ input[type="range"]:active::-moz-range-thumb {
197
+ background: var(--ae-color-solid-hover);
198
+ transform: scale(1.2);
199
+ }
200
+
201
+ .input-range:focus::-moz-range-thumb,
202
+ .slider-input:focus::-moz-range-thumb,
203
+ input[type="range"]:focus::-moz-range-thumb {
204
+ background: var(--ae-color-solid);
205
+ outline: none;
206
+ box-shadow: none;
207
+ }
208
+
209
+ .input-range:focus:hover::-moz-range-thumb,
210
+ .slider-input:focus:hover::-moz-range-thumb,
211
+ input[type="range"]:focus:hover::-moz-range-thumb {
212
+ background: var(--ae-color-solid-hover);
213
+ outline: none;
214
+ box-shadow: none;
215
+ }
216
+
217
+ .input-range:focus:active::-moz-range-thumb,
218
+ .slider-input:focus:active::-moz-range-thumb,
219
+ input[type="range"]:focus:active::-moz-range-thumb {
220
+ background: var(--ae-color-solid-hover);
221
+ outline: none;
222
+ box-shadow: none;
223
+ }
224
+
225
+ .input-range:disabled,
226
+ .slider-input:disabled,
227
+ input[type="range"]:disabled {
228
+ opacity: 0.5;
229
+ cursor: not-allowed;
230
+ }
231
+
232
+ .input-range:disabled::-webkit-slider-thumb,
233
+ .slider-input:disabled::-webkit-slider-thumb,
234
+ input[type="range"]:disabled::-webkit-slider-thumb {
235
+ cursor: not-allowed;
236
+ }
237
+
238
+ .input-range:disabled::-moz-range-thumb,
239
+ .slider-input:disabled::-moz-range-thumb,
240
+ input[type="range"]:disabled::-moz-range-thumb {
241
+ cursor: not-allowed;
242
+ }
243
+
244
+ .value-label {
245
+ min-width: 14px;
246
+ text-align: center;
247
+ font-size: 12px;
248
+ color: var(--ae-color-text-muted);
249
+ font-weight: 500;
250
+ font-variant-numeric: tabular-nums;
251
+ pointer-events: none;
252
+ user-select: none;
253
+ }
254
+
255
+ .input-range,
256
+ .slider-input,
257
+ input[type="range"] {
258
+ height: 0.333em;
259
+ }
260
+
261
+ .input-range::-webkit-slider-thumb,
262
+ .slider-input::-webkit-slider-thumb,
263
+ input[type="range"]::-webkit-slider-thumb {
264
+ width: 1.167em;
265
+ height: 1.167em;
266
+ }
267
+
268
+ .input-range::-moz-range-thumb,
269
+ .slider-input::-moz-range-thumb,
270
+ input[type="range"]::-moz-range-thumb {
271
+ width: 1.167em;
272
+ height: 1.167em;
273
+ }
274
+
275
+ .value-label {
276
+ font-size: 1em;
277
+ }
278
+
279
+ .value-input {
280
+ width: 56px;
281
+ padding: 0 4px;
282
+ height: 22px;
283
+ line-height: 20px;
284
+ border: 1px solid var(--ae-border-subtle);
285
+ border-radius: var(--ae-radius-sm);
286
+ background: transparent;
287
+ color: var(--ae-color-text);
288
+ font-size: 12px;
289
+ text-align: center;
290
+ outline: none;
291
+ flex-shrink: 0;
292
+ box-sizing: border-box;
293
+ }
294
+
295
+ .value-input:focus {
296
+ border-color: var(--ae-color-solid);
297
+ }
298
+
299
+ .value-input:disabled {
300
+ opacity: 0.4;
301
+ cursor: not-allowed;
302
+ }
303
+
304
+ .range-container .action-controls {
305
+ display: flex;
306
+ align-self: center;
307
+ border: 1px solid var(--field-action-border-color, var(--ae-border-subtle));
308
+ border-radius: var(--ae-radius-sm);
309
+ overflow: hidden;
310
+ background: var(--field-action-bg, var(--ae-surface-base));
311
+ height: 22px;
312
+ box-sizing: border-box;
313
+ }
314
+
315
+ .range-container .action-controls .action-btn {
316
+ padding: 0 0.35em;
317
+ font-size: 12px;
318
+ }
319
+
320
+ .range-container:has(.value-input) .action-controls {
321
+ border-radius: var(--ae-radius-sm) 0 0 var(--ae-radius-sm);
322
+ }
323
+
324
+ .range-container:has(.action-controls) .value-input {
325
+ margin-left: -7px;
326
+ border-radius: 0 var(--ae-radius-sm) var(--ae-radius-sm) 0;
327
+ }
328
+
329
+ :host([tracked]) .input-range,
330
+ :host([tracked]) .slider-input,
331
+ :host([tracked]) input[type="range"] {
332
+ background: linear-gradient(
333
+ to right,
334
+ var(--ae-color-solid) var(--fill-pct, 0%),
335
+ var(--ae-border-subtle) var(--fill-pct, 0%)
336
+ );
337
+ }
338
+
339
+ .range-wrapper {
340
+ flex: 1;
341
+ min-width: 0;
342
+ display: flex;
343
+ flex-direction: column;
344
+ position: relative;
345
+ }
346
+
347
+ .range-wrapper input[type="range"] {
348
+ width: 100%;
349
+ flex: none;
350
+ }
351
+
352
+ .marks-container {
353
+ position: absolute;
354
+ top: 100%;
355
+ left: 7px;
356
+ right: 7px;
357
+ height: 18px;
358
+ margin-top: 2px;
359
+ overflow: visible;
360
+ }
361
+
362
+ .mark {
363
+ position: absolute;
364
+ transform: translateX(-50%);
365
+ display: flex;
366
+ flex-direction: column;
367
+ align-items: center;
368
+ gap: 2px;
369
+ pointer-events: none;
370
+ user-select: none;
371
+ }
372
+
373
+ .mark::before {
374
+ content: '';
375
+ display: block;
376
+ width: 1px;
377
+ height: 4px;
378
+ background: var(--ae-border-default, var(--ae-border-subtle));
379
+ border-radius: 1px;
380
+ }
381
+
382
+ .mark-label {
383
+ font-size: 10px;
384
+ color: var(--ae-color-text-muted);
385
+ white-space: nowrap;
386
+ }
387
+
388
+ :host([marks]) .range-container {
389
+ padding-bottom: 24px;
390
+ height: auto;
391
+ }
392
+ `;
393
+ }
394
+ });
395
+
396
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/variables.css
397
+ var require_variables = __commonJS({
398
+ "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/variables.css"(exports2, module2) {
399
+ module2.exports = `:root,
400
+ :host {
401
+ --ae-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
402
+ "Noto Sans", "Liberation Sans", Arial, sans-serif,
403
+ "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
404
+ --ae-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
405
+ "Liberation Mono", "Courier New", monospace;
406
+ font-family: var(--ae-font-sans-serif);
407
+ --ae-blue: #0e639c;
408
+ --ae-green: #28a745;
409
+ --ae-red: #dc3545;
410
+ --ae-yellow: #ffc107;
411
+ --ae-cyan: #17a2b8;
412
+ --ae-gray: #6e6e6e;
413
+ --ae-slate: #64748b;
414
+ --ae-dark: #343a40;
415
+ --ae-light: #f8f9fa;
416
+ }
417
+
418
+ :root,
419
+ :host {
420
+ /* Blue */
421
+ --ae-blue-100: color-mix(in srgb, var(--ae-blue) 20%, white);
422
+ --ae-blue-200: color-mix(in srgb, var(--ae-blue) 40%, white);
423
+ --ae-blue-300: color-mix(in srgb, var(--ae-blue) 60%, white);
424
+ --ae-blue-400: color-mix(in srgb, var(--ae-blue) 80%, white);
425
+ --ae-blue-500: var(--ae-blue);
426
+ --ae-blue-600: color-mix(in srgb, var(--ae-blue) 80%, black);
427
+ --ae-blue-700: color-mix(in srgb, var(--ae-blue) 60%, black);
428
+ --ae-blue-800: color-mix(in srgb, var(--ae-blue) 40%, black);
429
+ --ae-blue-900: color-mix(in srgb, var(--ae-blue) 20%, black);
430
+
431
+ /* Green */
432
+ --ae-green-100: color-mix(in srgb, var(--ae-green) 20%, white);
433
+ --ae-green-200: color-mix(in srgb, var(--ae-green) 40%, white);
434
+ --ae-green-300: color-mix(in srgb, var(--ae-green) 60%, white);
435
+ --ae-green-400: color-mix(in srgb, var(--ae-green) 80%, white);
436
+ --ae-green-500: var(--ae-green);
437
+ --ae-green-600: color-mix(in srgb, var(--ae-green) 80%, black);
438
+ --ae-green-700: color-mix(in srgb, var(--ae-green) 60%, black);
439
+ --ae-green-800: color-mix(in srgb, var(--ae-green) 40%, black);
440
+ --ae-green-900: color-mix(in srgb, var(--ae-green) 20%, black);
441
+
442
+ /* Red */
443
+ --ae-red-100: color-mix(in srgb, var(--ae-red) 20%, white);
444
+ --ae-red-200: color-mix(in srgb, var(--ae-red) 40%, white);
445
+ --ae-red-300: color-mix(in srgb, var(--ae-red) 60%, white);
446
+ --ae-red-400: color-mix(in srgb, var(--ae-red) 80%, white);
447
+ --ae-red-500: var(--ae-red);
448
+ --ae-red-600: color-mix(in srgb, var(--ae-red) 80%, black);
449
+ --ae-red-700: color-mix(in srgb, var(--ae-red) 60%, black);
450
+ --ae-red-800: color-mix(in srgb, var(--ae-red) 40%, black);
451
+ --ae-red-900: color-mix(in srgb, var(--ae-red) 20%, black);
452
+
453
+ /* Yellow */
454
+ --ae-yellow-100: color-mix(in srgb, var(--ae-yellow) 20%, white);
455
+ --ae-yellow-200: color-mix(in srgb, var(--ae-yellow) 40%, white);
456
+ --ae-yellow-300: color-mix(in srgb, var(--ae-yellow) 60%, white);
457
+ --ae-yellow-400: color-mix(in srgb, var(--ae-yellow) 80%, white);
458
+ --ae-yellow-500: var(--ae-yellow);
459
+ --ae-yellow-600: color-mix(in srgb, var(--ae-yellow) 80%, black);
460
+ --ae-yellow-700: color-mix(in srgb, var(--ae-yellow) 60%, black);
461
+ --ae-yellow-800: color-mix(in srgb, var(--ae-yellow) 40%, black);
462
+ --ae-yellow-900: color-mix(in srgb, var(--ae-yellow) 20%, black);
463
+
464
+ /* Cyan */
465
+ --ae-cyan-100: color-mix(in srgb, var(--ae-cyan) 20%, white);
466
+ --ae-cyan-200: color-mix(in srgb, var(--ae-cyan) 40%, white);
467
+ --ae-cyan-300: color-mix(in srgb, var(--ae-cyan) 60%, white);
468
+ --ae-cyan-400: color-mix(in srgb, var(--ae-cyan) 80%, white);
469
+ --ae-cyan-500: var(--ae-cyan);
470
+ --ae-cyan-600: color-mix(in srgb, var(--ae-cyan) 80%, black);
471
+ --ae-cyan-700: color-mix(in srgb, var(--ae-cyan) 60%, black);
472
+ --ae-cyan-800: color-mix(in srgb, var(--ae-cyan) 40%, black);
473
+ --ae-cyan-900: color-mix(in srgb, var(--ae-cyan) 20%, black);
474
+
475
+ /* Gray (neutral \u2014 base #6e6e6e) */
476
+ --ae-gray-100: color-mix(in srgb, var(--ae-gray) 20%, white);
477
+ --ae-gray-200: color-mix(in srgb, var(--ae-gray) 40%, white);
478
+ --ae-gray-300: color-mix(in srgb, var(--ae-gray) 60%, white);
479
+ --ae-gray-400: color-mix(in srgb, var(--ae-gray) 80%, white);
480
+ --ae-gray-500: var(--ae-gray);
481
+ --ae-gray-600: color-mix(in srgb, var(--ae-gray) 80%, black);
482
+ --ae-gray-700: color-mix(in srgb, var(--ae-gray) 60%, black);
483
+ --ae-gray-800: color-mix(in srgb, var(--ae-gray) 40%, black);
484
+ --ae-gray-900: color-mix(in srgb, var(--ae-gray) 20%, black);
485
+
486
+ /* Slate (blue-gray \u2014 base #64748b, used for 'secondary') */
487
+ --ae-slate-100: color-mix(in srgb, var(--ae-slate) 20%, white);
488
+ --ae-slate-200: color-mix(in srgb, var(--ae-slate) 40%, white);
489
+ --ae-slate-300: color-mix(in srgb, var(--ae-slate) 60%, white);
490
+ --ae-slate-400: color-mix(in srgb, var(--ae-slate) 80%, white);
491
+ --ae-slate-500: var(--ae-slate);
492
+ --ae-slate-600: color-mix(in srgb, var(--ae-slate) 80%, black);
493
+ --ae-slate-700: color-mix(in srgb, var(--ae-slate) 60%, black);
494
+ --ae-slate-800: color-mix(in srgb, var(--ae-slate) 40%, black);
495
+ --ae-slate-900: color-mix(in srgb, var(--ae-slate) 20%, black);
496
+
497
+ /* Dark (base #343a40) */
498
+ --ae-dark-100: color-mix(in srgb, var(--ae-dark) 20%, white);
499
+ --ae-dark-200: color-mix(in srgb, var(--ae-dark) 40%, white);
500
+ --ae-dark-300: color-mix(in srgb, var(--ae-dark) 60%, white);
501
+ --ae-dark-400: color-mix(in srgb, var(--ae-dark) 80%, white);
502
+ --ae-dark-500: var(--ae-dark);
503
+ --ae-dark-600: color-mix(in srgb, var(--ae-dark) 80%, black);
504
+ --ae-dark-700: color-mix(in srgb, var(--ae-dark) 60%, black);
505
+ --ae-dark-800: color-mix(in srgb, var(--ae-dark) 40%, black);
506
+ --ae-dark-900: color-mix(in srgb, var(--ae-dark) 20%, black);
507
+
508
+ /* Light (base #f8f9fa) */
509
+ --ae-light-100: color-mix(in srgb, var(--ae-light) 20%, white);
510
+ --ae-light-200: color-mix(in srgb, var(--ae-light) 40%, white);
511
+ --ae-light-300: color-mix(in srgb, var(--ae-light) 60%, white);
512
+ --ae-light-400: color-mix(in srgb, var(--ae-light) 80%, white);
513
+ --ae-light-500: var(--ae-light);
514
+ --ae-light-600: color-mix(in srgb, var(--ae-light) 80%, black);
515
+ --ae-light-700: color-mix(in srgb, var(--ae-light) 60%, black);
516
+ --ae-light-800: color-mix(in srgb, var(--ae-light) 40%, black);
517
+ --ae-light-900: color-mix(in srgb, var(--ae-light) 20%, black);
518
+ }
519
+
520
+ :root,
521
+ :host {
522
+ /* Hover / active mix (light default \u2014 overridden in \xA7 6 dark) */
523
+ --ae-color-mix-hover: black 10%;
524
+ --ae-color-mix-active: black 20%;
525
+
526
+ /* Primary (Blue) */
527
+ --ae-color-primary: var(--ae-blue-500);
528
+ --ae-color-primary-hover: color-mix(in srgb, var(--ae-color-primary), var(--ae-color-mix-hover));
529
+ --ae-color-primary-active: color-mix(in srgb, var(--ae-color-primary), var(--ae-color-mix-active));
530
+ --ae-color-primary-disabled: color-mix(in srgb, var(--ae-blue) 50%, var(--ae-gray-500));
531
+
532
+ /* Success (Green) */
533
+ --ae-color-success: var(--ae-green-500);
534
+ --ae-color-success-hover: color-mix(in srgb, var(--ae-color-success), var(--ae-color-mix-hover));
535
+ --ae-color-success-active: color-mix(in srgb, var(--ae-color-success), var(--ae-color-mix-active));
536
+ --ae-color-success-disabled: color-mix(in srgb, var(--ae-green) 50%, var(--ae-gray-500));
537
+
538
+ /* Danger (Red) */
539
+ --ae-color-danger: var(--ae-red-500);
540
+ --ae-color-danger-hover: color-mix(in srgb, var(--ae-color-danger), var(--ae-color-mix-hover));
541
+ --ae-color-danger-active: color-mix(in srgb, var(--ae-color-danger), var(--ae-color-mix-active));
542
+ --ae-color-danger-disabled: color-mix(in srgb, var(--ae-red) 50%, var(--ae-gray-500));
543
+
544
+ /* Warning (Yellow) */
545
+ --ae-color-warning: var(--ae-yellow-500);
546
+ --ae-color-warning-hover: color-mix(in srgb, var(--ae-color-warning), var(--ae-color-mix-hover));
547
+ --ae-color-warning-active: color-mix(in srgb, var(--ae-color-warning), var(--ae-color-mix-active));
548
+ --ae-color-warning-disabled: color-mix(in srgb, var(--ae-yellow) 50%, var(--ae-gray-500));
549
+
550
+ /* Info (Cyan) */
551
+ --ae-color-info: var(--ae-cyan-500);
552
+ --ae-color-info-hover: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-hover));
553
+ --ae-color-info-active: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-active));
554
+ --ae-color-info-disabled: color-mix(in srgb, var(--ae-cyan) 50%, var(--ae-gray-500));
555
+
556
+ /* Secondary (Slate) \u2014 base differs per theme, overridden in \xA7 6 dark */
557
+ --ae-color-secondary: var(--ae-slate-500);
558
+ --ae-color-secondary-hover: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-hover));
559
+ --ae-color-secondary-active: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-active));
560
+ --ae-color-secondary-text: var(--ae-slate-700);
561
+ }
562
+
563
+
564
+ .theme-light,
565
+ :root[theme="light"],
566
+ :host([theme="light"]),
567
+ :host-context([theme="light"]),
568
+ :where(:root),
569
+ :host {
570
+ color-scheme: light;
571
+
572
+ /* Gray UI aliases \u2014 lighter palette steps for elements on white background */
573
+ --ae-color-gray-dark: var(--ae-gray-400);
574
+ --ae-color-gray: var(--ae-gray-300);
575
+ --ae-color-gray-light: var(--ae-gray-200);
576
+ --ae-color-gray-lighter: var(--ae-gray-100);
577
+ --ae-color-gray-lightest: color-mix(in srgb, var(--ae-gray) 10%, white);
578
+
579
+ /* Text */
580
+ --ae-color-text-main: var(--ae-dark-700);
581
+ --ae-color-text-muted: var(--ae-gray-600);
582
+ --ae-color-text-disabled: var(--ae-gray-300);
583
+ --ae-color-text-link: var(--ae-blue-500);
584
+ --ae-color-text-link-hover: var(--ae-blue-700);
585
+
586
+ /* Surfaces */
587
+ --ae-surface-sunken: var(--ae-light-500);
588
+ --ae-surface-base: white;
589
+ --ae-surface-raised: var(--ae-light-500);
590
+ --ae-surface-overlay: white;
591
+ --ae-color-overlay: rgba(0, 0, 0, 0.4);
592
+
593
+ /* Borders */
594
+ --ae-border-subtle: rgba(0, 0, 0, 0.08);
595
+ --ae-border-default: rgba(0, 0, 0, 0.15);
596
+ --ae-border-hover: rgba(0, 0, 0, 0.25);
597
+ --ae-border-focus: var(--ae-color-primary);
598
+ --ae-border-disabled: rgba(0, 0, 0, 0.06);
599
+
600
+ /* Focus ring */
601
+ --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.30);
602
+ --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.15);
603
+
604
+ /* Subtle intent tokens \u2014 light context */
605
+ --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.08);
606
+ --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.40);
607
+ --ae-color-primary-text-emphasis: var(--ae-blue-700);
608
+
609
+ --ae-color-success-bg-subtle: rgb(from var(--ae-green) r g b / 0.08);
610
+ --ae-color-success-border-subtle: rgb(from var(--ae-green) r g b / 0.40);
611
+ --ae-color-success-text-emphasis: var(--ae-green-700);
612
+
613
+ --ae-color-danger-bg-subtle: rgb(from var(--ae-red) r g b / 0.08);
614
+ --ae-color-danger-border-subtle: rgb(from var(--ae-red) r g b / 0.40);
615
+ --ae-color-danger-text-emphasis: var(--ae-red-700);
616
+
617
+ --ae-color-warning-bg-subtle: rgb(from var(--ae-yellow) r g b / 0.08);
618
+ --ae-color-warning-border-subtle: rgb(from var(--ae-yellow) r g b / 0.40);
619
+ --ae-color-warning-text-emphasis: var(--ae-yellow-700);
620
+
621
+ --ae-color-info-bg-subtle: rgb(from var(--ae-cyan) r g b / 0.08);
622
+ --ae-color-info-border-subtle: rgb(from var(--ae-cyan) r g b / 0.40);
623
+ --ae-color-info-text-emphasis: var(--ae-cyan-700);
624
+
625
+ --ae-color-secondary-bg-subtle: rgb(from var(--ae-slate) r g b / 0.08);
626
+ --ae-color-secondary-border-subtle: rgb(from var(--ae-slate) r g b / 0.40);
627
+ --ae-color-secondary-text-emphasis: var(--ae-slate-700);
628
+
629
+ --ae-color-light-bg-subtle: var(--ae-gray-100); /* opaque on white: ~#e2e2e2 */
630
+ --ae-color-light-border-subtle: var(--ae-gray-200); /* opaque on white: ~#c4c4c4 */
631
+
632
+ --ae-color-dark-bg-subtle: var(--ae-dark-100); /* opaque on white: ~#d6d8d9 */
633
+ --ae-color-dark-border-subtle: var(--ae-dark-300); /* opaque on white: ~#85898c */
634
+
635
+ /* Component tokens \u2014 light defaults */
636
+ --ae-action-btn-bg: var(--ae-gray-200);
637
+ --ae-action-btn-bg-hover: var(--ae-color-primary);
638
+ --ae-action-btn-color: var(--ae-gray-600);
639
+ --ae-action-btn-color-hover: white;
640
+
641
+ --ae-clear-btn-bg-hover: var(--ae-color-danger);
642
+ --ae-clear-btn-color-hover: white;
643
+
644
+ --ae-reset-btn-border-radius: var(--ae-radius-xs);
645
+ --ae-reset-btn-bg: var(--ae-action-btn-bg);
646
+ --ae-reset-btn-bg-hover: var(--ae-action-btn-bg-hover);
647
+ --ae-reset-btn-color: var(--ae-action-btn-color);
648
+ --ae-reset-btn-color-hover: var(--ae-action-btn-color-hover);
649
+ --ae-reset-btn-transition: all 0.12s;
650
+
651
+ --ae-clear-btn-border-radius: var(--ae-radius-xs);
652
+ --ae-clear-btn-bg: var(--ae-action-btn-bg);
653
+ --ae-clear-btn-color: var(--ae-action-btn-color);
654
+ --ae-clear-btn-transition: all 0.12s;
655
+ }
656
+
657
+ :root,
658
+ :host {
659
+ --ae-size-scale: 1;
660
+ --ae-size-base: calc(1rem * var(--ae-size-scale)); /* 16px */
661
+ --ae-size-xl: round(calc(var(--ae-size-l) * 1.125), 1px); /* 23px */
662
+ --ae-size-l: round(calc(var(--ae-size-m) * 1.125 * 1.125), 1px); /* 20px */
663
+ --ae-size-m: var(--ae-size-base); /* 16px */
664
+ --ae-size-s: round(calc(var(--ae-size-m) / 1.125), 1px); /* 14px */
665
+ --ae-size-xs: round(calc(var(--ae-size-s) / 1.125), 1px); /* 12px */
666
+ --ae-size-2xs: round(calc(var(--ae-size-xs) / 1.125), 1px); /* 11px */
667
+ --ae-size-3xs: round(calc(var(--ae-size-2xs) / 1.125), 1px); /* 10px */
668
+ }
669
+
670
+ /* Border-radius tokens \u2014 shared across all components */
671
+ :root,
672
+ :host {
673
+ /**
674
+ * Unified border-radius hook for all components.
675
+ *
676
+ * Not set by default \u2014 each component falls back to its own --ae-radius-*
677
+ * token (e.g. button \u2192 sm, card \u2192 lg, input \u2192 xs).
678
+ *
679
+ * Usage:
680
+ * :root { --ae-border-radius: 0; } // global: all components square
681
+ * :root { --ae-border-radius: 999px; } // global: all components pill
682
+ * ae-button { --ae-border-radius: 50%; } // scoped: only buttons circular
683
+ * .sidebar { --ae-border-radius: 8px; } // scoped: everything inside .sidebar
684
+ *
685
+ * To restore a component to its own default:
686
+ * ae-card { --ae-border-radius: initial; }
687
+ */
688
+
689
+ --ae-radius-square: 0;
690
+ --ae-radius-xs: 2px;
691
+ --ae-radius-sm: 4px;
692
+ --ae-radius-md: 6px;
693
+ --ae-radius-lg: 8px;
694
+ --ae-radius-xl: 12px;
695
+ --ae-radius-pill: 999px;
696
+ --ae-radius-circle: 50%;
697
+ }
698
+
699
+ /* Layout tokens \u2014 defined on :root so all light DOM elements can use them */
700
+ :root,
701
+ :host {
702
+ --container-max-width: 1280px;
703
+ --container-padding-x: 1.5rem;
704
+ }
705
+
706
+ .theme-dark,
707
+ :root[theme="dark"],
708
+ :host([theme="dark"]),
709
+ :host-context([theme="dark"]) {
710
+ color-scheme: dark;
711
+
712
+ /* Hover / active \u2014 slightly gentler on dark backgrounds */
713
+ --ae-color-mix-hover: black 8%;
714
+ --ae-color-mix-active: black 16%;
715
+
716
+ /* Gray UI aliases \u2014 darker palette steps for elements on dark background */
717
+ --ae-color-gray-dark: var(--ae-gray-800);
718
+ --ae-color-gray: var(--ae-gray-700);
719
+ --ae-color-gray-light: var(--ae-gray-600);
720
+ --ae-color-gray-lighter: var(--ae-gray-500);
721
+ --ae-color-gray-lightest: var(--ae-gray-400);
722
+
723
+ /* Secondary \u2014 deeper base on dark background */
724
+ --ae-color-secondary: var(--ae-slate-700);
725
+ --ae-color-secondary-text: var(--ae-slate-300);
726
+
727
+ /* Text */
728
+ --ae-color-text-main: white;
729
+ --ae-color-text-muted: var(--ae-gray-200);
730
+ --ae-color-text-disabled: var(--ae-gray-500);
731
+ --ae-color-text-link: var(--ae-blue-300);
732
+ --ae-color-text-link-hover: var(--ae-blue-200);
733
+
734
+ /* Surfaces */
735
+ --ae-surface-sunken: var(--ae-gray-900);
736
+ --ae-surface-base: color-mix(in srgb, var(--ae-gray) 27%, black);
737
+ --ae-surface-raised: color-mix(in srgb, var(--ae-gray) 34%, black);
738
+ --ae-surface-overlay: color-mix(in srgb, var(--ae-gray) 38%, black);
739
+ --ae-color-overlay: rgba(0, 0, 0, 0.6);
740
+
741
+ /* Borders */
742
+ --ae-border-subtle: rgba(255, 255, 255, 0.08);
743
+ --ae-border-default: rgba(255, 255, 255, 0.12);
744
+ --ae-border-hover: rgba(255, 255, 255, 0.20);
745
+ --ae-border-focus: var(--ae-color-primary);
746
+ --ae-border-disabled: rgba(255, 255, 255, 0.06);
747
+
748
+ /* Focus ring */
749
+ --ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.25);
750
+ --ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.10);
751
+
752
+ /* Subtle intent tokens \u2014 dark context (more alpha, lighter text-emphasis) */
753
+ --ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.10);
754
+ --ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.30);
755
+ --ae-color-primary-text-emphasis: var(--ae-blue-300);
756
+
757
+ --ae-color-success-bg-subtle: rgb(from var(--ae-green) r g b / 0.10);
758
+ --ae-color-success-border-subtle: rgb(from var(--ae-green) r g b / 0.30);
759
+ --ae-color-success-text-emphasis: var(--ae-green-300);
760
+
761
+ --ae-color-danger-bg-subtle: rgb(from var(--ae-red) r g b / 0.10);
762
+ --ae-color-danger-border-subtle: rgb(from var(--ae-red) r g b / 0.30);
763
+ --ae-color-danger-text-emphasis: var(--ae-red-300);
764
+
765
+ --ae-color-warning-bg-subtle: rgb(from var(--ae-yellow) r g b / 0.10);
766
+ --ae-color-warning-border-subtle: rgb(from var(--ae-yellow) r g b / 0.30);
767
+ --ae-color-warning-text-emphasis: var(--ae-yellow-300);
768
+
769
+ --ae-color-info-bg-subtle: rgb(from var(--ae-cyan) r g b / 0.10);
770
+ --ae-color-info-border-subtle: rgb(from var(--ae-cyan) r g b / 0.30);
771
+ --ae-color-info-text-emphasis: var(--ae-cyan-300);
772
+
773
+ --ae-color-secondary-bg-subtle: rgb(from var(--ae-slate) r g b / 0.10);
774
+ --ae-color-secondary-border-subtle: rgb(from var(--ae-slate) r g b / 0.30);
775
+ --ae-color-secondary-text-emphasis: var(--ae-slate-300);
776
+
777
+ --ae-color-light-bg-subtle: rgb(from var(--ae-light) r g b / 0.20);
778
+ --ae-color-light-border-subtle: rgb(from var(--ae-light) r g b / 0.25);
779
+
780
+ --ae-color-dark-bg-subtle: rgb(from var(--ae-dark) r g b / 0.30);
781
+ --ae-color-dark-border-subtle: rgb(from var(--ae-dark) r g b / 0.50);
782
+
783
+ /* Component tokens \u2014 dark overrides */
784
+ --ae-action-btn-bg: var(--ae-color-gray);
785
+ --ae-action-btn-bg-hover: color-mix(in srgb, var(--ae-blue) 25%, var(--ae-gray-800));
786
+ --ae-action-btn-color: var(--ae-gray-400);
787
+ --ae-action-btn-color-hover: var(--ae-cyan-300);
788
+ --ae-clear-btn-bg-hover: color-mix(in srgb, var(--ae-red) 25%, var(--ae-gray-800));
789
+ --ae-clear-btn-color-hover: var(--ae-red-300);
790
+ }
791
+ `;
792
+ }
793
+ });
794
+
795
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/size.css
796
+ var require_size = __commonJS({
797
+ "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/size.css"(exports2, module2) {
798
+ module2.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';
799
+ }
800
+ });
801
+
802
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/color.css
803
+ var require_color = __commonJS({
804
+ "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/color.css"(exports2, module2) {
805
+ module2.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';
806
+ }
807
+ });
808
+
809
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/field-label.css
810
+ var require_field_label = __commonJS({
811
+ "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/field-label.css"(exports2, module2) {
812
+ module2.exports = ':host {\n --field-label-gap: 4px;\n --field-label-col-gap: 8px;\n --field-label-width: 100px;\n --field-label-font-size: 0.875em;\n --field-label-color: inherit;\n --field-required-color: var(--ae-red, #dc3545);\n --field-helper-color: var(--ae-color-text-muted, #6e6e6e);\n --field-error-color: var(--ae-red, #dc3545);\n}\n\n:host([label]) {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--field-label-gap);\n}\n\n:host([label][label-placement="left"]) {\n display: grid;\n grid-template-columns: var(--field-label-width) 1fr;\n column-gap: var(--field-label-col-gap);\n row-gap: var(--field-label-gap);\n align-items: center;\n}\n\n:host([label][label-placement="left"]) .field-label {\n align-self: center;\n}\n\n:host([label][label-placement="left"]) .field-helper,\n:host([label][label-placement="left"]) .field-error {\n grid-column: 2;\n}\n\n.field-label {\n font-size: var(--field-label-font-size);\n color: var(--field-label-color);\n user-select: none;\n line-height: 1.4;\n}\n\n.field-required {\n color: var(--field-required-color);\n margin-left: 2px;\n}\n\n.field-helper {\n font-size: 0.8em;\n color: var(--field-helper-color);\n line-height: 1.4;\n}\n\n.field-error {\n font-size: 0.8em;\n color: var(--field-error-color);\n line-height: 1.4;\n}\n\n/* Action controls container (integrated style) */\n.action-controls {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n margin-left: calc(-1 * var(--field-action-gap, 4px) - 1px);\n border: var(--field-action-border-width, 1px) solid var(--field-action-border-color, var(--ae-border-subtle));\n border-radius: 0 var(--field-action-border-radius, var(--ae-radius-xs)) var(--field-action-border-radius, var(--ae-radius-xs)) 0;\n overflow: hidden;\n flex-shrink: 0;\n transition: border-color 0.12s;\n background: var(--field-action-bg, var(--ae-surface-base));\n position: relative;\n z-index: 1;\n align-self: stretch;\n}\n\n.action-controls .action-btn {\n border: none;\n background: transparent;\n color: var(--field-action-color, var(--ae-color-text-muted));\n font-size: 0.875em;\n line-height: 1;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 0.5em;\n transition: background 0.12s;\n}\n\n.action-controls .action-btn:hover:not(:disabled) {\n background: var(--field-action-bg-hover, var(--ae-surface-raised));\n}\n\n.action-controls .action-btn:active:not(:disabled) {\n background: var(--field-action-bg-focus, var(--ae-surface-raised));\n}\n\n.action-controls .action-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.action-controls .action-btn + .action-btn {\n border-left: var(--field-action-border-width, 1px) solid var(--field-action-border-color, var(--ae-border-subtle));\n}\n\n.input-container:has(input:focus) ~ .action-controls,\n.input-container:has(input:focus) .action-controls,\n.container:has(.trigger.open) ~ .action-controls,\n.container:has(.trigger.open) .action-controls {\n border-color: var(--field-action-border-color-focus, var(--ae-border-focus));\n}\n\n.input-container:has(input:hover:not(:focus)) ~ .action-controls,\n.input-container:has(input:hover:not(:focus)) .action-controls,\n.container:has(.trigger:hover:not(.disabled)) ~ .action-controls,\n.container:has(.trigger:hover:not(.disabled)) .action-controls {\n border-color: var(--field-action-border-color-hover, var(--ae-border-default));\n}\n';
813
+ }
814
+ });
815
+
816
+ // css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/action-button.css
817
+ var require_action_button = __commonJS({
818
+ "css-inline:/home/runner/work/aeico-components/aeico-components/src/styles/components/action-button.css"(exports2, module2) {
819
+ module2.exports = "/* Action button base styles \u2014 shared by clear-btn and reset-btn (standalone mode) */\n.clear-btn:not(.action-btn),\n.reset-btn:not(.action-btn) {\n width: 1.333em;\n height: 1.333em;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n line-height: 1;\n}\n\n.clear-btn:not(.action-btn) {\n border-radius: var(--ae-clear-btn-border-radius);\n background: var(--ae-clear-btn-bg);\n color: var(--ae-clear-btn-color);\n transition: var(--ae-clear-btn-transition);\n}\n\n.reset-btn:not(.action-btn) {\n border-radius: var(--ae-reset-btn-border-radius);\n background: var(--ae-reset-btn-bg);\n color: var(--ae-reset-btn-color);\n transition: var(--ae-reset-btn-transition);\n}\n\n.clear-btn:not(.action-btn):hover {\n background: var(--ae-clear-btn-bg-hover);\n color: var(--ae-clear-btn-color-hover);\n}\n\n.reset-btn:not(.action-btn):hover {\n background: var(--ae-reset-btn-bg-hover);\n color: var(--ae-reset-btn-color-hover);\n}\n";
820
+ }
821
+ });
822
+
823
+ // src/slider/index.ts
824
+ var slider_exports = {};
825
+ __export(slider_exports, {
826
+ Slider: () => slider_default,
827
+ default: () => slider_default
828
+ });
829
+ module.exports = __toCommonJS(slider_exports);
830
+
831
+ // src/aeico-field.ts
832
+ var import_aeico2 = require("aeico");
833
+
834
+ // src/aeico-component.ts
835
+ var import_aeico = require("aeico");
836
+
837
+ // src/utils.ts
838
+ function toKebab(str) {
839
+ const cleaned = str.replace(/^[_\d]+/, "");
840
+ return cleaned.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
841
+ }
842
+
843
+ // src/aeico-component.ts
844
+ var TAG_NAME_PREFIX = "ae";
845
+ var AeicoComponent = class extends import_aeico.AeicoElement {
846
+ static register(name) {
847
+ const tagName = name || `${TAG_NAME_PREFIX}-${this.tagName || toKebab(this.name)}`;
848
+ super.register(tagName);
849
+ }
850
+ };
851
+ var aeico_component_default = AeicoComponent;
852
+
853
+ // src/aeico-field.ts
854
+ var AeicoField = class _AeicoField extends aeico_component_default {
855
+ /**
856
+ * Define base field properties (extends AeicoElement properties)
857
+ */
858
+ static props = {
859
+ value: { type: String },
860
+ defaultValue: { type: String },
861
+ resettable: { type: Boolean },
862
+ resetText: { type: String },
863
+ resetTitle: { type: String },
864
+ clearable: { type: Boolean },
865
+ clearText: { type: String },
866
+ clearTitle: { type: String },
867
+ actionButtonStyle: { type: String },
868
+ size: { type: String },
869
+ disabled: { type: Boolean },
870
+ label: { type: String },
871
+ labelPlacement: { type: String },
872
+ required: { type: Boolean },
873
+ helperText: { type: String },
874
+ error: { type: String }
875
+ };
876
+ /**
877
+ * Property watchers
878
+ */
879
+ static watchers = {
880
+ disabled: "onDisabledChanged",
881
+ error: "onErrorChanged"
882
+ };
883
+ static _fieldIdCounter = 0;
884
+ _fieldId;
885
+ constructor() {
886
+ super();
887
+ this._fieldId = `ae-field-${++_AeicoField._fieldIdCounter}`;
888
+ }
889
+ /**
890
+ * The underlying form control element (input, select, etc.)
891
+ * Subclasses should set this to their specific element
892
+ */
893
+ fieldElement = null;
894
+ resetBtn = null;
895
+ clearBtn = null;
896
+ boundOnChange = () => this.setValue(this.getValue(), { silent: false, action: "change" });
897
+ boundOnReset = () => this.onReset();
898
+ boundOnClear = () => this.onClear();
899
+ /**
900
+ * Lifecycle: Component connected to DOM
901
+ */
902
+ connectedCallback() {
903
+ super.connectedCallback();
904
+ }
905
+ /**
906
+ * Lifecycle: Component disconnected from DOM
907
+ */
908
+ disconnectedCallback() {
909
+ super.disconnectedCallback();
910
+ }
911
+ /**
912
+ * Render action buttons (clear/reset) using this.builder.
913
+ * Must be called from within a build() callback.
914
+ */
915
+ renderActionButtons(force = false) {
916
+ const style2 = this.actionButtonStyle || "integrated";
917
+ const hasActions = force || this.clearable || this.resettable;
918
+ if (hasActions && style2 === "integrated") {
919
+ import_aeico2.tags.div({ className: "action-controls" }, () => {
920
+ this.renderClearButton(force);
921
+ this.renderResetButton(force);
922
+ });
923
+ } else {
924
+ this.renderClearButton(force);
925
+ this.renderResetButton(force);
926
+ }
927
+ }
928
+ renderResetButton(force = false) {
929
+ const { button } = import_aeico2.tags;
930
+ const style2 = this.actionButtonStyle || "integrated";
931
+ if (force || this.resettable) {
932
+ const className = style2 === "integrated" ? "reset-btn action-btn" : "reset-btn";
933
+ this.resetBtn = button({
934
+ className,
935
+ textContent: this.resetText || "\u21BA",
936
+ title: this.resetTitle || "\u21BA",
937
+ "@click": this.boundOnReset
938
+ });
939
+ }
940
+ }
941
+ renderClearButton(force = false) {
942
+ const { button } = import_aeico2.tags;
943
+ const style2 = this.actionButtonStyle || "integrated";
944
+ if (force || this.clearable) {
945
+ const className = style2 === "integrated" ? "clear-btn action-btn" : "clear-btn";
946
+ this.clearBtn = button({
947
+ className,
948
+ textContent: this.clearText || "\u2715",
949
+ title: this.clearTitle || "\u2715",
950
+ "@click": this.boundOnClear
951
+ });
952
+ }
953
+ }
954
+ /**
955
+ * Returns a stable unique ID for this field instance,
956
+ * used to associate <label htmlFor> with the underlying input.
957
+ */
958
+ getFieldId() {
959
+ return this._fieldId;
960
+ }
961
+ /**
962
+ * Renders a <label> element when the `label` prop is set.
963
+ * Call this as the first statement inside the render() html() callback.
964
+ * @param fieldId - The id to set on the underlying form control element (pass to input via id prop)
965
+ */
966
+ renderLabel(fieldId) {
967
+ if (!this.label) return;
968
+ const { span } = import_aeico2.tags;
969
+ import_aeico2.tags.label({ id: `${fieldId}-label`, className: "field-label", for: fieldId }, () => {
970
+ span({ textContent: this.label });
971
+ if (this.required) {
972
+ span({ className: "field-required", "aria-hidden": "true", textContent: " *" });
973
+ }
974
+ });
975
+ }
976
+ /**
977
+ * Renders helper text below the field. Hidden when `error` is set.
978
+ * Call this after the field-body div in render().
979
+ */
980
+ renderHelperText() {
981
+ if (!this.helperText || this.error) return;
982
+ const { span } = import_aeico2.tags;
983
+ span({ className: "field-helper", textContent: this.helperText });
984
+ }
985
+ /**
986
+ * Renders an error message below the field when `error` is set.
987
+ * Call this after renderHelperText() in render().
988
+ */
989
+ renderError() {
990
+ if (!this.error) return;
991
+ const { span } = import_aeico2.tags;
992
+ span({ className: "field-error", textContent: this.error });
993
+ }
994
+ /**
995
+ * Watcher for disabled property
996
+ */
997
+ onDisabledChanged(newValue) {
998
+ if (this.fieldElement) {
999
+ this.fieldElement.disabled = Boolean(newValue);
1000
+ }
1001
+ }
1002
+ /**
1003
+ * Watcher for error property — syncs aria-invalid on the field element
1004
+ */
1005
+ onErrorChanged(newValue) {
1006
+ if (this.fieldElement) {
1007
+ if (newValue) {
1008
+ this.fieldElement.setAttribute("aria-invalid", "true");
1009
+ } else {
1010
+ this.fieldElement.removeAttribute("aria-invalid");
1011
+ }
1012
+ }
1013
+ }
1014
+ /**
1015
+ * Lifecycle: called after every render update.
1016
+ * Keeps aria-invalid on fieldElement in sync regardless of watcher timing.
1017
+ */
1018
+ onUpdated(_changedProps) {
1019
+ if (!this.fieldElement) return;
1020
+ if (this.error) {
1021
+ this.fieldElement.setAttribute("aria-invalid", "true");
1022
+ } else {
1023
+ this.fieldElement.removeAttribute("aria-invalid");
1024
+ }
1025
+ }
1026
+ /**
1027
+ * Returns true if the field passes constraint validation.
1028
+ * Delegates to the underlying fieldElement when available;
1029
+ * falls back to a manual required-check otherwise.
1030
+ */
1031
+ checkValidity() {
1032
+ if (this.fieldElement) {
1033
+ return this.fieldElement.checkValidity();
1034
+ }
1035
+ if (this.required) {
1036
+ const v = this.value;
1037
+ return v !== void 0 && v !== "" && v !== null;
1038
+ }
1039
+ return true;
1040
+ }
1041
+ /**
1042
+ * Reports validity, showing the browser's built-in validation UI when possible.
1043
+ */
1044
+ reportValidity() {
1045
+ if (this.fieldElement) {
1046
+ return this.fieldElement.reportValidity();
1047
+ }
1048
+ return this.checkValidity();
1049
+ }
1050
+ /**
1051
+ * Render the field component
1052
+ * Override in subclass to provide custom rendering
1053
+ */
1054
+ render() {
1055
+ }
1056
+ /**
1057
+ * Get current value from the field element
1058
+ * Default implementation returns the value property of fieldElement
1059
+ * Override in subclasses if needed (e.g., checkbox uses checked instead of value)
1060
+ *
1061
+ * @returns Current field value
1062
+ */
1063
+ getValue() {
1064
+ return this.fieldElement?.value || "";
1065
+ }
1066
+ /**
1067
+ * Write value to the underlying UI element and sync props
1068
+ * Subclasses must override this to update their specific UI element
1069
+ *
1070
+ * @param _value New value to write to the element
1071
+ */
1072
+ writeValue(_value) {
1073
+ }
1074
+ /**
1075
+ * Get event payload for change events
1076
+ * Override in subclasses to customize event data (e.g., { checked, oldChecked } for checkbox)
1077
+ *
1078
+ * @param value New value
1079
+ * @param oldValue Previous value
1080
+ * @param action Action type
1081
+ * @returns Event payload object
1082
+ */
1083
+ getEventPayload(value, oldValue, action) {
1084
+ return { value, oldValue, action };
1085
+ }
1086
+ /**
1087
+ * Update field value programmatically (internal method)
1088
+ * Subclasses should provide type-safe public wrappers (e.g., change() method)
1089
+ *
1090
+ * @param value New value
1091
+ * @param options.silent If true, won't emit change event (default: true)
1092
+ * @param options.action Action type for the event (default: 'change')
1093
+ */
1094
+ setValue(value, options) {
1095
+ const oldValue = this.getValue();
1096
+ this.value = value;
1097
+ this.writeValue(value);
1098
+ if (options?.silent === false) {
1099
+ const payload = this.getEventPayload(value, oldValue, options.action || "change");
1100
+ this.emit("change", { detail: payload });
1101
+ }
1102
+ }
1103
+ /**
1104
+ * Reset field to specified value or default value
1105
+ *
1106
+ * @param value Value to reset to, defaults to defaultValue prop
1107
+ * @param options.silent If false, will emit reset event (default: true)
1108
+ */
1109
+ reset(value, options) {
1110
+ const resetValue = value !== void 0 ? value : this.defaultValue;
1111
+ this.setValue(resetValue, { ...options, action: "reset" });
1112
+ }
1113
+ /**
1114
+ * Clear the field value
1115
+ *
1116
+ * @param options.silent If false, will emit clear event (default: true)
1117
+ */
1118
+ clear(options) {
1119
+ this.setValue("", { ...options, action: "clear" });
1120
+ }
1121
+ /**
1122
+ * Handle clear button click
1123
+ * Clears the field and dispatches event
1124
+ */
1125
+ onClear() {
1126
+ this.clear({ silent: false });
1127
+ }
1128
+ /**
1129
+ * Handle reset button click
1130
+ * Resets to default value and dispatches event
1131
+ */
1132
+ onReset() {
1133
+ this.reset(void 0, { silent: false });
1134
+ }
1135
+ };
1136
+ var aeico_field_default = AeicoField;
1137
+
1138
+ // src/slider/slider.ts
1139
+ var import_aeico3 = require("aeico");
1140
+ var import_slider = __toESM(require_slider(), 1);
1141
+ var import_variables = __toESM(require_variables(), 1);
1142
+ var import_size = __toESM(require_size(), 1);
1143
+ var import_color = __toESM(require_color(), 1);
1144
+ var import_field_label = __toESM(require_field_label(), 1);
1145
+ var import_action_button = __toESM(require_action_button(), 1);
1146
+ var import_aeico4 = require("aeico");
1147
+ var _marks_dec, _tracked_dec, _editable_dec, _step_dec, _max_dec, _min_dec, _percentage_dec, _options_dec, _a, _init, _options, _percentage, _min, _max, _step, _editable, _tracked, _marks;
1148
+ var Slider = class extends (_a = aeico_field_default, _options_dec = [(0, import_aeico4.prop)({ type: Array })], _percentage_dec = [(0, import_aeico4.prop)({ type: Boolean })], _min_dec = [(0, import_aeico4.prop)({ type: Number })], _max_dec = [(0, import_aeico4.prop)({ type: Number })], _step_dec = [(0, import_aeico4.prop)({ type: Number })], _editable_dec = [(0, import_aeico4.prop)({ type: Boolean })], _tracked_dec = [(0, import_aeico4.prop)({ type: Boolean })], _marks_dec = [(0, import_aeico4.prop)({
1149
+ type: Array,
1150
+ // bare attribute (<ae-slider marks>) → true; JSON array → MarkItem[]
1151
+ parser: (value) => {
1152
+ if (value === null) return void 0;
1153
+ if (value === "" || value === "true") return true;
1154
+ if (value === "false") return false;
1155
+ try {
1156
+ return JSON.parse(value);
1157
+ } catch {
1158
+ return true;
1159
+ }
1160
+ }
1161
+ })], _a) {
1162
+ constructor() {
1163
+ super();
1164
+ __publicField(this, "fieldElement", null);
1165
+ __publicField(this, "_valueLabel", null);
1166
+ __publicField(this, "_numberInput", null);
1167
+ __publicField(this, "_boundOnRangeInput");
1168
+ __publicField(this, "_boundOnNumberInput");
1169
+ __privateAdd(this, _options, __runInitializers(_init, 8, this, [])), __runInitializers(_init, 11, this);
1170
+ __privateAdd(this, _percentage, __runInitializers(_init, 12, this, false)), __runInitializers(_init, 15, this);
1171
+ __privateAdd(this, _min, __runInitializers(_init, 16, this, 0)), __runInitializers(_init, 19, this);
1172
+ __privateAdd(this, _max, __runInitializers(_init, 20, this, 100)), __runInitializers(_init, 23, this);
1173
+ __privateAdd(this, _step, __runInitializers(_init, 24, this, 1)), __runInitializers(_init, 27, this);
1174
+ __privateAdd(this, _editable, __runInitializers(_init, 28, this, false)), __runInitializers(_init, 31, this);
1175
+ __privateAdd(this, _tracked, __runInitializers(_init, 32, this, false)), __runInitializers(_init, 35, this);
1176
+ __privateAdd(this, _marks, __runInitializers(_init, 36, this)), __runInitializers(_init, 39, this);
1177
+ this._boundOnRangeInput = this._onRangeInput.bind(this);
1178
+ this._boundOnNumberInput = this._onNumberInput.bind(this);
1179
+ }
1180
+ _normalizeOptions() {
1181
+ if (!Array.isArray(this.options) || this.options.length === 0) return null;
1182
+ const opts = this.options.map(
1183
+ (opt) => this._isSliderOption(opt) ? { label: opt.label, value: String(opt.value) } : { label: String(opt), value: String(opt) }
1184
+ );
1185
+ const allNumeric = opts.every((o) => o.value !== "" && !isNaN(Number(o.value)));
1186
+ if (allNumeric) {
1187
+ return [...opts].sort((a, b) => Number(a.value) - Number(b.value)).map((o) => ({ ...o, rangeValue: Number(o.value) }));
1188
+ } else {
1189
+ return opts.map((o, i) => ({ ...o, rangeValue: i }));
1190
+ }
1191
+ }
1192
+ _getRangeAttrs(normalized) {
1193
+ if (normalized && normalized.length >= 1) {
1194
+ const vals = normalized.map((o) => o.rangeValue);
1195
+ const min = Math.min(...vals);
1196
+ const max = Math.max(...vals);
1197
+ const sorted = [...vals].sort((a, b) => a - b);
1198
+ let minGap = Infinity;
1199
+ for (let i = 1; i < sorted.length; i++) {
1200
+ const d = sorted[i] - sorted[i - 1];
1201
+ if (d > 0 && d < minGap) minGap = d;
1202
+ }
1203
+ return {
1204
+ min: String(min),
1205
+ max: String(max),
1206
+ step: minGap === Infinity ? "1" : String(minGap),
1207
+ inOptionsMode: true
1208
+ };
1209
+ }
1210
+ return {
1211
+ min: String(this.min),
1212
+ max: String(this.max),
1213
+ step: String(this.step),
1214
+ inOptionsMode: false
1215
+ };
1216
+ }
1217
+ _toRangeValue(value, normalized) {
1218
+ if (value == null || value === "") return "";
1219
+ if (normalized) {
1220
+ const found = normalized.find((o) => o.value === value);
1221
+ return found !== void 0 ? String(found.rangeValue) : "";
1222
+ }
1223
+ return value;
1224
+ }
1225
+ _fromRangeValue(rv, normalized) {
1226
+ if (normalized) {
1227
+ const n = Number(rv);
1228
+ return normalized.find((o) => o.rangeValue === n)?.value ?? normalized[0]?.value ?? rv;
1229
+ }
1230
+ return rv;
1231
+ }
1232
+ _displayLabel(value, normalized) {
1233
+ if (value == null || value === "") return "";
1234
+ const label = normalized ? normalized.find((o) => o.value === value)?.label ?? value : value;
1235
+ return this.percentage ? `${label}%` : label;
1236
+ }
1237
+ _maxValueLabelWidth(normalized, attrs) {
1238
+ const candidates = normalized ? normalized.map((o) => this._displayLabel(o.value, normalized)) : [this._displayLabel(attrs.min, null), this._displayLabel(attrs.max, null)];
1239
+ const maxLen = Math.max(...candidates.map((l) => l.length), 1);
1240
+ return `${maxLen}ch`;
1241
+ }
1242
+ _updateTrackFill() {
1243
+ if (!this.tracked || !this.fieldElement) return;
1244
+ const min = Number(this.fieldElement.min);
1245
+ const max = Number(this.fieldElement.max);
1246
+ const val = Number(this.fieldElement.value);
1247
+ const range = max - min || 1;
1248
+ const pct = Math.max(0, Math.min(100, (val - min) / range * 100));
1249
+ this.style.setProperty("--fill-pct", `${pct}%`);
1250
+ }
1251
+ _getMarksData(normalized, attrs) {
1252
+ const minVal = Number(attrs.min);
1253
+ const maxVal = Number(attrs.max);
1254
+ const range = maxVal - minVal || 1;
1255
+ const marks = this.marks;
1256
+ if (Array.isArray(marks)) {
1257
+ const result = [];
1258
+ for (const m of marks) {
1259
+ const isObj = m !== null && typeof m === "object";
1260
+ const numVal = isObj ? m.value : m;
1261
+ if (numVal < minVal || numVal > maxVal) continue;
1262
+ const rawLabel = isObj ? m.label ?? String(numVal) : String(numVal);
1263
+ result.push({
1264
+ value: String(numVal),
1265
+ label: this.percentage ? `${rawLabel}%` : rawLabel,
1266
+ pct: (numVal - minVal) / range * 100
1267
+ });
1268
+ }
1269
+ return result;
1270
+ }
1271
+ if (normalized) {
1272
+ return normalized.map((o) => ({
1273
+ value: o.value,
1274
+ label: this.percentage ? `${o.label}%` : o.label,
1275
+ pct: (o.rangeValue - minVal) / range * 100
1276
+ }));
1277
+ }
1278
+ return [
1279
+ { value: attrs.min, label: this.percentage ? `${minVal}%` : String(minVal), pct: 0 },
1280
+ { value: attrs.max, label: this.percentage ? `${maxVal}%` : String(maxVal), pct: 100 }
1281
+ ];
1282
+ }
1283
+ writeValue(value) {
1284
+ const normalized = this._normalizeOptions();
1285
+ const rv = this._toRangeValue(value, normalized);
1286
+ if (this.fieldElement && rv !== "" && this.fieldElement.value !== rv) {
1287
+ this.fieldElement.value = rv;
1288
+ }
1289
+ if (this._valueLabel) {
1290
+ this._valueLabel.textContent = this._displayLabel(value, normalized);
1291
+ }
1292
+ if (this._numberInput && !normalized && this._numberInput.value !== rv) {
1293
+ this._numberInput.value = rv;
1294
+ }
1295
+ this._updateTrackFill();
1296
+ }
1297
+ getValue() {
1298
+ if (!this.fieldElement) return "";
1299
+ return this._fromRangeValue(this.fieldElement.value, this._normalizeOptions());
1300
+ }
1301
+ render() {
1302
+ const normalized = this._normalizeOptions();
1303
+ const attrs = this._getRangeAttrs(normalized);
1304
+ return (0, import_aeico3.html)(({ div, input, span }) => {
1305
+ const id = this.getFieldId();
1306
+ this.renderLabel(id);
1307
+ div({ className: "range-container field-body" }, () => {
1308
+ div({ key: "range-wrapper", className: "range-wrapper" }, () => {
1309
+ this.fieldElement = input({
1310
+ key: "range",
1311
+ id,
1312
+ type: "range",
1313
+ min: attrs.min,
1314
+ max: attrs.max,
1315
+ step: attrs.step,
1316
+ "@input": this._boundOnRangeInput,
1317
+ "@change": this.boundOnChange
1318
+ });
1319
+ if (this.marks) {
1320
+ const marksData = this._getMarksData(normalized, attrs);
1321
+ div({ key: "marks", className: "marks-container" }, () => {
1322
+ for (const m of marksData) {
1323
+ import_aeico3.tags.span(
1324
+ {
1325
+ key: `mark-${m.value}`,
1326
+ className: "mark",
1327
+ style: { left: `${m.pct}%` }
1328
+ },
1329
+ () => {
1330
+ import_aeico3.tags.span({ className: "mark-label", textContent: m.label });
1331
+ }
1332
+ );
1333
+ }
1334
+ });
1335
+ }
1336
+ });
1337
+ this._valueLabel = span({
1338
+ key: "label",
1339
+ className: "value-label",
1340
+ style: { minWidth: this._maxValueLabelWidth(normalized, attrs) },
1341
+ textContent: this._displayLabel(this.value, normalized)
1342
+ });
1343
+ this.renderActionButtons();
1344
+ if (this.editable) {
1345
+ this._numberInput = input({
1346
+ key: "number",
1347
+ type: "number",
1348
+ className: "value-input",
1349
+ min: attrs.min,
1350
+ max: attrs.max,
1351
+ step: attrs.step,
1352
+ // Disabled in options mode: valid values are discrete, free text makes no sense
1353
+ disabled: attrs.inOptionsMode,
1354
+ "@input": this._boundOnNumberInput
1355
+ });
1356
+ } else {
1357
+ this._numberInput = null;
1358
+ }
1359
+ });
1360
+ if (this.value != null) this.writeValue(this.value);
1361
+ this.renderHelperText();
1362
+ this.renderError();
1363
+ });
1364
+ }
1365
+ _onRangeInput() {
1366
+ if (!this.fieldElement) return;
1367
+ const normalized = this._normalizeOptions();
1368
+ const actualValue = this._fromRangeValue(this.fieldElement.value, normalized);
1369
+ if (this._valueLabel) {
1370
+ this._valueLabel.textContent = this._displayLabel(actualValue, normalized);
1371
+ }
1372
+ if (this._numberInput && !normalized) {
1373
+ this._numberInput.value = this.fieldElement.value;
1374
+ }
1375
+ this._updateTrackFill();
1376
+ }
1377
+ _onNumberInput() {
1378
+ if (!this._numberInput || !this.fieldElement) return;
1379
+ const v = this._numberInput.value;
1380
+ if (this.fieldElement.value === v) return;
1381
+ this.fieldElement.value = v;
1382
+ if (this._valueLabel) {
1383
+ this._valueLabel.textContent = this._displayLabel(v, null);
1384
+ }
1385
+ }
1386
+ clear(options) {
1387
+ const normalized = this._normalizeOptions();
1388
+ const attrs = this._getRangeAttrs(normalized);
1389
+ const clearTo = normalized ? normalized.find((o) => String(o.rangeValue) === attrs.min)?.value ?? normalized[0]?.value ?? attrs.min : attrs.min;
1390
+ this.setValue(clearTo, { ...options, action: "clear" });
1391
+ }
1392
+ _isSliderOption(opt) {
1393
+ return opt !== null && typeof opt === "object" && "label" in opt && "value" in opt;
1394
+ }
1395
+ };
1396
+ _init = __decoratorStart(_a);
1397
+ _options = new WeakMap();
1398
+ _percentage = new WeakMap();
1399
+ _min = new WeakMap();
1400
+ _max = new WeakMap();
1401
+ _step = new WeakMap();
1402
+ _editable = new WeakMap();
1403
+ _tracked = new WeakMap();
1404
+ _marks = new WeakMap();
1405
+ __decorateElement(_init, 4, "options", _options_dec, Slider, _options);
1406
+ __decorateElement(_init, 4, "percentage", _percentage_dec, Slider, _percentage);
1407
+ __decorateElement(_init, 4, "min", _min_dec, Slider, _min);
1408
+ __decorateElement(_init, 4, "max", _max_dec, Slider, _max);
1409
+ __decorateElement(_init, 4, "step", _step_dec, Slider, _step);
1410
+ __decorateElement(_init, 4, "editable", _editable_dec, Slider, _editable);
1411
+ __decorateElement(_init, 4, "tracked", _tracked_dec, Slider, _tracked);
1412
+ __decorateElement(_init, 4, "marks", _marks_dec, Slider, _marks);
1413
+ __decoratorMetadata(_init, Slider);
1414
+ __publicField(Slider, "tagName", "slider");
1415
+ __publicField(Slider, "styles", [import_variables.default, import_size.default, import_color.default, import_field_label.default, import_action_button.default, import_slider.default]);
1416
+ Slider.register();
1417
+ var slider_default = Slider;
1418
+ // Annotate the CommonJS export names for ESM import in node:
1419
+ 0 && (module.exports = {
1420
+ Slider
1421
+ });
6
1422
  //# sourceMappingURL=slider.cjs.map