@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-kpFZmTl5.js","sources":["../src/badge/badge.ts","../src/content-drawer/drawer.service.ts","../src/content-drawer/context.ts","../src/content-drawer/drawer.ts","../src/content-drawer/main.ts","../src/content-drawer/sheet.ts","../src/nav-drawer/$navbar.ts","../src/nav-drawer/context.ts","../src/nav-drawer/appbar.ts","../src/nav-drawer/content.ts","../src/nav-drawer/drawer.ts","../src/nav-drawer/navbar.ts","../src/teleport/teleport.service.ts","../src/teleport/watcher.ts","../src/teleport/teleport.component.ts","../src/avatar.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { SchmancyTheme } from '..'\n\n/**\n * Badge color types for predefined styles\n */\nexport type BadgeColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'neutral'\n\n/**\n * Badge size variants\n */\nexport type BadgeSize = 'xs' | 'sm' | 'md' | 'lg'\n\n/**\n * Badge shape variants\n */\nexport type BadgeShape = 'rounded' | 'pill' | 'square'\n\n/**\n * @element sch-badge\n * A versatile badge component for status indicators, labels, and counts\n *\n * @slot - The content of the badge (text or HTML)\n * @slot icon - Optional icon to display before the content\n *\n * @csspart badge - The badge element container\n * @csspart content - The content container\n * @csspart icon - The icon container\n */\n@customElement('schmancy-badge')\nexport class SchmancyBadgeV2 extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-flex;\n\t}\n\n\t.badge-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tline-height: 1;\n\t\tletter-spacing: 0.01em;\n\t\tfont-kerning: normal;\n\t}\n\n\t/* Improved vertical alignment for icon and text */\n\t::slotted(*) {\n\t\tvertical-align: middle;\n\t}\n\n\t/* Add space between icon and text */\n\t.icon-container {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tline-height: 1;\n\t}\n\n\t/* Icon spacing adjustments - based on golden ratio principles */\n\t.icon-container + .badge-content {\n\t\tmargin-left: 0.38em; /* Approximately 1/1.618 of 0.618em */\n\t}\n\n\t/* Ensure the icon is properly centered */\n\tschmancy-icon {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t}\n\n\t/* Elegant hover effect for better interactivity */\n\t:host([outlined]) div[part=\"badge\"] {\n\t\ttransition: all 0.2s ease;\n\t}\n\n\t:host([outlined]) div[part=\"badge\"]:hover {\n\t\tfilter: brightness(0.95);\n\t\ttransform: translateY(-1px);\n\t}\n\n\t/* Non-outlined badges get subtle hover effects */\n\t:host(:not([outlined])) div[part=\"badge\"]:hover {\n\t\tfilter: brightness(0.98);\n\t}\n\n\t/* Enhanced pulse animation for better attention-getting */\n\t@keyframes elegant-pulse {\n\t\t0%, 100% {\n\t\t\topacity: 1;\n\t\t}\n\t\t50% {\n\t\t\topacity: 0.85;\n\t\t}\n\t}\n\n\t.animate-pulse {\n\t\tanimation: elegant-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n\t}\n`) {\n\t/**\n\t * The color variant of the badge\n\t * @attr\n\t */\n\t@property({ type: String, reflect: true })\n\tcolor: BadgeColor = 'primary'\n\n\t/**\n\t * The size of the badge\n\t * @attr\n\t */\n\t@property({ type: String, reflect: true })\n\tsize: BadgeSize = 'md'\n\n\t/**\n\t * The shape of the badge\n\t * @attr\n\t */\n\t@property({ type: String, reflect: true })\n\tshape: BadgeShape = 'pill'\n\n\t/**\n\t * Whether the badge has an outlined style\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\toutlined = false\n\n\t/**\n\t * Custom icon name to display (if no icon slot is provided)\n\t * @attr\n\t */\n\t@property({ type: String })\n\ticon = ''\n\n\t/**\n\t * Whether to make the badge pulse to draw attention\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpulse = false\n\n\t/**\n\t * Convert the size to appropriate Tailwind classes for the badge container\n\t * Using harmonious padding ratios based on golden ratio principles\n\t * Refined for more elegant proportions\n\t */\n\tprivate getSizeClasses(): string {\n\t\tswitch (this.size) {\n\t\t\tcase 'xs':\n\t\t\t\treturn 'text-xs py-0.75 px-1.5 gap-0.5 leading-none'\n\t\t\tcase 'sm':\n\t\t\t\treturn 'text-xs py-1.5 px-2.5 gap-0.5 tracking-wide leading-none'\n\t\t\tcase 'lg':\n\t\t\t\treturn 'text-base py-2 px-4 gap-1 tracking-wide'\n\t\t\tcase 'md':\n\t\t\tdefault:\n\t\t\t\treturn 'text-sm py-1.5 px-3 gap-0.5'\n\t\t}\n\t}\n\n\t/**\n\t * Get shape classes based on selected shape\n\t */\n\tprivate getShapeClasses(): string {\n\t\tswitch (this.shape) {\n\t\t\tcase 'square':\n\t\t\t\treturn 'rounded'\n\t\t\tcase 'rounded':\n\t\t\t\treturn 'rounded-md'\n\t\t\tcase 'pill':\n\t\t\tdefault:\n\t\t\t\treturn 'rounded-full'\n\t\t}\n\t}\n\n\t/**\n\t * Get icon size based on badge size with harmonious proportions\n\t * Using golden ratio-inspired proportions relative to text size\n\t */\n\tprivate getIconSize(): string {\n\t\tswitch (this.size) {\n\t\t\tcase 'xs':\n\t\t\t\treturn '11px' // Approximately 0.9 × text size (12px × 0.9)\n\t\t\tcase 'sm':\n\t\t\t\treturn '13px' // Approximately 1.1 × text size (12px × 1.1)\n\t\t\tcase 'lg':\n\t\t\t\treturn '18px' // Approximately 1.1 × text size (16px × 1.1)\n\t\t\tcase 'md':\n\t\t\tdefault:\n\t\t\t\treturn '15px' // Approximately 1.1 × text size (14px × 1.1)\n\t\t}\n\t}\n\n\t/**\n\t * Get additional styling for specific sizes\n\t */\n\tprivate getExoticStyles(): Record<string, string> {\n\t\tconst styles: Record<string, string> = {}\n\n\t\tif (this.size === 'lg') {\n\t\t\tstyles.letterSpacing = '0.03em'\n\t\t\tstyles.fontWeight = '500'\n\t\t}\n\n\t\tif (this.size === 'sm') {\n\t\t\tstyles.letterSpacing = '0.02em'\n\t\t}\n\n\t\treturn styles\n\t}\n\n\t/**\n\t * Get background and text colors based on selected color variant\n\t * Enhanced for more elegant color combinations with refined contrasts\n\t */\n\tprivate getColorStyles() {\n\t\tconst colors: Record<BadgeColor, { bg: string; text: string; border?: string }> = {\n\t\t\tprimary: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.primary.container} 92%, ${SchmancyTheme.sys.color.primary.default} 8%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.primary.default : SchmancyTheme.sys.color.primary.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.primary.default} 90%, ${SchmancyTheme.sys.color.surface.highest} 10%)` : undefined,\n\t\t\t},\n\t\t\tsecondary: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.secondary.container} 95%, ${SchmancyTheme.sys.color.secondary.default} 5%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.secondary.default : SchmancyTheme.sys.color.secondary.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.secondary.default} 85%, ${SchmancyTheme.sys.color.surface.highest} 15%)` : undefined,\n\t\t\t},\n\t\t\ttertiary: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.container} 94%, ${SchmancyTheme.sys.color.tertiary.default} 6%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.tertiary.default : SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.default} 88%, ${SchmancyTheme.sys.color.surface.highest} 12%)` : undefined,\n\t\t\t},\n\t\t\tsuccess: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.success.container} 90%, ${SchmancyTheme.sys.color.success.default} 10%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.success.default : SchmancyTheme.sys.color.success.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.success.default} 85%, ${SchmancyTheme.sys.color.surface.bright} 15%)` : undefined,\n\t\t\t},\n\t\t\twarning: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.container} 85%, ${SchmancyTheme.sys.color.tertiary.default} 15%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.tertiary.default : SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.default} 90%, ${SchmancyTheme.sys.color.surface.highest} 10%)` : undefined,\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.error.container} 92%, ${SchmancyTheme.sys.color.error.default} 8%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.error.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.error.default} 88%, ${SchmancyTheme.sys.color.surface.bright} 12%)` : undefined,\n\t\t\t},\n\t\t\tneutral: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.surface.high} 95%, ${SchmancyTheme.sys.color.outline} 5%)`,\n\t\t\t\ttext: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.surface.on} 95%, ${SchmancyTheme.sys.color.surface.default} 5%)` : SchmancyTheme.sys.color.surface.on,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.outline} 85%, ${SchmancyTheme.sys.color.surface.highest} 15%)` : undefined,\n\t\t\t},\n\t\t}\n\n\t\treturn colors[this.color]\n\t}\n\n\trender() {\n\t\tconst sizeClasses = this.getSizeClasses()\n\t\tconst shapeClasses = this.getShapeClasses()\n\t\tconst colorStyles = this.getColorStyles()\n\t\tconst iconSize = this.getIconSize()\n\t\tconst exoticStyles = this.getExoticStyles()\n\n\t\tconst badgeClasses = {\n\t\t\t'inline-flex items-center justify-center font-medium': true,\n\t\t\t[sizeClasses]: true,\n\t\t\t[shapeClasses]: true,\n\t\t\t'animate-pulse': this.pulse,\n\t\t\t'border border-solid': this.outlined,\n\t\t\t'shadow-sm': !this.outlined && this.size === 'sm',\n\t\t\t'shadow': !this.outlined && this.size === 'md',\n\t\t\t'shadow-md': !this.outlined && this.size === 'lg',\n\t\t}\n\n\t\t// Refined styles for a more elegant look\n\t\tconst styles = {\n\t\t\tborderColor: colorStyles.border,\n\t\t\ttransition: 'all 0.2s ease',\n\t\t\t...(this.outlined ? {\n\t\t\t\tbackdropFilter: 'blur(4px)',\n\t\t\t\tborderWidth: '1px',\n\t\t\t} : {}),\n\t\t\t...(this.size === 'lg' && !this.outlined ? {\n\t\t\t\tboxShadow: '0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.1)'\n\t\t\t} : {}),\n\t\t\t...exoticStyles,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tpart=\"badge\"\n\t\t\t\tclass=\"${this.classMap(badgeClasses)}\"\n\t\t\t\tstyle=\"${this.styleMap(styles)}\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: colorStyles.bg,\n\t\t\t\t\tcolor: colorStyles.text,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<!-- Icon slot or named icon -->\n\t\t\t\t<slot name=\"icon\">\n\t\t\t\t\t${this.icon\n\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t<div part=\"icon\" class=\"icon-container flex-shrink-0 flex items-center justify-center\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon .size=${iconSize} class=\"flex items-center\">${this.icon}</schmancy-icon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t: ''}\n\t\t\t\t</slot>\n\n\t\t\t\t<!-- Content -->\n\t\t\t\t<div part=\"content\" class=\"badge-content\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'sch-badge': SchmancyBadgeV2,\n\t\t'schmancy-badge': SchmancyBadgeV2\n\t}\n}\n\n\n// Register the component with the legacy tag name for backward compatibility\n@customElement('sch-badge')\nexport class ScBadgeV2 extends SchmancyBadgeV2 {}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { Subject } from 'rxjs'\n\ntype DrawerAction = 'dismiss' | 'render' | 'push'\ntype TRef = Element | Window\ntype TRenderRequest = HTMLElement\nexport type TRenderCustomEvent = CustomEvent<{\n\tcomponent: TRenderRequest\n\ttitle?: string\n}>\n\ntype ComponentType = string | HTMLElement | (() => HTMLElement) | (() => Promise<{ default: any }>)\n\nclass DrawerService {\n\tprivate $drawer = new Subject<{\n\t\tref: TRef\n\t\taction: DrawerAction\n\t\tcomponent?: TRenderRequest | ComponentType\n\t\ttitle?: string\n\t}>()\n\tprivate lastComponent: HTMLElement | null = null\n\n\tconstructor() {\n\t\tthis.$drawer.pipe().subscribe(data => {\n\t\t\tif (data.action === 'dismiss') {\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else if (data.action === 'render') {\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-content-drawer-render', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tcomponent: data.component,\n\t\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else if (data.action === 'push') {\n\t\t\t\tthis.handlePush(data.ref, data.component as ComponentType)\n\t\t\t}\n\t\t})\n\t}\n\n\tdimiss(ref: TRef) {\n\t\tthis.$drawer.next({\n\t\t\taction: 'dismiss',\n\t\t\tref: ref,\n\t\t})\n\t}\n\n\trender(ref: TRef, component: TRenderRequest, title?: string) {\n\t\tref.dispatchEvent(new CustomEvent('custom-event'))\n\t\tthis.$drawer.next({\n\t\t\taction: 'render',\n\t\t\tref: ref,\n\t\t\tcomponent: component,\n\t\t\ttitle,\n\t\t})\n\t}\n\n\tprivate async handlePush(ref: TRef, component: ComponentType) {\n\t\tlet resolvedComponent: HTMLElement\n\n\t\t// Resolve component to HTMLElement\n\t\tif (typeof component === 'string') {\n\t\t\t// String tag name - create element\n\t\t\tresolvedComponent = document.createElement(component) as HTMLElement\n\t\t} else if (component instanceof HTMLElement) {\n\t\t\t// Already an HTMLElement\n\t\t\tresolvedComponent = component\n\t\t} else if (typeof component === 'function') {\n\t\t\t// Factory function or async module\n\t\t\ttry {\n\t\t\t\tconst result = await component()\n\t\t\t\tif (result && typeof result === 'object' && 'default' in result) {\n\t\t\t\t\t// ES module with default export\n\t\t\t\t\tconst Constructor = result.default\n\t\t\t\t\tresolvedComponent = new Constructor() as HTMLElement\n\t\t\t\t} else if (result instanceof HTMLElement) {\n\t\t\t\t\t// Factory returned HTMLElement\n\t\t\t\t\tresolvedComponent = result\n\t\t\t\t} else {\n\t\t\t\t\t// Assume it's a constructor\n\t\t\t\t\tresolvedComponent = new (result as any)() as HTMLElement\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Failed to resolve component:', error)\n\t\t\t\treturn\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.error('Invalid component type:', component)\n\t\t\treturn\n\t\t}\n\n\t\t// Check if it's the same component instance and force update\n\t\tif (this.lastComponent === resolvedComponent && 'requestUpdate' in resolvedComponent) {\n\t\t\t(resolvedComponent as any).requestUpdate()\n\t\t}\n\t\tthis.lastComponent = resolvedComponent\n\n\t\t// Dispatch events to open drawer and render component\n\t\tref.dispatchEvent(\n\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\tdetail: { state: 'open' },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t\tref.dispatchEvent(\n\t\t\tnew CustomEvent('schmancy-content-drawer-render', {\n\t\t\t\tdetail: { component: resolvedComponent },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tpush(component: ComponentType) {\n\t\t// Use window as default ref for simplicity\n\t\tthis.$drawer.next({\n\t\t\taction: 'push',\n\t\t\tref: window,\n\t\t\tcomponent: component,\n\t\t})\n\t}\n}\n\nexport const schmancyContentDrawer = new DrawerService()","import { createContext } from '@lit/context'\nexport type TSchmancyContentDrawerSheetMode = 'push' | 'overlay'\nexport const SchmancyContentDrawerSheetMode = createContext<TSchmancyContentDrawerSheetMode>('push')\n\nexport type TSchmancyContentDrawerSheetState = 'open' | 'close'\nexport const SchmancyContentDrawerSheetState = createContext<TSchmancyContentDrawerSheetState>('close')\n\nexport const SchmancyContentDrawerID = createContext<string>(Math.floor(Math.random() * Date.now()).toString())\nexport const SchmancyContentDrawerMaxHeight = createContext<string>('100%')\nexport const SchmancyContentDrawerMinWidth = createContext<{\n\tmain: number\n\tsheet: number\n}>({})\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, merge, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, TRenderCustomEvent, area, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n/**\n * @element schmancy-content-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-content-drawer')\nexport class SchmancyContentDrawer extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t/**\n\t * The minimum width of the sheet\n\t * @attr\tminWidth\n\t * @type {number}\n\t * @memberof SchmancyContentDrawer\n\t */\n\n\t@provide({ context: SchmancyContentDrawerMinWidth })\n\tminWidth: typeof SchmancyContentDrawerMinWidth.__context__ = {\n\t\tmain: 360,\n\t\tsheet: 576,\n\t}\n\n\t/**\n\t * The state of the sheet\n\t * @attr open\n\t * @type {TSchmancyContentDrawerSheetState}\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetState })\n\t@property()\n\topen: TSchmancyContentDrawerSheetState\n\n\t/**\n\t * The mode of the sheet\n\t * @type {TSchmancyContentDrawerSheetMode}\n\t * @memberof SchmancyContentDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetMode })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@provide({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID = Math.floor(Math.random() * Date.now()).toString()\n\n\t@provide({ context: SchmancyContentDrawerMaxHeight })\n\tmaxHeight = '100%'\n\n\t@queryAssignedElements({ flatten: true })\n\tassignedElements!: HTMLElement[]\n\tfirstUpdated(): void {\n\t\tmerge(fromEvent<CustomEvent>(window, 'resize'), fromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerResize))\n\t\t\t.pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\tmap(width => width >= this.minWidth.main + this.minWidth.sheet),\n\t\t\t\tdebounceTime(100),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis.maxHeight = `${window.innerHeight - this.getOffsetTop(this) - 32}px`\n\t\t\t\t\tthis.style.setProperty('max-height', this.maxHeight)\n\t\t\t\t}),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(lgScreen => {\n\t\t\t\tif (lgScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\t/*\n\t\t * Listen to the toggle event\n\t\t */\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerToggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\tthis.open = state\n\t\t\t})\n\n\t\tfromEvent<TRenderCustomEvent>(window, 'schmancy-content-drawer-render')\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(({ component, title }) => {\n\t\t\t\tif (this.mode === 'push') {\n\t\t\t\t\t// TODO: Fix the router to render if constructor has different arguments\n\t\t\t\t\tarea.push({\n\t\t\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\t\t\tcomponent: 'empty',\n\t\t\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\t\t})\n\t\t\t\t\tarea.push({\n\t\t\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\t\t\tcomponent: component,\n\t\t\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\t\t})\n\t\t\t\t} else if ((this.mode = 'overlay')) {\n\t\t\t\t\tsheet.open({ component: component, uid: this.schmancyContentDrawerID, title })\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tgetOffsetTop(element: HTMLElement | null) {\n\t\tlet offsetTop = 0\n\t\twhile (element) {\n\t\t\toffsetTop += element.offsetTop\n\t\t\telement = element.offsetParent as HTMLElement | null\n\t\t}\n\t\treturn offsetTop\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.mode === 'overlay' ? '1fr' : 'auto 1fr'}\n\t\t\t\trows=\"1fr\"\n\t\t\t\tflow=\"col\"\n\t\t\t\tjustify=\"stretch\"\n\t\t\t\talign=\"stretch\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer': SchmancyContentDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { PropertyValueMap, css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyEvents } from '..'\nimport {\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetMode,\n} from './context'\nimport { when } from 'lit/directives/when.js'\n\n@customElement('schmancy-content-drawer-main')\nexport class SchmancyContentDrawerMain extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) this.drawerMinWidth.main = this.minWidth\n\t\telse this.minWidth = this.drawerMinWidth.main\n\t}\n\n\tprotected update(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\t\tsuper.update(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\tthis.drawerMinWidth.main = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t}\n\t}\n\n\trender() {\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"relative inset-0 h-full\">\n\t\t\t\t<schmancy-grid\n\t\t\t\t\tclass=\"h-full relative overflow-scroll\"\n\t\t\t\t\tcols=\"${this.mode === 'push' ? 'auto 1fr' : '1fr'}\"\n\t\t\t\t\trows=\"1fr\"\n\t\t\t\t\tflow=\"col\"\n\t\t\t\t\talign=\"stretch\"\n\t\t\t\t\tjustify=\"stretch\"\n\t\t\t\t>\n\t\t\t\t\t<section style=${this.styleMap(styles)}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</section>\n\t\t\t\t</schmancy-grid>\n\t\t\t\t${when(\n\t\t\t\t\tthis.mode === 'push',\n\t\t\t\t\t() => html` <schmancy-divider class=\"absolute right-0 top-0\" orientation=\"vertical\"></schmancy-divider>`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-main': SchmancyContentDrawerMain\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { from, merge, Observable, of, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n// --- 1) Removed the custom animate import\n// import { animate } from '@packages/anime-beta-master'\n\n@customElement('schmancy-content-drawer-sheet')\nexport class SchmancyContentDrawerSheet extends $LitElement(css`\n\t:host {\n\t\toverflow: scroll;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerSheetState, subscribe: true })\n\t@state()\n\tstate: TSchmancyContentDrawerSheetState\n\n\t@consume({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID\n\n\t@query('#sheet') sheet!: HTMLElement\n\t@queryAssignedElements({ flatten: true, slot: undefined }) defaultSlot!: HTMLElement[]\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) {\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t} else {\n\t\t\tthis.minWidth = this.drawerMinWidth.sheet\n\t\t}\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\t// If the 'minWidth' property changed\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t} else if (changedProperties.has('state') || changedProperties.has('mode')) {\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\t// Overlay open logic if needed\n\t\t\t\t\t// this.open()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tsheet.dismiss(this.schmancyContentDrawerID)\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.open()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Open the sheet by sliding it into view.\n\t */\n\topen() {\n\t\t// \"onBegin\" logic from the old `animate(...)`\n\t\tif (this.mode === 'overlay') {\n\t\t\tthis.sheet.style.position = 'fixed'\n\t\t} else {\n\t\t\tthis.sheet.style.position = 'relative'\n\t\t}\n\t\tthis.sheet.style.display = 'block'\n\n\t\t// --- 2) Use native Web Animations API ---\n\t\tthis.sheet.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'translateX(100%)' },\n\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 500,\n\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t},\n\t\t)\n\t\t// No return is needed if you don't rely on the result\n\t}\n\n\t/**\n\t * Close everything (modal sheet + the sheet itself).\n\t */\n\tcloseAll() {\n\t\t// Merge them into a single subscription,\n\t\t// so that everything closes in parallel.\n\t\tmerge(from(this.closeModalSheet()), from(this.closeSheet())).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\t/**\n\t * Dismiss the \"modal sheet.\"\n\t * This just returns an Observable that completes immediately.\n\t */\n\tcloseModalSheet() {\n\t\treturn of(true).pipe(tap(() => sheet.dismiss(this.schmancyContentDrawerID)))\n\t}\n\n\t/**\n\t * Slide the sheet out of view + hide it.\n\t * Return an Observable so we can merge it with other close operations.\n\t */\n\tcloseSheet() {\n\t\t// --- 2) Use native Web Animations API and wrap in an Observable ---\n\t\treturn new Observable<void>(observer => {\n\t\t\tconst animation = this.sheet.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(100%)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 500,\n\t\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t\t},\n\t\t\t)\n\n\t\t\tanimation.onfinish = () => {\n\t\t\t\t// \"onComplete\" logic\n\t\t\t\tthis.sheet.style.display = 'none'\n\t\t\t\tobserver.next()\n\t\t\t\tobserver.complete()\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected render() {\n\t\tconst sheetClasses = {\n\t\t\tblock: this.mode === 'push',\n\t\t\t'absolute z-50': this.mode === 'overlay',\n\t\t\t'opacity-1': this.mode === 'overlay' && this.state === 'open',\n\t\t}\n\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"sheet\" class=\"${this.classMap(sheetClasses)}\" style=${this.styleMap(styles)}>\n\t\t\t\t<schmancy-area name=\"${this.schmancyContentDrawerID}\">\n\t\t\t\t\t<slot name=\"placeholder\"></slot>\n\t\t\t\t</schmancy-area>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-sheet': SchmancyContentDrawerSheet\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { debounceTime, Subject } from 'rxjs'\n\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tself: HTMLElement\n\t\tstate: boolean\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.pipe(debounceTime(10)).subscribe(data => {\n\t\t\tif (data.state) {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\topen(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: true,\n\t\t})\n\t}\n\tclose(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: false,\n\t\t})\n\t}\n}\n\nexport const schmancyNavDrawer = new Drawer()\nconst $drawer = schmancyNavDrawer\n\nexport { $drawer }\n","import { createContext } from '@lit/context'\nexport type TSchmancyDrawerNavbarMode = 'push' | 'overlay' | undefined\nexport const SchmancyDrawerNavbarMode = createContext<TSchmancyDrawerNavbarMode>('push')\n\nexport type TSchmancyDrawerNavbarState = 'open' | 'close' | undefined\nexport const SchmancyDrawerNavbarState = createContext<TSchmancyDrawerNavbarState>('close')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n} from '@schmancy/nav-drawer/context'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { SchmancyEvents } from '..'\n\n/**\n * @element schmancy-nav-drawer-appbar\n * @slot toggler - The toggler slot\n * @slot - The default slot\n */\n@customElement('schmancy-nav-drawer-appbar')\nexport class SchmancyDrawerAppbar extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tsidebarMode: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tsidebarOpen\n\n\t@property({ type: Boolean }) toggler = true\n\n\trender() {\n\t\tconst appbarClasses = {\n\t\t\t'block z-50': true,\n\t\t}\n\t\tconst sidebarToggler = {\n\t\t\t'block left-3 z-50': this.sidebarMode === 'overlay',\n\t\t\thidden: this.sidebarMode === 'push',\n\t\t}\n\t\tconst gridClasses = {\n\t\t\t...appbarClasses,\n\t\t\t'grid gap-2 items-center': true,\n\t\t\t'grid-cols-[auto_1fr]': this.sidebarMode === 'overlay' && this.toggler,\n\t\t\t'grid-cols-1': !(this.sidebarMode === 'overlay' && this.toggler),\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(gridClasses)}>\n\t\t\t\t${when(\n\t\t\t\t\tthis.sidebarMode === 'overlay' && this.toggler,\n\t\t\t\t\t() =>\n\t\t\t\t\t\thtml`<slot name=\"toggler\">\n\t\t\t\t\t\t\t<div class=\"${this.classMap(sidebarToggler)}\">\n\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\t\t\t\t\t\t\tdetail: { state: this.sidebarOpen === 'open' ? 'close' : 'open' },\n\t\t\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\t\t\t\tthis.sidebarOpen === 'close',\n\t\t\t\t\t\t\t\t\t\t() => html`menu`,\n\t\t\t\t\t\t\t\t\t\t() => html`menu_open`,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</slot>`,\n\t\t\t\t)}\n\n\t\t\t\t<slot> </slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-appbar': SchmancyDrawerAppbar\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-nav-drawer-content')\nexport class SchmancyNavigationDrawerContent extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0;\n\t\toverflow-y: auto;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'scroll')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\tthis.parentElement.dispatchEvent(new CustomEvent('scroll', { detail: e, bubbles: true, composed: true }))\n\t\t\t})\n\t}\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-content': SchmancyNavigationDrawerContent\n\t}\n}\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents } from '..'\nimport { fullHeight } from './../directives/height'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n/**\n * @element schmancy-nav-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-nav-drawer')\nexport class SchmancyNavigationDrawer extends $LitElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\toverflow: hidden;\n\t\t/* Initially hide the component until it’s ready */\n\t\tvisibility: hidden;\n\t}\n\t/* Once the component is ready, remove the hidden style */\n\t:host([data-ready]) {\n\t\tvisibility: visible;\n\t}\n`) {\n\t// fullscreen property\n\t@property({ type: Boolean })\n\tfullscreen: boolean = false\n\n\t/**\n\t * The breakpoint for the sidebar based on Tailwind CSS breakpoints.\n\t * Accepts: \"sm\", \"md\", \"lg\", or \"xl\".\n\t *\n\t * The following default values are used:\n\t * - sm: 640px\n\t * - md: 768px (default)\n\t * - lg: 1024px\n\t * - xl: 1280px\n\t *\n\t * @attr breakpoint\n\t * @type {\"sm\" | \"md\" | \"lg\" | \"xl\"}\n\t */\n\t@property({ type: String, attribute: 'breakpoint' })\n\tbreakpoint: 'sm' | 'md' | 'lg' | 'xl' = 'md'\n\n\t/**\n\t * Mapping of Tailwind breakpoint tokens to their numeric pixel values.\n\t */\n\tprivate static BREAKPOINTS: Record<'sm' | 'md' | 'lg' | 'xl', number> = {\n\t\tsm: 640,\n\t\tmd: 768,\n\t\tlg: 1024,\n\t\txl: 1280,\n\t}\n\n\t/**\n\t * The mode of the sidebar.\n\t */\n\t@provide({ context: SchmancyDrawerNavbarMode })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t/**\n\t * The open/close state of the sidebar.\n\t */\n\t@provide({ context: SchmancyDrawerNavbarState })\n\t@property()\n\topen: TSchmancyDrawerNavbarState\n\n\t/**\n\t * A flag indicating that the initial state has been set.\n\t */\n\t@state()\n\tprivate _initialized = false\n\n\t/**\n\t * In firstUpdated, we can safely read attribute-set properties.\n\t * We also initialize our state and subscribe to events.\n\t */\n\tfirstUpdated() {\n\t\t// Set the initial state based on the current window width.\n\t\tthis.updateState(window.innerWidth)\n\t\t// Mark the component as ready\n\t\tthis._initialized = true\n\t\tthis.setAttribute('data-ready', '')\n\n\t\t// Subscribe to window resize events.\n\t\tfromEvent(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\t// Extract the inner width.\n\t\t\t\tmap(event => (event.target as Window).innerWidth),\n\t\t\t\t// Determine if we're above the breakpoint.\n\t\t\t\tmap(width => width >= SchmancyNavigationDrawer.BREAKPOINTS[this.breakpoint]),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\tdebounceTime(100),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(isLargeScreen => {\n\t\t\t\tif (isLargeScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\t// Listen to the custom toggle event.\n\t\tfromEvent(window, SchmancyEvents.NavDrawer_toggle)\n\t\t\t.pipe(\n\t\t\t\ttap((event: CustomEvent) => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap((event: CustomEvent) => event.detail.state),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(10),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\t// When in push mode, ignore a request to close the sidebar.\n\t\t\t\tif (this.mode === 'push' && state === 'close') return\n\t\t\t\tthis.open = state\n\t\t\t})\n\t}\n\n\t/**\n\t * Helper method to update state based on a given width.\n\t */\n\tprivate updateState(width: number) {\n\t\tconst isLargeScreen = width >= SchmancyNavigationDrawer.BREAKPOINTS[this.breakpoint]\n\t\tthis.mode = isLargeScreen ? 'push' : 'overlay'\n\t\tthis.open = isLargeScreen ? 'open' : 'close'\n\t}\n\n\tprotected render() {\n\t\t// Optionally, you can check _initialized here,\n\t\t// but the CSS will already hide the component until it's ready.\n\t\tif (!this._initialized) return nothing\n\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.fullscreen ? '1fr' : 'auto 1fr'}\n\t\t\t\trows=\"1fr\"\n\t\t\t\tflow=\"col\"\n\t\t\t\tjustify=\"stretch\"\n\t\t\t\talign=\"stretch\"\n\t\t\t\t${fullHeight()}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer': SchmancyNavigationDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { SchmancyEvents, SchmancyTheme, color } from '..'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n// Animation configuration constants.\nconst ANIMATION_EASING = 'cubic-bezier(0.5, 0.01, 0.25, 1)'\nconst OVERLAY_ANIM_DURATION_OPEN = 200\nconst OVERLAY_ANIM_DURATION_CLOSE = 150\nconst NAV_ANIM_DURATION = 200\n\n@customElement('schmancy-nav-drawer-navbar')\nexport class SchmancyNavigationDrawerSidebar extends $LitElement() {\n\t// Consume context values. Renamed from \"state\" to \"drawerState\" to avoid confusion.\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tmode!: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tdrawerState!: TSchmancyDrawerNavbarState\n\n\t@query('#overlay') overlay!: HTMLElement\n\t@query('nav') nav!: HTMLElement\n\n\t@property({ type: String }) width = '320px'\n\t@state() private _initialized = false\n\n\t/**\n\t * firstUpdated()\n\t * Set initial styles based on the current mode and consumed state.\n\t */\n\tfirstUpdated() {\n\t\tif (this.mode === 'overlay') {\n\t\t\tif (this.drawerState === 'close') {\n\t\t\t\tthis.nav.style.transform = 'translateX(-100%)'\n\t\t\t\tthis.overlay.style.display = 'none'\n\t\t\t} else if (this.drawerState === 'open') {\n\t\t\t\tthis.nav.style.transform = 'translateX(0)'\n\t\t\t\tthis.overlay.style.display = 'block'\n\t\t\t\tthis.overlay.style.opacity = '0.4'\n\t\t\t}\n\t\t} else if (this.mode === 'push') {\n\t\t\t// In push mode, the nav is always visible and the overlay hidden.\n\t\t\tthis.nav.style.transform = 'translateX(0)'\n\t\t\tthis.overlay.style.display = 'none'\n\t\t}\n\t\tthis._initialized = true\n\t}\n\n\t/**\n\t * updated()\n\t * Trigger animations when either the consumed mode or state changes.\n\t */\n\tupdated(changedProperties: Map<string, any>) {\n\t\tif (!this._initialized) return\n\n\t\tif (changedProperties.has('drawerState') || changedProperties.has('mode')) {\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.drawerState === 'open') {\n\t\t\t\t\t// Animate only if the nav isn’t already open.\n\t\t\t\t\tif (this.nav.style.transform !== 'translateX(0)') {\n\t\t\t\t\t\tthis.openOverlay()\n\t\t\t\t\t\tthis.showNavDrawer()\n\t\t\t\t\t}\n\t\t\t\t} else if (this.drawerState === 'close') {\n\t\t\t\t\tif (this.nav.style.transform !== 'translateX(-100%)') {\n\t\t\t\t\t\tthis.hideNavDrawer()\n\t\t\t\t\t\tthis.closeOverlay()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tif (this.nav.style.transform !== 'translateX(0)') {\n\t\t\t\t\tthis.showNavDrawer()\n\t\t\t\t}\n\t\t\t\tif (this.overlay.style.display !== 'none') {\n\t\t\t\t\tthis.closeOverlay()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Animate the overlay to fade in.\n\t */\n\topenOverlay() {\n\t\tthis.overlay.style.display = 'block'\n\t\tthis.overlay.animate([{ opacity: 0 }, { opacity: 0.4 }], {\n\t\t\tduration: OVERLAY_ANIM_DURATION_OPEN,\n\t\t\teasing: ANIMATION_EASING,\n\t\t\tfill: 'forwards',\n\t\t})\n\t}\n\n\t/**\n\t * Animate the overlay to fade out, then hide it.\n\t */\n\tcloseOverlay() {\n\t\tconst animation = this.overlay.animate([{ opacity: 0.4 }, { opacity: 0 }], {\n\t\t\tduration: OVERLAY_ANIM_DURATION_CLOSE,\n\t\t\teasing: ANIMATION_EASING,\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.overlay.style.display = 'none'\n\t\t}\n\t}\n\tshowNavDrawer() {\n\t\t// Use computed style if needed, but here we directly update inline style after animation.\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(-100%)' }, { transform: 'translateX(0)' }], {\n\t\t\tduration: NAV_ANIM_DURATION,\n\t\t\teasing: ANIMATION_EASING,\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.nav.style.transform = 'translateX(0)'\n\t\t}\n\t}\n\n\thideNavDrawer() {\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(0)' }, { transform: 'translateX(-100%)' }], {\n\t\t\tduration: NAV_ANIM_DURATION,\n\t\t\teasing: ANIMATION_EASING,\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.nav.style.transform = 'translateX(-100%)'\n\t\t}\n\t}\n\n\t/**\n\t * Handle overlay click events by dispatching a custom event\n\t * to close the navigation drawer.\n\t */\n\tprivate handleOverlayClick() {\n\t\twindow.dispatchEvent(\n\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\tdetail: { state: 'close' },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprotected render() {\n\t\tconst sidebarClasses = {\n\t\t\t'p-[16px] max-w-[360px] w-fit h-full overflow-auto': true,\n\t\t\tblock: this.mode === 'push',\n\t\t\t'fixed inset-0 z-50': this.mode === 'overlay',\n\t\t}\n\t\tconst overlayClass = {\n\t\t\t'fixed inset-0 z-49 hidden': true,\n\t\t}\n\t\tconst styleMap = {\n\t\t\twidth: this.width,\n\t\t}\n\n\t\treturn html`\n\t\t\t<nav\n\t\t\t\tstyle=${this.styleMap(styleMap)}\n\t\t\t\tclass=\"${this.classMap({ ...sidebarClasses })}\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</nav>\n\t\t\t<div\n\t\t\t\tid=\"overlay\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.scrim,\n\t\t\t\t})}\n\t\t\t\t@click=${this.handleOverlayClick}\n\t\t\t\tclass=\"${this.classMap({ ...overlayClass })}\"\n\t\t\t></div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-navbar': SchmancyNavigationDrawerSidebar\n\t}\n}\n","import { bufferTime, concatMap, filter, fromEvent, map, of, Subject, take, tap, timeout, zip } from 'rxjs'\nimport { SchmancyTeleportation } from './teleport.component'\n\nexport type WhereAreYouRickyEvent = CustomEvent<{\n\tid: string\n\tcallerID: number\n}>\n\nexport const WhereAreYouRicky = 'whereAreYouRicky'\n\nexport type HereMortyEvent = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\n\nexport type FLIP_REQUEST = {\n\tfrom: {\n\t\trect: DOMRect\n\t\telement?: HTMLElement\n\t}\n\tto: {\n\t\trect: DOMRect\n\t\telement: HTMLElement\n\t}\n\tstagger?: number\n\thost: HTMLElement\n}\nexport const HereMorty = 'hereMorty'\n\nclass Teleportation {\n\tactiveTeleportations = new Map<string, DOMRect>()\n\tflipRequests = new Subject<FLIP_REQUEST>()\n\n\tconstructor() {\n\t\tthis.flipRequests\n\t\t\t.pipe(\n\t\t\t\tbufferTime(1),\n\t\t\t\tmap(requests =>\n\t\t\t\t\trequests.map(({ from, to, host }, i) => ({\n\t\t\t\t\t\tfrom,\n\t\t\t\t\t\tto,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\ti,\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t\tconcatMap(requests => zip(requests.map(request => of(this.flip(request))))),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tfind = (component: SchmancyTeleportation) => {\n\t\treturn zip([\n\t\t\tfromEvent<HereMortyEvent>(window, HereMorty).pipe(\n\t\t\t\tfilter(\n\t\t\t\t\te =>\n\t\t\t\t\t\t!!e.detail.component.uuid &&\n\t\t\t\t\t\t!!component.id &&\n\t\t\t\t\t\te.detail.component.id === component.id &&\n\t\t\t\t\t\te.detail.component.uuid !== component.uuid,\n\t\t\t\t),\n\t\t\t\tmap(e => e.detail.component),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\tof(component).pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent<WhereAreYouRickyEvent['detail']>(WhereAreYouRicky, {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tid: component.id,\n\t\t\t\t\t\t\t\tcallerID: component.uuid,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t),\n\t\t]).pipe(\n\t\t\tmap(([component]) => component),\n\t\t\ttimeout(0),\n\t\t)\n\t}\n\n\tflip = (request: {\n\t\tfrom: {\n\t\t\trect: DOMRect\n\t\t}\n\t\tto: {\n\t\t\telement: HTMLElement\n\t\t\trect: DOMRect\n\t\t}\n\t\thost: HTMLElement\n\t\ti: number\n\t}) => {\n\t\tconst { from, to } = request\n\n\t\t// Prepare the element for animation\n\t\tconst originalZIndex = to.element.style.zIndex\n\t\tto.element.style.transformOrigin = 'top left'\n\t\tto.element.style.setProperty('visibility', 'visible')\n\t\tto.element.style.zIndex = '1000'\n\n\t\t// \"onBegin\" logic goes here (since Web Animations doesn't have onBegin).\n\t\t// If you had more logic, place it here:\n\n\t\t// Calculate starting and ending transforms\n\t\tconst startX = from.rect.left - to.rect.left\n\t\tconst startY = from.rect.top - to.rect.top\n\t\tconst startScaleX = from.rect.width / to.rect.width\n\t\tconst startScaleY = from.rect.height / to.rect.height\n\n\t\t// Create keyframes\n\t\tconst keyframes: Keyframe[] = [\n\t\t\t{\n\t\t\t\ttransform: `translate(${startX}px, ${startY}px) scale(${startScaleX}, ${startScaleY})`,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: 'translate(0, 0) scale(1, 1)',\n\t\t\t},\n\t\t]\n\n\t\t// Use native Web Animations API\n\t\tconst animation = to.element.animate(keyframes, {\n\t\t\tduration: 250,\n\t\t\tdelay: 10, // if desired\n\t\t\t// Approximate 'inOutQuad' via a cubic-bezier easing.\n\t\t\t// You can adjust these values to taste, or use a standard one:\n\t\t\teasing: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)',\n\t\t\t// or simply 'ease-in-out'\n\t\t})\n\n\t\t// \"onComplete\" logic goes here\n\t\tanimation.onfinish = () => {\n\t\t\tto.element.style.zIndex = originalZIndex\n\t\t\tto.element.style.transformOrigin = ''\n\t\t\t// If you have additional cleanup, place it here\n\t\t}\n\t}\n}\n\nexport const teleport = new Teleportation()\nexport default teleport\n","import { Observable, interval } from 'rxjs'\nimport { distinctUntilChanged, map, take } from 'rxjs/operators'\n\n// Function to monitor element's bounding client rect\nexport function watchElementRect(element: Element): Observable<DOMRectReadOnly> {\n\treturn interval(50).pipe(\n\t\t// startWith(true),\n\t\tmap(() => element.getBoundingClientRect()),\n\t\tdistinctUntilChanged(\n\t\t\t(prev, curr) =>\n\t\t\t\tprev.width === curr.width &&\n\t\t\t\tprev.height === curr.height &&\n\t\t\t\tprev.top === curr.top &&\n\t\t\t\tprev.right === curr.right &&\n\t\t\t\tprev.bottom === curr.bottom &&\n\t\t\t\tprev.left === curr.left,\n\t\t),\n\t\ttake(1),\n\t)\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { filter, fromEvent, merge, of, takeUntil, tap, throwIfEmpty } from 'rxjs'\nimport { FINDING_MORTIES, FINDING_MORTIES_EVENT, HERE_RICKY, HERE_RICKY_EVENT } from '..'\nimport {\n\tHereMorty,\n\tHereMortyEvent,\n\tWhereAreYouRicky,\n\tWhereAreYouRickyEvent,\n\tdefault as teleport,\n\tdefault as teleportationService,\n} from './teleport.service'\nimport { watchElementRect } from './watcher'\nimport { $LitElement } from '@mixins/index'\n@customElement('schmancy-teleport')\nexport class SchmancyTeleportation extends $LitElement(css``) {\n\t/**\n\t * @attr {string} uuid - The component tag to teleport\n\t * @readonly\n\t */\n\t@property({ type: Number, reflect: true }) uuid = Math.floor(Math.random() * Date.now())\n\n\t/**\n\t * @attr {string} id - The component tag to teleport\n\t * @required\n\t */\n\t@property({ type: String }) id!: string\n\n\t@property({ type: Number }) delay = 0\n\n\tdebugging = import.meta.env.DEV ? true : false\n\n\tget _slottedChildren() {\n\t\tconst slot = this.shadowRoot.querySelector('slot')\n\t\treturn slot.assignedElements({ flatten: true })\n\t}\n\n\tconnectedCallback(): void {\n\t\tif (this.id === undefined) throw new Error('id is required')\n\t\tsuper.connectedCallback()\n\t\tmerge(\n\t\t\tfromEvent<FINDING_MORTIES_EVENT>(window, FINDING_MORTIES).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\tnew CustomEvent<HERE_RICKY_EVENT['detail']>(HERE_RICKY, {\n\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tfromEvent<WhereAreYouRickyEvent>(window, WhereAreYouRicky).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: e => {\n\t\t\t\t\t\tif (e.detail.id === this.id && this.uuid && e.detail.callerID !== this.uuid) {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent<HereMortyEvent['detail']>(HereMorty, {\n\t\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe()\n\t}\n\n\tasync firstUpdated() {\n\t\tof(teleportationService.activeTeleportations.get(this.id))\n\t\t\t.pipe(\n\t\t\t\tfilter(a => !!a),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tthrowIfEmpty(),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: domRect => {\n\t\t\t\t\tconsole.count('teleport')\n\t\t\t\t\tthis.style.setProperty('visibility', 'hidden')\n\t\t\t\t\t// teleport.flipRequests.next({ from: component, to: this, stagger: 0 })\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t\tteleport.flipRequests.next({\n\t\t\t\t\t\t\t\t\tfrom: {\n\t\t\t\t\t\t\t\t\t\trect: domRect,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tto: {\n\t\t\t\t\t\t\t\t\t\trect: e,\n\t\t\t\t\t\t\t\t\t\telement: this._slottedChildren[0] as HTMLElement,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thost: this,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\terror: () => {\n\t\t\t\t\tthis.style.setProperty('visibility', 'visible')\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tcomplete: () => {},\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-teleport': SchmancyTeleportation\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\n\nexport type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl'\nexport type AvatarColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'error' | 'neutral'\nexport type AvatarShape = 'circle' | 'square'\nexport type AvatarStatus = 'online' | 'offline' | 'busy' | 'away' | 'none'\n\n/**\n * A customizable avatar component that displays initials or an icon\n * Designed to match the Schmancy design system\n *\n * @element schmancy-avatar\n *\n * @property {string} initials - Text initials to display (limited to 2 characters)\n * @property {string} src - URL of an image to display\n * @property {string} icon - Name of an icon to display\n * @property {AvatarSize} size - Size of the avatar (xs, sm, md, lg, xl)\n * @property {AvatarColor} color - Color theme of the avatar\n * @property {AvatarShape} shape - Shape of the avatar (circle or square)\n * @property {boolean} bordered - Whether to add a border around the avatar\n * @property {AvatarStatus} status - Optional status indicator to display\n *\n * @example\n * <schmancy-avatar\n * initials=\"JD\"\n * size=\"md\"\n * color=\"primary\"\n * ></schmancy-avatar>\n */\n@customElement('schmancy-avatar')\nexport class SchmancyAvatar extends $LitElement() {\n\t@property({ type: String }) initials: string = ''\n\t@property({ type: String }) src: string = ''\n\t@property({ type: String }) icon: string = ''\n\t@property({ type: String }) size: AvatarSize = 'md'\n\t@property({ type: String }) color: AvatarColor = 'primary'\n\t@property({ type: String }) shape: AvatarShape = 'circle'\n\t@property({ type: Boolean }) bordered: boolean = false\n\t@property({ type: String }) status: AvatarStatus = 'none'\n\n\trender() {\n\t\t// Determine content to display (image, initials, or icon)\n\t\tlet content\n\t\tif (this.src) {\n\t\t\tcontent = html`<img class=\"w-full h-full object-cover\" src=\"${this.src}\" alt=\"Avatar\" />`\n\t\t} else if (this.initials) {\n\t\t\tcontent = html`<span class=\"text-center font-medium\">${this.initials.substring(0, 2).toUpperCase()}</span>`\n\t\t} else if (this.icon) {\n\t\t\tcontent = html`<schmancy-icon>${this.icon}</schmancy-icon>`\n\t\t} else {\n\t\t\tcontent = html`<schmancy-icon>person</schmancy-icon>`\n\t\t}\n\n\t\t// Size classes\n\t\tconst sizeClasses = {\n\t\t\txs: 'w-6 h-6 text-xs',\n\t\t\tsm: 'w-8 h-8 text-sm',\n\t\t\tmd: 'w-10 h-10 text-base',\n\t\t\tlg: 'w-12 h-12 text-lg',\n\t\t\txl: 'w-16 h-16 text-xl',\n\t\t}\n\n\t\t// Shape classes\n\t\tconst shapeClasses = {\n\t\t\tcircle: 'rounded-full',\n\t\t\tsquare: 'rounded-md',\n\t\t}\n\n\t\t// Combine classes\n\t\tconst avatarClasses = {\n\t\t\t'relative flex items-center justify-center overflow-hidden': true,\n\t\t\t[sizeClasses[this.size]]: true,\n\t\t\t[shapeClasses[this.shape]]: true,\n\t\t\t'border-2 border-surface-container': this.bordered,\n\t\t}\n\n\t\t// Get theme colors\n\t\tconst colorAttrs = this.getColorAttributes()\n\n\t\treturn html`\n\t\t\t<div class=\"${this.classMap(avatarClasses)}\" ${colorAttrs}>\n\t\t\t\t${content} ${this.status !== 'none' ? this.renderStatusIndicator() : ''}\n\t\t\t</div>\n\t\t`\n\t}\n\n\tprivate getColorAttributes() {\n\t\tconst colorMap = {\n\t\t\tprimary: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.primary.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.primary.onContainer,\n\t\t\t},\n\t\t\tsecondary: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.secondary.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.secondary.onContainer,\n\t\t\t},\n\t\t\ttertiary: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.tertiary.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t},\n\t\t\tsuccess: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.success.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.success.onContainer,\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.error.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.error.onContainer,\n\t\t\t},\n\t\t\tneutral: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t},\n\t\t}\n\n\t\treturn color(colorMap[this.color])\n\t}\n\n\tprivate renderStatusIndicator() {\n\t\tconst statusColors = {\n\t\t\tonline: SchmancyTheme.sys.color.success.default,\n\t\t\toffline: SchmancyTheme.sys.color.surface.onVariant,\n\t\t\tbusy: SchmancyTheme.sys.color.error.default,\n\t\t\taway: SchmancyTheme.sys.color.tertiary.default,\n\t\t}\n\n\t\tconst sizeMap = {\n\t\t\txs: 'w-1.5 h-1.5',\n\t\t\tsm: 'w-2 h-2',\n\t\t\tmd: 'w-2.5 h-2.5',\n\t\t\tlg: 'w-3 h-3',\n\t\t\txl: 'w-4 h-4',\n\t\t}\n\n\t\tconst statusClasses = {\n\t\t\t'absolute bottom-0 right-0 rounded-full border-2 border-surface-default': true,\n\t\t\t[sizeMap[this.size]]: true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"${this.classMap(statusClasses)}\" style=\"background-color: ${statusColors[this.status]};\"></div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-avatar': SchmancyAvatar\n\t}\n}\n"],"names":["SchmancyBadgeV2","TailwindElement","css","constructor","super","arguments","this","color","size","shape","outlined","icon","pulse","getSizeClasses","getShapeClasses","getIconSize","getExoticStyles","styles","letterSpacing","fontWeight","getColorStyles","primary","bg","SchmancyTheme","sys","container","default","text","onContainer","border","surface","highest","secondary","tertiary","success","bright","warning","error","neutral","high","outline","on","render","sizeClasses","shapeClasses","colorStyles","iconSize","exoticStyles","badgeClasses","shadow","borderColor","transition","backdropFilter","borderWidth","boxShadow","html","classMap","styleMap","bgColor","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement","ScBadgeV2","schmancyContentDrawer","$drawer","Subject","lastComponent","pipe","subscribe","data","action","ref","dispatchEvent","CustomEvent","SchmancyEvents","ContentDrawerToggle","detail","state","bubbles","composed","component","title","handlePush","next","resolvedComponent","document","createElement","HTMLElement","result","requestUpdate","window","SchmancyContentDrawerSheetMode","createContext","SchmancyContentDrawerSheetState","SchmancyContentDrawerID","Math","floor","random","Date","now","toString","SchmancyContentDrawerMaxHeight","SchmancyContentDrawerMinWidth","SchmancyContentDrawer","$LitElement","minWidth","main","sheet","schmancyContentDrawerID","maxHeight","firstUpdated","merge","fromEvent","ContentDrawerResize","startWith","map","clientWidth","innerWidth","width","debounceTime","tap","innerHeight","getOffsetTop","style","setProperty","distinctUntilChanged","takeUntil","disconnecting","lgScreen","mode","open","event","stopPropagation","area","push","historyStrategy","uid","element","offsetTop","offsetParent","nothing","provide","context","queryAssignedElements","flatten","SchmancyContentDrawerMain","connectedCallback","drawerMinWidth","changedProperties","update","has","when","Number","consume","SchmancyContentDrawerSheet","updated","closeAll","dismiss","position","display","animate","opacity","transform","duration","easing","from","closeModalSheet","closeSheet","of","Observable","observer","onfinish","complete","sheetClasses","block","query","slot","schmancyNavDrawer","NavDrawer_toggle","self","SchmancyDrawerNavbarMode","SchmancyDrawerNavbarState","SchmancyDrawerAppbar","toggler","sidebarToggler","sidebarMode","hidden","gridClasses","sidebarOpen","SchmancyNavigationDrawerContent","e","parentElement","SchmancyNavigationDrawer","fullscreen","breakpoint","_initialized","updateState","setAttribute","target","BREAKPOINTS","isLargeScreen","fullHeight","sm","md","lg","xl","attribute","ANIMATION_EASING","SchmancyNavigationDrawerSidebar","drawerState","nav","overlay","openOverlay","showNavDrawer","hideNavDrawer","closeOverlay","fill","handleOverlayClick","sidebarClasses","scrim","WhereAreYouRicky","HereMorty","teleport","activeTeleportations","Map","flipRequests","find","zip","filter","uuid","id","take","callerID","timeout","flip","request","to","originalZIndex","zIndex","transformOrigin","keyframes","rect","left","top","height","delay","bufferTime","requests","host","i","concatMap","watchElementRect","interval","getBoundingClientRect","prev","curr","right","bottom","SchmancyTeleportation","debugging","_slottedChildren","shadowRoot","querySelector","assignedElements","Error","FINDING_MORTIES","HERE_RICKY","teleportationService","get","a","throwIfEmpty","domRect","set","SchmancyAvatar","initials","src","bordered","status","content","substring","toUpperCase","avatarClasses","xs","circle","square","colorAttrs","getColorAttributes","renderStatusIndicator","colorMap","statusColors","online","offline","onVariant","busy","away","statusClasses"],"mappings":"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"}
package/dist/badge.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-Bsjv5OuH.cjs");Object.defineProperty(exports,"ScBadgeV2",{enumerable:!0,get:()=>e.ScBadgeV2}),Object.defineProperty(exports,"SchmancyBadgeV2",{enumerable:!0,get:()=>e.SchmancyBadgeV2});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-Bws6p1iq.cjs");Object.defineProperty(exports,"ScBadgeV2",{enumerable:!0,get:()=>e.ScBadgeV2}),Object.defineProperty(exports,"SchmancyBadgeV2",{enumerable:!0,get:()=>e.SchmancyBadgeV2});
2
2
  //# sourceMappingURL=badge.cjs.map
