@mhmo91/schmancy 0.10.3 → 0.10.5

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 (458) hide show
  1. package/README.md +20 -19
  2. package/custom-elements.json +17 -233
  3. package/dist/agent/schmancy.agent.js +5709 -9749
  4. package/dist/agent/schmancy.agent.js.map +1 -1
  5. package/dist/agent/schmancy.manifest.json +7 -224
  6. package/dist/{area-ZupIezvU.cjs → area-CSQdhCBF.cjs} +1 -1
  7. package/dist/{area-ZupIezvU.cjs.map → area-CSQdhCBF.cjs.map} +1 -1
  8. package/dist/{area-DHVANBbr.js → area-D5haQE-J.js} +1 -1
  9. package/dist/{area-DHVANBbr.js.map → area-D5haQE-J.js.map} +1 -1
  10. package/dist/area.cjs +1 -1
  11. package/dist/area.js +1 -1
  12. package/dist/{autocomplete-Bn525CTp.cjs → autocomplete-B_bJXUjm.cjs} +1 -1
  13. package/dist/{autocomplete-Bn525CTp.cjs.map → autocomplete-B_bJXUjm.cjs.map} +1 -1
  14. package/dist/{autocomplete-pHvsyfbH.js → autocomplete-DtyjZJ1E.js} +2 -2
  15. package/dist/{autocomplete-pHvsyfbH.js.map → autocomplete-DtyjZJ1E.js.map} +1 -1
  16. package/dist/autocomplete.cjs +1 -1
  17. package/dist/autocomplete.js +1 -1
  18. package/dist/avatar.cjs +1 -1
  19. package/dist/avatar.js +2 -2
  20. package/dist/badge.cjs +1 -1
  21. package/dist/badge.js +1 -1
  22. package/dist/{boat-IyEtsNI4.cjs → boat-BJLCp-Hv.cjs} +1 -1
  23. package/dist/{boat-IyEtsNI4.cjs.map → boat-BJLCp-Hv.cjs.map} +1 -1
  24. package/dist/{boat-_Yv3M6YM.js → boat-MT8bRT8u.js} +2 -2
  25. package/dist/{boat-_Yv3M6YM.js.map → boat-MT8bRT8u.js.map} +1 -1
  26. package/dist/boat.cjs +1 -1
  27. package/dist/boat.js +1 -1
  28. package/dist/breadcrumb.cjs +1 -1
  29. package/dist/breadcrumb.js +1 -1
  30. package/dist/{busy-Ck2IXJ4r.js → busy-6BqWGryX.js} +1 -1
  31. package/dist/{busy-Ck2IXJ4r.js.map → busy-6BqWGryX.js.map} +1 -1
  32. package/dist/{busy-CjM39APN.cjs → busy-DSF2E-zy.cjs} +1 -1
  33. package/dist/{busy-CjM39APN.cjs.map → busy-DSF2E-zy.cjs.map} +1 -1
  34. package/dist/busy.cjs +1 -1
  35. package/dist/busy.js +1 -1
  36. package/dist/button.cjs +1 -1
  37. package/dist/button.js +3 -3
  38. package/dist/{card-DUWZmMHc.js → card-CvuVha-W.js} +1 -1
  39. package/dist/{card-DUWZmMHc.js.map → card-CvuVha-W.js.map} +1 -1
  40. package/dist/{card-DIxDuuth.cjs → card-DnKnaHzf.cjs} +1 -1
  41. package/dist/{card-DIxDuuth.cjs.map → card-DnKnaHzf.cjs.map} +1 -1
  42. package/dist/card.cjs +1 -1
  43. package/dist/card.js +1 -1
  44. package/dist/charts.cjs +1 -1
  45. package/dist/charts.js +1 -1
  46. package/dist/{checkbox-CGdFXuWQ.cjs → checkbox-D3u8Wm9r.cjs} +1 -1
  47. package/dist/{checkbox-CGdFXuWQ.cjs.map → checkbox-D3u8Wm9r.cjs.map} +1 -1
  48. package/dist/{checkbox-DPS1mWG-.js → checkbox-QDRsE8cp.js} +1 -1
  49. package/dist/{checkbox-DPS1mWG-.js.map → checkbox-QDRsE8cp.js.map} +1 -1
  50. package/dist/checkbox.cjs +1 -1
  51. package/dist/checkbox.js +1 -1
  52. package/dist/{chips-UoFbwmlG.cjs → chips-CMoQzop1.cjs} +1 -1
  53. package/dist/{chips-UoFbwmlG.cjs.map → chips-CMoQzop1.cjs.map} +1 -1
  54. package/dist/{chips-BnnXQSA-.js → chips-Dy9vx8JS.js} +4 -4
  55. package/dist/{chips-BnnXQSA-.js.map → chips-Dy9vx8JS.js.map} +1 -1
  56. package/dist/chips.cjs +1 -1
  57. package/dist/chips.js +2 -2
  58. package/dist/{code-highlight-CMilN0B8.cjs → code-highlight-Ddp0oZnm.cjs} +1 -1
  59. package/dist/{code-highlight-CMilN0B8.cjs.map → code-highlight-Ddp0oZnm.cjs.map} +1 -1
  60. package/dist/{code-highlight-kFUJ1Eet.js → code-highlight-DtE2-ObF.js} +1 -1
  61. package/dist/{code-highlight-kFUJ1Eet.js.map → code-highlight-DtE2-ObF.js.map} +1 -1
  62. package/dist/code-highlight.cjs +1 -1
  63. package/dist/code-highlight.js +1 -1
  64. package/dist/connectivity.cjs +1 -1
  65. package/dist/connectivity.js +1 -1
  66. package/dist/content-drawer.cjs +1 -1
  67. package/dist/content-drawer.js +1 -1
  68. package/dist/{context-daN5G6HS.cjs.map → context-BpCETidA.cjs.map} +1 -1
  69. package/dist/{context-Bdu1xt0W.js.map → context-DJTJnSK4.js.map} +1 -1
  70. package/dist/date-range-B2NuihKA.cjs +131 -0
  71. package/dist/date-range-B2NuihKA.cjs.map +1 -0
  72. package/dist/{date-range-DOstCIg8.js → date-range-Boesjlic.js} +99 -113
  73. package/dist/date-range-Boesjlic.js.map +1 -0
  74. package/dist/{date-range-inline-4P7zqeVe.cjs → date-range-inline-BI6_4Ahl.cjs} +1 -1
  75. package/dist/{date-range-inline-4P7zqeVe.cjs.map → date-range-inline-BI6_4Ahl.cjs.map} +1 -1
  76. package/dist/{date-range-inline-BVycTWLb.js → date-range-inline-DBuND2pc.js} +1 -1
  77. package/dist/{date-range-inline-BVycTWLb.js.map → date-range-inline-DBuND2pc.js.map} +1 -1
  78. package/dist/date-range-inline.cjs +1 -1
  79. package/dist/date-range-inline.js +1 -1
  80. package/dist/date-range.cjs +1 -1
  81. package/dist/date-range.js +1 -1
  82. package/dist/delay.cjs +1 -1
  83. package/dist/delay.js +2 -2
  84. package/dist/{details-BJBbZOO6.cjs → details-BRs_z5-k.cjs} +1 -1
  85. package/dist/{details-BJBbZOO6.cjs.map → details-BRs_z5-k.cjs.map} +1 -1
  86. package/dist/{details-DPc5GxPa.js → details-BrGrUTGC.js} +2 -2
  87. package/dist/{details-DPc5GxPa.js.map → details-BrGrUTGC.js.map} +1 -1
  88. package/dist/details.cjs +1 -1
  89. package/dist/details.js +1 -1
  90. package/dist/directives.cjs +1 -1
  91. package/dist/directives.js +2 -2
  92. package/dist/{divider-DPT3XnG5.cjs → divider-BOxQ2T9h.cjs} +1 -1
  93. package/dist/{divider-DPT3XnG5.cjs.map → divider-BOxQ2T9h.cjs.map} +1 -1
  94. package/dist/{divider-BvJsmSPH.js → divider-W3TiDasp.js} +1 -1
  95. package/dist/{divider-BvJsmSPH.js.map → divider-W3TiDasp.js.map} +1 -1
  96. package/dist/divider.cjs +1 -1
  97. package/dist/divider.js +1 -1
  98. package/dist/dropdown.cjs +1 -1
  99. package/dist/dropdown.js +1 -1
  100. package/dist/{expand-CTqBWVXo.cjs → expand-CnccBF91.cjs} +1 -1
  101. package/dist/{expand-CTqBWVXo.cjs.map → expand-CnccBF91.cjs.map} +1 -1
  102. package/dist/{expand-BMzocdtj.js → expand-Pu8fZ0jZ.js} +2 -2
  103. package/dist/{expand-BMzocdtj.js.map → expand-Pu8fZ0jZ.js.map} +1 -1
  104. package/dist/expand.cjs +1 -1
  105. package/dist/expand.js +1 -1
  106. package/dist/{extra-h_cuxRII.cjs → extra-B8IPs6gG.cjs} +1 -1
  107. package/dist/{extra-h_cuxRII.cjs.map → extra-B8IPs6gG.cjs.map} +1 -1
  108. package/dist/{extra-BeHlUhzv.js → extra-DxEWs41z.js} +1 -1
  109. package/dist/{extra-BeHlUhzv.js.map → extra-DxEWs41z.js.map} +1 -1
  110. package/dist/extra.cjs +1 -1
  111. package/dist/extra.js +1 -1
  112. package/dist/{float-CwVBs11k.cjs → float-BRKa-P6Z.cjs} +1 -1
  113. package/dist/{float-CwVBs11k.cjs.map → float-BRKa-P6Z.cjs.map} +1 -1
  114. package/dist/{float-CTc1xxqH.js → float-WCVdp3um.js} +1 -1
  115. package/dist/{float-CTc1xxqH.js.map → float-WCVdp3um.js.map} +1 -1
  116. package/dist/float.cjs +1 -1
  117. package/dist/float.js +1 -1
  118. package/dist/{form-CSJp687X.cjs.map → form-B2qudx_q.cjs.map} +1 -1
  119. package/dist/{form-BtwOBMZ9.js.map → form-CI59gad4.js.map} +1 -1
  120. package/dist/form.cjs +1 -1
  121. package/dist/form.js +1 -1
  122. package/dist/handover/agent-runtime-followups.md +1 -1
  123. package/dist/handover/agent-runtime-v1.md +3 -3
  124. package/dist/{hashContent-1ARKIsx9.js.map → hashContent-a8uVr3xs.js.map} +1 -1
  125. package/dist/{hashContent-Bp5S6T4U.cjs.map → hashContent-ejkBgDnN.cjs.map} +1 -1
  126. package/dist/{icons-BbCVrcas.js → icons-C0ufCcdp.js} +2 -2
  127. package/dist/{icons-BbCVrcas.js.map → icons-C0ufCcdp.js.map} +1 -1
  128. package/dist/{icons-qEQW4pjM.cjs → icons-DXEbmg-O.cjs} +1 -1
  129. package/dist/{icons-qEQW4pjM.cjs.map → icons-DXEbmg-O.cjs.map} +1 -1
  130. package/dist/icons.cjs +1 -1
  131. package/dist/icons.js +1 -1
  132. package/dist/{iframe-D6HTruav.cjs → iframe-C6RVODkW.cjs} +1 -1
  133. package/dist/{iframe-D6HTruav.cjs.map → iframe-C6RVODkW.cjs.map} +1 -1
  134. package/dist/{iframe-BJfDIEJf.js → iframe-c9lGxw7x.js} +1 -1
  135. package/dist/{iframe-BJfDIEJf.js.map → iframe-c9lGxw7x.js.map} +1 -1
  136. package/dist/iframe.cjs +1 -1
  137. package/dist/iframe.js +1 -1
  138. package/dist/index.cjs +1 -1
  139. package/dist/index.js +72 -76
  140. package/dist/{input-U26axtcs.cjs → input-B4HM-9-H.cjs} +1 -1
  141. package/dist/{input-U26axtcs.cjs.map → input-B4HM-9-H.cjs.map} +1 -1
  142. package/dist/{input-LTK3cctF.js → input-Pmj_bH37.js} +1 -1
  143. package/dist/{input-LTK3cctF.js.map → input-Pmj_bH37.js.map} +1 -1
  144. package/dist/{input-chip-Ch-aCs3c.js → input-chip-BIGgd_7w.js} +1 -1
  145. package/dist/{input-chip-Ch-aCs3c.js.map → input-chip-BIGgd_7w.js.map} +1 -1
  146. package/dist/{input-chip-CADXt0X5.cjs → input-chip-BoDisY6c.cjs} +1 -1
  147. package/dist/{input-chip-CADXt0X5.cjs.map → input-chip-BoDisY6c.cjs.map} +1 -1
  148. package/dist/input.cjs +1 -1
  149. package/dist/input.js +1 -1
  150. package/dist/json.cjs +1 -1
  151. package/dist/json.js +2 -2
  152. package/dist/kbd.cjs +1 -1
  153. package/dist/kbd.js +1 -1
  154. package/dist/{layout-C4xmnU4n.js → layout-CXPNsUIo.js} +1 -1
  155. package/dist/{layout-C4xmnU4n.js.map → layout-CXPNsUIo.js.map} +1 -1
  156. package/dist/{layout-Dmh6fxh0.cjs → layout-Zhe7wSZ_.cjs} +1 -1
  157. package/dist/{layout-Dmh6fxh0.cjs.map → layout-Zhe7wSZ_.cjs.map} +1 -1
  158. package/dist/layout.cjs +1 -1
  159. package/dist/layout.js +1 -1
  160. package/dist/{lightbox-DbYUSfVl.cjs → lightbox-DK1vDKm3.cjs} +1 -1
  161. package/dist/{lightbox-DbYUSfVl.cjs.map → lightbox-DK1vDKm3.cjs.map} +1 -1
  162. package/dist/{lightbox-DqG2z3Cn.js → lightbox-K1eJTYXP.js} +2 -2
  163. package/dist/{lightbox-DqG2z3Cn.js.map → lightbox-K1eJTYXP.js.map} +1 -1
  164. package/dist/lightbox.cjs +1 -1
  165. package/dist/lightbox.js +1 -1
  166. package/dist/{list-CLX4sSAw.cjs → list-CEuVqAxN.cjs} +1 -1
  167. package/dist/{list-CLX4sSAw.cjs.map → list-CEuVqAxN.cjs.map} +1 -1
  168. package/dist/{list-D6-_E5ZD.js → list-Ds0Nv1y5.js} +1 -1
  169. package/dist/{list-D6-_E5ZD.js.map → list-Ds0Nv1y5.js.map} +1 -1
  170. package/dist/list.cjs +1 -1
  171. package/dist/list.js +1 -1
  172. package/dist/{magnetic-BH0TsofV.cjs.map → magnetic-BJgB1dVi.cjs.map} +1 -1
  173. package/dist/{magnetic-BZGFxAWG.js.map → magnetic-YwCNvtbB.js.map} +1 -1
  174. package/dist/{mailbox-Ct6iYe-4.cjs → mailbox-CDWqbVvZ.cjs} +58 -58
  175. package/dist/mailbox-CDWqbVvZ.cjs.map +1 -0
  176. package/dist/{mailbox-DsPII8HR.js → mailbox-DD2How0H.js} +112 -101
  177. package/dist/mailbox-DD2How0H.js.map +1 -0
  178. package/dist/mailbox.cjs +1 -1
  179. package/dist/mailbox.js +1 -1
  180. package/dist/{map-Dhy3ta9v.js → map-1uwxxvBa.js} +1 -1
  181. package/dist/{map-Dhy3ta9v.js.map → map-1uwxxvBa.js.map} +1 -1
  182. package/dist/{map-WXeVkx2K.cjs → map-BrBSrIqg.cjs} +1 -1
  183. package/dist/{map-WXeVkx2K.cjs.map → map-BrBSrIqg.cjs.map} +1 -1
  184. package/dist/map.cjs +1 -1
  185. package/dist/map.js +1 -1
  186. package/dist/menu-Bly30Nje.cjs +23 -0
  187. package/dist/menu-Bly30Nje.cjs.map +1 -0
  188. package/dist/menu-L8MK1ma5.js +62 -0
  189. package/dist/menu-L8MK1ma5.js.map +1 -0
  190. package/dist/menu.cjs +1 -1
  191. package/dist/menu.js +1 -1
  192. package/dist/mixins-B34UxxCe.js +627 -0
  193. package/dist/{mixins-CcIWET41.js.map → mixins-B34UxxCe.js.map} +1 -1
  194. package/dist/mixins-CAb0b03r.cjs +298 -0
  195. package/dist/{mixins-De3xfjrm.cjs.map → mixins-CAb0b03r.cjs.map} +1 -1
  196. package/dist/mixins.cjs +1 -1
  197. package/dist/mixins.js +1 -1
  198. package/dist/nav-drawer.cjs +1 -1
  199. package/dist/nav-drawer.js +1 -1
  200. package/dist/navigation-bar.cjs +1 -1
  201. package/dist/navigation-bar.js +1 -1
  202. package/dist/navigation-rail.cjs +1 -1
  203. package/dist/navigation-rail.js +1 -1
  204. package/dist/{notification-D_PQjBSf.cjs → notification-7fSbk8hm.cjs} +1 -1
  205. package/dist/{notification-D_PQjBSf.cjs.map → notification-7fSbk8hm.cjs.map} +1 -1
  206. package/dist/{notification-CVLqQ8c_.js → notification-DB25M-qo.js} +2 -2
  207. package/dist/{notification-CVLqQ8c_.js.map → notification-DB25M-qo.js.map} +1 -1
  208. package/dist/notification.cjs +1 -1
  209. package/dist/notification.js +1 -1
  210. package/dist/{option-rm4HebVs.js → option-DDHa25k5.js} +1 -1
  211. package/dist/{option-rm4HebVs.js.map → option-DDHa25k5.js.map} +1 -1
  212. package/dist/{option-DDU_goh1.cjs → option-HF9Xqbuq.cjs} +1 -1
  213. package/dist/{option-DDU_goh1.cjs.map → option-HF9Xqbuq.cjs.map} +1 -1
  214. package/dist/option.cjs +1 -1
  215. package/dist/option.js +1 -1
  216. package/dist/{overlay-stack-CAQno0CK.js.map → overlay-stack-CCiTaf_C.js.map} +1 -1
  217. package/dist/{overlay-stack-BprhAE9a.cjs.map → overlay-stack-CFGiYf34.cjs.map} +1 -1
  218. package/dist/overlay.cjs +5 -53
  219. package/dist/overlay.cjs.map +1 -1
  220. package/dist/overlay.confirm-body-BDG94R0x.js +104 -0
  221. package/dist/overlay.confirm-body-BDG94R0x.js.map +1 -0
  222. package/dist/overlay.confirm-body-b4Nx_OVf.cjs +49 -0
  223. package/dist/overlay.confirm-body-b4Nx_OVf.cjs.map +1 -0
  224. package/dist/overlay.js +120 -360
  225. package/dist/overlay.js.map +1 -1
  226. package/dist/overlay.service-BUCuZa6V.js +146 -0
  227. package/dist/overlay.service-BUCuZa6V.js.map +1 -0
  228. package/dist/overlay.service-CRHZZY9F.cjs +1 -0
  229. package/dist/overlay.service-CRHZZY9F.cjs.map +1 -0
  230. package/dist/page.cjs +1 -1
  231. package/dist/page.js +4 -4
  232. package/dist/{payment-card-form-C0dHYZIv.js → payment-card-form-C4jb-OdM.js} +1 -1
  233. package/dist/{payment-card-form-C0dHYZIv.js.map → payment-card-form-C4jb-OdM.js.map} +1 -1
  234. package/dist/{payment-card-form-DNvmZxs4.cjs → payment-card-form-WEx4CscR.cjs} +1 -1
  235. package/dist/{payment-card-form-DNvmZxs4.cjs.map → payment-card-form-WEx4CscR.cjs.map} +1 -1
  236. package/dist/payment-card-form.cjs +1 -1
  237. package/dist/payment-card-form.js +1 -1
  238. package/dist/{progress-U3LQkpM2.cjs → progress-54R4QRgW.cjs} +1 -1
  239. package/dist/{progress-U3LQkpM2.cjs.map → progress-54R4QRgW.cjs.map} +1 -1
  240. package/dist/{progress-BRerM5Bn.js → progress-CqOyMM4i.js} +1 -1
  241. package/dist/{progress-BRerM5Bn.js.map → progress-CqOyMM4i.js.map} +1 -1
  242. package/dist/progress.cjs +1 -1
  243. package/dist/progress.js +1 -1
  244. package/dist/qr-scanner.cjs +1 -1
  245. package/dist/qr-scanner.js +1 -1
  246. package/dist/{radio-group-BZ2WoOXJ.js → radio-group-B4zbBIZF.js} +1 -1
  247. package/dist/{radio-group-BZ2WoOXJ.js.map → radio-group-B4zbBIZF.js.map} +1 -1
  248. package/dist/{radio-group-D7mm-yvJ.cjs → radio-group-BJqZpYVy.cjs} +1 -1
  249. package/dist/{radio-group-D7mm-yvJ.cjs.map → radio-group-BJqZpYVy.cjs.map} +1 -1
  250. package/dist/radio-group.cjs +1 -1
  251. package/dist/radio-group.js +1 -1
  252. package/dist/range.cjs +1 -1
  253. package/dist/range.js +1 -1
  254. package/dist/{rxjs-utils-d-ivVN84.js.map → rxjs-utils-BXpvHN4-.js.map} +1 -1
  255. package/dist/{rxjs-utils-Csnks202.cjs.map → rxjs-utils-CaC-tdot.cjs.map} +1 -1
  256. package/dist/rxjs-utils.cjs +1 -1
  257. package/dist/rxjs-utils.js +1 -1
  258. package/dist/{scroll-qL-HkMdP.js → scroll-CYm6Krus.js} +1 -1
  259. package/dist/{scroll-qL-HkMdP.js.map → scroll-CYm6Krus.js.map} +1 -1
  260. package/dist/{scroll-DJTjNIT_.cjs → scroll-iSRovYYt.cjs} +1 -1
  261. package/dist/{scroll-DJTjNIT_.cjs.map → scroll-iSRovYYt.cjs.map} +1 -1
  262. package/dist/{select-CnPXUeSf.js → select-1WHseXP6.js} +2 -2
  263. package/dist/{select-CnPXUeSf.js.map → select-1WHseXP6.js.map} +1 -1
  264. package/dist/{select-BvA7v-gL.cjs → select-DiQHtQJN.cjs} +1 -1
  265. package/dist/{select-BvA7v-gL.cjs.map → select-DiQHtQJN.cjs.map} +1 -1
  266. package/dist/select.cjs +1 -1
  267. package/dist/select.js +1 -1
  268. package/dist/skeleton.cjs +1 -1
  269. package/dist/skeleton.js +1 -1
  270. package/dist/skills/INDEX.md +2 -2
  271. package/dist/skills/SKILL.md +13 -9
  272. package/dist/skills/schmancy/INDEX.md +2 -2
  273. package/dist/skills/schmancy/SKILL.md +13 -9
  274. package/dist/slider.cjs +1 -1
  275. package/dist/slider.js +1 -1
  276. package/dist/{splash-screen-C8JCqX5L.js → splash-screen-BwvtKMdN.js} +1 -1
  277. package/dist/{splash-screen-C8JCqX5L.js.map → splash-screen-BwvtKMdN.js.map} +1 -1
  278. package/dist/{splash-screen-BDt4PInk.cjs → splash-screen-CJL8DGDe.cjs} +1 -1
  279. package/dist/{splash-screen-BDt4PInk.cjs.map → splash-screen-CJL8DGDe.cjs.map} +1 -1
  280. package/dist/splash-screen.cjs +1 -1
  281. package/dist/splash-screen.js +1 -1
  282. package/dist/{src-CpRNClhg.cjs → src-Bwr2NR0A.cjs} +13 -13
  283. package/dist/src-Bwr2NR0A.cjs.map +1 -0
  284. package/dist/{src-CqdnWGgr.js → src-UaZeROcW.js} +164 -162
  285. package/dist/src-UaZeROcW.js.map +1 -0
  286. package/dist/steps.cjs +1 -1
  287. package/dist/steps.js +1 -1
  288. package/dist/{surface-Du2Y4vXd.cjs → surface-DE5iuI8e.cjs} +1 -1
  289. package/dist/{surface-Du2Y4vXd.cjs.map → surface-DE5iuI8e.cjs.map} +1 -1
  290. package/dist/{surface-C8jQy8Ym.js → surface-DPUkQ3OL.js} +1 -1
  291. package/dist/{surface-C8jQy8Ym.js.map → surface-DPUkQ3OL.js.map} +1 -1
  292. package/dist/surface.cjs +1 -1
  293. package/dist/surface.js +1 -1
  294. package/dist/switch.cjs +1 -1
  295. package/dist/switch.js +1 -1
  296. package/dist/table.cjs +1 -1
  297. package/dist/table.js +1 -1
  298. package/dist/{tabs-Cyahh9Q6.js → tabs-B2XEQPQl.js} +1 -1
  299. package/dist/{tabs-Cyahh9Q6.js.map → tabs-B2XEQPQl.js.map} +1 -1
  300. package/dist/{tabs-0RfeCa00.cjs → tabs-CsDQ72Qk.cjs} +1 -1
  301. package/dist/{tabs-0RfeCa00.cjs.map → tabs-CsDQ72Qk.cjs.map} +1 -1
  302. package/dist/tabs.cjs +1 -1
  303. package/dist/tabs.js +1 -1
  304. package/dist/teleport.cjs +1 -1
  305. package/dist/teleport.js +1 -1
  306. package/dist/{textarea-CXCcTVnf.js → textarea-C_ps0lL-.js} +1 -1
  307. package/dist/{textarea-CXCcTVnf.js.map → textarea-C_ps0lL-.js.map} +1 -1
  308. package/dist/{textarea-jqRrLxmo.cjs → textarea-aeAP9cDG.cjs} +1 -1
  309. package/dist/{textarea-jqRrLxmo.cjs.map → textarea-aeAP9cDG.cjs.map} +1 -1
  310. package/dist/textarea.cjs +1 -1
  311. package/dist/textarea.js +1 -1
  312. package/dist/theme-DAYTVw13.cjs +181 -0
  313. package/dist/{theme-Hjz9sCN-.cjs.map → theme-DAYTVw13.cjs.map} +1 -1
  314. package/dist/{theme-2KZW2Rfs.js → theme-DAx1iRNr.js} +3 -4
  315. package/dist/{theme-2KZW2Rfs.js.map → theme-DAx1iRNr.js.map} +1 -1
  316. package/dist/{theme-button-9uF1eoHz.js → theme-button-BrHkzCtj.js} +1 -1
  317. package/dist/{theme-button-9uF1eoHz.js.map → theme-button-BrHkzCtj.js.map} +1 -1
  318. package/dist/{theme-button-C7QIbke1.cjs → theme-button-LsMKY_N_.cjs} +1 -1
  319. package/dist/{theme-button-C7QIbke1.cjs.map → theme-button-LsMKY_N_.cjs.map} +1 -1
  320. package/dist/theme-button.cjs +1 -1
  321. package/dist/theme-button.js +1 -1
  322. package/dist/theme.cjs +1 -1
  323. package/dist/{theme.interface-DnVNre4O.js.map → theme.interface-C_034TxG.js.map} +1 -1
  324. package/dist/{theme.interface-D9l33b-M.cjs.map → theme.interface-DESopuZS.cjs.map} +1 -1
  325. package/dist/theme.js +5 -6
  326. package/dist/theme.service-Cfk88qHK.cjs +1 -0
  327. package/dist/theme.service-Cfk88qHK.cjs.map +1 -0
  328. package/dist/{theme.service-CmbOGMA8.js → theme.service-DIUo1mBP.js} +13 -14
  329. package/dist/theme.service-DIUo1mBP.js.map +1 -0
  330. package/dist/timeline.cjs +1 -1
  331. package/dist/timeline.js +1 -1
  332. package/dist/tree.cjs +1 -1
  333. package/dist/tree.js +1 -1
  334. package/dist/typography.cjs +1 -1
  335. package/dist/typography.js +1 -1
  336. package/dist/{utils-hp-DnFf5.js → utils-BzFQfaIr.js} +1 -1
  337. package/dist/{utils-hp-DnFf5.js.map → utils-BzFQfaIr.js.map} +1 -1
  338. package/dist/{utils-Cr-YO4Np.cjs → utils-oLBkMvor.cjs} +1 -1
  339. package/dist/{utils-Cr-YO4Np.cjs.map → utils-oLBkMvor.cjs.map} +1 -1
  340. package/dist/utils.cjs +1 -1
  341. package/dist/utils.js +2 -2
  342. package/dist/visually-hidden.cjs +1 -1
  343. package/dist/visually-hidden.js +1 -1
  344. package/dist/{window-DtUOWiAj.cjs → window-BJrKS6Zr.cjs} +1 -1
  345. package/dist/{window-DtUOWiAj.cjs.map → window-BJrKS6Zr.cjs.map} +1 -1
  346. package/dist/{window-C7yY9yp5.js → window-CyDuTN80.js} +3 -3
  347. package/dist/{window-C7yY9yp5.js.map → window-CyDuTN80.js.map} +1 -1
  348. package/dist/window.cjs +1 -1
  349. package/dist/window.js +1 -1
  350. package/package.json +1 -1
  351. package/plugins/vite-plugin-schmancy-manifest.ts +0 -13
  352. package/skills/schmancy/INDEX.md +2 -2
  353. package/skills/schmancy/SKILL.md +13 -9
  354. package/src/agent/agent-entry.test.ts +15 -0
  355. package/src/agent/agent-entry.ts +11 -16
  356. package/src/content-drawer/drawer.ts +24 -7
  357. package/src/content-drawer/events.ts +6 -0
  358. package/src/content-drawer/sheet.ts +13 -12
  359. package/src/date-range/date-range-dialog.ts +4 -4
  360. package/src/date-range/date-range.ts +35 -53
  361. package/src/index.ts +0 -2
  362. package/src/mailbox/email-editor.ts +17 -18
  363. package/src/mailbox/email-template-picker.ts +19 -13
  364. package/src/menu/menu-item.ts +7 -2
  365. package/src/menu/menu.ts +24 -20
  366. package/types/src/agent/agent-entry.d.ts +2 -3
  367. package/types/src/content-drawer/drawer.d.ts +2 -0
  368. package/types/src/content-drawer/events.d.ts +6 -0
  369. package/types/src/content-drawer/sheet.d.ts +6 -5
  370. package/types/src/date-range/date-range.d.ts +1 -5
  371. package/types/src/index.d.ts +0 -2
  372. package/types/src/mailbox/email-template-picker.d.ts +7 -7
  373. package/types/src/menu/menu-item.d.ts +1 -0
  374. package/types/src/menu/menu.d.ts +9 -7
  375. package/dist/date-range-BIyrzTRZ.cjs +0 -131
  376. package/dist/date-range-BIyrzTRZ.cjs.map +0 -1
  377. package/dist/date-range-DOstCIg8.js.map +0 -1
  378. package/dist/dialog-service-DI9PPy4H.js +0 -193
  379. package/dist/dialog-service-DI9PPy4H.js.map +0 -1
  380. package/dist/dialog-service-DJd5L0f5.cjs +0 -1
  381. package/dist/dialog-service-DJd5L0f5.cjs.map +0 -1
  382. package/dist/dialog.cjs +0 -89
  383. package/dist/dialog.cjs.map +0 -1
  384. package/dist/dialog.js +0 -419
  385. package/dist/dialog.js.map +0 -1
  386. package/dist/mailbox-Ct6iYe-4.cjs.map +0 -1
  387. package/dist/mailbox-DsPII8HR.js.map +0 -1
  388. package/dist/menu-Bhd3EapX.js +0 -56
  389. package/dist/menu-Bhd3EapX.js.map +0 -1
  390. package/dist/menu-Cg2aaDjs.cjs +0 -23
  391. package/dist/menu-Cg2aaDjs.cjs.map +0 -1
  392. package/dist/mixins-CcIWET41.js +0 -627
  393. package/dist/mixins-De3xfjrm.cjs +0 -298
  394. package/dist/sheet-BRL07BB4.js +0 -170
  395. package/dist/sheet-BRL07BB4.js.map +0 -1
  396. package/dist/sheet-BYQJAHQn.cjs +0 -35
  397. package/dist/sheet-BYQJAHQn.cjs.map +0 -1
  398. package/dist/sheet.cjs +0 -1
  399. package/dist/sheet.js +0 -3
  400. package/dist/sheet.service-B25bsrYG.cjs +0 -1
  401. package/dist/sheet.service-B25bsrYG.cjs.map +0 -1
  402. package/dist/sheet.service-SPQ8oLCi.js +0 -86
  403. package/dist/sheet.service-SPQ8oLCi.js.map +0 -1
  404. package/dist/skills/dialog.md +0 -69
  405. package/dist/skills/schmancy/dialog.md +0 -69
  406. package/dist/skills/schmancy/sheet.md +0 -76
  407. package/dist/skills/sheet.md +0 -76
  408. package/dist/src-CpRNClhg.cjs.map +0 -1
  409. package/dist/src-CqdnWGgr.js.map +0 -1
  410. package/dist/theme-Hjz9sCN-.cjs +0 -181
  411. package/dist/theme.events-Cv7N4Toe.js +0 -2
  412. package/dist/theme.events-Cv7N4Toe.js.map +0 -1
  413. package/dist/theme.events-DM4H5F2d.cjs +0 -1
  414. package/dist/theme.events-DM4H5F2d.cjs.map +0 -1
  415. package/dist/theme.service-BrUbGoeQ.cjs +0 -1
  416. package/dist/theme.service-BrUbGoeQ.cjs.map +0 -1
  417. package/dist/theme.service-CmbOGMA8.js.map +0 -1
  418. package/skills/schmancy/dialog.md +0 -69
  419. package/skills/schmancy/sheet.md +0 -76
  420. package/src/agent/agent-bundle.test.ts +0 -92
  421. package/src/agent/helpers.ts +0 -159
  422. package/src/agent/schmancy-skill.ts +0 -71
  423. package/src/agent/virtual-manifest.d.ts +0 -10
  424. package/src/dialog/dialog-base.mixin.ts +0 -576
  425. package/src/dialog/dialog-events.ts +0 -17
  426. package/src/dialog/dialog-service.ts +0 -494
  427. package/src/dialog/dialog.component.ts +0 -414
  428. package/src/dialog/index.ts +0 -3
  429. package/src/sheet/hook.ts +0 -40
  430. package/src/sheet/index.ts +0 -2
  431. package/src/sheet/sheet.service.ts +0 -245
  432. package/src/sheet/sheet.ts +0 -238
  433. package/types/src/agent/helpers.d.ts +0 -86
  434. package/types/src/agent/schmancy-skill.d.ts +0 -32
  435. package/types/src/dialog/dialog-base.mixin.d.ts +0 -30
  436. package/types/src/dialog/dialog-events.d.ts +0 -13
  437. package/types/src/dialog/dialog-service.d.ts +0 -91
  438. package/types/src/dialog/dialog.component.d.ts +0 -150
  439. package/types/src/dialog/index.d.ts +0 -3
  440. package/types/src/sheet/hook.d.ts +0 -5
  441. package/types/src/sheet/index.d.ts +0 -2
  442. package/types/src/sheet/sheet.d.ts +0 -29
  443. package/types/src/sheet/sheet.service.d.ts +0 -65
  444. /package/dist/{context-daN5G6HS.cjs → context-BpCETidA.cjs} +0 -0
  445. /package/dist/{context-Bdu1xt0W.js → context-DJTJnSK4.js} +0 -0
  446. /package/dist/{form-CSJp687X.cjs → form-B2qudx_q.cjs} +0 -0
  447. /package/dist/{form-BtwOBMZ9.js → form-CI59gad4.js} +0 -0
  448. /package/dist/{hashContent-1ARKIsx9.js → hashContent-a8uVr3xs.js} +0 -0
  449. /package/dist/{hashContent-Bp5S6T4U.cjs → hashContent-ejkBgDnN.cjs} +0 -0
  450. /package/dist/{magnetic-BH0TsofV.cjs → magnetic-BJgB1dVi.cjs} +0 -0
  451. /package/dist/{magnetic-BZGFxAWG.js → magnetic-YwCNvtbB.js} +0 -0
  452. /package/dist/{overlay-stack-CAQno0CK.js → overlay-stack-CCiTaf_C.js} +0 -0
  453. /package/dist/{overlay-stack-BprhAE9a.cjs → overlay-stack-CFGiYf34.cjs} +0 -0
  454. /package/dist/{rxjs-utils-d-ivVN84.js → rxjs-utils-BXpvHN4-.js} +0 -0
  455. /package/dist/{rxjs-utils-Csnks202.cjs → rxjs-utils-CaC-tdot.cjs} +0 -0
  456. /package/dist/{theme.interface-DnVNre4O.js → theme.interface-C_034TxG.js} +0 -0
  457. /package/dist/{theme.interface-D9l33b-M.cjs → theme.interface-DESopuZS.cjs} +0 -0
  458. /package/types/src/agent/{agent-bundle.test.d.ts → agent-entry.test.d.ts} +0 -0
