@mhmo91/schmancy 0.9.27 → 0.10.1

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 (1041) hide show
  1. package/custom-elements.json +987 -2259
  2. package/dist/active-host-0of-L858.cjs +1 -0
  3. package/dist/active-host-0of-L858.cjs.map +1 -0
  4. package/dist/active-host-D-a1X-nq.js +57 -0
  5. package/dist/active-host-D-a1X-nq.js.map +1 -0
  6. package/dist/agent/{flow-CvG1fLW5.js.map → flow-CaPi2G8y.js.map} +1 -1
  7. package/dist/agent/{rolldown-runtime-BIIoCavz.js → rolldown-runtime-DsMetpgY.js} +2 -9
  8. package/dist/agent/schmancy.agent.js +6465 -7794
  9. package/dist/agent/schmancy.agent.js.map +1 -1
  10. package/dist/agent/schmancy.manifest.json +262 -1462
  11. package/dist/agent/{vendor-highlight-Dow87ZL_.js → vendor-highlight-CHJZQQB7.js} +85 -90
  12. package/dist/agent/{vendor-highlight-Dow87ZL_.js.map → vendor-highlight-CHJZQQB7.js.map} +1 -1
  13. package/dist/agent/{vendor-jsqr-Bl4iAtKC.js → vendor-jsqr-r7GNh4P3.js} +1 -1
  14. package/dist/agent/{vendor-jsqr-Bl4iAtKC.js.map → vendor-jsqr-r7GNh4P3.js.map} +1 -1
  15. package/dist/agent/{vendor-material-color-DcL7ZPxx.js.map → vendor-material-color-Be96dpGE.js.map} +1 -1
  16. package/dist/{animation-hXFClrIn.js.map → animation-BK-8BwY8.js.map} +1 -1
  17. package/dist/{animation-CQRdLgzX.cjs.map → animation-CO_Csq84.cjs.map} +1 -1
  18. package/dist/{area-BGBCMC79.js → area-C_J4qxKO.js} +20 -15
  19. package/dist/area-C_J4qxKO.js.map +1 -0
  20. package/dist/area-ISC8Mdkh.cjs +12 -0
  21. package/dist/area-ISC8Mdkh.cjs.map +1 -0
  22. package/dist/area.cjs +1 -1
  23. package/dist/area.js +2 -2
  24. package/dist/{audio-Dvr-RBzE.cjs → audio-DZN8HsSS.cjs} +1 -1
  25. package/dist/{audio-Dvr-RBzE.cjs.map → audio-DZN8HsSS.cjs.map} +1 -1
  26. package/dist/{audio-ql6nvY0y.js → audio-Tmre4WyL.js} +1 -1
  27. package/dist/{audio-ql6nvY0y.js.map → audio-Tmre4WyL.js.map} +1 -1
  28. package/dist/audio.cjs +1 -1
  29. package/dist/audio.js +2 -2
  30. package/dist/autocomplete-BDF85W0J.cjs +115 -0
  31. package/dist/autocomplete-BDF85W0J.cjs.map +1 -0
  32. package/dist/{autocomplete-C2P0Soht.js → autocomplete-CM8VqW9S.js} +29 -26
  33. package/dist/autocomplete-CM8VqW9S.js.map +1 -0
  34. package/dist/autocomplete.cjs +1 -1
  35. package/dist/autocomplete.js +1 -1
  36. package/dist/avatar.cjs +7 -0
  37. package/dist/avatar.cjs.map +1 -0
  38. package/dist/avatar.js +87 -0
  39. package/dist/avatar.js.map +1 -0
  40. package/dist/badge.cjs +1 -1
  41. package/dist/badge.js +1 -1
  42. package/dist/boat-CpXe-Qto.cjs +80 -0
  43. package/dist/boat-CpXe-Qto.cjs.map +1 -0
  44. package/dist/{boat-DXZ0k7oa.js → boat-DxYNK4xT.js} +43 -54
  45. package/dist/boat-DxYNK4xT.js.map +1 -0
  46. package/dist/boat.cjs +1 -1
  47. package/dist/boat.js +1 -1
  48. package/dist/breadcrumb.cjs +4 -4
  49. package/dist/breadcrumb.cjs.map +1 -1
  50. package/dist/breadcrumb.js +16 -11
  51. package/dist/breadcrumb.js.map +1 -1
  52. package/dist/{busy-iRjq6Nvd.js → busy-CP-gRfAP.js} +14 -9
  53. package/dist/busy-CP-gRfAP.js.map +1 -0
  54. package/dist/{busy-DGYhpTnO.cjs → busy-Dma4gtnz.cjs} +4 -4
  55. package/dist/busy-Dma4gtnz.cjs.map +1 -0
  56. package/dist/busy.cjs +1 -1
  57. package/dist/busy.js +1 -1
  58. package/dist/button.cjs +24 -24
  59. package/dist/button.cjs.map +1 -1
  60. package/dist/button.js +42 -37
  61. package/dist/button.js.map +1 -1
  62. package/dist/{card-wUTjx0EC.js → card-Bv--HeGO.js} +41 -30
  63. package/dist/card-Bv--HeGO.js.map +1 -0
  64. package/dist/{card-DjYnCckw.cjs → card-ClroODSK.cjs} +6 -6
  65. package/dist/card-ClroODSK.cjs.map +1 -0
  66. package/dist/card.cjs +1 -1
  67. package/dist/card.js +1 -1
  68. package/dist/charts.cjs +5 -5
  69. package/dist/charts.cjs.map +1 -1
  70. package/dist/charts.js +21 -16
  71. package/dist/charts.js.map +1 -1
  72. package/dist/{checkbox-VBSenxgb.js → checkbox-1gQOOcja.js} +86 -82
  73. package/dist/checkbox-1gQOOcja.js.map +1 -0
  74. package/dist/checkbox-DvTZXN1Y.cjs +39 -0
  75. package/dist/checkbox-DvTZXN1Y.cjs.map +1 -0
  76. package/dist/checkbox.cjs +1 -1
  77. package/dist/checkbox.js +1 -1
  78. package/dist/{chips-D6ptH5re.cjs → chips-Bw7FNDpX.cjs} +19 -19
  79. package/dist/chips-Bw7FNDpX.cjs.map +1 -0
  80. package/dist/{chips-BDS9lkPa.js → chips-wkfKzf_e.js} +146 -136
  81. package/dist/chips-wkfKzf_e.js.map +1 -0
  82. package/dist/chips.cjs +1 -1
  83. package/dist/chips.js +2 -2
  84. package/dist/{code-highlight-BzRmBZzz.cjs → code-highlight-CJzuds4c.cjs} +15 -15
  85. package/dist/code-highlight-CJzuds4c.cjs.map +1 -0
  86. package/dist/{code-highlight-Bi91XHJN.js → code-highlight-CcdCFMrn.js} +37 -40
  87. package/dist/code-highlight-CcdCFMrn.js.map +1 -0
  88. package/dist/code-highlight.cjs +1 -1
  89. package/dist/code-highlight.js +1 -1
  90. package/dist/connectivity.cjs +2 -2
  91. package/dist/connectivity.cjs.map +1 -1
  92. package/dist/connectivity.js +10 -7
  93. package/dist/connectivity.js.map +1 -1
  94. package/dist/content-drawer.cjs +1 -1
  95. package/dist/content-drawer.js +2 -2
  96. package/dist/context-Bdu1xt0W.js +3 -0
  97. package/dist/{context-BerzpUhI.js.map → context-Bdu1xt0W.js.map} +1 -1
  98. package/dist/context-daN5G6HS.cjs +1 -0
  99. package/dist/{context-C6dHUHhi.cjs.map → context-daN5G6HS.cjs.map} +1 -1
  100. package/dist/{cursor-glow-BydlDInj.js → cursor-glow-Ah7VXSj7.js} +1 -1
  101. package/dist/{cursor-glow-BydlDInj.js.map → cursor-glow-Ah7VXSj7.js.map} +1 -1
  102. package/dist/{cursor-glow-Duw9jHmh.cjs → cursor-glow-Bulq-38P.cjs} +1 -1
  103. package/dist/{cursor-glow-Duw9jHmh.cjs.map → cursor-glow-Bulq-38P.cjs.map} +1 -1
  104. package/dist/{date-range-ClTMg1AB.js → date-range-BDHz_Olm.js} +16 -17
  105. package/dist/date-range-BDHz_Olm.js.map +1 -0
  106. package/dist/date-range-BsPW60vp.cjs +131 -0
  107. package/dist/date-range-BsPW60vp.cjs.map +1 -0
  108. package/dist/{date-range-inline-CpKG6qt2.js → date-range-inline-1NmZE_Xr.js} +5 -5
  109. package/dist/{date-range-inline-CpKG6qt2.js.map → date-range-inline-1NmZE_Xr.js.map} +1 -1
  110. package/dist/date-range-inline-BsjNNGFR.cjs +43 -0
  111. package/dist/{date-range-inline-B9Dp2z6C.cjs.map → date-range-inline-BsjNNGFR.cjs.map} +1 -1
  112. package/dist/date-range-inline.cjs +1 -1
  113. package/dist/date-range-inline.js +1 -1
  114. package/dist/date-range.cjs +1 -1
  115. package/dist/date-range.js +1 -1
  116. package/dist/delay.cjs +9 -1
  117. package/dist/delay.cjs.map +1 -0
  118. package/dist/delay.js +77 -2
  119. package/dist/delay.js.map +1 -0
  120. package/dist/{details-CPjlqQD4.js → details-BEp2s2ca.js} +19 -18
  121. package/dist/details-BEp2s2ca.js.map +1 -0
  122. package/dist/{details-Cz9ok9si.cjs → details-BtUNqzn8.cjs} +9 -9
  123. package/dist/details-BtUNqzn8.cjs.map +1 -0
  124. package/dist/details.cjs +1 -1
  125. package/dist/details.js +1 -1
  126. package/dist/{dialog-service-DH-tjPuE.js → dialog-service-DI9PPy4H.js} +2 -2
  127. package/dist/dialog-service-DI9PPy4H.js.map +1 -0
  128. package/dist/{dialog-service-CzDO08Gy.cjs → dialog-service-DJd5L0f5.cjs} +1 -1
  129. package/dist/dialog-service-DJd5L0f5.cjs.map +1 -0
  130. package/dist/dialog.cjs +2 -2
  131. package/dist/dialog.cjs.map +1 -1
  132. package/dist/dialog.js +13 -14
  133. package/dist/dialog.js.map +1 -1
  134. package/dist/directives.cjs +2 -11
  135. package/dist/directives.cjs.map +1 -1
  136. package/dist/directives.js +141 -227
  137. package/dist/directives.js.map +1 -1
  138. package/dist/discovery.cjs +1 -1
  139. package/dist/discovery.cjs.map +1 -1
  140. package/dist/discovery.js +1 -1
  141. package/dist/discovery.js.map +1 -1
  142. package/dist/{divider-CILo3_vi.cjs → divider-CpNT11Iy.cjs} +3 -3
  143. package/dist/divider-CpNT11Iy.cjs.map +1 -0
  144. package/dist/{divider-ghgyw5CU.js → divider-VxpjZ8hk.js} +11 -9
  145. package/dist/divider-VxpjZ8hk.js.map +1 -0
  146. package/dist/divider.cjs +1 -1
  147. package/dist/divider.js +1 -1
  148. package/dist/dropdown.cjs +4 -4
  149. package/dist/dropdown.cjs.map +1 -1
  150. package/dist/dropdown.js +29 -28
  151. package/dist/dropdown.js.map +1 -1
  152. package/dist/expand-05azMpho.cjs +141 -0
  153. package/dist/expand-05azMpho.cjs.map +1 -0
  154. package/dist/{expand-CbjBr_Ds.js → expand-CRUl3-mN.js} +24 -20
  155. package/dist/expand-CRUl3-mN.js.map +1 -0
  156. package/dist/expand.cjs +1 -1
  157. package/dist/expand.js +1 -1
  158. package/dist/{extra-BZeZOMBI.cjs → extra-CyERULfm.cjs} +6 -6
  159. package/dist/extra-CyERULfm.cjs.map +1 -0
  160. package/dist/{extra-DK9MQtPJ.js → extra-aNV1fO6W.js} +19 -14
  161. package/dist/extra-aNV1fO6W.js.map +1 -0
  162. package/dist/extra.cjs +1 -1
  163. package/dist/extra.js +1 -1
  164. package/dist/float-DRET9mVZ.cjs +1 -0
  165. package/dist/{float-CuZ8LOgB.cjs.map → float-DRET9mVZ.cjs.map} +1 -1
  166. package/dist/{float-BfCvGeY9.js → float-N3qhNET_.js} +2 -2
  167. package/dist/{float-BfCvGeY9.js.map → float-N3qhNET_.js.map} +1 -1
  168. package/dist/float.cjs +1 -1
  169. package/dist/float.js +1 -1
  170. package/dist/{form-rCZqoAoK.js → form-BtwOBMZ9.js} +1 -1
  171. package/dist/form-BtwOBMZ9.js.map +1 -0
  172. package/dist/{form-wI58M85H.cjs → form-CSJp687X.cjs} +1 -1
  173. package/dist/form-CSJp687X.cjs.map +1 -0
  174. package/dist/form.cjs +1 -1
  175. package/dist/form.js +1 -1
  176. package/dist/handover/agent-runtime-followups.md +1 -1
  177. package/dist/handover/agent-runtime-v1.md +3 -3
  178. package/dist/handover/claude-design-brief.md +19 -54
  179. package/dist/handover/claude-design-setup.md +57 -0
  180. package/dist/{hashContent-B2IntJQf.js.map → hashContent-1ARKIsx9.js.map} +1 -1
  181. package/dist/{hashContent-CahnEuut.cjs.map → hashContent-Bp5S6T4U.cjs.map} +1 -1
  182. package/dist/{icons-Drq4kKy2.js → icons-BBJqwT_B.js} +27 -24
  183. package/dist/icons-BBJqwT_B.js.map +1 -0
  184. package/dist/icons-CNixJ6kL.cjs +52 -0
  185. package/dist/icons-CNixJ6kL.cjs.map +1 -0
  186. package/dist/icons.cjs +1 -1
  187. package/dist/icons.js +1 -1
  188. package/dist/{iframe-BmyHW8km.js → iframe-DoN_toqE.js} +17 -11
  189. package/dist/iframe-DoN_toqE.js.map +1 -0
  190. package/dist/iframe-g-4DjAD7.cjs +24 -0
  191. package/dist/iframe-g-4DjAD7.cjs.map +1 -0
  192. package/dist/iframe.cjs +1 -1
  193. package/dist/iframe.js +1 -1
  194. package/dist/index.cjs +1 -1
  195. package/dist/index.js +77 -77
  196. package/dist/{input-Bc3bVISm.js → input-ClnkMJgh.js} +30 -30
  197. package/dist/input-ClnkMJgh.js.map +1 -0
  198. package/dist/{input-BGNZlfL8.cjs → input-CwFslLcF.cjs} +14 -14
  199. package/dist/input-CwFslLcF.cjs.map +1 -0
  200. package/dist/{input-chip-DN-cwf11.cjs → input-chip-DMXRT7bK.cjs} +2 -2
  201. package/dist/input-chip-DMXRT7bK.cjs.map +1 -0
  202. package/dist/{input-chip-BQrjpjaQ.js → input-chip-DwSyFv1x.js} +7 -4
  203. package/dist/input-chip-DwSyFv1x.js.map +1 -0
  204. package/dist/input.cjs +1 -1
  205. package/dist/input.js +1 -1
  206. package/dist/json.cjs +1 -1
  207. package/dist/json.cjs.map +1 -1
  208. package/dist/json.js +7 -5
  209. package/dist/json.js.map +1 -1
  210. package/dist/kbd.cjs +2 -2
  211. package/dist/kbd.cjs.map +1 -1
  212. package/dist/kbd.js +9 -7
  213. package/dist/kbd.js.map +1 -1
  214. package/dist/{layout-fjM1DWlF.js → layout-BghHmee6.js} +1 -1
  215. package/dist/{layout-fjM1DWlF.js.map → layout-BghHmee6.js.map} +1 -1
  216. package/dist/{layout-CTfRXQoz.cjs → layout-VmxXuGGp.cjs} +1 -1
  217. package/dist/{layout-CTfRXQoz.cjs.map → layout-VmxXuGGp.cjs.map} +1 -1
  218. package/dist/layout.cjs +1 -1
  219. package/dist/layout.js +2 -3
  220. package/dist/{lazy-D6R5N5v4.js.map → lazy-B0ia54tT.js.map} +1 -1
  221. package/dist/{lazy-BDNnH_r7.cjs.map → lazy-Dq9mRRjT.cjs.map} +1 -1
  222. package/dist/{lightbox-CY52Z_ig.js → lightbox-IleIcq19.js} +13 -12
  223. package/dist/lightbox-IleIcq19.js.map +1 -0
  224. package/dist/lightbox-m5FLmYlv.cjs +202 -0
  225. package/dist/lightbox-m5FLmYlv.cjs.map +1 -0
  226. package/dist/lightbox.cjs +1 -1
  227. package/dist/lightbox.js +1 -1
  228. package/dist/{list-D7wUxu1C.js → list-BlXJlm16.js} +26 -21
  229. package/dist/list-BlXJlm16.js.map +1 -0
  230. package/dist/list-C-b9p1yi.cjs +40 -0
  231. package/dist/list-C-b9p1yi.cjs.map +1 -0
  232. package/dist/list.cjs +1 -1
  233. package/dist/list.js +1 -1
  234. package/dist/{magnetic-CVXEkYTA.cjs → magnetic-BH0TsofV.cjs} +1 -1
  235. package/dist/{magnetic-CVXEkYTA.cjs.map → magnetic-BH0TsofV.cjs.map} +1 -1
  236. package/dist/{magnetic-BhXebqF3.js → magnetic-BZGFxAWG.js} +2 -2
  237. package/dist/{magnetic-BhXebqF3.js.map → magnetic-BZGFxAWG.js.map} +1 -1
  238. package/dist/{mailbox-DLiBGJhY.cjs → mailbox-B0hZLpF1.cjs} +64 -66
  239. package/dist/mailbox-B0hZLpF1.cjs.map +1 -0
  240. package/dist/{mailbox--EN-JhjV.js → mailbox-DAmejcKa.js} +137 -126
  241. package/dist/mailbox-DAmejcKa.js.map +1 -0
  242. package/dist/mailbox.cjs +1 -1
  243. package/dist/mailbox.js +1 -1
  244. package/dist/{map-B0S_q3ma.js → map-BoIu47qU.js} +11 -9
  245. package/dist/map-BoIu47qU.js.map +1 -0
  246. package/dist/map-CZ0816EI.cjs +80 -0
  247. package/dist/map-CZ0816EI.cjs.map +1 -0
  248. package/dist/map.cjs +1 -1
  249. package/dist/map.js +1 -1
  250. package/dist/{menu-3edZGQ1x.cjs → menu-BFHBnp5M.cjs} +5 -5
  251. package/dist/menu-BFHBnp5M.cjs.map +1 -0
  252. package/dist/{menu-COeFpb6n.js → menu-BV9_8ys8.js} +15 -10
  253. package/dist/menu-BV9_8ys8.js.map +1 -0
  254. package/dist/menu.cjs +1 -1
  255. package/dist/menu.js +1 -1
  256. package/dist/mixins-BIXF7xkF.cjs +298 -0
  257. package/dist/mixins-BIXF7xkF.cjs.map +1 -0
  258. package/dist/mixins-CL1krSOE.js +627 -0
  259. package/dist/mixins-CL1krSOE.js.map +1 -0
  260. package/dist/mixins.cjs +1 -1
  261. package/dist/mixins.js +2 -87
  262. package/dist/nav-drawer.cjs +1 -1
  263. package/dist/nav-drawer.js +2 -2
  264. package/dist/navigation-bar.cjs +1 -1
  265. package/dist/navigation-bar.js +1 -1
  266. package/dist/navigation-rail.cjs +3 -3
  267. package/dist/navigation-rail.cjs.map +1 -1
  268. package/dist/navigation-rail.js +15 -16
  269. package/dist/navigation-rail.js.map +1 -1
  270. package/dist/notification-CigTy3ia.cjs +23 -0
  271. package/dist/notification-CigTy3ia.cjs.map +1 -0
  272. package/dist/{notification-CC-TFN5v.js → notification-Dzm6zWxX.js} +40 -38
  273. package/dist/notification-Dzm6zWxX.js.map +1 -0
  274. package/dist/notification.cjs +1 -1
  275. package/dist/notification.js +1 -1
  276. package/dist/option-BfvzzkzM.cjs +43 -0
  277. package/dist/option-BfvzzkzM.cjs.map +1 -0
  278. package/dist/{option-BwAF4nAw.js → option-Dyb0Q45u.js} +9 -7
  279. package/dist/option-Dyb0Q45u.js.map +1 -0
  280. package/dist/option.cjs +1 -1
  281. package/dist/option.js +1 -1
  282. package/dist/{overlay-stack-7bs4ZNnh.cjs → overlay-stack-BprhAE9a.cjs} +1 -1
  283. package/dist/{overlay-stack-7bs4ZNnh.cjs.map → overlay-stack-BprhAE9a.cjs.map} +1 -1
  284. package/dist/{overlay-stack-DXPYHPhk.js → overlay-stack-CAQno0CK.js} +1 -1
  285. package/dist/{overlay-stack-DXPYHPhk.js.map → overlay-stack-CAQno0CK.js.map} +1 -1
  286. package/dist/overlay.cjs +43 -45
  287. package/dist/overlay.cjs.map +1 -1
  288. package/dist/overlay.js +684 -268
  289. package/dist/overlay.js.map +1 -1
  290. package/dist/page.cjs +3 -3
  291. package/dist/page.cjs.map +1 -1
  292. package/dist/page.js +15 -13
  293. package/dist/page.js.map +1 -1
  294. package/dist/payment-card-form-CQ6sLlrh.cjs +73 -0
  295. package/dist/{components-DkmEgyAc.cjs.map → payment-card-form-CQ6sLlrh.cjs.map} +1 -1
  296. package/dist/{components-DZgJWHdZ.js → payment-card-form-D9N2Q0wM.js} +21 -22
  297. package/dist/{components-DZgJWHdZ.js.map → payment-card-form-D9N2Q0wM.js.map} +1 -1
  298. package/dist/payment-card-form.cjs +1 -0
  299. package/dist/payment-card-form.js +2 -0
  300. package/dist/{progress-Yz6EMNSu.cjs → progress-Dyri7dc2.cjs} +3 -3
  301. package/dist/progress-Dyri7dc2.cjs.map +1 -0
  302. package/dist/{progress-Bk_Q1Shy.js → progress-LPwPfzBi.js} +16 -13
  303. package/dist/progress-LPwPfzBi.js.map +1 -0
  304. package/dist/progress.cjs +1 -1
  305. package/dist/progress.js +1 -1
  306. package/dist/qr-scanner.cjs +5 -5
  307. package/dist/qr-scanner.cjs.map +1 -1
  308. package/dist/qr-scanner.js +14 -15
  309. package/dist/qr-scanner.js.map +1 -1
  310. package/dist/radio-group-DK-T6jGy.cjs +40 -0
  311. package/dist/radio-group-DK-T6jGy.cjs.map +1 -0
  312. package/dist/{radio-group-BcdcjLNC.js → radio-group-DqP886F-.js} +14 -12
  313. package/dist/radio-group-DqP886F-.js.map +1 -0
  314. package/dist/radio-group.cjs +1 -1
  315. package/dist/radio-group.js +1 -1
  316. package/dist/range.cjs +2 -2
  317. package/dist/range.cjs.map +1 -1
  318. package/dist/range.js +9 -7
  319. package/dist/range.js.map +1 -1
  320. package/dist/{reduced-motion-BZTLqAyl.js.map → reduced-motion-D-L12p7G.js.map} +1 -1
  321. package/dist/{reduced-motion-9RjNnhIg.cjs.map → reduced-motion-Ds-HjMzn.cjs.map} +1 -1
  322. package/dist/{rxjs-utils-DJbZRjp3.cjs.map → rxjs-utils-Csnks202.cjs.map} +1 -1
  323. package/dist/{rxjs-utils-CKTnEKUH.js.map → rxjs-utils-d-ivVN84.js.map} +1 -1
  324. package/dist/rxjs-utils.cjs +1 -1
  325. package/dist/rxjs-utils.js +1 -1
  326. package/dist/{scroll-DXQv0ejL.js → scroll-BD82ANjm.js} +9 -7
  327. package/dist/scroll-BD82ANjm.js.map +1 -0
  328. package/dist/scroll-yfNU0zNO.cjs +26 -0
  329. package/dist/scroll-yfNU0zNO.cjs.map +1 -0
  330. package/dist/search-BLCRsxIC.cjs +1 -0
  331. package/dist/{search-CwMav5QB.cjs.map → search-BLCRsxIC.cjs.map} +1 -1
  332. package/dist/{search-CvUZRLF1.js → search-BTz7-Rev.js} +1 -1
  333. package/dist/{search-CvUZRLF1.js.map → search-BTz7-Rev.js.map} +1 -1
  334. package/dist/{select-BV4lK2zy.cjs → select-BR3r3SZe.cjs} +6 -6
  335. package/dist/select-BR3r3SZe.cjs.map +1 -0
  336. package/dist/{select-DKyGWDsG.js → select-GONAphZI.js} +23 -20
  337. package/dist/select-GONAphZI.js.map +1 -0
  338. package/dist/select.cjs +1 -1
  339. package/dist/select.js +1 -1
  340. package/dist/{sheet-C3TLKItO.js → sheet-C4sAGqTf.js} +22 -20
  341. package/dist/sheet-C4sAGqTf.js.map +1 -0
  342. package/dist/sheet-D9pZMrzs.cjs +35 -0
  343. package/dist/sheet-D9pZMrzs.cjs.map +1 -0
  344. package/dist/sheet.cjs +1 -1
  345. package/dist/sheet.js +2 -2
  346. package/dist/{sheet.service-Dlv20Zfc.js → sheet.service-B7h_-e-q.js} +3 -3
  347. package/dist/{sheet.service-Dlv20Zfc.js.map → sheet.service-B7h_-e-q.js.map} +1 -1
  348. package/dist/sheet.service-C1J0-i4d.cjs +1 -0
  349. package/dist/{sheet.service-RcDBwHmv.cjs.map → sheet.service-C1J0-i4d.cjs.map} +1 -1
  350. package/dist/skeleton.cjs +2 -2
  351. package/dist/skeleton.cjs.map +1 -1
  352. package/dist/skeleton.js +9 -7
  353. package/dist/skeleton.js.map +1 -1
  354. package/dist/skills/INDEX.md +1 -1
  355. package/dist/skills/SKILL.md +17 -5
  356. package/dist/skills/mixins.md +78 -20
  357. package/dist/skills/schmancy/INDEX.md +1 -1
  358. package/dist/skills/schmancy/SKILL.md +17 -5
  359. package/dist/skills/schmancy/mixins.md +78 -20
  360. package/dist/skills/schmancy/state.md +501 -0
  361. package/dist/skills/schmancy/theme.md +15 -0
  362. package/dist/skills/schmancy/timeline-tile.md +95 -0
  363. package/dist/skills/state.md +501 -0
  364. package/dist/skills/theme.md +15 -0
  365. package/dist/skills/timeline-tile.md +95 -0
  366. package/dist/slider.cjs +5 -5
  367. package/dist/slider.cjs.map +1 -1
  368. package/dist/slider.js +18 -13
  369. package/dist/slider.js.map +1 -1
  370. package/dist/{sound.service-DWZe6swU.js → sound.service-Ba_HNBLD.js} +3 -3
  371. package/dist/sound.service-Ba_HNBLD.js.map +1 -0
  372. package/dist/sound.service-CvdB2yUJ.cjs +1 -0
  373. package/dist/sound.service-CvdB2yUJ.cjs.map +1 -0
  374. package/dist/{splash-screen-DbI5RgBf.js → splash-screen-BGMZmQRT.js} +12 -9
  375. package/dist/splash-screen-BGMZmQRT.js.map +1 -0
  376. package/dist/splash-screen-DqULOTZ0.cjs +41 -0
  377. package/dist/splash-screen-DqULOTZ0.cjs.map +1 -0
  378. package/dist/splash-screen.cjs +1 -1
  379. package/dist/splash-screen.js +1 -1
  380. package/dist/{src-00DfxCJq.js → src-CHM4hrEr.js} +299 -351
  381. package/dist/src-CHM4hrEr.js.map +1 -0
  382. package/dist/src-DzFcGdcn.cjs +263 -0
  383. package/dist/src-DzFcGdcn.cjs.map +1 -0
  384. package/dist/state-BAW3C11I.cjs +1 -0
  385. package/dist/state-BAW3C11I.cjs.map +1 -0
  386. package/dist/state-ClRXrqDA.js +846 -0
  387. package/dist/state-ClRXrqDA.js.map +1 -0
  388. package/dist/state.cjs +1 -0
  389. package/dist/state.js +3 -0
  390. package/dist/steps.cjs +10 -10
  391. package/dist/steps.cjs.map +1 -1
  392. package/dist/steps.js +29 -24
  393. package/dist/steps.js.map +1 -1
  394. package/dist/surface-BHJgIDz9.js +24 -0
  395. package/dist/surface-BHJgIDz9.js.map +1 -0
  396. package/dist/surface-DW78bc8W.cjs +7 -0
  397. package/dist/surface-DW78bc8W.cjs.map +1 -0
  398. package/dist/surface.cjs +1 -1
  399. package/dist/surface.js +1 -1
  400. package/dist/switch.cjs +2 -2
  401. package/dist/switch.cjs.map +1 -1
  402. package/dist/switch.js +7 -5
  403. package/dist/switch.js.map +1 -1
  404. package/dist/table.cjs +72 -1
  405. package/dist/table.cjs.map +1 -0
  406. package/dist/table.js +174 -2
  407. package/dist/table.js.map +1 -0
  408. package/dist/{tabs-Ce55RbwF.js → tabs-BCRVyQU1.js} +22 -22
  409. package/dist/tabs-BCRVyQU1.js.map +1 -0
  410. package/dist/tabs-EIEhkEUb.cjs +31 -0
  411. package/dist/tabs-EIEhkEUb.cjs.map +1 -0
  412. package/dist/tabs.cjs +1 -1
  413. package/dist/tabs.js +1 -1
  414. package/dist/teleport.cjs +1 -1
  415. package/dist/teleport.js +2 -2
  416. package/dist/{textarea-DjN1D9u0.js → textarea-DApOhSAL.js} +30 -28
  417. package/dist/textarea-DApOhSAL.js.map +1 -0
  418. package/dist/textarea-zxNlRLVm.cjs +39 -0
  419. package/dist/textarea-zxNlRLVm.cjs.map +1 -0
  420. package/dist/textarea.cjs +1 -1
  421. package/dist/textarea.js +1 -1
  422. package/dist/{theme-pbxlt72h.js → theme-BCUjQH6-.js} +45 -41
  423. package/dist/{theme-pbxlt72h.js.map → theme-BCUjQH6-.js.map} +1 -1
  424. package/dist/theme-Z43TLE61.cjs +181 -0
  425. package/dist/{theme-B-IJ2r7Q.cjs.map → theme-Z43TLE61.cjs.map} +1 -1
  426. package/dist/theme-button-Czsdp3o1.cjs +8 -0
  427. package/dist/theme-button-Czsdp3o1.cjs.map +1 -0
  428. package/dist/{theme-button-CEMeAUOL.js → theme-button-DdSbcivT.js} +3 -4
  429. package/dist/theme-button-DdSbcivT.js.map +1 -0
  430. package/dist/theme-button.cjs +1 -1
  431. package/dist/theme-button.js +1 -1
  432. package/dist/theme.cjs +1 -1
  433. package/dist/{theme.events-NuihzD_p.js.map → theme.events-Cv7N4Toe.js.map} +1 -1
  434. package/dist/{theme.events-DakXxZeP.cjs.map → theme.events-DM4H5F2d.cjs.map} +1 -1
  435. package/dist/{theme.interface-DTwkuAKJ.cjs.map → theme.interface-D9l33b-M.cjs.map} +1 -1
  436. package/dist/{theme.interface-Buged9Cg.js.map → theme.interface-DnVNre4O.js.map} +1 -1
  437. package/dist/theme.js +5 -5
  438. package/dist/{theme.service-cOfPrtfe.js → theme.service-9clsqyee.js} +4 -4
  439. package/dist/theme.service-9clsqyee.js.map +1 -0
  440. package/dist/theme.service-CP71ojp6.cjs +1 -0
  441. package/dist/theme.service-CP71ojp6.cjs.map +1 -0
  442. package/dist/timeline.cjs +277 -0
  443. package/dist/timeline.cjs.map +1 -0
  444. package/dist/timeline.js +326 -0
  445. package/dist/timeline.js.map +1 -0
  446. package/dist/tree.cjs +2 -2
  447. package/dist/tree.cjs.map +1 -1
  448. package/dist/tree.js +15 -13
  449. package/dist/tree.js.map +1 -1
  450. package/dist/typewriter.cjs +10 -123
  451. package/dist/typewriter.cjs.map +1 -1
  452. package/dist/typewriter.js +90 -212
  453. package/dist/typewriter.js.map +1 -1
  454. package/dist/typography.cjs +3 -3
  455. package/dist/typography.cjs.map +1 -1
  456. package/dist/typography.js +18 -112
  457. package/dist/typography.js.map +1 -1
  458. package/dist/utils-Cr-YO4Np.cjs +1 -0
  459. package/dist/utils-Cr-YO4Np.cjs.map +1 -0
  460. package/dist/{utils-Bp2jhyZc.js → utils-hp-DnFf5.js} +16 -6
  461. package/dist/utils-hp-DnFf5.js.map +1 -0
  462. package/dist/utils.cjs +1 -1
  463. package/dist/utils.js +4 -5
  464. package/dist/visually-hidden.cjs +2 -2
  465. package/dist/visually-hidden.cjs.map +1 -1
  466. package/dist/visually-hidden.js +7 -5
  467. package/dist/visually-hidden.js.map +1 -1
  468. package/dist/window-DTgKAQgz.cjs +59 -0
  469. package/dist/window-DTgKAQgz.cjs.map +1 -0
  470. package/dist/{window-CrjZdf7Y.js → window-moDKyGLZ.js} +28 -30
  471. package/dist/window-moDKyGLZ.js.map +1 -0
  472. package/dist/window.cjs +1 -1
  473. package/dist/window.js +1 -1
  474. package/package.json +14 -2
  475. package/plugins/vite-plugin-schmancy-auto-import.ts +143 -0
  476. package/plugins/vite-plugin-schmancy-manifest.ts +438 -0
  477. package/skills/schmancy/INDEX.md +1 -1
  478. package/skills/schmancy/SKILL.md +17 -5
  479. package/skills/schmancy/mixins.md +78 -20
  480. package/skills/schmancy/state.md +501 -0
  481. package/skills/schmancy/theme.md +15 -0
  482. package/skills/schmancy/timeline-tile.md +95 -0
  483. package/src/agent/agent-bundle.test.ts +0 -49
  484. package/src/agent/agent-entry.ts +4 -3
  485. package/src/agent/helpers.ts +1 -95
  486. package/src/agent/schmancy-skill.ts +2 -5
  487. package/src/agent/virtual-manifest.d.ts +1 -12
  488. package/src/area/area.component.ts +7 -19
  489. package/src/area/area.service.test.ts +4 -5
  490. package/src/area/area.service.ts +4 -3
  491. package/src/area/route.component.ts +17 -4
  492. package/src/area/utils.ts +3 -2
  493. package/src/audio/sound.service.ts +7 -11
  494. package/src/autocomplete/autocomplete.ts +18 -21
  495. package/src/{avatar.ts → avatar/avatar.ts} +2 -2
  496. package/src/avatar/index.ts +1 -0
  497. package/src/badge/badge.ts +4 -3
  498. package/src/boat/boat.ts +28 -36
  499. package/src/breadcrumb/breadcrumb.ts +11 -19
  500. package/src/busy/busy.ts +4 -3
  501. package/src/busy/spinner.ts +4 -3
  502. package/src/button/button.ts +6 -11
  503. package/src/button/icon-button.ts +8 -12
  504. package/src/card/actions.ts +4 -12
  505. package/src/card/card.ts +5 -23
  506. package/src/card/content.ts +4 -12
  507. package/src/card/media.ts +4 -9
  508. package/src/charts/area-chart.ts +7 -4
  509. package/src/charts/pills.ts +6 -4
  510. package/src/checkbox/checkbox.test.ts +2 -2
  511. package/src/checkbox/checkbox.ts +3 -9
  512. package/src/chips/assist-chip.ts +6 -14
  513. package/src/chips/chips.ts +7 -21
  514. package/src/chips/filter-chip.ts +4 -3
  515. package/src/chips/input-chip.ts +10 -9
  516. package/src/chips/suggestion-chip.ts +10 -12
  517. package/src/code-highlight/code-highlight.ts +28 -59
  518. package/src/code-highlight/code-preview.ts +11 -9
  519. package/src/connectivity/connectivity-status.ts +4 -3
  520. package/src/content-drawer/drawer.ts +5 -3
  521. package/src/content-drawer/main.ts +5 -3
  522. package/src/content-drawer/sheet.ts +6 -4
  523. package/src/date-range/date-range-dialog.ts +2 -2
  524. package/src/date-range/date-range.ts +3 -2
  525. package/src/delay/delay.ts +2 -2
  526. package/src/details/details.ts +4 -17
  527. package/src/dialog/dialog-service.ts +2 -0
  528. package/src/dialog/dialog.component.ts +9 -9
  529. package/src/directives/drag.ts +1 -9
  530. package/src/directives/index.ts +0 -1
  531. package/src/discovery/discovery.service.ts +1 -1
  532. package/src/divider/divider.ts +5 -14
  533. package/src/dropdown/dropdown-component.ts +5 -16
  534. package/src/dropdown/dropdown-content.ts +7 -14
  535. package/src/expand/expand-root.component.ts +5 -15
  536. package/src/expand/expand.component.ts +4 -17
  537. package/src/extra/countries/countries.ts +5 -13
  538. package/src/extra/timezone/timezone.ts +7 -12
  539. package/src/form/form.test.ts +2 -2
  540. package/src/form/form.ts +2 -9
  541. package/src/icons/icon.ts +4 -3
  542. package/src/iframe/iframe.ts +13 -4
  543. package/src/index.ts +3 -3
  544. package/src/input/input.ts +4 -11
  545. package/src/json/json.ts +4 -3
  546. package/src/kbd/kbd.ts +4 -3
  547. package/src/layout/index.ts +1 -5
  548. package/src/layout/scroll/scroll.ts +5 -8
  549. package/src/lightbox/flip-directive.ts +1 -1
  550. package/src/lightbox/lightbox.ts +5 -14
  551. package/src/list/list-item.ts +4 -13
  552. package/src/list/list.ts +12 -10
  553. package/src/mailbox/email-editor.ts +17 -11
  554. package/src/mailbox/email-layout-selector.ts +2 -2
  555. package/src/mailbox/email-recipients.ts +13 -8
  556. package/src/mailbox/email-template-picker.ts +6 -5
  557. package/src/mailbox/email-viewer.ts +5 -3
  558. package/src/mailbox/mailbox.ts +6 -5
  559. package/src/map/map.ts +8 -6
  560. package/src/menu/menu-item.ts +5 -16
  561. package/src/menu/menu.ts +27 -13
  562. package/src/nav-drawer/appbar.ts +4 -14
  563. package/src/nav-drawer/content.ts +5 -14
  564. package/src/nav-drawer/drawer.ts +5 -18
  565. package/src/nav-drawer/navbar.ts +3 -17
  566. package/src/navigation-bar/navigation-bar-item.ts +8 -6
  567. package/src/navigation-bar/navigation-bar.ts +19 -19
  568. package/src/navigation-rail/navigation-rail-item.ts +9 -5
  569. package/src/navigation-rail/navigation-rail.ts +10 -14
  570. package/src/notification/notification.ts +6 -3
  571. package/src/option/option.ts +4 -3
  572. package/src/overlay/overlay.animations.ts +196 -25
  573. package/src/overlay/overlay.component.ts +397 -190
  574. package/src/overlay/overlay.confirm-body.ts +21 -7
  575. package/src/overlay/overlay.gestures.ts +72 -36
  576. package/src/overlay/overlay.layout.ts +103 -1
  577. package/src/overlay/overlay.positioning.ts +301 -0
  578. package/src/overlay/overlay.service.ts +81 -3
  579. package/src/overlay/overlay.stack.ts +8 -4
  580. package/src/overlay/overlay.types.ts +83 -5
  581. package/src/page/page.ts +16 -11
  582. package/src/payment-card-form/index.ts +1 -0
  583. package/src/{components/form-elements → payment-card-form}/payment-card-form.ts +23 -23
  584. package/src/progress/progress.ts +5 -3
  585. package/src/qr-scanner/qr-scanner.ts +7 -30
  586. package/src/radio-group/radio-button.ts +3 -13
  587. package/src/radio-group/radio-group.ts +5 -22
  588. package/src/range/range.ts +4 -3
  589. package/src/rxjs-utils/waitForElements.ts +1 -1
  590. package/src/rxjs-utils/waitForElementsAll.ts +1 -1
  591. package/src/select/select.ts +10 -18
  592. package/src/sheet/hook.ts +1 -1
  593. package/src/sheet/sheet.ts +5 -20
  594. package/src/skeleton/skeleton.ts +4 -3
  595. package/src/slider/slide.ts +5 -3
  596. package/src/slider/slider.ts +5 -3
  597. package/src/splash-screen/splash-screen.ts +5 -3
  598. package/src/state/CLAUDE.md +161 -0
  599. package/src/state/MIGRATION.md +258 -0
  600. package/src/state/SCOPING.md +134 -0
  601. package/src/state/active-host.ts +156 -0
  602. package/src/state/index.ts +877 -0
  603. package/src/state/persist.ts +208 -0
  604. package/src/state/schmancy-context.ts +84 -0
  605. package/src/state/state.test-d.ts +227 -0
  606. package/src/state/state.test.ts +820 -0
  607. package/src/steps/schmancy-step.ts +5 -3
  608. package/src/steps/schmancy-steps-container.ts +5 -3
  609. package/src/surface/surface.ts +14 -9
  610. package/src/switch/switch.test.ts +2 -2
  611. package/src/switch/switch.ts +8 -10
  612. package/src/table/row.ts +7 -4
  613. package/src/table/table.ts +17 -14
  614. package/src/tabs/index.ts +0 -2
  615. package/src/tabs/tab.ts +2 -2
  616. package/src/tabs/tabs-group.ts +7 -4
  617. package/src/teleport/teleport.component.ts +5 -3
  618. package/src/textarea/textarea.ts +6 -12
  619. package/src/theme/theme-audio-player.ts +7 -5
  620. package/src/theme/theme-controller.ts +2 -2
  621. package/src/theme/theme.component.ts +22 -15
  622. package/src/theme/theme.service.ts +6 -7
  623. package/src/theme/theme.style.css +1 -0
  624. package/src/theme-button/theme-button.ts +2 -2
  625. package/src/timeline/index.ts +1 -0
  626. package/src/timeline/timeline-tile.ts +431 -0
  627. package/src/tree/tree.ts +4 -16
  628. package/src/typewriter/index.ts +1 -1
  629. package/src/typography/typography.ts +5 -98
  630. package/src/utils/intersection.ts +5 -1
  631. package/src/utils/overlay-stack.ts +1 -1
  632. package/src/utils/search.ts +2 -2
  633. package/src/visually-hidden/visually-hidden.ts +4 -3
  634. package/src/window/window-position.ts +3 -6
  635. package/src/window/window.ts +9 -7
  636. package/types/mixins/SchmancyElement.d.ts +49 -0
  637. package/types/mixins/formField.mixin.d.ts +4 -2
  638. package/types/mixins/index.d.ts +1 -0
  639. package/types/mixins/litElement.mixin.d.ts +11 -0
  640. package/types/src/agent/agent-entry.d.ts +1 -1
  641. package/types/src/agent/helpers.d.ts +0 -26
  642. package/types/src/agent/schmancy-skill.d.ts +3 -5
  643. package/types/src/area/area.component.d.ts +3 -17
  644. package/types/src/area/route.component.d.ts +14 -4
  645. package/types/src/autocomplete/autocomplete.d.ts +4 -15
  646. package/types/src/{avatar.d.ts → avatar/avatar.d.ts} +2 -3
  647. package/types/src/avatar/index.d.ts +1 -0
  648. package/types/src/badge/badge.d.ts +3 -3
  649. package/types/src/boat/boat.d.ts +3 -2
  650. package/types/src/breadcrumb/breadcrumb.d.ts +9 -19
  651. package/types/src/busy/busy.d.ts +3 -3
  652. package/types/src/busy/spinner.d.ts +3 -3
  653. package/types/src/button/button.d.ts +4 -10
  654. package/types/src/button/icon-button.d.ts +5 -11
  655. package/types/src/card/actions.d.ts +3 -12
  656. package/types/src/card/card.d.ts +4 -24
  657. package/types/src/card/content.d.ts +3 -12
  658. package/types/src/card/media.d.ts +3 -9
  659. package/types/src/charts/area-chart.d.ts +3 -3
  660. package/types/src/charts/pills.d.ts +3 -3
  661. package/types/src/checkbox/checkbox.d.ts +3 -10
  662. package/types/src/chips/assist-chip.d.ts +5 -15
  663. package/types/src/chips/chips.d.ts +3 -17
  664. package/types/src/chips/filter-chip.d.ts +3 -3
  665. package/types/src/chips/input-chip.d.ts +9 -10
  666. package/types/src/chips/suggestion-chip.d.ts +9 -13
  667. package/types/src/code-highlight/code-highlight.d.ts +4 -11
  668. package/types/src/code-highlight/code-preview.d.ts +3 -3
  669. package/types/src/connectivity/connectivity-status.d.ts +3 -3
  670. package/types/src/content-drawer/drawer.d.ts +4 -4
  671. package/types/src/content-drawer/main.d.ts +3 -3
  672. package/types/src/content-drawer/sheet.d.ts +4 -4
  673. package/types/src/date-range/date-range-dialog.d.ts +2 -3
  674. package/types/src/date-range/date-range.d.ts +2 -3
  675. package/types/src/delay/delay.d.ts +2 -3
  676. package/types/src/details/details.d.ts +3 -14
  677. package/types/src/dialog/dialog.component.d.ts +9 -9
  678. package/types/src/directives/drag.d.ts +1 -3
  679. package/types/src/directives/index.d.ts +0 -1
  680. package/types/src/divider/divider.d.ts +3 -14
  681. package/types/src/dropdown/dropdown-component.d.ts +4 -17
  682. package/types/src/dropdown/dropdown-content.d.ts +6 -14
  683. package/types/src/expand/expand-root.component.d.ts +4 -14
  684. package/types/src/expand/expand.component.d.ts +3 -17
  685. package/types/src/extra/countries/countries.d.ts +3 -13
  686. package/types/src/extra/timezone/timezone.d.ts +4 -11
  687. package/types/src/form/form.d.ts +2 -9
  688. package/types/src/icons/icon.d.ts +3 -3
  689. package/types/src/iframe/iframe.d.ts +5 -3
  690. package/types/src/index.d.ts +3 -3
  691. package/types/src/input/input.d.ts +4 -11
  692. package/types/src/json/json.d.ts +3 -3
  693. package/types/src/kbd/kbd.d.ts +3 -3
  694. package/types/src/layout/index.d.ts +0 -4
  695. package/types/src/layout/scroll/scroll.d.ts +4 -8
  696. package/types/src/lightbox/lightbox.d.ts +3 -14
  697. package/types/src/list/list-item.d.ts +3 -13
  698. package/types/src/list/list.d.ts +11 -10
  699. package/types/src/mailbox/email-editor.d.ts +3 -3
  700. package/types/src/mailbox/email-layout-selector.d.ts +2 -3
  701. package/types/src/mailbox/email-recipients.d.ts +7 -3
  702. package/types/src/mailbox/email-template-picker.d.ts +4 -4
  703. package/types/src/mailbox/email-viewer.d.ts +3 -3
  704. package/types/src/mailbox/mailbox.d.ts +4 -4
  705. package/types/src/map/map.d.ts +4 -3
  706. package/types/src/menu/menu-item.d.ts +3 -16
  707. package/types/src/menu/menu.d.ts +25 -13
  708. package/types/src/nav-drawer/appbar.d.ts +3 -14
  709. package/types/src/nav-drawer/content.d.ts +3 -14
  710. package/types/src/nav-drawer/drawer.d.ts +3 -18
  711. package/types/src/nav-drawer/navbar.d.ts +3 -18
  712. package/types/src/navigation-bar/navigation-bar-item.d.ts +7 -6
  713. package/types/src/navigation-bar/navigation-bar.d.ts +13 -7
  714. package/types/src/navigation-rail/navigation-rail-item.d.ts +9 -6
  715. package/types/src/navigation-rail/navigation-rail.d.ts +10 -15
  716. package/types/src/notification/notification.d.ts +3 -3
  717. package/types/src/option/option.d.ts +3 -3
  718. package/types/src/overlay/overlay.animations.d.ts +54 -5
  719. package/types/src/overlay/overlay.component.d.ts +39 -15
  720. package/types/src/overlay/overlay.confirm-body.d.ts +4 -4
  721. package/types/src/overlay/overlay.gestures.d.ts +26 -17
  722. package/types/src/overlay/overlay.layout.d.ts +27 -1
  723. package/types/src/overlay/overlay.positioning.d.ts +87 -0
  724. package/types/src/overlay/overlay.types.d.ts +59 -5
  725. package/types/src/page/page.d.ts +14 -11
  726. package/types/src/{components/form-elements → payment-card-form}/payment-card-form.d.ts +2 -3
  727. package/types/src/progress/progress.d.ts +3 -3
  728. package/types/src/qr-scanner/qr-scanner.d.ts +3 -3
  729. package/types/src/radio-group/radio-button.d.ts +3 -12
  730. package/types/src/radio-group/radio-group.d.ts +4 -20
  731. package/types/src/range/range.d.ts +3 -3
  732. package/types/src/rxjs-utils/waitForElements.d.ts +1 -1
  733. package/types/src/rxjs-utils/waitForElementsAll.d.ts +1 -1
  734. package/types/src/select/select.d.ts +4 -15
  735. package/types/src/sheet/sheet.d.ts +3 -20
  736. package/types/src/skeleton/skeleton.d.ts +3 -3
  737. package/types/src/slider/slide.d.ts +3 -2
  738. package/types/src/slider/slider.d.ts +3 -3
  739. package/types/src/splash-screen/splash-screen.d.ts +3 -3
  740. package/types/src/state/active-host.d.ts +18 -0
  741. package/types/src/state/index.d.ts +145 -0
  742. package/types/src/state/persist.d.ts +14 -0
  743. package/types/src/state/schmancy-context.d.ts +31 -0
  744. package/types/src/state/state.test-d.d.ts +131 -0
  745. package/types/src/state/state.test.d.ts +1 -0
  746. package/types/src/steps/schmancy-step.d.ts +3 -3
  747. package/types/src/steps/schmancy-steps-container.d.ts +3 -3
  748. package/types/src/surface/surface.d.ts +13 -5
  749. package/types/src/switch/switch.d.ts +7 -11
  750. package/types/src/table/row.d.ts +2 -3
  751. package/types/src/table/table.d.ts +4 -11
  752. package/types/src/tabs/index.d.ts +0 -2
  753. package/types/src/tabs/tab.d.ts +2 -3
  754. package/types/src/tabs/tabs-group.d.ts +3 -3
  755. package/types/src/teleport/teleport.component.d.ts +3 -3
  756. package/types/src/textarea/textarea.d.ts +5 -12
  757. package/types/src/theme/theme-audio-player.d.ts +3 -3
  758. package/types/src/theme/theme-controller.d.ts +2 -2
  759. package/types/src/theme/theme.component.d.ts +18 -13
  760. package/types/src/theme-button/theme-button.d.ts +2 -3
  761. package/types/src/timeline/index.d.ts +1 -0
  762. package/types/src/timeline/timeline-tile.d.ts +44 -0
  763. package/types/src/tree/tree.d.ts +3 -16
  764. package/types/src/typewriter/index.d.ts +1 -1
  765. package/types/src/typography/typography.d.ts +3 -36
  766. package/types/src/visually-hidden/visually-hidden.d.ts +3 -3
  767. package/types/src/window/window.d.ts +3 -3
  768. package/dist/agent/index.es-Dymj8REP.js +0 -489
  769. package/dist/agent/index.es-Dymj8REP.js.map +0 -1
  770. package/dist/area-BGBCMC79.js.map +0 -1
  771. package/dist/area-D7l9KR2N.cjs +0 -12
  772. package/dist/area-D7l9KR2N.cjs.map +0 -1
  773. package/dist/autocomplete-BPD5uraA.cjs +0 -115
  774. package/dist/autocomplete-BPD5uraA.cjs.map +0 -1
  775. package/dist/autocomplete-C2P0Soht.js.map +0 -1
  776. package/dist/boat-BkIO-0No.cjs +0 -80
  777. package/dist/boat-BkIO-0No.cjs.map +0 -1
  778. package/dist/boat-DXZ0k7oa.js.map +0 -1
  779. package/dist/busy-DGYhpTnO.cjs.map +0 -1
  780. package/dist/busy-iRjq6Nvd.js.map +0 -1
  781. package/dist/card-DjYnCckw.cjs.map +0 -1
  782. package/dist/card-wUTjx0EC.js.map +0 -1
  783. package/dist/checkbox-CiYEtw9F.cjs +0 -39
  784. package/dist/checkbox-CiYEtw9F.cjs.map +0 -1
  785. package/dist/checkbox-VBSenxgb.js.map +0 -1
  786. package/dist/chips-BDS9lkPa.js.map +0 -1
  787. package/dist/chips-D6ptH5re.cjs.map +0 -1
  788. package/dist/code-highlight-Bi91XHJN.js.map +0 -1
  789. package/dist/code-highlight-BzRmBZzz.cjs.map +0 -1
  790. package/dist/components-DkmEgyAc.cjs +0 -73
  791. package/dist/components.cjs +0 -1
  792. package/dist/components.js +0 -2
  793. package/dist/context-BerzpUhI.js +0 -3
  794. package/dist/context-C6dHUHhi.cjs +0 -1
  795. package/dist/date-range-BmFxTXiU.cjs +0 -131
  796. package/dist/date-range-BmFxTXiU.cjs.map +0 -1
  797. package/dist/date-range-ClTMg1AB.js.map +0 -1
  798. package/dist/date-range-inline-B9Dp2z6C.cjs +0 -43
  799. package/dist/delay-BHODnTg-.cjs +0 -9
  800. package/dist/delay-BHODnTg-.cjs.map +0 -1
  801. package/dist/delay-Dlk0A3he.js +0 -347
  802. package/dist/delay-Dlk0A3he.js.map +0 -1
  803. package/dist/details-CPjlqQD4.js.map +0 -1
  804. package/dist/details-Cz9ok9si.cjs.map +0 -1
  805. package/dist/dialog-service-CzDO08Gy.cjs.map +0 -1
  806. package/dist/dialog-service-DH-tjPuE.js.map +0 -1
  807. package/dist/divider-CILo3_vi.cjs.map +0 -1
  808. package/dist/divider-ghgyw5CU.js.map +0 -1
  809. package/dist/expand-CbjBr_Ds.js.map +0 -1
  810. package/dist/expand-r3OrSoDk.cjs +0 -141
  811. package/dist/expand-r3OrSoDk.cjs.map +0 -1
  812. package/dist/extra-BZeZOMBI.cjs.map +0 -1
  813. package/dist/extra-DK9MQtPJ.js.map +0 -1
  814. package/dist/float-CuZ8LOgB.cjs +0 -1
  815. package/dist/flow-BPDtbhLe.js +0 -386
  816. package/dist/flow-BPDtbhLe.js.map +0 -1
  817. package/dist/flow-Dn9AZktE.cjs +0 -1
  818. package/dist/flow-Dn9AZktE.cjs.map +0 -1
  819. package/dist/form-rCZqoAoK.js.map +0 -1
  820. package/dist/form-wI58M85H.cjs.map +0 -1
  821. package/dist/handover/agent-runtime-v2-loopback.md +0 -71
  822. package/dist/handover/claude-design-v2-paste.md +0 -42
  823. package/dist/icons-Drq4kKy2.js.map +0 -1
  824. package/dist/icons-DtdhaZdc.cjs +0 -52
  825. package/dist/icons-DtdhaZdc.cjs.map +0 -1
  826. package/dist/iframe-BkwwWIbQ.cjs +0 -24
  827. package/dist/iframe-BkwwWIbQ.cjs.map +0 -1
  828. package/dist/iframe-BmyHW8km.js.map +0 -1
  829. package/dist/index.es-BgmFX1JM.cjs +0 -1
  830. package/dist/index.es-BgmFX1JM.cjs.map +0 -1
  831. package/dist/index.es-CLyb_o3Y.js +0 -489
  832. package/dist/index.es-CLyb_o3Y.js.map +0 -1
  833. package/dist/input-BGNZlfL8.cjs.map +0 -1
  834. package/dist/input-Bc3bVISm.js.map +0 -1
  835. package/dist/input-chip-BQrjpjaQ.js.map +0 -1
  836. package/dist/input-chip-DN-cwf11.cjs.map +0 -1
  837. package/dist/intersection-BrXp4YTO.js +0 -12
  838. package/dist/intersection-BrXp4YTO.js.map +0 -1
  839. package/dist/intersection-DqBqnpgh.cjs +0 -1
  840. package/dist/intersection-DqBqnpgh.cjs.map +0 -1
  841. package/dist/layout-7eyMBmZk.cjs +0 -17
  842. package/dist/layout-7eyMBmZk.cjs.map +0 -1
  843. package/dist/layout-Ox6nJkzC.js +0 -268
  844. package/dist/layout-Ox6nJkzC.js.map +0 -1
  845. package/dist/lightbox-CY52Z_ig.js.map +0 -1
  846. package/dist/lightbox-H8Uq3AXy.cjs +0 -202
  847. package/dist/lightbox-H8Uq3AXy.cjs.map +0 -1
  848. package/dist/list-BGjVo6zb.cjs +0 -40
  849. package/dist/list-BGjVo6zb.cjs.map +0 -1
  850. package/dist/list-D7wUxu1C.js.map +0 -1
  851. package/dist/litElement.mixin-CszkJuNl.js +0 -12
  852. package/dist/litElement.mixin-CszkJuNl.js.map +0 -1
  853. package/dist/litElement.mixin-qh5-IIUq.cjs +0 -1
  854. package/dist/litElement.mixin-qh5-IIUq.cjs.map +0 -1
  855. package/dist/mailbox--EN-JhjV.js.map +0 -1
  856. package/dist/mailbox-DLiBGJhY.cjs.map +0 -1
  857. package/dist/map-B0S_q3ma.js.map +0 -1
  858. package/dist/map-EDQN0I6e.cjs +0 -80
  859. package/dist/map-EDQN0I6e.cjs.map +0 -1
  860. package/dist/menu-3edZGQ1x.cjs.map +0 -1
  861. package/dist/menu-COeFpb6n.js.map +0 -1
  862. package/dist/metric.cjs +0 -69
  863. package/dist/metric.cjs.map +0 -1
  864. package/dist/metric.js +0 -93
  865. package/dist/metric.js.map +0 -1
  866. package/dist/mixins.cjs.map +0 -1
  867. package/dist/mixins.js.map +0 -1
  868. package/dist/notification-CC-TFN5v.js.map +0 -1
  869. package/dist/notification-P4c-kFdH.cjs +0 -23
  870. package/dist/notification-P4c-kFdH.cjs.map +0 -1
  871. package/dist/option-BwAF4nAw.js.map +0 -1
  872. package/dist/option-Cu0ertuF.cjs +0 -43
  873. package/dist/option-Cu0ertuF.cjs.map +0 -1
  874. package/dist/progress-Bk_Q1Shy.js.map +0 -1
  875. package/dist/progress-Yz6EMNSu.cjs.map +0 -1
  876. package/dist/provide-CYgj58u_.cjs +0 -1
  877. package/dist/provide-CYgj58u_.cjs.map +0 -1
  878. package/dist/provide-ydIskwf2.js +0 -107
  879. package/dist/provide-ydIskwf2.js.map +0 -1
  880. package/dist/radio-group-BcdcjLNC.js.map +0 -1
  881. package/dist/radio-group-BpBz5tRA.cjs +0 -40
  882. package/dist/radio-group-BpBz5tRA.cjs.map +0 -1
  883. package/dist/scroll-DXQv0ejL.js.map +0 -1
  884. package/dist/scroll-DbZMTv0K.cjs +0 -26
  885. package/dist/scroll-DbZMTv0K.cjs.map +0 -1
  886. package/dist/search-CwMav5QB.cjs +0 -1
  887. package/dist/select-BV4lK2zy.cjs.map +0 -1
  888. package/dist/select-DKyGWDsG.js.map +0 -1
  889. package/dist/sheet-BAI_jH1t.cjs +0 -35
  890. package/dist/sheet-BAI_jH1t.cjs.map +0 -1
  891. package/dist/sheet-C3TLKItO.js.map +0 -1
  892. package/dist/sheet.service-RcDBwHmv.cjs +0 -1
  893. package/dist/skills/schmancy/store.md +0 -126
  894. package/dist/skills/store.md +0 -126
  895. package/dist/sound.service-BEN6Xjy_.cjs +0 -1
  896. package/dist/sound.service-BEN6Xjy_.cjs.map +0 -1
  897. package/dist/sound.service-DWZe6swU.js.map +0 -1
  898. package/dist/splash-screen-DbI5RgBf.js.map +0 -1
  899. package/dist/splash-screen-DoHRTHi8.cjs +0 -41
  900. package/dist/splash-screen-DoHRTHi8.cjs.map +0 -1
  901. package/dist/src-00DfxCJq.js.map +0 -1
  902. package/dist/src-C_JjQovE.cjs +0 -269
  903. package/dist/src-C_JjQovE.cjs.map +0 -1
  904. package/dist/store-CjFHCSDb.cjs +0 -1
  905. package/dist/store-CjFHCSDb.cjs.map +0 -1
  906. package/dist/store-CjzZDQt8.js +0 -1654
  907. package/dist/store-CjzZDQt8.js.map +0 -1
  908. package/dist/store.cjs +0 -1
  909. package/dist/store.js +0 -2
  910. package/dist/surface-D-GWBcsh.cjs +0 -7
  911. package/dist/surface-D-GWBcsh.cjs.map +0 -1
  912. package/dist/surface-D23JtxYP.js +0 -22
  913. package/dist/surface-D23JtxYP.js.map +0 -1
  914. package/dist/surface.mixin-DqMwoddO.js +0 -320
  915. package/dist/surface.mixin-DqMwoddO.js.map +0 -1
  916. package/dist/surface.mixin-DxOi-xo0.cjs +0 -297
  917. package/dist/surface.mixin-DxOi-xo0.cjs.map +0 -1
  918. package/dist/table-C7b73kdg.cjs +0 -63
  919. package/dist/table-C7b73kdg.cjs.map +0 -1
  920. package/dist/table-CTrhV9-k.js +0 -631
  921. package/dist/table-CTrhV9-k.js.map +0 -1
  922. package/dist/tabs-Ce55RbwF.js.map +0 -1
  923. package/dist/tabs-DAzB8O7w.cjs +0 -31
  924. package/dist/tabs-DAzB8O7w.cjs.map +0 -1
  925. package/dist/tailwind.mixin-DRI1oTYQ.cjs +0 -2
  926. package/dist/tailwind.mixin-DRI1oTYQ.cjs.map +0 -1
  927. package/dist/tailwind.mixin-mdQR3BEO.js +0 -219
  928. package/dist/tailwind.mixin-mdQR3BEO.js.map +0 -1
  929. package/dist/textarea-DjN1D9u0.js.map +0 -1
  930. package/dist/textarea-PuHxBvJA.cjs +0 -39
  931. package/dist/textarea-PuHxBvJA.cjs.map +0 -1
  932. package/dist/theme-B-IJ2r7Q.cjs +0 -181
  933. package/dist/theme-button-BSbYmS4p.cjs +0 -8
  934. package/dist/theme-button-BSbYmS4p.cjs.map +0 -1
  935. package/dist/theme-button-CEMeAUOL.js.map +0 -1
  936. package/dist/theme.service-DxJPUGlu.cjs +0 -1
  937. package/dist/theme.service-DxJPUGlu.cjs.map +0 -1
  938. package/dist/theme.service-cOfPrtfe.js.map +0 -1
  939. package/dist/tslib.es6-Cnt75pb6.cjs +0 -1
  940. package/dist/tslib.es6-Cnt75pb6.cjs.map +0 -1
  941. package/dist/tslib.es6-DMzzJKHV.js +0 -7
  942. package/dist/tslib.es6-DMzzJKHV.js.map +0 -1
  943. package/dist/utils-Bp2jhyZc.js.map +0 -1
  944. package/dist/utils-CBPQvxNW.cjs +0 -1
  945. package/dist/utils-CBPQvxNW.cjs.map +0 -1
  946. package/dist/window-CrjZdf7Y.js.map +0 -1
  947. package/dist/window-DTUARSrU.cjs +0 -59
  948. package/dist/window-DTUARSrU.cjs.map +0 -1
  949. package/skills/schmancy/store.md +0 -126
  950. package/src/components/form-elements/index.ts +0 -1
  951. package/src/components/index.ts +0 -1
  952. package/src/layout/flex/flex.scss +0 -4
  953. package/src/layout/flex/flex.ts +0 -74
  954. package/src/layout/flex/index.ts +0 -1
  955. package/src/layout/grid/.readme +0 -79
  956. package/src/layout/grid/grid.scss +0 -5
  957. package/src/layout/grid/grid.ts +0 -121
  958. package/src/layout/grid/index.ts +0 -1
  959. package/src/layout/layout.ts +0 -122
  960. package/src/layout/v2/flex.ts +0 -243
  961. package/src/layout/v2/index.ts +0 -1
  962. package/src/metric/index.ts +0 -1
  963. package/src/metric/metric.ts +0 -127
  964. package/src/store/context-array.ts +0 -358
  965. package/src/store/context-collection.ts +0 -218
  966. package/src/store/context-create.ts +0 -284
  967. package/src/store/context-object.ts +0 -298
  968. package/src/store/filter-directive.ts +0 -614
  969. package/src/store/index.ts +0 -10
  970. package/src/store/selector-hook.ts +0 -259
  971. package/src/store/selectors.ts +0 -289
  972. package/src/store/storage-manager.ts +0 -269
  973. package/src/store/store.class.ts +0 -239
  974. package/src/store/types.ts +0 -327
  975. package/src/tabs/tabs-compatibility.ts +0 -20
  976. package/src/typewriter/typewriter.ts +0 -410
  977. package/types/src/area/route.test.d.ts +0 -20
  978. package/types/src/button/button.test.d.ts +0 -1
  979. package/types/src/chips/chip.d.ts +0 -3
  980. package/types/src/components/index.d.ts +0 -1
  981. package/types/src/content-drawer/$sheet.d.ts +0 -14
  982. package/types/src/dialog/dailog.d.ts +0 -116
  983. package/types/src/dialog/dialog-content.d.ts +0 -17
  984. package/types/src/directives/guard.d.ts +0 -1
  985. package/types/src/directives/visibility.d.ts +0 -11
  986. package/types/src/form/form-v2.d.ts +0 -22
  987. package/types/src/input/input-v2.d.ts +0 -250
  988. package/types/src/layout/flex/flex.d.ts +0 -26
  989. package/types/src/layout/flex/index.d.ts +0 -1
  990. package/types/src/layout/grid/grid.d.ts +0 -39
  991. package/types/src/layout/grid/index.d.ts +0 -1
  992. package/types/src/layout/layout.d.ts +0 -59
  993. package/types/src/layout/v2/flex.d.ts +0 -65
  994. package/types/src/layout/v2/grid.d.ts +0 -51
  995. package/types/src/layout/v2/index.d.ts +0 -1
  996. package/types/src/lightbox/flip.directive.d.ts +0 -22
  997. package/types/src/metric/index.d.ts +0 -1
  998. package/types/src/metric/metric.d.ts +0 -39
  999. package/types/src/notification/outlet.d.ts +0 -10
  1000. package/types/src/sheet/header.d.ts +0 -10
  1001. package/types/src/store/context-array.d.ts +0 -83
  1002. package/types/src/store/context-collection.d.ts +0 -74
  1003. package/types/src/store/context-create.d.ts +0 -43
  1004. package/types/src/store/context-object.d.ts +0 -46
  1005. package/types/src/store/filter-directive.d.ts +0 -116
  1006. package/types/src/store/immer-integration.d.ts +0 -54
  1007. package/types/src/store/index.d.ts +0 -10
  1008. package/types/src/store/selector-hook.d.ts +0 -46
  1009. package/types/src/store/selectors.d.ts +0 -90
  1010. package/types/src/store/storage-manager.d.ts +0 -48
  1011. package/types/src/store/store.class.d.ts +0 -73
  1012. package/types/src/store/types.d.ts +0 -241
  1013. package/types/src/tabs/tabs-compatibility.d.ts +0 -13
  1014. package/types/src/theme/theme.elevation.d.ts +0 -131
  1015. package/types/src/theme/theme.motion.d.ts +0 -198
  1016. package/types/src/theme/theme.shape.d.ts +0 -144
  1017. package/types/src/theme/theme.state.d.ts +0 -546
  1018. package/types/src/theme/theme.typography.d.ts +0 -74
  1019. package/types/src/tooltip/tooltip.d.ts +0 -33
  1020. package/types/src/typewriter/typewriter.d.ts +0 -94
  1021. /package/dist/agent/{flow-CvG1fLW5.js → flow-CaPi2G8y.js} +0 -0
  1022. /package/dist/agent/{vendor-material-color-DcL7ZPxx.js → vendor-material-color-Be96dpGE.js} +0 -0
  1023. /package/dist/{animation-hXFClrIn.js → animation-BK-8BwY8.js} +0 -0
  1024. /package/dist/{animation-CQRdLgzX.cjs → animation-CO_Csq84.cjs} +0 -0
  1025. /package/dist/{decorate-D_utPUsC.js → decorate-23nYs4Le.js} +0 -0
  1026. /package/dist/{decorate-F9CuyeHg.cjs → decorate-DpFmy0nm.cjs} +0 -0
  1027. /package/dist/{hashContent-B2IntJQf.js → hashContent-1ARKIsx9.js} +0 -0
  1028. /package/dist/{hashContent-CahnEuut.cjs → hashContent-Bp5S6T4U.cjs} +0 -0
  1029. /package/dist/{lazy-D6R5N5v4.js → lazy-B0ia54tT.js} +0 -0
  1030. /package/dist/{lazy-BDNnH_r7.cjs → lazy-Dq9mRRjT.cjs} +0 -0
  1031. /package/dist/{reduced-motion-BZTLqAyl.js → reduced-motion-D-L12p7G.js} +0 -0
  1032. /package/dist/{reduced-motion-9RjNnhIg.cjs → reduced-motion-Ds-HjMzn.cjs} +0 -0
  1033. /package/dist/{rxjs-utils-DJbZRjp3.cjs → rxjs-utils-Csnks202.cjs} +0 -0
  1034. /package/dist/{rxjs-utils-CKTnEKUH.js → rxjs-utils-d-ivVN84.js} +0 -0
  1035. /package/dist/{theme.events-NuihzD_p.js → theme.events-Cv7N4Toe.js} +0 -0
  1036. /package/dist/{theme.events-DakXxZeP.cjs → theme.events-DM4H5F2d.cjs} +0 -0
  1037. /package/dist/{theme.interface-DTwkuAKJ.cjs → theme.interface-D9l33b-M.cjs} +0 -0
  1038. /package/dist/{theme.interface-Buged9Cg.js → theme.interface-DnVNre4O.js} +0 -0
  1039. /package/src/{directives/typewriter.ts → typewriter/typewriter.directive.ts} +0 -0
  1040. /package/types/src/{components/form-elements → payment-card-form}/index.d.ts +0 -0
  1041. /package/types/src/{directives/typewriter.d.ts → typewriter/typewriter.directive.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"src-CHM4hrEr.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"],"sourcesContent":["import { SchmancyElement } 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 SchmancyElement {\n\tstatic styles = [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\n/**\n * Content-drawer service. Mounts any element inside the right-hand content\n * drawer of a `<schmancy-content-drawer>` layout.\n *\n * @service\n * @summary Imperative content-drawer (right-side navigation panel).\n * @method render({ component, ...options }) - Mount an element in the drawer.\n * @method close() - Close the drawer.\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 { SchmancyElement } 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 SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`]\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 { SchmancyElement } 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 SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`]\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 { SchmancyElement } 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 SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\toverflow: scroll;\n\t}\n`]\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, unknown>) {\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 { SchmancyElement } 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 SchmancyElement {\n\tstatic styles = [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 { SchmancyElement } 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 SchmancyElement {\n\tstatic styles = [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\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 { SchmancyElement } 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 SchmancyElement {\n\tstatic styles = [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\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 { SchmancyElement } 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 SchmancyElement {\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, unknown>) {\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 { SchmancyElement } from '@mixins/index'\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 SchmancyElement {\n\tstatic styles = [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 { SchmancyElement } from '@mixins/index'\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 SchmancyElement {\n\tstatic styles = [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.findIndex(it => it === clickedItem)\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\titems[this.focusedIndex]?.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\t// Use setActive method to trigger item's reactive update\n\t\t\titem.setActive(index === activeIndex)\n\t\t\titem.hideLabels = this.hideLabels\n\t\t\t// Set tabindex for accessibility\n\t\t\titem.tabIndex = index === activeIndex ? 0 : -1\n\t\t})\n\t}\n\n\tupdated(changedProperties: Map<string, unknown>) {\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 { SchmancyElement } from '@mixins/index'\n@customElement('schmancy-teleport')\nexport class SchmancyTeleportation extends SchmancyElement {\n\tstatic styles = [css``]\n\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 = Boolean(import.meta.env.DEV)\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"],"mappings":"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"}
