@mhmo91/schmancy 0.10.4 → 0.10.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +17 -220
- package/dist/agent/schmancy.agent.js +3770 -4600
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +6 -211
- package/dist/{area-ZupIezvU.cjs → area-CSQdhCBF.cjs} +1 -1
- package/dist/{area-ZupIezvU.cjs.map → area-CSQdhCBF.cjs.map} +1 -1
- package/dist/{area-DHVANBbr.js → area-D5haQE-J.js} +1 -1
- package/dist/{area-DHVANBbr.js.map → area-D5haQE-J.js.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-Bn525CTp.cjs → autocomplete-B_bJXUjm.cjs} +1 -1
- package/dist/{autocomplete-Bn525CTp.cjs.map → autocomplete-B_bJXUjm.cjs.map} +1 -1
- package/dist/{autocomplete-pHvsyfbH.js → autocomplete-DtyjZJ1E.js} +2 -2
- package/dist/{autocomplete-pHvsyfbH.js.map → autocomplete-DtyjZJ1E.js.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-IyEtsNI4.cjs → boat-BJLCp-Hv.cjs} +1 -1
- package/dist/{boat-IyEtsNI4.cjs.map → boat-BJLCp-Hv.cjs.map} +1 -1
- package/dist/{boat-_Yv3M6YM.js → boat-MT8bRT8u.js} +2 -2
- package/dist/{boat-_Yv3M6YM.js.map → boat-MT8bRT8u.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-Ck2IXJ4r.js → busy-6BqWGryX.js} +1 -1
- package/dist/{busy-Ck2IXJ4r.js.map → busy-6BqWGryX.js.map} +1 -1
- package/dist/{busy-CjM39APN.cjs → busy-DSF2E-zy.cjs} +1 -1
- package/dist/{busy-CjM39APN.cjs.map → busy-DSF2E-zy.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 +3 -3
- package/dist/{card-DUWZmMHc.js → card-CvuVha-W.js} +1 -1
- package/dist/{card-DUWZmMHc.js.map → card-CvuVha-W.js.map} +1 -1
- package/dist/{card-DIxDuuth.cjs → card-DnKnaHzf.cjs} +1 -1
- package/dist/{card-DIxDuuth.cjs.map → card-DnKnaHzf.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-CGdFXuWQ.cjs → checkbox-D3u8Wm9r.cjs} +1 -1
- package/dist/{checkbox-CGdFXuWQ.cjs.map → checkbox-D3u8Wm9r.cjs.map} +1 -1
- package/dist/{checkbox-DPS1mWG-.js → checkbox-QDRsE8cp.js} +1 -1
- package/dist/{checkbox-DPS1mWG-.js.map → checkbox-QDRsE8cp.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-UoFbwmlG.cjs → chips-CMoQzop1.cjs} +1 -1
- package/dist/{chips-UoFbwmlG.cjs.map → chips-CMoQzop1.cjs.map} +1 -1
- package/dist/{chips-BnnXQSA-.js → chips-Dy9vx8JS.js} +4 -4
- package/dist/{chips-BnnXQSA-.js.map → chips-Dy9vx8JS.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/{code-highlight-CMilN0B8.cjs → code-highlight-Ddp0oZnm.cjs} +1 -1
- package/dist/{code-highlight-CMilN0B8.cjs.map → code-highlight-Ddp0oZnm.cjs.map} +1 -1
- package/dist/{code-highlight-kFUJ1Eet.js → code-highlight-DtE2-ObF.js} +1 -1
- package/dist/{code-highlight-kFUJ1Eet.js.map → code-highlight-DtE2-ObF.js.map} +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- 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/{context-daN5G6HS.cjs.map → context-BpCETidA.cjs.map} +1 -1
- package/dist/{context-Bdu1xt0W.js.map → context-DJTJnSK4.js.map} +1 -1
- package/dist/date-range-B2NuihKA.cjs +131 -0
- package/dist/date-range-B2NuihKA.cjs.map +1 -0
- package/dist/{date-range-DOstCIg8.js → date-range-Boesjlic.js} +99 -113
- package/dist/date-range-Boesjlic.js.map +1 -0
- package/dist/{date-range-inline-4P7zqeVe.cjs → date-range-inline-BI6_4Ahl.cjs} +1 -1
- package/dist/{date-range-inline-4P7zqeVe.cjs.map → date-range-inline-BI6_4Ahl.cjs.map} +1 -1
- package/dist/{date-range-inline-BVycTWLb.js → date-range-inline-DBuND2pc.js} +1 -1
- package/dist/{date-range-inline-BVycTWLb.js.map → date-range-inline-DBuND2pc.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-BJBbZOO6.cjs → details-BRs_z5-k.cjs} +1 -1
- package/dist/{details-BJBbZOO6.cjs.map → details-BRs_z5-k.cjs.map} +1 -1
- package/dist/{details-DPc5GxPa.js → details-BrGrUTGC.js} +2 -2
- package/dist/{details-DPc5GxPa.js.map → details-BrGrUTGC.js.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +2 -2
- package/dist/{divider-DPT3XnG5.cjs → divider-BOxQ2T9h.cjs} +1 -1
- package/dist/{divider-DPT3XnG5.cjs.map → divider-BOxQ2T9h.cjs.map} +1 -1
- package/dist/{divider-BvJsmSPH.js → divider-W3TiDasp.js} +1 -1
- package/dist/{divider-BvJsmSPH.js.map → divider-W3TiDasp.js.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-CTqBWVXo.cjs → expand-CnccBF91.cjs} +1 -1
- package/dist/{expand-CTqBWVXo.cjs.map → expand-CnccBF91.cjs.map} +1 -1
- package/dist/{expand-BMzocdtj.js → expand-Pu8fZ0jZ.js} +2 -2
- package/dist/{expand-BMzocdtj.js.map → expand-Pu8fZ0jZ.js.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{extra-h_cuxRII.cjs → extra-B8IPs6gG.cjs} +1 -1
- package/dist/{extra-h_cuxRII.cjs.map → extra-B8IPs6gG.cjs.map} +1 -1
- package/dist/{extra-BeHlUhzv.js → extra-DxEWs41z.js} +1 -1
- package/dist/{extra-BeHlUhzv.js.map → extra-DxEWs41z.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{float-CwVBs11k.cjs → float-BRKa-P6Z.cjs} +1 -1
- package/dist/{float-CwVBs11k.cjs.map → float-BRKa-P6Z.cjs.map} +1 -1
- package/dist/{float-CTc1xxqH.js → float-WCVdp3um.js} +1 -1
- package/dist/{float-CTc1xxqH.js.map → float-WCVdp3um.js.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{form-CSJp687X.cjs.map → form-B2qudx_q.cjs.map} +1 -1
- package/dist/{form-BtwOBMZ9.js.map → form-CI59gad4.js.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-1ARKIsx9.js.map → hashContent-a8uVr3xs.js.map} +1 -1
- package/dist/{hashContent-Bp5S6T4U.cjs.map → hashContent-ejkBgDnN.cjs.map} +1 -1
- package/dist/{icons-BbCVrcas.js → icons-C0ufCcdp.js} +2 -2
- package/dist/{icons-BbCVrcas.js.map → icons-C0ufCcdp.js.map} +1 -1
- package/dist/{icons-qEQW4pjM.cjs → icons-DXEbmg-O.cjs} +1 -1
- package/dist/{icons-qEQW4pjM.cjs.map → icons-DXEbmg-O.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-D6HTruav.cjs → iframe-C6RVODkW.cjs} +1 -1
- package/dist/{iframe-D6HTruav.cjs.map → iframe-C6RVODkW.cjs.map} +1 -1
- package/dist/{iframe-BJfDIEJf.js → iframe-c9lGxw7x.js} +1 -1
- package/dist/{iframe-BJfDIEJf.js.map → iframe-c9lGxw7x.js.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 +72 -76
- package/dist/{input-U26axtcs.cjs → input-B4HM-9-H.cjs} +1 -1
- package/dist/{input-U26axtcs.cjs.map → input-B4HM-9-H.cjs.map} +1 -1
- package/dist/{input-LTK3cctF.js → input-Pmj_bH37.js} +1 -1
- package/dist/{input-LTK3cctF.js.map → input-Pmj_bH37.js.map} +1 -1
- package/dist/{input-chip-Ch-aCs3c.js → input-chip-BIGgd_7w.js} +1 -1
- package/dist/{input-chip-Ch-aCs3c.js.map → input-chip-BIGgd_7w.js.map} +1 -1
- package/dist/{input-chip-CADXt0X5.cjs → input-chip-BoDisY6c.cjs} +1 -1
- package/dist/{input-chip-CADXt0X5.cjs.map → input-chip-BoDisY6c.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-C4xmnU4n.js → layout-CXPNsUIo.js} +1 -1
- package/dist/{layout-C4xmnU4n.js.map → layout-CXPNsUIo.js.map} +1 -1
- package/dist/{layout-Dmh6fxh0.cjs → layout-Zhe7wSZ_.cjs} +1 -1
- package/dist/{layout-Dmh6fxh0.cjs.map → layout-Zhe7wSZ_.cjs.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{lightbox-DbYUSfVl.cjs → lightbox-DK1vDKm3.cjs} +1 -1
- package/dist/{lightbox-DbYUSfVl.cjs.map → lightbox-DK1vDKm3.cjs.map} +1 -1
- package/dist/{lightbox-DqG2z3Cn.js → lightbox-K1eJTYXP.js} +2 -2
- package/dist/{lightbox-DqG2z3Cn.js.map → lightbox-K1eJTYXP.js.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-CLX4sSAw.cjs → list-CEuVqAxN.cjs} +1 -1
- package/dist/{list-CLX4sSAw.cjs.map → list-CEuVqAxN.cjs.map} +1 -1
- package/dist/{list-D6-_E5ZD.js → list-Ds0Nv1y5.js} +1 -1
- package/dist/{list-D6-_E5ZD.js.map → list-Ds0Nv1y5.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{magnetic-BH0TsofV.cjs.map → magnetic-BJgB1dVi.cjs.map} +1 -1
- package/dist/{magnetic-BZGFxAWG.js.map → magnetic-YwCNvtbB.js.map} +1 -1
- package/dist/{mailbox-Ct6iYe-4.cjs → mailbox-CDWqbVvZ.cjs} +58 -58
- package/dist/mailbox-CDWqbVvZ.cjs.map +1 -0
- package/dist/{mailbox-DsPII8HR.js → mailbox-DD2How0H.js} +112 -101
- package/dist/mailbox-DD2How0H.js.map +1 -0
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-Dhy3ta9v.js → map-1uwxxvBa.js} +1 -1
- package/dist/{map-Dhy3ta9v.js.map → map-1uwxxvBa.js.map} +1 -1
- package/dist/{map-WXeVkx2K.cjs → map-BrBSrIqg.cjs} +1 -1
- package/dist/{map-WXeVkx2K.cjs.map → map-BrBSrIqg.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/menu-Bly30Nje.cjs +23 -0
- package/dist/menu-Bly30Nje.cjs.map +1 -0
- package/dist/menu-L8MK1ma5.js +62 -0
- package/dist/menu-L8MK1ma5.js.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins-B34UxxCe.js +627 -0
- package/dist/{mixins-CcIWET41.js.map → mixins-B34UxxCe.js.map} +1 -1
- package/dist/mixins-CAb0b03r.cjs +298 -0
- package/dist/{mixins-De3xfjrm.cjs.map → mixins-CAb0b03r.cjs.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-D_PQjBSf.cjs → notification-7fSbk8hm.cjs} +1 -1
- package/dist/{notification-D_PQjBSf.cjs.map → notification-7fSbk8hm.cjs.map} +1 -1
- package/dist/{notification-CVLqQ8c_.js → notification-DB25M-qo.js} +2 -2
- package/dist/{notification-CVLqQ8c_.js.map → notification-DB25M-qo.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-rm4HebVs.js → option-DDHa25k5.js} +1 -1
- package/dist/{option-rm4HebVs.js.map → option-DDHa25k5.js.map} +1 -1
- package/dist/{option-DDU_goh1.cjs → option-HF9Xqbuq.cjs} +1 -1
- package/dist/{option-DDU_goh1.cjs.map → option-HF9Xqbuq.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-stack-CAQno0CK.js.map → overlay-stack-CCiTaf_C.js.map} +1 -1
- package/dist/{overlay-stack-BprhAE9a.cjs.map → overlay-stack-CFGiYf34.cjs.map} +1 -1
- package/dist/overlay.cjs +5 -53
- package/dist/overlay.cjs.map +1 -1
- package/dist/overlay.confirm-body-BDG94R0x.js +104 -0
- package/dist/overlay.confirm-body-BDG94R0x.js.map +1 -0
- package/dist/overlay.confirm-body-b4Nx_OVf.cjs +49 -0
- package/dist/overlay.confirm-body-b4Nx_OVf.cjs.map +1 -0
- package/dist/overlay.js +120 -360
- package/dist/overlay.js.map +1 -1
- package/dist/overlay.service-BUCuZa6V.js +146 -0
- package/dist/overlay.service-BUCuZa6V.js.map +1 -0
- package/dist/overlay.service-CRHZZY9F.cjs +1 -0
- package/dist/overlay.service-CRHZZY9F.cjs.map +1 -0
- package/dist/page.cjs +1 -1
- package/dist/page.js +4 -4
- package/dist/{payment-card-form-C0dHYZIv.js → payment-card-form-C4jb-OdM.js} +1 -1
- package/dist/{payment-card-form-C0dHYZIv.js.map → payment-card-form-C4jb-OdM.js.map} +1 -1
- package/dist/{payment-card-form-DNvmZxs4.cjs → payment-card-form-WEx4CscR.cjs} +1 -1
- package/dist/{payment-card-form-DNvmZxs4.cjs.map → payment-card-form-WEx4CscR.cjs.map} +1 -1
- package/dist/payment-card-form.cjs +1 -1
- package/dist/payment-card-form.js +1 -1
- package/dist/{progress-U3LQkpM2.cjs → progress-54R4QRgW.cjs} +1 -1
- package/dist/{progress-U3LQkpM2.cjs.map → progress-54R4QRgW.cjs.map} +1 -1
- package/dist/{progress-BRerM5Bn.js → progress-CqOyMM4i.js} +1 -1
- package/dist/{progress-BRerM5Bn.js.map → progress-CqOyMM4i.js.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-BZ2WoOXJ.js → radio-group-B4zbBIZF.js} +1 -1
- package/dist/{radio-group-BZ2WoOXJ.js.map → radio-group-B4zbBIZF.js.map} +1 -1
- package/dist/{radio-group-D7mm-yvJ.cjs → radio-group-BJqZpYVy.cjs} +1 -1
- package/dist/{radio-group-D7mm-yvJ.cjs.map → radio-group-BJqZpYVy.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-d-ivVN84.js.map → rxjs-utils-BXpvHN4-.js.map} +1 -1
- package/dist/{rxjs-utils-Csnks202.cjs.map → rxjs-utils-CaC-tdot.cjs.map} +1 -1
- package/dist/rxjs-utils.cjs +1 -1
- package/dist/rxjs-utils.js +1 -1
- package/dist/{scroll-qL-HkMdP.js → scroll-CYm6Krus.js} +1 -1
- package/dist/{scroll-qL-HkMdP.js.map → scroll-CYm6Krus.js.map} +1 -1
- package/dist/{scroll-DJTjNIT_.cjs → scroll-iSRovYYt.cjs} +1 -1
- package/dist/{scroll-DJTjNIT_.cjs.map → scroll-iSRovYYt.cjs.map} +1 -1
- package/dist/{select-CnPXUeSf.js → select-1WHseXP6.js} +2 -2
- package/dist/{select-CnPXUeSf.js.map → select-1WHseXP6.js.map} +1 -1
- package/dist/{select-BvA7v-gL.cjs → select-DiQHtQJN.cjs} +1 -1
- package/dist/{select-BvA7v-gL.cjs.map → select-DiQHtQJN.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 +2 -2
- package/dist/skills/SKILL.md +13 -9
- package/dist/skills/schmancy/INDEX.md +2 -2
- package/dist/skills/schmancy/SKILL.md +13 -9
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{splash-screen-C8JCqX5L.js → splash-screen-BwvtKMdN.js} +1 -1
- package/dist/{splash-screen-C8JCqX5L.js.map → splash-screen-BwvtKMdN.js.map} +1 -1
- package/dist/{splash-screen-BDt4PInk.cjs → splash-screen-CJL8DGDe.cjs} +1 -1
- package/dist/{splash-screen-BDt4PInk.cjs.map → splash-screen-CJL8DGDe.cjs.map} +1 -1
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-CpRNClhg.cjs → src-Bwr2NR0A.cjs} +13 -13
- package/dist/src-Bwr2NR0A.cjs.map +1 -0
- package/dist/{src-CqdnWGgr.js → src-UaZeROcW.js} +164 -162
- package/dist/src-UaZeROcW.js.map +1 -0
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-Du2Y4vXd.cjs → surface-DE5iuI8e.cjs} +1 -1
- package/dist/{surface-Du2Y4vXd.cjs.map → surface-DE5iuI8e.cjs.map} +1 -1
- package/dist/{surface-C8jQy8Ym.js → surface-DPUkQ3OL.js} +1 -1
- package/dist/{surface-C8jQy8Ym.js.map → surface-DPUkQ3OL.js.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-Cyahh9Q6.js → tabs-B2XEQPQl.js} +1 -1
- package/dist/{tabs-Cyahh9Q6.js.map → tabs-B2XEQPQl.js.map} +1 -1
- package/dist/{tabs-0RfeCa00.cjs → tabs-CsDQ72Qk.cjs} +1 -1
- package/dist/{tabs-0RfeCa00.cjs.map → tabs-CsDQ72Qk.cjs.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-CXCcTVnf.js → textarea-C_ps0lL-.js} +1 -1
- package/dist/{textarea-CXCcTVnf.js.map → textarea-C_ps0lL-.js.map} +1 -1
- package/dist/{textarea-jqRrLxmo.cjs → textarea-aeAP9cDG.cjs} +1 -1
- package/dist/{textarea-jqRrLxmo.cjs.map → textarea-aeAP9cDG.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/theme-DAYTVw13.cjs +181 -0
- package/dist/{theme-Hjz9sCN-.cjs.map → theme-DAYTVw13.cjs.map} +1 -1
- package/dist/{theme-2KZW2Rfs.js → theme-DAx1iRNr.js} +3 -4
- package/dist/{theme-2KZW2Rfs.js.map → theme-DAx1iRNr.js.map} +1 -1
- package/dist/{theme-button-9uF1eoHz.js → theme-button-BrHkzCtj.js} +1 -1
- package/dist/{theme-button-9uF1eoHz.js.map → theme-button-BrHkzCtj.js.map} +1 -1
- package/dist/{theme-button-C7QIbke1.cjs → theme-button-LsMKY_N_.cjs} +1 -1
- package/dist/{theme-button-C7QIbke1.cjs.map → theme-button-LsMKY_N_.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-DnVNre4O.js.map → theme.interface-C_034TxG.js.map} +1 -1
- package/dist/{theme.interface-D9l33b-M.cjs.map → theme.interface-DESopuZS.cjs.map} +1 -1
- package/dist/theme.js +5 -6
- package/dist/theme.service-Cfk88qHK.cjs +1 -0
- package/dist/theme.service-Cfk88qHK.cjs.map +1 -0
- package/dist/{theme.service-CmbOGMA8.js → theme.service-DIUo1mBP.js} +13 -14
- package/dist/theme.service-DIUo1mBP.js.map +1 -0
- 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-hp-DnFf5.js → utils-BzFQfaIr.js} +1 -1
- package/dist/{utils-hp-DnFf5.js.map → utils-BzFQfaIr.js.map} +1 -1
- package/dist/{utils-Cr-YO4Np.cjs → utils-oLBkMvor.cjs} +1 -1
- package/dist/{utils-Cr-YO4Np.cjs.map → utils-oLBkMvor.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-DtUOWiAj.cjs → window-BJrKS6Zr.cjs} +1 -1
- package/dist/{window-DtUOWiAj.cjs.map → window-BJrKS6Zr.cjs.map} +1 -1
- package/dist/{window-C7yY9yp5.js → window-CyDuTN80.js} +3 -3
- package/dist/{window-C7yY9yp5.js.map → window-CyDuTN80.js.map} +1 -1
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +1 -1
- package/skills/schmancy/INDEX.md +2 -2
- package/skills/schmancy/SKILL.md +13 -9
- package/src/content-drawer/drawer.ts +24 -7
- package/src/content-drawer/events.ts +6 -0
- package/src/content-drawer/sheet.ts +13 -12
- package/src/date-range/date-range-dialog.ts +4 -4
- package/src/date-range/date-range.ts +35 -53
- package/src/index.ts +0 -2
- package/src/mailbox/email-editor.ts +17 -18
- package/src/mailbox/email-template-picker.ts +19 -13
- package/src/menu/menu-item.ts +7 -2
- package/src/menu/menu.ts +24 -20
- package/types/src/content-drawer/drawer.d.ts +2 -0
- package/types/src/content-drawer/events.d.ts +6 -0
- package/types/src/content-drawer/sheet.d.ts +6 -5
- package/types/src/date-range/date-range.d.ts +1 -5
- package/types/src/index.d.ts +0 -2
- package/types/src/mailbox/email-template-picker.d.ts +7 -7
- package/types/src/menu/menu-item.d.ts +1 -0
- package/types/src/menu/menu.d.ts +9 -7
- package/dist/date-range-BIyrzTRZ.cjs +0 -131
- package/dist/date-range-BIyrzTRZ.cjs.map +0 -1
- package/dist/date-range-DOstCIg8.js.map +0 -1
- package/dist/dialog-service-DI9PPy4H.js +0 -193
- package/dist/dialog-service-DI9PPy4H.js.map +0 -1
- package/dist/dialog-service-DJd5L0f5.cjs +0 -1
- package/dist/dialog-service-DJd5L0f5.cjs.map +0 -1
- package/dist/dialog.cjs +0 -89
- package/dist/dialog.cjs.map +0 -1
- package/dist/dialog.js +0 -419
- package/dist/dialog.js.map +0 -1
- package/dist/mailbox-Ct6iYe-4.cjs.map +0 -1
- package/dist/mailbox-DsPII8HR.js.map +0 -1
- package/dist/menu-Bhd3EapX.js +0 -56
- package/dist/menu-Bhd3EapX.js.map +0 -1
- package/dist/menu-Cg2aaDjs.cjs +0 -23
- package/dist/menu-Cg2aaDjs.cjs.map +0 -1
- package/dist/mixins-CcIWET41.js +0 -627
- package/dist/mixins-De3xfjrm.cjs +0 -298
- package/dist/sheet-BRL07BB4.js +0 -170
- package/dist/sheet-BRL07BB4.js.map +0 -1
- package/dist/sheet-BYQJAHQn.cjs +0 -35
- package/dist/sheet-BYQJAHQn.cjs.map +0 -1
- package/dist/sheet.cjs +0 -1
- package/dist/sheet.js +0 -3
- package/dist/sheet.service-B25bsrYG.cjs +0 -1
- package/dist/sheet.service-B25bsrYG.cjs.map +0 -1
- package/dist/sheet.service-SPQ8oLCi.js +0 -86
- package/dist/sheet.service-SPQ8oLCi.js.map +0 -1
- package/dist/skills/dialog.md +0 -69
- package/dist/skills/schmancy/dialog.md +0 -69
- package/dist/skills/schmancy/sheet.md +0 -76
- package/dist/skills/sheet.md +0 -76
- package/dist/src-CpRNClhg.cjs.map +0 -1
- package/dist/src-CqdnWGgr.js.map +0 -1
- package/dist/theme-Hjz9sCN-.cjs +0 -181
- package/dist/theme.events-Cv7N4Toe.js +0 -2
- package/dist/theme.events-Cv7N4Toe.js.map +0 -1
- package/dist/theme.events-DM4H5F2d.cjs +0 -1
- package/dist/theme.events-DM4H5F2d.cjs.map +0 -1
- package/dist/theme.service-BrUbGoeQ.cjs +0 -1
- package/dist/theme.service-BrUbGoeQ.cjs.map +0 -1
- package/dist/theme.service-CmbOGMA8.js.map +0 -1
- package/skills/schmancy/dialog.md +0 -69
- package/skills/schmancy/sheet.md +0 -76
- package/src/dialog/dialog-base.mixin.ts +0 -576
- package/src/dialog/dialog-events.ts +0 -17
- package/src/dialog/dialog-service.ts +0 -494
- package/src/dialog/dialog.component.ts +0 -414
- package/src/dialog/index.ts +0 -3
- package/src/sheet/hook.ts +0 -40
- package/src/sheet/index.ts +0 -2
- package/src/sheet/sheet.service.ts +0 -245
- package/src/sheet/sheet.ts +0 -238
- package/types/src/dialog/dialog-base.mixin.d.ts +0 -30
- package/types/src/dialog/dialog-events.d.ts +0 -13
- package/types/src/dialog/dialog-service.d.ts +0 -91
- package/types/src/dialog/dialog.component.d.ts +0 -150
- package/types/src/dialog/index.d.ts +0 -3
- package/types/src/sheet/hook.d.ts +0 -5
- package/types/src/sheet/index.d.ts +0 -2
- package/types/src/sheet/sheet.d.ts +0 -29
- package/types/src/sheet/sheet.service.d.ts +0 -65
- /package/dist/{context-daN5G6HS.cjs → context-BpCETidA.cjs} +0 -0
- /package/dist/{context-Bdu1xt0W.js → context-DJTJnSK4.js} +0 -0
- /package/dist/{form-CSJp687X.cjs → form-B2qudx_q.cjs} +0 -0
- /package/dist/{form-BtwOBMZ9.js → form-CI59gad4.js} +0 -0
- /package/dist/{hashContent-1ARKIsx9.js → hashContent-a8uVr3xs.js} +0 -0
- /package/dist/{hashContent-Bp5S6T4U.cjs → hashContent-ejkBgDnN.cjs} +0 -0
- /package/dist/{magnetic-BH0TsofV.cjs → magnetic-BJgB1dVi.cjs} +0 -0
- /package/dist/{magnetic-BZGFxAWG.js → magnetic-YwCNvtbB.js} +0 -0
- /package/dist/{overlay-stack-CAQno0CK.js → overlay-stack-CCiTaf_C.js} +0 -0
- /package/dist/{overlay-stack-BprhAE9a.cjs → overlay-stack-CFGiYf34.cjs} +0 -0
- /package/dist/{rxjs-utils-d-ivVN84.js → rxjs-utils-BXpvHN4-.js} +0 -0
- /package/dist/{rxjs-utils-Csnks202.cjs → rxjs-utils-CaC-tdot.cjs} +0 -0
- /package/dist/{theme.interface-DnVNre4O.js → theme.interface-C_034TxG.js} +0 -0
- /package/dist/{theme.interface-D9l33b-M.cjs → theme.interface-DESopuZS.cjs} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-
|
|
1
|
+
require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-CAb0b03r.cjs`),t=require(`./decorate-DpFmy0nm.cjs`),n=require(`./overlay.service-CRHZZY9F.cjs`),r=require(`./notification-7fSbk8hm.cjs`);let i=require(`rxjs`),a=require(`lit/decorators.js`),o=require(`lit`),s=require(`lit/directives/ref.js`),c=require(`lit/directives/repeat.js`),l=require(`lit/directives/when.js`);var u=class extends e.s{constructor(...e){super(...e),this.config={},this.templates=[],this.importSources=[],this.disabled=!1,this.recipientsTitle=`Recipients`,this.recipientsEmptyTitle=`No recipients yet`,this.recipientsEmptyMessage=`Import from sources or upload a CSV`,this.enableCsvImport=!0,this.enableDragDrop=!0,this.recipients=[],this.selectedRecipients=[],this.subject=``,this.body=``,this.templateId=null,this.attachments=[],this.isSending=!1,this.handleEmailsImported=e=>{let{emails:t}=e.detail,n=[...new Set([...this.recipients,...t])],r=t.filter(e=>!this.recipients.includes(e));this.recipients=n,this.selectedRecipients=[...new Set([...this.selectedRecipients,...r])],this.dispatchEvent(new CustomEvent(`emails-imported`,{detail:{emails:r,source:e.detail.source},bubbles:!0,composed:!0}))},this.handleRecipientRemoved=e=>{let{email:t}=e.detail;this.recipients=this.recipients.filter(e=>e!==t),this.selectedRecipients=this.selectedRecipients.filter(e=>e!==t),this.dispatchEvent(new CustomEvent(`recipient-removed`,{detail:{email:t},bubbles:!0,composed:!0}))},this.handleRecipientsCleared=()=>{this.recipients=[],this.selectedRecipients=[],this.dispatchEvent(new CustomEvent(`recipients-cleared`,{bubbles:!0,composed:!0}))},this.handleSelectionChanged=e=>{let{selectedEmails:t}=e.detail;this.selectedRecipients=t,this.dispatchEvent(new CustomEvent(`selection-changed`,{detail:{selectedEmails:t},bubbles:!0,composed:!0}))},this.handleEditorChange=e=>{let{subject:t,body:n,templateId:r,attachments:i}=e.detail;this.subject=t,this.body=n,this.templateId=r,this.attachments=i,this.dispatchEvent(new CustomEvent(`compose-changed`,{detail:{subject:t,body:n,templateId:r,attachments:i},bubbles:!0,composed:!0}))},this.handleSend=async()=>{if(this.selectedRecipients.length!==0)if(this.subject.trim())if(this.body.trim()){this.isSending=!0;try{let e={recipients:this.selectedRecipients,subject:this.subject,body:this.body,attachments:this.attachments,templateId:this.templateId};this.dispatchEvent(new CustomEvent(`send-email`,{detail:{request:e},bubbles:!0,composed:!0}))}catch(e){this.dispatchEvent(new CustomEvent(`send-error`,{detail:{error:e instanceof Error?e.message:`Failed to send email`},bubbles:!0,composed:!0}))}finally{this.isSending=!1}}else this.dispatchEvent(new CustomEvent(`send-error`,{detail:{error:`Please enter a message body`},bubbles:!0,composed:!0}));else this.dispatchEvent(new CustomEvent(`send-error`,{detail:{error:`Please enter a subject`},bubbles:!0,composed:!0}));else this.dispatchEvent(new CustomEvent(`send-error`,{detail:{error:`Please select at least one recipient`},bubbles:!0,composed:!0}))}}static{this.styles=[o.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
height: 100%;
|
|
5
5
|
}
|
|
6
|
-
`]}connectedCallback(){super.connectedCallback(),this.setSending(this.disabled)}updated(e){super.updated(e),e.has(`disabled`)&&this.setSending(this.disabled)}addRecipients(e){let t=[...new Set([...this.recipients,...e])],n=e.filter(e=>!this.recipients.includes(e));this.recipients=t,this.selectedRecipients=[...new Set([...this.selectedRecipients,...n])]}setSubject(e){this.subject=e}setBody(e){this.body=e}setTemplate(e){this.templateId=e}clearCompose(){this.recipients=[],this.selectedRecipients=[],this.subject=``,this.body=``,this.templateId=null,this.attachments=[]}setSending(e){this.isSending=e}render(){let e=this.selectedRecipients.length>0&&this.subject.trim()&&this.body.trim()&&!this.isSending&&!this.disabled;return
|
|
6
|
+
`]}connectedCallback(){super.connectedCallback(),this.setSending(this.disabled)}updated(e){super.updated(e),e.has(`disabled`)&&this.setSending(this.disabled)}addRecipients(e){let t=[...new Set([...this.recipients,...e])],n=e.filter(e=>!this.recipients.includes(e));this.recipients=t,this.selectedRecipients=[...new Set([...this.selectedRecipients,...n])]}setSubject(e){this.subject=e}setBody(e){this.body=e}setTemplate(e){this.templateId=e}clearCompose(){this.recipients=[],this.selectedRecipients=[],this.subject=``,this.body=``,this.templateId=null,this.attachments=[]}setSending(e){this.isSending=e}render(){let e=this.selectedRecipients.length>0&&this.subject.trim()&&this.body.trim()&&!this.isSending&&!this.disabled;return o.html`
|
|
7
7
|
<!-- Main Layout Container -->
|
|
8
8
|
<div class="flex flex-col h-full gap-6 p-6">
|
|
9
9
|
|
|
@@ -50,7 +50,7 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
|
|
|
50
50
|
<schmancy-typography type="body" token="sm" class="font-medium">
|
|
51
51
|
${this.selectedRecipients.length} recipient${this.selectedRecipients.length===1?``:`s`} selected
|
|
52
52
|
</schmancy-typography>
|
|
53
|
-
${(0,
|
|
53
|
+
${(0,l.when)(this.attachments.length>0,()=>o.html`
|
|
54
54
|
<schmancy-typography type="body" token="xs">
|
|
55
55
|
${this.attachments.length} attachment${this.attachments.length===1?``:`s`}
|
|
56
56
|
</schmancy-typography>
|
|
@@ -89,9 +89,9 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
|
|
|
89
89
|
@recipients-cleared=${this.handleRecipientsCleared}
|
|
90
90
|
@selection-changed=${this.handleSelectionChanged}
|
|
91
91
|
></schmancy-email-recipients>
|
|
92
|
-
`}};t.t([(0,
|
|
92
|
+
`}};t.t([(0,a.property)({type:Object})],u.prototype,`config`,void 0),t.t([(0,a.property)({type:Array})],u.prototype,`templates`,void 0),t.t([(0,a.property)({type:Array})],u.prototype,`importSources`,void 0),t.t([(0,a.property)({type:Boolean})],u.prototype,`disabled`,void 0),t.t([(0,a.property)({type:String})],u.prototype,`recipientsTitle`,void 0),t.t([(0,a.property)({type:String})],u.prototype,`recipientsEmptyTitle`,void 0),t.t([(0,a.property)({type:String})],u.prototype,`recipientsEmptyMessage`,void 0),t.t([(0,a.property)({type:Boolean})],u.prototype,`enableCsvImport`,void 0),t.t([(0,a.property)({type:Boolean})],u.prototype,`enableDragDrop`,void 0),t.t([(0,a.state)()],u.prototype,`recipients`,void 0),t.t([(0,a.state)()],u.prototype,`selectedRecipients`,void 0),t.t([(0,a.state)()],u.prototype,`subject`,void 0),t.t([(0,a.state)()],u.prototype,`body`,void 0),t.t([(0,a.state)()],u.prototype,`templateId`,void 0),t.t([(0,a.state)()],u.prototype,`attachments`,void 0),t.t([(0,a.state)()],u.prototype,`isSending`,void 0),u=t.t([(0,a.customElement)(`schmancy-mailbox`)],u);var d=class extends e.s{constructor(...e){super(...e),this.layouts=[{id:`columns-2`,icon:`view_week`,label:`2 Col`},{id:`columns-3`,icon:`view_column`,label:`3 Col`},{id:`sidebar-left`,icon:`view_sidebar`,label:`Left`},{id:`sidebar-right`,icon:`view_sidebar`,label:`Right`,flipped:!0},{id:`image-row`,icon:`collections`,label:`Images`}]}selectLayout(e){this.dispatchEvent(new CustomEvent(`layout-select`,{detail:{layout:e},bubbles:!0,composed:!0}))}render(){return o.html`
|
|
93
93
|
<div class="grid p-3 gap-2">
|
|
94
|
-
${this.layouts.map(e=>
|
|
94
|
+
${this.layouts.map(e=>o.html`
|
|
95
95
|
<schmancy-button
|
|
96
96
|
variant="outlined"
|
|
97
97
|
@click=${()=>this.selectLayout(e.id)}
|
|
@@ -107,11 +107,11 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
|
|
|
107
107
|
</schmancy-button>
|
|
108
108
|
`)}
|
|
109
109
|
</div>
|
|
110
|
-
`}};
|
|
110
|
+
`}};d=t.t([(0,a.customElement)(`schmancy-email-layout-selector`)],d);var f=class extends e.s{constructor(...e){super(...e),this.templates=[],this.searchQuery=``,this.filteredTemplates=[],this.selectedCategory=`all`,this.handleSearch=e=>{let t=e.target;this.searchQuery=t.value},this.handleCategorySelect=e=>{this.selectedCategory=e,this.updateFilteredTemplates()},this.selectTemplate=e=>{this.dispatchEvent(new CustomEvent(`template-selected`,{detail:e,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`close`,{detail:e,bubbles:!0,composed:!0}))},this.close=()=>{this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0,composed:!0}))}}static{this.styles=[o.css`
|
|
111
111
|
:host {
|
|
112
112
|
display: block;
|
|
113
113
|
}
|
|
114
|
-
`]}connectedCallback(){super.connectedCallback(),this.updateFilteredTemplates()}updated(e){(e.has(`templates`)||e.has(`searchQuery`)||e.has(`selectedCategory`))&&this.updateFilteredTemplates()}get categories(){let e=new Set;return this.templates.forEach(t=>{t.category&&e.add(t.category)}),[`all`,...Array.from(e)]}updateFilteredTemplates(){let e=[...this.templates];if(this.selectedCategory!==`all`&&(e=e.filter(e=>e.category===this.selectedCategory)),this.searchQuery.trim()){let t=this.searchQuery.toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(t)||e.category?.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t))}this.filteredTemplates=e}render(){return
|
|
114
|
+
`]}connectedCallback(){super.connectedCallback(),this.updateFilteredTemplates()}updated(e){(e.has(`templates`)||e.has(`searchQuery`)||e.has(`selectedCategory`))&&this.updateFilteredTemplates()}get categories(){let e=new Set;return this.templates.forEach(t=>{t.category&&e.add(t.category)}),[`all`,...Array.from(e)]}updateFilteredTemplates(){let e=[...this.templates];if(this.selectedCategory!==`all`&&(e=e.filter(e=>e.category===this.selectedCategory)),this.searchQuery.trim()){let t=this.searchQuery.toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(t)||e.category?.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t))}this.filteredTemplates=e}render(){return o.html`
|
|
115
115
|
<div class="flex flex-col h-full overflow-hidden">
|
|
116
116
|
<!-- Header -->
|
|
117
117
|
<div class="flex items-center justify-between px-6 py-4 border-b border-outline-variant">
|
|
@@ -135,7 +135,7 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
|
|
|
135
135
|
${this.renderTemplateList()}
|
|
136
136
|
</div>
|
|
137
137
|
</div>
|
|
138
|
-
`}renderTemplateList(){return
|
|
138
|
+
`}renderTemplateList(){return o.html`
|
|
139
139
|
<!-- Search and Filter Bar -->
|
|
140
140
|
<div class="px-6 py-4 border-b border-outline-variant bg-surface-containerLow">
|
|
141
141
|
<div class="flex flex-col gap-4">
|
|
@@ -148,7 +148,7 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
|
|
|
148
148
|
class="w-full"
|
|
149
149
|
>
|
|
150
150
|
<schmancy-icon slot="prefix" size="20px" class="text-surface-onVariant">search</schmancy-icon>
|
|
151
|
-
${(0,
|
|
151
|
+
${(0,l.when)(this.searchQuery,()=>o.html`
|
|
152
152
|
<schmancy-button
|
|
153
153
|
slot="suffix"
|
|
154
154
|
variant="text"
|
|
@@ -161,9 +161,9 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
|
|
|
161
161
|
</schmancy-input>
|
|
162
162
|
|
|
163
163
|
<!-- Category Filter -->
|
|
164
|
-
${(0,
|
|
164
|
+
${(0,l.when)(this.categories.length>1,()=>o.html`
|
|
165
165
|
<div class="flex gap-2 flex-wrap">
|
|
166
|
-
${(0,
|
|
166
|
+
${(0,c.repeat)(this.categories,e=>e,e=>o.html`
|
|
167
167
|
<schmancy-chip
|
|
168
168
|
class="cursor-pointer transition-all hover:shadow-sm ${this.selectedCategory===e?`bg-primary text-primary-on`:`border border-outline`}"
|
|
169
169
|
@click=${()=>this.handleCategorySelect(e)}
|
|
@@ -178,9 +178,9 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
|
|
|
178
178
|
|
|
179
179
|
<!-- Template List with Previews -->
|
|
180
180
|
<div class="flex-1 overflow-y-auto px-6 py-6">
|
|
181
|
-
${(0,
|
|
181
|
+
${(0,l.when)(this.filteredTemplates.length>0,()=>o.html`
|
|
182
182
|
<div class="space-y-6">
|
|
183
|
-
${(0,
|
|
183
|
+
${(0,c.repeat)(this.filteredTemplates,e=>e.id,e=>o.html`
|
|
184
184
|
<schmancy-surface
|
|
185
185
|
type="subtle"
|
|
186
186
|
elevation="1"
|
|
@@ -195,7 +195,7 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
|
|
|
195
195
|
<schmancy-typography type="title" token="md" class="font-semibold leading-tight mb-1">
|
|
196
196
|
${e.name}
|
|
197
197
|
</schmancy-typography>
|
|
198
|
-
${(0,
|
|
198
|
+
${(0,l.when)(e.category,()=>o.html`
|
|
199
199
|
<schmancy-chip class="text-xs border border-outline">
|
|
200
200
|
${e.category}
|
|
201
201
|
</schmancy-chip>
|
|
@@ -222,7 +222,7 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
|
|
|
222
222
|
</schmancy-surface>
|
|
223
223
|
`)}
|
|
224
224
|
</div>
|
|
225
|
-
`,()=>
|
|
225
|
+
`,()=>o.html`
|
|
226
226
|
<div class="flex flex-col items-center justify-center h-96 text-center">
|
|
227
227
|
<div class="mb-6">
|
|
228
228
|
<schmancy-icon size="64px" class="text-surface-onVariant opacity-20">mail_outline</schmancy-icon>
|
|
@@ -233,9 +233,9 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
|
|
|
233
233
|
<schmancy-typography type="body" token="md" class="text-surface-onVariant mb-6 max-w-md">
|
|
234
234
|
${this.searchQuery?`No templates match your search for "${this.searchQuery}"`:this.selectedCategory===`all`?`Start by creating your first email template`:`No templates found in the "${this.selectedCategory}" category`}
|
|
235
235
|
</schmancy-typography>
|
|
236
|
-
${(0,
|
|
236
|
+
${(0,l.when)(this.searchQuery||this.selectedCategory!==`all`,()=>o.html`
|
|
237
237
|
<div class="flex gap-3">
|
|
238
|
-
${(0,
|
|
238
|
+
${(0,l.when)(this.searchQuery,()=>o.html`
|
|
239
239
|
<schmancy-button
|
|
240
240
|
variant="outlined"
|
|
241
241
|
@click=${()=>{this.searchQuery=``}}
|
|
@@ -244,7 +244,7 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
|
|
|
244
244
|
Clear Search
|
|
245
245
|
</schmancy-button>
|
|
246
246
|
`)}
|
|
247
|
-
${(0,
|
|
247
|
+
${(0,l.when)(this.selectedCategory!==`all`,()=>o.html`
|
|
248
248
|
<schmancy-button
|
|
249
249
|
variant="filled"
|
|
250
250
|
@click=${()=>this.handleCategorySelect(`all`)}
|
|
@@ -258,11 +258,11 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
|
|
|
258
258
|
</div>
|
|
259
259
|
`)}
|
|
260
260
|
</div>
|
|
261
|
-
`}};t.t([(0,
|
|
261
|
+
`}};t.t([(0,a.property)({type:Array})],f.prototype,`templates`,void 0),t.t([(0,a.state)()],f.prototype,`searchQuery`,void 0),t.t([(0,a.state)()],f.prototype,`filteredTemplates`,void 0),t.t([(0,a.state)()],f.prototype,`selectedCategory`,void 0),f=t.t([(0,a.customElement)(`schmancy-email-template-picker`)],f);var p=class extends e.s{constructor(...e){super(...e),this.subject=``,this.body=``,this.disabled=!1,this.attachments=[],this.config={},this.templates=this.getDefaultTemplates(),this.dragOver=!1,this.isUploading=!1,this.subjectInputRef=(0,s.createRef)(),this.bodyTextAreaRef=(0,s.createRef)(),this.fileInputRef=(0,s.createRef)(),this.imageInputRef=(0,s.createRef)(),this.handleKeyDown=e=>{if(this.disabled)return;let t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);e.key===`Tab`&&e.target===t&&(e.preventDefault(),this.insertAtCursor(` `))},this.handlePaste=e=>{let t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);if(this.disabled||document.activeElement!==t)return;let n=e.clipboardData?.items;if(n)for(let t=0;t<n.length;t++){let r=n[t];if(r.type.indexOf(`image`)!==-1){e.preventDefault();let t=r.getAsFile();t&&this.uploadImage(t);break}}},this.handleSubjectChange=e=>{let t=e.target;this.subject=t.value,this.dispatchChange()},this.handleBodyChange=e=>{this.body=e.detail.value,this.dispatchChange()},this.dispatchChange=()=>{this.dispatchEvent(new CustomEvent(`editor-change`,{detail:{subject:this.subject,body:this.body,attachments:this.attachments},bubbles:!0,composed:!0}))},this.openLayoutDialog=()=>{n.o(o.html`
|
|
262
262
|
<schmancy-email-layout-selector
|
|
263
|
-
@layout-select=${e=>{
|
|
263
|
+
@layout-select=${e=>{e.currentTarget?.dispatchEvent(new CustomEvent(`close`,{detail:e.detail.layout,bubbles:!0,composed:!0}))}}
|
|
264
264
|
></schmancy-email-layout-selector>
|
|
265
|
-
`)},this.openTemplatePicker=()=>{
|
|
265
|
+
`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(e=>{e&&this.applyLayout(e)})},this.openTemplatePicker=()=>{n.o(f,{props:{templates:this.templates}}).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(e=>{e&&this.handleTemplateSelected(e)})},this.handleTemplateSelected=e=>{this.subject=e.subject,this.body=e.body,this.dispatchChange(),r.r.success(`Template "${e.name}" applied successfully`)},this.applyLayout=e=>{let t={"columns-2":`
|
|
266
266
|
:::layout columns-2
|
|
267
267
|
<div class="column">
|
|
268
268
|
{height=300px}
|
|
@@ -352,7 +352,7 @@ Your primary content goes here. This area takes up most of the width while the s
|
|
|
352
352
|
{height=250px}
|
|
353
353
|
</div>
|
|
354
354
|
:::
|
|
355
|
-
`}[e];t&&this.insertAtCursor(t)},this.uploadImage=async e=>{if(e.type.startsWith(`image/`))if(e.size>10485760)
|
|
355
|
+
`}[e];t&&this.insertAtCursor(t)},this.uploadImage=async e=>{if(e.type.startsWith(`image/`))if(e.size>10485760)r.r.error(`Image "${e.name}" is too large. Maximum size is 10MB.`);else{this.isUploading=!0;try{let t;this.config.imageUploadHandler?t=await this.config.imageUploadHandler(e):this.config.uploadHandler?t=await this.config.uploadHandler(e):(t=await this.createDataUrl(e),r.r.warning(`No upload handler configured. Using local preview.`));let n=await this.getImageDimensions(e);this.insertImageMarkdown(t,e.name,n.width,n.height),r.r.success(`Image uploaded successfully`)}catch{r.r.error(`Failed to upload image`)}finally{this.isUploading=!1}}else r.r.error(`File "${e.name}" is not an image`)},this.createDataUrl=e=>new Promise((t,n)=>{let r=new FileReader;r.addEventListener(`load`,()=>t(r.result),{once:!0}),r.addEventListener(`error`,()=>n(r.error),{once:!0}),r.readAsDataURL(e)}),this.getImageDimensions=e=>new Promise(t=>{let n=new Image;n.addEventListener(`load`,()=>{t({width:n.width,height:n.height}),URL.revokeObjectURL(n.src)},{once:!0}),n.addEventListener(`error`,()=>{t({width:400,height:300}),URL.revokeObjectURL(n.src)},{once:!0}),n.src=URL.createObjectURL(e)}),this.insertImageMarkdown=(e,t,n,r)=>{let i=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);if(!i)return;let a=`{width=${Math.min(n,600)}px height=auto}`,o=i.selectionStart,s=i.selectionEnd,c=this.body.substring(0,o)+a+this.body.substring(s);this.body=c,this.dispatchChange(),this.updateComplete.then(()=>{let e=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);if(e){let t=o+a.length;e.setSelectionRange(t,t),e.focus()}})},this.handleFileChange=e=>{let t=e.target,n=t.files;if(n)for(let e=0;e<n.length;e++){let t=n[e];t.type.startsWith(`image/`)?this.uploadImage(t):this.addFile(t)}t.value=``},this.handleImageSelect=e=>{let t=e.target,n=t.files?.[0];n&&n.type.startsWith(`image/`)&&this.uploadImage(n),t.value=``},this.handleDrop=e=>{e.preventDefault(),this.dragOver=!1;let t=e.dataTransfer?.files;if(t)for(let e=0;e<t.length;e++){let n=t[e];n.type.startsWith(`image/`)?this.uploadImage(n):this.addFile(n)}},this.handleDragEnter=e=>{e.preventDefault(),this.dragOver=!0},this.handleDocumentDragLeave=e=>{e.preventDefault(),this.dragOver=!1},this.handleDocumentDrop=e=>{e.preventDefault(),this.dragOver=!1},this.handleDragOver=e=>{e.preventDefault()},this.handleDragLeave=e=>{e.preventDefault()},this.addFile=e=>{if(e.size>10485760)return void r.r.error(`File "${e.name}" is too large. Maximum size is 10MB.`);if(this.attachments.some(t=>t.name===e.name&&t.size===e.size))return void r.r.warning(`File "${e.name}" is already attached.`);let t={id:crypto.randomUUID(),file:e,name:e.name,size:e.size,type:e.type||`application/octet-stream`};this.attachments=[...this.attachments,t],this.dispatchChange()},this.removeAttachment=e=>{this.attachments=this.attachments.filter(t=>t.id!==e),this.dispatchChange()}}static{this.styles=[o.css`
|
|
356
356
|
:host {
|
|
357
357
|
display: block;
|
|
358
358
|
height: 100%;
|
|
@@ -546,7 +546,7 @@ You'll receive a tracking number via email once your order ships (usually within
|
|
|
546
546
|
*Questions about your order? Reply to this email or contact our support team.*
|
|
547
547
|
|
|
548
548
|
Thank you for your business,
|
|
549
|
-
The Fulfillment Team`}]}addEventListeners(){(0,
|
|
549
|
+
The Fulfillment Team`}]}addEventListeners(){(0,i.fromEvent)(this,`keydown`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(this.handleKeyDown),(0,i.fromEvent)(document,`paste`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(this.handlePaste),(0,i.fromEvent)(document,`dragenter`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(this.handleDragEnter),(0,i.fromEvent)(document,`dragleave`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(this.handleDocumentDragLeave),(0,i.fromEvent)(document,`drop`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(this.handleDocumentDrop)}insertAtCursor(e,t){if(!this.bodyTextAreaRef.value)return;let n=this.bodyTextAreaRef.value.shadowRoot?.querySelector(`textarea`);if(!n)return;let r=n.selectionStart,i=n.selectionEnd,a=n.value.substring(0,r)+e+n.value.substring(i);this.body=a,this.dispatchChange(),this.updateComplete.then(()=>{let n=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);if(n)if(n.focus(),t){let i=r+e.indexOf(t),a=i+t.length;n.setSelectionRange(i,a)}else n.setSelectionRange(r+e.length,r+e.length)})}wrapSelection(e,t,n){if(!this.bodyTextAreaRef.value)return;let r=this.bodyTextAreaRef.value.shadowRoot?.querySelector(`textarea`);if(!r)return;let i=r.selectionStart,a=r.selectionEnd,o=r.value.substring(i,a),s=e+(o||n)+t,c=r.value.substring(0,i)+s+r.value.substring(a);this.body=c,this.dispatchChange(),this.updateComplete.then(()=>{let t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);t&&(t.focus(),o?t.setSelectionRange(i+s.length,i+s.length):t.setSelectionRange(i+e.length,i+e.length+n.length))})}render(){return o.html`
|
|
550
550
|
<schmancy-surface
|
|
551
551
|
type="solid"
|
|
552
552
|
rounded="all"
|
|
@@ -565,7 +565,7 @@ The Fulfillment Team`}]}addEventListeners(){(0,a.fromEvent)(this,`keydown`).pipe
|
|
|
565
565
|
Subject *
|
|
566
566
|
</schmancy-typography>
|
|
567
567
|
<schmancy-input
|
|
568
|
-
${(0,
|
|
568
|
+
${(0,s.ref)(this.subjectInputRef)}
|
|
569
569
|
.value=${this.subject}
|
|
570
570
|
@input=${this.handleSubjectChange}
|
|
571
571
|
placeholder="Enter email subject..."
|
|
@@ -651,7 +651,7 @@ The Fulfillment Team`}]}addEventListeners(){(0,a.fromEvent)(this,`keydown`).pipe
|
|
|
651
651
|
?disabled=${this.disabled||this.isUploading}
|
|
652
652
|
@click=${()=>this.imageInputRef.value?.click()}
|
|
653
653
|
>
|
|
654
|
-
${(0,
|
|
654
|
+
${(0,l.when)(this.isUploading,()=>o.html`<schmancy-progress size="sm" class="w-4 h-4"></schmancy-progress>`,()=>o.html`<schmancy-icon>image</schmancy-icon>`)}
|
|
655
655
|
</schmancy-icon-button>
|
|
656
656
|
<schmancy-icon-button
|
|
657
657
|
size="sm"
|
|
@@ -679,7 +679,7 @@ The Fulfillment Team`}]}addEventListeners(){(0,a.fromEvent)(this,`keydown`).pipe
|
|
|
679
679
|
<!-- Textarea Container - Takes remaining space -->
|
|
680
680
|
<div class="flex-1 px-4 relative min-h-0">
|
|
681
681
|
<schmancy-textarea
|
|
682
|
-
${(0,
|
|
682
|
+
${(0,s.ref)(this.bodyTextAreaRef)}
|
|
683
683
|
.value=${this.body}
|
|
684
684
|
@change=${this.handleBodyChange}
|
|
685
685
|
placeholder="Enter your email message here...
|
|
@@ -696,7 +696,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
696
696
|
></schmancy-textarea>
|
|
697
697
|
|
|
698
698
|
<!-- Upload Progress Overlay -->
|
|
699
|
-
${(0,
|
|
699
|
+
${(0,l.when)(this.isUploading,()=>o.html`
|
|
700
700
|
<div class="absolute top-3 right-3 z-10">
|
|
701
701
|
<schmancy-surface type="subtle" rounded="all" class="p-2">
|
|
702
702
|
<div class="flex items-center gap-2">
|
|
@@ -718,14 +718,14 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
718
718
|
</div>
|
|
719
719
|
|
|
720
720
|
<!-- Attachments Display (if any) -->
|
|
721
|
-
${(0,
|
|
721
|
+
${(0,l.when)(this.attachments.length>0,()=>o.html`
|
|
722
722
|
<div class="space-y-2">
|
|
723
723
|
<schmancy-typography type="label" token="sm" class="flex items-center gap-2">
|
|
724
724
|
<schmancy-icon size="16px">attach_file</schmancy-icon>
|
|
725
725
|
Attachments (${this.attachments.length})
|
|
726
726
|
</schmancy-typography>
|
|
727
727
|
<div class="flex flex-wrap gap-2">
|
|
728
|
-
${(0,
|
|
728
|
+
${(0,c.repeat)(this.attachments,e=>e.id,e=>o.html`
|
|
729
729
|
<schmancy-chip class="text-xs">
|
|
730
730
|
<span class="truncate max-w-32">${e.name}</span>
|
|
731
731
|
<button
|
|
@@ -745,13 +745,13 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
745
745
|
<!-- Hidden File Inputs -->
|
|
746
746
|
<div class="hidden">
|
|
747
747
|
<input
|
|
748
|
-
${(0,
|
|
748
|
+
${(0,s.ref)(this.fileInputRef)}
|
|
749
749
|
type="file"
|
|
750
750
|
multiple
|
|
751
751
|
@change=${this.handleFileChange}
|
|
752
752
|
>
|
|
753
753
|
<input
|
|
754
|
-
${(0,
|
|
754
|
+
${(0,s.ref)(this.imageInputRef)}
|
|
755
755
|
type="file"
|
|
756
756
|
accept="image/*"
|
|
757
757
|
@change=${this.handleImageSelect}
|
|
@@ -761,7 +761,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
761
761
|
</div>
|
|
762
762
|
</schmancy-surface>
|
|
763
763
|
|
|
764
|
-
`}};t.t([(0,
|
|
764
|
+
`}};t.t([(0,a.property)({type:String})],p.prototype,`subject`,void 0),t.t([(0,a.property)({type:String})],p.prototype,`body`,void 0),t.t([(0,a.property)({type:Boolean})],p.prototype,`disabled`,void 0),t.t([(0,a.property)({type:Array})],p.prototype,`attachments`,void 0),t.t([(0,a.property)({type:Object})],p.prototype,`config`,void 0),t.t([(0,a.property)({type:Array})],p.prototype,`templates`,void 0),t.t([(0,a.state)()],p.prototype,`dragOver`,void 0),t.t([(0,a.state)()],p.prototype,`isUploading`,void 0),p=t.t([(0,a.customElement)(`schmancy-email-editor`)],p);var m=class extends e.s{constructor(...e){super(...e),this.subject=``,this.body=``,this.attachments=[],this.recipients=[],this.fromAddress=`sender@example.com`,this.toAddress=`recipient@example.com`,this.viewMode=`html`}static{this.styles=[o.css`
|
|
765
765
|
:host {
|
|
766
766
|
display: block;
|
|
767
767
|
}
|
|
@@ -771,7 +771,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
771
771
|
|
|
772
772
|
`).trim()).replace(/:::images\s+(row|grid(?:=\d+)?)\n((?:!\[.*?\]\(.*?\)(?:\{.*?\})?\s*\n?)*?):::/g,`[Images]`).replace(/!\[([^\]]*)\]\(([^)]+)\)(?:\{([^}]+)\})?/g,`[Image: $1]`).replace(/\*\*(.*?)\*\*/g,`$1`).replace(/\*(.*?)\*/g,`$1`).replace(/__(.*?)__/g,`$1`).replace(/~~(.*?)~~/g,`$1`).replace(/`(.*?)`/g,`$1`).replace(/^#{1,3} (.*$)/gim,`$1`).replace(/^> (.*$)/gim,`$1`).replace(/^\* (.*$)/gim,`• $1`).replace(/^\d+\. (.*$)/gim,`$1`).replace(/\[([^\]]+)\]\(([^)]+)\)/g,`$1 ($2)`).replace(/^---$/gim,`---`).replace(/\n\n+/g,`
|
|
773
773
|
|
|
774
|
-
`)}formatFileSize(e){if(e===0)return`0 Bytes`;let t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/1024**t).toFixed(2))+` `+[`Bytes`,`KB`,`MB`,`GB`][t]}render(){let e=this.parseExtendedMarkdown(this.body),t=this.convertToPlainText(this.body),n=this.recipients[0]||this.toAddress;return
|
|
774
|
+
`)}formatFileSize(e){if(e===0)return`0 Bytes`;let t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/1024**t).toFixed(2))+` `+[`Bytes`,`KB`,`MB`,`GB`][t]}render(){let e=this.parseExtendedMarkdown(this.body),t=this.convertToPlainText(this.body),n=this.recipients[0]||this.toAddress;return o.html`
|
|
775
775
|
<schmancy-surface type="solid" rounded="all" class="h-full flex flex-col">
|
|
776
776
|
|
|
777
777
|
<!-- Header Section -->
|
|
@@ -854,7 +854,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
854
854
|
</schmancy-typography>
|
|
855
855
|
</div>
|
|
856
856
|
<schmancy-typography type="body" token="sm" class="font-medium flex-1">
|
|
857
|
-
${this.subject||
|
|
857
|
+
${this.subject||o.html`<span class="italic text-surface-onVariant">(No subject)</span>`}
|
|
858
858
|
</schmancy-typography>
|
|
859
859
|
</div>
|
|
860
860
|
</div>
|
|
@@ -862,17 +862,17 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
862
862
|
|
|
863
863
|
<!-- Email Body Content -->
|
|
864
864
|
<div class="flex-1 overflow-y-auto min-h-0">
|
|
865
|
-
${(0,
|
|
866
|
-
${(0,
|
|
865
|
+
${(0,l.when)(this.body,()=>o.html`
|
|
866
|
+
${(0,l.when)(this.viewMode===`html`,()=>o.html`
|
|
867
867
|
<div class="p-6 bg-white" style="color: #333; line-height: 1.6; font-family: system-ui, -apple-system, sans-serif; font-size: 14px;">
|
|
868
868
|
<div .innerHTML=${e}></div>
|
|
869
869
|
</div>
|
|
870
|
-
`,()=>
|
|
870
|
+
`,()=>o.html`
|
|
871
871
|
<div class="p-6 bg-white" style="color: #333; line-height: 1.6; font-family: 'Courier New', monospace; font-size: 13px; white-space: pre-wrap;">
|
|
872
872
|
${t}
|
|
873
873
|
</div>
|
|
874
874
|
`)}
|
|
875
|
-
`,()=>
|
|
875
|
+
`,()=>o.html`
|
|
876
876
|
<!-- Empty State -->
|
|
877
877
|
<div class="flex-1 flex items-center justify-center p-8">
|
|
878
878
|
<div class="text-center space-y-3">
|
|
@@ -889,7 +889,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
889
889
|
</div>
|
|
890
890
|
|
|
891
891
|
<!-- Attachments Section -->
|
|
892
|
-
${(0,
|
|
892
|
+
${(0,l.when)(this.attachments.length>0,()=>o.html`
|
|
893
893
|
<div class="shrink-0 p-4 border-t border-outline-variant bg-surface-containerLowest">
|
|
894
894
|
<div class="space-y-3">
|
|
895
895
|
<!-- Attachments Header -->
|
|
@@ -902,7 +902,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
902
902
|
|
|
903
903
|
<!-- Attachments List -->
|
|
904
904
|
<div class="grid gap-2 sm:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2">
|
|
905
|
-
${(0,
|
|
905
|
+
${(0,c.repeat)(this.attachments,e=>e.id,e=>o.html`
|
|
906
906
|
<schmancy-surface type="subtle" rounded="all" class="p-3">
|
|
907
907
|
<div class="flex items-center gap-3">
|
|
908
908
|
<!-- File Icon -->
|
|
@@ -930,7 +930,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
930
930
|
</div>
|
|
931
931
|
|
|
932
932
|
<!-- Preview Stats -->
|
|
933
|
-
${(0,
|
|
933
|
+
${(0,l.when)(this.body,()=>o.html`
|
|
934
934
|
<div class="shrink-0">
|
|
935
935
|
<schmancy-surface type="subtle" rounded="all" class="p-3">
|
|
936
936
|
<div class="flex items-center justify-center gap-6 text-center">
|
|
@@ -951,7 +951,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
951
951
|
${this.body.trim()?this.body.trim().split(/\s+/).length:0}
|
|
952
952
|
</schmancy-typography>
|
|
953
953
|
</div>
|
|
954
|
-
${(0,
|
|
954
|
+
${(0,l.when)(this.attachments.length>0,()=>o.html`
|
|
955
955
|
<div class="w-px h-8 bg-outline-variant"></div>
|
|
956
956
|
<div>
|
|
957
957
|
<schmancy-typography type="body" token="xs" class="text-surface-onVariant">
|
|
@@ -969,19 +969,19 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
969
969
|
|
|
970
970
|
</div>
|
|
971
971
|
</schmancy-surface>
|
|
972
|
-
`}};t.t([(0,
|
|
972
|
+
`}};t.t([(0,a.property)({type:String})],m.prototype,`subject`,void 0),t.t([(0,a.property)({type:String})],m.prototype,`body`,void 0),t.t([(0,a.property)({type:Array})],m.prototype,`attachments`,void 0),t.t([(0,a.property)({type:Array})],m.prototype,`recipients`,void 0),t.t([(0,a.property)({type:String})],m.prototype,`fromAddress`,void 0),t.t([(0,a.property)({type:String})],m.prototype,`toAddress`,void 0),t.t([(0,a.state)()],m.prototype,`viewMode`,void 0),m=t.t([(0,a.customElement)(`schmancy-email-viewer`)],m);var h=class extends e.s{constructor(...e){super(...e),this.disabled=!1,this.recipients=[],this.importSources=[],this.selectedRecipients=[],this.enableCsvImport=!0,this.enableDragDrop=!0,this.title=`Recipients`,this.emptyStateTitle=`No recipients yet`,this.emptyStateMessage=`Import from sources or upload a CSV`,this.dragOver=!1,this.localSelectedRecipients=new Set,this.searchQuery=``,this.filteredRecipients=[],this.boatState=`collapsed`,this.fileInputRef=(0,s.createRef)(),this.handleEmailsImported=()=>{this.updateFilteredRecipients(),this.requestUpdate()},this.handleImportFromCSV=()=>{this.enableCsvImport&&this.fileInputRef.value?.click()},this.handleFileSelect=e=>{let t=e.target.files?.[0];t&&this.processCSVFile(t)},this.handleDrop=e=>{if(!this.enableDragDrop)return;e.preventDefault(),this.dragOver=!1;let t=e.dataTransfer?.files[0];t&&this.processCSVFile(t)},this.processCSVFile=e=>{if(!e.name.endsWith(`.csv`))return void r.r.error(`Please select a CSV file`);let t=new FileReader;t.addEventListener(`load`,e=>{let t=e.target?.result;try{let e=this.parseCSV(t);if(e.length===0)return void r.r.error(`No valid email addresses found in CSV`);this.dispatchEvent(new CustomEvent(`emails-imported`,{detail:{emails:e,source:`csv`},bubbles:!0,composed:!0})),r.r.success(`Imported ${e.length} emails from CSV file`)}catch{r.r.error(`Failed to parse CSV file`)}},{once:!0}),t.readAsText(e)},this.toggleRecipientSelection=e=>{this.localSelectedRecipients.has(e)?this.localSelectedRecipients.delete(e):this.localSelectedRecipients.add(e),this.localSelectedRecipients=new Set(this.localSelectedRecipients),this.dispatchSelectionChange()},this.selectAll=()=>{this.localSelectedRecipients=new Set(this.filteredRecipients),this.dispatchSelectionChange()},this.selectNone=()=>{this.localSelectedRecipients.clear(),this.localSelectedRecipients=new Set,this.dispatchSelectionChange()},this.removeRecipient=e=>{this.dispatchEvent(new CustomEvent(`recipient-removed`,{detail:{email:e},bubbles:!0,composed:!0}))},this.clearAll=()=>{this.dispatchEvent(new CustomEvent(`recipients-cleared`,{bubbles:!0,composed:!0}))},this.updateFilteredRecipients=()=>{let e=Array.isArray(this.recipients)?this.recipients:[];if(this.searchQuery.trim()){let t=this.searchQuery.toLowerCase();this.filteredRecipients=e.filter(e=>e.toLowerCase().includes(t))}else this.filteredRecipients=[...e]},this.handleSearchInput=e=>{let t=e.target;this.searchQuery=t.value},this.clearSearch=()=>{this.searchQuery=``},this.dispatchSelectionChange=()=>{this.dispatchEvent(new CustomEvent(`selection-changed`,{detail:{selectedEmails:Array.from(this.localSelectedRecipients)},bubbles:!0,composed:!0}))},this.handleBoatStateChange=e=>{this.boatState=e.detail}}static{this.styles=[o.css`
|
|
973
973
|
:host {
|
|
974
974
|
display: block;
|
|
975
975
|
height: 100%;
|
|
976
976
|
}
|
|
977
|
-
`]}connectedCallback(){super.connectedCallback(),this.localSelectedRecipients=new Set(this.selectedRecipients),this.updateFilteredRecipients(),(0,
|
|
978
|
-
`).filter(e=>e.trim());if(t.length===0)return{data:[],meta:{}};let n=t[0].split(`,`).map(e=>e.trim().replace(/"/g,``)),r=[];for(let e=1;e<t.length;e++){let i=t[e].split(`,`).map(e=>e.trim().replace(/"/g,``)),a={};n.forEach((e,t)=>{a[e]=i[t]||``}),r.push(a)}return{data:r,meta:{fields:n}}}isValidEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.trim())}addRecipients(e){if(!e.length)return;let t=[...new Set([...this.recipients,...e])],n=e.filter(e=>!this.recipients.includes(e));this.recipients=t,this.selectedRecipients=[...new Set([...this.selectedRecipients,...n])],this.localSelectedRecipients=new Set(this.selectedRecipients),this.updateFilteredRecipients(),this.requestUpdate()}showBoat(){this.boatState=`collapsed`}hideBoat(){this.boatState=`collapsed`}expandBoat(){this.boatState=`expanded`}toggleBoat(){this.boatState=this.boatState===`collapsed`?`expanded`:`collapsed`}render(){return this.renderBoatLayout()}renderBoatLayout(){return
|
|
977
|
+
`]}connectedCallback(){super.connectedCallback(),this.localSelectedRecipients=new Set(this.selectedRecipients),this.updateFilteredRecipients(),(0,i.fromEvent)(this,`emails-imported`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(this.handleEmailsImported)}updated(e){super.updated(e),e.has(`selectedRecipients`)&&(this.localSelectedRecipients=new Set(this.selectedRecipients)),(e.has(`recipients`)||e.has(`searchQuery`))&&this.updateFilteredRecipients(),e.has(`recipients`)&&this.requestUpdate()}parseCSV(e){let t=[],n;n=this.csvParser?this.csvParser.parse(e,{header:!0,skipEmptyLines:!0,dynamicTyping:!0,delimiter:``,transformHeader:e=>e.trim()}):this.simpleCSVParse(e);let r=n.data,i=n.meta.fields||[],a=i.find(e=>e.toLowerCase().includes(`email`));if(!a)for(let e of i){let t=r[0]?.[e]?.toString();if(t&&this.isValidEmail(t)){a=e;break}}if(!a)throw Error(`No email column found in CSV`);let o=new Set;for(let e of r){let n=e[a]?.toString();if(!n)continue;let r=n.toLowerCase().trim();this.isValidEmail(r)&&!o.has(r)&&(o.add(r),t.push(r))}return t}simpleCSVParse(e){let t=e.split(`
|
|
978
|
+
`).filter(e=>e.trim());if(t.length===0)return{data:[],meta:{}};let n=t[0].split(`,`).map(e=>e.trim().replace(/"/g,``)),r=[];for(let e=1;e<t.length;e++){let i=t[e].split(`,`).map(e=>e.trim().replace(/"/g,``)),a={};n.forEach((e,t)=>{a[e]=i[t]||``}),r.push(a)}return{data:r,meta:{fields:n}}}isValidEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.trim())}addRecipients(e){if(!e.length)return;let t=[...new Set([...this.recipients,...e])],n=e.filter(e=>!this.recipients.includes(e));this.recipients=t,this.selectedRecipients=[...new Set([...this.selectedRecipients,...n])],this.localSelectedRecipients=new Set(this.selectedRecipients),this.updateFilteredRecipients(),this.requestUpdate()}showBoat(){this.boatState=`collapsed`}hideBoat(){this.boatState=`collapsed`}expandBoat(){this.boatState=`expanded`}toggleBoat(){this.boatState=this.boatState===`collapsed`?`expanded`:`collapsed`}render(){return this.renderBoatLayout()}renderBoatLayout(){return o.html`
|
|
979
979
|
<!-- Hidden file input for CSV import -->
|
|
980
|
-
${(0,
|
|
980
|
+
${(0,l.when)(this.enableCsvImport,()=>o.html`
|
|
981
981
|
<input
|
|
982
982
|
type="file"
|
|
983
983
|
accept=".csv"
|
|
984
|
-
${(0,
|
|
984
|
+
${(0,s.ref)(this.fileInputRef)}
|
|
985
985
|
@change=${this.handleFileSelect}
|
|
986
986
|
class="hidden"
|
|
987
987
|
/>
|
|
@@ -998,7 +998,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
998
998
|
<schmancy-typography type="title" token="md" class="font-semibold">
|
|
999
999
|
${this.title}
|
|
1000
1000
|
</schmancy-typography>
|
|
1001
|
-
${(0,
|
|
1001
|
+
${(0,l.when)(this.recipients.length>0,()=>o.html`
|
|
1002
1002
|
<schmancy-badge>
|
|
1003
1003
|
${this.localSelectedRecipients.size}/${this.recipients.length}
|
|
1004
1004
|
</schmancy-badge>
|
|
@@ -1011,7 +1011,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
1011
1011
|
${this.renderBoatContent()}
|
|
1012
1012
|
</div>
|
|
1013
1013
|
</schmancy-boat>
|
|
1014
|
-
`}renderBoatContent(){return
|
|
1014
|
+
`}renderBoatContent(){return o.html`
|
|
1015
1015
|
<!-- Search Bar and CSV Import on one line -->
|
|
1016
1016
|
<div class="p-4 flex gap-3">
|
|
1017
1017
|
<schmancy-input
|
|
@@ -1021,7 +1021,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
1021
1021
|
@input=${this.handleSearchInput}
|
|
1022
1022
|
class="flex-1"
|
|
1023
1023
|
>
|
|
1024
|
-
${(0,
|
|
1024
|
+
${(0,l.when)(this.searchQuery,()=>o.html`
|
|
1025
1025
|
<schmancy-button
|
|
1026
1026
|
slot="suffix"
|
|
1027
1027
|
variant="text"
|
|
@@ -1032,7 +1032,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
1032
1032
|
`)}
|
|
1033
1033
|
</schmancy-input>
|
|
1034
1034
|
|
|
1035
|
-
${(0,
|
|
1035
|
+
${(0,l.when)(this.enableCsvImport,()=>o.html`
|
|
1036
1036
|
<schmancy-button
|
|
1037
1037
|
variant="outlined"
|
|
1038
1038
|
@click=${this.handleImportFromCSV}
|
|
@@ -1044,7 +1044,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
1044
1044
|
`)}
|
|
1045
1045
|
</div>
|
|
1046
1046
|
|
|
1047
|
-
${(0,
|
|
1047
|
+
${(0,l.when)(this.recipients.length>0,()=>o.html`
|
|
1048
1048
|
<!-- Bulk Actions -->
|
|
1049
1049
|
<div class="px-4 pb-4">
|
|
1050
1050
|
<div class="flex items-center gap-3">
|
|
@@ -1077,9 +1077,9 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
1077
1077
|
|
|
1078
1078
|
<!-- Recipients List -->
|
|
1079
1079
|
<div class="flex-1 overflow-y-auto px-4 pb-4">
|
|
1080
|
-
${(0,
|
|
1080
|
+
${(0,l.when)(this.filteredRecipients.length>0,()=>o.html`
|
|
1081
1081
|
<div class="flex flex-wrap gap-3">
|
|
1082
|
-
${(0,
|
|
1082
|
+
${(0,c.repeat)(this.filteredRecipients,e=>e,e=>o.html`
|
|
1083
1083
|
<schmancy-button
|
|
1084
1084
|
variant=${this.localSelectedRecipients.has(e)?`filled`:`outlined`}
|
|
1085
1085
|
@click=${t=>{t.stopPropagation(),t.preventDefault(),this.toggleRecipientSelection(e)}}
|
|
@@ -1094,7 +1094,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
1094
1094
|
</schmancy-button>
|
|
1095
1095
|
`)}
|
|
1096
1096
|
</div>
|
|
1097
|
-
`,()=>
|
|
1097
|
+
`,()=>o.html`
|
|
1098
1098
|
<div class="text-center py-8">
|
|
1099
1099
|
<schmancy-icon size="32px" class="opacity-50 mb-2">search_off</schmancy-icon>
|
|
1100
1100
|
<schmancy-typography type="body" token="sm" class="mb-2">
|
|
@@ -1106,7 +1106,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
1106
1106
|
</div>
|
|
1107
1107
|
`)}
|
|
1108
1108
|
</div>
|
|
1109
|
-
`,()=>
|
|
1109
|
+
`,()=>o.html`
|
|
1110
1110
|
<!-- Empty State -->
|
|
1111
1111
|
<div class="flex-1 flex items-center justify-center p-8">
|
|
1112
1112
|
<div class="text-center space-y-4">
|
|
@@ -1122,7 +1122,7 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
1122
1122
|
`)}
|
|
1123
1123
|
|
|
1124
1124
|
<!-- Drag Overlay -->
|
|
1125
|
-
${(0,
|
|
1125
|
+
${(0,l.when)(this.dragOver&&this.enableDragDrop,()=>o.html`
|
|
1126
1126
|
<div
|
|
1127
1127
|
class="absolute inset-4 flex items-center justify-center border-2 border-dashed border-primary rounded-lg z-10"
|
|
1128
1128
|
@dragover=${e=>{e.preventDefault(),this.dragOver=!0}}
|
|
@@ -1137,4 +1137,4 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
1137
1137
|
</schmancy-surface>
|
|
1138
1138
|
</div>
|
|
1139
1139
|
`)}
|
|
1140
|
-
`}};t.t([(0,
|
|
1140
|
+
`}};t.t([(0,a.property)({type:Boolean})],h.prototype,`disabled`,void 0),t.t([(0,a.property)({type:Array})],h.prototype,`recipients`,void 0),t.t([(0,a.property)({type:Array})],h.prototype,`importSources`,void 0),t.t([(0,a.property)({type:Array})],h.prototype,`selectedRecipients`,void 0),t.t([(0,a.property)({type:Boolean})],h.prototype,`enableCsvImport`,void 0),t.t([(0,a.property)({type:Boolean})],h.prototype,`enableDragDrop`,void 0),t.t([(0,a.property)({type:String})],h.prototype,`title`,void 0),t.t([(0,a.property)({type:String})],h.prototype,`emptyStateTitle`,void 0),t.t([(0,a.property)({type:String})],h.prototype,`emptyStateMessage`,void 0),t.t([(0,a.property)({type:Object})],h.prototype,`csvParser`,void 0),t.t([(0,a.state)()],h.prototype,`dragOver`,void 0),t.t([(0,a.state)()],h.prototype,`localSelectedRecipients`,void 0),t.t([(0,a.state)()],h.prototype,`searchQuery`,void 0),t.t([(0,a.state)()],h.prototype,`filteredRecipients`,void 0),t.t([(0,a.state)()],h.prototype,`boatState`,void 0),h=t.t([(0,a.customElement)(`schmancy-email-recipients`)],h),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return h}});
|