@mhmo91/schmancy 0.9.11 → 0.9.13

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 (395) hide show
  1. package/README.md +34 -0
  2. package/custom-elements.json +42 -0
  3. package/dist/agent/flow-CaPi2G8y.js +386 -0
  4. package/dist/agent/flow-CaPi2G8y.js.map +1 -0
  5. package/dist/agent/rolldown-runtime-DsMetpgY.js +11 -0
  6. package/dist/agent/schmancy.agent.js +36368 -0
  7. package/dist/agent/schmancy.agent.js.map +1 -0
  8. package/dist/agent/schmancy.manifest.json +6879 -0
  9. package/dist/agent/vendor-highlight-CHJZQQB7.js +2178 -0
  10. package/dist/agent/vendor-highlight-CHJZQQB7.js.map +1 -0
  11. package/dist/agent/vendor-jsqr-r7GNh4P3.js +10212 -0
  12. package/dist/agent/vendor-jsqr-r7GNh4P3.js.map +1 -0
  13. package/dist/agent/vendor-material-color-Be96dpGE.js +3309 -0
  14. package/dist/agent/vendor-material-color-Be96dpGE.js.map +1 -0
  15. package/dist/{area-BafkBc1f.cjs → area-CApZWjqs.cjs} +1 -1
  16. package/dist/area-CApZWjqs.cjs.map +1 -0
  17. package/dist/{area-D03HRn1L.js → area-D_p1YBgP.js} +1 -1
  18. package/dist/area-D_p1YBgP.js.map +1 -0
  19. package/dist/area.cjs +1 -1
  20. package/dist/area.js +1 -1
  21. package/dist/audio-C7TzWI8M.js.map +1 -1
  22. package/dist/audio-DUVz7Ars.cjs.map +1 -1
  23. package/dist/{autocomplete-BotVnTfP.js → autocomplete-DAK35swc.js} +2 -2
  24. package/dist/{autocomplete-BotVnTfP.js.map → autocomplete-DAK35swc.js.map} +1 -1
  25. package/dist/{autocomplete-BeLg4A3T.cjs → autocomplete-DlCqS1gW.cjs} +1 -1
  26. package/dist/{autocomplete-BeLg4A3T.cjs.map → autocomplete-DlCqS1gW.cjs.map} +1 -1
  27. package/dist/autocomplete.cjs +1 -1
  28. package/dist/autocomplete.js +1 -1
  29. package/dist/badge.cjs +1 -1
  30. package/dist/badge.js +1 -1
  31. package/dist/{boat-4hSLFsGy.cjs → boat-C57YTPbb.cjs} +1 -1
  32. package/dist/{boat-4hSLFsGy.cjs.map → boat-C57YTPbb.cjs.map} +1 -1
  33. package/dist/{boat-C1wGdoaF.js → boat-Dms45k4o.js} +1 -1
  34. package/dist/{boat-C1wGdoaF.js.map → boat-Dms45k4o.js.map} +1 -1
  35. package/dist/boat.cjs +1 -1
  36. package/dist/boat.js +1 -1
  37. package/dist/breadcrumb.cjs +1 -1
  38. package/dist/breadcrumb.js +1 -1
  39. package/dist/{busy-C0qP0TiL.cjs → busy-BfN1p1n8.cjs} +1 -1
  40. package/dist/{busy-C0qP0TiL.cjs.map → busy-BfN1p1n8.cjs.map} +1 -1
  41. package/dist/{busy-D74-XaFn.js → busy-IKS9obYj.js} +1 -1
  42. package/dist/{busy-D74-XaFn.js.map → busy-IKS9obYj.js.map} +1 -1
  43. package/dist/busy.cjs +1 -1
  44. package/dist/busy.js +1 -1
  45. package/dist/button.cjs +1 -1
  46. package/dist/button.cjs.map +1 -1
  47. package/dist/button.js +3 -3
  48. package/dist/button.js.map +1 -1
  49. package/dist/{card-DiNYPJ9b.js → card-DQNBal9V.js} +1 -1
  50. package/dist/{card-DiNYPJ9b.js.map → card-DQNBal9V.js.map} +1 -1
  51. package/dist/{card-Bht1QcYl.cjs → card-ZObyqkFF.cjs} +1 -1
  52. package/dist/{card-Bht1QcYl.cjs.map → card-ZObyqkFF.cjs.map} +1 -1
  53. package/dist/card.cjs +1 -1
  54. package/dist/card.js +1 -1
  55. package/dist/charts.cjs +1 -1
  56. package/dist/charts.js +1 -1
  57. package/dist/{checkbox-dRBf89qt.js → checkbox-COhTJ1x5.js} +1 -1
  58. package/dist/{checkbox-dRBf89qt.js.map → checkbox-COhTJ1x5.js.map} +1 -1
  59. package/dist/{checkbox-CRzu7URt.cjs → checkbox-CiAtIrqB.cjs} +1 -1
  60. package/dist/{checkbox-CRzu7URt.cjs.map → checkbox-CiAtIrqB.cjs.map} +1 -1
  61. package/dist/checkbox.cjs +1 -1
  62. package/dist/checkbox.js +1 -1
  63. package/dist/{chips-Bma_B3J-.js → chips-B5o3vNQF.js} +3 -3
  64. package/dist/{chips-Bma_B3J-.js.map → chips-B5o3vNQF.js.map} +1 -1
  65. package/dist/{chips-CXknD-vY.cjs → chips-D2xmsC36.cjs} +1 -1
  66. package/dist/{chips-CXknD-vY.cjs.map → chips-D2xmsC36.cjs.map} +1 -1
  67. package/dist/chips.cjs +1 -1
  68. package/dist/chips.js +2 -2
  69. package/dist/{code-highlight-BROOsNA_.cjs → code-highlight-BToHh8T6.cjs} +1 -1
  70. package/dist/{code-highlight-BROOsNA_.cjs.map → code-highlight-BToHh8T6.cjs.map} +1 -1
  71. package/dist/{code-highlight-DjiyaDcX.js → code-highlight-SkMMTkIJ.js} +1 -1
  72. package/dist/{code-highlight-DjiyaDcX.js.map → code-highlight-SkMMTkIJ.js.map} +1 -1
  73. package/dist/code-highlight.cjs +1 -1
  74. package/dist/code-highlight.js +1 -1
  75. package/dist/{components-ubXwQbGs.cjs → components-B-XYvUWn.cjs} +1 -1
  76. package/dist/{components-ubXwQbGs.cjs.map → components-B-XYvUWn.cjs.map} +1 -1
  77. package/dist/{components-DKgu88mm.js → components-Ca7OTgbQ.js} +1 -1
  78. package/dist/{components-DKgu88mm.js.map → components-Ca7OTgbQ.js.map} +1 -1
  79. package/dist/components.cjs +1 -1
  80. package/dist/components.js +1 -1
  81. package/dist/connectivity.cjs +1 -1
  82. package/dist/connectivity.js +1 -1
  83. package/dist/content-drawer.cjs +1 -1
  84. package/dist/content-drawer.js +1 -1
  85. package/dist/context-C6GwmNJJ.cjs +1 -0
  86. package/dist/{context-B81Q3U_1.cjs.map → context-C6GwmNJJ.cjs.map} +1 -1
  87. package/dist/context-oBTPHrbc.js +3 -0
  88. package/dist/{context-Dnj4ofbV.js.map → context-oBTPHrbc.js.map} +1 -1
  89. package/dist/cursor-glow-82y5h3E4.cjs.map +1 -1
  90. package/dist/{date-range-n_xPONd5.cjs → date-range-BTA9nKbw.cjs} +1 -1
  91. package/dist/{date-range-n_xPONd5.cjs.map → date-range-BTA9nKbw.cjs.map} +1 -1
  92. package/dist/{date-range-CwqFuGGK.js → date-range-DUWpF0Qw.js} +2 -2
  93. package/dist/{date-range-CwqFuGGK.js.map → date-range-DUWpF0Qw.js.map} +1 -1
  94. package/dist/date-range.cjs +1 -1
  95. package/dist/date-range.js +1 -1
  96. package/dist/{delay-BFpu_Yz9.cjs → delay-Co89XWry.cjs} +1 -1
  97. package/dist/{delay-BFpu_Yz9.cjs.map → delay-Co89XWry.cjs.map} +1 -1
  98. package/dist/{delay-Bkd3SOTy.js → delay-CtDrlf1Q.js} +3 -3
  99. package/dist/{delay-Bkd3SOTy.js.map → delay-CtDrlf1Q.js.map} +1 -1
  100. package/dist/delay.cjs +1 -1
  101. package/dist/delay.js +1 -1
  102. package/dist/{details-DZq61CD5.js → details-B1Ax7WiP.js} +1 -1
  103. package/dist/{details-DZq61CD5.js.map → details-B1Ax7WiP.js.map} +1 -1
  104. package/dist/{details-Bal2g3J4.cjs → details-CyXyVdb2.cjs} +1 -1
  105. package/dist/{details-Bal2g3J4.cjs.map → details-CyXyVdb2.cjs.map} +1 -1
  106. package/dist/details.cjs +1 -1
  107. package/dist/details.js +1 -1
  108. package/dist/dialog-service-CCFGpU7a.js.map +1 -1
  109. package/dist/dialog-service-DXLGSshF.cjs.map +1 -1
  110. package/dist/dialog.cjs +1 -1
  111. package/dist/dialog.cjs.map +1 -1
  112. package/dist/dialog.js +1 -1
  113. package/dist/directives.cjs.map +1 -1
  114. package/dist/directives.js.map +1 -1
  115. package/dist/{divider-ChK7lCQF.js → divider-DuwCrKQu.js} +1 -1
  116. package/dist/{divider-ChK7lCQF.js.map → divider-DuwCrKQu.js.map} +1 -1
  117. package/dist/{divider-RjZbewe8.cjs → divider-xcvHqVBc.cjs} +1 -1
  118. package/dist/{divider-RjZbewe8.cjs.map → divider-xcvHqVBc.cjs.map} +1 -1
  119. package/dist/divider.cjs +1 -1
  120. package/dist/divider.js +1 -1
  121. package/dist/dropdown.cjs +1 -1
  122. package/dist/dropdown.js +2 -2
  123. package/dist/{expand-DwZKr9hD.cjs → expand-DUgOh1af.cjs} +1 -1
  124. package/dist/{expand-DwZKr9hD.cjs.map → expand-DUgOh1af.cjs.map} +1 -1
  125. package/dist/{expand-CUrWPZu-.js → expand-X0C1W279.js} +2 -2
  126. package/dist/{expand-CUrWPZu-.js.map → expand-X0C1W279.js.map} +1 -1
  127. package/dist/expand.cjs +1 -1
  128. package/dist/expand.js +1 -1
  129. package/dist/{extra-C7xp1GQG.js → extra-BTyq-5Z6.js} +1 -1
  130. package/dist/{extra-C7xp1GQG.js.map → extra-BTyq-5Z6.js.map} +1 -1
  131. package/dist/{extra-BE9p8l3U.cjs → extra-BqfYIC_q.cjs} +1 -1
  132. package/dist/{extra-BE9p8l3U.cjs.map → extra-BqfYIC_q.cjs.map} +1 -1
  133. package/dist/extra.cjs +1 -1
  134. package/dist/extra.js +1 -1
  135. package/dist/{float-kRCgEf_1.js → float-BgGeLER6.js} +1 -1
  136. package/dist/{float-kRCgEf_1.js.map → float-BgGeLER6.js.map} +1 -1
  137. package/dist/{float-DoHSvH7R.cjs → float-yZoLnUg0.cjs} +1 -1
  138. package/dist/{float-DoHSvH7R.cjs.map → float-yZoLnUg0.cjs.map} +1 -1
  139. package/dist/float.cjs +1 -1
  140. package/dist/float.js +1 -1
  141. package/dist/{icons-D93IZn6-.js → icons-BDcb8dNb.js} +2 -2
  142. package/dist/{icons-D93IZn6-.js.map → icons-BDcb8dNb.js.map} +1 -1
  143. package/dist/{icons-Bz84Dr-q.cjs → icons-BLFEJFDG.cjs} +1 -1
  144. package/dist/{icons-Bz84Dr-q.cjs.map → icons-BLFEJFDG.cjs.map} +1 -1
  145. package/dist/icons.cjs +1 -1
  146. package/dist/icons.js +1 -1
  147. package/dist/{iframe-Cmanzy9x.cjs → iframe-CrDpQkhj.cjs} +1 -1
  148. package/dist/{iframe-Cmanzy9x.cjs.map → iframe-CrDpQkhj.cjs.map} +1 -1
  149. package/dist/{iframe-DyOg96rn.js → iframe-qCW0HzwB.js} +1 -1
  150. package/dist/{iframe-DyOg96rn.js.map → iframe-qCW0HzwB.js.map} +1 -1
  151. package/dist/iframe.cjs +1 -1
  152. package/dist/iframe.js +1 -1
  153. package/dist/index.cjs +1 -1
  154. package/dist/index.js +32 -32
  155. package/dist/{input-DIuyi3Gm.cjs → input-C1MIZaKq.cjs} +1 -1
  156. package/dist/{input-DIuyi3Gm.cjs.map → input-C1MIZaKq.cjs.map} +1 -1
  157. package/dist/{input-HzweUBSn.js → input-Dv-HtkM9.js} +1 -1
  158. package/dist/{input-HzweUBSn.js.map → input-Dv-HtkM9.js.map} +1 -1
  159. package/dist/{input-chip-B4uw64rQ.js → input-chip-CyvjhQSw.js} +1 -1
  160. package/dist/{input-chip-B4uw64rQ.js.map → input-chip-CyvjhQSw.js.map} +1 -1
  161. package/dist/{input-chip-DY9IEbQj.cjs → input-chip-DnfthOSY.cjs} +1 -1
  162. package/dist/{input-chip-DY9IEbQj.cjs.map → input-chip-DnfthOSY.cjs.map} +1 -1
  163. package/dist/input.cjs +1 -1
  164. package/dist/input.js +1 -1
  165. package/dist/json.cjs +1 -1
  166. package/dist/json.js +2 -2
  167. package/dist/kbd.cjs +1 -1
  168. package/dist/kbd.js +1 -1
  169. package/dist/{layout-DIuACbuC.cjs → layout-D0cR3hT1.cjs} +1 -1
  170. package/dist/{layout-DIuACbuC.cjs.map → layout-D0cR3hT1.cjs.map} +1 -1
  171. package/dist/layout-PZCF3kwl.cjs.map +1 -1
  172. package/dist/{layout-D7OCZ8rE.js → layout-Y5qo3er8.js} +2 -2
  173. package/dist/{layout-D7OCZ8rE.js.map → layout-Y5qo3er8.js.map} +1 -1
  174. package/dist/layout.cjs +1 -1
  175. package/dist/layout.js +2 -2
  176. package/dist/{lightbox-DL-v1tk9.js → lightbox-C_pqYF6q.js} +2 -2
  177. package/dist/{lightbox-DL-v1tk9.js.map → lightbox-C_pqYF6q.js.map} +1 -1
  178. package/dist/{lightbox-DFbqNGoX.cjs → lightbox-Ce8nMldr.cjs} +1 -1
  179. package/dist/{lightbox-DFbqNGoX.cjs.map → lightbox-Ce8nMldr.cjs.map} +1 -1
  180. package/dist/lightbox.cjs +1 -1
  181. package/dist/lightbox.js +1 -1
  182. package/dist/{list-D99W7WvC.cjs → list-CLc_OQ5k.cjs} +1 -1
  183. package/dist/{list-D99W7WvC.cjs.map → list-CLc_OQ5k.cjs.map} +1 -1
  184. package/dist/{list-DZTLJ-2e.js → list-DcnTGee0.js} +2 -2
  185. package/dist/{list-DZTLJ-2e.js.map → list-DcnTGee0.js.map} +1 -1
  186. package/dist/list.cjs +1 -1
  187. package/dist/list.js +1 -1
  188. package/dist/{litElement.mixin-De5SG5z7.cjs → litElement.mixin-DeT3kAOS.cjs} +1 -1
  189. package/dist/{litElement.mixin-De5SG5z7.cjs.map → litElement.mixin-DeT3kAOS.cjs.map} +1 -1
  190. package/dist/{litElement.mixin-D6ZHgGZv.js → litElement.mixin-Mi8bar6B.js} +1 -1
  191. package/dist/{litElement.mixin-D6ZHgGZv.js.map → litElement.mixin-Mi8bar6B.js.map} +1 -1
  192. package/dist/magnetic-aBBnj_vk.cjs.map +1 -1
  193. package/dist/{mailbox-BBV6hDAa.js → mailbox-BrLZPj2o.js} +4 -4
  194. package/dist/{mailbox-BBV6hDAa.js.map → mailbox-BrLZPj2o.js.map} +1 -1
  195. package/dist/{mailbox-CW7zc0v-.cjs → mailbox-CE5sTDsQ.cjs} +1 -1
  196. package/dist/{mailbox-CW7zc0v-.cjs.map → mailbox-CE5sTDsQ.cjs.map} +1 -1
  197. package/dist/mailbox.cjs +1 -1
  198. package/dist/mailbox.js +1 -1
  199. package/dist/{map-CSQMA89X.cjs → map-CKzhM6uY.cjs} +1 -1
  200. package/dist/{map-CSQMA89X.cjs.map → map-CKzhM6uY.cjs.map} +1 -1
  201. package/dist/{map-PvojF8B3.js → map-SNb-3q5h.js} +1 -1
  202. package/dist/{map-PvojF8B3.js.map → map-SNb-3q5h.js.map} +1 -1
  203. package/dist/map.cjs +1 -1
  204. package/dist/map.js +1 -1
  205. package/dist/{menu-3XXOfmrj.cjs → menu-BnGjBrdD.cjs} +1 -1
  206. package/dist/{menu-3XXOfmrj.cjs.map → menu-BnGjBrdD.cjs.map} +1 -1
  207. package/dist/{menu-B_o1fOPW.js → menu-VErqs9NG.js} +1 -1
  208. package/dist/{menu-B_o1fOPW.js.map → menu-VErqs9NG.js.map} +1 -1
  209. package/dist/menu.cjs +1 -1
  210. package/dist/menu.js +1 -1
  211. package/dist/mixins.cjs +1 -1
  212. package/dist/mixins.js +2 -2
  213. package/dist/nav-drawer.cjs +1 -1
  214. package/dist/nav-drawer.js +1 -1
  215. package/dist/navigation-bar.cjs +1 -1
  216. package/dist/navigation-bar.js +1 -1
  217. package/dist/navigation-rail.cjs +1 -1
  218. package/dist/navigation-rail.js +1 -1
  219. package/dist/{notification-BMtrJG-Y.js → notification-B_Fkxv7d.js} +2 -2
  220. package/dist/notification-B_Fkxv7d.js.map +1 -0
  221. package/dist/{notification-NnsatHAh.cjs → notification-DE5dFf8G.cjs} +1 -1
  222. package/dist/notification-DE5dFf8G.cjs.map +1 -0
  223. package/dist/notification.cjs +1 -1
  224. package/dist/notification.js +1 -1
  225. package/dist/{option-DxIFpYpC.cjs → option-BmbP5ulK.cjs} +1 -1
  226. package/dist/{option-DxIFpYpC.cjs.map → option-BmbP5ulK.cjs.map} +1 -1
  227. package/dist/{option-CNzW-sdU.js → option-DuAlGv27.js} +1 -1
  228. package/dist/{option-CNzW-sdU.js.map → option-DuAlGv27.js.map} +1 -1
  229. package/dist/option.cjs +1 -1
  230. package/dist/option.js +1 -1
  231. package/dist/page.cjs +1 -1
  232. package/dist/page.cjs.map +1 -1
  233. package/dist/page.js +2 -2
  234. package/dist/{progress-DHmYCHmy.js → progress-BnXr7aAs.js} +1 -1
  235. package/dist/{progress-DHmYCHmy.js.map → progress-BnXr7aAs.js.map} +1 -1
  236. package/dist/{progress-Cw6Qn3Kb.cjs → progress-Bt9gUiGP.cjs} +1 -1
  237. package/dist/{progress-Cw6Qn3Kb.cjs.map → progress-Bt9gUiGP.cjs.map} +1 -1
  238. package/dist/progress.cjs +1 -1
  239. package/dist/progress.js +1 -1
  240. package/dist/{provide-Dsoh3FdP.cjs → provide-CnXCF-UP.cjs} +1 -1
  241. package/dist/{provide-Dsoh3FdP.cjs.map → provide-CnXCF-UP.cjs.map} +1 -1
  242. package/dist/{provide-C4L6R1lo.js → provide-Disc6_zz.js} +1 -1
  243. package/dist/{provide-C4L6R1lo.js.map → provide-Disc6_zz.js.map} +1 -1
  244. package/dist/qr-scanner.cjs +1 -1
  245. package/dist/qr-scanner.js +1 -1
  246. package/dist/{radio-group-DneItRXU.js → radio-group-BgZgHMoA.js} +1 -1
  247. package/dist/{radio-group-DneItRXU.js.map → radio-group-BgZgHMoA.js.map} +1 -1
  248. package/dist/{radio-group-xgKQTd6h.cjs → radio-group-DkBFgq_3.cjs} +1 -1
  249. package/dist/{radio-group-xgKQTd6h.cjs.map → radio-group-DkBFgq_3.cjs.map} +1 -1
  250. package/dist/radio-group.cjs +1 -1
  251. package/dist/radio-group.js +1 -1
  252. package/dist/range.cjs +1 -1
  253. package/dist/range.js +1 -1
  254. package/dist/{scroll-D7QJYev7.js → scroll-57rkTHm8.js} +1 -1
  255. package/dist/{scroll-D7QJYev7.js.map → scroll-57rkTHm8.js.map} +1 -1
  256. package/dist/{scroll-DZAB4JFv.cjs → scroll-hWt0b1gK.cjs} +1 -1
  257. package/dist/{scroll-DZAB4JFv.cjs.map → scroll-hWt0b1gK.cjs.map} +1 -1
  258. package/dist/{select-D2eLEDUT.cjs → select-BDonPD5a.cjs} +1 -1
  259. package/dist/{select-D2eLEDUT.cjs.map → select-BDonPD5a.cjs.map} +1 -1
  260. package/dist/{select-B2T3RZng.js → select-CkOAwmxC.js} +1 -1
  261. package/dist/{select-B2T3RZng.js.map → select-CkOAwmxC.js.map} +1 -1
  262. package/dist/select.cjs +1 -1
  263. package/dist/select.js +1 -1
  264. package/dist/{sheet-NaecDxuR.cjs → sheet-Bv2mPHWk.cjs} +1 -1
  265. package/dist/{sheet-NaecDxuR.cjs.map → sheet-Bv2mPHWk.cjs.map} +1 -1
  266. package/dist/{sheet-BiGXZPdu.js → sheet-NUgEmozP.js} +3 -3
  267. package/dist/{sheet-BiGXZPdu.js.map → sheet-NUgEmozP.js.map} +1 -1
  268. package/dist/sheet.cjs +1 -1
  269. package/dist/sheet.js +2 -2
  270. package/dist/{sheet.service-CQq5hUNb.cjs → sheet.service-BKmnlkpZ.cjs} +1 -1
  271. package/dist/{sheet.service-CQq5hUNb.cjs.map → sheet.service-BKmnlkpZ.cjs.map} +1 -1
  272. package/dist/{sheet.service-gek7Spb6.js → sheet.service-CanLo8ko.js} +1 -1
  273. package/dist/{sheet.service-gek7Spb6.js.map → sheet.service-CanLo8ko.js.map} +1 -1
  274. package/dist/skeleton.cjs +1 -1
  275. package/dist/skeleton.js +1 -1
  276. package/dist/skills/SKILL.md +5 -3
  277. package/dist/skills/schmancy/SKILL.md +5 -3
  278. package/dist/slider.cjs +1 -1
  279. package/dist/slider.js +1 -1
  280. package/dist/{splash-screen-Dc6LDIbK.js → splash-screen-B0ppA3f1.js} +1 -1
  281. package/dist/{splash-screen-Dc6LDIbK.js.map → splash-screen-B0ppA3f1.js.map} +1 -1
  282. package/dist/{splash-screen-CxPHf-SC.cjs → splash-screen-BemqNFNj.cjs} +1 -1
  283. package/dist/{splash-screen-CxPHf-SC.cjs.map → splash-screen-BemqNFNj.cjs.map} +1 -1
  284. package/dist/splash-screen.cjs +1 -1
  285. package/dist/splash-screen.js +1 -1
  286. package/dist/{src-BP8bYUHc.cjs → src-ByGCYD-E.cjs} +1 -1
  287. package/dist/src-ByGCYD-E.cjs.map +1 -0
  288. package/dist/{src-BYrvfmFF.js → src-Cjy9zCiU.js} +41 -41
  289. package/dist/src-Cjy9zCiU.js.map +1 -0
  290. package/dist/steps.cjs +1 -1
  291. package/dist/steps.js +3 -3
  292. package/dist/store-Bmj6rvZY.js.map +1 -1
  293. package/dist/store-CO4nJyGj.cjs.map +1 -1
  294. package/dist/{surface-C9plkl5F.cjs → surface-CoLYICO1.cjs} +1 -1
  295. package/dist/{surface-C9plkl5F.cjs.map → surface-CoLYICO1.cjs.map} +1 -1
  296. package/dist/{surface-B2cmGNZ2.js → surface-CtpWeSGn.js} +2 -2
  297. package/dist/{surface-B2cmGNZ2.js.map → surface-CtpWeSGn.js.map} +1 -1
  298. package/dist/surface.cjs +1 -1
  299. package/dist/surface.js +1 -1
  300. package/dist/switch.cjs +1 -1
  301. package/dist/switch.js +1 -1
  302. package/dist/{table-6xNLZh3K.cjs → table-COQKtlJB.cjs} +1 -1
  303. package/dist/{table-6xNLZh3K.cjs.map → table-COQKtlJB.cjs.map} +1 -1
  304. package/dist/{table-BCJgjSvq.js → table-bgFb1KYU.js} +1 -1
  305. package/dist/{table-BCJgjSvq.js.map → table-bgFb1KYU.js.map} +1 -1
  306. package/dist/table.cjs +1 -1
  307. package/dist/table.js +1 -1
  308. package/dist/{tabs-BDqvhB54.js → tabs-BicCpU1B.js} +2 -2
  309. package/dist/{tabs-BDqvhB54.js.map → tabs-BicCpU1B.js.map} +1 -1
  310. package/dist/{tabs-pvevSaFB.cjs → tabs-CoMJAXDy.cjs} +1 -1
  311. package/dist/{tabs-pvevSaFB.cjs.map → tabs-CoMJAXDy.cjs.map} +1 -1
  312. package/dist/tabs.cjs +1 -1
  313. package/dist/tabs.js +1 -1
  314. package/dist/tailwind.mixin-BfdVIGgD.cjs +2 -0
  315. package/dist/{tailwind.mixin-Bug3G6K6.cjs.map → tailwind.mixin-BfdVIGgD.cjs.map} +1 -1
  316. package/dist/tailwind.mixin-CNdR3zFD.js +219 -0
  317. package/dist/{tailwind.mixin-ywtUNG2c.js.map → tailwind.mixin-CNdR3zFD.js.map} +1 -1
  318. package/dist/teleport.cjs +1 -1
  319. package/dist/teleport.js +1 -1
  320. package/dist/{textarea-D2v000gK.cjs → textarea-CxTSwn3x.cjs} +1 -1
  321. package/dist/{textarea-D2v000gK.cjs.map → textarea-CxTSwn3x.cjs.map} +1 -1
  322. package/dist/{textarea-BvZn41aa.js → textarea-D7O9Uo15.js} +1 -1
  323. package/dist/{textarea-BvZn41aa.js.map → textarea-D7O9Uo15.js.map} +1 -1
  324. package/dist/textarea.cjs +1 -1
  325. package/dist/textarea.js +1 -1
  326. package/dist/{theme-Dw9Ag_VS.cjs → theme-CCez6SRm.cjs} +1 -1
  327. package/dist/{theme-Dw9Ag_VS.cjs.map → theme-CCez6SRm.cjs.map} +1 -1
  328. package/dist/{theme-JvXazXJr.js → theme-DGiyJMTT.js} +3 -3
  329. package/dist/{theme-JvXazXJr.js.map → theme-DGiyJMTT.js.map} +1 -1
  330. package/dist/{theme-button-qHd4AFsE.cjs → theme-button-BV0CxpGn.cjs} +1 -1
  331. package/dist/{theme-button-qHd4AFsE.cjs.map → theme-button-BV0CxpGn.cjs.map} +1 -1
  332. package/dist/{theme-button-Bh8wKXtV.js → theme-button-s9GfSQL5.js} +1 -1
  333. package/dist/{theme-button-Bh8wKXtV.js.map → theme-button-s9GfSQL5.js.map} +1 -1
  334. package/dist/theme-button.cjs +1 -1
  335. package/dist/theme-button.js +1 -1
  336. package/dist/theme.cjs +1 -1
  337. package/dist/theme.js +2 -2
  338. package/dist/theme.service-ETiKUwVy.cjs.map +1 -1
  339. package/dist/theme.service-_qP5WvB9.js.map +1 -1
  340. package/dist/tree.cjs +1 -1
  341. package/dist/tree.cjs.map +1 -1
  342. package/dist/tree.js +1 -1
  343. package/dist/{typewriter-PpYJFsVi.js → typewriter-BTqEQXsX.js} +3 -3
  344. package/dist/{typewriter-PpYJFsVi.js.map → typewriter-BTqEQXsX.js.map} +1 -1
  345. package/dist/{typewriter-C5uDB2Lu.cjs → typewriter-DeaL3NfZ.cjs} +1 -1
  346. package/dist/{typewriter-C5uDB2Lu.cjs.map → typewriter-DeaL3NfZ.cjs.map} +1 -1
  347. package/dist/typewriter.cjs +1 -1
  348. package/dist/typewriter.js +1 -1
  349. package/dist/typography.cjs +1 -1
  350. package/dist/typography.js +1 -1
  351. package/dist/utils-C8PD8So2.cjs.map +1 -1
  352. package/dist/utils-DVuCPDfw.js.map +1 -1
  353. package/dist/visually-hidden.cjs +1 -1
  354. package/dist/visually-hidden.js +1 -1
  355. package/dist/{window-ChDgkb97.js → window-CDHDVOwO.js} +1 -1
  356. package/dist/{window-ChDgkb97.js.map → window-CDHDVOwO.js.map} +1 -1
  357. package/dist/{window-Czfu-i4Y.cjs → window-IGZgxuUC.cjs} +1 -1
  358. package/dist/{window-Czfu-i4Y.cjs.map → window-IGZgxuUC.cjs.map} +1 -1
  359. package/dist/window.cjs +1 -1
  360. package/dist/window.js +1 -1
  361. package/package.json +15 -3
  362. package/skills/schmancy/SKILL.md +5 -3
  363. package/src/agent/agent-bundle.test.ts +92 -0
  364. package/src/agent/agent-entry.ts +17 -0
  365. package/src/agent/helpers.ts +161 -0
  366. package/src/agent/index.ts +1 -0
  367. package/src/agent/schmancy-skill.ts +71 -0
  368. package/src/agent/virtual-manifest.d.ts +10 -0
  369. package/src/area/area.service.ts +11 -0
  370. package/src/content-drawer/drawer.service.ts +9 -0
  371. package/src/dialog/dialog-service.ts +11 -1
  372. package/src/notification/notification-service.ts +11 -1
  373. package/src/sheet/sheet.service.ts +10 -0
  374. package/src/theme/theme.service.ts +11 -1
  375. package/types/src/agent/agent-bundle.test.d.ts +1 -0
  376. package/types/src/agent/agent-entry.d.ts +4 -0
  377. package/types/src/agent/helpers.d.ts +87 -0
  378. package/types/src/agent/index.d.ts +1 -0
  379. package/types/src/agent/schmancy-skill.d.ts +33 -0
  380. package/types/src/area/area.service.d.ts +11 -0
  381. package/types/src/content-drawer/drawer.service.d.ts +9 -0
  382. package/types/src/dialog/dialog-service.d.ts +11 -1
  383. package/types/src/notification/notification-service.d.ts +11 -1
  384. package/types/src/sheet/sheet.service.d.ts +9 -0
  385. package/types/src/theme/theme.service.d.ts +11 -0
  386. package/dist/area-BafkBc1f.cjs.map +0 -1
  387. package/dist/area-D03HRn1L.js.map +0 -1
  388. package/dist/context-B81Q3U_1.cjs +0 -1
  389. package/dist/context-Dnj4ofbV.js +0 -3
  390. package/dist/notification-BMtrJG-Y.js.map +0 -1
  391. package/dist/notification-NnsatHAh.cjs.map +0 -1
  392. package/dist/src-BP8bYUHc.cjs.map +0 -1
  393. package/dist/src-BYrvfmFF.js.map +0 -1
  394. package/dist/tailwind.mixin-Bug3G6K6.cjs +0 -2
  395. package/dist/tailwind.mixin-ywtUNG2c.js +0 -219
