@mhmo91/schmancy 0.10.5 → 0.10.6

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 (383) hide show
  1. package/custom-elements.json +4 -707
  2. package/dist/agent/{flow-CaPi2G8y.js.map → flow-3RrZM-e7.js.map} +1 -1
  3. package/dist/agent/schmancy.agent.js +2807 -4687
  4. package/dist/agent/schmancy.agent.js.map +1 -1
  5. package/dist/agent/schmancy.manifest.json +6 -471
  6. package/dist/agent/{vendor-jsqr-r7GNh4P3.js.map → vendor-jsqr-BUVwyoGC.js.map} +1 -1
  7. package/dist/agent/{vendor-material-color-Be96dpGE.js.map → vendor-material-color-33Mj762T.js.map} +1 -1
  8. package/dist/{area-D5haQE-J.js → area-CIZZ5tbB.js} +1 -1
  9. package/dist/{area-D5haQE-J.js.map → area-CIZZ5tbB.js.map} +1 -1
  10. package/dist/{area-CSQdhCBF.cjs → area-oZjYJlUy.cjs} +1 -1
  11. package/dist/{area-CSQdhCBF.cjs.map → area-oZjYJlUy.cjs.map} +1 -1
  12. package/dist/area.cjs +1 -1
  13. package/dist/area.js +1 -1
  14. package/dist/{autocomplete-DtyjZJ1E.js → autocomplete-C1oDLuol.js} +2 -2
  15. package/dist/{autocomplete-DtyjZJ1E.js.map → autocomplete-C1oDLuol.js.map} +1 -1
  16. package/dist/{autocomplete-B_bJXUjm.cjs → autocomplete-X20i6D62.cjs} +1 -1
  17. package/dist/{autocomplete-B_bJXUjm.cjs.map → autocomplete-X20i6D62.cjs.map} +1 -1
  18. package/dist/autocomplete.cjs +1 -1
  19. package/dist/autocomplete.js +1 -1
  20. package/dist/avatar.cjs +1 -1
  21. package/dist/avatar.js +2 -2
  22. package/dist/badge.cjs +1 -1
  23. package/dist/badge.js +1 -1
  24. package/dist/{boat-BJLCp-Hv.cjs → boat-CUx58Gwe.cjs} +1 -1
  25. package/dist/{boat-BJLCp-Hv.cjs.map → boat-CUx58Gwe.cjs.map} +1 -1
  26. package/dist/{boat-MT8bRT8u.js → boat-CpE0yAlK.js} +1 -1
  27. package/dist/{boat-MT8bRT8u.js.map → boat-CpE0yAlK.js.map} +1 -1
  28. package/dist/boat.cjs +1 -1
  29. package/dist/boat.js +1 -1
  30. package/dist/breadcrumb.cjs +1 -1
  31. package/dist/breadcrumb.js +1 -1
  32. package/dist/{busy-6BqWGryX.js → busy-C9n-DUY4.js} +1 -1
  33. package/dist/{busy-6BqWGryX.js.map → busy-C9n-DUY4.js.map} +1 -1
  34. package/dist/{busy-DSF2E-zy.cjs → busy-D1DKZhgV.cjs} +1 -1
  35. package/dist/{busy-DSF2E-zy.cjs.map → busy-D1DKZhgV.cjs.map} +1 -1
  36. package/dist/busy.cjs +1 -1
  37. package/dist/busy.js +1 -1
  38. package/dist/button.cjs +1 -1
  39. package/dist/button.js +1 -1
  40. package/dist/{card-CvuVha-W.js → card-B3hN-qzk.js} +1 -1
  41. package/dist/{card-CvuVha-W.js.map → card-B3hN-qzk.js.map} +1 -1
  42. package/dist/{card-DnKnaHzf.cjs → card-DZJ7qjf2.cjs} +1 -1
  43. package/dist/{card-DnKnaHzf.cjs.map → card-DZJ7qjf2.cjs.map} +1 -1
  44. package/dist/card.cjs +1 -1
  45. package/dist/card.js +1 -1
  46. package/dist/charts.cjs +1 -1
  47. package/dist/charts.js +1 -1
  48. package/dist/{checkbox-QDRsE8cp.js → checkbox-CvmB1ev9.js} +1 -1
  49. package/dist/{checkbox-QDRsE8cp.js.map → checkbox-CvmB1ev9.js.map} +1 -1
  50. package/dist/{checkbox-D3u8Wm9r.cjs → checkbox-DapdzDow.cjs} +1 -1
  51. package/dist/{checkbox-D3u8Wm9r.cjs.map → checkbox-DapdzDow.cjs.map} +1 -1
  52. package/dist/checkbox.cjs +1 -1
  53. package/dist/checkbox.js +1 -1
  54. package/dist/{chips-CMoQzop1.cjs → chips-7g6mWRuh.cjs} +1 -1
  55. package/dist/{chips-CMoQzop1.cjs.map → chips-7g6mWRuh.cjs.map} +1 -1
  56. package/dist/{chips-Dy9vx8JS.js → chips-C8Y3_3ke.js} +2 -2
  57. package/dist/{chips-Dy9vx8JS.js.map → chips-C8Y3_3ke.js.map} +1 -1
  58. package/dist/chips.cjs +1 -1
  59. package/dist/chips.js +2 -2
  60. package/dist/connectivity.cjs +1 -1
  61. package/dist/connectivity.js +1 -1
  62. package/dist/content-drawer.cjs +1 -1
  63. package/dist/content-drawer.js +1 -1
  64. package/dist/{date-range-Boesjlic.js → date-range-DdcaPX7C.js} +2 -2
  65. package/dist/{date-range-Boesjlic.js.map → date-range-DdcaPX7C.js.map} +1 -1
  66. package/dist/{date-range-B2NuihKA.cjs → date-range-ZfUl4duV.cjs} +1 -1
  67. package/dist/{date-range-B2NuihKA.cjs.map → date-range-ZfUl4duV.cjs.map} +1 -1
  68. package/dist/{date-range-inline-BI6_4Ahl.cjs → date-range-inline-D-d7N6bh.cjs} +1 -1
  69. package/dist/{date-range-inline-BI6_4Ahl.cjs.map → date-range-inline-D-d7N6bh.cjs.map} +1 -1
  70. package/dist/{date-range-inline-DBuND2pc.js → date-range-inline-QQmIWhZ4.js} +1 -1
  71. package/dist/{date-range-inline-DBuND2pc.js.map → date-range-inline-QQmIWhZ4.js.map} +1 -1
  72. package/dist/date-range-inline.cjs +1 -1
  73. package/dist/date-range-inline.js +1 -1
  74. package/dist/date-range.cjs +1 -1
  75. package/dist/date-range.js +1 -1
  76. package/dist/delay.cjs +1 -1
  77. package/dist/delay.js +2 -2
  78. package/dist/{details-BRs_z5-k.cjs → details-3rL6UQU8.cjs} +1 -1
  79. package/dist/{details-BRs_z5-k.cjs.map → details-3rL6UQU8.cjs.map} +1 -1
  80. package/dist/{details-BrGrUTGC.js → details-Dpjh-XnJ.js} +1 -1
  81. package/dist/{details-BrGrUTGC.js.map → details-Dpjh-XnJ.js.map} +1 -1
  82. package/dist/details.cjs +1 -1
  83. package/dist/details.js +1 -1
  84. package/dist/{divider-W3TiDasp.js → divider-BdfEKQsH.js} +1 -1
  85. package/dist/{divider-W3TiDasp.js.map → divider-BdfEKQsH.js.map} +1 -1
  86. package/dist/{divider-BOxQ2T9h.cjs → divider-CutXDz3F.cjs} +1 -1
  87. package/dist/{divider-BOxQ2T9h.cjs.map → divider-CutXDz3F.cjs.map} +1 -1
  88. package/dist/divider.cjs +1 -1
  89. package/dist/divider.js +1 -1
  90. package/dist/dropdown.cjs +1 -1
  91. package/dist/dropdown.js +1 -1
  92. package/dist/{expand-CnccBF91.cjs → expand-DM6zfZf7.cjs} +1 -1
  93. package/dist/{expand-CnccBF91.cjs.map → expand-DM6zfZf7.cjs.map} +1 -1
  94. package/dist/{expand-Pu8fZ0jZ.js → expand-DrgMPJbu.js} +2 -2
  95. package/dist/{expand-Pu8fZ0jZ.js.map → expand-DrgMPJbu.js.map} +1 -1
  96. package/dist/expand.cjs +1 -1
  97. package/dist/expand.js +1 -1
  98. package/dist/{extra-DxEWs41z.js → extra-B6gFu4_1.js} +1 -1
  99. package/dist/{extra-DxEWs41z.js.map → extra-B6gFu4_1.js.map} +1 -1
  100. package/dist/{extra-B8IPs6gG.cjs → extra-DJRYaOXe.cjs} +1 -1
  101. package/dist/{extra-B8IPs6gG.cjs.map → extra-DJRYaOXe.cjs.map} +1 -1
  102. package/dist/extra.cjs +1 -1
  103. package/dist/extra.js +1 -1
  104. package/dist/{float-WCVdp3um.js → float-1iihPek5.js} +1 -1
  105. package/dist/{float-WCVdp3um.js.map → float-1iihPek5.js.map} +1 -1
  106. package/dist/{float-BRKa-P6Z.cjs → float-Ckyk85XG.cjs} +1 -1
  107. package/dist/{float-BRKa-P6Z.cjs.map → float-Ckyk85XG.cjs.map} +1 -1
  108. package/dist/float.cjs +1 -1
  109. package/dist/float.js +1 -1
  110. package/dist/{form-CI59gad4.js.map → form-BF1c3Dk1.js.map} +1 -1
  111. package/dist/{form-B2qudx_q.cjs.map → form-DeO5XX3b.cjs.map} +1 -1
  112. package/dist/form.cjs +1 -1
  113. package/dist/form.js +1 -1
  114. package/dist/handover/agent-runtime-followups.md +1 -1
  115. package/dist/handover/agent-runtime-v1.md +3 -3
  116. package/dist/{hashContent-a8uVr3xs.js.map → hashContent-BU6jl5ih.js.map} +1 -1
  117. package/dist/{hashContent-ejkBgDnN.cjs.map → hashContent-Bobsobip.cjs.map} +1 -1
  118. package/dist/{icons-DXEbmg-O.cjs → icons-CV-fiGcW.cjs} +1 -1
  119. package/dist/{icons-DXEbmg-O.cjs.map → icons-CV-fiGcW.cjs.map} +1 -1
  120. package/dist/{icons-C0ufCcdp.js → icons-DUkcTZAY.js} +1 -1
  121. package/dist/{icons-C0ufCcdp.js.map → icons-DUkcTZAY.js.map} +1 -1
  122. package/dist/icons.cjs +1 -1
  123. package/dist/icons.js +1 -1
  124. package/dist/{iframe-c9lGxw7x.js → iframe-C9tj7F6Y.js} +1 -1
  125. package/dist/{iframe-c9lGxw7x.js.map → iframe-C9tj7F6Y.js.map} +1 -1
  126. package/dist/{iframe-C6RVODkW.cjs → iframe-DF97oGtZ.cjs} +1 -1
  127. package/dist/{iframe-C6RVODkW.cjs.map → iframe-DF97oGtZ.cjs.map} +1 -1
  128. package/dist/iframe.cjs +1 -1
  129. package/dist/iframe.js +1 -1
  130. package/dist/index.cjs +1 -1
  131. package/dist/index.js +70 -72
  132. package/dist/{input-Pmj_bH37.js → input-DE7x223Y.js} +1 -1
  133. package/dist/{input-Pmj_bH37.js.map → input-DE7x223Y.js.map} +1 -1
  134. package/dist/{input-B4HM-9-H.cjs → input-TW9G3n7X.cjs} +1 -1
  135. package/dist/{input-B4HM-9-H.cjs.map → input-TW9G3n7X.cjs.map} +1 -1
  136. package/dist/{input-chip-BIGgd_7w.js → input-chip-BdoaVw_D.js} +1 -1
  137. package/dist/{input-chip-BIGgd_7w.js.map → input-chip-BdoaVw_D.js.map} +1 -1
  138. package/dist/{input-chip-BoDisY6c.cjs → input-chip-Do48eI5r.cjs} +1 -1
  139. package/dist/{input-chip-BoDisY6c.cjs.map → input-chip-Do48eI5r.cjs.map} +1 -1
  140. package/dist/input.cjs +1 -1
  141. package/dist/input.js +1 -1
  142. package/dist/json.cjs +1 -1
  143. package/dist/json.js +2 -2
  144. package/dist/kbd.cjs +1 -1
  145. package/dist/kbd.js +1 -1
  146. package/dist/layout.cjs +1 -1
  147. package/dist/layout.js +1 -1
  148. package/dist/{lightbox-K1eJTYXP.js → lightbox-DcutIyjx.js} +2 -2
  149. package/dist/{lightbox-K1eJTYXP.js.map → lightbox-DcutIyjx.js.map} +1 -1
  150. package/dist/{lightbox-DK1vDKm3.cjs → lightbox-sPfnYzjJ.cjs} +1 -1
  151. package/dist/{lightbox-DK1vDKm3.cjs.map → lightbox-sPfnYzjJ.cjs.map} +1 -1
  152. package/dist/lightbox.cjs +1 -1
  153. package/dist/lightbox.js +1 -1
  154. package/dist/{list-Ds0Nv1y5.js → list-BWrtrdgs.js} +1 -1
  155. package/dist/{list-Ds0Nv1y5.js.map → list-BWrtrdgs.js.map} +1 -1
  156. package/dist/{list-CEuVqAxN.cjs → list-C4vasUly.cjs} +1 -1
  157. package/dist/{list-CEuVqAxN.cjs.map → list-C4vasUly.cjs.map} +1 -1
  158. package/dist/list.cjs +1 -1
  159. package/dist/list.js +1 -1
  160. package/dist/{map-BrBSrIqg.cjs → map-BAQ9FEB6.cjs} +1 -1
  161. package/dist/{map-BrBSrIqg.cjs.map → map-BAQ9FEB6.cjs.map} +1 -1
  162. package/dist/{map-1uwxxvBa.js → map-CEreveeI.js} +1 -1
  163. package/dist/{map-1uwxxvBa.js.map → map-CEreveeI.js.map} +1 -1
  164. package/dist/map.cjs +1 -1
  165. package/dist/map.js +1 -1
  166. package/dist/{menu-Bly30Nje.cjs → menu-3yXDZusj.cjs} +1 -1
  167. package/dist/{menu-Bly30Nje.cjs.map → menu-3yXDZusj.cjs.map} +1 -1
  168. package/dist/{menu-L8MK1ma5.js → menu-CxChOxWT.js} +2 -2
  169. package/dist/{menu-L8MK1ma5.js.map → menu-CxChOxWT.js.map} +1 -1
  170. package/dist/menu.cjs +1 -1
  171. package/dist/menu.js +1 -1
  172. package/dist/mixins-Db7gjDah.cjs +298 -0
  173. package/dist/{mixins-CAb0b03r.cjs.map → mixins-Db7gjDah.cjs.map} +1 -1
  174. package/dist/mixins-Dw6hVfy-.js +627 -0
  175. package/dist/{mixins-B34UxxCe.js.map → mixins-Dw6hVfy-.js.map} +1 -1
  176. package/dist/mixins.cjs +1 -1
  177. package/dist/mixins.js +1 -1
  178. package/dist/nav-drawer.cjs +1 -1
  179. package/dist/nav-drawer.js +1 -1
  180. package/dist/navigation-bar.cjs +1 -1
  181. package/dist/navigation-bar.js +1 -1
  182. package/dist/navigation-rail.cjs +1 -1
  183. package/dist/navigation-rail.js +1 -1
  184. package/dist/{notification-7fSbk8hm.cjs → notification-DKYy9qVe.cjs} +1 -1
  185. package/dist/{notification-7fSbk8hm.cjs.map → notification-DKYy9qVe.cjs.map} +1 -1
  186. package/dist/{notification-DB25M-qo.js → notification-ycbUBbOu.js} +2 -2
  187. package/dist/{notification-DB25M-qo.js.map → notification-ycbUBbOu.js.map} +1 -1
  188. package/dist/notification.cjs +1 -1
  189. package/dist/notification.js +1 -1
  190. package/dist/{option-DDHa25k5.js → option-DtOhMd3k.js} +1 -1
  191. package/dist/{option-DDHa25k5.js.map → option-DtOhMd3k.js.map} +1 -1
  192. package/dist/{option-HF9Xqbuq.cjs → option-zgVge3BH.cjs} +1 -1
  193. package/dist/{option-HF9Xqbuq.cjs.map → option-zgVge3BH.cjs.map} +1 -1
  194. package/dist/option.cjs +1 -1
  195. package/dist/option.js +1 -1
  196. package/dist/{overlay-stack-CCiTaf_C.js.map → overlay-stack-DCDS17uj.js.map} +1 -1
  197. package/dist/{overlay-stack-CFGiYf34.cjs.map → overlay-stack-DPIe_aYv.cjs.map} +1 -1
  198. package/dist/overlay.cjs +1 -1
  199. package/dist/{overlay.confirm-body-BDG94R0x.js → overlay.confirm-body-AFqYBqrI.js} +1 -1
  200. package/dist/{overlay.confirm-body-BDG94R0x.js.map → overlay.confirm-body-AFqYBqrI.js.map} +1 -1
  201. package/dist/{overlay.confirm-body-b4Nx_OVf.cjs → overlay.confirm-body-DctQLDao.cjs} +1 -1
  202. package/dist/{overlay.confirm-body-b4Nx_OVf.cjs.map → overlay.confirm-body-DctQLDao.cjs.map} +1 -1
  203. package/dist/overlay.js +3 -3
  204. package/dist/{overlay.service-BUCuZa6V.js → overlay.service-B9On2-Aa.js} +2 -2
  205. package/dist/{overlay.service-BUCuZa6V.js.map → overlay.service-B9On2-Aa.js.map} +1 -1
  206. package/dist/{overlay.service-CRHZZY9F.cjs → overlay.service-k2nCE4pi.cjs} +1 -1
  207. package/dist/{overlay.service-CRHZZY9F.cjs.map → overlay.service-k2nCE4pi.cjs.map} +1 -1
  208. package/dist/page.cjs +1 -1
  209. package/dist/page.js +2 -2
  210. package/dist/{payment-card-form-C4jb-OdM.js → payment-card-form-Be1-OVlL.js} +1 -1
  211. package/dist/{payment-card-form-C4jb-OdM.js.map → payment-card-form-Be1-OVlL.js.map} +1 -1
  212. package/dist/{payment-card-form-WEx4CscR.cjs → payment-card-form-CNnGePG4.cjs} +1 -1
  213. package/dist/{payment-card-form-WEx4CscR.cjs.map → payment-card-form-CNnGePG4.cjs.map} +1 -1
  214. package/dist/payment-card-form.cjs +1 -1
  215. package/dist/payment-card-form.js +1 -1
  216. package/dist/{progress-CqOyMM4i.js → progress-BFWzmTlz.js} +1 -1
  217. package/dist/{progress-CqOyMM4i.js.map → progress-BFWzmTlz.js.map} +1 -1
  218. package/dist/{progress-54R4QRgW.cjs → progress-C4TGG2eN.cjs} +1 -1
  219. package/dist/{progress-54R4QRgW.cjs.map → progress-C4TGG2eN.cjs.map} +1 -1
  220. package/dist/progress.cjs +1 -1
  221. package/dist/progress.js +1 -1
  222. package/dist/qr-scanner.cjs +1 -1
  223. package/dist/qr-scanner.js +1 -1
  224. package/dist/{radio-group-B4zbBIZF.js → radio-group-DTNAW5dd.js} +1 -1
  225. package/dist/{radio-group-B4zbBIZF.js.map → radio-group-DTNAW5dd.js.map} +1 -1
  226. package/dist/{radio-group-BJqZpYVy.cjs → radio-group-xLRp1g57.cjs} +1 -1
  227. package/dist/{radio-group-BJqZpYVy.cjs.map → radio-group-xLRp1g57.cjs.map} +1 -1
  228. package/dist/radio-group.cjs +1 -1
  229. package/dist/radio-group.js +1 -1
  230. package/dist/range.cjs +1 -1
  231. package/dist/range.js +1 -1
  232. package/dist/{rxjs-utils-BXpvHN4-.js.map → rxjs-utils-BK8VMe3K.js.map} +1 -1
  233. package/dist/{rxjs-utils-CaC-tdot.cjs.map → rxjs-utils-DhOKenkS.cjs.map} +1 -1
  234. package/dist/rxjs-utils.cjs +1 -1
  235. package/dist/rxjs-utils.js +1 -1
  236. package/dist/{scroll-CYm6Krus.js → scroll-BCmdqSQU.js} +1 -1
  237. package/dist/{scroll-CYm6Krus.js.map → scroll-BCmdqSQU.js.map} +1 -1
  238. package/dist/{scroll-iSRovYYt.cjs → scroll-Bdgb-vRy.cjs} +1 -1
  239. package/dist/{scroll-iSRovYYt.cjs.map → scroll-Bdgb-vRy.cjs.map} +1 -1
  240. package/dist/{select-1WHseXP6.js → select-COGARE0b.js} +2 -2
  241. package/dist/{select-1WHseXP6.js.map → select-COGARE0b.js.map} +1 -1
  242. package/dist/{select-DiQHtQJN.cjs → select-Cv5t_PT3.cjs} +1 -1
  243. package/dist/{select-DiQHtQJN.cjs.map → select-Cv5t_PT3.cjs.map} +1 -1
  244. package/dist/select.cjs +1 -1
  245. package/dist/select.js +1 -1
  246. package/dist/skeleton.cjs +1 -1
  247. package/dist/skeleton.js +1 -1
  248. package/dist/skills/INDEX.md +1 -4
  249. package/dist/skills/schmancy/INDEX.md +1 -4
  250. package/dist/slider.cjs +1 -1
  251. package/dist/slider.js +1 -1
  252. package/dist/{splash-screen-CJL8DGDe.cjs → splash-screen-B8rFbjqT.cjs} +1 -1
  253. package/dist/{splash-screen-CJL8DGDe.cjs.map → splash-screen-B8rFbjqT.cjs.map} +1 -1
  254. package/dist/{splash-screen-BwvtKMdN.js → splash-screen-DbGbGttg.js} +1 -1
  255. package/dist/{splash-screen-BwvtKMdN.js.map → splash-screen-DbGbGttg.js.map} +1 -1
  256. package/dist/splash-screen.cjs +1 -1
  257. package/dist/splash-screen.js +1 -1
  258. package/dist/{src-UaZeROcW.js → src-YRir9pOP.js} +37 -39
  259. package/dist/{src-UaZeROcW.js.map → src-YRir9pOP.js.map} +1 -1
  260. package/dist/{src-Bwr2NR0A.cjs → src-b8D-Ec-Q.cjs} +1 -1
  261. package/dist/{src-Bwr2NR0A.cjs.map → src-b8D-Ec-Q.cjs.map} +1 -1
  262. package/dist/steps.cjs +1 -1
  263. package/dist/steps.js +1 -1
  264. package/dist/{surface-DPUkQ3OL.js → surface-BE7sGTBt.js} +1 -1
  265. package/dist/{surface-DPUkQ3OL.js.map → surface-BE7sGTBt.js.map} +1 -1
  266. package/dist/{surface-DE5iuI8e.cjs → surface-BvudRtf5.cjs} +1 -1
  267. package/dist/{surface-DE5iuI8e.cjs.map → surface-BvudRtf5.cjs.map} +1 -1
  268. package/dist/surface.cjs +1 -1
  269. package/dist/surface.js +1 -1
  270. package/dist/switch.cjs +1 -1
  271. package/dist/switch.js +1 -1
  272. package/dist/table.cjs +1 -1
  273. package/dist/table.js +1 -1
  274. package/dist/{tabs-CsDQ72Qk.cjs → tabs-C0XKld1Z.cjs} +1 -1
  275. package/dist/{tabs-CsDQ72Qk.cjs.map → tabs-C0XKld1Z.cjs.map} +1 -1
  276. package/dist/{tabs-B2XEQPQl.js → tabs-DIzCRsA3.js} +1 -1
  277. package/dist/{tabs-B2XEQPQl.js.map → tabs-DIzCRsA3.js.map} +1 -1
  278. package/dist/tabs.cjs +1 -1
  279. package/dist/tabs.js +1 -1
  280. package/dist/teleport.cjs +1 -1
  281. package/dist/teleport.js +1 -1
  282. package/dist/{textarea-aeAP9cDG.cjs → textarea-BCDCGCJd.cjs} +1 -1
  283. package/dist/{textarea-aeAP9cDG.cjs.map → textarea-BCDCGCJd.cjs.map} +1 -1
  284. package/dist/{textarea-C_ps0lL-.js → textarea-UbZzBwqm.js} +1 -1
  285. package/dist/{textarea-C_ps0lL-.js.map → textarea-UbZzBwqm.js.map} +1 -1
  286. package/dist/textarea.cjs +1 -1
  287. package/dist/textarea.js +1 -1
  288. package/dist/{theme-DAYTVw13.cjs → theme-CIsI-sFj.cjs} +1 -1
  289. package/dist/{theme-DAYTVw13.cjs.map → theme-CIsI-sFj.cjs.map} +1 -1
  290. package/dist/{theme-DAx1iRNr.js → theme-Qh-yPEPL.js} +2 -2
  291. package/dist/{theme-DAx1iRNr.js.map → theme-Qh-yPEPL.js.map} +1 -1
  292. package/dist/{theme-button-BrHkzCtj.js → theme-button-CjTnfs9x.js} +1 -1
  293. package/dist/{theme-button-BrHkzCtj.js.map → theme-button-CjTnfs9x.js.map} +1 -1
  294. package/dist/{theme-button-LsMKY_N_.cjs → theme-button-Dv1D_Vil.cjs} +1 -1
  295. package/dist/{theme-button-LsMKY_N_.cjs.map → theme-button-Dv1D_Vil.cjs.map} +1 -1
  296. package/dist/theme-button.cjs +1 -1
  297. package/dist/theme-button.js +1 -1
  298. package/dist/theme.cjs +1 -1
  299. package/dist/{theme.interface-DESopuZS.cjs.map → theme.interface-BeW-sz_g.cjs.map} +1 -1
  300. package/dist/{theme.interface-C_034TxG.js.map → theme.interface-v7SkAnDH.js.map} +1 -1
  301. package/dist/theme.js +3 -3
  302. package/dist/timeline.cjs +1 -1
  303. package/dist/timeline.js +1 -1
  304. package/dist/tree.cjs +1 -1
  305. package/dist/tree.js +1 -1
  306. package/dist/typography.cjs +1 -1
  307. package/dist/typography.js +1 -1
  308. package/dist/{utils-BzFQfaIr.js → utils-BfOze6Tk.js} +1 -1
  309. package/dist/{utils-BzFQfaIr.js.map → utils-BfOze6Tk.js.map} +1 -1
  310. package/dist/{utils-oLBkMvor.cjs → utils-CJ9y2Jz9.cjs} +1 -1
  311. package/dist/{utils-oLBkMvor.cjs.map → utils-CJ9y2Jz9.cjs.map} +1 -1
  312. package/dist/utils.cjs +1 -1
  313. package/dist/utils.js +2 -2
  314. package/dist/visually-hidden.cjs +1 -1
  315. package/dist/visually-hidden.js +1 -1
  316. package/dist/{window-BJrKS6Zr.cjs → window-9HOUXrTU.cjs} +1 -1
  317. package/dist/{window-BJrKS6Zr.cjs.map → window-9HOUXrTU.cjs.map} +1 -1
  318. package/dist/{window-CyDuTN80.js → window-B_55dzk0.js} +2 -2
  319. package/dist/{window-CyDuTN80.js.map → window-B_55dzk0.js.map} +1 -1
  320. package/dist/window.cjs +1 -1
  321. package/dist/window.js +1 -1
  322. package/package.json +1 -2
  323. package/skills/schmancy/INDEX.md +1 -4
  324. package/src/index.ts +0 -2
  325. package/types/src/index.d.ts +0 -2
  326. package/dist/agent/vendor-highlight-CHJZQQB7.js +0 -2178
  327. package/dist/agent/vendor-highlight-CHJZQQB7.js.map +0 -1
  328. package/dist/code-highlight-Ddp0oZnm.cjs +0 -190
  329. package/dist/code-highlight-Ddp0oZnm.cjs.map +0 -1
  330. package/dist/code-highlight-DtE2-ObF.js +0 -296
  331. package/dist/code-highlight-DtE2-ObF.js.map +0 -1
  332. package/dist/code-highlight.cjs +0 -1
  333. package/dist/code-highlight.js +0 -2
  334. package/dist/mailbox-CDWqbVvZ.cjs +0 -1140
  335. package/dist/mailbox-CDWqbVvZ.cjs.map +0 -1
  336. package/dist/mailbox-DD2How0H.js +0 -1607
  337. package/dist/mailbox-DD2How0H.js.map +0 -1
  338. package/dist/mailbox.cjs +0 -1
  339. package/dist/mailbox.js +0 -2
  340. package/dist/mixins-B34UxxCe.js +0 -627
  341. package/dist/mixins-CAb0b03r.cjs +0 -298
  342. package/dist/skills/code-highlight.md +0 -47
  343. package/dist/skills/mailbox.md +0 -102
  344. package/dist/skills/schmancy/code-highlight.md +0 -47
  345. package/dist/skills/schmancy/mailbox.md +0 -102
  346. package/skills/schmancy/code-highlight.md +0 -47
  347. package/skills/schmancy/mailbox.md +0 -102
  348. package/src/code-highlight/code-highlight.ts +0 -345
  349. package/src/code-highlight/code-preview.ts +0 -125
  350. package/src/code-highlight/index.ts +0 -3
  351. package/src/mailbox/README.md +0 -128
  352. package/src/mailbox/email-editor.ts +0 -1076
  353. package/src/mailbox/email-layout-selector.ts +0 -58
  354. package/src/mailbox/email-recipients.ts +0 -599
  355. package/src/mailbox/email-template-picker.ts +0 -303
  356. package/src/mailbox/email-viewer.ts +0 -717
  357. package/src/mailbox/index.ts +0 -31
  358. package/src/mailbox/mailbox.ts +0 -364
  359. package/src/mailbox/types.ts +0 -180
  360. package/types/src/code-highlight/code-highlight.d.ts +0 -49
  361. package/types/src/code-highlight/code-preview.d.ts +0 -30
  362. package/types/src/code-highlight/index.d.ts +0 -3
  363. package/types/src/mailbox/email-editor.d.ts +0 -101
  364. package/types/src/mailbox/email-layout-selector.d.ts +0 -18
  365. package/types/src/mailbox/email-recipients.d.ts +0 -122
  366. package/types/src/mailbox/email-template-picker.d.ts +0 -54
  367. package/types/src/mailbox/email-viewer.d.ts +0 -86
  368. package/types/src/mailbox/index.d.ts +0 -12
  369. package/types/src/mailbox/mailbox.d.ts +0 -82
  370. package/types/src/mailbox/types.d.ts +0 -176
  371. /package/dist/agent/{flow-CaPi2G8y.js → flow-3RrZM-e7.js} +0 -0
  372. /package/dist/agent/{vendor-jsqr-r7GNh4P3.js → vendor-jsqr-BUVwyoGC.js} +0 -0
  373. /package/dist/agent/{vendor-material-color-Be96dpGE.js → vendor-material-color-33Mj762T.js} +0 -0
  374. /package/dist/{form-CI59gad4.js → form-BF1c3Dk1.js} +0 -0
  375. /package/dist/{form-B2qudx_q.cjs → form-DeO5XX3b.cjs} +0 -0
  376. /package/dist/{hashContent-a8uVr3xs.js → hashContent-BU6jl5ih.js} +0 -0
  377. /package/dist/{hashContent-ejkBgDnN.cjs → hashContent-Bobsobip.cjs} +0 -0
  378. /package/dist/{overlay-stack-CCiTaf_C.js → overlay-stack-DCDS17uj.js} +0 -0
  379. /package/dist/{overlay-stack-CFGiYf34.cjs → overlay-stack-DPIe_aYv.cjs} +0 -0
  380. /package/dist/{rxjs-utils-BXpvHN4-.js → rxjs-utils-BK8VMe3K.js} +0 -0
  381. /package/dist/{rxjs-utils-CaC-tdot.cjs → rxjs-utils-DhOKenkS.cjs} +0 -0
  382. /package/dist/{theme.interface-DESopuZS.cjs → theme.interface-BeW-sz_g.cjs} +0 -0
  383. /package/dist/{theme.interface-C_034TxG.js → theme.interface-v7SkAnDH.js} +0 -0
