@mhmo91/schmancy 0.4.72 → 0.4.74

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 (422) hide show
  1. package/ai/area.md +525 -108
  2. package/ai/busy.md +2 -1
  3. package/ai/button.md +4 -0
  4. package/ai/code-highlight.md +2 -1
  5. package/ai/content-drawer.md +2 -1
  6. package/ai/context.md +7 -2
  7. package/ai/countries.md +2 -1
  8. package/ai/date-range-inline.md +262 -0
  9. package/ai/date-range.md +2 -1
  10. package/ai/details.md +194 -0
  11. package/ai/dialog.md +2 -1
  12. package/ai/directives.md +2 -1
  13. package/ai/form.md +10 -10
  14. package/ai/list.md +10 -9
  15. package/ai/mailbox.md +530 -0
  16. package/ai/map.md +2 -1
  17. package/ai/notification.md +14 -12
  18. package/ai/payment-card-form.md +2 -1
  19. package/ai/sheet.md +6 -4
  20. package/ai/steps.md +193 -9
  21. package/ai/store.md +8 -4
  22. package/ai/surface.md +2 -1
  23. package/ai/teleport.md +2 -1
  24. package/ai/theme.md +690 -8
  25. package/ai/timezone.md +2 -1
  26. package/ai/typography.md +2 -1
  27. package/dist/ai/area.md +525 -108
  28. package/dist/ai/busy.md +2 -1
  29. package/dist/ai/button.md +4 -0
  30. package/dist/ai/code-highlight.md +2 -1
  31. package/dist/ai/content-drawer.md +2 -1
  32. package/dist/ai/context.md +7 -2
  33. package/dist/ai/countries.md +2 -1
  34. package/dist/ai/date-range-inline.md +262 -0
  35. package/dist/ai/date-range.md +2 -1
  36. package/dist/ai/details.md +194 -0
  37. package/dist/ai/dialog.md +2 -1
  38. package/dist/ai/directives.md +2 -1
  39. package/dist/ai/form.md +10 -10
  40. package/dist/ai/list.md +10 -9
  41. package/dist/ai/mailbox.md +530 -0
  42. package/dist/ai/map.md +2 -1
  43. package/dist/ai/notification.md +14 -12
  44. package/dist/ai/payment-card-form.md +2 -1
  45. package/dist/ai/sheet.md +6 -4
  46. package/dist/ai/steps.md +193 -9
  47. package/dist/ai/store.md +8 -4
  48. package/dist/ai/surface.md +2 -1
  49. package/dist/ai/teleport.md +2 -1
  50. package/dist/ai/theme.md +690 -8
  51. package/dist/ai/timezone.md +2 -1
  52. package/dist/ai/typography.md +2 -1
  53. package/dist/{animated-text-CBOMltQE.js → animated-text-CqpyC7Y0.js} +3 -3
  54. package/dist/{animated-text-CBOMltQE.js.map → animated-text-CqpyC7Y0.js.map} +1 -1
  55. package/dist/{animated-text-rE-SkQgz.cjs → animated-text-DlRt6Q09.cjs} +2 -2
  56. package/dist/{animated-text-rE-SkQgz.cjs.map → animated-text-DlRt6Q09.cjs.map} +1 -1
  57. package/dist/animated-text.cjs +1 -1
  58. package/dist/animated-text.js +1 -1
  59. package/dist/area.cjs +1 -1
  60. package/dist/area.js +14 -13
  61. package/dist/{autocomplete-BAcf_l63.js → autocomplete-B-oKMH7m.js} +3 -3
  62. package/dist/{autocomplete-BAcf_l63.js.map → autocomplete-B-oKMH7m.js.map} +1 -1
  63. package/dist/{autocomplete-CuO8ztL4.cjs → autocomplete-BOGG_9iL.cjs} +2 -2
  64. package/dist/{autocomplete-CuO8ztL4.cjs.map → autocomplete-BOGG_9iL.cjs.map} +1 -1
  65. package/dist/autocomplete.cjs +1 -1
  66. package/dist/autocomplete.js +1 -1
  67. package/dist/{avatar-D3gNBale.js → avatar-U5IpwJuj.js} +70 -71
  68. package/dist/avatar-U5IpwJuj.js.map +1 -0
  69. package/dist/{avatar-N3BODeY1.cjs → avatar-qkIAB2cX.cjs} +3 -3
  70. package/dist/avatar-qkIAB2cX.cjs.map +1 -0
  71. package/dist/badge.cjs +1 -1
  72. package/dist/badge.js +1 -1
  73. package/dist/{boat-BQoWbDxu.js → boat-CdR5Pqik.js} +2 -2
  74. package/dist/{boat-BQoWbDxu.js.map → boat-CdR5Pqik.js.map} +1 -1
  75. package/dist/{boat-CWXlAq65.cjs → boat-DMKcZpZb.cjs} +2 -2
  76. package/dist/{boat-CWXlAq65.cjs.map → boat-DMKcZpZb.cjs.map} +1 -1
  77. package/dist/boat.cjs +1 -1
  78. package/dist/boat.js +1 -1
  79. package/dist/busy.cjs +1 -1
  80. package/dist/busy.js +1 -1
  81. package/dist/button.cjs +1 -1
  82. package/dist/button.js +1 -1
  83. package/dist/card.cjs +1 -1
  84. package/dist/card.js +1 -1
  85. package/dist/{checkbox-DBO-neG5.js → checkbox-CVwU3M4h.js} +2 -2
  86. package/dist/{checkbox-DBO-neG5.js.map → checkbox-CVwU3M4h.js.map} +1 -1
  87. package/dist/{checkbox-DIYmuPtk.cjs → checkbox-DP_zX786.cjs} +2 -2
  88. package/dist/{checkbox-DIYmuPtk.cjs.map → checkbox-DP_zX786.cjs.map} +1 -1
  89. package/dist/checkbox.cjs +1 -1
  90. package/dist/checkbox.js +1 -1
  91. package/dist/{chips-BYE5hQQr.cjs → chips-BuMUH3zA.cjs} +2 -2
  92. package/dist/{chips-BYE5hQQr.cjs.map → chips-BuMUH3zA.cjs.map} +1 -1
  93. package/dist/{chips-C_7proIN.js → chips-DcCUwYBu.js} +3 -3
  94. package/dist/{chips-C_7proIN.js.map → chips-DcCUwYBu.js.map} +1 -1
  95. package/dist/chips.cjs +1 -1
  96. package/dist/chips.js +1 -1
  97. package/dist/code-highlight.cjs +1 -1
  98. package/dist/code-highlight.js +1 -1
  99. package/dist/{code-preview-CQ-EAz9F.js → code-preview-CIXEd04f.js} +2 -2
  100. package/dist/{code-preview-CQ-EAz9F.js.map → code-preview-CIXEd04f.js.map} +1 -1
  101. package/dist/{code-preview-CzcyBpl-.cjs → code-preview-CdCzzZTX.cjs} +2 -2
  102. package/dist/{code-preview-CzcyBpl-.cjs.map → code-preview-CdCzzZTX.cjs.map} +1 -1
  103. package/dist/components.cjs +1 -1
  104. package/dist/components.js +1 -1
  105. package/dist/content-drawer.cjs +1 -1
  106. package/dist/content-drawer.js +1 -1
  107. package/dist/{context-object-K_1gDFu-.cjs → context-object-bNADqf9U.cjs} +2 -2
  108. package/dist/{context-object-K_1gDFu-.cjs.map → context-object-bNADqf9U.cjs.map} +1 -1
  109. package/dist/{context-object-CDDP4bTk.js → context-object-u5gBaozZ.js} +46 -32
  110. package/dist/{context-object-CDDP4bTk.js.map → context-object-u5gBaozZ.js.map} +1 -1
  111. package/dist/{date-range-DCghMsV8.cjs → date-range-CvD9zwK9.cjs} +2 -2
  112. package/dist/{date-range-DCghMsV8.cjs.map → date-range-CvD9zwK9.cjs.map} +1 -1
  113. package/dist/{date-range-inline-JgIiOHQM.js → date-range-inline-5QP9av94.js} +3 -3
  114. package/dist/{date-range-inline-JgIiOHQM.js.map → date-range-inline-5QP9av94.js.map} +1 -1
  115. package/dist/{date-range-inline-Z0ASWN4I.cjs → date-range-inline-CP_a_w01.cjs} +2 -2
  116. package/dist/{date-range-inline-Z0ASWN4I.cjs.map → date-range-inline-CP_a_w01.cjs.map} +1 -1
  117. package/dist/date-range-inline.cjs +1 -1
  118. package/dist/date-range-inline.js +1 -1
  119. package/dist/{date-range-WqwMEh16.js → date-range-lJ_fPY4v.js} +4 -4
  120. package/dist/{date-range-WqwMEh16.js.map → date-range-lJ_fPY4v.js.map} +1 -1
  121. package/dist/date-range.cjs +1 -1
  122. package/dist/date-range.js +1 -1
  123. package/dist/{delay-LnWlFwkK.js → delay-BM1jk7XF.js} +2 -2
  124. package/dist/delay-BM1jk7XF.js.map +1 -0
  125. package/dist/{delay-Ew4cphs1.cjs → delay-CB0Wohe7.cjs} +2 -2
  126. package/dist/delay-CB0Wohe7.cjs.map +1 -0
  127. package/dist/delay.cjs +1 -1
  128. package/dist/delay.js +1 -1
  129. package/dist/{details-BVEV0hUx.js → details-B9JrXrCO.js} +2 -2
  130. package/dist/{details-BVEV0hUx.js.map → details-B9JrXrCO.js.map} +1 -1
  131. package/dist/{details-C01m-iWQ.cjs → details-C22WoRWP.cjs} +2 -2
  132. package/dist/{details-C01m-iWQ.cjs.map → details-C22WoRWP.cjs.map} +1 -1
  133. package/dist/details.cjs +1 -1
  134. package/dist/details.js +1 -1
  135. package/dist/{dialog-content-B_w_iJyW.js → dialog-content-BHR9cUJ-.js} +4 -4
  136. package/dist/{dialog-content-B_w_iJyW.js.map → dialog-content-BHR9cUJ-.js.map} +1 -1
  137. package/dist/{dialog-content-BFmy9Sbo.cjs → dialog-content-CpxWMPlh.cjs} +2 -2
  138. package/dist/{dialog-content-BFmy9Sbo.cjs.map → dialog-content-CpxWMPlh.cjs.map} +1 -1
  139. package/dist/{dialog-service-DwJ_7FB3.js → dialog-service-DwhuICgc.js} +2 -2
  140. package/dist/dialog-service-DwhuICgc.js.map +1 -0
  141. package/dist/dialog-service-juvsgc5X.cjs +2 -0
  142. package/dist/dialog-service-juvsgc5X.cjs.map +1 -0
  143. package/dist/dialog.cjs +1 -1
  144. package/dist/dialog.js +2 -2
  145. package/dist/{divider-FkKYlJY3.js → divider-Cz4g_Ept.js} +3 -3
  146. package/dist/{divider-FkKYlJY3.js.map → divider-Cz4g_Ept.js.map} +1 -1
  147. package/dist/{divider-BWG6TAr2.cjs → divider-DAg0oW4T.cjs} +2 -2
  148. package/dist/{divider-BWG6TAr2.cjs.map → divider-DAg0oW4T.cjs.map} +1 -1
  149. package/dist/divider.cjs +1 -1
  150. package/dist/divider.js +1 -1
  151. package/dist/{dropdown-content-BStJGihR.js → dropdown-content-Bto1swKT.js} +3 -3
  152. package/dist/{dropdown-content-BStJGihR.js.map → dropdown-content-Bto1swKT.js.map} +1 -1
  153. package/dist/{dropdown-content-m1aSF-Oh.cjs → dropdown-content-QvR9QvT0.cjs} +2 -2
  154. package/dist/{dropdown-content-m1aSF-Oh.cjs.map → dropdown-content-QvR9QvT0.cjs.map} +1 -1
  155. package/dist/dropdown.cjs +1 -1
  156. package/dist/dropdown.js +1 -1
  157. package/dist/{email-recipients-CpghUhQ1.js → email-recipients-C9Yx0eML.js} +7 -7
  158. package/dist/{email-recipients-CpghUhQ1.js.map → email-recipients-C9Yx0eML.js.map} +1 -1
  159. package/dist/{email-recipients-CbZNnzoj.cjs → email-recipients-aEI5Hz1y.cjs} +2 -2
  160. package/dist/{email-recipients-CbZNnzoj.cjs.map → email-recipients-aEI5Hz1y.cjs.map} +1 -1
  161. package/dist/extra.cjs +1 -1
  162. package/dist/extra.js +1 -1
  163. package/dist/{flex-C6yj5Sxi.js → flex-8Zt64KfZ.js} +2 -2
  164. package/dist/{flex-C6yj5Sxi.js.map → flex-8Zt64KfZ.js.map} +1 -1
  165. package/dist/{flex-BNVtJlgu.cjs → flex-BWZv2xik.cjs} +2 -2
  166. package/dist/{flex-BNVtJlgu.cjs.map → flex-BWZv2xik.cjs.map} +1 -1
  167. package/dist/{form-ns7c4fcj.cjs → form-BH43OMu3.cjs} +2 -2
  168. package/dist/{form-ns7c4fcj.cjs.map → form-BH43OMu3.cjs.map} +1 -1
  169. package/dist/{form-C85Qev2L.js → form-DeoSuBtM.js} +2 -2
  170. package/dist/{form-C85Qev2L.js.map → form-DeoSuBtM.js.map} +1 -1
  171. package/dist/form.cjs +1 -1
  172. package/dist/form.js +1 -1
  173. package/dist/{formField.mixin-CKb_MTS7.js → formField.mixin-BaPL0TYo.js} +2 -2
  174. package/dist/{formField.mixin-CKb_MTS7.js.map → formField.mixin-BaPL0TYo.js.map} +1 -1
  175. package/dist/{formField.mixin-B3CXBJKX.cjs → formField.mixin-Dta3OeAY.cjs} +2 -2
  176. package/dist/{formField.mixin-B3CXBJKX.cjs.map → formField.mixin-Dta3OeAY.cjs.map} +1 -1
  177. package/dist/{icon-DKPLcbdu.js → icon-B0JNrBfq.js} +2 -2
  178. package/dist/{icon-DKPLcbdu.js.map → icon-B0JNrBfq.js.map} +1 -1
  179. package/dist/{icon-DUstfLaC.cjs → icon-DY2pBLIU.cjs} +2 -2
  180. package/dist/{icon-DUstfLaC.cjs.map → icon-DY2pBLIU.cjs.map} +1 -1
  181. package/dist/{icon-button-DiRex-eZ.cjs → icon-button-D1GjgM8z.cjs} +2 -2
  182. package/dist/{icon-button-DiRex-eZ.cjs.map → icon-button-D1GjgM8z.cjs.map} +1 -1
  183. package/dist/{icon-button-CIkRej0r.js → icon-button-OZM1xg0D.js} +3 -3
  184. package/dist/{icon-button-CIkRej0r.js.map → icon-button-OZM1xg0D.js.map} +1 -1
  185. package/dist/icons.cjs +1 -1
  186. package/dist/icons.js +1 -1
  187. package/dist/index-CCi1otmh.cjs +2 -0
  188. package/dist/{index-DyJ0oDpR.cjs.map → index-CCi1otmh.cjs.map} +1 -1
  189. package/dist/index-CW6PhEkx.js +17 -0
  190. package/dist/{index-CuY8m6ta.js.map → index-CW6PhEkx.js.map} +1 -1
  191. package/dist/index.cjs +1 -1
  192. package/dist/index.js +221 -218
  193. package/dist/index.js.map +1 -1
  194. package/dist/{input-DODcsAZu.js → input-CkvjCut5.js} +3 -3
  195. package/dist/{input-DODcsAZu.js.map → input-CkvjCut5.js.map} +1 -1
  196. package/dist/{input-B7MqsI2h.cjs → input-lUWuO40Q.cjs} +2 -2
  197. package/dist/{input-B7MqsI2h.cjs.map → input-lUWuO40Q.cjs.map} +1 -1
  198. package/dist/input.cjs +1 -1
  199. package/dist/input.js +1 -1
  200. package/dist/layout.cjs +1 -1
  201. package/dist/layout.js +1 -1
  202. package/dist/{list-Cx6tpiFE.js → list-5rw56k73.js} +2 -2
  203. package/dist/{list-Cx6tpiFE.js.map → list-5rw56k73.js.map} +1 -1
  204. package/dist/{list-DxduK4sb.cjs → list-CIt75CB5.cjs} +2 -2
  205. package/dist/{list-DxduK4sb.cjs.map → list-CIt75CB5.cjs.map} +1 -1
  206. package/dist/list.cjs +1 -1
  207. package/dist/list.js +1 -1
  208. package/dist/{litElement.mixin-B12Y4mEr.cjs → litElement.mixin-BLa7fWsS.cjs} +2 -2
  209. package/dist/{litElement.mixin-B12Y4mEr.cjs.map → litElement.mixin-BLa7fWsS.cjs.map} +1 -1
  210. package/dist/{litElement.mixin-BZ8iGvPl.js → litElement.mixin-BZErt4H3.js} +2 -2
  211. package/dist/{litElement.mixin-BZ8iGvPl.js.map → litElement.mixin-BZErt4H3.js.map} +1 -1
  212. package/dist/mailbox.cjs +1 -1
  213. package/dist/mailbox.js +1 -1
  214. package/dist/{map-sgCf8pYD.cjs → map-BY_0W4ER.cjs} +2 -2
  215. package/dist/{map-sgCf8pYD.cjs.map → map-BY_0W4ER.cjs.map} +1 -1
  216. package/dist/{map-dT8yp1iK.js → map-BrguuFGa.js} +2 -2
  217. package/dist/{map-dT8yp1iK.js.map → map-BrguuFGa.js.map} +1 -1
  218. package/dist/map.cjs +1 -1
  219. package/dist/map.js +1 -1
  220. package/dist/{media-CgH0D5rY.js → media-CLz2t5zS.js} +2 -2
  221. package/dist/{media-CgH0D5rY.js.map → media-CLz2t5zS.js.map} +1 -1
  222. package/dist/{media-CwjupDLj.cjs → media-D6ZtvTjC.cjs} +2 -2
  223. package/dist/{media-CwjupDLj.cjs.map → media-D6ZtvTjC.cjs.map} +1 -1
  224. package/dist/{menu-oZRtmhVd.js → menu-CgDSJpDV.js} +3 -3
  225. package/dist/{menu-oZRtmhVd.js.map → menu-CgDSJpDV.js.map} +1 -1
  226. package/dist/{menu-X25Q7tpY.cjs → menu-DWD_IywE.cjs} +2 -2
  227. package/dist/{menu-X25Q7tpY.cjs.map → menu-DWD_IywE.cjs.map} +1 -1
  228. package/dist/menu.cjs +1 -1
  229. package/dist/menu.js +1 -1
  230. package/dist/nav-drawer.cjs +1 -1
  231. package/dist/nav-drawer.js +1 -1
  232. package/dist/{notification-service-y0T4rXdS.js → notification-service-1HGYK2tM.js} +4 -4
  233. package/dist/notification-service-1HGYK2tM.js.map +1 -0
  234. package/dist/{notification-service-kLTt3JtW.cjs → notification-service-A3reAJZQ.cjs} +2 -2
  235. package/dist/notification-service-A3reAJZQ.cjs.map +1 -0
  236. package/dist/notification.cjs +1 -1
  237. package/dist/notification.js +2 -2
  238. package/dist/{notify-BnjvURrc.js → notify-Bt-KiLeP.js} +2 -2
  239. package/dist/{notify-BnjvURrc.js.map → notify-Bt-KiLeP.js.map} +1 -1
  240. package/dist/{notify-EGStToeW.cjs → notify-CVbsMt75.cjs} +2 -2
  241. package/dist/{notify-EGStToeW.cjs.map → notify-CVbsMt75.cjs.map} +1 -1
  242. package/dist/{option-D4_WBCWz.cjs → option-Cd0TxMBE.cjs} +2 -2
  243. package/dist/{option-D4_WBCWz.cjs.map → option-Cd0TxMBE.cjs.map} +1 -1
  244. package/dist/{option-CD1NSUXu.js → option-DvSZ0D0R.js} +2 -2
  245. package/dist/{option-CD1NSUXu.js.map → option-DvSZ0D0R.js.map} +1 -1
  246. package/dist/option.cjs +1 -1
  247. package/dist/option.js +1 -1
  248. package/dist/{payment-card-form-lWlhuDb3.js → payment-card-form-C6wrIT_X.js} +3 -3
  249. package/dist/{payment-card-form-lWlhuDb3.js.map → payment-card-form-C6wrIT_X.js.map} +1 -1
  250. package/dist/{payment-card-form-96Rw6cLf.cjs → payment-card-form-CJkWQ3j4.cjs} +2 -2
  251. package/dist/{payment-card-form-96Rw6cLf.cjs.map → payment-card-form-CJkWQ3j4.cjs.map} +1 -1
  252. package/dist/{progress-BkxGzGOm.cjs → progress-D0iWLtHk.cjs} +2 -2
  253. package/dist/{progress-BkxGzGOm.cjs.map → progress-D0iWLtHk.cjs.map} +1 -1
  254. package/dist/{progress-DGk9tC4y.js → progress-pOL6OHwT.js} +2 -2
  255. package/dist/{progress-DGk9tC4y.js.map → progress-pOL6OHwT.js.map} +1 -1
  256. package/dist/progress.cjs +1 -1
  257. package/dist/progress.js +1 -1
  258. package/dist/{radio-button-DHM38A7h.js → radio-button-C-t6JJsj.js} +3 -3
  259. package/dist/{radio-button-DHM38A7h.js.map → radio-button-C-t6JJsj.js.map} +1 -1
  260. package/dist/{radio-button-w9ZxzEPa.cjs → radio-button-CSV7-ftB.cjs} +2 -2
  261. package/dist/{radio-button-w9ZxzEPa.cjs.map → radio-button-CSV7-ftB.cjs.map} +1 -1
  262. package/dist/radio-group.cjs +1 -1
  263. package/dist/radio-group.js +1 -1
  264. package/dist/route.component-DaBx0B3g.cjs +12 -0
  265. package/dist/route.component-DaBx0B3g.cjs.map +1 -0
  266. package/dist/route.component-DlVlAMWF.js +341 -0
  267. package/dist/route.component-DlVlAMWF.js.map +1 -0
  268. package/dist/rxjs-utils.cjs +1 -1
  269. package/dist/rxjs-utils.js +1 -1
  270. package/dist/{schmancy-steps-container-WYO4SOrb.js → schmancy-steps-container-AIJ2_ZSN.js} +12 -12
  271. package/dist/schmancy-steps-container-AIJ2_ZSN.js.map +1 -0
  272. package/dist/{schmancy-steps-container-CPSL_8H0.cjs → schmancy-steps-container-CgzGlBCk.cjs} +6 -6
  273. package/dist/schmancy-steps-container-CgzGlBCk.cjs.map +1 -0
  274. package/dist/{select-bDAzyQOZ.js → select-CwJ4OuVo.js} +3 -3
  275. package/dist/{select-bDAzyQOZ.js.map → select-CwJ4OuVo.js.map} +1 -1
  276. package/dist/{select-CxCcgqW_.cjs → select-GBaqnfMC.cjs} +2 -2
  277. package/dist/{select-CxCcgqW_.cjs.map → select-GBaqnfMC.cjs.map} +1 -1
  278. package/dist/select.cjs +1 -1
  279. package/dist/select.js +1 -1
  280. package/dist/{selector-hook-CIpuCUbr.js → selector-hook-ChImS_JT.js} +2 -2
  281. package/dist/{selector-hook-CIpuCUbr.js.map → selector-hook-ChImS_JT.js.map} +1 -1
  282. package/dist/{selector-hook-DB8RFC1y.cjs → selector-hook-cqmAutda.cjs} +2 -2
  283. package/dist/{selector-hook-DB8RFC1y.cjs.map → selector-hook-cqmAutda.cjs.map} +1 -1
  284. package/dist/{sheet-Bm0ukLXt.cjs → sheet-CXd47YKG.cjs} +2 -2
  285. package/dist/{sheet-Bm0ukLXt.cjs.map → sheet-CXd47YKG.cjs.map} +1 -1
  286. package/dist/{sheet-pO6PmiAf.js → sheet-fT1oxKgG.js} +4 -4
  287. package/dist/{sheet-pO6PmiAf.js.map → sheet-fT1oxKgG.js.map} +1 -1
  288. package/dist/sheet.cjs +1 -1
  289. package/dist/sheet.js +2 -2
  290. package/dist/sheet.service-BxvWBGsJ.cjs +2 -0
  291. package/dist/sheet.service-BxvWBGsJ.cjs.map +1 -0
  292. package/dist/{sheet.service-ieSXeqCj.js → sheet.service-lXqUf6n5.js} +2 -2
  293. package/dist/sheet.service-lXqUf6n5.js.map +1 -0
  294. package/dist/{slider-CxZGMYF-.js → slider-CYsku-3b.js} +3 -3
  295. package/dist/{slider-CxZGMYF-.js.map → slider-CYsku-3b.js.map} +1 -1
  296. package/dist/{slider-BwXXp74f.cjs → slider-DxSzFbQe.cjs} +2 -2
  297. package/dist/{slider-BwXXp74f.cjs.map → slider-DxSzFbQe.cjs.map} +1 -1
  298. package/dist/slider.cjs +1 -1
  299. package/dist/slider.js +1 -1
  300. package/dist/{spinner-b3VWC6It.js → spinner-CrK1E8LD.js} +2 -2
  301. package/dist/{spinner-b3VWC6It.js.map → spinner-CrK1E8LD.js.map} +1 -1
  302. package/dist/{spinner-nN77H00p.cjs → spinner-DrG_NQpx.cjs} +2 -2
  303. package/dist/{spinner-nN77H00p.cjs.map → spinner-DrG_NQpx.cjs.map} +1 -1
  304. package/dist/steps.cjs +1 -1
  305. package/dist/steps.js +1 -1
  306. package/dist/store.cjs +1 -1
  307. package/dist/store.js +2 -2
  308. package/dist/{surface-C2WjztRc.js → surface-C64YekDh.js} +2 -2
  309. package/dist/{surface-C2WjztRc.js.map → surface-C64YekDh.js.map} +1 -1
  310. package/dist/{surface-Cm8zYK5d.cjs → surface-DVNi8l6T.cjs} +2 -2
  311. package/dist/{surface-Cm8zYK5d.cjs.map → surface-DVNi8l6T.cjs.map} +1 -1
  312. package/dist/surface.cjs +1 -1
  313. package/dist/surface.js +1 -1
  314. package/dist/{table-BfhuaB9J.cjs → table-B3WKGYlu.cjs} +2 -2
  315. package/dist/{table-BfhuaB9J.cjs.map → table-B3WKGYlu.cjs.map} +1 -1
  316. package/dist/{table-Dp7npAuy.js → table-DmrYZ1hR.js} +2 -2
  317. package/dist/{table-Dp7npAuy.js.map → table-DmrYZ1hR.js.map} +1 -1
  318. package/dist/table.cjs +1 -1
  319. package/dist/table.js +1 -1
  320. package/dist/{tabs-compatibility-CA-wWRoe.cjs → tabs-compatibility-Ds7SEeST.cjs} +2 -2
  321. package/dist/{tabs-compatibility-CA-wWRoe.cjs.map → tabs-compatibility-Ds7SEeST.cjs.map} +1 -1
  322. package/dist/{tabs-compatibility-U4cq8X3I.js → tabs-compatibility-Uetjk25R.js} +2 -2
  323. package/dist/{tabs-compatibility-U4cq8X3I.js.map → tabs-compatibility-Uetjk25R.js.map} +1 -1
  324. package/dist/tabs.cjs +1 -1
  325. package/dist/tabs.js +1 -1
  326. package/dist/tailwind.mixin-B6ADeWOc.js +43 -0
  327. package/dist/{tailwind.mixin-D2DVHS9V.js.map → tailwind.mixin-B6ADeWOc.js.map} +1 -1
  328. package/dist/tailwind.mixin-df9KoZ9x.cjs +2 -0
  329. package/dist/{tailwind.mixin-BlZIIaOE.cjs.map → tailwind.mixin-df9KoZ9x.cjs.map} +1 -1
  330. package/dist/teleport.cjs +1 -1
  331. package/dist/teleport.js +1 -1
  332. package/dist/{textarea-BRNj3tvi.js → textarea-B1Tng7F9.js} +2 -2
  333. package/dist/{textarea-BRNj3tvi.js.map → textarea-B1Tng7F9.js.map} +1 -1
  334. package/dist/{textarea-CxZKoXaU.cjs → textarea-QKNA3oAQ.cjs} +2 -2
  335. package/dist/{textarea-CxZKoXaU.cjs.map → textarea-QKNA3oAQ.cjs.map} +1 -1
  336. package/dist/textarea.cjs +1 -1
  337. package/dist/textarea.js +1 -1
  338. package/dist/{theme-button-N_Wt3bos.js → theme-button-CYEhS3ub.js} +2 -2
  339. package/dist/{theme-button-N_Wt3bos.js.map → theme-button-CYEhS3ub.js.map} +1 -1
  340. package/dist/{theme-button-MrIoOFEB.cjs → theme-button-CoCFS3Rx.cjs} +2 -2
  341. package/dist/{theme-button-MrIoOFEB.cjs.map → theme-button-CoCFS3Rx.cjs.map} +1 -1
  342. package/dist/theme-button.cjs +1 -1
  343. package/dist/theme-button.js +1 -1
  344. package/dist/theme.cjs +1 -1
  345. package/dist/theme.component-C12jLwtB.cjs +3 -0
  346. package/dist/theme.component-C12jLwtB.cjs.map +1 -0
  347. package/dist/{theme.component-6VfET_t-.js → theme.component-Df731_fn.js} +247 -171
  348. package/dist/theme.component-Df731_fn.js.map +1 -0
  349. package/dist/theme.events-CPSLaOlR.js +6 -0
  350. package/dist/theme.events-CPSLaOlR.js.map +1 -0
  351. package/dist/theme.events-Car6U_SQ.cjs +2 -0
  352. package/dist/theme.events-Car6U_SQ.cjs.map +1 -0
  353. package/dist/theme.interface-C5Kj6WjD.js.map +1 -1
  354. package/dist/theme.interface-Xg5Zi46a.cjs.map +1 -1
  355. package/dist/theme.js +9 -7
  356. package/dist/theme.js.map +1 -1
  357. package/dist/{timezone-BVd9UEba.cjs → timezone-B7bscKFN.cjs} +2 -2
  358. package/dist/{timezone-BVd9UEba.cjs.map → timezone-B7bscKFN.cjs.map} +1 -1
  359. package/dist/{timezone-DR_4m9Cc.js → timezone-CdtCVjMF.js} +3 -3
  360. package/dist/{timezone-DR_4m9Cc.js.map → timezone-CdtCVjMF.js.map} +1 -1
  361. package/dist/{tooltip-DOQVLRaH.cjs → tooltip-CjoNCIvr.cjs} +2 -2
  362. package/dist/{tooltip-DOQVLRaH.cjs.map → tooltip-CjoNCIvr.cjs.map} +1 -1
  363. package/dist/{tooltip-BpPHc8Wr.js → tooltip-JVkexTyf.js} +2 -2
  364. package/dist/{tooltip-BpPHc8Wr.js.map → tooltip-JVkexTyf.js.map} +1 -1
  365. package/dist/tooltip.cjs +1 -1
  366. package/dist/tooltip.js +1 -1
  367. package/dist/{tree-BANkyLn7.cjs → tree-Be48ABq4.cjs} +2 -2
  368. package/dist/{tree-BANkyLn7.cjs.map → tree-Be48ABq4.cjs.map} +1 -1
  369. package/dist/{tree-C5zu8wXc.js → tree-CaqiNcJJ.js} +2 -2
  370. package/dist/{tree-C5zu8wXc.js.map → tree-CaqiNcJJ.js.map} +1 -1
  371. package/dist/tree.cjs +1 -1
  372. package/dist/tree.js +1 -1
  373. package/dist/{typewriter-CdztqkoR.js → typewriter-CoMrmwFJ.js} +8 -8
  374. package/dist/{typewriter-CdztqkoR.js.map → typewriter-CoMrmwFJ.js.map} +1 -1
  375. package/dist/{typewriter-DS0D0UZM.cjs → typewriter-DCYDScE9.cjs} +2 -2
  376. package/dist/{typewriter-DS0D0UZM.cjs.map → typewriter-DCYDScE9.cjs.map} +1 -1
  377. package/dist/typewriter.cjs +1 -1
  378. package/dist/typewriter.js +1 -1
  379. package/dist/{typography-C8vZfuLF.cjs → typography-BQg6J2hD.cjs} +2 -2
  380. package/dist/{typography-C8vZfuLF.cjs.map → typography-BQg6J2hD.cjs.map} +1 -1
  381. package/dist/{typography-o9FJ6Lzo.js → typography-DkJagEoF.js} +2 -2
  382. package/dist/{typography-o9FJ6Lzo.js.map → typography-DkJagEoF.js.map} +1 -1
  383. package/dist/typography.cjs +1 -1
  384. package/dist/typography.js +1 -1
  385. package/package.json +1 -1
  386. package/types/src/area/area.component.d.ts +25 -5
  387. package/types/src/area/index.d.ts +1 -0
  388. package/types/src/area/route.component.d.ts +43 -0
  389. package/types/src/area/route.test.d.ts +20 -0
  390. package/types/src/steps/schmancy-steps-container.d.ts +9 -0
  391. package/types/src/store/context-collection.d.ts +26 -2
  392. package/types/src/theme/context.d.ts +24 -0
  393. package/types/src/theme/index.d.ts +2 -0
  394. package/types/src/theme/theme.component.d.ts +49 -6
  395. package/types/src/theme/theme.events.d.ts +55 -0
  396. package/types/src/theme/theme.interface.d.ts +36 -0
  397. package/types/src/theme/theme.service.d.ts +261 -0
  398. package/dist/area.component-C86pi_TT.js +0 -283
  399. package/dist/area.component-C86pi_TT.js.map +0 -1
  400. package/dist/area.component-nX_dCv4R.cjs +0 -8
  401. package/dist/area.component-nX_dCv4R.cjs.map +0 -1
  402. package/dist/avatar-D3gNBale.js.map +0 -1
  403. package/dist/avatar-N3BODeY1.cjs.map +0 -1
  404. package/dist/delay-Ew4cphs1.cjs.map +0 -1
  405. package/dist/delay-LnWlFwkK.js.map +0 -1
  406. package/dist/dialog-service-DS-aEjlX.cjs +0 -2
  407. package/dist/dialog-service-DS-aEjlX.cjs.map +0 -1
  408. package/dist/dialog-service-DwJ_7FB3.js.map +0 -1
  409. package/dist/index-CuY8m6ta.js +0 -19
  410. package/dist/index-DyJ0oDpR.cjs +0 -2
  411. package/dist/notification-service-kLTt3JtW.cjs.map +0 -1
  412. package/dist/notification-service-y0T4rXdS.js.map +0 -1
  413. package/dist/schmancy-steps-container-CPSL_8H0.cjs.map +0 -1
  414. package/dist/schmancy-steps-container-WYO4SOrb.js.map +0 -1
  415. package/dist/sheet.service-DV9xNhS8.cjs +0 -2
  416. package/dist/sheet.service-DV9xNhS8.cjs.map +0 -1
  417. package/dist/sheet.service-ieSXeqCj.js.map +0 -1
  418. package/dist/tailwind.mixin-BlZIIaOE.cjs +0 -2
  419. package/dist/tailwind.mixin-D2DVHS9V.js +0 -43
  420. package/dist/theme.component-6VfET_t-.js.map +0 -1
  421. package/dist/theme.component-B_EubPsq.cjs +0 -3
  422. package/dist/theme.component-B_EubPsq.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-U5IpwJuj.js","sources":["../src/badge/badge.ts","../src/content-drawer/$sheet.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'\ntype TRef = Element | Window\ntype TRenderRequest = HTMLElement\nexport type TRenderCustomEvent = CustomEvent<{\n\tcomponent: TRenderRequest\n\ttitle?: string\n}>\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tref: TRef\n\t\taction: DrawerAction\n\t\tcomponent?: TRenderRequest\n\t\ttitle?: string\n\t}>()\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}\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\nexport const schmancyContentDrawer = new Drawer()\n","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) {\n\t\tlet offsetTop = 0\n\t\twhile (element) {\n\t\t\toffsetTop += element.offsetTop\n\t\t\telement = element.offsetParent\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","pipe","subscribe","data","action","ref","dispatchEvent","CustomEvent","SchmancyEvents","ContentDrawerToggle","detail","state","bubbles","composed","component","title","next","SchmancyContentDrawerSheetMode","createContext","SchmancyContentDrawerSheetState","SchmancyContentDrawerID","Math","floor","random","Date","now","toString","SchmancyContentDrawerMaxHeight","SchmancyContentDrawerMinWidth","SchmancyContentDrawer","$LitElement","minWidth","main","sheet","schmancyContentDrawerID","maxHeight","firstUpdated","merge","fromEvent","window","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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"}
