@mhmo91/schmancy 0.9.5 → 0.9.6

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 (608) 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/mixins/formField.mixin.ts +96 -69
  462. package/mixins/tailwind.css +11 -0
  463. package/package.json +17 -26
  464. package/skills/schmancy/INDEX.md +7 -6
  465. package/skills/schmancy/breadcrumb.md +53 -0
  466. package/skills/schmancy/kbd.md +40 -0
  467. package/skills/schmancy/skeleton.md +40 -0
  468. package/skills/schmancy/splash-screen.md +60 -0
  469. package/skills/schmancy/switch.md +58 -0
  470. package/skills/schmancy/tooltip.md +1 -1
  471. package/skills/schmancy/visually-hidden.md +41 -0
  472. package/src/audio/emotional-sounds.ts +2 -4
  473. package/src/autocomplete/autocomplete.ts +52 -2
  474. package/src/breadcrumb/breadcrumb.ts +109 -0
  475. package/src/breadcrumb/index.ts +1 -0
  476. package/src/button/button.ts +40 -0
  477. package/src/button/icon-button.ts +2 -1
  478. package/src/checkbox/checkbox.test.ts +113 -0
  479. package/src/checkbox/checkbox.ts +41 -1
  480. package/src/chips/filter-chip.ts +15 -0
  481. package/src/chips/input-chip.ts +7 -0
  482. package/src/date-range/date-range-helpers.ts +0 -71
  483. package/src/dialog/dialog-base.mixin.ts +11 -0
  484. package/src/dialog/dialog.component.ts +28 -8
  485. package/src/dropdown/dropdown-content.ts +3 -1
  486. package/src/form/form.test.ts +137 -0
  487. package/src/form/form.ts +142 -158
  488. package/src/form/index.ts +2 -2
  489. package/src/icons/icon.ts +1 -0
  490. package/src/index.ts +6 -0
  491. package/src/kbd/index.ts +1 -0
  492. package/src/kbd/kbd.ts +59 -0
  493. package/src/skeleton/index.ts +1 -0
  494. package/src/skeleton/skeleton.ts +78 -0
  495. package/src/splash-screen/index.ts +1 -0
  496. package/src/splash-screen/splash-screen.ts +154 -0
  497. package/src/switch/index.ts +1 -0
  498. package/src/switch/switch.test.ts +93 -0
  499. package/src/switch/switch.ts +180 -0
  500. package/src/test-utils/a11y.ts +35 -0
  501. package/src/textarea/textarea.ts +32 -2
  502. package/src/tooltip/index.ts +1 -2
  503. package/src/tree/tree.ts +27 -2
  504. package/src/visually-hidden/index.ts +1 -0
  505. package/src/visually-hidden/visually-hidden.ts +39 -0
  506. package/src/window/window-position.ts +1 -74
  507. package/types/mixins/formField.mixin.d.ts +15 -8
  508. package/types/src/audio/emotional-sounds.d.ts +0 -2
  509. package/types/src/autocomplete/autocomplete.d.ts +7 -0
  510. package/types/src/breadcrumb/breadcrumb.d.ts +38 -0
  511. package/types/src/breadcrumb/index.d.ts +1 -0
  512. package/types/src/button/button.d.ts +7 -0
  513. package/types/src/button/icon-button.d.ts +2 -1
  514. package/types/src/checkbox/checkbox.d.ts +6 -0
  515. package/types/src/checkbox/checkbox.test.d.ts +1 -0
  516. package/types/src/chips/filter-chip.d.ts +3 -0
  517. package/types/src/chips/input-chip.d.ts +1 -0
  518. package/types/src/date-range/date-range-helpers.d.ts +0 -12
  519. package/types/src/dialog/dialog.component.d.ts +6 -0
  520. package/types/src/dropdown/dropdown-content.d.ts +3 -1
  521. package/types/src/form/form-v2.d.ts +12 -63
  522. package/types/src/form/form.d.ts +58 -40
  523. package/types/src/form/form.test.d.ts +4 -0
  524. package/types/src/form/index.d.ts +1 -1
  525. package/types/src/icons/icon.d.ts +1 -0
  526. package/types/src/index.d.ts +6 -0
  527. package/types/src/kbd/index.d.ts +1 -0
  528. package/types/src/kbd/kbd.d.ts +25 -0
  529. package/types/src/skeleton/index.d.ts +1 -0
  530. package/types/src/skeleton/skeleton.d.ts +27 -0
  531. package/types/src/splash-screen/index.d.ts +1 -0
  532. package/types/src/splash-screen/splash-screen.d.ts +60 -0
  533. package/types/src/switch/index.d.ts +1 -0
  534. package/types/src/switch/switch.d.ts +54 -0
  535. package/types/src/switch/switch.test.d.ts +1 -0
  536. package/types/src/test-utils/a11y.d.ts +11 -0
  537. package/types/src/textarea/textarea.d.ts +5 -1
  538. package/types/src/tooltip/index.d.ts +0 -1
  539. package/types/src/tree/tree.d.ts +5 -0
  540. package/types/src/visually-hidden/index.d.ts +1 -0
  541. package/types/src/visually-hidden/visually-hidden.d.ts +21 -0
  542. package/types/src/window/window-position.d.ts +1 -35
  543. package/dist/audio-DtYYgzYD.cjs.map +0 -1
  544. package/dist/audio-kz8UgPTO.js.map +0 -1
  545. package/dist/autocomplete-5rVhbieU.cjs +0 -111
  546. package/dist/autocomplete-5rVhbieU.cjs.map +0 -1
  547. package/dist/autocomplete-BllPQwr8.js.map +0 -1
  548. package/dist/chips-B19XS8Xc.cjs.map +0 -1
  549. package/dist/chips-B9oAEfE_.js.map +0 -1
  550. package/dist/components-CyD6a7gQ.cjs +0 -73
  551. package/dist/date-range-Sfyco9-n.js.map +0 -1
  552. package/dist/date-range-ZAaQB22I.cjs.map +0 -1
  553. package/dist/date-range-inline-m7nLjOMI.cjs +0 -43
  554. package/dist/delay-7boauN6N.cjs +0 -9
  555. package/dist/float-D5rNC82i.cjs +0 -1
  556. package/dist/form-BqN1AGFj.cjs +0 -1
  557. package/dist/form-BqN1AGFj.cjs.map +0 -1
  558. package/dist/form-CajC5HnO.js +0 -270
  559. package/dist/form-CajC5HnO.js.map +0 -1
  560. package/dist/icons-B57_93VV.cjs.map +0 -1
  561. package/dist/icons-BDqiGXrO.js.map +0 -1
  562. package/dist/input-chip-Dy-AiP55.cjs.map +0 -1
  563. package/dist/input-chip-QejNcRnS.js.map +0 -1
  564. package/dist/layout-DNYG3phx.cjs +0 -17
  565. package/dist/notification-CZFEhWxc.cjs +0 -23
  566. package/dist/radio-group-Cspwd-Vw.cjs +0 -40
  567. package/dist/src-BtQVyqMy.cjs +0 -269
  568. package/dist/surface-BjKZoJxK.cjs +0 -7
  569. package/dist/surface-pK8hME5c.js +0 -21
  570. package/dist/tailwind.mixin-BCJOOX1_.js.map +0 -1
  571. package/dist/tailwind.mixin-BF1Huas7.cjs.map +0 -1
  572. package/dist/textarea-Cp1ZE60O.cjs +0 -35
  573. package/dist/textarea-Cp1ZE60O.cjs.map +0 -1
  574. package/dist/textarea-D7q8exMg.js.map +0 -1
  575. package/dist/theme-Da4SPq9X.cjs +0 -181
  576. package/dist/theme-button-Ci8VQ7KW.cjs +0 -8
  577. package/dist/typewriter-B2TnHPjw.cjs +0 -123
  578. package/dist/window-CM1ycigo.js.map +0 -1
  579. package/dist/window-Uii13x_r.cjs.map +0 -1
  580. package/src/form/form-v2.ts +0 -268
  581. package/src/layout/v2/grid.ts +0 -93
  582. package/src/notification/outlet.ts +0 -16
  583. package/src/store/immer-integration.ts +0 -99
  584. package/src/tooltip/tooltip.ts +0 -216
  585. /package/dist/{animation-CO_Csq84.cjs → animation-Bcwh107v.cjs} +0 -0
  586. /package/dist/{animation-BK-8BwY8.js → animation-CXKSuUoE.js} +0 -0
  587. /package/dist/{tslib.es6-ErZEp3OO.js → decorate-D_utPUsC.js} +0 -0
  588. /package/dist/{tslib.es6-D7BIeDVB.cjs → decorate-F9CuyeHg.cjs} +0 -0
  589. /package/dist/{flow-CUj0fDT_.js → flow-CqgDEIqK.js} +0 -0
  590. /package/dist/{flow-Bbwn6dRN.cjs → flow-DSu4PLt1.cjs} +0 -0
  591. /package/dist/{hashContent-DaeGmY-p.cjs → hashContent-kKvXKFa9.cjs} +0 -0
  592. /package/dist/{hashContent-DYM21p6t.js → hashContent-nD2uWwi2.js} +0 -0
  593. /package/dist/{intersection-CZpaIHeT.cjs → intersection-D1v1UCVv.cjs} +0 -0
  594. /package/dist/{intersection-BPLpqYEd.js → intersection-LfEsy29T.js} +0 -0
  595. /package/dist/{overlay-stack-DQey9Qph.cjs → overlay-stack-CEYGD9T1.cjs} +0 -0
  596. /package/dist/{overlay-stack-DT1SdaGW.js → overlay-stack-Ca4EK2Mu.js} +0 -0
  597. /package/dist/{reduced-motion-D-L12p7G.js → reduced-motion-B83yZbcO.js} +0 -0
  598. /package/dist/{reduced-motion-Ds05GPyz.cjs → reduced-motion-DR32yKEO.cjs} +0 -0
  599. /package/dist/{rxjs-utils-BSjmI9-Q.js → rxjs-utils-Bldch1RO.js} +0 -0
  600. /package/dist/{rxjs-utils-DCsfzeap.cjs → rxjs-utils-hAgKC7vk.cjs} +0 -0
  601. /package/dist/{search-C4dFHYbX.js → search-BlGJ6uJv.js} +0 -0
  602. /package/dist/{search-Ds8tt7Et.cjs → search-C8eAOzBm.cjs} +0 -0
  603. /package/dist/{store-DYqDLAvT.js → store-Bmj6rvZY.js} +0 -0
  604. /package/dist/{store-CorvD3bT.cjs → store-CO4nJyGj.cjs} +0 -0
  605. /package/dist/{theme.events-Cv7N4Toe.js → theme.events-Bw3mYjUA.js} +0 -0
  606. /package/dist/{theme.events-DM4H5F2d.cjs → theme.events-EznKK2Y0.cjs} +0 -0
  607. /package/dist/{theme.interface-Da23QAYb.cjs → theme.interface-CM26m9te.cjs} +0 -0
  608. /package/dist/{theme.interface-CXloMUCw.js → theme.interface-FAUIgbIq.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"progress-DeiHxXo7.js","names":[],"sources":["../src/progress/progress.ts"],"sourcesContent":["import { $LitElement } from '@mixins/litElement.mixin'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\n\n@customElement('schmancy-progress')\nexport default class SchmancyProgress extends $LitElement(css`\n :host {\n display: block;\n }\n\n /* Blackbird-style indeterminate animation with organic easing */\n @keyframes indeterminate {\n 0% {\n left: -30%;\n width: 20%;\n opacity: 0.6;\n }\n 25% {\n width: 35%;\n opacity: 1;\n }\n 50% {\n left: 40%;\n width: 30%;\n }\n 75% {\n width: 25%;\n opacity: 0.9;\n }\n 100% {\n left: 100%;\n width: 20%;\n opacity: 0.6;\n }\n }\n\n .indeterminate-animation {\n animation: indeterminate 1.8s cubic-bezier(0.34, 1.2, 0.64, 1) infinite;\n }\n`) {\n @property({ type: Number, reflect: true })\n value = 0\n\n @property({ type: Number, reflect: true })\n max = 100\n\n @property({ type: Boolean, reflect: true })\n indeterminate = false\n\n // M3 aligned track heights: xs=1px, sm=2px, md=4px, lg=8px\n @property({ type: String, reflect: true })\n size: 'xs' | 'sm' | 'md' | 'lg' = 'md'\n\n @property({ type: String, reflect: true })\n color: 'primary' | 'secondary' | 'tertiary' | 'error' | 'success' = 'primary'\n\n @property({ type: Boolean, reflect: true })\n glass = false\n\n private get percentage(): number {\n if (this.indeterminate) return 0\n return Math.min(100, Math.max(0, (this.value / this.max) * 100))\n }\n\n protected render() {\n const containerClasses = {\n 'w-full': true,\n 'relative': true,\n 'overflow-hidden': true,\n 'rounded-full': true,\n 'h-px': this.size === 'xs', // 1px - M3 linear indicator track\n 'h-0.5': this.size === 'sm', // 2px\n 'h-1': this.size === 'md', // 4px - M3 default\n 'h-2': this.size === 'lg', // 8px\n // Glass effect background\n 'backdrop-blur-xl': this.glass,\n 'backdrop-saturate-150': this.glass,\n 'bg-surface-container/20': this.glass && !this.indeterminate,\n 'bg-surface-container': !this.glass,\n 'shadow-[inset_0_1px_2px_0_rgba(0,0,0,0.1)]': this.glass,\n 'border': this.glass,\n 'border-outline/20': this.glass\n }\n\n const barClasses = {\n 'h-full': true,\n 'rounded-full': true,\n 'transition-all': true,\n 'duration-300': true,\n 'ease-in-out': true,\n 'relative': true,\n 'bg-primary-default': this.color === 'primary' && !this.glass,\n 'bg-secondary-default': this.color === 'secondary' && !this.glass,\n 'bg-tertiary-default': this.color === 'tertiary' && !this.glass,\n 'bg-error-default': this.color === 'error' && !this.glass,\n 'bg-success-default': this.color === 'success' && !this.glass,\n 'absolute': this.indeterminate,\n 'indeterminate-animation': this.indeterminate\n }\n\n const barStyles = this.indeterminate \n ? {} \n : { width: `${this.percentage}%` }\n\n // Glass effect bar classes\n const glassBarClasses = {\n 'backdrop-blur-sm': this.glass,\n 'shadow-[0_0_20px_rgba(0,0,0,0.1)]': this.glass,\n // Use semi-transparent background colors for glass effect\n 'bg-primary-default/70': this.glass && this.color === 'primary',\n 'bg-secondary-default/70': this.glass && this.color === 'secondary',\n 'bg-tertiary-default/70': this.glass && this.color === 'tertiary',\n 'bg-error-default/70': this.glass && this.color === 'error',\n 'bg-success-default/70': this.glass && this.color === 'success',\n }\n\n return html`\n <div class=\"${classMap(containerClasses)}\">\n <div \n class=\"${classMap({...barClasses, ...glassBarClasses})}\"\n style=\"${styleMap(barStyles)}\"\n role=\"progressbar\"\n aria-valuenow=\"${this.value}\"\n aria-valuemin=\"0\"\n aria-valuemax=\"${this.max}\"\n >\n ${this.glass ? html`\n <!-- Glass shine effect -->\n <div class=\"absolute inset-0 bg-linear-to-b from-surface-on/20 to-transparent rounded-full\"></div>\n ` : ''}\n </div>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-progress': SchmancyProgress\n }\n}\n"],"mappings":";;;;;;AAOe,IAAA,IAAA,cAA+B,EAAY,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAoCnD,GAAA,KAAA,MAGF,KAAA,KAAA,gBAAA,CAGU,GAAA,KAAA,OAIkB,MAAA,KAAA,QAGkC,WAAA,KAAA,QAAA,CAG5D;;CAER,IAAA,aAAY;AACV,SAAI,KAAK,gBAAsB,IACxB,KAAK,IAAI,KAAK,KAAK,IAAI,GAAI,KAAK,QAAQ,KAAK,MAAO,IAAA,CAAA;;CAG7D,SAAA;EACE,IAAM,IAAmB;GACvB,UAAA,CAAU;GACV,UAAA,CAAY;GACZ,mBAAA,CAAmB;GACnB,gBAAA,CAAgB;GAChB,QAAQ,KAAK,SAAS;GACtB,SAAS,KAAK,SAAS;GACvB,OAAO,KAAK,SAAS;GACrB,OAAO,KAAK,SAAS;GAErB,oBAAoB,KAAK;GACzB,yBAAyB,KAAK;GAC9B,2BAA2B,KAAK,SAAA,CAAU,KAAK;GAC/C,wBAAA,CAAyB,KAAK;GAC9B,8CAA8C,KAAK;GACnD,QAAU,KAAK;GACf,qBAAqB,KAAK;GAAA,EAGtB,IAAa;GACjB,UAAA,CAAU;GACV,gBAAA,CAAgB;GAChB,kBAAA,CAAkB;GAClB,gBAAA,CAAgB;GAChB,eAAA,CAAe;GACf,UAAA,CAAY;GACZ,sBAAsB,KAAK,UAAU,aAAV,CAAwB,KAAK;GACxD,wBAAwB,KAAK,UAAU,eAAV,CAA0B,KAAK;GAC5D,uBAAuB,KAAK,UAAU,cAAV,CAAyB,KAAK;GAC1D,oBAAoB,KAAK,UAAU,WAAV,CAAsB,KAAK;GACpD,sBAAsB,KAAK,UAAU,aAAV,CAAwB,KAAK;GACxD,UAAY,KAAK;GACjB,2BAA2B,KAAK;GAAA,EAG5B,IAAY,KAAK,gBACnB,EAAA,GACA,EAAE,OAAO,GAAG,KAAK,WAAA,IAAA,EAGf,IAAkB;GACtB,oBAAoB,KAAK;GACzB,qCAAqC,KAAK;GAE1C,yBAAyB,KAAK,SAAS,KAAK,UAAU;GACtD,2BAA2B,KAAK,SAAS,KAAK,UAAU;GACxD,0BAA0B,KAAK,SAAS,KAAK,UAAU;GACvD,uBAAuB,KAAK,SAAS,KAAK,UAAU;GACpD,yBAAyB,KAAK,SAAS,KAAK,UAAU;GAAV;AAG9C,SAAO,CAAI;oBACK,EAAS,EAAA,CAAA;;mBAEV,EAAS;GAAA,GAAI;GAAA,GAAe;GAAA,CAAA,CAAA;mBAC5B,EAAS,EAAA,CAAA;;2BAED,KAAK,MAAA;;2BAEL,KAAK,IAAA;;YAEpB,KAAK,QAAQ,CAAI;;;cAGf,GAAA;;;;;;GAzFX,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,SAAA,KAAA,EAAA,EAAA,EAAA,CAGzC,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,CAGzC,EAAS;CAAE,MAAM;CAAS,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,iBAAA,KAAA,EAAA,EAAA,EAAA,CAI1C,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAGzC,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,SAAA,KAAA,EAAA,EAAA,EAAA,CAGzC,EAAS;CAAE,MAAM;CAAS,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,SAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CApD5C,EAAc,oBAAA,CAAA,EAAoB,EAAA"}
