@mhmo91/schmancy 0.9.5 → 0.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (616) hide show
  1. package/custom-elements.json +493 -718
  2. package/dist/{animation-CO_Csq84.cjs.map → animation-Bcwh107v.cjs.map} +1 -1
  3. package/dist/{animation-BK-8BwY8.js.map → animation-CXKSuUoE.js.map} +1 -1
  4. package/dist/{area-CRoGqD_u.js → area-BARjKpE9.js} +2 -2
  5. package/dist/{area-CRoGqD_u.js.map → area-BARjKpE9.js.map} +1 -1
  6. package/dist/{area-JPykB7A9.cjs → area-D9b9dHQr.cjs} +3 -3
  7. package/dist/{area-JPykB7A9.cjs.map → area-D9b9dHQr.cjs.map} +1 -1
  8. package/dist/area.cjs +1 -1
  9. package/dist/area.js +1 -1
  10. package/dist/{audio-kz8UgPTO.js → audio-C7TzWI8M.js} +1 -1
  11. package/dist/audio-C7TzWI8M.js.map +1 -0
  12. package/dist/{audio-DtYYgzYD.cjs → audio-DUVz7Ars.cjs} +1 -1
  13. package/dist/audio-DUVz7Ars.cjs.map +1 -0
  14. package/dist/audio.cjs +1 -1
  15. package/dist/audio.js +2 -2
  16. package/dist/autocomplete-AI2CCJmK.cjs +115 -0
  17. package/dist/autocomplete-AI2CCJmK.cjs.map +1 -0
  18. package/dist/{autocomplete-BllPQwr8.js → autocomplete-DOimwVMP.js} +48 -22
  19. package/dist/autocomplete-DOimwVMP.js.map +1 -0
  20. package/dist/autocomplete.cjs +1 -1
  21. package/dist/autocomplete.js +1 -1
  22. package/dist/badge.cjs +1 -1
  23. package/dist/badge.js +1 -1
  24. package/dist/{boat-DYEAZ8Qj.cjs → boat-Bk4u-LzT.cjs} +2 -2
  25. package/dist/{boat-DYEAZ8Qj.cjs.map → boat-Bk4u-LzT.cjs.map} +1 -1
  26. package/dist/{boat-BDTQ-du9.js → boat-DrghVeWK.js} +5 -5
  27. package/dist/{boat-BDTQ-du9.js.map → boat-DrghVeWK.js.map} +1 -1
  28. package/dist/boat.cjs +1 -1
  29. package/dist/boat.js +1 -1
  30. package/dist/breadcrumb.cjs +34 -0
  31. package/dist/breadcrumb.cjs.map +1 -0
  32. package/dist/breadcrumb.js +73 -0
  33. package/dist/breadcrumb.js.map +1 -0
  34. package/dist/{busy-ChDAeaKF.js → busy-BmFfwyz_.js} +7 -6
  35. package/dist/{busy-ChDAeaKF.js.map → busy-BmFfwyz_.js.map} +1 -1
  36. package/dist/{busy-Dj7Xn0Z0.cjs → busy-c_q_F8O0.cjs} +8 -8
  37. package/dist/{busy-Dj7Xn0Z0.cjs.map → busy-c_q_F8O0.cjs.map} +1 -1
  38. package/dist/busy.cjs +1 -1
  39. package/dist/busy.js +1 -1
  40. package/dist/button.cjs +4 -4
  41. package/dist/button.cjs.map +1 -1
  42. package/dist/button.js +25 -6
  43. package/dist/button.js.map +1 -1
  44. package/dist/{card-DZFPRPqs.js → card-BADJHUMA.js} +16 -15
  45. package/dist/{card-DZFPRPqs.js.map → card-BADJHUMA.js.map} +1 -1
  46. package/dist/{card-BvPWVEJX.cjs → card-C_E944_Z.cjs} +10 -10
  47. package/dist/{card-BvPWVEJX.cjs.map → card-C_E944_Z.cjs.map} +1 -1
  48. package/dist/card.cjs +1 -1
  49. package/dist/card.js +1 -1
  50. package/dist/charts.cjs +3 -3
  51. package/dist/charts.cjs.map +1 -1
  52. package/dist/charts.js +2 -2
  53. package/dist/{checkbox-GSSjqo6w.js → checkbox-D7rvCrGk.js} +28 -9
  54. package/dist/{checkbox-GSSjqo6w.js.map → checkbox-D7rvCrGk.js.map} +1 -1
  55. package/dist/{checkbox-BC_37rsG.cjs → checkbox-ZqDoCagB.cjs} +10 -10
  56. package/dist/{checkbox-BC_37rsG.cjs.map → checkbox-ZqDoCagB.cjs.map} +1 -1
  57. package/dist/checkbox.cjs +1 -1
  58. package/dist/checkbox.js +1 -1
  59. package/dist/{chips-B19XS8Xc.cjs → chips-Cux635Qs.cjs} +18 -18
  60. package/dist/chips-Cux635Qs.cjs.map +1 -0
  61. package/dist/{chips-B9oAEfE_.js → chips-vdzIsesI.js} +37 -27
  62. package/dist/chips-vdzIsesI.js.map +1 -0
  63. package/dist/chips.cjs +1 -1
  64. package/dist/chips.js +2 -2
  65. package/dist/{code-highlight-fSLrlgOb.cjs → code-highlight-C9lKek2p.cjs} +11 -11
  66. package/dist/{code-highlight-fSLrlgOb.cjs.map → code-highlight-C9lKek2p.cjs.map} +1 -1
  67. package/dist/{code-highlight-DCk5lJY-.js → code-highlight-D6yruol6.js} +6 -5
  68. package/dist/{code-highlight-DCk5lJY-.js.map → code-highlight-D6yruol6.js.map} +1 -1
  69. package/dist/code-highlight.cjs +1 -1
  70. package/dist/code-highlight.js +1 -1
  71. package/dist/components-ByRyEzz5.cjs +73 -0
  72. package/dist/{components-CyD6a7gQ.cjs.map → components-ByRyEzz5.cjs.map} +1 -1
  73. package/dist/{components-COsM6sJZ.js → components-DSvPKR9Q.js} +2 -2
  74. package/dist/{components-COsM6sJZ.js.map → components-DSvPKR9Q.js.map} +1 -1
  75. package/dist/components.cjs +1 -1
  76. package/dist/components.js +1 -1
  77. package/dist/connectivity.cjs +7 -7
  78. package/dist/connectivity.cjs.map +1 -1
  79. package/dist/connectivity.js +5 -4
  80. package/dist/connectivity.js.map +1 -1
  81. package/dist/content-drawer.cjs +1 -1
  82. package/dist/content-drawer.js +1 -1
  83. package/dist/{cursor-glow-DtSy_PJd.cjs → cursor-glow-82y5h3E4.cjs} +1 -1
  84. package/dist/{cursor-glow-DtSy_PJd.cjs.map → cursor-glow-82y5h3E4.cjs.map} +1 -1
  85. package/dist/{cursor-glow-Ah7VXSj7.js → cursor-glow-C2YRrB8Z.js} +1 -1
  86. package/dist/{cursor-glow-Ah7VXSj7.js.map → cursor-glow-C2YRrB8Z.js.map} +1 -1
  87. package/dist/{date-range-ZAaQB22I.cjs → date-range-DJsavigf.cjs} +3 -3
  88. package/dist/date-range-DJsavigf.cjs.map +1 -0
  89. package/dist/{date-range-inline-Bl8qbiQF.js → date-range-inline-B87TDYI6.js} +1 -1
  90. package/dist/{date-range-inline-Bl8qbiQF.js.map → date-range-inline-B87TDYI6.js.map} +1 -1
  91. package/dist/date-range-inline-De-M0VmL.cjs +43 -0
  92. package/dist/{date-range-inline-m7nLjOMI.cjs.map → date-range-inline-De-M0VmL.cjs.map} +1 -1
  93. package/dist/date-range-inline.cjs +1 -1
  94. package/dist/date-range-inline.js +1 -1
  95. package/dist/{date-range-Sfyco9-n.js → date-range-tEX2Jx2j.js} +4 -4
  96. package/dist/date-range-tEX2Jx2j.js.map +1 -0
  97. package/dist/date-range.cjs +1 -1
  98. package/dist/date-range.js +1 -1
  99. package/dist/delay-BvVdfhAR.cjs +9 -0
  100. package/dist/{delay-7boauN6N.cjs.map → delay-BvVdfhAR.cjs.map} +1 -1
  101. package/dist/{delay-CgX6m0HN.js → delay-CZw37zps.js} +9 -8
  102. package/dist/{delay-CgX6m0HN.js.map → delay-CZw37zps.js.map} +1 -1
  103. package/dist/delay.cjs +1 -1
  104. package/dist/delay.js +1 -1
  105. package/dist/{details-BHnk8l4q.cjs → details-Bhz8_whd.cjs} +9 -9
  106. package/dist/{details-BHnk8l4q.cjs.map → details-Bhz8_whd.cjs.map} +1 -1
  107. package/dist/{details-BPkUg8Cq.js → details-D7VTnLOh.js} +16 -15
  108. package/dist/{details-BPkUg8Cq.js.map → details-D7VTnLOh.js.map} +1 -1
  109. package/dist/details.cjs +1 -1
  110. package/dist/details.js +1 -1
  111. package/dist/{dialog-service-NZEvyEK-.js → dialog-service-ClFrOWf4.js} +2 -2
  112. package/dist/{dialog-service-NZEvyEK-.js.map → dialog-service-ClFrOWf4.js.map} +1 -1
  113. package/dist/{dialog-service-VnW4gkmE.cjs → dialog-service-DcuAavp2.cjs} +1 -1
  114. package/dist/{dialog-service-VnW4gkmE.cjs.map → dialog-service-DcuAavp2.cjs.map} +1 -1
  115. package/dist/dialog.cjs +18 -11
  116. package/dist/dialog.cjs.map +1 -1
  117. package/dist/dialog.js +66 -43
  118. package/dist/dialog.js.map +1 -1
  119. package/dist/directives.cjs +1 -1
  120. package/dist/directives.js +5 -5
  121. package/dist/{divider-_khrhrZo.cjs → divider-S0bHwCCS.cjs} +2 -2
  122. package/dist/{divider-_khrhrZo.cjs.map → divider-S0bHwCCS.cjs.map} +1 -1
  123. package/dist/{divider-CW9a7MMj.js → divider-zS232JDr.js} +2 -2
  124. package/dist/{divider-CW9a7MMj.js.map → divider-zS232JDr.js.map} +1 -1
  125. package/dist/divider.cjs +1 -1
  126. package/dist/divider.js +1 -1
  127. package/dist/dropdown.cjs +4 -4
  128. package/dist/dropdown.cjs.map +1 -1
  129. package/dist/dropdown.js +8 -7
  130. package/dist/dropdown.js.map +1 -1
  131. package/dist/{expand-iQ7EOMP7.js → expand-BXt9SqAF.js} +13 -12
  132. package/dist/{expand-iQ7EOMP7.js.map → expand-BXt9SqAF.js.map} +1 -1
  133. package/dist/{expand-Cp7-PH8b.cjs → expand-Dr7TFXpl.cjs} +18 -18
  134. package/dist/{expand-Cp7-PH8b.cjs.map → expand-Dr7TFXpl.cjs.map} +1 -1
  135. package/dist/expand.cjs +1 -1
  136. package/dist/expand.js +1 -1
  137. package/dist/{extra-IKAiJJhv.cjs → extra-BmZTXAp0.cjs} +3 -3
  138. package/dist/{extra-IKAiJJhv.cjs.map → extra-BmZTXAp0.cjs.map} +1 -1
  139. package/dist/{extra-wEpvEFbK.js → extra-COYhsOyZ.js} +2 -2
  140. package/dist/{extra-wEpvEFbK.js.map → extra-COYhsOyZ.js.map} +1 -1
  141. package/dist/extra.cjs +1 -1
  142. package/dist/extra.js +1 -1
  143. package/dist/float-CSRW-Rrd.cjs +1 -0
  144. package/dist/{float-D5rNC82i.cjs.map → float-CSRW-Rrd.cjs.map} +1 -1
  145. package/dist/{float-BQ_urmMs.js → float-DCXafWh6.js} +2 -2
  146. package/dist/{float-BQ_urmMs.js.map → float-DCXafWh6.js.map} +1 -1
  147. package/dist/float.cjs +1 -1
  148. package/dist/float.js +1 -1
  149. package/dist/{flow-CUj0fDT_.js.map → flow-CqgDEIqK.js.map} +1 -1
  150. package/dist/{flow-Bbwn6dRN.cjs.map → flow-DSu4PLt1.cjs.map} +1 -1
  151. package/dist/form-CAY9GSCd.cjs +1 -0
  152. package/dist/form-CAY9GSCd.cjs.map +1 -0
  153. package/dist/form-D2cJ58TB.js +68 -0
  154. package/dist/form-D2cJ58TB.js.map +1 -0
  155. package/dist/form.cjs +1 -1
  156. package/dist/form.js +2 -1
  157. package/dist/{hashContent-DaeGmY-p.cjs.map → hashContent-kKvXKFa9.cjs.map} +1 -1
  158. package/dist/{hashContent-DYM21p6t.js.map → hashContent-nD2uWwi2.js.map} +1 -1
  159. package/dist/{icons-BDqiGXrO.js → icons-BbaI9Zf-.js} +9 -8
  160. package/dist/icons-BbaI9Zf-.js.map +1 -0
  161. package/dist/{icons-B57_93VV.cjs → icons-DPUeLS_Y.cjs} +3 -3
  162. package/dist/icons-DPUeLS_Y.cjs.map +1 -0
  163. package/dist/icons.cjs +1 -1
  164. package/dist/icons.js +1 -1
  165. package/dist/{iframe-WnWPIrBG.js → iframe-CEDOvkql.js} +5 -4
  166. package/dist/{iframe-WnWPIrBG.js.map → iframe-CEDOvkql.js.map} +1 -1
  167. package/dist/{iframe-DNHL3GIk.cjs → iframe-Ct50FYXq.cjs} +3 -3
  168. package/dist/{iframe-DNHL3GIk.cjs.map → iframe-Ct50FYXq.cjs.map} +1 -1
  169. package/dist/iframe.cjs +1 -1
  170. package/dist/iframe.js +1 -1
  171. package/dist/index.cjs +1 -1
  172. package/dist/index.js +65 -59
  173. package/dist/{input-BiSrTcrR.cjs → input-DMjpf6V8.cjs} +2 -2
  174. package/dist/{input-BiSrTcrR.cjs.map → input-DMjpf6V8.cjs.map} +1 -1
  175. package/dist/{input-VaXHFrRn.js → input-Ri72dn5t.js} +1 -1
  176. package/dist/{input-VaXHFrRn.js.map → input-Ri72dn5t.js.map} +1 -1
  177. package/dist/{input-chip-Dy-AiP55.cjs → input-chip-BhjGVpc3.cjs} +9 -9
  178. package/dist/input-chip-BhjGVpc3.cjs.map +1 -0
  179. package/dist/{input-chip-QejNcRnS.js → input-chip-CI4__N8w.js} +13 -9
  180. package/dist/input-chip-CI4__N8w.js.map +1 -0
  181. package/dist/input.cjs +1 -1
  182. package/dist/input.js +1 -1
  183. package/dist/{intersection-CZpaIHeT.cjs.map → intersection-D1v1UCVv.cjs.map} +1 -1
  184. package/dist/{intersection-BPLpqYEd.js.map → intersection-LfEsy29T.js.map} +1 -1
  185. package/dist/json.cjs +3 -3
  186. package/dist/json.cjs.map +1 -1
  187. package/dist/json.js +5 -4
  188. package/dist/json.js.map +1 -1
  189. package/dist/kbd.cjs +28 -0
  190. package/dist/kbd.cjs.map +1 -0
  191. package/dist/kbd.js +45 -0
  192. package/dist/kbd.js.map +1 -0
  193. package/dist/{layout-yxSlLybo.js → layout-BE2ld1IY.js} +1 -1
  194. package/dist/{layout-yxSlLybo.js.map → layout-BE2ld1IY.js.map} +1 -1
  195. package/dist/layout-D7xOqMkJ.cjs +17 -0
  196. package/dist/{layout-DNYG3phx.cjs.map → layout-D7xOqMkJ.cjs.map} +1 -1
  197. package/dist/{layout-4C-6_cre.cjs → layout-PZCF3kwl.cjs} +1 -1
  198. package/dist/{layout-4C-6_cre.cjs.map → layout-PZCF3kwl.cjs.map} +1 -1
  199. package/dist/{layout-CnsXeCAy.js → layout-uAQpJN31.js} +20 -19
  200. package/dist/{layout-CnsXeCAy.js.map → layout-uAQpJN31.js.map} +1 -1
  201. package/dist/layout.cjs +1 -1
  202. package/dist/layout.js +2 -2
  203. package/dist/{lightbox-BrI1Z31s.js → lightbox-C0OEHns9.js} +10 -9
  204. package/dist/{lightbox-BrI1Z31s.js.map → lightbox-C0OEHns9.js.map} +1 -1
  205. package/dist/{lightbox-CmACf0t5.cjs → lightbox-cXRnvHMN.cjs} +20 -20
  206. package/dist/{lightbox-CmACf0t5.cjs.map → lightbox-cXRnvHMN.cjs.map} +1 -1
  207. package/dist/lightbox.cjs +1 -1
  208. package/dist/lightbox.js +1 -1
  209. package/dist/{list-swIL9VDv.cjs → list-CmJ5h35b.cjs} +5 -5
  210. package/dist/{list-swIL9VDv.cjs.map → list-CmJ5h35b.cjs.map} +1 -1
  211. package/dist/{list-Cm-jjXxM.js → list-d1mHar5p.js} +14 -13
  212. package/dist/{list-Cm-jjXxM.js.map → list-d1mHar5p.js.map} +1 -1
  213. package/dist/list.cjs +1 -1
  214. package/dist/list.js +1 -1
  215. package/dist/{litElement.mixin-3llHwB-8.cjs → litElement.mixin-Bj2q1yPw.cjs} +1 -1
  216. package/dist/{litElement.mixin-3llHwB-8.cjs.map → litElement.mixin-Bj2q1yPw.cjs.map} +1 -1
  217. package/dist/{litElement.mixin-6jJYHCrZ.js → litElement.mixin-CncaUoxz.js} +1 -1
  218. package/dist/{litElement.mixin-6jJYHCrZ.js.map → litElement.mixin-CncaUoxz.js.map} +1 -1
  219. package/dist/{magnetic-BZGFxAWG.js → magnetic-Dj52WplI.js} +2 -2
  220. package/dist/{magnetic-BZGFxAWG.js.map → magnetic-Dj52WplI.js.map} +1 -1
  221. package/dist/{magnetic-Dux4QwO4.cjs → magnetic-aBBnj_vk.cjs} +1 -1
  222. package/dist/{magnetic-Dux4QwO4.cjs.map → magnetic-aBBnj_vk.cjs.map} +1 -1
  223. package/dist/{mailbox-D6LkQcN5.cjs → mailbox-BmChskZc.cjs} +59 -59
  224. package/dist/{mailbox-D6LkQcN5.cjs.map → mailbox-BmChskZc.cjs.map} +1 -1
  225. package/dist/{mailbox-BuvsVaAQ.js → mailbox-C4-E93be.js} +13 -12
  226. package/dist/{mailbox-BuvsVaAQ.js.map → mailbox-C4-E93be.js.map} +1 -1
  227. package/dist/mailbox.cjs +1 -1
  228. package/dist/mailbox.js +1 -1
  229. package/dist/{map-CQiKAxC3.js → map-DHyYLhvy.js} +6 -5
  230. package/dist/{map-CQiKAxC3.js.map → map-DHyYLhvy.js.map} +1 -1
  231. package/dist/{map-D5NN4VET.cjs → map-DYEvlNl0.cjs} +7 -7
  232. package/dist/{map-D5NN4VET.cjs.map → map-DYEvlNl0.cjs.map} +1 -1
  233. package/dist/map.cjs +1 -1
  234. package/dist/map.js +1 -1
  235. package/dist/{menu-CkgMO9K5.cjs → menu-BlPTI6H9.cjs} +3 -3
  236. package/dist/{menu-CkgMO9K5.cjs.map → menu-BlPTI6H9.cjs.map} +1 -1
  237. package/dist/{menu-C1x04YZw.js → menu-DFDBADp4.js} +3 -3
  238. package/dist/{menu-C1x04YZw.js.map → menu-DFDBADp4.js.map} +1 -1
  239. package/dist/menu.cjs +1 -1
  240. package/dist/menu.js +1 -1
  241. package/dist/mixins.cjs +1 -1
  242. package/dist/mixins.cjs.map +1 -1
  243. package/dist/mixins.js +43 -15
  244. package/dist/mixins.js.map +1 -1
  245. package/dist/nav-drawer.cjs +1 -1
  246. package/dist/nav-drawer.js +1 -1
  247. package/dist/navigation-bar.cjs +1 -1
  248. package/dist/navigation-bar.js +1 -1
  249. package/dist/navigation-rail.cjs +3 -3
  250. package/dist/navigation-rail.cjs.map +1 -1
  251. package/dist/navigation-rail.js +2 -2
  252. package/dist/{notification-BnBgxjF-.js → notification-DGpv8g2H.js} +4 -4
  253. package/dist/{notification-BnBgxjF-.js.map → notification-DGpv8g2H.js.map} +1 -1
  254. package/dist/notification-DKVWYhqs.cjs +23 -0
  255. package/dist/{notification-CZFEhWxc.cjs.map → notification-DKVWYhqs.cjs.map} +1 -1
  256. package/dist/notification.cjs +1 -1
  257. package/dist/notification.js +1 -1
  258. package/dist/{option-DBO8xZwd.js → option-BD2eh458.js} +6 -5
  259. package/dist/{option-DBO8xZwd.js.map → option-BD2eh458.js.map} +1 -1
  260. package/dist/{option-BrxCVwSx.cjs → option-LtSDy2xf.cjs} +5 -5
  261. package/dist/{option-BrxCVwSx.cjs.map → option-LtSDy2xf.cjs.map} +1 -1
  262. package/dist/option.cjs +1 -1
  263. package/dist/option.js +1 -1
  264. package/dist/{overlay-stack-DQey9Qph.cjs.map → overlay-stack-CEYGD9T1.cjs.map} +1 -1
  265. package/dist/{overlay-stack-DT1SdaGW.js.map → overlay-stack-Ca4EK2Mu.js.map} +1 -1
  266. package/dist/page.cjs +2 -2
  267. package/dist/page.cjs.map +1 -1
  268. package/dist/page.js +5 -5
  269. package/dist/{progress-Db2e4_Zd.cjs → progress-B5ChDPbB.cjs} +2 -2
  270. package/dist/{progress-Db2e4_Zd.cjs.map → progress-B5ChDPbB.cjs.map} +1 -1
  271. package/dist/{progress-DeiHxXo7.js → progress-CE1Pk2hi.js} +2 -2
  272. package/dist/{progress-DeiHxXo7.js.map → progress-CE1Pk2hi.js.map} +1 -1
  273. package/dist/progress.cjs +1 -1
  274. package/dist/progress.js +1 -1
  275. package/dist/{provide-DHnhQtCH.cjs → provide-BZ9lq_Be.cjs} +1 -1
  276. package/dist/{provide-DHnhQtCH.cjs.map → provide-BZ9lq_Be.cjs.map} +1 -1
  277. package/dist/{provide-C1aQhxYo.js → provide-jn1Fj1vv.js} +1 -1
  278. package/dist/{provide-C1aQhxYo.js.map → provide-jn1Fj1vv.js.map} +1 -1
  279. package/dist/qr-scanner.cjs +2 -2
  280. package/dist/qr-scanner.cjs.map +1 -1
  281. package/dist/qr-scanner.js +2 -2
  282. package/dist/radio-group-Cd9pZ2MR.cjs +40 -0
  283. package/dist/{radio-group-Cspwd-Vw.cjs.map → radio-group-Cd9pZ2MR.cjs.map} +1 -1
  284. package/dist/{radio-group-zSO0AkJf.js → radio-group-CyRHgIF3.js} +7 -6
  285. package/dist/{radio-group-zSO0AkJf.js.map → radio-group-CyRHgIF3.js.map} +1 -1
  286. package/dist/radio-group.cjs +1 -1
  287. package/dist/radio-group.js +1 -1
  288. package/dist/range.cjs +4 -4
  289. package/dist/range.cjs.map +1 -1
  290. package/dist/range.js +4 -3
  291. package/dist/range.js.map +1 -1
  292. package/dist/{reduced-motion-D-L12p7G.js.map → reduced-motion-B83yZbcO.js.map} +1 -1
  293. package/dist/{reduced-motion-Ds05GPyz.cjs.map → reduced-motion-DR32yKEO.cjs.map} +1 -1
  294. package/dist/{rxjs-utils-BSjmI9-Q.js.map → rxjs-utils-Bldch1RO.js.map} +1 -1
  295. package/dist/{rxjs-utils-DCsfzeap.cjs.map → rxjs-utils-hAgKC7vk.cjs.map} +1 -1
  296. package/dist/rxjs-utils.cjs +1 -1
  297. package/dist/rxjs-utils.js +1 -1
  298. package/dist/{scroll-QMCmbbDv.cjs → scroll-C_iNOi7E.cjs} +2 -2
  299. package/dist/{scroll-QMCmbbDv.cjs.map → scroll-C_iNOi7E.cjs.map} +1 -1
  300. package/dist/{scroll-cBDzye64.js → scroll-DoliwpRu.js} +7 -6
  301. package/dist/{scroll-cBDzye64.js.map → scroll-DoliwpRu.js.map} +1 -1
  302. package/dist/{search-C4dFHYbX.js.map → search-BlGJ6uJv.js.map} +1 -1
  303. package/dist/{search-Ds8tt7Et.cjs.map → search-C8eAOzBm.cjs.map} +1 -1
  304. package/dist/{select-Ct37l3lg.cjs → select-CWWuZ2iJ.cjs} +2 -2
  305. package/dist/{select-Ct37l3lg.cjs.map → select-CWWuZ2iJ.cjs.map} +1 -1
  306. package/dist/{select-c6HbWvKP.js → select-_vHPXi30.js} +3 -3
  307. package/dist/{select-c6HbWvKP.js.map → select-_vHPXi30.js.map} +1 -1
  308. package/dist/select.cjs +1 -1
  309. package/dist/select.js +1 -1
  310. package/dist/{sheet-BMXcUiIm.js → sheet-i1KtxGIj.js} +5 -5
  311. package/dist/{sheet-BMXcUiIm.js.map → sheet-i1KtxGIj.js.map} +1 -1
  312. package/dist/{sheet-CQec-bCV.cjs → sheet-r0oEYIdi.cjs} +2 -2
  313. package/dist/{sheet-CQec-bCV.cjs.map → sheet-r0oEYIdi.cjs.map} +1 -1
  314. package/dist/sheet.cjs +1 -1
  315. package/dist/sheet.js +2 -2
  316. package/dist/{sheet.service-Dumvr1HT.cjs → sheet.service-Cr13Oo6G.cjs} +1 -1
  317. package/dist/{sheet.service-Dumvr1HT.cjs.map → sheet.service-Cr13Oo6G.cjs.map} +1 -1
  318. package/dist/{sheet.service-BcPV3Du4.js → sheet.service-DUO5_kmI.js} +3 -3
  319. package/dist/{sheet.service-BcPV3Du4.js.map → sheet.service-DUO5_kmI.js.map} +1 -1
  320. package/dist/skeleton.cjs +33 -0
  321. package/dist/skeleton.cjs.map +1 -0
  322. package/dist/skeleton.js +58 -0
  323. package/dist/skeleton.js.map +1 -0
  324. package/dist/skills/INDEX.md +7 -6
  325. package/dist/skills/breadcrumb.md +53 -0
  326. package/dist/skills/kbd.md +40 -0
  327. package/dist/skills/schmancy/INDEX.md +7 -6
  328. package/dist/skills/schmancy/breadcrumb.md +53 -0
  329. package/dist/skills/schmancy/kbd.md +40 -0
  330. package/dist/skills/schmancy/skeleton.md +40 -0
  331. package/dist/skills/schmancy/splash-screen.md +60 -0
  332. package/dist/skills/schmancy/switch.md +58 -0
  333. package/dist/skills/schmancy/tooltip.md +1 -1
  334. package/dist/skills/schmancy/visually-hidden.md +41 -0
  335. package/dist/skills/skeleton.md +40 -0
  336. package/dist/skills/splash-screen.md +60 -0
  337. package/dist/skills/switch.md +58 -0
  338. package/dist/skills/tooltip.md +1 -1
  339. package/dist/skills/visually-hidden.md +41 -0
  340. package/dist/slider.cjs +3 -3
  341. package/dist/slider.cjs.map +1 -1
  342. package/dist/slider.js +2 -2
  343. package/dist/{sound.service-Bu3EQLv2.cjs → sound.service-BjSoGjmT.cjs} +1 -1
  344. package/dist/{sound.service-Bu3EQLv2.cjs.map → sound.service-BjSoGjmT.cjs.map} +1 -1
  345. package/dist/{sound.service-m3BrSfuH.js → sound.service-cdkw3Wkv.js} +1 -1
  346. package/dist/{sound.service-m3BrSfuH.js.map → sound.service-cdkw3Wkv.js.map} +1 -1
  347. package/dist/splash-screen-CquyPP1C.cjs +41 -0
  348. package/dist/splash-screen-CquyPP1C.cjs.map +1 -0
  349. package/dist/splash-screen-CvucPkpD.js +83 -0
  350. package/dist/splash-screen-CvucPkpD.js.map +1 -0
  351. package/dist/splash-screen.cjs +1 -0
  352. package/dist/splash-screen.js +1 -0
  353. package/dist/src-Bemk2C2P.cjs +269 -0
  354. package/dist/{src-BtQVyqMy.cjs.map → src-Bemk2C2P.cjs.map} +1 -1
  355. package/dist/{src-BLngW2bl.js → src-f5a3W9Mj.js} +98 -91
  356. package/dist/{src-BLngW2bl.js.map → src-f5a3W9Mj.js.map} +1 -1
  357. package/dist/steps.cjs +10 -10
  358. package/dist/steps.cjs.map +1 -1
  359. package/dist/steps.js +10 -9
  360. package/dist/steps.js.map +1 -1
  361. package/dist/{store-DYqDLAvT.js.map → store-Bmj6rvZY.js.map} +1 -1
  362. package/dist/{store-CorvD3bT.cjs.map → store-CO4nJyGj.cjs.map} +1 -1
  363. package/dist/store.cjs +1 -1
  364. package/dist/store.js +1 -1
  365. package/dist/surface-CDufon40.cjs +7 -0
  366. package/dist/{surface-BjKZoJxK.cjs.map → surface-CDufon40.cjs.map} +1 -1
  367. package/dist/surface-CkEYJCae.js +22 -0
  368. package/dist/{surface-pK8hME5c.js.map → surface-CkEYJCae.js.map} +1 -1
  369. package/dist/surface.cjs +1 -1
  370. package/dist/surface.js +1 -1
  371. package/dist/{surface.mixin-C5sDI1-_.cjs → surface.mixin-CSKqQH-0.cjs} +2 -2
  372. package/dist/{surface.mixin-C5sDI1-_.cjs.map → surface.mixin-CSKqQH-0.cjs.map} +1 -1
  373. package/dist/{surface.mixin-CBNRpJum.js → surface.mixin-DqMwoddO.js} +1 -1
  374. package/dist/{surface.mixin-CBNRpJum.js.map → surface.mixin-DqMwoddO.js.map} +1 -1
  375. package/dist/switch.cjs +69 -0
  376. package/dist/switch.cjs.map +1 -0
  377. package/dist/switch.js +132 -0
  378. package/dist/switch.js.map +1 -0
  379. package/dist/{table-CiqgZzSd.cjs → table-DWc1mkpj.cjs} +3 -3
  380. package/dist/{table-CiqgZzSd.cjs.map → table-DWc1mkpj.cjs.map} +1 -1
  381. package/dist/{table-BXIHX9h4.js → table-P6VGG7NK.js} +4 -4
  382. package/dist/{table-BXIHX9h4.js.map → table-P6VGG7NK.js.map} +1 -1
  383. package/dist/table.cjs +1 -1
  384. package/dist/table.js +1 -1
  385. package/dist/{tabs-nbV5eblZ.js → tabs-CjGjGrqY.js} +13 -12
  386. package/dist/{tabs-nbV5eblZ.js.map → tabs-CjGjGrqY.js.map} +1 -1
  387. package/dist/{tabs-CKa-W4qA.cjs → tabs-DGJEKuhC.cjs} +4 -4
  388. package/dist/{tabs-CKa-W4qA.cjs.map → tabs-DGJEKuhC.cjs.map} +1 -1
  389. package/dist/tabs.cjs +1 -1
  390. package/dist/tabs.js +1 -1
  391. package/dist/{tailwind.mixin-BF1Huas7.cjs → tailwind.mixin-Cpa-VnnX.cjs} +2 -2
  392. package/dist/tailwind.mixin-Cpa-VnnX.cjs.map +1 -0
  393. package/dist/{tailwind.mixin-BCJOOX1_.js → tailwind.mixin-DufHBjmb.js} +57 -63
  394. package/dist/tailwind.mixin-DufHBjmb.js.map +1 -0
  395. package/dist/teleport.cjs +1 -1
  396. package/dist/teleport.js +1 -1
  397. package/dist/{textarea-D7q8exMg.js → textarea-DZT_Ofp5.js} +42 -28
  398. package/dist/textarea-DZT_Ofp5.js.map +1 -0
  399. package/dist/textarea-jmTOXrzl.cjs +39 -0
  400. package/dist/textarea-jmTOXrzl.cjs.map +1 -0
  401. package/dist/textarea.cjs +1 -1
  402. package/dist/textarea.js +1 -1
  403. package/dist/theme-CCKqaksQ.cjs +181 -0
  404. package/dist/{theme-Da4SPq9X.cjs.map → theme-CCKqaksQ.cjs.map} +1 -1
  405. package/dist/{theme-_VPV6Bxh.js → theme-CEc32pAv.js} +13 -12
  406. package/dist/{theme-_VPV6Bxh.js.map → theme-CEc32pAv.js.map} +1 -1
  407. package/dist/theme-button-BsJcv-Zv.cjs +8 -0
  408. package/dist/{theme-button-Ci8VQ7KW.cjs.map → theme-button-BsJcv-Zv.cjs.map} +1 -1
  409. package/dist/{theme-button--sX8A-m1.js → theme-button-dOiAvdKU.js} +4 -3
  410. package/dist/{theme-button--sX8A-m1.js.map → theme-button-dOiAvdKU.js.map} +1 -1
  411. package/dist/theme-button.cjs +1 -1
  412. package/dist/theme-button.js +1 -1
  413. package/dist/theme.cjs +1 -1
  414. package/dist/{theme.events-Cv7N4Toe.js.map → theme.events-Bw3mYjUA.js.map} +1 -1
  415. package/dist/{theme.events-DM4H5F2d.cjs.map → theme.events-EznKK2Y0.cjs.map} +1 -1
  416. package/dist/{theme.interface-Da23QAYb.cjs.map → theme.interface-CM26m9te.cjs.map} +1 -1
  417. package/dist/{theme.interface-CXloMUCw.js.map → theme.interface-FAUIgbIq.js.map} +1 -1
  418. package/dist/theme.js +5 -5
  419. package/dist/{theme.service-C_tjlqgy.cjs → theme.service-ETiKUwVy.cjs} +1 -1
  420. package/dist/{theme.service-C_tjlqgy.cjs.map → theme.service-ETiKUwVy.cjs.map} +1 -1
  421. package/dist/{theme.service-D9lEas89.js → theme.service-_qP5WvB9.js} +2 -2
  422. package/dist/{theme.service-D9lEas89.js.map → theme.service-_qP5WvB9.js.map} +1 -1
  423. package/dist/tooltip.cjs +1 -6
  424. package/dist/tooltip.cjs.map +1 -1
  425. package/dist/tooltip.js +51 -135
  426. package/dist/tooltip.js.map +1 -1
  427. package/dist/tree.cjs +14 -5
  428. package/dist/tree.cjs.map +1 -1
  429. package/dist/tree.js +28 -6
  430. package/dist/tree.js.map +1 -1
  431. package/dist/tslib.es6-Bd-92OW3.cjs +1 -0
  432. package/dist/{tslib.es6-D7BIeDVB.cjs.map → tslib.es6-Bd-92OW3.cjs.map} +1 -1
  433. package/dist/tslib.es6-CI1onEZb.js +7 -0
  434. package/dist/{tslib.es6-ErZEp3OO.js.map → tslib.es6-CI1onEZb.js.map} +1 -1
  435. package/dist/typewriter-ByIL2Mh-.cjs +123 -0
  436. package/dist/{typewriter-B2TnHPjw.cjs.map → typewriter-ByIL2Mh-.cjs.map} +1 -1
  437. package/dist/{typewriter-BrZNa8T-.js → typewriter-vOQ3bDLb.js} +8 -7
  438. package/dist/{typewriter-BrZNa8T-.js.map → typewriter-vOQ3bDLb.js.map} +1 -1
  439. package/dist/typewriter.cjs +1 -1
  440. package/dist/typewriter.js +1 -1
  441. package/dist/typography.cjs +4 -4
  442. package/dist/typography.cjs.map +1 -1
  443. package/dist/typography.js +10 -9
  444. package/dist/typography.js.map +1 -1
  445. package/dist/{utils-CoU7M2YS.js → utils-Cq0m3LYo.js} +3 -3
  446. package/dist/{utils-CoU7M2YS.js.map → utils-Cq0m3LYo.js.map} +1 -1
  447. package/dist/{utils-BcaKtQuA.cjs → utils-D2kE-6zc.cjs} +1 -1
  448. package/dist/{utils-BcaKtQuA.cjs.map → utils-D2kE-6zc.cjs.map} +1 -1
  449. package/dist/utils.cjs +1 -1
  450. package/dist/utils.js +5 -5
  451. package/dist/visually-hidden.cjs +13 -0
  452. package/dist/visually-hidden.cjs.map +1 -0
  453. package/dist/visually-hidden.js +24 -0
  454. package/dist/visually-hidden.js.map +1 -0
  455. package/dist/{window-Uii13x_r.cjs → window-BS7ZQjgH.cjs} +2 -2
  456. package/dist/window-BS7ZQjgH.cjs.map +1 -0
  457. package/dist/{window-CM1ycigo.js → window-WnAihpsA.js} +7 -7
  458. package/dist/window-WnAihpsA.js.map +1 -0
  459. package/dist/window.cjs +1 -1
  460. package/dist/window.js +1 -1
  461. package/package.json +22 -28
  462. package/skills/schmancy/INDEX.md +7 -6
  463. package/skills/schmancy/breadcrumb.md +53 -0
  464. package/skills/schmancy/kbd.md +40 -0
  465. package/skills/schmancy/skeleton.md +40 -0
  466. package/skills/schmancy/splash-screen.md +60 -0
  467. package/skills/schmancy/switch.md +58 -0
  468. package/skills/schmancy/tooltip.md +1 -1
  469. package/skills/schmancy/visually-hidden.md +41 -0
  470. package/src/audio/emotional-sounds.ts +2 -4
  471. package/src/autocomplete/autocomplete.ts +52 -2
  472. package/src/breadcrumb/breadcrumb.ts +109 -0
  473. package/src/breadcrumb/index.ts +1 -0
  474. package/src/button/button.ts +40 -0
  475. package/src/button/icon-button.ts +2 -1
  476. package/src/checkbox/checkbox.test.ts +113 -0
  477. package/src/checkbox/checkbox.ts +41 -1
  478. package/src/chips/filter-chip.ts +15 -0
  479. package/src/chips/input-chip.ts +7 -0
  480. package/src/date-range/date-range-helpers.ts +0 -71
  481. package/src/dialog/dialog-base.mixin.ts +11 -0
  482. package/src/dialog/dialog.component.ts +28 -8
  483. package/src/dropdown/dropdown-content.ts +3 -1
  484. package/src/form/form.test.ts +137 -0
  485. package/src/form/form.ts +142 -158
  486. package/src/form/index.ts +2 -2
  487. package/src/icons/icon.ts +1 -0
  488. package/src/index.ts +6 -0
  489. package/src/kbd/index.ts +1 -0
  490. package/src/kbd/kbd.ts +59 -0
  491. package/src/skeleton/index.ts +1 -0
  492. package/src/skeleton/skeleton.ts +78 -0
  493. package/src/splash-screen/index.ts +1 -0
  494. package/src/splash-screen/splash-screen.ts +154 -0
  495. package/src/switch/index.ts +1 -0
  496. package/src/switch/switch.test.ts +93 -0
  497. package/src/switch/switch.ts +180 -0
  498. package/src/test-utils/a11y.ts +35 -0
  499. package/src/textarea/textarea.ts +32 -2
  500. package/src/tooltip/index.ts +1 -2
  501. package/src/tree/tree.ts +27 -2
  502. package/src/visually-hidden/index.ts +1 -0
  503. package/src/visually-hidden/visually-hidden.ts +39 -0
  504. package/src/window/window-position.ts +1 -74
  505. package/types/mixins/formField.mixin.d.ts +15 -8
  506. package/types/src/audio/emotional-sounds.d.ts +0 -2
  507. package/types/src/autocomplete/autocomplete.d.ts +7 -0
  508. package/types/src/breadcrumb/breadcrumb.d.ts +38 -0
  509. package/types/src/breadcrumb/index.d.ts +1 -0
  510. package/types/src/button/button.d.ts +7 -0
  511. package/types/src/button/icon-button.d.ts +2 -1
  512. package/types/src/checkbox/checkbox.d.ts +6 -0
  513. package/types/src/checkbox/checkbox.test.d.ts +1 -0
  514. package/types/src/chips/filter-chip.d.ts +3 -0
  515. package/types/src/chips/input-chip.d.ts +1 -0
  516. package/types/src/date-range/date-range-helpers.d.ts +0 -12
  517. package/types/src/dialog/dialog.component.d.ts +6 -0
  518. package/types/src/dropdown/dropdown-content.d.ts +3 -1
  519. package/types/src/form/form-v2.d.ts +12 -63
  520. package/types/src/form/form.d.ts +58 -40
  521. package/types/src/form/form.test.d.ts +4 -0
  522. package/types/src/form/index.d.ts +1 -1
  523. package/types/src/icons/icon.d.ts +1 -0
  524. package/types/src/index.d.ts +6 -0
  525. package/types/src/kbd/index.d.ts +1 -0
  526. package/types/src/kbd/kbd.d.ts +25 -0
  527. package/types/src/skeleton/index.d.ts +1 -0
  528. package/types/src/skeleton/skeleton.d.ts +27 -0
  529. package/types/src/splash-screen/index.d.ts +1 -0
  530. package/types/src/splash-screen/splash-screen.d.ts +60 -0
  531. package/types/src/switch/index.d.ts +1 -0
  532. package/types/src/switch/switch.d.ts +54 -0
  533. package/types/src/switch/switch.test.d.ts +1 -0
  534. package/types/src/test-utils/a11y.d.ts +11 -0
  535. package/types/src/textarea/textarea.d.ts +5 -1
  536. package/types/src/tooltip/index.d.ts +0 -1
  537. package/types/src/tree/tree.d.ts +5 -0
  538. package/types/src/visually-hidden/index.d.ts +1 -0
  539. package/types/src/visually-hidden/visually-hidden.d.ts +21 -0
  540. package/types/src/window/window-position.d.ts +1 -35
  541. package/dist/audio-DtYYgzYD.cjs.map +0 -1
  542. package/dist/audio-kz8UgPTO.js.map +0 -1
  543. package/dist/autocomplete-5rVhbieU.cjs +0 -111
  544. package/dist/autocomplete-5rVhbieU.cjs.map +0 -1
  545. package/dist/autocomplete-BllPQwr8.js.map +0 -1
  546. package/dist/chips-B19XS8Xc.cjs.map +0 -1
  547. package/dist/chips-B9oAEfE_.js.map +0 -1
  548. package/dist/components-CyD6a7gQ.cjs +0 -73
  549. package/dist/date-range-Sfyco9-n.js.map +0 -1
  550. package/dist/date-range-ZAaQB22I.cjs.map +0 -1
  551. package/dist/date-range-inline-m7nLjOMI.cjs +0 -43
  552. package/dist/delay-7boauN6N.cjs +0 -9
  553. package/dist/float-D5rNC82i.cjs +0 -1
  554. package/dist/form-BqN1AGFj.cjs +0 -1
  555. package/dist/form-BqN1AGFj.cjs.map +0 -1
  556. package/dist/form-CajC5HnO.js +0 -270
  557. package/dist/form-CajC5HnO.js.map +0 -1
  558. package/dist/icons-B57_93VV.cjs.map +0 -1
  559. package/dist/icons-BDqiGXrO.js.map +0 -1
  560. package/dist/input-chip-Dy-AiP55.cjs.map +0 -1
  561. package/dist/input-chip-QejNcRnS.js.map +0 -1
  562. package/dist/layout-DNYG3phx.cjs +0 -17
  563. package/dist/notification-CZFEhWxc.cjs +0 -23
  564. package/dist/radio-group-Cspwd-Vw.cjs +0 -40
  565. package/dist/src-BtQVyqMy.cjs +0 -269
  566. package/dist/surface-BjKZoJxK.cjs +0 -7
  567. package/dist/surface-pK8hME5c.js +0 -21
  568. package/dist/tailwind.mixin-BCJOOX1_.js.map +0 -1
  569. package/dist/tailwind.mixin-BF1Huas7.cjs.map +0 -1
  570. package/dist/textarea-Cp1ZE60O.cjs +0 -35
  571. package/dist/textarea-Cp1ZE60O.cjs.map +0 -1
  572. package/dist/textarea-D7q8exMg.js.map +0 -1
  573. package/dist/theme-Da4SPq9X.cjs +0 -181
  574. package/dist/theme-button-Ci8VQ7KW.cjs +0 -8
  575. package/dist/typewriter-B2TnHPjw.cjs +0 -123
  576. package/dist/window-CM1ycigo.js.map +0 -1
  577. package/dist/window-Uii13x_r.cjs.map +0 -1
  578. package/mixins/baseElement.ts +0 -190
  579. package/mixins/constructor.ts +0 -3
  580. package/mixins/discovery.service.ts +0 -221
  581. package/mixins/formField.mixin.ts +0 -228
  582. package/mixins/index.ts +0 -7
  583. package/mixins/litElement.mixin.ts +0 -15
  584. package/mixins/scss.d.ts +0 -21
  585. package/mixins/surface.mixin.ts +0 -93
  586. package/mixins/tailwind.css +0 -549
  587. package/mixins/tailwind.mixin.ts +0 -30
  588. package/src/form/form-v2.ts +0 -268
  589. package/src/layout/v2/grid.ts +0 -93
  590. package/src/notification/outlet.ts +0 -16
  591. package/src/store/immer-integration.ts +0 -99
  592. package/src/tooltip/tooltip.ts +0 -216
  593. /package/dist/{animation-CO_Csq84.cjs → animation-Bcwh107v.cjs} +0 -0
  594. /package/dist/{animation-BK-8BwY8.js → animation-CXKSuUoE.js} +0 -0
  595. /package/dist/{tslib.es6-ErZEp3OO.js → decorate-D_utPUsC.js} +0 -0
  596. /package/dist/{tslib.es6-D7BIeDVB.cjs → decorate-F9CuyeHg.cjs} +0 -0
  597. /package/dist/{flow-CUj0fDT_.js → flow-CqgDEIqK.js} +0 -0
  598. /package/dist/{flow-Bbwn6dRN.cjs → flow-DSu4PLt1.cjs} +0 -0
  599. /package/dist/{hashContent-DaeGmY-p.cjs → hashContent-kKvXKFa9.cjs} +0 -0
  600. /package/dist/{hashContent-DYM21p6t.js → hashContent-nD2uWwi2.js} +0 -0
  601. /package/dist/{intersection-CZpaIHeT.cjs → intersection-D1v1UCVv.cjs} +0 -0
  602. /package/dist/{intersection-BPLpqYEd.js → intersection-LfEsy29T.js} +0 -0
  603. /package/dist/{overlay-stack-DQey9Qph.cjs → overlay-stack-CEYGD9T1.cjs} +0 -0
  604. /package/dist/{overlay-stack-DT1SdaGW.js → overlay-stack-Ca4EK2Mu.js} +0 -0
  605. /package/dist/{reduced-motion-D-L12p7G.js → reduced-motion-B83yZbcO.js} +0 -0
  606. /package/dist/{reduced-motion-Ds05GPyz.cjs → reduced-motion-DR32yKEO.cjs} +0 -0
  607. /package/dist/{rxjs-utils-BSjmI9-Q.js → rxjs-utils-Bldch1RO.js} +0 -0
  608. /package/dist/{rxjs-utils-DCsfzeap.cjs → rxjs-utils-hAgKC7vk.cjs} +0 -0
  609. /package/dist/{search-C4dFHYbX.js → search-BlGJ6uJv.js} +0 -0
  610. /package/dist/{search-Ds8tt7Et.cjs → search-C8eAOzBm.cjs} +0 -0
  611. /package/dist/{store-DYqDLAvT.js → store-Bmj6rvZY.js} +0 -0
  612. /package/dist/{store-CorvD3bT.cjs → store-CO4nJyGj.cjs} +0 -0
  613. /package/dist/{theme.events-Cv7N4Toe.js → theme.events-Bw3mYjUA.js} +0 -0
  614. /package/dist/{theme.events-DM4H5F2d.cjs → theme.events-EznKK2Y0.cjs} +0 -0
  615. /package/dist/{theme.interface-Da23QAYb.cjs → theme.interface-CM26m9te.cjs} +0 -0
  616. /package/dist/{theme.interface-CXloMUCw.js → theme.interface-FAUIgbIq.js} +0 -0