package/dist/badge.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as e, S } from "./avatar-CE8waacF.js";
1
+ import { a as e, S } from "./avatar-kpFZmTl5.js";
2
2
  export {
3
3
  e as ScBadgeV2,
4
4
  S as SchmancyBadgeV2
@@ -1,7 +1,7 @@
1
1
  import { css as m, html as o } from "lit";
2
2
  import { property as d, customElement as p } from "lit/decorators.js";
3
3
  import { when as h } from "lit/directives/when.js";
4
- import { T as f } from "./tailwind.mixin-DKEIPHTU.js";
4
+ import { T as f } from "./tailwind.mixin-NLG6hsRk.js";
5
5
  var u = Object.defineProperty, v = Object.getOwnPropertyDescriptor, c = (a, t, i, s) => {
6
6
  for (var n, e = s > 1 ? void 0 : s ? v(t, i) : t, r = a.length - 1; r >= 0; r--) (n = a[r]) && (e = (s ? n(t, i, e) : n(e)) || e);
7
7
  return s && e && u(t, i, e), e;
@@ -96,4 +96,4 @@ c([d({ type: String, reflect: !0 })], l.prototype, "state", 2), l = c([p("schman
96
96
  export {
97
97
  l as S
98
98
  };
99
- //# sourceMappingURL=boat-B2l1E5Rr.js.map
99
+ //# sourceMappingURL=boat-BEjCaneK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"boat-B2l1E5Rr.js","sources":["../src/boat/boat.ts"],"sourcesContent":["import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\n\ntype BoatState = 'hidden' | 'minimized' | 'expanded'\n\n@customElement('schmancy-boat')\nexport default class SchmancyBoat extends TailwindElement(css`\n @media (min-width: 1024px) {\n .translate-y-full-minus-64 {\n /* translate to left 0 */\n transform: translateY(calc(100% - 64px)) !important;\n }\n }\n @media (max-width: 1024px) {\n .translate-y-full-minus-64 {\n /* translate to left 0 */\n transform: translateY(calc(100% - 64px)) !important;\n }\n }\n\n .translate-y-full-minus-64 {\n transform: translateY(calc(100% - 64px)) !important;\n -webkit-transform: translateY(calc(100% - 64px)) !important;\n }\n\n .translate-y-full {\n transform: translateY(100%) !important;\n -webkit-transform: translateY(100%) !important;\n }\n\n .translate-y-0 {\n transform: translateY(0) !important;\n -webkit-transform: translateY(0) !important;\n }\n`) {\n @property({\n type: String,\n reflect: true,\n })\n state: BoatState = 'hidden'\n\n toggleState() {\n this.state = this.state === 'minimized' ? 'expanded' : 'minimized'\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.state,\n bubbles: true,\n composed: true,\n }),\n )\n }\n\n protected render(): unknown {\n const classes = {\n 'shadow-2xl h-auto z-[100] w-[100vw] md:w-[70vw] lg:w-[60vw] xl:w-[40vw] max-h-[80vh] fixed bottom-0 right-0 transition-all duration-300 ease-in-out transform-gpu overflow-y-auto flex flex-col':\n true,\n 'translate-y-full-minus-64': this.state === 'minimized',\n 'translate-y-full': this.state === 'hidden',\n 'translate-y-0': this.state === 'expanded',\n }\n return html`\n <div class=\"${this.classMap(classes)}\">\n <section class=\"sticky top-0 z-10\">\n <schmancy-surface\n elevation=\"4\"\n class=\"cursor-pointer\"\n @click=${() => {\n this.state = this.state === 'minimized' ? 'expanded' : 'minimized'\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.state,\n bubbles: true,\n composed: true,\n }),\n )\n }}\n rounded=\"top\"\n elevation=\"1\"\n type=\"containerLowest\"\n >\n <div class=\"sticky top-0 px-4 py-3 flex items-center justify-between gap-4\">\n <div class=\"flex-1 flex items-center\">\n <slot name=\"header\"></slot>\n </div>\n\n <div class=\"flex items-center gap-2\">\n <schmancy-icon-button\n variant=\"filled tonal\"\n @click=${(e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n this.toggleState()\n }}\n title=${this.state === 'minimized' ? 'Expand' : 'Minimize'}\n >\n ${when(\n this.state === 'minimized',\n () => html`expand`,\n () => html`minimize`,\n )}\n </schmancy-icon-button>\n \n <schmancy-icon-button\n variant=\"text\"\n @click=${(e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n this.state = 'hidden'\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.state,\n bubbles: true,\n composed: true,\n }),\n )\n }}\n title=\"Close\"\n >\n close\n </schmancy-icon-button>\n </div>\n </div>\n </schmancy-surface>\n </section>\n <schmancy-surface .hidden=${this.state !== 'expanded'} type=\"containerLow\" class=\"z-0 flex-1\">\n <slot></slot>\n </schmancy-surface>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-boat': SchmancyBoat\n }\n}"],"names":["SchmancyBoat","TailwindElement","css","constructor","super","arguments","this","state","toggleState","dispatchEvent","CustomEvent","detail","bubbles","composed","classes","html","classMap","e","preventDefault","stopPropagation","when","__decorateClass","property","type","String","reflect","prototype","customElement"],"mappings":";;;;;;;;AAQA,IAAqBA,IAArB,cAA0CC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAA1D,cAAAC;AAAAC,aAAAC,SAAAA,GAiCIC,KAAAC,QAAmB;AAAA,EAAA;AAAA,EAEnB,cAAAC;AACIF,SAAKC,QAAQD,KAAKC,UAAU,cAAc,aAAa,aACvDD,KAAKG,cACD,IAAIC,YAAY,UAAU,EACtBC,QAAQL,KAAKC,OACbK,aACAC,UAAAA;EAGZ;AAAA,EAEU;AACN,UAAMC,IAAU,EACZ,mMAAA,IAEA,6BAA6BR,KAAKC,UAAU,aAC5C,oBAAoBD,KAAKC,UAAU,UACnC,iBAAiBD,KAAKC,UAAU,WAAVA;AAE1B,WAAOQ;AAAAA,0BACWT,KAAKU,SAASF,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iCAKP,MAAA;AACLR,WAAKC,QAAQD,KAAKC,UAAU,cAAc,aAAa,aACvDD,KAAKG,cACD,IAAIC,YAAY,UAAU,EACtBC,QAAQL,KAAKC,OACbK,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAgBAI,OAAAA;AACNA,QAAEC,eAAAA,GACFD,EAAEE,gBAAAA,GACFb,KAAKE,YAAAA;AAAAA,IAAAA,CAAAA;AAAAA,4CAEDF,KAAKC,UAAU,cAAc,WAAW,UAAA;AAAA;AAAA,sCAE9Ca,EACEd,KAAKC,UAAU,aACf,MAAMQ,WACN,MAAMA,WAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAMAE,OAAAA;AACNA,QAAEC,eAAAA,GACFD,EAAEE,mBACFb,KAAKC,QAAQ,UACbD,KAAKG,cACD,IAAIC,YAAY,UAAU,EACtBC,QAAQL,KAAKC,OACbK,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4CAYdP,KAAKC,UAAU,UAAVA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAK7C;AAAA;AA1FAc,EAAA,CAJCC,EAAS,EACNC,MAAMC,QACNC,SAAAA,GAAS,CAAA,CAAA,GA/BIzB,EAiCjB0B,WAAA,SAAA,CAAA,GAjCiB1B,IAArBqB,EAAA,CADCM,EAAc,mBACM3B,CAAAA;"}
1
+ {"version":3,"file":"boat-BEjCaneK.js","sources":["../src/boat/boat.ts"],"sourcesContent":["import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\n\ntype BoatState = 'hidden' | 'minimized' | 'expanded'\n\n@customElement('schmancy-boat')\nexport default class SchmancyBoat extends TailwindElement(css`\n @media (min-width: 1024px) {\n .translate-y-full-minus-64 {\n /* translate to left 0 */\n transform: translateY(calc(100% - 64px)) !important;\n }\n }\n @media (max-width: 1024px) {\n .translate-y-full-minus-64 {\n /* translate to left 0 */\n transform: translateY(calc(100% - 64px)) !important;\n }\n }\n\n .translate-y-full-minus-64 {\n transform: translateY(calc(100% - 64px)) !important;\n -webkit-transform: translateY(calc(100% - 64px)) !important;\n }\n\n .translate-y-full {\n transform: translateY(100%) !important;\n -webkit-transform: translateY(100%) !important;\n }\n\n .translate-y-0 {\n transform: translateY(0) !important;\n -webkit-transform: translateY(0) !important;\n }\n`) {\n @property({\n type: String,\n reflect: true,\n })\n state: BoatState = 'hidden'\n\n toggleState() {\n this.state = this.state === 'minimized' ? 'expanded' : 'minimized'\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.state,\n bubbles: true,\n composed: true,\n }),\n )\n }\n\n protected render(): unknown {\n const classes = {\n 'shadow-2xl h-auto z-[100] w-[100vw] md:w-[70vw] lg:w-[60vw] xl:w-[40vw] max-h-[80vh] fixed bottom-0 right-0 transition-all duration-300 ease-in-out transform-gpu overflow-y-auto flex flex-col':\n true,\n 'translate-y-full-minus-64': this.state === 'minimized',\n 'translate-y-full': this.state === 'hidden',\n 'translate-y-0': this.state === 'expanded',\n }\n return html`\n <div class=\"${this.classMap(classes)}\">\n <section class=\"sticky top-0 z-10\">\n <schmancy-surface\n elevation=\"4\"\n class=\"cursor-pointer\"\n @click=${() => {\n this.state = this.state === 'minimized' ? 'expanded' : 'minimized'\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.state,\n bubbles: true,\n composed: true,\n }),\n )\n }}\n rounded=\"top\"\n elevation=\"1\"\n type=\"containerLowest\"\n >\n <div class=\"sticky top-0 px-4 py-3 flex items-center justify-between gap-4\">\n <div class=\"flex-1 flex items-center\">\n <slot name=\"header\"></slot>\n </div>\n\n <div class=\"flex items-center gap-2\">\n <schmancy-icon-button\n variant=\"filled tonal\"\n @click=${(e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n this.toggleState()\n }}\n title=${this.state === 'minimized' ? 'Expand' : 'Minimize'}\n >\n ${when(\n this.state === 'minimized',\n () => html`expand`,\n () => html`minimize`,\n )}\n </schmancy-icon-button>\n \n <schmancy-icon-button\n variant=\"text\"\n @click=${(e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n this.state = 'hidden'\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.state,\n bubbles: true,\n composed: true,\n }),\n )\n }}\n title=\"Close\"\n >\n close\n </schmancy-icon-button>\n </div>\n </div>\n </schmancy-surface>\n </section>\n <schmancy-surface .hidden=${this.state !== 'expanded'} type=\"containerLow\" class=\"z-0 flex-1\">\n <slot></slot>\n </schmancy-surface>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-boat': SchmancyBoat\n }\n}"],"names":["SchmancyBoat","TailwindElement","css","constructor","super","arguments","this","state","toggleState","dispatchEvent","CustomEvent","detail","bubbles","composed","classes","html","classMap","e","preventDefault","stopPropagation","when","__decorateClass","property","type","String","reflect","prototype","customElement"],"mappings":";;;;;;;;AAQA,IAAqBA,IAArB,cAA0CC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAA1D,cAAAC;AAAAC,aAAAC,SAAAA,GAiCIC,KAAAC,QAAmB;AAAA,EAAA;AAAA,EAEnB,cAAAC;AACIF,SAAKC,QAAQD,KAAKC,UAAU,cAAc,aAAa,aACvDD,KAAKG,cACD,IAAIC,YAAY,UAAU,EACtBC,QAAQL,KAAKC,OACbK,aACAC,UAAAA;EAGZ;AAAA,EAEU;AACN,UAAMC,IAAU,EACZ,mMAAA,IAEA,6BAA6BR,KAAKC,UAAU,aAC5C,oBAAoBD,KAAKC,UAAU,UACnC,iBAAiBD,KAAKC,UAAU,WAAVA;AAE1B,WAAOQ;AAAAA,0BACWT,KAAKU,SAASF,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iCAKP,MAAA;AACLR,WAAKC,QAAQD,KAAKC,UAAU,cAAc,aAAa,aACvDD,KAAKG,cACD,IAAIC,YAAY,UAAU,EACtBC,QAAQL,KAAKC,OACbK,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAgBAI,OAAAA;AACNA,QAAEC,eAAAA,GACFD,EAAEE,gBAAAA,GACFb,KAAKE,YAAAA;AAAAA,IAAAA,CAAAA;AAAAA,4CAEDF,KAAKC,UAAU,cAAc,WAAW,UAAA;AAAA;AAAA,sCAE9Ca,EACEd,KAAKC,UAAU,aACf,MAAMQ,WACN,MAAMA,WAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAMAE,OAAAA;AACNA,QAAEC,eAAAA,GACFD,EAAEE,mBACFb,KAAKC,QAAQ,UACbD,KAAKG,cACD,IAAIC,YAAY,UAAU,EACtBC,QAAQL,KAAKC,OACbK,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4CAYdP,KAAKC,UAAU,UAAVA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAK7C;AAAA;AA1FAc,EAAA,CAJCC,EAAS,EACNC,MAAMC,QACNC,SAAAA,GAAS,CAAA,CAAA,GA/BIzB,EAiCjB0B,WAAA,SAAA,CAAA,GAjCiB1B,IAArBqB,EAAA,CADCM,EAAc,mBACM3B,CAAAA;"}
@@ -1,4 +1,4 @@
1
- "use strict";const n=require("lit"),c=require("lit/decorators.js"),m=require("lit/directives/when.js"),d=require("./tailwind.mixin-C-CFqxyc.cjs");var h=Object.defineProperty,p=Object.getOwnPropertyDescriptor,l=(a,t,i,s)=>{for(var r,e=s>1?void 0:s?p(t,i):t,o=a.length-1;o>=0;o--)(r=a[o])&&(e=(s?r(t,i,e):r(e))||e);return s&&e&&h(t,i,e),e};exports.SchmancyBoat=class extends d.TailwindElement(n.css`
1
+ "use strict";const n=require("lit"),c=require("lit/decorators.js"),m=require("lit/directives/when.js"),d=require("./tailwind.mixin-BPLAZH0W.cjs");var h=Object.defineProperty,p=Object.getOwnPropertyDescriptor,l=(a,t,i,s)=>{for(var r,e=s>1?void 0:s?p(t,i):t,o=a.length-1;o>=0;o--)(r=a[o])&&(e=(s?r(t,i,e):r(e))||e);return s&&e&&h(t,i,e),e};exports.SchmancyBoat=class extends d.TailwindElement(n.css`
2
2
  @media (min-width: 1024px) {
3
3
  .translate-y-full-minus-64 {
4
4
  /* translate to left 0 */
@@ -67,4 +67,4 @@
67
67
  </schmancy-surface>
68
68
  </div>
69
69
  `}},l([c.property({type:String,reflect:!0})],exports.SchmancyBoat.prototype,"state",2),exports.SchmancyBoat=l([c.customElement("schmancy-boat")],exports.SchmancyBoat);
70
- //# sourceMappingURL=boat-DcrOCO10.cjs.map
70
+ //# sourceMappingURL=boat-CsmB4RXa.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"boat-DcrOCO10.cjs","sources":["../src/boat/boat.ts"],"sourcesContent":["import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\n\ntype BoatState = 'hidden' | 'minimized' | 'expanded'\n\n@customElement('schmancy-boat')\nexport default class SchmancyBoat extends TailwindElement(css`\n @media (min-width: 1024px) {\n .translate-y-full-minus-64 {\n /* translate to left 0 */\n transform: translateY(calc(100% - 64px)) !important;\n }\n }\n @media (max-width: 1024px) {\n .translate-y-full-minus-64 {\n /* translate to left 0 */\n transform: translateY(calc(100% - 64px)) !important;\n }\n }\n\n .translate-y-full-minus-64 {\n transform: translateY(calc(100% - 64px)) !important;\n -webkit-transform: translateY(calc(100% - 64px)) !important;\n }\n\n .translate-y-full {\n transform: translateY(100%) !important;\n -webkit-transform: translateY(100%) !important;\n }\n\n .translate-y-0 {\n transform: translateY(0) !important;\n -webkit-transform: translateY(0) !important;\n }\n`) {\n @property({\n type: String,\n reflect: true,\n })\n state: BoatState = 'hidden'\n\n toggleState() {\n this.state = this.state === 'minimized' ? 'expanded' : 'minimized'\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.state,\n bubbles: true,\n composed: true,\n }),\n )\n }\n\n protected render(): unknown {\n const classes = {\n 'shadow-2xl h-auto z-[100] w-[100vw] md:w-[70vw] lg:w-[60vw] xl:w-[40vw] max-h-[80vh] fixed bottom-0 right-0 transition-all duration-300 ease-in-out transform-gpu overflow-y-auto flex flex-col':\n true,\n 'translate-y-full-minus-64': this.state === 'minimized',\n 'translate-y-full': this.state === 'hidden',\n 'translate-y-0': this.state === 'expanded',\n }\n return html`\n <div class=\"${this.classMap(classes)}\">\n <section class=\"sticky top-0 z-10\">\n <schmancy-surface\n elevation=\"4\"\n class=\"cursor-pointer\"\n @click=${() => {\n this.state = this.state === 'minimized' ? 'expanded' : 'minimized'\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.state,\n bubbles: true,\n composed: true,\n }),\n )\n }}\n rounded=\"top\"\n elevation=\"1\"\n type=\"containerLowest\"\n >\n <div class=\"sticky top-0 px-4 py-3 flex items-center justify-between gap-4\">\n <div class=\"flex-1 flex items-center\">\n <slot name=\"header\"></slot>\n </div>\n\n <div class=\"flex items-center gap-2\">\n <schmancy-icon-button\n variant=\"filled tonal\"\n @click=${(e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n this.toggleState()\n }}\n title=${this.state === 'minimized' ? 'Expand' : 'Minimize'}\n >\n ${when(\n this.state === 'minimized',\n () => html`expand`,\n () => html`minimize`,\n )}\n </schmancy-icon-button>\n \n <schmancy-icon-button\n variant=\"text\"\n @click=${(e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n this.state = 'hidden'\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.state,\n bubbles: true,\n composed: true,\n }),\n )\n }}\n title=\"Close\"\n >\n close\n </schmancy-icon-button>\n </div>\n </div>\n </schmancy-surface>\n </section>\n <schmancy-surface .hidden=${this.state !== 'expanded'} type=\"containerLow\" class=\"z-0 flex-1\">\n <slot></slot>\n </schmancy-surface>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-boat': SchmancyBoat\n }\n}"],"names":["SchmancyBoat","TailwindElement","css","constructor","super","arguments","this","state","toggleState","dispatchEvent","CustomEvent","detail","bubbles","composed","render","classes","html","classMap","e","preventDefault","stopPropagation","when","__decorateClass","property","type","String","reflect","prototype","customElement"],"mappings":"kVAQqBA,QAAAA,aAArB,cAA0CC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAA1D,aAAAC,CAAAC,SAAAC,SAAAA,EAiCIC,KAAAC,MAAmB,QAAA,CAEnB,aAAAC,CACIF,KAAKC,MAAQD,KAAKC,QAAU,YAAc,WAAa,YACvDD,KAAKG,cACD,IAAIC,YAAY,SAAU,CACtBC,OAAQL,KAAKC,MACbK,WACAC,SAAAA,EAAU,CAAA,CAAA,CAGtB,CAEU,QAAAC,CACN,MAAMC,EAAU,CACZ,kMAAA,GAEA,4BAA6BT,KAAKC,QAAU,YAC5C,mBAAoBD,KAAKC,QAAU,SACnC,gBAAiBD,KAAKC,QAAU,UAAVA,EAE1B,OAAOS,EAAAA;AAAAA,0BACWV,KAAKW,SAASF,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iCAKP,IAAA,CACLT,KAAKC,MAAQD,KAAKC,QAAU,YAAc,WAAa,YACvDD,KAAKG,cACD,IAAIC,YAAY,SAAU,CACtBC,OAAQL,KAAKC,MACbK,QAAAA,GACAC,SAAAA,EAAU,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAgBAK,GAAAA,CACNA,EAAEC,eAAAA,EACFD,EAAEE,gBAAAA,EACFd,KAAKE,YAAAA,CAAAA,CAAAA;AAAAA,4CAEDF,KAAKC,QAAU,YAAc,SAAW,UAAA;AAAA;AAAA,sCAE9Cc,EAAAA,KACEf,KAAKC,QAAU,YACf,IAAMS,EAAAA,aACN,IAAMA,EAAAA,cAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAMAE,GAAAA,CACNA,EAAEC,eAAAA,EACFD,EAAEE,kBACFd,KAAKC,MAAQ,SACbD,KAAKG,cACD,IAAIC,YAAY,SAAU,CACtBC,OAAQL,KAAKC,MACbK,QAAAA,GACAC,SAAAA,EAAU,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4CAYdP,KAAKC,QAAU,UAAVA;AAAAA;AAAAA;AAAAA;AAAAA,SAK7C,CAAA,EA1FAe,EAAA,CAJCC,WAAS,CACNC,KAAMC,OACNC,UAAS,CAAA,CAAA,EA/BI1B,qBAiCjB2B,UAAA,QAAA,GAjCiB3B,QAAAA,aAArBsB,EAAA,CADCM,EAAAA,cAAc,eAAA,CAAA,EACM5B"}
1
+ {"version":3,"file":"boat-CsmB4RXa.cjs","sources":["../src/boat/boat.ts"],"sourcesContent":["import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\n\ntype BoatState = 'hidden' | 'minimized' | 'expanded'\n\n@customElement('schmancy-boat')\nexport default class SchmancyBoat extends TailwindElement(css`\n @media (min-width: 1024px) {\n .translate-y-full-minus-64 {\n /* translate to left 0 */\n transform: translateY(calc(100% - 64px)) !important;\n }\n }\n @media (max-width: 1024px) {\n .translate-y-full-minus-64 {\n /* translate to left 0 */\n transform: translateY(calc(100% - 64px)) !important;\n }\n }\n\n .translate-y-full-minus-64 {\n transform: translateY(calc(100% - 64px)) !important;\n -webkit-transform: translateY(calc(100% - 64px)) !important;\n }\n\n .translate-y-full {\n transform: translateY(100%) !important;\n -webkit-transform: translateY(100%) !important;\n }\n\n .translate-y-0 {\n transform: translateY(0) !important;\n -webkit-transform: translateY(0) !important;\n }\n`) {\n @property({\n type: String,\n reflect: true,\n })\n state: BoatState = 'hidden'\n\n toggleState() {\n this.state = this.state === 'minimized' ? 'expanded' : 'minimized'\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.state,\n bubbles: true,\n composed: true,\n }),\n )\n }\n\n protected render(): unknown {\n const classes = {\n 'shadow-2xl h-auto z-[100] w-[100vw] md:w-[70vw] lg:w-[60vw] xl:w-[40vw] max-h-[80vh] fixed bottom-0 right-0 transition-all duration-300 ease-in-out transform-gpu overflow-y-auto flex flex-col':\n true,\n 'translate-y-full-minus-64': this.state === 'minimized',\n 'translate-y-full': this.state === 'hidden',\n 'translate-y-0': this.state === 'expanded',\n }\n return html`\n <div class=\"${this.classMap(classes)}\">\n <section class=\"sticky top-0 z-10\">\n <schmancy-surface\n elevation=\"4\"\n class=\"cursor-pointer\"\n @click=${() => {\n this.state = this.state === 'minimized' ? 'expanded' : 'minimized'\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.state,\n bubbles: true,\n composed: true,\n }),\n )\n }}\n rounded=\"top\"\n elevation=\"1\"\n type=\"containerLowest\"\n >\n <div class=\"sticky top-0 px-4 py-3 flex items-center justify-between gap-4\">\n <div class=\"flex-1 flex items-center\">\n <slot name=\"header\"></slot>\n </div>\n\n <div class=\"flex items-center gap-2\">\n <schmancy-icon-button\n variant=\"filled tonal\"\n @click=${(e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n this.toggleState()\n }}\n title=${this.state === 'minimized' ? 'Expand' : 'Minimize'}\n >\n ${when(\n this.state === 'minimized',\n () => html`expand`,\n () => html`minimize`,\n )}\n </schmancy-icon-button>\n \n <schmancy-icon-button\n variant=\"text\"\n @click=${(e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n this.state = 'hidden'\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.state,\n bubbles: true,\n composed: true,\n }),\n )\n }}\n title=\"Close\"\n >\n close\n </schmancy-icon-button>\n </div>\n </div>\n </schmancy-surface>\n </section>\n <schmancy-surface .hidden=${this.state !== 'expanded'} type=\"containerLow\" class=\"z-0 flex-1\">\n <slot></slot>\n </schmancy-surface>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-boat': SchmancyBoat\n }\n}"],"names":["SchmancyBoat","TailwindElement","css","constructor","super","arguments","this","state","toggleState","dispatchEvent","CustomEvent","detail","bubbles","composed","render","classes","html","classMap","e","preventDefault","stopPropagation","when","__decorateClass","property","type","String","reflect","prototype","customElement"],"mappings":"kVAQqBA,QAAAA,aAArB,cAA0CC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAA1D,aAAAC,CAAAC,SAAAC,SAAAA,EAiCIC,KAAAC,MAAmB,QAAA,CAEnB,aAAAC,CACIF,KAAKC,MAAQD,KAAKC,QAAU,YAAc,WAAa,YACvDD,KAAKG,cACD,IAAIC,YAAY,SAAU,CACtBC,OAAQL,KAAKC,MACbK,WACAC,SAAAA,EAAU,CAAA,CAAA,CAGtB,CAEU,QAAAC,CACN,MAAMC,EAAU,CACZ,kMAAA,GAEA,4BAA6BT,KAAKC,QAAU,YAC5C,mBAAoBD,KAAKC,QAAU,SACnC,gBAAiBD,KAAKC,QAAU,UAAVA,EAE1B,OAAOS,EAAAA;AAAAA,0BACWV,KAAKW,SAASF,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iCAKP,IAAA,CACLT,KAAKC,MAAQD,KAAKC,QAAU,YAAc,WAAa,YACvDD,KAAKG,cACD,IAAIC,YAAY,SAAU,CACtBC,OAAQL,KAAKC,MACbK,QAAAA,GACAC,SAAAA,EAAU,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAgBAK,GAAAA,CACNA,EAAEC,eAAAA,EACFD,EAAEE,gBAAAA,EACFd,KAAKE,YAAAA,CAAAA,CAAAA;AAAAA,4CAEDF,KAAKC,QAAU,YAAc,SAAW,UAAA;AAAA;AAAA,sCAE9Cc,EAAAA,KACEf,KAAKC,QAAU,YACf,IAAMS,EAAAA,aACN,IAAMA,EAAAA,cAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAMAE,GAAAA,CACNA,EAAEC,eAAAA,EACFD,EAAEE,kBACFd,KAAKC,MAAQ,SACbD,KAAKG,cACD,IAAIC,YAAY,SAAU,CACtBC,OAAQL,KAAKC,MACbK,QAAAA,GACAC,SAAAA,EAAU,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4CAYdP,KAAKC,QAAU,UAAVA;AAAAA;AAAAA;AAAAA;AAAAA,SAK7C,CAAA,EA1FAe,EAAA,CAJCC,WAAS,CACNC,KAAMC,OACNC,UAAS,CAAA,CAAA,EA/BI1B,qBAiCjB2B,UAAA,QAAA,GAjCiB3B,QAAAA,aAArBsB,EAAA,CADCM,EAAAA,cAAc,eAAA,CAAA,EACM5B"}
package/dist/boat.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./boat-DcrOCO10.cjs");Object.defineProperty(exports,"SchmancyBoat",{enumerable:!0,get:()=>e.SchmancyBoat});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./boat-CsmB4RXa.cjs");Object.defineProperty(exports,"SchmancyBoat",{enumerable:!0,get:()=>e.SchmancyBoat});
2
2
  //# sourceMappingURL=boat.cjs.map
package/dist/boat.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as c } from "./boat-B2l1E5Rr.js";
1
+ import { S as c } from "./boat-BEjCaneK.js";
2
2
  export {
3
3
  c as SchmancyBoat
4
4
  };
package/dist/busy.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./spinner-Cc7rjihp.cjs");
1
+ "use strict";require("./spinner-uKeW1jVr.cjs");
2
2
  //# sourceMappingURL=busy.cjs.map
package/dist/busy.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./spinner-By_atmOD.js";
1
+ import "./spinner-1vMz2pLZ.js";
2
2
  //# sourceMappingURL=busy.js.map
package/dist/button.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./icon-button-BJwbB-we.cjs");Object.defineProperty(exports,"SchmancyButton",{enumerable:!0,get:()=>e.SchmancyButton}),Object.defineProperty(exports,"SchmnacyIconButton",{enumerable:!0,get:()=>e.SchmnacyIconButton});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./icon-button-D41ID2Fc.cjs");Object.defineProperty(exports,"SchmancyButton",{enumerable:!0,get:()=>e.SchmancyButton}),Object.defineProperty(exports,"SchmnacyIconButton",{enumerable:!0,get:()=>e.SchmnacyIconButton});
2
2
  //# sourceMappingURL=button.cjs.map
package/dist/button.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as n, a as o } from "./icon-button-jmuc0Alp.js";
1
+ import { S as n, a as o } from "./icon-button-Bol0a-v7.js";
2
2
  export {
3
3
  n as SchmancyButton,
4
4
  o as SchmnacyIconButton
package/dist/card.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./media-LO5ZS0G2.cjs");
1
+ "use strict";require("./media-DMXDyK_t.cjs");
2
2
  //# sourceMappingURL=card.cjs.map
package/dist/card.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./media-C2mcgImc.js";
1
+ import "./media-DdD4d518.js";
2
2
  //# sourceMappingURL=card.js.map
@@ -1,4 +1,4 @@
1
- "use strict";const d=require("./tslib.es6-DgOcxv4s.cjs"),s=require("lit/decorators.js"),c=require("lit"),$=require("lit/directives/class-map.js");require("rxjs"),require("lit/directives/style-map.js");const _=require("./tailwind.mixin-C-CFqxyc.cjs"),G=require("lit/directives/when.js"),F=Symbol("attachableController");let B;c.isServer||(B=new MutationObserver(o=>{for(const e of o)e.target[F]?.hostConnected()}));class D{get htmlFor(){return this.host.getAttribute("for")}set htmlFor(e){e===null?this.host.removeAttribute("for"):this.host.setAttribute("for",e)}get control(){return this.host.hasAttribute("for")?this.htmlFor&&this.host.isConnected?this.host.getRootNode().querySelector(`#${this.htmlFor}`):null:this.currentControl||this.host.parentElement}set control(e){e?this.attach(e):this.detach()}constructor(e,t){this.host=e,this.onControlChange=t,this.currentControl=null,e.addController(this),e[F]=this,B?.observe(e,{attributeFilter:["for"]})}attach(e){e!==this.currentControl&&(this.setCurrentControl(e),this.host.removeAttribute("for"))}detach(){this.setCurrentControl(null),this.host.setAttribute("for","")}hostConnected(){this.setCurrentControl(this.control)}hostDisconnected(){this.setCurrentControl(null)}setCurrentControl(e){this.onControlChange(this.currentControl,e),this.currentControl=e}}const H=["focusin","focusout","pointerdown"];class z extends c.LitElement{constructor(){super(...arguments),this.visible=!1,this.inward=!1,this.attachableController=new D(this,this.onControlChange.bind(this))}get htmlFor(){return this.attachableController.htmlFor}set htmlFor(e){this.attachableController.htmlFor=e}get control(){return this.attachableController.control}set control(e){this.attachableController.control=e}attach(e){this.attachableController.attach(e)}detach(){this.attachableController.detach()}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-hidden","true")}handleEvent(e){if(!e[L]){switch(e.type){default:return;case"focusin":this.visible=this.control?.matches(":focus-visible")??!1;break;case"focusout":case"pointerdown":this.visible=!1}e[L]=!0}}onControlChange(e,t){if(!c.isServer)for(const r of H)e?.removeEventListener(r,this),t?.addEventListener(r,this)}update(e){e.has("visible")&&this.dispatchEvent(new Event("visibility-changed")),super.update(e)}}d.t([s.property({type:Boolean,reflect:!0})],z.prototype,"visible",void 0),d.t([s.property({type:Boolean,reflect:!0})],z.prototype,"inward",void 0);const L=Symbol("handledByFocusRing"),Y=c.css`:host{animation-delay:0s,calc(var(--md-focus-ring-duration, 600ms)*.25);animation-duration:calc(var(--md-focus-ring-duration, 600ms)*.25),calc(var(--md-focus-ring-duration, 600ms)*.75);animation-timing-function:cubic-bezier(0.2, 0, 0, 1);box-sizing:border-box;color:var(--md-focus-ring-color, var(--md-sys-color-secondary, #625b71));display:none;pointer-events:none;position:absolute}:host([visible]){display:flex}:host(:not([inward])){animation-name:outward-grow,outward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));inset:calc(-1*var(--md-focus-ring-outward-offset, 2px));outline:var(--md-focus-ring-width, 3px) solid currentColor}:host([inward]){animation-name:inward-grow,inward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border:var(--md-focus-ring-width, 3px) solid currentColor;inset:var(--md-focus-ring-inward-offset, 0px)}@keyframes outward-grow{from{outline-width:0}to{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes outward-shrink{from{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-grow{from{border-width:0}to{border-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-shrink{from{border-width:var(--md-focus-ring-active-width, 8px)}}@media(prefers-reduced-motion){:host{animation:none}}
1
+ "use strict";const d=require("./tslib.es6-DgOcxv4s.cjs"),s=require("lit/decorators.js"),c=require("lit"),$=require("lit/directives/class-map.js");require("rxjs"),require("lit/directives/style-map.js");const _=require("./tailwind.mixin-BPLAZH0W.cjs"),G=require("lit/directives/when.js"),F=Symbol("attachableController");let B;c.isServer||(B=new MutationObserver(o=>{for(const e of o)e.target[F]?.hostConnected()}));class D{get htmlFor(){return this.host.getAttribute("for")}set htmlFor(e){e===null?this.host.removeAttribute("for"):this.host.setAttribute("for",e)}get control(){return this.host.hasAttribute("for")?this.htmlFor&&this.host.isConnected?this.host.getRootNode().querySelector(`#${this.htmlFor}`):null:this.currentControl||this.host.parentElement}set control(e){e?this.attach(e):this.detach()}constructor(e,t){this.host=e,this.onControlChange=t,this.currentControl=null,e.addController(this),e[F]=this,B?.observe(e,{attributeFilter:["for"]})}attach(e){e!==this.currentControl&&(this.setCurrentControl(e),this.host.removeAttribute("for"))}detach(){this.setCurrentControl(null),this.host.setAttribute("for","")}hostConnected(){this.setCurrentControl(this.control)}hostDisconnected(){this.setCurrentControl(null)}setCurrentControl(e){this.onControlChange(this.currentControl,e),this.currentControl=e}}const H=["focusin","focusout","pointerdown"];class z extends c.LitElement{constructor(){super(...arguments),this.visible=!1,this.inward=!1,this.attachableController=new D(this,this.onControlChange.bind(this))}get htmlFor(){return this.attachableController.htmlFor}set htmlFor(e){this.attachableController.htmlFor=e}get control(){return this.attachableController.control}set control(e){this.attachableController.control=e}attach(e){this.attachableController.attach(e)}detach(){this.attachableController.detach()}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-hidden","true")}handleEvent(e){if(!e[L]){switch(e.type){default:return;case"focusin":this.visible=this.control?.matches(":focus-visible")??!1;break;case"focusout":case"pointerdown":this.visible=!1}e[L]=!0}}onControlChange(e,t){if(!c.isServer)for(const r of H)e?.removeEventListener(r,this),t?.addEventListener(r,this)}update(e){e.has("visible")&&this.dispatchEvent(new Event("visibility-changed")),super.update(e)}}d.t([s.property({type:Boolean,reflect:!0})],z.prototype,"visible",void 0),d.t([s.property({type:Boolean,reflect:!0})],z.prototype,"inward",void 0);const L=Symbol("handledByFocusRing"),Y=c.css`:host{animation-delay:0s,calc(var(--md-focus-ring-duration, 600ms)*.25);animation-duration:calc(var(--md-focus-ring-duration, 600ms)*.25),calc(var(--md-focus-ring-duration, 600ms)*.75);animation-timing-function:cubic-bezier(0.2, 0, 0, 1);box-sizing:border-box;color:var(--md-focus-ring-color, var(--md-sys-color-secondary, #625b71));display:none;pointer-events:none;position:absolute}:host([visible]){display:flex}:host(:not([inward])){animation-name:outward-grow,outward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));inset:calc(-1*var(--md-focus-ring-outward-offset, 2px));outline:var(--md-focus-ring-width, 3px) solid currentColor}:host([inward]){animation-name:inward-grow,inward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border:var(--md-focus-ring-width, 3px) solid currentColor;inset:var(--md-focus-ring-inward-offset, 0px)}@keyframes outward-grow{from{outline-width:0}to{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes outward-shrink{from{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-grow{from{border-width:0}to{border-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-shrink{from{border-width:var(--md-focus-ring-active-width, 8px)}}@media(prefers-reduced-motion){:host{animation:none}}
2
2
  `;let C=class extends z{};C.styles=[Y],C=d.t([s.customElement("md-focus-ring")],C);const K="cubic-bezier(0.2, 0, 0, 1)";var l;(function(o){o[o.INACTIVE=0]="INACTIVE",o[o.TOUCH_DELAY=1]="TOUCH_DELAY",o[o.HOLDING=2]="HOLDING",o[o.WAITING_FOR_CLICK=3]="WAITING_FOR_CLICK"})(l||(l={}));const W=["click","contextmenu","pointercancel","pointerdown","pointerenter","pointerleave","pointerup"],j=c.isServer?null:window.matchMedia("(forced-colors: active)");class f extends c.LitElement{constructor(){super(...arguments),this.disabled=!1,this.hovered=!1,this.pressed=!1,this.rippleSize="",this.rippleScale="",this.initialSize=0,this.state=l.INACTIVE,this.checkBoundsAfterContextMenu=!1,this.attachableController=new D(this,this.onControlChange.bind(this))}get htmlFor(){return this.attachableController.htmlFor}set htmlFor(e){this.attachableController.htmlFor=e}get control(){return this.attachableController.control}set control(e){this.attachableController.control=e}attach(e){this.attachableController.attach(e)}detach(){this.attachableController.detach()}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-hidden","true")}render(){const e={hovered:this.hovered,pressed:this.pressed};return c.html`<div class="surface ${$.classMap(e)}"></div>`}update(e){e.has("disabled")&&this.disabled&&(this.hovered=!1,this.pressed=!1),super.update(e)}handlePointerenter(e){this.shouldReactToEvent(e)&&(this.hovered=!0)}handlePointerleave(e){this.shouldReactToEvent(e)&&(this.hovered=!1,this.state!==l.INACTIVE&&this.endPressAnimation())}handlePointerup(e){if(this.shouldReactToEvent(e)){if(this.state!==l.HOLDING)return this.state===l.TOUCH_DELAY?(this.state=l.WAITING_FOR_CLICK,void this.startPressAnimation(this.rippleStartEvent)):void 0;this.state=l.WAITING_FOR_CLICK}}async handlePointerdown(e){if(this.shouldReactToEvent(e)){if(this.rippleStartEvent=e,!this.isTouch(e))return this.state=l.WAITING_FOR_CLICK,void this.startPressAnimation(e);this.checkBoundsAfterContextMenu&&!this.inBounds(e)||(this.checkBoundsAfterContextMenu=!1,this.state=l.TOUCH_DELAY,await new Promise(t=>{setTimeout(t,150)}),this.state===l.TOUCH_DELAY&&(this.state=l.HOLDING,this.startPressAnimation(e)))}}handleClick(){this.disabled||(this.state!==l.WAITING_FOR_CLICK?this.state===l.INACTIVE&&(this.startPressAnimation(),this.endPressAnimation()):this.endPressAnimation())}handlePointercancel(e){this.shouldReactToEvent(e)&&this.endPressAnimation()}handleContextmenu(){this.disabled||(this.checkBoundsAfterContextMenu=!0,this.endPressAnimation())}determineRippleSize(){const{height:e,width:t}=this.getBoundingClientRect(),r=Math.max(e,t),i=Math.max(.35*r,75),a=Math.floor(.2*r),n=Math.sqrt(t**2+e**2)+10;this.initialSize=a,this.rippleScale=""+(n+i)/a,this.rippleSize=`${a}px`}getNormalizedPointerEventCoords(e){const{scrollX:t,scrollY:r}=window,{left:i,top:a}=this.getBoundingClientRect(),n=t+i,h=r+a,{pageX:v,pageY:y}=e;return{x:v-n,y:y-h}}getTranslationCoordinates(e){const{height:t,width:r}=this.getBoundingClientRect(),i={x:(r-this.initialSize)/2,y:(t-this.initialSize)/2};let a;return a=e instanceof PointerEvent?this.getNormalizedPointerEventCoords(e):{x:r/2,y:t/2},a={x:a.x-this.initialSize/2,y:a.y-this.initialSize/2},{startPoint:a,endPoint:i}}startPressAnimation(e){if(!this.mdRoot)return;this.pressed=!0,this.growAnimation?.cancel(),this.determineRippleSize();const{startPoint:t,endPoint:r}=this.getTranslationCoordinates(e),i=`${t.x}px, ${t.y}px`,a=`${r.x}px, ${r.y}px`;this.growAnimation=this.mdRoot.animate({top:[0,0],left:[0,0],height:[this.rippleSize,this.rippleSize],width:[this.rippleSize,this.rippleSize],transform:[`translate(${i}) scale(1)`,`translate(${a}) scale(${this.rippleScale})`]},{pseudoElement:"::after",duration:450,easing:K,fill:"forwards"})}async endPressAnimation(){this.rippleStartEvent=void 0,this.state=l.INACTIVE;const e=this.growAnimation;let t=1/0;typeof e?.currentTime=="number"?t=e.currentTime:e?.currentTime&&(t=e.currentTime.to("ms").value),t>=225?this.pressed=!1:(await new Promise(r=>{setTimeout(r,225-t)}),this.growAnimation===e&&(this.pressed=!1))}shouldReactToEvent(e){if(this.disabled||!e.isPrimary||this.rippleStartEvent&&this.rippleStartEvent.pointerId!==e.pointerId)return!1;if(e.type==="pointerenter"||e.type==="pointerleave")return!this.isTouch(e);const t=e.buttons===1;return this.isTouch(e)||t}inBounds({x:e,y:t}){const{top:r,left:i,bottom:a,right:n}=this.getBoundingClientRect();return e>=i&&e<=n&&t>=r&&t<=a}isTouch({pointerType:e}){return e==="touch"}async handleEvent(e){if(!j?.matches)switch(e.type){case"click":this.handleClick();break;case"contextmenu":this.handleContextmenu();break;case"pointercancel":this.handlePointercancel(e);break;case"pointerdown":await this.handlePointerdown(e);break;case"pointerenter":this.handlePointerenter(e);break;case"pointerleave":this.handlePointerleave(e);break;case"pointerup":this.handlePointerup(e)}}onControlChange(e,t){if(!c.isServer)for(const r of W)e?.removeEventListener(r,this),t?.addEventListener(r,this)}}d.t([s.property({type:Boolean,reflect:!0})],f.prototype,"disabled",void 0),d.t([s.state()],f.prototype,"hovered",void 0),d.t([s.state()],f.prototype,"pressed",void 0),d.t([s.query(".surface")],f.prototype,"mdRoot",void 0);const X=c.css`:host{display:flex;margin:auto;pointer-events:none}:host([disabled]){display:none}@media(forced-colors: active){:host{display:none}}:host,.surface{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.surface{-webkit-tap-highlight-color:rgba(0,0,0,0)}.surface::before,.surface::after{content:"";opacity:0;position:absolute}.surface::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));inset:0;transition:opacity 15ms linear,background-color 15ms linear}.surface::after{background:radial-gradient(closest-side, var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20)) max(100% - 70px, 65%), transparent 100%);transform-origin:center center;transition:opacity 375ms linear}.hovered::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}.pressed::after{opacity:var(--md-ripple-pressed-opacity, 0.12);transition-duration:105ms}