@@ -1,19 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "readme": "# Schmancy\n\nA Web Component UI library built on Lit, RxJS, and Tailwind CSS. Surfaces are glass. Depth is light. Interactions are physics.\n\n## Agent runtime\n\nFor sandboxed-iframe agents (Claude Design, Claude Artifacts, any LLM that can\nonly write HTML), schmancy ships a single-URL runtime at `@mhmo91/schmancy/agent`.\nDrop one `<script type=\"module\">` tag and every `<schmancy-*>` element is\nregistered. No bundler, no bare specifiers, no npm install.\n\n```html\n<script type=\"module\">\n import { theme, state, area } from 'https://esm.sh/@mhmo91/schmancy/agent';\n</script>\n<schmancy-theme root scheme=\"dark\">\n <schmancy-surface type=\"solid\" fill=\"all\">\n <schmancy-button>Hi</schmancy-button>\n <schmancy-skill></schmancy-skill>\n </schmancy-surface>\n</schmancy-theme>\n```\n\nThe `<schmancy-skill>` tag installs `window.schmancy` for runtime discovery:\n\n- `window.schmancy.help()` full manifest (CEM v1 shape).\n- `window.schmancy.help('schmancy-button')` — one tag's attributes, events, slots, CSS parts.\n- `window.schmancy.tokens()` — build-time-extracted list of `--schmancy-*` theme tokens.\n- `window.schmancy.registeredTags()` every `<schmancy-*>` tag the bundle registered, sorted.\n- `window.schmancy.manifestUrl` — Blob URL; `fetch()` it for the same data.\n- `window.schmancy.a11yAudit()`walks the live DOM and reports ARIA / shadow-root / form-association status per instance.\n- `window.schmancy.platformPrimitive('schmancy-dialog')` — map to the native element a component wraps (present when the component's JSDoc has `@platform`).\n- `window.schmancy.capabilities()` runtime feature probe (`popover`, `declarativeShadowDom`, `scopedRegistries`, `trustedTypes`, `cssRegisteredProperties`, `elementInternalsAria`, `formAssociated`, `adoptedStyleSheets`). Agents use this to adapt to the sandbox they're in rather than the one they expect.\n\nEvery enum-typed attribute carries a `values` array e.g. `schmancy-button`'s `variant` ships `[\"elevated\", \"filled\", \"filled tonal\", \"tonal\", \"outlined\", \"text\"]` so agents never have to parse `\"'filled' | 'tonal' | ...\"` strings.\n\nThe manifest is also emitted as a sibling file at `@mhmo91/schmancy/agent/manifest`\nfor tooling that prefers reading JSON from disk.\n\n## Install\n\n```bash\nnpm install @mhmo91/schmancy\n```\n\n```typescript\nimport '@mhmo91/schmancy'\nimport { magnetic, cursorGlow, gravity } from '@mhmo91/schmancy/directives'\n```\n\n## Use with Claude Code\n\nSchmancy ships a Claude Code plugin. In any Claude Code session, run:\n\n```\n/plugin install https://github.com/samwaai/schmancy\n```\n\nClaude now knows every Schmancy component, foundation pattern, and convention in your project. The skill activates automatically when you work on schmancy code — no CLAUDE.md edits, no symlinks.\n\n## Quick Start\n\n```html\n<schmancy-theme root scheme=\"dark\">\n <schmancy-surface type=\"solid\" fill=\"all\">\n <schmancy-area name=\"root\" .default=${lazy(() => import('./home.page'))}>\n <schmancy-route when=\"home-page\" .component=${lazy(() => import('./home.page'))} />\n </schmancy-area>\n </schmancy-surface>\n</schmancy-theme>\n```\n\n## Design: Luminous Glass\n\n| Surface | Opacity | Blur | Purpose |\n|---------|---------|------|---------|\n| `solid` | 92% | — | Dense glass, high readability |\n| `subtle` | 78% | 8px | Frosted panel (default) |\n| `glass` | 55% | 16px | Overlays, dialogs, dropdowns |\n| `luminous` | 42% | 20px | Hero panels with glow halo |\n\n## Docs\n\nSchmancy is organized in four layers:\n\n- **Foundations** — [Area](./skills/schmancy/area.md) · [State](./skills/schmancy/state.md) · [Mixins (SchmancyElement)](./skills/schmancy/mixins.md) · [Theme](./skills/schmancy/theme.md) · [Directives](./skills/schmancy/directives.md)\n- **Atoms** — [Typography](./skills/schmancy/typography.md) · [Icons](./skills/schmancy/icons.md) · [Button](./skills/schmancy/button.md) · [Surface](./skills/schmancy/surface.md) · [Divider](./skills/schmancy/divider.md) · [Avatar](./skills/schmancy/avatar.md)\n- **Composites (by job)** — Forms, Navigation, Overlays, Interaction, Feedback, Display\n- **Utilities** — [Animation](./skills/schmancy/animation.md) · [Audio](./skills/schmancy/audio.md) · [Discovery](./skills/schmancy/discovery.md) · [RxJS Utils](./skills/schmancy/rxjs-utils.md) · [Utils](./skills/schmancy/utils.md)\n\n**Full component index:** [skills/schmancy/INDEX.md](./skills/schmancy/INDEX.md) — the single-file map with every tag, service, and convention. Written primarily for AI agents; humans welcome.\n\n## Tech Stack\n\n[Lit](https://lit.dev) · [RxJS](https://rxjs.dev) · [Tailwind CSS v4](https://tailwindcss.com) · [Blackbird](./src/utils/animation.ts)\n\n## License\n\nApache-2.0\n",
3
+ "readme": "# Schmancy\n\nA Web Component UI library built on Lit, RxJS, and Tailwind CSS. Surfaces are glass. Depth is light. Interactions are physics.\n\n## Agent runtime\n\nFor sandboxed-iframe agents (Claude Design, Claude Artifacts, any LLM that can\nonly write HTML), schmancy ships a single-URL runtime at `@mhmo91/schmancy/agent`.\nDrop one `<script type=\"module\">` tag and every `<schmancy-*>` element is\nregistered. No bundler, no bare specifiers, no npm install.\n\n```html\n<script type=\"module\">\n import 'https://esm.sh/@mhmo91/schmancy/agent';\n</script>\n<schmancy-theme root scheme=\"dark\">\n <schmancy-surface type=\"solid\" fill=\"all\">\n <schmancy-button>Hi</schmancy-button>\n </schmancy-surface>\n</schmancy-theme>\n```\n\nThe same entry re-exports the full library surface for in-page script\ncode (`theme`, `area`, `state`, `show`, `lazy`, every directive, every\nservice, `SchmancyElement`). Import from the same URL.\n\nFor introspectionevery tag's attributes, events, slots, CSS parts,\nplus the enum `values` array on every typed attribute (so agents don't\nhave to parse `\"'filled' | 'tonal' | ...\"` strings) read the static\nmanifest at `@mhmo91/schmancy/agent/manifest`. It's a JSON file, shape\nfollows Custom Elements Manifest v1.\n\n## Install\n\n```bash\nnpm install @mhmo91/schmancy\n```\n\n```typescript\nimport '@mhmo91/schmancy'\nimport { magnetic, cursorGlow, gravity } from '@mhmo91/schmancy/directives'\n```\n\n## Use with Claude Code\n\nSchmancy ships a Claude Code plugin (manifest at `.claude-plugin/plugin.json`,\nskill source under `skills/schmancy/`). The npm tarball includes both, so\nafter `npm install @mhmo91/schmancy`, point Claude at the package directory\nwhen launching:\n\n```\nclaude --plugin-dir node_modules/@mhmo91/schmancy\n```\n\nSet a shell alias / `.envrc` so every session in the project picks it up.\nAfter editing plugin files, run `/reload-plugins` inside the session.\n\nClaude now knows every Schmancy component, foundation pattern, and\nconvention; the skill activates automatically when you work on schmancy\ncode — no CLAUDE.md edits, no symlinks.\n\n## Quick Start\n\n```html\n<schmancy-theme root scheme=\"dark\">\n <schmancy-surface type=\"solid\" fill=\"all\">\n <schmancy-area name=\"root\" .default=${lazy(() => import('./home.page'))}>\n <schmancy-route when=\"home-page\" .component=${lazy(() => import('./home.page'))} />\n </schmancy-area>\n </schmancy-surface>\n</schmancy-theme>\n```\n\n## Design: Luminous Glass\n\n| Surface | Opacity | Blur | Purpose |\n|---------|---------|------|---------|\n| `solid` | 92% | — | Dense glass, high readability |\n| `subtle` | 78% | 8px | Frosted panel (default) |\n| `glass` | 55% | 16px | Overlays, dialogs, dropdowns |\n| `luminous` | 42% | 20px | Hero panels with glow halo |\n\n## Docs\n\nSchmancy is organized in four layers:\n\n- **Foundations** — [Area](./skills/schmancy/area.md) · [State](./skills/schmancy/state.md) · [Mixins (SchmancyElement)](./skills/schmancy/mixins.md) · [Theme](./skills/schmancy/theme.md) · [Directives](./skills/schmancy/directives.md)\n- **Atoms** — [Typography](./skills/schmancy/typography.md) · [Icons](./skills/schmancy/icons.md) · [Button](./skills/schmancy/button.md) · [Surface](./skills/schmancy/surface.md) · [Divider](./skills/schmancy/divider.md) · [Avatar](./skills/schmancy/avatar.md)\n- **Composites (by job)** — Forms, Navigation, Overlays, Interaction, Feedback, Display\n- **Utilities** — [Animation](./skills/schmancy/animation.md) · [Audio](./skills/schmancy/audio.md) · [Discovery](./skills/schmancy/discovery.md) · [RxJS Utils](./skills/schmancy/rxjs-utils.md) · [Utils](./skills/schmancy/utils.md)\n\n**Full component index:** [skills/schmancy/INDEX.md](./skills/schmancy/INDEX.md) — the single-file map with every tag, service, and convention. Written primarily for AI agents; humans welcome.\n\n## Tech Stack\n\n[Lit](https://lit.dev) · [RxJS](https://rxjs.dev) · [Tailwind CSS v4](https://tailwindcss.com) · [Blackbird](./src/utils/animation.ts)\n\n## License\n\nApache-2.0\n",
4
4
  "modules": [
5
- {
6
- "kind": "javascript-module",
7
- "path": "agent/schmancy-skill.ts",
8
- "declarations": [
9
- {
10
- "kind": "class",
11
- "name": "SchmancySkill",
12
- "tagName": "schmancy-skill",
13
- "description": "Self-describing runtime helper. Drop `<schmancy-skill></schmancy-skill>` once on a page and `window.schmancy.help('schmancy-button')` returns the machine-readable entry for any tag. Renders nothing."
14
- }
15
- ]
16
- },
17
5
  {
18
6
  "kind": "javascript-module",
19
7
  "path": "area/area.component.ts",
@@ -2212,136 +2200,6 @@
2212
2200
  }
2213
2201
  ]
