aeico-components 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/README.md +0 -0
  2. package/dist/alert.cjs +637 -4
  3. package/dist/alert.cjs.map +7 -1
  4. package/dist/alert.js +575 -3
  5. package/dist/alert.js.map +7 -1
  6. package/dist/badge.cjs +573 -4
  7. package/dist/badge.cjs.map +7 -1
  8. package/dist/badge.js +510 -3
  9. package/dist/badge.js.map +7 -1
  10. package/dist/breadcrumb.cjs +709 -5
  11. package/dist/breadcrumb.cjs.map +7 -1
  12. package/dist/breadcrumb.js +644 -4
  13. package/dist/breadcrumb.js.map +7 -1
  14. package/dist/button-group.cjs +546 -4
  15. package/dist/button-group.cjs.map +7 -1
  16. package/dist/button-group.js +489 -3
  17. package/dist/button-group.js.map +7 -1
  18. package/dist/button.cjs +834 -4
  19. package/dist/button.cjs.map +7 -1
  20. package/dist/button.js +771 -3
  21. package/dist/button.js.map +7 -1
  22. package/dist/card.cjs +574 -4
  23. package/dist/card.cjs.map +7 -1
  24. package/dist/card.js +516 -3
  25. package/dist/card.js.map +7 -1
  26. package/dist/checkbox.cjs +867 -4
  27. package/dist/checkbox.cjs.map +7 -1
  28. package/dist/checkbox.js +794 -3
  29. package/dist/checkbox.js.map +7 -1
  30. package/dist/copy-button.cjs +1046 -4
  31. package/dist/copy-button.cjs.map +7 -1
  32. package/dist/copy-button.js +969 -3
  33. package/dist/copy-button.js.map +7 -1
  34. package/dist/detail-group.cjs +533 -0
  35. package/dist/detail-group.cjs.map +7 -0
  36. package/dist/detail-group.js +477 -0
  37. package/dist/detail-group.js.map +7 -0
  38. package/dist/detail.cjs +627 -4
  39. package/dist/detail.cjs.map +7 -1
  40. package/dist/detail.js +569 -3
  41. package/dist/detail.js.map +7 -1
  42. package/dist/dialog.cjs +738 -4
  43. package/dist/dialog.cjs.map +7 -1
  44. package/dist/dialog.js +665 -3
  45. package/dist/dialog.js.map +7 -1
  46. package/dist/divider.cjs +558 -4
  47. package/dist/divider.cjs.map +7 -1
  48. package/dist/divider.js +502 -3
  49. package/dist/divider.js.map +7 -1
  50. package/dist/drawer.cjs +818 -4
  51. package/dist/drawer.cjs.map +7 -1
  52. package/dist/drawer.js +749 -3
  53. package/dist/drawer.js.map +7 -1
  54. package/dist/dropdown.cjs +1396 -5
  55. package/dist/dropdown.cjs.map +7 -1
  56. package/dist/dropdown.js +1316 -4
  57. package/dist/dropdown.js.map +7 -1
  58. package/dist/icon-button.cjs +999 -4
  59. package/dist/icon-button.cjs.map +7 -1
  60. package/dist/icon-button.js +930 -3
  61. package/dist/icon-button.js.map +7 -1
  62. package/dist/icon.cjs +613 -4
  63. package/dist/icon.cjs.map +7 -1
  64. package/dist/icon.js +547 -3
  65. package/dist/icon.js.map +7 -1
  66. package/dist/index.cjs +6484 -188
  67. package/dist/index.cjs.map +7 -1
  68. package/dist/index.js +6095 -147
  69. package/dist/index.js.map +7 -1
  70. package/dist/menu.cjs +841 -4
  71. package/dist/menu.cjs.map +7 -1
  72. package/dist/menu.js +785 -3
  73. package/dist/menu.js.map +7 -1
  74. package/dist/navbar.cjs +622 -4
  75. package/dist/navbar.cjs.map +7 -1
  76. package/dist/navbar.js +564 -3
  77. package/dist/navbar.js.map +7 -1
  78. package/dist/number-input.cjs +887 -0
  79. package/dist/number-input.cjs.map +7 -0
  80. package/dist/number-input.js +820 -0
  81. package/dist/number-input.js.map +7 -0
  82. package/dist/pagination.cjs +1099 -4
  83. package/dist/pagination.cjs.map +7 -1
  84. package/dist/pagination.js +1029 -3
  85. package/dist/pagination.js.map +7 -1
  86. package/dist/progress-bar.cjs +581 -4
  87. package/dist/progress-bar.cjs.map +7 -1
  88. package/dist/progress-bar.js +525 -3
  89. package/dist/progress-bar.js.map +7 -1
  90. package/dist/radio-group.cjs +973 -5
  91. package/dist/radio-group.cjs.map +7 -1
  92. package/dist/radio-group.js +899 -4
  93. package/dist/radio-group.js.map +7 -1
  94. package/dist/select.cjs +1242 -45
  95. package/dist/select.cjs.map +7 -1
  96. package/dist/select.js +1159 -44
  97. package/dist/select.js.map +7 -1
  98. package/dist/slider.cjs +1420 -4
  99. package/dist/slider.cjs.map +7 -1
  100. package/dist/slider.js +1351 -3
  101. package/dist/slider.js.map +7 -1
  102. package/dist/spinner.cjs +587 -4
  103. package/dist/spinner.cjs.map +7 -1
  104. package/dist/spinner.js +528 -3
  105. package/dist/spinner.js.map +7 -1
  106. package/dist/styles/layout.cjs +1 -0
  107. package/dist/styles/layout.js +1 -0
  108. package/dist/styles/radius.cjs +1 -0
  109. package/dist/styles/radius.js +1 -0
  110. package/dist/styles/variables.cjs +1 -0
  111. package/dist/styles/variables.js +1 -0
  112. package/dist/switch.cjs +1092 -4
  113. package/dist/switch.cjs.map +7 -1
  114. package/dist/switch.js +1013 -3
  115. package/dist/switch.js.map +7 -1
  116. package/dist/tabs.cjs +660 -6
  117. package/dist/tabs.cjs.map +7 -1
  118. package/dist/tabs.js +591 -5
  119. package/dist/tabs.js.map +7 -1
  120. package/dist/tag.cjs +591 -3
  121. package/dist/tag.cjs.map +7 -1
  122. package/dist/tag.js +532 -2
  123. package/dist/tag.js.map +7 -1
  124. package/dist/text-input.cjs +829 -4
  125. package/dist/text-input.cjs.map +7 -1
  126. package/dist/text-input.js +761 -3
  127. package/dist/text-input.js.map +7 -1
  128. package/dist/textarea.cjs +914 -3
  129. package/dist/textarea.cjs.map +7 -1
  130. package/dist/textarea.js +854 -2
  131. package/dist/textarea.js.map +7 -1
  132. package/dist/tooltip.cjs +764 -4
  133. package/dist/tooltip.cjs.map +7 -1
  134. package/dist/tooltip.js +711 -3
  135. package/dist/tooltip.js.map +7 -1
  136. package/dist/tree.cjs +1059 -4
  137. package/dist/tree.cjs.map +7 -1
  138. package/dist/tree.js +985 -3
  139. package/dist/tree.js.map +7 -1
  140. package/dist/types/card/defines.d.ts +1 -1
  141. package/dist/types/detail/defines.d.ts +1 -1
  142. package/dist/types/dialog/dialog.d.ts +1 -0
  143. package/dist/types/drawer/drawer.d.ts +2 -0
  144. package/dist/types/icon/defines.d.ts +7 -1
  145. package/dist/types/icon/index.d.ts +1 -1
  146. package/dist/types/menu/defines.d.ts +1 -0
  147. package/dist/types/menu/menu-item.d.ts +1 -0
  148. package/dist/types/menu/menu.d.ts +1 -0
  149. package/dist/types/styles/layout.d.ts +2 -0
  150. package/dist/types/styles/radius.d.ts +2 -0
  151. package/dist/types/styles/variables.d.ts +2 -0
  152. package/dist/types/tabs/defines.d.ts +1 -0
  153. package/dist/types/tabs/tabs.d.ts +3 -0
  154. package/package.json +31 -7
  155. package/src/alert/alert.ts +3 -3
  156. package/src/badge/badge.ts +4 -4
  157. package/src/breadcrumb/breadcrumb-item.ts +2 -2
  158. package/src/breadcrumb/breadcrumb.ts +3 -3
  159. package/src/button/button.ts +4 -4
  160. package/src/button-group/button-group.ts +8 -9
  161. package/src/card/card.ts +3 -3
  162. package/src/card/defines.ts +1 -1
  163. package/src/checkbox/checkbox.ts +6 -6
  164. package/src/copy-button/copy-button.ts +13 -9
  165. package/src/detail/defines.ts +1 -1
  166. package/src/detail/detail.ts +3 -3
  167. package/src/detail-group/detail-group.ts +2 -2
  168. package/src/dialog/dialog.ts +15 -14
  169. package/src/divider/divider.ts +3 -3
  170. package/src/drawer/drawer.ts +28 -11
  171. package/src/dropdown/dropdown-item.ts +2 -2
  172. package/src/dropdown/dropdown.ts +2 -2
  173. package/src/icon/defines.ts +8 -1
  174. package/src/icon/icon.ts +32 -14
  175. package/src/icon/index.ts +1 -1
  176. package/src/icon/registry.ts +2 -2
  177. package/src/menu/defines.ts +1 -0
  178. package/src/menu/menu-item.ts +14 -4
  179. package/src/menu/menu.ts +5 -2
  180. package/src/navbar/navbar.ts +3 -3
  181. package/src/number-input/number-input.ts +5 -5
  182. package/src/pagination/pagination.ts +3 -3
  183. package/src/progress-bar/progress-bar.ts +3 -3
  184. package/src/radio-group/radio-group.ts +12 -8
  185. package/src/select/select-option.ts +2 -2
  186. package/src/select/select.ts +5 -5
  187. package/src/slider/slider.ts +6 -6
  188. package/src/spinner/spinner.ts +4 -4
  189. package/src/styles/color.css +91 -91
  190. package/src/styles/components/action-button.css +12 -12
  191. package/src/styles/components/alert.css +22 -28
  192. package/src/styles/components/badge.css +13 -20
  193. package/src/styles/components/breadcrumb-item.css +7 -7
  194. package/src/styles/components/button-group.css +2 -0
  195. package/src/styles/components/button.css +39 -50
  196. package/src/styles/components/card.css +69 -30
  197. package/src/styles/components/checkbox.css +22 -16
  198. package/src/styles/components/copy-button.css +22 -33
  199. package/src/styles/components/detail.css +51 -39
  200. package/src/styles/components/dialog.css +11 -11
  201. package/src/styles/components/divider.css +3 -3
  202. package/src/styles/components/drawer.css +59 -27
  203. package/src/styles/components/dropdown-item.css +7 -8
  204. package/src/styles/components/dropdown.css +3 -4
  205. package/src/styles/components/field-label.css +13 -13
  206. package/src/styles/components/icon-button.css +25 -36
  207. package/src/styles/components/icon.css +1 -1
  208. package/src/styles/components/menu-item.css +13 -8
  209. package/src/styles/components/navbar.css +23 -44
  210. package/src/styles/components/number-input.css +27 -36
  211. package/src/styles/components/pagination.css +31 -31
  212. package/src/styles/components/progress-bar.css +2 -3
  213. package/src/styles/components/radio-group.css +88 -83
  214. package/src/styles/components/select-option.css +5 -5
  215. package/src/styles/components/select.css +21 -33
  216. package/src/styles/components/slider.css +56 -34
  217. package/src/styles/components/spinner.css +7 -9
  218. package/src/styles/components/switch.css +21 -19
  219. package/src/styles/components/tab.css +4 -5
  220. package/src/styles/components/tabs.css +48 -1
  221. package/src/styles/components/tag.css +14 -21
  222. package/src/styles/components/text-input.css +13 -22
  223. package/src/styles/components/textarea.css +12 -21
  224. package/src/styles/components/tooltip.css +4 -5
  225. package/src/styles/components/tree-item.css +12 -12
  226. package/src/styles/layout.css +5 -2
  227. package/src/styles/radius.css +25 -0
  228. package/src/styles/size.css +7 -7
  229. package/src/styles/variables.css +271 -247
  230. package/src/switch/switch.ts +6 -6
  231. package/src/tabs/defines.ts +1 -0
  232. package/src/tabs/tab-panel.ts +1 -1
  233. package/src/tabs/tab.ts +1 -1
  234. package/src/tabs/tabs.ts +14 -2
  235. package/src/tag/tag.ts +4 -4
  236. package/src/text-input/text-input.ts +5 -5
  237. package/src/textarea/textarea.ts +5 -5
  238. package/src/tooltip/tooltip.ts +2 -2
  239. package/src/tree/tree-item.ts +2 -2
  240. package/src/tree/tree.ts +2 -2
  241. package/dist/chunks/action-button.cjs +0 -296
  242. package/dist/chunks/action-button.cjs.map +0 -1
  243. package/dist/chunks/action-button.js +0 -297
  244. package/dist/chunks/action-button.js.map +0 -1
  245. package/dist/chunks/aeico-component.cjs +0 -17
  246. package/dist/chunks/aeico-component.cjs.map +0 -1
  247. package/dist/chunks/aeico-component.js +0 -18
  248. package/dist/chunks/aeico-component.js.map +0 -1
  249. package/dist/chunks/alert.cjs +0 -170
  250. package/dist/chunks/alert.cjs.map +0 -1
  251. package/dist/chunks/alert.js +0 -171
  252. package/dist/chunks/alert.js.map +0 -1
  253. package/dist/chunks/badge.cjs +0 -85
  254. package/dist/chunks/badge.cjs.map +0 -1
  255. package/dist/chunks/badge.js +0 -86
  256. package/dist/chunks/badge.js.map +0 -1
  257. package/dist/chunks/breadcrumb-item.cjs +0 -261
  258. package/dist/chunks/breadcrumb-item.cjs.map +0 -1
  259. package/dist/chunks/breadcrumb-item.js +0 -262
  260. package/dist/chunks/breadcrumb-item.js.map +0 -1
  261. package/dist/chunks/button-group.cjs +0 -79
  262. package/dist/chunks/button-group.cjs.map +0 -1
  263. package/dist/chunks/button-group.js +0 -80
  264. package/dist/chunks/button-group.js.map +0 -1
  265. package/dist/chunks/button.cjs +0 -348
  266. package/dist/chunks/button.cjs.map +0 -1
  267. package/dist/chunks/button.js +0 -349
  268. package/dist/chunks/button.js.map +0 -1
  269. package/dist/chunks/card.cjs +0 -93
  270. package/dist/chunks/card.cjs.map +0 -1
  271. package/dist/chunks/card.js +0 -94
  272. package/dist/chunks/card.js.map +0 -1
  273. package/dist/chunks/checkbox.cjs +0 -86
  274. package/dist/chunks/checkbox.cjs.map +0 -1
  275. package/dist/chunks/checkbox.js +0 -87
  276. package/dist/chunks/checkbox.js.map +0 -1
  277. package/dist/chunks/color.cjs +0 -4
  278. package/dist/chunks/color.cjs.map +0 -1
  279. package/dist/chunks/color.js +0 -5
  280. package/dist/chunks/color.js.map +0 -1
  281. package/dist/chunks/copy-button.cjs +0 -168
  282. package/dist/chunks/copy-button.cjs.map +0 -1
  283. package/dist/chunks/copy-button.js +0 -169
  284. package/dist/chunks/copy-button.js.map +0 -1
  285. package/dist/chunks/detail.cjs +0 -146
  286. package/dist/chunks/detail.cjs.map +0 -1
  287. package/dist/chunks/detail.js +0 -147
  288. package/dist/chunks/detail.js.map +0 -1
  289. package/dist/chunks/dialog.cjs +0 -117
  290. package/dist/chunks/dialog.cjs.map +0 -1
  291. package/dist/chunks/dialog.js +0 -118
  292. package/dist/chunks/dialog.js.map +0 -1
  293. package/dist/chunks/divider.cjs +0 -80
  294. package/dist/chunks/divider.cjs.map +0 -1
  295. package/dist/chunks/divider.js +0 -81
  296. package/dist/chunks/divider.js.map +0 -1
  297. package/dist/chunks/drawer.cjs +0 -180
  298. package/dist/chunks/drawer.cjs.map +0 -1
  299. package/dist/chunks/drawer.js +0 -181
  300. package/dist/chunks/drawer.js.map +0 -1
  301. package/dist/chunks/dropdown-button.cjs +0 -534
  302. package/dist/chunks/dropdown-button.cjs.map +0 -1
  303. package/dist/chunks/dropdown-button.js +0 -535
  304. package/dist/chunks/dropdown-button.js.map +0 -1
  305. package/dist/chunks/icon-button.cjs +0 -35
  306. package/dist/chunks/icon-button.cjs.map +0 -1
  307. package/dist/chunks/icon-button.js +0 -36
  308. package/dist/chunks/icon-button.js.map +0 -1
  309. package/dist/chunks/icon.cjs +0 -108
  310. package/dist/chunks/icon.cjs.map +0 -1
  311. package/dist/chunks/icon.js +0 -109
  312. package/dist/chunks/icon.js.map +0 -1
  313. package/dist/chunks/menu.cjs +0 -396
  314. package/dist/chunks/menu.cjs.map +0 -1
  315. package/dist/chunks/menu.js +0 -397
  316. package/dist/chunks/menu.js.map +0 -1
  317. package/dist/chunks/navbar.cjs +0 -142
  318. package/dist/chunks/navbar.cjs.map +0 -1
  319. package/dist/chunks/navbar.js +0 -143
  320. package/dist/chunks/navbar.js.map +0 -1
  321. package/dist/chunks/pagination.cjs +0 -475
  322. package/dist/chunks/pagination.cjs.map +0 -1
  323. package/dist/chunks/pagination.js +0 -476
  324. package/dist/chunks/pagination.js.map +0 -1
  325. package/dist/chunks/progress-bar.cjs +0 -101
  326. package/dist/chunks/progress-bar.cjs.map +0 -1
  327. package/dist/chunks/progress-bar.js +0 -102
  328. package/dist/chunks/progress-bar.js.map +0 -1
  329. package/dist/chunks/radio.cjs +0 -185
  330. package/dist/chunks/radio.cjs.map +0 -1
  331. package/dist/chunks/radio.js +0 -186
  332. package/dist/chunks/radio.js.map +0 -1
  333. package/dist/chunks/select.cjs +0 -381
  334. package/dist/chunks/select.cjs.map +0 -1
  335. package/dist/chunks/select.js +0 -382
  336. package/dist/chunks/select.js.map +0 -1
  337. package/dist/chunks/size.cjs +0 -4
  338. package/dist/chunks/size.cjs.map +0 -1
  339. package/dist/chunks/size.js +0 -5
  340. package/dist/chunks/size.js.map +0 -1
  341. package/dist/chunks/slider.cjs +0 -611
  342. package/dist/chunks/slider.cjs.map +0 -1
  343. package/dist/chunks/slider.js +0 -612
  344. package/dist/chunks/slider.js.map +0 -1
  345. package/dist/chunks/spinner.cjs +0 -102
  346. package/dist/chunks/spinner.cjs.map +0 -1
  347. package/dist/chunks/spinner.js +0 -103
  348. package/dist/chunks/spinner.js.map +0 -1
  349. package/dist/chunks/switch.cjs +0 -167
  350. package/dist/chunks/switch.cjs.map +0 -1
  351. package/dist/chunks/switch.js +0 -168
  352. package/dist/chunks/switch.js.map +0 -1
  353. package/dist/chunks/tab-panel.cjs +0 -165
  354. package/dist/chunks/tab-panel.cjs.map +0 -1
  355. package/dist/chunks/tab-panel.js +0 -166
  356. package/dist/chunks/tab-panel.js.map +0 -1
  357. package/dist/chunks/tag.cjs +0 -108
  358. package/dist/chunks/tag.cjs.map +0 -1
  359. package/dist/chunks/tag.js +0 -109
  360. package/dist/chunks/tag.js.map +0 -1
  361. package/dist/chunks/text-input.cjs +0 -54
  362. package/dist/chunks/text-input.cjs.map +0 -1
  363. package/dist/chunks/text-input.js +0 -55
  364. package/dist/chunks/text-input.js.map +0 -1
  365. package/dist/chunks/textarea.cjs +0 -137
  366. package/dist/chunks/textarea.cjs.map +0 -1
  367. package/dist/chunks/textarea.js +0 -138
  368. package/dist/chunks/textarea.js.map +0 -1
  369. package/dist/chunks/tooltip.cjs +0 -293
  370. package/dist/chunks/tooltip.cjs.map +0 -1
  371. package/dist/chunks/tooltip.js +0 -294
  372. package/dist/chunks/tooltip.js.map +0 -1
  373. package/dist/chunks/tree.cjs +0 -468
  374. package/dist/chunks/tree.cjs.map +0 -1
  375. package/dist/chunks/tree.js +0 -469
  376. package/dist/chunks/tree.js.map +0 -1
  377. package/dist/chunks/variables.cjs +0 -372
  378. package/dist/chunks/variables.cjs.map +0 -1
  379. package/dist/chunks/variables.js +0 -373
  380. package/dist/chunks/variables.js.map +0 -1