3
3
  `;let w=class extends f{};w.styles=[X],w=d.t([s.customElement("md-ripple")],w);const N=["role","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaCurrent","ariaDisabled","ariaExpanded","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText"],J=N.map(U);function S(o){return J.includes(o)}function U(o){return o.replace("aria","aria-").replace(/Elements?/g,"").toLowerCase()}const g=Symbol("privateIgnoreAttributeChangesFor");function E(o){return`data-${o}`}function A(o){return o.replace(/-\w/,e=>e[1].toUpperCase())}function Q(o){return o.currentTarget===o.target&&o.composedPath()[0]===o.target&&!o.target.disabled&&!function(e){const t=I;return t&&(e.preventDefault(),e.stopImmediatePropagation()),async function(){I=!0,await null,I=!1}(),t}(o)}let I=!1;const u=Symbol("internals"),P=Symbol("privateInternals"),M=Symbol("createValidator"),R=Symbol("getValidityAnchor"),T=Symbol("privateValidator"),m=Symbol("privateSyncValidity"),k=Symbol("privateCustomValidationMessage"),x=Symbol("getFormValue"),V=Symbol("getFormState");class Z{constructor(e){this.getCurrentState=e,this.currentValidity={validity:{},validationMessage:""}}getValidity(){const e=this.getCurrentState();if(!(!this.prevState||!this.equals(this.prevState,e)))return this.currentValidity;const{validity:t,validationMessage:r}=this.computeValidity(e);return this.prevState=this.copy(e),this.currentValidity={validationMessage:r,validity:{badInput:t.badInput,customError:t.customError,patternMismatch:t.patternMismatch,rangeOverflow:t.rangeOverflow,rangeUnderflow:t.rangeUnderflow,stepMismatch:t.stepMismatch,tooLong:t.tooLong,tooShort:t.tooShort,typeMismatch:t.typeMismatch,valueMissing:t.valueMissing}},this.currentValidity}}class ee extends Z{computeValidity(e){return this.checkboxControl||(this.checkboxControl=document.createElement("input"),this.checkboxControl.type="checkbox"),this.checkboxControl.checked=e.checked,this.checkboxControl.required=e.required,{validity:this.checkboxControl.validity,validationMessage:this.checkboxControl.validationMessage}}equals(e,t){return e.checked===t.checked&&e.required===t.required}copy({checked:e,required:t}){return{checked:e,required:t}}}const te=function(o){var e;if(c.isServer)return o;class t extends o{constructor(){super(...arguments),this[e]=new Set}attributeChangedCallback(i,a,n){if(!S(i))return void super.attributeChangedCallback(i,a,n);if(this[g].has(i))return;this[g].add(i),this.removeAttribute(i),this[g].delete(i);const h=A(i);n===null?delete this.dataset[h]:this.dataset[h]=n,this.requestUpdate(A(i),a)}getAttribute(i){return S(i)?super.getAttribute(E(i)):super.getAttribute(i)}removeAttribute(i){super.removeAttribute(i),S(i)&&(super.removeAttribute(E(i)),this.requestUpdate())}}return e=g,function(r){for(const i of N){const a=U(i),n=E(a),h=A(a);r.createProperty(i,{attribute:a,noAccessor:!0}),r.createProperty(Symbol(n),{attribute:n,noAccessor:!0}),Object.defineProperty(r.prototype,i,{configurable:!0,enumerable:!0,get(){return this.dataset[h]??null},set(v){const y=this.dataset[h]??null;v!==y&&(v===null?delete this.dataset[h]:this.dataset[h]=v,this.requestUpdate(i,y))}})}}(t),t}(function(o){var e;class t extends o{constructor(){super(...arguments),this[e]=""}get validity(){return this[m](),this[u].validity}get validationMessage(){return this[m](),this[u].validationMessage}get willValidate(){return this[m](),this[u].willValidate}checkValidity(){return this[m](),this[u].checkValidity()}reportValidity(){return this[m](),this[u].reportValidity()}setCustomValidity(i){this[k]=i,this[m]()}requestUpdate(i,a,n){super.requestUpdate(i,a,n),this[m]()}firstUpdated(i){super.firstUpdated(i),this[m]()}[(e=k,m)](){if(c.isServer)return;this[T]||(this[T]=this[M]());const{validity:i,validationMessage:a}=this[T].getValidity(),n=!!this[k],h=this[k]||a;this[u].setValidity({...i,customError:n},h,this[R]()??void 0)}[M](){throw new Error("Implement [createValidator]")}[R](){throw new Error("Implement [getValidityAnchor]")}}return t}(function(o){class e extends o{get form(){return this[u].form}get labels(){return this[u].labels}get name(){return this.getAttribute("name")??""}set name(r){this.setAttribute("name",r)}get disabled(){return this.hasAttribute("disabled")}set disabled(r){this.toggleAttribute("disabled",r)}attributeChangedCallback(r,i,a){if(r==="name"||r==="disabled"){const n=r==="disabled"?i!==null:i;return void this.requestUpdate(r,n)}super.attributeChangedCallback(r,i,a)}requestUpdate(r,i,a){super.requestUpdate(r,i,a),this[u].setFormValue(this[x](),this[V]())}[x](){throw new Error("Implement [getFormValue]")}[V](){return this[x]()}formDisabledCallback(r){this.disabled=r}}return e.formAssociated=!0,d.t([s.property({noAccessor:!0})],e.prototype,"name",null),d.t([s.property({type:Boolean,noAccessor:!0})],e.prototype,"disabled",null),e}((O=c.LitElement,class extends O{get[u](){return this[P]||(this[P]=this.attachInternals()),this[P]}}))));var O;class p extends te{constructor(){super(),this.checked=!1,this.indeterminate=!1,this.required=!1,this.value="on",this.prevChecked=!1,this.prevDisabled=!1,this.prevIndeterminate=!1,c.isServer||this.addEventListener("click",e=>{Q(e)&&this.input&&(this.focus(),function(t){const r=new MouseEvent("click",{bubbles:!0});t.dispatchEvent(r)}(this.input))})}update(e){(e.has("checked")||e.has("disabled")||e.has("indeterminate"))&&(this.prevChecked=e.get("checked")??this.checked,this.prevDisabled=e.get("disabled")??this.disabled,this.prevIndeterminate=e.get("indeterminate")??this.indeterminate),super.update(e)}render(){const e=!this.prevChecked&&!this.prevIndeterminate,t=this.prevChecked&&!this.prevIndeterminate,r=this.prevIndeterminate,i=this.checked&&!this.indeterminate,a=this.indeterminate,n=$.classMap({disabled:this.disabled,selected:i||a,unselected:!i&&!a,checked:i,indeterminate:a,"prev-unselected":e,"prev-checked":t,"prev-indeterminate":r,"prev-disabled":this.prevDisabled}),{ariaLabel:h,ariaInvalid:v}=this;return c.html`