@@ -0,0 +1,263 @@
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-BIXF7xkF.cjs`),t=require(`./decorate-DpFmy0nm.cjs`),n=require(`./area-ISC8Mdkh.cjs`);require(`./state-BAW3C11I.cjs`),require(`./audio-DZN8HsSS.cjs`),require(`./autocomplete-BDF85W0J.cjs`);const r=require(`./theme.service-CP71ojp6.cjs`),i=require(`./directives.cjs`);require(`./boat-CpXe-Qto.cjs`),require(`./busy-Dma4gtnz.cjs`),require(`./button.cjs`),require(`./card-ClroODSK.cjs`),require(`./charts.cjs`),require(`./checkbox-DvTZXN1Y.cjs`),require(`./chips-Bw7FNDpX.cjs`),require(`./code-highlight-CJzuds4c.cjs`),require(`./connectivity.cjs`),require(`./date-range-BsPW60vp.cjs`);const a=require(`./sheet.service-C1J0-i4d.cjs`);require(`./date-range-inline-BsjNNGFR.cjs`),require(`./delay.cjs`),require(`./details-BtUNqzn8.cjs`),require(`./dialog.cjs`),require(`./discovery.cjs`),require(`./divider-CpNT11Iy.cjs`),require(`./dropdown.cjs`),require(`./expand-05azMpho.cjs`),require(`./float-DRET9mVZ.cjs`),require(`./window.cjs`),require(`./extra-CyERULfm.cjs`),require(`./form-CSJp687X.cjs`),require(`./icons-CNixJ6kL.cjs`),require(`./iframe-g-4DjAD7.cjs`),require(`./input-CwFslLcF.cjs`),require(`./notification-CigTy3ia.cjs`),require(`./json.cjs`),require(`./layout.cjs`),require(`./lightbox-m5FLmYlv.cjs`),require(`./list-C-b9p1yi.cjs`),require(`./mailbox-B0hZLpF1.cjs`),require(`./map-CZ0816EI.cjs`),require(`./menu-BFHBnp5M.cjs`),require(`./navigation-rail.cjs`),require(`./option-BfvzzkzM.cjs`),require(`./page.cjs`),require(`./payment-card-form-CQ6sLlrh.cjs`),require(`./progress.cjs`),require(`./qr-scanner.cjs`),require(`./radio-group-DK-T6jGy.cjs`),require(`./range.cjs`),require(`./rxjs-utils-Csnks202.cjs`);const o=require(`./theme.interface-D9l33b-M.cjs`);require(`./select-BR3r3SZe.cjs`),require(`./sheet-D9pZMrzs.cjs`),require(`./slider.cjs`),require(`./steps.cjs`),require(`./surface.cjs`),require(`./table.cjs`),require(`./tabs-EIEhkEUb.cjs`),require(`./textarea-zxNlRLVm.cjs`),require(`./theme-Z43TLE61.cjs`),require(`./theme-button-Czsdp3o1.cjs`),require(`./timeline.cjs`),require(`./tooltip.cjs`),require(`./tree.cjs`);const s=require(`./types.cjs`);require(`./typewriter.cjs`),require(`./typography.cjs`),require(`./utils-Cr-YO4Np.cjs`),require(`./avatar.cjs`),require(`./breadcrumb.cjs`),require(`./kbd.cjs`),require(`./skeleton.cjs`),require(`./splash-screen-DqULOTZ0.cjs`),require(`./switch.cjs`),require(`./visually-hidden.cjs`);let c=require(`rxjs`),l=require(`rxjs/operators`),u=require(`@lit/context`),d=require(`lit/decorators.js`),f=require(`lit`),p=require(`lit/directives/when.js`);var m=class extends e.s{constructor(...e){super(...e),this.color=`primary`,this.size=`md`,this.shape=`pill`,this.outlined=!1,this.icon=``,this.pulse=!1}static{this.styles=[f.css`
2
+ :host {
3
+ display: inline-flex;
4
+ width: fit-content;
5
+ }
6
+
7
+ /* Enhanced pulse animation for better attention-getting */
8
+ @keyframes elegant-pulse {
9
+ 0%, 100% {
10
+ opacity: 1;
11
+ }
12
+ 50% {
13
+ opacity: 0.85;
14
+ }
15
+ }
16
+
17
+ .animate-pulse {
18
+ animation: elegant-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
19
+ }
20
+ `]}getSizeClasses(){switch(this.size){case`xs`:return`text-xs py-0.75 px-1.5 gap-0.5 leading-none`;case`sm`:return`text-xs py-1.5 px-2.5 gap-0.5 tracking-wide leading-none`;case`lg`:return`text-base py-2 px-4 gap-1 tracking-wide`;default:return`text-sm py-1.5 px-3 gap-0.5`}}getShapeClasses(){switch(this.shape){case`square`:return`rounded`;case`rounded`:return`rounded-md`;default:return`rounded-full`}}getIconSize(){switch(this.size){case`xs`:return`11px`;case`sm`:return`13px`;case`lg`:return`18px`;default:return`15px`}}getExoticStyles(){let e={};return this.size===`lg`&&(e.letterSpacing=`0.03em`,e.fontWeight=`500`),this.size===`sm`&&(e.letterSpacing=`0.02em`),e}getColorStyles(){return{primary:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${o.t.sys.color.primary.container} 92%, ${o.t.sys.color.primary.default} 8%)`,text:this.outlined?o.t.sys.color.primary.default:o.t.sys.color.primary.onContainer,border:this.outlined?`color-mix(in srgb, ${o.t.sys.color.primary.default} 90%, ${o.t.sys.color.surface.highest} 10%)`:void 0},secondary:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${o.t.sys.color.secondary.container} 95%, ${o.t.sys.color.secondary.default} 5%)`,text:this.outlined?o.t.sys.color.secondary.default:o.t.sys.color.secondary.onContainer,border:this.outlined?`color-mix(in srgb, ${o.t.sys.color.secondary.default} 85%, ${o.t.sys.color.surface.highest} 15%)`:void 0},tertiary:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${o.t.sys.color.tertiary.container} 94%, ${o.t.sys.color.tertiary.default} 6%)`,text:this.outlined?o.t.sys.color.tertiary.default:o.t.sys.color.tertiary.onContainer,border:this.outlined?`color-mix(in srgb, ${o.t.sys.color.tertiary.default} 88%, ${o.t.sys.color.surface.highest} 12%)`:void 0},success:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${o.t.sys.color.success.container} 90%, ${o.t.sys.color.success.default} 10%)`,text:this.outlined?o.t.sys.color.success.default:o.t.sys.color.success.onContainer,border:this.outlined?`color-mix(in srgb, ${o.t.sys.color.success.default} 85%, ${o.t.sys.color.surface.bright} 15%)`:void 0},warning:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${o.t.sys.color.tertiary.container} 85%, ${o.t.sys.color.tertiary.default} 15%)`,text:this.outlined?o.t.sys.color.tertiary.default:o.t.sys.color.tertiary.onContainer,border:this.outlined?`color-mix(in srgb, ${o.t.sys.color.tertiary.default} 90%, ${o.t.sys.color.surface.highest} 10%)`:void 0},error:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${o.t.sys.color.error.container} 92%, ${o.t.sys.color.error.default} 8%)`,text:this.outlined?o.t.sys.color.error.default:o.t.sys.color.error.onContainer,border:this.outlined?`color-mix(in srgb, ${o.t.sys.color.error.default} 88%, ${o.t.sys.color.surface.bright} 12%)`:void 0},neutral:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${o.t.sys.color.surface.high} 95%, ${o.t.sys.color.outline} 5%)`,text:this.outlined?`color-mix(in srgb, ${o.t.sys.color.surface.on} 95%, ${o.t.sys.color.surface.default} 5%)`:o.t.sys.color.surface.on,border:this.outlined?`color-mix(in srgb, ${o.t.sys.color.outline} 85%, ${o.t.sys.color.surface.highest} 15%)`:void 0},surface:{bg:this.outlined?`transparent`:o.t.sys.color.surface.high,text:o.t.sys.color.surface.on,border:this.outlined?o.t.sys.color.outline:void 0}}[this.color]}render(){let e=this.getSizeClasses(),t=this.getShapeClasses(),n=this.getColorStyles(),r=this.getIconSize(),a=this.getExoticStyles(),o={"inline-flex items-center justify-center font-medium":!0,"transition-all duration-200 ease-in-out":!0,[e]:!0,[t]:!0,"animate-pulse":this.pulse,"border border-solid":this.outlined,"shadow-sm":!this.outlined&&this.size===`sm`,shadow:!this.outlined&&this.size===`md`,"shadow-md":!this.outlined&&this.size===`lg`,"hover:brightness-95 hover:-translate-y-px":this.outlined,"hover:brightness-[0.98]":!this.outlined},s={borderColor:n.border,backdropFilter:this.outlined?`blur(4px)`:void 0,boxShadow:this.size!==`lg`||this.outlined?void 0:`0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.1)`,...a};return f.html`
21
+ <div
22
+ part="badge"
23
+ class="${this.classMap(o)}"
24
+ style="${this.styleMap(s)}"
25
+ ${i.color({bgColor:n.bg,color:n.text})}
26
+ >
27
+ <!-- Icon slot or named icon -->
28
+ <slot name="icon">
29
+ ${this.icon?f.html`
30
+ <div part="icon" class="shrink-0 flex items-center justify-center leading-none">
31
+ <schmancy-icon .size=${r} class="flex items-center justify-center">${this.icon}</schmancy-icon>
32
+ </div>
33
+ `:``}
34
+ </slot>
35
+
36
+ <!-- Content with proper spacing from icon -->
37
+ <div part="content" class="flex items-center leading-none tracking-[0.01em] ${this.icon?`ml-[0.38em]`:``}">
38
+ <slot></slot>
39
+ </div>
40
+ </div>
41
+ `}};t.t([(0,d.property)({type:String,reflect:!0})],m.prototype,`color`,void 0),t.t([(0,d.property)({type:String,reflect:!0})],m.prototype,`size`,void 0),t.t([(0,d.property)({type:String,reflect:!0})],m.prototype,`shape`,void 0),t.t([(0,d.property)({type:Boolean,reflect:!0})],m.prototype,`outlined`,void 0),t.t([(0,d.property)({type:String})],m.prototype,`icon`,void 0),t.t([(0,d.property)({type:Boolean,reflect:!0})],m.prototype,`pulse`,void 0),m=t.t([(0,d.customElement)(`schmancy-badge`)],m);var h=class extends m{};h=t.t([(0,d.customElement)(`sch-badge`)],h);var g=new class{constructor(){this.$drawer=new c.Subject,this.pushCounter=0,this.isDismissing$=new c.BehaviorSubject(!1),this.$drawer.pipe((0,c.concatMap)(e=>{switch(e.action){case`dismiss`:return(0,c.of)(e).pipe((0,c.tap)(()=>{this.isDismissing$.next(!0),this.dispatchToggleEvent(e.ref,`close`)}),(0,c.delay)(300),(0,c.tap)(()=>this.isDismissing$.next(!1)));case`render`:return(0,c.of)(e).pipe((0,c.tap)(()=>{this.dispatchToggleEvent(e.ref,`open`),this.dispatchRenderEvent(e.ref,e.component,e.title)}));case`push`:return(0,c.of)(e).pipe((0,c.tap)(()=>this.handlePush(e.ref,e.component,e.state,e.params,e.props)));default:return(0,c.of)(null)}})).subscribe()}dispatchToggleEvent(e,t){e.dispatchEvent(new CustomEvent(s.SchmancyEvents.ContentDrawerToggle,{detail:{state:t},bubbles:!0,composed:!0}))}dispatchRenderEvent(e,t,n,r,i,a){e.dispatchEvent(new CustomEvent(`schmancy-content-drawer-render`,{detail:{component:t,title:n,state:r,params:i,props:a},bubbles:!0,composed:!0}))}dimiss(e){this.$drawer.next({action:`dismiss`,ref:e})}render(e,t,n){e.dispatchEvent(new CustomEvent(`custom-event`)),this.$drawer.next({action:`render`,ref:e,component:t,title:n})}handlePush(e,t,n,r,i){let a={...n,_drawerPushId:++this.pushCounter};this.dispatchToggleEvent(e,`open`),this.dispatchRenderEvent(e,t,void 0,a,r,i)}push(e){this.$drawer.next({action:`push`,ref:window,...e})}},_=(0,u.createContext)(`push`),v=(0,u.createContext)(`close`),y=(0,u.createContext)(Math.floor(Math.random()*Date.now()).toString()),b=(0,u.createContext)(`100%`),x=(0,u.createContext)({}),S=class extends e.s{constructor(...e){super(...e),this.minWidth={main:360,sheet:576},this.schmancyContentDrawerID=Math.floor(Math.random()*Date.now()).toString(),this.maxHeight=`100%`}static{this.styles=[f.css`
42
+ :host {
43
+ position: relative;
44
+ inset: 0;
45
+ display: block;
46
+ overflow: hidden;
47
+ }
48
+ `]}firstUpdated(){this.setupResizeListener(),this.setupToggleListener(),this.setupRenderListener()}setupResizeListener(){(0,c.merge)((0,c.fromEvent)(window,`resize`),(0,c.fromEvent)(window,s.SchmancyEvents.ContentDrawerResize)).pipe((0,c.startWith)(!0),(0,c.debounceTime)(100),(0,c.map)(()=>this.clientWidth||window.innerWidth),(0,c.map)(e=>e>=this.minWidth.main+this.minWidth.sheet),(0,c.distinctUntilChanged)(),(0,c.tap)(()=>this.updateMaxHeight()),(0,c.takeUntil)(this.disconnecting)).subscribe(e=>this.updateMode(e))}setupToggleListener(){(0,c.fromEvent)(window,s.SchmancyEvents.ContentDrawerToggle).pipe((0,c.tap)(e=>e.stopPropagation()),(0,c.map)(e=>e.detail.state),(0,c.takeUntil)(this.disconnecting)).subscribe(e=>{this.open=e})}setupRenderListener(){(0,c.fromEvent)(window,`schmancy-content-drawer-render`).pipe((0,c.tap)(e=>e.stopPropagation()),(0,c.map)(e=>e.detail),(0,c.takeUntil)(this.disconnecting)).subscribe(e=>this.handleRender(e))}updateMaxHeight(){this.maxHeight=window.innerHeight-this.getOffsetTop(this)+`px`,this.style.setProperty(`max-height`,this.maxHeight)}updateMode(e){e?(this.mode=`push`,this.open=`open`):(this.mode=`overlay`,this.open=`close`)}handleRender(e){this.mode===`push`?n.S.push({area:this.schmancyContentDrawerID,component:e.component,historyStrategy:`silent`,state:e.state,params:e.params,props:e.props}):this.mode===`overlay`&&a.n.open({component:e.component,uid:this.schmancyContentDrawerID,props:e.props})}getOffsetTop(e){let t=0;for(;e;)t+=e.offsetTop,e=e.offsetParent;return t}render(){return this.mode&&this.open?f.html`
49
+ <div class=${[`grid h-full`,`grid-flow-col auto-cols-max`,`grid-rows-[1fr]`,`justify-items-stretch items-stretch`,this.mode===`overlay`?`grid-cols-[1fr]`:`grid-cols-[auto_1fr]`].join(` `)}>
50
+ <slot></slot>
51
+ </div>
52
+ `:f.nothing}};t.t([(0,u.provide)({context:x})],S.prototype,`minWidth`,void 0),t.t([(0,u.provide)({context:v}),(0,d.property)()],S.prototype,`open`,void 0),t.t([(0,u.provide)({context:_}),(0,d.state)()],S.prototype,`mode`,void 0),t.t([(0,u.provide)({context:y})],S.prototype,`schmancyContentDrawerID`,void 0),t.t([(0,u.provide)({context:b})],S.prototype,`maxHeight`,void 0),t.t([(0,d.queryAssignedElements)({flatten:!0})],S.prototype,`assignedElements`,void 0),S=t.t([(0,d.customElement)(`schmancy-content-drawer`)],S);var C=class extends e.s{static{this.styles=[f.css`
53
+ :host {
54
+ display: block;
55
+ overflow: hidden;
56
+ }
57
+ `]}connectedCallback(){super.connectedCallback(),this.minWidth?this.drawerMinWidth.main=this.minWidth:this.minWidth=this.drawerMinWidth.main}update(e){super.update(e),e.has(`minWidth`)&&this.minWidth&&(this.drawerMinWidth.main=this.minWidth,this.dispatchEvent(new CustomEvent(s.SchmancyEvents.ContentDrawerResize,{bubbles:!0,composed:!0})))}render(){let e={minWidth:`${this.minWidth}px`,maxHeight:this.maxHeight};return f.html`
58
+ <section class="relative inset-0 h-full">
59
+ <div class=${[`grid h-full relative overflow-scroll`,`grid-flow-col auto-cols-max`,`grid-rows-[1fr]`,`items-stretch justify-items-stretch`,this.mode===`push`?`grid-cols-[auto_1fr]`:`grid-cols-[1fr]`].join(` `)}>
60
+ <section style=${this.styleMap(e)}>
61
+ <slot></slot>
62
+ </section>
63
+ </div>
64
+ ${(0,p.when)(this.mode===`push`,()=>f.html` <schmancy-divider class="absolute right-0 top-0" orientation="vertical"></schmancy-divider>`)}
65
+ </section>
66
+ `}};t.t([(0,d.property)({type:Number})],C.prototype,`minWidth`,void 0),t.t([(0,u.consume)({context:x,subscribe:!0})],C.prototype,`drawerMinWidth`,void 0),t.t([(0,u.consume)({context:_,subscribe:!0}),(0,d.state)()],C.prototype,`mode`,void 0),t.t([(0,u.consume)({context:b,subscribe:!0}),(0,d.state)()],C.prototype,`maxHeight`,void 0),C=t.t([(0,d.customElement)(`schmancy-content-drawer-main`)],C);var w=class extends e.s{static{this.styles=[f.css`
67
+ :host {
68
+ overflow: scroll;
69
+ }
70
+ `]}connectedCallback(){super.connectedCallback(),this.minWidth?this.drawerMinWidth.sheet=this.minWidth:this.minWidth=this.drawerMinWidth.sheet}updated(e){super.updated(e),e.has(`minWidth`)&&this.minWidth?(this.drawerMinWidth.sheet=this.minWidth,this.dispatchEvent(new CustomEvent(s.SchmancyEvents.ContentDrawerResize,{bubbles:!0,composed:!0}))):(e.has(`state`)||e.has(`mode`))&&(this.mode===`overlay`?this.state===`close`?this.closeAll():this.state:this.mode===`push`&&(a.n.dismiss(this.schmancyContentDrawerID),this.state===`close`?this.closeAll():this.state===`open`&&this.open()))}open(){this.mode===`overlay`?this.sheet.style.position=`fixed`:this.sheet.style.position=`relative`,this.sheet.style.display=`block`,this.sheet.animate([{opacity:0,transform:`translateX(100%)`},{opacity:1,transform:`translateX(0%)`}],{duration:250,easing:`cubic-bezier(0.5, 0.01, 0.25, 1)`})}closeAll(){(0,c.merge)((0,c.from)(this.closeModalSheet()),(0,c.from)(this.closeSheet())).pipe((0,c.takeUntil)(this.disconnecting)).subscribe()}closeModalSheet(){return(0,c.of)(!0).pipe((0,c.tap)(()=>a.n.dismiss(this.schmancyContentDrawerID)))}closeSheet(){return new c.Observable(e=>{this.sheet.animate([{opacity:1,transform:`translateX(0%)`},{opacity:1,transform:`translateX(100%)`}],{duration:250,easing:`cubic-bezier(0.5, 0.01, 0.25, 1)`}).onfinish=()=>{this.sheet.style.display=`none`,e.next(),e.complete()}})}render(){let e={"block h-full w-full":this.mode===`push`,"absolute z-50":this.mode===`overlay`,"opacity-1":this.mode===`overlay`&&this.state===`open`},t={minWidth:`${this.minWidth}px`,maxHeight:this.maxHeight};return f.html`
71
+ <section id="sheet" class="${this.classMap(e)}" style=${this.styleMap(t)}>
72
+ <schmancy-area class="h-full w-full" name="${this.schmancyContentDrawerID}">
73
+ <slot name="placeholder"></slot>
74
+ </schmancy-area>
75
+ </section>
76
+ `}};t.t([(0,d.property)({type:Number})],w.prototype,`minWidth`,void 0),t.t([(0,u.consume)({context:_,subscribe:!0}),(0,d.state)()],w.prototype,`mode`,void 0),t.t([(0,u.consume)({context:v,subscribe:!0}),(0,d.state)()],w.prototype,`state`,void 0),t.t([(0,u.consume)({context:y})],w.prototype,`schmancyContentDrawerID`,void 0),t.t([(0,d.query)(`#sheet`)],w.prototype,`sheet`,void 0),t.t([(0,d.queryAssignedElements)({flatten:!0,slot:void 0})],w.prototype,`defaultSlot`,void 0),t.t([(0,u.consume)({context:x,subscribe:!0})],w.prototype,`drawerMinWidth`,void 0),t.t([(0,u.consume)({context:b,subscribe:!0}),(0,d.state)()],w.prototype,`maxHeight`,void 0),w=t.t([(0,d.customElement)(`schmancy-content-drawer-sheet`)],w);var T=new class{constructor(){this.$drawer=new c.Subject,this.$drawer.pipe((0,c.debounceTime)(10)).subscribe(e=>{e.state?window.dispatchEvent(new CustomEvent(s.SchmancyEvents.NavDrawer_toggle,{detail:{state:`open`},bubbles:!0,composed:!0})):window.dispatchEvent(new CustomEvent(s.SchmancyEvents.NavDrawer_toggle,{detail:{state:`close`},bubbles:!0,composed:!0}))})}open(e){this.$drawer.next({self:e,state:!0})}close(e){this.$drawer.next({self:e,state:!1})}},E=T,D=class extends e.s{static{this.styles=[f.css`
77
+ :host {
78
+ display: block;
79
+ width: 100%;
80
+ min-width: 0;
81
+ }
82
+ `]}render(){return f.html`<slot></slot>`}};D=t.t([(0,d.customElement)(`schmancy-nav-drawer-appbar`)],D);var O=class extends e.s{static{this.styles=[f.css`
83
+ :host {
84
+ display: block;
85
+ position: relative;
86
+ inset: 0;
87
+ overflow-y: auto;
88
+ }
89
+ `]}connectedCallback(){super.connectedCallback(),(0,c.fromEvent)(this,`scroll`).pipe((0,c.takeUntil)(this.disconnecting)).subscribe(e=>{this.parentElement.dispatchEvent(new CustomEvent(`scroll`,{detail:e,bubbles:!0,composed:!0}))})}render(){return f.html` <slot></slot> `}};O=t.t([(0,d.customElement)(`schmancy-nav-drawer-content`)],O);var k,A=(0,u.createContext)(`push`),j=(0,u.createContext)(`close`),M=class extends e.s{static{k=this}constructor(...e){super(...e),this.fullscreen=!1,this.breakpoint=`md`}static{this.styles=[f.css`
90
+ :host {
91
+ display: grid;
92
+ grid-template-columns: auto 1fr;
93
+ grid-template-rows: 1fr;
94
+ flex-grow: 1;
95
+ height: 100%;
96
+ overflow: hidden;
97
+ /* Initially hide the component until it's ready */
98
+ visibility: hidden;
99
+ }
100
+
101
+ :host([data-ready]) {
102
+ visibility: visible;
103
+ }
104
+
105
+ :host([fullscreen]) {
106
+ grid-template-columns: 1fr;
107
+ }
108
+ `]}static{this.BREAKPOINTS={sm:640,md:768,lg:1024,xl:1280}}firstUpdated(){this.updateState(window.innerWidth),this.setAttribute(`data-ready`,``),(0,c.fromEvent)(window,`resize`).pipe((0,c.map)(e=>e.target.innerWidth),(0,c.map)(e=>e>=k.BREAKPOINTS[this.breakpoint]),(0,c.distinctUntilChanged)(),(0,c.debounceTime)(100),(0,c.takeUntil)(this.disconnecting)).subscribe(e=>{e?(this.mode=`push`,this.open=`open`):(this.mode=`overlay`,this.open=`close`)}),(0,c.fromEvent)(window,`fullscreen`).pipe((0,c.tap)(e=>{let t=e;this.fullscreen=t.detail}),(0,c.takeUntil)(this.disconnecting)).subscribe(),(0,c.fromEvent)(window,s.SchmancyEvents.NavDrawer_toggle).pipe((0,c.tap)(e=>{e.stopPropagation()}),(0,c.map)(e=>e.detail.state),(0,c.takeUntil)(this.disconnecting),(0,c.debounceTime)(10)).subscribe(e=>{e===`toggle`&&(e=this.open===`open`?`close`:`open`),this.mode===`push`&&e===`close`||(this.open=e)})}updateState(e){let t=e>=k.BREAKPOINTS[this.breakpoint];this.mode=t?`push`:`overlay`,this.open=t?`open`:`close`}render(){return f.html`<slot></slot>`}};t.t([(0,d.property)({type:Boolean,reflect:!0})],M.prototype,`fullscreen`,void 0),t.t([(0,d.property)({type:String,attribute:`breakpoint`})],M.prototype,`breakpoint`,void 0),t.t([(0,u.provide)({context:A}),(0,d.state)()],M.prototype,`mode`,void 0),t.t([(0,u.provide)({context:j}),(0,d.property)()],M.prototype,`open`,void 0),M=k=t.t([(0,d.customElement)(`schmancy-nav-drawer`)],M);var N=`cubic-bezier(0.5, 0.01, 0.25, 1)`,P=class extends e.s{constructor(...e){super(...e),this.width=`220px`,this._initialized=!1}firstUpdated(){this.mode===`overlay`?this.drawerState===`close`?(this.nav.style.transform=`translateX(-100%)`,this.overlay.style.display=`none`):this.drawerState===`open`&&(this.nav.style.transform=`translateX(0)`,this.overlay.style.display=`block`,this.overlay.style.opacity=`0.4`):this.mode===`push`&&(this.nav.style.transform=`translateX(0)`,this.overlay.style.display=`none`),this._initialized=!0}updated(e){this._initialized&&(e.has(`drawerState`)||e.has(`mode`))&&(this.mode===`overlay`?this.drawerState===`open`?this.nav.style.transform!==`translateX(0)`&&(this.openOverlay(),this.showNavDrawer()):this.drawerState===`close`&&this.nav.style.transform!==`translateX(-100%)`&&(this.hideNavDrawer(),this.closeOverlay()):this.mode===`push`&&(this.nav.style.transform!==`translateX(0)`&&this.showNavDrawer(),this.overlay.style.display!==`none`&&this.closeOverlay()))}openOverlay(){this.overlay.style.display=`block`,this.overlay.animate([{opacity:0},{opacity:.4}],{duration:200,easing:N,fill:`forwards`})}closeOverlay(){this.overlay.animate([{opacity:.4},{opacity:0}],{duration:150,easing:N,fill:`forwards`}).onfinish=()=>{this.overlay.style.display=`none`}}showNavDrawer(){this.nav.animate([{transform:`translateX(-100%)`},{transform:`translateX(0)`}],{duration:200,easing:N,fill:`forwards`}).onfinish=()=>{this.nav.style.transform=`translateX(0)`}}hideNavDrawer(){this.nav.animate([{transform:`translateX(0)`},{transform:`translateX(-100%)`}],{duration:200,easing:N,fill:`forwards`}).onfinish=()=>{this.nav.style.transform=`translateX(-100%)`}}handleOverlayClick(){window.dispatchEvent(new CustomEvent(s.SchmancyEvents.NavDrawer_toggle,{detail:{state:`close`},bubbles:!0,composed:!0}))}render(){let e={"max-w-[360px] w-fit h-full overflow-auto":!0,block:this.mode===`push`,"fixed inset-0 z-50":this.mode===`overlay`},t={width:this.width};return f.html`
109
+ <nav
110
+ style=${this.styleMap(t)}
111
+ class="${this.classMap({...e})}"
112
+ ${i.color({bgColor:o.t.sys.color.surface.containerLowest})}
113
+ >
114
+ <slot></slot>
115
+ </nav>
116
+ <div
117
+ id="overlay"
118
+ ${i.color({bgColor:o.t.sys.color.scrim})}
119
+ @click=${this.handleOverlayClick}
120
+ class="${this.classMap({"fixed inset-0 z-49 hidden":!0})}"
121
+ ></div>
122
+ `}};t.t([(0,u.consume)({context:A,subscribe:!0}),(0,d.state)()],P.prototype,`mode`,void 0),t.t([(0,u.consume)({context:j,subscribe:!0}),(0,d.state)()],P.prototype,`drawerState`,void 0),t.t([(0,d.query)(`#overlay`)],P.prototype,`overlay`,void 0),t.t([(0,d.query)(`nav`)],P.prototype,`nav`,void 0),t.t([(0,d.property)({type:String})],P.prototype,`width`,void 0),t.t([(0,d.state)()],P.prototype,`_initialized`,void 0),P=t.t([(0,d.customElement)(`schmancy-nav-drawer-navbar`)],P);var F=class extends e.s{constructor(...e){super(...e),this.icon=``,this.label=``,this.badge=``,this.active$=new c.BehaviorSubject(!1),this.disabled=!1,this.hideLabels=!1,this.ripples=[],this.addRippleEffect=e=>{if(this.disabled)return;let t=this.shadowRoot?.querySelector(`.w-16.h-8`);if(t){let n=t.getBoundingClientRect(),r={x:e.clientX-n.left,y:e.clientY-n.top,id:Date.now()};this.ripples=[...this.ripples,r],(0,c.timer)(600).pipe((0,l.tap)(()=>{this.ripples=this.ripples.filter(e=>e.id!==r.id)}),(0,l.takeUntil)(this.disconnecting)).subscribe()}},this.handleClick=e=>{if(this.disabled)return e.preventDefault(),void e.stopPropagation();this.addRippleEffect(e)},this.handleKeyDown=e=>{this.disabled||e.key!==`Enter`&&e.key!==` `||e.preventDefault()}}static{this.styles=[f.css`
123
+ :host {
124
+ display: flex;
125
+ flex: 1;
126
+ min-width: 48px;
127
+ max-width: 168px;
128
+ user-select: none;
129
+ -webkit-tap-highlight-color: transparent;
130
+ }
131
+
132
+ :host([disabled]) {
133
+ pointer-events: none;
134
+ }
135
+
136
+ button {
137
+ font-family: inherit;
138
+ border: none;
139
+ background: none;
140
+ width: 100%;
141
+ padding: 0;
142
+ margin: 0;
143
+ text-align: center;
144
+ color: inherit;
145
+ }
146
+
147
+ button:focus {
148
+ outline: none;
149
+ }
150
+
151
+ button:focus-visible {
152
+ outline: 2px solid var(--focus-color);
153
+ outline-offset: 2px;
154
+ border-radius: 8px;
155
+ }
156
+
157
+ /* Ripple animation */
158
+ @keyframes ripple {
159
+ to {
160
+ transform: scale(4);
161
+ opacity: 0;
162
+ }
163
+ }
164
+
165
+ .ripple-effect {
166
+ position: absolute;
167
+ border-radius: 50%;
168
+ width: 20px;
169
+ height: 20px;
170
+ background-color: currentColor;
171
+ opacity: 0.25;
172
+ animation: ripple 0.6s ease-out;
173
+ pointer-events: none;
174
+ }
175
+ `]}get active(){return this.active$.value}set active(e){this.active$.next(e)}setActive(e){this.active=e}connectedCallback(){super.connectedCallback(),this.active$.pipe((0,l.takeUntil)(this.disconnecting)).subscribe(()=>{this.requestUpdate()}),this.setupNavigationStream()}setupNavigationStream(){let e=this.shadowRoot?.querySelector(`button`);e&&(0,c.merge)((0,c.fromEvent)(e,`click`).pipe((0,l.filter)(()=>!this.disabled)),(0,c.fromEvent)(e,`keydown`).pipe((0,l.filter)(()=>!this.disabled),(0,l.filter)(e=>e.key===`Enter`||e.key===` `),(0,l.tap)(e=>e.preventDefault()))).pipe((0,l.tap)(()=>{this.dispatchEvent(new CustomEvent(`bar-item-click`,{detail:{icon:this.icon,label:this.label,active:this.active},bubbles:!0,composed:!0}))}),(0,l.takeUntil)(this.disconnecting)).subscribe()}formatBadge(e){let t=Number(e);return isNaN(t)?e.slice(0,3):t>99?`99+`:String(t)}firstUpdated(){this.setupNavigationStream()}render(){let e=this.querySelector(`[slot]`)||this.textContent?.trim()&&!this.label,t=this.badge?this.formatBadge(this.badge):``,n=t&&t!==`0`,r=this.querySelector(`[slot="icon"]`),a={"relative flex flex-col items-center justify-center":!0,"flex-1 min-w-[48px] max-w-[168px]":!0,"py-2 px-1 cursor-pointer":!this.disabled,"transition-all duration-200":!0,"hover:bg-surface-containerHigh":!this.disabled&&!this.active,"cursor-not-allowed opacity-38":this.disabled,"outline-none":!0,"focus-visible:outline-2 focus-visible:outline-offset-2":!0},s={"w-16 h-8 rounded-2xl":!0,"flex items-center justify-center":!0,"transition-all duration-200":!0,"bg-secondary-container":this.active,"group-hover:bg-surface-containerHighest":!this.active&&!this.disabled,"relative overflow-hidden":!0},c={"absolute top-0 right-3":!0,"min-w-[6px] h-1.5":!n,"min-w-[16px] h-4":n,"rounded-full":!n,"rounded-lg":n,"flex items-center justify-center":n,"px-1":n,"transition-all duration-200":!0,"z-10":!0},l=this.active?{color:o.t.sys.color.secondary.onContainer}:{color:o.t.sys.color.surface.onVariant},u={"--focus-color":o.t.sys.color.primary.default};return f.html`
176
+ <button
177
+ type="button"
178
+ class=${this.classMap(a)}
179
+ @click=${this.handleClick}
180
+ @keydown=${this.handleKeyDown}
181
+ ?disabled=${this.disabled}
182
+ aria-pressed=${this.active}
183
+ aria-label=${this.label||`Navigation item`}
184
+ style=${this.styleMap({...u,"outline-color":`var(--focus-color)`})}
185
+ ${i.color(l)}
186
+ >
187
+ <!-- Icon with indicator background -->
188
+ <div class=${this.classMap(s)}>
189
+ <!-- Ripple effects -->
190
+ ${this.ripples.map(e=>f.html`
191
+ <span
192
+ class="ripple-effect"
193
+ style=${this.styleMap({left:`${e.x}px`,top:`${e.y}px`,transform:`translate(-50%, -50%)`})}
194
+ ></span>
195
+ `)}
196
+
197
+ ${r?f.html`<slot name="icon"></slot>`:this.icon?f.html`
198
+ <schmancy-icon
199
+ .fill=${+!!this.active}
200
+ class="relative z-10 flex items-center justify-center transition-all duration-200"
201
+ style="--schmancy-icon-size: 24px;"
202
+ aria-hidden="true"
203
+ >
204
+ ${this.icon}
205
+ </schmancy-icon>
206
+ `:e?f.html`<slot></slot>`:``}
207
+ </div>
208
+
209
+ <!-- Label below icon -->
210
+ ${!this.hideLabels&&this.label?f.html`
211
+ <span class=${this.classMap({"text-xs font-medium leading-4 mt-1":!0,"text-center max-w-full":!0,"overflow-hidden text-ellipsis whitespace-nowrap":!0,"transition-all duration-200":!0})}>${this.label}</span>
212
+ `:``}
213
+
214
+ <!-- Badge -->
215
+ ${n?f.html`
216
+ <span
217
+ class=${this.classMap(c)}
218
+ aria-label="${t} notifications"
219
+ ${i.color({bgColor:o.t.sys.color.error.default,color:o.t.sys.color.error.on})}
220
+ >
221
+ <span class="text-[10px] font-medium leading-none">${t}</span>
222
+ </span>
223
+ `:this.badge?f.html`
224
+ <span
225
+ class=${this.classMap(c)}
226
+ aria-label="Has notifications"
227
+ ${i.color({bgColor:o.t.sys.color.error.default})}
228
+ ></span>
229
+ `:``}
230
+ </button>
231
+ `}};t.t([(0,d.property)({type:String})],F.prototype,`icon`,void 0),t.t([(0,d.property)({type:String})],F.prototype,`label`,void 0),t.t([(0,d.property)({type:String})],F.prototype,`badge`,void 0),t.t([(0,d.property)({type:Boolean,reflect:!0})],F.prototype,`active`,null),t.t([(0,d.property)({type:Boolean,reflect:!0})],F.prototype,`disabled`,void 0),t.t([(0,d.property)({type:Boolean,reflect:!0})],F.prototype,`hideLabels`,void 0),t.t([(0,d.state)()],F.prototype,`ripples`,void 0),F=t.t([(0,d.customElement)(`schmancy-navigation-bar-item`)],F);var I=class extends e.s{constructor(...e){super(...e),this.activeIndex$=new c.BehaviorSubject(-1),this.hideLabels=!1,this.elevation=2,this.hideOnScroll=!1,this.focusedIndex=-1,this.isHiddenByScroll=!1,this.isFullscreen=!1,this.SCROLL_THRESHOLD=10,this.mobileMediaQuery=null,this.visibility$=new c.Subject,this.handleItemClick=e=>{let t=this.getItems(),n=e.target,r=t.findIndex(e=>e===n);if(r===-1)return;if(this.activeIndex===r)return void this.dispatchEvent(new CustomEvent(s.SchmancyEvents.NavDrawer_toggle,{detail:{state:`toggle`},bubbles:!0,composed:!0}));let i=this.activeIndex;this.activeIndex=r,this.dispatchEvent(new CustomEvent(`navigation-change`,{detail:{oldIndex:i,newIndex:r,item:n},bubbles:!0,composed:!0}))},this.handleKeyDown=e=>{let t=this.getItems(),n=this.focusedIndex===-1?this.activeIndex:this.focusedIndex;switch(e.key){case`ArrowLeft`:e.preventDefault(),n>0&&this.focusItem(n-1);break;case`ArrowRight`:e.preventDefault(),n<t.length-1&&this.focusItem(n+1);break;case`Home`:e.preventDefault(),this.focusItem(0);break;case`End`:e.preventDefault(),this.focusItem(t.length-1);break;case`Enter`:case` `:e.preventDefault(),this.focusedIndex!==-1&&t[this.focusedIndex]?.click()}}}static{this.styles=[f.css`
232
+ :host {
233
+ display: block;
234
+ transition: transform 0.3s ease-in-out;
235
+ }
236
+
237
+ :host([hide-on-scroll]) {
238
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
239
+ }
240
+
241
+ /* Support 3-7 items with equal distribution */
242
+ ::slotted(schmancy-navigation-bar-item) {
243
+ flex: 1;
244
+ max-width: 168px; /* Prevent items from being too wide */
245
+ }
246
+
247
+ /* Accessibility focus indicators */
248
+ :host(:focus-within) {
249
+ outline: 2px solid var(--schmancy-sys-color-primary);
250
+ outline-offset: -2px;
251
+ }
252
+ `]}get activeIndex(){return this.activeIndex$.value}set activeIndex(e){this.activeIndex$.next(e)}getItems(){let e=this.shadowRoot?.querySelector(`slot`);return e?e.assignedElements({flatten:!0}).filter(e=>e.tagName.toLowerCase()===`schmancy-navigation-bar-item`):[]}isMobileViewport(){return this.mobileMediaQuery?.matches??!1}updateBottomOffset(){let e=!this.isFullscreen&&this.isMobileViewport();r.n.setBottomOffset(e?80:0)}connectedCallback(){super.connectedCallback(),this.mobileMediaQuery=window.matchMedia(`(max-width: 767px)`),(0,c.fromEvent)(this.mobileMediaQuery,`change`).pipe((0,l.tap)(()=>this.updateBottomOffset()),(0,l.takeUntil)(this.disconnecting)).subscribe(),r.n.fullscreen$.pipe((0,l.tap)(e=>{this.isFullscreen=e,this.visibility$.next(!this.isFullscreen&&!this.isHiddenByScroll),this.updateBottomOffset()}),(0,l.takeUntil)(this.disconnecting)).subscribe(),this.updateBottomOffset(),(0,c.fromEvent)(this,`bar-item-click`).pipe((0,l.tap)(e=>this.handleItemClick(e)),(0,l.takeUntil)(this.disconnecting)).subscribe(),(0,c.fromEvent)(this,`keydown`).pipe((0,l.tap)(e=>this.handleKeyDown(e)),(0,l.takeUntil)(this.disconnecting)).subscribe(),this.activeIndex$.pipe((0,l.takeUntil)(this.disconnecting)).subscribe(e=>{this.updateActiveStates(e)}),this.hideOnScroll&&this.setupScrollListener(),this.updateItems()}disconnectedCallback(){super.disconnectedCallback(),r.n.setBottomOffset(0),this.mobileMediaQuery=null}setupScrollListener(){(0,c.fromEvent)(window,`scroll`).pipe((0,l.throttleTime)(100),(0,l.map)(()=>window.scrollY),(0,l.pairwise)(),(0,l.filter)(([e,t])=>Math.abs(t-e)>this.SCROLL_THRESHOLD),(0,l.tap)(([e,t])=>{let n=t>e,r=t<e,i=this.isHiddenByScroll;n&&!this.isHiddenByScroll?this.isHiddenByScroll=!0:r&&this.isHiddenByScroll&&(this.isHiddenByScroll=!1),t<=this.SCROLL_THRESHOLD&&(this.isHiddenByScroll=!1),i!==this.isHiddenByScroll&&this.visibility$.next(!this.isHiddenByScroll&&!this.isFullscreen)}),(0,l.takeUntil)(this.disconnecting)).subscribe()}focusItem(e){let t=this.getItems();t[e]&&(this.focusedIndex=e,t[e].focus())}updateItems(){let e=this.shadowRoot?.querySelector(`slot`);if(e){let t=()=>{this.updateActiveStates(this.activeIndex)};e.addEventListener(`slotchange`,t),t()}}addBoatItem(e){let t=this.querySelector(`[value="${e.id}"]`);if(t)return t;let n=document.createElement(`schmancy-navigation-bar-item`);return n.setAttribute(`value`,e.id),n.innerHTML=`\n\t\t\t<schmancy-icon>${e.icon||`widgets`}</schmancy-icon>\n\t\t\t<span>${e.title}</span>\n\t\t`,this.appendChild(n),n}updateActiveStates(e){this.getItems().forEach((t,n)=>{t.setActive(n===e),t.hideLabels=this.hideLabels,t.tabIndex=n===e?0:-1})}updated(e){super.updated(e),e.has(`hideLabels`)&&this.updateActiveStates(this.activeIndex),e.has(`hideOnScroll`)&&(this.hideOnScroll&&!e.get(`hideOnScroll`)?this.setupScrollListener():this.hideOnScroll||(this.isHiddenByScroll=!1,this.visibility$.next(!this.isFullscreen)))}render(){let e=this.isFullscreen||this.isHiddenByScroll,t={"h-20":!0,"flex items-center justify-around":!0,"px-2 py-3 box-border":!0,"transition-all duration-300 ease-in-out":!0,"z-10":!0,"shadow-none":this.elevation===0,"shadow-sm":this.elevation===1,"shadow-md":this.elevation===2,"shadow-lg":this.elevation===3,"shadow-xl":this.elevation===4,"shadow-2xl":this.elevation===5},n=e?`translateY(100%)`:`translateY(0)`;return f.html`
253
+ <nav
254
+ class=${this.classMap(t)}
255
+ role="navigation"
256
+ aria-label="Main navigation"
257
+ aria-hidden=${e}
258
+ style="transform: ${n};"
259
+ ${i.color({bgColor:o.t.sys.color.surface.container,color:o.t.sys.color.surface.on})}
260
+ >
261
+ <slot></slot>
262
+ </nav>
263
+ `}};t.t([(0,d.property)({type:Number})],I.prototype,`activeIndex`,null),t.t([(0,d.property)({type:Boolean,reflect:!0})],I.prototype,`hideLabels`,void 0),t.t([(0,d.property)({type:Number,reflect:!0})],I.prototype,`elevation`,void 0),t.t([(0,d.property)({type:Boolean,reflect:!0})],I.prototype,`hideOnScroll`,void 0),t.t([(0,d.state)()],I.prototype,`focusedIndex`,void 0),t.t([(0,d.state)()],I.prototype,`isHiddenByScroll`,void 0),t.t([(0,d.state)()],I.prototype,`isFullscreen`,void 0),I=t.t([(0,d.customElement)(`schmancy-navigation-bar`)],I);var L=`whereAreYouRicky`,R=`hereMorty`,z=new class{constructor(){this.activeTeleportations=new Map,this.flipRequests=new c.Subject,this.find=e=>(0,c.zip)([(0,c.fromEvent)(window,R).pipe((0,c.filter)(t=>!!t.detail.component.uuid&&!!e.id&&t.detail.component.id===e.id&&t.detail.component.uuid!==e.uuid),(0,c.map)(e=>e.detail.component),(0,c.take)(1)),(0,c.of)(e).pipe((0,c.tap)(()=>{window.dispatchEvent(new CustomEvent(L,{detail:{id:e.id,callerID:e.uuid}}))}))]).pipe((0,c.map)(([e])=>e),(0,c.timeout)(0)),this.flip=e=>{let{from:t,to:n}=e,r=n.element.style.zIndex;n.element.style.transformOrigin=`top left`,n.element.style.setProperty(`visibility`,`visible`),n.element.style.zIndex=`1000`;let i=[{transform:`translate(${t.rect.left-n.rect.left}px, ${t.rect.top-n.rect.top}px) scale(${t.rect.width/n.rect.width}, ${t.rect.height/n.rect.height})`},{transform:`translate(0, 0) scale(1, 1)`}];n.element.animate(i,{duration:250,delay:10,easing:`cubic-bezier(0.455, 0.03, 0.515, 0.955)`}).onfinish=()=>{n.element.style.zIndex=r,n.element.style.transformOrigin=``}},this.flipRequests.pipe((0,c.bufferTime)(1),(0,c.map)(e=>e.map(({from:e,to:t,host:n},r)=>({from:e,to:t,host:n,i:r}))),(0,c.concatMap)(e=>(0,c.zip)(e.map(e=>(0,c.of)(this.flip(e)))))).subscribe()}};function B(e){return(0,c.interval)(50).pipe((0,l.map)(()=>e.getBoundingClientRect()),(0,l.distinctUntilChanged)((e,t)=>e.width===t.width&&e.height===t.height&&e.top===t.top&&e.right===t.right&&e.bottom===t.bottom&&e.left===t.left),(0,l.take)(1))}var V=class extends e.s{constructor(...e){super(...e),this.uuid=Math.floor(Math.random()*Date.now()),this.delay=0,this.debugging=!1}static{this.styles=[f.css``]}get _slottedChildren(){return this.shadowRoot.querySelector(`slot`).assignedElements({flatten:!0})}connectedCallback(){if(this.id===void 0)throw Error(`id is required`);super.connectedCallback(),(0,c.merge)((0,c.fromEvent)(window,n.b).pipe((0,c.tap)({next:()=>{this.dispatchEvent(new CustomEvent(n.x,{detail:{component:this},bubbles:!0,composed:!0}))}})),(0,c.fromEvent)(window,L).pipe((0,c.tap)({next:e=>{e.detail.id===this.id&&this.uuid&&e.detail.callerID!==this.uuid&&this.dispatchEvent(new CustomEvent(R,{detail:{component:this},bubbles:!0,composed:!0}))}}))).pipe((0,c.takeUntil)(this.disconnecting)).subscribe()}async firstUpdated(){(0,c.of)(z.activeTeleportations.get(this.id)).pipe((0,c.filter)(e=>!!e),(0,c.takeUntil)(this.disconnecting),(0,c.throwIfEmpty)()).subscribe({next:e=>{this.style.setProperty(`visibility`,`hidden`),B(this).pipe((0,c.takeUntil)(this.disconnecting)).subscribe({next:t=>{z.activeTeleportations.set(this.id,t),z.flipRequests.next({from:{rect:e},to:{rect:t,element:this._slottedChildren[0]},host:this})}})},error:()=>{this.style.setProperty(`visibility`,`visible`),B(this).pipe((0,c.takeUntil)(this.disconnecting)).subscribe({next:e=>{z.activeTeleportations.set(this.id,e)}})},complete:()=>{}})}render(){return f.html`<slot></slot>`}};t.t([(0,d.property)({type:Number,reflect:!0})],V.prototype,`uuid`,void 0),t.t([(0,d.property)({type:String})],V.prototype,`id`,void 0),t.t([(0,d.property)({type:Number})],V.prototype,`delay`,void 0),V=t.t([(0,d.customElement)(`schmancy-teleport`)],V),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return b}});