2214
2202
  },
2215
- {
2216
- "kind": "javascript-module",
2217
- "path": "dialog/dialog-service.ts",
2218
- "declarations": [
2219
- {
2220
- "kind": "variable",
2221
- "name": "$dialog",
2222
- "service": true,
2223
- "description": "Global dialog utility. Imperative modal API — open any element as a dialog, or use the built-in `confirm` / `ask` / `danger` prompts. Returns Promises that resolve when the user picks an action.",
2224
- "summary": "Imperative modal dialogs and built-in confirm/ask/danger prompts.",
2225
- "methods": [
2226
- {
2227
- "signature": "confirm(options: DialogOptions)",
2228
- "summary": "Built-in confirm prompt. Returns Promise<boolean>."
2229
- },
2230
- {
2231
- "signature": "ask(message, event?)",
2232
- "summary": "One-line yes/no prompt anchored to the triggering event."
2233
- },
2234
- {
2235
- "signature": "danger(options)",
2236
- "summary": "Destructive-action confirm styled with the error palette."
2237
- },
2238
- {
2239
- "signature": "component(element, options?)",
2240
- "summary": "Open any element as a modal."
2241
- },
2242
- {
2243
- "signature": "dismiss(id?)",
2244
- "summary": "Dismiss a dialog by id, or the topmost dialog."
2245
- }
2246
- ]
2247
- }
2248
- ]
2249
- },
2250
- {
2251
- "kind": "javascript-module",
2252
- "path": "dialog/dialog.component.ts",
2253
- "declarations": [
2254
- {
2255
- "kind": "class",
2256
- "name": "SchmancyDialog",
2257
- "tagName": "schmancy-dialog",
2258
- "description": "Unified dialog component that handles both content-only and confirm modes.",
2259
- "attributes": [
2260
- {
2261
- "name": "uid",
2262
- "type": {
2263
- "text": "string"
2264
- },
2265
- "description": "Unique identifier for the dialog instance"
2266
- },
2267
- {
2268
- "name": "title",
2269
- "type": {
2270
- "text": "string"
2271
- },
2272
- "default": "undefined",
2273
- "description": "Dialog title (enables confirm mode when set)"
2274
- },
2275
- {
2276
- "name": "subtitle",
2277
- "type": {
2278
- "text": "string"
2279
- },
2280
- "default": "undefined",
2281
- "description": "Dialog subtitle"
2282
- },
2283
- {
2284
- "name": "message",
2285
- "type": {
2286
- "text": "string"
2287
- },
2288
- "default": "undefined",
2289
- "description": "Dialog message"
2290
- },
2291
- {
2292
- "name": "confirm-text",
2293
- "type": {
2294
- "text": "string"
2295
- },
2296
- "default": "undefined",
2297
- "description": "Text for confirm button (enables confirm mode when set with cancelText)"
2298
- },
2299
- {
2300
- "name": "cancel-text",
2301
- "type": {
2302
- "text": "string"
2303
- },
2304
- "default": "undefined",
2305
- "description": "Text for cancel button"
2306
- },
2307
- {
2308
- "name": "variant",
2309
- "type": {
2310
- "text": "\"default\" | \"danger\""
2311
- },
2312
- "values": [
2313
- "default",
2314
- "danger"
2315
- ],
2316
- "default": "'default'",
2317
- "description": "Dialog variant (affects button colors in confirm mode)"
2318
- },
2319
- {
2320
- "name": "hide-actions",
2321
- "type": {
2322
- "text": "boolean"
2323
- },
2324
- "default": "false",
2325
- "description": "Whether to hide action buttons (force content mode)"
2326
- }
2327
- ],
2328
- "slots": [
2329
- {
2330
- "name": "default",
2331
- "description": "Content slot for dialog body (used in content mode)"
2332
- },
2333
- {
2334
- "name": "content",
2335
- "description": "Named slot for custom content in confirm mode"
2336
- }
2337
- ],
2338
- "examples": [
2339
- "Content mode (no buttons):\n\n<schmancy-dialog>\n <my-custom-content></my-custom-content>\n</schmancy-dialog>",
2340
- "Confirm mode (with buttons):\n\n<schmancy-dialog\n title=\"Confirm Action\"\n message=\"Are you sure?\"\n confirm-text=\"Yes\"\n cancel-text=\"No\"\n></schmancy-dialog>"
2341
- ]
2342
- }
2343
- ]
2344
- },
2345
2203
  {
2346
2204
  "kind": "javascript-module",
2347
2205
  "path": "divider/divider.ts",
@@ -3476,7 +3334,7 @@
3476
3334
  "kind": "class",
3477
3335
  "name": "SchmancyEmailTemplatePicker",
3478
3336
  "tagName": "schmancy-email-template-picker",
3479
- "description": "Email template picker content component (for use inside sheets) Features: - Grid layout for template preview - Search/filter templates - Category filtering - Inline preview with direct selection - Single-click template selection",
3337
+ "description": "Email template picker content component (designed to be opened via `show()`). Features: - Grid layout for template preview - Search/filter templates - Category filtering - Inline preview with direct selection - Single-click template selection",
3480
3338
  "attributes": [
3481
3339
  {
3482
3340
  "name": "templates",
@@ -3488,7 +3346,7 @@
3488
3346
  }
3489
3347
  ],
3490
3348
  "examples": [
3491
- "// Open as sheet\nconst picker = new SchmancyEmailTemplatePicker()\npicker.templates = templates\npicker.addEventListener('template-selected', handleSelection)\nsheet.open({ component: picker, title: 'Choose Template' })"
3349
+ "import { show } from '@mhmo91/schmancy/overlay'\n\nshow<EmailTemplate>(SchmancyEmailTemplatePicker, { props: { templates } })\n .pipe(takeUntil(this.disconnecting))\n .subscribe(template => { if (template) this.applyTemplate(template) })"
3492
3350
  ]
3493
3351
  }
