@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.
- package/custom-elements.json +4 -707
- package/dist/agent/{flow-CaPi2G8y.js.map → flow-3RrZM-e7.js.map} +1 -1
- package/dist/agent/schmancy.agent.js +2807 -4687
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +6 -471
- package/dist/agent/{vendor-jsqr-r7GNh4P3.js.map → vendor-jsqr-BUVwyoGC.js.map} +1 -1
- package/dist/agent/{vendor-material-color-Be96dpGE.js.map → vendor-material-color-33Mj762T.js.map} +1 -1
- package/dist/{area-D5haQE-J.js → area-CIZZ5tbB.js} +1 -1
- package/dist/{area-D5haQE-J.js.map → area-CIZZ5tbB.js.map} +1 -1
- package/dist/{area-CSQdhCBF.cjs → area-oZjYJlUy.cjs} +1 -1
- package/dist/{area-CSQdhCBF.cjs.map → area-oZjYJlUy.cjs.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-DtyjZJ1E.js → autocomplete-C1oDLuol.js} +2 -2
- package/dist/{autocomplete-DtyjZJ1E.js.map → autocomplete-C1oDLuol.js.map} +1 -1
- package/dist/{autocomplete-B_bJXUjm.cjs → autocomplete-X20i6D62.cjs} +1 -1
- package/dist/{autocomplete-B_bJXUjm.cjs.map → autocomplete-X20i6D62.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/avatar.cjs +1 -1
- package/dist/avatar.js +2 -2
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-BJLCp-Hv.cjs → boat-CUx58Gwe.cjs} +1 -1
- package/dist/{boat-BJLCp-Hv.cjs.map → boat-CUx58Gwe.cjs.map} +1 -1
- package/dist/{boat-MT8bRT8u.js → boat-CpE0yAlK.js} +1 -1
- package/dist/{boat-MT8bRT8u.js.map → boat-CpE0yAlK.js.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +1 -1
- package/dist/breadcrumb.js +1 -1
- package/dist/{busy-6BqWGryX.js → busy-C9n-DUY4.js} +1 -1
- package/dist/{busy-6BqWGryX.js.map → busy-C9n-DUY4.js.map} +1 -1
- package/dist/{busy-DSF2E-zy.cjs → busy-D1DKZhgV.cjs} +1 -1
- package/dist/{busy-DSF2E-zy.cjs.map → busy-D1DKZhgV.cjs.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/{card-CvuVha-W.js → card-B3hN-qzk.js} +1 -1
- package/dist/{card-CvuVha-W.js.map → card-B3hN-qzk.js.map} +1 -1
- package/dist/{card-DnKnaHzf.cjs → card-DZJ7qjf2.cjs} +1 -1
- package/dist/{card-DnKnaHzf.cjs.map → card-DZJ7qjf2.cjs.map} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/charts.cjs +1 -1
- package/dist/charts.js +1 -1
- package/dist/{checkbox-QDRsE8cp.js → checkbox-CvmB1ev9.js} +1 -1
- package/dist/{checkbox-QDRsE8cp.js.map → checkbox-CvmB1ev9.js.map} +1 -1
- package/dist/{checkbox-D3u8Wm9r.cjs → checkbox-DapdzDow.cjs} +1 -1
- package/dist/{checkbox-D3u8Wm9r.cjs.map → checkbox-DapdzDow.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-CMoQzop1.cjs → chips-7g6mWRuh.cjs} +1 -1
- package/dist/{chips-CMoQzop1.cjs.map → chips-7g6mWRuh.cjs.map} +1 -1
- package/dist/{chips-Dy9vx8JS.js → chips-C8Y3_3ke.js} +2 -2
- package/dist/{chips-Dy9vx8JS.js.map → chips-C8Y3_3ke.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/connectivity.cjs +1 -1
- package/dist/connectivity.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-Boesjlic.js → date-range-DdcaPX7C.js} +2 -2
- package/dist/{date-range-Boesjlic.js.map → date-range-DdcaPX7C.js.map} +1 -1
- package/dist/{date-range-B2NuihKA.cjs → date-range-ZfUl4duV.cjs} +1 -1
- package/dist/{date-range-B2NuihKA.cjs.map → date-range-ZfUl4duV.cjs.map} +1 -1
- package/dist/{date-range-inline-BI6_4Ahl.cjs → date-range-inline-D-d7N6bh.cjs} +1 -1
- package/dist/{date-range-inline-BI6_4Ahl.cjs.map → date-range-inline-D-d7N6bh.cjs.map} +1 -1
- package/dist/{date-range-inline-DBuND2pc.js → date-range-inline-QQmIWhZ4.js} +1 -1
- package/dist/{date-range-inline-DBuND2pc.js.map → date-range-inline-QQmIWhZ4.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +2 -2
- package/dist/{details-BRs_z5-k.cjs → details-3rL6UQU8.cjs} +1 -1
- package/dist/{details-BRs_z5-k.cjs.map → details-3rL6UQU8.cjs.map} +1 -1
- package/dist/{details-BrGrUTGC.js → details-Dpjh-XnJ.js} +1 -1
- package/dist/{details-BrGrUTGC.js.map → details-Dpjh-XnJ.js.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{divider-W3TiDasp.js → divider-BdfEKQsH.js} +1 -1
- package/dist/{divider-W3TiDasp.js.map → divider-BdfEKQsH.js.map} +1 -1
- package/dist/{divider-BOxQ2T9h.cjs → divider-CutXDz3F.cjs} +1 -1
- package/dist/{divider-BOxQ2T9h.cjs.map → divider-CutXDz3F.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{expand-CnccBF91.cjs → expand-DM6zfZf7.cjs} +1 -1
- package/dist/{expand-CnccBF91.cjs.map → expand-DM6zfZf7.cjs.map} +1 -1
- package/dist/{expand-Pu8fZ0jZ.js → expand-DrgMPJbu.js} +2 -2
- package/dist/{expand-Pu8fZ0jZ.js.map → expand-DrgMPJbu.js.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{extra-DxEWs41z.js → extra-B6gFu4_1.js} +1 -1
- package/dist/{extra-DxEWs41z.js.map → extra-B6gFu4_1.js.map} +1 -1
- package/dist/{extra-B8IPs6gG.cjs → extra-DJRYaOXe.cjs} +1 -1
- package/dist/{extra-B8IPs6gG.cjs.map → extra-DJRYaOXe.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{float-WCVdp3um.js → float-1iihPek5.js} +1 -1
- package/dist/{float-WCVdp3um.js.map → float-1iihPek5.js.map} +1 -1
- package/dist/{float-BRKa-P6Z.cjs → float-Ckyk85XG.cjs} +1 -1
- package/dist/{float-BRKa-P6Z.cjs.map → float-Ckyk85XG.cjs.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{form-CI59gad4.js.map → form-BF1c3Dk1.js.map} +1 -1
- package/dist/{form-B2qudx_q.cjs.map → form-DeO5XX3b.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/dist/{hashContent-a8uVr3xs.js.map → hashContent-BU6jl5ih.js.map} +1 -1
- package/dist/{hashContent-ejkBgDnN.cjs.map → hashContent-Bobsobip.cjs.map} +1 -1
- package/dist/{icons-DXEbmg-O.cjs → icons-CV-fiGcW.cjs} +1 -1
- package/dist/{icons-DXEbmg-O.cjs.map → icons-CV-fiGcW.cjs.map} +1 -1
- package/dist/{icons-C0ufCcdp.js → icons-DUkcTZAY.js} +1 -1
- package/dist/{icons-C0ufCcdp.js.map → icons-DUkcTZAY.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-c9lGxw7x.js → iframe-C9tj7F6Y.js} +1 -1
- package/dist/{iframe-c9lGxw7x.js.map → iframe-C9tj7F6Y.js.map} +1 -1
- package/dist/{iframe-C6RVODkW.cjs → iframe-DF97oGtZ.cjs} +1 -1
- package/dist/{iframe-C6RVODkW.cjs.map → iframe-DF97oGtZ.cjs.map} +1 -1
- package/dist/iframe.cjs +1 -1
- package/dist/iframe.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +70 -72
- package/dist/{input-Pmj_bH37.js → input-DE7x223Y.js} +1 -1
- package/dist/{input-Pmj_bH37.js.map → input-DE7x223Y.js.map} +1 -1
- package/dist/{input-B4HM-9-H.cjs → input-TW9G3n7X.cjs} +1 -1
- package/dist/{input-B4HM-9-H.cjs.map → input-TW9G3n7X.cjs.map} +1 -1
- package/dist/{input-chip-BIGgd_7w.js → input-chip-BdoaVw_D.js} +1 -1
- package/dist/{input-chip-BIGgd_7w.js.map → input-chip-BdoaVw_D.js.map} +1 -1
- package/dist/{input-chip-BoDisY6c.cjs → input-chip-Do48eI5r.cjs} +1 -1
- package/dist/{input-chip-BoDisY6c.cjs.map → input-chip-Do48eI5r.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.js +2 -2
- package/dist/kbd.cjs +1 -1
- package/dist/kbd.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{lightbox-K1eJTYXP.js → lightbox-DcutIyjx.js} +2 -2
- package/dist/{lightbox-K1eJTYXP.js.map → lightbox-DcutIyjx.js.map} +1 -1
- package/dist/{lightbox-DK1vDKm3.cjs → lightbox-sPfnYzjJ.cjs} +1 -1
- package/dist/{lightbox-DK1vDKm3.cjs.map → lightbox-sPfnYzjJ.cjs.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-Ds0Nv1y5.js → list-BWrtrdgs.js} +1 -1
- package/dist/{list-Ds0Nv1y5.js.map → list-BWrtrdgs.js.map} +1 -1
- package/dist/{list-CEuVqAxN.cjs → list-C4vasUly.cjs} +1 -1
- package/dist/{list-CEuVqAxN.cjs.map → list-C4vasUly.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{map-BrBSrIqg.cjs → map-BAQ9FEB6.cjs} +1 -1
- package/dist/{map-BrBSrIqg.cjs.map → map-BAQ9FEB6.cjs.map} +1 -1
- package/dist/{map-1uwxxvBa.js → map-CEreveeI.js} +1 -1
- package/dist/{map-1uwxxvBa.js.map → map-CEreveeI.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{menu-Bly30Nje.cjs → menu-3yXDZusj.cjs} +1 -1
- package/dist/{menu-Bly30Nje.cjs.map → menu-3yXDZusj.cjs.map} +1 -1
- package/dist/{menu-L8MK1ma5.js → menu-CxChOxWT.js} +2 -2
- package/dist/{menu-L8MK1ma5.js.map → menu-CxChOxWT.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins-Db7gjDah.cjs +298 -0
- package/dist/{mixins-CAb0b03r.cjs.map → mixins-Db7gjDah.cjs.map} +1 -1
- package/dist/mixins-Dw6hVfy-.js +627 -0
- package/dist/{mixins-B34UxxCe.js.map → mixins-Dw6hVfy-.js.map} +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-7fSbk8hm.cjs → notification-DKYy9qVe.cjs} +1 -1
- package/dist/{notification-7fSbk8hm.cjs.map → notification-DKYy9qVe.cjs.map} +1 -1
- package/dist/{notification-DB25M-qo.js → notification-ycbUBbOu.js} +2 -2
- package/dist/{notification-DB25M-qo.js.map → notification-ycbUBbOu.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-DDHa25k5.js → option-DtOhMd3k.js} +1 -1
- package/dist/{option-DDHa25k5.js.map → option-DtOhMd3k.js.map} +1 -1
- package/dist/{option-HF9Xqbuq.cjs → option-zgVge3BH.cjs} +1 -1
- package/dist/{option-HF9Xqbuq.cjs.map → option-zgVge3BH.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-stack-CCiTaf_C.js.map → overlay-stack-DCDS17uj.js.map} +1 -1
- package/dist/{overlay-stack-CFGiYf34.cjs.map → overlay-stack-DPIe_aYv.cjs.map} +1 -1
- package/dist/overlay.cjs +1 -1
- package/dist/{overlay.confirm-body-BDG94R0x.js → overlay.confirm-body-AFqYBqrI.js} +1 -1
- package/dist/{overlay.confirm-body-BDG94R0x.js.map → overlay.confirm-body-AFqYBqrI.js.map} +1 -1
- package/dist/{overlay.confirm-body-b4Nx_OVf.cjs → overlay.confirm-body-DctQLDao.cjs} +1 -1
- package/dist/{overlay.confirm-body-b4Nx_OVf.cjs.map → overlay.confirm-body-DctQLDao.cjs.map} +1 -1
- package/dist/overlay.js +3 -3
- package/dist/{overlay.service-BUCuZa6V.js → overlay.service-B9On2-Aa.js} +2 -2
- package/dist/{overlay.service-BUCuZa6V.js.map → overlay.service-B9On2-Aa.js.map} +1 -1
- package/dist/{overlay.service-CRHZZY9F.cjs → overlay.service-k2nCE4pi.cjs} +1 -1
- package/dist/{overlay.service-CRHZZY9F.cjs.map → overlay.service-k2nCE4pi.cjs.map} +1 -1
- package/dist/page.cjs +1 -1
- package/dist/page.js +2 -2
- package/dist/{payment-card-form-C4jb-OdM.js → payment-card-form-Be1-OVlL.js} +1 -1
- package/dist/{payment-card-form-C4jb-OdM.js.map → payment-card-form-Be1-OVlL.js.map} +1 -1
- package/dist/{payment-card-form-WEx4CscR.cjs → payment-card-form-CNnGePG4.cjs} +1 -1
- package/dist/{payment-card-form-WEx4CscR.cjs.map → payment-card-form-CNnGePG4.cjs.map} +1 -1
- package/dist/payment-card-form.cjs +1 -1
- package/dist/payment-card-form.js +1 -1
- package/dist/{progress-CqOyMM4i.js → progress-BFWzmTlz.js} +1 -1
- package/dist/{progress-CqOyMM4i.js.map → progress-BFWzmTlz.js.map} +1 -1
- package/dist/{progress-54R4QRgW.cjs → progress-C4TGG2eN.cjs} +1 -1
- package/dist/{progress-54R4QRgW.cjs.map → progress-C4TGG2eN.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/qr-scanner.cjs +1 -1
- package/dist/qr-scanner.js +1 -1
- package/dist/{radio-group-B4zbBIZF.js → radio-group-DTNAW5dd.js} +1 -1
- package/dist/{radio-group-B4zbBIZF.js.map → radio-group-DTNAW5dd.js.map} +1 -1
- package/dist/{radio-group-BJqZpYVy.cjs → radio-group-xLRp1g57.cjs} +1 -1
- package/dist/{radio-group-BJqZpYVy.cjs.map → radio-group-xLRp1g57.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +1 -1
- package/dist/range.js +1 -1
- package/dist/{rxjs-utils-BXpvHN4-.js.map → rxjs-utils-BK8VMe3K.js.map} +1 -1
- package/dist/{rxjs-utils-CaC-tdot.cjs.map → rxjs-utils-DhOKenkS.cjs.map} +1 -1
- package/dist/rxjs-utils.cjs +1 -1
- package/dist/rxjs-utils.js +1 -1
- package/dist/{scroll-CYm6Krus.js → scroll-BCmdqSQU.js} +1 -1
- package/dist/{scroll-CYm6Krus.js.map → scroll-BCmdqSQU.js.map} +1 -1
- package/dist/{scroll-iSRovYYt.cjs → scroll-Bdgb-vRy.cjs} +1 -1
- package/dist/{scroll-iSRovYYt.cjs.map → scroll-Bdgb-vRy.cjs.map} +1 -1
- package/dist/{select-1WHseXP6.js → select-COGARE0b.js} +2 -2
- package/dist/{select-1WHseXP6.js.map → select-COGARE0b.js.map} +1 -1
- package/dist/{select-DiQHtQJN.cjs → select-Cv5t_PT3.cjs} +1 -1
- package/dist/{select-DiQHtQJN.cjs.map → select-Cv5t_PT3.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.js +1 -1
- package/dist/skills/INDEX.md +1 -4
- package/dist/skills/schmancy/INDEX.md +1 -4
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{splash-screen-CJL8DGDe.cjs → splash-screen-B8rFbjqT.cjs} +1 -1
- package/dist/{splash-screen-CJL8DGDe.cjs.map → splash-screen-B8rFbjqT.cjs.map} +1 -1
- package/dist/{splash-screen-BwvtKMdN.js → splash-screen-DbGbGttg.js} +1 -1
- package/dist/{splash-screen-BwvtKMdN.js.map → splash-screen-DbGbGttg.js.map} +1 -1
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-UaZeROcW.js → src-YRir9pOP.js} +37 -39
- package/dist/{src-UaZeROcW.js.map → src-YRir9pOP.js.map} +1 -1
- package/dist/{src-Bwr2NR0A.cjs → src-b8D-Ec-Q.cjs} +1 -1
- package/dist/{src-Bwr2NR0A.cjs.map → src-b8D-Ec-Q.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-DPUkQ3OL.js → surface-BE7sGTBt.js} +1 -1
- package/dist/{surface-DPUkQ3OL.js.map → surface-BE7sGTBt.js.map} +1 -1
- package/dist/{surface-DE5iuI8e.cjs → surface-BvudRtf5.cjs} +1 -1
- package/dist/{surface-DE5iuI8e.cjs.map → surface-BvudRtf5.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch.cjs +1 -1
- package/dist/switch.js +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-CsDQ72Qk.cjs → tabs-C0XKld1Z.cjs} +1 -1
- package/dist/{tabs-CsDQ72Qk.cjs.map → tabs-C0XKld1Z.cjs.map} +1 -1
- package/dist/{tabs-B2XEQPQl.js → tabs-DIzCRsA3.js} +1 -1
- package/dist/{tabs-B2XEQPQl.js.map → tabs-DIzCRsA3.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-aeAP9cDG.cjs → textarea-BCDCGCJd.cjs} +1 -1
- package/dist/{textarea-aeAP9cDG.cjs.map → textarea-BCDCGCJd.cjs.map} +1 -1
- package/dist/{textarea-C_ps0lL-.js → textarea-UbZzBwqm.js} +1 -1
- package/dist/{textarea-C_ps0lL-.js.map → textarea-UbZzBwqm.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-DAYTVw13.cjs → theme-CIsI-sFj.cjs} +1 -1
- package/dist/{theme-DAYTVw13.cjs.map → theme-CIsI-sFj.cjs.map} +1 -1
- package/dist/{theme-DAx1iRNr.js → theme-Qh-yPEPL.js} +2 -2
- package/dist/{theme-DAx1iRNr.js.map → theme-Qh-yPEPL.js.map} +1 -1
- package/dist/{theme-button-BrHkzCtj.js → theme-button-CjTnfs9x.js} +1 -1
- package/dist/{theme-button-BrHkzCtj.js.map → theme-button-CjTnfs9x.js.map} +1 -1
- package/dist/{theme-button-LsMKY_N_.cjs → theme-button-Dv1D_Vil.cjs} +1 -1
- package/dist/{theme-button-LsMKY_N_.cjs.map → theme-button-Dv1D_Vil.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.interface-DESopuZS.cjs.map → theme.interface-BeW-sz_g.cjs.map} +1 -1
- package/dist/{theme.interface-C_034TxG.js.map → theme.interface-v7SkAnDH.js.map} +1 -1
- package/dist/theme.js +3 -3
- package/dist/timeline.cjs +1 -1
- package/dist/timeline.js +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/{utils-BzFQfaIr.js → utils-BfOze6Tk.js} +1 -1
- package/dist/{utils-BzFQfaIr.js.map → utils-BfOze6Tk.js.map} +1 -1
- package/dist/{utils-oLBkMvor.cjs → utils-CJ9y2Jz9.cjs} +1 -1
- package/dist/{utils-oLBkMvor.cjs.map → utils-CJ9y2Jz9.cjs.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +2 -2
- package/dist/visually-hidden.cjs +1 -1
- package/dist/visually-hidden.js +1 -1
- package/dist/{window-BJrKS6Zr.cjs → window-9HOUXrTU.cjs} +1 -1
- package/dist/{window-BJrKS6Zr.cjs.map → window-9HOUXrTU.cjs.map} +1 -1
- package/dist/{window-CyDuTN80.js → window-B_55dzk0.js} +2 -2
- package/dist/{window-CyDuTN80.js.map → window-B_55dzk0.js.map} +1 -1
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +1 -2
- package/skills/schmancy/INDEX.md +1 -4
- package/src/index.ts +0 -2
- package/types/src/index.d.ts +0 -2
- package/dist/agent/vendor-highlight-CHJZQQB7.js +0 -2178
- package/dist/agent/vendor-highlight-CHJZQQB7.js.map +0 -1
- package/dist/code-highlight-Ddp0oZnm.cjs +0 -190
- package/dist/code-highlight-Ddp0oZnm.cjs.map +0 -1
- package/dist/code-highlight-DtE2-ObF.js +0 -296
- package/dist/code-highlight-DtE2-ObF.js.map +0 -1
- package/dist/code-highlight.cjs +0 -1
- package/dist/code-highlight.js +0 -2
- package/dist/mailbox-CDWqbVvZ.cjs +0 -1140
- package/dist/mailbox-CDWqbVvZ.cjs.map +0 -1
- package/dist/mailbox-DD2How0H.js +0 -1607
- package/dist/mailbox-DD2How0H.js.map +0 -1
- package/dist/mailbox.cjs +0 -1
- package/dist/mailbox.js +0 -2
- package/dist/mixins-B34UxxCe.js +0 -627
- package/dist/mixins-CAb0b03r.cjs +0 -298
- package/dist/skills/code-highlight.md +0 -47
- package/dist/skills/mailbox.md +0 -102
- package/dist/skills/schmancy/code-highlight.md +0 -47
- package/dist/skills/schmancy/mailbox.md +0 -102
- package/skills/schmancy/code-highlight.md +0 -47
- package/skills/schmancy/mailbox.md +0 -102
- package/src/code-highlight/code-highlight.ts +0 -345
- package/src/code-highlight/code-preview.ts +0 -125
- package/src/code-highlight/index.ts +0 -3
- package/src/mailbox/README.md +0 -128
- package/src/mailbox/email-editor.ts +0 -1076
- package/src/mailbox/email-layout-selector.ts +0 -58
- package/src/mailbox/email-recipients.ts +0 -599
- package/src/mailbox/email-template-picker.ts +0 -303
- package/src/mailbox/email-viewer.ts +0 -717
- package/src/mailbox/index.ts +0 -31
- package/src/mailbox/mailbox.ts +0 -364
- package/src/mailbox/types.ts +0 -180
- package/types/src/code-highlight/code-highlight.d.ts +0 -49
- package/types/src/code-highlight/code-preview.d.ts +0 -30
- package/types/src/code-highlight/index.d.ts +0 -3
- package/types/src/mailbox/email-editor.d.ts +0 -101
- package/types/src/mailbox/email-layout-selector.d.ts +0 -18
- package/types/src/mailbox/email-recipients.d.ts +0 -122
- package/types/src/mailbox/email-template-picker.d.ts +0 -54
- package/types/src/mailbox/email-viewer.d.ts +0 -86
- package/types/src/mailbox/index.d.ts +0 -12
- package/types/src/mailbox/mailbox.d.ts +0 -82
- package/types/src/mailbox/types.d.ts +0 -176
- /package/dist/agent/{flow-CaPi2G8y.js → flow-3RrZM-e7.js} +0 -0
- /package/dist/agent/{vendor-jsqr-r7GNh4P3.js → vendor-jsqr-BUVwyoGC.js} +0 -0
- /package/dist/agent/{vendor-material-color-Be96dpGE.js → vendor-material-color-33Mj762T.js} +0 -0
- /package/dist/{form-CI59gad4.js → form-BF1c3Dk1.js} +0 -0
- /package/dist/{form-B2qudx_q.cjs → form-DeO5XX3b.cjs} +0 -0
- /package/dist/{hashContent-a8uVr3xs.js → hashContent-BU6jl5ih.js} +0 -0
- /package/dist/{hashContent-ejkBgDnN.cjs → hashContent-Bobsobip.cjs} +0 -0
- /package/dist/{overlay-stack-CCiTaf_C.js → overlay-stack-DCDS17uj.js} +0 -0
- /package/dist/{overlay-stack-CFGiYf34.cjs → overlay-stack-DPIe_aYv.cjs} +0 -0
- /package/dist/{rxjs-utils-BXpvHN4-.js → rxjs-utils-BK8VMe3K.js} +0 -0
- /package/dist/{rxjs-utils-CaC-tdot.cjs → rxjs-utils-DhOKenkS.cjs} +0 -0
- /package/dist/{theme.interface-DESopuZS.cjs → theme.interface-BeW-sz_g.cjs} +0 -0
- /package/dist/{theme.interface-C_034TxG.js → theme.interface-v7SkAnDH.js} +0 -0
package/src/mailbox/index.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Schmancy Mailbox Components
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive email composition and management system
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
// Export types
|
|
8
|
-
export * from './types'
|
|
9
|
-
|
|
10
|
-
// Export components
|
|
11
|
-
export { SchmancyMailbox } from './mailbox'
|
|
12
|
-
export { SchmancyEmailEditor } from './email-editor'
|
|
13
|
-
export { SchmancyEmailViewer } from './email-viewer'
|
|
14
|
-
export { SchmancyEmailRecipients } from './email-recipients'
|
|
15
|
-
export { SchmancyEmailLayoutSelector } from './email-layout-selector'
|
|
16
|
-
|
|
17
|
-
// Re-export key types for convenience
|
|
18
|
-
export type {
|
|
19
|
-
EmailTemplate,
|
|
20
|
-
EmailAttachment,
|
|
21
|
-
EmailComposeConfig,
|
|
22
|
-
SendEmailRequest,
|
|
23
|
-
SendEmailResponse,
|
|
24
|
-
ImportSource,
|
|
25
|
-
EmailCampaign,
|
|
26
|
-
EmailRecipient,
|
|
27
|
-
MailboxState,
|
|
28
|
-
CurrentComposeState,
|
|
29
|
-
BoatState,
|
|
30
|
-
EmailPreviewMode
|
|
31
|
-
} from './types'
|
package/src/mailbox/mailbox.ts
DELETED
|
@@ -1,364 +0,0 @@
|
|
|
1
|
-
import { SchmancyElement } from '@mixins/index'
|
|
2
|
-
import { html, css } from 'lit'
|
|
3
|
-
import { customElement, property, state } from 'lit/decorators.js'
|
|
4
|
-
import { when } from 'lit/directives/when.js'
|
|
5
|
-
import type {
|
|
6
|
-
EmailTemplate,
|
|
7
|
-
EmailAttachment,
|
|
8
|
-
EmailComposeConfig,
|
|
9
|
-
SendEmailRequest,
|
|
10
|
-
ImportSource
|
|
11
|
-
} from './types'
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Main mailbox component that orchestrates the entire email composition flow
|
|
15
|
-
*
|
|
16
|
-
* Features:
|
|
17
|
-
* - Responsive layout with composer and preview panels
|
|
18
|
-
* - Recipients management with floating boat interface
|
|
19
|
-
* - Template selection and content editing
|
|
20
|
-
* - Attachment handling
|
|
21
|
-
* - Email validation and sending
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```html
|
|
25
|
-
* <schmancy-mailbox
|
|
26
|
-
* .config=${{ sendEndpoint: '/api/send-email' }}
|
|
27
|
-
* .templates=${emailTemplates}
|
|
28
|
-
* .importSources=${recipientSources}
|
|
29
|
-
* ></schmancy-mailbox>
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
@customElement('schmancy-mailbox')
|
|
33
|
-
export class SchmancyMailbox extends SchmancyElement {
|
|
34
|
-
static styles = [css`
|
|
35
|
-
:host {
|
|
36
|
-
display: block;
|
|
37
|
-
height: 100%;
|
|
38
|
-
}
|
|
39
|
-
`]
|
|
40
|
-
|
|
41
|
-
/** Configuration for endpoints and handlers */
|
|
42
|
-
@property({ type: Object }) config: EmailComposeConfig = {}
|
|
43
|
-
|
|
44
|
-
/** Available email templates */
|
|
45
|
-
@property({ type: Array }) templates: EmailTemplate[] = []
|
|
46
|
-
|
|
47
|
-
/** Import sources for recipients panel */
|
|
48
|
-
@property({ type: Array }) importSources: ImportSource[] = []
|
|
49
|
-
|
|
50
|
-
/** Disable all interactions */
|
|
51
|
-
@property({ type: Boolean }) disabled = false
|
|
52
|
-
|
|
53
|
-
/** Recipients panel title */
|
|
54
|
-
@property({ type: String }) recipientsTitle = 'Recipients'
|
|
55
|
-
|
|
56
|
-
/** Empty state title for recipients */
|
|
57
|
-
@property({ type: String }) recipientsEmptyTitle = 'No recipients yet'
|
|
58
|
-
|
|
59
|
-
/** Empty state message for recipients */
|
|
60
|
-
@property({ type: String }) recipientsEmptyMessage = 'Import from sources or upload a CSV'
|
|
61
|
-
|
|
62
|
-
/** Enable CSV import functionality */
|
|
63
|
-
@property({ type: Boolean }) enableCsvImport = true
|
|
64
|
-
|
|
65
|
-
/** Enable drag and drop for files */
|
|
66
|
-
@property({ type: Boolean }) enableDragDrop = true
|
|
67
|
-
|
|
68
|
-
/** Email composition state */
|
|
69
|
-
@state() private recipients: string[] = []
|
|
70
|
-
@state() private selectedRecipients: string[] = []
|
|
71
|
-
@state() private subject = ''
|
|
72
|
-
@state() private body = ''
|
|
73
|
-
@state() private templateId: string | null = null
|
|
74
|
-
@state() private attachments: EmailAttachment[] = []
|
|
75
|
-
@state() private isSending = false
|
|
76
|
-
|
|
77
|
-
connectedCallback() {
|
|
78
|
-
super.connectedCallback()
|
|
79
|
-
this.setSending(this.disabled)
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
updated(changedProperties: Map<string, unknown>) {
|
|
83
|
-
super.updated(changedProperties)
|
|
84
|
-
|
|
85
|
-
// Sync sending state
|
|
86
|
-
if (changedProperties.has('disabled')) {
|
|
87
|
-
this.setSending(this.disabled)
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/** Handle emails imported from various sources */
|
|
92
|
-
private handleEmailsImported = (event: CustomEvent) => {
|
|
93
|
-
const { emails } = event.detail
|
|
94
|
-
|
|
95
|
-
// Add unique emails to recipients list
|
|
96
|
-
const uniqueEmails = [...new Set([...this.recipients, ...emails])]
|
|
97
|
-
const newEmails = emails.filter((email: string) => !this.recipients.includes(email))
|
|
98
|
-
|
|
99
|
-
this.recipients = uniqueEmails
|
|
100
|
-
|
|
101
|
-
// Auto-select imported emails
|
|
102
|
-
this.selectedRecipients = [...new Set([...this.selectedRecipients, ...newEmails])]
|
|
103
|
-
|
|
104
|
-
// Dispatch event to parent
|
|
105
|
-
this.dispatchEvent(new CustomEvent('emails-imported', {
|
|
106
|
-
detail: { emails: newEmails, source: event.detail.source },
|
|
107
|
-
bubbles: true,
|
|
108
|
-
composed: true
|
|
109
|
-
}))
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/** Handle individual recipient removal */
|
|
113
|
-
private handleRecipientRemoved = (event: CustomEvent) => {
|
|
114
|
-
const { email } = event.detail
|
|
115
|
-
this.recipients = this.recipients.filter(e => e !== email)
|
|
116
|
-
this.selectedRecipients = this.selectedRecipients.filter(e => e !== email)
|
|
117
|
-
|
|
118
|
-
this.dispatchEvent(new CustomEvent('recipient-removed', {
|
|
119
|
-
detail: { email },
|
|
120
|
-
bubbles: true,
|
|
121
|
-
composed: true
|
|
122
|
-
}))
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/** Handle clearing all recipients */
|
|
126
|
-
private handleRecipientsCleared = () => {
|
|
127
|
-
this.recipients = []
|
|
128
|
-
this.selectedRecipients = []
|
|
129
|
-
|
|
130
|
-
this.dispatchEvent(new CustomEvent('recipients-cleared', {
|
|
131
|
-
bubbles: true,
|
|
132
|
-
composed: true
|
|
133
|
-
}))
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/** Handle recipient selection changes */
|
|
137
|
-
private handleSelectionChanged = (event: CustomEvent) => {
|
|
138
|
-
const { selectedEmails } = event.detail
|
|
139
|
-
this.selectedRecipients = selectedEmails
|
|
140
|
-
|
|
141
|
-
this.dispatchEvent(new CustomEvent('selection-changed', {
|
|
142
|
-
detail: { selectedEmails },
|
|
143
|
-
bubbles: true,
|
|
144
|
-
composed: true
|
|
145
|
-
}))
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/** Handle composer content changes */
|
|
149
|
-
private handleEditorChange = (event: CustomEvent) => {
|
|
150
|
-
const { subject, body, templateId, attachments } = event.detail
|
|
151
|
-
this.subject = subject
|
|
152
|
-
this.body = body
|
|
153
|
-
this.templateId = templateId
|
|
154
|
-
this.attachments = attachments
|
|
155
|
-
|
|
156
|
-
this.dispatchEvent(new CustomEvent('compose-changed', {
|
|
157
|
-
detail: { subject, body, templateId, attachments },
|
|
158
|
-
bubbles: true,
|
|
159
|
-
composed: true
|
|
160
|
-
}))
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/** Handle email sending */
|
|
164
|
-
private handleSend = async () => {
|
|
165
|
-
// Validation
|
|
166
|
-
if (this.selectedRecipients.length === 0) {
|
|
167
|
-
this.dispatchEvent(new CustomEvent('send-error', {
|
|
168
|
-
detail: { error: 'Please select at least one recipient' },
|
|
169
|
-
bubbles: true,
|
|
170
|
-
composed: true
|
|
171
|
-
}))
|
|
172
|
-
return
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
if (!this.subject.trim()) {
|
|
176
|
-
this.dispatchEvent(new CustomEvent('send-error', {
|
|
177
|
-
detail: { error: 'Please enter a subject' },
|
|
178
|
-
bubbles: true,
|
|
179
|
-
composed: true
|
|
180
|
-
}))
|
|
181
|
-
return
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
if (!this.body.trim()) {
|
|
185
|
-
this.dispatchEvent(new CustomEvent('send-error', {
|
|
186
|
-
detail: { error: 'Please enter a message body' },
|
|
187
|
-
bubbles: true,
|
|
188
|
-
composed: true
|
|
189
|
-
}))
|
|
190
|
-
return
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
this.isSending = true
|
|
194
|
-
|
|
195
|
-
try {
|
|
196
|
-
const request: SendEmailRequest = {
|
|
197
|
-
recipients: this.selectedRecipients,
|
|
198
|
-
subject: this.subject,
|
|
199
|
-
body: this.body,
|
|
200
|
-
attachments: this.attachments,
|
|
201
|
-
templateId: this.templateId
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
// Dispatch event for parent to handle
|
|
205
|
-
this.dispatchEvent(new CustomEvent('send-email', {
|
|
206
|
-
detail: { request },
|
|
207
|
-
bubbles: true,
|
|
208
|
-
composed: true
|
|
209
|
-
}))
|
|
210
|
-
|
|
211
|
-
} catch (error) {
|
|
212
|
-
this.dispatchEvent(new CustomEvent('send-error', {
|
|
213
|
-
detail: { error: error instanceof Error ? error.message : 'Failed to send email' },
|
|
214
|
-
bubbles: true,
|
|
215
|
-
composed: true
|
|
216
|
-
}))
|
|
217
|
-
} finally {
|
|
218
|
-
this.isSending = false
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
// Public API methods for external control
|
|
223
|
-
|
|
224
|
-
/** Add recipients programmatically */
|
|
225
|
-
public addRecipients(emails: string[]) {
|
|
226
|
-
const uniqueEmails = [...new Set([...this.recipients, ...emails])]
|
|
227
|
-
const newEmails = emails.filter(email => !this.recipients.includes(email))
|
|
228
|
-
|
|
229
|
-
this.recipients = uniqueEmails
|
|
230
|
-
this.selectedRecipients = [...new Set([...this.selectedRecipients, ...newEmails])]
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/** Set email subject */
|
|
234
|
-
public setSubject(subject: string) {
|
|
235
|
-
this.subject = subject
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/** Set email body */
|
|
239
|
-
public setBody(body: string) {
|
|
240
|
-
this.body = body
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
/** Set selected template */
|
|
244
|
-
public setTemplate(templateId: string | null) {
|
|
245
|
-
this.templateId = templateId
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
/** Clear all compose data */
|
|
249
|
-
public clearCompose() {
|
|
250
|
-
this.recipients = []
|
|
251
|
-
this.selectedRecipients = []
|
|
252
|
-
this.subject = ''
|
|
253
|
-
this.body = ''
|
|
254
|
-
this.templateId = null
|
|
255
|
-
this.attachments = []
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
/** Set sending state */
|
|
259
|
-
public setSending(sending: boolean) {
|
|
260
|
-
this.isSending = sending
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
render() {
|
|
264
|
-
const canSend = this.selectedRecipients.length > 0 &&
|
|
265
|
-
this.subject.trim() &&
|
|
266
|
-
this.body.trim() &&
|
|
267
|
-
!this.isSending &&
|
|
268
|
-
!this.disabled
|
|
269
|
-
|
|
270
|
-
return html`
|
|
271
|
-
<!-- Main Layout Container -->
|
|
272
|
-
<div class="flex flex-col h-full gap-6 p-6">
|
|
273
|
-
|
|
274
|
-
<!-- Main Content Section: Composer and Preview -->
|
|
275
|
-
<div class="flex flex-col xl:flex-row gap-6 flex-1 min-h-0">
|
|
276
|
-
|
|
277
|
-
<!-- Composer Section - Full width on mobile/tablet, half on large screens -->
|
|
278
|
-
<div class="w-full xl:w-1/2 min-h-0 flex flex-col">
|
|
279
|
-
<schmancy-email-editor
|
|
280
|
-
.subject=${this.subject}
|
|
281
|
-
.body=${this.body}
|
|
282
|
-
.templates=${this.templates}
|
|
283
|
-
.attachments=${this.attachments}
|
|
284
|
-
.disabled=${this.disabled}
|
|
285
|
-
.config=${this.config}
|
|
286
|
-
@editor-change=${this.handleEditorChange}
|
|
287
|
-
class="h-full"
|
|
288
|
-
></schmancy-email-editor>
|
|
289
|
-
</div>
|
|
290
|
-
|
|
291
|
-
<!-- Preview Section - Full width on mobile/tablet, half on large screens -->
|
|
292
|
-
<div class="w-full xl:w-1/2 min-h-0 flex flex-col">
|
|
293
|
-
<schmancy-email-viewer
|
|
294
|
-
.subject=${this.subject}
|
|
295
|
-
.body=${this.body}
|
|
296
|
-
.recipients=${this.selectedRecipients}
|
|
297
|
-
.attachments=${this.attachments}
|
|
298
|
-
class="h-full"
|
|
299
|
-
></schmancy-email-viewer>
|
|
300
|
-
</div>
|
|
301
|
-
|
|
302
|
-
</div>
|
|
303
|
-
|
|
304
|
-
<!-- Send Section - Sticky bottom bar -->
|
|
305
|
-
<div class="shrink-0">
|
|
306
|
-
<schmancy-surface
|
|
307
|
-
type="subtle"
|
|
308
|
-
rounded="all"
|
|
309
|
-
class="p-4"
|
|
310
|
-
>
|
|
311
|
-
<div class="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4">
|
|
312
|
-
<!-- Send Info -->
|
|
313
|
-
<div class="flex flex-col gap-1">
|
|
314
|
-
<schmancy-typography type="body" token="sm" class="font-medium">
|
|
315
|
-
${this.selectedRecipients.length} recipient${this.selectedRecipients.length === 1 ? '' : 's'} selected
|
|
316
|
-
</schmancy-typography>
|
|
317
|
-
${when(this.attachments.length > 0, () => html`
|
|
318
|
-
<schmancy-typography type="body" token="xs">
|
|
319
|
-
${this.attachments.length} attachment${this.attachments.length === 1 ? '' : 's'}
|
|
320
|
-
</schmancy-typography>
|
|
321
|
-
`)}
|
|
322
|
-
</div>
|
|
323
|
-
|
|
324
|
-
<!-- Send Button -->
|
|
325
|
-
<schmancy-button
|
|
326
|
-
variant="filled"
|
|
327
|
-
?disabled=${!canSend}
|
|
328
|
-
@click=${this.handleSend}
|
|
329
|
-
class="w-full sm:w-auto"
|
|
330
|
-
>
|
|
331
|
-
<schmancy-icon slot="prefix" size="18px">send</schmancy-icon>
|
|
332
|
-
${this.isSending ? 'Sending...' : 'Send Email'}
|
|
333
|
-
</schmancy-button>
|
|
334
|
-
</div>
|
|
335
|
-
</schmancy-surface>
|
|
336
|
-
</div>
|
|
337
|
-
|
|
338
|
-
</div>
|
|
339
|
-
|
|
340
|
-
<!-- Recipients Panel as Floating Boat -->
|
|
341
|
-
<schmancy-email-recipients
|
|
342
|
-
.recipients=${this.recipients}
|
|
343
|
-
.selectedRecipients=${this.selectedRecipients}
|
|
344
|
-
.importSources=${this.importSources}
|
|
345
|
-
.disabled=${this.disabled}
|
|
346
|
-
.enableCsvImport=${this.enableCsvImport}
|
|
347
|
-
.enableDragDrop=${this.enableDragDrop}
|
|
348
|
-
.title=${this.recipientsTitle}
|
|
349
|
-
.emptyStateTitle=${this.recipientsEmptyTitle}
|
|
350
|
-
.emptyStateMessage=${this.recipientsEmptyMessage}
|
|
351
|
-
@emails-imported=${this.handleEmailsImported}
|
|
352
|
-
@recipient-removed=${this.handleRecipientRemoved}
|
|
353
|
-
@recipients-cleared=${this.handleRecipientsCleared}
|
|
354
|
-
@selection-changed=${this.handleSelectionChanged}
|
|
355
|
-
></schmancy-email-recipients>
|
|
356
|
-
`
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
declare global {
|
|
361
|
-
interface HTMLElementTagNameMap {
|
|
362
|
-
'schmancy-mailbox': SchmancyMailbox
|
|
363
|
-
}
|
|
364
|
-
}
|
package/src/mailbox/types.ts
DELETED
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mailbox component types and interfaces
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Email template definition
|
|
7
|
-
*/
|
|
8
|
-
export interface EmailTemplate {
|
|
9
|
-
id: string
|
|
10
|
-
name: string
|
|
11
|
-
subject: string
|
|
12
|
-
body: string
|
|
13
|
-
isDefault?: boolean
|
|
14
|
-
createdAt?: Date | string
|
|
15
|
-
category?: string
|
|
16
|
-
description?: string
|
|
17
|
-
thumbnail?: string
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Email attachment definition
|
|
22
|
-
*/
|
|
23
|
-
export interface EmailAttachment {
|
|
24
|
-
id: string
|
|
25
|
-
file: File
|
|
26
|
-
name: string
|
|
27
|
-
size: number
|
|
28
|
-
type: string
|
|
29
|
-
url?: string // For attachments that have been uploaded
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Configuration for email composer component
|
|
34
|
-
*/
|
|
35
|
-
export interface EmailComposeConfig {
|
|
36
|
-
/** Endpoint for sending emails */
|
|
37
|
-
sendEndpoint?: string
|
|
38
|
-
/** Endpoint for fetching templates */
|
|
39
|
-
templatesEndpoint?: string
|
|
40
|
-
/** Endpoint for uploading files */
|
|
41
|
-
uploadEndpoint?: string
|
|
42
|
-
/** Function to authenticate requests */
|
|
43
|
-
authenticateRequest?: (request: RequestInit) => RequestInit
|
|
44
|
-
/** Custom upload handler for attachments */
|
|
45
|
-
uploadHandler?: (file: File) => Promise<string>
|
|
46
|
-
/** Custom image upload handler */
|
|
47
|
-
imageUploadHandler?: (file: File) => Promise<string>
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Email send request structure
|
|
52
|
-
*/
|
|
53
|
-
export interface SendEmailRequest {
|
|
54
|
-
recipients: string[]
|
|
55
|
-
subject: string
|
|
56
|
-
body: string
|
|
57
|
-
attachments: EmailAttachment[]
|
|
58
|
-
templateId?: string | null
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Email send response structure
|
|
63
|
-
*/
|
|
64
|
-
export interface SendEmailResponse {
|
|
65
|
-
success: boolean
|
|
66
|
-
message: string
|
|
67
|
-
campaignId?: string
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Import source definition for recipients panel
|
|
72
|
-
*/
|
|
73
|
-
export interface ImportSource {
|
|
74
|
-
id: string
|
|
75
|
-
label: string
|
|
76
|
-
icon: string
|
|
77
|
-
handler: () => void
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* CSV parsing result
|
|
82
|
-
*/
|
|
83
|
-
export interface CsvParseResult {
|
|
84
|
-
validEmails: string[]
|
|
85
|
-
invalidEmails: string[]
|
|
86
|
-
totalRows: number
|
|
87
|
-
duplicates: string[]
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Email recipient status
|
|
92
|
-
*/
|
|
93
|
-
export type EmailRecipientStatus = 'pending' | 'sent' | 'failed'
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Email recipient definition
|
|
97
|
-
*/
|
|
98
|
-
export interface EmailRecipient {
|
|
99
|
-
email: string
|
|
100
|
-
name?: string
|
|
101
|
-
status: EmailRecipientStatus
|
|
102
|
-
error?: string
|
|
103
|
-
sentAt?: Date | string
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Email campaign definition
|
|
108
|
-
*/
|
|
109
|
-
export interface EmailCampaign {
|
|
110
|
-
id?: string
|
|
111
|
-
subject: string
|
|
112
|
-
body: string
|
|
113
|
-
plainText?: string
|
|
114
|
-
recipients: EmailRecipient[]
|
|
115
|
-
status: 'draft' | 'sent' | 'failed' | 'sending'
|
|
116
|
-
createdAt?: Date | string
|
|
117
|
-
sentAt?: Date | string
|
|
118
|
-
createdBy?: string
|
|
119
|
-
templateId?: string
|
|
120
|
-
attachments?: EmailAttachment[]
|
|
121
|
-
stats?: {
|
|
122
|
-
totalRecipients: number
|
|
123
|
-
sent: number
|
|
124
|
-
failed: number
|
|
125
|
-
batches?: number
|
|
126
|
-
retries?: number
|
|
127
|
-
opened?: number
|
|
128
|
-
clicked?: number
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Mailbox state for context management
|
|
134
|
-
*/
|
|
135
|
-
export interface MailboxState {
|
|
136
|
-
campaigns: EmailCampaign[]
|
|
137
|
-
templates: EmailTemplate[]
|
|
138
|
-
loading: boolean
|
|
139
|
-
error: string | null
|
|
140
|
-
currentCampaign: Partial<EmailCampaign> | null
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Current compose state for context management
|
|
145
|
-
*/
|
|
146
|
-
export interface CurrentComposeState {
|
|
147
|
-
selectedEmails: string[]
|
|
148
|
-
subject: string
|
|
149
|
-
body: string
|
|
150
|
-
templateId: string | null
|
|
151
|
-
attachments: EmailAttachment[]
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Email compose events
|
|
156
|
-
*/
|
|
157
|
-
export type EmailComposeEvents = {
|
|
158
|
-
'emails-imported': CustomEvent<{ emails: string[]; source: string }>
|
|
159
|
-
'recipient-removed': CustomEvent<{ email: string }>
|
|
160
|
-
'recipients-cleared': CustomEvent<{}>
|
|
161
|
-
'selection-changed': CustomEvent<{ selectedEmails: string[] }>
|
|
162
|
-
'compose-changed': CustomEvent<{
|
|
163
|
-
subject: string
|
|
164
|
-
body: string
|
|
165
|
-
templateId: string | null
|
|
166
|
-
attachments: EmailAttachment[]
|
|
167
|
-
}>
|
|
168
|
-
'send-email': CustomEvent<{ request: SendEmailRequest }>
|
|
169
|
-
'send-error': CustomEvent<{ error: string }>
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Boat state options for recipients panel
|
|
174
|
-
*/
|
|
175
|
-
export type BoatState = 'collapsed' | 'expanded'
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Email preview view modes
|
|
179
|
-
*/
|
|
180
|
-
export type EmailPreviewMode = 'html' | 'plaintext'
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { SchmancyElement } from '@mixins/index';
|
|
2
|
-
/**
|
|
3
|
-
* @element schmancy-code
|
|
4
|
-
* Code highlighting component using highlight.js with schmancy theming support
|
|
5
|
-
*/
|
|
6
|
-
export declare class SchmancyCode extends SchmancyElement {
|
|
7
|
-
static styles: import("lit").CSSResult[];
|
|
8
|
-
/**
|
|
9
|
-
* Programming language for syntax highlighting
|
|
10
|
-
*/
|
|
11
|
-
language: string;
|
|
12
|
-
/**
|
|
13
|
-
* Code content to highlight
|
|
14
|
-
*/
|
|
15
|
-
code: string;
|
|
16
|
-
/**
|
|
17
|
-
* Optional filename or title to display in header
|
|
18
|
-
*/
|
|
19
|
-
filename?: string;
|
|
20
|
-
/**
|
|
21
|
-
* Show line numbers
|
|
22
|
-
*/
|
|
23
|
-
lineNumbers: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Show copy button
|
|
26
|
-
*/
|
|
27
|
-
copyButton: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Highlighted line numbers (comma-separated or ranges like "1-3,5,7-9")
|
|
30
|
-
*/
|
|
31
|
-
highlightLines?: string;
|
|
32
|
-
/**
|
|
33
|
-
* Maximum height before scrolling
|
|
34
|
-
*/
|
|
35
|
-
maxHeight?: string;
|
|
36
|
-
private copied;
|
|
37
|
-
private get highlightedCode();
|
|
38
|
-
private escapeHtml;
|
|
39
|
-
private getHighlightedLines;
|
|
40
|
-
private addLineFeatures;
|
|
41
|
-
private copyCode;
|
|
42
|
-
private getLanguageLabel;
|
|
43
|
-
render(): import("lit-html").TemplateResult<1>;
|
|
44
|
-
}
|
|
45
|
-
declare global {
|
|
46
|
-
interface HTMLElementTagNameMap {
|
|
47
|
-
'schmancy-code': SchmancyCode;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { SchmancyElement } from '@mixins/index';
|
|
2
|
-
/**
|
|
3
|
-
* @element schmancy-code-preview
|
|
4
|
-
* A component that shows code and its rendered preview side by side
|
|
5
|
-
* Takes the content as a slot and displays both the source and rendered result
|
|
6
|
-
*/
|
|
7
|
-
export declare class SchmancyCodePreview extends SchmancyElement {
|
|
8
|
-
static styles: import("lit").CSSResult[];
|
|
9
|
-
/**
|
|
10
|
-
* Programming language for syntax highlighting
|
|
11
|
-
*/
|
|
12
|
-
language: string;
|
|
13
|
-
/**
|
|
14
|
-
* Show code on top or side-by-side
|
|
15
|
-
*/
|
|
16
|
-
layout: 'vertical' | 'horizontal';
|
|
17
|
-
/**
|
|
18
|
-
* Whether to render/execute the code in preview section
|
|
19
|
-
* When false, only shows the code without rendering
|
|
20
|
-
*/
|
|
21
|
-
preview: boolean;
|
|
22
|
-
private slotContent;
|
|
23
|
-
connectedCallback(): void;
|
|
24
|
-
render(): import("lit-html").TemplateResult<1>;
|
|
25
|
-
}
|
|
26
|
-
declare global {
|
|
27
|
-
interface HTMLElementTagNameMap {
|
|
28
|
-
'schmancy-code-preview': SchmancyCodePreview;
|
|
29
|
-
}
|
|
30
|
-
}
|