4
4
  <div class="container ${n}">
@@ -37,4 +37,4 @@
37
37
  ${G.when(this.label,()=>c.html`<span>${this.label}</span>`,()=>c.html`<slot></slot>`)}
38
38
  </label>
39
39
  `}},exports.SchmancyCheckboxElement.shadowRootOptions={...c.LitElement.shadowRootOptions,delegatesFocus:!0},exports.SchmancyCheckboxElement.formAssociated=!0,b([s.property({type:Boolean,reflect:!0})],exports.SchmancyCheckboxElement.prototype,"value",2),b([s.property({type:Boolean})],exports.SchmancyCheckboxElement.prototype,"checked",1),b([s.property({type:Boolean})],exports.SchmancyCheckboxElement.prototype,"disabled",2),b([s.property({type:Boolean})],exports.SchmancyCheckboxElement.prototype,"required",2),b([s.property({type:String})],exports.SchmancyCheckboxElement.prototype,"name",2),b([s.property({type:String})],exports.SchmancyCheckboxElement.prototype,"id",2),b([s.property({type:String})],exports.SchmancyCheckboxElement.prototype,"label",2),b([s.property({type:String})],exports.SchmancyCheckboxElement.prototype,"size",2),exports.SchmancyCheckboxElement=b([s.customElement("schmancy-checkbox")],exports.SchmancyCheckboxElement);
40
- //# sourceMappingURL=checkbox-CJvEHu71.cjs.map
40
+ //# sourceMappingURL=checkbox-D6bUTeG8.cjs.map