@@ -1,4 +1,4 @@
1
- "use strict";const l=require("lit"),o=require("lit/decorators.js"),s=require("rxjs");require("./animated-text-rE-SkQgz.cjs");const $=require("./area.component-nX_dCv4R.cjs");require("./autocomplete-CuO8ztL4.cjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const _=require("./tailwind.mixin-BlZIIaOE.cjs"),D=require("./ripple-C2BHbhcS.cjs");require("./boat-CWXlAq65.cjs"),require("./spinner-nN77H00p.cjs"),require("./icon-button-DiRex-eZ.cjs"),require("./media-CwjupDLj.cjs"),require("./checkbox-DIYmuPtk.cjs"),require("./chips-BYE5hQQr.cjs"),require("./code-preview-CzcyBpl-.cjs"),require("./payment-card-form-96Rw6cLf.cjs");const p=require("./types.cjs"),d=require("./provide-BxZ2kn_p.cjs"),b=require("./litElement.mixin-B12Y4mEr.cjs"),m=require("./consume-edta5ng5.cjs");require("./date-range-DCghMsV8.cjs"),require("./date-range-inline-Z0ASWN4I.cjs"),require("./delay-Ew4cphs1.cjs"),require("./details-C01m-iWQ.cjs"),require("./dialog-content-BFmy9Sbo.cjs"),require("./dialog-service-DS-aEjlX.cjs"),require("./divider-BWG6TAr2.cjs"),require("./dropdown-content-m1aSF-Oh.cjs"),require("./timezone-BVd9UEba.cjs"),require("./form-ns7c4fcj.cjs"),require("./icon-DUstfLaC.cjs"),require("./input-B7MqsI2h.cjs"),require("./flex-BNVtJlgu.cjs"),require("./list-DxduK4sb.cjs"),require("./email-recipients-CbZNnzoj.cjs"),require("./map-sgCf8pYD.cjs"),require("./menu-X25Q7tpY.cjs");const W=require("lit/directives/when.js");require("./notification-service-kLTt3JtW.cjs"),require("./option-D4_WBCWz.cjs"),require("./progress-BkxGzGOm.cjs"),require("./radio-button-w9ZxzEPa.cjs"),require("./index-DyJ0oDpR.cjs"),require("./select-CxCcgqW_.cjs"),require("./sheet-Bm0ukLXt.cjs");const A=require("./sheet.service-DV9xNhS8.cjs");require("./slider-BwXXp74f.cjs"),require("./schmancy-steps-container-CPSL_8H0.cjs"),require("./context-object-K_1gDFu-.cjs");const N=require("rxjs/operators");require("./surface-Cm8zYK5d.cjs"),require("./table-BfhuaB9J.cjs"),require("./tabs-compatibility-CA-wWRoe.cjs"),require("./textarea-CxZKoXaU.cjs"),require("./theme.component-B_EubPsq.cjs"),require("./theme-button-MrIoOFEB.cjs"),require("./tooltip-DOQVLRaH.cjs"),require("./tree-BANkyLn7.cjs"),require("./typewriter-DS0D0UZM.cjs"),require("./typography-C8vZfuLF.cjs");const i=require("./theme.interface-Xg5Zi46a.cjs");var X=Object.defineProperty,H=Object.getOwnPropertyDescriptor,g=(e,t,n,a)=>{for(var c,r=a>1?void 0:a?H(t,n):t,h=e.length-1;h>=0;h--)(c=e[h])&&(r=(a?c(t,n,r):c(r))||r);return a&&r&&X(t,n,r),r};exports.SchmancyBadgeV2=class extends _.TailwindElement(l.css`
1
+ "use strict";const l=require("lit"),o=require("lit/decorators.js"),s=require("rxjs");require("./animated-text-DlRt6Q09.cjs");const $=require("./route.component-DaBx0B3g.cjs");require("./autocomplete-BOGG_9iL.cjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const _=require("./tailwind.mixin-df9KoZ9x.cjs"),D=require("./ripple-C2BHbhcS.cjs");require("./boat-DMKcZpZb.cjs"),require("./spinner-DrG_NQpx.cjs"),require("./icon-button-D1GjgM8z.cjs"),require("./media-D6ZtvTjC.cjs"),require("./checkbox-DP_zX786.cjs"),require("./chips-BuMUH3zA.cjs"),require("./code-preview-CdCzzZTX.cjs"),require("./payment-card-form-CJkWQ3j4.cjs");const p=require("./types.cjs"),d=require("./provide-BxZ2kn_p.cjs"),b=require("./litElement.mixin-BLa7fWsS.cjs"),m=require("./consume-edta5ng5.cjs");require("./date-range-CvD9zwK9.cjs"),require("./date-range-inline-CP_a_w01.cjs"),require("./delay-CB0Wohe7.cjs"),require("./details-C22WoRWP.cjs"),require("./dialog-content-CpxWMPlh.cjs"),require("./dialog-service-juvsgc5X.cjs"),require("./divider-DAg0oW4T.cjs"),require("./dropdown-content-QvR9QvT0.cjs"),require("./timezone-B7bscKFN.cjs"),require("./form-BH43OMu3.cjs"),require("./icon-DY2pBLIU.cjs"),require("./input-lUWuO40Q.cjs"),require("./flex-BWZv2xik.cjs"),require("./list-CIt75CB5.cjs"),require("./email-recipients-aEI5Hz1y.cjs"),require("./map-BY_0W4ER.cjs"),require("./menu-DWD_IywE.cjs");const W=require("lit/directives/when.js");require("./notification-service-A3reAJZQ.cjs"),require("./option-Cd0TxMBE.cjs"),require("./progress-D0iWLtHk.cjs"),require("./radio-button-CSV7-ftB.cjs"),require("./index-CCi1otmh.cjs"),require("./select-GBaqnfMC.cjs"),require("./sheet-CXd47YKG.cjs");const A=require("./sheet.service-BxvWBGsJ.cjs");require("./slider-DxSzFbQe.cjs"),require("./schmancy-steps-container-CgzGlBCk.cjs"),require("./context-object-bNADqf9U.cjs");const N=require("rxjs/operators");require("./surface-DVNi8l6T.cjs"),require("./table-B3WKGYlu.cjs"),require("./tabs-compatibility-Ds7SEeST.cjs"),require("./textarea-QKNA3oAQ.cjs"),require("./theme.component-C12jLwtB.cjs"),require("./theme-button-CoCFS3Rx.cjs"),require("./tooltip-CjoNCIvr.cjs"),require("./tree-Be48ABq4.cjs"),require("./typewriter-DCYDScE9.cjs"),require("./typography-BQg6J2hD.cjs");const i=require("./theme.interface-Xg5Zi46a.cjs");var X=Object.defineProperty,H=Object.getOwnPropertyDescriptor,g=(e,t,n,a)=>{for(var c,r=a>1?void 0:a?H(t,n):t,h=e.length-1;h>=0;h--)(c=e[h])&&(r=(a?c(t,n,r):c(r))||r);return a&&r&&X(t,n,r),r};exports.SchmancyBadgeV2=class extends _.TailwindElement(l.css`
2
2
  :host {
3
3
  display: inline-flex;
4
4
  }
@@ -92,7 +92,7 @@
92
92
  display: block;
93
93
  overflow: hidden;
94
94
  }
95
- `){constructor(){super(...arguments),this.minWidth={main:360,sheet:576},this.schmancyContentDrawerID=Math.floor(Math.random()*Date.now()).toString(),this.maxHeight="100%"}firstUpdated(){s.merge(s.fromEvent(window,"resize"),s.fromEvent(window,p.SchmancyEvents.ContentDrawerResize)).pipe(s.startWith(!0),s.tap(()=>{}),s.map(()=>this.clientWidth?this.clientWidth:window.innerWidth),s.map(e=>e>=this.minWidth.main+this.minWidth.sheet),s.debounceTime(100),s.tap(()=>{this.maxHeight=window.innerHeight-this.getOffsetTop(this)-32+"px",this.style.setProperty("max-height",this.maxHeight)}),s.distinctUntilChanged(),s.takeUntil(this.disconnecting)).subscribe(e=>{e?(this.mode="push",this.open="open"):(this.mode="overlay",this.open="close")}),s.fromEvent(window,p.SchmancyEvents.ContentDrawerToggle).pipe(s.tap(e=>{e.stopPropagation()}),s.map(e=>e.detail.state),s.takeUntil(this.disconnecting)).subscribe(e=>{this.open=e}),s.fromEvent(window,"schmancy-content-drawer-render").pipe(s.tap(e=>{e.stopPropagation()}),s.map(e=>e.detail),s.takeUntil(this.disconnecting)).subscribe(({component:e,title:t})=>{this.mode==="push"?($.area.push({area:this.schmancyContentDrawerID,component:"empty",historyStrategy:"silent"}),$.area.push({area:this.schmancyContentDrawerID,component:e,historyStrategy:"silent"})):(this.mode="overlay")&&A.sheet.open({component:e,uid:this.schmancyContentDrawerID,title:t})})}getOffsetTop(e){let t=0;for(;e;)t+=e.offsetTop,e=e.offsetParent;return t}render(){return this.mode&&this.open?l.html`
95
+ `){constructor(){super(...arguments),this.minWidth={main:360,sheet:576},this.schmancyContentDrawerID=Math.floor(Math.random()*Date.now()).toString(),this.maxHeight="100%"}firstUpdated(){s.merge(s.fromEvent(window,"resize"),s.fromEvent(window,p.SchmancyEvents.ContentDrawerResize)).pipe(s.startWith(!0),s.map(()=>this.clientWidth?this.clientWidth:window.innerWidth),s.map(e=>e>=this.minWidth.main+this.minWidth.sheet),s.debounceTime(100),s.tap(()=>{this.maxHeight=window.innerHeight-this.getOffsetTop(this)-32+"px",this.style.setProperty("max-height",this.maxHeight)}),s.distinctUntilChanged(),s.takeUntil(this.disconnecting)).subscribe(e=>{e?(this.mode="push",this.open="open"):(this.mode="overlay",this.open="close")}),s.fromEvent(window,p.SchmancyEvents.ContentDrawerToggle).pipe(s.tap(e=>{e.stopPropagation()}),s.map(e=>e.detail.state),s.takeUntil(this.disconnecting)).subscribe(e=>{this.open=e}),s.fromEvent(window,"schmancy-content-drawer-render").pipe(s.tap(e=>{e.stopPropagation()}),s.map(e=>e.detail),s.takeUntil(this.disconnecting)).subscribe(({component:e,title:t})=>{this.mode==="push"?($.area.push({area:this.schmancyContentDrawerID,component:"empty",historyStrategy:"silent"}),$.area.push({area:this.schmancyContentDrawerID,component:e,historyStrategy:"silent"})):(this.mode="overlay")&&A.sheet.open({component:e,uid:this.schmancyContentDrawerID,title:t})})}getOffsetTop(e){let t=0;for(;e;)t+=e.offsetTop,e=e.offsetParent;return t}render(){return this.mode&&this.open?l.html`
96
96
  <schmancy-grid
97
97
  cols=${this.mode==="overlay"?"1fr":"auto 1fr"}
98
98
  rows="1fr"
@@ -202,4 +202,4 @@
202
202
  `}getColorAttributes(){const e={primary:{bgColor:i.SchmancyTheme.sys.color.primary.container,color:i.SchmancyTheme.sys.color.primary.onContainer},secondary:{bgColor:i.SchmancyTheme.sys.color.secondary.container,color:i.SchmancyTheme.sys.color.secondary.onContainer},tertiary:{bgColor:i.SchmancyTheme.sys.color.tertiary.container,color:i.SchmancyTheme.sys.color.tertiary.onContainer},success:{bgColor:i.SchmancyTheme.sys.color.success.container,color:i.SchmancyTheme.sys.color.success.onContainer},error:{bgColor:i.SchmancyTheme.sys.color.error.container,color:i.SchmancyTheme.sys.color.error.onContainer},neutral:{bgColor:i.SchmancyTheme.sys.color.surface.container,color:i.SchmancyTheme.sys.color.surface.on}};return D.color(e[this.color])}renderStatusIndicator(){const e={online:i.SchmancyTheme.sys.color.success.default,offline:i.SchmancyTheme.sys.color.surface.onVariant,busy:i.SchmancyTheme.sys.color.error.default,away:i.SchmancyTheme.sys.color.tertiary.default},t={"absolute bottom-0 right-0 rounded-full border-2 border-surface-default":!0,[{xs:"w-1.5 h-1.5",sm:"w-2 h-2",md:"w-2.5 h-2.5",lg:"w-3 h-3",xl:"w-4 h-4"}[this.size]]:!0};return l.html`
203
203
  <div class="${this.classMap(t)}" style="background-color: ${e[this.status]};"></div>
204
204
  `}},u([o.property({type:String})],exports.SchmancyAvatar.prototype,"initials",2),u([o.property({type:String})],exports.SchmancyAvatar.prototype,"src",2),u([o.property({type:String})],exports.SchmancyAvatar.prototype,"icon",2),u([o.property({type:String})],exports.SchmancyAvatar.prototype,"size",2),u([o.property({type:String})],exports.SchmancyAvatar.prototype,"color",2),u([o.property({type:String})],exports.SchmancyAvatar.prototype,"shape",2),u([o.property({type:Boolean})],exports.SchmancyAvatar.prototype,"bordered",2),u([o.property({type:String})],exports.SchmancyAvatar.prototype,"status",2),exports.SchmancyAvatar=u([o.customElement("schmancy-avatar")],exports.SchmancyAvatar),exports.$drawer=Q,exports.HereMorty=B,exports.SchmancyContentDrawerID=I,exports.SchmancyContentDrawerMaxHeight=k,exports.SchmancyContentDrawerMinWidth=M,exports.SchmancyContentDrawerSheetMode=q,exports.SchmancyContentDrawerSheetState=j,exports.SchmancyDrawerNavbarMode=O,exports.SchmancyDrawerNavbarState=z,exports.WhereAreYouRicky=P,exports.schmancyContentDrawer=V,exports.schmancyNavDrawer=R,exports.teleport=x;
205
- //# sourceMappingURL=avatar-N3BODeY1.cjs.map
205
+ //# sourceMappingURL=avatar-qkIAB2cX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-qkIAB2cX.cjs","sources":["../src/badge/badge.ts","../src/content-drawer/$sheet.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'\ntype TRef = Element | Window\ntype TRenderRequest = HTMLElement\nexport type TRenderCustomEvent = CustomEvent<{\n\tcomponent: TRenderRequest\n\ttitle?: string\n}>\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tref: TRef\n\t\taction: DrawerAction\n\t\tcomponent?: TRenderRequest\n\t\ttitle?: string\n\t}>()\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}\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\nexport const schmancyContentDrawer = new Drawer()\n","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) {\n\t\tlet offsetTop = 0\n\t\twhile (element) {\n\t\t\toffsetTop += element.offsetTop\n\t\t\telement = element.offsetParent\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","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","pipe","subscribe","data","action","ref","dispatchEvent","CustomEvent","SchmancyEvents","ContentDrawerToggle","detail","state","bubbles","composed","component","title","next","SchmancyContentDrawerSheetMode","createContext","SchmancyContentDrawerSheetState","SchmancyContentDrawerID","Math","floor","random","Date","now","toString","SchmancyContentDrawerMaxHeight","SchmancyContentDrawerMinWidth","SchmancyContentDrawer","$LitElement","minWidth","main","sheet","schmancyContentDrawerID","maxHeight","firstUpdated","merge","fromEvent","window","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","render","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-N3BODeY1.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-qkIAB2cX.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-D3gNBale.js";
1
+ import { a as e, S } from "./avatar-U5IpwJuj.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-D2DVHS9V.js";
4
+ import { T as f } from "./tailwind.mixin-B6ADeWOc.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-BQoWbDxu.js.map
99
+ //# sourceMappingURL=boat-CdR5Pqik.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"boat-BQoWbDxu.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-CdR5Pqik.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-BlZIIaOE.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-df9KoZ9x.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-CWXlAq65.cjs.map
70
+ //# sourceMappingURL=boat-DMKcZpZb.cjs.map