@mhmo91/schmancy 0.10.42 → 0.10.44

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 (759) hide show
  1. package/custom-elements.json +264 -79
  2. package/dist/SchmancyElement-CeKrBW2j.cjs +2 -0
  3. package/dist/SchmancyElement-CeKrBW2j.cjs.map +1 -0
  4. package/dist/SchmancyElement-Ob9yGkiG.js +286 -0
  5. package/dist/SchmancyElement-Ob9yGkiG.js.map +1 -0
  6. package/dist/agent/schmancy.agent.js +4032 -3886
  7. package/dist/agent/schmancy.agent.js.map +1 -1
  8. package/dist/agent/schmancy.manifest.json +215 -58
  9. package/dist/animation-CCOIW4wJ.cjs.map +1 -1
  10. package/dist/animation-DCznELuT.js.map +1 -1
  11. package/dist/area-CbajcnmJ.cjs +21 -0
  12. package/dist/area-CbajcnmJ.cjs.map +1 -0
  13. package/dist/{area-DtCNCb8w.js → area-MxLAyWgV.js} +22 -22
  14. package/dist/area-MxLAyWgV.js.map +1 -0
  15. package/dist/area.cjs +1 -1
  16. package/dist/area.js +1 -1
  17. package/dist/{audio-DdN76ikW.js → audio-B_0PGwYC.js} +1 -1
  18. package/dist/audio-B_0PGwYC.js.map +1 -0
  19. package/dist/{audio-B924fI5N.cjs → audio-CpwrIaw-.cjs} +1 -1
  20. package/dist/audio-CpwrIaw-.cjs.map +1 -0
  21. package/dist/audio.cjs +1 -1
  22. package/dist/audio.js +2 -2
  23. package/dist/autocomplete-CILzaDB7.cjs +115 -0
  24. package/dist/autocomplete-CILzaDB7.cjs.map +1 -0
  25. package/dist/{autocomplete-UNOknYUz.js → autocomplete-DV9RxCun.js} +113 -113
  26. package/dist/autocomplete-DV9RxCun.js.map +1 -0
  27. package/dist/autocomplete.cjs +1 -1
  28. package/dist/autocomplete.js +1 -1
  29. package/dist/avatar.cjs +1 -1
  30. package/dist/avatar.cjs.map +1 -1
  31. package/dist/avatar.js +4 -4
  32. package/dist/avatar.js.map +1 -1
  33. package/dist/badge.cjs +1 -1
  34. package/dist/badge.js +1 -1
  35. package/dist/{boat-BZah1Sf9.js → boat-DoZGgQ0P.js} +5 -5
  36. package/dist/{boat-BZah1Sf9.js.map → boat-DoZGgQ0P.js.map} +1 -1
  37. package/dist/{boat-D3bEjxf8.cjs → boat-sg0cWO8a.cjs} +2 -2
  38. package/dist/{boat-D3bEjxf8.cjs.map → boat-sg0cWO8a.cjs.map} +1 -1
  39. package/dist/boat.cjs +1 -1
  40. package/dist/boat.js +1 -1
  41. package/dist/breadcrumb.cjs +32 -31
  42. package/dist/breadcrumb.cjs.map +1 -1
  43. package/dist/breadcrumb.js +33 -32
  44. package/dist/breadcrumb.js.map +1 -1
  45. package/dist/busy-Brs-TDh9.cjs +133 -0
  46. package/dist/busy-Brs-TDh9.cjs.map +1 -0
  47. package/dist/busy-g4LoQmhB.js +172 -0
  48. package/dist/busy-g4LoQmhB.js.map +1 -0
  49. package/dist/busy.cjs +1 -1
  50. package/dist/busy.js +1 -1
  51. package/dist/{button-CTvS5YX4.cjs → button-Cml67Y_d.cjs} +41 -32
  52. package/dist/button-Cml67Y_d.cjs.map +1 -0
  53. package/dist/{button-DgoDfcJx.js → button-DWANpZfD.js} +43 -34
  54. package/dist/button-DWANpZfD.js.map +1 -0
  55. package/dist/button.cjs +40 -33
  56. package/dist/button.cjs.map +1 -1
  57. package/dist/button.js +42 -35
  58. package/dist/button.js.map +1 -1
  59. package/dist/calendar-2dJrw9pR.cjs +58 -0
  60. package/dist/calendar-2dJrw9pR.cjs.map +1 -0
  61. package/dist/calendar-kCe5LaBa.js +434 -0
  62. package/dist/calendar-kCe5LaBa.js.map +1 -0
  63. package/dist/calendar.cjs +1 -0
  64. package/dist/calendar.js +2 -0
  65. package/dist/{card-C6ijJZpF.js → card-CS_hYJbz.js} +136 -136
  66. package/dist/card-CS_hYJbz.js.map +1 -0
  67. package/dist/card-d0KhTnx5.cjs +177 -0
  68. package/dist/card-d0KhTnx5.cjs.map +1 -0
  69. package/dist/card.cjs +1 -1
  70. package/dist/card.js +1 -1
  71. package/dist/{checkbox-7vEPZuGC.js → checkbox-Bjp7kWuE.js} +2 -2
  72. package/dist/{checkbox-7vEPZuGC.js.map → checkbox-Bjp7kWuE.js.map} +1 -1
  73. package/dist/{checkbox-DXKdxkXE.cjs → checkbox-DZ2Wrz7Y.cjs} +1 -1
  74. package/dist/{checkbox-DXKdxkXE.cjs.map → checkbox-DZ2Wrz7Y.cjs.map} +1 -1
  75. package/dist/checkbox.cjs +1 -1
  76. package/dist/checkbox.js +1 -1
  77. package/dist/{chips-9eG-96_D.cjs → chips-BHBVkxsa.cjs} +142 -153
  78. package/dist/chips-BHBVkxsa.cjs.map +1 -0
  79. package/dist/{chips-DF7akwz7.js → chips-DACeW7YL.js} +127 -138
  80. package/dist/chips-DACeW7YL.js.map +1 -0
  81. package/dist/chips.cjs +1 -1
  82. package/dist/chips.js +2 -2
  83. package/dist/connectivity.cjs +53 -35
  84. package/dist/connectivity.cjs.map +1 -1
  85. package/dist/connectivity.js +55 -37
  86. package/dist/connectivity.js.map +1 -1
  87. package/dist/content-drawer.cjs +1 -1
  88. package/dist/content-drawer.js +1 -1
  89. package/dist/cursor-glow-Ah7VXSj7.js.map +1 -1
  90. package/dist/cursor-glow-Bulq-38P.cjs.map +1 -1
  91. package/dist/date-range-B2VN7cl_.cjs +138 -0
  92. package/dist/date-range-B2VN7cl_.cjs.map +1 -0
  93. package/dist/date-range-CDF_5ju_.js +439 -0
  94. package/dist/date-range-CDF_5ju_.js.map +1 -0
  95. package/dist/{date-range-inline-DV2c_gWM.cjs → date-range-inline-CGM0SPK9.cjs} +2 -4
  96. package/dist/date-range-inline-CGM0SPK9.cjs.map +1 -0
  97. package/dist/{date-range-inline-BnOD-ddB.js → date-range-inline-D6Ozerzw.js} +3 -5
  98. package/dist/date-range-inline-D6Ozerzw.js.map +1 -0
  99. package/dist/date-range-inline.cjs +1 -1
  100. package/dist/date-range-inline.js +1 -1
  101. package/dist/date-range.cjs +1 -1
  102. package/dist/date-range.js +2 -2
  103. package/dist/dayjs.min-CvRZTfam.cjs +1 -0
  104. package/dist/dayjs.min-CvRZTfam.cjs.map +1 -0
  105. package/dist/dayjs.min-DnELezPs.js +296 -0
  106. package/dist/dayjs.min-DnELezPs.js.map +1 -0
  107. package/dist/delay.cjs +1 -1
  108. package/dist/delay.js +3 -3
  109. package/dist/{details-ByF66CyY.js → details-Ct1_GwKr.js} +104 -93
  110. package/dist/details-Ct1_GwKr.js.map +1 -0
  111. package/dist/{details-B2-jECBh.cjs → details-D4fVOaj4.cjs} +109 -98
  112. package/dist/details-D4fVOaj4.cjs.map +1 -0
  113. package/dist/details.cjs +1 -1
  114. package/dist/details.js +1 -1
  115. package/dist/{directives-DCb_LA9R.cjs → directives-B2VxfwRL.cjs} +1 -1
  116. package/dist/directives-B2VxfwRL.cjs.map +1 -0
  117. package/dist/{directives-BL7mzVsA.js → directives-Dj8jlv-Q.js} +3 -3
  118. package/dist/directives-Dj8jlv-Q.js.map +1 -0
  119. package/dist/directives.cjs +1 -1
  120. package/dist/directives.js +2 -2
  121. package/dist/discovery.service-CIa3Eeuk.cjs.map +1 -1
  122. package/dist/discovery.service-DZFxtRwW.js.map +1 -1
  123. package/dist/divider-B3v33OnX.cjs +57 -0
  124. package/dist/divider-B3v33OnX.cjs.map +1 -0
  125. package/dist/divider-BJHW3q11.js +89 -0
  126. package/dist/divider-BJHW3q11.js.map +1 -0
  127. package/dist/divider.cjs +1 -1
  128. package/dist/divider.js +1 -1
  129. package/dist/dropdown.cjs +40 -40
  130. package/dist/dropdown.cjs.map +1 -1
  131. package/dist/dropdown.js +41 -41
  132. package/dist/dropdown.js.map +1 -1
  133. package/dist/{expand-cZ8rfCWP.js → expand-BT8mOu8Q.js} +103 -97
  134. package/dist/expand-BT8mOu8Q.js.map +1 -0
  135. package/dist/expand-D0YdR9nR.cjs +147 -0
  136. package/dist/expand-D0YdR9nR.cjs.map +1 -0
  137. package/dist/expand.cjs +1 -1
  138. package/dist/expand.js +1 -1
  139. package/dist/fab.cjs +1 -1
  140. package/dist/fab.cjs.map +1 -1
  141. package/dist/fab.js +2 -2
  142. package/dist/fab.js.map +1 -1
  143. package/dist/{float-DkGyWSWy.cjs → float-BPQlDyai.cjs} +1 -1
  144. package/dist/{float-DkGyWSWy.cjs.map → float-BPQlDyai.cjs.map} +1 -1
  145. package/dist/{float-zn3DgXBT.js → float-BQcxj3i_.js} +2 -2
  146. package/dist/{float-zn3DgXBT.js.map → float-BQcxj3i_.js.map} +1 -1
  147. package/dist/float.cjs +1 -1
  148. package/dist/float.js +1 -1
  149. package/dist/{form-DowzVsgI.cjs → form-CoWFnClb.cjs} +8 -13
  150. package/dist/form-CoWFnClb.cjs.map +1 -0
  151. package/dist/{form-tG7LwDm4.js → form-hC2LvCHX.js} +10 -15
  152. package/dist/form-hC2LvCHX.js.map +1 -0
  153. package/dist/form.cjs +12 -13
  154. package/dist/form.cjs.map +1 -1
  155. package/dist/form.js +23 -24
  156. package/dist/form.js.map +1 -1
  157. package/dist/gravity-6pL6CfIr.cjs.map +1 -1
  158. package/dist/gravity-sVK3zGBF.js.map +1 -1
  159. package/dist/handover/agent-runtime-followups.md +1 -1
  160. package/dist/handover/agent-runtime-v1.md +3 -3
  161. package/dist/{hashContent-iRZJJWtE.cjs.map → hashContent--s09Ed_g.cjs.map} +1 -1
  162. package/dist/{hashContent-BqU6v1Xr.js.map → hashContent-CAvrQ56N.js.map} +1 -1
  163. package/dist/icons-BeGKDZ-k.cjs +22 -0
  164. package/dist/icons-BeGKDZ-k.cjs.map +1 -0
  165. package/dist/{icons-Dup5skuk.js → icons-DEJnIxml.js} +20 -22
  166. package/dist/icons-DEJnIxml.js.map +1 -0
  167. package/dist/icons.cjs +1 -1
  168. package/dist/icons.js +1 -1
  169. package/dist/{iframe-CDJjnNmo.cjs → iframe-BkSukM9C.cjs} +9 -9
  170. package/dist/iframe-BkSukM9C.cjs.map +1 -0
  171. package/dist/{iframe-Xc3EPMZT.js → iframe-V3S-bwEY.js} +10 -10
  172. package/dist/iframe-V3S-bwEY.js.map +1 -0
  173. package/dist/iframe.cjs +1 -1
  174. package/dist/iframe.js +1 -1
  175. package/dist/index.cjs +1 -1
  176. package/dist/index.js +61 -60
  177. package/dist/{input-cTyDxW9L.js → input-CPFCSQld.js} +3 -10
  178. package/dist/input-CPFCSQld.js.map +1 -0
  179. package/dist/{input-DnmC6J1T.cjs → input-DSfwfhhj.cjs} +2 -9
  180. package/dist/input-DSfwfhhj.cjs.map +1 -0
  181. package/dist/input-chip-BUuFJUky.cjs +129 -0
  182. package/dist/input-chip-BUuFJUky.cjs.map +1 -0
  183. package/dist/{input-chip-CYI17YOq.js → input-chip-C3a1fwKB.js} +87 -104
  184. package/dist/input-chip-C3a1fwKB.js.map +1 -0
  185. package/dist/input.cjs +1 -1
  186. package/dist/input.js +1 -1
  187. package/dist/json.cjs +5 -1
  188. package/dist/json.cjs.map +1 -1
  189. package/dist/json.js +8 -4
  190. package/dist/json.js.map +1 -1
  191. package/dist/kbd.cjs +28 -28
  192. package/dist/kbd.cjs.map +1 -1
  193. package/dist/kbd.js +29 -29
  194. package/dist/kbd.js.map +1 -1
  195. package/dist/{layout-CNlZSJFU.cjs → layout-CdyHy_oX.cjs} +1 -1
  196. package/dist/layout-CdyHy_oX.cjs.map +1 -0
  197. package/dist/{layout-DDxw0EwL.js → layout-k6fOkpif.js} +1 -1
  198. package/dist/layout-k6fOkpif.js.map +1 -0
  199. package/dist/layout.cjs +26 -26
  200. package/dist/layout.cjs.map +1 -1
  201. package/dist/layout.js +27 -27
  202. package/dist/layout.js.map +1 -1
  203. package/dist/lazy-BaAiIUru.js.map +1 -1
  204. package/dist/lazy-C-7a4FAe.cjs.map +1 -1
  205. package/dist/{lightbox-CH-y3rYB.js → lightbox-DIG0VLOK.js} +8 -14
  206. package/dist/lightbox-DIG0VLOK.js.map +1 -0
  207. package/dist/{lightbox-CvtqoInF.cjs → lightbox-E5rgd-hu.cjs} +7 -13
  208. package/dist/lightbox-E5rgd-hu.cjs.map +1 -0
  209. package/dist/lightbox.cjs +1 -1
  210. package/dist/lightbox.js +1 -1
  211. package/dist/list-BRz0rDSH.cjs +47 -0
  212. package/dist/list-BRz0rDSH.cjs.map +1 -0
  213. package/dist/{list-DrsawQ5R.js → list-NrOYDPBo.js} +42 -35
  214. package/dist/list-NrOYDPBo.js.map +1 -0
  215. package/dist/list.cjs +1 -1
  216. package/dist/list.js +1 -1
  217. package/dist/magnetic-DKtc4umC.cjs.map +1 -1
  218. package/dist/magnetic-DaOOv5Dz.js.map +1 -1
  219. package/dist/{menu-CsY5lMqY.js → menu-B1Ei9SVj.js} +12 -12
  220. package/dist/menu-B1Ei9SVj.js.map +1 -0
  221. package/dist/{menu-BFRcTe3o.cjs → menu-Duvl66Nl.cjs} +10 -10
  222. package/dist/menu-Duvl66Nl.cjs.map +1 -0
  223. package/dist/menu.cjs +1 -1
  224. package/dist/menu.js +1 -1
  225. package/dist/{mixins-BoMURWag.cjs → mixins-Cjn20BQH.cjs} +42 -100
  226. package/dist/mixins-Cjn20BQH.cjs.map +1 -0
  227. package/dist/{mixins-bCEXbwJV.js → mixins-q4KAL8Xr.js} +42 -100
  228. package/dist/mixins-q4KAL8Xr.js.map +1 -0
  229. package/dist/mixins.cjs +1 -1
  230. package/dist/mixins.js +2 -2
  231. package/dist/nav-drawer.cjs +1 -1
  232. package/dist/nav-drawer.js +1 -1
  233. package/dist/navigation-bar.cjs +1 -1
  234. package/dist/navigation-bar.js +1 -1
  235. package/dist/navigation-rail.cjs +2 -4
  236. package/dist/navigation-rail.cjs.map +1 -1
  237. package/dist/navigation-rail.js +3 -5
  238. package/dist/navigation-rail.js.map +1 -1
  239. package/dist/{notification-DFKRMmSq.js → notification-COhUhUCr.js} +5 -7
  240. package/dist/notification-COhUhUCr.js.map +1 -0
  241. package/dist/{notification-FBf3Mb2e.cjs → notification-DsdA_MJe.cjs} +2 -4
  242. package/dist/notification-DsdA_MJe.cjs.map +1 -0
  243. package/dist/notification.cjs +1 -1
  244. package/dist/notification.js +1 -1
  245. package/dist/{option-Ct0lGdH3.js → option-BIzgTbXz.js} +20 -20
  246. package/dist/option-BIzgTbXz.js.map +1 -0
  247. package/dist/option-C5hhqR2z.cjs +43 -0
  248. package/dist/option-C5hhqR2z.cjs.map +1 -0
  249. package/dist/option.cjs +1 -1
  250. package/dist/option.js +1 -1
  251. package/dist/{overlay-sRXiMkjn.cjs → overlay-BzgF8P7i.cjs} +48 -41
  252. package/dist/overlay-BzgF8P7i.cjs.map +1 -0
  253. package/dist/{overlay-Bh8Q_R01.js → overlay-LoRRemny.js} +52 -45
  254. package/dist/overlay-LoRRemny.js.map +1 -0
  255. package/dist/overlay-stack-Bdr9lOqi.cjs.map +1 -1
  256. package/dist/overlay-stack-D2rgxQLh.js.map +1 -1
  257. package/dist/overlay.cjs +1 -1
  258. package/dist/{overlay.confirm-body-CQihsR20.js → overlay.confirm-body-D0b1MoCw.js} +30 -45
  259. package/dist/overlay.confirm-body-D0b1MoCw.js.map +1 -0
  260. package/dist/{overlay.confirm-body-Jc1EuMGs.cjs → overlay.confirm-body-DCneq73Z.cjs} +22 -37
  261. package/dist/overlay.confirm-body-DCneq73Z.cjs.map +1 -0
  262. package/dist/overlay.js +3 -3
  263. package/dist/{overlay.service-BXPgS7ay.js → overlay.service-BuUeti6X.js} +2 -2
  264. package/dist/overlay.service-BuUeti6X.js.map +1 -0
  265. package/dist/{overlay.service-9Dp3g7ot.cjs → overlay.service-MMTiW2T3.cjs} +1 -1
  266. package/dist/overlay.service-MMTiW2T3.cjs.map +1 -0
  267. package/dist/{progress-CYLshdo2.js → progress-D7n3SKAO.js} +50 -50
  268. package/dist/progress-D7n3SKAO.js.map +1 -0
  269. package/dist/progress-DsCnFsH5.cjs +51 -0
  270. package/dist/progress-DsCnFsH5.cjs.map +1 -0
  271. package/dist/progress.cjs +1 -1
  272. package/dist/progress.js +1 -1
  273. package/dist/{radio-group-6kCgOgBL.cjs → radio-group-CaAjg9UV.cjs} +1 -1
  274. package/dist/radio-group-CaAjg9UV.cjs.map +1 -0
  275. package/dist/{radio-group-bZtZHOj_.js → radio-group-Drpl6Pl8.js} +2 -2
  276. package/dist/radio-group-Drpl6Pl8.js.map +1 -0
  277. package/dist/radio-group.cjs +1 -1
  278. package/dist/radio-group.js +1 -1
  279. package/dist/range.cjs +4 -2
  280. package/dist/range.cjs.map +1 -1
  281. package/dist/range.js +5 -3
  282. package/dist/range.js.map +1 -1
  283. package/dist/reduced-motion-D-L12p7G.js.map +1 -1
  284. package/dist/reduced-motion-Ds-HjMzn.cjs.map +1 -1
  285. package/dist/{rxjs-utils-Csnks202.cjs.map → rxjs-utils-4P2v57ke.cjs.map} +1 -1
  286. package/dist/{rxjs-utils-d-ivVN84.js.map → rxjs-utils-JMFdgQSl.js.map} +1 -1
  287. package/dist/rxjs-utils.cjs +1 -1
  288. package/dist/rxjs-utils.js +1 -1
  289. package/dist/search-DPKoC-dT.cjs.map +1 -1
  290. package/dist/search-MvIBA93K.js.map +1 -1
  291. package/dist/{select-CU3X-PIa.js → select-CTXkrrVZ.js} +13 -13
  292. package/dist/select-CTXkrrVZ.js.map +1 -0
  293. package/dist/select-DcLcpPCh.cjs +56 -0
  294. package/dist/select-DcLcpPCh.cjs.map +1 -0
  295. package/dist/select.cjs +1 -1
  296. package/dist/select.js +1 -1
  297. package/dist/skeleton.cjs +37 -33
  298. package/dist/skeleton.cjs.map +1 -1
  299. package/dist/skeleton.js +38 -34
  300. package/dist/skeleton.js.map +1 -1
  301. package/dist/skills/schmancy/surface.md +38 -22
  302. package/dist/skills/surface.md +38 -22
  303. package/dist/slider.cjs +31 -31
  304. package/dist/slider.cjs.map +1 -1
  305. package/dist/slider.js +32 -32
  306. package/dist/slider.js.map +1 -1
  307. package/dist/{sound.service-B4ZmXpH9.js → sound.service-AJwuk3yr.js} +1 -1
  308. package/dist/sound.service-AJwuk3yr.js.map +1 -0
  309. package/dist/{sound.service-DjlMvicQ.cjs → sound.service-CVsxhQkX.cjs} +1 -1
  310. package/dist/sound.service-CVsxhQkX.cjs.map +1 -0
  311. package/dist/{splash-screen-emCLYoVl.js → splash-screen-DANfqvlo.js} +23 -26
  312. package/dist/splash-screen-DANfqvlo.js.map +1 -0
  313. package/dist/splash-screen-K74cgU6S.cjs +38 -0
  314. package/dist/splash-screen-K74cgU6S.cjs.map +1 -0
  315. package/dist/splash-screen.cjs +1 -1
  316. package/dist/splash-screen.js +1 -1
  317. package/dist/{src-DGDTkOvC.js → src-Bo-vvN6m.js} +173 -175
  318. package/dist/src-Bo-vvN6m.js.map +1 -0
  319. package/dist/src-MdpH1zth.cjs +237 -0
  320. package/dist/src-MdpH1zth.cjs.map +1 -0
  321. package/dist/{state-CumAEPQH.cjs → state-BWQiqN6I.cjs} +1 -1
  322. package/dist/state-BWQiqN6I.cjs.map +1 -0
  323. package/dist/{state-DMd_FUeA.js → state-DBA_gzJO.js} +1 -1
  324. package/dist/state-DBA_gzJO.js.map +1 -0
  325. package/dist/state.cjs +1 -1
  326. package/dist/state.js +2 -2
  327. package/dist/steps.cjs +20 -12
  328. package/dist/steps.cjs.map +1 -1
  329. package/dist/steps.js +21 -13
  330. package/dist/steps.js.map +1 -1
  331. package/dist/surface-COBvWWFb.cjs +7 -0
  332. package/dist/surface-COBvWWFb.cjs.map +1 -0
  333. package/dist/{surface-DNiYigsX.js → surface-DXk1X1tL.js} +9 -9
  334. package/dist/{surface-DNiYigsX.js.map → surface-DXk1X1tL.js.map} +1 -1
  335. package/dist/surface.cjs +1 -1
  336. package/dist/surface.js +1 -1
  337. package/dist/switch.cjs +13 -4
  338. package/dist/switch.cjs.map +1 -1
  339. package/dist/switch.js +14 -5
  340. package/dist/switch.js.map +1 -1
  341. package/dist/table.cjs +4 -10
  342. package/dist/table.cjs.map +1 -1
  343. package/dist/table.js +5 -11
  344. package/dist/table.js.map +1 -1
  345. package/dist/{tabs-4T_4kCf-.js → tabs-BYhFWnsx.js} +7 -7
  346. package/dist/tabs-BYhFWnsx.js.map +1 -0
  347. package/dist/{tabs-Byxxt-AH.cjs → tabs-CJwB0fr0.cjs} +6 -6
  348. package/dist/tabs-CJwB0fr0.cjs.map +1 -0
  349. package/dist/tabs.cjs +1 -1
  350. package/dist/tabs.js +1 -1
  351. package/dist/teleport.cjs +1 -1
  352. package/dist/teleport.js +1 -1
  353. package/dist/{textarea-kkYNk1ET.js → textarea-BjDx1w2g.js} +37 -41
  354. package/dist/textarea-BjDx1w2g.js.map +1 -0
  355. package/dist/{textarea-BwYwH9fu.cjs → textarea-CGgznhd6.cjs} +36 -40
  356. package/dist/textarea-CGgznhd6.cjs.map +1 -0
  357. package/dist/textarea.cjs +1 -1
  358. package/dist/textarea.js +1 -1
  359. package/dist/{theme-BG0EnzYP.cjs → theme-BVul7lHS.cjs} +6 -6
  360. package/dist/{theme-BG0EnzYP.cjs.map → theme-BVul7lHS.cjs.map} +1 -1
  361. package/dist/{theme-DwQBl6sr.js → theme-Dvm5J8nh.js} +11 -11
  362. package/dist/{theme-DwQBl6sr.js.map → theme-Dvm5J8nh.js.map} +1 -1
  363. package/dist/{theme-button-BD8anzsZ.js → theme-button-Bko5ohFP.js} +2 -2
  364. package/dist/{theme-button-BD8anzsZ.js.map → theme-button-Bko5ohFP.js.map} +1 -1
  365. package/dist/{theme-button-DlrNoCMA.cjs → theme-button-YLY7zR1c.cjs} +1 -1
  366. package/dist/{theme-button-DlrNoCMA.cjs.map → theme-button-YLY7zR1c.cjs.map} +1 -1
  367. package/dist/theme-button.cjs +1 -1
  368. package/dist/theme-button.js +1 -1
  369. package/dist/theme.cjs +1 -1
  370. package/dist/{theme.interface-CSt7JUBD.cjs.map → theme.interface-B-qxDsZQ.cjs.map} +1 -1
  371. package/dist/{theme.interface-odQEpZZH.js.map → theme.interface-B7caS5cg.js.map} +1 -1
  372. package/dist/theme.js +4 -4
  373. package/dist/{theme.service-Dv_55nfE.js → theme.service-D94nm7Bf.js} +1 -1
  374. package/dist/theme.service-D94nm7Bf.js.map +1 -0
  375. package/dist/{theme.service-pjkTM209.cjs → theme.service-h2fXQq7x.cjs} +1 -1
  376. package/dist/theme.service-h2fXQq7x.cjs.map +1 -0
  377. package/dist/tooltip.cjs.map +1 -1
  378. package/dist/tooltip.js.map +1 -1
  379. package/dist/tree.cjs +14 -14
  380. package/dist/tree.cjs.map +1 -1
  381. package/dist/tree.js +15 -15
  382. package/dist/tree.js.map +1 -1
  383. package/dist/types.cjs +1 -1
  384. package/dist/types.cjs.map +1 -1
  385. package/dist/types.js +19 -2
  386. package/dist/types.js.map +1 -1
  387. package/dist/typewriter.cjs.map +1 -1
  388. package/dist/typewriter.js.map +1 -1
  389. package/dist/typography-ByF2k5yW.js +358 -0
  390. package/dist/typography-ByF2k5yW.js.map +1 -0
  391. package/dist/typography-Cfav17it.cjs +282 -0
  392. package/dist/typography-Cfav17it.cjs.map +1 -0
  393. package/dist/typography.cjs +1 -1
  394. package/dist/typography.js +1 -1
  395. package/dist/utils-DIXndz6Q.cjs.map +1 -0
  396. package/dist/utils-dSPH7Oh9.js.map +1 -0
  397. package/dist/utils.cjs +1 -1
  398. package/dist/utils.js +1 -1
  399. package/dist/visually-hidden.cjs +13 -13
  400. package/dist/visually-hidden.cjs.map +1 -1
  401. package/dist/visually-hidden.js +14 -14
  402. package/dist/visually-hidden.js.map +1 -1
  403. package/dist/window-Br1OmpL-.cjs +67 -0
  404. package/dist/window-Br1OmpL-.cjs.map +1 -0
  405. package/dist/{window-C76zstbV.js → window-CCmN4but.js} +24 -15
  406. package/dist/window-CCmN4but.js.map +1 -0
  407. package/dist/window.cjs +1 -1
  408. package/dist/window.js +1 -1
  409. package/package.json +1 -1
  410. package/skills/schmancy/surface.md +38 -22
  411. package/src/area/area.component.ts +249 -163
  412. package/src/area/area.service.test.ts +994 -1006
  413. package/src/area/area.service.ts +76 -72
  414. package/src/area/index.ts +7 -7
  415. package/src/area/lazy.ts +39 -42
  416. package/src/area/route.component.ts +54 -52
  417. package/src/area/router.types.ts +7 -7
  418. package/src/audio/emotional-sounds.ts +880 -801
  419. package/src/audio/sound.service.ts +26 -5
  420. package/src/avatar/avatar.ts +4 -4
  421. package/src/badge/badge.ts +15 -12
  422. package/src/badge/index.ts +1 -1
  423. package/src/boat/boat.ts +1 -1
  424. package/src/breadcrumb/breadcrumb.ts +37 -32
  425. package/src/busy/busy.ts +15 -12
  426. package/src/busy/index.ts +2 -2
  427. package/src/busy/spinner.ts +132 -119
  428. package/src/button/button.test.ts +5 -1
  429. package/src/button/button.ts +113 -72
  430. package/src/button/icon-button.ts +64 -46
  431. package/src/button/index.ts +2 -2
  432. package/src/calendar/calendar.test.ts +504 -0
  433. package/src/calendar/calendar.ts +587 -0
  434. package/src/calendar/index.ts +2 -0
  435. package/src/card/actions.ts +11 -9
  436. package/src/card/card.ts +79 -77
  437. package/src/card/content.ts +8 -6
  438. package/src/card/index.ts +4 -4
  439. package/src/card/media.ts +50 -50
  440. package/src/chips/assist-chip.ts +1 -1
  441. package/src/chips/chips.ts +1 -1
  442. package/src/chips/filter-chip.ts +1 -1
  443. package/src/chips/index.ts +1 -1
  444. package/src/chips/input-chip.ts +1 -1
  445. package/src/chips/suggestion-chip.ts +1 -1
  446. package/src/connectivity/connectivity-status.ts +90 -62
  447. package/src/content-drawer/drawer.service.ts +47 -36
  448. package/src/content-drawer/drawer.ts +31 -18
  449. package/src/content-drawer/index.ts +5 -5
  450. package/src/content-drawer/main.ts +9 -7
  451. package/src/content-drawer/sheet.ts +8 -6
  452. package/src/date-range-inline/date-range-inline.ts +523 -522
  453. package/src/date-range-inline/index.ts +2 -2
  454. package/src/delay/index.ts +1 -1
  455. package/src/details/details.ts +119 -105
  456. package/src/details/index.ts +1 -1
  457. package/src/directives/ai-badge.ts +1 -5
  458. package/src/directives/animate-text.ts +43 -31
  459. package/src/directives/art/effects/howl.ts +1 -4
  460. package/src/directives/art/effects/samwa.ts +11 -5
  461. package/src/directives/art/effects/snow.ts +1 -2
  462. package/src/directives/battery.ts +21 -12
  463. package/src/directives/confirm-click.ts +9 -17
  464. package/src/directives/cursor-glow.ts +1 -1
  465. package/src/directives/cycle-text.ts +7 -21
  466. package/src/directives/drag.ts +50 -45
  467. package/src/directives/fyi.ts +1 -6
  468. package/src/directives/gravity.ts +10 -8
  469. package/src/directives/hummingbird.ts +256 -107
  470. package/src/directives/index.ts +29 -29
  471. package/src/directives/intersect.ts +11 -11
  472. package/src/directives/layout.ts +25 -36
  473. package/src/directives/liquid.ts +4 -10
  474. package/src/directives/living-border.ts +7 -5
  475. package/src/directives/long-press.ts +2 -1
  476. package/src/directives/magnetic.ts +7 -6
  477. package/src/directives/nebula.ts +34 -28
  478. package/src/directives/overflow-within.ts +18 -20
  479. package/src/directives/reduced-motion.ts +9 -9
  480. package/src/directives/reveal.ts +193 -195
  481. package/src/directives/ripple.ts +9 -7
  482. package/src/directives/urgent.ts +3 -1
  483. package/src/directives/working-snake.ts +1 -1
  484. package/src/discovery/discovery.service.ts +198 -210
  485. package/src/discovery/index.ts +1 -1
  486. package/src/divider/divider.ts +49 -47
  487. package/src/divider/index.ts +1 -1
  488. package/src/dropdown/dropdown-content.ts +42 -40
  489. package/src/dropdown/index.ts +2 -2
  490. package/src/expand/expand-root.component.ts +70 -61
  491. package/src/expand/expand.component.ts +48 -43
  492. package/src/fab/fab.test.ts +1 -2
  493. package/src/fab/fab.ts +2 -4
  494. package/src/form/fields/autocomplete/autocomplete.scss +6 -2
  495. package/src/form/fields/autocomplete/autocomplete.ts +712 -724
  496. package/src/form/fields/autocomplete/index.ts +1 -1
  497. package/src/form/fields/checkbox/checkbox.ts +1 -4
  498. package/src/form/fields/chips/assist-chip.ts +69 -72
  499. package/src/form/fields/chips/chips.ts +14 -15
  500. package/src/form/fields/chips/filter-chip.ts +36 -32
  501. package/src/form/fields/chips/index.ts +5 -5
  502. package/src/form/fields/chips/input-chip.ts +130 -142
  503. package/src/form/fields/chips/suggestion-chip.ts +69 -72
  504. package/src/form/fields/date-range/date-range-dialog.ts +154 -194
  505. package/src/form/fields/date-range/date-range-helpers.ts +63 -64
  506. package/src/form/fields/date-range/date-range.test.ts +575 -121
  507. package/src/form/fields/date-range/date-range.ts +343 -395
  508. package/src/form/fields/date-range/index.ts +2 -2
  509. package/src/form/fields/input/index.ts +8 -8
  510. package/src/form/fields/input/input.scss +30 -26
  511. package/src/form/fields/input/input.test.ts +4 -1
  512. package/src/form/fields/input/input.ts +4 -20
  513. package/src/form/fields/radio-group/index.ts +2 -2
  514. package/src/form/fields/radio-group/radio-button.ts +8 -8
  515. package/src/form/fields/radio-group/radio-group.ts +4 -1
  516. package/src/form/fields/range/range.ts +3 -1
  517. package/src/form/fields/select/index.ts +2 -2
  518. package/src/form/fields/select/select.ts +51 -45
  519. package/src/form/fields/switch/switch.ts +13 -7
  520. package/src/form/fields/textarea/index.ts +1 -1
  521. package/src/form/fields/textarea/textarea.ts +44 -49
  522. package/src/form/form-summary.ts +15 -14
  523. package/src/form/form.test.ts +0 -1
  524. package/src/form/form.ts +11 -23
  525. package/src/icons/icon.ts +25 -25
  526. package/src/icons/index.ts +1 -1
  527. package/src/iframe/iframe.ts +11 -9
  528. package/src/index.ts +1 -0
  529. package/src/json/json.ts +9 -2
  530. package/src/kbd/kbd.ts +30 -28
  531. package/src/layout/scroll/index.ts +1 -1
  532. package/src/layout/scroll/scroll.ts +54 -54
  533. package/src/lightbox/lightbox-service.ts +27 -18
  534. package/src/lightbox/lightbox.directive.ts +2 -1
  535. package/src/lightbox/lightbox.ts +21 -38
  536. package/src/list/index.ts +3 -3
  537. package/src/list/list-item.ts +32 -26
  538. package/src/list/list.ts +13 -8
  539. package/src/menu/index.ts +2 -2
  540. package/src/menu/menu-item.ts +7 -5
  541. package/src/menu/menu.ts +8 -6
  542. package/src/nav-drawer/appbar.ts +9 -7
  543. package/src/nav-drawer/content.ts +10 -8
  544. package/src/nav-drawer/drawer.ts +29 -25
  545. package/src/nav-drawer/index.ts +6 -6
  546. package/src/navigation-bar/index.ts +2 -2
  547. package/src/navigation-bar/navigation-bar-item.ts +127 -118
  548. package/src/navigation-bar/navigation-bar.ts +103 -91
  549. package/src/navigation-rail/index.ts +2 -2
  550. package/src/navigation-rail/navigation-rail.ts +21 -22
  551. package/src/notification/index.ts +6 -6
  552. package/src/notification/notification-service.ts +1 -2
  553. package/src/notification/notification.scss +5 -1
  554. package/src/notification/notification.ts +1 -3
  555. package/src/notification/notify.ts +204 -207
  556. package/src/option/index.ts +1 -1
  557. package/src/option/option.ts +26 -25
  558. package/src/overlay/overlay.animations.ts +4 -14
  559. package/src/overlay/overlay.component.ts +110 -131
  560. package/src/overlay/overlay.confirm-body.ts +26 -48
  561. package/src/overlay/overlay.gestures.ts +8 -10
  562. package/src/overlay/overlay.layout.ts +1 -4
  563. package/src/overlay/overlay.positioning.ts +4 -15
  564. package/src/overlay/overlay.service.ts +9 -24
  565. package/src/overlay/overlay.stack.test.ts +4 -1
  566. package/src/overlay/overlay.stack.ts +4 -4
  567. package/src/overlay/overlay.types.ts +11 -20
  568. package/src/progress/index.ts +1 -1
  569. package/src/progress/progress.ts +135 -133
  570. package/src/rxjs-utils/index.ts +6 -6
  571. package/src/rxjs-utils/waitForElement.ts +20 -20
  572. package/src/rxjs-utils/waitForElementAll.ts +21 -21
  573. package/src/rxjs-utils/waitForElements.ts +27 -27
  574. package/src/rxjs-utils/waitForElementsAll.ts +27 -29
  575. package/src/rxjs-utils/waitUntil.ts +7 -12
  576. package/src/skeleton/skeleton.ts +39 -33
  577. package/src/slider/index.ts +2 -2
  578. package/src/slider/slide.ts +14 -12
  579. package/src/slider/slider.ts +24 -22
  580. package/src/splash-screen/index.ts +1 -1
  581. package/src/splash-screen/splash-screen.ts +26 -27
  582. package/src/state/active-host.ts +4 -5
  583. package/src/state/index.ts +34 -53
  584. package/src/state/persist.ts +14 -11
  585. package/src/state/schmancy-context.ts +88 -88
  586. package/src/state/state.test-d.ts +3 -13
  587. package/src/state/state.test.ts +1 -4
  588. package/src/steps/index.ts +3 -3
  589. package/src/steps/schmancy-step.ts +41 -31
  590. package/src/steps/schmancy-steps.ts +7 -5
  591. package/src/surface/index.ts +1 -1
  592. package/src/surface/surface.styles.ts +53 -104
  593. package/src/surface/surface.ts +10 -8
  594. package/src/table/index.ts +2 -2
  595. package/src/table/row.ts +1 -4
  596. package/src/table/table.ts +2 -5
  597. package/src/tabs/index.ts +2 -2
  598. package/src/tabs/tabs-group.ts +8 -6
  599. package/src/teleport/index.ts +2 -2
  600. package/src/test-utils/a11y.ts +1 -3
  601. package/src/theme/index.ts +17 -17
  602. package/src/theme/theme-audio-player.ts +18 -16
  603. package/src/theme/theme-controller-boat.ts +1 -1
  604. package/src/theme/theme-controller.ts +36 -32
  605. package/src/theme/theme.component.ts +5 -9
  606. package/src/theme/theme.events.ts +1 -1
  607. package/src/theme/theme.format.ts +7 -7
  608. package/src/theme/theme.service.ts +453 -468
  609. package/src/theme/theme.style.css +78 -23
  610. package/src/theme-button/index.ts +1 -1
  611. package/src/tooltip/tooltip.directive.ts +1 -1
  612. package/src/tree/index.ts +1 -1
  613. package/src/tree/tree.ts +24 -16
  614. package/src/types/surface.ts +38 -44
  615. package/src/typewriter/typewriter.directive.ts +30 -39
  616. package/src/typography/typography.ts +289 -269
  617. package/src/utils/animation.ts +2 -8
  618. package/src/utils/index.ts +6 -6
  619. package/src/utils/number.ts +480 -517
  620. package/src/utils/overlay-stack.ts +1 -3
  621. package/src/utils/search.ts +5 -9
  622. package/src/visually-hidden/visually-hidden.ts +15 -13
  623. package/src/window/window-manager.ts +6 -1
  624. package/src/window/window-position.ts +7 -5
  625. package/src/window/window.ts +143 -108
  626. package/types/src/calendar/calendar.d.ts +108 -0
  627. package/types/src/calendar/calendar.test.d.ts +1 -0
  628. package/types/src/calendar/index.d.ts +2 -0
  629. package/types/src/directives/cursor-glow.d.ts +1 -1
  630. package/types/src/directives/hummingbird.d.ts +3 -3
  631. package/types/src/form/fields/date-range/date-range-dialog.d.ts +24 -28
  632. package/types/src/form/fields/date-range/date-range.d.ts +39 -66
  633. package/types/src/form/fields/date-range/date-range.test.d.ts +1 -0
  634. package/types/src/form/fields/date-range/index.d.ts +1 -1
  635. package/types/src/index.d.ts +1 -0
  636. package/types/src/surface/surface.styles.d.ts +13 -6
  637. package/types/src/types/surface.d.ts +17 -22
  638. package/types/src/utils/number.d.ts +1 -1
  639. package/dist/SchmancyElement-OG71FtNv.js +0 -286
  640. package/dist/SchmancyElement-OG71FtNv.js.map +0 -1
  641. package/dist/SchmancyElement-PS1u0j1B.cjs +0 -2
  642. package/dist/SchmancyElement-PS1u0j1B.cjs.map +0 -1
  643. package/dist/area-CaEI33G0.cjs +0 -21
  644. package/dist/area-CaEI33G0.cjs.map +0 -1
  645. package/dist/area-DtCNCb8w.js.map +0 -1
  646. package/dist/audio-B924fI5N.cjs.map +0 -1
  647. package/dist/audio-DdN76ikW.js.map +0 -1
  648. package/dist/autocomplete-Dq3BkitV.cjs +0 -115
  649. package/dist/autocomplete-Dq3BkitV.cjs.map +0 -1
  650. package/dist/autocomplete-UNOknYUz.js.map +0 -1
  651. package/dist/busy--WqiXKnl.cjs +0 -134
  652. package/dist/busy--WqiXKnl.cjs.map +0 -1
  653. package/dist/busy-DzXyO0z6.js +0 -173
  654. package/dist/busy-DzXyO0z6.js.map +0 -1
  655. package/dist/button-CTvS5YX4.cjs.map +0 -1
  656. package/dist/button-DgoDfcJx.js.map +0 -1
  657. package/dist/card-C6ijJZpF.js.map +0 -1
  658. package/dist/card-Ci3_9Dd4.cjs +0 -177
  659. package/dist/card-Ci3_9Dd4.cjs.map +0 -1
  660. package/dist/chips-9eG-96_D.cjs.map +0 -1
  661. package/dist/chips-DF7akwz7.js.map +0 -1
  662. package/dist/date-range-C13_R3OA.js +0 -966
  663. package/dist/date-range-C13_R3OA.js.map +0 -1
  664. package/dist/date-range-Q2xj5Syc.cjs +0 -142
  665. package/dist/date-range-Q2xj5Syc.cjs.map +0 -1
  666. package/dist/date-range-inline-BnOD-ddB.js.map +0 -1
  667. package/dist/date-range-inline-DV2c_gWM.cjs.map +0 -1
  668. package/dist/details-B2-jECBh.cjs.map +0 -1
  669. package/dist/details-ByF66CyY.js.map +0 -1
  670. package/dist/directives-BL7mzVsA.js.map +0 -1
  671. package/dist/directives-DCb_LA9R.cjs.map +0 -1
  672. package/dist/divider-Bv2QiOZL.cjs +0 -57
  673. package/dist/divider-Bv2QiOZL.cjs.map +0 -1
  674. package/dist/divider-gYuz0zDU.js +0 -89
  675. package/dist/divider-gYuz0zDU.js.map +0 -1
  676. package/dist/expand-B9IUGVtc.cjs +0 -141
  677. package/dist/expand-B9IUGVtc.cjs.map +0 -1
  678. package/dist/expand-cZ8rfCWP.js.map +0 -1
  679. package/dist/form-DowzVsgI.cjs.map +0 -1
  680. package/dist/form-tG7LwDm4.js.map +0 -1
  681. package/dist/icons-BZeCloP9.cjs +0 -24
  682. package/dist/icons-BZeCloP9.cjs.map +0 -1
  683. package/dist/icons-Dup5skuk.js.map +0 -1
  684. package/dist/iframe-CDJjnNmo.cjs.map +0 -1
  685. package/dist/iframe-Xc3EPMZT.js.map +0 -1
  686. package/dist/input-DnmC6J1T.cjs.map +0 -1
  687. package/dist/input-cTyDxW9L.js.map +0 -1
  688. package/dist/input-chip-CV91URyU.cjs +0 -146
  689. package/dist/input-chip-CV91URyU.cjs.map +0 -1
  690. package/dist/input-chip-CYI17YOq.js.map +0 -1
  691. package/dist/layout-CNlZSJFU.cjs.map +0 -1
  692. package/dist/layout-DDxw0EwL.js.map +0 -1
  693. package/dist/lightbox-CH-y3rYB.js.map +0 -1
  694. package/dist/lightbox-CvtqoInF.cjs.map +0 -1
  695. package/dist/list-Dl8KfxrF.cjs +0 -40
  696. package/dist/list-Dl8KfxrF.cjs.map +0 -1
  697. package/dist/list-DrsawQ5R.js.map +0 -1
  698. package/dist/menu-BFRcTe3o.cjs.map +0 -1
  699. package/dist/menu-CsY5lMqY.js.map +0 -1
  700. package/dist/mixins-BoMURWag.cjs.map +0 -1
  701. package/dist/mixins-bCEXbwJV.js.map +0 -1
  702. package/dist/notification-DFKRMmSq.js.map +0 -1
  703. package/dist/notification-FBf3Mb2e.cjs.map +0 -1
  704. package/dist/option-Ct0lGdH3.js.map +0 -1
  705. package/dist/option-Il1KpU8M.cjs +0 -43
  706. package/dist/option-Il1KpU8M.cjs.map +0 -1
  707. package/dist/overlay-Bh8Q_R01.js.map +0 -1
  708. package/dist/overlay-sRXiMkjn.cjs.map +0 -1
  709. package/dist/overlay.confirm-body-CQihsR20.js.map +0 -1
  710. package/dist/overlay.confirm-body-Jc1EuMGs.cjs.map +0 -1
  711. package/dist/overlay.service-9Dp3g7ot.cjs.map +0 -1
  712. package/dist/overlay.service-BXPgS7ay.js.map +0 -1
  713. package/dist/progress-CWC5XYZ_.cjs +0 -51
  714. package/dist/progress-CWC5XYZ_.cjs.map +0 -1
  715. package/dist/progress-CYLshdo2.js.map +0 -1
  716. package/dist/radio-group-6kCgOgBL.cjs.map +0 -1
  717. package/dist/radio-group-bZtZHOj_.js.map +0 -1
  718. package/dist/select-CU3X-PIa.js.map +0 -1
  719. package/dist/select-MXsF8KsU.cjs +0 -56
  720. package/dist/select-MXsF8KsU.cjs.map +0 -1
  721. package/dist/sound.service-B4ZmXpH9.js.map +0 -1
  722. package/dist/sound.service-DjlMvicQ.cjs.map +0 -1
  723. package/dist/splash-screen-CN9dZcqC.cjs +0 -41
  724. package/dist/splash-screen-CN9dZcqC.cjs.map +0 -1
  725. package/dist/splash-screen-emCLYoVl.js.map +0 -1
  726. package/dist/src-DGDTkOvC.js.map +0 -1
  727. package/dist/src-DK3111z_.cjs +0 -240
  728. package/dist/src-DK3111z_.cjs.map +0 -1
  729. package/dist/state-CumAEPQH.cjs.map +0 -1
  730. package/dist/state-DMd_FUeA.js.map +0 -1
  731. package/dist/surface-DGI-FBoi.cjs +0 -7
  732. package/dist/surface-DGI-FBoi.cjs.map +0 -1
  733. package/dist/tabs-4T_4kCf-.js.map +0 -1
  734. package/dist/tabs-Byxxt-AH.cjs.map +0 -1
  735. package/dist/textarea-BwYwH9fu.cjs.map +0 -1
  736. package/dist/textarea-kkYNk1ET.js.map +0 -1
  737. package/dist/theme.service-Dv_55nfE.js.map +0 -1
  738. package/dist/theme.service-pjkTM209.cjs.map +0 -1
  739. package/dist/typography-BVkU11_q.js +0 -358
  740. package/dist/typography-BVkU11_q.js.map +0 -1
  741. package/dist/typography-aaQaIcNc.cjs +0 -282
  742. package/dist/typography-aaQaIcNc.cjs.map +0 -1
  743. package/dist/utils-DTa3QHxk.cjs.map +0 -1
  744. package/dist/utils-H8wNknWC.js.map +0 -1
  745. package/dist/window-C76zstbV.js.map +0 -1
  746. package/dist/window-CmB9XZzT.cjs +0 -58
  747. package/dist/window-CmB9XZzT.cjs.map +0 -1
  748. package/src/form/fields/date-range/date-range-presets.ts +0 -220
  749. package/src/form/fields/date-range/date-utils.ts +0 -58
  750. package/types/src/form/fields/date-range/date-range-presets.d.ts +0 -18
  751. package/types/src/form/fields/date-range/date-utils.d.ts +0 -15
  752. /package/dist/{hashContent-iRZJJWtE.cjs → hashContent--s09Ed_g.cjs} +0 -0
  753. /package/dist/{hashContent-BqU6v1Xr.js → hashContent-CAvrQ56N.js} +0 -0
  754. /package/dist/{rxjs-utils-Csnks202.cjs → rxjs-utils-4P2v57ke.cjs} +0 -0
  755. /package/dist/{rxjs-utils-d-ivVN84.js → rxjs-utils-JMFdgQSl.js} +0 -0
  756. /package/dist/{theme.interface-CSt7JUBD.cjs → theme.interface-B-qxDsZQ.cjs} +0 -0
  757. /package/dist/{theme.interface-odQEpZZH.js → theme.interface-B7caS5cg.js} +0 -0
  758. /package/dist/{utils-DTa3QHxk.cjs → utils-DIXndz6Q.cjs} +0 -0
  759. /package/dist/{utils-H8wNknWC.js → utils-dSPH7Oh9.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"busy-Brs-TDh9.cjs","names":[],"sources":["../src/busy/busy.ts","../src/busy/spinner.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-busy')\nexport default class SchmancyBusy extends SchmancyElement {\n\tstatic styles = [\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: inline;\n\t\t\t\tposition: absolute;\n\t\t\t\tinset: 0;\n\t\t\t\tpointer-events: all;\n\t\t\t\tz-index: 50;\n\t\t\t}\n\t\t`,\n\t]\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<!-- Clean overlay with subtle backdrop -->\n\t\t\t<div\n\t\t\t\tclass=\"absolute inset-0 flex items-center justify-center bg-surface-container/10 backdrop-blur-xs rounded-[inherit]\"\n\t\t\t>\n\t\t\t\t<!-- Content container with clean surface -->\n\t\t\t\t<div class=\"relative flex items-center justify-center p-4\">\n\t\t\t\t\t<!-- Content slot -->\n\t\t\t\t\t<div class=\"relative z-10\">\n\t\t\t\t\t\t<slot>\n\t\t\t\t\t\t\t<!-- Default spinner if no content provided -->\n\t\t\t\t\t\t\t<schmancy-spinner></schmancy-spinner>\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-busy': SchmancyBusy\n\t}\n}\n","import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-spinner')\nexport default class SchmnacySpinner extends SchmancyElement {\n\tstatic styles = [\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tcolor: inherit; /* Inherit from parent by default */\n\t\t\t}\n\n\t\t\t/* Explicit color options when needed */\n\t\t\t:host([color='primary']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-primary-default);\n\t\t\t}\n\n\t\t\t:host([color='on-primary']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-primary-on);\n\t\t\t}\n\n\t\t\t:host([color='secondary']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-secondary-default);\n\t\t\t}\n\n\t\t\t:host([color='on-secondary']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-secondary-on);\n\t\t\t}\n\n\t\t\t:host([color='tertiary']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-tertiary-default);\n\t\t\t}\n\n\t\t\t:host([color='on-tertiary']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-tertiary-on);\n\t\t\t}\n\n\t\t\t:host([color='error']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-error-default);\n\t\t\t}\n\n\t\t\t:host([color='on-error']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-error-on);\n\t\t\t}\n\n\t\t\t:host([color='success']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-success-default);\n\t\t\t}\n\n\t\t\t:host([color='on-success']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-success-on);\n\t\t\t}\n\n\t\t\t:host([color='surface']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-surface-default);\n\t\t\t}\n\n\t\t\t:host([color='on-surface']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\t\t}\n\n\t\t\t:host([color='surface-variant']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-surface-variant-default);\n\t\t\t}\n\n\t\t\t:host([color='on-surface-variant']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-surface-onVariant);\n\t\t\t}\n\n\t\t\t.spinner {\n\t\t\t\tanimation: spin 1s linear infinite;\n\t\t\t\tanimation-direction: reverse;\n\t\t\t}\n\n\t\t\t@keyframes spin {\n\t\t\t\tfrom {\n\t\t\t\t\ttransform: rotate(0deg);\n\t\t\t\t}\n\t\t\t\tto {\n\t\t\t\t\ttransform: rotate(360deg);\n\t\t\t\t}\n\t\t\t}\n\t\t`,\n\t]\n\t@property({ type: String, reflect: true })\n\tcolor?:\n\t\t| 'primary'\n\t\t| 'on-primary'\n\t\t| 'secondary'\n\t\t| 'on-secondary'\n\t\t| 'tertiary'\n\t\t| 'on-tertiary'\n\t\t| 'error'\n\t\t| 'on-error'\n\t\t| 'success'\n\t\t| 'on-success'\n\t\t| 'surface'\n\t\t| 'on-surface'\n\t\t| 'surface-variant'\n\t\t| 'on-surface-variant'\n\n\t/**\n\t * Size of the spinner - M3 aligned tokens or numeric Tailwind units\n\t * Tokens: 'xxs' (12px), 'xs' (16px), 'sm' (20px), 'md' (24px), 'lg' (32px)\n\t * Numeric: Tailwind units where each unit = 4px (e.g., 6 = 24px)\n\t */\n\t@property() size: 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | number = 'md'\n\t@property({ type: Boolean }) glass: boolean = false\n\n\tprotected render(): unknown {\n\t\t// M3 aligned token sizes (fit inside buttons of same token)\n\t\tconst tokenSizes: Record<string, number> = {\n\t\t\txxs: 12, // fits in 24px button (ultra-compact)\n\t\t\txs: 16, // fits in 32px button\n\t\t\tsm: 20, // fits in 40px button\n\t\t\tmd: 24, // fits in 48px button (default)\n\t\t\tlg: 32, // fits in 56px button\n\t\t}\n\n\t\t// Support both token and numeric sizes for backward compatibility\n\t\tlet sizeInPx: number\n\t\tif (typeof this.size === 'string' && this.size in tokenSizes) {\n\t\t\tsizeInPx = tokenSizes[this.size]\n\t\t} else if (typeof this.size === 'number' && !isNaN(this.size)) {\n\t\t\t// Legacy numeric: Tailwind units (each unit = 4px)\n\t\t\tsizeInPx = this.size * 4\n\t\t} else {\n\t\t\tsizeInPx = 24 // fallback to md\n\t\t}\n\n\t\tconst style = {\n\t\t\twidth: `${sizeInPx}px`,\n\t\t\theight: `${sizeInPx}px`,\n\t\t}\n\n\t\treturn this.glass\n\t\t\t? html`\n\t\t\t\t\t<div class=\"spinner relative\" style=${this.styleMap(style)}>\n\t\t\t\t\t\t<!-- Glass container with Apple-style effect -->\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"absolute inset-0 rounded-full backdrop-blur-xl backdrop-saturate-150\n\t\t\t\t\t\t\tbg-surface-container/20\n\t\t\t\t\t\t\tshadow-[inset_0_1px_1px_0_rgba(255,255,255,0.2)]\n\t\t\t\t\t\t\tborder border-outline-variant/30\"\n\t\t\t\t\t\t></div>\n\n\t\t\t\t\t\t<!-- Spinner SVG -->\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tstyle=\"width: 100%; height: 100%;\"\n\t\t\t\t\t\t\tclass=\"relative z-10\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<path opacity=\".7\" d=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\" stroke=\"currentColor\" stroke-width=\"2\"></path>\n\t\t\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"currentColor\" stroke-width=\"2\"></path>\n\t\t\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"currentColor\" opacity=\"0.8\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t`\n\t\t\t: html`\n\t\t\t\t\t<div class=\"spinner\" style=${this.styleMap(style)}>\n\t\t\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" role=\"img\" style=\"width: 100%; height: 100%;\">\n\t\t\t\t\t\t\t<path opacity=\".5\" d=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\" stroke=\"currentColor\" stroke-width=\"2\"></path>\n\t\t\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"currentColor\" stroke-width=\"2\"></path>\n\t\t\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"currentColor\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-spinner': SchmnacySpinner\n\t}\n}\n"],"mappings":"uKAKe,IAAA,EAAA,cAA2B,EAAA,CAAA,CAAA,OAAA,KAAA,OACzB,CACf,EAAA,GAAG;;;;;;;;KAUJ,QAAA,CACC,MAAO,GAAA,IAAI;;;;;;;;;;;;;;;;GAiBZ,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eA/Bc,eAAA,CAAA,EAAe,CAAA,ECCf,IAAA,EAAA,cAA8B,EAAA,CAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,CAAA,EAAA,KAAA,KAsGmB,KAAA,KAAA,MAAA,CACjB,CAAA,CAAA,OAAA,KAAA,OAtG9B,CACf,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuGJ,QAAA,CAEC,IAAM,EAAqC,CAC1C,IAAK,GACL,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,EAAA,EAID,EAEH,EADwB,OAAd,KAAK,MAAS,UAAY,KAAK,QAAQ,EACtC,EAAW,KAAK,MACI,OAAd,KAAK,MAAS,UAAa,MAAM,KAAK,IAAA,EAI5C,GAFY,EAAZ,KAAK,KAKjB,IAAM,EAAQ,CACb,MAAO,GAAG,EAAA,IACV,OAAQ,GAAG,EAAA,GAAA,EAGZ,OAAO,KAAK,MACT,EAAA,IAAI;2CACkC,KAAK,SAAS,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;MAwBpD,EAAA,IAAI;kCACyB,KAAK,SAAS,CAAA,EAAA;;;;;;;KAQ/C,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAtFU,CAAE,KAAM,OAAQ,QAAA,CAAS,CAAA,CAAA,CAAA,EAAM,EAAA,UAAA,QAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAsB/B,EAAA,UAAA,OAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACA,CAAE,KAAM,OAAA,CAAA,CAAA,EAAS,EAAA,UAAA,QAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAxGb,kBAAA,CAAA,EAAkB,CAAA"}
@@ -0,0 +1,172 @@
1
+ import { t as e, u as t } from "./SchmancyElement-Ob9yGkiG.js";
2
+ import "./mixins-q4KAL8Xr.js";
3
+ import { customElement as n, property as r } from "lit/decorators.js";
4
+ import { css as i, html as a } from "lit";
5
+ var o = class extends e {
6
+ static {
7
+ this.styles = [i`
8
+ :host {
9
+ display: inline;
10
+ position: absolute;
11
+ inset: 0;
12
+ pointer-events: all;
13
+ z-index: 50;
14
+ }
15
+ `];
16
+ }
17
+ render() {
18
+ return a`
19
+ <!-- Clean overlay with subtle backdrop -->
20
+ <div
21
+ class="absolute inset-0 flex items-center justify-center bg-surface-container/10 backdrop-blur-xs rounded-[inherit]"
22
+ >
23
+ <!-- Content container with clean surface -->
24
+ <div class="relative flex items-center justify-center p-4">
25
+ <!-- Content slot -->
26
+ <div class="relative z-10">
27
+ <slot>
28
+ <!-- Default spinner if no content provided -->
29
+ <schmancy-spinner></schmancy-spinner>
30
+ </slot>
31
+ </div>
32
+ </div>
33
+ </div>
34
+ `;
35
+ }
36
+ };
37
+ o = t([n("schmancy-busy")], o);
38
+ var s = class extends e {
39
+ constructor(...e) {
40
+ super(...e), this.size = "md", this.glass = !1;
41
+ }
42
+ static {
43
+ this.styles = [i`
44
+ :host {
45
+ display: inline-block;
46
+ color: inherit; /* Inherit from parent by default */
47
+ }
48
+
49
+ /* Explicit color options when needed */
50
+ :host([color='primary']) {
51
+ color: var(--schmancy-sys-color-primary-default);
52
+ }
53
+
54
+ :host([color='on-primary']) {
55
+ color: var(--schmancy-sys-color-primary-on);
56
+ }
57
+
58
+ :host([color='secondary']) {
59
+ color: var(--schmancy-sys-color-secondary-default);
60
+ }
61
+
62
+ :host([color='on-secondary']) {
63
+ color: var(--schmancy-sys-color-secondary-on);
64
+ }
65
+
66
+ :host([color='tertiary']) {
67
+ color: var(--schmancy-sys-color-tertiary-default);
68
+ }
69
+
70
+ :host([color='on-tertiary']) {
71
+ color: var(--schmancy-sys-color-tertiary-on);
72
+ }
73
+
74
+ :host([color='error']) {
75
+ color: var(--schmancy-sys-color-error-default);
76
+ }
77
+
78
+ :host([color='on-error']) {
79
+ color: var(--schmancy-sys-color-error-on);
80
+ }
81
+
82
+ :host([color='success']) {
83
+ color: var(--schmancy-sys-color-success-default);
84
+ }
85
+
86
+ :host([color='on-success']) {
87
+ color: var(--schmancy-sys-color-success-on);
88
+ }
89
+
90
+ :host([color='surface']) {
91
+ color: var(--schmancy-sys-color-surface-default);
92
+ }
93
+
94
+ :host([color='on-surface']) {
95
+ color: var(--schmancy-sys-color-surface-on);
96
+ }
97
+
98
+ :host([color='surface-variant']) {
99
+ color: var(--schmancy-sys-color-surface-variant-default);
100
+ }
101
+
102
+ :host([color='on-surface-variant']) {
103
+ color: var(--schmancy-sys-color-surface-onVariant);
104
+ }
105
+
106
+ .spinner {
107
+ animation: spin 1s linear infinite;
108
+ animation-direction: reverse;
109
+ }
110
+
111
+ @keyframes spin {
112
+ from {
113
+ transform: rotate(0deg);
114
+ }
115
+ to {
116
+ transform: rotate(360deg);
117
+ }
118
+ }
119
+ `];
120
+ }
121
+ render() {
122
+ let e = {
123
+ xxs: 12,
124
+ xs: 16,
125
+ sm: 20,
126
+ md: 24,
127
+ lg: 32
128
+ }, t;
129
+ t = typeof this.size == "string" && this.size in e ? e[this.size] : typeof this.size != "number" || isNaN(this.size) ? 24 : 4 * this.size;
130
+ let n = {
131
+ width: `${t}px`,
132
+ height: `${t}px`
133
+ };
134
+ return this.glass ? a`
135
+ <div class="spinner relative" style=${this.styleMap(n)}>
136
+ <!-- Glass container with Apple-style effect -->
137
+ <div
138
+ class="absolute inset-0 rounded-full backdrop-blur-xl backdrop-saturate-150
139
+ bg-surface-container/20
140
+ shadow-[inset_0_1px_1px_0_rgba(255,255,255,0.2)]
141
+ border border-outline-variant/30"
142
+ ></div>
143
+
144
+ <!-- Spinner SVG -->
145
+ <svg
146
+ fill="none"
147
+ viewBox="0 0 16 16"
148
+ aria-hidden="true"
149
+ role="img"
150
+ style="width: 100%; height: 100%;"
151
+ class="relative z-10"
152
+ >
153
+ <path opacity=".7" d="M8 15A7 7 0 108 1a7 7 0 000 14v0z" stroke="currentColor" stroke-width="2"></path>
154
+ <path d="M15 8a7 7 0 01-7 7" stroke="currentColor" stroke-width="2"></path>
155
+ <path d="M8 12a4 4 0 100-8 4 4 0 000 8z" fill="currentColor" opacity="0.8"></path>
156
+ </svg>
157
+ </div>
158
+ ` : a`
159
+ <div class="spinner" style=${this.styleMap(n)}>
160
+ <svg fill="none" viewBox="0 0 16 16" aria-hidden="true" role="img" style="width: 100%; height: 100%;">
161
+ <path opacity=".5" d="M8 15A7 7 0 108 1a7 7 0 000 14v0z" stroke="currentColor" stroke-width="2"></path>
162
+ <path d="M15 8a7 7 0 01-7 7" stroke="currentColor" stroke-width="2"></path>
163
+ <path d="M8 12a4 4 0 100-8 4 4 0 000 8z" fill="currentColor"></path>
164
+ </svg>
165
+ </div>
166
+ `;
167
+ }
168
+ };
169
+ t([r({
170
+ type: String,
171
+ reflect: !0
172
+ })], s.prototype, "color", void 0), t([r()], s.prototype, "size", void 0), t([r({ type: Boolean })], s.prototype, "glass", void 0), s = t([n("schmancy-spinner")], s);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"busy-g4LoQmhB.js","names":[],"sources":["../src/busy/busy.ts","../src/busy/spinner.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-busy')\nexport default class SchmancyBusy extends SchmancyElement {\n\tstatic styles = [\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: inline;\n\t\t\t\tposition: absolute;\n\t\t\t\tinset: 0;\n\t\t\t\tpointer-events: all;\n\t\t\t\tz-index: 50;\n\t\t\t}\n\t\t`,\n\t]\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<!-- Clean overlay with subtle backdrop -->\n\t\t\t<div\n\t\t\t\tclass=\"absolute inset-0 flex items-center justify-center bg-surface-container/10 backdrop-blur-xs rounded-[inherit]\"\n\t\t\t>\n\t\t\t\t<!-- Content container with clean surface -->\n\t\t\t\t<div class=\"relative flex items-center justify-center p-4\">\n\t\t\t\t\t<!-- Content slot -->\n\t\t\t\t\t<div class=\"relative z-10\">\n\t\t\t\t\t\t<slot>\n\t\t\t\t\t\t\t<!-- Default spinner if no content provided -->\n\t\t\t\t\t\t\t<schmancy-spinner></schmancy-spinner>\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-busy': SchmancyBusy\n\t}\n}\n","import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-spinner')\nexport default class SchmnacySpinner extends SchmancyElement {\n\tstatic styles = [\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tcolor: inherit; /* Inherit from parent by default */\n\t\t\t}\n\n\t\t\t/* Explicit color options when needed */\n\t\t\t:host([color='primary']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-primary-default);\n\t\t\t}\n\n\t\t\t:host([color='on-primary']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-primary-on);\n\t\t\t}\n\n\t\t\t:host([color='secondary']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-secondary-default);\n\t\t\t}\n\n\t\t\t:host([color='on-secondary']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-secondary-on);\n\t\t\t}\n\n\t\t\t:host([color='tertiary']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-tertiary-default);\n\t\t\t}\n\n\t\t\t:host([color='on-tertiary']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-tertiary-on);\n\t\t\t}\n\n\t\t\t:host([color='error']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-error-default);\n\t\t\t}\n\n\t\t\t:host([color='on-error']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-error-on);\n\t\t\t}\n\n\t\t\t:host([color='success']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-success-default);\n\t\t\t}\n\n\t\t\t:host([color='on-success']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-success-on);\n\t\t\t}\n\n\t\t\t:host([color='surface']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-surface-default);\n\t\t\t}\n\n\t\t\t:host([color='on-surface']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\t\t}\n\n\t\t\t:host([color='surface-variant']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-surface-variant-default);\n\t\t\t}\n\n\t\t\t:host([color='on-surface-variant']) {\n\t\t\t\tcolor: var(--schmancy-sys-color-surface-onVariant);\n\t\t\t}\n\n\t\t\t.spinner {\n\t\t\t\tanimation: spin 1s linear infinite;\n\t\t\t\tanimation-direction: reverse;\n\t\t\t}\n\n\t\t\t@keyframes spin {\n\t\t\t\tfrom {\n\t\t\t\t\ttransform: rotate(0deg);\n\t\t\t\t}\n\t\t\t\tto {\n\t\t\t\t\ttransform: rotate(360deg);\n\t\t\t\t}\n\t\t\t}\n\t\t`,\n\t]\n\t@property({ type: String, reflect: true })\n\tcolor?:\n\t\t| 'primary'\n\t\t| 'on-primary'\n\t\t| 'secondary'\n\t\t| 'on-secondary'\n\t\t| 'tertiary'\n\t\t| 'on-tertiary'\n\t\t| 'error'\n\t\t| 'on-error'\n\t\t| 'success'\n\t\t| 'on-success'\n\t\t| 'surface'\n\t\t| 'on-surface'\n\t\t| 'surface-variant'\n\t\t| 'on-surface-variant'\n\n\t/**\n\t * Size of the spinner - M3 aligned tokens or numeric Tailwind units\n\t * Tokens: 'xxs' (12px), 'xs' (16px), 'sm' (20px), 'md' (24px), 'lg' (32px)\n\t * Numeric: Tailwind units where each unit = 4px (e.g., 6 = 24px)\n\t */\n\t@property() size: 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | number = 'md'\n\t@property({ type: Boolean }) glass: boolean = false\n\n\tprotected render(): unknown {\n\t\t// M3 aligned token sizes (fit inside buttons of same token)\n\t\tconst tokenSizes: Record<string, number> = {\n\t\t\txxs: 12, // fits in 24px button (ultra-compact)\n\t\t\txs: 16, // fits in 32px button\n\t\t\tsm: 20, // fits in 40px button\n\t\t\tmd: 24, // fits in 48px button (default)\n\t\t\tlg: 32, // fits in 56px button\n\t\t}\n\n\t\t// Support both token and numeric sizes for backward compatibility\n\t\tlet sizeInPx: number\n\t\tif (typeof this.size === 'string' && this.size in tokenSizes) {\n\t\t\tsizeInPx = tokenSizes[this.size]\n\t\t} else if (typeof this.size === 'number' && !isNaN(this.size)) {\n\t\t\t// Legacy numeric: Tailwind units (each unit = 4px)\n\t\t\tsizeInPx = this.size * 4\n\t\t} else {\n\t\t\tsizeInPx = 24 // fallback to md\n\t\t}\n\n\t\tconst style = {\n\t\t\twidth: `${sizeInPx}px`,\n\t\t\theight: `${sizeInPx}px`,\n\t\t}\n\n\t\treturn this.glass\n\t\t\t? html`\n\t\t\t\t\t<div class=\"spinner relative\" style=${this.styleMap(style)}>\n\t\t\t\t\t\t<!-- Glass container with Apple-style effect -->\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"absolute inset-0 rounded-full backdrop-blur-xl backdrop-saturate-150\n\t\t\t\t\t\t\tbg-surface-container/20\n\t\t\t\t\t\t\tshadow-[inset_0_1px_1px_0_rgba(255,255,255,0.2)]\n\t\t\t\t\t\t\tborder border-outline-variant/30\"\n\t\t\t\t\t\t></div>\n\n\t\t\t\t\t\t<!-- Spinner SVG -->\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tstyle=\"width: 100%; height: 100%;\"\n\t\t\t\t\t\t\tclass=\"relative z-10\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<path opacity=\".7\" d=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\" stroke=\"currentColor\" stroke-width=\"2\"></path>\n\t\t\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"currentColor\" stroke-width=\"2\"></path>\n\t\t\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"currentColor\" opacity=\"0.8\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t`\n\t\t\t: html`\n\t\t\t\t\t<div class=\"spinner\" style=${this.styleMap(style)}>\n\t\t\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" role=\"img\" style=\"width: 100%; height: 100%;\">\n\t\t\t\t\t\t\t<path opacity=\".5\" d=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\" stroke=\"currentColor\" stroke-width=\"2\"></path>\n\t\t\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"currentColor\" stroke-width=\"2\"></path>\n\t\t\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"currentColor\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-spinner': SchmnacySpinner\n\t}\n}\n"],"mappings":";;;;AAKe,IAAA,IAAA,cAA2B,EAAA;CAAA;EAAA,KAAA,SACzB,CACf,CAAG;;;;;;;;;;CAUJ,SAAA;EACC,OAAO,CAAI;;;;;;;;;;;;;;;;;CAiBZ;AAAA;AAAA,IAAA,EAAA,CA/BA,EAAc,eAAA,CAAA,GAAe,CAAA;ACCf,IAAA,IAAA,cAA8B,EAAA;CAAA,YAAA,GAAA,GAAA;EAAA,MAAA,GAAA,CAAA,GAAA,KAAA,OAsGmB,MAAA,KAAA,QAAA,CACjB;CAAA;CAAA;EAAA,KAAA,SAtG9B,CACf,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuGJ,SAAA;EAEC,IAAM,IAAqC;GAC1C,KAAK;GACL,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;EAAA,GAID;EAEH,IADwB,OAAd,KAAK,QAAS,YAAY,KAAK,QAAQ,IACtC,EAAW,KAAK,QACI,OAAd,KAAK,QAAS,YAAa,MAAM,KAAK,IAAA,IAI5C,KAFY,IAAZ,KAAK;EAKjB,IAAM,IAAQ;GACb,OAAO,GAAG,EAAA;GACV,QAAQ,GAAG,EAAA;EAAA;EAGZ,OAAO,KAAK,QACT,CAAI;2CACkC,KAAK,SAAS,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;QAwBpD,CAAI;kCACyB,KAAK,SAAS,CAAA,EAAA;;;;;;;;CAQ/C;AAAA;AAAA,EAAA,CAtFC,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;AAAA,CAAA,CAAA,GAAM,EAAA,WAAA,SAAA,KAAA,CAAA,GAAA,EAAA,CAsBxC,EAAA,CAAA,GAAS,EAAA,WAAA,QAAA,KAAA,CAAA,GAAA,EAAA,CACT,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,GAAS,EAAA,WAAA,SAAA,KAAA,CAAA,GAAA,IAAA,EAAA,CAxG3B,EAAc,kBAAA,CAAA,GAAkB,CAAA"}
package/dist/busy.cjs CHANGED
@@ -1 +1 @@
1
- require(`./busy--WqiXKnl.cjs`);
1
+ require(`./busy-Brs-TDh9.cjs`);
package/dist/busy.js CHANGED
@@ -1 +1 @@
1
- import "./busy-DzXyO0z6.js";
1
+ import "./busy-g4LoQmhB.js";
@@ -1,35 +1,44 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./SchmancyElement-PS1u0j1B.cjs`);require(`./mixins-BoMURWag.cjs`);const t=require(`./magnetic-DKtc4umC.cjs`);let n=require(`@lit/context`),r=require(`lit/decorators.js`),i=require(`lit`),a=require(`lit/directives/if-defined.js`),o=require(`lit/directives/when.js`);var s=(0,n.createContext)(`schmancy-button-size`),c=class extends e.t{static{this.styles=[i.css`:host{
2
- display: inline-flex;
3
- flex-shrink: 0;
4
- overflow: hidden;
5
- position: relative;
6
- touch-action: manipulation;
7
- border-radius: 1rem;
8
- transition:
9
- box-shadow 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
10
- transform 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
11
- }
12
- :host([width="full"]) {
13
- display: flex;
14
- width: 100%;
15
- }
16
- :host(:hover:not([disabled])) {
17
- box-shadow: 0 4px 16px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);
18
- }
19
- :host(:active:not([disabled])) {
20
- transform: scale(0.97);
21
- box-shadow: 0 1px 4px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 10%, transparent);
22
- transition-duration: 100ms;
23
- }
24
- @media (prefers-reduced-motion: reduce) {
25
- :host { transition: none; }
26
- :host(:hover:not([disabled])) { box-shadow: none; }
27
- :host(:active:not([disabled])) { transform: none; box-shadow: none; }
28
- }
29
- :host *,
30
- * {
31
- touch-action: manipulation;
32
- }`]}static{this.shadowRootOptions={...i.LitElement.shadowRootOptions,mode:`open`,delegatesFocus:!0}}static{this.formAssociated=!0}constructor(){super(),this.variant=`text`,this.width=`auto`,this.size=`md`,this.type=`button`,this.disabled=!1;try{this.internals=this.attachInternals()}catch{this.internals=void 0}this.addEventListener(`click`,e=>{if(this.disabled)return e.preventDefault(),void e.stopImmediatePropagation();let t=this.internals?.form;t&&(this.type===`submit`?(e.preventDefault(),t.requestSubmit()):this.type===`reset`&&(e.preventDefault(),t.reset()))})}get form(){return this.internals?.form??null}formDisabledCallback(e){this.disabled=e}connectedCallback(){if(super.connectedCallback(),this.type!==`submit`)return;let e=this.closest(`schmancy-form`);if(!e)return;let t=()=>{e.getAttribute(`aria-busy`)===`true`?(this.setAttribute(`aria-busy`,`true`),this.internals?.states.add(`submitting`)):(this.removeAttribute(`aria-busy`),this.internals?.states.delete(`submitting`))};t(),this.formBusyObserver=new MutationObserver(t),this.formBusyObserver.observe(e,{attributes:!0,attributeFilter:[`aria-busy`]})}disconnectedCallback(){this.formBusyObserver?.disconnect(),this.formBusyObserver=void 0,super.disconnectedCallback()}#e;set ariaLabel(e){let t=this.#e;this.#e=e,this.hasAttribute(`aria-label`)&&this.removeAttribute(`aria-label`),this.requestUpdate(`ariaLabel`,t)}get ariaLabel(){return this.#e}focus(e){this.nativeElement.focus(e)}blur(){this.nativeElement.blur()}get effectiveColor(){return this.color?this.color:(this.variant===`tonal`?`filled tonal`:this.variant)===`filled tonal`?`secondary`:`primary`}get imgClasses(){return[{xxs:`w-3 h-3`,xs:`w-4 h-4`,sm:`w-5 h-5`,md:`w-6 h-6`,lg:`w-7 h-7`}[this.size],`object-contain`]}firstUpdated(){this.prefixImgs?.forEach(e=>{e.classList.add(...this.imgClasses),e.hasAttribute(`alt`)||e.setAttribute(`alt`,``)}),this.suffixImgs?.forEach(e=>{e.classList.add(...this.imgClasses),e.hasAttribute(`alt`)||e.setAttribute(`alt`,``)})}click(){this.dispatchEvent(new Event(`click`,{bubbles:!0,composed:!0}))}preventDefault(e){e.preventDefault(),e.stopPropagation()}render(){let e=this.variant===`tonal`?`filled tonal`:this.variant,n={"z-0 transition-all duration-200 relative rounded-2xl flex justify-center items-center outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden flex-1 overflow-hidden":!0,"h-6":this.size===`xxs`,"h-8":this.size===`xs`,"h-10":this.size===`sm`,"h-12":this.size===`md`,"h-14":this.size===`lg`,"py-1 px-2":this.size===`xxs`,"py-2 px-4":this.size===`xs`,"py-2.5 px-5":this.size===`sm`,"py-3 px-6":this.size===`md`,"py-4 px-7":this.size===`lg`,"text-[10px] font-medium leading-3":this.size===`xxs`,"text-xs font-medium leading-4":this.size===`xs`,"text-sm font-medium leading-5":this.size===`sm`||this.size===`md`,"text-base font-medium leading-6":this.size===`lg`,"tracking-[0.1px]":!0,"gap-0.5":this.size===`xxs`,"gap-1":this.size===`xs`,"gap-1.5":this.size===`sm`,"gap-2":this.size===`md`,"gap-2.5":this.size===`lg`,"cursor-pointer":!this.disabled,"opacity-[0.38]":this.disabled,"hover:shadow-sm":!this.disabled&&e===`elevated`,"w-full tex-center":this.width===`full`,"bg-surface-low shadow-xs":e===`elevated`,"bg-transparent border-1 border-solid":e===`outlined`,"border-outline":e===`outlined`&&this.effectiveColor===`primary`,"border-success-default":e===`outlined`&&this.effectiveColor===`success`,"border-error-default":e===`outlined`&&this.effectiveColor===`error`,"border-warning-default":e===`outlined`&&this.effectiveColor===`warning`,"border-info-default":e===`outlined`&&this.effectiveColor===`info`,"border-secondary-default":e===`outlined`&&this.effectiveColor===`secondary`,"border-outline-variant":e===`outlined`&&this.effectiveColor===`neutral`,"bg-primary-default":e===`filled`&&this.effectiveColor===`primary`,"bg-secondary-default":e===`filled`&&this.effectiveColor===`secondary`,"bg-success-default":e===`filled`&&this.effectiveColor===`success`,"bg-error-default":e===`filled`&&this.effectiveColor===`error`,"bg-warning-default":e===`filled`&&this.effectiveColor===`warning`,"bg-info-default":e===`filled`&&this.effectiveColor===`info`,"bg-surface-containerHighest":e===`filled`&&this.effectiveColor===`neutral`,"text-primary-on":e===`filled`&&this.effectiveColor===`primary`,"text-secondary-on":e===`filled`&&this.effectiveColor===`secondary`,"text-success-on":e===`filled`&&this.effectiveColor===`success`,"text-error-on":e===`filled`&&this.effectiveColor===`error`,"text-warning-on":e===`filled`&&this.effectiveColor===`warning`,"text-info-on":e===`filled`&&this.effectiveColor===`info`,"text-surface-on":e===`filled`&&this.effectiveColor===`neutral`,"bg-primary-container":e===`filled tonal`&&this.effectiveColor===`primary`,"bg-secondary-container":e===`filled tonal`&&this.effectiveColor===`secondary`,"bg-success-container":e===`filled tonal`&&this.effectiveColor===`success`,"bg-error-container":e===`filled tonal`&&this.effectiveColor===`error`,"bg-warning-container":e===`filled tonal`&&this.effectiveColor===`warning`,"bg-info-container":e===`filled tonal`&&this.effectiveColor===`info`,"bg-surface-containerLow":e===`filled tonal`&&this.effectiveColor===`neutral`,"text-primary-onContainer":e===`filled tonal`&&this.effectiveColor===`primary`,"text-secondary-onContainer":e===`filled tonal`&&this.effectiveColor===`secondary`,"text-success-onContainer":e===`filled tonal`&&this.effectiveColor===`success`,"text-error-onContainer":e===`filled tonal`&&this.effectiveColor===`error`,"text-warning-onContainer":e===`filled tonal`&&this.effectiveColor===`warning`,"text-info-onContainer":e===`filled tonal`&&this.effectiveColor===`info`,"text-primary-default":(e===`text`||e===`elevated`||e===`outlined`)&&this.effectiveColor===`primary`,"text-secondary-default":(e===`text`||e===`elevated`||e===`outlined`)&&this.effectiveColor===`secondary`,"text-success-default":(e===`text`||e===`elevated`||e===`outlined`)&&this.effectiveColor===`success`,"text-error-default":(e===`text`||e===`elevated`||e===`outlined`)&&this.effectiveColor===`error`,"text-warning-default":(e===`text`||e===`elevated`||e===`outlined`)&&this.effectiveColor===`warning`,"text-info-default":(e===`text`||e===`elevated`||e===`outlined`)&&this.effectiveColor===`info`,"text-surface-onVariant":(e===`text`||e===`elevated`||e===`outlined`||e===`filled tonal`)&&this.effectiveColor===`neutral`},r={"absolute inset-0 hover:opacity-[0.08] z-0 rounded-2xl":!0,"focus-visible:opacity-[0.10]":!0,"active:opacity-[0.10]":!0,"hover:bg-primary-on":e===`filled`&&this.effectiveColor===`primary`,"hover:bg-secondary-on":e===`filled`&&this.effectiveColor===`secondary`,"hover:bg-success-on":e===`filled`&&this.effectiveColor===`success`,"hover:bg-error-on":e===`filled`&&this.effectiveColor===`error`,"hover:bg-warning-on":e===`filled`&&this.effectiveColor===`warning`,"hover:bg-info-on":e===`filled`&&this.effectiveColor===`info`,"hover:bg-surface-on":e===`filled`&&this.effectiveColor===`neutral`,"hover:bg-primary-default":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`primary`,"hover:bg-secondary-default":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`secondary`,"hover:bg-success-default":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`success`,"hover:bg-error-default":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`error`,"hover:bg-warning-default":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`warning`,"hover:bg-info-default":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`info`,"hover:bg-surface-onVariant":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`neutral`,"hover:bg-primary-container":e===`filled tonal`&&this.effectiveColor===`primary`,"hover:bg-secondary-container":e===`filled tonal`&&this.effectiveColor===`secondary`,"hover:bg-success-container":e===`filled tonal`&&this.effectiveColor===`success`,"hover:bg-error-container":e===`filled tonal`&&this.effectiveColor===`error`,"hover:bg-warning-container":e===`filled tonal`&&this.effectiveColor===`warning`,"hover:bg-info-container":e===`filled tonal`&&this.effectiveColor===`info`,"hover:bg-surface-containerLow":e===`filled tonal`&&this.effectiveColor===`neutral`};return this.href?i.html`
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./SchmancyElement-CeKrBW2j.cjs`);require(`./mixins-Cjn20BQH.cjs`);const t=require(`./magnetic-DKtc4umC.cjs`);let n=require(`@lit/context`),r=require(`lit/decorators.js`),i=require(`lit`),a=require(`lit/directives/if-defined.js`),o=require(`lit/directives/when.js`);var s=(0,n.createContext)(`schmancy-button-size`),c=class extends e.t{static{this.styles=[i.css`
2
+ :host {
3
+ display: inline-flex;
4
+ flex-shrink: 0;
5
+ overflow: hidden;
6
+ position: relative;
7
+ touch-action: manipulation;
8
+ border-radius: 1rem;
9
+ transition:
10
+ box-shadow 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
11
+ transform 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
12
+ }
13
+ :host([width='full']) {
14
+ display: flex;
15
+ width: 100%;
16
+ }
17
+ :host(:hover:not([disabled])) {
18
+ box-shadow: 0 4px 16px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);
19
+ }
20
+ :host(:active:not([disabled])) {
21
+ transform: scale(0.97);
22
+ box-shadow: 0 1px 4px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 10%, transparent);
23
+ transition-duration: 100ms;
24
+ }
25
+ @media (prefers-reduced-motion: reduce) {
26
+ :host {
27
+ transition: none;
28
+ }
29
+ :host(:hover:not([disabled])) {
30
+ box-shadow: none;
31
+ }
32
+ :host(:active:not([disabled])) {
33
+ transform: none;
34
+ box-shadow: none;
35
+ }
36
+ }
37
+ :host *,
38
+ * {
39
+ touch-action: manipulation;
40
+ }
41
+ `]}static{this.shadowRootOptions={...i.LitElement.shadowRootOptions,mode:`open`,delegatesFocus:!0}}static{this.formAssociated=!0}constructor(){super(),this.variant=`text`,this.width=`auto`,this.size=`md`,this.type=`button`,this.disabled=!1;try{this.internals=this.attachInternals()}catch{this.internals=void 0}this.addEventListener(`click`,e=>{if(this.disabled)return e.preventDefault(),void e.stopImmediatePropagation();let t=this.internals?.form;t&&(this.type===`submit`?(e.preventDefault(),t.requestSubmit()):this.type===`reset`&&(e.preventDefault(),t.reset()))})}get form(){return this.internals?.form??null}formDisabledCallback(e){this.disabled=e}connectedCallback(){if(super.connectedCallback(),this.type!==`submit`)return;let e=this.closest(`schmancy-form`);if(!e)return;let t=()=>{e.getAttribute(`aria-busy`)===`true`?(this.setAttribute(`aria-busy`,`true`),this.internals?.states.add(`submitting`)):(this.removeAttribute(`aria-busy`),this.internals?.states.delete(`submitting`))};t(),this.formBusyObserver=new MutationObserver(t),this.formBusyObserver.observe(e,{attributes:!0,attributeFilter:[`aria-busy`]})}disconnectedCallback(){this.formBusyObserver?.disconnect(),this.formBusyObserver=void 0,super.disconnectedCallback()}#e;set ariaLabel(e){let t=this.#e;this.#e=e,this.hasAttribute(`aria-label`)&&this.removeAttribute(`aria-label`),this.requestUpdate(`ariaLabel`,t)}get ariaLabel(){return this.#e}focus(e){this.nativeElement.focus(e)}blur(){this.nativeElement.blur()}get effectiveColor(){return this.color?this.color:(this.variant===`tonal`?`filled tonal`:this.variant)===`filled tonal`?`secondary`:`primary`}get imgClasses(){return[{xxs:`w-3 h-3`,xs:`w-4 h-4`,sm:`w-5 h-5`,md:`w-6 h-6`,lg:`w-7 h-7`}[this.size],`object-contain`]}firstUpdated(){this.prefixImgs?.forEach(e=>{e.classList.add(...this.imgClasses),e.hasAttribute(`alt`)||e.setAttribute(`alt`,``)}),this.suffixImgs?.forEach(e=>{e.classList.add(...this.imgClasses),e.hasAttribute(`alt`)||e.setAttribute(`alt`,``)})}click(){this.dispatchEvent(new Event(`click`,{bubbles:!0,composed:!0}))}preventDefault(e){e.preventDefault(),e.stopPropagation()}render(){let e=this.variant===`tonal`?`filled tonal`:this.variant,n={"z-0 transition-all duration-200 relative rounded-2xl flex justify-center items-center outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden flex-1 overflow-hidden":!0,"h-6":this.size===`xxs`,"h-8":this.size===`xs`,"h-10":this.size===`sm`,"h-12":this.size===`md`,"h-14":this.size===`lg`,"py-1 px-2":this.size===`xxs`,"py-2 px-4":this.size===`xs`,"py-2.5 px-5":this.size===`sm`,"py-3 px-6":this.size===`md`,"py-4 px-7":this.size===`lg`,"text-[10px] font-medium leading-3":this.size===`xxs`,"text-xs font-medium leading-4":this.size===`xs`,"text-sm font-medium leading-5":this.size===`sm`||this.size===`md`,"text-base font-medium leading-6":this.size===`lg`,"tracking-[0.1px]":!0,"gap-0.5":this.size===`xxs`,"gap-1":this.size===`xs`,"gap-1.5":this.size===`sm`,"gap-2":this.size===`md`,"gap-2.5":this.size===`lg`,"cursor-pointer":!this.disabled,"opacity-[0.38]":this.disabled,"hover:shadow-sm":!this.disabled&&e===`elevated`,"w-full tex-center":this.width===`full`,"bg-surface-low shadow-xs":e===`elevated`,"bg-transparent border-1 border-solid":e===`outlined`,"border-outline":e===`outlined`&&this.effectiveColor===`primary`,"border-success-default":e===`outlined`&&this.effectiveColor===`success`,"border-error-default":e===`outlined`&&this.effectiveColor===`error`,"border-warning-default":e===`outlined`&&this.effectiveColor===`warning`,"border-info-default":e===`outlined`&&this.effectiveColor===`info`,"border-secondary-default":e===`outlined`&&this.effectiveColor===`secondary`,"border-outline-variant":e===`outlined`&&this.effectiveColor===`neutral`,"bg-primary-default":e===`filled`&&this.effectiveColor===`primary`,"bg-secondary-default":e===`filled`&&this.effectiveColor===`secondary`,"bg-success-default":e===`filled`&&this.effectiveColor===`success`,"bg-error-default":e===`filled`&&this.effectiveColor===`error`,"bg-warning-default":e===`filled`&&this.effectiveColor===`warning`,"bg-info-default":e===`filled`&&this.effectiveColor===`info`,"bg-surface-containerHighest":e===`filled`&&this.effectiveColor===`neutral`,"text-primary-on":e===`filled`&&this.effectiveColor===`primary`,"text-secondary-on":e===`filled`&&this.effectiveColor===`secondary`,"text-success-on":e===`filled`&&this.effectiveColor===`success`,"text-error-on":e===`filled`&&this.effectiveColor===`error`,"text-warning-on":e===`filled`&&this.effectiveColor===`warning`,"text-info-on":e===`filled`&&this.effectiveColor===`info`,"text-surface-on":e===`filled`&&this.effectiveColor===`neutral`,"bg-primary-container":e===`filled tonal`&&this.effectiveColor===`primary`,"bg-secondary-container":e===`filled tonal`&&this.effectiveColor===`secondary`,"bg-success-container":e===`filled tonal`&&this.effectiveColor===`success`,"bg-error-container":e===`filled tonal`&&this.effectiveColor===`error`,"bg-warning-container":e===`filled tonal`&&this.effectiveColor===`warning`,"bg-info-container":e===`filled tonal`&&this.effectiveColor===`info`,"bg-surface-containerLow":e===`filled tonal`&&this.effectiveColor===`neutral`,"text-primary-onContainer":e===`filled tonal`&&this.effectiveColor===`primary`,"text-secondary-onContainer":e===`filled tonal`&&this.effectiveColor===`secondary`,"text-success-onContainer":e===`filled tonal`&&this.effectiveColor===`success`,"text-error-onContainer":e===`filled tonal`&&this.effectiveColor===`error`,"text-warning-onContainer":e===`filled tonal`&&this.effectiveColor===`warning`,"text-info-onContainer":e===`filled tonal`&&this.effectiveColor===`info`,"text-primary-default":(e===`text`||e===`elevated`||e===`outlined`)&&this.effectiveColor===`primary`,"text-secondary-default":(e===`text`||e===`elevated`||e===`outlined`)&&this.effectiveColor===`secondary`,"text-success-default":(e===`text`||e===`elevated`||e===`outlined`)&&this.effectiveColor===`success`,"text-error-default":(e===`text`||e===`elevated`||e===`outlined`)&&this.effectiveColor===`error`,"text-warning-default":(e===`text`||e===`elevated`||e===`outlined`)&&this.effectiveColor===`warning`,"text-info-default":(e===`text`||e===`elevated`||e===`outlined`)&&this.effectiveColor===`info`,"text-surface-onVariant":(e===`text`||e===`elevated`||e===`outlined`||e===`filled tonal`)&&this.effectiveColor===`neutral`},r={"absolute inset-0 hover:opacity-[0.08] z-0 rounded-2xl":!0,"focus-visible:opacity-[0.10]":!0,"active:opacity-[0.10]":!0,"hover:bg-primary-on":e===`filled`&&this.effectiveColor===`primary`,"hover:bg-secondary-on":e===`filled`&&this.effectiveColor===`secondary`,"hover:bg-success-on":e===`filled`&&this.effectiveColor===`success`,"hover:bg-error-on":e===`filled`&&this.effectiveColor===`error`,"hover:bg-warning-on":e===`filled`&&this.effectiveColor===`warning`,"hover:bg-info-on":e===`filled`&&this.effectiveColor===`info`,"hover:bg-surface-on":e===`filled`&&this.effectiveColor===`neutral`,"hover:bg-primary-default":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`primary`,"hover:bg-secondary-default":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`secondary`,"hover:bg-success-default":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`success`,"hover:bg-error-default":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`error`,"hover:bg-warning-default":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`warning`,"hover:bg-info-default":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`info`,"hover:bg-surface-onVariant":(e===`outlined`||e===`elevated`||e===`text`)&&this.effectiveColor===`neutral`,"hover:bg-primary-container":e===`filled tonal`&&this.effectiveColor===`primary`,"hover:bg-secondary-container":e===`filled tonal`&&this.effectiveColor===`secondary`,"hover:bg-success-container":e===`filled tonal`&&this.effectiveColor===`success`,"hover:bg-error-container":e===`filled tonal`&&this.effectiveColor===`error`,"hover:bg-warning-container":e===`filled tonal`&&this.effectiveColor===`warning`,"hover:bg-info-container":e===`filled tonal`&&this.effectiveColor===`info`,"hover:bg-surface-containerLow":e===`filled tonal`&&this.effectiveColor===`neutral`};return this.href?i.html`
33
42
  <a