package/dist/store.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./store-CorvD3bT.cjs`);exports.BaseStore=e.I,exports.IndexedDBStorageManager=e.L,exports.LocalStorageManager=e.R,exports.MemoryStorageManager=e.z,exports.SchmancyArrayStore=e.F,exports.SchmancyStoreObject=e.P,exports.SessionStorageManager=e.B,exports.StoreError=e.H,exports.compareValues=e.g,exports.createArrayContext=e.j,exports.createCollectionSelector=e.r,exports.createCompoundSelector=e.i,exports.createContext=e.M,exports.createCountSelector=e.a,exports.createEntriesSelector=e.o,exports.createFilterSelector=e.s,exports.createFindSelector=e.c,exports.createItemSelector=e.l,exports.createItemsSelector=e.u,exports.createKeysSelector=e.d,exports.createMapSelector=e.f,exports.createOptimizedSelector=e.p,exports.createSelector=e.m,exports.createSortSelector=e.h,exports.createStorageManager=e.V,exports.createTestArrayContext=e.N,exports.filterArray=e._,exports.filterArrayItems=e.v,exports.filterMap=e.y,exports.filterMapItems=e.b,exports.getFieldValue=e.x,exports.isArray=e.S,exports.isDate=e.C,exports.isIterable=e.w,exports.isMap=e.T,exports.isNil=e.E,exports.isNumber=e.D,exports.isPlainObject=e.O,exports.isSet=e.k,exports.isString=e.A,exports.select=e.t,exports.selectItem=e.n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./store-CO4nJyGj.cjs`);exports.BaseStore=e.I,exports.IndexedDBStorageManager=e.L,exports.LocalStorageManager=e.R,exports.MemoryStorageManager=e.z,exports.SchmancyArrayStore=e.F,exports.SchmancyStoreObject=e.P,exports.SessionStorageManager=e.B,exports.StoreError=e.H,exports.compareValues=e.g,exports.createArrayContext=e.j,exports.createCollectionSelector=e.r,exports.createCompoundSelector=e.i,exports.createContext=e.M,exports.createCountSelector=e.a,exports.createEntriesSelector=e.o,exports.createFilterSelector=e.s,exports.createFindSelector=e.c,exports.createItemSelector=e.l,exports.createItemsSelector=e.u,exports.createKeysSelector=e.d,exports.createMapSelector=e.f,exports.createOptimizedSelector=e.p,exports.createSelector=e.m,exports.createSortSelector=e.h,exports.createStorageManager=e.V,exports.createTestArrayContext=e.N,exports.filterArray=e._,exports.filterArrayItems=e.v,exports.filterMap=e.y,exports.filterMapItems=e.b,exports.getFieldValue=e.x,exports.isArray=e.S,exports.isDate=e.C,exports.isIterable=e.w,exports.isMap=e.T,exports.isNil=e.E,exports.isNumber=e.D,exports.isPlainObject=e.O,exports.isSet=e.k,exports.isString=e.A,exports.select=e.t,exports.selectItem=e.n;
package/dist/store.js CHANGED
@@ -1,2 +1,2 @@
1
- import { A as e, B as t, C as n, D as r, E as i, F as a, H as o, I as s, L as c, M as l, N as u, O as d, P as f, R as p, S as m, T as h, V as g, _, a as v, b as y, c as b, d as x, f as S, g as C, h as w, i as T, j as E, k as D, l as O, m as k, n as A, o as j, p as M, r as N, s as P, t as F, u as I, v as L, w as R, x as z, y as B, z as V } from "./store-DYqDLAvT.js";
1
+ import { A as e, B as t, C as n, D as r, E as i, F as a, H as o, I as s, L as c, M as l, N as u, O as d, P as f, R as p, S as m, T as h, V as g, _, a as v, b as y, c as b, d as x, f as S, g as C, h as w, i as T, j as E, k as D, l as O, m as k, n as A, o as j, p as M, r as N, s as P, t as F, u as I, v as L, w as R, x as z, y as B, z as V } from "./store-Bmj6rvZY.js";
2
2
  export { s as BaseStore, c as IndexedDBStorageManager, p as LocalStorageManager, V as MemoryStorageManager, a as SchmancyArrayStore, f as SchmancyStoreObject, t as SessionStorageManager, o as StoreError, C as compareValues, E as createArrayContext, N as createCollectionSelector, T as createCompoundSelector, l as createContext, v as createCountSelector, j as createEntriesSelector, P as createFilterSelector, b as createFindSelector, O as createItemSelector, I as createItemsSelector, x as createKeysSelector, S as createMapSelector, M as createOptimizedSelector, k as createSelector, w as createSortSelector, g as createStorageManager, u as createTestArrayContext, _ as filterArray, L as filterArrayItems, B as filterMap, y as filterMapItems, z as getFieldValue, m as isArray, n as isDate, R as isIterable, h as isMap, i as isNil, r as isNumber, d as isPlainObject, D as isSet, e as isString, F as select, A as selectItem };
