@mhmo91/schmancy 0.4.75 → 0.4.77

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 (343) hide show
  1. package/ai/chips.md +350 -128
  2. package/ai/typography.md +66 -8
  3. package/dist/ai/chips.md +350 -128
  4. package/dist/ai/typography.md +66 -8
  5. package/dist/{animated-text-CqpyC7Y0.js → animated-text-CTMDHCbw.js} +6 -6
  6. package/dist/{animated-text-CqpyC7Y0.js.map → animated-text-CTMDHCbw.js.map} +1 -1
  7. package/dist/{animated-text-DlRt6Q09.cjs → animated-text-yAIb26ld.cjs} +2 -2
  8. package/dist/{animated-text-DlRt6Q09.cjs.map → animated-text-yAIb26ld.cjs.map} +1 -1
  9. package/dist/animated-text.cjs +1 -1
  10. package/dist/animated-text.js +1 -1
  11. package/dist/area.cjs +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-BOGG_9iL.cjs → autocomplete-BYiDoFG_.cjs} +2 -2
  14. package/dist/{autocomplete-BOGG_9iL.cjs.map → autocomplete-BYiDoFG_.cjs.map} +1 -1
  15. package/dist/{autocomplete-B-oKMH7m.js → autocomplete-m-nEVE3h.js} +6 -6
  16. package/dist/{autocomplete-B-oKMH7m.js.map → autocomplete-m-nEVE3h.js.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/{avatar-C27bnQKE.cjs → avatar-DjCNlJz6.cjs} +2 -2
  20. package/dist/{avatar-C27bnQKE.cjs.map → avatar-DjCNlJz6.cjs.map} +1 -1
  21. package/dist/{avatar-DKVNl5rX.js → avatar-nxVn--Oo.js} +48 -48
  22. package/dist/{avatar-DKVNl5rX.js.map → avatar-nxVn--Oo.js.map} +1 -1
  23. package/dist/badge.cjs +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{boat-DMKcZpZb.cjs → boat-_ZRYkQQZ.cjs} +2 -2
  26. package/dist/{boat-DMKcZpZb.cjs.map → boat-_ZRYkQQZ.cjs.map} +1 -1
  27. package/dist/{boat-CdR5Pqik.js → boat-sl3amQ3s.js} +2 -2
  28. package/dist/{boat-CdR5Pqik.js.map → boat-sl3amQ3s.js.map} +1 -1
  29. package/dist/boat.cjs +1 -1
  30. package/dist/boat.js +1 -1
  31. package/dist/busy.cjs +1 -1
  32. package/dist/busy.js +1 -1
  33. package/dist/button.cjs +1 -1
  34. package/dist/button.js +1 -1
  35. package/dist/card.cjs +1 -1
  36. package/dist/card.js +1 -1
  37. package/dist/checkbox-HdmRM2Vg.cjs +40 -0
  38. package/dist/checkbox-HdmRM2Vg.cjs.map +1 -0
  39. package/dist/checkbox-zTyMywpJ.js +527 -0
  40. package/dist/checkbox-zTyMywpJ.js.map +1 -0
  41. package/dist/checkbox.cjs +1 -1
  42. package/dist/checkbox.js +1 -1
  43. package/dist/chips-DAkLLDRf.js +577 -0
  44. package/dist/chips-DAkLLDRf.js.map +1 -0
  45. package/dist/chips-DDDu8hh9.cjs +324 -0
  46. package/dist/chips-DDDu8hh9.cjs.map +1 -0
  47. package/dist/chips.cjs +1 -1
  48. package/dist/chips.js +9 -1
  49. package/dist/code-highlight.cjs +1 -1
  50. package/dist/code-highlight.js +1 -1
  51. package/dist/{code-preview-CdCzzZTX.cjs → code-preview-BxO04VVx.cjs} +2 -2
  52. package/dist/{code-preview-CdCzzZTX.cjs.map → code-preview-BxO04VVx.cjs.map} +1 -1
  53. package/dist/{code-preview-CIXEd04f.js → code-preview-DH3koGm9.js} +7 -7
  54. package/dist/{code-preview-CIXEd04f.js.map → code-preview-DH3koGm9.js.map} +1 -1
  55. package/dist/components.cjs +1 -1
  56. package/dist/components.js +1 -1
  57. package/dist/content-drawer.cjs +1 -1
  58. package/dist/content-drawer.js +1 -1
  59. package/dist/{date-range-CvD9zwK9.cjs → date-range-TJXLY7Yx.cjs} +2 -2
  60. package/dist/{date-range-CvD9zwK9.cjs.map → date-range-TJXLY7Yx.cjs.map} +1 -1
  61. package/dist/{date-range-inline-CP_a_w01.cjs → date-range-inline-BSqXKZ3-.cjs} +2 -2
  62. package/dist/{date-range-inline-CP_a_w01.cjs.map → date-range-inline-BSqXKZ3-.cjs.map} +1 -1
  63. package/dist/{date-range-inline-5QP9av94.js → date-range-inline-CUb59TOM.js} +3 -3
  64. package/dist/{date-range-inline-5QP9av94.js.map → date-range-inline-CUb59TOM.js.map} +1 -1
  65. package/dist/date-range-inline.cjs +1 -1
  66. package/dist/date-range-inline.js +1 -1
  67. package/dist/{date-range-lJ_fPY4v.js → date-range-sfDUF7dG.js} +8 -8
  68. package/dist/{date-range-lJ_fPY4v.js.map → date-range-sfDUF7dG.js.map} +1 -1
  69. package/dist/date-range.cjs +1 -1
  70. package/dist/date-range.js +1 -1
  71. package/dist/{delay-BM1jk7XF.js → delay-CHpGPLLr.js} +2 -2
  72. package/dist/{delay-BM1jk7XF.js.map → delay-CHpGPLLr.js.map} +1 -1
  73. package/dist/{delay-CB0Wohe7.cjs → delay-CbXOIuAd.cjs} +2 -2
  74. package/dist/{delay-CB0Wohe7.cjs.map → delay-CbXOIuAd.cjs.map} +1 -1
  75. package/dist/delay.cjs +1 -1
  76. package/dist/delay.js +1 -1
  77. package/dist/{details-B9JrXrCO.js → details-Cf7zosIT.js} +5 -5
  78. package/dist/{details-B9JrXrCO.js.map → details-Cf7zosIT.js.map} +1 -1
  79. package/dist/{details-C22WoRWP.cjs → details-D6yYIQaE.cjs} +2 -2
  80. package/dist/{details-C22WoRWP.cjs.map → details-D6yYIQaE.cjs.map} +1 -1
  81. package/dist/details.cjs +1 -1
  82. package/dist/details.js +1 -1
  83. package/dist/{dialog-content-BHR9cUJ-.js → dialog-content-BabnHd-t.js} +10 -10
  84. package/dist/{dialog-content-BHR9cUJ-.js.map → dialog-content-BabnHd-t.js.map} +1 -1
  85. package/dist/{dialog-content-CpxWMPlh.cjs → dialog-content-BkK0XT-T.cjs} +2 -2
  86. package/dist/{dialog-content-CpxWMPlh.cjs.map → dialog-content-BkK0XT-T.cjs.map} +1 -1
  87. package/dist/dialog.cjs +1 -1
  88. package/dist/dialog.js +1 -1
  89. package/dist/{divider-DAg0oW4T.cjs → divider-CQ9PTETp.cjs} +2 -2
  90. package/dist/{divider-DAg0oW4T.cjs.map → divider-CQ9PTETp.cjs.map} +1 -1
  91. package/dist/{divider-Cz4g_Ept.js → divider-DyNmX5oP.js} +6 -6
  92. package/dist/{divider-Cz4g_Ept.js.map → divider-DyNmX5oP.js.map} +1 -1
  93. package/dist/divider.cjs +1 -1
  94. package/dist/divider.js +1 -1
  95. package/dist/{dropdown-content-Bto1swKT.js → dropdown-content-1g76XIVT.js} +6 -6
  96. package/dist/{dropdown-content-Bto1swKT.js.map → dropdown-content-1g76XIVT.js.map} +1 -1
  97. package/dist/{dropdown-content-QvR9QvT0.cjs → dropdown-content-DwiI2xi1.cjs} +3 -3
  98. package/dist/{dropdown-content-QvR9QvT0.cjs.map → dropdown-content-DwiI2xi1.cjs.map} +1 -1
  99. package/dist/dropdown.cjs +1 -1
  100. package/dist/dropdown.js +1 -1
  101. package/dist/{email-recipients-C9Yx0eML.js → email-recipients-BJsjr6H6.js} +5 -5
  102. package/dist/{email-recipients-C9Yx0eML.js.map → email-recipients-BJsjr6H6.js.map} +1 -1
  103. package/dist/{email-recipients-aEI5Hz1y.cjs → email-recipients-BiPVR8Hi.cjs} +2 -2
  104. package/dist/{email-recipients-aEI5Hz1y.cjs.map → email-recipients-BiPVR8Hi.cjs.map} +1 -1
  105. package/dist/extra.cjs +1 -1
  106. package/dist/extra.js +1 -1
  107. package/dist/{flex-8Zt64KfZ.js → flex-0kVSQTqk.js} +2 -2
  108. package/dist/{flex-8Zt64KfZ.js.map → flex-0kVSQTqk.js.map} +1 -1
  109. package/dist/{flex-BWZv2xik.cjs → flex-CYToPu65.cjs} +2 -2
  110. package/dist/{flex-BWZv2xik.cjs.map → flex-CYToPu65.cjs.map} +1 -1
  111. package/dist/{form-BH43OMu3.cjs → form-BTIOJob0.cjs} +2 -2
  112. package/dist/{form-BH43OMu3.cjs.map → form-BTIOJob0.cjs.map} +1 -1
  113. package/dist/{form-DeoSuBtM.js → form-CzSHXlhh.js} +7 -7
  114. package/dist/{form-DeoSuBtM.js.map → form-CzSHXlhh.js.map} +1 -1
  115. package/dist/form.cjs +1 -1
  116. package/dist/form.js +1 -1
  117. package/dist/{formField.mixin-Dta3OeAY.cjs → formField.mixin-BE8yyY7E.cjs} +2 -2
  118. package/dist/{formField.mixin-Dta3OeAY.cjs.map → formField.mixin-BE8yyY7E.cjs.map} +1 -1
  119. package/dist/{formField.mixin-BaPL0TYo.js → formField.mixin-D3pQ9LTE.js} +2 -2
  120. package/dist/{formField.mixin-BaPL0TYo.js.map → formField.mixin-D3pQ9LTE.js.map} +1 -1
  121. package/dist/icon-CB8zMasU.js +85 -0
  122. package/dist/icon-CB8zMasU.js.map +1 -0
  123. package/dist/icon-DxLigT_B.cjs +49 -0
  124. package/dist/icon-DxLigT_B.cjs.map +1 -0
  125. package/dist/{icon-button-D1GjgM8z.cjs → icon-button-B6sa3c9D.cjs} +2 -2
  126. package/dist/{icon-button-D1GjgM8z.cjs.map → icon-button-B6sa3c9D.cjs.map} +1 -1
  127. package/dist/{icon-button-OZM1xg0D.js → icon-button-n_1iOQGQ.js} +8 -8
  128. package/dist/{icon-button-OZM1xg0D.js.map → icon-button-n_1iOQGQ.js.map} +1 -1
  129. package/dist/icons.cjs +1 -1
  130. package/dist/icons.js +1 -1
  131. package/dist/index.cjs +1 -1
  132. package/dist/index.js +232 -226
  133. package/dist/{input-CkvjCut5.js → input-BAJnPVSv.js} +3 -3
  134. package/dist/{input-CkvjCut5.js.map → input-BAJnPVSv.js.map} +1 -1
  135. package/dist/{input-lUWuO40Q.cjs → input-FXEREBl6.cjs} +2 -2
  136. package/dist/{input-lUWuO40Q.cjs.map → input-FXEREBl6.cjs.map} +1 -1
  137. package/dist/input.cjs +1 -1
  138. package/dist/input.js +1 -1
  139. package/dist/layout.cjs +1 -1
  140. package/dist/layout.js +1 -1
  141. package/dist/{list-CIt75CB5.cjs → list-TbB9Rpwx.cjs} +2 -2
  142. package/dist/{list-CIt75CB5.cjs.map → list-TbB9Rpwx.cjs.map} +1 -1
  143. package/dist/{list-5rw56k73.js → list-ZeNhyo74.js} +7 -7
  144. package/dist/{list-5rw56k73.js.map → list-ZeNhyo74.js.map} +1 -1
  145. package/dist/list.cjs +1 -1
  146. package/dist/list.js +1 -1
  147. package/dist/{litElement.mixin-BZErt4H3.js → litElement.mixin-DVZiIRUa.js} +2 -2
  148. package/dist/{litElement.mixin-BZErt4H3.js.map → litElement.mixin-DVZiIRUa.js.map} +1 -1
  149. package/dist/{litElement.mixin-BLa7fWsS.cjs → litElement.mixin-N4BRrCeD.cjs} +2 -2
  150. package/dist/{litElement.mixin-BLa7fWsS.cjs.map → litElement.mixin-N4BRrCeD.cjs.map} +1 -1
  151. package/dist/mailbox.cjs +1 -1
  152. package/dist/mailbox.js +1 -1
  153. package/dist/{map-BY_0W4ER.cjs → map-DW4GhKaH.cjs} +2 -2
  154. package/dist/{map-BY_0W4ER.cjs.map → map-DW4GhKaH.cjs.map} +1 -1
  155. package/dist/{map-BrguuFGa.js → map-ck5dlHEW.js} +5 -5
  156. package/dist/{map-BrguuFGa.js.map → map-ck5dlHEW.js.map} +1 -1
  157. package/dist/map.cjs +1 -1
  158. package/dist/map.js +1 -1
  159. package/dist/{media-D6ZtvTjC.cjs → media-C9Qy2mql.cjs} +2 -2
  160. package/dist/{media-D6ZtvTjC.cjs.map → media-C9Qy2mql.cjs.map} +1 -1
  161. package/dist/{media-CLz2t5zS.js → media-CunGFwol.js} +11 -11
  162. package/dist/{media-CLz2t5zS.js.map → media-CunGFwol.js.map} +1 -1
  163. package/dist/{menu-DWD_IywE.cjs → menu-BkTWAEeh.cjs} +3 -3
  164. package/dist/{menu-DWD_IywE.cjs.map → menu-BkTWAEeh.cjs.map} +1 -1
  165. package/dist/{menu-CgDSJpDV.js → menu-Cja83sLd.js} +7 -7
  166. package/dist/{menu-CgDSJpDV.js.map → menu-Cja83sLd.js.map} +1 -1
  167. package/dist/menu.cjs +1 -1
  168. package/dist/menu.js +1 -1
  169. package/dist/mixins/index.ts +5 -5
  170. package/dist/nav-drawer.cjs +1 -1
  171. package/dist/nav-drawer.js +1 -1
  172. package/dist/{notification-service-A3reAJZQ.cjs → notification-service-BB7pBlG6.cjs} +2 -2
  173. package/dist/{notification-service-A3reAJZQ.cjs.map → notification-service-BB7pBlG6.cjs.map} +1 -1
  174. package/dist/{notification-service-1HGYK2tM.js → notification-service-CKHPaK_C.js} +9 -9
  175. package/dist/{notification-service-1HGYK2tM.js.map → notification-service-CKHPaK_C.js.map} +1 -1
  176. package/dist/notification.cjs +1 -1
  177. package/dist/notification.js +2 -2
  178. package/dist/{notify-CVbsMt75.cjs → notify-CxMMHOyT.cjs} +2 -2
  179. package/dist/{notify-CVbsMt75.cjs.map → notify-CxMMHOyT.cjs.map} +1 -1
  180. package/dist/{notify-Bt-KiLeP.js → notify-DNNTtvHN.js} +2 -2
  181. package/dist/{notify-Bt-KiLeP.js.map → notify-DNNTtvHN.js.map} +1 -1
  182. package/dist/{option-Cd0TxMBE.cjs → option-BWzNpqSh.cjs} +2 -2
  183. package/dist/{option-Cd0TxMBE.cjs.map → option-BWzNpqSh.cjs.map} +1 -1
  184. package/dist/{option-DvSZ0D0R.js → option-BsvqJpe9.js} +5 -5
  185. package/dist/{option-DvSZ0D0R.js.map → option-BsvqJpe9.js.map} +1 -1
  186. package/dist/option.cjs +1 -1
  187. package/dist/option.js +1 -1
  188. package/dist/{payment-card-form-C6wrIT_X.js → payment-card-form-C0Rck0tO.js} +6 -6
  189. package/dist/{payment-card-form-C6wrIT_X.js.map → payment-card-form-C0Rck0tO.js.map} +1 -1
  190. package/dist/{payment-card-form-CJkWQ3j4.cjs → payment-card-form-Q8jzlprZ.cjs} +2 -2
  191. package/dist/{payment-card-form-CJkWQ3j4.cjs.map → payment-card-form-Q8jzlprZ.cjs.map} +1 -1
  192. package/dist/{progress-pOL6OHwT.js → progress-CG2bQVP8.js} +5 -5
  193. package/dist/{progress-pOL6OHwT.js.map → progress-CG2bQVP8.js.map} +1 -1
  194. package/dist/{progress-D0iWLtHk.cjs → progress-CtoQKQub.cjs} +2 -2
  195. package/dist/{progress-D0iWLtHk.cjs.map → progress-CtoQKQub.cjs.map} +1 -1
  196. package/dist/progress.cjs +1 -1
  197. package/dist/progress.js +1 -1
  198. package/dist/{radio-button-C-t6JJsj.js → radio-button-BSUgktLD.js} +5 -5
  199. package/dist/{radio-button-C-t6JJsj.js.map → radio-button-BSUgktLD.js.map} +1 -1
  200. package/dist/{radio-button-CSV7-ftB.cjs → radio-button-DnvjanKu.cjs} +3 -3
  201. package/dist/{radio-button-CSV7-ftB.cjs.map → radio-button-DnvjanKu.cjs.map} +1 -1
  202. package/dist/radio-group.cjs +1 -1
  203. package/dist/radio-group.js +1 -1
  204. package/dist/route.component-BJEghY9L.js +341 -0
  205. package/dist/route.component-BJEghY9L.js.map +1 -0
  206. package/dist/route.component-YXwO_9vn.cjs +12 -0
  207. package/dist/route.component-YXwO_9vn.cjs.map +1 -0
  208. package/dist/{schmancy-steps-container-CgzGlBCk.cjs → schmancy-steps-container-BJdjcjfb.cjs} +2 -2
  209. package/dist/{schmancy-steps-container-CgzGlBCk.cjs.map → schmancy-steps-container-BJdjcjfb.cjs.map} +1 -1
  210. package/dist/{schmancy-steps-container-AIJ2_ZSN.js → schmancy-steps-container-DLoPUodd.js} +2 -2
  211. package/dist/{schmancy-steps-container-AIJ2_ZSN.js.map → schmancy-steps-container-DLoPUodd.js.map} +1 -1
  212. package/dist/{select-CwJ4OuVo.js → select-DagDNtvt.js} +6 -6
  213. package/dist/{select-CwJ4OuVo.js.map → select-DagDNtvt.js.map} +1 -1
  214. package/dist/{select-GBaqnfMC.cjs → select-t2FXt_pa.cjs} +2 -2
  215. package/dist/{select-GBaqnfMC.cjs.map → select-t2FXt_pa.cjs.map} +1 -1
  216. package/dist/select.cjs +1 -1
  217. package/dist/select.js +1 -1
  218. package/dist/{sheet-fT1oxKgG.js → sheet-CRVVJZ0R.js} +6 -6
  219. package/dist/{sheet-fT1oxKgG.js.map → sheet-CRVVJZ0R.js.map} +1 -1
  220. package/dist/{sheet-CXd47YKG.cjs → sheet-mPwoKv2g.cjs} +2 -2
  221. package/dist/{sheet-CXd47YKG.cjs.map → sheet-mPwoKv2g.cjs.map} +1 -1
  222. package/dist/sheet.cjs +1 -1
  223. package/dist/sheet.js +1 -1
  224. package/dist/{slider-CYsku-3b.js → slider-B3F6JkFf.js} +8 -8
  225. package/dist/{slider-CYsku-3b.js.map → slider-B3F6JkFf.js.map} +1 -1
  226. package/dist/{slider-DxSzFbQe.cjs → slider-pBPJS7W9.cjs} +2 -2
  227. package/dist/{slider-DxSzFbQe.cjs.map → slider-pBPJS7W9.cjs.map} +1 -1
  228. package/dist/slider.cjs +1 -1
  229. package/dist/slider.js +1 -1
  230. package/dist/{spinner-DrG_NQpx.cjs → spinner-BRpfKS5O.cjs} +40 -11
  231. package/dist/spinner-BRpfKS5O.cjs.map +1 -0
  232. package/dist/{spinner-CrK1E8LD.js → spinner-DA_-O-xo.js} +51 -22
  233. package/dist/spinner-DA_-O-xo.js.map +1 -0
  234. package/dist/steps.cjs +1 -1
  235. package/dist/steps.js +1 -1
  236. package/dist/{surface-C64YekDh.js → surface-Dwl538cH.js} +2 -2
  237. package/dist/{surface-C64YekDh.js.map → surface-Dwl538cH.js.map} +1 -1
  238. package/dist/{surface-DVNi8l6T.cjs → surface-diIElnDd.cjs} +2 -2
  239. package/dist/{surface-DVNi8l6T.cjs.map → surface-diIElnDd.cjs.map} +1 -1
  240. package/dist/surface.cjs +1 -1
  241. package/dist/surface.js +1 -1
  242. package/dist/{table-DmrYZ1hR.js → table-BgKKtRLd.js} +2 -2
  243. package/dist/{table-DmrYZ1hR.js.map → table-BgKKtRLd.js.map} +1 -1
  244. package/dist/{table-B3WKGYlu.cjs → table-Bov9UEcb.cjs} +2 -2
  245. package/dist/{table-B3WKGYlu.cjs.map → table-Bov9UEcb.cjs.map} +1 -1
  246. package/dist/table.cjs +1 -1
  247. package/dist/table.js +1 -1
  248. package/dist/{tabs-compatibility-Uetjk25R.js → tabs-compatibility-CPvOBfor.js} +7 -7
  249. package/dist/{tabs-compatibility-Uetjk25R.js.map → tabs-compatibility-CPvOBfor.js.map} +1 -1
  250. package/dist/{tabs-compatibility-Ds7SEeST.cjs → tabs-compatibility-D5yIfQ_k.cjs} +2 -2
  251. package/dist/{tabs-compatibility-Ds7SEeST.cjs.map → tabs-compatibility-D5yIfQ_k.cjs.map} +1 -1
  252. package/dist/tabs.cjs +1 -1
  253. package/dist/tabs.js +1 -1
  254. package/dist/tailwind.mixin-2zZHkoOm.cjs +2 -0
  255. package/dist/{tailwind.mixin-df9KoZ9x.cjs.map → tailwind.mixin-2zZHkoOm.cjs.map} +1 -1
  256. package/dist/tailwind.mixin-DbE6WE_l.js +43 -0
  257. package/dist/{tailwind.mixin-B6ADeWOc.js.map → tailwind.mixin-DbE6WE_l.js.map} +1 -1
  258. package/dist/teleport.cjs +1 -1
  259. package/dist/teleport.js +1 -1
  260. package/dist/{textarea-B1Tng7F9.js → textarea-CNEv2Aoz.js} +2 -2
  261. package/dist/{textarea-B1Tng7F9.js.map → textarea-CNEv2Aoz.js.map} +1 -1
  262. package/dist/{textarea-QKNA3oAQ.cjs → textarea-CswyRsoR.cjs} +2 -2
  263. package/dist/{textarea-QKNA3oAQ.cjs.map → textarea-CswyRsoR.cjs.map} +1 -1
  264. package/dist/textarea.cjs +1 -1
  265. package/dist/textarea.js +1 -1
  266. package/dist/{theme-button-CYEhS3ub.js → theme-button-CRcXeIw5.js} +5 -5
  267. package/dist/{theme-button-CYEhS3ub.js.map → theme-button-CRcXeIw5.js.map} +1 -1
  268. package/dist/{theme-button-CoCFS3Rx.cjs → theme-button-DPmEDF3P.cjs} +2 -2
  269. package/dist/{theme-button-CoCFS3Rx.cjs.map → theme-button-DPmEDF3P.cjs.map} +1 -1
  270. package/dist/theme-button.cjs +1 -1
  271. package/dist/theme-button.js +1 -1
  272. package/dist/theme.cjs +1 -1
  273. package/dist/{theme.component-C12jLwtB.cjs → theme.component-CamQBQHp.cjs} +2 -2
  274. package/dist/{theme.component-C12jLwtB.cjs.map → theme.component-CamQBQHp.cjs.map} +1 -1
  275. package/dist/{theme.component-Df731_fn.js → theme.component-v5kO9gkQ.js} +30 -30
  276. package/dist/{theme.component-Df731_fn.js.map → theme.component-v5kO9gkQ.js.map} +1 -1
  277. package/dist/theme.js +1 -1
  278. package/dist/{timezone-B7bscKFN.cjs → timezone-Bk4IctLE.cjs} +2 -2
  279. package/dist/{timezone-B7bscKFN.cjs.map → timezone-Bk4IctLE.cjs.map} +1 -1
  280. package/dist/{timezone-CdtCVjMF.js → timezone-Yo9Sdd5R.js} +8 -8
  281. package/dist/{timezone-CdtCVjMF.js.map → timezone-Yo9Sdd5R.js.map} +1 -1
  282. package/dist/{tooltip-CjoNCIvr.cjs → tooltip-B-yn_OSS.cjs} +2 -2
  283. package/dist/{tooltip-CjoNCIvr.cjs.map → tooltip-B-yn_OSS.cjs.map} +1 -1
  284. package/dist/{tooltip-JVkexTyf.js → tooltip-ZJEAlZUQ.js} +2 -2
  285. package/dist/{tooltip-JVkexTyf.js.map → tooltip-ZJEAlZUQ.js.map} +1 -1
  286. package/dist/tooltip.cjs +1 -1
  287. package/dist/tooltip.js +1 -1
  288. package/dist/{tree-CaqiNcJJ.js → tree-BV-2ElOU.js} +5 -5
  289. package/dist/{tree-CaqiNcJJ.js.map → tree-BV-2ElOU.js.map} +1 -1
  290. package/dist/{tree-Be48ABq4.cjs → tree-CxBWy_Vp.cjs} +2 -2
  291. package/dist/{tree-Be48ABq4.cjs.map → tree-CxBWy_Vp.cjs.map} +1 -1
  292. package/dist/tree.cjs +1 -1
  293. package/dist/tree.js +1 -1
  294. package/dist/{typewriter-CoMrmwFJ.js → typewriter-Bsn8eoJW.js} +7 -7
  295. package/dist/{typewriter-CoMrmwFJ.js.map → typewriter-Bsn8eoJW.js.map} +1 -1
  296. package/dist/{typewriter-DCYDScE9.cjs → typewriter-C-mf2RVj.cjs} +2 -2
  297. package/dist/{typewriter-DCYDScE9.cjs.map → typewriter-C-mf2RVj.cjs.map} +1 -1
  298. package/dist/typewriter.cjs +1 -1
  299. package/dist/typewriter.js +1 -1
  300. package/dist/{typography-DkJagEoF.js → typography-B5Y21osS.js} +2 -2
  301. package/dist/{typography-DkJagEoF.js.map → typography-B5Y21osS.js.map} +1 -1
  302. package/dist/{typography-BQg6J2hD.cjs → typography-pyk5TJHO.cjs} +2 -2
  303. package/dist/{typography-BQg6J2hD.cjs.map → typography-pyk5TJHO.cjs.map} +1 -1
  304. package/dist/typography.cjs +1 -1
  305. package/dist/typography.js +1 -1
  306. package/package.json +252 -1
  307. package/types/mixins/index.d.ts +1 -1
  308. package/types/src/area/area.component.d.ts +1 -4
  309. package/types/src/area/route.component.d.ts +9 -3
  310. package/types/src/busy/spinner.d.ts +1 -1
  311. package/types/src/checkbox/checkbox.d.ts +5 -4
  312. package/types/src/chips/assist-chip.d.ts +46 -0
  313. package/types/src/chips/chip.d.ts +3 -32
  314. package/types/src/chips/chips.d.ts +26 -11
  315. package/types/src/chips/filter-chip.d.ts +73 -0
  316. package/types/src/chips/index.d.ts +11 -2
  317. package/types/src/chips/input-chip.d.ts +75 -0
  318. package/types/src/chips/suggestion-chip.d.ts +51 -0
  319. package/types/src/icons/icon.d.ts +32 -5
  320. package/dist/checkbox-CVwU3M4h.js +0 -243
  321. package/dist/checkbox-CVwU3M4h.js.map +0 -1
  322. package/dist/checkbox-DP_zX786.cjs +0 -38
  323. package/dist/checkbox-DP_zX786.cjs.map +0 -1
  324. package/dist/chips-BuMUH3zA.cjs +0 -87
  325. package/dist/chips-BuMUH3zA.cjs.map +0 -1
  326. package/dist/chips-DcCUwYBu.js +0 -340
  327. package/dist/chips-DcCUwYBu.js.map +0 -1
  328. package/dist/icon-B0JNrBfq.js +0 -55
  329. package/dist/icon-B0JNrBfq.js.map +0 -1
  330. package/dist/icon-DY2pBLIU.cjs +0 -30
  331. package/dist/icon-DY2pBLIU.cjs.map +0 -1
  332. package/dist/redispatch-event-BLom7yp4.js +0 -293
  333. package/dist/redispatch-event-BLom7yp4.js.map +0 -1
  334. package/dist/redispatch-event-DHcobAl6.cjs +0 -4
  335. package/dist/redispatch-event-DHcobAl6.cjs.map +0 -1
  336. package/dist/route.component-BWVESeW2.cjs +0 -12
  337. package/dist/route.component-BWVESeW2.cjs.map +0 -1
  338. package/dist/route.component-DkPA8FVn.js +0 -348
  339. package/dist/route.component-DkPA8FVn.js.map +0 -1
  340. package/dist/spinner-CrK1E8LD.js.map +0 -1
  341. package/dist/spinner-DrG_NQpx.cjs.map +0 -1
  342. package/dist/tailwind.mixin-B6ADeWOc.js +0 -43
  343. package/dist/tailwind.mixin-df9KoZ9x.cjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"progress-D0iWLtHk.cjs","sources":["../src/progress/progress.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\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 TailwindElement(css`\n :host {\n display: block;\n }\n\n @keyframes indeterminate {\n 0% {\n left: -30%;\n }\n 100% {\n left: 100%;\n }\n }\n\n .indeterminate-animation {\n animation: indeterminate 1.5s infinite ease-in-out;\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 @property({ type: String, reflect: true })\n size: '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-0.5': this.size === 'sm',\n 'h-1': this.size === 'md',\n 'h-2': this.size === 'lg',\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 'w-[30%]': this.indeterminate,\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-gradient-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}"],"names":["SchmancyProgress","TailwindElement","css","constructor","super","arguments","this","value","max","indeterminate","size","color","glass","percentage","Math","min","render","containerClasses","relative","border","barClasses","absolute","barStyles","width","glassBarClasses","html","classMap","styleMap","__decorateClass","property","type","Number","reflect","prototype","Boolean","String","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"progress-CtoQKQub.cjs","sources":["../src/progress/progress.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\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 TailwindElement(css`\n :host {\n display: block;\n }\n\n @keyframes indeterminate {\n 0% {\n left: -30%;\n }\n 100% {\n left: 100%;\n }\n }\n\n .indeterminate-animation {\n animation: indeterminate 1.5s infinite ease-in-out;\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 @property({ type: String, reflect: true })\n size: '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-0.5': this.size === 'sm',\n 'h-1': this.size === 'md',\n 'h-2': this.size === 'lg',\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 'w-[30%]': this.indeterminate,\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-gradient-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}"],"names":["SchmancyProgress","TailwindElement","css","constructor","super","arguments","this","value","max","indeterminate","size","color","glass","percentage","Math","min","render","containerClasses","relative","border","barClasses","absolute","barStyles","width","glassBarClasses","html","classMap","styleMap","__decorateClass","property","type","Number","reflect","prototype","Boolean","String","customElement"],"mappings":"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"}
package/dist/progress.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./progress-D0iWLtHk.cjs");
1
+ "use strict";require("./progress-CtoQKQub.cjs");
2
2
  //# sourceMappingURL=progress.cjs.map
package/dist/progress.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./progress-pOL6OHwT.js";
1
+ import "./progress-CG2bQVP8.js";
2
2
  //# sourceMappingURL=progress.js.map
@@ -3,14 +3,14 @@ import { property as a, customElement as p } from "lit/decorators.js";
3
3
  import { Subject as v } from "rxjs";
4
4
  import "lit/directives/class-map.js";
5
5
  import "lit/directives/style-map.js";
6
- import { T as m } from "./tailwind.mixin-B6ADeWOc.js";
7
- import { F as b } from "./formField.mixin-BaPL0TYo.js";
6
+ import { F as m } from "./formField.mixin-D3pQ9LTE.js";
7
+ import { T as b } from "./tailwind.mixin-DbE6WE_l.js";
8
8
  import { when as y } from "lit/directives/when.js";
9
9
  var f = Object.defineProperty, k = Object.getOwnPropertyDescriptor, c = (e, t, l, s) => {
10
10
  for (var r, i = s > 1 ? void 0 : s ? k(t, l) : t, o = e.length - 1; o >= 0; o--) (r = e[o]) && (i = (s ? r(t, l, i) : r(i)) || i);
11
11
  return s && i && f(t, l, i), i;
12
12
  };
13
- let n = class extends b(m(":host{display:inherit;position:inherit}")) {
13
+ let n = class extends m(b(":host{display:inherit;position:inherit}")) {
14
14
  constructor() {
15
15
  super(...arguments), this.label = "", this.name = "", this.value = "", this.options = [], this.required = !1, this.selection$ = new v();
16
16
  }
@@ -67,7 +67,7 @@ var g = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, u = (e, t, l
67
67
  for (var r, i = s > 1 ? void 0 : s ? $(t, l) : t, o = e.length - 1; o >= 0; o--) (r = e[o]) && (i = (s ? r(t, l, i) : r(i)) || i);
68
68
  return s && i && g(t, l, i), i;
69
69
  };
70
- let d = class extends b(m()) {
70
+ let d = class extends m(b()) {
71
71
  constructor() {
72
72
  super(...arguments), this.value = "", this.checked = !1, this.disabled = !1, this.name = "";
73
73
  }
@@ -111,4 +111,4 @@ export {
111
111
  n as R,
112
112
  d as a
113
113
  };
114
- //# sourceMappingURL=radio-button-C-t6JJsj.js.map
114
+ //# sourceMappingURL=radio-button-BSUgktLD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-C-t6JJsj.js","sources":["../src/radio-group/radio-group.ts","../src/radio-group/radio-button.ts"],"sourcesContent":["import { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { Subject } 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$.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\t\t\n\t\t// Listen for radio button clicks from children\n\t\tthis.addEventListener('radio-button-click', ((e: CustomEvent) => {\n\t\t\tthis.selection$.next(e.detail.value)\n\t\t}) as EventListener)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.selection$?.unsubscribe()\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'\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// Find parent radio-group if exists\n\t\tthis.addEventListener('click', this.handleClick)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.removeEventListener('click', this.handleClick)\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"],"names":["RadioGroup","FormFieldMixin","TailwindElement","constructor","super","arguments","this","label","name","value","options","required","selection$","Subject","connectedCallback","subscribe","emitChange","updateChildRadioButtons","addEventListener","e","next","detail","disconnectedCallback","unsubscribe","querySelectorAll","forEach","button","getAttribute","setAttribute","removeAttribute","changedProperties","updated","has","hasSlottedContent","childElementCount","html","when","map","option","handleSelection","__decorateClass","property","type","String","prototype","Array","Boolean","customElement","RadioButton","checked","disabled","handleClick","removeEventListener","closest","event","CustomEvent","bubbles","composed","dispatchEvent","render","reflect"],"mappings":"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"}
1
+ {"version":3,"file":"radio-button-BSUgktLD.js","sources":["../src/radio-group/radio-group.ts","../src/radio-group/radio-button.ts"],"sourcesContent":["import { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { Subject } 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$.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\t\t\n\t\t// Listen for radio button clicks from children\n\t\tthis.addEventListener('radio-button-click', ((e: CustomEvent) => {\n\t\t\tthis.selection$.next(e.detail.value)\n\t\t}) as EventListener)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.selection$?.unsubscribe()\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'\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// Find parent radio-group if exists\n\t\tthis.addEventListener('click', this.handleClick)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.removeEventListener('click', this.handleClick)\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"],"names":["RadioGroup","FormFieldMixin","TailwindElement","constructor","super","arguments","this","label","name","value","options","required","selection$","Subject","connectedCallback","subscribe","emitChange","updateChildRadioButtons","addEventListener","e","next","detail","disconnectedCallback","unsubscribe","querySelectorAll","forEach","button","getAttribute","setAttribute","removeAttribute","changedProperties","updated","has","hasSlottedContent","childElementCount","html","when","map","option","handleSelection","__decorateClass","property","type","String","prototype","Array","Boolean","customElement","RadioButton","checked","disabled","handleClick","removeEventListener","closest","event","CustomEvent","bubbles","composed","dispatchEvent","render","reflect"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const c=require("lit"),r=require("lit/decorators.js"),h=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("./tailwind.mixin-df9KoZ9x.cjs"),p=require("./formField.mixin-Dta3OeAY.cjs"),b=require("lit/directives/when.js");var m=Object.defineProperty,v=Object.getOwnPropertyDescriptor,n=(e,t,l,o)=>{for(var a,i=o>1?void 0:o?v(t,l):t,s=e.length-1;s>=0;s--)(a=e[s])&&(i=(o?a(t,l,i):a(i))||i);return o&&i&&m(t,l,i),i};exports.RadioGroup=class extends p.FormFieldMixin(u.TailwindElement(":host{display:inherit;position:inherit}")){constructor(){super(...arguments),this.label="",this.name="",this.value="",this.options=[],this.required=!1,this.selection$=new h.Subject}connectedCallback(){super.connectedCallback(),this.selection$.subscribe(e=>{this.value=e,this.emitChange({value:e}),this.updateChildRadioButtons()}),this.addEventListener("radio-button-click",e=>{this.selection$.next(e.detail.value)})}disconnectedCallback(){super.disconnectedCallback(),this.selection$?.unsubscribe()}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(){const e=this.childElementCount>0;return c.html`
1
+ "use strict";const c=require("lit"),r=require("lit/decorators.js"),h=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("./formField.mixin-BE8yyY7E.cjs"),p=require("./tailwind.mixin-2zZHkoOm.cjs"),b=require("lit/directives/when.js");var m=Object.defineProperty,v=Object.getOwnPropertyDescriptor,n=(e,t,l,o)=>{for(var a,i=o>1?void 0:o?v(t,l):t,s=e.length-1;s>=0;s--)(a=e[s])&&(i=(o?a(t,l,i):a(i))||i);return o&&i&&m(t,l,i),i};exports.RadioGroup=class extends u.FormFieldMixin(p.TailwindElement(":host{display:inherit;position:inherit}")){constructor(){super(...arguments),this.label="",this.name="",this.value="",this.options=[],this.required=!1,this.selection$=new h.Subject}connectedCallback(){super.connectedCallback(),this.selection$.subscribe(e=>{this.value=e,this.emitChange({value:e}),this.updateChildRadioButtons()}),this.addEventListener("radio-button-click",e=>{this.selection$.next(e.detail.value)})}disconnectedCallback(){super.disconnectedCallback(),this.selection$?.unsubscribe()}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(){const e=this.childElementCount>0;return c.html`
2
2
  <div class="grid gap-4">
3
3
  ${b.when(this.label,()=>c.html` <label class="text-base font-semibold text-surface-on">${this.label}</label> `)}
4
4
 
@@ -20,7 +20,7 @@
20
20
  </div>
21
21
  `)}
22
22
  </div>
23
- `}},n([r.property({type:String})],exports.RadioGroup.prototype,"label",2),n([r.property({type:String})],exports.RadioGroup.prototype,"name",2),n([r.property({type:String})],exports.RadioGroup.prototype,"value",2),n([r.property({type:Array})],exports.RadioGroup.prototype,"options",2),n([r.property({type:Boolean})],exports.RadioGroup.prototype,"required",2),exports.RadioGroup=n([r.customElement("schmancy-radio-group")],exports.RadioGroup);var y=Object.defineProperty,k=Object.getOwnPropertyDescriptor,d=(e,t,l,o)=>{for(var a,i=o>1?void 0:o?k(t,l):t,s=e.length-1;s>=0;s--)(a=e[s])&&(i=(o?a(t,l,i):a(i))||i);return o&&i&&y(t,l,i),i};exports.RadioButton=class extends p.FormFieldMixin(u.TailwindElement()){constructor(){super(...arguments),this.value="",this.checked=!1,this.disabled=!1,this.name=""}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.handleClick)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleClick)}handleClick(){if(!this.disabled)if(this.closest("schmancy-radio-group")){const 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 c.html`
23
+ `}},n([r.property({type:String})],exports.RadioGroup.prototype,"label",2),n([r.property({type:String})],exports.RadioGroup.prototype,"name",2),n([r.property({type:String})],exports.RadioGroup.prototype,"value",2),n([r.property({type:Array})],exports.RadioGroup.prototype,"options",2),n([r.property({type:Boolean})],exports.RadioGroup.prototype,"required",2),exports.RadioGroup=n([r.customElement("schmancy-radio-group")],exports.RadioGroup);var y=Object.defineProperty,k=Object.getOwnPropertyDescriptor,d=(e,t,l,o)=>{for(var a,i=o>1?void 0:o?k(t,l):t,s=e.length-1;s>=0;s--)(a=e[s])&&(i=(o?a(t,l,i):a(i))||i);return o&&i&&y(t,l,i),i};exports.RadioButton=class extends u.FormFieldMixin(p.TailwindElement()){constructor(){super(...arguments),this.value="",this.checked=!1,this.disabled=!1,this.name=""}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.handleClick)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleClick)}handleClick(){if(!this.disabled)if(this.closest("schmancy-radio-group")){const 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 c.html`
24
24
  <label class="relative flex items-start cursor-pointer">
25
25
  <div class="flex items-center h-6">
26
26
  <input
@@ -38,4 +38,4 @@
38
38
  </div>
39
39
  </label>
40
40
  `}},d([r.property({type:String})],exports.RadioButton.prototype,"value",2),d([r.property({type:Boolean,reflect:!0})],exports.RadioButton.prototype,"checked",2),d([r.property({type:Boolean})],exports.RadioButton.prototype,"disabled",2),d([r.property({type:String})],exports.RadioButton.prototype,"name",2),exports.RadioButton=d([r.customElement("schmancy-radio-button")],exports.RadioButton);
41
- //# sourceMappingURL=radio-button-CSV7-ftB.cjs.map
41
+ //# sourceMappingURL=radio-button-DnvjanKu.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-CSV7-ftB.cjs","sources":["../src/radio-group/radio-group.ts","../src/radio-group/radio-button.ts"],"sourcesContent":["import { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { Subject } 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$.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\t\t\n\t\t// Listen for radio button clicks from children\n\t\tthis.addEventListener('radio-button-click', ((e: CustomEvent) => {\n\t\t\tthis.selection$.next(e.detail.value)\n\t\t}) as EventListener)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.selection$?.unsubscribe()\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'\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// Find parent radio-group if exists\n\t\tthis.addEventListener('click', this.handleClick)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.removeEventListener('click', this.handleClick)\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"],"names":["RadioGroup","FormFieldMixin","TailwindElement","constructor","super","arguments","this","label","name","value","options","required","selection$","Subject","connectedCallback","subscribe","emitChange","updateChildRadioButtons","addEventListener","e","next","detail","disconnectedCallback","unsubscribe","querySelectorAll","forEach","button","getAttribute","setAttribute","removeAttribute","changedProperties","updated","has","hasSlottedContent","childElementCount","html","when","map","option","handleSelection","__decorateClass","property","type","String","prototype","Array","Boolean","customElement","RadioButton","checked","disabled","handleClick","removeEventListener","closest","event","CustomEvent","bubbles","composed","dispatchEvent","render","reflect"],"mappings":"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"}
1
+ {"version":3,"file":"radio-button-DnvjanKu.cjs","sources":["../src/radio-group/radio-group.ts","../src/radio-group/radio-button.ts"],"sourcesContent":["import { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { Subject } 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$.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\t\t\n\t\t// Listen for radio button clicks from children\n\t\tthis.addEventListener('radio-button-click', ((e: CustomEvent) => {\n\t\t\tthis.selection$.next(e.detail.value)\n\t\t}) as EventListener)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.selection$?.unsubscribe()\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'\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// Find parent radio-group if exists\n\t\tthis.addEventListener('click', this.handleClick)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.removeEventListener('click', this.handleClick)\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"],"names":["RadioGroup","FormFieldMixin","TailwindElement","constructor","super","arguments","this","label","name","value","options","required","selection$","Subject","connectedCallback","subscribe","emitChange","updateChildRadioButtons","addEventListener","e","next","detail","disconnectedCallback","unsubscribe","querySelectorAll","forEach","button","getAttribute","setAttribute","removeAttribute","changedProperties","updated","has","hasSlottedContent","childElementCount","html","when","map","option","handleSelection","__decorateClass","property","type","String","prototype","Array","Boolean","customElement","RadioButton","checked","disabled","handleClick","removeEventListener","closest","event","CustomEvent","bubbles","composed","dispatchEvent","render","reflect"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./radio-button-CSV7-ftB.cjs");Object.defineProperty(exports,"RadioButton",{enumerable:!0,get:()=>e.RadioButton}),Object.defineProperty(exports,"RadioGroup",{enumerable:!0,get:()=>e.RadioGroup});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./radio-button-DnvjanKu.cjs");Object.defineProperty(exports,"RadioButton",{enumerable:!0,get:()=>e.RadioButton}),Object.defineProperty(exports,"RadioGroup",{enumerable:!0,get:()=>e.RadioGroup});
2
2
  //# sourceMappingURL=radio-group.cjs.map
@@ -1,4 +1,4 @@
1
- import { a as r, R as t } from "./radio-button-C-t6JJsj.js";
1
+ import { a as r, R as t } from "./radio-button-BSUgktLD.js";
2
2
  export {
3
3
  r as RadioButton,
4
4
  t as RadioGroup
@@ -0,0 +1,341 @@
1
+ import { Subject as q, ReplaySubject as v, distinctUntilChanged as y, shareReplay as N, skip as L, map as c, filter as d, catchError as l, EMPTY as p, zip as I, fromEvent as P, of as h, bufferTime as T, tap as J, timeout as B, from as $, switchMap as O, startWith as F, combineLatest as A, take as D, merge as _, debounceTime as z, takeUntil as Q } from "rxjs";
2
+ import "lit/directives/class-map.js";
3
+ import "lit/directives/style-map.js";
4
+ import { property as w, queryAssignedElements as Y, customElement as M } from "lit/decorators.js";
5
+ import "./tailwind.mixin-DbE6WE_l.js";
6
+ import { $ as U } from "./litElement.mixin-DVZiIRUa.js";
7
+ import { css as k, html as H } from "lit";
8
+ const x = new q(), W = "FINDING_MORTIES", G = "HERE_RICKY", C = /* @__PURE__ */ new WeakMap();
9
+ class b {
10
+ constructor() {
11
+ this.prettyURL = !1, this.mode = "HISTORY", this.request = new v(1), this.current = /* @__PURE__ */ new Map(), this.$current = new v(1), this.enableHistoryMode = !0, this.findingMortiesEvent = new CustomEvent(W), this.disposed = !1, this.isProcessingPopstate = !1, this.$current.next(this.current), this.$current.subscribe((t) => {
12
+ this.disposed || t.forEach((e, r) => {
13
+ this.getOrCreateAreaSubject(r).next(e);
14
+ });
15
+ }), this.initializeFromBrowserState();
16
+ }
17
+ get areaSubjects() {
18
+ let t = C.get(this);
19
+ return t || (t = /* @__PURE__ */ new Map(), C.set(this, t)), t;
20
+ }
21
+ initializeFromBrowserState() {
22
+ try {
23
+ const t = history.state;
24
+ t && t.schmancyAreas && (Object.entries(t.schmancyAreas).forEach(([e, r]) => {
25
+ this.current.set(e, r);
26
+ }), this.$current.next(this.current));
27
+ } catch {
28
+ }
29
+ }
30
+ getOrCreateAreaSubject(t) {
31
+ let e = this.areaSubjects.get(t);
32
+ if (!e || e.closed) {
33
+ e = new v(1), this.areaSubjects.set(t, e);
34
+ const r = this.current.get(t);
35
+ r && e.next({ ...r, state: r.state || {}, params: r.params || {}, props: r.props || {} });
36
+ }
37
+ return e;
38
+ }
39
+ on(t, e = !1) {
40
+ if (!t) throw new Error("Area name is required");
41
+ const r = this.getOrCreateAreaSubject(t).asObservable().pipe(y((o, n) => o.component === n.component && JSON.stringify(o.state) === JSON.stringify(n.state) && JSON.stringify(o.params) === JSON.stringify(n.params)), N(1));
42
+ return e ? r.pipe(L(1)) : r;
43
+ }
44
+ all(t = !1) {
45
+ const e = this.$current.asObservable().pipe(N(1));
46
+ return t ? e.pipe(L(1)) : e;
47
+ }
48
+ getState(t) {
49
+ if (!t) throw new Error("Area name is required");
50
+ return this.on(t).pipe(c((e) => e.state), d((e) => e != null), y((e, r) => JSON.stringify(e) === JSON.stringify(r)), c((e) => e), l((e) => p));
51
+ }
52
+ params(t) {
53
+ if (!t) throw new Error("Area name is required");
54
+ return this.on(t).pipe(c((e) => e.params), d((e) => e != null), y((e, r) => JSON.stringify(e) === JSON.stringify(r)), c((e) => e), l((e) => p));
55
+ }
56
+ param(t, e) {
57
+ if (!t || !e) throw new Error("Area name and key are required");
58
+ return this.params(t).pipe(c((r) => r[e]), d((r) => r !== void 0), y(), c((r) => r), l((r) => p));
59
+ }
60
+ props(t) {
61
+ if (!t) throw new Error("Area name is required");
62
+ return this.on(t).pipe(c((e) => e.props), d((e) => e != null), y((e, r) => JSON.stringify(e) === JSON.stringify(r)), c((e) => e), l((e) => p));
63
+ }
64
+ prop(t, e) {
65
+ if (!t || !e) throw new Error("Area name and key are required");
66
+ return this.props(t).pipe(c((r) => r[e]), d((r) => r !== void 0), y(), c((r) => r), l((r) => p));
67
+ }
68
+ find() {
69
+ return I([P(window, G).pipe(c((t) => t.detail), T(0)), h(1).pipe(J(() => window.dispatchEvent(this.findingMortiesEvent)))]).pipe(c(([t]) => t), B(1), l(() => p));
70
+ }
71
+ push(t) {
72
+ if (!t.area) throw new Error("Area is required for route action");
73
+ if (this.isProcessingPopstate) return;
74
+ const e = { ...t, state: t.state || {}, params: t.params || {}, props: t.props || {}, _source: "programmatic" };
75
+ this.enableHistoryMode && x.next(e), this.request.next(e), this.dispatchAreaEvent(e.area, e);
76
+ }
77
+ _updateFromBrowser(t) {
78
+ const e = { ...t, state: t.state || {}, params: t.params || {}, props: t.props || {}, _source: "browser" };
79
+ this.isProcessingPopstate = !0, this.request.next(e), this.isProcessingPopstate = !1;
80
+ }
81
+ _updateBrowserHistory(t, e, r, o) {
82
+ if (this.enableHistoryMode) try {
83
+ const n = history.state || {}, s = n.schmancyAreas || {}, i = { component: e.component, area: e.area };
84
+ e.state && Object.keys(e.state).length > 0 && (i.state = e.state), e.params && Object.keys(e.params).length > 0 && (i.params = e.params), e.props && Object.keys(e.props).length > 0 && (i.props = e.props), s[t] = i;
85
+ const m = { ...n, schmancyAreas: s }, u = this.createCleanURL(s, o);
86
+ r === "replace" || r === "pop" ? history.replaceState(m, "", u) : r !== "push" && r || history.pushState(m, "", u);
87
+ } catch {
88
+ }
89
+ }
90
+ createCleanURL(t, e) {
91
+ let r = "";
92
+ if (e !== !0) {
93
+ const o = new URLSearchParams(location.search);
94
+ Array.isArray(e) && e.forEach((n) => o.delete(n)), r = o.toString(), r = r ? `?${r}` : "";
95
+ }
96
+ if (this.prettyURL) {
97
+ const o = t.main;
98
+ if (o) {
99
+ let n = `/${o.component}`;
100
+ const s = new URLSearchParams(r);
101
+ o.params && Object.entries(o.params).forEach(([m, u]) => {
102
+ typeof u != "string" && typeof u != "number" || s.set(m, String(u));
103
+ });
104
+ const i = s.toString();
105
+ return n + (i ? `?${i}` : "");
106
+ }
107
+ }
108
+ try {
109
+ const o = {};
110
+ return Object.entries(t).forEach(([n, s]) => {
111
+ const i = { component: s.component };
112
+ s.state && Object.keys(s.state).length > 0 && (i.state = s.state), s.params && Object.keys(s.params).length > 0 && (i.params = s.params), s.props && Object.keys(s.props).length > 0 && (i.props = s.props), o[n] = i;
113
+ }), Object.keys(o).length === 0 ? r ? `/${r}` : "/" : `/${encodeURIComponent(JSON.stringify(o))}${r}`;
114
+ } catch {
115
+ return location.pathname;
116
+ }
117
+ }
118
+ restoreFromBrowserState(t) {
119
+ try {
120
+ if (t && t.schmancyAreas) return t.schmancyAreas;
121
+ } catch {
122
+ }
123
+ return this.parseStateFromURL();
124
+ }
125
+ parseStateFromURL() {
126
+ const t = location.pathname.split("/").pop();
127
+ if (!t) return {};
128
+ try {
129
+ const e = decodeURIComponent(t), r = JSON.parse(e);
130
+ if (typeof r == "object" && r !== null) return r;
131
+ } catch {
132
+ }
133
+ return {};
134
+ }
135
+ dispatchAreaEvent(t, e) {
136
+ const r = new CustomEvent(`schmancy-area-${t}-changed`, { detail: { area: t, component: e.component, state: e.state, params: e.params, props: e.props, historyStrategy: e.historyStrategy }, bubbles: !0, composed: !0 });
137
+ window.dispatchEvent(r);
138
+ }
139
+ pop(t) {
140
+ if (!t) throw new Error("Area name is required");
141
+ const e = this.areaSubjects.get(t);
142
+ if (e && !e.closed && e.next({ component: null, state: {}, area: t, params: {}, props: {} }), this.request.next({ area: t, component: null, state: {}, params: {}, props: {}, historyStrategy: "silent", _source: "programmatic" }), this.current.delete(t), this.$current.next(this.current), this.enableHistoryMode) try {
143
+ const r = history.state || {}, o = { ...r.schmancyAreas || {} };
144
+ delete o[t];
145
+ const n = { ...r, schmancyAreas: o }, s = this.createCleanURL(o);
146
+ history.replaceState(n, "", s);
147
+ } catch {
148
+ }
149
+ }
150
+ clear() {
151
+ this.areaSubjects.forEach((t) => t.complete()), this.areaSubjects.clear(), this.current.clear(), this.$current.next(this.current), this.enableHistoryMode && history.replaceState({ schmancyAreas: {} }, "", `/${location.search}`);
152
+ }
153
+ dispose() {
154
+ this.disposed || (this.disposed = !0, this.areaSubjects.forEach((t) => t.complete()), this.areaSubjects.clear(), this.request.complete(), this.$current.complete(), x.complete(), this.current.clear(), C.delete(this));
155
+ }
156
+ static getInstance() {
157
+ return b.instance || (b.instance = new b()), b.instance;
158
+ }
159
+ get state() {
160
+ try {
161
+ const t = history.state;
162
+ if (t && t.schmancyAreas) return t.schmancyAreas;
163
+ } catch {
164
+ }
165
+ return this.parseStateFromURL();
166
+ }
167
+ hasArea(t) {
168
+ return this.current.has(t);
169
+ }
170
+ getActiveAreas() {
171
+ return Array.from(this.current.keys());
172
+ }
173
+ getRoute(t) {
174
+ return this.current.get(t);
175
+ }
176
+ }
177
+ const f = b.getInstance();
178
+ typeof window < "u" && window.addEventListener("unload", () => {
179
+ f.dispose();
180
+ });
181
+ var S = ((a) => (a.push = "push", a.replace = "replace", a.pop = "pop", a.silent = "silent", a))(S || {}), K = Object.defineProperty, V = Object.getOwnPropertyDescriptor, j = (a, t, e, r) => {
182
+ for (var o, n = r > 1 ? void 0 : r ? V(t, e) : t, s = a.length - 1; s >= 0; s--) (o = a[s]) && (n = (r ? o(t, e, n) : o(n)) || n);
183
+ return r && n && K(t, e, n), n;
184
+ };
185
+ let E = class extends U(k`
186
+ :host {
187
+ position: relative;
188
+ display: block;
189
+ inset: 0;
190
+ }
191
+ `) {
192
+ resolveRoute(a, t, e = S.silent, r = []) {
193
+ switch (a) {
194
+ case "initial":
195
+ case "popstate": {
196
+ if (a === "popstate" && t && typeof t == "object" && "state" in t) {
197
+ const n = t, s = n.state?.schmancyAreas?.[this.name];
198
+ if (s) return h({ area: this.name, component: s.component, state: s.state || {}, params: s.params || {}, historyStrategy: S.silent });
199
+ }
200
+ const o = typeof t == "string" ? t : location.pathname;
201
+ return this.matchSegmentToRoute(o, e, r);
202
+ }
203
+ case "navigation":
204
+ return t && typeof t == "object" && "component" in t ? h(t) : p;
205
+ default:
206
+ return p;
207
+ }
208
+ }
209
+ matchSegmentToRoute(a, t, e) {
210
+ const r = a.split("/").pop() || "";
211
+ if (r && (r.includes("{") || r.includes("%7B"))) try {
212
+ const o = decodeURIComponent(r), n = JSON.parse(o);
213
+ if (n[this.name]) return h({ area: this.name, component: n[this.name].component, state: n[this.name].state || {}, params: n[this.name].params || {}, historyStrategy: t });
214
+ } catch {
215
+ }
216
+ if (e && e.length > 0) {
217
+ const o = a.split("/").filter(Boolean)[0] || "";
218
+ for (const n of e)
219
+ if (n.when === o) return n.guard ? $(Promise.resolve(n.guard())).pipe(O((s) => s === !0 ? h({ area: this.name, component: n.component, state: {}, params: {}, historyStrategy: t }) : s === !1 ? this.default ? h({ area: this.name, component: this.default, state: {}, params: {}, historyStrategy: t }) : p : typeof s == "string" ? this.matchSegmentToRoute(s, t, e) : typeof s == "object" && s.redirect ? this.matchSegmentToRoute(s.redirect, t, e) : this.default ? h({ area: this.name, component: this.default, state: {}, params: {}, historyStrategy: t }) : p), l((s) => this.default ? h({ area: this.name, component: this.default, state: {}, params: {}, historyStrategy: t }) : p)) : h({ area: this.name, component: n.component, state: {}, params: {}, historyStrategy: t });
220
+ }
221
+ return this.default ? h({ area: this.name, component: this.default, state: {}, params: {}, historyStrategy: t }) : p;
222
+ }
223
+ async resolveComponent(a) {
224
+ if (!a || a === "") return { element: null };
225
+ if (typeof a == "string") try {
226
+ return { element: document.createElement(a) };
227
+ } catch {
228
+ return this.default && typeof this.default == "string" ? { element: document.createElement(this.default) } : { element: null };
229
+ }
230
+ if (a instanceof HTMLElement) return { element: a };
231
+ if (typeof a == "function" && !("then" in a)) try {
232
+ return { element: new a() };
233
+ } catch {
234
+ return { element: null };
235
+ }
236
+ if (typeof a == "function") try {
237
+ const t = (await a()).default;
238
+ return { element: new t() };
239
+ } catch {
240
+ return { element: null };
241
+ }
242
+ if (a instanceof Promise) try {
243
+ const t = (await a).default;
244
+ return { element: new t() };
245
+ } catch {
246
+ return { element: null };
247
+ }
248
+ return { element: null };
249
+ }
250
+ firstUpdated() {
251
+ if (!this.name) throw new Error("Area name is required");
252
+ this.routingSubscription?.unsubscribe();
253
+ const a = this.shadowRoot?.querySelector("slot"), t = a ? P(a, "slotchange").pipe(F(null), c(() => this.routes || [])) : h([]), e = A([h(location.pathname), t]).pipe(D(1), O(([s, i]) => this.resolveRoute("initial", s, S.silent, i))), r = A([f.request.pipe(d(({ area: s }) => s === this.name)), t]).pipe(O(([s, i]) => this.resolveRoute("navigation", s, S.silent, i))), o = A([P(window, "popstate"), t]).pipe(O(([s, i]) => this.resolveRoute("popstate", s, S.silent, i))), n = _(e, r, o);
254
+ this.routingSubscription = n.pipe(z(0), d((s) => s.component !== void 0), y((s, i) => this.isSameRoute(s, i)), N(1), O((s) => $(this.resolveComponent(s.component)).pipe(c((i) => ({ ...i, route: s })))), c(({ element: s, route: i }) => (s && (i.params && Object.entries(i.params).forEach(([m, u]) => {
255
+ s[m] = u;
256
+ }), i.props && Object.entries(i.props).forEach(([m, u]) => {
257
+ s[m] = u;
258
+ }), i.state && (s.state = i.state)), { element: s, route: i })), J(({ element: s, route: i }) => {
259
+ this.updateDOM(s), s && this.updateInternalState(i, s), this.updateBrowserHistory(i, s);
260
+ }), l((s) => p), Q(this.disconnecting)).subscribe({ error: (s) => {
261
+ } });
262
+ }
263
+ isSameRoute(a, t) {
264
+ if (a.component === null && t.component === null) return !0;
265
+ if (a.component === null || t.component === null) return !1;
266
+ let e = "", r = "";
267
+ typeof a.component == "function" ? e = a.component.name || a.component.toString() : typeof a.component == "string" ? e = a.component : a.component instanceof HTMLElement && (e = a.component.tagName.toLowerCase()), typeof t.component == "function" ? r = t.component.name || t.component.toString() : typeof t.component == "string" ? r = t.component : t.component instanceof HTMLElement && (r = t.component.tagName.toLowerCase());
268
+ const o = (m) => m?.replaceAll("-", "").toLowerCase(), n = o(e) === o(r), s = JSON.stringify(a.params || {}) === JSON.stringify(t.params || {}), i = JSON.stringify(a.state || {}) === JSON.stringify(t.state || {});
269
+ return n && s && i;
270
+ }
271
+ updateDOM(a) {
272
+ const t = this.shadowRoot?.children[0], e = !!t;
273
+ t && t.remove(), a && (this.shadowRoot?.append(a), this.shadowRoot?.contains(a) && (a.animate([{ opacity: 0 }, { opacity: 1 }], { duration: e ? 150 : 100, easing: "cubic-bezier(0.25, 0.8, 0.25, 1)", fill: "forwards" }).onfinish = () => {
274
+ a.style.opacity = "1";
275
+ }));
276
+ }
277
+ updateInternalState(a, t) {
278
+ if (!t) return;
279
+ const e = { component: t.tagName.toLowerCase(), state: a.state || {}, area: this.name, params: a.params || {} };
280
+ f.current.set(this.name, e), f.$current.next(f.current);
281
+ }
282
+ updateBrowserHistory(a, t) {
283
+ if (!f.enableHistoryMode || !t) return;
284
+ const e = { component: t.tagName.toLowerCase(), state: a.state || {}, area: this.name, params: a.params || {} };
285
+ f._updateBrowserHistory(this.name, e, a.historyStrategy, a.clearQueryParams);
286
+ }
287
+ newPath(a, t) {
288
+ const e = location.pathname.split("/").pop();
289
+ let r = {};
290
+ try {
291
+ r = e ? JSON.parse(decodeURIComponent(e)) : {};
292
+ } catch {
293
+ r = {};
294
+ }
295
+ t.state = t.state ?? {};
296
+ const o = t.clearQueryParams ? this.queryParamClear(t.clearQueryParams) : document.location.search;
297
+ return encodeURIComponent(JSON.stringify({ ...r, [this.name]: { component: a.toLowerCase(), state: t.state, params: t.params } })).concat(`${o}`);
298
+ }
299
+ queryParamClear(a) {
300
+ if (!a) return "";
301
+ const t = new URLSearchParams(location.search);
302
+ return a === !0 ? "" : (a.forEach((e) => t.delete(e)), t.toString() === "" ? "" : `?${t.toString()}`);
303
+ }
304
+ disconnectedCallback() {
305
+ super.disconnectedCallback(), this.routingSubscription && (this.routingSubscription.unsubscribe(), this.routingSubscription = void 0);
306
+ }
307
+ render() {
308
+ return H` <slot> </slot> `;
309
+ }
310
+ };
311
+ j([w()], E.prototype, "name", 2), j([w()], E.prototype, "default", 2), j([Y({ selector: "schmancy-route" })], E.prototype, "routes", 2), E = j([M("schmancy-area")], E);
312
+ var X = Object.defineProperty, Z = Object.getOwnPropertyDescriptor, R = (a, t, e, r) => {
313
+ for (var o, n = r > 1 ? void 0 : r ? Z(t, e) : t, s = a.length - 1; s >= 0; s--) (o = a[s]) && (n = (r ? o(t, e, n) : o(n)) || n);
314
+ return r && n && X(t, e, n), n;
315
+ };
316
+ let g = class extends U(k`
317
+ :host {
318
+ display: none;
319
+ }
320
+ `) {
321
+ constructor() {
322
+ super(...arguments), this.exact = !1;
323
+ }
324
+ getConfig() {
325
+ return { when: this.when, component: this.component, exact: this.exact, guard: this.guard };
326
+ }
327
+ render() {
328
+ return H``;
329
+ }
330
+ };
331
+ R([w({ type: String })], g.prototype, "when", 2), R([w({ type: Object })], g.prototype, "component", 2), R([w({ type: Boolean })], g.prototype, "exact", 2), R([w({ type: Object })], g.prototype, "guard", 2), g = R([M("schmancy-route")], g);
332
+ export {
333
+ W as F,
334
+ G as H,
335
+ E as S,
336
+ g as a,
337
+ f as b,
338
+ S as c,
339
+ x as r
340
+ };
341
+ //# sourceMappingURL=route.component-BJEghY9L.js.map