@mhmo91/schmancy 0.4.78 → 0.4.80

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 (326) hide show
  1. package/ai/area.md +223 -11
  2. package/ai/content-drawer.md +59 -26
  3. package/dist/ai/area.md +223 -11
  4. package/dist/ai/content-drawer.md +59 -26
  5. package/dist/{animated-text-g3SZFDmS.js → animated-text-DF5iHL66.js} +3 -3
  6. package/dist/{animated-text-g3SZFDmS.js.map → animated-text-DF5iHL66.js.map} +1 -1
  7. package/dist/{animated-text-DRQbkLfM.cjs → animated-text-Ra7G35tz.cjs} +2 -2
  8. package/dist/{animated-text-DRQbkLfM.cjs.map → animated-text-Ra7G35tz.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 +13 -12
  13. package/dist/{autocomplete-Ci--5JBi.cjs → autocomplete-0qgkJELR.cjs} +2 -2
  14. package/dist/{autocomplete-Ci--5JBi.cjs.map → autocomplete-0qgkJELR.cjs.map} +1 -1
  15. package/dist/{autocomplete-CC5cqaLd.js → autocomplete-DNTo7fHJ.js} +3 -3
  16. package/dist/{autocomplete-CC5cqaLd.js.map → autocomplete-DNTo7fHJ.js.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/{avatar-Bsjv5OuH.cjs → avatar-Bws6p1iq.cjs} +20 -20
  20. package/dist/avatar-Bws6p1iq.cjs.map +1 -0
  21. package/dist/{avatar-CE8waacF.js → avatar-kpFZmTl5.js} +190 -172
  22. package/dist/avatar-kpFZmTl5.js.map +1 -0
  23. package/dist/badge.cjs +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{boat-B2l1E5Rr.js → boat-BEjCaneK.js} +2 -2
  26. package/dist/{boat-B2l1E5Rr.js.map → boat-BEjCaneK.js.map} +1 -1
  27. package/dist/{boat-DcrOCO10.cjs → boat-CsmB4RXa.cjs} +2 -2
  28. package/dist/{boat-DcrOCO10.cjs.map → boat-CsmB4RXa.cjs.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-CJvEHu71.cjs → checkbox-D6bUTeG8.cjs} +2 -2
  38. package/dist/{checkbox-CJvEHu71.cjs.map → checkbox-D6bUTeG8.cjs.map} +1 -1
  39. package/dist/{checkbox-B9hlaRM7.js → checkbox-k9tWSA4E.js} +2 -2
  40. package/dist/{checkbox-B9hlaRM7.js.map → checkbox-k9tWSA4E.js.map} +1 -1
  41. package/dist/checkbox.cjs +1 -1
  42. package/dist/checkbox.js +1 -1
  43. package/dist/{chips-DSvkYUqs.cjs → chips-CtbapOaS.cjs} +2 -2
  44. package/dist/{chips-DSvkYUqs.cjs.map → chips-CtbapOaS.cjs.map} +1 -1
  45. package/dist/{chips-Bnjcoior.js → chips-DO6f95nV.js} +3 -3
  46. package/dist/{chips-Bnjcoior.js.map → chips-DO6f95nV.js.map} +1 -1
  47. package/dist/chips.cjs +1 -1
  48. package/dist/chips.js +1 -1
  49. package/dist/code-highlight.cjs +1 -1
  50. package/dist/code-highlight.js +1 -1
  51. package/dist/{code-preview-BevWoQxu.cjs → code-preview-DGkqHYdn.cjs} +2 -2
  52. package/dist/{code-preview-BevWoQxu.cjs.map → code-preview-DGkqHYdn.cjs.map} +1 -1
  53. package/dist/{code-preview-yJ3NA98_.js → code-preview-djAAzZxj.js} +2 -2
  54. package/dist/{code-preview-yJ3NA98_.js.map → code-preview-djAAzZxj.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-KVvpeqYQ.js → date-range-CHJqdE9Y.js} +3 -3
  60. package/dist/{date-range-KVvpeqYQ.js.map → date-range-CHJqdE9Y.js.map} +1 -1
  61. package/dist/{date-range-CHGkfVeE.cjs → date-range-Dfw7LxKv.cjs} +2 -2
  62. package/dist/{date-range-CHGkfVeE.cjs.map → date-range-Dfw7LxKv.cjs.map} +1 -1
  63. package/dist/{date-range-inline-BagnhxPn.cjs → date-range-inline-CBOrdNiP.cjs} +2 -2
  64. package/dist/{date-range-inline-BagnhxPn.cjs.map → date-range-inline-CBOrdNiP.cjs.map} +1 -1
  65. package/dist/{date-range-inline-BRnyYe_e.js → date-range-inline-dlZb5tJg.js} +3 -3
  66. package/dist/{date-range-inline-BRnyYe_e.js.map → date-range-inline-dlZb5tJg.js.map} +1 -1
  67. package/dist/date-range-inline.cjs +1 -1
  68. package/dist/date-range-inline.js +1 -1
  69. package/dist/date-range.cjs +1 -1
  70. package/dist/date-range.js +1 -1
  71. package/dist/{delay-AjA5MI5M.js → delay-BP5SfQRo.js} +2 -2
  72. package/dist/{delay-AjA5MI5M.js.map → delay-BP5SfQRo.js.map} +1 -1
  73. package/dist/{delay-0Ffc_SU2.cjs → delay-DFB3_NEH.cjs} +2 -2
  74. package/dist/{delay-0Ffc_SU2.cjs.map → delay-DFB3_NEH.cjs.map} +1 -1
  75. package/dist/delay.cjs +1 -1
  76. package/dist/delay.js +1 -1
  77. package/dist/{details-sROeZea4.js → details-Bd0PJpSd.js} +15 -14
  78. package/dist/details-Bd0PJpSd.js.map +1 -0
  79. package/dist/{details-CVpg9-ww.cjs → details-Cv8AMues.cjs} +7 -7
  80. package/dist/details-Cv8AMues.cjs.map +1 -0
  81. package/dist/details.cjs +1 -1
  82. package/dist/details.js +1 -1
  83. package/dist/{dialog-content-gK9U1OJy.js → dialog-content-8smVbEth.js} +3 -3
  84. package/dist/{dialog-content-gK9U1OJy.js.map → dialog-content-8smVbEth.js.map} +1 -1
  85. package/dist/{dialog-content-B6gtCmhY.cjs → dialog-content-CURTuo8R.cjs} +2 -2
  86. package/dist/{dialog-content-B6gtCmhY.cjs.map → dialog-content-CURTuo8R.cjs.map} +1 -1
  87. package/dist/dialog.cjs +1 -1
  88. package/dist/dialog.js +1 -1
  89. package/dist/{divider-h24cqDki.cjs → divider-CVomKpEr.cjs} +2 -2
  90. package/dist/{divider-h24cqDki.cjs.map → divider-CVomKpEr.cjs.map} +1 -1
  91. package/dist/{divider-B64ylaDM.js → divider-DnyRwbTs.js} +3 -3
  92. package/dist/{divider-B64ylaDM.js.map → divider-DnyRwbTs.js.map} +1 -1
  93. package/dist/divider.cjs +1 -1
  94. package/dist/divider.js +1 -1
  95. package/dist/{dropdown-content-HfjqVeGY.js → dropdown-content-B1tXM7Vp.js} +3 -3
  96. package/dist/{dropdown-content-HfjqVeGY.js.map → dropdown-content-B1tXM7Vp.js.map} +1 -1
  97. package/dist/{dropdown-content-DhH9UtN_.cjs → dropdown-content-lZcMgCym.cjs} +2 -2
  98. package/dist/{dropdown-content-DhH9UtN_.cjs.map → dropdown-content-lZcMgCym.cjs.map} +1 -1
  99. package/dist/dropdown.cjs +1 -1
  100. package/dist/dropdown.js +1 -1
  101. package/dist/{email-recipients-CdGvSgPI.js → email-recipients-CQNYpvG7.js} +5 -5
  102. package/dist/{email-recipients-CdGvSgPI.js.map → email-recipients-CQNYpvG7.js.map} +1 -1
  103. package/dist/{email-recipients-DNLrlCJo.cjs → email-recipients-D2bcyJAi.cjs} +2 -2
  104. package/dist/{email-recipients-DNLrlCJo.cjs.map → email-recipients-D2bcyJAi.cjs.map} +1 -1
  105. package/dist/extra.cjs +1 -1
  106. package/dist/extra.js +1 -1
  107. package/dist/{flex-CDD6pPJp.js → flex-CQzrxgEP.js} +2 -2
  108. package/dist/{flex-CDD6pPJp.js.map → flex-CQzrxgEP.js.map} +1 -1
  109. package/dist/{flex-xzlCwqDU.cjs → flex-CbGwzfNX.cjs} +2 -2
  110. package/dist/{flex-xzlCwqDU.cjs.map → flex-CbGwzfNX.cjs.map} +1 -1
  111. package/dist/{form-Cmb3eiuu.cjs → form-Cid9N-2B.cjs} +2 -2
  112. package/dist/{form-Cmb3eiuu.cjs.map → form-Cid9N-2B.cjs.map} +1 -1
  113. package/dist/{form-DRDWGFYA.js → form-DcKKSUWi.js} +2 -2
  114. package/dist/{form-DRDWGFYA.js.map → form-DcKKSUWi.js.map} +1 -1
  115. package/dist/form.cjs +1 -1
  116. package/dist/form.js +1 -1
  117. package/dist/{formField.mixin-DO6xZKm5.js → formField.mixin-C5U1Rh5p.js} +2 -2
  118. package/dist/{formField.mixin-DO6xZKm5.js.map → formField.mixin-C5U1Rh5p.js.map} +1 -1
  119. package/dist/{formField.mixin-CAILHzv1.cjs → formField.mixin-DtuGCitn.cjs} +2 -2
  120. package/dist/{formField.mixin-CAILHzv1.cjs.map → formField.mixin-DtuGCitn.cjs.map} +1 -1
  121. package/dist/{icon-G21hWtIP.cjs → icon-7uflQBUI.cjs} +2 -2
  122. package/dist/{icon-G21hWtIP.cjs.map → icon-7uflQBUI.cjs.map} +1 -1
  123. package/dist/{icon-Covxs_tz.js → icon-DF5RpNTK.js} +2 -2
  124. package/dist/{icon-Covxs_tz.js.map → icon-DF5RpNTK.js.map} +1 -1
  125. package/dist/{icon-button-jmuc0Alp.js → icon-button-Bol0a-v7.js} +3 -3
  126. package/dist/{icon-button-jmuc0Alp.js.map → icon-button-Bol0a-v7.js.map} +1 -1
  127. package/dist/{icon-button-BJwbB-we.cjs → icon-button-D41ID2Fc.cjs} +2 -2
  128. package/dist/{icon-button-BJwbB-we.cjs.map → icon-button-D41ID2Fc.cjs.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 +207 -206
  133. package/dist/{input-BYUNvuUB.cjs → input-CcwnttG1.cjs} +2 -2
  134. package/dist/{input-BYUNvuUB.cjs.map → input-CcwnttG1.cjs.map} +1 -1
  135. package/dist/{input-D4SMX4Jy.js → input-ClFADkhf.js} +3 -3
  136. package/dist/{input-D4SMX4Jy.js.map → input-ClFADkhf.js.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/{utils-C9nzOWpR.cjs → lazy-DObpkuL6.cjs} +2 -2
  142. package/dist/lazy-DObpkuL6.cjs.map +1 -0
  143. package/dist/{utils-03Coa8AW.js → lazy-E2LCDm7n.js} +37 -23
  144. package/dist/lazy-E2LCDm7n.js.map +1 -0
  145. package/dist/{list-CjWyeyyf.cjs → list-BAjh6Ucg.cjs} +2 -2
  146. package/dist/{list-CjWyeyyf.cjs.map → list-BAjh6Ucg.cjs.map} +1 -1
  147. package/dist/{list-CFA9OIVl.js → list-CIFl0wDX.js} +2 -2
  148. package/dist/{list-CFA9OIVl.js.map → list-CIFl0wDX.js.map} +1 -1
  149. package/dist/list.cjs +1 -1
  150. package/dist/list.js +1 -1
  151. package/dist/{litElement.mixin-BAbHXkqK.js → litElement.mixin-Cs2vwcM4.js} +2 -2
  152. package/dist/{litElement.mixin-BAbHXkqK.js.map → litElement.mixin-Cs2vwcM4.js.map} +1 -1
  153. package/dist/{litElement.mixin-D-9tQapF.cjs → litElement.mixin-DiSo_YRo.cjs} +2 -2
  154. package/dist/{litElement.mixin-D-9tQapF.cjs.map → litElement.mixin-DiSo_YRo.cjs.map} +1 -1
  155. package/dist/mailbox.cjs +1 -1
  156. package/dist/mailbox.js +1 -1
  157. package/dist/{map-BP7Tl3AA.js → map-DRXTbpex.js} +2 -2
  158. package/dist/{map-BP7Tl3AA.js.map → map-DRXTbpex.js.map} +1 -1
  159. package/dist/{map-CouhaoPu.cjs → map-wFoHnuTE.cjs} +2 -2
  160. package/dist/{map-CouhaoPu.cjs.map → map-wFoHnuTE.cjs.map} +1 -1
  161. package/dist/map.cjs +1 -1
  162. package/dist/map.js +1 -1
  163. package/dist/{media-LO5ZS0G2.cjs → media-DMXDyK_t.cjs} +2 -2
  164. package/dist/{media-LO5ZS0G2.cjs.map → media-DMXDyK_t.cjs.map} +1 -1
  165. package/dist/{media-C2mcgImc.js → media-DdD4d518.js} +2 -2
  166. package/dist/{media-C2mcgImc.js.map → media-DdD4d518.js.map} +1 -1
  167. package/dist/{menu-8jVWArTo.cjs → menu-D6djF8D7.cjs} +2 -2
  168. package/dist/{menu-8jVWArTo.cjs.map → menu-D6djF8D7.cjs.map} +1 -1
  169. package/dist/{menu-B7aYu4B3.js → menu-vSrpyy8w.js} +3 -3
  170. package/dist/{menu-B7aYu4B3.js.map → menu-vSrpyy8w.js.map} +1 -1
  171. package/dist/menu.cjs +1 -1
  172. package/dist/menu.js +1 -1
  173. package/dist/nav-drawer.cjs +1 -1
  174. package/dist/nav-drawer.js +1 -1
  175. package/dist/{notification-service-DH-r8CX3.js → notification-service-C5f9YdPY.js} +4 -4
  176. package/dist/{notification-service-DH-r8CX3.js.map → notification-service-C5f9YdPY.js.map} +1 -1
  177. package/dist/{notification-service-CWE4m7yx.cjs → notification-service-CnVFGj74.cjs} +2 -2
  178. package/dist/{notification-service-CWE4m7yx.cjs.map → notification-service-CnVFGj74.cjs.map} +1 -1
  179. package/dist/notification.cjs +1 -1
  180. package/dist/notification.js +2 -2
  181. package/dist/{notify-Bf1XwAns.js → notify-CuQyUgsU.js} +2 -2
  182. package/dist/{notify-Bf1XwAns.js.map → notify-CuQyUgsU.js.map} +1 -1
  183. package/dist/{notify-DpoCJiWh.cjs → notify-DtUM_vBe.cjs} +2 -2
  184. package/dist/{notify-DpoCJiWh.cjs.map → notify-DtUM_vBe.cjs.map} +1 -1
  185. package/dist/{option-DSgxIixo.js → option-CMyac-XQ.js} +2 -2
  186. package/dist/{option-DSgxIixo.js.map → option-CMyac-XQ.js.map} +1 -1
  187. package/dist/{option-BXYy12E9.cjs → option-D22bslGV.cjs} +2 -2
  188. package/dist/{option-BXYy12E9.cjs.map → option-D22bslGV.cjs.map} +1 -1
  189. package/dist/option.cjs +1 -1
  190. package/dist/option.js +1 -1
  191. package/dist/{payment-card-form-CiQFlAd7.js → payment-card-form-C2rSfNUB.js} +3 -3
  192. package/dist/{payment-card-form-CiQFlAd7.js.map → payment-card-form-C2rSfNUB.js.map} +1 -1
  193. package/dist/{payment-card-form-hMvGeUlj.cjs → payment-card-form-CIo6Jvh4.cjs} +2 -2
  194. package/dist/{payment-card-form-hMvGeUlj.cjs.map → payment-card-form-CIo6Jvh4.cjs.map} +1 -1
  195. package/dist/{progress--X8m6TMu.cjs → progress-Cz6acdfO.cjs} +2 -2
  196. package/dist/{progress--X8m6TMu.cjs.map → progress-Cz6acdfO.cjs.map} +1 -1
  197. package/dist/{progress-C2uSNdat.js → progress-CzZkkBKS.js} +2 -2
  198. package/dist/{progress-C2uSNdat.js.map → progress-CzZkkBKS.js.map} +1 -1
  199. package/dist/progress.cjs +1 -1
  200. package/dist/progress.js +1 -1
  201. package/dist/{radio-button-DveKJXMv.js → radio-button-CvhN1gWj.js} +3 -3
  202. package/dist/{radio-button-DveKJXMv.js.map → radio-button-CvhN1gWj.js.map} +1 -1
  203. package/dist/{radio-button-CiVKoIT_.cjs → radio-button-XTjTthrJ.cjs} +2 -2
  204. package/dist/{radio-button-CiVKoIT_.cjs.map → radio-button-XTjTthrJ.cjs.map} +1 -1
  205. package/dist/radio-group.cjs +1 -1
  206. package/dist/radio-group.js +1 -1
  207. package/dist/route.component-5LuJ2r6W.js +311 -0
  208. package/dist/route.component-5LuJ2r6W.js.map +1 -0
  209. package/dist/route.component-DR82kcmu.cjs +12 -0
  210. package/dist/route.component-DR82kcmu.cjs.map +1 -0
  211. package/dist/{schmancy-steps-container-BqkjJuas.cjs → schmancy-steps-container-CDj0iFPm.cjs} +2 -2
  212. package/dist/{schmancy-steps-container-BqkjJuas.cjs.map → schmancy-steps-container-CDj0iFPm.cjs.map} +1 -1
  213. package/dist/{schmancy-steps-container-ESoWPRrj.js → schmancy-steps-container-DJdcHEVs.js} +2 -2
  214. package/dist/{schmancy-steps-container-ESoWPRrj.js.map → schmancy-steps-container-DJdcHEVs.js.map} +1 -1
  215. package/dist/{select-B5bog_rc.cjs → select-BZuUqcqv.cjs} +2 -2
  216. package/dist/{select-B5bog_rc.cjs.map → select-BZuUqcqv.cjs.map} +1 -1
  217. package/dist/{select-BuYzF_Iw.js → select-BnLSAqtO.js} +3 -3
  218. package/dist/{select-BuYzF_Iw.js.map → select-BnLSAqtO.js.map} +1 -1
  219. package/dist/select.cjs +1 -1
  220. package/dist/select.js +1 -1
  221. package/dist/{sheet-BABzrv-1.cjs → sheet-CSp5quAX.cjs} +2 -2
  222. package/dist/{sheet-BABzrv-1.cjs.map → sheet-CSp5quAX.cjs.map} +1 -1
  223. package/dist/{sheet-bz4c5b-T.js → sheet-CcKYre1L.js} +3 -3
  224. package/dist/{sheet-bz4c5b-T.js.map → sheet-CcKYre1L.js.map} +1 -1
  225. package/dist/sheet.cjs +1 -1
  226. package/dist/sheet.js +1 -1
  227. package/dist/{slider-BfUbDIgT.cjs → slider-CPJ-4yg4.cjs} +2 -2
  228. package/dist/{slider-BfUbDIgT.cjs.map → slider-CPJ-4yg4.cjs.map} +1 -1
  229. package/dist/{slider-DUslKIy9.js → slider-D36miB_e.js} +3 -3
  230. package/dist/{slider-DUslKIy9.js.map → slider-D36miB_e.js.map} +1 -1
  231. package/dist/slider.cjs +1 -1
  232. package/dist/slider.js +1 -1
  233. package/dist/{spinner-By_atmOD.js → spinner-1vMz2pLZ.js} +2 -2
  234. package/dist/{spinner-By_atmOD.js.map → spinner-1vMz2pLZ.js.map} +1 -1
  235. package/dist/{spinner-Cc7rjihp.cjs → spinner-uKeW1jVr.cjs} +2 -2
  236. package/dist/{spinner-Cc7rjihp.cjs.map → spinner-uKeW1jVr.cjs.map} +1 -1
  237. package/dist/steps.cjs +1 -1
  238. package/dist/steps.js +1 -1
  239. package/dist/{surface-VrM3qS7F.cjs → surface-DCAyIw6O.cjs} +2 -2
  240. package/dist/{surface-VrM3qS7F.cjs.map → surface-DCAyIw6O.cjs.map} +1 -1
  241. package/dist/{surface-BhZhEe42.js → surface-DWRvqMeW.js} +2 -2
  242. package/dist/{surface-BhZhEe42.js.map → surface-DWRvqMeW.js.map} +1 -1
  243. package/dist/surface.cjs +1 -1
  244. package/dist/surface.js +1 -1
  245. package/dist/{table-BFqqDT_a.js → table-BYOOIwQ3.js} +2 -2
  246. package/dist/{table-BFqqDT_a.js.map → table-BYOOIwQ3.js.map} +1 -1
  247. package/dist/{table-D8vVGDsm.cjs → table-N5w5txc8.cjs} +2 -2
  248. package/dist/{table-D8vVGDsm.cjs.map → table-N5w5txc8.cjs.map} +1 -1
  249. package/dist/table.cjs +1 -1
  250. package/dist/table.js +1 -1
  251. package/dist/{tabs-compatibility-CDJp1mVq.js → tabs-compatibility-BQZ_4rKO.js} +2 -2
  252. package/dist/{tabs-compatibility-CDJp1mVq.js.map → tabs-compatibility-BQZ_4rKO.js.map} +1 -1
  253. package/dist/{tabs-compatibility-Beep2dmJ.cjs → tabs-compatibility-B_0MOHRx.cjs} +2 -2
  254. package/dist/{tabs-compatibility-Beep2dmJ.cjs.map → tabs-compatibility-B_0MOHRx.cjs.map} +1 -1
  255. package/dist/tabs.cjs +1 -1
  256. package/dist/tabs.js +1 -1
  257. package/dist/{tailwind.mixin-C-CFqxyc.cjs → tailwind.mixin-BPLAZH0W.cjs} +2 -2
  258. package/dist/{tailwind.mixin-C-CFqxyc.cjs.map → tailwind.mixin-BPLAZH0W.cjs.map} +1 -1
  259. package/dist/{tailwind.mixin-DKEIPHTU.js → tailwind.mixin-NLG6hsRk.js} +13 -13
  260. package/dist/{tailwind.mixin-DKEIPHTU.js.map → tailwind.mixin-NLG6hsRk.js.map} +1 -1
  261. package/dist/teleport.cjs +1 -1
  262. package/dist/teleport.js +1 -1
  263. package/dist/{textarea-CKBc8MaP.js → textarea-B-BvDcvC.js} +2 -2
  264. package/dist/{textarea-CKBc8MaP.js.map → textarea-B-BvDcvC.js.map} +1 -1
  265. package/dist/{textarea-982Tz-HD.cjs → textarea-CfO-1Q7I.cjs} +2 -2
  266. package/dist/{textarea-982Tz-HD.cjs.map → textarea-CfO-1Q7I.cjs.map} +1 -1
  267. package/dist/textarea.cjs +1 -1
  268. package/dist/textarea.js +1 -1
  269. package/dist/{theme-button-CzZ4Fit6.js → theme-button-O8T2P7bp.js} +2 -2
  270. package/dist/{theme-button-CzZ4Fit6.js.map → theme-button-O8T2P7bp.js.map} +1 -1
  271. package/dist/{theme-button-DUfxeLbS.cjs → theme-button-QgQtIkNO.cjs} +2 -2
  272. package/dist/{theme-button-DUfxeLbS.cjs.map → theme-button-QgQtIkNO.cjs.map} +1 -1
  273. package/dist/theme-button.cjs +1 -1
  274. package/dist/theme-button.js +1 -1
  275. package/dist/theme.cjs +1 -1
  276. package/dist/{theme.component-C9v-CQ38.cjs → theme.component--fI9PP4Y.cjs} +2 -2
  277. package/dist/{theme.component-C9v-CQ38.cjs.map → theme.component--fI9PP4Y.cjs.map} +1 -1
  278. package/dist/{theme.component-CN4iX4D7.js → theme.component-z0OFbxq8.js} +2 -2
  279. package/dist/{theme.component-CN4iX4D7.js.map → theme.component-z0OFbxq8.js.map} +1 -1
  280. package/dist/theme.js +1 -1
  281. package/dist/{timezone-6nwGlMca.cjs → timezone-C8PYHpA5.cjs} +2 -2
  282. package/dist/{timezone-6nwGlMca.cjs.map → timezone-C8PYHpA5.cjs.map} +1 -1
  283. package/dist/{timezone-BkByuOmE.js → timezone-CeadXobB.js} +3 -3
  284. package/dist/{timezone-BkByuOmE.js.map → timezone-CeadXobB.js.map} +1 -1
  285. package/dist/{tooltip-D4-3EWiC.js → tooltip-DUuT16gi.js} +2 -2
  286. package/dist/{tooltip-D4-3EWiC.js.map → tooltip-DUuT16gi.js.map} +1 -1
  287. package/dist/{tooltip-Dr-qBoXc.cjs → tooltip-DxkXzv_5.cjs} +2 -2
  288. package/dist/{tooltip-Dr-qBoXc.cjs.map → tooltip-DxkXzv_5.cjs.map} +1 -1
  289. package/dist/tooltip.cjs +1 -1
  290. package/dist/tooltip.js +1 -1
  291. package/dist/{tree-NoODRr5i.cjs → tree-DD_zsKhj.cjs} +2 -2
  292. package/dist/{tree-NoODRr5i.cjs.map → tree-DD_zsKhj.cjs.map} +1 -1
  293. package/dist/{tree-CEY0Mytf.js → tree-YKMOXZkK.js} +2 -2
  294. package/dist/{tree-CEY0Mytf.js.map → tree-YKMOXZkK.js.map} +1 -1
  295. package/dist/tree.cjs +1 -1
  296. package/dist/tree.js +1 -1
  297. package/dist/{typewriter-QBeyDi83.cjs → typewriter-BZQFLCSO.cjs} +2 -2
  298. package/dist/{typewriter-QBeyDi83.cjs.map → typewriter-BZQFLCSO.cjs.map} +1 -1
  299. package/dist/{typewriter-CKhWZwT5.js → typewriter-D0ocrgfy.js} +4 -4
  300. package/dist/{typewriter-CKhWZwT5.js.map → typewriter-D0ocrgfy.js.map} +1 -1
  301. package/dist/typewriter.cjs +1 -1
  302. package/dist/typewriter.js +1 -1
  303. package/dist/{typography-GrWLTd_e.js → typography-B813cueV.js} +2 -2
  304. package/dist/{typography-GrWLTd_e.js.map → typography-B813cueV.js.map} +1 -1
  305. package/dist/{typography-Cku79h5G.cjs → typography-C6a_0J8h.cjs} +2 -2
  306. package/dist/{typography-Cku79h5G.cjs.map → typography-C6a_0J8h.cjs.map} +1 -1
  307. package/dist/typography.cjs +1 -1
  308. package/dist/typography.js +1 -1
  309. package/package.json +1 -1
  310. package/types/src/area/area.component.d.ts +6 -36
  311. package/types/src/area/index.d.ts +1 -0
  312. package/types/src/area/lazy.d.ts +44 -0
  313. package/types/src/area/router.types.d.ts +3 -1
  314. package/types/src/content-drawer/drawer.d.ts +1 -1
  315. package/types/src/content-drawer/drawer.service.d.ts +20 -0
  316. package/types/src/content-drawer/index.d.ts +1 -1
  317. package/dist/avatar-Bsjv5OuH.cjs.map +0 -1
  318. package/dist/avatar-CE8waacF.js.map +0 -1
  319. package/dist/details-CVpg9-ww.cjs.map +0 -1
  320. package/dist/details-sROeZea4.js.map +0 -1
  321. package/dist/route.component-ByBNH4-B.cjs +0 -12
  322. package/dist/route.component-ByBNH4-B.cjs.map +0 -1
  323. package/dist/route.component-Cq9Bor4J.js +0 -341
  324. package/dist/route.component-Cq9Bor4J.js.map +0 -1
  325. package/dist/utils-03Coa8AW.js.map +0 -1
  326. package/dist/utils-C9nzOWpR.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"progress-C2uSNdat.js","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-CzZkkBKS.js","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--X8m6TMu.cjs");
1
+ "use strict";require("./progress-Cz6acdfO.cjs");
2
2
  //# sourceMappingURL=progress.cjs.map
package/dist/progress.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./progress-C2uSNdat.js";
1
+ import "./progress-CzZkkBKS.js";
2
2
  //# sourceMappingURL=progress.js.map
@@ -3,8 +3,8 @@ 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 { F as m } from "./formField.mixin-DO6xZKm5.js";
7
- import { T as b } from "./tailwind.mixin-DKEIPHTU.js";
6
+ import { F as m } from "./formField.mixin-C5U1Rh5p.js";
7
+ import { T as b } from "./tailwind.mixin-NLG6hsRk.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);
@@ -111,4 +111,4 @@ export {
111
111
  n as R,
112
112
  d as a
113
113
  };
114
- //# sourceMappingURL=radio-button-DveKJXMv.js.map
114
+ //# sourceMappingURL=radio-button-CvhN1gWj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-DveKJXMv.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-CvhN1gWj.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("./formField.mixin-CAILHzv1.cjs"),p=require("./tailwind.mixin-C-CFqxyc.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`
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-DtuGCitn.cjs"),p=require("./tailwind.mixin-BPLAZH0W.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
 
@@ -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-CiVKoIT_.cjs.map
41
+ //# sourceMappingURL=radio-button-XTjTthrJ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-CiVKoIT_.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-XTjTthrJ.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-CiVKoIT_.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-XTjTthrJ.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-DveKJXMv.js";
1
+ import { a as r, R as t } from "./radio-button-CvhN1gWj.js";
2
2
  export {
3
3
  r as RadioButton,
4
4
  t as RadioGroup
@@ -0,0 +1,311 @@
1
+ import { Subject as L, ReplaySubject as j, distinctUntilChanged as y, shareReplay as R, skip as N, map as c, filter as l, catchError as u, EMPTY as h, zip as M, fromEvent as k, of as m, bufferTime as H, tap as x, timeout as I, merge as B, take as F, switchMap as v, from as _, takeUntil as T } from "rxjs";
2
+ import "lit/directives/class-map.js";
3
+ import "lit/directives/style-map.js";
4
+ import { property as S, queryAssignedElements as z, customElement as U } from "lit/decorators.js";
5
+ import "./tailwind.mixin-NLG6hsRk.js";
6
+ import { $ } from "./litElement.mixin-Cs2vwcM4.js";
7
+ import { css as q, html as J } from "lit";
8
+ const P = new L(), D = "FINDING_MORTIES", Q = "HERE_RICKY", C = /* @__PURE__ */ new WeakMap();
9
+ class b {
10
+ constructor() {
11
+ this.prettyURL = !1, this.mode = "HISTORY", this.request = new j(1), this.current = /* @__PURE__ */ new Map(), this.$current = new j(1), this.enableHistoryMode = !0, this.findingMortiesEvent = new CustomEvent(D), this.disposed = !1, this.isProcessingPopstate = !1, this.$current.next(this.current), this.$current.subscribe((e) => {
12
+ this.disposed || e.forEach((t, r) => {
13
+ this.getOrCreateAreaSubject(r).next(t);
14
+ });
15
+ }), this.initializeFromBrowserState();
16
+ }
17
+ get areaSubjects() {
18
+ let e = C.get(this);
19
+ return e || (e = /* @__PURE__ */ new Map(), C.set(this, e)), e;
20
+ }
21
+ initializeFromBrowserState() {
22
+ try {
23
+ const e = history.state;
24
+ e && e.schmancyAreas && (Object.entries(e.schmancyAreas).forEach(([t, r]) => {
25
+ this.current.set(t, r);
26
+ }), this.$current.next(this.current));
27
+ } catch {
28
+ }
29
+ }
30
+ getOrCreateAreaSubject(e) {
31
+ let t = this.areaSubjects.get(e);
32
+ if (!t || t.closed) {
33
+ t = new j(1), this.areaSubjects.set(e, t);
34
+ const r = this.current.get(e);
35
+ r && t.next({ ...r, state: r.state || {}, params: r.params || {}, props: r.props || {} });
36
+ }
37
+ return t;
38
+ }
39
+ on(e, t = !1) {
40
+ if (!e) throw new Error("Area name is required");
41
+ const r = this.getOrCreateAreaSubject(e).asObservable().pipe(y((a, n) => a.component === n.component && JSON.stringify(a.state) === JSON.stringify(n.state) && JSON.stringify(a.params) === JSON.stringify(n.params)), R(1));
42
+ return t ? r.pipe(N(1)) : r;
43
+ }
44
+ all(e = !1) {
45
+ const t = this.$current.asObservable().pipe(R(1));
46
+ return e ? t.pipe(N(1)) : t;
47
+ }
48
+ getState(e) {
49
+ if (!e) throw new Error("Area name is required");
50
+ return this.on(e).pipe(c((t) => t.state), l((t) => t != null), y((t, r) => JSON.stringify(t) === JSON.stringify(r)), c((t) => t), u((t) => h));
51
+ }
52
+ params(e) {
53
+ if (!e) throw new Error("Area name is required");
54
+ return this.on(e).pipe(c((t) => t.params), l((t) => t != null), y((t, r) => JSON.stringify(t) === JSON.stringify(r)), c((t) => t), u((t) => h));
55
+ }
56
+ param(e, t) {
57
+ if (!e || !t) throw new Error("Area name and key are required");
58
+ return this.params(e).pipe(c((r) => r[t]), l((r) => r !== void 0), y(), c((r) => r), u((r) => h));
59
+ }
60
+ props(e) {
61
+ if (!e) throw new Error("Area name is required");
62
+ return this.on(e).pipe(c((t) => t.props), l((t) => t != null), y((t, r) => JSON.stringify(t) === JSON.stringify(r)), c((t) => t), u((t) => h));
63
+ }
64
+ prop(e, t) {
65
+ if (!e || !t) throw new Error("Area name and key are required");
66
+ return this.props(e).pipe(c((r) => r[t]), l((r) => r !== void 0), y(), c((r) => r), u((r) => h));
67
+ }
68
+ find() {
69
+ return M([k(window, Q).pipe(c((e) => e.detail), H(0)), m(1).pipe(x(() => window.dispatchEvent(this.findingMortiesEvent)))]).pipe(c(([e]) => e), I(1), u(() => h));
70
+ }
71
+ push(e) {
72
+ if (!e.area) throw new Error("Area is required for route action");
73
+ if (this.isProcessingPopstate) return;
74
+ const t = { ...e, state: e.state || {}, params: e.params || {}, props: e.props || {}, _source: "programmatic" };
75
+ this.enableHistoryMode && P.next(t), this.request.next(t), this.dispatchAreaEvent(t.area, t);
76
+ }
77
+ _updateFromBrowser(e) {
78
+ const t = { ...e, state: e.state || {}, params: e.params || {}, props: e.props || {}, _source: "browser" };
79
+ this.isProcessingPopstate = !0, this.request.next(t), this.isProcessingPopstate = !1;
80
+ }
81
+ _updateBrowserHistory(e, t, r, a) {
82
+ if (this.enableHistoryMode) try {
83
+ const n = history.state || {}, o = n.schmancyAreas || {}, i = { component: t.component, area: t.area };
84
+ t.state && Object.keys(t.state).length > 0 && (i.state = t.state), t.params && Object.keys(t.params).length > 0 && (i.params = t.params), t.props && Object.keys(t.props).length > 0 && (i.props = t.props), o[e] = i;
85
+ const f = { ...n, schmancyAreas: o }, g = this.createCleanURL(o, a);
86
+ r === "replace" || r === "pop" ? history.replaceState(f, "", g) : r !== "push" && r || history.pushState(f, "", g);
87
+ } catch {
88
+ }
89
+ }
90
+ createCleanURL(e, t) {
91
+ let r = "";
92
+ if (t !== !0) {
93
+ const a = new URLSearchParams(location.search);
94
+ Array.isArray(t) && t.forEach((n) => a.delete(n)), r = a.toString(), r = r ? `?${r}` : "";
95
+ }
96
+ if (this.prettyURL) {
97
+ const a = e.main;
98
+ if (a) {
99
+ let n = `/${a.component}`;
100
+ const o = new URLSearchParams(r);
101
+ a.params && Object.entries(a.params).forEach(([f, g]) => {
102
+ typeof g != "string" && typeof g != "number" || o.set(f, String(g));
103
+ });
104
+ const i = o.toString();
105
+ return n + (i ? `?${i}` : "");
106
+ }
107
+ }
108
+ try {
109
+ const a = {};
110
+ return Object.entries(e).forEach(([n, o]) => {
111
+ const i = { component: o.component };
112
+ o.state && Object.keys(o.state).length > 0 && (i.state = o.state), o.params && Object.keys(o.params).length > 0 && (i.params = o.params), o.props && Object.keys(o.props).length > 0 && (i.props = o.props), a[n] = i;
113
+ }), Object.keys(a).length === 0 ? r ? `/${r}` : "/" : `/${encodeURIComponent(JSON.stringify(a))}${r}`;
114
+ } catch {
115
+ return location.pathname;
116
+ }
117
+ }
118
+ restoreFromBrowserState(e) {
119
+ try {
120
+ if (e && e.schmancyAreas) return e.schmancyAreas;
121
+ } catch {
122
+ }
123
+ return this.parseStateFromURL();
124
+ }
125
+ parseStateFromURL() {
126
+ const e = location.pathname.split("/").pop();
127
+ if (!e) return {};
128
+ try {
129
+ const t = decodeURIComponent(e), r = JSON.parse(t);
130
+ if (typeof r == "object" && r !== null) return r;
131
+ } catch {
132
+ }
133
+ return {};
134
+ }
135
+ dispatchAreaEvent(e, t) {
136
+ const r = new CustomEvent(`schmancy-area-${e}-changed`, { detail: { area: e, component: t.component, state: t.state, params: t.params, props: t.props, historyStrategy: t.historyStrategy }, bubbles: !0, composed: !0 });
137
+ window.dispatchEvent(r);
138
+ }
139
+ pop(e) {
140
+ if (!e) throw new Error("Area name is required");
141
+ const t = this.areaSubjects.get(e);
142
+ if (t && !t.closed && t.next({ component: null, state: {}, area: e, params: {}, props: {} }), this.request.next({ area: e, component: null, state: {}, params: {}, props: {}, historyStrategy: "silent", _source: "programmatic" }), this.current.delete(e), this.$current.next(this.current), this.enableHistoryMode) try {
143
+ const r = history.state || {}, a = { ...r.schmancyAreas || {} };
144
+ delete a[e];
145
+ const n = { ...r, schmancyAreas: a }, o = this.createCleanURL(a);
146
+ history.replaceState(n, "", o);
147
+ } catch {
148
+ }
149
+ }
150
+ clear() {
151
+ this.areaSubjects.forEach((e) => e.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((e) => e.complete()), this.areaSubjects.clear(), this.request.complete(), this.$current.complete(), P.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 e = history.state;
162
+ if (e && e.schmancyAreas) return e.schmancyAreas;
163
+ } catch {
164
+ }
165
+ return this.parseStateFromURL();
166
+ }
167
+ hasArea(e) {
168
+ return this.current.has(e);
169
+ }
170
+ getActiveAreas() {
171
+ return Array.from(this.current.keys());
172
+ }
173
+ getRoute(e) {
174
+ return this.current.get(e);
175
+ }
176
+ }
177
+ const d = b.getInstance();
178
+ typeof window < "u" && window.addEventListener("unload", () => {
179
+ d.dispose();
180
+ });
181
+ var p = ((s) => (s.push = "push", s.replace = "replace", s.pop = "pop", s.silent = "silent", s))(p || {}), Y = Object.defineProperty, G = Object.getOwnPropertyDescriptor, A = (s, e, t, r) => {
182
+ for (var a, n = r > 1 ? void 0 : r ? G(e, t) : e, o = s.length - 1; o >= 0; o--) (a = s[o]) && (n = (r ? a(e, t, n) : a(n)) || n);
183
+ return r && n && Y(e, t, n), n;
184
+ };
185
+ let O = class extends $(q`
186
+ :host {
187
+ position: relative;
188
+ display: block;
189
+ inset: 0;
190
+ }
191
+ `) {
192
+ firstUpdated() {
193
+ if (!this.name) throw new Error("Area name is required");
194
+ B(d.request.pipe(l(({ area: s }) => s === this.name)), m(location.pathname).pipe(F(1), v(() => {
195
+ const s = location.pathname, e = s.split("/").pop() || "";
196
+ let t;
197
+ if (e && (e.includes("{") || e.includes("%7B"))) try {
198
+ const a = JSON.parse(decodeURIComponent(e));
199
+ if (a[this.name]) {
200
+ const n = a[this.name];
201
+ return t = this.routes?.find((o) => o.when === n.component), m(t ? { area: this.name, component: t.component, state: a[this.name].state || {}, params: a[this.name].params || {}, historyStrategy: p.silent } : { area: this.name, component: a[this.name].component, state: a[this.name].state || {}, params: a[this.name].params || {}, historyStrategy: p.silent });
202
+ }
203
+ } catch {
204
+ }
205
+ const r = s.split("/").filter(Boolean);
206
+ return t = this.routes?.find((a) => r.includes(a.when)), t ? t.guard ? _(Promise.resolve(t.guard())).pipe(v((a) => {
207
+ if (a === !0) return m({ area: this.name, component: t.component, state: {}, params: {}, historyStrategy: p.silent });
208
+ const n = typeof a == "string" ? a : typeof a == "object" && a?.redirect ? a.redirect : null;
209
+ if (n) {
210
+ const o = n.split("/").filter(Boolean)[0] || "", i = this.routes?.find((f) => f.when === o);
211
+ if (i) return m({ area: this.name, component: i.component, state: {}, params: {}, historyStrategy: p.silent });
212
+ }
213
+ return this.default ? m({ area: this.name, component: this.default, state: {}, params: {}, historyStrategy: p.silent }) : h;
214
+ }), u(() => this.default ? m({ area: this.name, component: this.default, state: {}, params: {}, historyStrategy: p.silent }) : h)) : m({ area: this.name, component: t.component, state: {}, params: {}, historyStrategy: p.silent }) : this.default ? m({ area: this.name, component: this.default, state: {}, params: {}, historyStrategy: p.silent }) : h;
215
+ })), k(window, "popstate").pipe(c((s) => s.state?.schmancyAreas?.[this.name] ? { area: this.name, component: s.state.schmancyAreas[this.name].component, state: s.state.schmancyAreas[this.name].state || {}, params: s.state.schmancyAreas[this.name].params || {}, historyStrategy: p.silent } : null), l((s) => s !== null))).pipe(l((s) => s?.component !== void 0), v(async (s) => {
216
+ let e = s.component;
217
+ if (typeof e == "function" && ("preload" in e || "_promise" in e || "_module" in e)) try {
218
+ e = (await e()).default;
219
+ } catch {
220
+ return { component: null, route: s };
221
+ }
222
+ return { component: e, route: s };
223
+ }), c(({ component: s, route: e }) => {
224
+ let t = "";
225
+ return s && s !== "" ? typeof s == "string" ? t = s : s instanceof HTMLElement ? t = s.tagName : typeof s == "function" && (t = s.name || "CustomElement") : t = "null", { component: s, route: e, key: `${t}${JSON.stringify(e.params)}${JSON.stringify(e.state)}` };
226
+ }), y((s, e) => s.key === e.key), c(({ component: s, route: e }) => {
227
+ let t = null;
228
+ if (s && s !== "") {
229
+ if (typeof s == "string") try {
230
+ t = document.createElement(s);
231
+ } catch {
232
+ }
233
+ else if (s instanceof HTMLElement) t = s;
234
+ else if (typeof s == "function") try {
235
+ t = new s();
236
+ } catch {
237
+ }
238
+ } else t = null;
239
+ return t && (e.params && Object.assign(t, e.params), e.props && Object.assign(t, e.props), e.state && (t.state = e.state)), { element: t, route: e };
240
+ }), R(1), x(({ element: s, route: e }) => this.swapComponents(s, e)), u((s) => h), T(this.disconnecting)).subscribe();
241
+ }
242
+ swapComponents(s, e) {
243
+ const t = this.shadowRoot?.children[0];
244
+ if (s) {
245
+ if (t ? t.animate([{ opacity: 1 }, { opacity: 0 }], { duration: 150, easing: "ease-out" }).onfinish = () => {
246
+ t.remove(), this.shadowRoot?.append(s), s.animate([{ opacity: 0 }, { opacity: 1 }], { duration: 150, easing: "ease-in" });
247
+ } : (this.shadowRoot?.append(s), s.animate([{ opacity: 0 }, { opacity: 1 }], { duration: 100, easing: "ease-in" })), s) {
248
+ const r = { component: s.tagName.toLowerCase(), state: e.state || {}, area: this.name, params: e.params || {} };
249
+ d.current.set(this.name, r), d.$current.next(d.current);
250
+ }
251
+ if (d.enableHistoryMode && s) {
252
+ const r = { component: s.tagName.toLowerCase(), state: e.state || {}, area: this.name, params: e.params || {} };
253
+ d._updateBrowserHistory(this.name, r, e.historyStrategy || p.push, e.clearQueryParams);
254
+ }
255
+ } else t && t.remove();
256
+ }
257
+ newPath(s, e) {
258
+ const t = location.pathname.split("/").pop();
259
+ let r = {};
260
+ try {
261
+ r = t ? JSON.parse(decodeURIComponent(t)) : {};
262
+ } catch {
263
+ r = {};
264
+ }
265
+ e.state = e.state ?? {};
266
+ const a = e.clearQueryParams ? this.queryParamClear(e.clearQueryParams) : document.location.search;
267
+ return encodeURIComponent(JSON.stringify({ ...r, [this.name]: { component: s.toLowerCase(), state: e.state, params: e.params } })).concat(`${a}`);
268
+ }
269
+ queryParamClear(s) {
270
+ if (!s) return "";
271
+ const e = new URLSearchParams(location.search);
272
+ return s === !0 ? "" : (s.forEach((t) => e.delete(t)), e.toString() === "" ? "" : `?${e.toString()}`);
273
+ }
274
+ disconnectedCallback() {
275
+ super.disconnectedCallback();
276
+ }
277
+ render() {
278
+ return J` <slot> </slot> `;
279
+ }
280
+ };
281
+ A([S()], O.prototype, "name", 2), A([S()], O.prototype, "default", 2), A([z({ selector: "schmancy-route" })], O.prototype, "routes", 2), O = A([U("schmancy-area")], O);
282
+ var K = Object.defineProperty, W = Object.getOwnPropertyDescriptor, E = (s, e, t, r) => {
283
+ for (var a, n = r > 1 ? void 0 : r ? W(e, t) : e, o = s.length - 1; o >= 0; o--) (a = s[o]) && (n = (r ? a(e, t, n) : a(n)) || n);
284
+ return r && n && K(e, t, n), n;
285
+ };
286
+ let w = class extends $(q`
287
+ :host {
288
+ display: none;
289
+ }
290
+ `) {
291
+ constructor() {
292
+ super(...arguments), this.exact = !1;
293
+ }
294
+ getConfig() {
295
+ return { when: this.when, component: this.component, exact: this.exact, guard: this.guard };
296
+ }
297
+ render() {
298
+ return J``;
299
+ }
300
+ };
301
+ E([S({ type: String })], w.prototype, "when", 2), E([S({ type: Object })], w.prototype, "component", 2), E([S({ type: Boolean })], w.prototype, "exact", 2), E([S({ type: Object })], w.prototype, "guard", 2), w = E([U("schmancy-route")], w);
302
+ export {
303
+ D as F,
304
+ Q as H,
305
+ O as S,
306
+ w as a,
307
+ d as b,
308
+ p as c,
309
+ P as r
310
+ };
311
+ //# sourceMappingURL=route.component-5LuJ2r6W.js.map