3494
3352
  ]
@@ -3778,7 +3636,7 @@
3778
3636
  "kind": "class",
3779
3637
  "name": "SchmancyMenu",
3780
3638
  "tagName": "schmancy-menu",
3781
- "description": "Menu Component CRITICAL: The dialog ONLY renders the raw menu items passed via the default slot. NO <ul> wrapper, NO classes, NO additional markup in the dialog call. The dialog service handles positioning and display - we just pass the pure content.",
3639
+ "description": "Menu Component The overlay renders ONLY the raw menu items passed via the default slot. NO <ul> wrapper, NO classes, NO additional markup. The overlay system handles positioning (anchored at the trigger click) and dismissal.",
3782
3640
  "slots": [
3783
3641
  {
3784
3642
  "name": "trigger",
@@ -3790,12 +3648,12 @@
3790
3648
  },
3791
3649
  {
3792
3650
  "name": "default",
3793
- "description": "Menu items or any custom component to display in dialog"
3651
+ "description": "Menu items or any custom component to display in the overlay"
3794
3652
  }
3795
3653
  ],
3796
3654
  "examples": [
3797
- "Basic menu with auto-dismiss\n\n<schmancy-menu>\n <schmancy-button slot=\"trigger\">Actions</schmancy-button>\n <schmancy-menu-item @click=${() => editItem()}>Edit</schmancy-menu-item>\n <schmancy-menu-item @click=${() => deleteItem()}>Delete</schmancy-menu-item>\n</schmancy-menu>\n\nNote: Dialog auto-dismisses when schmancy-menu-item is clicked",
3798
- "Custom component (manual dismiss)\n\n<schmancy-menu>\n <schmancy-icon-button slot=\"trigger\">settings</schmancy-icon-button>\n <my-settings-form @submit=${() => $dialog.dismiss()}></my-settings-form>\n</schmancy-menu>\n\nNote: Custom components must call $dialog.dismiss() manually"
3655
+ "Basic menu with auto-dismiss\n\n<schmancy-menu>\n <schmancy-button slot=\"trigger\">Actions</schmancy-button>\n <schmancy-menu-item @click=${() => editItem()}>Edit</schmancy-menu-item>\n <schmancy-menu-item @click=${() => deleteItem()}>Delete</schmancy-menu-item>\n</schmancy-menu>\n\nNote: `<schmancy-menu-item>` dispatches a bubbling 'close' event on click;\nthe overlay `show()` observable completes and the menu tears down.",
3656
+ "Custom component (manual dismiss)\n\n<schmancy-menu>\n <schmancy-icon-button slot=\"trigger\">settings</schmancy-icon-button>\n <my-settings-form\n @submit=${(e) => e.target.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }))}\n ></my-settings-form>\n</schmancy-menu>"
3799
3657
  ]