@@ -1,102 +0,0 @@
1
- "use strict";
2
- const aeicoComponent = require("./aeico-component.cjs");
3
- const aeico = require("aeico");
4
- const variables = require("./variables.cjs");
5
- const size = require("./size.cjs");
6
- const color = require("./color.cjs");
7
- const style = ':host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n vertical-align: middle;\n --spinner-size: 1.75em;\n --spinner-thickness: 0.15em;\n --spinner-color: var(--color-solid);\n --spinner-track-color: var(--color-bg-subtle, rgba(0, 0, 0, 0.08));\n --spinner-speed: 0.75s;\n}\n\n:host([size="xs"]) { font-size: 0.75rem; }\n:host([size="sm"]) { font-size: 0.875rem; }\n:host([size="md"]) { font-size: 1rem; }\n:host([size="lg"]) { font-size: 1.5rem; }\n\n.track {\n display: inline-block;\n width: var(--spinner-size);\n height: var(--spinner-size);\n border-radius: 50%;\n border: var(--spinner-thickness) solid var(--spinner-track-color);\n border-top-color: var(--spinner-color);\n animation: ae-spin var(--spinner-speed) linear infinite;\n box-sizing: border-box;\n}\n\n:host([variant="dots"]) .track {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: calc(var(--spinner-size) * 0.2);\n width: auto;\n height: var(--spinner-size);\n border: none;\n border-radius: 0;\n animation: none;\n background: transparent;\n}\n\n:host([variant="dots"]) .dot {\n display: inline-block;\n width: calc(var(--spinner-size) * 0.28);\n height: calc(var(--spinner-size) * 0.28);\n border-radius: 50%;\n background: var(--spinner-color);\n animation: ae-bounce var(--spinner-speed) ease-in-out infinite;\n}\n\n:host([variant="dots"]) .dot:nth-child(2) {\n animation-delay: calc(var(--spinner-speed) / 6);\n}\n\n:host([variant="dots"]) .dot:nth-child(3) {\n animation-delay: calc(var(--spinner-speed) / 3);\n}\n\n@keyframes ae-spin {\n to { transform: rotate(360deg); }\n}\n\n@keyframes ae-bounce {\n 0%, 80%, 100% { transform: scale(0.6); opacity: 0.5; }\n 40% { transform: scale(1); opacity: 1; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .track {\n animation: none;\n border-top-color: var(--spinner-color);\n opacity: 0.6;\n }\n\n :host([variant="dots"]) .dot {\n animation: none;\n opacity: 0.6;\n }\n}\n';
8
- var __create = Object.create;
9
- var __defProp = Object.defineProperty;
10
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
12
- var __typeError = (msg) => {
13
- throw TypeError(msg);
14
- };
15
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
- var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
17
- var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
18
- var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
19
- var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
20
- var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
21
- var __runInitializers = (array, flags, self, value) => {
22
- 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);
23
- return value;
24
- };
25
- var __decorateElement = (array, flags, name, decorators, target, extra) => {
26
- var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
27
- var j = array.length + 1, key = __decoratorStrings[k + 5];
28
- var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
29
- var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
30
- return __privateGet(this, extra);
31
- }, set [name](x) {
32
- return __privateSet(this, extra, x);
33
- } }, name));
34
- for (var i = decorators.length - 1; i >= 0; i--) {
35
- ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
36
- {
37
- ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
38
- access.get = (x) => x[name];
39
- access.set = (x, y) => x[name] = y;
40
- }
41
- it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
42
- if (it === void 0) __expectFn(it) && (desc[key] = it);
43
- else if (typeof it !== "object" || it === null) __typeError("Object expected");
44
- else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
45
- }
46
- return desc && __defProp(target, name, desc), target;
47
- };
48
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
49
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
50
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
51
- 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);
52
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
53
- var _speed_dec, _label_dec, _color_dec, _size_dec, _variant_dec, _a, _init, _variant, _size, _color, _label, _speed;
54
- class Spinner extends (_a = aeicoComponent.AeicoComponent, _variant_dec = [aeico.prop({ type: String })], _size_dec = [aeico.prop({ type: String })], _color_dec = [aeico.prop({ type: String })], _label_dec = [aeico.prop({ type: String })], _speed_dec = [aeico.prop({ type: String })], _a) {
55
- constructor() {
56
- super(...arguments);
57
- __privateAdd(this, _variant, __runInitializers(_init, 8, this, "border")), __runInitializers(_init, 11, this);
58
- __privateAdd(this, _size, __runInitializers(_init, 12, this, "md")), __runInitializers(_init, 15, this);
59
- __privateAdd(this, _color, __runInitializers(_init, 16, this, "default")), __runInitializers(_init, 19, this);
60
- __privateAdd(this, _label, __runInitializers(_init, 20, this, "Loading…")), __runInitializers(_init, 23, this);
61
- __privateAdd(this, _speed, __runInitializers(_init, 24, this)), __runInitializers(_init, 27, this);
62
- }
63
- connectedCallback() {
64
- super.connectedCallback();
65
- this.setAttribute("role", "status");
66
- }
67
- render() {
68
- this.setAttribute("aria-label", this.label);
69
- if (this.speed) {
70
- this.style.setProperty("--spinner-speed", this.speed);
71
- } else {
72
- this.style.removeProperty("--spinner-speed");
73
- }
74
- const isDots = this.variant === "dots";
75
- return aeico.html(({ span }) => {
76
- span({ part: "track", className: "track", "aria-hidden": "true" }, () => {
77
- if (isDots) {
78
- span({ className: "dot" });
79
- span({ className: "dot" });
80
- span({ className: "dot" });
81
- }
82
- });
83
- });
84
- }
85
- }
86
- _init = __decoratorStart(_a);
87
- _variant = /* @__PURE__ */ new WeakMap();
88
- _size = /* @__PURE__ */ new WeakMap();
89
- _color = /* @__PURE__ */ new WeakMap();
90
- _label = /* @__PURE__ */ new WeakMap();
91
- _speed = /* @__PURE__ */ new WeakMap();
92
- __decorateElement(_init, 4, "variant", _variant_dec, Spinner, _variant);
93
- __decorateElement(_init, 4, "size", _size_dec, Spinner, _size);
94
- __decorateElement(_init, 4, "color", _color_dec, Spinner, _color);
95
- __decorateElement(_init, 4, "label", _label_dec, Spinner, _label);
96
- __decorateElement(_init, 4, "speed", _speed_dec, Spinner, _speed);
97
- __decoratorMetadata(_init, Spinner);
98
- __publicField(Spinner, "tagName", "spinner");
99
- __publicField(Spinner, "styles", [variables.variables, size.sizeCSS, color.colorCSS, style]);
100
- Spinner.register();
101
- exports.Spinner = Spinner;
102
- //# sourceMappingURL=spinner.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spinner.cjs","sources":["../../src/spinner/spinner.ts"],"sourcesContent":["import AeicoComponent from '../aeico-component';\nimport type { InferProps } from 'aeico';\nimport { html, prop } from 'aeico';\nimport styleVariables from '../styles/variables.css?inline';\nimport sizeCSS from '../styles/size.css?inline';\nimport colorCSS from '../styles/color.css?inline';\nimport style from '../styles/components/spinner.css?inline';\nimport type { SpinnerColor, SpinnerSize, SpinnerVariant } from './defines';\n\n/**\n * Spinner — animated loading indicator.\n *\n * Supports two visual variants: a rotating ring (`border`, default) and\n * three bouncing dots (`dots`). Size and colour are driven by the shared\n * design-token system.\n *\n * @example\n * ```html\n * <ae-spinner></ae-spinner>\n * <ae-spinner variant=\"dots\" color=\"primary\" size=\"lg\"></ae-spinner>\n * <ae-spinner color=\"success\" speed=\"0.5s\" label=\"Saving…\"></ae-spinner>\n * ```\n */\nclass Spinner extends AeicoComponent {\n static tagName = 'spinner';\n\n @prop({ type: String })\n accessor variant: SpinnerVariant = 'border';\n\n @prop({ type: String })\n accessor size: SpinnerSize = 'md';\n\n @prop({ type: String })\n accessor color: SpinnerColor = 'default';\n\n @prop({ type: String })\n accessor label: string = 'Loading…';\n\n @prop({ type: String })\n accessor speed: string | undefined;\n\n protected static styles = [styleVariables, sizeCSS, colorCSS, style];\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'status');\n }\n\n protected render() {\n this.setAttribute('aria-label', this.label);\n\n if (this.speed) {\n this.style.setProperty('--spinner-speed', this.speed);\n } else {\n this.style.removeProperty('--spinner-speed');\n }\n\n const isDots = this.variant === 'dots';\n\n return html(({ span }) => {\n span({ part: 'track', className: 'track', 'aria-hidden': 'true' }, () => {\n if (isDots) {\n span({ className: 'dot' });\n span({ className: 'dot' });\n span({ className: 'dot' });\n }\n });\n });\n }\n}\n\nSpinner.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-spinner': Spinner;\n }\n}\n\nexport default Spinner;\nexport type SpinnerProps = InferProps<typeof Spinner>;\n"],"names":["AeicoComponent","prop","html","styleVariables","sizeCSS","colorCSS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,YAAA,YAAA,YAAA,WAAA,cAAA,IAAA,OAAA,UAAA,OAAA,QAAA,QAAA;AAuBA,MAAM,iBAAgB,KAAAA,+BAGpB,eAAA,CAACC,WAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,YAAA,CAACA,MAAAA,KAAK,EAAE,MAAM,QAAQ,IAGtB,aAAA,CAACA,MAAAA,KAAK,EAAE,MAAM,QAAQ,CAAA,GAGtB,aAAA,CAACA,MAAAA,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,cAACA,WAAK,EAAE,MAAM,OAAA,CAAQ,IAfF,IAAe;AAAA,EAArC,cAAA;AAAA,UAAA,GAAA,SAAA;AAIE,iBAAA,MAAS,UAA0B,kBAAnC,OAAA,GAAA,MAAmC,QAAA,CAAA,GAAnC,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,OAAoB,kBAA7B,OAAA,IAAA,MAA6B,IAAA,CAAA,GAA7B,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,QAAsB,kBAA/B,OAAA,IAAA,MAA+B,SAAA,CAAA,GAA/B,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,QAAgB,kBAAzB,OAAA,IAAA,MAAyB,UAAA,CAAA,GAAzB,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,QAAT,kBAAA,OAAA,IAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAAA,EAAA;AAAA,EAIA,oBAAoB;AAClB,UAAM,kBAAA;AACN,SAAK,aAAa,QAAQ,QAAQ;AAAA,EACpC;AAAA,EAEU,SAAS;AACjB,SAAK,aAAa,cAAc,KAAK,KAAK;AAE1C,QAAI,KAAK,OAAO;AACd,WAAK,MAAM,YAAY,mBAAmB,KAAK,KAAK;AAAA,IACtD,OAAO;AACL,WAAK,MAAM,eAAe,iBAAiB;AAAA,IAC7C;AAEA,UAAM,SAAS,KAAK,YAAY;AAEhC,WAAOC,MAAAA,KAAK,CAAC,EAAE,WAAW;AACxB,WAAK,EAAE,MAAM,SAAS,WAAW,SAAS,eAAe,OAAA,GAAU,MAAM;AACvE,YAAI,QAAQ;AACV,eAAK,EAAE,WAAW,OAAO;AACzB,eAAK,EAAE,WAAW,OAAO;AACzB,eAAK,EAAE,WAAW,OAAO;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AA9CA,QAAA,iBAAA,EAAA;AAIW,WAAA,oBAAA,QAAA;AAGA,QAAA,oBAAA,QAAA;AAGA,SAAA,oBAAA,QAAA;AAGA,SAAA,oBAAA,QAAA;AAGA,SAAA,oBAAA,QAAA;AAZT,kBAAA,OAAA,GAAS,WADT,cAHI,SAIK,QAAA;AAGT,kBAAA,OAAA,GAAS,QADT,WANI,SAOK,KAAA;AAGT,kBAAA,OAAA,GAAS,SADT,YATI,SAUK,MAAA;AAGT,kBAAA,OAAA,GAAS,SADT,YAZI,SAaK,MAAA;AAGT,kBAAA,OAAA,GAAS,SADT,YAfI,SAgBK,MAAA;AAhBX,oBAAA,OAAM,OAAA;AACJ,cADI,SACG,WAAU,SAAA;AAiBjB,cAlBI,SAkBa,UAAS,CAACC,UAAAA,WAAgBC,KAAAA,SAASC,MAAAA,UAAU,KAAK,CAAA;AA8BrE,QAAQ,SAAA;;"}
@@ -1,103 +0,0 @@
1
- import { A as AeicoComponent } from "./aeico-component.js";
2
- import { prop, html } from "aeico";
3
- import { v as variables } from "./variables.js";
4
- import { s as sizeCSS } from "./size.js";
5
- import { c as colorCSS } from "./color.js";
6
- const style = ':host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n vertical-align: middle;\n --spinner-size: 1.75em;\n --spinner-thickness: 0.15em;\n --spinner-color: var(--color-solid);\n --spinner-track-color: var(--color-bg-subtle, rgba(0, 0, 0, 0.08));\n --spinner-speed: 0.75s;\n}\n\n:host([size="xs"]) { font-size: 0.75rem; }\n:host([size="sm"]) { font-size: 0.875rem; }\n:host([size="md"]) { font-size: 1rem; }\n:host([size="lg"]) { font-size: 1.5rem; }\n\n.track {\n display: inline-block;\n width: var(--spinner-size);\n height: var(--spinner-size);\n border-radius: 50%;\n border: var(--spinner-thickness) solid var(--spinner-track-color);\n border-top-color: var(--spinner-color);\n animation: ae-spin var(--spinner-speed) linear infinite;\n box-sizing: border-box;\n}\n\n:host([variant="dots"]) .track {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: calc(var(--spinner-size) * 0.2);\n width: auto;\n height: var(--spinner-size);\n border: none;\n border-radius: 0;\n animation: none;\n background: transparent;\n}\n\n:host([variant="dots"]) .dot {\n display: inline-block;\n width: calc(var(--spinner-size) * 0.28);\n height: calc(var(--spinner-size) * 0.28);\n border-radius: 50%;\n background: var(--spinner-color);\n animation: ae-bounce var(--spinner-speed) ease-in-out infinite;\n}\n\n:host([variant="dots"]) .dot:nth-child(2) {\n animation-delay: calc(var(--spinner-speed) / 6);\n}\n\n:host([variant="dots"]) .dot:nth-child(3) {\n animation-delay: calc(var(--spinner-speed) / 3);\n}\n\n@keyframes ae-spin {\n to { transform: rotate(360deg); }\n}\n\n@keyframes ae-bounce {\n 0%, 80%, 100% { transform: scale(0.6); opacity: 0.5; }\n 40% { transform: scale(1); opacity: 1; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .track {\n animation: none;\n border-top-color: var(--spinner-color);\n opacity: 0.6;\n }\n\n :host([variant="dots"]) .dot {\n animation: none;\n opacity: 0.6;\n }\n}\n';
7
- var __create = Object.create;
8
- var __defProp = Object.defineProperty;
9
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
11
- var __typeError = (msg) => {
12
- throw TypeError(msg);
13
- };
14
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
- var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
16
- var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
17
- var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
18
- var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
19
- var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
20
- var __runInitializers = (array, flags, self, value) => {
21
- 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);
22
- return value;
23
- };
24
- var __decorateElement = (array, flags, name, decorators, target, extra) => {
25
- var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
26
- var j = array.length + 1, key = __decoratorStrings[k + 5];
27
- var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
28
- var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
29
- return __privateGet(this, extra);
30
- }, set [name](x) {
31
- return __privateSet(this, extra, x);
32
- } }, name));
33
- for (var i = decorators.length - 1; i >= 0; i--) {
34
- ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
35
- {
36
- ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
37
- access.get = (x) => x[name];
38
- access.set = (x, y) => x[name] = y;
39
- }
40
- it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
41
- if (it === void 0) __expectFn(it) && (desc[key] = it);
42
- else if (typeof it !== "object" || it === null) __typeError("Object expected");
43
- else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
44
- }
45
- return desc && __defProp(target, name, desc), target;
46
- };
47
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
48
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
49
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
50
- 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);
51
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
52
- var _speed_dec, _label_dec, _color_dec, _size_dec, _variant_dec, _a, _init, _variant, _size, _color, _label, _speed;
53
- class Spinner extends (_a = AeicoComponent, _variant_dec = [prop({ type: String })], _size_dec = [prop({ type: String })], _color_dec = [prop({ type: String })], _label_dec = [prop({ type: String })], _speed_dec = [prop({ type: String })], _a) {
54
- constructor() {
55
- super(...arguments);
56
- __privateAdd(this, _variant, __runInitializers(_init, 8, this, "border")), __runInitializers(_init, 11, this);
57
- __privateAdd(this, _size, __runInitializers(_init, 12, this, "md")), __runInitializers(_init, 15, this);
58
- __privateAdd(this, _color, __runInitializers(_init, 16, this, "default")), __runInitializers(_init, 19, this);
59
- __privateAdd(this, _label, __runInitializers(_init, 20, this, "Loading…")), __runInitializers(_init, 23, this);
60
- __privateAdd(this, _speed, __runInitializers(_init, 24, this)), __runInitializers(_init, 27, this);
61
- }
62
- connectedCallback() {
63
- super.connectedCallback();
64
- this.setAttribute("role", "status");
65
- }
66
- render() {
67
- this.setAttribute("aria-label", this.label);
68
- if (this.speed) {
69
- this.style.setProperty("--spinner-speed", this.speed);
70
- } else {
71
- this.style.removeProperty("--spinner-speed");
72
- }
73
- const isDots = this.variant === "dots";
74
- return html(({ span }) => {
75
- span({ part: "track", className: "track", "aria-hidden": "true" }, () => {
76
- if (isDots) {
77
- span({ className: "dot" });
78
- span({ className: "dot" });
79
- span({ className: "dot" });
80
- }
81
- });
82
- });
83
- }
84
- }
85
- _init = __decoratorStart(_a);
86
- _variant = /* @__PURE__ */ new WeakMap();
87
- _size = /* @__PURE__ */ new WeakMap();
88
- _color = /* @__PURE__ */ new WeakMap();
89
- _label = /* @__PURE__ */ new WeakMap();
90
- _speed = /* @__PURE__ */ new WeakMap();
91
- __decorateElement(_init, 4, "variant", _variant_dec, Spinner, _variant);
92
- __decorateElement(_init, 4, "size", _size_dec, Spinner, _size);
93
- __decorateElement(_init, 4, "color", _color_dec, Spinner, _color);
94
- __decorateElement(_init, 4, "label", _label_dec, Spinner, _label);
95
- __decorateElement(_init, 4, "speed", _speed_dec, Spinner, _speed);
96
- __decoratorMetadata(_init, Spinner);
97
- __publicField(Spinner, "tagName", "spinner");
98
- __publicField(Spinner, "styles", [variables, sizeCSS, colorCSS, style]);
99
- Spinner.register();
100
- export {
101
- Spinner as S
102
- };
103
- //# sourceMappingURL=spinner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spinner.js","sources":["../../src/spinner/spinner.ts"],"sourcesContent":["import AeicoComponent from '../aeico-component';\nimport type { InferProps } from 'aeico';\nimport { html, prop } from 'aeico';\nimport styleVariables from '../styles/variables.css?inline';\nimport sizeCSS from '../styles/size.css?inline';\nimport colorCSS from '../styles/color.css?inline';\nimport style from '../styles/components/spinner.css?inline';\nimport type { SpinnerColor, SpinnerSize, SpinnerVariant } from './defines';\n\n/**\n * Spinner — animated loading indicator.\n *\n * Supports two visual variants: a rotating ring (`border`, default) and\n * three bouncing dots (`dots`). Size and colour are driven by the shared\n * design-token system.\n *\n * @example\n * ```html\n * <ae-spinner></ae-spinner>\n * <ae-spinner variant=\"dots\" color=\"primary\" size=\"lg\"></ae-spinner>\n * <ae-spinner color=\"success\" speed=\"0.5s\" label=\"Saving…\"></ae-spinner>\n * ```\n */\nclass Spinner extends AeicoComponent {\n static tagName = 'spinner';\n\n @prop({ type: String })\n accessor variant: SpinnerVariant = 'border';\n\n @prop({ type: String })\n accessor size: SpinnerSize = 'md';\n\n @prop({ type: String })\n accessor color: SpinnerColor = 'default';\n\n @prop({ type: String })\n accessor label: string = 'Loading…';\n\n @prop({ type: String })\n accessor speed: string | undefined;\n\n protected static styles = [styleVariables, sizeCSS, colorCSS, style];\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'status');\n }\n\n protected render() {\n this.setAttribute('aria-label', this.label);\n\n if (this.speed) {\n this.style.setProperty('--spinner-speed', this.speed);\n } else {\n this.style.removeProperty('--spinner-speed');\n }\n\n const isDots = this.variant === 'dots';\n\n return html(({ span }) => {\n span({ part: 'track', className: 'track', 'aria-hidden': 'true' }, () => {\n if (isDots) {\n span({ className: 'dot' });\n span({ className: 'dot' });\n span({ className: 'dot' });\n }\n });\n });\n }\n}\n\nSpinner.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-spinner': Spinner;\n }\n}\n\nexport default Spinner;\nexport type SpinnerProps = InferProps<typeof Spinner>;\n"],"names":["styleVariables"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,YAAA,YAAA,YAAA,WAAA,cAAA,IAAA,OAAA,UAAA,OAAA,QAAA,QAAA;AAuBA,MAAM,iBAAgB,KAAA,gBAGpB,eAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,YAAA,CAAC,KAAK,EAAE,MAAM,QAAQ,IAGtB,aAAA,CAAC,KAAK,EAAE,MAAM,QAAQ,CAAA,GAGtB,aAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,cAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,IAfF,IAAe;AAAA,EAArC,cAAA;AAAA,UAAA,GAAA,SAAA;AAIE,iBAAA,MAAS,UAA0B,kBAAnC,OAAA,GAAA,MAAmC,QAAA,CAAA,GAAnC,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,OAAoB,kBAA7B,OAAA,IAAA,MAA6B,IAAA,CAAA,GAA7B,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,QAAsB,kBAA/B,OAAA,IAAA,MAA+B,SAAA,CAAA,GAA/B,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,QAAgB,kBAAzB,OAAA,IAAA,MAAyB,UAAA,CAAA,GAAzB,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,QAAT,kBAAA,OAAA,IAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAAA,EAAA;AAAA,EAIA,oBAAoB;AAClB,UAAM,kBAAA;AACN,SAAK,aAAa,QAAQ,QAAQ;AAAA,EACpC;AAAA,EAEU,SAAS;AACjB,SAAK,aAAa,cAAc,KAAK,KAAK;AAE1C,QAAI,KAAK,OAAO;AACd,WAAK,MAAM,YAAY,mBAAmB,KAAK,KAAK;AAAA,IACtD,OAAO;AACL,WAAK,MAAM,eAAe,iBAAiB;AAAA,IAC7C;AAEA,UAAM,SAAS,KAAK,YAAY;AAEhC,WAAO,KAAK,CAAC,EAAE,WAAW;AACxB,WAAK,EAAE,MAAM,SAAS,WAAW,SAAS,eAAe,OAAA,GAAU,MAAM;AACvE,YAAI,QAAQ;AACV,eAAK,EAAE,WAAW,OAAO;AACzB,eAAK,EAAE,WAAW,OAAO;AACzB,eAAK,EAAE,WAAW,OAAO;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AA9CA,QAAA,iBAAA,EAAA;AAIW,WAAA,oBAAA,QAAA;AAGA,QAAA,oBAAA,QAAA;AAGA,SAAA,oBAAA,QAAA;AAGA,SAAA,oBAAA,QAAA;AAGA,SAAA,oBAAA,QAAA;AAZT,kBAAA,OAAA,GAAS,WADT,cAHI,SAIK,QAAA;AAGT,kBAAA,OAAA,GAAS,QADT,WANI,SAOK,KAAA;AAGT,kBAAA,OAAA,GAAS,SADT,YATI,SAUK,MAAA;AAGT,kBAAA,OAAA,GAAS,SADT,YAZI,SAaK,MAAA;AAGT,kBAAA,OAAA,GAAS,SADT,YAfI,SAgBK,MAAA;AAhBX,oBAAA,OAAM,OAAA;AACJ,cADI,SACG,WAAU,SAAA;AAiBjB,cAlBI,SAkBa,UAAS,CAACA,WAAgB,SAAS,UAAU,KAAK,CAAA;AA8BrE,QAAQ,SAAA;"}
@@ -1,167 +0,0 @@
1
- "use strict";
2
- const actionButton = require("./action-button.cjs");
3
- const aeico = require("aeico");
4
- const variables = require("./variables.cjs");
5
- const size = require("./size.cjs");
6
- const color = require("./color.cjs");
7
- const styles = ":host {\n display: block;\n font-size: var(--size-base);\n\n --switch-field-gap: 4px;\n\n --toggle-width: 2.667em;\n --toggle-height: 1.333em;\n --toggle-slider-size: 1em;\n --toggle-gap: calc((var(--toggle-height) - var(--toggle-slider-size)) / 2);\n --toggle-border-radius: calc(var(--toggle-height) / 2);\n --toggle-bg: var(--color-gray);\n --toggle-bg-checked: var(--color-solid);\n --toggle-slider-bg: white;\n --toggle-transition: 0.2s;\n\n /* Default color when no [color] attribute — overridden by color.css :host([color=...]) */\n --color-solid: var(--color-primary);\n}\n\n.switch-container {\n display: flex;\n align-items: center;\n gap: var(--switch-field-gap);\n}\n\n.switch-wrapper {\n position: relative;\n display: inline-flex;\n align-items: center;\n width: var(--toggle-width);\n height: var(--toggle-height);\n flex-shrink: 0;\n}\n\n.field-input {\n position: absolute;\n opacity: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n margin: 0;\n z-index: 1;\n border: none;\n border-radius: 0;\n background: none;\n accent-color: unset;\n}\n\n.field-input:disabled {\n cursor: not-allowed;\n}\n\n.toggle-slider {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--toggle-bg);\n border-radius: var(--toggle-border-radius);\n transition: var(--toggle-transition);\n pointer-events: none;\n}\n\n.toggle-slider::before {\n content: '';\n position: absolute;\n height: var(--toggle-slider-size);\n width: var(--toggle-slider-size);\n left: var(--toggle-gap);\n top: var(--toggle-gap);\n background: var(--toggle-slider-bg);\n border-radius: 50%;\n transition: var(--toggle-transition);\n}\n\n.field-input:checked + .toggle-slider {\n background: var(--toggle-bg-checked);\n}\n\n.field-input:checked + .toggle-slider::before {\n transform: translateX(calc(var(--toggle-width) - var(--toggle-height)));\n}\n\n.field-input:disabled + .toggle-slider {\n opacity: 0.5;\n pointer-events: auto;\n}\n\n/* ===== Icon size override ===== */\n/* ae-icon shadow DOM sets :host { font-size: 20px }, external styles beat it.\n Font-size on the CONTAINER span must NOT be set here — doing so causes\n double-multiplying (container 0.72× then ae-icon 0.72× again = tiny icons).\n Only the ae-icon element itself is targeted. */\n.toggle-knob-icon ae-icon,\n.track-icon ae-icon {\n font-size: var(--toggle-icon-size, calc(var(--toggle-slider-size) * 0.72));\n width: 1em;\n height: 1em;\n}\n\n/* ===== Knob icons ===== */\n.toggle-knob-icon {\n position: absolute;\n height: var(--toggle-slider-size);\n width: var(--toggle-slider-size);\n left: var(--toggle-gap);\n top: var(--toggle-gap);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n color: var(--toggle-knob-icon-color, rgba(0, 0, 0, 0.6));\n transition: var(--toggle-transition);\n}\n\n.field-input:checked + .toggle-slider .toggle-knob-icon {\n transform: translateX(calc(var(--toggle-width) - var(--toggle-height)));\n}\n\n.toggle-knob-icon.icon-checked {\n opacity: 0;\n}\n\n.field-input:checked + .toggle-slider .toggle-knob-icon.icon-checked {\n opacity: 1;\n}\n\n.field-input:checked + .toggle-slider .toggle-knob-icon.icon-unchecked {\n opacity: 0;\n}\n\n/* ===== Track icons ===== */\n/* Positioned at the same location as the knob in each state (the circular ends),\n so the icon appears to live inside the circle, not on the flat track sides. */\n.track-icon {\n position: absolute;\n top: var(--toggle-gap);\n width: var(--toggle-slider-size);\n height: var(--toggle-slider-size);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n color: var(--toggle-track-icon-color, white);\n transition: opacity var(--toggle-transition);\n}\n\n.track-icon-left {\n left: var(--toggle-gap);\n opacity: 0;\n}\n\n.track-icon-right {\n right: var(--toggle-gap);\n opacity: 1;\n}\n\n.field-input:checked + .toggle-slider .track-icon-left {\n opacity: 1;\n}\n\n.field-input:checked + .toggle-slider .track-icon-right {\n opacity: 0;\n}\n";
8
- var __create = Object.create;
9
- var __defProp = Object.defineProperty;
10
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
12
- var __typeError = (msg) => {
13
- throw TypeError(msg);
14
- };
15
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
- var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
17
- var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
18
- var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
19
- var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
20
- var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
21
- var __runInitializers = (array, flags, self, value) => {
22
- 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);
23
- return value;
24
- };
25
- var __decorateElement = (array, flags, name, decorators, target, extra) => {
26
- var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
27
- var j = array.length + 1, key = __decoratorStrings[k + 5];
28
- var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
29
- var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
30
- return __privateGet(this, extra);
31
- }, set [name](x) {
32
- return __privateSet(this, extra, x);
33
- } }, name));
34
- for (var i = decorators.length - 1; i >= 0; i--) {
35
- ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
36
- {
37
- ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
38
- access.get = (x) => x[name];
39
- access.set = (x, y) => x[name] = y;
40
- }
41
- it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
42
- if (it === void 0) __expectFn(it) && (desc[key] = it);
43
- else if (typeof it !== "object" || it === null) __typeError("Object expected");
44
- else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
45
- }
46
- return desc && __defProp(target, name, desc), target;
47
- };
48
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
49
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
50
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
51
- 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);
52
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
53
- var _iconPlacement_dec, _iconChecked_dec, _icon_dec, _defaultChecked_dec, _checked_dec, _a, _init, _checked, _defaultChecked, _icon, _iconChecked, _iconPlacement;
54
- class Switch extends (_a = actionButton.AeicoField, _checked_dec = [aeico.prop({ type: Boolean })], _defaultChecked_dec = [aeico.prop({ type: Boolean })], _icon_dec = [aeico.prop({ type: String })], _iconChecked_dec = [aeico.prop({ type: String })], _iconPlacement_dec = [aeico.prop({ type: String })], _a) {
55
- constructor() {
56
- super(...arguments);
57
- __publicField(this, "fieldElement", null);
58
- __privateAdd(this, _checked, __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);
59
- __privateAdd(this, _defaultChecked, __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);
60
- __privateAdd(this, _icon, __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
61
- __privateAdd(this, _iconChecked, __runInitializers(_init, 20, this)), __runInitializers(_init, 23, this);
62
- __privateAdd(this, _iconPlacement, __runInitializers(_init, 24, this)), __runInitializers(_init, 27, this);
63
- }
64
- getValue() {
65
- var _a2;
66
- return ((_a2 = this.fieldElement) == null ? void 0 : _a2.checked) ?? false;
67
- }
68
- writeValue(checked) {
69
- if (this.fieldElement) {
70
- this.fieldElement.checked = Boolean(checked);
71
- }
72
- }
73
- getEventPayload(checked, oldChecked, action) {
74
- return { checked, oldChecked, action };
75
- }
76
- setValue(checked, options) {
77
- const oldChecked = this.getValue();
78
- this.checked = checked;
79
- this.writeValue(checked);
80
- if ((options == null ? void 0 : options.silent) === false) {
81
- this.emit("change", {
82
- detail: this.getEventPayload(checked, oldChecked, options.action || "change")
83
- });
84
- }
85
- }
86
- reset(checked, options) {
87
- this.setValue(checked !== void 0 ? checked : this.defaultChecked ?? false, {
88
- ...options,
89
- action: "reset"
90
- });
91
- }
92
- clear(options) {
93
- this.setValue(false, { ...options, action: "clear" });
94
- }
95
- render() {
96
- return aeico.html(({ div, input, span, aeIcon }) => {
97
- const id = this.getFieldId();
98
- this.renderLabel(id);
99
- div({ className: "switch-container field-body" }, () => {
100
- div({ className: "switch-wrapper" }, () => {
101
- this.fieldElement = input({
102
- id,
103
- type: "checkbox",
104
- className: "field-input",
105
- checked: Boolean(this.checked),
106
- disabled: Boolean(this.disabled),
107
- required: Boolean(this.required),
108
- "@change": this.boundOnChange
109
- });
110
- const hasIcon = this.icon || this.iconChecked;
111
- const placement = this.iconPlacement ?? "knob";
112
- span({ className: "toggle-slider" }, () => {
113
- if (!hasIcon) return;
114
- if (placement === "track") {
115
- span({ className: "track-icon track-icon-left" }, () => {
116
- aeIcon({ name: this.iconChecked ?? this.icon });
117
- });
118
- span({ className: "track-icon track-icon-right" }, () => {
119
- aeIcon({ name: this.icon ?? this.iconChecked });
120
- });
121
- } else {
122
- if (this.icon && this.iconChecked) {
123
- span({ className: "toggle-knob-icon icon-unchecked" }, () => {
124
- aeIcon({ name: this.icon });
125
- });
126
- span({ className: "toggle-knob-icon icon-checked" }, () => {
127
- aeIcon({ name: this.iconChecked });
128
- });
129
- } else {
130
- span({ className: "toggle-knob-icon" }, () => {
131
- aeIcon({ name: this.icon ?? this.iconChecked });
132
- });
133
- }
134
- }
135
- });
136
- });
137
- this.renderActionButtons();
138
- });
139
- this.renderHelperText();
140
- this.renderError();
141
- });
142
- }
143
- }
144
- _init = __decoratorStart(_a);
145
- _checked = /* @__PURE__ */ new WeakMap();
146
- _defaultChecked = /* @__PURE__ */ new WeakMap();
147
- _icon = /* @__PURE__ */ new WeakMap();
148
- _iconChecked = /* @__PURE__ */ new WeakMap();
149
- _iconPlacement = /* @__PURE__ */ new WeakMap();
150
- __decorateElement(_init, 4, "checked", _checked_dec, Switch, _checked);
151
- __decorateElement(_init, 4, "defaultChecked", _defaultChecked_dec, Switch, _defaultChecked);
152
- __decorateElement(_init, 4, "icon", _icon_dec, Switch, _icon);
153
- __decorateElement(_init, 4, "iconChecked", _iconChecked_dec, Switch, _iconChecked);
154
- __decorateElement(_init, 4, "iconPlacement", _iconPlacement_dec, Switch, _iconPlacement);
155
- __decoratorMetadata(_init, Switch);
156
- __publicField(Switch, "tagName", "switch");
157
- __publicField(Switch, "styles", [
158
- variables.variables,
159
- size.sizeCSS,
160
- color.colorCSS,
161
- actionButton.fieldLabelCSS,
162
- actionButton.actionButtonCSS,
163
- styles
164
- ]);
165
- Switch.register();
166
- exports.Switch = Switch;
167
- //# sourceMappingURL=switch.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"switch.cjs","sources":["../../src/switch/switch.ts"],"sourcesContent":["import AeicoField, { type FieldAction } from '../aeico-field';\nimport type { InferProps } from 'aeico';\nimport { html, prop } from 'aeico';\nimport type { SwitchIconPlacement } from './defines';\nimport '../icon/icon';\nimport styleVariables from '../styles/variables.css?inline';\nimport sizeCSS from '../styles/size.css?inline';\nimport colorCSS from '../styles/color.css?inline';\nimport fieldLabelCSS from '../styles/components/field-label.css?inline';\nimport actionButtonCSS from '../styles/components/action-button.css?inline';\nimport styles from '../styles/components/switch.css?inline';\n\nclass Switch extends AeicoField<boolean> {\n protected fieldElement: HTMLInputElement | null = null;\n\n static tagName = 'switch';\n\n @prop({ type: Boolean })\n accessor checked: boolean | undefined;\n\n @prop({ type: Boolean })\n accessor defaultChecked: boolean | undefined;\n\n @prop({ type: String })\n accessor icon: string | undefined;\n\n @prop({ type: String })\n accessor iconChecked: string | undefined;\n\n @prop({ type: String })\n accessor iconPlacement: SwitchIconPlacement | undefined;\n\n protected static styles = [\n styleVariables,\n sizeCSS,\n colorCSS,\n fieldLabelCSS,\n actionButtonCSS,\n styles,\n ];\n\n protected getValue(): boolean {\n return this.fieldElement?.checked ?? false;\n }\n\n protected writeValue(checked: boolean): void {\n if (this.fieldElement) {\n this.fieldElement.checked = Boolean(checked);\n }\n }\n\n protected getEventPayload(checked: boolean, oldChecked: boolean, action: FieldAction) {\n return { checked, oldChecked, action };\n }\n\n protected setValue(checked: boolean, options?: { silent?: boolean; action?: FieldAction }): void {\n const oldChecked = this.getValue();\n this.checked = checked;\n this.writeValue(checked);\n if (options?.silent === false) {\n this.emit('change', {\n detail: this.getEventPayload(checked, oldChecked, options.action || 'change'),\n });\n }\n }\n\n public reset(checked?: boolean, options?: { silent?: boolean }): void {\n this.setValue(checked !== undefined ? checked : (this.defaultChecked ?? false), {\n ...options,\n action: 'reset',\n });\n }\n\n public clear(options?: { silent?: boolean }): void {\n this.setValue(false, { ...options, action: 'clear' });\n }\n\n render() {\n return html(({ div, input, span, aeIcon }) => {\n const id = this.getFieldId();\n this.renderLabel(id);\n div({ className: 'switch-container field-body' }, () => {\n div({ className: 'switch-wrapper' }, () => {\n this.fieldElement = input({\n id,\n type: 'checkbox',\n className: 'field-input',\n checked: Boolean(this.checked),\n disabled: Boolean(this.disabled),\n required: Boolean(this.required),\n '@change': this.boundOnChange,\n });\n const hasIcon = this.icon || this.iconChecked;\n const placement = this.iconPlacement ?? 'knob';\n span({ className: 'toggle-slider' }, () => {\n if (!hasIcon) return;\n if (placement === 'track') {\n span({ className: 'track-icon track-icon-left' }, () => {\n aeIcon({ name: this.iconChecked ?? this.icon! });\n });\n span({ className: 'track-icon track-icon-right' }, () => {\n aeIcon({ name: this.icon ?? this.iconChecked! });\n });\n } else {\n if (this.icon && this.iconChecked) {\n span({ className: 'toggle-knob-icon icon-unchecked' }, () => {\n aeIcon({ name: this.icon! });\n });\n span({ className: 'toggle-knob-icon icon-checked' }, () => {\n aeIcon({ name: this.iconChecked! });\n });\n } else {\n span({ className: 'toggle-knob-icon' }, () => {\n aeIcon({ name: (this.icon ?? this.iconChecked)! });\n });\n }\n }\n });\n });\n this.renderActionButtons();\n });\n this.renderHelperText();\n this.renderError();\n });\n }\n}\n\nSwitch.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-switch': Switch;\n }\n}\n\nexport default Switch;\nexport type SwitchProps = InferProps<typeof Switch>;\n"],"names":["AeicoField","prop","_a","html","styleVariables","sizeCSS","colorCSS","fieldLabelCSS","actionButtonCSS"],"mappings":"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"}
@@ -1,168 +0,0 @@
1
- import { A as AeicoField, f as fieldLabelCSS, a as actionButtonCSS } from "./action-button.js";
2
- import { prop, html } from "aeico";
3
- import { v as variables } from "./variables.js";
4
- import { s as sizeCSS } from "./size.js";
5
- import { c as colorCSS } from "./color.js";
6
- const styles = ":host {\n display: block;\n font-size: var(--size-base);\n\n --switch-field-gap: 4px;\n\n --toggle-width: 2.667em;\n --toggle-height: 1.333em;\n --toggle-slider-size: 1em;\n --toggle-gap: calc((var(--toggle-height) - var(--toggle-slider-size)) / 2);\n --toggle-border-radius: calc(var(--toggle-height) / 2);\n --toggle-bg: var(--color-gray);\n --toggle-bg-checked: var(--color-solid);\n --toggle-slider-bg: white;\n --toggle-transition: 0.2s;\n\n /* Default color when no [color] attribute — overridden by color.css :host([color=...]) */\n --color-solid: var(--color-primary);\n}\n\n.switch-container {\n display: flex;\n align-items: center;\n gap: var(--switch-field-gap);\n}\n\n.switch-wrapper {\n position: relative;\n display: inline-flex;\n align-items: center;\n width: var(--toggle-width);\n height: var(--toggle-height);\n flex-shrink: 0;\n}\n\n.field-input {\n position: absolute;\n opacity: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n margin: 0;\n z-index: 1;\n border: none;\n border-radius: 0;\n background: none;\n accent-color: unset;\n}\n\n.field-input:disabled {\n cursor: not-allowed;\n}\n\n.toggle-slider {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--toggle-bg);\n border-radius: var(--toggle-border-radius);\n transition: var(--toggle-transition);\n pointer-events: none;\n}\n\n.toggle-slider::before {\n content: '';\n position: absolute;\n height: var(--toggle-slider-size);\n width: var(--toggle-slider-size);\n left: var(--toggle-gap);\n top: var(--toggle-gap);\n background: var(--toggle-slider-bg);\n border-radius: 50%;\n transition: var(--toggle-transition);\n}\n\n.field-input:checked + .toggle-slider {\n background: var(--toggle-bg-checked);\n}\n\n.field-input:checked + .toggle-slider::before {\n transform: translateX(calc(var(--toggle-width) - var(--toggle-height)));\n}\n\n.field-input:disabled + .toggle-slider {\n opacity: 0.5;\n pointer-events: auto;\n}\n\n/* ===== Icon size override ===== */\n/* ae-icon shadow DOM sets :host { font-size: 20px }, external styles beat it.\n Font-size on the CONTAINER span must NOT be set here — doing so causes\n double-multiplying (container 0.72× then ae-icon 0.72× again = tiny icons).\n Only the ae-icon element itself is targeted. */\n.toggle-knob-icon ae-icon,\n.track-icon ae-icon {\n font-size: var(--toggle-icon-size, calc(var(--toggle-slider-size) * 0.72));\n width: 1em;\n height: 1em;\n}\n\n/* ===== Knob icons ===== */\n.toggle-knob-icon {\n position: absolute;\n height: var(--toggle-slider-size);\n width: var(--toggle-slider-size);\n left: var(--toggle-gap);\n top: var(--toggle-gap);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n color: var(--toggle-knob-icon-color, rgba(0, 0, 0, 0.6));\n transition: var(--toggle-transition);\n}\n\n.field-input:checked + .toggle-slider .toggle-knob-icon {\n transform: translateX(calc(var(--toggle-width) - var(--toggle-height)));\n}\n\n.toggle-knob-icon.icon-checked {\n opacity: 0;\n}\n\n.field-input:checked + .toggle-slider .toggle-knob-icon.icon-checked {\n opacity: 1;\n}\n\n.field-input:checked + .toggle-slider .toggle-knob-icon.icon-unchecked {\n opacity: 0;\n}\n\n/* ===== Track icons ===== */\n/* Positioned at the same location as the knob in each state (the circular ends),\n so the icon appears to live inside the circle, not on the flat track sides. */\n.track-icon {\n position: absolute;\n top: var(--toggle-gap);\n width: var(--toggle-slider-size);\n height: var(--toggle-slider-size);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n color: var(--toggle-track-icon-color, white);\n transition: opacity var(--toggle-transition);\n}\n\n.track-icon-left {\n left: var(--toggle-gap);\n opacity: 0;\n}\n\n.track-icon-right {\n right: var(--toggle-gap);\n opacity: 1;\n}\n\n.field-input:checked + .toggle-slider .track-icon-left {\n opacity: 1;\n}\n\n.field-input:checked + .toggle-slider .track-icon-right {\n opacity: 0;\n}\n";
7
- var __create = Object.create;
8
- var __defProp = Object.defineProperty;
9
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
11
- var __typeError = (msg) => {
12
- throw TypeError(msg);
13
- };
14
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
- var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
16
- var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
17
- var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
18
- var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
19
- var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
20
- var __runInitializers = (array, flags, self, value) => {
21
- 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);
22
- return value;
23
- };
24
- var __decorateElement = (array, flags, name, decorators, target, extra) => {
25
- var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
26
- var j = array.length + 1, key = __decoratorStrings[k + 5];
27
- var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
28
- var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
29
- return __privateGet(this, extra);
30
- }, set [name](x) {
31
- return __privateSet(this, extra, x);
32
- } }, name));
33
- for (var i = decorators.length - 1; i >= 0; i--) {
34
- ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
35
- {
36
- ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
37
- access.get = (x) => x[name];
38
- access.set = (x, y) => x[name] = y;
39
- }
40
- it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
41
- if (it === void 0) __expectFn(it) && (desc[key] = it);
42
- else if (typeof it !== "object" || it === null) __typeError("Object expected");
43
- else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
44
- }
45
- return desc && __defProp(target, name, desc), target;
46
- };
47
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
48
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
49
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
50
- 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);
51
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
52
- var _iconPlacement_dec, _iconChecked_dec, _icon_dec, _defaultChecked_dec, _checked_dec, _a, _init, _checked, _defaultChecked, _icon, _iconChecked, _iconPlacement;
53
- class Switch extends (_a = AeicoField, _checked_dec = [prop({ type: Boolean })], _defaultChecked_dec = [prop({ type: Boolean })], _icon_dec = [prop({ type: String })], _iconChecked_dec = [prop({ type: String })], _iconPlacement_dec = [prop({ type: String })], _a) {
54
- constructor() {
55
- super(...arguments);
56
- __publicField(this, "fieldElement", null);
57
- __privateAdd(this, _checked, __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);
58
- __privateAdd(this, _defaultChecked, __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);
59
- __privateAdd(this, _icon, __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
60
- __privateAdd(this, _iconChecked, __runInitializers(_init, 20, this)), __runInitializers(_init, 23, this);
61
- __privateAdd(this, _iconPlacement, __runInitializers(_init, 24, this)), __runInitializers(_init, 27, this);
62
- }
63
- getValue() {
64
- var _a2;
65
- return ((_a2 = this.fieldElement) == null ? void 0 : _a2.checked) ?? false;
66
- }
67
- writeValue(checked) {
68
- if (this.fieldElement) {
69
- this.fieldElement.checked = Boolean(checked);
70
- }
71
- }
72
- getEventPayload(checked, oldChecked, action) {
73
- return { checked, oldChecked, action };
74
- }
75
- setValue(checked, options) {
76
- const oldChecked = this.getValue();
77
- this.checked = checked;
78
- this.writeValue(checked);
79
- if ((options == null ? void 0 : options.silent) === false) {
80
- this.emit("change", {
81
- detail: this.getEventPayload(checked, oldChecked, options.action || "change")
82
- });
83
- }
84
- }
85
- reset(checked, options) {
86
- this.setValue(checked !== void 0 ? checked : this.defaultChecked ?? false, {
87
- ...options,
88
- action: "reset"
89
- });
90
- }
91
- clear(options) {
92
- this.setValue(false, { ...options, action: "clear" });
93
- }
94
- render() {
95
- return html(({ div, input, span, aeIcon }) => {
96
- const id = this.getFieldId();
97
- this.renderLabel(id);
98
- div({ className: "switch-container field-body" }, () => {
99
- div({ className: "switch-wrapper" }, () => {
100
- this.fieldElement = input({
101
- id,
102
- type: "checkbox",
103
- className: "field-input",
104
- checked: Boolean(this.checked),
105
- disabled: Boolean(this.disabled),
106
- required: Boolean(this.required),
107
- "@change": this.boundOnChange
108
- });
109
- const hasIcon = this.icon || this.iconChecked;
110
- const placement = this.iconPlacement ?? "knob";
111
- span({ className: "toggle-slider" }, () => {
112
- if (!hasIcon) return;
113
- if (placement === "track") {
114
- span({ className: "track-icon track-icon-left" }, () => {
115
- aeIcon({ name: this.iconChecked ?? this.icon });
116
- });
117
- span({ className: "track-icon track-icon-right" }, () => {
118
- aeIcon({ name: this.icon ?? this.iconChecked });
119
- });
120
- } else {
121
- if (this.icon && this.iconChecked) {
122
- span({ className: "toggle-knob-icon icon-unchecked" }, () => {
123
- aeIcon({ name: this.icon });
124
- });
125
- span({ className: "toggle-knob-icon icon-checked" }, () => {
126
- aeIcon({ name: this.iconChecked });
127
- });
128
- } else {
129
- span({ className: "toggle-knob-icon" }, () => {
130
- aeIcon({ name: this.icon ?? this.iconChecked });
131
- });
132
- }
133
- }
134
- });
135
- });
136
- this.renderActionButtons();
137
- });
138
- this.renderHelperText();
139
- this.renderError();
140
- });
141
- }
142
- }
143
- _init = __decoratorStart(_a);
144
- _checked = /* @__PURE__ */ new WeakMap();
145
- _defaultChecked = /* @__PURE__ */ new WeakMap();
146
- _icon = /* @__PURE__ */ new WeakMap();
147
- _iconChecked = /* @__PURE__ */ new WeakMap();
148
- _iconPlacement = /* @__PURE__ */ new WeakMap();
149
- __decorateElement(_init, 4, "checked", _checked_dec, Switch, _checked);
150
- __decorateElement(_init, 4, "defaultChecked", _defaultChecked_dec, Switch, _defaultChecked);
151
- __decorateElement(_init, 4, "icon", _icon_dec, Switch, _icon);
152
- __decorateElement(_init, 4, "iconChecked", _iconChecked_dec, Switch, _iconChecked);
153
- __decorateElement(_init, 4, "iconPlacement", _iconPlacement_dec, Switch, _iconPlacement);
154
- __decoratorMetadata(_init, Switch);
155
- __publicField(Switch, "tagName", "switch");
156
- __publicField(Switch, "styles", [
157
- variables,
158
- sizeCSS,
159
- colorCSS,
160
- fieldLabelCSS,
161
- actionButtonCSS,
162
- styles
163
- ]);
164
- Switch.register();
165
- export {
166
- Switch as S
167
- };
168
- //# sourceMappingURL=switch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"switch.js","sources":["../../src/switch/switch.ts"],"sourcesContent":["import AeicoField, { type FieldAction } from '../aeico-field';\nimport type { InferProps } from 'aeico';\nimport { html, prop } from 'aeico';\nimport type { SwitchIconPlacement } from './defines';\nimport '../icon/icon';\nimport styleVariables from '../styles/variables.css?inline';\nimport sizeCSS from '../styles/size.css?inline';\nimport colorCSS from '../styles/color.css?inline';\nimport fieldLabelCSS from '../styles/components/field-label.css?inline';\nimport actionButtonCSS from '../styles/components/action-button.css?inline';\nimport styles from '../styles/components/switch.css?inline';\n\nclass Switch extends AeicoField<boolean> {\n protected fieldElement: HTMLInputElement | null = null;\n\n static tagName = 'switch';\n\n @prop({ type: Boolean })\n accessor checked: boolean | undefined;\n\n @prop({ type: Boolean })\n accessor defaultChecked: boolean | undefined;\n\n @prop({ type: String })\n accessor icon: string | undefined;\n\n @prop({ type: String })\n accessor iconChecked: string | undefined;\n\n @prop({ type: String })\n accessor iconPlacement: SwitchIconPlacement | undefined;\n\n protected static styles = [\n styleVariables,\n sizeCSS,\n colorCSS,\n fieldLabelCSS,\n actionButtonCSS,\n styles,\n ];\n\n protected getValue(): boolean {\n return this.fieldElement?.checked ?? false;\n }\n\n protected writeValue(checked: boolean): void {\n if (this.fieldElement) {\n this.fieldElement.checked = Boolean(checked);\n }\n }\n\n protected getEventPayload(checked: boolean, oldChecked: boolean, action: FieldAction) {\n return { checked, oldChecked, action };\n }\n\n protected setValue(checked: boolean, options?: { silent?: boolean; action?: FieldAction }): void {\n const oldChecked = this.getValue();\n this.checked = checked;\n this.writeValue(checked);\n if (options?.silent === false) {\n this.emit('change', {\n detail: this.getEventPayload(checked, oldChecked, options.action || 'change'),\n });\n }\n }\n\n public reset(checked?: boolean, options?: { silent?: boolean }): void {\n this.setValue(checked !== undefined ? checked : (this.defaultChecked ?? false), {\n ...options,\n action: 'reset',\n });\n }\n\n public clear(options?: { silent?: boolean }): void {\n this.setValue(false, { ...options, action: 'clear' });\n }\n\n render() {\n return html(({ div, input, span, aeIcon }) => {\n const id = this.getFieldId();\n this.renderLabel(id);\n div({ className: 'switch-container field-body' }, () => {\n div({ className: 'switch-wrapper' }, () => {\n this.fieldElement = input({\n id,\n type: 'checkbox',\n className: 'field-input',\n checked: Boolean(this.checked),\n disabled: Boolean(this.disabled),\n required: Boolean(this.required),\n '@change': this.boundOnChange,\n });\n const hasIcon = this.icon || this.iconChecked;\n const placement = this.iconPlacement ?? 'knob';\n span({ className: 'toggle-slider' }, () => {\n if (!hasIcon) return;\n if (placement === 'track') {\n span({ className: 'track-icon track-icon-left' }, () => {\n aeIcon({ name: this.iconChecked ?? this.icon! });\n });\n span({ className: 'track-icon track-icon-right' }, () => {\n aeIcon({ name: this.icon ?? this.iconChecked! });\n });\n } else {\n if (this.icon && this.iconChecked) {\n span({ className: 'toggle-knob-icon icon-unchecked' }, () => {\n aeIcon({ name: this.icon! });\n });\n span({ className: 'toggle-knob-icon icon-checked' }, () => {\n aeIcon({ name: this.iconChecked! });\n });\n } else {\n span({ className: 'toggle-knob-icon' }, () => {\n aeIcon({ name: (this.icon ?? this.iconChecked)! });\n });\n }\n }\n });\n });\n this.renderActionButtons();\n });\n this.renderHelperText();\n this.renderError();\n });\n }\n}\n\nSwitch.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-switch': Switch;\n }\n}\n\nexport default Switch;\nexport type SwitchProps = InferProps<typeof Switch>;\n"],"names":["_a","styleVariables"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,oBAAA,kBAAA,WAAA,qBAAA,cAAA,IAAA,OAAA,UAAA,iBAAA,OAAA,cAAA;AAYA,MAAM,gBAAe,KAAA,YAKnB,eAAA,CAAC,KAAK,EAAE,MAAM,QAAA,CAAS,CAAA,GAGvB,sBAAA,CAAC,KAAK,EAAE,MAAM,SAAS,IAGvB,YAAA,CAAC,KAAK,EAAE,MAAM,QAAQ,CAAA,GAGtB,mBAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,sBAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,IAjBH,IAAoB;AAAA,EAAzC,cAAA;AAAA,UAAA,GAAA,SAAA;AACE,kBAAA,MAAU,gBAAwC,IAAA;AAKlD,iBAAA,MAAS,UAAT,kBAAA,OAAA,GAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,iBAAT,kBAAA,OAAA,IAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,OAAT,kBAAA,OAAA,IAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,cAAT,kBAAA,OAAA,IAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,gBAAT,kBAAA,OAAA,IAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAAA,EAAA;AAAA,EAWU,WAAoB;;AAC5B,aAAOA,MAAA,KAAK,iBAAL,gBAAAA,IAAmB,YAAW;AAAA,EACvC;AAAA,EAEU,WAAW,SAAwB;AAC3C,QAAI,KAAK,cAAc;AACrB,WAAK,aAAa,UAAU,QAAQ,OAAO;AAAA,IAC7C;AAAA,EACF;AAAA,EAEU,gBAAgB,SAAkB,YAAqB,QAAqB;AACpF,WAAO,EAAE,SAAS,YAAY,OAAA;AAAA,EAChC;AAAA,EAEU,SAAS,SAAkB,SAA4D;AAC/F,UAAM,aAAa,KAAK,SAAA;AACxB,SAAK,UAAU;AACf,SAAK,WAAW,OAAO;AACvB,SAAI,mCAAS,YAAW,OAAO;AAC7B,WAAK,KAAK,UAAU;AAAA,QAClB,QAAQ,KAAK,gBAAgB,SAAS,YAAY,QAAQ,UAAU,QAAQ;AAAA,MAAA,CAC7E;AAAA,IACH;AAAA,EACF;AAAA,EAEO,MAAM,SAAmB,SAAsC;AACpE,SAAK,SAAS,YAAY,SAAY,UAAW,KAAK,kBAAkB,OAAQ;AAAA,MAC9E,GAAG;AAAA,MACH,QAAQ;AAAA,IAAA,CACT;AAAA,EACH;AAAA,EAEO,MAAM,SAAsC;AACjD,SAAK,SAAS,OAAO,EAAE,GAAG,SAAS,QAAQ,SAAS;AAAA,EACtD;AAAA,EAEA,SAAS;AACP,WAAO,KAAK,CAAC,EAAE,KAAK,OAAO,MAAM,aAAa;AAC5C,YAAM,KAAK,KAAK,WAAA;AAChB,WAAK,YAAY,EAAE;AACnB,UAAI,EAAE,WAAW,8BAAA,GAAiC,MAAM;AACtD,YAAI,EAAE,WAAW,iBAAA,GAAoB,MAAM;AACzC,eAAK,eAAe,MAAM;AAAA,YACxB;AAAA,YACA,MAAM;AAAA,YACN,WAAW;AAAA,YACX,SAAS,QAAQ,KAAK,OAAO;AAAA,YAC7B,UAAU,QAAQ,KAAK,QAAQ;AAAA,YAC/B,UAAU,QAAQ,KAAK,QAAQ;AAAA,YAC/B,WAAW,KAAK;AAAA,UAAA,CACjB;AACD,gBAAM,UAAU,KAAK,QAAQ,KAAK;AAClC,gBAAM,YAAY,KAAK,iBAAiB;AACxC,eAAK,EAAE,WAAW,gBAAA,GAAmB,MAAM;AACzC,gBAAI,CAAC,QAAS;AACd,gBAAI,cAAc,SAAS;AACzB,mBAAK,EAAE,WAAW,6BAAA,GAAgC,MAAM;AACtD,uBAAO,EAAE,MAAM,KAAK,eAAe,KAAK,MAAO;AAAA,cACjD,CAAC;AACD,mBAAK,EAAE,WAAW,8BAAA,GAAiC,MAAM;AACvD,uBAAO,EAAE,MAAM,KAAK,QAAQ,KAAK,aAAc;AAAA,cACjD,CAAC;AAAA,YACH,OAAO;AACL,kBAAI,KAAK,QAAQ,KAAK,aAAa;AACjC,qBAAK,EAAE,WAAW,kCAAA,GAAqC,MAAM;AAC3D,yBAAO,EAAE,MAAM,KAAK,KAAA,CAAO;AAAA,gBAC7B,CAAC;AACD,qBAAK,EAAE,WAAW,gCAAA,GAAmC,MAAM;AACzD,yBAAO,EAAE,MAAM,KAAK,YAAA,CAAc;AAAA,gBACpC,CAAC;AAAA,cACH,OAAO;AACL,qBAAK,EAAE,WAAW,mBAAA,GAAsB,MAAM;AAC5C,yBAAO,EAAE,MAAO,KAAK,QAAQ,KAAK,aAAe;AAAA,gBACnD,CAAC;AAAA,cACH;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AACD,aAAK,oBAAA;AAAA,MACP,CAAC;AACD,WAAK,iBAAA;AACL,WAAK,YAAA;AAAA,IACP,CAAC;AAAA,EACH;AACF;AAjHA,QAAA,iBAAA,EAAA;AAMW,WAAA,oBAAA,QAAA;AAGA,kBAAA,oBAAA,QAAA;AAGA,QAAA,oBAAA,QAAA;AAGA,eAAA,oBAAA,QAAA;AAGA,iBAAA,oBAAA,QAAA;AAZT,kBAAA,OAAA,GAAS,WADT,cALI,QAMK,QAAA;AAGT,kBAAA,OAAA,GAAS,kBADT,qBARI,QASK,eAAA;AAGT,kBAAA,OAAA,GAAS,QADT,WAXI,QAYK,KAAA;AAGT,kBAAA,OAAA,GAAS,eADT,kBAdI,QAeK,YAAA;AAGT,kBAAA,OAAA,GAAS,iBADT,oBAjBI,QAkBK,cAAA;AAlBX,oBAAA,OAAM,MAAA;AAGJ,cAHI,QAGG,WAAU,QAAA;AAiBjB,cApBI,QAoBa,UAAS;AAAA,EACxBC;AAAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAA;AAwFF,OAAO,SAAA;"}