1
+ {"version":3,"file":"progress-CE1Pk2hi.js","names":[],"sources":["../src/progress/progress.ts"],"sourcesContent":["import { $LitElement } from '@mixins/litElement.mixin'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\n\n@customElement('schmancy-progress')\nexport default class SchmancyProgress extends $LitElement(css`\n :host {\n display: block;\n }\n\n /* Blackbird-style indeterminate animation with organic easing */\n @keyframes indeterminate {\n 0% {\n left: -30%;\n width: 20%;\n opacity: 0.6;\n }\n 25% {\n width: 35%;\n opacity: 1;\n }\n 50% {\n left: 40%;\n width: 30%;\n }\n 75% {\n width: 25%;\n opacity: 0.9;\n }\n 100% {\n left: 100%;\n width: 20%;\n opacity: 0.6;\n }\n }\n\n .indeterminate-animation {\n animation: indeterminate 1.8s cubic-bezier(0.34, 1.2, 0.64, 1) infinite;\n }\n`) {\n @property({ type: Number, reflect: true })\n value = 0\n\n @property({ type: Number, reflect: true })\n max = 100\n\n @property({ type: Boolean, reflect: true })\n indeterminate = false\n\n // M3 aligned track heights: xs=1px, sm=2px, md=4px, lg=8px\n @property({ type: String, reflect: true })\n size: 'xs' | 'sm' | 'md' | 'lg' = 'md'\n\n @property({ type: String, reflect: true })\n color: 'primary' | 'secondary' | 'tertiary' | 'error' | 'success' = 'primary'\n\n @property({ type: Boolean, reflect: true })\n glass = false\n\n private get percentage(): number {\n if (this.indeterminate) return 0\n return Math.min(100, Math.max(0, (this.value / this.max) * 100))\n }\n\n protected render() {\n const containerClasses = {\n 'w-full': true,\n 'relative': true,\n 'overflow-hidden': true,\n 'rounded-full': true,\n 'h-px': this.size === 'xs', // 1px - M3 linear indicator track\n 'h-0.5': this.size === 'sm', // 2px\n 'h-1': this.size === 'md', // 4px - M3 default\n 'h-2': this.size === 'lg', // 8px\n // Glass effect background\n 'backdrop-blur-xl': this.glass,\n 'backdrop-saturate-150': this.glass,\n 'bg-surface-container/20': this.glass && !this.indeterminate,\n 'bg-surface-container': !this.glass,\n 'shadow-[inset_0_1px_2px_0_rgba(0,0,0,0.1)]': this.glass,\n 'border': this.glass,\n 'border-outline/20': this.glass\n }\n\n const barClasses = {\n 'h-full': true,\n 'rounded-full': true,\n 'transition-all': true,\n 'duration-300': true,\n 'ease-in-out': true,\n 'relative': true,\n 'bg-primary-default': this.color === 'primary' && !this.glass,\n 'bg-secondary-default': this.color === 'secondary' && !this.glass,\n 'bg-tertiary-default': this.color === 'tertiary' && !this.glass,\n 'bg-error-default': this.color === 'error' && !this.glass,\n 'bg-success-default': this.color === 'success' && !this.glass,\n 'absolute': this.indeterminate,\n 'indeterminate-animation': this.indeterminate\n }\n\n const barStyles = this.indeterminate \n ? {} \n : { width: `${this.percentage}%` }\n\n // Glass effect bar classes\n const glassBarClasses = {\n 'backdrop-blur-sm': this.glass,\n 'shadow-[0_0_20px_rgba(0,0,0,0.1)]': this.glass,\n // Use semi-transparent background colors for glass effect\n 'bg-primary-default/70': this.glass && this.color === 'primary',\n 'bg-secondary-default/70': this.glass && this.color === 'secondary',\n 'bg-tertiary-default/70': this.glass && this.color === 'tertiary',\n 'bg-error-default/70': this.glass && this.color === 'error',\n 'bg-success-default/70': this.glass && this.color === 'success',\n }\n\n return html`\n <div class=\"${classMap(containerClasses)}\">\n <div \n class=\"${classMap({...barClasses, ...glassBarClasses})}\"\n style=\"${styleMap(barStyles)}\"\n role=\"progressbar\"\n aria-valuenow=\"${this.value}\"\n aria-valuemin=\"0\"\n aria-valuemax=\"${this.max}\"\n >\n ${this.glass ? html`\n <!-- Glass shine effect -->\n <div class=\"absolute inset-0 bg-linear-to-b from-surface-on/20 to-transparent rounded-full\"></div>\n ` : ''}\n </div>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-progress': SchmancyProgress\n }\n}\n"],"mappings":";;;;;;AAOe,IAAA,IAAA,cAA+B,EAAY,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAoCnD,GAAA,KAAA,MAGF,KAAA,KAAA,gBAAA,CAGU,GAAA,KAAA,OAIkB,MAAA,KAAA,QAGkC,WAAA,KAAA,QAAA,CAG5D;;CAER,IAAA,aAAY;AACV,SAAI,KAAK,gBAAsB,IACxB,KAAK,IAAI,KAAK,KAAK,IAAI,GAAI,KAAK,QAAQ,KAAK,MAAO,IAAA,CAAA;;CAG7D,SAAA;EACE,IAAM,IAAmB;GACvB,UAAA,CAAU;GACV,UAAA,CAAY;GACZ,mBAAA,CAAmB;GACnB,gBAAA,CAAgB;GAChB,QAAQ,KAAK,SAAS;GACtB,SAAS,KAAK,SAAS;GACvB,OAAO,KAAK,SAAS;GACrB,OAAO,KAAK,SAAS;GAErB,oBAAoB,KAAK;GACzB,yBAAyB,KAAK;GAC9B,2BAA2B,KAAK,SAAA,CAAU,KAAK;GAC/C,wBAAA,CAAyB,KAAK;GAC9B,8CAA8C,KAAK;GACnD,QAAU,KAAK;GACf,qBAAqB,KAAK;GAAA,EAGtB,IAAa;GACjB,UAAA,CAAU;GACV,gBAAA,CAAgB;GAChB,kBAAA,CAAkB;GAClB,gBAAA,CAAgB;GAChB,eAAA,CAAe;GACf,UAAA,CAAY;GACZ,sBAAsB,KAAK,UAAU,aAAV,CAAwB,KAAK;GACxD,wBAAwB,KAAK,UAAU,eAAV,CAA0B,KAAK;GAC5D,uBAAuB,KAAK,UAAU,cAAV,CAAyB,KAAK;GAC1D,oBAAoB,KAAK,UAAU,WAAV,CAAsB,KAAK;GACpD,sBAAsB,KAAK,UAAU,aAAV,CAAwB,KAAK;GACxD,UAAY,KAAK;GACjB,2BAA2B,KAAK;GAAA,EAG5B,IAAY,KAAK,gBACnB,EAAA,GACA,EAAE,OAAO,GAAG,KAAK,WAAA,IAAA,EAGf,IAAkB;GACtB,oBAAoB,KAAK;GACzB,qCAAqC,KAAK;GAE1C,yBAAyB,KAAK,SAAS,KAAK,UAAU;GACtD,2BAA2B,KAAK,SAAS,KAAK,UAAU;GACxD,0BAA0B,KAAK,SAAS,KAAK,UAAU;GACvD,uBAAuB,KAAK,SAAS,KAAK,UAAU;GACpD,yBAAyB,KAAK,SAAS,KAAK,UAAU;GAAV;AAG9C,SAAO,CAAI;oBACK,EAAS,EAAA,CAAA;;mBAEV,EAAS;GAAA,GAAI;GAAA,GAAe;GAAA,CAAA,CAAA;mBAC5B,EAAS,EAAA,CAAA;;2BAED,KAAK,MAAA;;2BAEL,KAAK,IAAA;;YAEpB,KAAK,QAAQ,CAAI;;;cAGf,GAAA;;;;;;GAzFX,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,SAAA,KAAA,EAAA,EAAA,EAAA,CAGzC,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,CAGzC,EAAS;CAAE,MAAM;CAAS,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,iBAAA,KAAA,EAAA,EAAA,EAAA,CAI1C,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAGzC,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,SAAA,KAAA,EAAA,EAAA,EAAA,CAGzC,EAAS;CAAE,MAAM;CAAS,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,SAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CApD5C,EAAc,oBAAA,CAAA,EAAoB,EAAA"}
package/dist/progress.cjs CHANGED
@@ -1 +1 @@
1
- require(`./progress-Db2e4_Zd.cjs`);
1
+ require(`./progress-B5ChDPbB.cjs`);
package/dist/progress.js CHANGED
@@ -1 +1 @@
1
- import "./progress-DeiHxXo7.js";
1
+ import "./progress-CE1Pk2hi.js";
@@ -1 +1 @@
1
- const e=require(`./tailwind.mixin-BF1Huas7.cjs`);var t=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){let n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[e,{disposer:t}]of this.subscriptions)e(this.o,t)},e!==void 0&&(this.value=e)}addCallback(e,t,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t});let{disposer:r}=this.subscriptions.get(e);e(this.value,r)}clearCallbacks(){this.subscriptions.clear()}},n=class extends Event{constructor(e,t){super(`context-provider`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t}},r=class extends t{constructor(t,n,r){super(n.context===void 0?r:n.initialValue),this.onContextRequest=e=>{if(e.context!==this.context)return;let t=e.contextTarget??e.composedPath()[0];t!==this.host&&(e.stopPropagation(),this.addCallback(e.callback,t,e.subscribe))},this.onProviderRequest=t=>{if(t.context!==this.context||(t.contextTarget??t.composedPath()[0])===this.host)return;let n=new Set;for(let[t,{consumerHost:r}]of this.subscriptions)n.has(t)||(n.add(t),r.dispatchEvent(new e.c(this.context,r,t,!0)));t.stopPropagation()},this.host=t,n.context===void 0?this.context=n:this.context=n.context,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(`context-request`,this.onContextRequest),this.host.addEventListener(`context-provider`,this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new n(this.context,this.host))}};function i({context:e}){return(t,n)=>{let i=new WeakMap;if(typeof n==`object`)return{get(){return t.get.call(this)},set(e){return i.get(this).setValue(e),t.set.call(this,e)},init(t){return i.set(this,new r(this,{context:e,initialValue:t})),t}};{t.constructor.addInitializer(t=>{i.set(t,new r(t,{context:e}))});let a=Object.getOwnPropertyDescriptor(t,n),o;if(a===void 0){let e=new WeakMap;o={get(){return e.get(this)},set(t){i.get(this).setValue(t),e.set(this,t)},configurable:!0,enumerable:!0}}else{let e=a.set;o={...a,set(t){i.get(this).setValue(t),e?.call(this,t)}}}Object.defineProperty(t,n,o);return}}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
1
+ const e=require(`./tailwind.mixin-Cpa-VnnX.cjs`);var t=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){let n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[e,{disposer:t}]of this.subscriptions)e(this.o,t)},e!==void 0&&(this.value=e)}addCallback(e,t,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t});let{disposer:r}=this.subscriptions.get(e);e(this.value,r)}clearCallbacks(){this.subscriptions.clear()}},n=class extends Event{constructor(e,t){super(`context-provider`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t}},r=class extends t{constructor(t,n,r){super(n.context===void 0?r:n.initialValue),this.onContextRequest=e=>{if(e.context!==this.context)return;let t=e.contextTarget??e.composedPath()[0];t!==this.host&&(e.stopPropagation(),this.addCallback(e.callback,t,e.subscribe))},this.onProviderRequest=t=>{if(t.context!==this.context||(t.contextTarget??t.composedPath()[0])===this.host)return;let n=new Set;for(let[t,{consumerHost:r}]of this.subscriptions)n.has(t)||(n.add(t),r.dispatchEvent(new e.s(this.context,r,t,!0)));t.stopPropagation()},this.host=t,n.context===void 0?this.context=n:this.context=n.context,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(`context-request`,this.onContextRequest),this.host.addEventListener(`context-provider`,this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new n(this.context,this.host))}};function i({context:e}){return(t,n)=>{let i=new WeakMap;if(typeof n==`object`)return{get(){return t.get.call(this)},set(e){return i.get(this).setValue(e),t.set.call(this,e)},init(t){return i.set(this,new r(this,{context:e,initialValue:t})),t}};{t.constructor.addInitializer(t=>{i.set(t,new r(t,{context:e}))});let a=Object.getOwnPropertyDescriptor(t,n),o;if(a===void 0){let e=new WeakMap;o={get(){return e.get(this)},set(t){i.get(this).setValue(t),e.set(this,t)},configurable:!0,enumerable:!0}}else{let e=a.set;o={...a,set(t){i.get(this).setValue(t),e?.call(this,t)}}}Object.defineProperty(t,n,o);return}}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
@@ -1 +1 @@
1
- {"version":3,"file":"provide-DHnhQtCH.cjs","names":["e","t","i","t"],"sources":["../node_modules/@lit/context/lib/value-notifier.js","../node_modules/@lit/context/lib/controllers/context-provider.js","../node_modules/@lit/context/lib/decorators/provide.js"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s{get value(){return this.o}set value(s){this.setValue(s)}setValue(s,t=!1){const i=t||!Object.is(s,this.o);this.o=s,i&&this.updateObservers()}constructor(s){this.subscriptions=new Map,this.updateObservers=()=>{for(const[s,{disposer:t}]of this.subscriptions)s(this.o,t)},void 0!==s&&(this.value=s)}addCallback(s,t,i){if(!i)return void s(this.value);this.subscriptions.has(s)||this.subscriptions.set(s,{disposer:()=>{this.subscriptions.delete(s)},consumerHost:t});const{disposer:h}=this.subscriptions.get(s);s(this.value,h)}clearCallbacks(){this.subscriptions.clear()}}export{s as ValueNotifier};\n//# sourceMappingURL=value-notifier.js.map\n","import{ContextRequestEvent as t}from\"../context-request-event.js\";import{ValueNotifier as s}from\"../value-notifier.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends Event{constructor(t,s){super(\"context-provider\",{bubbles:!0,composed:!0}),this.context=t,this.contextTarget=s}}class i extends s{constructor(s,e,i){super(void 0!==e.context?e.initialValue:i),this.onContextRequest=t=>{if(t.context!==this.context)return;const s=t.contextTarget??t.composedPath()[0];s!==this.host&&(t.stopPropagation(),this.addCallback(t.callback,s,t.subscribe))},this.onProviderRequest=s=>{if(s.context!==this.context)return;if((s.contextTarget??s.composedPath()[0])===this.host)return;const e=new Set;for(const[s,{consumerHost:i}]of this.subscriptions)e.has(s)||(e.add(s),i.dispatchEvent(new t(this.context,i,s,!0)));s.stopPropagation()},this.host=s,void 0!==e.context?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(\"context-request\",this.onContextRequest),this.host.addEventListener(\"context-provider\",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new e(this.context,this.host))}}export{i as ContextProvider,e as ContextProviderEvent};\n//# sourceMappingURL=context-provider.js.map\n","import{ContextProvider as t}from\"../controllers/context-provider.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e({context:e}){return(n,i)=>{const r=new WeakMap;if(\"object\"==typeof i)return{get(){return n.get.call(this)},set(t){return r.get(this).setValue(t),n.set.call(this,t)},init(n){return r.set(this,new t(this,{context:e,initialValue:n})),n}};{n.constructor.addInitializer((n=>{r.set(n,new t(n,{context:e}))}));const o=Object.getOwnPropertyDescriptor(n,i);let s;if(void 0===o){const t=new WeakMap;s={get(){return t.get(this)},set(e){r.get(this).setValue(e),t.set(this,e)},configurable:!0,enumerable:!0}}else{const t=o.set;s={...o,set(e){r.get(this).setValue(e),t?.call(this,e)}}}return void Object.defineProperty(n,i,s)}}}export{e as provide};\n//# sourceMappingURL=provide.js.map\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
1
+ {"version":3,"file":"provide-BZ9lq_Be.cjs","names":["e","t","i","t"],"sources":["../node_modules/@lit/context/lib/value-notifier.js","../node_modules/@lit/context/lib/controllers/context-provider.js","../node_modules/@lit/context/lib/decorators/provide.js"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s{get value(){return this.o}set value(s){this.setValue(s)}setValue(s,t=!1){const i=t||!Object.is(s,this.o);this.o=s,i&&this.updateObservers()}constructor(s){this.subscriptions=new Map,this.updateObservers=()=>{for(const[s,{disposer:t}]of this.subscriptions)s(this.o,t)},void 0!==s&&(this.value=s)}addCallback(s,t,i){if(!i)return void s(this.value);this.subscriptions.has(s)||this.subscriptions.set(s,{disposer:()=>{this.subscriptions.delete(s)},consumerHost:t});const{disposer:h}=this.subscriptions.get(s);s(this.value,h)}clearCallbacks(){this.subscriptions.clear()}}export{s as ValueNotifier};\n//# sourceMappingURL=value-notifier.js.map\n","import{ContextRequestEvent as t}from\"../context-request-event.js\";import{ValueNotifier as s}from\"../value-notifier.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends Event{constructor(t,s){super(\"context-provider\",{bubbles:!0,composed:!0}),this.context=t,this.contextTarget=s}}class i extends s{constructor(s,e,i){super(void 0!==e.context?e.initialValue:i),this.onContextRequest=t=>{if(t.context!==this.context)return;const s=t.contextTarget??t.composedPath()[0];s!==this.host&&(t.stopPropagation(),this.addCallback(t.callback,s,t.subscribe))},this.onProviderRequest=s=>{if(s.context!==this.context)return;if((s.contextTarget??s.composedPath()[0])===this.host)return;const e=new Set;for(const[s,{consumerHost:i}]of this.subscriptions)e.has(s)||(e.add(s),i.dispatchEvent(new t(this.context,i,s,!0)));s.stopPropagation()},this.host=s,void 0!==e.context?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(\"context-request\",this.onContextRequest),this.host.addEventListener(\"context-provider\",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new e(this.context,this.host))}}export{i as ContextProvider,e as ContextProviderEvent};\n//# sourceMappingURL=context-provider.js.map\n","import{ContextProvider as t}from\"../controllers/context-provider.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e({context:e}){return(n,i)=>{const r=new WeakMap;if(\"object\"==typeof i)return{get(){return n.get.call(this)},set(t){return r.get(this).setValue(t),n.set.call(this,t)},init(n){return r.set(this,new t(this,{context:e,initialValue:n})),n}};{n.constructor.addInitializer((n=>{r.set(n,new t(n,{context:e}))}));const o=Object.getOwnPropertyDescriptor(n,i);let s;if(void 0===o){const t=new WeakMap;s={get(){return t.get(this)},set(e){r.get(this).setValue(e),t.set(this,e)},configurable:!0,enumerable:!0}}else{const t=o.set;s={...o,set(e){r.get(this).setValue(e),t?.call(this,e)}}}return void Object.defineProperty(n,i,s)}}}export{e as provide};\n//# sourceMappingURL=provide.js.map\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { c as e } from "./tailwind.mixin-BCJOOX1_.js";
1
+ import { s as e } from "./tailwind.mixin-DufHBjmb.js";
2
2
  var t = class {
3
3
  get value() {
4
4
  return this.o;
@@ -1 +1 @@
1
- {"version":3,"file":"provide-C1aQhxYo.js","names":["e","t","i","t"],"sources":["../node_modules/@lit/context/lib/value-notifier.js","../node_modules/@lit/context/lib/controllers/context-provider.js","../node_modules/@lit/context/lib/decorators/provide.js"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s{get value(){return this.o}set value(s){this.setValue(s)}setValue(s,t=!1){const i=t||!Object.is(s,this.o);this.o=s,i&&this.updateObservers()}constructor(s){this.subscriptions=new Map,this.updateObservers=()=>{for(const[s,{disposer:t}]of this.subscriptions)s(this.o,t)},void 0!==s&&(this.value=s)}addCallback(s,t,i){if(!i)return void s(this.value);this.subscriptions.has(s)||this.subscriptions.set(s,{disposer:()=>{this.subscriptions.delete(s)},consumerHost:t});const{disposer:h}=this.subscriptions.get(s);s(this.value,h)}clearCallbacks(){this.subscriptions.clear()}}export{s as ValueNotifier};\n//# sourceMappingURL=value-notifier.js.map\n","import{ContextRequestEvent as t}from\"../context-request-event.js\";import{ValueNotifier as s}from\"../value-notifier.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends Event{constructor(t,s){super(\"context-provider\",{bubbles:!0,composed:!0}),this.context=t,this.contextTarget=s}}class i extends s{constructor(s,e,i){super(void 0!==e.context?e.initialValue:i),this.onContextRequest=t=>{if(t.context!==this.context)return;const s=t.contextTarget??t.composedPath()[0];s!==this.host&&(t.stopPropagation(),this.addCallback(t.callback,s,t.subscribe))},this.onProviderRequest=s=>{if(s.context!==this.context)return;if((s.contextTarget??s.composedPath()[0])===this.host)return;const e=new Set;for(const[s,{consumerHost:i}]of this.subscriptions)e.has(s)||(e.add(s),i.dispatchEvent(new t(this.context,i,s,!0)));s.stopPropagation()},this.host=s,void 0!==e.context?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(\"context-request\",this.onContextRequest),this.host.addEventListener(\"context-provider\",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new e(this.context,this.host))}}export{i as ContextProvider,e as ContextProviderEvent};\n//# sourceMappingURL=context-provider.js.map\n","import{ContextProvider as t}from\"../controllers/context-provider.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e({context:e}){return(n,i)=>{const r=new WeakMap;if(\"object\"==typeof i)return{get(){return n.get.call(this)},set(t){return r.get(this).setValue(t),n.set.call(this,t)},init(n){return r.set(this,new t(this,{context:e,initialValue:n})),n}};{n.constructor.addInitializer((n=>{r.set(n,new t(n,{context:e}))}));const o=Object.getOwnPropertyDescriptor(n,i);let s;if(void 0===o){const t=new WeakMap;s={get(){return t.get(this)},set(e){r.get(this).setValue(e),t.set(this,e)},configurable:!0,enumerable:!0}}else{const t=o.set;s={...o,set(e){r.get(this).setValue(e),t?.call(this,e)}}}return void Object.defineProperty(n,i,s)}}}export{e as provide};\n//# sourceMappingURL=provide.js.map\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
1
+ {"version":3,"file":"provide-jn1Fj1vv.js","names":["e","t","i","t"],"sources":["../node_modules/@lit/context/lib/value-notifier.js","../node_modules/@lit/context/lib/controllers/context-provider.js","../node_modules/@lit/context/lib/decorators/provide.js"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s{get value(){return this.o}set value(s){this.setValue(s)}setValue(s,t=!1){const i=t||!Object.is(s,this.o);this.o=s,i&&this.updateObservers()}constructor(s){this.subscriptions=new Map,this.updateObservers=()=>{for(const[s,{disposer:t}]of this.subscriptions)s(this.o,t)},void 0!==s&&(this.value=s)}addCallback(s,t,i){if(!i)return void s(this.value);this.subscriptions.has(s)||this.subscriptions.set(s,{disposer:()=>{this.subscriptions.delete(s)},consumerHost:t});const{disposer:h}=this.subscriptions.get(s);s(this.value,h)}clearCallbacks(){this.subscriptions.clear()}}export{s as ValueNotifier};\n//# sourceMappingURL=value-notifier.js.map\n","import{ContextRequestEvent as t}from\"../context-request-event.js\";import{ValueNotifier as s}from\"../value-notifier.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends Event{constructor(t,s){super(\"context-provider\",{bubbles:!0,composed:!0}),this.context=t,this.contextTarget=s}}class i extends s{constructor(s,e,i){super(void 0!==e.context?e.initialValue:i),this.onContextRequest=t=>{if(t.context!==this.context)return;const s=t.contextTarget??t.composedPath()[0];s!==this.host&&(t.stopPropagation(),this.addCallback(t.callback,s,t.subscribe))},this.onProviderRequest=s=>{if(s.context!==this.context)return;if((s.contextTarget??s.composedPath()[0])===this.host)return;const e=new Set;for(const[s,{consumerHost:i}]of this.subscriptions)e.has(s)||(e.add(s),i.dispatchEvent(new t(this.context,i,s,!0)));s.stopPropagation()},this.host=s,void 0!==e.context?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(\"context-request\",this.onContextRequest),this.host.addEventListener(\"context-provider\",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new e(this.context,this.host))}}export{i as ContextProvider,e as ContextProviderEvent};\n//# sourceMappingURL=context-provider.js.map\n","import{ContextProvider as t}from\"../controllers/context-provider.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e({context:e}){return(n,i)=>{const r=new WeakMap;if(\"object\"==typeof i)return{get(){return n.get.call(this)},set(t){return r.get(this).setValue(t),n.set.call(this,t)},init(n){return r.set(this,new t(this,{context:e,initialValue:n})),n}};{n.constructor.addInitializer((n=>{r.set(n,new t(n,{context:e}))}));const o=Object.getOwnPropertyDescriptor(n,i);let s;if(void 0===o){const t=new WeakMap;s={get(){return t.get(this)},set(e){r.get(this).setValue(e),t.set(this,e)},configurable:!0,enumerable:!0}}else{const t=o.set;s={...o,set(e){r.get(this).setValue(e),t?.call(this,e)}}}return void Object.defineProperty(n,i,s)}}}export{e as provide};\n//# sourceMappingURL=provide.js.map\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-BCfY8kxB.cjs`),t=require(`./tailwind.mixin-BF1Huas7.cjs`),n=require(`./litElement.mixin-3llHwB-8.cjs`);let r=require(`rxjs`),i=require(`rxjs/operators`),a=require(`lit/decorators.js`),o=require(`lit`),s=require(`lit/directives/when.js`),c=require(`jsqr`);c=e.n(c,1);var l=class extends n.t(o.css`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-BCfY8kxB.cjs`),t=require(`./decorate-F9CuyeHg.cjs`),n=require(`./litElement.mixin-Bj2q1yPw.cjs`);let r=require(`rxjs`),i=require(`rxjs/operators`),a=require(`lit/decorators.js`),o=require(`lit`),s=require(`lit/directives/when.js`),c=require(`jsqr`);c=e.n(c,1);var l=class extends n.t(o.css`
2
2
  :host {
3
3
  display: block;
4
4
  width: 100%;
@@ -32,4 +32,4 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
32
32
  <div class="absolute bottom-0 right-0 w-12 h-12 border-b-4 border-r-4 border-white rounded-br-2xl"></div>
33
33
  </div>
34
34
  </div>
35
- `}};t.i([(0,a.property)({type:Boolean})],l.prototype,`continuous`,void 0),t.i([(0,a.state)()],l.prototype,`hasPermission`,void 0),t.i([(0,a.state)()],l.prototype,`error`,void 0),t.i([(0,a.state)()],l.prototype,`showSuccess`,void 0),l=t.i([(0,a.customElement)(`schmancy-qr-scanner`)],l),Object.defineProperty(exports,`SchmancyQRScanner`,{enumerable:!0,get:function(){return l}});
35
+ `}};t.t([(0,a.property)({type:Boolean})],l.prototype,`continuous`,void 0),t.t([(0,a.state)()],l.prototype,`hasPermission`,void 0),t.t([(0,a.state)()],l.prototype,`error`,void 0),t.t([(0,a.state)()],l.prototype,`showSuccess`,void 0),l=t.t([(0,a.customElement)(`schmancy-qr-scanner`)],l),Object.defineProperty(exports,`SchmancyQRScanner`,{enumerable:!0,get:function(){return l}});
@@ -1 +1 @@
1
- {"version":3,"file":"qr-scanner.cjs","names":[],"sources":["../src/qr-scanner/qr-scanner.ts"],"sourcesContent":["import { $LitElement } from '@mixins/litElement.mixin'\nimport jsQR from 'jsqr'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { animationFrames, Subject, timer } from 'rxjs'\nimport { distinctUntilChanged, filter, map, takeUntil, throttleTime } from 'rxjs/operators'\n\ninterface QRScanResult {\n\tdata: string\n\ttimestamp: number\n}\n\n@customElement('schmancy-qr-scanner')\nexport class SchmancyQRScanner extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmin-height: 300px;\n\t}\n`) {\n\t@property({ type: Boolean }) continuous = true\n\n\t@state() private hasPermission = false\n\t@state() private error = ''\n\t@state() private showSuccess = false\n\n\tprivate stream: MediaStream | null = null\n\tprivate destroy$ = new Subject<void>()\n\tprivate videoElement: HTMLVideoElement | null = null\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.startCamera()\n\t}\n\n\tprivate async startCamera(): Promise<void> {\n\t\ttry {\n\t\t\tconst constraints: MediaStreamConstraints = {\n\t\t\t\tvideo: {\n\t\t\t\t\tfacingMode: 'environment',\n\t\t\t\t\twidth: { ideal: 1280 },\n\t\t\t\t\theight: { ideal: 720 },\n\t\t\t\t},\n\t\t\t}\n\n\t\t\tthis.stream = await navigator.mediaDevices.getUserMedia(constraints)\n\t\t\tthis.hasPermission = true\n\t\t\tthis.error = ''\n\n\t\t\tawait this.updateComplete\n\n\t\t\tthis.videoElement = this.shadowRoot?.querySelector('#video') as HTMLVideoElement\n\t\t\tif (this.videoElement) {\n\t\t\t\tthis.videoElement.srcObject = this.stream\n\t\t\t\tawait this.videoElement.play()\n\t\t\t\tthis.startScanning()\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Camera access denied:', error)\n\t\t\tthis.hasPermission = false\n\t\t\tthis.error = 'Camera access is required to scan QR codes. Please allow camera access and try again.'\n\t\t}\n\t}\n\n\tprivate stopCamera(): void {\n\t\tthis.destroy$.next()\n\n\t\tif (this.stream) {\n\t\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\t\tthis.stream = null\n\t\t}\n\n\t\tif (this.videoElement) {\n\t\t\tthis.videoElement.srcObject = null\n\t\t\tthis.videoElement = null\n\t\t}\n\n\t\tthis.hasPermission = false\n\t\tthis.error = ''\n\t\tthis.showSuccess = false\n\t}\n\n\tprivate startScanning(): void {\n\t\tif (!this.videoElement || !this.hasPermission) {\n\t\t\treturn\n\t\t}\n\n\t\tanimationFrames()\n\t\t\t.pipe(\n\t\t\t\tmap(() => this.scanFrame()),\n\t\t\t\tfilter((result): result is QRScanResult => result !== null),\n\t\t\t\tdistinctUntilChanged((prev, curr) => {\n\t\t\t\t\tif (prev.data !== curr.data) return false\n\t\t\t\t\treturn curr.timestamp - prev.timestamp < 2000\n\t\t\t\t}),\n\t\t\t\tthrottleTime(500),\n\t\t\t\ttakeUntil(this.destroy$),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: result => this.handleScanResult(result),\n\t\t\t\terror: error => {\n\t\t\t\t\tconsole.error('Scanning error:', error)\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tprivate scanFrame(): QRScanResult | null {\n\t\tif (!this.videoElement || this.videoElement.readyState !== HTMLMediaElement.HAVE_ENOUGH_DATA) {\n\t\t\treturn null\n\t\t}\n\n\t\ttry {\n\t\t\tconst canvas = document.createElement('canvas')\n\t\t\tcanvas.width = this.videoElement.videoWidth\n\t\t\tcanvas.height = this.videoElement.videoHeight\n\n\t\t\tconst ctx = canvas.getContext('2d')\n\t\t\tif (!ctx) return null\n\n\t\t\tctx.drawImage(this.videoElement, 0, 0)\n\t\t\tconst imageData = ctx.getImageData(0, 0, canvas.width, canvas.height)\n\n\t\t\tconst code = jsQR(imageData.data, imageData.width, imageData.height)\n\n\t\t\tif (code && code.data) {\n\t\t\t\treturn {\n\t\t\t\t\tdata: code.data,\n\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Frame scan error:', error)\n\t\t}\n\n\t\treturn null\n\t}\n\n\tprivate handleScanResult(result: QRScanResult): void {\n\t\tthis.showSuccessFlash()\n\n\t\t// Haptic feedback if available\n\t\tif (navigator.vibrate) {\n\t\t\tnavigator.vibrate([100, 50, 100])\n\t\t}\n\n\t\t// Audio feedback\n\t\tthis.playSuccessSound()\n\n\t\t// Dispatch scan result\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('scan-result', {\n\t\t\t\tdetail: { data: result.data, timestamp: result.timestamp },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\n\t}\n\n\tprivate showSuccessFlash(): void {\n\t\tthis.showSuccess = true\n\t\ttimer(500)\n\t\t\t.pipe(takeUntil(this.destroy$))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showSuccess = false\n\t\t\t})\n\t}\n\n\tprivate playSuccessSound(): void {\n\t\ttry {\n\t\t\tconst AudioContextClass = window.AudioContext || (window as unknown as { webkitAudioContext: typeof AudioContext }).webkitAudioContext\n\t\t\tconst audioContext = new AudioContextClass()\n\t\t\tconst oscillator = audioContext.createOscillator()\n\t\t\tconst gainNode = audioContext.createGain()\n\n\t\t\toscillator.connect(gainNode)\n\t\t\tgainNode.connect(audioContext.destination)\n\n\t\t\toscillator.frequency.setValueAtTime(800, audioContext.currentTime)\n\t\t\toscillator.frequency.setValueAtTime(1000, audioContext.currentTime + 0.1)\n\n\t\t\tgainNode.gain.setValueAtTime(0.3, audioContext.currentTime)\n\t\t\tgainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.2)\n\n\t\t\toscillator.start(audioContext.currentTime)\n\t\t\toscillator.stop(audioContext.currentTime + 0.2)\n\t\t} catch {\n\t\t\t// Audio feedback failed silently\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.stopCamera()\n\t\tthis.destroy$.complete()\n\t}\n\n\trender() {\n\t\tif (this.error) {\n\t\t\treturn html`\n\t\t\t\t<div class=\"w-full h-full flex flex-col items-center justify-center bg-black text-white text-center p-5\">\n\t\t\t\t\t<schmancy-icon size=\"64\" class=\"mb-4\">camera_alt</schmancy-icon>\n\t\t\t\t\t<schmancy-typography type=\"headline\" token=\"md\" class=\"mb-4\">Camera Permission Required</schmancy-typography>\n\t\t\t\t\t<schmancy-typography type=\"body\" token=\"md\" class=\"mb-6 max-w-sm\">${this.error}</schmancy-typography>\n\t\t\t\t\t<schmancy-button variant=\"filled\" @click=${() => window.location.reload()}>Retry</schmancy-button>\n\t\t\t\t</div>\n\t\t\t`\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative w-full h-full bg-black overflow-hidden rounded-xl\">\n\t\t\t\t<!-- Video Stream -->\n\t\t\t\t<video id=\"video\" class=\"absolute inset-0 w-full h-full object-cover\" autoplay muted playsinline></video>\n\n\t\t\t\t<!-- Success Flash -->\n\t\t\t\t${when(this.showSuccess, () => html`<div class=\"absolute inset-0 bg-green-400/30 pointer-events-none\"></div>`)}\n\n\t\t\t\t<!-- Minimal corner brackets - Apple style -->\n\t\t\t\t<div class=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[250px] h-[250px] pointer-events-none animate-pulse\">\n\t\t\t\t\t<!-- Top-left corner -->\n\t\t\t\t\t<div class=\"absolute top-0 left-0 w-12 h-12 border-t-4 border-l-4 border-white rounded-tl-2xl\"></div>\n\t\t\t\t\t<!-- Top-right corner -->\n\t\t\t\t\t<div class=\"absolute top-0 right-0 w-12 h-12 border-t-4 border-r-4 border-white rounded-tr-2xl\"></div>\n\t\t\t\t\t<!-- Bottom-left corner -->\n\t\t\t\t\t<div class=\"absolute bottom-0 left-0 w-12 h-12 border-b-4 border-l-4 border-white rounded-bl-2xl\"></div>\n\t\t\t\t\t<!-- Bottom-right corner -->\n\t\t\t\t\t<div class=\"absolute bottom-0 right-0 w-12 h-12 border-b-4 border-r-4 border-white rounded-br-2xl\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-qr-scanner': SchmancyQRScanner\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"qr-scanner.cjs","names":[],"sources":["../src/qr-scanner/qr-scanner.ts"],"sourcesContent":["import { $LitElement } from '@mixins/litElement.mixin'\nimport jsQR from 'jsqr'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { animationFrames, Subject, timer } from 'rxjs'\nimport { distinctUntilChanged, filter, map, takeUntil, throttleTime } from 'rxjs/operators'\n\ninterface QRScanResult {\n\tdata: string\n\ttimestamp: number\n}\n\n@customElement('schmancy-qr-scanner')\nexport class SchmancyQRScanner extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmin-height: 300px;\n\t}\n`) {\n\t@property({ type: Boolean }) continuous = true\n\n\t@state() private hasPermission = false\n\t@state() private error = ''\n\t@state() private showSuccess = false\n\n\tprivate stream: MediaStream | null = null\n\tprivate destroy$ = new Subject<void>()\n\tprivate videoElement: HTMLVideoElement | null = null\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.startCamera()\n\t}\n\n\tprivate async startCamera(): Promise<void> {\n\t\ttry {\n\t\t\tconst constraints: MediaStreamConstraints = {\n\t\t\t\tvideo: {\n\t\t\t\t\tfacingMode: 'environment',\n\t\t\t\t\twidth: { ideal: 1280 },\n\t\t\t\t\theight: { ideal: 720 },\n\t\t\t\t},\n\t\t\t}\n\n\t\t\tthis.stream = await navigator.mediaDevices.getUserMedia(constraints)\n\t\t\tthis.hasPermission = true\n\t\t\tthis.error = ''\n\n\t\t\tawait this.updateComplete\n\n\t\t\tthis.videoElement = this.shadowRoot?.querySelector('#video') as HTMLVideoElement\n\t\t\tif (this.videoElement) {\n\t\t\t\tthis.videoElement.srcObject = this.stream\n\t\t\t\tawait this.videoElement.play()\n\t\t\t\tthis.startScanning()\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Camera access denied:', error)\n\t\t\tthis.hasPermission = false\n\t\t\tthis.error = 'Camera access is required to scan QR codes. Please allow camera access and try again.'\n\t\t}\n\t}\n\n\tprivate stopCamera(): void {\n\t\tthis.destroy$.next()\n\n\t\tif (this.stream) {\n\t\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\t\tthis.stream = null\n\t\t}\n\n\t\tif (this.videoElement) {\n\t\t\tthis.videoElement.srcObject = null\n\t\t\tthis.videoElement = null\n\t\t}\n\n\t\tthis.hasPermission = false\n\t\tthis.error = ''\n\t\tthis.showSuccess = false\n\t}\n\n\tprivate startScanning(): void {\n\t\tif (!this.videoElement || !this.hasPermission) {\n\t\t\treturn\n\t\t}\n\n\t\tanimationFrames()\n\t\t\t.pipe(\n\t\t\t\tmap(() => this.scanFrame()),\n\t\t\t\tfilter((result): result is QRScanResult => result !== null),\n\t\t\t\tdistinctUntilChanged((prev, curr) => {\n\t\t\t\t\tif (prev.data !== curr.data) return false\n\t\t\t\t\treturn curr.timestamp - prev.timestamp < 2000\n\t\t\t\t}),\n\t\t\t\tthrottleTime(500),\n\t\t\t\ttakeUntil(this.destroy$),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: result => this.handleScanResult(result),\n\t\t\t\terror: error => {\n\t\t\t\t\tconsole.error('Scanning error:', error)\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tprivate scanFrame(): QRScanResult | null {\n\t\tif (!this.videoElement || this.videoElement.readyState !== HTMLMediaElement.HAVE_ENOUGH_DATA) {\n\t\t\treturn null\n\t\t}\n\n\t\ttry {\n\t\t\tconst canvas = document.createElement('canvas')\n\t\t\tcanvas.width = this.videoElement.videoWidth\n\t\t\tcanvas.height = this.videoElement.videoHeight\n\n\t\t\tconst ctx = canvas.getContext('2d')\n\t\t\tif (!ctx) return null\n\n\t\t\tctx.drawImage(this.videoElement, 0, 0)\n\t\t\tconst imageData = ctx.getImageData(0, 0, canvas.width, canvas.height)\n\n\t\t\tconst code = jsQR(imageData.data, imageData.width, imageData.height)\n\n\t\t\tif (code && code.data) {\n\t\t\t\treturn {\n\t\t\t\t\tdata: code.data,\n\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Frame scan error:', error)\n\t\t}\n\n\t\treturn null\n\t}\n\n\tprivate handleScanResult(result: QRScanResult): void {\n\t\tthis.showSuccessFlash()\n\n\t\t// Haptic feedback if available\n\t\tif (navigator.vibrate) {\n\t\t\tnavigator.vibrate([100, 50, 100])\n\t\t}\n\n\t\t// Audio feedback\n\t\tthis.playSuccessSound()\n\n\t\t// Dispatch scan result\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('scan-result', {\n\t\t\t\tdetail: { data: result.data, timestamp: result.timestamp },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\n\t}\n\n\tprivate showSuccessFlash(): void {\n\t\tthis.showSuccess = true\n\t\ttimer(500)\n\t\t\t.pipe(takeUntil(this.destroy$))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showSuccess = false\n\t\t\t})\n\t}\n\n\tprivate playSuccessSound(): void {\n\t\ttry {\n\t\t\tconst AudioContextClass = window.AudioContext || (window as unknown as { webkitAudioContext: typeof AudioContext }).webkitAudioContext\n\t\t\tconst audioContext = new AudioContextClass()\n\t\t\tconst oscillator = audioContext.createOscillator()\n\t\t\tconst gainNode = audioContext.createGain()\n\n\t\t\toscillator.connect(gainNode)\n\t\t\tgainNode.connect(audioContext.destination)\n\n\t\t\toscillator.frequency.setValueAtTime(800, audioContext.currentTime)\n\t\t\toscillator.frequency.setValueAtTime(1000, audioContext.currentTime + 0.1)\n\n\t\t\tgainNode.gain.setValueAtTime(0.3, audioContext.currentTime)\n\t\t\tgainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.2)\n\n\t\t\toscillator.start(audioContext.currentTime)\n\t\t\toscillator.stop(audioContext.currentTime + 0.2)\n\t\t} catch {\n\t\t\t// Audio feedback failed silently\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.stopCamera()\n\t\tthis.destroy$.complete()\n\t}\n\n\trender() {\n\t\tif (this.error) {\n\t\t\treturn html`\n\t\t\t\t<div class=\"w-full h-full flex flex-col items-center justify-center bg-black text-white text-center p-5\">\n\t\t\t\t\t<schmancy-icon size=\"64\" class=\"mb-4\">camera_alt</schmancy-icon>\n\t\t\t\t\t<schmancy-typography type=\"headline\" token=\"md\" class=\"mb-4\">Camera Permission Required</schmancy-typography>\n\t\t\t\t\t<schmancy-typography type=\"body\" token=\"md\" class=\"mb-6 max-w-sm\">${this.error}</schmancy-typography>\n\t\t\t\t\t<schmancy-button variant=\"filled\" @click=${() => window.location.reload()}>Retry</schmancy-button>\n\t\t\t\t</div>\n\t\t\t`\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative w-full h-full bg-black overflow-hidden rounded-xl\">\n\t\t\t\t<!-- Video Stream -->\n\t\t\t\t<video id=\"video\" class=\"absolute inset-0 w-full h-full object-cover\" autoplay muted playsinline></video>\n\n\t\t\t\t<!-- Success Flash -->\n\t\t\t\t${when(this.showSuccess, () => html`<div class=\"absolute inset-0 bg-green-400/30 pointer-events-none\"></div>`)}\n\n\t\t\t\t<!-- Minimal corner brackets - Apple style -->\n\t\t\t\t<div class=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[250px] h-[250px] pointer-events-none animate-pulse\">\n\t\t\t\t\t<!-- Top-left corner -->\n\t\t\t\t\t<div class=\"absolute top-0 left-0 w-12 h-12 border-t-4 border-l-4 border-white rounded-tl-2xl\"></div>\n\t\t\t\t\t<!-- Top-right corner -->\n\t\t\t\t\t<div class=\"absolute top-0 right-0 w-12 h-12 border-t-4 border-r-4 border-white rounded-tr-2xl\"></div>\n\t\t\t\t\t<!-- Bottom-left corner -->\n\t\t\t\t\t<div class=\"absolute bottom-0 left-0 w-12 h-12 border-b-4 border-l-4 border-white rounded-bl-2xl\"></div>\n\t\t\t\t\t<!-- Bottom-right corner -->\n\t\t\t\t\t<div class=\"absolute bottom-0 right-0 w-12 h-12 border-b-4 border-r-4 border-white rounded-br-2xl\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-qr-scanner': SchmancyQRScanner\n\t}\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { i as e } from "./tailwind.mixin-BCJOOX1_.js";
2
- import { t } from "./litElement.mixin-6jJYHCrZ.js";
1
+ import { t as e } from "./decorate-D_utPUsC.js";
2
+ import { t } from "./litElement.mixin-CncaUoxz.js";
3
3
  import { Subject as n, animationFrames as r, timer as i } from "rxjs";
4
4
  import { distinctUntilChanged as a, filter as o, map as s, takeUntil as c, throttleTime as l } from "rxjs/operators";
5
5
  import { customElement as u, property as d, state as f } from "lit/decorators.js";
@@ -0,0 +1,40 @@
1
+ require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-Cpa-VnnX.cjs`),t=require(`./decorate-F9CuyeHg.cjs`),n=require(`./mixins.cjs`);let r=require(`rxjs`),i=require(`lit/decorators.js`),a=require(`lit`),o=require(`lit/directives/when.js`);var s=class extends n.FormFieldMixin(e.t(`:host{display:inherit;position:inherit}`)){constructor(...e){super(...e),this.label=``,this.name=``,this.value=``,this.options=[],this.required=!1,this.selection$=new r.Subject}connectedCallback(){super.connectedCallback(),this.selection$.pipe((0,r.takeUntil)(this.disconnecting)).subscribe(e=>{this.value=e,this.emitChange({value:e}),this.updateChildRadioButtons()}),(0,r.fromEvent)(this,`radio-button-click`).pipe((0,r.takeUntil)(this.disconnecting)).subscribe(e=>{this.selection$.next(e.detail.value)})}disconnectedCallback(){super.disconnectedCallback(),this.selection$?.complete()}handleSelection(e){this.selection$.next(e)}updateChildRadioButtons(){this.querySelectorAll(`schmancy-radio-button`).forEach(e=>{e.getAttribute(`value`)===this.value?e.setAttribute(`checked`,``):e.removeAttribute(`checked`)})}updated(e){super.updated(e),e.has(`value`)&&this.updateChildRadioButtons()}render(){let e=this.childElementCount>0;return a.html`
2
+ <div class="grid gap-4">
3
+ ${(0,o.when)(this.label,()=>a.html` <label class="text-base font-semibold text-surface-on">${this.label}</label> `)}
4
+
5
+ ${e?a.html`<slot></slot>`:this.options?.map(e=>a.html`
6
+ <div class="flex items-center">
7
+ <input
8
+ .required=${this.required}
9
+ id=${e.value}
10
+ class="h-4 w-4 border-outline text-primary-default focus:ring-primary-default"
11
+ type="radio"
12
+ name=${this.name}
13
+ .value=${e.value}
14
+ .checked=${e.value===this.value}
15
+ @change=${()=>this.handleSelection(e.value)}
16
+ />
17
+ <label for=${e.value} class="ml-3 block text-sm font-medium leading-6 text-surface-on">
18
+ ${e.label||e.value}
19
+ </label>
20
+ </div>
21
+ `)}
22
+ </div>
23
+ `}};t.t([(0,i.property)({type:String})],s.prototype,`label`,void 0),t.t([(0,i.property)({type:String})],s.prototype,`name`,void 0),t.t([(0,i.property)({type:String})],s.prototype,`value`,void 0),t.t([(0,i.property)({type:Array})],s.prototype,`options`,void 0),t.t([(0,i.property)({type:Boolean})],s.prototype,`required`,void 0),s=t.t([(0,i.customElement)(`schmancy-radio-group`)],s);var c=class extends n.FormFieldMixin(e.t()){constructor(...e){super(...e),this.value=``,this.checked=!1,this.disabled=!1,this.name=``}connectedCallback(){super.connectedCallback(),(0,r.fromEvent)(this,`click`).pipe((0,r.takeUntil)(this.disconnecting)).subscribe(this.handleClick)}disconnectedCallback(){super.disconnectedCallback()}handleClick(){if(!this.disabled)if(this.closest(`schmancy-radio-group`)){let e=new CustomEvent(`radio-button-click`,{detail:{value:this.value},bubbles:!0,composed:!0});this.dispatchEvent(e)}else this.checked=!0,this.emitChange({value:this.value})}render(){return a.html`
24
+ <label class="relative flex items-start cursor-pointer">
25
+ <div class="flex items-center h-6">
26
+ <input
27
+ type="radio"
28
+ class="h-4 w-4 text-primary-default focus:ring-primary-container border-outline"
29
+ .value=${this.value}
30
+ .checked=${this.checked}
31
+ .disabled=${this.disabled}
32
+ .name=${this.name}
33
+ @change=${()=>{}}
34
+ />
35
+ </div>
36
+ <div class="ml-3">
37
+ <slot name="label"></slot>
38
+ </div>
39
+ </label>
40
+ `}};t.t([(0,i.property)({type:String})],c.prototype,`value`,void 0),t.t([(0,i.property)({type:Boolean,reflect:!0})],c.prototype,`checked`,void 0),t.t([(0,i.property)({type:Boolean})],c.prototype,`disabled`,void 0),t.t([(0,i.property)({type:String})],c.prototype,`name`,void 0),c=t.t([(0,i.customElement)(`schmancy-radio-button`)],c),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group-Cspwd-Vw.cjs","names":[],"sources":["../src/radio-group/radio-group.scss?inline","../src/radio-group/radio-group.ts","../src/radio-group/radio-button.ts"],"sourcesContent":[":host {\n\tdisplay: inherit;\n\tposition: inherit;\n}\n","import { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { Subject, fromEvent, takeUntil } from 'rxjs'\nimport style from './radio-group.scss?inline'\nimport { TailwindElement } from '@mixins/index'\nimport { when } from 'lit/directives/when.js'\nimport { FormFieldMixin } from '../../mixins/formField.mixin'\n\nexport type SchmancyRadioGroupOption = {\n\tlabel: string\n\tvalue: string\n}\nexport type SchmancyRadioGroupChangeEvent = CustomEvent<{\n\tvalue: string\n}>\n@customElement('schmancy-radio-group')\nexport class RadioGroup extends FormFieldMixin(TailwindElement(style)) {\n\t@property({ type: String }) override label = ''\n\t@property({ type: String }) override name = ''\n\t@property({ type: String }) override value = ''\n\t@property({ type: Array }) options: SchmancyRadioGroupOption[] = []\n\t@property({ type: Boolean }) override required: boolean = false\n\tprivate selection$ = new Subject<string>()\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.selection$.pipe(takeUntil(this.disconnecting)).subscribe(value => {\n\t\t\tthis.value = value\n\t\t\tthis.emitChange({ value })\n\t\t\t// Update all child radio buttons\n\t\t\tthis.updateChildRadioButtons()\n\t\t})\n\n\t\t// Listen for radio button clicks from children\n\t\tfromEvent<CustomEvent>(this, 'radio-button-click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe((e: CustomEvent) => {\n\t\t\t\tthis.selection$.next(e.detail.value)\n\t\t\t})\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Subscriptions are automatically cleaned up via takeUntil(this.disconnecting)\n\t\tthis.selection$?.complete()\n\t}\n\t\n\tprivate handleSelection(value: string) {\n\t\tthis.selection$.next(value)\n\t}\n\t\n\tprivate updateChildRadioButtons() {\n\t\t// Update child radio buttons checked state\n\t\tconst radioButtons = this.querySelectorAll('schmancy-radio-button')\n\t\tradioButtons.forEach(button => {\n\t\t\tconst buttonValue = button.getAttribute('value')\n\t\t\tif (buttonValue === this.value) {\n\t\t\t\tbutton.setAttribute('checked', '')\n\t\t\t} else {\n\t\t\t\tbutton.removeAttribute('checked')\n\t\t\t}\n\t\t})\n\t}\n\t\n\t// For backwards compatibility with direct option setting\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('value')) {\n\t\t\tthis.updateChildRadioButtons()\n\t\t}\n\t}\n\n\trender() {\n\t\t// Check if we have any slotted radio buttons\n\t\tconst hasSlottedContent = this.childElementCount > 0\n\t\t\n\t\treturn html`\n\t\t\t<div class=\"grid gap-4\">\n\t\t\t\t${when(this.label, () => html` <label class=\"text-base font-semibold text-surface-on\">${this.label}</label> `)}\n\t\t\t\t\n\t\t\t\t${hasSlottedContent ? \n\t\t\t\t\thtml`<slot></slot>` :\n\t\t\t\t\tthis.options?.map(option => html`\n\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t\t\t\tid=${option.value}\n\t\t\t\t\t\t\t\tclass=\"h-4 w-4 border-outline text-primary-default focus:ring-primary-default\"\n\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\tname=${this.name}\n\t\t\t\t\t\t\t\t.value=${option.value}\n\t\t\t\t\t\t\t\t.checked=${option.value === this.value}\n\t\t\t\t\t\t\t\t@change=${() => this.handleSelection(option.value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label for=${option.value} class=\"ml-3 block text-sm font-medium leading-6 text-surface-on\">\n\t\t\t\t\t\t\t\t${option.label || option.value}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`)\n\t\t\t\t}\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-radio-group': RadioGroup\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { FormFieldMixin } from '../../mixins/formField.mixin'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Radio button component for use within radio groups.\n *\n * @prop {string} name - Name attribute for grouping radio buttons\n * @prop {string} value - Value of this radio button\n * @prop {boolean} checked - Whether the radio button is selected\n * @prop {boolean} disabled - Whether the radio button is disabled\n */\n@customElement('schmancy-radio-button')\nexport class RadioButton extends FormFieldMixin(TailwindElement()) {\n\t@property({ type: String }) override value = ''\n\t@property({ type: Boolean, reflect: true }) checked = false\n\t@property({ type: Boolean }) override disabled = false\n\t@property({ type: String }) override name = ''\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\t// Listen for click events\n\t\tfromEvent<MouseEvent>(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(this.handleClick)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Event listeners are automatically cleaned up via takeUntil(this.disconnecting)\n\t}\n\n\tprivate handleClick() {\n\t\tif (this.disabled) return\n\n\t\t// Find parent radio-group if exists\n\t\tconst radioGroup = this.closest('schmancy-radio-group')\n\t\tif (radioGroup) {\n\t\t\t// Let the radio-group handle the change\n\t\t\tconst event = new CustomEvent('radio-button-click', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t\tthis.dispatchEvent(event)\n\t\t} else {\n\t\t\t// Standalone usage\n\t\t\tthis.checked = true\n\t\t\tthis.emitChange({ value: this.value })\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<label class=\"relative flex items-start cursor-pointer\">\n\t\t\t\t<div class=\"flex items-center h-6\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tclass=\"h-4 w-4 text-primary-default focus:ring-primary-container border-outline\"\n\t\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t\t.checked=${this.checked}\n\t\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t\t@change=${() => {}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t<slot name=\"label\"></slot>\n\t\t\t\t</div>\n\t\t\t</label>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-radio-button': RadioButton\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"radio-group-Cd9pZ2MR.cjs","names":[],"sources":["../src/radio-group/radio-group.scss?inline","../src/radio-group/radio-group.ts","../src/radio-group/radio-button.ts"],"sourcesContent":[":host {\n\tdisplay: inherit;\n\tposition: inherit;\n}\n","import { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { Subject, fromEvent, takeUntil } from 'rxjs'\nimport style from './radio-group.scss?inline'\nimport { TailwindElement } from '@mixins/index'\nimport { when } from 'lit/directives/when.js'\nimport { FormFieldMixin } from '../../mixins/formField.mixin'\n\nexport type SchmancyRadioGroupOption = {\n\tlabel: string\n\tvalue: string\n}\nexport type SchmancyRadioGroupChangeEvent = CustomEvent<{\n\tvalue: string\n}>\n@customElement('schmancy-radio-group')\nexport class RadioGroup extends FormFieldMixin(TailwindElement(style)) {\n\t@property({ type: String }) override label = ''\n\t@property({ type: String }) override name = ''\n\t@property({ type: String }) override value = ''\n\t@property({ type: Array }) options: SchmancyRadioGroupOption[] = []\n\t@property({ type: Boolean }) override required: boolean = false\n\tprivate selection$ = new Subject<string>()\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.selection$.pipe(takeUntil(this.disconnecting)).subscribe(value => {\n\t\t\tthis.value = value\n\t\t\tthis.emitChange({ value })\n\t\t\t// Update all child radio buttons\n\t\t\tthis.updateChildRadioButtons()\n\t\t})\n\n\t\t// Listen for radio button clicks from children\n\t\tfromEvent<CustomEvent>(this, 'radio-button-click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe((e: CustomEvent) => {\n\t\t\t\tthis.selection$.next(e.detail.value)\n\t\t\t})\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Subscriptions are automatically cleaned up via takeUntil(this.disconnecting)\n\t\tthis.selection$?.complete()\n\t}\n\t\n\tprivate handleSelection(value: string) {\n\t\tthis.selection$.next(value)\n\t}\n\t\n\tprivate updateChildRadioButtons() {\n\t\t// Update child radio buttons checked state\n\t\tconst radioButtons = this.querySelectorAll('schmancy-radio-button')\n\t\tradioButtons.forEach(button => {\n\t\t\tconst buttonValue = button.getAttribute('value')\n\t\t\tif (buttonValue === this.value) {\n\t\t\t\tbutton.setAttribute('checked', '')\n\t\t\t} else {\n\t\t\t\tbutton.removeAttribute('checked')\n\t\t\t}\n\t\t})\n\t}\n\t\n\t// For backwards compatibility with direct option setting\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('value')) {\n\t\t\tthis.updateChildRadioButtons()\n\t\t}\n\t}\n\n\trender() {\n\t\t// Check if we have any slotted radio buttons\n\t\tconst hasSlottedContent = this.childElementCount > 0\n\t\t\n\t\treturn html`\n\t\t\t<div class=\"grid gap-4\">\n\t\t\t\t${when(this.label, () => html` <label class=\"text-base font-semibold text-surface-on\">${this.label}</label> `)}\n\t\t\t\t\n\t\t\t\t${hasSlottedContent ? \n\t\t\t\t\thtml`<slot></slot>` :\n\t\t\t\t\tthis.options?.map(option => html`\n\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t\t\t\tid=${option.value}\n\t\t\t\t\t\t\t\tclass=\"h-4 w-4 border-outline text-primary-default focus:ring-primary-default\"\n\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\tname=${this.name}\n\t\t\t\t\t\t\t\t.value=${option.value}\n\t\t\t\t\t\t\t\t.checked=${option.value === this.value}\n\t\t\t\t\t\t\t\t@change=${() => this.handleSelection(option.value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label for=${option.value} class=\"ml-3 block text-sm font-medium leading-6 text-surface-on\">\n\t\t\t\t\t\t\t\t${option.label || option.value}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`)\n\t\t\t\t}\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-radio-group': RadioGroup\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { FormFieldMixin } from '../../mixins/formField.mixin'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Radio button component for use within radio groups.\n *\n * @prop {string} name - Name attribute for grouping radio buttons\n * @prop {string} value - Value of this radio button\n * @prop {boolean} checked - Whether the radio button is selected\n * @prop {boolean} disabled - Whether the radio button is disabled\n */\n@customElement('schmancy-radio-button')\nexport class RadioButton extends FormFieldMixin(TailwindElement()) {\n\t@property({ type: String }) override value = ''\n\t@property({ type: Boolean, reflect: true }) checked = false\n\t@property({ type: Boolean }) override disabled = false\n\t@property({ type: String }) override name = ''\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\t// Listen for click events\n\t\tfromEvent<MouseEvent>(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(this.handleClick)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Event listeners are automatically cleaned up via takeUntil(this.disconnecting)\n\t}\n\n\tprivate handleClick() {\n\t\tif (this.disabled) return\n\n\t\t// Find parent radio-group if exists\n\t\tconst radioGroup = this.closest('schmancy-radio-group')\n\t\tif (radioGroup) {\n\t\t\t// Let the radio-group handle the change\n\t\t\tconst event = new CustomEvent('radio-button-click', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t\tthis.dispatchEvent(event)\n\t\t} else {\n\t\t\t// Standalone usage\n\t\t\tthis.checked = true\n\t\t\tthis.emitChange({ value: this.value })\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<label class=\"relative flex items-start cursor-pointer\">\n\t\t\t\t<div class=\"flex items-center h-6\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tclass=\"h-4 w-4 text-primary-default focus:ring-primary-container border-outline\"\n\t\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t\t.checked=${this.checked}\n\t\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t\t@change=${() => {}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t<slot name=\"label\"></slot>\n\t\t\t\t</div>\n\t\t\t</label>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-radio-button': RadioButton\n\t}\n}\n"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { i as e, t } from "./tailwind.mixin-BCJOOX1_.js";
1
+ import { t as e } from "./tailwind.mixin-DufHBjmb.js";
2
+ import { t } from "./decorate-D_utPUsC.js";
2
3
  import { FormFieldMixin as n } from "./mixins.js";
3
4
  import { Subject as r, fromEvent as i, takeUntil as a } from "rxjs";
4
5
  import { customElement as o, property as s } from "lit/decorators.js";
5
6
  import { html as c } from "lit";
6
7
  import { when as l } from "lit/directives/when.js";
7
- var u = class extends n(t(":host{display:inherit;position:inherit}")) {
8
+ var u = class extends n(e(":host{display:inherit;position:inherit}")) {
8
9
  constructor(...e) {
9
10
  super(...e), this.label = "", this.name = "", this.value = "", this.options = [], this.required = !1, this.selection$ = new r();
10
11
  }
@@ -56,8 +57,8 @@ var u = class extends n(t(":host{display:inherit;position:inherit}")) {
56
57
  `;
57
58
  }
58
59
  };
59
- e([s({ type: String })], u.prototype, "label", void 0), e([s({ type: String })], u.prototype, "name", void 0), e([s({ type: String })], u.prototype, "value", void 0), e([s({ type: Array })], u.prototype, "options", void 0), e([s({ type: Boolean })], u.prototype, "required", void 0), u = e([o("schmancy-radio-group")], u);
60
- var d = class extends n(t()) {
60
+ t([s({ type: String })], u.prototype, "label", void 0), t([s({ type: String })], u.prototype, "name", void 0), t([s({ type: String })], u.prototype, "value", void 0), t([s({ type: Array })], u.prototype, "options", void 0), t([s({ type: Boolean })], u.prototype, "required", void 0), u = t([o("schmancy-radio-group")], u);
61
+ var d = class extends n(e()) {
61
62
  constructor(...e) {
62
63
  super(...e), this.value = "", this.checked = !1, this.disabled = !1, this.name = "";
63
64
  }
@@ -98,8 +99,8 @@ var d = class extends n(t()) {
98
99
  `;
99
100
  }
100
101
  };
101
- e([s({ type: String })], d.prototype, "value", void 0), e([s({
102
+ t([s({ type: String })], d.prototype, "value", void 0), t([s({
102
103
  type: Boolean,
103
104
  reflect: !0
104
- })], d.prototype, "checked", void 0), e([s({ type: Boolean })], d.prototype, "disabled", void 0), e([s({ type: String })], d.prototype, "name", void 0), d = e([o("schmancy-radio-button")], d);
105
+ })], d.prototype, "checked", void 0), t([s({ type: Boolean })], d.prototype, "disabled", void 0), t([s({ type: String })], d.prototype, "name", void 0), d = t([o("schmancy-radio-button")], d);
105
106
  export { u as n, d as t };
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group-zSO0AkJf.js","names":[],"sources":["../src/radio-group/radio-group.scss?inline","../src/radio-group/radio-group.ts","../src/radio-group/radio-button.ts"],"sourcesContent":[":host {\n\tdisplay: inherit;\n\tposition: inherit;\n}\n","import { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { Subject, fromEvent, takeUntil } from 'rxjs'\nimport style from './radio-group.scss?inline'\nimport { TailwindElement } from '@mixins/index'\nimport { when } from 'lit/directives/when.js'\nimport { FormFieldMixin } from '../../mixins/formField.mixin'\n\nexport type SchmancyRadioGroupOption = {\n\tlabel: string\n\tvalue: string\n}\nexport type SchmancyRadioGroupChangeEvent = CustomEvent<{\n\tvalue: string\n}>\n@customElement('schmancy-radio-group')\nexport class RadioGroup extends FormFieldMixin(TailwindElement(style)) {\n\t@property({ type: String }) override label = ''\n\t@property({ type: String }) override name = ''\n\t@property({ type: String }) override value = ''\n\t@property({ type: Array }) options: SchmancyRadioGroupOption[] = []\n\t@property({ type: Boolean }) override required: boolean = false\n\tprivate selection$ = new Subject<string>()\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.selection$.pipe(takeUntil(this.disconnecting)).subscribe(value => {\n\t\t\tthis.value = value\n\t\t\tthis.emitChange({ value })\n\t\t\t// Update all child radio buttons\n\t\t\tthis.updateChildRadioButtons()\n\t\t})\n\n\t\t// Listen for radio button clicks from children\n\t\tfromEvent<CustomEvent>(this, 'radio-button-click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe((e: CustomEvent) => {\n\t\t\t\tthis.selection$.next(e.detail.value)\n\t\t\t})\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Subscriptions are automatically cleaned up via takeUntil(this.disconnecting)\n\t\tthis.selection$?.complete()\n\t}\n\t\n\tprivate handleSelection(value: string) {\n\t\tthis.selection$.next(value)\n\t}\n\t\n\tprivate updateChildRadioButtons() {\n\t\t// Update child radio buttons checked state\n\t\tconst radioButtons = this.querySelectorAll('schmancy-radio-button')\n\t\tradioButtons.forEach(button => {\n\t\t\tconst buttonValue = button.getAttribute('value')\n\t\t\tif (buttonValue === this.value) {\n\t\t\t\tbutton.setAttribute('checked', '')\n\t\t\t} else {\n\t\t\t\tbutton.removeAttribute('checked')\n\t\t\t}\n\t\t})\n\t}\n\t\n\t// For backwards compatibility with direct option setting\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('value')) {\n\t\t\tthis.updateChildRadioButtons()\n\t\t}\n\t}\n\n\trender() {\n\t\t// Check if we have any slotted radio buttons\n\t\tconst hasSlottedContent = this.childElementCount > 0\n\t\t\n\t\treturn html`\n\t\t\t<div class=\"grid gap-4\">\n\t\t\t\t${when(this.label, () => html` <label class=\"text-base font-semibold text-surface-on\">${this.label}</label> `)}\n\t\t\t\t\n\t\t\t\t${hasSlottedContent ? \n\t\t\t\t\thtml`<slot></slot>` :\n\t\t\t\t\tthis.options?.map(option => html`\n\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t\t\t\tid=${option.value}\n\t\t\t\t\t\t\t\tclass=\"h-4 w-4 border-outline text-primary-default focus:ring-primary-default\"\n\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\tname=${this.name}\n\t\t\t\t\t\t\t\t.value=${option.value}\n\t\t\t\t\t\t\t\t.checked=${option.value === this.value}\n\t\t\t\t\t\t\t\t@change=${() => this.handleSelection(option.value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label for=${option.value} class=\"ml-3 block text-sm font-medium leading-6 text-surface-on\">\n\t\t\t\t\t\t\t\t${option.label || option.value}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`)\n\t\t\t\t}\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-radio-group': RadioGroup\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { FormFieldMixin } from '../../mixins/formField.mixin'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Radio button component for use within radio groups.\n *\n * @prop {string} name - Name attribute for grouping radio buttons\n * @prop {string} value - Value of this radio button\n * @prop {boolean} checked - Whether the radio button is selected\n * @prop {boolean} disabled - Whether the radio button is disabled\n */\n@customElement('schmancy-radio-button')\nexport class RadioButton extends FormFieldMixin(TailwindElement()) {\n\t@property({ type: String }) override value = ''\n\t@property({ type: Boolean, reflect: true }) checked = false\n\t@property({ type: Boolean }) override disabled = false\n\t@property({ type: String }) override name = ''\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\t// Listen for click events\n\t\tfromEvent<MouseEvent>(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(this.handleClick)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Event listeners are automatically cleaned up via takeUntil(this.disconnecting)\n\t}\n\n\tprivate handleClick() {\n\t\tif (this.disabled) return\n\n\t\t// Find parent radio-group if exists\n\t\tconst radioGroup = this.closest('schmancy-radio-group')\n\t\tif (radioGroup) {\n\t\t\t// Let the radio-group handle the change\n\t\t\tconst event = new CustomEvent('radio-button-click', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t\tthis.dispatchEvent(event)\n\t\t} else {\n\t\t\t// Standalone usage\n\t\t\tthis.checked = true\n\t\t\tthis.emitChange({ value: this.value })\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<label class=\"relative flex items-start cursor-pointer\">\n\t\t\t\t<div class=\"flex items-center h-6\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tclass=\"h-4 w-4 text-primary-default focus:ring-primary-container border-outline\"\n\t\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t\t.checked=${this.checked}\n\t\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t\t@change=${() => {}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t<slot name=\"label\"></slot>\n\t\t\t\t</div>\n\t\t\t</label>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-radio-button': RadioButton\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"radio-group-CyRHgIF3.js","names":[],"sources":["../src/radio-group/radio-group.scss?inline","../src/radio-group/radio-group.ts","../src/radio-group/radio-button.ts"],"sourcesContent":[":host {\n\tdisplay: inherit;\n\tposition: inherit;\n}\n","import { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { Subject, fromEvent, takeUntil } from 'rxjs'\nimport style from './radio-group.scss?inline'\nimport { TailwindElement } from '@mixins/index'\nimport { when } from 'lit/directives/when.js'\nimport { FormFieldMixin } from '../../mixins/formField.mixin'\n\nexport type SchmancyRadioGroupOption = {\n\tlabel: string\n\tvalue: string\n}\nexport type SchmancyRadioGroupChangeEvent = CustomEvent<{\n\tvalue: string\n}>\n@customElement('schmancy-radio-group')\nexport class RadioGroup extends FormFieldMixin(TailwindElement(style)) {\n\t@property({ type: String }) override label = ''\n\t@property({ type: String }) override name = ''\n\t@property({ type: String }) override value = ''\n\t@property({ type: Array }) options: SchmancyRadioGroupOption[] = []\n\t@property({ type: Boolean }) override required: boolean = false\n\tprivate selection$ = new Subject<string>()\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.selection$.pipe(takeUntil(this.disconnecting)).subscribe(value => {\n\t\t\tthis.value = value\n\t\t\tthis.emitChange({ value })\n\t\t\t// Update all child radio buttons\n\t\t\tthis.updateChildRadioButtons()\n\t\t})\n\n\t\t// Listen for radio button clicks from children\n\t\tfromEvent<CustomEvent>(this, 'radio-button-click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe((e: CustomEvent) => {\n\t\t\t\tthis.selection$.next(e.detail.value)\n\t\t\t})\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Subscriptions are automatically cleaned up via takeUntil(this.disconnecting)\n\t\tthis.selection$?.complete()\n\t}\n\t\n\tprivate handleSelection(value: string) {\n\t\tthis.selection$.next(value)\n\t}\n\t\n\tprivate updateChildRadioButtons() {\n\t\t// Update child radio buttons checked state\n\t\tconst radioButtons = this.querySelectorAll('schmancy-radio-button')\n\t\tradioButtons.forEach(button => {\n\t\t\tconst buttonValue = button.getAttribute('value')\n\t\t\tif (buttonValue === this.value) {\n\t\t\t\tbutton.setAttribute('checked', '')\n\t\t\t} else {\n\t\t\t\tbutton.removeAttribute('checked')\n\t\t\t}\n\t\t})\n\t}\n\t\n\t// For backwards compatibility with direct option setting\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('value')) {\n\t\t\tthis.updateChildRadioButtons()\n\t\t}\n\t}\n\n\trender() {\n\t\t// Check if we have any slotted radio buttons\n\t\tconst hasSlottedContent = this.childElementCount > 0\n\t\t\n\t\treturn html`\n\t\t\t<div class=\"grid gap-4\">\n\t\t\t\t${when(this.label, () => html` <label class=\"text-base font-semibold text-surface-on\">${this.label}</label> `)}\n\t\t\t\t\n\t\t\t\t${hasSlottedContent ? \n\t\t\t\t\thtml`<slot></slot>` :\n\t\t\t\t\tthis.options?.map(option => html`\n\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t\t\t\tid=${option.value}\n\t\t\t\t\t\t\t\tclass=\"h-4 w-4 border-outline text-primary-default focus:ring-primary-default\"\n\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\tname=${this.name}\n\t\t\t\t\t\t\t\t.value=${option.value}\n\t\t\t\t\t\t\t\t.checked=${option.value === this.value}\n\t\t\t\t\t\t\t\t@change=${() => this.handleSelection(option.value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label for=${option.value} class=\"ml-3 block text-sm font-medium leading-6 text-surface-on\">\n\t\t\t\t\t\t\t\t${option.label || option.value}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`)\n\t\t\t\t}\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-radio-group': RadioGroup\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { FormFieldMixin } from '../../mixins/formField.mixin'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Radio button component for use within radio groups.\n *\n * @prop {string} name - Name attribute for grouping radio buttons\n * @prop {string} value - Value of this radio button\n * @prop {boolean} checked - Whether the radio button is selected\n * @prop {boolean} disabled - Whether the radio button is disabled\n */\n@customElement('schmancy-radio-button')\nexport class RadioButton extends FormFieldMixin(TailwindElement()) {\n\t@property({ type: String }) override value = ''\n\t@property({ type: Boolean, reflect: true }) checked = false\n\t@property({ type: Boolean }) override disabled = false\n\t@property({ type: String }) override name = ''\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\t// Listen for click events\n\t\tfromEvent<MouseEvent>(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(this.handleClick)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Event listeners are automatically cleaned up via takeUntil(this.disconnecting)\n\t}\n\n\tprivate handleClick() {\n\t\tif (this.disabled) return\n\n\t\t// Find parent radio-group if exists\n\t\tconst radioGroup = this.closest('schmancy-radio-group')\n\t\tif (radioGroup) {\n\t\t\t// Let the radio-group handle the change\n\t\t\tconst event = new CustomEvent('radio-button-click', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t\tthis.dispatchEvent(event)\n\t\t} else {\n\t\t\t// Standalone usage\n\t\t\tthis.checked = true\n\t\t\tthis.emitChange({ value: this.value })\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<label class=\"relative flex items-start cursor-pointer\">\n\t\t\t\t<div class=\"flex items-center h-6\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tclass=\"h-4 w-4 text-primary-default focus:ring-primary-container border-outline\"\n\t\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t\t.checked=${this.checked}\n\t\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t\t@change=${() => {}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t<slot name=\"label\"></slot>\n\t\t\t\t</div>\n\t\t\t</label>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-radio-button': RadioButton\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./radio-group-Cspwd-Vw.cjs`);Object.defineProperty(exports,`RadioButton`,{enumerable:!0,get:function(){return e.t}}),Object.defineProperty(exports,`RadioGroup`,{enumerable:!0,get:function(){return e.n}});
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./radio-group-Cd9pZ2MR.cjs`);Object.defineProperty(exports,`RadioButton`,{enumerable:!0,get:function(){return e.t}}),Object.defineProperty(exports,`RadioGroup`,{enumerable:!0,get:function(){return e.n}});
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./radio-group-zSO0AkJf.js";
1
+ import { n as e, t } from "./radio-group-CyRHgIF3.js";
2
2
  export { t as RadioButton, e as RadioGroup };
package/dist/range.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-BF1Huas7.cjs`);require(`./mixins.cjs`);let t=require(`lit/decorators.js`),n=require(`lit`),r=require(`lit/directives/when.js`);var i=class extends e.t(n.css`
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`),i=require(`lit/directives/when.js`);var a=class extends e.t(r.css`
2
2
  input[type='range'] {
3
3
  -webkit-appearance: none;
4
4
  appearance: none;
@@ -40,9 +40,9 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./ch
40
40
  background: var(--color-primary, #6750a4);
41
41
  cursor: pointer;
42
42
  }
43
- `){constructor(...e){super(...e),this.min=0,this.max=1,this.step=.01,this.value=0,this.disabled=!1}get progress(){return(this.value-this.min)/(this.max-this.min)*100+`%`}render(){return n.html`
43
+ `){constructor(...e){super(...e),this.min=0,this.max=1,this.step=.01,this.value=0,this.disabled=!1}get progress(){return(this.value-this.min)/(this.max-this.min)*100+`%`}render(){return r.html`
44
44
  <div class="flex flex-col gap-1 w-full">
45
- ${(0,r.when)(this.label,()=>n.html`
45
+ ${(0,i.when)(this.label,()=>r.html`
46
46
  <div class="flex justify-between items-center">
47
47
  <schmancy-typography type="label" token="sm" class="text-surface-on">${this.label}</schmancy-typography>
48
48
  <schmancy-typography type="label" token="sm" class="text-surface-on opacity-60">${this.value}</schmancy-typography>
@@ -59,4 +59,4 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./ch
59
59
  @input=${e=>{this.value=Number(e.target.value),this.dispatchEvent(new CustomEvent(`change`,{detail:{value:this.value},bubbles:!0,composed:!0}))}}
60
60
  />
61
61
  </div>
62
- `}};e.i([(0,t.property)({type:Number})],i.prototype,`min`,void 0),e.i([(0,t.property)({type:Number})],i.prototype,`max`,void 0),e.i([(0,t.property)({type:Number})],i.prototype,`step`,void 0),e.i([(0,t.property)({type:Number})],i.prototype,`value`,void 0),e.i([(0,t.property)({type:String})],i.prototype,`label`,void 0),e.i([(0,t.property)({type:Boolean})],i.prototype,`disabled`,void 0),i=e.i([(0,t.customElement)(`schmancy-range`)],i),Object.defineProperty(exports,`SchmancyRange`,{enumerable:!0,get:function(){return i}});
62
+ `}};t.t([(0,n.property)({type:Number})],a.prototype,`min`,void 0),t.t([(0,n.property)({type:Number})],a.prototype,`max`,void 0),t.t([(0,n.property)({type:Number})],a.prototype,`step`,void 0),t.t([(0,n.property)({type:Number})],a.prototype,`value`,void 0),t.t([(0,n.property)({type:String})],a.prototype,`label`,void 0),t.t([(0,n.property)({type:Boolean})],a.prototype,`disabled`,void 0),a=t.t([(0,n.customElement)(`schmancy-range`)],a),Object.defineProperty(exports,`SchmancyRange`,{enumerable:!0,get:function(){return a}});
@@ -1 +1 @@
1
- {"version":3,"file":"range.cjs","names":[],"sources":["../src/range/range.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\n\nexport type SchmancyRangeChangeEvent = CustomEvent<{ value: number }>\n\n/**\n * @element schmancy-range\n * Range input (numeric slider).\n * @fires change - Fires on value change with { value: number }\n */\n@customElement('schmancy-range')\nexport class SchmancyRange extends TailwindElement(css`\n\tinput[type='range'] {\n\t\t-webkit-appearance: none;\n\t\tappearance: none;\n\t\twidth: 100%;\n\t\theight: 4px;\n\t\tborder-radius: 2px;\n\t\tbackground: linear-gradient(\n\t\t\tto right,\n\t\t\tvar(--color-primary, #6750a4) 0%,\n\t\t\tvar(--color-primary, #6750a4) var(--range-progress, 0%),\n\t\t\tcolor-mix(in srgb, var(--color-primary, #6750a4) 30%, transparent) var(--range-progress, 0%),\n\t\t\tcolor-mix(in srgb, var(--color-primary, #6750a4) 30%, transparent) 100%\n\t\t);\n\t\toutline: none;\n\t\tcursor: pointer;\n\t}\n\tinput[type='range']:disabled {\n\t\topacity: 0.38;\n\t\tcursor: not-allowed;\n\t}\n\tinput[type='range']::-webkit-slider-thumb {\n\t\t-webkit-appearance: none;\n\t\tappearance: none;\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tborder-radius: 50%;\n\t\tbackground: var(--color-primary, #6750a4);\n\t\tcursor: pointer;\n\t\ttransition: box-shadow 0.1s ease;\n\t}\n\tinput[type='range']::-webkit-slider-thumb:hover {\n\t\tbox-shadow: 0 0 0 8px color-mix(in srgb, var(--color-primary, #6750a4) 12%, transparent);\n\t}\n\tinput[type='range']::-moz-range-thumb {\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tborder-radius: 50%;\n\t\tborder: none;\n\t\tbackground: var(--color-primary, #6750a4);\n\t\tcursor: pointer;\n\t}\n`) {\n\t@property({ type: Number }) min = 0\n\t@property({ type: Number }) max = 1\n\t@property({ type: Number }) step = 0.01\n\t@property({ type: Number }) value = 0\n\t@property({ type: String }) label?: string\n\t@property({ type: Boolean }) disabled = false\n\n\tprivate get progress(): string {\n\t\treturn `${((this.value - this.min) / (this.max - this.min)) * 100}%`\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"flex flex-col gap-1 w-full\">\n\t\t\t\t${when(\n\t\t\t\t\tthis.label,\n\t\t\t\t\t() => html`\n\t\t\t\t\t\t<div class=\"flex justify-between items-center\">\n\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"sm\" class=\"text-surface-on\">${this.label}</schmancy-typography>\n\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"sm\" class=\"text-surface-on opacity-60\">${this.value}</schmancy-typography>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t\t<input\n\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t.min=${String(this.min)}\n\t\t\t\t\t.max=${String(this.max)}\n\t\t\t\t\t.step=${String(this.step)}\n\t\t\t\t\t.value=${String(this.value)}\n\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\tstyle=\"--range-progress: ${this.progress}\"\n\t\t\t\t\t@input=${(e: Event) => {\n\t\t\t\t\t\tthis.value = Number((e.target as HTMLInputElement).value)\n\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('change', { detail: { value: this.value }, bubbles: true, composed: true }))\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-range': SchmancyRange\n\t}\n}\n"],"mappings":"oQAaO,IAAA,EAAA,cAA4B,EAAA,EAAgB,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA2CnB,EAAA,KAAA,IACA,EAAA,KAAA,KACC,IAAA,KAAA,MACC,EAAA,KAAA,SAAA,CAEI,EAExC,IAAA,UAAY,CACX,OAAY,KAAK,MAAQ,KAAK,MAAQ,KAAK,IAAM,KAAK,KAAQ,IAAvD,IAGR,QAAA,CACC,MAAO,GAAA,IAAI;;iBAGR,KAAK,UACC,EAAA,IAAI;;8EAE+D,KAAK,MAAA;yFACM,KAAK,MAAA;;;;;YAMlF,OAAO,KAAK,IAAA,CAAA;YACZ,OAAO,KAAK,IAAA,CAAA;aACX,OAAO,KAAK,KAAA,CAAA;cACX,OAAO,KAAK,MAAA,CAAA;iBACT,KAAK,SAAA;gCACU,KAAK,SAAA;cACtB,GAAA,CACT,KAAK,MAAQ,OAAQ,EAAE,OAA4B,MAAA,CACnD,KAAK,cAAc,IAAI,YAAY,SAAU,CAAE,OAAQ,CAAE,MAAO,KAAK,MAAA,CAAS,QAAA,CAAS,EAAM,SAAA,CAAU,EAAA,CAAA,CAAA,EAAA;;;0BAjClG,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,MAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,MAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjB,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,UACjB,CAAE,KAAM,QAAA,CAAA,CAAA,CAAU,EAAA,UAAA,WAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAjDd,iBAAA,CAAA,CAAiB,EAAA,CAAA,OAAA,eAAA,QAAA,gBAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"range.cjs","names":[],"sources":["../src/range/range.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\n\nexport type SchmancyRangeChangeEvent = CustomEvent<{ value: number }>\n\n/**\n * @element schmancy-range\n * Range input (numeric slider).\n * @fires change - Fires on value change with { value: number }\n */\n@customElement('schmancy-range')\nexport class SchmancyRange extends TailwindElement(css`\n\tinput[type='range'] {\n\t\t-webkit-appearance: none;\n\t\tappearance: none;\n\t\twidth: 100%;\n\t\theight: 4px;\n\t\tborder-radius: 2px;\n\t\tbackground: linear-gradient(\n\t\t\tto right,\n\t\t\tvar(--color-primary, #6750a4) 0%,\n\t\t\tvar(--color-primary, #6750a4) var(--range-progress, 0%),\n\t\t\tcolor-mix(in srgb, var(--color-primary, #6750a4) 30%, transparent) var(--range-progress, 0%),\n\t\t\tcolor-mix(in srgb, var(--color-primary, #6750a4) 30%, transparent) 100%\n\t\t);\n\t\toutline: none;\n\t\tcursor: pointer;\n\t}\n\tinput[type='range']:disabled {\n\t\topacity: 0.38;\n\t\tcursor: not-allowed;\n\t}\n\tinput[type='range']::-webkit-slider-thumb {\n\t\t-webkit-appearance: none;\n\t\tappearance: none;\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tborder-radius: 50%;\n\t\tbackground: var(--color-primary, #6750a4);\n\t\tcursor: pointer;\n\t\ttransition: box-shadow 0.1s ease;\n\t}\n\tinput[type='range']::-webkit-slider-thumb:hover {\n\t\tbox-shadow: 0 0 0 8px color-mix(in srgb, var(--color-primary, #6750a4) 12%, transparent);\n\t}\n\tinput[type='range']::-moz-range-thumb {\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tborder-radius: 50%;\n\t\tborder: none;\n\t\tbackground: var(--color-primary, #6750a4);\n\t\tcursor: pointer;\n\t}\n`) {\n\t@property({ type: Number }) min = 0\n\t@property({ type: Number }) max = 1\n\t@property({ type: Number }) step = 0.01\n\t@property({ type: Number }) value = 0\n\t@property({ type: String }) label?: string\n\t@property({ type: Boolean }) disabled = false\n\n\tprivate get progress(): string {\n\t\treturn `${((this.value - this.min) / (this.max - this.min)) * 100}%`\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"flex flex-col gap-1 w-full\">\n\t\t\t\t${when(\n\t\t\t\t\tthis.label,\n\t\t\t\t\t() => html`\n\t\t\t\t\t\t<div class=\"flex justify-between items-center\">\n\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"sm\" class=\"text-surface-on\">${this.label}</schmancy-typography>\n\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"sm\" class=\"text-surface-on opacity-60\">${this.value}</schmancy-typography>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t\t<input\n\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t.min=${String(this.min)}\n\t\t\t\t\t.max=${String(this.max)}\n\t\t\t\t\t.step=${String(this.step)}\n\t\t\t\t\t.value=${String(this.value)}\n\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\tstyle=\"--range-progress: ${this.progress}\"\n\t\t\t\t\t@input=${(e: Event) => {\n\t\t\t\t\t\tthis.value = Number((e.target as HTMLInputElement).value)\n\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('change', { detail: { value: this.value }, bubbles: true, composed: true }))\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-range': SchmancyRange\n\t}\n}\n"],"mappings":"ySAaO,IAAA,EAAA,cAA4B,EAAA,EAAgB,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA2CnB,EAAA,KAAA,IACA,EAAA,KAAA,KACC,IAAA,KAAA,MACC,EAAA,KAAA,SAAA,CAEI,EAExC,IAAA,UAAY,CACX,OAAY,KAAK,MAAQ,KAAK,MAAQ,KAAK,IAAM,KAAK,KAAQ,IAAvD,IAGR,QAAA,CACC,MAAO,GAAA,IAAI;;iBAGR,KAAK,UACC,EAAA,IAAI;;8EAE+D,KAAK,MAAA;yFACM,KAAK,MAAA;;;;;YAMlF,OAAO,KAAK,IAAA,CAAA;YACZ,OAAO,KAAK,IAAA,CAAA;aACX,OAAO,KAAK,KAAA,CAAA;cACX,OAAO,KAAK,MAAA,CAAA;iBACT,KAAK,SAAA;gCACU,KAAK,SAAA;cACtB,GAAA,CACT,KAAK,MAAQ,OAAQ,EAAE,OAA4B,MAAA,CACnD,KAAK,cAAc,IAAI,YAAY,SAAU,CAAE,OAAQ,CAAE,MAAO,KAAK,MAAA,CAAS,QAAA,CAAS,EAAM,SAAA,CAAU,EAAA,CAAA,CAAA,EAAA;;;0BAjClG,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,MAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,MAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjB,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,UACjB,CAAE,KAAM,QAAA,CAAA,CAAA,CAAU,EAAA,UAAA,WAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAjDd,iBAAA,CAAA,CAAiB,EAAA,CAAA,OAAA,eAAA,QAAA,gBAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
package/dist/range.js CHANGED
@@ -1,9 +1,10 @@
1
- import { i as e, t } from "./tailwind.mixin-BCJOOX1_.js";
1
+ import { t as e } from "./tailwind.mixin-DufHBjmb.js";
2
+ import { t } from "./decorate-D_utPUsC.js";
2
3
  import "./mixins.js";
3
4
  import { customElement as n, property as r } from "lit/decorators.js";
4
5
  import { css as i, html as a } from "lit";
5
6
  import { when as o } from "lit/directives/when.js";
6
- var s = class extends t(i`
7
+ var s = class extends e(i`
7
8
  input[type='range'] {
8
9
  -webkit-appearance: none;
9
10
  appearance: none;
@@ -81,5 +82,5 @@ var s = class extends t(i`
81
82
  `;
82
83
  }
83
84
  };
84
- e([r({ type: Number })], s.prototype, "min", void 0), e([r({ type: Number })], s.prototype, "max", void 0), e([r({ type: Number })], s.prototype, "step", void 0), e([r({ type: Number })], s.prototype, "value", void 0), e([r({ type: String })], s.prototype, "label", void 0), e([r({ type: Boolean })], s.prototype, "disabled", void 0), s = e([n("schmancy-range")], s);
85
+ t([r({ type: Number })], s.prototype, "min", void 0), t([r({ type: Number })], s.prototype, "max", void 0), t([r({ type: Number })], s.prototype, "step", void 0), t([r({ type: Number })], s.prototype, "value", void 0), t([r({ type: String })], s.prototype, "label", void 0), t([r({ type: Boolean })], s.prototype, "disabled", void 0), s = t([n("schmancy-range")], s);
85
86
  export { s as SchmancyRange };
package/dist/range.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","names":[],"sources":["../src/range/range.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\n\nexport type SchmancyRangeChangeEvent = CustomEvent<{ value: number }>\n\n/**\n * @element schmancy-range\n * Range input (numeric slider).\n * @fires change - Fires on value change with { value: number }\n */\n@customElement('schmancy-range')\nexport class SchmancyRange extends TailwindElement(css`\n\tinput[type='range'] {\n\t\t-webkit-appearance: none;\n\t\tappearance: none;\n\t\twidth: 100%;\n\t\theight: 4px;\n\t\tborder-radius: 2px;\n\t\tbackground: linear-gradient(\n\t\t\tto right,\n\t\t\tvar(--color-primary, #6750a4) 0%,\n\t\t\tvar(--color-primary, #6750a4) var(--range-progress, 0%),\n\t\t\tcolor-mix(in srgb, var(--color-primary, #6750a4) 30%, transparent) var(--range-progress, 0%),\n\t\t\tcolor-mix(in srgb, var(--color-primary, #6750a4) 30%, transparent) 100%\n\t\t);\n\t\toutline: none;\n\t\tcursor: pointer;\n\t}\n\tinput[type='range']:disabled {\n\t\topacity: 0.38;\n\t\tcursor: not-allowed;\n\t}\n\tinput[type='range']::-webkit-slider-thumb {\n\t\t-webkit-appearance: none;\n\t\tappearance: none;\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tborder-radius: 50%;\n\t\tbackground: var(--color-primary, #6750a4);\n\t\tcursor: pointer;\n\t\ttransition: box-shadow 0.1s ease;\n\t}\n\tinput[type='range']::-webkit-slider-thumb:hover {\n\t\tbox-shadow: 0 0 0 8px color-mix(in srgb, var(--color-primary, #6750a4) 12%, transparent);\n\t}\n\tinput[type='range']::-moz-range-thumb {\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tborder-radius: 50%;\n\t\tborder: none;\n\t\tbackground: var(--color-primary, #6750a4);\n\t\tcursor: pointer;\n\t}\n`) {\n\t@property({ type: Number }) min = 0\n\t@property({ type: Number }) max = 1\n\t@property({ type: Number }) step = 0.01\n\t@property({ type: Number }) value = 0\n\t@property({ type: String }) label?: string\n\t@property({ type: Boolean }) disabled = false\n\n\tprivate get progress(): string {\n\t\treturn `${((this.value - this.min) / (this.max - this.min)) * 100}%`\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"flex flex-col gap-1 w-full\">\n\t\t\t\t${when(\n\t\t\t\t\tthis.label,\n\t\t\t\t\t() => html`\n\t\t\t\t\t\t<div class=\"flex justify-between items-center\">\n\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"sm\" class=\"text-surface-on\">${this.label}</schmancy-typography>\n\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"sm\" class=\"text-surface-on opacity-60\">${this.value}</schmancy-typography>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t\t<input\n\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t.min=${String(this.min)}\n\t\t\t\t\t.max=${String(this.max)}\n\t\t\t\t\t.step=${String(this.step)}\n\t\t\t\t\t.value=${String(this.value)}\n\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\tstyle=\"--range-progress: ${this.progress}\"\n\t\t\t\t\t@input=${(e: Event) => {\n\t\t\t\t\t\tthis.value = Number((e.target as HTMLInputElement).value)\n\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('change', { detail: { value: this.value }, bubbles: true, composed: true }))\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-range': SchmancyRange\n\t}\n}\n"],"mappings":";;;;;AAaO,IAAA,IAAA,cAA4B,EAAgB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA2CnB,GAAA,KAAA,MACA,GAAA,KAAA,OACC,KAAA,KAAA,QACC,GAAA,KAAA,WAAA,CAEI;;CAExC,IAAA,WAAY;AACX,UAAY,KAAK,QAAQ,KAAK,QAAQ,KAAK,MAAM,KAAK,OAAQ,MAAvD;;CAGR,SAAA;AACC,SAAO,CAAI;;MAEP,EACD,KAAK,aACC,CAAI;;8EAE+D,KAAK,MAAA;yFACM,KAAK,MAAA;;;;;YAMlF,OAAO,KAAK,IAAA,CAAA;YACZ,OAAO,KAAK,IAAA,CAAA;aACX,OAAO,KAAK,KAAA,CAAA;cACX,OAAO,KAAK,MAAA,CAAA;iBACT,KAAK,SAAA;gCACU,KAAK,SAAA;eACtB,MAAA;AACT,QAAK,QAAQ,OAAQ,EAAE,OAA4B,MAAA,EACnD,KAAK,cAAc,IAAI,YAAY,UAAU;IAAE,QAAQ,EAAE,OAAO,KAAK,OAAA;IAAS,SAAA,CAAS;IAAM,UAAA,CAAU;IAAA,CAAA,CAAA;IAAA;;;;;;GAjC3G,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,CAC1B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,CAC1B,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,EAAA,CAC1B,EAAS,EAAE,MAAM,SAAA,CAAA,CAAA,EAAU,EAAA,WAAA,YAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CAjD5B,EAAc,iBAAA,CAAA,EAAiB,EAAA;AAAA,SAAA,KAAA"}
1
+ {"version":3,"file":"range.js","names":[],"sources":["../src/range/range.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\n\nexport type SchmancyRangeChangeEvent = CustomEvent<{ value: number }>\n\n/**\n * @element schmancy-range\n * Range input (numeric slider).\n * @fires change - Fires on value change with { value: number }\n */\n@customElement('schmancy-range')\nexport class SchmancyRange extends TailwindElement(css`\n\tinput[type='range'] {\n\t\t-webkit-appearance: none;\n\t\tappearance: none;\n\t\twidth: 100%;\n\t\theight: 4px;\n\t\tborder-radius: 2px;\n\t\tbackground: linear-gradient(\n\t\t\tto right,\n\t\t\tvar(--color-primary, #6750a4) 0%,\n\t\t\tvar(--color-primary, #6750a4) var(--range-progress, 0%),\n\t\t\tcolor-mix(in srgb, var(--color-primary, #6750a4) 30%, transparent) var(--range-progress, 0%),\n\t\t\tcolor-mix(in srgb, var(--color-primary, #6750a4) 30%, transparent) 100%\n\t\t);\n\t\toutline: none;\n\t\tcursor: pointer;\n\t}\n\tinput[type='range']:disabled {\n\t\topacity: 0.38;\n\t\tcursor: not-allowed;\n\t}\n\tinput[type='range']::-webkit-slider-thumb {\n\t\t-webkit-appearance: none;\n\t\tappearance: none;\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tborder-radius: 50%;\n\t\tbackground: var(--color-primary, #6750a4);\n\t\tcursor: pointer;\n\t\ttransition: box-shadow 0.1s ease;\n\t}\n\tinput[type='range']::-webkit-slider-thumb:hover {\n\t\tbox-shadow: 0 0 0 8px color-mix(in srgb, var(--color-primary, #6750a4) 12%, transparent);\n\t}\n\tinput[type='range']::-moz-range-thumb {\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tborder-radius: 50%;\n\t\tborder: none;\n\t\tbackground: var(--color-primary, #6750a4);\n\t\tcursor: pointer;\n\t}\n`) {\n\t@property({ type: Number }) min = 0\n\t@property({ type: Number }) max = 1\n\t@property({ type: Number }) step = 0.01\n\t@property({ type: Number }) value = 0\n\t@property({ type: String }) label?: string\n\t@property({ type: Boolean }) disabled = false\n\n\tprivate get progress(): string {\n\t\treturn `${((this.value - this.min) / (this.max - this.min)) * 100}%`\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"flex flex-col gap-1 w-full\">\n\t\t\t\t${when(\n\t\t\t\t\tthis.label,\n\t\t\t\t\t() => html`\n\t\t\t\t\t\t<div class=\"flex justify-between items-center\">\n\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"sm\" class=\"text-surface-on\">${this.label}</schmancy-typography>\n\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"sm\" class=\"text-surface-on opacity-60\">${this.value}</schmancy-typography>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t\t<input\n\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t.min=${String(this.min)}\n\t\t\t\t\t.max=${String(this.max)}\n\t\t\t\t\t.step=${String(this.step)}\n\t\t\t\t\t.value=${String(this.value)}\n\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\tstyle=\"--range-progress: ${this.progress}\"\n\t\t\t\t\t@input=${(e: Event) => {\n\t\t\t\t\t\tthis.value = Number((e.target as HTMLInputElement).value)\n\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('change', { detail: { value: this.value }, bubbles: true, composed: true }))\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-range': SchmancyRange\n\t}\n}\n"],"mappings":";;;;;;AAaO,IAAA,IAAA,cAA4B,EAAgB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA2CnB,GAAA,KAAA,MACA,GAAA,KAAA,OACC,KAAA,KAAA,QACC,GAAA,KAAA,WAAA,CAEI;;CAExC,IAAA,WAAY;AACX,UAAY,KAAK,QAAQ,KAAK,QAAQ,KAAK,MAAM,KAAK,OAAQ,MAAvD;;CAGR,SAAA;AACC,SAAO,CAAI;;MAEP,EACD,KAAK,aACC,CAAI;;8EAE+D,KAAK,MAAA;yFACM,KAAK,MAAA;;;;;YAMlF,OAAO,KAAK,IAAA,CAAA;YACZ,OAAO,KAAK,IAAA,CAAA;aACX,OAAO,KAAK,KAAA,CAAA;cACX,OAAO,KAAK,MAAA,CAAA;iBACT,KAAK,SAAA;gCACU,KAAK,SAAA;eACtB,MAAA;AACT,QAAK,QAAQ,OAAQ,EAAE,OAA4B,MAAA,EACnD,KAAK,cAAc,IAAI,YAAY,UAAU;IAAE,QAAQ,EAAE,OAAO,KAAK,OAAA;IAAS,SAAA,CAAS;IAAM,UAAA,CAAU;IAAA,CAAA,CAAA;IAAA;;;;;;GAjC3G,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,CAC1B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,CAC1B,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,EAAA,CAC1B,EAAS,EAAE,MAAM,SAAA,CAAA,CAAA,EAAU,EAAA,WAAA,YAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CAjD5B,EAAc,iBAAA,CAAA,EAAiB,EAAA;AAAA,SAAA,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"reduced-motion-D-L12p7G.js","names":[],"sources":["../src/directives/reduced-motion.ts"],"sourcesContent":["import { BehaviorSubject, fromEvent } from 'rxjs'\nimport { map, startWith } from 'rxjs/operators'\n\n/**\n * Shared reactive reduced-motion preference.\n *\n * All physics directives observe this — if the user toggles reduced motion\n * while the page is open, directives respond immediately.\n *\n * @example\n * ```ts\n * import { reducedMotion$ } from './reduced-motion'\n * if (reducedMotion$.value) return // skip animation\n * ```\n */\nconst mediaQuery = typeof window !== 'undefined'\n\t? window.matchMedia('(prefers-reduced-motion: reduce)')\n\t: undefined\n\nexport const reducedMotion$ = new BehaviorSubject<boolean>(mediaQuery?.matches ?? false)\n\n// Reactively listen for changes via RxJS\nif (mediaQuery) {\n\tfromEvent<MediaQueryListEvent>(mediaQuery, 'change').pipe(\n\t\tmap(e => e.matches),\n\t\tstartWith(mediaQuery.matches),\n\t).subscribe(matches => {\n\t\treducedMotion$.next(matches)\n\t})\n}\n"],"mappings":";;AAeA,IAAM,IAA+B,OAAX,SAAW,MAClC,OAAO,WAAW,mCAAA,GAAA,KAClB,GAEU,IAAiB,IAAI,EAAyB,GAAY,WAAA,CAAW,EAAA;AAG9E,KACH,EAA+B,GAAY,SAAA,CAAU,KACpD,GAAI,MAAK,EAAE,QAAA,EACX,EAAU,EAAW,QAAA,CAAA,CACpB,WAAU,MAAA;AACX,GAAe,KAAK,EAAA;EAAA;AAAA,SAAA,KAAA"}
1
+ {"version":3,"file":"reduced-motion-B83yZbcO.js","names":[],"sources":["../src/directives/reduced-motion.ts"],"sourcesContent":["import { BehaviorSubject, fromEvent } from 'rxjs'\nimport { map, startWith } from 'rxjs/operators'\n\n/**\n * Shared reactive reduced-motion preference.\n *\n * All physics directives observe this — if the user toggles reduced motion\n * while the page is open, directives respond immediately.\n *\n * @example\n * ```ts\n * import { reducedMotion$ } from './reduced-motion'\n * if (reducedMotion$.value) return // skip animation\n * ```\n */\nconst mediaQuery = typeof window !== 'undefined'\n\t? window.matchMedia('(prefers-reduced-motion: reduce)')\n\t: undefined\n\nexport const reducedMotion$ = new BehaviorSubject<boolean>(mediaQuery?.matches ?? false)\n\n// Reactively listen for changes via RxJS\nif (mediaQuery) {\n\tfromEvent<MediaQueryListEvent>(mediaQuery, 'change').pipe(\n\t\tmap(e => e.matches),\n\t\tstartWith(mediaQuery.matches),\n\t).subscribe(matches => {\n\t\treducedMotion$.next(matches)\n\t})\n}\n"],"mappings":";;AAeA,IAAM,IAA+B,OAAX,SAAW,MAClC,OAAO,WAAW,mCAAA,GAAA,KAClB,GAEU,IAAiB,IAAI,EAAyB,GAAY,WAAA,CAAW,EAAA;AAG9E,KACH,EAA+B,GAAY,SAAA,CAAU,KACpD,GAAI,MAAK,EAAE,QAAA,EACX,EAAU,EAAW,QAAA,CAAA,CACpB,WAAU,MAAA;AACX,GAAe,KAAK,EAAA;EAAA;AAAA,SAAA,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"reduced-motion-Ds05GPyz.cjs","names":[],"sources":["../src/directives/reduced-motion.ts"],"sourcesContent":["import { BehaviorSubject, fromEvent } from 'rxjs'\nimport { map, startWith } from 'rxjs/operators'\n\n/**\n * Shared reactive reduced-motion preference.\n *\n * All physics directives observe this — if the user toggles reduced motion\n * while the page is open, directives respond immediately.\n *\n * @example\n * ```ts\n * import { reducedMotion$ } from './reduced-motion'\n * if (reducedMotion$.value) return // skip animation\n * ```\n */\nconst mediaQuery = typeof window !== 'undefined'\n\t? window.matchMedia('(prefers-reduced-motion: reduce)')\n\t: undefined\n\nexport const reducedMotion$ = new BehaviorSubject<boolean>(mediaQuery?.matches ?? false)\n\n// Reactively listen for changes via RxJS\nif (mediaQuery) {\n\tfromEvent<MediaQueryListEvent>(mediaQuery, 'change').pipe(\n\t\tmap(e => e.matches),\n\t\tstartWith(mediaQuery.matches),\n\t).subscribe(matches => {\n\t\treducedMotion$.next(matches)\n\t})\n}\n"],"mappings":"kFAeA,IAAM,EAA+B,OAAX,OAAW,IAClC,OAAO,WAAW,mCAAA,CAAA,IAClB,GAEU,EAAiB,IAAI,EAAA,gBAAyB,GAAY,SAAA,CAAW,EAAA,CAG9E,IACH,EAAA,EAAA,WAA+B,EAAY,SAAA,CAAU,MAAA,EAAA,EAAA,KAChD,GAAK,EAAE,QAAA,EAAQ,EAAA,EAAA,WACT,EAAW,QAAA,CAAA,CACpB,UAAU,GAAA,CACX,EAAe,KAAK,EAAA,EAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"reduced-motion-DR32yKEO.cjs","names":[],"sources":["../src/directives/reduced-motion.ts"],"sourcesContent":["import { BehaviorSubject, fromEvent } from 'rxjs'\nimport { map, startWith } from 'rxjs/operators'\n\n/**\n * Shared reactive reduced-motion preference.\n *\n * All physics directives observe this — if the user toggles reduced motion\n * while the page is open, directives respond immediately.\n *\n * @example\n * ```ts\n * import { reducedMotion$ } from './reduced-motion'\n * if (reducedMotion$.value) return // skip animation\n * ```\n */\nconst mediaQuery = typeof window !== 'undefined'\n\t? window.matchMedia('(prefers-reduced-motion: reduce)')\n\t: undefined\n\nexport const reducedMotion$ = new BehaviorSubject<boolean>(mediaQuery?.matches ?? false)\n\n// Reactively listen for changes via RxJS\nif (mediaQuery) {\n\tfromEvent<MediaQueryListEvent>(mediaQuery, 'change').pipe(\n\t\tmap(e => e.matches),\n\t\tstartWith(mediaQuery.matches),\n\t).subscribe(matches => {\n\t\treducedMotion$.next(matches)\n\t})\n}\n"],"mappings":"kFAeA,IAAM,EAA+B,OAAX,OAAW,IAClC,OAAO,WAAW,mCAAA,CAAA,IAClB,GAEU,EAAiB,IAAI,EAAA,gBAAyB,GAAY,SAAA,CAAW,EAAA,CAG9E,IACH,EAAA,EAAA,WAA+B,EAAY,SAAA,CAAU,MAAA,EAAA,EAAA,KAChD,GAAK,EAAE,QAAA,EAAQ,EAAA,EAAA,WACT,EAAW,QAAA,CAAA,CACpB,UAAU,GAAA,CACX,EAAe,KAAK,EAAA,EAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"rxjs-utils-BSjmI9-Q.js","names":[],"sources":["../src/rxjs-utils/mutation-observer.ts","../node_modules/ts-is-present/lib/index.js","../src/rxjs-utils/waitForElements.ts"],"sourcesContent":["import { Observable } from 'rxjs'\n\nexport const mutationObserver = (\n\ttarget: HTMLElement,\n\tconfig: MutationObserverInit = {\n\t\tattributes: true,\n\t\tchildList: true,\n\t\tsubtree: true,\n\t},\n): Observable<MutationRecord[]> => {\n\treturn new Observable(observer => {\n\t\tconst mutation = new MutationObserver(mutations => {\n\t\t\tobserver.next(mutations)\n\t\t})\n\t\tmutation.observe(target, config)\n\t\tconst unsubscribe = () => {\n\t\t\tmutation.disconnect()\n\t\t}\n\t\treturn unsubscribe\n\t})\n}\nexport default mutationObserver\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasValueAtKey = exports.hasPresentKey = exports.isFilled = exports.isDefined = exports.isPresent = void 0;\nfunction isPresent(t) {\n return t !== undefined && t !== null;\n}\nexports.isPresent = isPresent;\nfunction isDefined(t) {\n return t !== undefined;\n}\nexports.isDefined = isDefined;\nfunction isFilled(t) {\n return t !== null;\n}\nexports.isFilled = isFilled;\n/**\n * Returns a function that can be used to filter down objects\n * to the ones that have a defined non-null value under the key `k`.\n *\n * @example\n * ```ts\n * const filesWithUrl = files.filter(file => file.url);\n * files[0].url // In this case, TS might still treat this as undefined/null\n *\n * const filesWithUrl = files.filter(hasPresentKey(\"url\"));\n * files[0].url // TS will know that this is present\n * ```\n *\n * See https://github.com/microsoft/TypeScript/issues/16069\n * why is that useful.\n */\nfunction hasPresentKey(k) {\n return function (a) {\n return a[k] !== undefined && a[k] !== null;\n };\n}\nexports.hasPresentKey = hasPresentKey;\n/**\n * Returns a function that can be used to filter down objects\n * to the ones that have a specific value V under a key `k`.\n *\n * @example\n * ```ts\n * type File = { type: \"image\", imageUrl: string } | { type: \"pdf\", pdfUrl: string };\n * const files: File[] = [];\n *\n * const imageFiles = files.filter(file => file.type === \"image\");\n * files[0].type // In this case, TS will still treat it as `\"image\" | \"pdf\"`\n *\n * const filesWithUrl = files.filter(hasValueKey(\"type\", \"image\" as const));\n * files[0].type // TS will now know that this is \"image\"\n * files[0].imageUrl // TS will know this is present, because already it excluded the other union members.\n *\n * Note: the cast `as const` is necessary, otherwise TS will only know that type is a string.\n * ```\n *\n * See https://github.com/microsoft/TypeScript/issues/16069\n * why is that useful.\n */\nfunction hasValueAtKey(k, v) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (a) {\n return a[k] === v;\n };\n}\nexports.hasValueAtKey = hasValueAtKey;\n//# sourceMappingURL=index.js.map","import { filter, map, startWith, take, tap, timeout } from 'rxjs'\nimport { isPresent } from 'ts-is-present'\nimport observeOnMutation from './mutation-observer'\n\n/**\n * @returns An observable that emits the elements when they are found\n * @description This function is useful when you want to wait for multiple elements to appear\n * @example waitForElements(['button', 'input']).subscribe(([button, input]) => button.click())\n * @returns\n */\nexport default function waitForElements<T extends Array<T>>(\n /**\n * @param selectors The selectors to use to find the elements\n * @type { string[] }\n * @description The order of the elements in the array is the same as the order of the elements in the emitted array\n */\n selectors: string[],\n /**\n * @param timeoutAfter How long to wait for the elements to appear before throwing an error\n * @default 5000\n * @type { number | undefined }\n * @description If you don't want to wait for the elements to appear, pass `undefined` as the second argument\n */\n timeoutAfter = 5000,\n) {\n return observeOnMutation(document.body).pipe(\n startWith(document.body),\n filter(() => selectors.every(s => !!document.querySelector(s))),\n take(1),\n map(() => selectors.map(s => document.querySelector(s)).filter(isPresent)), // why filter again? see https://github.com/Microsoft/TypeScript/issues/16069\n map(elements => {\n if (elements.length === selectors.length) {\n return elements\n } else {\n throw new Error('Not all elements were found')\n }\n }),\n timeoutAfter ? timeout(timeoutAfter) : tap(),\n )\n}\n"],"x_google_ignoreList":[1],"mappings":";;AAEA,IAAa,KACZ,GACA,IAA+B;CAC9B,YAAA,CAAY;CACZ,WAAA,CAAW;CACX,SAAA,CAAS;CAAA,KAGH,IAAI,GAAW,MAAA;CACrB,IAAM,IAAW,IAAI,kBAAiB,MAAA;AACrC,IAAS,KAAK,EAAA;GAAA;AAMf,QAJA,EAAS,QAAQ,GAAQ,EAAA,QACnB;AACL,IAAS,YAAA;;EAAA;AAAA,GAAA,MAAA;ACfZ,QAAO,eAAe,GAAS,KAAc,EAAE,OAAA,CAAO,GAAA,CAAA,EACtD,EAAQ,gBAAgB,EAAQ,gBAAgB,EAAQ,WAAW,EAAQ,YAAY,EAAQ,YAAA,KAAiB,GAIhH,EAAQ,YAHR,SAAmB,GAAA;AACf,SAAO,KAAA;IAMX,EAAQ,YAHR,SAAmB,GAAA;AACf,SAAO,MAAP,KAAa;IAMjB,EAAQ,WAHR,SAAkB,GAAA;AACd,SAAO,MAAM;IAwBjB,EAAQ,gBALR,SAAuB,GAAA;AACnB,SAAO,SAAU,GAAA;AACb,UAAO,EAAE,OAAT,KAAgB,KAAa,EAAE,OAAO;;IAgC9C,EAAQ,gBANR,SAAuB,GAAG,GAAA;AAEtB,SAAO,SAAU,GAAA;AACb,UAAO,EAAE,OAAO;;;EAAA,EAAA;AAAA,SAAA,KAAA"}
1
+ {"version":3,"file":"rxjs-utils-Bldch1RO.js","names":[],"sources":["../src/rxjs-utils/mutation-observer.ts","../node_modules/ts-is-present/lib/index.js","../src/rxjs-utils/waitForElements.ts"],"sourcesContent":["import { Observable } from 'rxjs'\n\nexport const mutationObserver = (\n\ttarget: HTMLElement,\n\tconfig: MutationObserverInit = {\n\t\tattributes: true,\n\t\tchildList: true,\n\t\tsubtree: true,\n\t},\n): Observable<MutationRecord[]> => {\n\treturn new Observable(observer => {\n\t\tconst mutation = new MutationObserver(mutations => {\n\t\t\tobserver.next(mutations)\n\t\t})\n\t\tmutation.observe(target, config)\n\t\tconst unsubscribe = () => {\n\t\t\tmutation.disconnect()\n\t\t}\n\t\treturn unsubscribe\n\t})\n}\nexport default mutationObserver\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasValueAtKey = exports.hasPresentKey = exports.isFilled = exports.isDefined = exports.isPresent = void 0;\nfunction isPresent(t) {\n return t !== undefined && t !== null;\n}\nexports.isPresent = isPresent;\nfunction isDefined(t) {\n return t !== undefined;\n}\nexports.isDefined = isDefined;\nfunction isFilled(t) {\n return t !== null;\n}\nexports.isFilled = isFilled;\n/**\n * Returns a function that can be used to filter down objects\n * to the ones that have a defined non-null value under the key `k`.\n *\n * @example\n * ```ts\n * const filesWithUrl = files.filter(file => file.url);\n * files[0].url // In this case, TS might still treat this as undefined/null\n *\n * const filesWithUrl = files.filter(hasPresentKey(\"url\"));\n * files[0].url // TS will know that this is present\n * ```\n *\n * See https://github.com/microsoft/TypeScript/issues/16069\n * why is that useful.\n */\nfunction hasPresentKey(k) {\n return function (a) {\n return a[k] !== undefined && a[k] !== null;\n };\n}\nexports.hasPresentKey = hasPresentKey;\n/**\n * Returns a function that can be used to filter down objects\n * to the ones that have a specific value V under a key `k`.\n *\n * @example\n * ```ts\n * type File = { type: \"image\", imageUrl: string } | { type: \"pdf\", pdfUrl: string };\n * const files: File[] = [];\n *\n * const imageFiles = files.filter(file => file.type === \"image\");\n * files[0].type // In this case, TS will still treat it as `\"image\" | \"pdf\"`\n *\n * const filesWithUrl = files.filter(hasValueKey(\"type\", \"image\" as const));\n * files[0].type // TS will now know that this is \"image\"\n * files[0].imageUrl // TS will know this is present, because already it excluded the other union members.\n *\n * Note: the cast `as const` is necessary, otherwise TS will only know that type is a string.\n * ```\n *\n * See https://github.com/microsoft/TypeScript/issues/16069\n * why is that useful.\n */\nfunction hasValueAtKey(k, v) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (a) {\n return a[k] === v;\n };\n}\nexports.hasValueAtKey = hasValueAtKey;\n//# sourceMappingURL=index.js.map","import { filter, map, startWith, take, tap, timeout } from 'rxjs'\nimport { isPresent } from 'ts-is-present'\nimport observeOnMutation from './mutation-observer'\n\n/**\n * @returns An observable that emits the elements when they are found\n * @description This function is useful when you want to wait for multiple elements to appear\n * @example waitForElements(['button', 'input']).subscribe(([button, input]) => button.click())\n * @returns\n */\nexport default function waitForElements<T extends Array<T>>(\n /**\n * @param selectors The selectors to use to find the elements\n * @type { string[] }\n * @description The order of the elements in the array is the same as the order of the elements in the emitted array\n */\n selectors: string[],\n /**\n * @param timeoutAfter How long to wait for the elements to appear before throwing an error\n * @default 5000\n * @type { number | undefined }\n * @description If you don't want to wait for the elements to appear, pass `undefined` as the second argument\n */\n timeoutAfter = 5000,\n) {\n return observeOnMutation(document.body).pipe(\n startWith(document.body),\n filter(() => selectors.every(s => !!document.querySelector(s))),\n take(1),\n map(() => selectors.map(s => document.querySelector(s)).filter(isPresent)), // why filter again? see https://github.com/Microsoft/TypeScript/issues/16069\n map(elements => {\n if (elements.length === selectors.length) {\n return elements\n } else {\n throw new Error('Not all elements were found')\n }\n }),\n timeoutAfter ? timeout(timeoutAfter) : tap(),\n )\n}\n"],"x_google_ignoreList":[1],"mappings":";;AAEA,IAAa,KACZ,GACA,IAA+B;CAC9B,YAAA,CAAY;CACZ,WAAA,CAAW;CACX,SAAA,CAAS;CAAA,KAGH,IAAI,GAAW,MAAA;CACrB,IAAM,IAAW,IAAI,kBAAiB,MAAA;AACrC,IAAS,KAAK,EAAA;GAAA;AAMf,QAJA,EAAS,QAAQ,GAAQ,EAAA,QACnB;AACL,IAAS,YAAA;;EAAA;AAAA,GAAA,MAAA;ACfZ,QAAO,eAAe,GAAS,KAAc,EAAE,OAAA,CAAO,GAAA,CAAA,EACtD,EAAQ,gBAAgB,EAAQ,gBAAgB,EAAQ,WAAW,EAAQ,YAAY,EAAQ,YAAA,KAAiB,GAIhH,EAAQ,YAHR,SAAmB,GAAA;AACf,SAAO,KAAA;IAMX,EAAQ,YAHR,SAAmB,GAAA;AACf,SAAO,MAAP,KAAa;IAMjB,EAAQ,WAHR,SAAkB,GAAA;AACd,SAAO,MAAM;IAwBjB,EAAQ,gBALR,SAAuB,GAAA;AACnB,SAAO,SAAU,GAAA;AACb,UAAO,EAAE,OAAT,KAAgB,KAAa,EAAE,OAAO;;IAgC9C,EAAQ,gBANR,SAAuB,GAAG,GAAA;AAEtB,SAAO,SAAU,GAAA;AACb,UAAO,EAAE,OAAO;;;EAAA,EAAA;AAAA,SAAA,KAAA"}