34
43
  ${t.t({strength:3,radius:60})}
35
44
  part="base"
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-Cml67Y_d.cjs","names":["#ariaLabel"],"sources":["../src/button/context.ts","../src/button/button.ts"],"sourcesContent":["import { createContext } from '@lit/context'\n\nexport type SchmancyButtonSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg'\n\n/**\n * Provided by `<schmancy-button>` to its descendants so children\n * (e.g. `<schmancy-icon>`) can auto-size against the enclosing button.\n */\nexport const SchmancyButtonSizeContext = createContext<SchmancyButtonSize>('schmancy-button-size')\n","import { provide } from '@lit/context'\nimport { SchmancyElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nimport { magnetic } from '../directives/magnetic'\nimport { SchmancyButtonSizeContext, type SchmancyButtonSize } from './context'\n\nexport interface SchmancyButtonEventMap {\n\tSchmancyFocus: CustomEvent<void>\n\tSchmancyBlur: CustomEvent<void>\n}\n\nexport type ButtonVariant = 'elevated' | 'filled' | 'filled tonal' | 'tonal' | 'outlined' | 'text'\nexport type ButtonColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'neutral'\n\n/**\n * A button component.\n * @element schmancy-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n * @csspart base - The underlying native `<button>` (or `<a>` when `href` is set).\n */\n@customElement('schmancy-button')\nexport class SchmancyButton extends SchmancyElement {\n\tstatic styles = [\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tflex-shrink: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t\tposition: relative;\n\t\t\t\ttouch-action: manipulation;\n\t\t\t\tborder-radius: 1rem;\n\t\t\t\ttransition:\n\t\t\t\t\tbox-shadow 300ms cubic-bezier(0.34, 1.56, 0.64, 1),\n\t\t\t\t\ttransform 200ms cubic-bezier(0.34, 1.56, 0.64, 1);\n\t\t\t}\n\t\t\t:host([width='full']) {\n\t\t\t\tdisplay: flex;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t:host(:hover:not([disabled])) {\n\t\t\t\tbox-shadow: 0 4px 16px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t\t\t}\n\t\t\t:host(:active:not([disabled])) {\n\t\t\t\ttransform: scale(0.97);\n\t\t\t\tbox-shadow: 0 1px 4px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 10%, transparent);\n\t\t\t\ttransition-duration: 100ms;\n\t\t\t}\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\t:host {\n\t\t\t\t\ttransition: none;\n\t\t\t\t}\n\t\t\t\t:host(:hover:not([disabled])) {\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t}\n\t\t\t\t:host(:active:not([disabled])) {\n\t\t\t\t\ttransform: none;\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t}\n\t\t\t}\n\t\t\t:host *,\n\t\t\t* {\n\t\t\t\ttouch-action: manipulation;\n\t\t\t}\n\t\t`,\n\t]\n\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\tstatic formAssociated = true\n\tprivate internals: ElementInternals | undefined\n\t/**\n\t * When this button is `type=\"submit\"` and lives inside a <schmancy-form>,\n\t * the observer mirrors the form's `aria-busy` attribute onto this button\n\t * while a submit is in flight. Stays focusable; disabled buttons drop from\n\t * the tab order and are unreachable to AT (WCAG 2.2 AA).\n\t */\n\tprivate formBusyObserver?: MutationObserver\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t\t// Translate clicks into native form semantics so the button works\n\t\t// inside any <form>, not just inside <schmancy-form>.\n\t\tthis.addEventListener('click', (e: MouseEvent) => {\n\t\t\tif (this.disabled) {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopImmediatePropagation()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst form = this.internals?.form\n\t\t\tif (!form) return\n\t\t\tif (this.type === 'submit') {\n\t\t\t\te.preventDefault()\n\t\t\t\tform.requestSubmit()\n\t\t\t} else if (this.type === 'reset') {\n\t\t\t\te.preventDefault()\n\t\t\t\tform.reset()\n\t\t\t}\n\t\t})\n\t}\n\n\t/** Associated form, when placed inside a <form>. */\n\tget form(): HTMLFormElement | null {\n\t\treturn this.internals?.form ?? null\n\t}\n\n\tformDisabledCallback(disabled: boolean): void {\n\t\tthis.disabled = disabled\n\t}\n\n\toverride connectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\t// Mirror the closest <schmancy-form>'s aria-busy onto this submit button\n\t\t// so the user gets a visible busy state during async submit handlers.\n\t\t// Schmancy-form sets aria-busy=\"true\" while status === 'submitting'.\n\t\tif (this.type !== 'submit') return\n\t\tconst form = this.closest('schmancy-form') as HTMLElement | null\n\t\tif (!form) return\n\t\tconst sync = () => {\n\t\t\tconst busy = form.getAttribute('aria-busy') === 'true'\n\t\t\tif (busy) {\n\t\t\t\tthis.setAttribute('aria-busy', 'true')\n\t\t\t\tthis.internals?.states.add('submitting')\n\t\t\t} else {\n\t\t\t\tthis.removeAttribute('aria-busy')\n\t\t\t\tthis.internals?.states.delete('submitting')\n\t\t\t}\n\t\t}\n\t\tsync()\n\t\tthis.formBusyObserver = new MutationObserver(sync)\n\t\tthis.formBusyObserver.observe(form, { attributes: true, attributeFilter: ['aria-busy'] })\n\t}\n\n\toverride disconnectedCallback(): void {\n\t\tthis.formBusyObserver?.disconnect()\n\t\tthis.formBusyObserver = undefined\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\t#ariaLabel!: string\n\n\t/**\n\t * The variant of the button.\n\t * @attr\n\t * @default 'text'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The color of the button.\n\t * @attr\n\t * @default Depends on variant: 'primary' for filled/elevated/outlined/text, 'secondary' for tonal\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic color?: ButtonColor\n\n\t/**\n\t * The width of the button.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property({ reflect: true })\n\tpublic width: 'full' | 'auto' = 'auto'\n\n\t/**\n\t * The size of the button.\n\t * Provided as `SchmancyButtonSizeContext` to descendant elements so children\n\t * (e.g. `<schmancy-icon>`) can auto-size against the enclosing button.\n\t * @attr\n\t * @type {'xxs' | 'xs' | 'sm' | 'md' | 'lg'}\n\t * @default 'md'\n\t * @public\n\t */\n\t@provide({ context: SchmancyButtonSizeContext })\n\t@property({ type: String })\n\tpublic size: SchmancyButtonSize = 'md'\n\n\t/**\n\t * The type of the button.\n\t * Defaults to 'button' (preventing accidental form submissions).\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type: 'button' | 'reset' | 'submit' = 'button'\n\n\t/**\n\t * The URL the button points to.\n\t * If provided, the component will render as an anchor element.\n\t * @attr\n\t */\n\t@property()\n\tpublic href?: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this.#ariaLabel\n\t\tthis.#ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this.#ariaLabel\n\t}\n\n\t@queryAssignedElements({\n\t\tslot: 'prefix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate prefixImgs!: HTMLImageElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'suffix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate suffixImgs!: HTMLImageElement[]\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\t/**\n\t * Get the effective color based on variant if not explicitly set\n\t * M3 spec: filled = primary, tonal = secondary, others = primary\n\t */\n\tprotected get effectiveColor(): ButtonColor {\n\t\tif (this.color) return this.color\n\n\t\t// Map 'tonal' to 'filled tonal' for checking\n\t\tconst effectiveVariant = this.variant === 'tonal' ? 'filled tonal' : this.variant\n\n\t\t// M3 defaults: tonal uses secondary, others use primary\n\t\treturn effectiveVariant === 'filled tonal' ? 'secondary' : 'primary'\n\t}\n\n\tprotected get imgClasses(): string[] {\n\t\t// M3 spec: icon sizes scale with button size\n\t\tconst sizeMap = {\n\t\t\txxs: 'w-3 h-3', // 12px for 24px button (ultra-compact)\n\t\t\txs: 'w-4 h-4', // 16px for 32px button (M3 dense)\n\t\t\tsm: 'w-5 h-5', // 20px for 40px button (M3 default)\n\t\t\tmd: 'w-6 h-6', // 24px for 48px button (M3 large)\n\t\t\tlg: 'w-7 h-7', // 28px for 56px button (M3 extra large)\n\t\t}\n\t\treturn [sizeMap[this.size], 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\t// Add image classes and ensure decorative images have an empty alt.\n\t\tthis.prefixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t\tif (!img.hasAttribute('alt')) {\n\t\t\t\timg.setAttribute('alt', '')\n\t\t\t}\n\t\t})\n\t\tthis.suffixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t\tif (!img.hasAttribute('alt')) {\n\t\t\t\timg.setAttribute('alt', '')\n\t\t\t}\n\t\t})\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\t// Prevent default behavior when the component is disabled.\n\tprivate preventDefault(event: Event) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t}\n\n\trender() {\n\t\t// Map 'tonal' variant to 'filled tonal' for backwards compatibility\n\t\tconst effectiveVariant = this.variant === 'tonal' ? 'filled tonal' : this.variant\n\n\t\t// Compute classes for the interactive element.\n\t\tconst classes = {\n\t\t\t'z-0 transition-all duration-200 relative rounded-2xl flex justify-center items-center outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden flex-1 overflow-hidden': true,\n\t\t\t// Height - M3 spec: 24dp (xxs) → 32dp (dense) → 40dp (default) → 48dp (large) → 56dp (XL)\n\t\t\t'h-6': this.size === 'xxs', // 24px - Ultra-compact\n\t\t\t'h-8': this.size === 'xs', // 32px - M3 dense/compact\n\t\t\t'h-10': this.size === 'sm', // 40px - M3 default\n\t\t\t'h-12': this.size === 'md', // 48px - M3 large\n\t\t\t'h-14': this.size === 'lg', // 56px - M3 extra large\n\t\t\t// Padding - M3 spec: horizontal padding 24dp default, scaled proportionally\n\t\t\t'py-1 px-2': this.size === 'xxs', // 4px/8px for 24px height\n\t\t\t'py-2 px-4': this.size === 'xs', // 8px/16px for 32px height\n\t\t\t'py-2.5 px-5': this.size === 'sm', // 10px/20px for 40px height\n\t\t\t'py-3 px-6': this.size === 'md', // 12px/24px for 48px height (M3 default)\n\t\t\t'py-4 px-7': this.size === 'lg', // 16px/28px for 56px height\n\t\t\t// Typography - M3 spec: label-large (14px) default, scaled\n\t\t\t'text-[10px] font-medium leading-3': this.size === 'xxs', // 10px\n\t\t\t'text-xs font-medium leading-4': this.size === 'xs', // 12px\n\t\t\t'text-sm font-medium leading-5': this.size === 'sm' || this.size === 'md', // 14px - M3 label-large\n\t\t\t'text-base font-medium leading-6': this.size === 'lg', // 16px\n\t\t\t// Letter spacing - M3 spec\n\t\t\t'tracking-[0.1px]': true,\n\t\t\t// Gap - Scaled with size\n\t\t\t'gap-0.5': this.size === 'xxs', // 2px\n\t\t\t'gap-1': this.size === 'xs', // 4px\n\t\t\t'gap-1.5': this.size === 'sm', // 6px\n\t\t\t'gap-2': this.size === 'md', // 8px\n\t\t\t'gap-2.5': this.size === 'lg', // 10px\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'hover:shadow-sm': !this.disabled && effectiveVariant === 'elevated',\n\t\t\t'w-full tex-center': this.width === 'full',\n\t\t\t// Elevated variant\n\t\t\t'bg-surface-low shadow-xs': effectiveVariant === 'elevated',\n\t\t\t// Outlined variant\n\t\t\t'bg-transparent border-1 border-solid': effectiveVariant === 'outlined',\n\t\t\t'border-outline': effectiveVariant === 'outlined' && this.effectiveColor === 'primary',\n\t\t\t'border-success-default': effectiveVariant === 'outlined' && this.effectiveColor === 'success',\n\t\t\t'border-error-default': effectiveVariant === 'outlined' && this.effectiveColor === 'error',\n\t\t\t'border-warning-default': effectiveVariant === 'outlined' && this.effectiveColor === 'warning',\n\t\t\t'border-info-default': effectiveVariant === 'outlined' && this.effectiveColor === 'info',\n\t\t\t'border-secondary-default': effectiveVariant === 'outlined' && this.effectiveColor === 'secondary',\n\t\t\t'border-outline-variant': effectiveVariant === 'outlined' && this.effectiveColor === 'neutral',\n\t\t\t// Filled variant - background colors\n\t\t\t'bg-primary-default': effectiveVariant === 'filled' && this.effectiveColor === 'primary',\n\t\t\t'bg-secondary-default': effectiveVariant === 'filled' && this.effectiveColor === 'secondary',\n\t\t\t'bg-success-default': effectiveVariant === 'filled' && this.effectiveColor === 'success',\n\t\t\t'bg-error-default': effectiveVariant === 'filled' && this.effectiveColor === 'error',\n\t\t\t'bg-warning-default': effectiveVariant === 'filled' && this.effectiveColor === 'warning',\n\t\t\t'bg-info-default': effectiveVariant === 'filled' && this.effectiveColor === 'info',\n\t\t\t'bg-surface-containerHighest': effectiveVariant === 'filled' && this.effectiveColor === 'neutral',\n\t\t\t// Filled variant - text colors\n\t\t\t'text-primary-on': effectiveVariant === 'filled' && this.effectiveColor === 'primary',\n\t\t\t'text-secondary-on': effectiveVariant === 'filled' && this.effectiveColor === 'secondary',\n\t\t\t'text-success-on': effectiveVariant === 'filled' && this.effectiveColor === 'success',\n\t\t\t'text-error-on': effectiveVariant === 'filled' && this.effectiveColor === 'error',\n\t\t\t'text-warning-on': effectiveVariant === 'filled' && this.effectiveColor === 'warning',\n\t\t\t'text-info-on': effectiveVariant === 'filled' && this.effectiveColor === 'info',\n\t\t\t'text-surface-on': effectiveVariant === 'filled' && this.effectiveColor === 'neutral',\n\t\t\t// Filled tonal variant - background colors\n\t\t\t'bg-primary-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'primary',\n\t\t\t'bg-secondary-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'secondary',\n\t\t\t'bg-success-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'success',\n\t\t\t'bg-error-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'error',\n\t\t\t'bg-warning-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'warning',\n\t\t\t'bg-info-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'info',\n\t\t\t'bg-surface-containerLow': effectiveVariant === 'filled tonal' && this.effectiveColor === 'neutral',\n\t\t\t// Filled tonal variant - text colors\n\t\t\t'text-primary-onContainer': effectiveVariant === 'filled tonal' && this.effectiveColor === 'primary',\n\t\t\t'text-secondary-onContainer': effectiveVariant === 'filled tonal' && this.effectiveColor === 'secondary',\n\t\t\t'text-success-onContainer': effectiveVariant === 'filled tonal' && this.effectiveColor === 'success',\n\t\t\t'text-error-onContainer': effectiveVariant === 'filled tonal' && this.effectiveColor === 'error',\n\t\t\t'text-warning-onContainer': effectiveVariant === 'filled tonal' && this.effectiveColor === 'warning',\n\t\t\t'text-info-onContainer': effectiveVariant === 'filled tonal' && this.effectiveColor === 'info',\n\t\t\t// Text and elevated variants - text colors\n\t\t\t'text-primary-default':\n\t\t\t\t(effectiveVariant === 'text' || effectiveVariant === 'elevated' || effectiveVariant === 'outlined') &&\n\t\t\t\tthis.effectiveColor === 'primary',\n\t\t\t'text-secondary-default':\n\t\t\t\t(effectiveVariant === 'text' || effectiveVariant === 'elevated' || effectiveVariant === 'outlined') &&\n\t\t\t\tthis.effectiveColor === 'secondary',\n\t\t\t'text-success-default':\n\t\t\t\t(effectiveVariant === 'text' || effectiveVariant === 'elevated' || effectiveVariant === 'outlined') &&\n\t\t\t\tthis.effectiveColor === 'success',\n\t\t\t'text-error-default':\n\t\t\t\t(effectiveVariant === 'text' || effectiveVariant === 'elevated' || effectiveVariant === 'outlined') &&\n\t\t\t\tthis.effectiveColor === 'error',\n\t\t\t'text-warning-default':\n\t\t\t\t(effectiveVariant === 'text' || effectiveVariant === 'elevated' || effectiveVariant === 'outlined') &&\n\t\t\t\tthis.effectiveColor === 'warning',\n\t\t\t'text-info-default':\n\t\t\t\t(effectiveVariant === 'text' || effectiveVariant === 'elevated' || effectiveVariant === 'outlined') &&\n\t\t\t\tthis.effectiveColor === 'info',\n\t\t\t'text-surface-onVariant':\n\t\t\t\t(effectiveVariant === 'text' ||\n\t\t\t\t\teffectiveVariant === 'elevated' ||\n\t\t\t\t\teffectiveVariant === 'outlined' ||\n\t\t\t\t\teffectiveVariant === 'filled tonal') &&\n\t\t\t\tthis.effectiveColor === 'neutral',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'absolute inset-0 hover:opacity-[0.08] z-0 rounded-2xl': true,\n\t\t\t// M3 focus and pressed states\n\t\t\t'focus-visible:opacity-[0.10]': true, // M3 focus state\n\t\t\t'active:opacity-[0.10]': true, // M3 pressed state\n\t\t\t// Filled variant hover\n\t\t\t'hover:bg-primary-on': effectiveVariant === 'filled' && this.effectiveColor === 'primary',\n\t\t\t'hover:bg-secondary-on': effectiveVariant === 'filled' && this.effectiveColor === 'secondary',\n\t\t\t'hover:bg-success-on': effectiveVariant === 'filled' && this.effectiveColor === 'success',\n\t\t\t'hover:bg-error-on': effectiveVariant === 'filled' && this.effectiveColor === 'error',\n\t\t\t'hover:bg-warning-on': effectiveVariant === 'filled' && this.effectiveColor === 'warning',\n\t\t\t'hover:bg-info-on': effectiveVariant === 'filled' && this.effectiveColor === 'info',\n\t\t\t'hover:bg-surface-on': effectiveVariant === 'filled' && this.effectiveColor === 'neutral',\n\t\t\t// Outlined, elevated, text variants hover\n\t\t\t'hover:bg-primary-default':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'primary',\n\t\t\t'hover:bg-secondary-default':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'secondary',\n\t\t\t'hover:bg-success-default':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'success',\n\t\t\t'hover:bg-error-default':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'error',\n\t\t\t'hover:bg-warning-default':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'warning',\n\t\t\t'hover:bg-info-default':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'info',\n\t\t\t'hover:bg-surface-onVariant':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'neutral',\n\t\t\t// Filled tonal hover\n\t\t\t'hover:bg-primary-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'primary',\n\t\t\t'hover:bg-secondary-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'secondary',\n\t\t\t'hover:bg-success-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'success',\n\t\t\t'hover:bg-error-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'error',\n\t\t\t'hover:bg-warning-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'warning',\n\t\t\t'hover:bg-info-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'info',\n\t\t\t'hover:bg-surface-containerLow': effectiveVariant === 'filled tonal' && this.effectiveColor === 'neutral',\n\t\t}\n\n\t\t// If href is provided, render an anchor element.\n\t\tif (this.href) {\n\t\t\treturn html`\n\t\t\t\t<a\n\t\t\t\t\t${magnetic({ strength: 3, radius: 60 })}\n\t\t\t\t\tpart=\"base\"\n\t\t\t\t\thref=${ifDefined(this.disabled ? undefined : this.href)}\n\t\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\t\t@click=${this.disabled ? this.preventDefault : undefined}\n\t\t\t\t>\n\t\t\t\t\t${when(!this.disabled, () => html`<div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t\t</a>\n\t\t\t`\n\t\t}\n\n\t\t// Otherwise, render a native button element.\n\t\treturn html`\n\t\t\t<button\n\t\t\t\t${magnetic({ strength: 3, radius: 60 })}\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html`<div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t<slot></slot>\n\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-button': SchmancyButton\n\t}\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { t as e, u as t } from "./SchmancyElement-OG71FtNv.js";
2
- import "./mixins-bCEXbwJV.js";
1
+ import { t as e, u as t } from "./SchmancyElement-Ob9yGkiG.js";
2
+ import "./mixins-q4KAL8Xr.js";
3
3
  import { t as n } from "./magnetic-DaOOv5Dz.js";