@@ -1 +0,0 @@
1
- {"version":3,"file":"src-BYrvfmFF.js","names":[],"sources":["../src/badge/badge.ts","../src/content-drawer/drawer.service.ts","../src/content-drawer/context.ts","../src/content-drawer/drawer.ts","../src/content-drawer/main.ts","../src/content-drawer/sheet.ts","../src/nav-drawer/$navbar.ts","../src/nav-drawer/appbar.ts","../src/nav-drawer/content.ts","../src/nav-drawer/context.ts","../src/nav-drawer/drawer.ts","../src/nav-drawer/navbar.ts","../src/navigation-bar/navigation-bar-item.ts","../src/navigation-bar/navigation-bar.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' | 'surface'\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\twidth: fit-content;\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\tsurface: {\n\t\t\t\tbg: this.outlined ? 'transparent' : SchmancyTheme.sys.color.surface.high,\n\t\t\t\ttext: SchmancyTheme.sys.color.surface.on,\n\t\t\t\tborder: this.outlined ? SchmancyTheme.sys.color.outline : 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'transition-all duration-200 ease-in-out': 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\t'hover:brightness-95 hover:-translate-y-px': this.outlined,\n\t\t\t'hover:brightness-[0.98]': !this.outlined,\n\t\t}\n\n\t\t// Refined styles for a more elegant look (only CSS that can't be done with Tailwind)\n\t\tconst styles = {\n\t\t\tborderColor: colorStyles.border,\n\t\t\tbackdropFilter: this.outlined ? 'blur(4px)' : undefined,\n\t\t\tboxShadow: this.size === 'lg' && !this.outlined ? '0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.1)' : undefined,\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=\"shrink-0 flex items-center justify-center leading-none\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon .size=${iconSize} class=\"flex items-center justify-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 with proper spacing from icon -->\n\t\t\t\t<div part=\"content\" class=\"flex items-center leading-none tracking-[0.01em] ${this.icon ? 'ml-[0.38em]' : ''}\">\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 { BehaviorSubject, Subject, concatMap, delay, of, tap } from 'rxjs'\nimport { ComponentType } from '../area/router.types'\n\n// type DrawerAction = 'dismiss' | 'render' | 'push'\ntype TRef = Element | Window\ntype TRenderRequest = ComponentType\nexport type TRenderCustomEvent = CustomEvent<{\n\tcomponent: TRenderRequest\n\ttitle?: string\n\tstate?: Record<string, unknown>\n\tparams?: Record<string, unknown>\n\tprops?: Record<string, unknown>\n}>\n\nexport type DrawerPushOptions = {\n\tcomponent: ComponentType\n\tstate?: Record<string, unknown>\n\tparams?: Record<string, unknown>\n\tprops?: Record<string, unknown>\n}\n\ntype DrawerCommand =\n\t| { action: 'dismiss'; ref: TRef }\n\t| { action: 'render'; ref: TRef; component: TRenderRequest; title?: string }\n\t| { action: 'push'; ref: TRef; component: ComponentType; state?: Record<string, unknown>; params?: Record<string, unknown>; props?: Record<string, unknown> }\n\nclass DrawerService {\n\tprivate $drawer = new Subject<DrawerCommand>()\n\tprivate pushCounter = 0\n\tprivate isDismissing$ = new BehaviorSubject<boolean>(false)\n\n\tconstructor() {\n\t\t// Use concatMap to queue commands and process them sequentially\n\t\tthis.$drawer.pipe(\n\t\t\tconcatMap(command => {\n\t\t\t\tswitch (command.action) {\n\t\t\t\t\tcase 'dismiss':\n\t\t\t\t\t\treturn of(command).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\tthis.isDismissing$.next(true)\n\t\t\t\t\t\t\t\tthis.dispatchToggleEvent(command.ref, 'close')\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t// Wait for dismiss animation (250ms from sheet.ts)\n\t\t\t\t\t\t\tdelay(300),\n\t\t\t\t\t\t\ttap(() => this.isDismissing$.next(false))\n\t\t\t\t\t\t)\n\t\t\t\t\tcase 'render':\n\t\t\t\t\t\treturn of(command).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\tthis.dispatchToggleEvent(command.ref, 'open')\n\t\t\t\t\t\t\t\tthis.dispatchRenderEvent(command.ref, command.component, command.title)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\tcase 'push':\n\t\t\t\t\t\treturn of(command).pipe(\n\t\t\t\t\t\t\ttap(() => this.handlePush(command.ref, command.component, command.state, command.params, command.props))\n\t\t\t\t\t\t)\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn of(null)\n\t\t\t\t}\n\t\t\t})\n\t\t).subscribe()\n\t}\n\n\tprivate dispatchToggleEvent(ref: TRef, state: 'open' | 'close') {\n\t\tref.dispatchEvent(\n\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\tdetail: { state },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprivate dispatchRenderEvent(\n\t\tref: TRef,\n\t\tcomponent: TRenderRequest,\n\t\ttitle?: string,\n\t\tstate?: Record<string, unknown>,\n\t\tparams?: Record<string, unknown>,\n\t\tprops?: Record<string, unknown>\n\t) {\n\t\tref.dispatchEvent(\n\t\t\tnew CustomEvent('schmancy-content-drawer-render', {\n\t\t\t\tdetail: { component, title, state, params, props },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tdimiss(ref: TRef) {\n\t\tthis.$drawer.next({\n\t\t\taction: 'dismiss',\n\t\t\tref: ref,\n\t\t})\n\t}\n\n\trender(ref: TRef, component: TRenderRequest, title?: string) {\n\t\tref.dispatchEvent(new CustomEvent('custom-event'))\n\t\tthis.$drawer.next({\n\t\t\taction: 'render',\n\t\t\tref: ref,\n\t\t\tcomponent: component,\n\t\t\ttitle,\n\t\t})\n\t}\n\n\tprivate handlePush(\n\t\tref: TRef,\n\t\tcomponent: ComponentType,\n\t\tstate?: Record<string, unknown>,\n\t\tparams?: Record<string, unknown>,\n\t\tprops?: Record<string, unknown>\n\t) {\n\t\t// Auto-increment counter to make every push unique\n\t\t// Area router uses distinctUntilChanged on component+state+params+props\n\t\t// Without this, pushing same component with same props gets silently blocked\n\t\tconst enhancedState = {\n\t\t\t...state,\n\t\t\t_drawerPushId: ++this.pushCounter\n\t\t}\n\n\t\tthis.dispatchToggleEvent(ref, 'open')\n\t\tthis.dispatchRenderEvent(ref, component, undefined, enhancedState, params, props)\n\t}\n\n\t/**\n\t * Push a component to the content drawer\n\t * Every push is guaranteed to render (auto-incremented unique ID prevents deduplication)\n\t * @param options - Component configuration object with optional state/params/props\n\t * @example\n\t * schmancyContentDrawer.push({\n\t * component: myComponent,\n\t * props: { id: '123' }\n\t * })\n\t */\n\tpush(options: DrawerPushOptions): void {\n\t\tthis.$drawer.next({\n\t\t\taction: 'push',\n\t\t\tref: window,\n\t\t\t...options,\n\t\t})\n\t}\n}\n\nexport const schmancyContentDrawer = new DrawerService()","import { createContext } from '@lit/context'\nexport type TSchmancyContentDrawerSheetMode = 'push' | 'overlay'\nexport const SchmancyContentDrawerSheetMode = createContext<TSchmancyContentDrawerSheetMode>('push')\n\nexport type TSchmancyContentDrawerSheetState = 'open' | 'close'\nexport const SchmancyContentDrawerSheetState = createContext<TSchmancyContentDrawerSheetState>('close')\n\nexport const SchmancyContentDrawerID = createContext<string>(Math.floor(Math.random() * Date.now()).toString())\nexport const SchmancyContentDrawerMaxHeight = createContext<string>('100%')\nexport const SchmancyContentDrawerMinWidth = createContext<{\n\tmain: number\n\tsheet: number\n}>({})\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, merge, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, TRenderCustomEvent, area, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n/**\n * @element schmancy-content-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-content-drawer')\nexport class SchmancyContentDrawer extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t/**\n\t * The minimum width of the sheet\n\t * @attr\tminWidth\n\t * @type {number}\n\t * @memberof SchmancyContentDrawer\n\t */\n\n\t@provide({ context: SchmancyContentDrawerMinWidth })\n\tminWidth: typeof SchmancyContentDrawerMinWidth.__context__ = {\n\t\tmain: 360,\n\t\tsheet: 576,\n\t}\n\n\t/**\n\t * The state of the sheet\n\t * @attr open\n\t * @type {TSchmancyContentDrawerSheetState}\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetState })\n\t@property()\n\topen: TSchmancyContentDrawerSheetState\n\n\t/**\n\t * The mode of the sheet\n\t * @type {TSchmancyContentDrawerSheetMode}\n\t * @memberof SchmancyContentDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetMode })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@provide({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID = Math.floor(Math.random() * Date.now()).toString()\n\n\t@provide({ context: SchmancyContentDrawerMaxHeight })\n\tmaxHeight = '100%'\n\n\t@queryAssignedElements({ flatten: true })\n\tassignedElements!: HTMLElement[]\n\n\tfirstUpdated(): void {\n\t\tthis.setupResizeListener()\n\t\tthis.setupToggleListener()\n\t\tthis.setupRenderListener()\n\t}\n\n\tprivate setupResizeListener() {\n\t\tmerge(\n\t\t\tfromEvent<CustomEvent>(window, 'resize'),\n\t\t\tfromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerResize)\n\t\t)\n\t\t\t.pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tdebounceTime(100),\n\t\t\t\tmap(() => this.clientWidth || window.innerWidth),\n\t\t\t\tmap(width => width >= this.minWidth.main + this.minWidth.sheet),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(() => this.updateMaxHeight()),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(isLargeScreen => this.updateMode(isLargeScreen))\n\t}\n\n\tprivate setupToggleListener() {\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerToggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => event.stopPropagation()),\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\t}\n\n\tprivate setupRenderListener() {\n\t\tfromEvent<TRenderCustomEvent>(window, 'schmancy-content-drawer-render')\n\t\t\t.pipe(\n\t\t\t\ttap(event => event.stopPropagation()),\n\t\t\t\tmap(event => event.detail),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(detail => this.handleRender(detail))\n\t}\n\n\tprivate updateMaxHeight() {\n\t\tthis.maxHeight = `${window.innerHeight - this.getOffsetTop(this)}px`\n\t\tthis.style.setProperty('max-height', this.maxHeight)\n\t}\n\n\tprivate updateMode(isLargeScreen: boolean) {\n\t\tif (isLargeScreen) {\n\t\t\tthis.mode = 'push'\n\t\t\tthis.open = 'open'\n\t\t} else {\n\t\t\tthis.mode = 'overlay'\n\t\t\tthis.open = 'close'\n\t\t}\n\t}\n\n\tprivate handleRender(detail: TRenderCustomEvent['detail']) {\n\t\tif (this.mode === 'push') {\n\t\t\tarea.push({\n\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\tcomponent: detail.component,\n\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\tstate: detail.state,\n\t\t\t\tparams: detail.params,\n\t\t\t\tprops: detail.props,\n\t\t\t})\n\t\t} else if (this.mode === 'overlay') {\n\t\t\tsheet.open({\n\t\t\t\tcomponent: detail.component,\n\t\t\t\tuid: this.schmancyContentDrawerID,\n\t\t\t\tprops: detail.props,\n\t\t\t})\n\t\t}\n\t}\n\n\tgetOffsetTop(element: HTMLElement | null) {\n\t\tlet offsetTop = 0\n\t\twhile (element) {\n\t\t\toffsetTop += element.offsetTop\n\t\t\telement = element.offsetParent as HTMLElement | null\n\t\t}\n\t\treturn offsetTop\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\n\t\tconst gridClasses = [\n\t\t\t'grid h-full',\n\t\t\t'grid-flow-col auto-cols-max',\n\t\t\t'grid-rows-[1fr]',\n\t\t\t'justify-items-stretch items-stretch',\n\t\t\tthis.mode === 'overlay' ? 'grid-cols-[1fr]' : 'grid-cols-[auto_1fr]'\n\t\t].join(' ')\n\n\t\treturn html`\n\t\t\t<div class=${gridClasses}>\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-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: number\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: string\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\n\t\tconst gridClasses = [\n\t\t\t'grid h-full relative overflow-scroll',\n\t\t\t'grid-flow-col auto-cols-max',\n\t\t\t'grid-rows-[1fr]',\n\t\t\t'items-stretch justify-items-stretch',\n\t\t\tthis.mode === 'push' ? 'grid-cols-[auto_1fr]' : 'grid-cols-[1fr]'\n\t\t].join(' ')\n\n\t\treturn html`\n\t\t\t<section class=\"relative inset-0 h-full\">\n\t\t\t\t<div class=${gridClasses}>\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</div>\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: 250,\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: 250,\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\t\"block h-full w-full\": 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 class=\"h-full w-full\" 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 { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-nav-drawer-appbar\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\twidth: 100%;\n\t\tmin-width: 0;\n\t}\n`) {\n\trender() {\n\t\treturn html`<slot></slot>`\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 { 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 { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents } from '..'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n/**\n * @element schmancy-nav-drawer\n * @slot - The content slot\n */\n@customElement('schmancy-nav-drawer')\nexport class SchmancyNavigationDrawer extends $LitElement(css`\n\t:host {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: auto 1fr;\n\t\tgrid-template-rows: 1fr;\n\t\tflex-grow: 1;\n\t\theight: 100%;\n\t\toverflow: hidden;\n\t\t/* Initially hide the component until it's ready */\n\t\tvisibility: hidden;\n\t}\n\n\t:host([data-ready]) {\n\t\tvisibility: visible;\n\t}\n\n\t:host([fullscreen]) {\n\t\tgrid-template-columns: 1fr;\n\t}\n`) {\n\t@property({ type: Boolean, reflect: true })\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@property({ type: String, attribute: 'breakpoint' })\n\tbreakpoint: 'sm' | 'md' | 'lg' | 'xl' = 'md'\n\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@provide({ context: SchmancyDrawerNavbarMode })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@provide({ context: SchmancyDrawerNavbarState })\n\t@property()\n\topen: TSchmancyDrawerNavbarState\n\n\tfirstUpdated() {\n\t\tthis.updateState(window.innerWidth)\n\t\tthis.setAttribute('data-ready', '')\n\n\t\tfromEvent(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as Window).innerWidth),\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\tfromEvent(window, 'fullscreen').pipe(\n\t\t\ttap((event: Event) => {\n\t\t\t\tconst customEvent = event as CustomEvent\n\t\t\t\tthis.fullscreen = customEvent.detail\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\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\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(10),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\t// Handle 'toggle' state\n\t\t\t\tif (state === 'toggle') {\n\t\t\t\t\tstate = this.open === 'open' ? 'close' : 'open'\n\t\t\t\t}\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\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\treturn html`<slot></slot>`\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 = '220px'\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'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.containerLowest,\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 { TailwindElement } from '@mixins/tailwind.mixin'\nimport { color } from '@schmancy/directives'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyTheme } from '..'\nimport { BehaviorSubject, fromEvent, merge, timer } from 'rxjs'\nimport { takeUntil, tap, filter } from 'rxjs/operators'\n\n/**\n * `<schmancy-navigation-bar-item>` component\n *\n * Individual navigation item for use within a navigation bar.\n * Represents a single destination with an icon and optional label following Material Design 3 specifications.\n *\n * @element schmancy-navigation-bar-item\n * @slot icon - Slot for custom icon content\n * @slot - Default slot for custom content\n *\n * @fires bar-item-click - When the item is clicked\n * @fires focus - When the item receives focus\n * @fires blur - When the item loses focus\n *\n * @example\n * <schmancy-navigation-bar-item icon=\"home\" label=\"Home\" active></schmancy-navigation-bar-item>\n *\n * @example\n * <schmancy-navigation-bar-item label=\"Custom\">\n * <span slot=\"icon\">🏠</span>\n * </schmancy-navigation-bar-item>\n */\n@customElement('schmancy-navigation-bar-item')\nexport class SchmancyNavigationBarItem extends TailwindElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tflex: 1;\n\t\tmin-width: 48px;\n\t\tmax-width: 168px;\n\t\tuser-select: none;\n\t\t-webkit-tap-highlight-color: transparent;\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t}\n\n\tbutton {\n\t\tfont-family: inherit;\n\t\tborder: none;\n\t\tbackground: none;\n\t\twidth: 100%;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\ttext-align: center;\n\t\tcolor: inherit;\n\t}\n\n\tbutton:focus {\n\t\toutline: none;\n\t}\n\n\tbutton:focus-visible {\n\t\toutline: 2px solid var(--focus-color);\n\t\toutline-offset: 2px;\n\t\tborder-radius: 8px;\n\t}\n\n\t/* Ripple animation */\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t.ripple-effect {\n\t\tposition: absolute;\n\t\tborder-radius: 50%;\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tbackground-color: currentColor;\n\t\topacity: 0.25;\n\t\tanimation: ripple 0.6s ease-out;\n\t\tpointer-events: none;\n\t}\n`) {\n\t/**\n\t * Icon name for the navigation item (Material Symbols Outlined)\n\t */\n\t@property({ type: String })\n\ticon = ''\n\n\t/**\n\t * Label text for the navigation item\n\t */\n\t@property({ type: String })\n\tlabel = ''\n\n\t/**\n\t * Badge content (can be a number or short text)\n\t */\n\t@property({ type: String })\n\tbadge = ''\n\n\t/**\n\t * Observable for active state\n\t */\n\tprivate active$ = new BehaviorSubject<boolean>(false)\n\n\t/**\n\t * Whether this item is currently active/selected\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tget active() { return this.active$.value }\n\tset active(value: boolean) { this.active$.next(value) }\n\n\t/**\n\t * Whether this item is disabled\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled = false\n\n\t/**\n\t * Whether to hide labels (controlled by parent navigation bar)\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\thideLabels = false\n\n\t/**\n\t * Track ripple effects\n\t */\n\t@state()\n\tprivate ripples: { x: number; y: number; id: number }[] = []\n\n\t/**\n\t * Add ripple effect (immediate, no debounce)\n\t */\n\tprivate addRippleEffect = (event: MouseEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Find the icon indicator div for ripple positioning\n\t\tconst indicatorDiv = this.shadowRoot?.querySelector('.w-16.h-8')\n\t\tif (indicatorDiv) {\n\t\t\tconst rect = indicatorDiv.getBoundingClientRect()\n\t\t\tconst ripple = {\n\t\t\t\tx: event.clientX - rect.left,\n\t\t\t\ty: event.clientY - rect.top,\n\t\t\t\tid: Date.now()\n\t\t\t}\n\t\t\tthis.ripples = [...this.ripples, ripple]\n\n\t\t\t// Remove ripple after animation\n\t\t\ttimer(600).pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== ripple.id)\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t).subscribe()\n\t\t}\n\t}\n\n\t/**\n\t * Handle click events with RxJS\n\t */\n\tprivate handleClick = (event: MouseEvent) => {\n\t\tif (this.disabled) {\n\t\t\tevent.preventDefault()\n\t\t\tevent.stopPropagation()\n\t\t\treturn\n\t\t}\n\n\t\t// Add ripple immediately\n\t\tthis.addRippleEffect(event)\n\n\t\t// Navigation event is handled in connectedCallback\n\t}\n\n\t/**\n\t * Handle keyboard events for accessibility (non-Enter/Space keys)\n\t */\n\tprivate handleKeyDown = (event: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Enter and Space are handled by the RxJS stream\n\t\tif (event.key === 'Enter' || event.key === ' ') {\n\t\t\tevent.preventDefault()\n\t\t\t// Keyboard activation is handled in connectedCallback\n\t\t}\n\t}\n\n\t/**\n\t * Method called by parent to set active state\n\t */\n\tsetActive(isActive: boolean) {\n\t\tthis.active = isActive\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Subscribe to active state changes\n\t\tthis.active$.pipe(\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe(() => {\n\t\t\tthis.requestUpdate()\n\t\t})\n\n\t\t// Set up navigation event stream\n\t\tthis.setupNavigationStream()\n\t}\n\n\t/**\n\t * Set up RxJS stream for navigation events\n\t */\n\tprivate setupNavigationStream() {\n\t\tconst button = this.shadowRoot?.querySelector('button')\n\t\tif (!button) return\n\n\t\t// Create click stream\n\t\tconst click$ = fromEvent<MouseEvent>(button, 'click').pipe(\n\t\t\tfilter(() => !this.disabled)\n\t\t)\n\n\t\t// Create keyboard activation stream (Enter/Space)\n\t\tconst keyActivation$ = fromEvent<KeyboardEvent>(button, 'keydown').pipe(\n\t\t\tfilter(() => !this.disabled),\n\t\t\tfilter(event => event.key === 'Enter' || event.key === ' '),\n\t\t\ttap(event => event.preventDefault())\n\t\t)\n\n\t\t// Merge click and keyboard streams for instant navigation\n\t\tmerge(click$, keyActivation$).pipe(\n\t\t\ttap(() => {\n\t\t\t\t// Dispatch navigation event\n\t\t\t\tthis.dispatchEvent(new CustomEvent('bar-item-click', {\n\t\t\t\t\tdetail: {\n\t\t\t\t\t\ticon: this.icon,\n\t\t\t\t\t\tlabel: this.label,\n\t\t\t\t\t\tactive: this.active\n\t\t\t\t\t},\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true\n\t\t\t\t}))\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\t/**\n\t * Format badge content for display\n\t */\n\tprivate formatBadge(badge: string): string {\n\t\t// Convert to number if possible\n\t\tconst num = Number(badge)\n\t\tif (!isNaN(num)) {\n\t\t\t// Show 99+ for large numbers\n\t\t\treturn num > 99 ? '99+' : String(num)\n\t\t}\n\t\t// For text badges, limit to 3 characters\n\t\treturn badge.slice(0, 3)\n\t}\n\n\tprotected firstUpdated() {\n\t\t// Set up navigation stream after first render when button is available\n\t\tthis.setupNavigationStream()\n\t}\n\n\tprotected render() {\n\t\tconst hasSlotContent = this.querySelector('[slot]') || (this.textContent?.trim() && !this.label)\n\t\tconst badgeText = this.badge ? this.formatBadge(this.badge) : ''\n\t\tconst showBadgeText = badgeText && badgeText !== '0'\n\n\t\t// Check for custom icon slot content\n\t\tconst hasCustomIcon = this.querySelector('[slot=\"icon\"]')\n\n\t\t// Main container classes - now the clickable area\n\t\tconst containerClasses = {\n\t\t\t'relative flex flex-col items-center justify-center': true,\n\t\t\t'flex-1 min-w-[48px] max-w-[168px]': true, // Fill available space\n\t\t\t'py-2 px-1 cursor-pointer': !this.disabled,\n\t\t\t'transition-all duration-200': true,\n\t\t\t'hover:bg-surface-containerHigh': !this.disabled && !this.active,\n\t\t\t'cursor-not-allowed opacity-38': this.disabled,\n\t\t\t'outline-none': true,\n\t\t\t'focus-visible:outline-2 focus-visible:outline-offset-2': true\n\t\t}\n\n\t\t// Icon indicator - just visual, not clickable\n\t\tconst indicatorClasses = {\n\t\t\t'w-16 h-8 rounded-2xl': true,\n\t\t\t'flex items-center justify-center': true,\n\t\t\t'transition-all duration-200': true,\n\t\t\t'bg-secondary-container': this.active,\n\t\t\t'group-hover:bg-surface-containerHighest': !this.active && !this.disabled,\n\t\t\t'relative overflow-hidden': true\n\t\t}\n\n\t\tconst labelClasses = {\n\t\t\t'text-xs font-medium leading-4 mt-1': true,\n\t\t\t'text-center max-w-full': true,\n\t\t\t'overflow-hidden text-ellipsis whitespace-nowrap': true,\n\t\t\t'transition-all duration-200': true\n\t\t}\n\n\t\tconst badgeClasses = {\n\t\t\t'absolute top-0 right-3': true,\n\t\t\t'min-w-[6px] h-1.5': !showBadgeText,\n\t\t\t'min-w-[16px] h-4': showBadgeText,\n\t\t\t'rounded-full': !showBadgeText,\n\t\t\t'rounded-lg': showBadgeText,\n\t\t\t'flex items-center justify-center': showBadgeText,\n\t\t\t'px-1': showBadgeText,\n\t\t\t'transition-all duration-200': true,\n\t\t\t'z-10': true\n\t\t}\n\n\t\t// Determine colors\n\t\tconst containerColors = this.active\n\t\t\t? {\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.secondary.onContainer\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.onVariant\n\t\t\t }\n\n\t\t// Set CSS variables for focus state\n\t\tconst styleVars = {\n\t\t\t'--focus-color': SchmancyTheme.sys.color.primary.default\n\t\t}\n\n\t\treturn html`\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=${this.classMap(containerClasses)}\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\taria-pressed=${this.active}\n\t\t\t\taria-label=${this.label || 'Navigation item'}\n\t\t\t\tstyle=${this.styleMap({\n\t\t\t\t\t...styleVars,\n\t\t\t\t\t'outline-color': 'var(--focus-color)'\n\t\t\t\t})}\n\t\t\t\t${color(containerColors)}\n\t\t\t>\n\t\t\t\t<!-- Icon with indicator background -->\n\t\t\t\t<div class=${this.classMap(indicatorClasses)}>\n\t\t\t\t\t<!-- Ripple effects -->\n\t\t\t\t\t${this.ripples.map(\n\t\t\t\t\t\tripple => html`\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclass=\"ripple-effect\"\n\t\t\t\t\t\t\t\tstyle=${this.styleMap({\n\t\t\t\t\t\t\t\t\tleft: `${ripple.x}px`,\n\t\t\t\t\t\t\t\t\ttop: `${ripple.y}px`,\n\t\t\t\t\t\t\t\t\ttransform: 'translate(-50%, -50%)'\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t`\n\t\t\t\t\t)}\n\n\t\t\t\t\t${hasCustomIcon\n\t\t\t\t\t\t? html`<slot name=\"icon\"></slot>`\n\t\t\t\t\t\t: this.icon\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<schmancy-icon\n\t\t\t\t\t\t\t\t\t\t.fill=${this.active ? 1 : 0}\n\t\t\t\t\t\t\t\t\t\tclass=\"relative z-10 flex items-center justify-center transition-all duration-200\"\n\t\t\t\t\t\t\t\t\t\tstyle=\"--schmancy-icon-size: 24px;\"\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t${this.icon}\n\t\t\t\t\t\t\t\t\t</schmancy-icon>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: hasSlotContent\n\t\t\t\t\t\t\t\t? html`<slot></slot>`\n\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Label below icon -->\n\t\t\t\t${!this.hideLabels && this.label ? html`\n\t\t\t\t\t<span class=${this.classMap(labelClasses)}>${this.label}</span>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Badge -->\n\t\t\t\t${showBadgeText ? html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=${this.classMap(badgeClasses)}\n\t\t\t\t\t\taria-label=\"${badgeText} notifications\"\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.error.default,\n\t\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.error.on\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"text-[10px] font-medium leading-none\">${badgeText}</span>\n\t\t\t\t\t</span>\n\t\t\t\t` : this.badge ? html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=${this.classMap(badgeClasses)}\n\t\t\t\t\t\taria-label=\"Has notifications\"\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.error.default\n\t\t\t\t\t\t})}\n\t\t\t\t\t></span>\n\t\t\t\t` : ''}\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-navigation-bar-item': SchmancyNavigationBarItem\n\t}\n}","import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { color } from '@schmancy/directives'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyEvents, SchmancyTheme } from '..'\nimport { BehaviorSubject, fromEvent, Subject } from 'rxjs'\nimport { takeUntil, throttleTime, tap, pairwise, map, filter } from 'rxjs/operators'\nimport type { SchmancyNavigationBarItem } from './navigation-bar-item'\nimport { theme } from '../theme/theme.service'\n\n/** Height of the navigation bar in pixels */\nconst NAV_BAR_HEIGHT = 80\n\n/** Mobile breakpoint - matches md: in Tailwind (max-width for mobile) */\nconst MOBILE_BREAKPOINT = '(max-width: 767px)'\n\n/**\n * `<schmancy-navigation-bar>` component\n *\n * A horizontal navigation component following Material Design 3 specifications.\n * Navigation bars provide access to between 3-7 primary destinations.\n * Automatically hides in fullscreen mode when triggered via schmancyTheme.next({ fullscreen: true }).\n *\n * **IMPORTANT**: This component includes `z-10` by default (consistent with navigation-rail).\n * The consumer is responsible for positioning the navigation bar in their layout.\n * For typical bottom-fixed positioning, add: `class=\"fixed bottom-0 left-0 right-0\"`.\n *\n * @element schmancy-navigation-bar\n * @slot - Default slot for navigation bar items\n *\n * @fires navigation-change - When an item is selected\n *\n * @example\n * <!-- Fixed at bottom (typical usage) -->\n * <schmancy-navigation-bar activeIndex=\"0\" class=\"fixed bottom-0 left-0 right-0\">\n * <schmancy-navigation-bar-item icon=\"home\" label=\"Home\"></schmancy-navigation-bar-item>\n * <schmancy-navigation-bar-item icon=\"search\" label=\"Search\"></schmancy-navigation-bar-item>\n * <schmancy-navigation-bar-item icon=\"favorite\" label=\"Favorites\"></schmancy-navigation-bar-item>\n * <schmancy-navigation-bar-item icon=\"settings\" label=\"Settings\"></schmancy-navigation-bar-item>\n * </schmancy-navigation-bar>\n *\n * @example\n * <!-- Within a container (demo/mockup usage) -->\n * <div class=\"flex flex-col h-screen\">\n * <main class=\"flex-1\">Content</main>\n * <schmancy-navigation-bar activeIndex=\"0\">\n * <schmancy-navigation-bar-item icon=\"home\" label=\"Home\"></schmancy-navigation-bar-item>\n * </schmancy-navigation-bar>\n * </div>\n */\n@customElement('schmancy-navigation-bar')\nexport class SchmancyNavigationBar extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\ttransition: transform 0.3s ease-in-out;\n\t}\n\n\t:host([hide-on-scroll]) {\n\t\ttransition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t/* Support 3-7 items with equal distribution */\n\t::slotted(schmancy-navigation-bar-item) {\n\t\tflex: 1;\n\t\tmax-width: 168px; /* Prevent items from being too wide */\n\t}\n\n\t/* Accessibility focus indicators */\n\t:host(:focus-within) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary);\n\t\toutline-offset: -2px;\n\t}\n`) {\n\t/**\n\t * Observable for active index state\n\t */\n\tprivate activeIndex$ = new BehaviorSubject<number>(-1)\n\n\t/**\n\t * Currently active item index\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\tget activeIndex() { return this.activeIndex$.value }\n\tset activeIndex(value: number) { this.activeIndex$.next(value) }\n\n\t/**\n\t * Hide labels and show only icons\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\thideLabels = false\n\n\t/**\n\t * Elevation level for the navigation bar\n\t * @default 2\n\t */\n\t@property({ type: Number, reflect: true })\n\televation = 2\n\n\t/**\n\t * Hide navigation bar on scroll down, show on scroll up\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\thideOnScroll = false\n\n\n\t/**\n\t * Current focused item index for keyboard navigation\n\t */\n\t@state()\n\tprivate focusedIndex = -1\n\n\t/**\n\t * Whether the navigation bar is hidden due to scrolling\n\t */\n\t@state()\n\tprivate isHiddenByScroll = false\n\n\t/**\n\t * Whether the navigation bar is hidden due to fullscreen mode\n\t */\n\t@state()\n\tprivate isFullscreen = false\n\n\t/**\n\t * Get all navigation bar items from the slot\n\t */\n\tprivate getItems(): SchmancyNavigationBarItem[] {\n\t\tconst slot = this.shadowRoot?.querySelector('slot') as HTMLSlotElement | null\n\t\tif (!slot) return []\n\t\treturn slot.assignedElements({ flatten: true })\n\t\t\t.filter((el): el is SchmancyNavigationBarItem =>\n\t\t\t\tel.tagName.toLowerCase() === 'schmancy-navigation-bar-item'\n\t\t\t)\n\t}\n\n\t/**\n\t * Minimum scroll threshold before triggering hide/show\n\t */\n\tprivate readonly SCROLL_THRESHOLD = 10\n\n\t/**\n\t * Media query for mobile detection\n\t */\n\tprivate mobileMediaQuery: MediaQueryList | null = null\n\n\t/**\n\t * Subject to track visibility state changes\n\t */\n\tprivate visibility$ = new Subject<boolean>()\n\n\t/**\n\t * Check if on mobile viewport\n\t */\n\tprivate isMobileViewport(): boolean {\n\t\treturn this.mobileMediaQuery?.matches ?? false\n\t}\n\n\t/**\n\t * Update bottom offset for schmancy-page/fullHeight consumers\n\t */\n\tprivate updateBottomOffset() {\n\t\tconst shouldSetOffset = !this.isFullscreen && this.isMobileViewport()\n\t\ttheme.setBottomOffset(shouldSetOffset ? NAV_BAR_HEIGHT : 0)\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Set up mobile media query\n\t\tthis.mobileMediaQuery = window.matchMedia(MOBILE_BREAKPOINT)\n\n\t\t// Listen to viewport changes\n\t\tfromEvent<MediaQueryListEvent>(this.mobileMediaQuery, 'change').pipe(\n\t\t\ttap(() => this.updateBottomOffset()),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Subscribe to fullscreen observable\n\t\ttheme.fullscreen$.pipe(\n\t\t\ttap(isFullscreen => {\n\t\t\t\tthis.isFullscreen = isFullscreen\n\t\t\t\tthis.visibility$.next(!this.isFullscreen && !this.isHiddenByScroll)\n\t\t\t\tthis.updateBottomOffset()\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Initial offset update\n\t\tthis.updateBottomOffset()\n\n\t\t// Listen to bar-item-click events using RxJS\n\t\tfromEvent(this, 'bar-item-click').pipe(\n\t\t\ttap((event: Event) => this.handleItemClick(event as CustomEvent)),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Listen to keydown events using RxJS\n\t\tfromEvent(this, 'keydown').pipe(\n\t\t\ttap((event: Event) => this.handleKeyDown(event as KeyboardEvent)),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Subscribe to active index changes\n\t\tthis.activeIndex$.pipe(\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe(index => {\n\t\t\tthis.updateActiveStates(index)\n\t\t})\n\n\t\t// Set up scroll listener if hideOnScroll is enabled\n\t\tif (this.hideOnScroll) {\n\t\t\tthis.setupScrollListener()\n\t\t}\n\n\t\tthis.updateItems()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Clear offset when nav bar is removed\n\t\ttheme.setBottomOffset(0)\n\t\tthis.mobileMediaQuery = null\n\t}\n\n\t/**\n\t * Set up RxJS-based scroll listener\n\t */\n\tprivate setupScrollListener() {\n\t\t// Create scroll observable\n\t\tfromEvent(window, 'scroll').pipe(\n\t\t\tthrottleTime(100), // Throttle for performance\n\t\t\tmap(() => window.scrollY),\n\t\t\tpairwise(), // Get pairs of [previous, current] scroll positions\n\t\t\tfilter(([prev, curr]) => Math.abs(curr - prev) > this.SCROLL_THRESHOLD), // Only react if scrolled enough\n\t\t\ttap(([prev, curr]) => {\n\t\t\t\tconst scrollingDown = curr > prev\n\t\t\t\tconst scrollingUp = curr < prev\n\t\t\t\tconst previousHiddenState = this.isHiddenByScroll\n\n\t\t\t\t// Hide when scrolling down, show when scrolling up\n\t\t\t\tif (scrollingDown && !this.isHiddenByScroll) {\n\t\t\t\t\tthis.isHiddenByScroll = true\n\t\t\t\t} else if (scrollingUp && this.isHiddenByScroll) {\n\t\t\t\t\tthis.isHiddenByScroll = false\n\t\t\t\t}\n\n\t\t\t\t// Always show when near top\n\t\t\t\tif (curr <= this.SCROLL_THRESHOLD) {\n\t\t\t\t\tthis.isHiddenByScroll = false\n\t\t\t\t}\n\n\t\t\t\t// Update visibility if scroll state changed\n\t\t\t\tif (previousHiddenState !== this.isHiddenByScroll) {\n\t\t\t\t\tthis.visibility$.next(!this.isHiddenByScroll && !this.isFullscreen)\n\t\t\t\t}\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\n\t/**\n\t * Handle item click events\n\t */\n\tprivate handleItemClick = (event: CustomEvent) => {\n\t\tconst items = this.getItems()\n\t\tconst clickedItem = event.target as HTMLElement\n\t\tconst index = items.indexOf(clickedItem as any)\n\n\t\tif (index === -1) return\n\n\t\t// Clicking the already-active item toggles the sidebar\n\t\tif (this.activeIndex === index) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\tdetail: { state: 'toggle' },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t\treturn\n\t\t}\n\n\t\tconst oldIndex = this.activeIndex\n\t\t// Setting activeIndex will trigger the BehaviorSubject\n\t\tthis.activeIndex = index\n\n\t\t// Emit navigation change event\n\t\tthis.dispatchEvent(new CustomEvent('navigation-change', {\n\t\t\tdetail: {\n\t\t\t\toldIndex,\n\t\t\t\tnewIndex: index,\n\t\t\t\titem: clickedItem\n\t\t\t},\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\t/**\n\t * Handle keyboard navigation\n\t */\n\tprivate handleKeyDown = (event: KeyboardEvent) => {\n\t\tconst items = this.getItems()\n\t\tconst currentIndex = this.focusedIndex === -1 ? this.activeIndex : this.focusedIndex\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (currentIndex > 0) {\n\t\t\t\t\tthis.focusItem(currentIndex - 1)\n\t\t\t\t}\n\t\t\t\tbreak\n\n\t\t\tcase 'ArrowRight':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (currentIndex < items.length - 1) {\n\t\t\t\t\tthis.focusItem(currentIndex + 1)\n\t\t\t\t}\n\t\t\t\tbreak\n\n\t\t\tcase 'Home':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.focusItem(0)\n\t\t\t\tbreak\n\n\t\t\tcase 'End':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.focusItem(items.length - 1)\n\t\t\t\tbreak\n\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (this.focusedIndex !== -1) {\n\t\t\t\t\tconst item = items[this.focusedIndex] as any\n\t\t\t\t\titem?.click()\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\t/**\n\t * Focus a specific item by index\n\t */\n\tprivate focusItem(index: number) {\n\t\tconst items = this.getItems()\n\t\tif (items[index]) {\n\t\t\tthis.focusedIndex = index\n\t\t\t;(items[index] as HTMLElement).focus()\n\t\t}\n\t}\n\n\t/**\n\t * Update the list of navigation items\n\t */\n\tprivate updateItems() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (slot) {\n\t\t\tconst handleSlotChange = () => {\n\t\t\t\t// Update active states when slot content changes\n\t\t\t\tthis.updateActiveStates(this.activeIndex)\n\t\t\t}\n\t\t\tslot.addEventListener('slotchange', handleSlotChange)\n\t\t\thandleSlotChange() // Initial update\n\t\t}\n\t}\n\n\n\t/**\n\t * Add a boat item to the navigation bar\n\t * @param config Configuration for the boat item\n\t * @returns The created or existing navigation bar item element\n\t */\n\tpublic addBoatItem(config: { id: string; title: string; icon?: string }) {\n\t\t// Check if item already exists\n\t\tconst existingItem = this.querySelector(`[value=\"${config.id}\"]`) as HTMLElement\n\t\tif (existingItem) {\n\t\t\t// Item already exists, just return it\n\t\t\treturn existingItem\n\t\t}\n\n\t\t// Create new item\n\t\tconst item = document.createElement('schmancy-navigation-bar-item')\n\t\titem.setAttribute('value', config.id)\n\t\titem.innerHTML = `\n\t\t\t<schmancy-icon>${config.icon || 'widgets'}</schmancy-icon>\n\t\t\t<span>${config.title}</span>\n\t\t`\n\t\tthis.appendChild(item)\n\t\treturn item\n\t}\n\n\t/**\n\t * Update active states on all items\n\t */\n\tprivate updateActiveStates(activeIndex: number) {\n\t\tconst items = this.getItems()\n\t\titems.forEach((item, index) => {\n\t\t\tconst navItem = item as any\n\t\t\t// Use setActive method to trigger item's reactive update\n\t\t\tif (navItem.setActive) {\n\t\t\t\tnavItem.setActive(index === activeIndex)\n\t\t\t} else {\n\t\t\t\t// Fallback for backward compatibility\n\t\t\t\tnavItem.active = index === activeIndex\n\t\t\t}\n\t\t\tnavItem.hideLabels = this.hideLabels\n\t\t\t// Set tabindex for accessibility\n\t\t\t;(item as HTMLElement).tabIndex = index === activeIndex ? 0 : -1\n\t\t})\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\n\t\tif (changedProperties.has('hideLabels')) {\n\t\t\t// Only update hide labels, active state is handled by the BehaviorSubject\n\t\t\tthis.updateActiveStates(this.activeIndex)\n\t\t}\n\n\t\tif (changedProperties.has('hideOnScroll')) {\n\t\t\tif (this.hideOnScroll && !changedProperties.get('hideOnScroll')) {\n\t\t\t\t// hideOnScroll was just enabled\n\t\t\t\tthis.setupScrollListener()\n\t\t\t} else if (!this.hideOnScroll) {\n\t\t\t\t// hideOnScroll was disabled, reset hidden state\n\t\t\t\tthis.isHiddenByScroll = false\n\t\t\t\t// Update visibility since we're now visible\n\t\t\t\tthis.visibility$.next(!this.isFullscreen)\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected render() {\n\t\t// Determine if the bar should be visually hidden\n\t\tconst isVisuallyHidden = this.isFullscreen || this.isHiddenByScroll\n\n\t\tconst containerClasses = {\n\t\t\t'h-20': true, // 80px height\n\t\t\t'flex items-center justify-around': true,\n\t\t\t'px-2 py-3 box-border': true,\n\t\t\t'transition-all duration-300 ease-in-out': true,\n\t\t\t'z-10': true, // Consistent with navigation-rail z-index\n\t\t\t// Elevation shadows\n\t\t\t'shadow-none': this.elevation === 0,\n\t\t\t'shadow-sm': this.elevation === 1,\n\t\t\t'shadow-md': this.elevation === 2,\n\t\t\t'shadow-lg': this.elevation === 3,\n\t\t\t'shadow-xl': this.elevation === 4,\n\t\t\t'shadow-2xl': this.elevation === 5,\n\t\t}\n\n\t\t// Apply transform for hide/show animation\n\t\tconst transformStyle = isVisuallyHidden ? 'translateY(100%)' : 'translateY(0)'\n\n\t\treturn html`\n\t\t\t<nav\n\t\t\t\tclass=${this.classMap(containerClasses)}\n\t\t\t\trole=\"navigation\"\n\t\t\t\taria-label=\"Main navigation\"\n\t\t\t\taria-hidden=${isVisuallyHidden}\n\t\t\t\tstyle=\"transform: ${transformStyle};\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</nav>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-navigation-bar': SchmancyNavigationBar\n\t}\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\n/**\n * M3 avatar sizes: 20dp → 24dp → 32dp → 40dp → 48dp → 64dp\n * - xxs: Ultra-compact (20px) - for menu cards\n * - xs: 24px - M3 compact\n * - sm: 32px - M3 small\n * - md: 40px - M3 medium (default)\n * - lg: 48px - M3 large\n * - xl: 64px - M3 extra large\n */\nexport type AvatarSize = 'xxs' | '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 - M3 aligned: 20dp → 24dp → 32dp → 40dp → 48dp → 64dp\n\t\tconst sizeClasses = {\n\t\t\txxs: 'w-5 h-5 text-[8px]', // 20px - Ultra-compact\n\t\t\txs: 'w-6 h-6 text-xs', // 24px - M3 compact\n\t\t\tsm: 'w-8 h-8 text-sm', // 32px - M3 small\n\t\t\tmd: 'w-10 h-10 text-base', // 40px - M3 medium (default)\n\t\t\tlg: 'w-12 h-12 text-lg', // 48px - M3 large\n\t\t\txl: 'w-16 h-16 text-xl', // 64px - M3 extra large\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\txxs: 'w-1 h-1',\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"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- require(`./chunk-BCfY8kxB.cjs`);const e=require(`./decorate-F9CuyeHg.cjs`);let t=require(`rxjs`),n=require(`rxjs/operators`),r=require(`lit/directives/class-map.js`),i=require(`lit/directives/style-map.js`),a=require(`lit`);var o=`schmancy-discover`,s=`schmancy-discover-response`;function c(e,r=100){let i=`${e}-where-are-you`,a=`${e}-here-i-am`;return new t.Observable(e=>{let o=(0,t.fromEvent)(window,a).pipe((0,n.takeUntil)((0,t.timer)(r)),(0,n.map)(e=>e.detail.component),(0,n.defaultIfEmpty)(null)).subscribe(t=>{e.next(t),e.complete()});return window.dispatchEvent(new CustomEvent(i,{bubbles:!0,composed:!0})),()=>o.unsubscribe()})}function l(...e){return e.length===0?new t.Observable(e=>{e.next(null),e.complete()}):(0,t.race)(...e.map(e=>c(e)))}function u(e,r=150){let i=`discover-${Date.now()}-${Math.random().toString(36).slice(2)}`;return new t.Observable(a=>{let c=(0,t.fromEvent)(window,s).pipe((0,n.takeUntil)((0,t.timer)(r)),(0,n.map)(e=>e.detail),(0,n.map)(e=>e.requestId===i?e.element:null),(0,n.take)(1),(0,n.defaultIfEmpty)(null)).subscribe(e=>{a.next(e),a.complete()});return window.dispatchEvent(new CustomEvent(o,{detail:{selector:e,requestId:i},bubbles:!0,composed:!0})),()=>c.unsubscribe()})}function d(e,r=150){let i=`discover-all-${Date.now()}-${Math.random().toString(36).slice(2)}`,a=[];return new t.Observable(c=>{let l=(0,t.fromEvent)(window,s).pipe((0,n.takeUntil)((0,t.timer)(r))).subscribe({next:e=>{e.detail.requestId===i&&a.push(e.detail.element)},complete:()=>{c.next(a),c.complete()}});return window.dispatchEvent(new CustomEvent(o,{detail:{selector:e,requestId:i},bubbles:!0,composed:!0})),()=>l.unsubscribe()})}function f(e,t=150){return/^[#.\[]/.test(e)?u(e,t):c(e,t)}var p=class extends Event{constructor(e,t,n,r){super(`context-request`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t,this.callback=n,this.subscribe=r??!1}};function m(e){return e}var h=class{constructor(e,t,n,r){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(e,t)=>{this.unsubscribe&&(this.unsubscribe!==t&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=e,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(e,t)),this.unsubscribe=t},this.host=e,t.context!==void 0){let e=t;this.context=e.context,this.callback=e.callback,this.subscribe=e.subscribe??!1}else this.context=t,this.callback=n,this.subscribe=r??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&=(this.unsubscribe(),void 0)}dispatchRequest(){this.host.dispatchEvent(new p(this.context,this.host,this.t,this.subscribe))}};function g({context:e,subscribe:t}){return(n,r)=>{typeof r==`object`?r.addInitializer(function(){new h(this,{context:e,callback:e=>{n.set.call(this,e)},subscribe:t})}):n.constructor.addInitializer(n=>{new h(n,{context:e,callback:e=>{n[r]=e},subscribe:t})})}}var _=`theme-context`,v=a=>{class l extends a{constructor(...e){super(...e),this.disconnecting=new t.Subject}get locale(){return this._theme?.locale??(typeof navigator<`u`?navigator.language:`de-DE`)}get stableId(){if(this._stableId)return this._stableId;let e=[];for(let t=this;t?.parentElement&&e.length<5;t=t.parentElement){let n=t.tagName.toLowerCase(),r=Array.from(t.parentElement.children).filter(e=>e.tagName===t.tagName);e.unshift(r.length>1?`${n}:nth-of-type(${r.indexOf(t)+1})`:n)}let t=Array.from(e.join(`>`)).reduce((e,t)=>Math.imul(31,e)+t.charCodeAt(0)|0,0);return this._stableId=`el-${Math.abs(t).toString(36)}`}get uid(){return this.getAttribute(`uid`)||(this._uid||=`el-${crypto.randomUUID()}`,this._uid)}set uid(e){e?this.setAttribute(`uid`,e):this.removeAttribute(`uid`)}dispatchScopedEvent(e,t,n={}){let{bubbles:r=!1,composed:i=!0}=n;this.dispatchEvent(new CustomEvent(`${e}::${this.uid}`,{detail:t,bubbles:r,composed:i})),this.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:r,composed:i}))}classMap(e){let t={};return Object.keys(e).forEach(n=>{n.trim().split(` `).filter(Boolean).forEach(r=>{t[r]=e[n]})}),(0,r.classMap)(t)}styleMap(e){return(0,i.styleMap)(e)}connectedCallback(){super.connectedCallback(),this.setupDiscoveryResponse()}setupDiscoveryResponse(){let e=this.tagName.toLowerCase(),r=`${e}-where-are-you`,i=`${e}-here-i-am`;(0,t.fromEvent)(window,r).pipe((0,n.takeUntil)(this.disconnecting)).subscribe(()=>{window.dispatchEvent(new CustomEvent(i,{detail:{component:this},bubbles:!0,composed:!0}))}),(0,t.fromEvent)(window,o).pipe((0,n.takeUntil)(this.disconnecting)).subscribe(({detail:{selector:e,requestId:t}})=>{let n=null;if(e.startsWith(`#`)){let t=e.slice(1);this.id!==t&&this.uid!==t||(n=this)}!n&&this.shadowRoot&&(n=this.shadowRoot.querySelector(e)),n&&window.dispatchEvent(new CustomEvent(s,{detail:{requestId:t,element:n},bubbles:!0,composed:!0}))})}discover(e){return c(e)}disconnectedCallback(){this.disconnecting.next(!0),this.disconnecting.complete(),super.disconnectedCallback()}}return e.t([g({context:_,subscribe:!0})],l.prototype,`_theme`,void 0),l},y=(0,a.unsafeCSS)(`/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--color-primary:var(--schmancy-sys-color-primary-default)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-4{inset:1rem}.inset-x-0{inset-inline:0}.inset-x-6{inset-inline:1.5rem}.start{inset-inline-start:.25rem}.end{inset-inline-end:.25rem}.-top-12{top:-3rem}.top-0{top:0}.top-1\\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-8{top:2rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-\\[-3\\.5rem\\]{bottom:-3.5rem}.left-0{left:0}.left-1\\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-\\[calc\\(100\\%\\+8px\\)\\]{left:calc(100% + 8px)}.isolate{isolation:isolate}.z-0{z-index:0}.z-5{z-index:5}.z-10{z-index:10}.z-20{z-index:20}.z-49{z-index:49}.z-50{z-index:50}.z-100{z-index:100}.z-1000{z-index:1000}.z-9998{z-index:9998}.z-\\[1000\\]{z-index:1000}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-1{margin-inline:-.25rem}.mx-auto{margin-inline:auto}.my-0\\.5{margin-block:.125rem}.my-4{margin-block:1rem}.-mt-2\\.5{margin-top:-.625rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.-mr-1{margin-right:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.-ml-2\\.5{margin-left:-.625rem}.-ml-px{margin-left:-1px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-6{margin-left:1.5rem}.ml-\\[0\\.38em\\]{margin-left:.38em}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.table{display:table}.size-3{width:.75rem;height:.75rem}.size-5{width:1.25rem;height:1.25rem}.size-8{width:2rem;height:2rem}.size-\\[18px\\]{width:18px;height:18px}.size-full{width:100%;height:100%}.h-0\\.5{height:.125rem}.h-1{height:.25rem}.h-1\\.5{height:.375rem}.h-2{height:.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-64{height:16rem}.h-96{height:24rem}.h-\\[250px\\]{height:250px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-96{max-height:24rem}.max-h-\\[70vh\\]{max-height:70vh}.max-h-\\[80vh\\]{max-height:80vh}.max-h-\\[85dvh\\]{max-height:85dvh}.max-h-\\[90dvh\\]{max-height:90dvh}.max-h-\\[90vh\\]{max-height:90vh}.min-h-0{min-height:0}.min-h-12{min-height:3rem}.min-h-14{min-height:3.5rem}.min-h-\\[32px\\]{min-height:32px}.min-h-\\[36px\\]{min-height:36px}.min-h-\\[40px\\]{min-height:40px}.min-h-\\[50px\\]{min-height:50px}.min-h-\\[60px\\]{min-height:60px}.min-h-\\[400px\\]{min-height:400px}.w-0{width:0}.w-0\\.5{width:.125rem}.w-1{width:.25rem}.w-1\\.5{width:.375rem}.w-1\\/3{width:33.3333%}.w-2{width:.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-60{width:15rem}.w-\\[250px\\]{width:250px}.w-\\[inherit\\]{width:inherit}.w-\\[var\\(--dialog-width\\)\\]{width:var(--dialog-width)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-14{max-width:3.5rem}.max-w-32{max-width:8rem}.max-w-\\[90vw\\]{max-width:90vw}.max-w-\\[168px\\]{max-width:168px}.max-w-\\[360px\\]{max-width:360px}.max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.min-w-0{min-width:0}.min-w-4{min-width:1rem}.min-w-14{min-width:3.5rem}.min-w-16{min-width:4rem}.min-w-\\[6px\\]{min-width:6px}.min-w-\\[16px\\]{min-width:16px}.min-w-\\[48px\\]{min-width:48px}.min-w-\\[120px\\]{min-width:120px}.min-w-\\[140px\\]{min-width:140px}.min-w-\\[320px\\]{min-width:320px}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1{--tw-translate-x:calc(.25rem * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/4{--tw-translate-y:calc(calc(1 / 4 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-x-\\[-1\\]{--tw-scale-x:-1;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\\[ripple_600ms_linear\\]{animation:.6s linear ripple}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.resize-x{resize:horizontal}.resize-y{resize:vertical}.appearance-none{appearance:none}.columns-2{columns:2}.columns-3{columns:3}.auto-cols-max{grid-auto-columns:max-content}.grid-flow-col{grid-auto-flow:column}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-flow-dense{grid-auto-flow:dense}.grid-flow-row{grid-auto-flow:row}.grid-flow-row-dense{grid-auto-flow:dense}.auto-rows-max{grid-auto-rows:max-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.content-around{align-content:space-around}.content-between{align-content:space-between}.content-center{align-content:center}.content-end{align-content:flex-end}.content-evenly{align-content:space-evenly}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-baseline{justify-content:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-evenly{justify-content:space-evenly}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.justify-items-center{justify-items:center}.justify-items-end{justify-items:end}.justify-items-start{justify-items:start}.justify-items-stretch{justify-items:stretch}.gap-0{gap:0}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\\[8px\\]{gap:8px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(.25rem * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(.25rem * 2) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:1rem}.rounded-\\[8px\\]{border-radius:8px}.rounded-\\[22px\\]{border-radius:22px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.25rem}.rounded-xl{border-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-l-full{border-top-left-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.rounded-tl-2xl{border-top-left-radius:1rem}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.rounded-tr-2xl{border-top-right-radius:1rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-br-2xl{border-bottom-right-radius:1rem}.rounded-bl-2xl{border-bottom-left-radius:1rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-r-4{border-right-style:var(--tw-border-style);border-right-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--schmancy-sys-color-outlineVariant\\)\\]{border-color:var(--schmancy-sys-color-outlineVariant)}.border-error-default{border-color:var(--schmancy-sys-color-error-default)}.border-info-default{border-color:var(--schmancy-sys-color-info-default)}.border-outline{border-color:var(--schmancy-sys-color-outline)}.border-outline-variant,.border-outline-variant\\/30{border-color:var(--schmancy-sys-color-outlineVariant)}@supports (color:color-mix(in lab, red, red)){.border-outline-variant\\/30{border-color:color-mix(in oklab, var(--schmancy-sys-color-outlineVariant) 30%, transparent)}}.border-outline\\/20{border-color:var(--schmancy-sys-color-outline)}@supports (color:color-mix(in lab, red, red)){.border-outline\\/20{border-color:color-mix(in oklab, var(--schmancy-sys-color-outline) 20%, transparent)}}.border-outlineVariant{border-color:var(--schmancy-sys-color-outlineVariant)}.border-primary,.border-primary-default{border-color:var(--schmancy-sys-color-primary-default)}.border-secondary-container{border-color:var(--schmancy-sys-color-secondary-container)}.border-secondary-default{border-color:var(--schmancy-sys-color-secondary-default)}.border-success-default{border-color:var(--schmancy-sys-color-success-default)}.border-surface-container{border-color:var(--schmancy-sys-color-surface-container)}.border-surface-default{border-color:var(--schmancy-sys-color-surface-default)}.border-surface-on\\/10{border-color:var(--schmancy-sys-color-surface-on)}@supports (color:color-mix(in lab, red, red)){.border-surface-on\\/10{border-color:color-mix(in oklab, var(--schmancy-sys-color-surface-on) 10%, transparent)}}.border-transparent{border-color:#0000}.border-warning-default{border-color:var(--schmancy-sys-color-warning-default)}.border-white{border-color:#fff}.border-white\\/20{border-color:oklab(100% 0 5.96046e-8/.2)}.bg-\\[var\\(--schmancy-sys-color-X\\)\\]{background-color:var(--schmancy-sys-color-X)}.bg-black{background-color:#000}.bg-black\\/95{background-color:oklab(0% none none/.95)}.bg-black\\/\\[0\\.07\\]{background-color:oklab(0% none none/.07)}.bg-error{background-color:var(--schmancy-sys-color-error-default)}.bg-error-container{background-color:var(--schmancy-sys-color-error-container)}.bg-error-default,.bg-error-default\\/70{background-color:var(--schmancy-sys-color-error-default)}@supports (color:color-mix(in lab, red, red)){.bg-error-default\\/70{background-color:color-mix(in oklab, var(--schmancy-sys-color-error-default) 70%, transparent)}}.bg-error\\/70{background-color:var(--schmancy-sys-color-error-default)}@supports (color:color-mix(in lab, red, red)){.bg-error\\/70{background-color:color-mix(in oklab, var(--schmancy-sys-color-error-default) 70%, transparent)}}.bg-info-container{background-color:var(--schmancy-sys-color-info-container)}.bg-info-default{background-color:var(--schmancy-sys-color-info-default)}.bg-outline-variant,.bg-outlineVariant{background-color:var(--schmancy-sys-color-outlineVariant)}.bg-primary{background-color:var(--schmancy-sys-color-primary-default)}.bg-primary-container,.bg-primary-container\\/20{background-color:var(--schmancy-sys-color-primary-container)}@supports (color:color-mix(in lab, red, red)){.bg-primary-container\\/20{background-color:color-mix(in oklab, var(--schmancy-sys-color-primary-container) 20%, transparent)}}.bg-primary-default,.bg-primary-default\\/70{background-color:var(--schmancy-sys-color-primary-default)}@supports (color:color-mix(in lab, red, red)){.bg-primary-default\\/70{background-color:color-mix(in oklab, var(--schmancy-sys-color-primary-default) 70%, transparent)}}.bg-primary-onContainer{background-color:var(--schmancy-sys-color-primary-onContainer)}.bg-primary\\/40{background-color:var(--schmancy-sys-color-primary-default)}@supports (color:color-mix(in lab, red, red)){.bg-primary\\/40{background-color:color-mix(in oklab, var(--schmancy-sys-color-primary-default) 40%, transparent)}}.bg-primary\\/70{background-color:var(--schmancy-sys-color-primary-default)}@supports (color:color-mix(in lab, red, red)){.bg-primary\\/70{background-color:color-mix(in oklab, var(--schmancy-sys-color-primary-default) 70%, transparent)}}.bg-secondary{background-color:var(--schmancy-sys-color-secondary-default)}.bg-secondary-container{background-color:var(--schmancy-sys-color-secondary-container)}.bg-secondary-default,.bg-secondary-default\\/70{background-color:var(--schmancy-sys-color-secondary-default)}@supports (color:color-mix(in lab, red, red)){.bg-secondary-default\\/70{background-color:color-mix(in oklab, var(--schmancy-sys-color-secondary-default) 70%, transparent)}}.bg-secondary\\/15{background-color:var(--schmancy-sys-color-secondary-default)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/15{background-color:color-mix(in oklab, var(--schmancy-sys-color-secondary-default) 15%, transparent)}}.bg-secondary\\/40{background-color:var(--schmancy-sys-color-secondary-default)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/40{background-color:color-mix(in oklab, var(--schmancy-sys-color-secondary-default) 40%, transparent)}}.bg-secondary\\/70{background-color:var(--schmancy-sys-color-secondary-default)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\\/70{background-color:color-mix(in oklab, var(--schmancy-sys-color-secondary-default) 70%, transparent)}}.bg-success{background-color:var(--schmancy-sys-color-success-default)}.bg-success-container{background-color:var(--schmancy-sys-color-success-container)}.bg-success-default,.bg-success-default\\/70{background-color:var(--schmancy-sys-color-success-default)}@supports (color:color-mix(in lab, red, red)){.bg-success-default\\/70{background-color:color-mix(in oklab, var(--schmancy-sys-color-success-default) 70%, transparent)}}.bg-success\\/10{background-color:var(--schmancy-sys-color-success-default)}@supports (color:color-mix(in lab, red, red)){.bg-success\\/10{background-color:color-mix(in oklab, var(--schmancy-sys-color-success-default) 10%, transparent)}}.bg-success\\/70{background-color:var(--schmancy-sys-color-success-default)}@supports (color:color-mix(in lab, red, red)){.bg-success\\/70{background-color:color-mix(in oklab, var(--schmancy-sys-color-success-default) 70%, transparent)}}.bg-surface{background-color:var(--schmancy-sys-color-surface-default)}.bg-surface-container,.bg-surface-container\\/10{background-color:var(--schmancy-sys-color-surface-container)}@supports (color:color-mix(in lab, red, red)){.bg-surface-container\\/10{background-color:color-mix(in oklab, var(--schmancy-sys-color-surface-container) 10%, transparent)}}.bg-surface-container\\/20{background-color:var(--schmancy-sys-color-surface-container)}@supports (color:color-mix(in lab, red, red)){.bg-surface-container\\/20{background-color:color-mix(in oklab, var(--schmancy-sys-color-surface-container) 20%, transparent)}}.bg-surface-containerHighest{background-color:var(--schmancy-sys-color-surface-containerHighest)}.bg-surface-containerLow{background-color:var(--schmancy-sys-color-surface-containerLow)}.bg-surface-containerLowest{background-color:var(--schmancy-sys-color-surface-containerLowest)}.bg-surface-default{background-color:var(--schmancy-sys-color-surface-default)}.bg-surface-highest{background-color:var(--schmancy-sys-color-surface-highest)}.bg-surface-low{background-color:var(--schmancy-sys-color-surface-low)}.bg-surface-lowest,.bg-surface-lowest\\/55{background-color:var(--schmancy-sys-color-surface-lowest)}@supports (color:color-mix(in lab, red, red)){.bg-surface-lowest\\/55{background-color:color-mix(in oklab, var(--schmancy-sys-color-surface-lowest) 55%, transparent)}}.bg-surface-on{background-color:var(--schmancy-sys-color-surface-on)}.bg-tertiary,.bg-tertiary-default,.bg-tertiary-default\\/70{background-color:var(--schmancy-sys-color-tertiary-default)}@supports (color:color-mix(in lab, red, red)){.bg-tertiary-default\\/70{background-color:color-mix(in oklab, var(--schmancy-sys-color-tertiary-default) 70%, transparent)}}.bg-tertiary\\/40{background-color:var(--schmancy-sys-color-tertiary-default)}@supports (color:color-mix(in lab, red, red)){.bg-tertiary\\/40{background-color:color-mix(in oklab, var(--schmancy-sys-color-tertiary-default) 40%, transparent)}}.bg-tertiary\\/70{background-color:var(--schmancy-sys-color-tertiary-default)}@supports (color:color-mix(in lab, red, red)){.bg-tertiary\\/70{background-color:color-mix(in oklab, var(--schmancy-sys-color-tertiary-default) 70%, transparent)}}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--schmancy-sys-color-warning-default)}.bg-warning-container{background-color:var(--schmancy-sys-color-warning-container)}.bg-warning-default,.bg-warning\\/70{background-color:var(--schmancy-sys-color-warning-default)}@supports (color:color-mix(in lab, red, red)){.bg-warning\\/70{background-color:color-mix(in oklab, var(--schmancy-sys-color-warning-default) 70%, transparent)}}.bg-white{background-color:#fff}.bg-white\\/15{background-color:oklab(100% 0 5.96046e-8/.15)}.bg-white\\/20{background-color:oklab(100% 0 5.96046e-8/.2)}.bg-linear-to-b{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-b{--tw-gradient-position:to bottom in oklab}}.bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.from-surface-on\\/20{--tw-gradient-from:var(--schmancy-sys-color-surface-on)}@supports (color:color-mix(in lab, red, red)){.from-surface-on\\/20{--tw-gradient-from:color-mix(in oklab, var(--schmancy-sys-color-surface-on) 20%, transparent)}}.from-surface-on\\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-primary-default\\/30{--tw-gradient-via:var(--schmancy-sys-color-primary-default)}@supports (color:color-mix(in lab, red, red)){.via-primary-default\\/30{--tw-gradient-via:color-mix(in oklab, var(--schmancy-sys-color-primary-default) 30%, transparent)}}.via-primary-default\\/30{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-inline:.25rem}.px-1\\.5{padding-inline:.375rem}.px-2{padding-inline:.5rem}.px-2\\.5{padding-inline:.625rem}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-5{padding-inline:1.25rem}.px-6{padding-inline:1.5rem}.px-7{padding-inline:1.75rem}.py-0\\.75{padding-block:.1875rem}.py-1{padding-block:.25rem}.py-1\\.5{padding-block:.375rem}.py-2{padding-block:.5rem}.py-2\\.5{padding-block:.625rem}.py-3{padding-block:.75rem}.py-4{padding-block:1rem}.py-6{padding-block:1.5rem}.py-8{padding-block:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.pt-10{padding-top:2.5rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-\\[env\\(safe-area-inset-bottom\\)\\]{padding-bottom:env(safe-area-inset-bottom)}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--schmancy-font-family), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.text-2xl{font-size:1.5rem;line-height:var(--tw-leading,calc(2 / 1.5))}.text-base{font-size:1rem;line-height:var(--tw-leading,calc(1.5 / 1))}.text-lg{font-size:1.125rem;line-height:var(--tw-leading,calc(1.75 / 1.125))}.text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25 / .875))}.text-xl{font-size:1.25rem;line-height:var(--tw-leading,calc(1.75 / 1.25))}.text-xs{font-size:.75rem;line-height:var(--tw-leading,calc(1 / .75))}.text-\\[8px\\]{font-size:8px}.text-\\[10px\\]{font-size:10px}.text-\\[18px\\]{font-size:18px}.leading-3{--tw-leading:calc(.25rem * 3);line-height:.75rem}.leading-4{--tw-leading:calc(.25rem * 4);line-height:1rem}.leading-5{--tw-leading:calc(.25rem * 5);line-height:1.25rem}.leading-6{--tw-leading:calc(.25rem * 6);line-height:1.5rem}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:1.25;line-height:1.25}.font-bold{--tw-font-weight:700;font-weight:700}.font-medium{--tw-font-weight:500;font-weight:500}.font-semibold{--tw-font-weight:600;font-weight:600}.tracking-\\[0\\.01em\\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\\[0\\.1px\\]{--tw-tracking:.1px;letter-spacing:.1px}.tracking-wide{--tw-tracking:.025em;letter-spacing:.025em}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-error,.text-error-default{color:var(--schmancy-sys-color-error-default)}.text-error-on{color:var(--schmancy-sys-color-error-on)}.text-error-onContainer{color:var(--schmancy-sys-color-error-onContainer)}.text-info-default{color:var(--schmancy-sys-color-info-default)}.text-info-on{color:var(--schmancy-sys-color-info-on)}.text-info-onContainer{color:var(--schmancy-sys-color-info-onContainer)}.text-primary,.text-primary-default{color:var(--schmancy-sys-color-primary-default)}.text-primary-on{color:var(--schmancy-sys-color-primary-on)}.text-primary-onContainer{color:var(--schmancy-sys-color-primary-onContainer)}.text-secondary-default{color:var(--schmancy-sys-color-secondary-default)}.text-secondary-on{color:var(--schmancy-sys-color-secondary-on)}.text-secondary-onContainer{color:var(--schmancy-sys-color-secondary-onContainer)}.text-success,.text-success-default{color:var(--schmancy-sys-color-success-default)}.text-success-on{color:var(--schmancy-sys-color-success-on)}.text-success-on-container,.text-success-onContainer{color:var(--schmancy-sys-color-success-onContainer)}.text-surface-on{color:var(--schmancy-sys-color-surface-on)}.text-surface-on-variant{color:var(--schmancy-sys-color-surface-onVariant)}.text-surface-on\\/40{color:var(--schmancy-sys-color-surface-on)}@supports (color:color-mix(in lab, red, red)){.text-surface-on\\/40{color:color-mix(in oklab, var(--schmancy-sys-color-surface-on) 40%, transparent)}}.text-surface-onVariant{color:var(--schmancy-sys-color-surface-onVariant)}.text-tertiary-default{color:var(--schmancy-sys-color-tertiary-default)}.text-tertiary-on{color:var(--schmancy-sys-color-tertiary-on)}.text-warning-default{color:var(--schmancy-sys-color-warning-default)}.text-warning-on{color:var(--schmancy-sys-color-warning-on)}.text-warning-onContainer{color:var(--schmancy-sys-color-warning-onContainer)}.text-white{color:#fff}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.caret-transparent{caret-color:#0000}.opacity-0{opacity:0}.opacity-1{opacity:.01}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-38{opacity:.38}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-95{opacity:.95}.opacity-100{opacity:1}.opacity-\\[0\\.12\\]{opacity:.12}.opacity-\\[0\\.38\\]{opacity:.38}.opacity-\\[var\\(--schmancy-sys-state-disabled-opacity\\)\\]{opacity:var(--schmancy-sys-state-disabled-opacity)}.opacity-\\[var\\(--schmancy-sys-state-pressed-opacity\\)\\]{opacity:var(--schmancy-sys-state-pressed-opacity)}.shadow-1{--tw-shadow:var(--schmancy-sys-elevation-1);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_0_20px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]{--tw-shadow:0 0 20px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[inset_0_1px_1px_0_rgba\\(255\\,255\\,255\\,0\\.2\\)\\]{--tw-shadow:inset 0 1px 1px 0 var(--tw-shadow-color,#fff3);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[inset_0_1px_2px_0_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]{--tw-shadow:inset 0 1px 2px 0 var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-error-default{--tw-ring-color:var(--schmancy-sys-color-error-default)}.ring-outline-variant\\/40{--tw-ring-color:var(--schmancy-sys-color-outlineVariant)}@supports (color:color-mix(in lab, red, red)){.ring-outline-variant\\/40{--tw-ring-color:color-mix(in oklab, var(--schmancy-sys-color-outlineVariant) 40%, transparent)}}.ring-primary,.ring-primary-default\\/15{--tw-ring-color:var(--schmancy-sys-color-primary-default)}@supports (color:color-mix(in lab, red, red)){.ring-primary-default\\/15{--tw-ring-color:color-mix(in oklab, var(--schmancy-sys-color-primary-default) 15%, transparent)}}.ring-primary-default\\/30{--tw-ring-color:var(--schmancy-sys-color-primary-default)}@supports (color:color-mix(in lab, red, red)){.ring-primary-default\\/30{--tw-ring-color:color-mix(in oklab, var(--schmancy-sys-color-primary-default) 30%, transparent)}}.ring-secondary-default{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.ring-transparent{--tw-ring-color:transparent}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-secondary-default{outline-color:var(--schmancy-sys-color-secondary-default)}.brightness-110{--tw-brightness:brightness(110%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\\[16px\\],.backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-brightness-105{--tw-backdrop-brightness:brightness(105%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-saturate-150{--tw-backdrop-saturate:saturate(150%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:cubic-bezier(.4, 0, 1, 1);transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{--tw-ease:cubic-bezier(.4, 0, .2, 1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{--tw-ease:cubic-bezier(0, 0, .2, 1);transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-\\[clip-path\\]{will-change:clip-path}.will-change-\\[opacity\\]{will-change:opacity}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\\:scale-125:is(:where(.group):hover *){--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\\:border-primary-default:is(:where(.group):hover *){border-color:var(--schmancy-sys-color-primary-default)}.group-hover\\:bg-primary-container:is(:where(.group):hover *){background-color:var(--schmancy-sys-color-primary-container)}.group-hover\\:bg-primary-default:is(:where(.group):hover *){background-color:var(--schmancy-sys-color-primary-default)}.group-hover\\:bg-surface-containerHighest:is(:where(.group):hover *){background-color:var(--schmancy-sys-color-surface-containerHighest)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\\:shadow-lg:is(:where(.group):hover *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:top-1\\/2:before{content:var(--tw-content);top:50%}.before\\:left-1\\/2:before{content:var(--tw-content);left:50%}.before\\:h-0:before{content:var(--tw-content);height:0}.before\\:h-\\[200\\%\\]:before{content:var(--tw-content);height:200%}.before\\:w-0:before{content:var(--tw-content);width:0}.before\\:w-\\[200\\%\\]:before{content:var(--tw-content);width:200%}.before\\:-translate-x-1\\/2:before{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.before\\:-translate-y-1\\/2:before{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.before\\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\\:bg-current:before{content:var(--tw-content);background-color:currentColor}.before\\:opacity-0:before{content:var(--tw-content);opacity:0}.before\\:opacity-12:before{content:var(--tw-content);opacity:.12}.before\\:transition-all:before{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.before\\:duration-300:before{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}.before\\:content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:right-3:after{content:var(--tw-content);right:.75rem}.after\\:bottom-\\[-4px\\]:after{content:var(--tw-content);bottom:-4px}.after\\:left-3:after{content:var(--tw-content);left:.75rem}.after\\:h-px:after{content:var(--tw-content);height:1px}.after\\:bg-outline-variant:after{content:var(--tw-content);background-color:var(--schmancy-sys-color-outlineVariant)}.after\\:opacity-12:after{content:var(--tw-content);opacity:.12}.focus-within\\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\\:ring-error-default:focus-within{--tw-ring-color:var(--schmancy-sys-color-error-default)}.focus-within\\:ring-secondary-default:focus-within{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}@media (hover:hover){.hover\\:z-\\[100\\]:hover{z-index:100}.hover\\:translate-x-0:hover{--tw-translate-x:calc(.25rem * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:scale-\\[1\\.02\\]:hover{scale:1.02}.hover\\:border-outlineVariant:hover{border-color:var(--schmancy-sys-color-outlineVariant)}.hover\\:bg-error-container:hover{background-color:var(--schmancy-sys-color-error-container)}.hover\\:bg-error-default:hover{background-color:var(--schmancy-sys-color-error-default)}.hover\\:bg-error-on:hover{background-color:var(--schmancy-sys-color-error-on)}.hover\\:bg-info-container:hover{background-color:var(--schmancy-sys-color-info-container)}.hover\\:bg-info-default:hover{background-color:var(--schmancy-sys-color-info-default)}.hover\\:bg-info-on:hover{background-color:var(--schmancy-sys-color-info-on)}.hover\\:bg-primary-container:hover{background-color:var(--schmancy-sys-color-primary-container)}.hover\\:bg-primary-default:hover{background-color:var(--schmancy-sys-color-primary-default)}.hover\\:bg-primary-on:hover{background-color:var(--schmancy-sys-color-primary-on)}.hover\\:bg-secondary-container:hover{background-color:var(--schmancy-sys-color-secondary-container)}.hover\\:bg-secondary-default:hover{background-color:var(--schmancy-sys-color-secondary-default)}.hover\\:bg-secondary-on:hover{background-color:var(--schmancy-sys-color-secondary-on)}.hover\\:bg-success-container:hover{background-color:var(--schmancy-sys-color-success-container)}.hover\\:bg-success-default:hover{background-color:var(--schmancy-sys-color-success-default)}.hover\\:bg-success-on:hover{background-color:var(--schmancy-sys-color-success-on)}.hover\\:bg-surface-container:hover{background-color:var(--schmancy-sys-color-surface-container)}.hover\\:bg-surface-containerHigh:hover{background-color:var(--schmancy-sys-color-surface-containerHigh)}.hover\\:bg-surface-containerHighest:hover{background-color:var(--schmancy-sys-color-surface-containerHighest)}.hover\\:bg-surface-containerLow:hover{background-color:var(--schmancy-sys-color-surface-containerLow)}.hover\\:bg-surface-high:hover{background-color:var(--schmancy-sys-color-surface-high)}.hover\\:bg-surface-on:hover,.hover\\:bg-surface-on\\/5:hover{background-color:var(--schmancy-sys-color-surface-on)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-surface-on\\/5:hover{background-color:color-mix(in oklab, var(--schmancy-sys-color-surface-on) 5%, transparent)}}.hover\\:bg-surface-onVariant:hover{background-color:var(--schmancy-sys-color-surface-onVariant)}.hover\\:bg-warning-container:hover{background-color:var(--schmancy-sys-color-warning-container)}.hover\\:bg-warning-default:hover{background-color:var(--schmancy-sys-color-warning-default)}.hover\\:bg-warning-on:hover{background-color:var(--schmancy-sys-color-warning-on)}.hover\\:bg-white\\/25:hover{background-color:oklab(100% 0 5.96046e-8/.25)}.hover\\:bg-white\\/30:hover{background-color:oklab(100% 0 5.96046e-8/.3)}.hover\\:text-error-container:hover{color:var(--schmancy-sys-color-error-container)}.hover\\:text-surface-on:hover{color:var(--schmancy-sys-color-surface-on)}.hover\\:opacity-80:hover{opacity:.8}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-\\[0\\.08\\]:hover{opacity:.08}.hover\\:opacity-\\[var\\(--schmancy-sys-state-hover-opacity\\)\\]:hover{opacity:var(--schmancy-sys-state-hover-opacity)}.hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\\:shadow-xs:hover{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\\:ring-outline-variant\\/40:hover{--tw-ring-color:var(--schmancy-sys-color-outlineVariant)}@supports (color:color-mix(in lab, red, red)){.hover\\:ring-outline-variant\\/40:hover{--tw-ring-color:color-mix(in oklab, var(--schmancy-sys-color-outlineVariant) 40%, transparent)}}.hover\\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\\:brightness-\\[0\\.92\\]:hover{--tw-brightness:brightness(.92);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\\:brightness-\\[0\\.98\\]:hover{--tw-brightness:brightness(.98);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\\:border-secondary-default:focus{border-color:var(--schmancy-sys-color-secondary-default)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-error-default:focus{--tw-ring-color:var(--schmancy-sys-color-error-default)}.focus\\:ring-primary-container:focus{--tw-ring-color:var(--schmancy-sys-color-primary-container)}.focus\\:ring-primary-default:focus{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.focus\\:ring-secondary-default:focus{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-1:focus{outline-style:var(--tw-outline-style);outline-width:1px}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\\:z-1:focus-visible{z-index:1}.focus-visible\\:opacity-\\[0\\.10\\]:focus-visible{opacity:.1}.focus-visible\\:opacity-\\[var\\(--schmancy-sys-state-focus-opacity\\)\\]:focus-visible{opacity:var(--schmancy-sys-state-focus-opacity)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-primary-default\\/50:focus-visible{--tw-ring-color:var(--schmancy-sys-color-primary-default)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-primary-default\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--schmancy-sys-color-primary-default) 50%, transparent)}}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-0:focus-visible{outline-offset:0px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-primary:focus-visible,.focus-visible\\:outline-primary-default:focus-visible{outline-color:var(--schmancy-sys-color-primary-default)}.focus-visible\\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-surface-on\\/8:active{background-color:var(--schmancy-sys-color-surface-on)}@supports (color:color-mix(in lab, red, red)){.active\\:bg-surface-on\\/8:active{background-color:color-mix(in oklab, var(--schmancy-sys-color-surface-on) 8%, transparent)}}.active\\:opacity-\\[0\\.10\\]:active{opacity:.1}.active\\:brightness-90:active{--tw-brightness:brightness(90%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.active\\:brightness-\\[0\\.85\\]:active{--tw-brightness:brightness(.85);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}@media (width>=40rem){.sm\\:top-2{top:.5rem}.sm\\:right-2{right:.5rem}.sm\\:bottom-\\[-3rem\\]{bottom:-3rem}.sm\\:left-4{left:1rem}.sm\\:-mx-2{margin-inline:-.5rem}.sm\\:mt-1{margin-top:.25rem}.sm\\:mt-4{margin-top:1rem}.sm\\:ml-6{margin-left:1.5rem}.sm\\:ml-10{margin-left:2.5rem}.sm\\:h-5{height:1.25rem}.sm\\:h-12{height:3rem}.sm\\:min-h-\\[40px\\]{min-height:40px}.sm\\:w-5{width:1.25rem}.sm\\:w-auto{width:auto}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}.sm\\:justify-between{justify-content:space-between}.sm\\:px-2{padding-inline:.5rem}.sm\\:px-3{padding-inline:.75rem}.sm\\:py-2{padding-block:.5rem}.sm\\:py-3{padding-block:.75rem}.sm\\:pb-8{padding-bottom:2rem}.sm\\:text-3xl{font-size:1.875rem;line-height:var(--tw-leading,calc(2.25 / 1.875))}}@media (width>=48rem){.md\\:top-4{top:1rem}.md\\:right-4{right:1rem}.md\\:bottom-\\[-3\\.5rem\\]{bottom:-3.5rem}.md\\:text-4xl{font-size:2.25rem;line-height:var(--tw-leading,calc(2.5 / 2.25))}.md\\:text-base{font-size:1rem;line-height:var(--tw-leading,calc(1.5 / 1))}}@media (width>=64rem){.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:text-lg{font-size:1.125rem;line-height:var(--tw-leading,calc(1.75 / 1.125))}}@media (width>=80rem){.xl\\:w-1\\/2{width:50%}.xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\\:flex-row{flex-direction:row}}.\\[\\&\\>\\.ripple\\]\\:scale-100>.ripple{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@layer schmancy.tokens;@layer schmancy.base{:host,:root{font-family:var(--schmancy-font-family);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:host,:root{--lightningcss-light: ;--lightningcss-dark:initial}}:host,:host *,*{touch-action:pan-x pan-y}.interactive{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .4s,filter .2s}.interactive:hover{filter:brightness(1.03);box-shadow:0 4px 20px -6px var(--schmancy-sys-color-primary-default);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.interactive:hover{box-shadow:0 4px 20px -6px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 18%, transparent)}}.interactive:active{filter:brightness(.96);box-shadow:none;transition-duration:.1s;transform:scale(.97)}@media (prefers-reduced-motion:reduce){.interactive{transition:filter .15s}.interactive:hover{box-shadow:none;transform:none}.interactive:active{transform:none}}}@layer schmancy.components;@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}`),b=e=>{class t extends a.LitElement{static{this.styles=[(0,a.unsafeCSS)(e),y]}}return t},x=e=>{class t extends v(b(e)){constructor(...e){super(...e),this.disconnectedCallback=()=>{super.disconnectedCallback()}}}return t};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return f}});