@mhmo91/schmancy 0.10.4 → 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 +43 -949
- package/dist/agent/{flow-CaPi2G8y.js.map → flow-3RrZM-e7.js.map} +1 -1
- package/dist/agent/schmancy.agent.js +3817 -6527
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +10 -680
- 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-DHVANBbr.js → area-CIZZ5tbB.js} +1 -1
- package/dist/{area-DHVANBbr.js.map → area-CIZZ5tbB.js.map} +1 -1
- package/dist/{area-ZupIezvU.cjs → area-oZjYJlUy.cjs} +1 -1
- package/dist/{area-ZupIezvU.cjs.map → area-oZjYJlUy.cjs.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-pHvsyfbH.js → autocomplete-C1oDLuol.js} +2 -2
- package/dist/{autocomplete-pHvsyfbH.js.map → autocomplete-C1oDLuol.js.map} +1 -1
- package/dist/{autocomplete-Bn525CTp.cjs → autocomplete-X20i6D62.cjs} +1 -1
- package/dist/{autocomplete-Bn525CTp.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-IyEtsNI4.cjs → boat-CUx58Gwe.cjs} +1 -1
- package/dist/{boat-IyEtsNI4.cjs.map → boat-CUx58Gwe.cjs.map} +1 -1
- package/dist/{boat-_Yv3M6YM.js → boat-CpE0yAlK.js} +2 -2
- package/dist/{boat-_Yv3M6YM.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-Ck2IXJ4r.js → busy-C9n-DUY4.js} +1 -1
- package/dist/{busy-Ck2IXJ4r.js.map → busy-C9n-DUY4.js.map} +1 -1
- package/dist/{busy-CjM39APN.cjs → busy-D1DKZhgV.cjs} +1 -1
- package/dist/{busy-CjM39APN.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 +3 -3
- package/dist/{card-DUWZmMHc.js → card-B3hN-qzk.js} +1 -1
- package/dist/{card-DUWZmMHc.js.map → card-B3hN-qzk.js.map} +1 -1
- package/dist/{card-DIxDuuth.cjs → card-DZJ7qjf2.cjs} +1 -1
- package/dist/{card-DIxDuuth.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-DPS1mWG-.js → checkbox-CvmB1ev9.js} +1 -1
- package/dist/{checkbox-DPS1mWG-.js.map → checkbox-CvmB1ev9.js.map} +1 -1
- package/dist/{checkbox-CGdFXuWQ.cjs → checkbox-DapdzDow.cjs} +1 -1
- package/dist/{checkbox-CGdFXuWQ.cjs.map → checkbox-DapdzDow.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-UoFbwmlG.cjs → chips-7g6mWRuh.cjs} +1 -1
- package/dist/{chips-UoFbwmlG.cjs.map → chips-7g6mWRuh.cjs.map} +1 -1
- package/dist/{chips-BnnXQSA-.js → chips-C8Y3_3ke.js} +4 -4
- package/dist/{chips-BnnXQSA-.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/{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-DOstCIg8.js → date-range-DdcaPX7C.js} +99 -113
- package/dist/date-range-DdcaPX7C.js.map +1 -0
- package/dist/date-range-ZfUl4duV.cjs +131 -0
- package/dist/date-range-ZfUl4duV.cjs.map +1 -0
- package/dist/{date-range-inline-4P7zqeVe.cjs → date-range-inline-D-d7N6bh.cjs} +1 -1
- package/dist/{date-range-inline-4P7zqeVe.cjs.map → date-range-inline-D-d7N6bh.cjs.map} +1 -1
- package/dist/{date-range-inline-BVycTWLb.js → date-range-inline-QQmIWhZ4.js} +1 -1
- package/dist/{date-range-inline-BVycTWLb.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-BJBbZOO6.cjs → details-3rL6UQU8.cjs} +1 -1
- package/dist/{details-BJBbZOO6.cjs.map → details-3rL6UQU8.cjs.map} +1 -1
- package/dist/{details-DPc5GxPa.js → details-Dpjh-XnJ.js} +2 -2
- package/dist/{details-DPc5GxPa.js.map → details-Dpjh-XnJ.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-BvJsmSPH.js → divider-BdfEKQsH.js} +1 -1
- package/dist/{divider-BvJsmSPH.js.map → divider-BdfEKQsH.js.map} +1 -1
- package/dist/{divider-DPT3XnG5.cjs → divider-CutXDz3F.cjs} +1 -1
- package/dist/{divider-DPT3XnG5.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-CTqBWVXo.cjs → expand-DM6zfZf7.cjs} +1 -1
- package/dist/{expand-CTqBWVXo.cjs.map → expand-DM6zfZf7.cjs.map} +1 -1
- package/dist/{expand-BMzocdtj.js → expand-DrgMPJbu.js} +2 -2
- package/dist/{expand-BMzocdtj.js.map → expand-DrgMPJbu.js.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{extra-BeHlUhzv.js → extra-B6gFu4_1.js} +1 -1
- package/dist/{extra-BeHlUhzv.js.map → extra-B6gFu4_1.js.map} +1 -1
- package/dist/{extra-h_cuxRII.cjs → extra-DJRYaOXe.cjs} +1 -1
- package/dist/{extra-h_cuxRII.cjs.map → extra-DJRYaOXe.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{float-CTc1xxqH.js → float-1iihPek5.js} +1 -1
- package/dist/{float-CTc1xxqH.js.map → float-1iihPek5.js.map} +1 -1
- package/dist/{float-CwVBs11k.cjs → float-Ckyk85XG.cjs} +1 -1
- package/dist/{float-CwVBs11k.cjs.map → float-Ckyk85XG.cjs.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{form-BtwOBMZ9.js.map → form-BF1c3Dk1.js.map} +1 -1
- package/dist/{form-CSJp687X.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-1ARKIsx9.js.map → hashContent-BU6jl5ih.js.map} +1 -1
- package/dist/{hashContent-Bp5S6T4U.cjs.map → hashContent-Bobsobip.cjs.map} +1 -1
- package/dist/{icons-qEQW4pjM.cjs → icons-CV-fiGcW.cjs} +1 -1
- package/dist/{icons-qEQW4pjM.cjs.map → icons-CV-fiGcW.cjs.map} +1 -1
- package/dist/{icons-BbCVrcas.js → icons-DUkcTZAY.js} +2 -2
- package/dist/{icons-BbCVrcas.js.map → icons-DUkcTZAY.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-BJfDIEJf.js → iframe-C9tj7F6Y.js} +1 -1
- package/dist/{iframe-BJfDIEJf.js.map → iframe-C9tj7F6Y.js.map} +1 -1
- package/dist/{iframe-D6HTruav.cjs → iframe-DF97oGtZ.cjs} +1 -1
- package/dist/{iframe-D6HTruav.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 -76
- package/dist/{input-LTK3cctF.js → input-DE7x223Y.js} +1 -1
- package/dist/{input-LTK3cctF.js.map → input-DE7x223Y.js.map} +1 -1
- package/dist/{input-U26axtcs.cjs → input-TW9G3n7X.cjs} +1 -1
- package/dist/{input-U26axtcs.cjs.map → input-TW9G3n7X.cjs.map} +1 -1
- package/dist/{input-chip-Ch-aCs3c.js → input-chip-BdoaVw_D.js} +1 -1
- package/dist/{input-chip-Ch-aCs3c.js.map → input-chip-BdoaVw_D.js.map} +1 -1
- package/dist/{input-chip-CADXt0X5.cjs → input-chip-Do48eI5r.cjs} +1 -1
- package/dist/{input-chip-CADXt0X5.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-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-DqG2z3Cn.js → lightbox-DcutIyjx.js} +2 -2
- package/dist/{lightbox-DqG2z3Cn.js.map → lightbox-DcutIyjx.js.map} +1 -1
- package/dist/{lightbox-DbYUSfVl.cjs → lightbox-sPfnYzjJ.cjs} +1 -1
- package/dist/{lightbox-DbYUSfVl.cjs.map → lightbox-sPfnYzjJ.cjs.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-D6-_E5ZD.js → list-BWrtrdgs.js} +1 -1
- package/dist/{list-D6-_E5ZD.js.map → list-BWrtrdgs.js.map} +1 -1
- package/dist/{list-CLX4sSAw.cjs → list-C4vasUly.cjs} +1 -1
- package/dist/{list-CLX4sSAw.cjs.map → list-C4vasUly.cjs.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/{map-WXeVkx2K.cjs → map-BAQ9FEB6.cjs} +1 -1
- package/dist/{map-WXeVkx2K.cjs.map → map-BAQ9FEB6.cjs.map} +1 -1
- package/dist/{map-Dhy3ta9v.js → map-CEreveeI.js} +1 -1
- package/dist/{map-Dhy3ta9v.js.map → map-CEreveeI.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/menu-3yXDZusj.cjs +23 -0
- package/dist/menu-3yXDZusj.cjs.map +1 -0
- package/dist/menu-CxChOxWT.js +62 -0
- package/dist/menu-CxChOxWT.js.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins-Db7gjDah.cjs +298 -0
- package/dist/{mixins-De3xfjrm.cjs.map → mixins-Db7gjDah.cjs.map} +1 -1
- package/dist/mixins-Dw6hVfy-.js +627 -0
- package/dist/{mixins-CcIWET41.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-D_PQjBSf.cjs → notification-DKYy9qVe.cjs} +1 -1
- package/dist/{notification-D_PQjBSf.cjs.map → notification-DKYy9qVe.cjs.map} +1 -1
- package/dist/{notification-CVLqQ8c_.js → notification-ycbUBbOu.js} +2 -2
- package/dist/{notification-CVLqQ8c_.js.map → notification-ycbUBbOu.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-rm4HebVs.js → option-DtOhMd3k.js} +1 -1
- package/dist/{option-rm4HebVs.js.map → option-DtOhMd3k.js.map} +1 -1
- package/dist/{option-DDU_goh1.cjs → option-zgVge3BH.cjs} +1 -1
- package/dist/{option-DDU_goh1.cjs.map → option-zgVge3BH.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-DCDS17uj.js.map} +1 -1
- package/dist/{overlay-stack-BprhAE9a.cjs.map → overlay-stack-DPIe_aYv.cjs.map} +1 -1
- package/dist/overlay.cjs +5 -53
- package/dist/overlay.cjs.map +1 -1
- package/dist/overlay.confirm-body-AFqYBqrI.js +104 -0
- package/dist/overlay.confirm-body-AFqYBqrI.js.map +1 -0
- package/dist/overlay.confirm-body-DctQLDao.cjs +49 -0
- package/dist/overlay.confirm-body-DctQLDao.cjs.map +1 -0
- package/dist/overlay.js +120 -360
- package/dist/overlay.js.map +1 -1
- package/dist/overlay.service-B9On2-Aa.js +146 -0
- package/dist/overlay.service-B9On2-Aa.js.map +1 -0
- package/dist/overlay.service-k2nCE4pi.cjs +1 -0
- package/dist/overlay.service-k2nCE4pi.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-Be1-OVlL.js} +1 -1
- package/dist/{payment-card-form-C0dHYZIv.js.map → payment-card-form-Be1-OVlL.js.map} +1 -1
- package/dist/{payment-card-form-DNvmZxs4.cjs → payment-card-form-CNnGePG4.cjs} +1 -1
- package/dist/{payment-card-form-DNvmZxs4.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-BRerM5Bn.js → progress-BFWzmTlz.js} +1 -1
- package/dist/{progress-BRerM5Bn.js.map → progress-BFWzmTlz.js.map} +1 -1
- package/dist/{progress-U3LQkpM2.cjs → progress-C4TGG2eN.cjs} +1 -1
- package/dist/{progress-U3LQkpM2.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-BZ2WoOXJ.js → radio-group-DTNAW5dd.js} +1 -1
- package/dist/{radio-group-BZ2WoOXJ.js.map → radio-group-DTNAW5dd.js.map} +1 -1
- package/dist/{radio-group-D7mm-yvJ.cjs → radio-group-xLRp1g57.cjs} +1 -1
- package/dist/{radio-group-D7mm-yvJ.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-d-ivVN84.js.map → rxjs-utils-BK8VMe3K.js.map} +1 -1
- package/dist/{rxjs-utils-Csnks202.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-qL-HkMdP.js → scroll-BCmdqSQU.js} +1 -1
- package/dist/{scroll-qL-HkMdP.js.map → scroll-BCmdqSQU.js.map} +1 -1
- package/dist/{scroll-DJTjNIT_.cjs → scroll-Bdgb-vRy.cjs} +1 -1
- package/dist/{scroll-DJTjNIT_.cjs.map → scroll-Bdgb-vRy.cjs.map} +1 -1
- package/dist/{select-CnPXUeSf.js → select-COGARE0b.js} +2 -2
- package/dist/{select-CnPXUeSf.js.map → select-COGARE0b.js.map} +1 -1
- package/dist/{select-BvA7v-gL.cjs → select-Cv5t_PT3.cjs} +1 -1
- package/dist/{select-BvA7v-gL.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 +3 -6
- package/dist/skills/SKILL.md +13 -9
- package/dist/skills/schmancy/INDEX.md +3 -6
- package/dist/skills/schmancy/SKILL.md +13 -9
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{splash-screen-BDt4PInk.cjs → splash-screen-B8rFbjqT.cjs} +1 -1
- package/dist/{splash-screen-BDt4PInk.cjs.map → splash-screen-B8rFbjqT.cjs.map} +1 -1
- package/dist/{splash-screen-C8JCqX5L.js → splash-screen-DbGbGttg.js} +1 -1
- package/dist/{splash-screen-C8JCqX5L.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-CqdnWGgr.js → src-YRir9pOP.js} +162 -162
- package/dist/src-YRir9pOP.js.map +1 -0
- package/dist/{src-CpRNClhg.cjs → src-b8D-Ec-Q.cjs} +13 -13
- package/dist/src-b8D-Ec-Q.cjs.map +1 -0
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-C8jQy8Ym.js → surface-BE7sGTBt.js} +1 -1
- package/dist/{surface-C8jQy8Ym.js.map → surface-BE7sGTBt.js.map} +1 -1
- package/dist/{surface-Du2Y4vXd.cjs → surface-BvudRtf5.cjs} +1 -1
- package/dist/{surface-Du2Y4vXd.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-0RfeCa00.cjs → tabs-C0XKld1Z.cjs} +1 -1
- package/dist/{tabs-0RfeCa00.cjs.map → tabs-C0XKld1Z.cjs.map} +1 -1
- package/dist/{tabs-Cyahh9Q6.js → tabs-DIzCRsA3.js} +1 -1
- package/dist/{tabs-Cyahh9Q6.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-jqRrLxmo.cjs → textarea-BCDCGCJd.cjs} +1 -1
- package/dist/{textarea-jqRrLxmo.cjs.map → textarea-BCDCGCJd.cjs.map} +1 -1
- package/dist/{textarea-CXCcTVnf.js → textarea-UbZzBwqm.js} +1 -1
- package/dist/{textarea-CXCcTVnf.js.map → textarea-UbZzBwqm.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/theme-CIsI-sFj.cjs +181 -0
- package/dist/{theme-Hjz9sCN-.cjs.map → theme-CIsI-sFj.cjs.map} +1 -1
- package/dist/{theme-2KZW2Rfs.js → theme-Qh-yPEPL.js} +3 -4
- package/dist/{theme-2KZW2Rfs.js.map → theme-Qh-yPEPL.js.map} +1 -1
- package/dist/{theme-button-9uF1eoHz.js → theme-button-CjTnfs9x.js} +1 -1
- package/dist/{theme-button-9uF1eoHz.js.map → theme-button-CjTnfs9x.js.map} +1 -1
- package/dist/{theme-button-C7QIbke1.cjs → theme-button-Dv1D_Vil.cjs} +1 -1
- package/dist/{theme-button-C7QIbke1.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-D9l33b-M.cjs.map → theme.interface-BeW-sz_g.cjs.map} +1 -1
- package/dist/{theme.interface-DnVNre4O.js.map → theme.interface-v7SkAnDH.js.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-BfOze6Tk.js} +1 -1
- package/dist/{utils-hp-DnFf5.js.map → utils-BfOze6Tk.js.map} +1 -1
- package/dist/{utils-Cr-YO4Np.cjs → utils-CJ9y2Jz9.cjs} +1 -1
- package/dist/{utils-Cr-YO4Np.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-DtUOWiAj.cjs → window-9HOUXrTU.cjs} +1 -1
- package/dist/{window-DtUOWiAj.cjs.map → window-9HOUXrTU.cjs.map} +1 -1
- package/dist/{window-C7yY9yp5.js → window-B_55dzk0.js} +3 -3
- package/dist/{window-C7yY9yp5.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 +3 -6
- 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 -4
- 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 -4
- package/types/src/menu/menu-item.d.ts +1 -0
- package/types/src/menu/menu.d.ts +9 -7
- package/dist/agent/vendor-highlight-CHJZQQB7.js +0 -2178
- package/dist/agent/vendor-highlight-CHJZQQB7.js.map +0 -1
- package/dist/code-highlight-CMilN0B8.cjs +0 -190
- package/dist/code-highlight-CMilN0B8.cjs.map +0 -1
- package/dist/code-highlight-kFUJ1Eet.js +0 -296
- package/dist/code-highlight-kFUJ1Eet.js.map +0 -1
- package/dist/code-highlight.cjs +0 -1
- package/dist/code-highlight.js +0 -2
- 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 +0 -1140
- package/dist/mailbox-Ct6iYe-4.cjs.map +0 -1
- package/dist/mailbox-DsPII8HR.js +0 -1596
- package/dist/mailbox-DsPII8HR.js.map +0 -1
- package/dist/mailbox.cjs +0 -1
- package/dist/mailbox.js +0 -2
- 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/code-highlight.md +0 -47
- package/dist/skills/dialog.md +0 -69
- package/dist/skills/mailbox.md +0 -102
- package/dist/skills/schmancy/code-highlight.md +0 -47
- package/dist/skills/schmancy/dialog.md +0 -69
- package/dist/skills/schmancy/mailbox.md +0 -102
- 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/code-highlight.md +0 -47
- package/skills/schmancy/dialog.md +0 -69
- package/skills/schmancy/mailbox.md +0 -102
- package/skills/schmancy/sheet.md +0 -76
- 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/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/mailbox/README.md +0 -128
- package/src/mailbox/email-editor.ts +0 -1077
- 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 -297
- 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/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/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/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/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/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/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/{context-daN5G6HS.cjs → context-BpCETidA.cjs} +0 -0
- /package/dist/{context-Bdu1xt0W.js → context-DJTJnSK4.js} +0 -0
- /package/dist/{form-BtwOBMZ9.js → form-BF1c3Dk1.js} +0 -0
- /package/dist/{form-CSJp687X.cjs → form-DeO5XX3b.cjs} +0 -0
- /package/dist/{hashContent-1ARKIsx9.js → hashContent-BU6jl5ih.js} +0 -0
- /package/dist/{hashContent-Bp5S6T4U.cjs → hashContent-Bobsobip.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-DCDS17uj.js} +0 -0
- /package/dist/{overlay-stack-BprhAE9a.cjs → overlay-stack-DPIe_aYv.cjs} +0 -0
- /package/dist/{rxjs-utils-d-ivVN84.js → rxjs-utils-BK8VMe3K.js} +0 -0
- /package/dist/{rxjs-utils-Csnks202.cjs → rxjs-utils-DhOKenkS.cjs} +0 -0
- /package/dist/{theme.interface-D9l33b-M.cjs → theme.interface-BeW-sz_g.cjs} +0 -0
- /package/dist/{theme.interface-DnVNre4O.js → theme.interface-v7SkAnDH.js} +0 -0
|
@@ -1,414 +0,0 @@
|
|
|
1
|
-
import { $LitElement } from '@mixins/index'
|
|
2
|
-
import { css, html, nothing } from 'lit'
|
|
3
|
-
import { customElement, property, queryAssignedElements } from 'lit/decorators.js'
|
|
4
|
-
import { cursorGlow } from '../directives/cursor-glow'
|
|
5
|
-
import { createRef, ref, type Ref } from 'lit/directives/ref.js'
|
|
6
|
-
import { when } from 'lit/directives/when.js'
|
|
7
|
-
import { fromEvent, tap } from 'rxjs'
|
|
8
|
-
import { takeUntil } from 'rxjs/operators'
|
|
9
|
-
import { DialogBase } from './dialog-base.mixin'
|
|
10
|
-
import { DialogHereMorty, DialogWhereAreYouRicky, DialogWhereAreYouRickyEvent } from './dialog-events'
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Unified dialog component that handles both content-only and confirm modes.
|
|
14
|
-
*
|
|
15
|
-
* @element schmancy-dialog
|
|
16
|
-
* @slot default - Content slot for dialog body (used in content mode)
|
|
17
|
-
* @slot content - Named slot for custom content in confirm mode
|
|
18
|
-
*
|
|
19
|
-
* @example Content mode (no buttons):
|
|
20
|
-
* ```html
|
|
21
|
-
* <schmancy-dialog>
|
|
22
|
-
* <my-custom-content></my-custom-content>
|
|
23
|
-
* </schmancy-dialog>
|
|
24
|
-
* ```
|
|
25
|
-
*
|
|
26
|
-
* @example Confirm mode (with buttons):
|
|
27
|
-
* ```html
|
|
28
|
-
* <schmancy-dialog
|
|
29
|
-
* title="Confirm Action"
|
|
30
|
-
* message="Are you sure?"
|
|
31
|
-
* confirm-text="Yes"
|
|
32
|
-
* cancel-text="No"
|
|
33
|
-
* ></schmancy-dialog>
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
@customElement('schmancy-dialog')
|
|
37
|
-
export class SchmancyDialog extends DialogBase(
|
|
38
|
-
$LitElement(css`
|
|
39
|
-
:host {
|
|
40
|
-
position: fixed;
|
|
41
|
-
z-index: var(--schmancy-overlay-z, 10000);
|
|
42
|
-
inset: 0;
|
|
43
|
-
display: none;
|
|
44
|
-
--dialog-width: fit-content;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
:host([active]) {
|
|
48
|
-
display: block;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
/* Luminous glow around the dialog container */
|
|
53
|
-
.dialog {
|
|
54
|
-
box-shadow: 0 8px 40px -8px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);
|
|
55
|
-
border-radius: var(--schmancy-sys-shape-corner-large);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
@media (prefers-reduced-motion: reduce) {
|
|
59
|
-
.dialog { box-shadow: var(--schmancy-sys-elevation-2); }
|
|
60
|
-
}
|
|
61
|
-
`),
|
|
62
|
-
) {
|
|
63
|
-
/**
|
|
64
|
-
* Unique identifier for the dialog instance
|
|
65
|
-
*/
|
|
66
|
-
@property({ type: String, reflect: true }) uid!: string
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Dialog title (enables confirm mode when set)
|
|
70
|
-
*/
|
|
71
|
-
@property({ type: String }) title: string | undefined = undefined
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Dialog subtitle
|
|
75
|
-
*/
|
|
76
|
-
@property({ type: String }) subtitle: string | undefined = undefined
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Dialog message
|
|
80
|
-
*/
|
|
81
|
-
@property({ type: String }) message: string | undefined = undefined
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Text for confirm button (enables confirm mode when set with cancelText)
|
|
85
|
-
*/
|
|
86
|
-
@property({ type: String, attribute: 'confirm-text' }) confirmText: string | undefined = undefined
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Text for cancel button
|
|
90
|
-
*/
|
|
91
|
-
@property({ type: String, attribute: 'cancel-text' }) cancelText: string | undefined = undefined
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Dialog variant (affects button colors in confirm mode)
|
|
95
|
-
*/
|
|
96
|
-
@property({ type: String }) variant: 'default' | 'danger' = 'default'
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Whether to hide action buttons (force content mode)
|
|
100
|
-
*/
|
|
101
|
-
@property({ type: Boolean, attribute: 'hide-actions' }) hideActions = false
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Slotted children in the named "content" slot (confirm mode custom content)
|
|
105
|
-
*/
|
|
106
|
-
@queryAssignedElements({ slot: 'content', flatten: true })
|
|
107
|
-
private _contentSlotElements!: HTMLElement[]
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Ref to the confirm mode wrapper div
|
|
111
|
-
*/
|
|
112
|
-
private _confirmDialogRef: Ref<HTMLElement> = createRef()
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Ref to the content mode section element
|
|
116
|
-
*/
|
|
117
|
-
private _contentDialogRef: Ref<HTMLElement> = createRef()
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Ref to the backdrop element for animations
|
|
121
|
-
*/
|
|
122
|
-
private _backdropRef: Ref<HTMLElement> = createRef()
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Ref to the drag handle element for swipe gestures
|
|
126
|
-
*/
|
|
127
|
-
private _dragHandleRef: Ref<HTMLElement> = createRef()
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Stable per-instance id used for ARIA labelledby/describedby wiring
|
|
131
|
-
*/
|
|
132
|
-
private readonly _a11yId = `schmancy-dialog-${Math.random().toString(36).slice(2, 10)}`
|
|
133
|
-
private get _titleId() { return `${this._a11yId}-title` }
|
|
134
|
-
private get _descId() { return `${this._a11yId}-desc` }
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Return the dialog element for positioning/size measurement.
|
|
138
|
-
* In content mode, returns the first slotted child (the actual component).
|
|
139
|
-
* In confirm mode, returns the wrapper div.
|
|
140
|
-
*/
|
|
141
|
-
protected getDialogElement(): HTMLElement | null {
|
|
142
|
-
// Content mode: use the section wrapper (slotted content may be display:contents)
|
|
143
|
-
if (this._contentDialogRef.value) return this._contentDialogRef.value
|
|
144
|
-
// Confirm mode: use the wrapper div
|
|
145
|
-
return this._confirmDialogRef.value ?? null
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Return the backdrop element for animations
|
|
150
|
-
*/
|
|
151
|
-
protected getBackdropElement(): HTMLElement | null {
|
|
152
|
-
return this._backdropRef.value ?? null
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Return the drag handle element for swipe gestures
|
|
157
|
-
*/
|
|
158
|
-
protected getDragHandleElement(): HTMLElement | null {
|
|
159
|
-
return this._dragHandleRef.value ?? null
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Check if dialog is in confirm mode (has buttons)
|
|
164
|
-
*/
|
|
165
|
-
private get isConfirmMode(): boolean {
|
|
166
|
-
if (this.hideActions) return false
|
|
167
|
-
return !!(this.confirmText?.trim() && this.cancelText?.trim())
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* Handle component connection to DOM
|
|
172
|
-
*/
|
|
173
|
-
connectedCallback(): void {
|
|
174
|
-
super.connectedCallback()
|
|
175
|
-
|
|
176
|
-
// Listen for "where are you ricky" events
|
|
177
|
-
fromEvent<DialogWhereAreYouRickyEvent>(window, DialogWhereAreYouRicky)
|
|
178
|
-
.pipe(
|
|
179
|
-
tap(e => {
|
|
180
|
-
if (e.detail.uid === this.uid) this.announcePresence()
|
|
181
|
-
}),
|
|
182
|
-
takeUntil(this.disconnecting),
|
|
183
|
-
)
|
|
184
|
-
.subscribe()
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Announce this dialog's presence to the service
|
|
189
|
-
*/
|
|
190
|
-
private announcePresence(): void {
|
|
191
|
-
this.dispatchEvent(
|
|
192
|
-
new CustomEvent(DialogHereMorty, {
|
|
193
|
-
detail: { dialog: this },
|
|
194
|
-
bubbles: true,
|
|
195
|
-
composed: true,
|
|
196
|
-
}),
|
|
197
|
-
)
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* Handle confirm action
|
|
202
|
-
*/
|
|
203
|
-
private handleConfirm(): void {
|
|
204
|
-
this.hide(true)
|
|
205
|
-
this.dispatchEvent(
|
|
206
|
-
new CustomEvent('confirm', {
|
|
207
|
-
bubbles: true,
|
|
208
|
-
composed: true,
|
|
209
|
-
}),
|
|
210
|
-
)
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* Handle cancel/close action
|
|
215
|
-
*/
|
|
216
|
-
private handleClose(): void {
|
|
217
|
-
if (this.isAnimating()) return
|
|
218
|
-
this.hide(false)
|
|
219
|
-
this.dispatchEvent(
|
|
220
|
-
new CustomEvent(this.isConfirmMode ? 'cancel' : 'close', {
|
|
221
|
-
bubbles: true,
|
|
222
|
-
composed: true,
|
|
223
|
-
}),
|
|
224
|
-
)
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* Render drag handle for mobile bottom sheet
|
|
229
|
-
*/
|
|
230
|
-
private renderDragHandle() {
|
|
231
|
-
return html`
|
|
232
|
-
<div ${ref(this._dragHandleRef)} class="dialog-drag-handle flex justify-center pt-2 pb-1 cursor-grab active:cursor-grabbing touch-none">
|
|
233
|
-
<div class="w-10 h-1 rounded-full bg-outline-variant"></div>
|
|
234
|
-
</div>
|
|
235
|
-
`
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
render() {
|
|
239
|
-
const isCentered = this.isCentered()
|
|
240
|
-
const hasCustomContent = this._contentSlotElements?.length > 0
|
|
241
|
-
|
|
242
|
-
// Mobile bottom sheet classes
|
|
243
|
-
const mobileDialogClasses = {
|
|
244
|
-
dialog: true,
|
|
245
|
-
fixed: true,
|
|
246
|
-
'inset-x-0': true,
|
|
247
|
-
'bottom-0': true,
|
|
248
|
-
'w-full': true,
|
|
249
|
-
'max-h-[90dvh]': true,
|
|
250
|
-
'overflow-hidden': true,
|
|
251
|
-
// Safe area padding for notched devices
|
|
252
|
-
'pb-[env(safe-area-inset-bottom)]': true,
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
// Desktop dialog classes
|
|
256
|
-
const desktopDialogClasses = {
|
|
257
|
-
dialog: true,
|
|
258
|
-
fixed: true,
|
|
259
|
-
'w-[var(--dialog-width)]': true,
|
|
260
|
-
'max-w-[calc(100vw-2rem)]': true,
|
|
261
|
-
'max-h-[90dvh]': true,
|
|
262
|
-
'overflow-hidden': true,
|
|
263
|
-
'top-1/2': isCentered,
|
|
264
|
-
'left-1/2': isCentered,
|
|
265
|
-
'-translate-x-1/2': isCentered,
|
|
266
|
-
'-translate-y-1/2': isCentered,
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
const dialogClasses = this.isMobile ? mobileDialogClasses : desktopDialogClasses
|
|
270
|
-
|
|
271
|
-
// Button classes - stack vertically on mobile
|
|
272
|
-
const buttonContainerClasses = this.isMobile
|
|
273
|
-
? 'flex flex-col-reverse gap-2 w-full'
|
|
274
|
-
: 'flex justify-end gap-3'
|
|
275
|
-
|
|
276
|
-
// Confirm mode: with title/buttons
|
|
277
|
-
if (this.isConfirmMode) {
|
|
278
|
-
const hasTitle = !!this.title?.trim()
|
|
279
|
-
const hasSubtitle = !!this.subtitle?.trim()
|
|
280
|
-
const hasMessage = !!this.message?.trim()
|
|
281
|
-
const describedBy = [hasSubtitle && this._descId + '-sub', hasMessage && this._descId + '-msg']
|
|
282
|
-
.filter(Boolean)
|
|
283
|
-
.join(' ') || ''
|
|
284
|
-
return html`
|
|
285
|
-
<div ${ref(this._backdropRef)} class="fixed inset-0 bg-surface-container/10 backdrop-blur-lg backdrop-saturate-150 backdrop-brightness-105" @click=${this.handleClose}></div>
|
|
286
|
-
|
|
287
|
-
<div
|
|
288
|
-
${ref(this._confirmDialogRef)}
|
|
289
|
-
class=${this.classMap(dialogClasses)}
|
|
290
|
-
role="alertdialog"
|
|
291
|
-
aria-modal="true"
|
|
292
|
-
aria-labelledby=${hasTitle ? this._titleId : nothing}
|
|
293
|
-
aria-describedby=${describedBy || nothing}
|
|
294
|
-
>
|
|
295
|
-
<schmancy-surface
|
|
296
|
-
${cursorGlow({ radius: 250, intensity: 0.1 })}
|
|
297
|
-
rounded=${this.isMobile ? 'top' : 'all'}
|
|
298
|
-
type="glass"
|
|
299
|
-
fill="all"
|
|
300
|
-
class="overflow-hidden"
|
|
301
|
-
>
|
|
302
|
-
${this.isMobile ? this.renderDragHandle() : null}
|
|
303
|
-
<schmancy-scroll direction="vertical" hide class="p-4 pt-2">
|
|
304
|
-
<schmancy-form @submit=${this.handleConfirm}>
|
|
305
|
-
${when(
|
|
306
|
-
hasTitle,
|
|
307
|
-
() => html`
|
|
308
|
-
<schmancy-typography id=${this._titleId} type="title" token="md" class="mb-1">${this.title}</schmancy-typography>
|
|
309
|
-
${when(
|
|
310
|
-
hasSubtitle,
|
|
311
|
-
() => html`
|
|
312
|
-
<schmancy-typography id="${this._descId}-sub" type="subtitle" token="xs" class="mb-2">
|
|
313
|
-
${this.subtitle}
|
|
314
|
-
</schmancy-typography>
|
|
315
|
-
`,
|
|
316
|
-
)}
|
|
317
|
-
`,
|
|
318
|
-
)}
|
|
319
|
-
${hasCustomContent
|
|
320
|
-
? html`<div class="mb-4"><slot name="content"></slot></div>`
|
|
321
|
-
: when(
|
|
322
|
-
hasMessage,
|
|
323
|
-
() => html`<schmancy-typography id="${this._descId}-msg" type="body" class="mb-4">${this.message}</schmancy-typography>`,
|
|
324
|
-
)}
|
|
325
|
-
<div class=${buttonContainerClasses}>
|
|
326
|
-
<schmancy-button
|
|
327
|
-
variant="outlined"
|
|
328
|
-
@click=${this.handleClose}
|
|
329
|
-
class=${this.isMobile ? 'w-full' : ''}
|
|
330
|
-
>
|
|
331
|
-
${this.cancelText}
|
|
332
|
-
</schmancy-button>
|
|
333
|
-
<schmancy-button
|
|
334
|
-
type="submit"
|
|
335
|
-
variant="filled"
|
|
336
|
-
class=${this.isMobile ? 'w-full' : ''}
|
|
337
|
-
>
|
|
338
|
-
${this.confirmText}
|
|
339
|
-
</schmancy-button>
|
|
340
|
-
</div>
|
|
341
|
-
</schmancy-form>
|
|
342
|
-
</schmancy-scroll>
|
|
343
|
-
</schmancy-surface>
|
|
344
|
-
</div>
|
|
345
|
-
`
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
// Content mode: minimal, just slot
|
|
349
|
-
return html`
|
|
350
|
-
<div ${ref(this._backdropRef)} class="fixed inset-0 bg-surface-container/10 backdrop-blur-lg backdrop-saturate-150 backdrop-brightness-105" @click=${this.handleClose}></div>
|
|
351
|
-
|
|
352
|
-
<section ${ref(this._contentDialogRef)} class=${this.classMap(dialogClasses)} role="dialog" aria-modal="true">
|
|
353
|
-
<schmancy-surface ${cursorGlow({ radius: 250, intensity: 0.1 })} rounded=${this.isMobile ? 'top' : 'all'} type="glass" fill="all">
|
|
354
|
-
${this.isMobile ? this.renderDragHandle() : null}
|
|
355
|
-
<schmancy-scroll direction="vertical" hide class="max-h-[85dvh]">
|
|
356
|
-
<slot></slot>
|
|
357
|
-
</schmancy-scroll>
|
|
358
|
-
</schmancy-surface>
|
|
359
|
-
</section>
|
|
360
|
-
`
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
/**
|
|
364
|
-
* Static helper for confirm dialogs
|
|
365
|
-
*/
|
|
366
|
-
static async confirm(options: {
|
|
367
|
-
title?: string
|
|
368
|
-
subtitle?: string
|
|
369
|
-
message?: string
|
|
370
|
-
confirmText?: string
|
|
371
|
-
cancelText?: string
|
|
372
|
-
variant?: 'default' | 'danger'
|
|
373
|
-
position?: { x: number; y: number } | MouseEvent | TouchEvent
|
|
374
|
-
width?: string
|
|
375
|
-
}): Promise<boolean> {
|
|
376
|
-
let dialog = document.querySelector('schmancy-dialog[data-static-confirm]') as SchmancyDialog
|
|
377
|
-
|
|
378
|
-
if (!dialog) {
|
|
379
|
-
dialog = document.createElement('schmancy-dialog') as SchmancyDialog
|
|
380
|
-
dialog.setAttribute('data-static-confirm', '')
|
|
381
|
-
document.body.appendChild(dialog)
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
// Set options
|
|
385
|
-
dialog.title = options.title
|
|
386
|
-
dialog.subtitle = options.subtitle
|
|
387
|
-
dialog.message = options.message
|
|
388
|
-
dialog.confirmText = options.confirmText ?? 'Confirm'
|
|
389
|
-
dialog.cancelText = options.cancelText ?? 'Cancel'
|
|
390
|
-
dialog.variant = options.variant ?? 'default'
|
|
391
|
-
if (options.width) dialog.style.setProperty('--dialog-width', options.width)
|
|
392
|
-
|
|
393
|
-
return dialog.show(options.position)
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
/**
|
|
397
|
-
* Simple shorthand - just pass message and optionally an event
|
|
398
|
-
*/
|
|
399
|
-
static async ask(message: string, event?: MouseEvent | TouchEvent): Promise<boolean> {
|
|
400
|
-
return this.confirm({
|
|
401
|
-
message,
|
|
402
|
-
position: event,
|
|
403
|
-
})
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
// Alias for backward compatibility
|
|
408
|
-
export { SchmancyDialog as ConfirmDialog }
|
|
409
|
-
|
|
410
|
-
declare global {
|
|
411
|
-
interface HTMLElementTagNameMap {
|
|
412
|
-
'schmancy-dialog': SchmancyDialog
|
|
413
|
-
}
|
|
414
|
-
}
|
package/src/dialog/index.ts
DELETED
package/src/mailbox/README.md
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
# Schmancy Mailbox Components
|
|
2
|
-
|
|
3
|
-
A comprehensive email composition and management system.
|
|
4
|
-
|
|
5
|
-
## Components
|
|
6
|
-
|
|
7
|
-
### SchmancyEmailCompose
|
|
8
|
-
|
|
9
|
-
Main orchestration component that combines composer, preview, and recipients management.
|
|
10
|
-
|
|
11
|
-
```html
|
|
12
|
-
<schmancy-email-compose
|
|
13
|
-
.config=${{ sendEndpoint: '/api/send-email' }}
|
|
14
|
-
.templates=${emailTemplates}
|
|
15
|
-
.importSources=${recipientSources}
|
|
16
|
-
@send-email=${handleSendEmail}
|
|
17
|
-
></schmancy-email-compose>
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
### SchmancyEmailComposer
|
|
21
|
-
|
|
22
|
-
Rich text email editor with markdown formatting, templates, and file attachments.
|
|
23
|
-
|
|
24
|
-
```html
|
|
25
|
-
<schmancy-email-composer
|
|
26
|
-
.subject="Welcome to our service"
|
|
27
|
-
.body="**Hello** and welcome!"
|
|
28
|
-
.templates=${templates}
|
|
29
|
-
@composer-change=${handleChange}
|
|
30
|
-
></schmancy-email-composer>
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### SchmancyEmailPreview
|
|
34
|
-
|
|
35
|
-
Email preview component showing HTML and plain text versions.
|
|
36
|
-
|
|
37
|
-
```html
|
|
38
|
-
<schmancy-email-preview
|
|
39
|
-
subject="Welcome!"
|
|
40
|
-
body="**Hello** world"
|
|
41
|
-
.attachments=${attachments}
|
|
42
|
-
.recipients=${['user@example.com']}
|
|
43
|
-
></schmancy-email-preview>
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### SchmancyRecipientsPanel
|
|
47
|
-
|
|
48
|
-
Floating boat interface for managing email recipients with CSV import.
|
|
49
|
-
|
|
50
|
-
```html
|
|
51
|
-
<schmancy-recipients-panel
|
|
52
|
-
.recipients=${recipientList}
|
|
53
|
-
.importSources=${importOptions}
|
|
54
|
-
@emails-imported=${handleImport}
|
|
55
|
-
></schmancy-recipients-panel>
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Features
|
|
59
|
-
|
|
60
|
-
- **Framework Agnostic**: No Firebase or external dependencies built-in
|
|
61
|
-
- **Configurable Upload Handlers**: Support for custom file and image upload logic
|
|
62
|
-
- **CSV Import**: Drag & drop CSV files with email validation
|
|
63
|
-
- **Rich Text Editing**: Markdown-based editor with formatting toolbar
|
|
64
|
-
- **Layout Templates**: Pre-built email layouts (columns, sidebars, image rows)
|
|
65
|
-
- **Responsive Design**: Mobile-first with desktop optimization
|
|
66
|
-
- **Theme Integration**: Full Schmancy theme system support
|
|
67
|
-
- **TypeScript**: Complete type safety with comprehensive interfaces
|
|
68
|
-
|
|
69
|
-
## Configuration
|
|
70
|
-
|
|
71
|
-
### EmailComposeConfig
|
|
72
|
-
|
|
73
|
-
```typescript
|
|
74
|
-
interface EmailComposeConfig {
|
|
75
|
-
sendEndpoint?: string
|
|
76
|
-
templatesEndpoint?: string
|
|
77
|
-
uploadEndpoint?: string
|
|
78
|
-
authenticateRequest?: (request: RequestInit) => RequestInit
|
|
79
|
-
uploadHandler?: (file: File) => Promise<string>
|
|
80
|
-
imageUploadHandler?: (file: File) => Promise<string>
|
|
81
|
-
}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### Import Sources
|
|
85
|
-
|
|
86
|
-
```typescript
|
|
87
|
-
interface ImportSource {
|
|
88
|
-
id: string
|
|
89
|
-
label: string
|
|
90
|
-
icon: string
|
|
91
|
-
handler: () => void
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
const importSources: ImportSource[] = [
|
|
95
|
-
{
|
|
96
|
-
id: 'contacts',
|
|
97
|
-
label: 'Import from Contacts',
|
|
98
|
-
icon: 'contacts',
|
|
99
|
-
handler: () => importFromContacts()
|
|
100
|
-
}
|
|
101
|
-
]
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
## Events
|
|
105
|
-
|
|
106
|
-
All components dispatch standard CustomEvents:
|
|
107
|
-
|
|
108
|
-
- `emails-imported`: When recipients are imported
|
|
109
|
-
- `recipient-removed`: When individual recipient is removed
|
|
110
|
-
- `recipients-cleared`: When all recipients are cleared
|
|
111
|
-
- `selection-changed`: When recipient selection changes
|
|
112
|
-
- `compose-changed`: When email content changes
|
|
113
|
-
- `send-email`: When send button is clicked
|
|
114
|
-
- `send-error`: When validation or sending fails
|
|
115
|
-
|
|
116
|
-
## Design Notes
|
|
117
|
-
|
|
118
|
-
- **No Firebase coupling** — framework-agnostic
|
|
119
|
-
- **Configurable upload handlers** — custom upload logic via props
|
|
120
|
-
- **Optional CSV parser** — use Papa Parse or a custom parser
|
|
121
|
-
- **Theme integration** — uses the Schmancy design system
|
|
122
|
-
- **Type safety** — comprehensive TypeScript interfaces
|
|
123
|
-
|
|
124
|
-
## Dependencies
|
|
125
|
-
|
|
126
|
-
- **Required**: Schmancy core components (button, surface, typography, etc.)
|
|
127
|
-
- **Optional**: CSV parser library (Papa Parse recommended)
|
|
128
|
-
- **Optional**: Custom upload handlers for file management
|