4
4
  import { createContext as r, provide as i } from "@lit/context";
5
5
  import { customElement as a, property as o, query as s, queryAssignedElements as c } from "lit/decorators.js";
@@ -8,38 +8,47 @@ import { ifDefined as f } from "lit/directives/if-defined.js";
8
8
  import { when as p } from "lit/directives/when.js";
9
9
  var m = r("schmancy-button-size"), h = class extends e {
10
10
  static {
11
- this.styles = [u`:host{
12
- display: inline-flex;
13
- flex-shrink: 0;
14
- overflow: hidden;
15
- position: relative;
16
- touch-action: manipulation;
17
- border-radius: 1rem;
18
- transition:
19
- box-shadow 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
20
- transform 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
21
- }
22
- :host([width="full"]) {
23
- display: flex;
24
- width: 100%;
25
- }
26
- :host(:hover:not([disabled])) {
27
- box-shadow: 0 4px 16px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);
28
- }
29
- :host(:active:not([disabled])) {
30
- transform: scale(0.97);
31
- box-shadow: 0 1px 4px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 10%, transparent);
32
- transition-duration: 100ms;
33
- }
34
- @media (prefers-reduced-motion: reduce) {
35
- :host { transition: none; }
36
- :host(:hover:not([disabled])) { box-shadow: none; }
37
- :host(:active:not([disabled])) { transform: none; box-shadow: none; }
38
- }
39
- :host *,
40
- * {
41
- touch-action: manipulation;
42
- }`];
11
+ this.styles = [u`
12
+ :host {
13
+ display: inline-flex;
14
+ flex-shrink: 0;
15
+ overflow: hidden;
16
+ position: relative;
17
+ touch-action: manipulation;
18
+ border-radius: 1rem;
19
+ transition:
20
+ box-shadow 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
21
+ transform 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
22
+ }
23
+ :host([width='full']) {
24
+ display: flex;
25
+ width: 100%;
26
+ }
27
+ :host(:hover:not([disabled])) {
28
+ box-shadow: 0 4px 16px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);
29
+ }
30
+ :host(:active:not([disabled])) {
31
+ transform: scale(0.97);
32
+ box-shadow: 0 1px 4px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 10%, transparent);
33
+ transition-duration: 100ms;
34
+ }
35
+ @media (prefers-reduced-motion: reduce) {
36
+ :host {
37
+ transition: none;
38
+ }
39
+ :host(:hover:not([disabled])) {
40
+ box-shadow: none;
41
+ }
42
+ :host(:active:not([disabled])) {
43
+ transform: none;
44
+ box-shadow: none;
45
+ }
46
+ }
47
+ :host *,
48
+ * {
49
+ touch-action: manipulation;
50
+ }
51
+ `];
43
52
  }
44
53
  static {
45
54
  this.shadowRootOptions = {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-DWANpZfD.js","names":["#ariaLabel"],"sources":["../src/button/context.ts","../src/button/button.ts"],"sourcesContent":["import { createContext } from '@lit/context'\n\nexport type SchmancyButtonSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg'\n\n/**\n * Provided by `<schmancy-button>` to its descendants so children\n * (e.g. `<schmancy-icon>`) can auto-size against the enclosing button.\n */\nexport const SchmancyButtonSizeContext = createContext<SchmancyButtonSize>('schmancy-button-size')\n","import { provide } from '@lit/context'\nimport { SchmancyElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nimport { magnetic } from '../directives/magnetic'\nimport { SchmancyButtonSizeContext, type SchmancyButtonSize } from './context'\n\nexport interface SchmancyButtonEventMap {\n\tSchmancyFocus: CustomEvent<void>\n\tSchmancyBlur: CustomEvent<void>\n}\n\nexport type ButtonVariant = 'elevated' | 'filled' | 'filled tonal' | 'tonal' | 'outlined' | 'text'\nexport type ButtonColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'neutral'\n\n/**\n * A button component.\n * @element schmancy-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n * @csspart base - The underlying native `<button>` (or `<a>` when `href` is set).\n */\n@customElement('schmancy-button')\nexport class SchmancyButton extends SchmancyElement {\n\tstatic styles = [\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tflex-shrink: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t\tposition: relative;\n\t\t\t\ttouch-action: manipulation;\n\t\t\t\tborder-radius: 1rem;\n\t\t\t\ttransition:\n\t\t\t\t\tbox-shadow 300ms cubic-bezier(0.34, 1.56, 0.64, 1),\n\t\t\t\t\ttransform 200ms cubic-bezier(0.34, 1.56, 0.64, 1);\n\t\t\t}\n\t\t\t:host([width='full']) {\n\t\t\t\tdisplay: flex;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t:host(:hover:not([disabled])) {\n\t\t\t\tbox-shadow: 0 4px 16px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t\t\t}\n\t\t\t:host(:active:not([disabled])) {\n\t\t\t\ttransform: scale(0.97);\n\t\t\t\tbox-shadow: 0 1px 4px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 10%, transparent);\n\t\t\t\ttransition-duration: 100ms;\n\t\t\t}\n\t\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t\t:host {\n\t\t\t\t\ttransition: none;\n\t\t\t\t}\n\t\t\t\t:host(:hover:not([disabled])) {\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t}\n\t\t\t\t:host(:active:not([disabled])) {\n\t\t\t\t\ttransform: none;\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t}\n\t\t\t}\n\t\t\t:host *,\n\t\t\t* {\n\t\t\t\ttouch-action: manipulation;\n\t\t\t}\n\t\t`,\n\t]\n\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\tstatic formAssociated = true\n\tprivate internals: ElementInternals | undefined\n\t/**\n\t * When this button is `type=\"submit\"` and lives inside a <schmancy-form>,\n\t * the observer mirrors the form's `aria-busy` attribute onto this button\n\t * while a submit is in flight. Stays focusable; disabled buttons drop from\n\t * the tab order and are unreachable to AT (WCAG 2.2 AA).\n\t */\n\tprivate formBusyObserver?: MutationObserver\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t\t// Translate clicks into native form semantics so the button works\n\t\t// inside any <form>, not just inside <schmancy-form>.\n\t\tthis.addEventListener('click', (e: MouseEvent) => {\n\t\t\tif (this.disabled) {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopImmediatePropagation()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst form = this.internals?.form\n\t\t\tif (!form) return\n\t\t\tif (this.type === 'submit') {\n\t\t\t\te.preventDefault()\n\t\t\t\tform.requestSubmit()\n\t\t\t} else if (this.type === 'reset') {\n\t\t\t\te.preventDefault()\n\t\t\t\tform.reset()\n\t\t\t}\n\t\t})\n\t}\n\n\t/** Associated form, when placed inside a <form>. */\n\tget form(): HTMLFormElement | null {\n\t\treturn this.internals?.form ?? null\n\t}\n\n\tformDisabledCallback(disabled: boolean): void {\n\t\tthis.disabled = disabled\n\t}\n\n\toverride connectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\t// Mirror the closest <schmancy-form>'s aria-busy onto this submit button\n\t\t// so the user gets a visible busy state during async submit handlers.\n\t\t// Schmancy-form sets aria-busy=\"true\" while status === 'submitting'.\n\t\tif (this.type !== 'submit') return\n\t\tconst form = this.closest('schmancy-form') as HTMLElement | null\n\t\tif (!form) return\n\t\tconst sync = () => {\n\t\t\tconst busy = form.getAttribute('aria-busy') === 'true'\n\t\t\tif (busy) {\n\t\t\t\tthis.setAttribute('aria-busy', 'true')\n\t\t\t\tthis.internals?.states.add('submitting')\n\t\t\t} else {\n\t\t\t\tthis.removeAttribute('aria-busy')\n\t\t\t\tthis.internals?.states.delete('submitting')\n\t\t\t}\n\t\t}\n\t\tsync()\n\t\tthis.formBusyObserver = new MutationObserver(sync)\n\t\tthis.formBusyObserver.observe(form, { attributes: true, attributeFilter: ['aria-busy'] })\n\t}\n\n\toverride disconnectedCallback(): void {\n\t\tthis.formBusyObserver?.disconnect()\n\t\tthis.formBusyObserver = undefined\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\t#ariaLabel!: string\n\n\t/**\n\t * The variant of the button.\n\t * @attr\n\t * @default 'text'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The color of the button.\n\t * @attr\n\t * @default Depends on variant: 'primary' for filled/elevated/outlined/text, 'secondary' for tonal\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic color?: ButtonColor\n\n\t/**\n\t * The width of the button.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property({ reflect: true })\n\tpublic width: 'full' | 'auto' = 'auto'\n\n\t/**\n\t * The size of the button.\n\t * Provided as `SchmancyButtonSizeContext` to descendant elements so children\n\t * (e.g. `<schmancy-icon>`) can auto-size against the enclosing button.\n\t * @attr\n\t * @type {'xxs' | 'xs' | 'sm' | 'md' | 'lg'}\n\t * @default 'md'\n\t * @public\n\t */\n\t@provide({ context: SchmancyButtonSizeContext })\n\t@property({ type: String })\n\tpublic size: SchmancyButtonSize = 'md'\n\n\t/**\n\t * The type of the button.\n\t * Defaults to 'button' (preventing accidental form submissions).\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type: 'button' | 'reset' | 'submit' = 'button'\n\n\t/**\n\t * The URL the button points to.\n\t * If provided, the component will render as an anchor element.\n\t * @attr\n\t */\n\t@property()\n\tpublic href?: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this.#ariaLabel\n\t\tthis.#ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this.#ariaLabel\n\t}\n\n\t@queryAssignedElements({\n\t\tslot: 'prefix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate prefixImgs!: HTMLImageElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'suffix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate suffixImgs!: HTMLImageElement[]\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\t/**\n\t * Get the effective color based on variant if not explicitly set\n\t * M3 spec: filled = primary, tonal = secondary, others = primary\n\t */\n\tprotected get effectiveColor(): ButtonColor {\n\t\tif (this.color) return this.color\n\n\t\t// Map 'tonal' to 'filled tonal' for checking\n\t\tconst effectiveVariant = this.variant === 'tonal' ? 'filled tonal' : this.variant\n\n\t\t// M3 defaults: tonal uses secondary, others use primary\n\t\treturn effectiveVariant === 'filled tonal' ? 'secondary' : 'primary'\n\t}\n\n\tprotected get imgClasses(): string[] {\n\t\t// M3 spec: icon sizes scale with button size\n\t\tconst sizeMap = {\n\t\t\txxs: 'w-3 h-3', // 12px for 24px button (ultra-compact)\n\t\t\txs: 'w-4 h-4', // 16px for 32px button (M3 dense)\n\t\t\tsm: 'w-5 h-5', // 20px for 40px button (M3 default)\n\t\t\tmd: 'w-6 h-6', // 24px for 48px button (M3 large)\n\t\t\tlg: 'w-7 h-7', // 28px for 56px button (M3 extra large)\n\t\t}\n\t\treturn [sizeMap[this.size], 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\t// Add image classes and ensure decorative images have an empty alt.\n\t\tthis.prefixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t\tif (!img.hasAttribute('alt')) {\n\t\t\t\timg.setAttribute('alt', '')\n\t\t\t}\n\t\t})\n\t\tthis.suffixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t\tif (!img.hasAttribute('alt')) {\n\t\t\t\timg.setAttribute('alt', '')\n\t\t\t}\n\t\t})\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\t// Prevent default behavior when the component is disabled.\n\tprivate preventDefault(event: Event) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t}\n\n\trender() {\n\t\t// Map 'tonal' variant to 'filled tonal' for backwards compatibility\n\t\tconst effectiveVariant = this.variant === 'tonal' ? 'filled tonal' : this.variant\n\n\t\t// Compute classes for the interactive element.\n\t\tconst classes = {\n\t\t\t'z-0 transition-all duration-200 relative rounded-2xl flex justify-center items-center outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden flex-1 overflow-hidden': true,\n\t\t\t// Height - M3 spec: 24dp (xxs) → 32dp (dense) → 40dp (default) → 48dp (large) → 56dp (XL)\n\t\t\t'h-6': this.size === 'xxs', // 24px - Ultra-compact\n\t\t\t'h-8': this.size === 'xs', // 32px - M3 dense/compact\n\t\t\t'h-10': this.size === 'sm', // 40px - M3 default\n\t\t\t'h-12': this.size === 'md', // 48px - M3 large\n\t\t\t'h-14': this.size === 'lg', // 56px - M3 extra large\n\t\t\t// Padding - M3 spec: horizontal padding 24dp default, scaled proportionally\n\t\t\t'py-1 px-2': this.size === 'xxs', // 4px/8px for 24px height\n\t\t\t'py-2 px-4': this.size === 'xs', // 8px/16px for 32px height\n\t\t\t'py-2.5 px-5': this.size === 'sm', // 10px/20px for 40px height\n\t\t\t'py-3 px-6': this.size === 'md', // 12px/24px for 48px height (M3 default)\n\t\t\t'py-4 px-7': this.size === 'lg', // 16px/28px for 56px height\n\t\t\t// Typography - M3 spec: label-large (14px) default, scaled\n\t\t\t'text-[10px] font-medium leading-3': this.size === 'xxs', // 10px\n\t\t\t'text-xs font-medium leading-4': this.size === 'xs', // 12px\n\t\t\t'text-sm font-medium leading-5': this.size === 'sm' || this.size === 'md', // 14px - M3 label-large\n\t\t\t'text-base font-medium leading-6': this.size === 'lg', // 16px\n\t\t\t// Letter spacing - M3 spec\n\t\t\t'tracking-[0.1px]': true,\n\t\t\t// Gap - Scaled with size\n\t\t\t'gap-0.5': this.size === 'xxs', // 2px\n\t\t\t'gap-1': this.size === 'xs', // 4px\n\t\t\t'gap-1.5': this.size === 'sm', // 6px\n\t\t\t'gap-2': this.size === 'md', // 8px\n\t\t\t'gap-2.5': this.size === 'lg', // 10px\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'hover:shadow-sm': !this.disabled && effectiveVariant === 'elevated',\n\t\t\t'w-full tex-center': this.width === 'full',\n\t\t\t// Elevated variant\n\t\t\t'bg-surface-low shadow-xs': effectiveVariant === 'elevated',\n\t\t\t// Outlined variant\n\t\t\t'bg-transparent border-1 border-solid': effectiveVariant === 'outlined',\n\t\t\t'border-outline': effectiveVariant === 'outlined' && this.effectiveColor === 'primary',\n\t\t\t'border-success-default': effectiveVariant === 'outlined' && this.effectiveColor === 'success',\n\t\t\t'border-error-default': effectiveVariant === 'outlined' && this.effectiveColor === 'error',\n\t\t\t'border-warning-default': effectiveVariant === 'outlined' && this.effectiveColor === 'warning',\n\t\t\t'border-info-default': effectiveVariant === 'outlined' && this.effectiveColor === 'info',\n\t\t\t'border-secondary-default': effectiveVariant === 'outlined' && this.effectiveColor === 'secondary',\n\t\t\t'border-outline-variant': effectiveVariant === 'outlined' && this.effectiveColor === 'neutral',\n\t\t\t// Filled variant - background colors\n\t\t\t'bg-primary-default': effectiveVariant === 'filled' && this.effectiveColor === 'primary',\n\t\t\t'bg-secondary-default': effectiveVariant === 'filled' && this.effectiveColor === 'secondary',\n\t\t\t'bg-success-default': effectiveVariant === 'filled' && this.effectiveColor === 'success',\n\t\t\t'bg-error-default': effectiveVariant === 'filled' && this.effectiveColor === 'error',\n\t\t\t'bg-warning-default': effectiveVariant === 'filled' && this.effectiveColor === 'warning',\n\t\t\t'bg-info-default': effectiveVariant === 'filled' && this.effectiveColor === 'info',\n\t\t\t'bg-surface-containerHighest': effectiveVariant === 'filled' && this.effectiveColor === 'neutral',\n\t\t\t// Filled variant - text colors\n\t\t\t'text-primary-on': effectiveVariant === 'filled' && this.effectiveColor === 'primary',\n\t\t\t'text-secondary-on': effectiveVariant === 'filled' && this.effectiveColor === 'secondary',\n\t\t\t'text-success-on': effectiveVariant === 'filled' && this.effectiveColor === 'success',\n\t\t\t'text-error-on': effectiveVariant === 'filled' && this.effectiveColor === 'error',\n\t\t\t'text-warning-on': effectiveVariant === 'filled' && this.effectiveColor === 'warning',\n\t\t\t'text-info-on': effectiveVariant === 'filled' && this.effectiveColor === 'info',\n\t\t\t'text-surface-on': effectiveVariant === 'filled' && this.effectiveColor === 'neutral',\n\t\t\t// Filled tonal variant - background colors\n\t\t\t'bg-primary-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'primary',\n\t\t\t'bg-secondary-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'secondary',\n\t\t\t'bg-success-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'success',\n\t\t\t'bg-error-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'error',\n\t\t\t'bg-warning-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'warning',\n\t\t\t'bg-info-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'info',\n\t\t\t'bg-surface-containerLow': effectiveVariant === 'filled tonal' && this.effectiveColor === 'neutral',\n\t\t\t// Filled tonal variant - text colors\n\t\t\t'text-primary-onContainer': effectiveVariant === 'filled tonal' && this.effectiveColor === 'primary',\n\t\t\t'text-secondary-onContainer': effectiveVariant === 'filled tonal' && this.effectiveColor === 'secondary',\n\t\t\t'text-success-onContainer': effectiveVariant === 'filled tonal' && this.effectiveColor === 'success',\n\t\t\t'text-error-onContainer': effectiveVariant === 'filled tonal' && this.effectiveColor === 'error',\n\t\t\t'text-warning-onContainer': effectiveVariant === 'filled tonal' && this.effectiveColor === 'warning',\n\t\t\t'text-info-onContainer': effectiveVariant === 'filled tonal' && this.effectiveColor === 'info',\n\t\t\t// Text and elevated variants - text colors\n\t\t\t'text-primary-default':\n\t\t\t\t(effectiveVariant === 'text' || effectiveVariant === 'elevated' || effectiveVariant === 'outlined') &&\n\t\t\t\tthis.effectiveColor === 'primary',\n\t\t\t'text-secondary-default':\n\t\t\t\t(effectiveVariant === 'text' || effectiveVariant === 'elevated' || effectiveVariant === 'outlined') &&\n\t\t\t\tthis.effectiveColor === 'secondary',\n\t\t\t'text-success-default':\n\t\t\t\t(effectiveVariant === 'text' || effectiveVariant === 'elevated' || effectiveVariant === 'outlined') &&\n\t\t\t\tthis.effectiveColor === 'success',\n\t\t\t'text-error-default':\n\t\t\t\t(effectiveVariant === 'text' || effectiveVariant === 'elevated' || effectiveVariant === 'outlined') &&\n\t\t\t\tthis.effectiveColor === 'error',\n\t\t\t'text-warning-default':\n\t\t\t\t(effectiveVariant === 'text' || effectiveVariant === 'elevated' || effectiveVariant === 'outlined') &&\n\t\t\t\tthis.effectiveColor === 'warning',\n\t\t\t'text-info-default':\n\t\t\t\t(effectiveVariant === 'text' || effectiveVariant === 'elevated' || effectiveVariant === 'outlined') &&\n\t\t\t\tthis.effectiveColor === 'info',\n\t\t\t'text-surface-onVariant':\n\t\t\t\t(effectiveVariant === 'text' ||\n\t\t\t\t\teffectiveVariant === 'elevated' ||\n\t\t\t\t\teffectiveVariant === 'outlined' ||\n\t\t\t\t\teffectiveVariant === 'filled tonal') &&\n\t\t\t\tthis.effectiveColor === 'neutral',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'absolute inset-0 hover:opacity-[0.08] z-0 rounded-2xl': true,\n\t\t\t// M3 focus and pressed states\n\t\t\t'focus-visible:opacity-[0.10]': true, // M3 focus state\n\t\t\t'active:opacity-[0.10]': true, // M3 pressed state\n\t\t\t// Filled variant hover\n\t\t\t'hover:bg-primary-on': effectiveVariant === 'filled' && this.effectiveColor === 'primary',\n\t\t\t'hover:bg-secondary-on': effectiveVariant === 'filled' && this.effectiveColor === 'secondary',\n\t\t\t'hover:bg-success-on': effectiveVariant === 'filled' && this.effectiveColor === 'success',\n\t\t\t'hover:bg-error-on': effectiveVariant === 'filled' && this.effectiveColor === 'error',\n\t\t\t'hover:bg-warning-on': effectiveVariant === 'filled' && this.effectiveColor === 'warning',\n\t\t\t'hover:bg-info-on': effectiveVariant === 'filled' && this.effectiveColor === 'info',\n\t\t\t'hover:bg-surface-on': effectiveVariant === 'filled' && this.effectiveColor === 'neutral',\n\t\t\t// Outlined, elevated, text variants hover\n\t\t\t'hover:bg-primary-default':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'primary',\n\t\t\t'hover:bg-secondary-default':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'secondary',\n\t\t\t'hover:bg-success-default':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'success',\n\t\t\t'hover:bg-error-default':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'error',\n\t\t\t'hover:bg-warning-default':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'warning',\n\t\t\t'hover:bg-info-default':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'info',\n\t\t\t'hover:bg-surface-onVariant':\n\t\t\t\t(effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text') &&\n\t\t\t\tthis.effectiveColor === 'neutral',\n\t\t\t// Filled tonal hover\n\t\t\t'hover:bg-primary-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'primary',\n\t\t\t'hover:bg-secondary-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'secondary',\n\t\t\t'hover:bg-success-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'success',\n\t\t\t'hover:bg-error-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'error',\n\t\t\t'hover:bg-warning-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'warning',\n\t\t\t'hover:bg-info-container': effectiveVariant === 'filled tonal' && this.effectiveColor === 'info',\n\t\t\t'hover:bg-surface-containerLow': effectiveVariant === 'filled tonal' && this.effectiveColor === 'neutral',\n\t\t}\n\n\t\t// If href is provided, render an anchor element.\n\t\tif (this.href) {\n\t\t\treturn html`\n\t\t\t\t<a\n\t\t\t\t\t${magnetic({ strength: 3, radius: 60 })}\n\t\t\t\t\tpart=\"base\"\n\t\t\t\t\thref=${ifDefined(this.disabled ? undefined : this.href)}\n\t\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\t\t@click=${this.disabled ? this.preventDefault : undefined}\n\t\t\t\t>\n\t\t\t\t\t${when(!this.disabled, () => html`<div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t\t</a>\n\t\t\t`\n\t\t}\n\n\t\t// Otherwise, render a native button element.\n\t\treturn html`\n\t\t\t<button\n\t\t\t\t${magnetic({ strength: 3, radius: 60 })}\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html`<div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t<slot></slot>\n\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-button': SchmancyButton\n\t}\n}\n"],"mappings":"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"}