@@ -0,0 +1,7 @@
1
+ require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-Cpa-VnnX.cjs`),t=require(`./provide-BZ9lq_Be.cjs`),n=require(`./decorate-F9CuyeHg.cjs`),r=require(`./surface.mixin-CSKqQH-0.cjs`);let i=require(`lit/decorators.js`),a=require(`lit`);var o=e.o(`surface`),s=class extends r.t(e.t(a.css`
2
+ :host {
3
+ display: block;
4
+ box-sizing: border-box;
5
+ overflow: visible;
6
+ }
7
+ `)){constructor(...e){super(...e),this.type=`subtle`}render(){return a.html`<slot></slot>`}};n.t([t.t({context:o}),(0,i.property)({reflect:!0})],s.prototype,`type`,void 0),s=n.t([(0,i.customElement)(`schmancy-surface`)],s),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
@@ -1 +1 @@
1
- {"version":3,"file":"surface-BjKZoJxK.cjs","names":[],"sources":["../src/surface/surface.ts"],"sourcesContent":["import { createContext, provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\nimport { SurfaceMixin } from '@mixins/surface.mixin'\nimport { TSurfaceColor } from '@schmancy/types'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n\n// Re-export types for backwards compatibility\nexport type { SchmancySurfaceFill, SchmancySurfaceRounded, SchmancySurfaceElevation } from '@mixins/surface.mixin'\n\n/**\n * `<schmancy-surface>` component\n *\n * This component renders a styled container that adapts its dimensions based on the `fill` property.\n * It supports various rounding options, elevation levels, and applies background and text color classes\n * based on the specified surface variant. Additionally, when the `scroller` property is true, the component\n * enables internal scrolling by applying overflow and scroll-behavior styles.\n *\n * SurfaceMixin automatically provides surfaceStyles CSS.\n *\n * @element schmancy-surface\n * @slot - Default slot for projecting child content.\n *\n * @example\n * <schmancy-surface fill=\"all\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n * <p>Your scrollable content here</p>\n * </schmancy-surface>\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends SurfaceMixin(\n\tTailwindElement(css`\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\tbox-sizing: border-box;\n\t\t\toverflow: visible;\n\t\t}\n\t`),\n) {\n\t/**\n\t * Specifies the surface type for styling.\n\t * Provided to descendant components via context.\n\t * @default 'container'\n\t */\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property({ reflect: true })\n\toverride type: TSurfaceColor = 'subtle'\n\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}\n"],"mappings":"mNAOA,IAAa,EAA6B,EAAA,EAA6B,UAAA,CAwBhE,EAAA,cAA8B,EAAA,EACpC,EAAA,EAAgB,EAAA,GAAG;;;;;;6CAeY,SAE/B,QAAA,CACC,MAAO,GAAA,IAAI,kBAAA,EAAA,EAAA,CALX,EAAA,EAAQ,CAAE,QAAS,EAAA,CAAA,EAA6B,EAAA,EAAA,UACvC,CAAE,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAhBd,mBAAA,CAAA,CAAmB,EAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"surface-CDufon40.cjs","names":[],"sources":["../src/surface/surface.ts"],"sourcesContent":["import { createContext, provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\nimport { SurfaceMixin } from '@mixins/surface.mixin'\nimport { TSurfaceColor } from '@schmancy/types'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n\n// Re-export types for backwards compatibility\nexport type { SchmancySurfaceFill, SchmancySurfaceRounded, SchmancySurfaceElevation } from '@mixins/surface.mixin'\n\n/**\n * `<schmancy-surface>` component\n *\n * This component renders a styled container that adapts its dimensions based on the `fill` property.\n * It supports various rounding options, elevation levels, and applies background and text color classes\n * based on the specified surface variant. Additionally, when the `scroller` property is true, the component\n * enables internal scrolling by applying overflow and scroll-behavior styles.\n *\n * SurfaceMixin automatically provides surfaceStyles CSS.\n *\n * @element schmancy-surface\n * @slot - Default slot for projecting child content.\n *\n * @example\n * <schmancy-surface fill=\"all\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n * <p>Your scrollable content here</p>\n * </schmancy-surface>\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends SurfaceMixin(\n\tTailwindElement(css`\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\tbox-sizing: border-box;\n\t\t\toverflow: visible;\n\t\t}\n\t`),\n) {\n\t/**\n\t * Specifies the surface type for styling.\n\t * Provided to descendant components via context.\n\t * @default 'container'\n\t */\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property({ reflect: true })\n\toverride type: TSurfaceColor = 'subtle'\n\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}\n"],"mappings":"wPAOA,IAAa,EAA6B,EAAA,EAA6B,UAAA,CAwBhE,EAAA,cAA8B,EAAA,EACpC,EAAA,EAAgB,EAAA,GAAG;;;;;;6CAeY,SAE/B,QAAA,CACC,MAAO,GAAA,IAAI,kBAAA,EAAA,EAAA,CALX,EAAA,EAAQ,CAAE,QAAS,EAAA,CAAA,EAA6B,EAAA,EAAA,UACvC,CAAE,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAhBd,mBAAA,CAAA,CAAmB,EAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { o as e, t } from "./tailwind.mixin-DufHBjmb.js";
2
+ import { t as n } from "./provide-jn1Fj1vv.js";
3
+ import { t as r } from "./decorate-D_utPUsC.js";
4
+ import { t as i } from "./surface.mixin-DqMwoddO.js";
5
+ import { customElement as a, property as o } from "lit/decorators.js";
6
+ import { css as s, html as c } from "lit";
7
+ var l = e("surface"), u = class extends i(t(s`
8
+ :host {
9
+ display: block;
10
+ box-sizing: border-box;
11
+ overflow: visible;
12
+ }
13
+ `)) {
14
+ constructor(...e) {
15
+ super(...e), this.type = "subtle";
16
+ }
17
+ render() {
18
+ return c`<slot></slot>`;
19
+ }
20
+ };
21
+ r([n({ context: l }), o({ reflect: !0 })], u.prototype, "type", void 0), u = r([a("schmancy-surface")], u);
22
+ export { l as n, u as t };
@@ -1 +1 @@
1
- {"version":3,"file":"surface-pK8hME5c.js","names":[],"sources":["../src/surface/surface.ts"],"sourcesContent":["import { createContext, provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\nimport { SurfaceMixin } from '@mixins/surface.mixin'\nimport { TSurfaceColor } from '@schmancy/types'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n\n// Re-export types for backwards compatibility\nexport type { SchmancySurfaceFill, SchmancySurfaceRounded, SchmancySurfaceElevation } from '@mixins/surface.mixin'\n\n/**\n * `<schmancy-surface>` component\n *\n * This component renders a styled container that adapts its dimensions based on the `fill` property.\n * It supports various rounding options, elevation levels, and applies background and text color classes\n * based on the specified surface variant. Additionally, when the `scroller` property is true, the component\n * enables internal scrolling by applying overflow and scroll-behavior styles.\n *\n * SurfaceMixin automatically provides surfaceStyles CSS.\n *\n * @element schmancy-surface\n * @slot - Default slot for projecting child content.\n *\n * @example\n * <schmancy-surface fill=\"all\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n * <p>Your scrollable content here</p>\n * </schmancy-surface>\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends SurfaceMixin(\n\tTailwindElement(css`\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\tbox-sizing: border-box;\n\t\t\toverflow: visible;\n\t\t}\n\t`),\n) {\n\t/**\n\t * Specifies the surface type for styling.\n\t * Provided to descendant components via context.\n\t * @default 'container'\n\t */\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property({ reflect: true })\n\toverride type: TSurfaceColor = 'subtle'\n\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}\n"],"mappings":";;;;;AAOA,IAAa,IAA6B,EAA6B,UAAA,EAwBhE,IAAA,cAA8B,EACpC,EAAgB,CAAG;;;;;;;;2BAeY;;CAE/B,SAAA;AACC,SAAO,CAAI;;;AAAA,EAAA,CALX,EAAQ,EAAE,SAAS,GAAA,CAAA,EACnB,EAAS,EAAE,SAAA,CAAS,GAAA,CAAA,CAAA,EAAO,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CAhB5B,EAAc,mBAAA,CAAA,EAAmB,EAAA;AAAA,SAAA,KAAA,GAAA,KAAA"}
1
+ {"version":3,"file":"surface-CkEYJCae.js","names":[],"sources":["../src/surface/surface.ts"],"sourcesContent":["import { createContext, provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\nimport { SurfaceMixin } from '@mixins/surface.mixin'\nimport { TSurfaceColor } from '@schmancy/types'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n\n// Re-export types for backwards compatibility\nexport type { SchmancySurfaceFill, SchmancySurfaceRounded, SchmancySurfaceElevation } from '@mixins/surface.mixin'\n\n/**\n * `<schmancy-surface>` component\n *\n * This component renders a styled container that adapts its dimensions based on the `fill` property.\n * It supports various rounding options, elevation levels, and applies background and text color classes\n * based on the specified surface variant. Additionally, when the `scroller` property is true, the component\n * enables internal scrolling by applying overflow and scroll-behavior styles.\n *\n * SurfaceMixin automatically provides surfaceStyles CSS.\n *\n * @element schmancy-surface\n * @slot - Default slot for projecting child content.\n *\n * @example\n * <schmancy-surface fill=\"all\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n * <p>Your scrollable content here</p>\n * </schmancy-surface>\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends SurfaceMixin(\n\tTailwindElement(css`\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\tbox-sizing: border-box;\n\t\t\toverflow: visible;\n\t\t}\n\t`),\n) {\n\t/**\n\t * Specifies the surface type for styling.\n\t * Provided to descendant components via context.\n\t * @default 'container'\n\t */\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property({ reflect: true })\n\toverride type: TSurfaceColor = 'subtle'\n\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}\n"],"mappings":";;;;;;AAOA,IAAa,IAA6B,EAA6B,UAAA,EAwBhE,IAAA,cAA8B,EACpC,EAAgB,CAAG;;;;;;;;2BAeY;;CAE/B,SAAA;AACC,SAAO,CAAI;;;AAAA,EAAA,CALX,EAAQ,EAAE,SAAS,GAAA,CAAA,EACnB,EAAS,EAAE,SAAA,CAAS,GAAA,CAAA,CAAA,EAAO,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CAhB5B,EAAc,mBAAA,CAAA,EAAmB,EAAA;AAAA,SAAA,KAAA,GAAA,KAAA"}
package/dist/surface.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./surface-BjKZoJxK.cjs`);Object.defineProperty(exports,`SchmancySurface`,{enumerable:!0,get:function(){return e.t}}),exports.SchmancySurfaceTypeContext=e.n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./surface-CDufon40.cjs`);Object.defineProperty(exports,`SchmancySurface`,{enumerable:!0,get:function(){return e.t}}),exports.SchmancySurfaceTypeContext=e.n;
package/dist/surface.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./surface-pK8hME5c.js";
1
+ import { n as e, t } from "./surface-CkEYJCae.js";
2
2
  export { t as SchmancySurface, e as SchmancySurfaceTypeContext };
@@ -1,4 +1,4 @@
1
- require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-BF1Huas7.cjs`);let t=require(`lit/decorators.js`),n=require(`lit`);var r=n.css`
1
+ require(`./chunk-BCfY8kxB.cjs`);const e=require(`./decorate-F9CuyeHg.cjs`);let t=require(`lit/decorators.js`),n=require(`lit`);var r=n.css`
2
2
  /* ================================================================
3
3
  STRUCTURAL TYPES — All-glass depth model.
4
4
  Nothing is opaque. Every layer is translucent.
@@ -294,4 +294,4 @@ require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-BF1Huas7.cjs`)
294
294
  ${a}
295
295
  ${o}
296
296
  ${s}
297
- `,l=n=>{class r extends n{constructor(...e){super(...e),this.fill=`auto`,this.rounded=`none`,this.elevation=0,this.type=`subtle`,this.clickable=!1}static finalizeStyles(e){return[...n.finalizeStyles(e),c]}}return e.i([(0,t.property)({type:String,reflect:!0})],r.prototype,`fill`,void 0),e.i([(0,t.property)({reflect:!0})],r.prototype,`rounded`,void 0),e.i([(0,t.property)({type:Number,reflect:!0})],r.prototype,`elevation`,void 0),e.i([(0,t.property)({reflect:!0})],r.prototype,`type`,void 0),e.i([(0,t.property)({type:Boolean,reflect:!0})],r.prototype,`clickable`,void 0),r};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
297
+ `,l=n=>{class r extends n{constructor(...e){super(...e),this.fill=`auto`,this.rounded=`none`,this.elevation=0,this.type=`subtle`,this.clickable=!1}static finalizeStyles(e){return[...n.finalizeStyles(e),c]}}return e.t([(0,t.property)({type:String,reflect:!0})],r.prototype,`fill`,void 0),e.t([(0,t.property)({reflect:!0})],r.prototype,`rounded`,void 0),e.t([(0,t.property)({type:Number,reflect:!0})],r.prototype,`elevation`,void 0),e.t([(0,t.property)({reflect:!0})],r.prototype,`type`,void 0),e.t([(0,t.property)({type:Boolean,reflect:!0})],r.prototype,`clickable`,void 0),r};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
@@ -1 +1 @@
1
- {"version":3,"file":"surface.mixin-C5sDI1-_.cjs","names":[],"sources":["../src/surface/surface.styles.ts","../mixins/surface.mixin.ts"],"sourcesContent":["import { css } from 'lit'\n\n/**\n * Luminous Glass surface type styles.\n *\n * Depth model: blur intensity + opacity replaces M3 tonal hierarchy.\n * - solid: opaque ground (0 blur, 100% opacity)\n * - subtle: frosted panel (4px blur, ~72% opacity)\n * - glass: full frosted glass (20px blur, ~55% opacity)\n * - luminous: glass + glow halo (24px blur, ~22% opacity)\n */\nexport const surfaceTypeStyles = css`\n\t/* ================================================================\n\t STRUCTURAL TYPES — All-glass depth model.\n\t Nothing is opaque. Every layer is translucent.\n\t Blur creates readability. Light borders isolate layers.\n\t Rule: text must ALWAYS be readable on every surface.\n\t ================================================================ */\n\n\t/* Solid — dense glass, high readability ground layer (no blur — 92% opacity is enough) */\n\t:host([type='solid']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 92%, transparent);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 4%, transparent);\n\t}\n\n\t/* Subtle — frosted glass, clearly readable */\n\t:host([type='subtle']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-container);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 78%, transparent);\n\t\tbackdrop-filter: blur(8px) saturate(130%);\n\t\t-webkit-backdrop-filter: blur(8px) saturate(130%);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 7%, transparent);\n\t\tbox-shadow: inset 0 1px 0 color-mix(in srgb, var(--glass-tint) 5%, transparent);\n\t}\n\n\t/* Glass — frosted glass, blur ensures readability */\n\t:host([type='glass']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\t--glass-border: color-mix(in srgb, var(--glass-tint) 10%, transparent);\n\t\t--glass-border-highlight: color-mix(in srgb, var(--glass-tint) 18%, transparent);\n\n\t\tbackground: color-mix(in srgb, var(--glass-base) 55%, transparent);\n\t\tbackdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\t-webkit-backdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--glass-border);\n\t\tborder-top-color: var(--glass-border-highlight);\n\t\tborder-left-color: var(--glass-border-highlight);\n\t\tbox-shadow:\n\t\t\t0 4px 24px color-mix(in srgb, black 10%, transparent),\n\t\t\tinset 0 1px 0 color-mix(in srgb, var(--glass-tint) 8%, transparent),\n\t\t\tinset 0 -1px 0 color-mix(in srgb, black 3%, transparent);\n\t\tcontain: content;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tisolation: isolate;\n\t}\n\n\t/* Luminous — glass + glow halo, heavy blur keeps readability */\n\t:host([type='luminous']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\t--glow-color: var(--schmancy-sys-color-primary-default);\n\t\t--glass-border: color-mix(in srgb, var(--glass-tint) 12%, transparent);\n\t\t--glass-border-highlight: color-mix(in srgb, var(--glass-tint) 22%, transparent);\n\n\t\tbackground: color-mix(in srgb, var(--glass-base) 42%, transparent);\n\t\tbackdrop-filter: blur(20px) saturate(200%) brightness(1.08);\n\t\t-webkit-backdrop-filter: blur(20px) saturate(200%) brightness(1.08);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--glass-border);\n\t\tborder-top-color: var(--glass-border-highlight);\n\t\tborder-left-color: var(--glass-border-highlight);\n\t\tbox-shadow:\n\t\t\t0 8px 40px -4px color-mix(in srgb, var(--glow-color) 20%, transparent),\n\t\t\t0 2px 16px color-mix(in srgb, black 8%, transparent),\n\t\t\tinset 0 1px 0 color-mix(in srgb, var(--glass-tint) 10%, transparent);\n\t\tcontain: content;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tisolation: isolate;\n\t}\n\n\t/* ================================================================\n\t UTILITY TYPES\n\t ================================================================ */\n\n\t/* Transparent — no background */\n\t:host([type='transparent']) {\n\t\tbackground-color: transparent;\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\n\t/* Outlined — border with luminous hover potential */\n\t:host([type='outlined']) {\n\t\tbackground-color: transparent;\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n\t\ttransition: border-color 300ms ease, box-shadow 300ms ease;\n\t}\n\n\t/* ================================================================\n\t SEMANTIC TYPES — tinted glass for status/role\n\t ================================================================ */\n\n\t:host([type='primary']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-primary-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-primary-default);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t}\n\t:host([type='secondary']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-secondary-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-secondary-default);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-secondary-default) 20%, transparent);\n\t}\n\t:host([type='tertiary']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-tertiary-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-tertiary-default);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-tertiary-default) 20%, transparent);\n\t}\n\t:host([type='error']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-error-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-error-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-error-default) 25%, transparent);\n\t}\n\t:host([type='success']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-success-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-success-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-success-default) 25%, transparent);\n\t}\n\t:host([type='warning']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-warning-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-warning-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-warning-default) 25%, transparent);\n\t}\n\t:host([type='info']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-info-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-info-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-info-default) 25%, transparent);\n\t}\n\n\t/* ================================================================\n\t LEGACY M3 ALIASES — backward compatibility\n\t Old type names render as their new Luminous Glass equivalents.\n\t ================================================================ */\n\n\t/* solid aliases — dense glass */\n\t:host([type='surface']),\n\t:host([type='surfaceDim']),\n\t:host([type='surfaceBright']),\n\t:host([type='containerLowest']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 92%, transparent);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 4%, transparent);\n\t}\n\n\t/* subtle aliases — frosted glass */\n\t:host([type='containerLow']),\n\t:host([type='container']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-container);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 78%, transparent);\n\t\tbackdrop-filter: blur(8px) saturate(130%);\n\t\t-webkit-backdrop-filter: blur(8px) saturate(130%);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 7%, transparent);\n\t\tbox-shadow: inset 0 1px 0 color-mix(in srgb, var(--glass-tint) 5%, transparent);\n\t}\n\n\t/* glass aliases */\n\t:host([type='containerHigh']),\n\t:host([type='containerHighest']),\n\t:host([type='glassOforim']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\t--glass-border: color-mix(in srgb, var(--glass-tint) 10%, transparent);\n\t\t--glass-border-highlight: color-mix(in srgb, var(--glass-tint) 18%, transparent);\n\n\t\tbackground: color-mix(in srgb, var(--glass-base) 55%, transparent);\n\t\tbackdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\t-webkit-backdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--glass-border);\n\t\tborder-top-color: var(--glass-border-highlight);\n\t\tborder-left-color: var(--glass-border-highlight);\n\t\tbox-shadow:\n\t\t\t0 4px 24px color-mix(in srgb, black 10%, transparent),\n\t\t\tinset 0 1px 0 color-mix(in srgb, var(--glass-tint) 8%, transparent),\n\t\t\tinset 0 -1px 0 color-mix(in srgb, black 3%, transparent);\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tisolation: isolate;\n\t}\n\n\t/* ================================================================\n\t REDUCED MOTION — disable glass animations\n\t ================================================================ */\n`\n\n/**\n * Surface fill styles - dimension control\n */\nexport const surfaceFillStyles = css`\n\t:host([fill='all']) {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t:host([fill='width']) {\n\t\twidth: 100%;\n\t}\n\t:host([fill='height']) {\n\t\theight: 100%;\n\t}\n`\n\n/**\n * Surface rounded corner styles\n */\nexport const surfaceRoundedStyles = css`\n\t:host([rounded='none']) {\n\t\tborder-radius: 0;\n\t}\n\t:host([rounded='top']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large) 0 0;\n\t}\n\t:host([rounded='left']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-large) 0 0 var(--schmancy-sys-shape-corner-large);\n\t}\n\t:host([rounded='right']) {\n\t\tborder-radius: 0 var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large) 0;\n\t}\n\t:host([rounded='bottom']) {\n\t\tborder-radius: 0 0 var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large);\n\t}\n\t:host([rounded='all']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-large);\n\t}\n`\n\n/**\n * Luminous glow elevation — replaces M3 dark drop shadows with primary-colored glow.\n * No ::after tint overlay — depth comes from glow intensity, not surface tint.\n */\nexport const surfaceElevationStyles = css`\n\t:host([elevation='1']) {\n\t\tbox-shadow: 0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='2']) {\n\t\tbox-shadow: 0 4px 20px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 22%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='3']) {\n\t\tbox-shadow: 0 8px 32px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 28%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='4']) {\n\t\tbox-shadow: 0 12px 44px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 35%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='5']) {\n\t\tbox-shadow: 0 20px 60px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 42%, transparent);\n\t\tposition: relative;\n\t}\n`\n\n/**\n * Surface clickable styles - luminous hover, spring active\n */\nexport const surfaceClickableStyles = css`\n\t:host([clickable]) {\n\t\tcursor: pointer;\n\t\tuser-select: none;\n\t\t-webkit-tap-highlight-color: transparent;\n\t\ttransition:\n\t\t\tfilter 200ms ease,\n\t\t\ttransform 300ms cubic-bezier(0.34, 1.56, 0.64, 1),\n\t\t\tbox-shadow 400ms ease;\n\t}\n\t:host([clickable]:hover) {\n\t\tfilter: brightness(1.03);\n\t\ttransform: translateY(-1px);\n\t\tbox-shadow: 0 4px 20px -6px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);\n\t}\n\t:host([clickable]:active) {\n\t\tfilter: brightness(0.96);\n\t\ttransform: scale(0.97);\n\t\tbox-shadow: none;\n\t\ttransition-duration: 100ms;\n\t}\n\t:host([clickable]:focus-visible) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: 2px;\n\t\tbox-shadow: 0 0 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t}\n\t@media (prefers-reduced-motion: reduce) {\n\t\t:host([clickable]) { transition: filter 150ms ease; }\n\t\t:host([clickable]:hover) { transform: none; box-shadow: none; }\n\t\t:host([clickable]:active) { transform: none; }\n\t}\n`\n\n/**\n * Combined surface styles - includes all surface styling capabilities\n */\nexport const surfaceStyles = css`\n\t${surfaceTypeStyles}\n\t${surfaceFillStyles}\n\t${surfaceRoundedStyles}\n\t${surfaceElevationStyles}\n\t${surfaceClickableStyles}\n`\n","import type { Constructor } from './constructor'\nimport { CSSResultGroup, CSSResultOrNative, LitElement } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport type { TSurfaceColor } from '../src/types/surface'\nimport { surfaceStyles } from '../src/surface/surface.styles'\n\nexport type SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto'\nexport type SchmancySurfaceRounded = 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all'\nexport type SchmancySurfaceElevation = 0 | 1 | 2 | 3 | 4 | 5\n\nexport declare class ISurfaceMixin {\n\tfill: SchmancySurfaceFill\n\trounded: SchmancySurfaceRounded\n\televation: SchmancySurfaceElevation\n\ttype: TSurfaceColor\n\tclickable: boolean\n}\n\n/**\n * SurfaceMixin - Adds surface styling properties AND styles to any LitElement\n *\n * Uses Lit's finalizeStyles hook to inject surfaceStyles CSS for all surface type selectors.\n * This is the recommended pattern for mixins that need to add styles.\n *\n * Provides these reflected properties:\n * - `fill`: 'all' | 'width' | 'height' | 'auto' - Controls element dimensions\n * - `rounded`: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' - Corner rounding\n * - `elevation`: 0-5 - Shadow depth level\n * - `type`: TSurfaceColor - Surface color variant (26+ options)\n *\n * Usage:\n * ```typescript\n * import { SurfaceMixin } from '@mixins/surface.mixin'\n *\n * @customElement('my-component')\n * class MyComponent extends SurfaceMixin(TailwindElement(css`\n * :host { display: block; }\n * `)) {\n * // Component now has type, fill, rounded, elevation properties\n * // AND surfaceStyles are automatically included\n * }\n * ```\n */\nexport const SurfaceMixin = <T extends Constructor<LitElement>>(superClass: T) => {\n\tclass SurfaceMixinClass extends superClass {\n\t\t/**\n\t\t * Override finalizeStyles to inject surfaceStyles.\n\t\t * This is the Lit-recommended way for mixins to add styles.\n\t\t */\n\t\tprotected static finalizeStyles(styles?: CSSResultGroup): CSSResultOrNative[] {\n\t\t\t// Get parent's finalized styles using LitElement's method\n\t\t\tconst parentStyles = (superClass as unknown as typeof LitElement).finalizeStyles(styles)\n\t\t\t// Append surfaceStyles at the end (higher specificity)\n\t\t\treturn [...parentStyles, surfaceStyles as CSSResultOrNative]\n\t\t}\n\n\t\t/**\n\t\t * Fill the width and/or height of the parent container.\n\t\t * @default 'auto'\n\t\t */\n\t\t@property({ type: String, reflect: true })\n\t\tfill: SchmancySurfaceFill = 'auto'\n\n\t\t/**\n\t\t * Specifies the rounding style of the component's corners.\n\t\t * @default 'none'\n\t\t */\n\t\t@property({ reflect: true })\n\t\trounded: SchmancySurfaceRounded = 'none'\n\n\t\t/**\n\t\t * Defines the elevation level (shadow depth) of the surface.\n\t\t * @default 0\n\t\t */\n\t\t@property({ type: Number, reflect: true })\n\t\televation: SchmancySurfaceElevation = 0\n\n\t\t/**\n\t\t * Specifies the surface type for styling.\n\t\t * @default 'container'\n\t\t */\n\t\t@property({ reflect: true })\n\t\ttype: TSurfaceColor = 'subtle'\n\n\t\t/**\n\t\t * Makes the surface interactive with hover, active states and cursor pointer.\n\t\t * @default false\n\t\t */\n\t\t@property({ type: Boolean, reflect: true })\n\t\tclickable = false\n\t}\n\treturn SurfaceMixinClass as Constructor<ISurfaceMixin> & T\n}\n"],"mappings":"qIAWA,IAAa,EAAoB,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqNvB,EAAoB,EAAA,GAAG;;;;;;;;;;;EAgBvB,EAAuB,EAAA,GAAG;;;;;;;;;;;;;;;;;;;EAyB1B,EAAyB,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;EA0B5B,EAAyB,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoC5B,EAAgB,EAAA,GAAG;GAC7B,EAAA;GACA,EAAA;GACA,EAAA;GACA,EAAA;GACA,EAAA;ECjSU,EAAmD,GAAA,CAC/D,MAAM,UAA0B,CAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,EAAA,CAAA,KAAA,KAiBH,OAAA,KAAA,QAOM,OAAA,KAAA,UAOI,EAAA,KAAA,KAOhB,SAAA,KAAA,UAAA,CAOV,EAxCZ,OAAA,eAAgC,EAAA,CAI/B,MAAO,CAAA,GAFe,EAA4C,eAAe,EAAA,CAExD,EAAA,EAsC3B,OAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UA/BW,CAAE,KAAM,OAAQ,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAOhC,CAAE,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,UAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAOlB,CAAE,KAAM,OAAQ,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,YAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAOhC,CAAE,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAOlB,CAAE,KAAM,QAAS,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,YAAA,IAAA,GAAA,CAGrC,GAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"surface.mixin-CSKqQH-0.cjs","names":[],"sources":["../src/surface/surface.styles.ts","../mixins/surface.mixin.ts"],"sourcesContent":["import { css } from 'lit'\n\n/**\n * Luminous Glass surface type styles.\n *\n * Depth model: blur intensity + opacity replaces M3 tonal hierarchy.\n * - solid: opaque ground (0 blur, 100% opacity)\n * - subtle: frosted panel (4px blur, ~72% opacity)\n * - glass: full frosted glass (20px blur, ~55% opacity)\n * - luminous: glass + glow halo (24px blur, ~22% opacity)\n */\nexport const surfaceTypeStyles = css`\n\t/* ================================================================\n\t STRUCTURAL TYPES — All-glass depth model.\n\t Nothing is opaque. Every layer is translucent.\n\t Blur creates readability. Light borders isolate layers.\n\t Rule: text must ALWAYS be readable on every surface.\n\t ================================================================ */\n\n\t/* Solid — dense glass, high readability ground layer (no blur — 92% opacity is enough) */\n\t:host([type='solid']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 92%, transparent);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 4%, transparent);\n\t}\n\n\t/* Subtle — frosted glass, clearly readable */\n\t:host([type='subtle']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-container);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 78%, transparent);\n\t\tbackdrop-filter: blur(8px) saturate(130%);\n\t\t-webkit-backdrop-filter: blur(8px) saturate(130%);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 7%, transparent);\n\t\tbox-shadow: inset 0 1px 0 color-mix(in srgb, var(--glass-tint) 5%, transparent);\n\t}\n\n\t/* Glass — frosted glass, blur ensures readability */\n\t:host([type='glass']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\t--glass-border: color-mix(in srgb, var(--glass-tint) 10%, transparent);\n\t\t--glass-border-highlight: color-mix(in srgb, var(--glass-tint) 18%, transparent);\n\n\t\tbackground: color-mix(in srgb, var(--glass-base) 55%, transparent);\n\t\tbackdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\t-webkit-backdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--glass-border);\n\t\tborder-top-color: var(--glass-border-highlight);\n\t\tborder-left-color: var(--glass-border-highlight);\n\t\tbox-shadow:\n\t\t\t0 4px 24px color-mix(in srgb, black 10%, transparent),\n\t\t\tinset 0 1px 0 color-mix(in srgb, var(--glass-tint) 8%, transparent),\n\t\t\tinset 0 -1px 0 color-mix(in srgb, black 3%, transparent);\n\t\tcontain: content;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tisolation: isolate;\n\t}\n\n\t/* Luminous — glass + glow halo, heavy blur keeps readability */\n\t:host([type='luminous']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\t--glow-color: var(--schmancy-sys-color-primary-default);\n\t\t--glass-border: color-mix(in srgb, var(--glass-tint) 12%, transparent);\n\t\t--glass-border-highlight: color-mix(in srgb, var(--glass-tint) 22%, transparent);\n\n\t\tbackground: color-mix(in srgb, var(--glass-base) 42%, transparent);\n\t\tbackdrop-filter: blur(20px) saturate(200%) brightness(1.08);\n\t\t-webkit-backdrop-filter: blur(20px) saturate(200%) brightness(1.08);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--glass-border);\n\t\tborder-top-color: var(--glass-border-highlight);\n\t\tborder-left-color: var(--glass-border-highlight);\n\t\tbox-shadow:\n\t\t\t0 8px 40px -4px color-mix(in srgb, var(--glow-color) 20%, transparent),\n\t\t\t0 2px 16px color-mix(in srgb, black 8%, transparent),\n\t\t\tinset 0 1px 0 color-mix(in srgb, var(--glass-tint) 10%, transparent);\n\t\tcontain: content;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tisolation: isolate;\n\t}\n\n\t/* ================================================================\n\t UTILITY TYPES\n\t ================================================================ */\n\n\t/* Transparent — no background */\n\t:host([type='transparent']) {\n\t\tbackground-color: transparent;\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\n\t/* Outlined — border with luminous hover potential */\n\t:host([type='outlined']) {\n\t\tbackground-color: transparent;\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n\t\ttransition: border-color 300ms ease, box-shadow 300ms ease;\n\t}\n\n\t/* ================================================================\n\t SEMANTIC TYPES — tinted glass for status/role\n\t ================================================================ */\n\n\t:host([type='primary']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-primary-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-primary-default);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t}\n\t:host([type='secondary']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-secondary-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-secondary-default);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-secondary-default) 20%, transparent);\n\t}\n\t:host([type='tertiary']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-tertiary-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-tertiary-default);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-tertiary-default) 20%, transparent);\n\t}\n\t:host([type='error']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-error-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-error-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-error-default) 25%, transparent);\n\t}\n\t:host([type='success']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-success-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-success-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-success-default) 25%, transparent);\n\t}\n\t:host([type='warning']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-warning-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-warning-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-warning-default) 25%, transparent);\n\t}\n\t:host([type='info']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-info-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-info-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-info-default) 25%, transparent);\n\t}\n\n\t/* ================================================================\n\t LEGACY M3 ALIASES — backward compatibility\n\t Old type names render as their new Luminous Glass equivalents.\n\t ================================================================ */\n\n\t/* solid aliases — dense glass */\n\t:host([type='surface']),\n\t:host([type='surfaceDim']),\n\t:host([type='surfaceBright']),\n\t:host([type='containerLowest']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 92%, transparent);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 4%, transparent);\n\t}\n\n\t/* subtle aliases — frosted glass */\n\t:host([type='containerLow']),\n\t:host([type='container']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-container);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 78%, transparent);\n\t\tbackdrop-filter: blur(8px) saturate(130%);\n\t\t-webkit-backdrop-filter: blur(8px) saturate(130%);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 7%, transparent);\n\t\tbox-shadow: inset 0 1px 0 color-mix(in srgb, var(--glass-tint) 5%, transparent);\n\t}\n\n\t/* glass aliases */\n\t:host([type='containerHigh']),\n\t:host([type='containerHighest']),\n\t:host([type='glassOforim']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\t--glass-border: color-mix(in srgb, var(--glass-tint) 10%, transparent);\n\t\t--glass-border-highlight: color-mix(in srgb, var(--glass-tint) 18%, transparent);\n\n\t\tbackground: color-mix(in srgb, var(--glass-base) 55%, transparent);\n\t\tbackdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\t-webkit-backdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--glass-border);\n\t\tborder-top-color: var(--glass-border-highlight);\n\t\tborder-left-color: var(--glass-border-highlight);\n\t\tbox-shadow:\n\t\t\t0 4px 24px color-mix(in srgb, black 10%, transparent),\n\t\t\tinset 0 1px 0 color-mix(in srgb, var(--glass-tint) 8%, transparent),\n\t\t\tinset 0 -1px 0 color-mix(in srgb, black 3%, transparent);\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tisolation: isolate;\n\t}\n\n\t/* ================================================================\n\t REDUCED MOTION — disable glass animations\n\t ================================================================ */\n`\n\n/**\n * Surface fill styles - dimension control\n */\nexport const surfaceFillStyles = css`\n\t:host([fill='all']) {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t:host([fill='width']) {\n\t\twidth: 100%;\n\t}\n\t:host([fill='height']) {\n\t\theight: 100%;\n\t}\n`\n\n/**\n * Surface rounded corner styles\n */\nexport const surfaceRoundedStyles = css`\n\t:host([rounded='none']) {\n\t\tborder-radius: 0;\n\t}\n\t:host([rounded='top']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large) 0 0;\n\t}\n\t:host([rounded='left']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-large) 0 0 var(--schmancy-sys-shape-corner-large);\n\t}\n\t:host([rounded='right']) {\n\t\tborder-radius: 0 var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large) 0;\n\t}\n\t:host([rounded='bottom']) {\n\t\tborder-radius: 0 0 var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large);\n\t}\n\t:host([rounded='all']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-large);\n\t}\n`\n\n/**\n * Luminous glow elevation — replaces M3 dark drop shadows with primary-colored glow.\n * No ::after tint overlay — depth comes from glow intensity, not surface tint.\n */\nexport const surfaceElevationStyles = css`\n\t:host([elevation='1']) {\n\t\tbox-shadow: 0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='2']) {\n\t\tbox-shadow: 0 4px 20px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 22%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='3']) {\n\t\tbox-shadow: 0 8px 32px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 28%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='4']) {\n\t\tbox-shadow: 0 12px 44px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 35%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='5']) {\n\t\tbox-shadow: 0 20px 60px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 42%, transparent);\n\t\tposition: relative;\n\t}\n`\n\n/**\n * Surface clickable styles - luminous hover, spring active\n */\nexport const surfaceClickableStyles = css`\n\t:host([clickable]) {\n\t\tcursor: pointer;\n\t\tuser-select: none;\n\t\t-webkit-tap-highlight-color: transparent;\n\t\ttransition:\n\t\t\tfilter 200ms ease,\n\t\t\ttransform 300ms cubic-bezier(0.34, 1.56, 0.64, 1),\n\t\t\tbox-shadow 400ms ease;\n\t}\n\t:host([clickable]:hover) {\n\t\tfilter: brightness(1.03);\n\t\ttransform: translateY(-1px);\n\t\tbox-shadow: 0 4px 20px -6px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);\n\t}\n\t:host([clickable]:active) {\n\t\tfilter: brightness(0.96);\n\t\ttransform: scale(0.97);\n\t\tbox-shadow: none;\n\t\ttransition-duration: 100ms;\n\t}\n\t:host([clickable]:focus-visible) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: 2px;\n\t\tbox-shadow: 0 0 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t}\n\t@media (prefers-reduced-motion: reduce) {\n\t\t:host([clickable]) { transition: filter 150ms ease; }\n\t\t:host([clickable]:hover) { transform: none; box-shadow: none; }\n\t\t:host([clickable]:active) { transform: none; }\n\t}\n`\n\n/**\n * Combined surface styles - includes all surface styling capabilities\n */\nexport const surfaceStyles = css`\n\t${surfaceTypeStyles}\n\t${surfaceFillStyles}\n\t${surfaceRoundedStyles}\n\t${surfaceElevationStyles}\n\t${surfaceClickableStyles}\n`\n","import type { Constructor } from './constructor'\nimport { CSSResultGroup, CSSResultOrNative, LitElement } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport type { TSurfaceColor } from '../src/types/surface'\nimport { surfaceStyles } from '../src/surface/surface.styles'\n\nexport type SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto'\nexport type SchmancySurfaceRounded = 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all'\nexport type SchmancySurfaceElevation = 0 | 1 | 2 | 3 | 4 | 5\n\nexport declare class ISurfaceMixin {\n\tfill: SchmancySurfaceFill\n\trounded: SchmancySurfaceRounded\n\televation: SchmancySurfaceElevation\n\ttype: TSurfaceColor\n\tclickable: boolean\n}\n\n/**\n * SurfaceMixin - Adds surface styling properties AND styles to any LitElement\n *\n * Uses Lit's finalizeStyles hook to inject surfaceStyles CSS for all surface type selectors.\n * This is the recommended pattern for mixins that need to add styles.\n *\n * Provides these reflected properties:\n * - `fill`: 'all' | 'width' | 'height' | 'auto' - Controls element dimensions\n * - `rounded`: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' - Corner rounding\n * - `elevation`: 0-5 - Shadow depth level\n * - `type`: TSurfaceColor - Surface color variant (26+ options)\n *\n * Usage:\n * ```typescript\n * import { SurfaceMixin } from '@mixins/surface.mixin'\n *\n * @customElement('my-component')\n * class MyComponent extends SurfaceMixin(TailwindElement(css`\n * :host { display: block; }\n * `)) {\n * // Component now has type, fill, rounded, elevation properties\n * // AND surfaceStyles are automatically included\n * }\n * ```\n */\nexport const SurfaceMixin = <T extends Constructor<LitElement>>(superClass: T) => {\n\tclass SurfaceMixinClass extends superClass {\n\t\t/**\n\t\t * Override finalizeStyles to inject surfaceStyles.\n\t\t * This is the Lit-recommended way for mixins to add styles.\n\t\t */\n\t\tprotected static finalizeStyles(styles?: CSSResultGroup): CSSResultOrNative[] {\n\t\t\t// Get parent's finalized styles using LitElement's method\n\t\t\tconst parentStyles = (superClass as unknown as typeof LitElement).finalizeStyles(styles)\n\t\t\t// Append surfaceStyles at the end (higher specificity)\n\t\t\treturn [...parentStyles, surfaceStyles as CSSResultOrNative]\n\t\t}\n\n\t\t/**\n\t\t * Fill the width and/or height of the parent container.\n\t\t * @default 'auto'\n\t\t */\n\t\t@property({ type: String, reflect: true })\n\t\tfill: SchmancySurfaceFill = 'auto'\n\n\t\t/**\n\t\t * Specifies the rounding style of the component's corners.\n\t\t * @default 'none'\n\t\t */\n\t\t@property({ reflect: true })\n\t\trounded: SchmancySurfaceRounded = 'none'\n\n\t\t/**\n\t\t * Defines the elevation level (shadow depth) of the surface.\n\t\t * @default 0\n\t\t */\n\t\t@property({ type: Number, reflect: true })\n\t\televation: SchmancySurfaceElevation = 0\n\n\t\t/**\n\t\t * Specifies the surface type for styling.\n\t\t * @default 'container'\n\t\t */\n\t\t@property({ reflect: true })\n\t\ttype: TSurfaceColor = 'subtle'\n\n\t\t/**\n\t\t * Makes the surface interactive with hover, active states and cursor pointer.\n\t\t * @default false\n\t\t */\n\t\t@property({ type: Boolean, reflect: true })\n\t\tclickable = false\n\t}\n\treturn SurfaceMixinClass as Constructor<ISurfaceMixin> & T\n}\n"],"mappings":"+HAWA,IAAa,EAAoB,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqNvB,EAAoB,EAAA,GAAG;;;;;;;;;;;EAgBvB,EAAuB,EAAA,GAAG;;;;;;;;;;;;;;;;;;;EAyB1B,EAAyB,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;EA0B5B,EAAyB,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoC5B,EAAgB,EAAA,GAAG;GAC7B,EAAA;GACA,EAAA;GACA,EAAA;GACA,EAAA;GACA,EAAA;ECjSU,EAAmD,GAAA,CAC/D,MAAM,UAA0B,CAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,EAAA,CAAA,KAAA,KAiBH,OAAA,KAAA,QAOM,OAAA,KAAA,UAOI,EAAA,KAAA,KAOhB,SAAA,KAAA,UAAA,CAOV,EAxCZ,OAAA,eAAgC,EAAA,CAI/B,MAAO,CAAA,GAFe,EAA4C,eAAe,EAAA,CAExD,EAAA,EAsC3B,OAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UA/BW,CAAE,KAAM,OAAQ,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAOhC,CAAE,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,UAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAOlB,CAAE,KAAM,OAAQ,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,YAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAOhC,CAAE,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAOlB,CAAE,KAAM,QAAS,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,YAAA,IAAA,GAAA,CAGrC,GAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
@@ -1,4 +1,4 @@
1
- import { i as e } from "./tailwind.mixin-BCJOOX1_.js";
1
+ import { t as e } from "./decorate-D_utPUsC.js";
2
2
  import { property as t } from "lit/decorators.js";
3
3
  import { css as n } from "lit";
4
4
  var r = n`
@@ -1 +1 @@
1
- {"version":3,"file":"surface.mixin-CBNRpJum.js","names":[],"sources":["../src/surface/surface.styles.ts","../mixins/surface.mixin.ts"],"sourcesContent":["import { css } from 'lit'\n\n/**\n * Luminous Glass surface type styles.\n *\n * Depth model: blur intensity + opacity replaces M3 tonal hierarchy.\n * - solid: opaque ground (0 blur, 100% opacity)\n * - subtle: frosted panel (4px blur, ~72% opacity)\n * - glass: full frosted glass (20px blur, ~55% opacity)\n * - luminous: glass + glow halo (24px blur, ~22% opacity)\n */\nexport const surfaceTypeStyles = css`\n\t/* ================================================================\n\t STRUCTURAL TYPES — All-glass depth model.\n\t Nothing is opaque. Every layer is translucent.\n\t Blur creates readability. Light borders isolate layers.\n\t Rule: text must ALWAYS be readable on every surface.\n\t ================================================================ */\n\n\t/* Solid — dense glass, high readability ground layer (no blur — 92% opacity is enough) */\n\t:host([type='solid']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 92%, transparent);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 4%, transparent);\n\t}\n\n\t/* Subtle — frosted glass, clearly readable */\n\t:host([type='subtle']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-container);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 78%, transparent);\n\t\tbackdrop-filter: blur(8px) saturate(130%);\n\t\t-webkit-backdrop-filter: blur(8px) saturate(130%);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 7%, transparent);\n\t\tbox-shadow: inset 0 1px 0 color-mix(in srgb, var(--glass-tint) 5%, transparent);\n\t}\n\n\t/* Glass — frosted glass, blur ensures readability */\n\t:host([type='glass']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\t--glass-border: color-mix(in srgb, var(--glass-tint) 10%, transparent);\n\t\t--glass-border-highlight: color-mix(in srgb, var(--glass-tint) 18%, transparent);\n\n\t\tbackground: color-mix(in srgb, var(--glass-base) 55%, transparent);\n\t\tbackdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\t-webkit-backdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--glass-border);\n\t\tborder-top-color: var(--glass-border-highlight);\n\t\tborder-left-color: var(--glass-border-highlight);\n\t\tbox-shadow:\n\t\t\t0 4px 24px color-mix(in srgb, black 10%, transparent),\n\t\t\tinset 0 1px 0 color-mix(in srgb, var(--glass-tint) 8%, transparent),\n\t\t\tinset 0 -1px 0 color-mix(in srgb, black 3%, transparent);\n\t\tcontain: content;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tisolation: isolate;\n\t}\n\n\t/* Luminous — glass + glow halo, heavy blur keeps readability */\n\t:host([type='luminous']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\t--glow-color: var(--schmancy-sys-color-primary-default);\n\t\t--glass-border: color-mix(in srgb, var(--glass-tint) 12%, transparent);\n\t\t--glass-border-highlight: color-mix(in srgb, var(--glass-tint) 22%, transparent);\n\n\t\tbackground: color-mix(in srgb, var(--glass-base) 42%, transparent);\n\t\tbackdrop-filter: blur(20px) saturate(200%) brightness(1.08);\n\t\t-webkit-backdrop-filter: blur(20px) saturate(200%) brightness(1.08);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--glass-border);\n\t\tborder-top-color: var(--glass-border-highlight);\n\t\tborder-left-color: var(--glass-border-highlight);\n\t\tbox-shadow:\n\t\t\t0 8px 40px -4px color-mix(in srgb, var(--glow-color) 20%, transparent),\n\t\t\t0 2px 16px color-mix(in srgb, black 8%, transparent),\n\t\t\tinset 0 1px 0 color-mix(in srgb, var(--glass-tint) 10%, transparent);\n\t\tcontain: content;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tisolation: isolate;\n\t}\n\n\t/* ================================================================\n\t UTILITY TYPES\n\t ================================================================ */\n\n\t/* Transparent — no background */\n\t:host([type='transparent']) {\n\t\tbackground-color: transparent;\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\n\t/* Outlined — border with luminous hover potential */\n\t:host([type='outlined']) {\n\t\tbackground-color: transparent;\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n\t\ttransition: border-color 300ms ease, box-shadow 300ms ease;\n\t}\n\n\t/* ================================================================\n\t SEMANTIC TYPES — tinted glass for status/role\n\t ================================================================ */\n\n\t:host([type='primary']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-primary-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-primary-default);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t}\n\t:host([type='secondary']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-secondary-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-secondary-default);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-secondary-default) 20%, transparent);\n\t}\n\t:host([type='tertiary']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-tertiary-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-tertiary-default);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-tertiary-default) 20%, transparent);\n\t}\n\t:host([type='error']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-error-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-error-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-error-default) 25%, transparent);\n\t}\n\t:host([type='success']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-success-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-success-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-success-default) 25%, transparent);\n\t}\n\t:host([type='warning']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-warning-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-warning-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-warning-default) 25%, transparent);\n\t}\n\t:host([type='info']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-info-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-info-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-info-default) 25%, transparent);\n\t}\n\n\t/* ================================================================\n\t LEGACY M3 ALIASES — backward compatibility\n\t Old type names render as their new Luminous Glass equivalents.\n\t ================================================================ */\n\n\t/* solid aliases — dense glass */\n\t:host([type='surface']),\n\t:host([type='surfaceDim']),\n\t:host([type='surfaceBright']),\n\t:host([type='containerLowest']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 92%, transparent);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 4%, transparent);\n\t}\n\n\t/* subtle aliases — frosted glass */\n\t:host([type='containerLow']),\n\t:host([type='container']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-container);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 78%, transparent);\n\t\tbackdrop-filter: blur(8px) saturate(130%);\n\t\t-webkit-backdrop-filter: blur(8px) saturate(130%);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 7%, transparent);\n\t\tbox-shadow: inset 0 1px 0 color-mix(in srgb, var(--glass-tint) 5%, transparent);\n\t}\n\n\t/* glass aliases */\n\t:host([type='containerHigh']),\n\t:host([type='containerHighest']),\n\t:host([type='glassOforim']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\t--glass-border: color-mix(in srgb, var(--glass-tint) 10%, transparent);\n\t\t--glass-border-highlight: color-mix(in srgb, var(--glass-tint) 18%, transparent);\n\n\t\tbackground: color-mix(in srgb, var(--glass-base) 55%, transparent);\n\t\tbackdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\t-webkit-backdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--glass-border);\n\t\tborder-top-color: var(--glass-border-highlight);\n\t\tborder-left-color: var(--glass-border-highlight);\n\t\tbox-shadow:\n\t\t\t0 4px 24px color-mix(in srgb, black 10%, transparent),\n\t\t\tinset 0 1px 0 color-mix(in srgb, var(--glass-tint) 8%, transparent),\n\t\t\tinset 0 -1px 0 color-mix(in srgb, black 3%, transparent);\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tisolation: isolate;\n\t}\n\n\t/* ================================================================\n\t REDUCED MOTION — disable glass animations\n\t ================================================================ */\n`\n\n/**\n * Surface fill styles - dimension control\n */\nexport const surfaceFillStyles = css`\n\t:host([fill='all']) {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t:host([fill='width']) {\n\t\twidth: 100%;\n\t}\n\t:host([fill='height']) {\n\t\theight: 100%;\n\t}\n`\n\n/**\n * Surface rounded corner styles\n */\nexport const surfaceRoundedStyles = css`\n\t:host([rounded='none']) {\n\t\tborder-radius: 0;\n\t}\n\t:host([rounded='top']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large) 0 0;\n\t}\n\t:host([rounded='left']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-large) 0 0 var(--schmancy-sys-shape-corner-large);\n\t}\n\t:host([rounded='right']) {\n\t\tborder-radius: 0 var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large) 0;\n\t}\n\t:host([rounded='bottom']) {\n\t\tborder-radius: 0 0 var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large);\n\t}\n\t:host([rounded='all']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-large);\n\t}\n`\n\n/**\n * Luminous glow elevation — replaces M3 dark drop shadows with primary-colored glow.\n * No ::after tint overlay — depth comes from glow intensity, not surface tint.\n */\nexport const surfaceElevationStyles = css`\n\t:host([elevation='1']) {\n\t\tbox-shadow: 0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='2']) {\n\t\tbox-shadow: 0 4px 20px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 22%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='3']) {\n\t\tbox-shadow: 0 8px 32px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 28%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='4']) {\n\t\tbox-shadow: 0 12px 44px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 35%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='5']) {\n\t\tbox-shadow: 0 20px 60px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 42%, transparent);\n\t\tposition: relative;\n\t}\n`\n\n/**\n * Surface clickable styles - luminous hover, spring active\n */\nexport const surfaceClickableStyles = css`\n\t:host([clickable]) {\n\t\tcursor: pointer;\n\t\tuser-select: none;\n\t\t-webkit-tap-highlight-color: transparent;\n\t\ttransition:\n\t\t\tfilter 200ms ease,\n\t\t\ttransform 300ms cubic-bezier(0.34, 1.56, 0.64, 1),\n\t\t\tbox-shadow 400ms ease;\n\t}\n\t:host([clickable]:hover) {\n\t\tfilter: brightness(1.03);\n\t\ttransform: translateY(-1px);\n\t\tbox-shadow: 0 4px 20px -6px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);\n\t}\n\t:host([clickable]:active) {\n\t\tfilter: brightness(0.96);\n\t\ttransform: scale(0.97);\n\t\tbox-shadow: none;\n\t\ttransition-duration: 100ms;\n\t}\n\t:host([clickable]:focus-visible) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: 2px;\n\t\tbox-shadow: 0 0 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t}\n\t@media (prefers-reduced-motion: reduce) {\n\t\t:host([clickable]) { transition: filter 150ms ease; }\n\t\t:host([clickable]:hover) { transform: none; box-shadow: none; }\n\t\t:host([clickable]:active) { transform: none; }\n\t}\n`\n\n/**\n * Combined surface styles - includes all surface styling capabilities\n */\nexport const surfaceStyles = css`\n\t${surfaceTypeStyles}\n\t${surfaceFillStyles}\n\t${surfaceRoundedStyles}\n\t${surfaceElevationStyles}\n\t${surfaceClickableStyles}\n`\n","import type { Constructor } from './constructor'\nimport { CSSResultGroup, CSSResultOrNative, LitElement } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport type { TSurfaceColor } from '../src/types/surface'\nimport { surfaceStyles } from '../src/surface/surface.styles'\n\nexport type SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto'\nexport type SchmancySurfaceRounded = 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all'\nexport type SchmancySurfaceElevation = 0 | 1 | 2 | 3 | 4 | 5\n\nexport declare class ISurfaceMixin {\n\tfill: SchmancySurfaceFill\n\trounded: SchmancySurfaceRounded\n\televation: SchmancySurfaceElevation\n\ttype: TSurfaceColor\n\tclickable: boolean\n}\n\n/**\n * SurfaceMixin - Adds surface styling properties AND styles to any LitElement\n *\n * Uses Lit's finalizeStyles hook to inject surfaceStyles CSS for all surface type selectors.\n * This is the recommended pattern for mixins that need to add styles.\n *\n * Provides these reflected properties:\n * - `fill`: 'all' | 'width' | 'height' | 'auto' - Controls element dimensions\n * - `rounded`: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' - Corner rounding\n * - `elevation`: 0-5 - Shadow depth level\n * - `type`: TSurfaceColor - Surface color variant (26+ options)\n *\n * Usage:\n * ```typescript\n * import { SurfaceMixin } from '@mixins/surface.mixin'\n *\n * @customElement('my-component')\n * class MyComponent extends SurfaceMixin(TailwindElement(css`\n * :host { display: block; }\n * `)) {\n * // Component now has type, fill, rounded, elevation properties\n * // AND surfaceStyles are automatically included\n * }\n * ```\n */\nexport const SurfaceMixin = <T extends Constructor<LitElement>>(superClass: T) => {\n\tclass SurfaceMixinClass extends superClass {\n\t\t/**\n\t\t * Override finalizeStyles to inject surfaceStyles.\n\t\t * This is the Lit-recommended way for mixins to add styles.\n\t\t */\n\t\tprotected static finalizeStyles(styles?: CSSResultGroup): CSSResultOrNative[] {\n\t\t\t// Get parent's finalized styles using LitElement's method\n\t\t\tconst parentStyles = (superClass as unknown as typeof LitElement).finalizeStyles(styles)\n\t\t\t// Append surfaceStyles at the end (higher specificity)\n\t\t\treturn [...parentStyles, surfaceStyles as CSSResultOrNative]\n\t\t}\n\n\t\t/**\n\t\t * Fill the width and/or height of the parent container.\n\t\t * @default 'auto'\n\t\t */\n\t\t@property({ type: String, reflect: true })\n\t\tfill: SchmancySurfaceFill = 'auto'\n\n\t\t/**\n\t\t * Specifies the rounding style of the component's corners.\n\t\t * @default 'none'\n\t\t */\n\t\t@property({ reflect: true })\n\t\trounded: SchmancySurfaceRounded = 'none'\n\n\t\t/**\n\t\t * Defines the elevation level (shadow depth) of the surface.\n\t\t * @default 0\n\t\t */\n\t\t@property({ type: Number, reflect: true })\n\t\televation: SchmancySurfaceElevation = 0\n\n\t\t/**\n\t\t * Specifies the surface type for styling.\n\t\t * @default 'container'\n\t\t */\n\t\t@property({ reflect: true })\n\t\ttype: TSurfaceColor = 'subtle'\n\n\t\t/**\n\t\t * Makes the surface interactive with hover, active states and cursor pointer.\n\t\t * @default false\n\t\t */\n\t\t@property({ type: Boolean, reflect: true })\n\t\tclickable = false\n\t}\n\treturn SurfaceMixinClass as Constructor<ISurfaceMixin> & T\n}\n"],"mappings":";;;AAWA,IA4Ta,IAAgB,CAAG;GA5TC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqNH,CAAG;;;;;;;;;;;;GAgBA,CAAG;;;;;;;;;;;;;;;;;;;;GAyBD,CAAG;;;;;;;;;;;;;;;;;;;;;;GA0BH,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GCxP5B,KAAmD,MAAA;CAC/D,MAAM,UAA0B,EAAA;EAAA,YAAA,GAAA,GAAA;AAAA,SAAA,GAAA,EAAA,EAAA,KAAA,OAiBH,QAAA,KAAA,UAOM,QAAA,KAAA,YAOI,GAAA,KAAA,OAOhB,UAAA,KAAA,YAAA,CAOV;;EAxCZ,OAAA,eAAgC,GAAA;AAI/B,UAAO,CAAA,GAFe,EAA4C,eAAe,EAAA,EAExD,EAAA;;;AAsC3B,QAAA,EAAA,CA/BE,EAAS;EAAE,MAAM;EAAQ,SAAA,CAAS;EAAA,CAAA,CAAA,EAAO,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAOzC,EAAS,EAAE,SAAA,CAAS,GAAA,CAAA,CAAA,EAAO,EAAA,WAAA,WAAA,KAAA,EAAA,EAAA,EAAA,CAO3B,EAAS;EAAE,MAAM;EAAQ,SAAA,CAAS;EAAA,CAAA,CAAA,EAAO,EAAA,WAAA,aAAA,KAAA,EAAA,EAAA,EAAA,CAOzC,EAAS,EAAE,SAAA,CAAS,GAAA,CAAA,CAAA,EAAO,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAO3B,EAAS;EAAE,MAAM;EAAS,SAAA,CAAS;EAAA,CAAA,CAAA,EAAO,EAAA,WAAA,aAAA,KAAA,EAAA,EAGrC;;AAAA,SAAA"}
1
+ {"version":3,"file":"surface.mixin-DqMwoddO.js","names":[],"sources":["../src/surface/surface.styles.ts","../mixins/surface.mixin.ts"],"sourcesContent":["import { css } from 'lit'\n\n/**\n * Luminous Glass surface type styles.\n *\n * Depth model: blur intensity + opacity replaces M3 tonal hierarchy.\n * - solid: opaque ground (0 blur, 100% opacity)\n * - subtle: frosted panel (4px blur, ~72% opacity)\n * - glass: full frosted glass (20px blur, ~55% opacity)\n * - luminous: glass + glow halo (24px blur, ~22% opacity)\n */\nexport const surfaceTypeStyles = css`\n\t/* ================================================================\n\t STRUCTURAL TYPES — All-glass depth model.\n\t Nothing is opaque. Every layer is translucent.\n\t Blur creates readability. Light borders isolate layers.\n\t Rule: text must ALWAYS be readable on every surface.\n\t ================================================================ */\n\n\t/* Solid — dense glass, high readability ground layer (no blur — 92% opacity is enough) */\n\t:host([type='solid']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 92%, transparent);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 4%, transparent);\n\t}\n\n\t/* Subtle — frosted glass, clearly readable */\n\t:host([type='subtle']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-container);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 78%, transparent);\n\t\tbackdrop-filter: blur(8px) saturate(130%);\n\t\t-webkit-backdrop-filter: blur(8px) saturate(130%);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 7%, transparent);\n\t\tbox-shadow: inset 0 1px 0 color-mix(in srgb, var(--glass-tint) 5%, transparent);\n\t}\n\n\t/* Glass — frosted glass, blur ensures readability */\n\t:host([type='glass']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\t--glass-border: color-mix(in srgb, var(--glass-tint) 10%, transparent);\n\t\t--glass-border-highlight: color-mix(in srgb, var(--glass-tint) 18%, transparent);\n\n\t\tbackground: color-mix(in srgb, var(--glass-base) 55%, transparent);\n\t\tbackdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\t-webkit-backdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--glass-border);\n\t\tborder-top-color: var(--glass-border-highlight);\n\t\tborder-left-color: var(--glass-border-highlight);\n\t\tbox-shadow:\n\t\t\t0 4px 24px color-mix(in srgb, black 10%, transparent),\n\t\t\tinset 0 1px 0 color-mix(in srgb, var(--glass-tint) 8%, transparent),\n\t\t\tinset 0 -1px 0 color-mix(in srgb, black 3%, transparent);\n\t\tcontain: content;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tisolation: isolate;\n\t}\n\n\t/* Luminous — glass + glow halo, heavy blur keeps readability */\n\t:host([type='luminous']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\t--glow-color: var(--schmancy-sys-color-primary-default);\n\t\t--glass-border: color-mix(in srgb, var(--glass-tint) 12%, transparent);\n\t\t--glass-border-highlight: color-mix(in srgb, var(--glass-tint) 22%, transparent);\n\n\t\tbackground: color-mix(in srgb, var(--glass-base) 42%, transparent);\n\t\tbackdrop-filter: blur(20px) saturate(200%) brightness(1.08);\n\t\t-webkit-backdrop-filter: blur(20px) saturate(200%) brightness(1.08);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--glass-border);\n\t\tborder-top-color: var(--glass-border-highlight);\n\t\tborder-left-color: var(--glass-border-highlight);\n\t\tbox-shadow:\n\t\t\t0 8px 40px -4px color-mix(in srgb, var(--glow-color) 20%, transparent),\n\t\t\t0 2px 16px color-mix(in srgb, black 8%, transparent),\n\t\t\tinset 0 1px 0 color-mix(in srgb, var(--glass-tint) 10%, transparent);\n\t\tcontain: content;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tisolation: isolate;\n\t}\n\n\t/* ================================================================\n\t UTILITY TYPES\n\t ================================================================ */\n\n\t/* Transparent — no background */\n\t:host([type='transparent']) {\n\t\tbackground-color: transparent;\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\n\t/* Outlined — border with luminous hover potential */\n\t:host([type='outlined']) {\n\t\tbackground-color: transparent;\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n\t\ttransition: border-color 300ms ease, box-shadow 300ms ease;\n\t}\n\n\t/* ================================================================\n\t SEMANTIC TYPES — tinted glass for status/role\n\t ================================================================ */\n\n\t:host([type='primary']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-primary-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-primary-default);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t}\n\t:host([type='secondary']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-secondary-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-secondary-default);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-secondary-default) 20%, transparent);\n\t}\n\t:host([type='tertiary']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-tertiary-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-tertiary-default);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-tertiary-default) 20%, transparent);\n\t}\n\t:host([type='error']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-error-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-error-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-error-default) 25%, transparent);\n\t}\n\t:host([type='success']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-success-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-success-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-success-default) 25%, transparent);\n\t}\n\t:host([type='warning']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-warning-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-warning-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-warning-default) 25%, transparent);\n\t}\n\t:host([type='info']) {\n\t\tbackground: color-mix(in srgb, var(--schmancy-sys-color-info-default) 12%, transparent);\n\t\tbackdrop-filter: blur(4px) saturate(140%);\n\t\t-webkit-backdrop-filter: blur(4px) saturate(140%);\n\t\tcolor: var(--schmancy-sys-color-info-onContainer);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-info-default) 25%, transparent);\n\t}\n\n\t/* ================================================================\n\t LEGACY M3 ALIASES — backward compatibility\n\t Old type names render as their new Luminous Glass equivalents.\n\t ================================================================ */\n\n\t/* solid aliases — dense glass */\n\t:host([type='surface']),\n\t:host([type='surfaceDim']),\n\t:host([type='surfaceBright']),\n\t:host([type='containerLowest']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 92%, transparent);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 4%, transparent);\n\t}\n\n\t/* subtle aliases — frosted glass */\n\t:host([type='containerLow']),\n\t:host([type='container']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-container);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\tbackground: color-mix(in srgb, var(--glass-base) 78%, transparent);\n\t\tbackdrop-filter: blur(8px) saturate(130%);\n\t\t-webkit-backdrop-filter: blur(8px) saturate(130%);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--glass-tint) 7%, transparent);\n\t\tbox-shadow: inset 0 1px 0 color-mix(in srgb, var(--glass-tint) 5%, transparent);\n\t}\n\n\t/* glass aliases */\n\t:host([type='containerHigh']),\n\t:host([type='containerHighest']),\n\t:host([type='glassOforim']) {\n\t\t--glass-base: var(--schmancy-sys-color-surface-lowest);\n\t\t--glass-tint: var(--schmancy-sys-color-surface-on);\n\t\t--glass-border: color-mix(in srgb, var(--glass-tint) 10%, transparent);\n\t\t--glass-border-highlight: color-mix(in srgb, var(--glass-tint) 18%, transparent);\n\n\t\tbackground: color-mix(in srgb, var(--glass-base) 55%, transparent);\n\t\tbackdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\t-webkit-backdrop-filter: blur(16px) saturate(180%) brightness(1.05);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--glass-border);\n\t\tborder-top-color: var(--glass-border-highlight);\n\t\tborder-left-color: var(--glass-border-highlight);\n\t\tbox-shadow:\n\t\t\t0 4px 24px color-mix(in srgb, black 10%, transparent),\n\t\t\tinset 0 1px 0 color-mix(in srgb, var(--glass-tint) 8%, transparent),\n\t\t\tinset 0 -1px 0 color-mix(in srgb, black 3%, transparent);\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tisolation: isolate;\n\t}\n\n\t/* ================================================================\n\t REDUCED MOTION — disable glass animations\n\t ================================================================ */\n`\n\n/**\n * Surface fill styles - dimension control\n */\nexport const surfaceFillStyles = css`\n\t:host([fill='all']) {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t:host([fill='width']) {\n\t\twidth: 100%;\n\t}\n\t:host([fill='height']) {\n\t\theight: 100%;\n\t}\n`\n\n/**\n * Surface rounded corner styles\n */\nexport const surfaceRoundedStyles = css`\n\t:host([rounded='none']) {\n\t\tborder-radius: 0;\n\t}\n\t:host([rounded='top']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large) 0 0;\n\t}\n\t:host([rounded='left']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-large) 0 0 var(--schmancy-sys-shape-corner-large);\n\t}\n\t:host([rounded='right']) {\n\t\tborder-radius: 0 var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large) 0;\n\t}\n\t:host([rounded='bottom']) {\n\t\tborder-radius: 0 0 var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large);\n\t}\n\t:host([rounded='all']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-large);\n\t}\n`\n\n/**\n * Luminous glow elevation — replaces M3 dark drop shadows with primary-colored glow.\n * No ::after tint overlay — depth comes from glow intensity, not surface tint.\n */\nexport const surfaceElevationStyles = css`\n\t:host([elevation='1']) {\n\t\tbox-shadow: 0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='2']) {\n\t\tbox-shadow: 0 4px 20px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 22%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='3']) {\n\t\tbox-shadow: 0 8px 32px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 28%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='4']) {\n\t\tbox-shadow: 0 12px 44px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 35%, transparent);\n\t\tposition: relative;\n\t}\n\t:host([elevation='5']) {\n\t\tbox-shadow: 0 20px 60px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 42%, transparent);\n\t\tposition: relative;\n\t}\n`\n\n/**\n * Surface clickable styles - luminous hover, spring active\n */\nexport const surfaceClickableStyles = css`\n\t:host([clickable]) {\n\t\tcursor: pointer;\n\t\tuser-select: none;\n\t\t-webkit-tap-highlight-color: transparent;\n\t\ttransition:\n\t\t\tfilter 200ms ease,\n\t\t\ttransform 300ms cubic-bezier(0.34, 1.56, 0.64, 1),\n\t\t\tbox-shadow 400ms ease;\n\t}\n\t:host([clickable]:hover) {\n\t\tfilter: brightness(1.03);\n\t\ttransform: translateY(-1px);\n\t\tbox-shadow: 0 4px 20px -6px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);\n\t}\n\t:host([clickable]:active) {\n\t\tfilter: brightness(0.96);\n\t\ttransform: scale(0.97);\n\t\tbox-shadow: none;\n\t\ttransition-duration: 100ms;\n\t}\n\t:host([clickable]:focus-visible) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: 2px;\n\t\tbox-shadow: 0 0 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t}\n\t@media (prefers-reduced-motion: reduce) {\n\t\t:host([clickable]) { transition: filter 150ms ease; }\n\t\t:host([clickable]:hover) { transform: none; box-shadow: none; }\n\t\t:host([clickable]:active) { transform: none; }\n\t}\n`\n\n/**\n * Combined surface styles - includes all surface styling capabilities\n */\nexport const surfaceStyles = css`\n\t${surfaceTypeStyles}\n\t${surfaceFillStyles}\n\t${surfaceRoundedStyles}\n\t${surfaceElevationStyles}\n\t${surfaceClickableStyles}\n`\n","import type { Constructor } from './constructor'\nimport { CSSResultGroup, CSSResultOrNative, LitElement } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport type { TSurfaceColor } from '../src/types/surface'\nimport { surfaceStyles } from '../src/surface/surface.styles'\n\nexport type SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto'\nexport type SchmancySurfaceRounded = 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all'\nexport type SchmancySurfaceElevation = 0 | 1 | 2 | 3 | 4 | 5\n\nexport declare class ISurfaceMixin {\n\tfill: SchmancySurfaceFill\n\trounded: SchmancySurfaceRounded\n\televation: SchmancySurfaceElevation\n\ttype: TSurfaceColor\n\tclickable: boolean\n}\n\n/**\n * SurfaceMixin - Adds surface styling properties AND styles to any LitElement\n *\n * Uses Lit's finalizeStyles hook to inject surfaceStyles CSS for all surface type selectors.\n * This is the recommended pattern for mixins that need to add styles.\n *\n * Provides these reflected properties:\n * - `fill`: 'all' | 'width' | 'height' | 'auto' - Controls element dimensions\n * - `rounded`: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' - Corner rounding\n * - `elevation`: 0-5 - Shadow depth level\n * - `type`: TSurfaceColor - Surface color variant (26+ options)\n *\n * Usage:\n * ```typescript\n * import { SurfaceMixin } from '@mixins/surface.mixin'\n *\n * @customElement('my-component')\n * class MyComponent extends SurfaceMixin(TailwindElement(css`\n * :host { display: block; }\n * `)) {\n * // Component now has type, fill, rounded, elevation properties\n * // AND surfaceStyles are automatically included\n * }\n * ```\n */\nexport const SurfaceMixin = <T extends Constructor<LitElement>>(superClass: T) => {\n\tclass SurfaceMixinClass extends superClass {\n\t\t/**\n\t\t * Override finalizeStyles to inject surfaceStyles.\n\t\t * This is the Lit-recommended way for mixins to add styles.\n\t\t */\n\t\tprotected static finalizeStyles(styles?: CSSResultGroup): CSSResultOrNative[] {\n\t\t\t// Get parent's finalized styles using LitElement's method\n\t\t\tconst parentStyles = (superClass as unknown as typeof LitElement).finalizeStyles(styles)\n\t\t\t// Append surfaceStyles at the end (higher specificity)\n\t\t\treturn [...parentStyles, surfaceStyles as CSSResultOrNative]\n\t\t}\n\n\t\t/**\n\t\t * Fill the width and/or height of the parent container.\n\t\t * @default 'auto'\n\t\t */\n\t\t@property({ type: String, reflect: true })\n\t\tfill: SchmancySurfaceFill = 'auto'\n\n\t\t/**\n\t\t * Specifies the rounding style of the component's corners.\n\t\t * @default 'none'\n\t\t */\n\t\t@property({ reflect: true })\n\t\trounded: SchmancySurfaceRounded = 'none'\n\n\t\t/**\n\t\t * Defines the elevation level (shadow depth) of the surface.\n\t\t * @default 0\n\t\t */\n\t\t@property({ type: Number, reflect: true })\n\t\televation: SchmancySurfaceElevation = 0\n\n\t\t/**\n\t\t * Specifies the surface type for styling.\n\t\t * @default 'container'\n\t\t */\n\t\t@property({ reflect: true })\n\t\ttype: TSurfaceColor = 'subtle'\n\n\t\t/**\n\t\t * Makes the surface interactive with hover, active states and cursor pointer.\n\t\t * @default false\n\t\t */\n\t\t@property({ type: Boolean, reflect: true })\n\t\tclickable = false\n\t}\n\treturn SurfaceMixinClass as Constructor<ISurfaceMixin> & T\n}\n"],"mappings":";;;AAWA,IA4Ta,IAAgB,CAAG;GA5TC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqNH,CAAG;;;;;;;;;;;;GAgBA,CAAG;;;;;;;;;;;;;;;;;;;;GAyBD,CAAG;;;;;;;;;;;;;;;;;;;;;;GA0BH,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GCxP5B,KAAmD,MAAA;CAC/D,MAAM,UAA0B,EAAA;EAAA,YAAA,GAAA,GAAA;AAAA,SAAA,GAAA,EAAA,EAAA,KAAA,OAiBH,QAAA,KAAA,UAOM,QAAA,KAAA,YAOI,GAAA,KAAA,OAOhB,UAAA,KAAA,YAAA,CAOV;;EAxCZ,OAAA,eAAgC,GAAA;AAI/B,UAAO,CAAA,GAFe,EAA4C,eAAe,EAAA,EAExD,EAAA;;;AAsC3B,QAAA,EAAA,CA/BE,EAAS;EAAE,MAAM;EAAQ,SAAA,CAAS;EAAA,CAAA,CAAA,EAAO,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAOzC,EAAS,EAAE,SAAA,CAAS,GAAA,CAAA,CAAA,EAAO,EAAA,WAAA,WAAA,KAAA,EAAA,EAAA,EAAA,CAO3B,EAAS;EAAE,MAAM;EAAQ,SAAA,CAAS;EAAA,CAAA,CAAA,EAAO,EAAA,WAAA,aAAA,KAAA,EAAA,EAAA,EAAA,CAOzC,EAAS,EAAE,SAAA,CAAS,GAAA,CAAA,CAAA,EAAO,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAO3B,EAAS;EAAE,MAAM;EAAS,SAAA,CAAS;EAAA,CAAA,CAAA,EAAO,EAAA,WAAA,aAAA,KAAA,EAAA,EAGrC;;AAAA,SAAA"}
@@ -0,0 +1,69 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-Cpa-VnnX.cjs`),t=require(`./decorate-F9CuyeHg.cjs`);require(`./mixins.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`);var i=class extends e.t(r.css`
2
+ :host {
3
+ display: inline-block;
4
+ }
5
+ :host([disabled]) {
6
+ opacity: 0.38;
7
+ pointer-events: none;
8
+ }
9
+ button {
10
+ appearance: none;
11
+ background: none;
12
+ border: 0;
13
+ padding: 0;
14
+ cursor: pointer;
15
+ font: inherit;
16
+ }
17
+ .track {
18
+ width: 2.25rem;
19
+ height: 1.25rem;
20
+ border-radius: 999px;
21
+ background: var(--schmancy-sys-color-surface-containerHighest, #e0e0e0);
22
+ border: 1px solid var(--schmancy-sys-color-outline, #79747e);
23
+ position: relative;
24
+ transition: background 150ms ease, border-color 150ms ease;
25
+ }
26
+ :host(:state(checked)) .track {
27
+ background: var(--schmancy-sys-color-primary-default, #6750a4);
28
+ border-color: var(--schmancy-sys-color-primary-default, #6750a4);
29
+ }
30
+ .thumb {
31
+ position: absolute;
32
+ top: 50%;
33
+ left: 0.125rem;
34
+ width: 0.75rem;
35
+ height: 0.75rem;
36
+ border-radius: 999px;
37
+ background: var(--schmancy-sys-color-outline, #79747e);
38
+ transform: translateY(-50%);
39
+ transition: transform 150ms ease, background 150ms ease, width 150ms ease, height 150ms ease;
40
+ }
41
+ :host(:state(checked)) .thumb {
42
+ transform: translate(1rem, -50%);
43
+ width: 1rem;
44
+ height: 1rem;
45
+ background: var(--schmancy-sys-color-primary-on, #ffffff);
46
+ }
47
+ button:focus-visible .track {
48
+ outline: 2px solid var(--schmancy-sys-color-primary-default, #6750a4);
49
+ outline-offset: 2px;
50
+ }
51
+ @media (prefers-reduced-motion: reduce) {
52
+ .track, .thumb { transition: none; }
53
+ }
54
+ `){static{this.formAssociated=!0}static{this.shadowRootOptions={...r.LitElement.shadowRootOptions,delegatesFocus:!0}}constructor(){super(),this.checked=!1,this.disabled=!1,this.required=!1,this.name=``,this.value=`on`,this.label=``,this._toggle=()=>{this.disabled||(this.checked=!this.checked,this.dispatchEvent(new CustomEvent(`change`,{detail:{value:this.checked},bubbles:!0,composed:!0})))},this._onKeydown=e=>{e.key!==` `&&e.key!==`Enter`||(e.preventDefault(),this._toggle())};try{this.internals=this.attachInternals()}catch{this.internals=void 0}}get form(){return this.internals?.form??null}updated(e){super.updated?.(e),(e.has(`checked`)||e.has(`value`)||e.has(`name`))&&(this.internals?.setFormValue(this.checked?this.value:null),this.checked?this.internals?.states.add(`checked`):this.internals?.states.delete(`checked`)),(e.has(`required`)||e.has(`checked`))&&(this.required&&!this.checked?this.internals?.setValidity({valueMissing:!0},`This switch is required.`):this.internals?.setValidity({}))}formResetCallback(){this.checked=this.hasAttribute(`checked`)}formDisabledCallback(e){this.disabled=e}checkValidity(){return this.internals?.checkValidity()??!0}reportValidity(){return this.internals?.reportValidity()??!0}render(){return r.html`
55
+ <button
56
+ type="button"
57
+ role="switch"
58
+ aria-checked=${this.checked?`true`:`false`}
59
+ aria-label=${this.label||r.nothing}
60
+ aria-required=${this.required?`true`:`false`}
61
+ ?disabled=${this.disabled}
62
+ @click=${this._toggle}
63
+ @keydown=${this._onKeydown}
64
+ >
65
+ <span part="track" class="track">
66
+ <span part="thumb" class="thumb"></span>
67
+ </span>
68
+ </button>
69
+ `}};t.t([(0,n.property)({type:Boolean,reflect:!0})],i.prototype,`checked`,void 0),t.t([(0,n.property)({type:Boolean,reflect:!0})],i.prototype,`disabled`,void 0),t.t([(0,n.property)({type:Boolean,reflect:!0})],i.prototype,`required`,void 0),t.t([(0,n.property)({type:String})],i.prototype,`name`,void 0),t.t([(0,n.property)({type:String})],i.prototype,`value`,void 0),t.t([(0,n.property)({type:String})],i.prototype,`label`,void 0),i=t.t([(0,n.customElement)(`schmancy-switch`)],i),Object.defineProperty(exports,`SchmancySwitch`,{enumerable:!0,get:function(){return i}});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.cjs","names":[],"sources":["../src/switch/switch.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type SchmancySwitchChangeEvent = CustomEvent<{ value: boolean }>\n\n/**\n * Binary on/off control. Form-associated, keyboard-accessible, semantically a\n * switch (ARIA role=\"switch\"). Distinct from `schmancy-checkbox`: a switch\n * represents an immediate state change, a checkbox represents a selection in\n * a form to be submitted.\n *\n * @element schmancy-switch\n * @fires change - `CustomEvent<{ value: boolean }>` when the state changes.\n * @attr checked - Initial checked state (also reflected via `value`).\n * @attr disabled - Disables interaction.\n * @attr required - Requires the switch to be on for form validity.\n * @attr name - Form field name for submission.\n * @csspart track - The background track.\n * @csspart thumb - The moving thumb.\n */\n@customElement('schmancy-switch')\nexport class SchmancySwitch extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\t:host([disabled]) {\n\t\topacity: 0.38;\n\t\tpointer-events: none;\n\t}\n\tbutton {\n\t\tappearance: none;\n\t\tbackground: none;\n\t\tborder: 0;\n\t\tpadding: 0;\n\t\tcursor: pointer;\n\t\tfont: inherit;\n\t}\n\t.track {\n\t\twidth: 2.25rem;\n\t\theight: 1.25rem;\n\t\tborder-radius: 999px;\n\t\tbackground: var(--schmancy-sys-color-surface-containerHighest, #e0e0e0);\n\t\tborder: 1px solid var(--schmancy-sys-color-outline, #79747e);\n\t\tposition: relative;\n\t\ttransition: background 150ms ease, border-color 150ms ease;\n\t}\n\t:host(:state(checked)) .track {\n\t\tbackground: var(--schmancy-sys-color-primary-default, #6750a4);\n\t\tborder-color: var(--schmancy-sys-color-primary-default, #6750a4);\n\t}\n\t.thumb {\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tleft: 0.125rem;\n\t\twidth: 0.75rem;\n\t\theight: 0.75rem;\n\t\tborder-radius: 999px;\n\t\tbackground: var(--schmancy-sys-color-outline, #79747e);\n\t\ttransform: translateY(-50%);\n\t\ttransition: transform 150ms ease, background 150ms ease, width 150ms ease, height 150ms ease;\n\t}\n\t:host(:state(checked)) .thumb {\n\t\ttransform: translate(1rem, -50%);\n\t\twidth: 1rem;\n\t\theight: 1rem;\n\t\tbackground: var(--schmancy-sys-color-primary-on, #ffffff);\n\t}\n\tbutton:focus-visible .track {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default, #6750a4);\n\t\toutline-offset: 2px;\n\t}\n\t@media (prefers-reduced-motion: reduce) {\n\t\t.track, .thumb { transition: none; }\n\t}\n`) {\n\tstatic formAssociated = true\n\tprivate internals: ElementInternals | undefined\n\n\t@property({ type: Boolean, reflect: true }) checked = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: String }) name = ''\n\t@property({ type: String }) value = 'on'\n\t@property({ type: String }) label = ''\n\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\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}\n\n\tget form(): HTMLFormElement | null {\n\t\treturn this.internals?.form ?? null\n\t}\n\n\tprotected updated(changed: Map<string, unknown>) {\n\t\tsuper.updated?.(changed)\n\t\tif (changed.has('checked') || changed.has('value') || changed.has('name')) {\n\t\t\tthis.internals?.setFormValue(this.checked ? this.value : null)\n\t\t\tif (this.checked) this.internals?.states.add('checked')\n\t\t\telse this.internals?.states.delete('checked')\n\t\t}\n\t\tif (changed.has('required') || changed.has('checked')) {\n\t\t\tif (this.required && !this.checked) {\n\t\t\t\tthis.internals?.setValidity({ valueMissing: true }, 'This switch is required.')\n\t\t\t} else {\n\t\t\t\tthis.internals?.setValidity({})\n\t\t\t}\n\t\t}\n\t}\n\n\tformResetCallback() {\n\t\tthis.checked = this.hasAttribute('checked')\n\t}\n\n\tformDisabledCallback(disabled: boolean) {\n\t\tthis.disabled = disabled\n\t}\n\n\tpublic checkValidity(): boolean {\n\t\treturn this.internals?.checkValidity() ?? true\n\t}\n\n\tpublic reportValidity(): boolean {\n\t\treturn this.internals?.reportValidity() ?? true\n\t}\n\n\tprivate _toggle = () => {\n\t\tif (this.disabled) return\n\t\tthis.checked = !this.checked\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('change', {\n\t\t\t\tdetail: { value: this.checked },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate _onKeydown = (e: KeyboardEvent) => {\n\t\tif (e.key === ' ' || e.key === 'Enter') {\n\t\t\te.preventDefault()\n\t\t\tthis._toggle()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"switch\"\n\t\t\t\taria-checked=${this.checked ? 'true' : 'false'}\n\t\t\t\taria-label=${this.label || nothing}\n\t\t\t\taria-required=${this.required ? 'true' : 'false'}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t@click=${this._toggle}\n\t\t\t\t@keydown=${this._onKeydown}\n\t\t\t>\n\t\t\t\t<span part=\"track\" class=\"track\">\n\t\t\t\t\t<span part=\"thumb\" class=\"thumb\"></span>\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-switch': SchmancySwitch\n\t}\n}\n"],"mappings":"qQAsBO,IAAA,EAAA,cAA6B,EAAA,EAAgB,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAsD9B,EAAA,OAAA,KAAA,kBAUa,CAAA,GACjC,EAAA,WAAW,kBACd,eAAA,CAAgB,EAAA,CAGjB,aAAA,CACC,OAAA,CAAA,KAAA,QAAA,CAbqD,EAAA,KAAA,SAAA,CACC,EAAA,KAAA,SAAA,CACA,EAAA,KAAA,KACpB,GAAA,KAAA,MACC,KAAA,KAAA,MACA,GAAA,KAAA,YAAA,CAqD/B,KAAK,WACT,KAAK,QAAA,CAAW,KAAK,QACrB,KAAK,cACJ,IAAI,YAAY,SAAU,CACzB,OAAQ,CAAE,MAAO,KAAK,QAAA,CACtB,QAAA,CAAS,EACT,SAAA,CAAU,EAAA,CAAA,CAAA,GAAA,KAAA,WAKS,GAAA,CACjB,EAAE,MAAQ,KAAO,EAAE,MAAQ,UAC9B,EAAE,gBAAA,CACF,KAAK,SAAA,GA1DN,GAAA,CACC,KAAK,UAAY,KAAK,iBAAA,MAAA,CAEtB,KAAK,UAAA,IAAY,IAInB,IAAA,MAAI,CACH,OAAO,KAAK,WAAW,MAAQ,KAGhC,QAAkB,EAAA,CACjB,MAAM,UAAU,EAAA,EACZ,EAAQ,IAAI,UAAA,EAAc,EAAQ,IAAI,QAAA,EAAY,EAAQ,IAAI,OAAA,IACjE,KAAK,WAAW,aAAa,KAAK,QAAU,KAAK,MAAQ,KAAA,CACrD,KAAK,QAAS,KAAK,WAAW,OAAO,IAAI,UAAA,CACxC,KAAK,WAAW,OAAO,OAAO,UAAA,GAEhC,EAAQ,IAAI,WAAA,EAAe,EAAQ,IAAI,UAAA,IACtC,KAAK,UAAA,CAAa,KAAK,QAC1B,KAAK,WAAW,YAAY,CAAE,aAAA,CAAc,EAAA,CAAQ,2BAAA,CAEpD,KAAK,WAAW,YAAY,EAAA,CAAA,EAK/B,mBAAA,CACC,KAAK,QAAU,KAAK,aAAa,UAAA,CAGlC,qBAAqB,EAAA,CACpB,KAAK,SAAW,EAGjB,eAAA,CACC,OAAO,KAAK,WAAW,eAAA,EAAA,CAAmB,EAG3C,gBAAA,CACC,OAAO,KAAK,WAAW,gBAAA,EAAA,CAAoB,EAsB5C,QAAA,CACC,MAAO,GAAA,IAAI;;;;mBAIM,KAAK,QAAU,OAAS,QAAA;iBAC1B,KAAK,OAAS,EAAA,QAAA;oBACX,KAAK,SAAW,OAAS,QAAA;gBAC7B,KAAK,SAAA;aACR,KAAK,QAAA;eACH,KAAK,WAAA;;;;;;0BAtFT,CAAE,KAAM,QAAS,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,UAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjC,CAAE,KAAM,QAAS,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,WAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjC,CAAE,KAAM,QAAS,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,WAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjC,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,QAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,QAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eA/Db,kBAAA,CAAA,CAAkB,EAAA,CAAA,OAAA,eAAA,QAAA,iBAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
package/dist/switch.js ADDED
@@ -0,0 +1,132 @@
1
+ import { t as e } from "./tailwind.mixin-DufHBjmb.js";
2
+ import { t } from "./decorate-D_utPUsC.js";
3
+ import "./mixins.js";
4
+ import { customElement as n, property as r } from "lit/decorators.js";
5
+ import { LitElement as i, css as a, html as o, nothing as s } from "lit";
6
+ var c = class extends e(a`
7
+ :host {
8
+ display: inline-block;
9
+ }
10
+ :host([disabled]) {
11
+ opacity: 0.38;
12
+ pointer-events: none;
13
+ }
14
+ button {
15
+ appearance: none;
16
+ background: none;
17
+ border: 0;
18
+ padding: 0;
19
+ cursor: pointer;
20
+ font: inherit;
21
+ }
22
+ .track {
23
+ width: 2.25rem;
24
+ height: 1.25rem;
25
+ border-radius: 999px;
26
+ background: var(--schmancy-sys-color-surface-containerHighest, #e0e0e0);
27
+ border: 1px solid var(--schmancy-sys-color-outline, #79747e);
28
+ position: relative;
29
+ transition: background 150ms ease, border-color 150ms ease;
30
+ }
31
+ :host(:state(checked)) .track {
32
+ background: var(--schmancy-sys-color-primary-default, #6750a4);
33
+ border-color: var(--schmancy-sys-color-primary-default, #6750a4);
34
+ }
35
+ .thumb {
36
+ position: absolute;
37
+ top: 50%;
38
+ left: 0.125rem;
39
+ width: 0.75rem;
40
+ height: 0.75rem;
41
+ border-radius: 999px;
42
+ background: var(--schmancy-sys-color-outline, #79747e);
43
+ transform: translateY(-50%);
44
+ transition: transform 150ms ease, background 150ms ease, width 150ms ease, height 150ms ease;
45
+ }
46
+ :host(:state(checked)) .thumb {
47
+ transform: translate(1rem, -50%);
48
+ width: 1rem;
49
+ height: 1rem;
50
+ background: var(--schmancy-sys-color-primary-on, #ffffff);
51
+ }
52
+ button:focus-visible .track {
53
+ outline: 2px solid var(--schmancy-sys-color-primary-default, #6750a4);
54
+ outline-offset: 2px;
55
+ }
56
+ @media (prefers-reduced-motion: reduce) {
57
+ .track, .thumb { transition: none; }
58
+ }
59
+ `) {
60
+ static {
61
+ this.formAssociated = !0;
62
+ }
63
+ static {
64
+ this.shadowRootOptions = {
65
+ ...i.shadowRootOptions,
66
+ delegatesFocus: !0
67
+ };
68
+ }
69
+ constructor() {
70
+ super(), this.checked = !1, this.disabled = !1, this.required = !1, this.name = "", this.value = "on", this.label = "", this._toggle = () => {
71
+ this.disabled || (this.checked = !this.checked, this.dispatchEvent(new CustomEvent("change", {
72
+ detail: { value: this.checked },
73
+ bubbles: !0,
74
+ composed: !0
75
+ })));
76
+ }, this._onKeydown = (e) => {
77
+ e.key !== " " && e.key !== "Enter" || (e.preventDefault(), this._toggle());
78
+ };
79
+ try {
80
+ this.internals = this.attachInternals();
81
+ } catch {
82
+ this.internals = void 0;
83
+ }
84
+ }
85
+ get form() {
86
+ return this.internals?.form ?? null;
87
+ }
88
+ updated(e) {
89
+ super.updated?.(e), (e.has("checked") || e.has("value") || e.has("name")) && (this.internals?.setFormValue(this.checked ? this.value : null), this.checked ? this.internals?.states.add("checked") : this.internals?.states.delete("checked")), (e.has("required") || e.has("checked")) && (this.required && !this.checked ? this.internals?.setValidity({ valueMissing: !0 }, "This switch is required.") : this.internals?.setValidity({}));
90
+ }
91
+ formResetCallback() {
92
+ this.checked = this.hasAttribute("checked");
93
+ }
94
+ formDisabledCallback(e) {
95
+ this.disabled = e;
96
+ }
97
+ checkValidity() {
98
+ return this.internals?.checkValidity() ?? !0;
99
+ }
100
+ reportValidity() {
101
+ return this.internals?.reportValidity() ?? !0;
102
+ }
103
+ render() {
104
+ return o`
105
+ <button
106
+ type="button"
107
+ role="switch"
108
+ aria-checked=${this.checked ? "true" : "false"}
109
+ aria-label=${this.label || s}
110
+ aria-required=${this.required ? "true" : "false"}
111
+ ?disabled=${this.disabled}
112
+ @click=${this._toggle}
113
+ @keydown=${this._onKeydown}
114
+ >
115
+ <span part="track" class="track">
116
+ <span part="thumb" class="thumb"></span>
117
+ </span>
118
+ </button>
119
+ `;
120
+ }
121
+ };
122
+ t([r({
123
+ type: Boolean,
124
+ reflect: !0
125
+ })], c.prototype, "checked", void 0), t([r({
126
+ type: Boolean,
127
+ reflect: !0
128
+ })], c.prototype, "disabled", void 0), t([r({
129
+ type: Boolean,
130
+ reflect: !0
131
+ })], c.prototype, "required", void 0), t([r({ type: String })], c.prototype, "name", void 0), t([r({ type: String })], c.prototype, "value", void 0), t([r({ type: String })], c.prototype, "label", void 0), c = t([n("schmancy-switch")], c);
132
+ export { c as SchmancySwitch };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","names":[],"sources":["../src/switch/switch.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type SchmancySwitchChangeEvent = CustomEvent<{ value: boolean }>\n\n/**\n * Binary on/off control. Form-associated, keyboard-accessible, semantically a\n * switch (ARIA role=\"switch\"). Distinct from `schmancy-checkbox`: a switch\n * represents an immediate state change, a checkbox represents a selection in\n * a form to be submitted.\n *\n * @element schmancy-switch\n * @fires change - `CustomEvent<{ value: boolean }>` when the state changes.\n * @attr checked - Initial checked state (also reflected via `value`).\n * @attr disabled - Disables interaction.\n * @attr required - Requires the switch to be on for form validity.\n * @attr name - Form field name for submission.\n * @csspart track - The background track.\n * @csspart thumb - The moving thumb.\n */\n@customElement('schmancy-switch')\nexport class SchmancySwitch extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\t:host([disabled]) {\n\t\topacity: 0.38;\n\t\tpointer-events: none;\n\t}\n\tbutton {\n\t\tappearance: none;\n\t\tbackground: none;\n\t\tborder: 0;\n\t\tpadding: 0;\n\t\tcursor: pointer;\n\t\tfont: inherit;\n\t}\n\t.track {\n\t\twidth: 2.25rem;\n\t\theight: 1.25rem;\n\t\tborder-radius: 999px;\n\t\tbackground: var(--schmancy-sys-color-surface-containerHighest, #e0e0e0);\n\t\tborder: 1px solid var(--schmancy-sys-color-outline, #79747e);\n\t\tposition: relative;\n\t\ttransition: background 150ms ease, border-color 150ms ease;\n\t}\n\t:host(:state(checked)) .track {\n\t\tbackground: var(--schmancy-sys-color-primary-default, #6750a4);\n\t\tborder-color: var(--schmancy-sys-color-primary-default, #6750a4);\n\t}\n\t.thumb {\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tleft: 0.125rem;\n\t\twidth: 0.75rem;\n\t\theight: 0.75rem;\n\t\tborder-radius: 999px;\n\t\tbackground: var(--schmancy-sys-color-outline, #79747e);\n\t\ttransform: translateY(-50%);\n\t\ttransition: transform 150ms ease, background 150ms ease, width 150ms ease, height 150ms ease;\n\t}\n\t:host(:state(checked)) .thumb {\n\t\ttransform: translate(1rem, -50%);\n\t\twidth: 1rem;\n\t\theight: 1rem;\n\t\tbackground: var(--schmancy-sys-color-primary-on, #ffffff);\n\t}\n\tbutton:focus-visible .track {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default, #6750a4);\n\t\toutline-offset: 2px;\n\t}\n\t@media (prefers-reduced-motion: reduce) {\n\t\t.track, .thumb { transition: none; }\n\t}\n`) {\n\tstatic formAssociated = true\n\tprivate internals: ElementInternals | undefined\n\n\t@property({ type: Boolean, reflect: true }) checked = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: String }) name = ''\n\t@property({ type: String }) value = 'on'\n\t@property({ type: String }) label = ''\n\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\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}\n\n\tget form(): HTMLFormElement | null {\n\t\treturn this.internals?.form ?? null\n\t}\n\n\tprotected updated(changed: Map<string, unknown>) {\n\t\tsuper.updated?.(changed)\n\t\tif (changed.has('checked') || changed.has('value') || changed.has('name')) {\n\t\t\tthis.internals?.setFormValue(this.checked ? this.value : null)\n\t\t\tif (this.checked) this.internals?.states.add('checked')\n\t\t\telse this.internals?.states.delete('checked')\n\t\t}\n\t\tif (changed.has('required') || changed.has('checked')) {\n\t\t\tif (this.required && !this.checked) {\n\t\t\t\tthis.internals?.setValidity({ valueMissing: true }, 'This switch is required.')\n\t\t\t} else {\n\t\t\t\tthis.internals?.setValidity({})\n\t\t\t}\n\t\t}\n\t}\n\n\tformResetCallback() {\n\t\tthis.checked = this.hasAttribute('checked')\n\t}\n\n\tformDisabledCallback(disabled: boolean) {\n\t\tthis.disabled = disabled\n\t}\n\n\tpublic checkValidity(): boolean {\n\t\treturn this.internals?.checkValidity() ?? true\n\t}\n\n\tpublic reportValidity(): boolean {\n\t\treturn this.internals?.reportValidity() ?? true\n\t}\n\n\tprivate _toggle = () => {\n\t\tif (this.disabled) return\n\t\tthis.checked = !this.checked\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('change', {\n\t\t\t\tdetail: { value: this.checked },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate _onKeydown = (e: KeyboardEvent) => {\n\t\tif (e.key === ' ' || e.key === 'Enter') {\n\t\t\te.preventDefault()\n\t\t\tthis._toggle()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"switch\"\n\t\t\t\taria-checked=${this.checked ? 'true' : 'false'}\n\t\t\t\taria-label=${this.label || nothing}\n\t\t\t\taria-required=${this.required ? 'true' : 'false'}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t@click=${this._toggle}\n\t\t\t\t@keydown=${this._onKeydown}\n\t\t\t>\n\t\t\t\t<span part=\"track\" class=\"track\">\n\t\t\t\t\t<span part=\"thumb\" class=\"thumb\"></span>\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-switch': SchmancySwitch\n\t}\n}\n"],"mappings":";;;;;AAsBO,IAAA,IAAA,cAA6B,EAAgB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAsD9B;;CAAA;AAAA,OAAA,oBAUa;GAAA,GACjC,EAAW;GACd,gBAAA,CAAgB;GAAA;;CAGjB,cAAA;AACC,SAAA,EAAA,KAAA,UAAA,CAbqD,GAAA,KAAA,WAAA,CACC,GAAA,KAAA,WAAA,CACA,GAAA,KAAA,OACpB,IAAA,KAAA,QACC,MAAA,KAAA,QACA,IAAA,KAAA,gBAAA;AAqD/B,QAAK,aACT,KAAK,UAAA,CAAW,KAAK,SACrB,KAAK,cACJ,IAAI,YAAY,UAAU;IACzB,QAAQ,EAAE,OAAO,KAAK,SAAA;IACtB,SAAA,CAAS;IACT,UAAA,CAAU;IAAA,CAAA,CAAA;KAAA,KAAA,cAKS,MAAA;AACP,GAAV,EAAE,QAAQ,OAAO,EAAE,QAAQ,YAC9B,EAAE,gBAAA,EACF,KAAK,SAAA;;AA1DN,MAAA;AACC,QAAK,YAAY,KAAK,iBAAA;UAAA;AAEtB,QAAK,YAAA,KAAY;;;CAInB,IAAA,OAAI;AACH,SAAO,KAAK,WAAW,QAAQ;;CAGhC,QAAkB,GAAA;AACjB,QAAM,UAAU,EAAA,GACZ,EAAQ,IAAI,UAAA,IAAc,EAAQ,IAAI,QAAA,IAAY,EAAQ,IAAI,OAAA,MACjE,KAAK,WAAW,aAAa,KAAK,UAAU,KAAK,QAAQ,KAAA,EACrD,KAAK,UAAS,KAAK,WAAW,OAAO,IAAI,UAAA,GACxC,KAAK,WAAW,OAAO,OAAO,UAAA,IAEhC,EAAQ,IAAI,WAAA,IAAe,EAAQ,IAAI,UAAA,MACtC,KAAK,YAAA,CAAa,KAAK,UAC1B,KAAK,WAAW,YAAY,EAAE,cAAA,CAAc,GAAA,EAAQ,2BAAA,GAEpD,KAAK,WAAW,YAAY,EAAA,CAAA;;CAK/B,oBAAA;AACC,OAAK,UAAU,KAAK,aAAa,UAAA;;CAGlC,qBAAqB,GAAA;AACpB,OAAK,WAAW;;CAGjB,gBAAA;AACC,SAAO,KAAK,WAAW,eAAA,IAAA,CAAmB;;CAG3C,iBAAA;AACC,SAAO,KAAK,WAAW,gBAAA,IAAA,CAAoB;;CAsB5C,SAAA;AACC,SAAO,CAAI;;;;mBAIM,KAAK,UAAU,SAAS,QAAA;iBAC1B,KAAK,SAAS,EAAA;oBACX,KAAK,WAAW,SAAS,QAAA;gBAC7B,KAAK,SAAA;aACR,KAAK,QAAA;eACH,KAAK,WAAA;;;;;;;;;GAtFlB,EAAS;CAAE,MAAM;CAAS,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,WAAA,KAAA,EAAA,EAAA,EAAA,CAC1C,EAAS;CAAE,MAAM;CAAS,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,YAAA,KAAA,EAAA,EAAA,EAAA,CAC1C,EAAS;CAAE,MAAM;CAAS,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,YAAA,KAAA,EAAA,EAAA,EAAA,CAC1C,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAC1B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,SAAA,KAAA,EAAA,EAAA,EAAA,CAC1B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,SAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CA/D3B,EAAc,kBAAA,CAAA,EAAkB,EAAA;AAAA,SAAA,KAAA"}