@@ -1,190 +0,0 @@
1
- const e=require(`./chunk-CncqDLb2.cjs`),t=require(`./mixins-CAb0b03r.cjs`),n=require(`./decorate-DpFmy0nm.cjs`);let r=require(`rxjs`),i=require(`rxjs/operators`),a=require(`lit/decorators.js`),o=require(`lit`),s=require(`highlight.js/lib/core`);s=e.r(s,1);let c=require(`highlight.js/lib/languages/bash`);c=e.r(c,1);let l=require(`highlight.js/lib/languages/javascript`);l=e.r(l,1);let u=require(`highlight.js/lib/languages/markdown`);u=e.r(u,1);let d=require(`highlight.js/lib/languages/typescript`);d=e.r(d,1);let f=require(`highlight.js/lib/languages/xml`);f=e.r(f,1);let p=require(`lit/directives/unsafe-html.js`);s.default.registerLanguage(`javascript`,l.default),s.default.registerLanguage(`typescript`,d.default),s.default.registerLanguage(`html`,f.default),s.default.registerLanguage(`xml`,f.default),s.default.registerLanguage(`markdown`,u.default),s.default.registerLanguage(`bash`,c.default);var m=class extends t.s{constructor(...e){super(...e),this.language=`javascript`,this.code=``,this.lineNumbers=!1,this.copyButton=!0,this.copied=!1}static{this.styles=[o.css`
2
- :host {
3
- display: block;
4
- width: 100%;
5
- overflow: hidden;
6
- }
7
-
8
- /* Code block styling using schmancy color system */
9
- .hljs {
10
- display: block;
11
- overflow-x: auto;
12
- padding: 0.5em;
13
- color: var(--md-sys-color-on-surface-variant);
14
- background: var(--md-sys-color-surface-container-lowest);
15
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
16
- }
17
-
18
- /* Comments and documentation */
19
- .hljs-comment,
20
- .hljs-quote {
21
- color: var(--md-sys-color-outline);
22
- font-style: italic;
23
- }
24
-
25
- /* Keywords, doctags, formulas */
26
- .hljs-doctag,
27
- .hljs-keyword,
28
- .hljs-formula {
29
- color: var(--md-sys-color-primary);
30
- }
31
-
32
- /* Tags, sections, names, deletions */
33
- .hljs-section,
34
- .hljs-name,
35
- .hljs-selector-tag,
36
- .hljs-deletion,
37
- .hljs-subst {
38
- color: var(--md-sys-color-error);
39
- }
40
-
41
- /* Literals */
42
- .hljs-literal {
43
- color: var(--md-sys-color-tertiary);
44
- }
45
-
46
- /* Strings, regex, additions */
47
- .hljs-string,
48
- .hljs-regexp,
49
- .hljs-addition,
50
- .hljs-attribute,
51
- .hljs-meta-string {
52
- color: var(--md-sys-color-secondary);
53
- }
54
-
55
- /* Built-ins and class titles */
56
- .hljs-built_in,
57
- .hljs-class .hljs-title {
58
- color: var(--md-sys-color-tertiary);
59
- }
60
-
61
- /* Variables, attributes, types */
62
- .hljs-attr,
63
- .hljs-variable,
64
- .hljs-template-variable,
65
- .hljs-type,
66
- .hljs-selector-class,
67
- .hljs-selector-attr,
68
- .hljs-selector-pseudo,
69
- .hljs-number {
70
- color: var(--md-sys-color-on-surface);
71
- }
72
-
73
- /* Symbols, bullets, links, meta */
74
- .hljs-symbol,
75
- .hljs-bullet,
76
- .hljs-link,
77
- .hljs-meta,
78
- .hljs-selector-id,
79
- .hljs-title {
80
- color: var(--md-sys-color-secondary);
81
- }
82
-
83
- .hljs-emphasis {
84
- font-style: italic;
85
- }
86
-
87
- .hljs-strong {
88
- font-weight: bold;
89
- }
90
-
91
- .hljs-link {
92
- text-decoration: underline;
93
- }
94
-
95
- /* Line features styling */
96
- .code-with-lines {
97
- background: transparent;
98
- padding: 0;
99
- }
100
-
101
- .code-line {
102
- display: block;
103
- padding-left: 0;
104
- transition: background-color 0.2s ease;
105
- }
106
-
107
- .code-line.highlighted {
108
- background-color: var(--md-sys-color-primary-container);
109
- opacity: 0.2;
110
- }
111
-
112
- .line-number {
113
- display: inline-block;
114
- width: 3rem;
115
- padding-right: 1rem;
116
- text-align: right;
117
- color: var(--md-sys-color-outline);
118
- user-select: none;
119
- font-size: inherit;
120
- }
121
- `]}get highlightedCode(){if(!this.code)return``;let e=``;try{e=s.default.highlight(this.code.trim(),{language:this.language}).value}catch{try{e=s.default.highlightAuto(this.code.trim()).value}catch{e=this.escapeHtml(this.code.trim())}}return this.lineNumbers||this.highlightLines?this.addLineFeatures(e):e}escapeHtml(e){let t=document.createElement(`div`);return t.textContent=e,t.innerHTML}getHighlightedLines(){let e=new Set;if(!this.highlightLines)return e;let t=this.highlightLines.split(`,`);for(let n of t){let t=n.trim();if(t.includes(`-`)){let[n,r]=t.split(`-`).map(e=>parseInt(e.trim()));if(!isNaN(n)&&!isNaN(r))for(let t=n;t<=r;t++)e.add(t)}else{let n=parseInt(t);isNaN(n)||e.add(n)}}return e}addLineFeatures(e){let t=e.split(`
122
- `),n=this.getHighlightedLines();return t.map((e,t)=>{let r=t+1,i=n.has(r)?`code-line highlighted`:`code-line`,a=``;return this.lineNumbers&&(a+=`<span class="line-number">${r}</span>`),a+=e,`<div class="${i}">${a}</div>`}).join(``)}async copyCode(){try{await navigator.clipboard.writeText(this.code),this.copied=!0,setTimeout(()=>{this.copied=!1},2e3)}catch{}}getLanguageLabel(){return this.filename?this.filename:{javascript:`JavaScript`,typescript:`TypeScript`,html:`HTML`,markdown:`Markdown`,bash:`Bash`}[this.language.toLowerCase()]||this.language.toUpperCase()}render(){let e=this.lineNumbers||this.highlightLines?`code-with-lines`:`hljs`;return o.html`
123
- <schmancy-details class="bg-surface-default">
124
- <section slot="summary">
125
- <!-- Header -->
126
- <div class="flex items-center justify-between"
127
- >
128
- <div class="flex items-center gap-2">
129
- <div class="flex gap-1.5">
130
- <div class="w-3 h-3 rounded-full opacity-60" style="background-color: var(--md-sys-color-error);"></div>
131
- <div class="w-3 h-3 rounded-full opacity-60" style="background-color: var(--md-sys-color-tertiary);"></div>
132
- <div class="w-3 h-3 rounded-full opacity-60" style="background-color: var(--md-sys-color-secondary);"></div>
133
- </div>
134
- <span class="text-xs font-medium opacity-70 ml-2" style="color: var(--md-sys-color-on-surface-variant);">
135
- ${this.getLanguageLabel()}
136
- </span>
137
- </div>
138
- ${this.copyButton?o.html`
139
- <schmancy-button
140
- .variant="${this.copied?`filled tonal`:`text`}"
141
- @click=${this.copyCode}
142
- class="transition-all"
143
- >
144
- <schmancy-icon > ${this.copied?`check`:`content_copy`} </schmancy-icon>
145
- <span class="ml-1">${this.copied?`Copied!`:`Copy`}</span>
146
- </schmancy-button>
147
- `:``}
148
- </div>
149
- </section>
150
- <!-- Code -->
151
- <div class="overflow-auto" style="${this.maxHeight?`max-height: ${this.maxHeight}`:``}">
152
- <pre class="m-0"><code class="${e}">${(0,p.unsafeHTML)(this.highlightedCode)}</code></pre>
153
- </div>
154
- </schmancy-details>
155
- `}};n.t([(0,a.property)({type:String})],m.prototype,`language`,void 0),n.t([(0,a.property)({type:String})],m.prototype,`code`,void 0),n.t([(0,a.property)({type:String})],m.prototype,`filename`,void 0),n.t([(0,a.property)({type:Boolean})],m.prototype,`lineNumbers`,void 0),n.t([(0,a.property)({type:Boolean})],m.prototype,`copyButton`,void 0),n.t([(0,a.property)({type:String})],m.prototype,`highlightLines`,void 0),n.t([(0,a.property)({type:String})],m.prototype,`maxHeight`,void 0),n.t([(0,a.state)()],m.prototype,`copied`,void 0),m=n.t([(0,a.customElement)(`schmancy-code`)],m);var h=class extends t.s{constructor(...e){super(...e),this.language=`html`,this.layout=`vertical`,this.preview=!0,this.slotContent=``}static{this.styles=[o.css`:host{
156
- display:block;
157
- overflow:hidden;
158
- position:relative;
159
- inset:0;
160
- }`]}connectedCallback(){super.connectedCallback(),(0,r.timer)(0).pipe((0,i.take)(1)).subscribe(()=>{let e=this.shadowRoot?.querySelector(`slot`);if(e){let t=e.assignedNodes({flatten:!0}).map(e=>e.nodeType===Node.ELEMENT_NODE?e.outerHTML:e.nodeType===Node.TEXT_NODE&&e.textContent||``).join(``).split(`
161
- `),n=t.filter(e=>e.trim().length>0).reduce((e,t)=>{let n=t.match(/^(\s*)/)?.[1].length||0;return Math.min(e,n)},1/0);this.slotContent=t.map(e=>e.slice(n)).join(`
162
- `).trim()}})}render(){let e=this.layout===`horizontal`?`grid grid-cols-1 lg:grid-cols-2 gap-0`:`flex flex-col`,t=this.preview&&this.language.toLowerCase()===`html`;return o.html`
163
- <schmancy-surface class="rounded-lg overflow-hidden">
164
- <div class="${t?e:``}">
165
- <!-- Code section with proper overflow handling -->
166
- <div class="min-w-0 overflow-hidden">
167
- <schmancy-code
168
- language="${this.language}"
169
- .code="${this.slotContent}"
170
- ?copyButton="${!0}"
171
- class="block w-full"
172
- ></schmancy-code>
173
- </div>
174
-
175
- <!-- Preview section (only visible for HTML and when preview is enabled) -->
176
- ${t?o.html`
177
- <div class="min-w-0 overflow-auto">
178
- <schmancy-surface type="solid" class="p-2 h-full">
179
- <slot></slot>
180
- </schmancy-surface>
181
- </div>
182
- `:o.html`
183
- <!-- Hidden slot to capture content -->
184
- <div class="hidden">
185
- <slot></slot>
186
- </div>
187
- `}
188
- </div>
189
- </schmancy-surface>
190
- `}};n.t([(0,a.property)({type:String})],h.prototype,`language`,void 0),n.t([(0,a.property)({type:String})],h.prototype,`layout`,void 0),n.t([(0,a.property)({type:Boolean})],h.prototype,`preview`,void 0),n.t([(0,a.state)()],h.prototype,`slotContent`,void 0),h=n.t([(0,a.customElement)(`schmancy-code-preview`)],h),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return h}});
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-highlight-Ddp0oZnm.cjs","names":[],"sources":["../src/code-highlight/code-highlight.ts","../src/code-highlight/code-preview.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport hljs from 'highlight.js/lib/core'\nimport bash from 'highlight.js/lib/languages/bash'\nimport javascript from 'highlight.js/lib/languages/javascript'\nimport markdown from 'highlight.js/lib/languages/markdown'\nimport typescript from 'highlight.js/lib/languages/typescript'\nimport xml from 'highlight.js/lib/languages/xml'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js'\n\n// Register only the languages we need\nhljs.registerLanguage('javascript', javascript)\nhljs.registerLanguage('typescript', typescript)\nhljs.registerLanguage('html', xml)\nhljs.registerLanguage('xml', xml)\nhljs.registerLanguage('markdown', markdown)\nhljs.registerLanguage('bash', bash)\n\n/**\n * @element schmancy-code\n * Code highlighting component using highlight.js with schmancy theming support\n */\n@customElement('schmancy-code')\nexport class SchmancyCode extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t}\n\n\t/* Code block styling using schmancy color system */\n\t.hljs {\n\t\tdisplay: block;\n\t\toverflow-x: auto;\n\t\tpadding: 0.5em;\n\t\tcolor: var(--md-sys-color-on-surface-variant);\n\t\tbackground: var(--md-sys-color-surface-container-lowest);\n\t\tfont-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n\t}\n\n\t/* Comments and documentation */\n\t.hljs-comment,\n\t.hljs-quote {\n\t\tcolor: var(--md-sys-color-outline);\n\t\tfont-style: italic;\n\t}\n\n\t/* Keywords, doctags, formulas */\n\t.hljs-doctag,\n\t.hljs-keyword,\n\t.hljs-formula {\n\t\tcolor: var(--md-sys-color-primary);\n\t}\n\n\t/* Tags, sections, names, deletions */\n\t.hljs-section,\n\t.hljs-name,\n\t.hljs-selector-tag,\n\t.hljs-deletion,\n\t.hljs-subst {\n\t\tcolor: var(--md-sys-color-error);\n\t}\n\n\t/* Literals */\n\t.hljs-literal {\n\t\tcolor: var(--md-sys-color-tertiary);\n\t}\n\n\t/* Strings, regex, additions */\n\t.hljs-string,\n\t.hljs-regexp,\n\t.hljs-addition,\n\t.hljs-attribute,\n\t.hljs-meta-string {\n\t\tcolor: var(--md-sys-color-secondary);\n\t}\n\n\t/* Built-ins and class titles */\n\t.hljs-built_in,\n\t.hljs-class .hljs-title {\n\t\tcolor: var(--md-sys-color-tertiary);\n\t}\n\n\t/* Variables, attributes, types */\n\t.hljs-attr,\n\t.hljs-variable,\n\t.hljs-template-variable,\n\t.hljs-type,\n\t.hljs-selector-class,\n\t.hljs-selector-attr,\n\t.hljs-selector-pseudo,\n\t.hljs-number {\n\t\tcolor: var(--md-sys-color-on-surface);\n\t}\n\n\t/* Symbols, bullets, links, meta */\n\t.hljs-symbol,\n\t.hljs-bullet,\n\t.hljs-link,\n\t.hljs-meta,\n\t.hljs-selector-id,\n\t.hljs-title {\n\t\tcolor: var(--md-sys-color-secondary);\n\t}\n\n\t.hljs-emphasis {\n\t\tfont-style: italic;\n\t}\n\n\t.hljs-strong {\n\t\tfont-weight: bold;\n\t}\n\n\t.hljs-link {\n\t\ttext-decoration: underline;\n\t}\n\n\t/* Line features styling */\n\t.code-with-lines {\n\t\tbackground: transparent;\n\t\tpadding: 0;\n\t}\n\n\t.code-line {\n\t\tdisplay: block;\n\t\tpadding-left: 0;\n\t\ttransition: background-color 0.2s ease;\n\t}\n\n\t.code-line.highlighted {\n\t\tbackground-color: var(--md-sys-color-primary-container);\n\t\topacity: 0.2;\n\t}\n\n\t.line-number {\n\t\tdisplay: inline-block;\n\t\twidth: 3rem;\n\t\tpadding-right: 1rem;\n\t\ttext-align: right;\n\t\tcolor: var(--md-sys-color-outline);\n\t\tuser-select: none;\n\t\tfont-size: inherit;\n\t}\n`];\n\t/**\n\t * Programming language for syntax highlighting\n\t */\n\t@property({ type: String })\n\tlanguage: string = 'javascript'\n\n\t/**\n\t * Code content to highlight\n\t */\n\t@property({ type: String })\n\tcode: string = ''\n\n\t/**\n\t * Optional filename or title to display in header\n\t */\n\t@property({ type: String })\n\tfilename?: string\n\n\t/**\n\t * Show line numbers\n\t */\n\t@property({ type: Boolean })\n\tlineNumbers: boolean = false\n\n\t/**\n\t * Show copy button\n\t */\n\t@property({ type: Boolean })\n\tcopyButton: boolean = true\n\n\t/**\n\t * Highlighted line numbers (comma-separated or ranges like \"1-3,5,7-9\")\n\t */\n\t@property({ type: String })\n\thighlightLines?: string\n\n\t/**\n\t * Maximum height before scrolling\n\t */\n\t@property({ type: String })\n\tmaxHeight?: string\n\n\t@state()\n\tprivate copied: boolean = false\n\n\tprivate get highlightedCode(): string {\n\t\tif (!this.code) return ''\n\n\t\tlet highlightedHtml = ''\n\n\t\ttry {\n\t\t\t// Use highlight.js to get highlighted code\n\t\t\tconst result = hljs.highlight(this.code.trim(), { language: this.language })\n\t\t\thighlightedHtml = result.value\n\t\t} catch {\n\t\t\t// Fallback to auto-detection if language is not supported\n\t\t\ttry {\n\t\t\t\tconst result = hljs.highlightAuto(this.code.trim())\n\t\t\t\thighlightedHtml = result.value\n\t\t\t} catch {\n\t\t\t\t// Final fallback to escaped plain text\n\t\t\t\thighlightedHtml = this.escapeHtml(this.code.trim())\n\t\t\t}\n\t\t}\n\n\t\t// Process for line numbers and highlighting if needed\n\t\tif (this.lineNumbers || this.highlightLines) {\n\t\t\treturn this.addLineFeatures(highlightedHtml)\n\t\t}\n\n\t\treturn highlightedHtml\n\t}\n\n\tprivate escapeHtml(text: string): string {\n\t\tconst div = document.createElement('div')\n\t\tdiv.textContent = text\n\t\treturn div.innerHTML\n\t}\n\n\tprivate getHighlightedLines(): Set<number> {\n\t\tconst lines = new Set<number>()\n\t\tif (!this.highlightLines) return lines\n\n\t\tconst parts = this.highlightLines.split(',')\n\t\tfor (const part of parts) {\n\t\t\tconst trimmed = part.trim()\n\t\t\tif (trimmed.includes('-')) {\n\t\t\t\tconst [start, end] = trimmed.split('-').map(n => parseInt(n.trim()))\n\t\t\t\tif (!isNaN(start) && !isNaN(end)) {\n\t\t\t\t\tfor (let i = start; i <= end; i++) {\n\t\t\t\t\t\tlines.add(i)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst lineNum = parseInt(trimmed)\n\t\t\t\tif (!isNaN(lineNum)) {\n\t\t\t\t\tlines.add(lineNum)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn lines\n\t}\n\n\tprivate addLineFeatures(highlightedHtml: string): string {\n\t\tconst lines = highlightedHtml.split('\\n')\n\t\tconst highlightedLines = this.getHighlightedLines()\n\n\t\treturn lines\n\t\t\t.map((line, index) => {\n\t\t\t\tconst lineNumber = index + 1\n\t\t\t\tconst isHighlighted = highlightedLines.has(lineNumber)\n\t\t\t\tconst lineClass = isHighlighted ? 'code-line highlighted' : 'code-line'\n\n\t\t\t\tlet content = ''\n\t\t\t\tif (this.lineNumbers) {\n\t\t\t\t\tcontent += `<span class=\"line-number\">${lineNumber}</span>`\n\t\t\t\t}\n\t\t\t\tcontent += line\n\n\t\t\t\treturn `<div class=\"${lineClass}\">${content}</div>`\n\t\t\t})\n\t\t\t.join('')\n\t}\n\n\tprivate async copyCode() {\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(this.code)\n\t\t\tthis.copied = true\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.copied = false\n\t\t\t}, 2000)\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to copy code:', err)\n\t\t}\n\t}\n\n\tprivate getLanguageLabel(): string {\n\t\tconst languageMap: Record<string, string> = {\n\t\t\tjavascript: 'JavaScript',\n\t\t\ttypescript: 'TypeScript',\n\t\t\thtml: 'HTML',\n\t\t\tmarkdown: 'Markdown',\n\t\t\tbash: 'Bash',\n\t\t}\n\n\t\tif (this.filename) {\n\t\t\treturn this.filename\n\t\t}\n\n\t\treturn languageMap[this.language.toLowerCase()] || this.language.toUpperCase()\n\t}\n\n\trender() {\n\t\tconst codeClass = this.lineNumbers || this.highlightLines ? 'code-with-lines' : 'hljs'\n\n\t\treturn html`\n\t\t\t<schmancy-details class=\"bg-surface-default\">\n\t\t\t\t<section slot=\"summary\">\n\t\t\t\t\t<!-- Header -->\n\t\t\t\t\t<div class=\"flex items-center justify-between\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<div class=\"flex gap-1.5\">\n\t\t\t\t\t\t\t\t<div class=\"w-3 h-3 rounded-full opacity-60\" style=\"background-color: var(--md-sys-color-error);\"></div>\n\t\t\t\t\t\t\t\t<div class=\"w-3 h-3 rounded-full opacity-60\" style=\"background-color: var(--md-sys-color-tertiary);\"></div>\n\t\t\t\t\t\t\t\t<div class=\"w-3 h-3 rounded-full opacity-60\" style=\"background-color: var(--md-sys-color-secondary);\"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<span class=\"text-xs font-medium opacity-70 ml-2\" style=\"color: var(--md-sys-color-on-surface-variant);\">\n\t\t\t\t\t\t\t\t${this.getLanguageLabel()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t${this.copyButton\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t.variant=\"${this.copied ? 'filled tonal' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t@click=${this.copyCode}\n\t\t\t\t\t\t\t\t\t\tclass=\"transition-all\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<schmancy-icon > ${this.copied ? 'check' : 'content_copy'} </schmancy-icon>\n\t\t\t\t\t\t\t\t\t\t<span class=\"ml-1\">${this.copied ? 'Copied!' : 'Copy'}</span>\n\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t</div>\n\t\t\t\t</section>\n\t\t\t\t<!-- Code -->\n\t\t\t\t<div class=\"overflow-auto\" style=\"${this.maxHeight ? `max-height: ${this.maxHeight}` : ''}\">\n\t\t\t\t\t<pre class=\"m-0\"><code class=\"${codeClass}\">${unsafeHTML(this.highlightedCode)}</code></pre>\n\t\t\t\t</div>\n\t\t\t</schmancy-details>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-code': SchmancyCode\n\t}\n}\n","import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { timer } from 'rxjs'\nimport { take } from 'rxjs/operators'\n\n/**\n * @element schmancy-code-preview\n * A component that shows code and its rendered preview side by side\n * Takes the content as a slot and displays both the source and rendered result\n */\n@customElement('schmancy-code-preview')\nexport class SchmancyCodePreview extends SchmancyElement {\n\tstatic styles = [\n\t\tcss`:host{\n\t\t\tdisplay:block;\n\t\t\toverflow:hidden;\n\t\t\tposition:relative;\n\t\t\tinset:0;\n\t\t}`,\n\t];\n\n\t/**\n\t * Programming language for syntax highlighting\n\t */\n\t@property({ type: String })\n\tlanguage: string = 'html'\n\n\t/**\n\t * Show code on top or side-by-side\n\t */\n\t@property({ type: String })\n\tlayout: 'vertical' | 'horizontal' = 'vertical'\n\n\t/**\n\t * Whether to render/execute the code in preview section\n\t * When false, only shows the code without rendering\n\t */\n\t@property({ type: Boolean })\n\tpreview: boolean = true\n\n\t@state()\n\tprivate slotContent: string = ''\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\t// Capture the slot content as HTML string\n\t\ttimer(0).pipe(take(1)).subscribe(() => {\n\t\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\t\tif (slot) {\n\t\t\t\tconst nodes = slot.assignedNodes({ flatten: true })\n\t\t\t\tconst htmlStrings = nodes.map(node => {\n\t\t\t\t\tif (node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\t\t\treturn (node as HTMLElement).outerHTML\n\t\t\t\t\t} else if (node.nodeType === Node.TEXT_NODE) {\n\t\t\t\t\t\treturn node.textContent || ''\n\t\t\t\t\t}\n\t\t\t\t\treturn ''\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\t// Clean up the HTML string\n\t\t\t\tconst rawContent = htmlStrings.join('')\n\t\t\t\t\n\t\t\t\t// Find the minimum indentation (excluding empty lines)\n\t\t\t\tconst lines = rawContent.split('\\n')\n\t\t\t\tconst minIndent = lines\n\t\t\t\t\t.filter(line => line.trim().length > 0)\n\t\t\t\t\t.reduce((min, line) => {\n\t\t\t\t\t\tconst indent = line.match(/^(\\s*)/)?.[1].length || 0\n\t\t\t\t\t\treturn Math.min(min, indent)\n\t\t\t\t\t}, Infinity)\n\t\t\t\t\n\t\t\t\t// Remove the minimum indentation from all lines\n\t\t\t\tthis.slotContent = lines\n\t\t\t\t\t.map(line => line.slice(minIndent))\n\t\t\t\t\t.join('\\n')\n\t\t\t\t\t.trim()\n\t\t\t}\n\t\t})\n\t}\n\n\trender() {\n\t\tconst containerClass = this.layout === 'horizontal' \n\t\t\t? 'grid grid-cols-1 lg:grid-cols-2 gap-0' \n\t\t\t: 'flex flex-col'\n\n\t\tconst showPreview = this.preview && this.language.toLowerCase() === 'html'\n\t\t\n\t\treturn html`\n\t\t\t<schmancy-surface class=\"rounded-lg overflow-hidden\">\n\t\t\t\t<div class=\"${showPreview ? containerClass : ''}\">\n\t\t\t\t\t<!-- Code section with proper overflow handling -->\n\t\t\t\t\t<div class=\"min-w-0 overflow-hidden\">\n\t\t\t\t\t\t<schmancy-code\n\t\t\t\t\t\t\tlanguage=\"${this.language}\"\n\t\t\t\t\t\t\t.code=\"${this.slotContent}\"\n\t\t\t\t\t\t\t?copyButton=\"${true}\"\n\t\t\t\t\t\t\tclass=\"block w-full\"\n\t\t\t\t\t\t></schmancy-code>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t<!-- Preview section (only visible for HTML and when preview is enabled) -->\n\t\t\t\t\t${showPreview ? html`\n\t\t\t\t\t\t<div class=\"min-w-0 overflow-auto\">\n\t\t\t\t\t\t\t<schmancy-surface type=\"solid\" class=\"p-2 h-full\">\n\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t</schmancy-surface>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t` : html`\n\t\t\t\t\t\t<!-- Hidden slot to capture content -->\n\t\t\t\t\t\t<div class=\"hidden\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`}\n\t\t\t\t</div>\n\t\t\t</schmancy-surface>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-code-preview': SchmancyCodePreview\n\t}\n}"],"mappings":"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"}
@@ -1,296 +0,0 @@
1
- import { s as e } from "./mixins-B34UxxCe.js";
2
- import { t } from "./decorate-23nYs4Le.js";
3
- import { timer as n } from "rxjs";
4
- import { take as r } from "rxjs/operators";
5
- import { customElement as i, property as a, state as o } from "lit/decorators.js";
6
- import { css as s, html as c } from "lit";
7
- import l from "highlight.js/lib/core";
8
- import u from "highlight.js/lib/languages/bash";
9
- import d from "highlight.js/lib/languages/javascript";
10
- import f from "highlight.js/lib/languages/markdown";
11
- import p from "highlight.js/lib/languages/typescript";
12
- import m from "highlight.js/lib/languages/xml";
13
- import { unsafeHTML as h } from "lit/directives/unsafe-html.js";
14
- l.registerLanguage("javascript", d), l.registerLanguage("typescript", p), l.registerLanguage("html", m), l.registerLanguage("xml", m), l.registerLanguage("markdown", f), l.registerLanguage("bash", u);
15
- var g = class extends e {
16
- constructor(...e) {
17
- super(...e), this.language = "javascript", this.code = "", this.lineNumbers = !1, this.copyButton = !0, this.copied = !1;
18
- }
19
- static {
20
- this.styles = [s`
21
- :host {
22
- display: block;
23
- width: 100%;
24
- overflow: hidden;
25
- }
26
-
27
- /* Code block styling using schmancy color system */
28
- .hljs {
29
- display: block;
30
- overflow-x: auto;
31
- padding: 0.5em;
32
- color: var(--md-sys-color-on-surface-variant);
33
- background: var(--md-sys-color-surface-container-lowest);
34
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
35
- }
36
-
37
- /* Comments and documentation */
38
- .hljs-comment,
39
- .hljs-quote {
40
- color: var(--md-sys-color-outline);
41
- font-style: italic;
42
- }
43
-
44
- /* Keywords, doctags, formulas */
45
- .hljs-doctag,
46
- .hljs-keyword,
47
- .hljs-formula {
48
- color: var(--md-sys-color-primary);
49
- }
50
-
51
- /* Tags, sections, names, deletions */
52
- .hljs-section,
53
- .hljs-name,
54
- .hljs-selector-tag,
55
- .hljs-deletion,
56
- .hljs-subst {
57
- color: var(--md-sys-color-error);
58
- }
59
-
60
- /* Literals */
61
- .hljs-literal {
62
- color: var(--md-sys-color-tertiary);
63
- }
64
-
65
- /* Strings, regex, additions */
66
- .hljs-string,
67
- .hljs-regexp,
68
- .hljs-addition,
69
- .hljs-attribute,
70
- .hljs-meta-string {
71
- color: var(--md-sys-color-secondary);
72
- }
73
-
74
- /* Built-ins and class titles */
75
- .hljs-built_in,
76
- .hljs-class .hljs-title {
77
- color: var(--md-sys-color-tertiary);
78
- }
79
-
80
- /* Variables, attributes, types */
81
- .hljs-attr,
82
- .hljs-variable,
83
- .hljs-template-variable,
84
- .hljs-type,
85
- .hljs-selector-class,
86
- .hljs-selector-attr,
87
- .hljs-selector-pseudo,
88
- .hljs-number {
89
- color: var(--md-sys-color-on-surface);
90
- }
91
-
92
- /* Symbols, bullets, links, meta */
93
- .hljs-symbol,
94
- .hljs-bullet,
95
- .hljs-link,
96
- .hljs-meta,
97
- .hljs-selector-id,
98
- .hljs-title {
99
- color: var(--md-sys-color-secondary);
100
- }
101
-
102
- .hljs-emphasis {
103
- font-style: italic;
104
- }
105
-
106
- .hljs-strong {
107
- font-weight: bold;
108
- }
109
-
110
- .hljs-link {
111
- text-decoration: underline;
112
- }
113
-
114
- /* Line features styling */
115
- .code-with-lines {
116
- background: transparent;
117
- padding: 0;
118
- }
119
-
120
- .code-line {
121
- display: block;
122
- padding-left: 0;
123
- transition: background-color 0.2s ease;
124
- }
125
-
126
- .code-line.highlighted {
127
- background-color: var(--md-sys-color-primary-container);
128
- opacity: 0.2;
129
- }
130
-
131
- .line-number {
132
- display: inline-block;
133
- width: 3rem;
134
- padding-right: 1rem;
135
- text-align: right;
136
- color: var(--md-sys-color-outline);
137
- user-select: none;
138
- font-size: inherit;
139
- }
140
- `];
141
- }
142
- get highlightedCode() {
143
- if (!this.code) return "";
144
- let e = "";
145
- try {
146
- e = l.highlight(this.code.trim(), { language: this.language }).value;
147
- } catch {
148
- try {
149
- e = l.highlightAuto(this.code.trim()).value;
150
- } catch {
151
- e = this.escapeHtml(this.code.trim());
152
- }
153
- }
154
- return this.lineNumbers || this.highlightLines ? this.addLineFeatures(e) : e;
155
- }
156
- escapeHtml(e) {
157
- let t = document.createElement("div");
158
- return t.textContent = e, t.innerHTML;
159
- }
160
- getHighlightedLines() {
161
- let e = /* @__PURE__ */ new Set();
162
- if (!this.highlightLines) return e;
163
- let t = this.highlightLines.split(",");
164
- for (let n of t) {
165
- let t = n.trim();
166
- if (t.includes("-")) {
167
- let [n, r] = t.split("-").map((e) => parseInt(e.trim()));
168
- if (!isNaN(n) && !isNaN(r)) for (let t = n; t <= r; t++) e.add(t);
169
- } else {
170
- let n = parseInt(t);
171
- isNaN(n) || e.add(n);
172
- }
173
- }
174
- return e;
175
- }
176
- addLineFeatures(e) {
177
- let t = e.split("\n"), n = this.getHighlightedLines();
178
- return t.map((e, t) => {
179
- let r = t + 1, i = n.has(r) ? "code-line highlighted" : "code-line", a = "";
180
- return this.lineNumbers && (a += `<span class="line-number">${r}</span>`), a += e, `<div class="${i}">${a}</div>`;
181
- }).join("");
182
- }
183
- async copyCode() {
184
- try {
185
- await navigator.clipboard.writeText(this.code), this.copied = !0, setTimeout(() => {
186
- this.copied = !1;
187
- }, 2e3);
188
- } catch {}
189
- }
190
- getLanguageLabel() {
191
- return this.filename ? this.filename : {
192
- javascript: "JavaScript",
193
- typescript: "TypeScript",
194
- html: "HTML",
195
- markdown: "Markdown",
196
- bash: "Bash"
197
- }[this.language.toLowerCase()] || this.language.toUpperCase();
198
- }
199
- render() {
200
- let e = this.lineNumbers || this.highlightLines ? "code-with-lines" : "hljs";
201
- return c`
202
- <schmancy-details class="bg-surface-default">
203
- <section slot="summary">
204
- <!-- Header -->
205
- <div class="flex items-center justify-between"
206
- >
207
- <div class="flex items-center gap-2">
208
- <div class="flex gap-1.5">
209
- <div class="w-3 h-3 rounded-full opacity-60" style="background-color: var(--md-sys-color-error);"></div>
210
- <div class="w-3 h-3 rounded-full opacity-60" style="background-color: var(--md-sys-color-tertiary);"></div>
211
- <div class="w-3 h-3 rounded-full opacity-60" style="background-color: var(--md-sys-color-secondary);"></div>
212
- </div>
213
- <span class="text-xs font-medium opacity-70 ml-2" style="color: var(--md-sys-color-on-surface-variant);">
214
- ${this.getLanguageLabel()}
215
- </span>
216
- </div>
217
- ${this.copyButton ? c`
218
- <schmancy-button
219
- .variant="${this.copied ? "filled tonal" : "text"}"
220
- @click=${this.copyCode}
221
- class="transition-all"
222
- >
223
- <schmancy-icon > ${this.copied ? "check" : "content_copy"} </schmancy-icon>
224
- <span class="ml-1">${this.copied ? "Copied!" : "Copy"}</span>
225
- </schmancy-button>
226
- ` : ""}
227
- </div>
228
- </section>
229
- <!-- Code -->
230
- <div class="overflow-auto" style="${this.maxHeight ? `max-height: ${this.maxHeight}` : ""}">
231
- <pre class="m-0"><code class="${e}">${h(this.highlightedCode)}</code></pre>
232
- </div>
233
- </schmancy-details>
234
- `;
235
- }
236
- };
237
- t([a({ type: String })], g.prototype, "language", void 0), t([a({ type: String })], g.prototype, "code", void 0), t([a({ type: String })], g.prototype, "filename", void 0), t([a({ type: Boolean })], g.prototype, "lineNumbers", void 0), t([a({ type: Boolean })], g.prototype, "copyButton", void 0), t([a({ type: String })], g.prototype, "highlightLines", void 0), t([a({ type: String })], g.prototype, "maxHeight", void 0), t([o()], g.prototype, "copied", void 0), g = t([i("schmancy-code")], g);
238
- var _ = class extends e {
239
- constructor(...e) {
240
- super(...e), this.language = "html", this.layout = "vertical", this.preview = !0, this.slotContent = "";
241
- }
242
- static {
243
- this.styles = [s`:host{
244
- display:block;
245
- overflow:hidden;
246
- position:relative;
247
- inset:0;
248
- }`];
249
- }
250
- connectedCallback() {
251
- super.connectedCallback(), n(0).pipe(r(1)).subscribe(() => {
252
- let e = this.shadowRoot?.querySelector("slot");
253
- if (e) {
254
- let t = e.assignedNodes({ flatten: !0 }).map((e) => e.nodeType === Node.ELEMENT_NODE ? e.outerHTML : e.nodeType === Node.TEXT_NODE && e.textContent || "").join("").split("\n"), n = t.filter((e) => e.trim().length > 0).reduce((e, t) => {
255
- let n = t.match(/^(\s*)/)?.[1].length || 0;
256
- return Math.min(e, n);
257
- }, Infinity);
258
- this.slotContent = t.map((e) => e.slice(n)).join("\n").trim();
259
- }
260
- });
261
- }
262
- render() {
263
- let e = this.layout === "horizontal" ? "grid grid-cols-1 lg:grid-cols-2 gap-0" : "flex flex-col", t = this.preview && this.language.toLowerCase() === "html";
264
- return c`
265
- <schmancy-surface class="rounded-lg overflow-hidden">
266
- <div class="${t ? e : ""}">
267
- <!-- Code section with proper overflow handling -->
268
- <div class="min-w-0 overflow-hidden">
269
- <schmancy-code
270
- language="${this.language}"
271
- .code="${this.slotContent}"
272
- ?copyButton="${!0}"
273
- class="block w-full"
274
- ></schmancy-code>
275
- </div>
276
-
277
- <!-- Preview section (only visible for HTML and when preview is enabled) -->
278
- ${t ? c`
279
- <div class="min-w-0 overflow-auto">
280
- <schmancy-surface type="solid" class="p-2 h-full">
281
- <slot></slot>
282
- </schmancy-surface>
283
- </div>
284
- ` : c`
285
- <!-- Hidden slot to capture content -->
286
- <div class="hidden">
287
- <slot></slot>
288
- </div>
289
- `}
290
- </div>
291
- </schmancy-surface>
292
- `;
293
- }
294
- };
295
- t([a({ type: String })], _.prototype, "language", void 0), t([a({ type: String })], _.prototype, "layout", void 0), t([a({ type: Boolean })], _.prototype, "preview", void 0), t([o()], _.prototype, "slotContent", void 0), _ = t([i("schmancy-code-preview")], _);
296
- export { g as n, _ as t };
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-highlight-DtE2-ObF.js","names":[],"sources":["../src/code-highlight/code-highlight.ts","../src/code-highlight/code-preview.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport hljs from 'highlight.js/lib/core'\nimport bash from 'highlight.js/lib/languages/bash'\nimport javascript from 'highlight.js/lib/languages/javascript'\nimport markdown from 'highlight.js/lib/languages/markdown'\nimport typescript from 'highlight.js/lib/languages/typescript'\nimport xml from 'highlight.js/lib/languages/xml'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js'\n\n// Register only the languages we need\nhljs.registerLanguage('javascript', javascript)\nhljs.registerLanguage('typescript', typescript)\nhljs.registerLanguage('html', xml)\nhljs.registerLanguage('xml', xml)\nhljs.registerLanguage('markdown', markdown)\nhljs.registerLanguage('bash', bash)\n\n/**\n * @element schmancy-code\n * Code highlighting component using highlight.js with schmancy theming support\n */\n@customElement('schmancy-code')\nexport class SchmancyCode extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t}\n\n\t/* Code block styling using schmancy color system */\n\t.hljs {\n\t\tdisplay: block;\n\t\toverflow-x: auto;\n\t\tpadding: 0.5em;\n\t\tcolor: var(--md-sys-color-on-surface-variant);\n\t\tbackground: var(--md-sys-color-surface-container-lowest);\n\t\tfont-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n\t}\n\n\t/* Comments and documentation */\n\t.hljs-comment,\n\t.hljs-quote {\n\t\tcolor: var(--md-sys-color-outline);\n\t\tfont-style: italic;\n\t}\n\n\t/* Keywords, doctags, formulas */\n\t.hljs-doctag,\n\t.hljs-keyword,\n\t.hljs-formula {\n\t\tcolor: var(--md-sys-color-primary);\n\t}\n\n\t/* Tags, sections, names, deletions */\n\t.hljs-section,\n\t.hljs-name,\n\t.hljs-selector-tag,\n\t.hljs-deletion,\n\t.hljs-subst {\n\t\tcolor: var(--md-sys-color-error);\n\t}\n\n\t/* Literals */\n\t.hljs-literal {\n\t\tcolor: var(--md-sys-color-tertiary);\n\t}\n\n\t/* Strings, regex, additions */\n\t.hljs-string,\n\t.hljs-regexp,\n\t.hljs-addition,\n\t.hljs-attribute,\n\t.hljs-meta-string {\n\t\tcolor: var(--md-sys-color-secondary);\n\t}\n\n\t/* Built-ins and class titles */\n\t.hljs-built_in,\n\t.hljs-class .hljs-title {\n\t\tcolor: var(--md-sys-color-tertiary);\n\t}\n\n\t/* Variables, attributes, types */\n\t.hljs-attr,\n\t.hljs-variable,\n\t.hljs-template-variable,\n\t.hljs-type,\n\t.hljs-selector-class,\n\t.hljs-selector-attr,\n\t.hljs-selector-pseudo,\n\t.hljs-number {\n\t\tcolor: var(--md-sys-color-on-surface);\n\t}\n\n\t/* Symbols, bullets, links, meta */\n\t.hljs-symbol,\n\t.hljs-bullet,\n\t.hljs-link,\n\t.hljs-meta,\n\t.hljs-selector-id,\n\t.hljs-title {\n\t\tcolor: var(--md-sys-color-secondary);\n\t}\n\n\t.hljs-emphasis {\n\t\tfont-style: italic;\n\t}\n\n\t.hljs-strong {\n\t\tfont-weight: bold;\n\t}\n\n\t.hljs-link {\n\t\ttext-decoration: underline;\n\t}\n\n\t/* Line features styling */\n\t.code-with-lines {\n\t\tbackground: transparent;\n\t\tpadding: 0;\n\t}\n\n\t.code-line {\n\t\tdisplay: block;\n\t\tpadding-left: 0;\n\t\ttransition: background-color 0.2s ease;\n\t}\n\n\t.code-line.highlighted {\n\t\tbackground-color: var(--md-sys-color-primary-container);\n\t\topacity: 0.2;\n\t}\n\n\t.line-number {\n\t\tdisplay: inline-block;\n\t\twidth: 3rem;\n\t\tpadding-right: 1rem;\n\t\ttext-align: right;\n\t\tcolor: var(--md-sys-color-outline);\n\t\tuser-select: none;\n\t\tfont-size: inherit;\n\t}\n`];\n\t/**\n\t * Programming language for syntax highlighting\n\t */\n\t@property({ type: String })\n\tlanguage: string = 'javascript'\n\n\t/**\n\t * Code content to highlight\n\t */\n\t@property({ type: String })\n\tcode: string = ''\n\n\t/**\n\t * Optional filename or title to display in header\n\t */\n\t@property({ type: String })\n\tfilename?: string\n\n\t/**\n\t * Show line numbers\n\t */\n\t@property({ type: Boolean })\n\tlineNumbers: boolean = false\n\n\t/**\n\t * Show copy button\n\t */\n\t@property({ type: Boolean })\n\tcopyButton: boolean = true\n\n\t/**\n\t * Highlighted line numbers (comma-separated or ranges like \"1-3,5,7-9\")\n\t */\n\t@property({ type: String })\n\thighlightLines?: string\n\n\t/**\n\t * Maximum height before scrolling\n\t */\n\t@property({ type: String })\n\tmaxHeight?: string\n\n\t@state()\n\tprivate copied: boolean = false\n\n\tprivate get highlightedCode(): string {\n\t\tif (!this.code) return ''\n\n\t\tlet highlightedHtml = ''\n\n\t\ttry {\n\t\t\t// Use highlight.js to get highlighted code\n\t\t\tconst result = hljs.highlight(this.code.trim(), { language: this.language })\n\t\t\thighlightedHtml = result.value\n\t\t} catch {\n\t\t\t// Fallback to auto-detection if language is not supported\n\t\t\ttry {\n\t\t\t\tconst result = hljs.highlightAuto(this.code.trim())\n\t\t\t\thighlightedHtml = result.value\n\t\t\t} catch {\n\t\t\t\t// Final fallback to escaped plain text\n\t\t\t\thighlightedHtml = this.escapeHtml(this.code.trim())\n\t\t\t}\n\t\t}\n\n\t\t// Process for line numbers and highlighting if needed\n\t\tif (this.lineNumbers || this.highlightLines) {\n\t\t\treturn this.addLineFeatures(highlightedHtml)\n\t\t}\n\n\t\treturn highlightedHtml\n\t}\n\n\tprivate escapeHtml(text: string): string {\n\t\tconst div = document.createElement('div')\n\t\tdiv.textContent = text\n\t\treturn div.innerHTML\n\t}\n\n\tprivate getHighlightedLines(): Set<number> {\n\t\tconst lines = new Set<number>()\n\t\tif (!this.highlightLines) return lines\n\n\t\tconst parts = this.highlightLines.split(',')\n\t\tfor (const part of parts) {\n\t\t\tconst trimmed = part.trim()\n\t\t\tif (trimmed.includes('-')) {\n\t\t\t\tconst [start, end] = trimmed.split('-').map(n => parseInt(n.trim()))\n\t\t\t\tif (!isNaN(start) && !isNaN(end)) {\n\t\t\t\t\tfor (let i = start; i <= end; i++) {\n\t\t\t\t\t\tlines.add(i)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst lineNum = parseInt(trimmed)\n\t\t\t\tif (!isNaN(lineNum)) {\n\t\t\t\t\tlines.add(lineNum)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn lines\n\t}\n\n\tprivate addLineFeatures(highlightedHtml: string): string {\n\t\tconst lines = highlightedHtml.split('\\n')\n\t\tconst highlightedLines = this.getHighlightedLines()\n\n\t\treturn lines\n\t\t\t.map((line, index) => {\n\t\t\t\tconst lineNumber = index + 1\n\t\t\t\tconst isHighlighted = highlightedLines.has(lineNumber)\n\t\t\t\tconst lineClass = isHighlighted ? 'code-line highlighted' : 'code-line'\n\n\t\t\t\tlet content = ''\n\t\t\t\tif (this.lineNumbers) {\n\t\t\t\t\tcontent += `<span class=\"line-number\">${lineNumber}</span>`\n\t\t\t\t}\n\t\t\t\tcontent += line\n\n\t\t\t\treturn `<div class=\"${lineClass}\">${content}</div>`\n\t\t\t})\n\t\t\t.join('')\n\t}\n\n\tprivate async copyCode() {\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(this.code)\n\t\t\tthis.copied = true\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.copied = false\n\t\t\t}, 2000)\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to copy code:', err)\n\t\t}\n\t}\n\n\tprivate getLanguageLabel(): string {\n\t\tconst languageMap: Record<string, string> = {\n\t\t\tjavascript: 'JavaScript',\n\t\t\ttypescript: 'TypeScript',\n\t\t\thtml: 'HTML',\n\t\t\tmarkdown: 'Markdown',\n\t\t\tbash: 'Bash',\n\t\t}\n\n\t\tif (this.filename) {\n\t\t\treturn this.filename\n\t\t}\n\n\t\treturn languageMap[this.language.toLowerCase()] || this.language.toUpperCase()\n\t}\n\n\trender() {\n\t\tconst codeClass = this.lineNumbers || this.highlightLines ? 'code-with-lines' : 'hljs'\n\n\t\treturn html`\n\t\t\t<schmancy-details class=\"bg-surface-default\">\n\t\t\t\t<section slot=\"summary\">\n\t\t\t\t\t<!-- Header -->\n\t\t\t\t\t<div class=\"flex items-center justify-between\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<div class=\"flex gap-1.5\">\n\t\t\t\t\t\t\t\t<div class=\"w-3 h-3 rounded-full opacity-60\" style=\"background-color: var(--md-sys-color-error);\"></div>\n\t\t\t\t\t\t\t\t<div class=\"w-3 h-3 rounded-full opacity-60\" style=\"background-color: var(--md-sys-color-tertiary);\"></div>\n\t\t\t\t\t\t\t\t<div class=\"w-3 h-3 rounded-full opacity-60\" style=\"background-color: var(--md-sys-color-secondary);\"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<span class=\"text-xs font-medium opacity-70 ml-2\" style=\"color: var(--md-sys-color-on-surface-variant);\">\n\t\t\t\t\t\t\t\t${this.getLanguageLabel()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t${this.copyButton\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t.variant=\"${this.copied ? 'filled tonal' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t@click=${this.copyCode}\n\t\t\t\t\t\t\t\t\t\tclass=\"transition-all\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<schmancy-icon > ${this.copied ? 'check' : 'content_copy'} </schmancy-icon>\n\t\t\t\t\t\t\t\t\t\t<span class=\"ml-1\">${this.copied ? 'Copied!' : 'Copy'}</span>\n\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t</div>\n\t\t\t\t</section>\n\t\t\t\t<!-- Code -->\n\t\t\t\t<div class=\"overflow-auto\" style=\"${this.maxHeight ? `max-height: ${this.maxHeight}` : ''}\">\n\t\t\t\t\t<pre class=\"m-0\"><code class=\"${codeClass}\">${unsafeHTML(this.highlightedCode)}</code></pre>\n\t\t\t\t</div>\n\t\t\t</schmancy-details>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-code': SchmancyCode\n\t}\n}\n","import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { timer } from 'rxjs'\nimport { take } from 'rxjs/operators'\n\n/**\n * @element schmancy-code-preview\n * A component that shows code and its rendered preview side by side\n * Takes the content as a slot and displays both the source and rendered result\n */\n@customElement('schmancy-code-preview')\nexport class SchmancyCodePreview extends SchmancyElement {\n\tstatic styles = [\n\t\tcss`:host{\n\t\t\tdisplay:block;\n\t\t\toverflow:hidden;\n\t\t\tposition:relative;\n\t\t\tinset:0;\n\t\t}`,\n\t];\n\n\t/**\n\t * Programming language for syntax highlighting\n\t */\n\t@property({ type: String })\n\tlanguage: string = 'html'\n\n\t/**\n\t * Show code on top or side-by-side\n\t */\n\t@property({ type: String })\n\tlayout: 'vertical' | 'horizontal' = 'vertical'\n\n\t/**\n\t * Whether to render/execute the code in preview section\n\t * When false, only shows the code without rendering\n\t */\n\t@property({ type: Boolean })\n\tpreview: boolean = true\n\n\t@state()\n\tprivate slotContent: string = ''\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\t// Capture the slot content as HTML string\n\t\ttimer(0).pipe(take(1)).subscribe(() => {\n\t\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\t\tif (slot) {\n\t\t\t\tconst nodes = slot.assignedNodes({ flatten: true })\n\t\t\t\tconst htmlStrings = nodes.map(node => {\n\t\t\t\t\tif (node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\t\t\treturn (node as HTMLElement).outerHTML\n\t\t\t\t\t} else if (node.nodeType === Node.TEXT_NODE) {\n\t\t\t\t\t\treturn node.textContent || ''\n\t\t\t\t\t}\n\t\t\t\t\treturn ''\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\t// Clean up the HTML string\n\t\t\t\tconst rawContent = htmlStrings.join('')\n\t\t\t\t\n\t\t\t\t// Find the minimum indentation (excluding empty lines)\n\t\t\t\tconst lines = rawContent.split('\\n')\n\t\t\t\tconst minIndent = lines\n\t\t\t\t\t.filter(line => line.trim().length > 0)\n\t\t\t\t\t.reduce((min, line) => {\n\t\t\t\t\t\tconst indent = line.match(/^(\\s*)/)?.[1].length || 0\n\t\t\t\t\t\treturn Math.min(min, indent)\n\t\t\t\t\t}, Infinity)\n\t\t\t\t\n\t\t\t\t// Remove the minimum indentation from all lines\n\t\t\t\tthis.slotContent = lines\n\t\t\t\t\t.map(line => line.slice(minIndent))\n\t\t\t\t\t.join('\\n')\n\t\t\t\t\t.trim()\n\t\t\t}\n\t\t})\n\t}\n\n\trender() {\n\t\tconst containerClass = this.layout === 'horizontal' \n\t\t\t? 'grid grid-cols-1 lg:grid-cols-2 gap-0' \n\t\t\t: 'flex flex-col'\n\n\t\tconst showPreview = this.preview && this.language.toLowerCase() === 'html'\n\t\t\n\t\treturn html`\n\t\t\t<schmancy-surface class=\"rounded-lg overflow-hidden\">\n\t\t\t\t<div class=\"${showPreview ? containerClass : ''}\">\n\t\t\t\t\t<!-- Code section with proper overflow handling -->\n\t\t\t\t\t<div class=\"min-w-0 overflow-hidden\">\n\t\t\t\t\t\t<schmancy-code\n\t\t\t\t\t\t\tlanguage=\"${this.language}\"\n\t\t\t\t\t\t\t.code=\"${this.slotContent}\"\n\t\t\t\t\t\t\t?copyButton=\"${true}\"\n\t\t\t\t\t\t\tclass=\"block w-full\"\n\t\t\t\t\t\t></schmancy-code>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t<!-- Preview section (only visible for HTML and when preview is enabled) -->\n\t\t\t\t\t${showPreview ? html`\n\t\t\t\t\t\t<div class=\"min-w-0 overflow-auto\">\n\t\t\t\t\t\t\t<schmancy-surface type=\"solid\" class=\"p-2 h-full\">\n\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t</schmancy-surface>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t` : html`\n\t\t\t\t\t\t<!-- Hidden slot to capture content -->\n\t\t\t\t\t\t<div class=\"hidden\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`}\n\t\t\t\t</div>\n\t\t\t</schmancy-surface>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-code-preview': SchmancyCodePreview\n\t}\n}"],"mappings":"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"}
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./code-highlight-Ddp0oZnm.cjs`);Object.defineProperty(exports,`SchmancyCode`,{enumerable:!0,get:function(){return e.n}}),Object.defineProperty(exports,`SchmancyCodeHighlight`,{enumerable:!0,get:function(){return e.n}}),Object.defineProperty(exports,`SchmancyCodePreview`,{enumerable:!0,get:function(){return e.t}});
@@ -1,2 +0,0 @@
1
- import { n as e, t } from "./code-highlight-DtE2-ObF.js";
2
- export { e as SchmancyCode, e as SchmancyCodeHighlight, t as SchmancyCodePreview };