3800
3658
  }
3801
3659
  ]
@@ -5029,81 +4887,6 @@
5029
4887
  }
5030
4888
  ]
5031
4889
  },
5032
- {
5033
- "kind": "javascript-module",
5034
- "path": "sheet/sheet.service.ts",
5035
- "declarations": [
5036
- {
5037
- "kind": "variable",
5038
- "name": "sheet",
5039
- "service": true,
5040
- "description": "Bottom / side sheet service. Mounts any element as a sheet with a chosen position (see `SchmancySheetPosition` enum).",
5041
- "summary": "Imperative bottom / side sheet surface.",
5042
- "methods": [
5043
- {
5044
- "signature": "open({ component, position? })",
5045
- "summary": "Mount an element as a sheet."
5046
- },
5047
- {
5048
- "signature": "dismiss(id?)",
5049
- "summary": "Dismiss a sheet by id, or the topmost."
5050
- }
5051
- ]
5052
- }
5053
- ]
5054
- },
5055
- {
5056
- "kind": "javascript-module",
5057
- "path": "sheet/sheet.ts",
5058
- "declarations": [
5059
- {
5060
- "kind": "class",
5061
- "name": "SchmancySheet",
5062
- "tagName": "schmancy-sheet",
5063
- "attributes": [
5064
- {
5065
- "name": "open",
5066
- "type": {
5067
- "text": "boolean"
5068
- },
5069
- "default": "false"
5070
- },
5071
- {
5072
- "name": "position",
5073
- "type": {
5074
- "text": "SchmancySheetPosition"
5075
- },
5076
- "values": [
5077
- "side",
5078
- "bottom"
5079
- ],
5080
- "default": "SchmancySheetPosition.Side"
5081
- },
5082
- {
5083
- "name": "persist",
5084
- "type": {
5085
- "text": "boolean"
5086
- },
5087
- "default": "false"
5088
- },
5089
- {
5090
- "name": "lock",
5091
- "type": {
5092
- "text": "boolean"
5093
- },
5094
- "default": "false"
5095
- },
5096
- {
5097
- "name": "handleHistory",
5098
- "type": {
5099
- "text": "boolean"
5100
- },
5101
- "default": "true"
5102
- }
5103
- ]
5104
- }
5105
- ]
5106
- },
5107
4890
  {
5108
4891
  "kind": "javascript-module",
5109
4892
  "path": "skeleton/skeleton.ts",
@@ -1,4 +1,4 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=require(`./decorate-DpFmy0nm.cjs`);let n=require(`rxjs`),r=require(`lit/decorators.js`),i=require(`lit`);var a=new n.Subject,o=`FINDING_MORTIES`,s=`HERE_RICKY`,c=new WeakMap,l=class e{get areaSubjects(){let e=c.get(this);return e||(e=new Map,c.set(this,e)),e}constructor(){this.prettyURL=!1,this.mode=`HISTORY`,this.request=new n.ReplaySubject(1),this.current=new Map,this.$current=new n.ReplaySubject(1),this.enableHistoryMode=!0,this.findingMortiesEvent=new CustomEvent(o),this.disposed=!1,this.isProcessingPopstate=!1,this.$current.next(this.current),this.$current.subscribe(e=>{this.disposed||e.forEach((e,t)=>{this.getOrCreateAreaSubject(t).next(e)})}),this.initializeFromBrowserState(),typeof window<`u`&&(this.unloadSubscription=(0,n.fromEvent)(window,`unload`).subscribe(()=>{this.dispose()}))}initializeFromBrowserState(){try{let e=history.state;e&&e.schmancyAreas&&(Object.entries(e.schmancyAreas).forEach(([e,t])=>{this.current.set(e,t)}),this.$current.next(this.current))}catch{}}getOrCreateAreaSubject(e){let t=this.areaSubjects.get(e);if(!t||t.closed){t=new n.ReplaySubject(1),this.areaSubjects.set(e,t);let r=this.current.get(e);r&&t.next({...r,state:r.state||{},params:r.params||{},props:r.props||{}})}return t}on(e,t=!1){if(!e)throw Error(`Area name is required`);let r=this.getOrCreateAreaSubject(e).asObservable().pipe((0,n.distinctUntilChanged)((e,t)=>e.component===t.component&&JSON.stringify(e.state)===JSON.stringify(t.state)&&JSON.stringify(e.params)===JSON.stringify(t.params)&&JSON.stringify(e.props)===JSON.stringify(t.props)),(0,n.shareReplay)(1));return t?r.pipe((0,n.skip)(1)):r}all(e=!1){let t=this.$current.asObservable().pipe((0,n.shareReplay)(1));return e?t.pipe((0,n.skip)(1)):t}getState(e){if(!e)throw Error(`Area name is required`);return this.on(e).pipe((0,n.map)(e=>e.state),(0,n.filter)(e=>e!=null),(0,n.distinctUntilChanged)((e,t)=>JSON.stringify(e)===JSON.stringify(t)),(0,n.map)(e=>e),(0,n.catchError)(e=>n.EMPTY))}params(e){if(!e)throw Error(`Area name is required`);let t={...this.current.get(e)?.params??{}};return typeof window<`u`&&window.location.search&&new URLSearchParams(window.location.search).forEach((e,n)=>{t[n]=e}),this.on(e).pipe((0,n.map)(e=>e.params??{}),(0,n.startWith)(t),(0,n.distinctUntilChanged)((e,t)=>JSON.stringify(e)===JSON.stringify(t)),(0,n.catchError)(e=>n.EMPTY))}param(e,t){if(!e||!t)throw Error(`Area name and key are required`);return this.params(e).pipe((0,n.map)(e=>e[t]),(0,n.filter)(e=>e!==void 0),(0,n.distinctUntilChanged)(),(0,n.map)(e=>e),(0,n.catchError)(e=>n.EMPTY))}props(e){if(!e)throw Error(`Area name is required`);return this.on(e).pipe((0,n.map)(e=>e.props),(0,n.filter)(e=>e!=null),(0,n.distinctUntilChanged)((e,t)=>JSON.stringify(e)===JSON.stringify(t)),(0,n.map)(e=>e),(0,n.catchError)(e=>n.EMPTY))}prop(e,t){if(!e||!t)throw Error(`Area name and key are required`);return this.props(e).pipe((0,n.map)(e=>e[t]),(0,n.filter)(e=>e!==void 0),(0,n.distinctUntilChanged)(),(0,n.map)(e=>e),(0,n.catchError)(e=>n.EMPTY))}find(){return(0,n.zip)([(0,n.fromEvent)(window,s).pipe((0,n.map)(e=>e.detail),(0,n.bufferTime)(0)),(0,n.of)(1).pipe((0,n.tap)(()=>window.dispatchEvent(this.findingMortiesEvent)))]).pipe((0,n.map)(([e])=>e),(0,n.timeout)(1),(0,n.catchError)(()=>n.EMPTY))}push(e){if(!e.area)throw Error(`Area is required for route action`);if(this.isProcessingPopstate)return;let t={...e,state:e.state||{},params:e.params||{},props:e.props||{},_source:`programmatic`};this.enableHistoryMode&&a.next(t),this.request.next(t),this.dispatchAreaEvent(t.area,t)}_updateFromBrowser(e){let t={...e,state:e.state||{},params:e.params||{},props:e.props||{},_source:`browser`};this.isProcessingPopstate=!0,this.request.next(t),this.isProcessingPopstate=!1}_updateBrowserHistory(e,t,n,r,i){if(this.enableHistoryMode)try{let a=history.state||{},o=a.schmancyAreas||{},s={component:t.component,area:t.area};t.state&&Object.keys(t.state).length>0&&(s.state=t.state),t.params&&Object.keys(t.params).length>0&&(s.params=t.params),t.props&&Object.keys(t.props).length>0&&(s.props=t.props),o[e]=s;let c={...a,schmancyAreas:o},l=this.createCleanURL(o,r,i);n===`replace`||n===`pop`?history.replaceState(c,``,l):n!==`push`&&n||history.pushState(c,``,l)}catch{}}createCleanURL(e,t,n){let r=`/`;if(n)r=n,r.startsWith(`/`)||(r=`/`+r),r.endsWith(`/`)||(r+=`/`);else{let e=location.pathname,t=e.split(`/`),n=t[t.length-1];n&&(n.includes(`{`)||n.includes(`%7B`))?(t.pop(),r=t.join(`/`)||`/`):r=e,r===`/`||r.endsWith(`/`)||(r+=`/`)}let i=``;if(!0!==t){let n=new URLSearchParams(location.search);Object.values(e).forEach(e=>{e.params&&Object.keys(e.params).length>0&&Object.entries(e.params).forEach(([e,t])=>{t!=null&&n.set(e,String(t))})}),Array.isArray(t)&&t.forEach(e=>n.delete(e)),i=n.toString(),i=i?`?${i}`:``}if(this.prettyURL){let t=e.main;if(t){let e=r===`/`?`/${t.component}`:`${r}${t.component}`,n=new URLSearchParams(i);t.params&&Object.entries(t.params).forEach(([e,t])=>{typeof t!=`string`&&typeof t!=`number`||n.set(e,String(t))});let a=n.toString();return e+(a?`?${a}`:``)}}try{let t={};if(Object.entries(e).forEach(([e,n])=>{let r={component:n.component};n.state&&Object.keys(n.state).length>0&&(r.state=n.state),n.params&&Object.keys(n.params).length>0&&(r.params=n.params),n.props&&Object.keys(n.props).length>0&&(r.props=n.props),t[e]=r}),Object.keys(t).length===0)return`${r===`/`?``:r.replace(/\/$/,``)}${i}`;let n=encodeURIComponent(JSON.stringify(t));return`${r===`/`?``:r.replace(/\/$/,``)}/${n}${i}`}catch{return location.pathname}}restoreFromBrowserState(e){try{if(e&&e.schmancyAreas)return e.schmancyAreas}catch{}return this.parseStateFromURL()}parseStateFromURL(){let e=location.pathname.split(`/`).pop();if(!e)return{};try{let t=JSON.parse(decodeURIComponent(e));if(typeof t==`object`&&t)return t}catch{}return{}}dispatchAreaEvent(e,t){let n=new CustomEvent(`schmancy-area-${e}-changed`,{detail:{area:e,component:t.component,state:t.state,params:t.params,props:t.props,historyStrategy:t.historyStrategy},bubbles:!0,composed:!0});window.dispatchEvent(n)}pop(e){if(!e)throw Error(`Area name is required`);let t=this.areaSubjects.get(e);if(t&&!t.closed&&t.next({component:null,state:{},area:e,params:{},props:{}}),this.request.next({area:e,component:null,state:{},params:{},props:{},historyStrategy:`silent`,_source:`programmatic`}),this.current.delete(e),this.$current.next(this.current),this.enableHistoryMode)try{let t=history.state||{},n={...t.schmancyAreas};delete n[e];let r={...t,schmancyAreas:n},i=this.createCleanURL(n);history.replaceState(r,``,i)}catch{}}clear(){if(this.areaSubjects.forEach(e=>e.complete()),this.areaSubjects.clear(),this.current.clear(),this.$current.next(this.current),this.enableHistoryMode){let e=this.createCleanURL({});history.replaceState({schmancyAreas:{}},``,e)}}dispose(){this.disposed||(this.disposed=!0,this.unloadSubscription&&=(this.unloadSubscription.unsubscribe(),void 0),this.areaSubjects.forEach(e=>e.complete()),this.areaSubjects.clear(),this.request.complete(),this.$current.complete(),a.complete(),this.current.clear(),c.delete(this))}static getInstance(){return e.instance||=new e,e.instance}get state(){try{let e=history.state;if(e&&e.schmancyAreas)return e.schmancyAreas}catch{}return this.parseStateFromURL()}hasArea(e){return this.current.has(e)}getActiveAreas(){return Array.from(this.current.keys())}getRoute(e){return this.current.get(e)}}.getInstance(),u=class extends e.s{constructor(...e){super(...e),this.exact=!1}static{this.styles=[i.css`
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-CAb0b03r.cjs`),t=require(`./decorate-DpFmy0nm.cjs`);let n=require(`rxjs`),r=require(`lit/decorators.js`),i=require(`lit`);var a=new n.Subject,o=`FINDING_MORTIES`,s=`HERE_RICKY`,c=new WeakMap,l=class e{get areaSubjects(){let e=c.get(this);return e||(e=new Map,c.set(this,e)),e}constructor(){this.prettyURL=!1,this.mode=`HISTORY`,this.request=new n.ReplaySubject(1),this.current=new Map,this.$current=new n.ReplaySubject(1),this.enableHistoryMode=!0,this.findingMortiesEvent=new CustomEvent(o),this.disposed=!1,this.isProcessingPopstate=!1,this.$current.next(this.current),this.$current.subscribe(e=>{this.disposed||e.forEach((e,t)=>{this.getOrCreateAreaSubject(t).next(e)})}),this.initializeFromBrowserState(),typeof window<`u`&&(this.unloadSubscription=(0,n.fromEvent)(window,`unload`).subscribe(()=>{this.dispose()}))}initializeFromBrowserState(){try{let e=history.state;e&&e.schmancyAreas&&(Object.entries(e.schmancyAreas).forEach(([e,t])=>{this.current.set(e,t)}),this.$current.next(this.current))}catch{}}getOrCreateAreaSubject(e){let t=this.areaSubjects.get(e);if(!t||t.closed){t=new n.ReplaySubject(1),this.areaSubjects.set(e,t);let r=this.current.get(e);r&&t.next({...r,state:r.state||{},params:r.params||{},props:r.props||{}})}return t}on(e,t=!1){if(!e)throw Error(`Area name is required`);let r=this.getOrCreateAreaSubject(e).asObservable().pipe((0,n.distinctUntilChanged)((e,t)=>e.component===t.component&&JSON.stringify(e.state)===JSON.stringify(t.state)&&JSON.stringify(e.params)===JSON.stringify(t.params)&&JSON.stringify(e.props)===JSON.stringify(t.props)),(0,n.shareReplay)(1));return t?r.pipe((0,n.skip)(1)):r}all(e=!1){let t=this.$current.asObservable().pipe((0,n.shareReplay)(1));return e?t.pipe((0,n.skip)(1)):t}getState(e){if(!e)throw Error(`Area name is required`);return this.on(e).pipe((0,n.map)(e=>e.state),(0,n.filter)(e=>e!=null),(0,n.distinctUntilChanged)((e,t)=>JSON.stringify(e)===JSON.stringify(t)),(0,n.map)(e=>e),(0,n.catchError)(e=>n.EMPTY))}params(e){if(!e)throw Error(`Area name is required`);let t={...this.current.get(e)?.params??{}};return typeof window<`u`&&window.location.search&&new URLSearchParams(window.location.search).forEach((e,n)=>{t[n]=e}),this.on(e).pipe((0,n.map)(e=>e.params??{}),(0,n.startWith)(t),(0,n.distinctUntilChanged)((e,t)=>JSON.stringify(e)===JSON.stringify(t)),(0,n.catchError)(e=>n.EMPTY))}param(e,t){if(!e||!t)throw Error(`Area name and key are required`);return this.params(e).pipe((0,n.map)(e=>e[t]),(0,n.filter)(e=>e!==void 0),(0,n.distinctUntilChanged)(),(0,n.map)(e=>e),(0,n.catchError)(e=>n.EMPTY))}props(e){if(!e)throw Error(`Area name is required`);return this.on(e).pipe((0,n.map)(e=>e.props),(0,n.filter)(e=>e!=null),(0,n.distinctUntilChanged)((e,t)=>JSON.stringify(e)===JSON.stringify(t)),(0,n.map)(e=>e),(0,n.catchError)(e=>n.EMPTY))}prop(e,t){if(!e||!t)throw Error(`Area name and key are required`);return this.props(e).pipe((0,n.map)(e=>e[t]),(0,n.filter)(e=>e!==void 0),(0,n.distinctUntilChanged)(),(0,n.map)(e=>e),(0,n.catchError)(e=>n.EMPTY))}find(){return(0,n.zip)([(0,n.fromEvent)(window,s).pipe((0,n.map)(e=>e.detail),(0,n.bufferTime)(0)),(0,n.of)(1).pipe((0,n.tap)(()=>window.dispatchEvent(this.findingMortiesEvent)))]).pipe((0,n.map)(([e])=>e),(0,n.timeout)(1),(0,n.catchError)(()=>n.EMPTY))}push(e){if(!e.area)throw Error(`Area is required for route action`);if(this.isProcessingPopstate)return;let t={...e,state:e.state||{},params:e.params||{},props:e.props||{},_source:`programmatic`};this.enableHistoryMode&&a.next(t),this.request.next(t),this.dispatchAreaEvent(t.area,t)}_updateFromBrowser(e){let t={...e,state:e.state||{},params:e.params||{},props:e.props||{},_source:`browser`};this.isProcessingPopstate=!0,this.request.next(t),this.isProcessingPopstate=!1}_updateBrowserHistory(e,t,n,r,i){if(this.enableHistoryMode)try{let a=history.state||{},o=a.schmancyAreas||{},s={component:t.component,area:t.area};t.state&&Object.keys(t.state).length>0&&(s.state=t.state),t.params&&Object.keys(t.params).length>0&&(s.params=t.params),t.props&&Object.keys(t.props).length>0&&(s.props=t.props),o[e]=s;let c={...a,schmancyAreas:o},l=this.createCleanURL(o,r,i);n===`replace`||n===`pop`?history.replaceState(c,``,l):n!==`push`&&n||history.pushState(c,``,l)}catch{}}createCleanURL(e,t,n){let r=`/`;if(n)r=n,r.startsWith(`/`)||(r=`/`+r),r.endsWith(`/`)||(r+=`/`);else{let e=location.pathname,t=e.split(`/`),n=t[t.length-1];n&&(n.includes(`{`)||n.includes(`%7B`))?(t.pop(),r=t.join(`/`)||`/`):r=e,r===`/`||r.endsWith(`/`)||(r+=`/`)}let i=``;if(!0!==t){let n=new URLSearchParams(location.search);Object.values(e).forEach(e=>{e.params&&Object.keys(e.params).length>0&&Object.entries(e.params).forEach(([e,t])=>{t!=null&&n.set(e,String(t))})}),Array.isArray(t)&&t.forEach(e=>n.delete(e)),i=n.toString(),i=i?`?${i}`:``}if(this.prettyURL){let t=e.main;if(t){let e=r===`/`?`/${t.component}`:`${r}${t.component}`,n=new URLSearchParams(i);t.params&&Object.entries(t.params).forEach(([e,t])=>{typeof t!=`string`&&typeof t!=`number`||n.set(e,String(t))});let a=n.toString();return e+(a?`?${a}`:``)}}try{let t={};if(Object.entries(e).forEach(([e,n])=>{let r={component:n.component};n.state&&Object.keys(n.state).length>0&&(r.state=n.state),n.params&&Object.keys(n.params).length>0&&(r.params=n.params),n.props&&Object.keys(n.props).length>0&&(r.props=n.props),t[e]=r}),Object.keys(t).length===0)return`${r===`/`?``:r.replace(/\/$/,``)}${i}`;let n=encodeURIComponent(JSON.stringify(t));return`${r===`/`?``:r.replace(/\/$/,``)}/${n}${i}`}catch{return location.pathname}}restoreFromBrowserState(e){try{if(e&&e.schmancyAreas)return e.schmancyAreas}catch{}return this.parseStateFromURL()}parseStateFromURL(){let e=location.pathname.split(`/`).pop();if(!e)return{};try{let t=JSON.parse(decodeURIComponent(e));if(typeof t==`object`&&t)return t}catch{}return{}}dispatchAreaEvent(e,t){let n=new CustomEvent(`schmancy-area-${e}-changed`,{detail:{area:e,component:t.component,state:t.state,params:t.params,props:t.props,historyStrategy:t.historyStrategy},bubbles:!0,composed:!0});window.dispatchEvent(n)}pop(e){if(!e)throw Error(`Area name is required`);let t=this.areaSubjects.get(e);if(t&&!t.closed&&t.next({component:null,state:{},area:e,params:{},props:{}}),this.request.next({area:e,component:null,state:{},params:{},props:{},historyStrategy:`silent`,_source:`programmatic`}),this.current.delete(e),this.$current.next(this.current),this.enableHistoryMode)try{let t=history.state||{},n={...t.schmancyAreas};delete n[e];let r={...t,schmancyAreas:n},i=this.createCleanURL(n);history.replaceState(r,``,i)}catch{}}clear(){if(this.areaSubjects.forEach(e=>e.complete()),this.areaSubjects.clear(),this.current.clear(),this.$current.next(this.current),this.enableHistoryMode){let e=this.createCleanURL({});history.replaceState({schmancyAreas:{}},``,e)}}dispose(){this.disposed||(this.disposed=!0,this.unloadSubscription&&=(this.unloadSubscription.unsubscribe(),void 0),this.areaSubjects.forEach(e=>e.complete()),this.areaSubjects.clear(),this.request.complete(),this.$current.complete(),a.complete(),this.current.clear(),c.delete(this))}static getInstance(){return e.instance||=new e,e.instance}get state(){try{let e=history.state;if(e&&e.schmancyAreas)return e.schmancyAreas}catch{}return this.parseStateFromURL()}hasArea(e){return this.current.has(e)}getActiveAreas(){return Array.from(this.current.keys())}getRoute(e){return this.current.get(e)}}.getInstance(),u=class extends e.s{constructor(...e){super(...e),this.exact=!1}static{this.styles=[i.css`
2
2
  :host {
3
3
  display: none;
4
4
  }