@mhmo91/schmancy 0.5.4 → 0.5.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/dist/{animated-text-BG8EZ5Vg.js → animated-text-BSEbI_B1.js} +3 -3
- package/dist/{animated-text-BG8EZ5Vg.js.map → animated-text-BSEbI_B1.js.map} +1 -1
- package/dist/{animated-text-BIuI4cc4.cjs → animated-text-D93P3NLN.cjs} +2 -2
- package/dist/{animated-text-BIuI4cc4.cjs.map → animated-text-D93P3NLN.cjs.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.component-DqpGzGXM.cjs +12 -0
- package/dist/area.component-DqpGzGXM.cjs.map +1 -0
- package/dist/area.component-bPf-SBQs.js +315 -0
- package/dist/area.component-bPf-SBQs.js.map +1 -0
- package/dist/area.js +1 -1
- package/dist/{autocomplete-BrT-pQ8z.cjs → autocomplete-Bd9CwOTL.cjs} +2 -2
- package/dist/{autocomplete-BrT-pQ8z.cjs.map → autocomplete-Bd9CwOTL.cjs.map} +1 -1
- package/dist/{autocomplete-Cz3oBX-j.js → autocomplete-af8Qu5FD.js} +3 -3
- package/dist/{autocomplete-Cz3oBX-j.js.map → autocomplete-af8Qu5FD.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-b0PhZQ9Z.cjs → avatar-C8XJnGJs.cjs} +2 -2
- package/dist/{avatar-b0PhZQ9Z.cjs.map → avatar-C8XJnGJs.cjs.map} +1 -1
- package/dist/{avatar-DVWNjWy4.js → avatar-n-Kjs8UW.js} +54 -53
- package/dist/{avatar-DVWNjWy4.js.map → avatar-n-Kjs8UW.js.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-BSSbcXhK.cjs → boat-DPvoDoGb.cjs} +2 -2
- package/dist/{boat-BSSbcXhK.cjs.map → boat-DPvoDoGb.cjs.map} +1 -1
- package/dist/{boat-CXeJyYor.js → boat-DjBoRSfy.js} +2 -2
- package/dist/{boat-CXeJyYor.js.map → boat-DjBoRSfy.js.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-Bq4mScln.js → checkbox-BZzC_CIS.js} +2 -2
- package/dist/{checkbox-Bq4mScln.js.map → checkbox-BZzC_CIS.js.map} +1 -1
- package/dist/{checkbox-BDzFjuVZ.cjs → checkbox-DvT7CeFj.cjs} +2 -2
- package/dist/{checkbox-BDzFjuVZ.cjs.map → checkbox-DvT7CeFj.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-BsxUNU4E.js → code-preview-CTTH6fvP.js} +2 -2
- package/dist/{code-preview-BsxUNU4E.js.map → code-preview-CTTH6fvP.js.map} +1 -1
- package/dist/{code-preview-DMDMM4B5.cjs → code-preview-Dz_GPOLi.cjs} +2 -2
- package/dist/{code-preview-DMDMM4B5.cjs.map → code-preview-Dz_GPOLi.cjs.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-Dr3UhAqr.js → date-range-BrBEgeG_.js} +4 -4
- package/dist/{date-range-Dr3UhAqr.js.map → date-range-BrBEgeG_.js.map} +1 -1
- package/dist/{date-range-DVc1vq6S.cjs → date-range-DKCCG05M.cjs} +2 -2
- package/dist/{date-range-DVc1vq6S.cjs.map → date-range-DKCCG05M.cjs.map} +1 -1
- package/dist/{date-range-inline-CL6CBm6E.cjs → date-range-inline-C0JRYaRI.cjs} +2 -2
- package/dist/{date-range-inline-CL6CBm6E.cjs.map → date-range-inline-C0JRYaRI.cjs.map} +1 -1
- package/dist/{date-range-inline-DyjEz-HC.js → date-range-inline-DiKLX1N5.js} +3 -3
- package/dist/{date-range-inline-DyjEz-HC.js.map → date-range-inline-DiKLX1N5.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-DRVJP6DM.cjs → delay-ChpulFl1.cjs} +2 -2
- package/dist/{delay-DRVJP6DM.cjs.map → delay-ChpulFl1.cjs.map} +1 -1
- package/dist/{delay-D0jpRot4.js → delay-jmlT40UJ.js} +2 -2
- package/dist/{delay-D0jpRot4.js.map → delay-jmlT40UJ.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-Cx5LoFyp.js → details-BMBliqaf.js} +2 -2
- package/dist/{details-Cx5LoFyp.js.map → details-BMBliqaf.js.map} +1 -1
- package/dist/{details-CLEhb682.cjs → details-D13RT8Mp.cjs} +2 -2
- package/dist/{details-CLEhb682.cjs.map → details-D13RT8Mp.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-Wk0TffYD.cjs → dialog-content-CwRiHVH5.cjs} +10 -14
- package/dist/dialog-content-CwRiHVH5.cjs.map +1 -0
- package/dist/{dialog-content-DMCx9ntb.js → dialog-content-DXBS1xFM.js} +23 -28
- package/dist/dialog-content-DXBS1xFM.js.map +1 -0
- package/dist/dialog-service-Bdaxn2t0.cjs +2 -0
- package/dist/dialog-service-Bdaxn2t0.cjs.map +1 -0
- package/dist/{dialog-service-PQ9ssbsY.js → dialog-service-CyQzm5qE.js} +16 -16
- package/dist/dialog-service-CyQzm5qE.js.map +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +2 -2
- package/dist/{divider-Bc7NcQOz.js → divider-BAMyHNxh.js} +3 -3
- package/dist/{divider-Bc7NcQOz.js.map → divider-BAMyHNxh.js.map} +1 -1
- package/dist/{divider-DY1HOECi.cjs → divider-hJ8iLPY-.cjs} +2 -2
- package/dist/{divider-DY1HOECi.cjs.map → divider-hJ8iLPY-.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-DTMe37Q_.js → dropdown-content-Dh-oQQpb.js} +3 -3
- package/dist/{dropdown-content-DTMe37Q_.js.map → dropdown-content-Dh-oQQpb.js.map} +1 -1
- package/dist/{dropdown-content-5Rx-5ypA.cjs → dropdown-content-DuwSyoV8.cjs} +2 -2
- package/dist/{dropdown-content-5Rx-5ypA.cjs.map → dropdown-content-DuwSyoV8.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-Cnvf9Hj1.cjs → email-recipients-Ces4Z6AW.cjs} +2 -2
- package/dist/{email-recipients-Cnvf9Hj1.cjs.map → email-recipients-Ces4Z6AW.cjs.map} +1 -1
- package/dist/{email-recipients-3I5Q6q50.js → email-recipients-Czz1tJcV.js} +6 -6
- package/dist/{email-recipients-3I5Q6q50.js.map → email-recipients-Czz1tJcV.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-BVMUcxxI.js → flex-COzPIQAF.js} +2 -2
- package/dist/{flex-BVMUcxxI.js.map → flex-COzPIQAF.js.map} +1 -1
- package/dist/{flex-DVi7UxtI.cjs → flex-haMVY2KA.cjs} +2 -2
- package/dist/{flex-DVi7UxtI.cjs.map → flex-haMVY2KA.cjs.map} +1 -1
- package/dist/{form-BZ30LVtB.cjs → form-B4I2SPkc.cjs} +2 -2
- package/dist/{form-BZ30LVtB.cjs.map → form-B4I2SPkc.cjs.map} +1 -1
- package/dist/{form-DfuC53cH.js → form-Bh3BEwyo.js} +2 -2
- package/dist/{form-DfuC53cH.js.map → form-Bh3BEwyo.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-B77hpFRB.cjs → formField.mixin-CaljqKhq.cjs} +2 -2
- package/dist/{formField.mixin-B77hpFRB.cjs.map → formField.mixin-CaljqKhq.cjs.map} +1 -1
- package/dist/{formField.mixin-DXUNJs_o.js → formField.mixin-WG1BLWMy.js} +2 -2
- package/dist/{formField.mixin-DXUNJs_o.js.map → formField.mixin-WG1BLWMy.js.map} +1 -1
- package/dist/{icon-Bomt4X0W.js → icon-BWvG5Zpz.js} +2 -2
- package/dist/{icon-Bomt4X0W.js.map → icon-BWvG5Zpz.js.map} +1 -1
- package/dist/{icon-button-BmiMlhoE.cjs → icon-button-179Gluhj.cjs} +2 -2
- package/dist/{icon-button-BmiMlhoE.cjs.map → icon-button-179Gluhj.cjs.map} +1 -1
- package/dist/{icon-button-CL5jmg3z.js → icon-button-Col8hPhL.js} +3 -3
- package/dist/{icon-button-CL5jmg3z.js.map → icon-button-Col8hPhL.js.map} +1 -1
- package/dist/{icon-38EB7OR2.cjs → icon-xlw9hFU5.cjs} +2 -2
- package/dist/{icon-38EB7OR2.cjs.map → icon-xlw9hFU5.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +157 -154
- package/dist/index.js.map +1 -1
- package/dist/{input-B_QNz5Lp.js → input-Bwv0qqfr.js} +3 -3
- package/dist/{input-B_QNz5Lp.js.map → input-Bwv0qqfr.js.map} +1 -1
- package/dist/{input-KYCqb7-P.cjs → input-BziqvuDi.cjs} +2 -2
- package/dist/{input-KYCqb7-P.cjs.map → input-BziqvuDi.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-BguNeVQo.cjs → list-CA3reoj-.cjs} +2 -2
- package/dist/{list-BguNeVQo.cjs.map → list-CA3reoj-.cjs.map} +1 -1
- package/dist/{list-TM-IqNbA.js → list-CnEBlTyV.js} +2 -2
- package/dist/{list-TM-IqNbA.js.map → list-CnEBlTyV.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-DvlT9GCm.js → litElement.mixin-CAUo-j_j.js} +2 -2
- package/dist/{litElement.mixin-DvlT9GCm.js.map → litElement.mixin-CAUo-j_j.js.map} +1 -1
- package/dist/{litElement.mixin-6T6ztev2.cjs → litElement.mixin-DE7nMq_x.cjs} +2 -2
- package/dist/{litElement.mixin-6T6ztev2.cjs.map → litElement.mixin-DE7nMq_x.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-VtO2kq0a.cjs → map-B2neETi5.cjs} +2 -2
- package/dist/{map-VtO2kq0a.cjs.map → map-B2neETi5.cjs.map} +1 -1
- package/dist/{map-DfhztV-_.js → map-YZSVvbDM.js} +2 -2
- package/dist/{map-DfhztV-_.js.map → map-YZSVvbDM.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-BS_qJEfN.js → media-Cfi2Rp8w.js} +2 -2
- package/dist/{media-BS_qJEfN.js.map → media-Cfi2Rp8w.js.map} +1 -1
- package/dist/{media-DWOBF-Ln.cjs → media-DAnLnZWp.cjs} +2 -2
- package/dist/{media-DWOBF-Ln.cjs.map → media-DAnLnZWp.cjs.map} +1 -1
- package/dist/{menu-CGv1fnt9.js → menu-BwO8_Djb.js} +3 -3
- package/dist/{menu-CGv1fnt9.js.map → menu-BwO8_Djb.js.map} +1 -1
- package/dist/{menu-BZUiU-pE.cjs → menu-DoN4dmcH.cjs} +2 -2
- package/dist/{menu-BZUiU-pE.cjs.map → menu-DoN4dmcH.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-rail-item-B2XuJrYp.cjs +116 -0
- package/dist/navigation-rail-item-B2XuJrYp.cjs.map +1 -0
- package/dist/navigation-rail-item-D_GarK92.js +151 -0
- package/dist/navigation-rail-item-D_GarK92.js.map +1 -0
- package/dist/navigation-rail.cjs +2 -0
- package/dist/navigation-rail.cjs.map +1 -0
- package/dist/navigation-rail.js +6 -0
- package/dist/navigation-rail.js.map +1 -0
- package/dist/{notification-service-CeuP0eoF.js → notification-service-6Z0mPoJa.js} +4 -4
- package/dist/{notification-service-CeuP0eoF.js.map → notification-service-6Z0mPoJa.js.map} +1 -1
- package/dist/{notification-service-6Mwqlm5v.cjs → notification-service-Cm060I1t.cjs} +2 -2
- package/dist/{notification-service-6Mwqlm5v.cjs.map → notification-service-Cm060I1t.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-B1MiCtku.cjs → notify-udRFmPQ4.cjs} +2 -2
- package/dist/{notify-B1MiCtku.cjs.map → notify-udRFmPQ4.cjs.map} +1 -1
- package/dist/{notify-Dkh-aCUe.js → notify-zh_vKYDR.js} +2 -2
- package/dist/{notify-Dkh-aCUe.js.map → notify-zh_vKYDR.js.map} +1 -1
- package/dist/{option-BZgdP6cQ.js → option-CE7cBraI.js} +2 -2
- package/dist/{option-BZgdP6cQ.js.map → option-CE7cBraI.js.map} +1 -1
- package/dist/{option-BhbeiWWs.cjs → option-CV_NvoXD.cjs} +2 -2
- package/dist/{option-BhbeiWWs.cjs.map → option-CV_NvoXD.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-Cx-mk-b0.js → payment-card-form-CM380Ic6.js} +3 -3
- package/dist/{payment-card-form-Cx-mk-b0.js.map → payment-card-form-CM380Ic6.js.map} +1 -1
- package/dist/{payment-card-form-CYvmkRSA.cjs → payment-card-form-DVNgyFeB.cjs} +2 -2
- package/dist/{payment-card-form-CYvmkRSA.cjs.map → payment-card-form-DVNgyFeB.cjs.map} +1 -1
- package/dist/{progress-BwWwqrav.js → progress-CVSCU7PX.js} +2 -2
- package/dist/{progress-BwWwqrav.js.map → progress-CVSCU7PX.js.map} +1 -1
- package/dist/{progress-9yStYB2Z.cjs → progress-Ci-XtLSK.cjs} +2 -2
- package/dist/{progress-9yStYB2Z.cjs.map → progress-Ci-XtLSK.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-_MiNq5aH.js → radio-button-5Dn14Xmt.js} +3 -3
- package/dist/{radio-button-_MiNq5aH.js.map → radio-button-5Dn14Xmt.js.map} +1 -1
- package/dist/{radio-button-BF9tOTbs.cjs → radio-button-DnA42XbW.cjs} +2 -2
- package/dist/{radio-button-BF9tOTbs.cjs.map → radio-button-DnA42XbW.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-kvj0fELt.cjs → schmancy-steps-container-CM6q2WfQ.cjs} +2 -2
- package/dist/{schmancy-steps-container-kvj0fELt.cjs.map → schmancy-steps-container-CM6q2WfQ.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-CEub082p.js → schmancy-steps-container-GpTeijL9.js} +2 -2
- package/dist/{schmancy-steps-container-CEub082p.js.map → schmancy-steps-container-GpTeijL9.js.map} +1 -1
- package/dist/{select-DydKgoOi.cjs → select-B-LiqQwb.cjs} +2 -2
- package/dist/{select-DydKgoOi.cjs.map → select-B-LiqQwb.cjs.map} +1 -1
- package/dist/{select-Z5jtcb5M.js → select-tK3rnufX.js} +3 -3
- package/dist/{select-Z5jtcb5M.js.map → select-tK3rnufX.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-BkaYiaNy.cjs → sheet-7c3D_QQJ.cjs} +2 -2
- package/dist/{sheet-BkaYiaNy.cjs.map → sheet-7c3D_QQJ.cjs.map} +1 -1
- package/dist/{sheet-CoSZWnWb.js → sheet-BvaShgm9.js} +3 -3
- package/dist/{sheet-CoSZWnWb.js.map → sheet-BvaShgm9.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-BIOJq1VE.cjs → slider-CJg1g5-p.cjs} +2 -2
- package/dist/{slider-BIOJq1VE.cjs.map → slider-CJg1g5-p.cjs.map} +1 -1
- package/dist/{slider-XMkRMUBv.js → slider-DhtPlac2.js} +3 -3
- package/dist/{slider-XMkRMUBv.js.map → slider-DhtPlac2.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-EXmgJTBe.js → spinner-BJIi1aCz.js} +2 -2
- package/dist/{spinner-EXmgJTBe.js.map → spinner-BJIi1aCz.js.map} +1 -1
- package/dist/{spinner-B2q-eIQn.cjs → spinner-DbpvEkH2.cjs} +2 -2
- package/dist/{spinner-B2q-eIQn.cjs.map → spinner-DbpvEkH2.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-Cdoof6BC.cjs → suggestion-chip-DMV7dPlk.cjs} +2 -2
- package/dist/{suggestion-chip-Cdoof6BC.cjs.map → suggestion-chip-DMV7dPlk.cjs.map} +1 -1
- package/dist/{suggestion-chip-DCUNJLI5.js → suggestion-chip-Dl176Rcs.js} +6 -6
- package/dist/{suggestion-chip-DCUNJLI5.js.map → suggestion-chip-Dl176Rcs.js.map} +1 -1
- package/dist/{surface-REf1r_Hq.js → surface-C1JQWYPw.js} +2 -2
- package/dist/{surface-REf1r_Hq.js.map → surface-C1JQWYPw.js.map} +1 -1
- package/dist/{surface-Byujl7vQ.cjs → surface-DVa9gv9E.cjs} +2 -2
- package/dist/{surface-Byujl7vQ.cjs.map → surface-DVa9gv9E.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CMvVtSb_.cjs → table-DVqiw9eI.cjs} +2 -2
- package/dist/{table-CMvVtSb_.cjs.map → table-DVqiw9eI.cjs.map} +1 -1
- package/dist/{table-B4VSq0Hf.js → table-pmNw4I3A.js} +2 -2
- package/dist/{table-B4VSq0Hf.js.map → table-pmNw4I3A.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-DIuw2_CU.js → tabs-compatibility-5xcbNfDo.js} +2 -2
- package/dist/{tabs-compatibility-DIuw2_CU.js.map → tabs-compatibility-5xcbNfDo.js.map} +1 -1
- package/dist/{tabs-compatibility-94AlapHO.cjs → tabs-compatibility-Br9jc1Dy.cjs} +2 -2
- package/dist/{tabs-compatibility-94AlapHO.cjs.map → tabs-compatibility-Br9jc1Dy.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-CngO3XGT.cjs +2 -0
- package/dist/{tailwind.mixin-BwyPZWY9.cjs.map → tailwind.mixin-CngO3XGT.cjs.map} +1 -1
- package/dist/tailwind.mixin-T5CiXVWk.js +43 -0
- package/dist/{tailwind.mixin-DmVr0c4M.js.map → tailwind.mixin-T5CiXVWk.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-D1TMw9YF.js → textarea-AQhSey_l.js} +2 -2
- package/dist/{textarea-D1TMw9YF.js.map → textarea-AQhSey_l.js.map} +1 -1
- package/dist/{textarea-BR5Li-nD.cjs → textarea-BACIb-N3.cjs} +2 -2
- package/dist/{textarea-BR5Li-nD.cjs.map → textarea-BACIb-N3.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-BxQD2kgl.cjs → theme-button-CRdkWTDn.cjs} +2 -2
- package/dist/{theme-button-BxQD2kgl.cjs.map → theme-button-CRdkWTDn.cjs.map} +1 -1
- package/dist/{theme-button-jBE7WmSk.js → theme-button-Dp2Z3PTI.js} +2 -2
- package/dist/{theme-button-jBE7WmSk.js.map → theme-button-Dp2Z3PTI.js.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.component-DsspzHLe.js → theme.component-0o6NJY_z.js} +53 -53
- package/dist/{theme.component-DsspzHLe.js.map → theme.component-0o6NJY_z.js.map} +1 -1
- package/dist/{theme.component-Bui-mL_9.cjs → theme.component-Bgw2BYNp.cjs} +2 -2
- package/dist/{theme.component-Bui-mL_9.cjs.map → theme.component-Bgw2BYNp.cjs.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-DrwWc-PS.cjs → timezone-DDbSCFT0.cjs} +2 -2
- package/dist/{timezone-DrwWc-PS.cjs.map → timezone-DDbSCFT0.cjs.map} +1 -1
- package/dist/{timezone-CRnMybGd.js → timezone-i2PffMdu.js} +3 -3
- package/dist/{timezone-CRnMybGd.js.map → timezone-i2PffMdu.js.map} +1 -1
- package/dist/{tooltip-Dpf6pzaq.cjs → tooltip-B-HgABZV.cjs} +2 -2
- package/dist/{tooltip-Dpf6pzaq.cjs.map → tooltip-B-HgABZV.cjs.map} +1 -1
- package/dist/{tooltip-DqZLylr1.js → tooltip-Ch1EkDNU.js} +2 -2
- package/dist/{tooltip-DqZLylr1.js.map → tooltip-Ch1EkDNU.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-DIftQLCJ.cjs → tree-CD7V4Am8.cjs} +2 -2
- package/dist/{tree-DIftQLCJ.cjs.map → tree-CD7V4Am8.cjs.map} +1 -1
- package/dist/{tree-3kX3eMLN.js → tree-DPmfcerN.js} +2 -2
- package/dist/{tree-3kX3eMLN.js.map → tree-DPmfcerN.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-pnrp4hDo.cjs → typewriter-BHNv2ubS.cjs} +2 -2
- package/dist/{typewriter-pnrp4hDo.cjs.map → typewriter-BHNv2ubS.cjs.map} +1 -1
- package/dist/{typewriter-BNt2JSP1.js → typewriter-CzL_PDdV.js} +7 -7
- package/dist/{typewriter-BNt2JSP1.js.map → typewriter-CzL_PDdV.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-CIGiQaQ9.js → typography-BUObo_2L.js} +2 -2
- package/dist/{typography-CIGiQaQ9.js.map → typography-BUObo_2L.js.map} +1 -1
- package/dist/{typography-BOpAEszL.cjs → typography-EG9ukCgM.cjs} +2 -2
- package/dist/{typography-BOpAEszL.cjs.map → typography-EG9ukCgM.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/area/area.component.d.ts +1 -10
- package/types/src/dialog/dailog.d.ts +1 -5
- package/types/src/dialog/dialog-service.d.ts +0 -7
- package/types/src/index.d.ts +1 -0
- package/types/src/navigation-rail/index.d.ts +2 -0
- package/types/src/navigation-rail/navigation-rail-item.d.ts +49 -0
- package/types/src/navigation-rail/navigation-rail.d.ts +35 -0
- package/dist/area.component-20kF-_Qv.js +0 -340
- package/dist/area.component-20kF-_Qv.js.map +0 -1
- package/dist/area.component-DGqP6nNX.cjs +0 -12
- package/dist/area.component-DGqP6nNX.cjs.map +0 -1
- package/dist/dialog-content-DMCx9ntb.js.map +0 -1
- package/dist/dialog-content-Wk0TffYD.cjs.map +0 -1
- package/dist/dialog-service-CgJH8clD.cjs +0 -2
- package/dist/dialog-service-CgJH8clD.cjs.map +0 -1
- package/dist/dialog-service-PQ9ssbsY.js.map +0 -1
- package/dist/tailwind.mixin-BwyPZWY9.cjs +0 -2
- package/dist/tailwind.mixin-DmVr0c4M.js +0 -43
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delay-D0jpRot4.js","sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../src/utils/hashContent.ts","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=i,this.F=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.$()}$(){const t=\"function\"==typeof this.C?this.C():this.C?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.F?.forEach((t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.S.style[t]=i+\"px\"}))}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","export default function (content: string): string {\n\tconst fnvOffsetBasis = 0x811c9dc5\n\tconst fnvPrime = 0x01000193\n\tlet hash = fnvOffsetBasis\n\n\tfor (let i = 0; i < content.length; i++) {\n\t\thash ^= content.charCodeAt(i)\n\t\thash = (hash * fnvPrime) >>> 0 // Ensure unsigned 32-bit integer\n\t}\n\n\treturn hash.toString(16) // Convert to hexadecimal string for compactness\n}\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"names":["i","WeakMap","o","r","Map","n","WeakSet","a","Promise","t","requestAnimationFrame","c","transform","opacity","l","v","g","s","w","N","left","value","isNaN","top","width","e","overrideFrom","height","A","duration","easing","b","j","F","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","getController","get","u","options","disabled","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","isDisabled","isAnimating","isConnected","from","hostUpdate","parentNode","nextSibling","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","getAttribute","webAnimation","commitStyles","cancel","reconnected","disconnected","id","out","insertBefore","stabilizeOut","position","style","remove","start","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","hostUpdated","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","constructor","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","firstUpdated","observeSlotChanges","updateRenderState","disconnectedCallback","mutationObserver","disconnect","slot","shadowRoot","querySelector","MutationObserver","generateSessionKey","observe","childList","subtree","HTMLElement","totalDelay","sibling","previousElementSibling","parentElement","getTotalSiblingDelay","sessionStorage","getItem","siblingDelay","timer","pipe","takeUntil","disconnecting","subscribe","setItem","error","slotContent","assignedElements","el","outerHTML","join","flyBelow","flyAbove","fadeIn","cache","html","motionLit","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"delay-jmlT40UJ.js","sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../src/utils/hashContent.ts","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=i,this.F=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.$()}$(){const t=\"function\"==typeof this.C?this.C():this.C?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.F?.forEach((t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.S.style[t]=i+\"px\"}))}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","export default function (content: string): string {\n\tconst fnvOffsetBasis = 0x811c9dc5\n\tconst fnvPrime = 0x01000193\n\tlet hash = fnvOffsetBasis\n\n\tfor (let i = 0; i < content.length; i++) {\n\t\thash ^= content.charCodeAt(i)\n\t\thash = (hash * fnvPrime) >>> 0 // Ensure unsigned 32-bit integer\n\t}\n\n\treturn hash.toString(16) // Convert to hexadecimal string for compactness\n}\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"names":["i","WeakMap","o","r","Map","n","WeakSet","a","Promise","t","requestAnimationFrame","c","transform","opacity","l","v","g","s","w","N","left","value","isNaN","top","width","e","overrideFrom","height","A","duration","easing","b","j","F","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","getController","get","u","options","disabled","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","isDisabled","isAnimating","isConnected","from","hostUpdate","parentNode","nextSibling","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","getAttribute","webAnimation","commitStyles","cancel","reconnected","disconnected","id","out","insertBefore","stabilizeOut","position","style","remove","start","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","hostUpdated","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","constructor","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","firstUpdated","observeSlotChanges","updateRenderState","disconnectedCallback","mutationObserver","disconnect","slot","shadowRoot","querySelector","MutationObserver","generateSessionKey","observe","childList","subtree","HTMLElement","totalDelay","sibling","previousElementSibling","parentElement","getTotalSiblingDelay","sessionStorage","getItem","siblingDelay","timer","pipe","takeUntil","disconnecting","subscribe","setItem","error","slotContent","assignedElements","el","outerHTML","join","flyBelow","flyAbove","fadeIn","cache","html","motionLit","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":";;;;;;;;;;;AAAA,MAAMA,IAAE,oBAAIC;ACA4P,IAAIC,IAAE;AAAE,MAAMC,IAAE,oBAAIC,OAAIC,IAAE,oBAAIC,WAAQC,IAAE,MAAI,IAAIC,QAASC,OAAGC,sBAAsBD,CAAAA,CAAAA,GAAKE,IAAE,CAAC,EAACC,WAAU,6BAA4BC,SAAQ,EAAA,CAAA,GAAIC,IAAE,CAAC,EAACF,WAAU,8BAA6BC,SAAQ,EAAA,CAAA,GAA4IE,IAAE,CAAC,EAACF,SAAQ,EAAA,GAAG,EAACA,SAAQ,EAAA,CAAA,GAAyDG,IAAE,CAACP,GAAET,MAAAA;AAAK,QAAMiB,IAAER,IAAET;AAAE,SAAWiB,MAAJ,IAAIA,SAASA;AAAAA,GAAGC,IAAE,CAACT,GAAET,MAAAA;AAAK,QAAMiB,IAAER,IAAET;AAAE,SAAWiB,MAAJ,IAAIA,SAASA;AAAAA,GAAGE,IAAE,EAACC,MAAK,CAACX,GAAET;AAAK,QAAMiB,IAAED,EAAEP,GAAET,CAAAA;AAAG,SAAM,EAACqB,OAAMJ,GAAEL,WAAgBK,KAAN,QAASK,MAAML,CAAAA,IAAAA,SAAU,cAAcA,CAAAA,MAAAA;AAAAA,GAASM,KAAI,CAACd,GAAET,MAAAA;AAAK,QAAMiB,IAAED,EAAEP,GAAET,CAAAA;AAAG,SAAM,EAACqB,OAAMJ,GAAEL,WAAgBK,KAAN,QAASK,MAAML,CAAAA,IAAAA,SAAU,cAAcA;GAASO,OAAM,CAACf,GAAET,MAAAA;AAAK,MAAIiB;AAAE,EAAIjB,MAAJ,MAAQA,IAAE,GAAEiB,IAAE,EAACO,OAAM,MAAA;AAAQ,QAAMC,IAAEP,EAAET,GAAET;AAAG,SAAM,EAACqB,OAAMI,GAAEC,cAAaT,GAAEL,WAAgBa,KAAN,QAASH,MAAMG,CAAAA,IAAAA,SAAU,UAAUA,CAAAA,IAAAA;AAAAA,GAAOE,QAAO,CAAClB,GAAET,MAAAA;AAAK,MAAIiB;AAAE,EAAIjB,MAAJ,MAAQA,IAAE,GAAEiB,IAAE,EAACU,QAAO,MAAA;AAAQ,QAAMF,IAAEP,EAAET,GAAET;AAAG,SAAM,EAACqB,OAAMI,GAAEC,cAAaT,GAAEL,WAAgBa,KAAN,QAASH,MAAMG,CAAAA,IAAAA,SAAU,UAAUA,CAAAA,IAAAA;AAAAA,EAAAA,GAAQG,IAAE,EAACC,UAAS,KAAIC,QAAO,cAAA,GAAeC,IAAE,CAAC,QAAO,OAAM,SAAQ,UAAS,WAAU,SAAQ,YAAA,GAAcC,IAAE,oBAAI/B,WAAoqKgC,IAAEjC,EAA9pK,cAAgByB,EAAAA;AAAAA,EAAE,YAAYhB,GAAAA;AAAG,QAAGyB,MAAMzB,CAAAA,GAAG0B,KAAK1B,IAAAA,IAAK0B,KAAKnC,IAAE,MAAKmC,KAAKjC,IAAE,MAAKiC,KAAKC,QAAKD,KAAKE,gBAAa5B,EAAE6B,SAAOrB,EAAEsB,MAAM,OAAMC,MAAM,6DAAA;AAA+DL,SAAKM;EAAgB;AAAA,EAAC;AAAiBN,SAAKO,kBAAAA,GAAoBP,KAAKQ,WAAS,IAAInC,QAASC;AAAI0B,WAAKrB,IAAEL;AAAAA,IAAE,CAAA;AAAA,EAAE;AAAA,EAAC,wBAAMiC;AAAkBP,SAAKrB,IAAAA,GAAMqB,KAAKrB,IAAAA;AAAAA,EAAQ;AAAA,EAAC,OAAOd;AAAG,WAAOS;AAAAA,EAAC;AAAA,EAAC,gBAAAmC;AAAgB,WAAOR,EAAES,IAAIV,KAAKW;EAAE;AAAA,EAAC;AAAa,WAAOX,KAAKY,QAAQC,YAAUb,KAAKS,cAAAA,GAAiBI;AAAAA,EAAQ;AAAA,EAAC,OAAOvC,GAAAA,CAAGT,CAAAA,GAAAA;AAAI,UAAMiB,IAAWkB,KAAKW,MAAhB7B;AAAkB,WAAOA,MAAIkB,KAAKW,IAAErC,EAAEsC,SAASE,MAAKd,KAAKW,EAAEI,cAAcf,OAAMA,KAAKW,EAAEK,eAAeC,KAAM3C,CAAAA,MAAG0B,KAAK1B,MAAE,GAAK0B,KAAKkB,UAAQ5C,EAAE4C,SAAQrB,EAAEsB,IAAInB,KAAKkB,SAAQlB,IAAAA,IAAOA,KAAKoB,oBAAkBvD,IAAGiB,KAAG,OAAmBjB,KAAnB,eAAuBmC,KAAKqB,EAAExD,IAAGmC,KAAKsB,OAAOzD,CAAAA;AAAAA,EAAE;AAAA,EAAC,EAAES;AAAGA,QAAEA,KAAG,CAAA;AAAG,UAAMT,IAAEmC,KAAKS,cAAAA;AAAAA,IAAyB5C,MAAzB4C,YAA8BnC,IAAE,EAAA,GAAIT,EAAE0D,gBAAAA,GAAkBjD,EAAAA,GAAIkD,kBAAgB,EAAA,GAAI3D,EAAE0D,eAAeC,iBAAAA,GAAmBlD,EAAEkD,gBAAAA,IAAkBlD,EAAEmD,eAAa7B,GAAEI,KAAKY,UAAQtC;AAAAA,EAAC;AAAA,EAAC,IAAAoD;AAAI,UAAMpD,IAAE,CAAA,GAAGT,IAAEmC,KAAKkB,QAAQS,yBAAwB7C,IAAE8C,iBAAiB5B,KAAKkB,OAAAA;AAAS,WAAOlB,KAAKY,QAAQa,WAAWI,QAASvC,CAAAA,MAAAA;AAAI,YAAMW,IAAEpC,EAAEyB,CAAAA,MAAKN,EAAEM,cAAUR,EAAEQ,KAAIvB,IAAE+D,OAAO7B;AAAG3B,QAAEgB,CAAAA,IAAGH,MAAMpB,CAAAA,IAAGkC,IAAE,KAAGlC;AAAAA,IAAE,CAAA,GAAGO;AAAAA,EAAC;AAAA,EAAC,IAAAM;AAAI,QAAIN,GAAET,IAAAA;AAAK,WAAOmC,KAAKY,QAAQmB,UAAQzD,IAAE0B,KAAKY,QAAQmB,MAAAA,GAAQlE,KAAE,CAAES,GAAET,MAAAA;AAAK,UAAGmE,MAAMC,QAAQ3D;AAAI,YAAG0D,MAAMC,QAAQpE,CAAAA,KAAIA,EAAEqE,WAAS5D,EAAE4D,UAAQ5D,EAAE6D,OAAQ7D,GAAEQ,MAAIR,MAAIT,EAAEiB,IAAK,QAAA;AAAA,iBAAiBjB,MAAIS,EAAE;AAAS,aAAA;AAAA,IAAS,GAAEA,GAAE0B,KAAKoC,CAAAA,IAAIpC,KAAKC,IAAED,KAAK1B,KAAAA,CAAI0B,KAAKqC,WAAAA,KAAAA,CAAerC,KAAKsC,iBAAezE,KAAGmC,KAAKkB,QAAQqB,aAAYvC,KAAKC,MAAID,KAAKoC,IAAEJ,MAAMC,QAAQ3D,CAAAA,IAAG0D,MAAMQ,KAAKlE,CAAAA,IAAGA,IAAG0B,KAAKC;AAAAA,EAAC;AAAA,EAAC,aAAAwC;AAAa,IAAA,OAAmBzC,KAAKoB,qBAAxB,cAA2CpB,KAAKqB,EAAErB,KAAKoB,kBAAAA,CAAAA,GAAqBpB,KAAKpB,QAAMoB,KAAKP,IAAEO,KAAK0B,EAAAA,GAAI1B,KAAKnC,IAAEmC,KAAKnC,KAAGmC,KAAKkB,QAAQwB,YAAW1C,KAAKjC,IAAEiC,KAAKkB,QAAQyB;AAAAA,EAAY;AAAA,EAAC,MAAA;AAAoB,QAAA,CAAI3C,KAAKC,MAAID,KAAKkB,QAAQqB,eAAavC,KAAKY,QAAQgC,eAAAA,CAAc5C,KAAK6C,eAAe;AAAO,QAAIvE;AAAE0B,SAAK8C,iBAAgB1E;AAAE,UAAMP,IAAEmC,KAAK+C,EAAAA,GAAIjE,IAAEkB,KAAKH,EAAEG,KAAKY,QAAQY,iBAAgB3D,CAAAA,GAAGyB,IAAEU,KAAK0B,EAAAA;AAAI,QAAY1B,KAAKP,cAAE;AAAC,YAAA,EAAM+C,MAAK1D,GAAEkE,IAAG/C,EAAAA,IAAGD,KAAKhB,EAAEgB,KAAKP,GAAEH,GAAEzB,CAAAA;AAAGmC,WAAKiD,IAAI,YAAW,CAACjD,KAAKP,GAAEH,GAAER,GAAEmB,CAAAA,CAAAA,GAAI3B,IAAE0B,KAAKkD,mBAAmBpE,GAAEmB,CAAAA;AAAAA,IAAE,OAAK;AAAC,YAAMnB,IAAEd,EAAE0C,IAAIV,KAAKY,QAAQuC,IAAAA;AAAM,UAAGrE,GAAE;AAACd,QAAAA,EAAEoF,OAAOpD,KAAKY,QAAQuC;AAAM,cAAA,EAAMX,MAAKvC,GAAE+C,IAAG9E,EAAAA,IAAG8B,KAAKhB,EAAEF,GAAEQ,GAAEzB,CAAAA;AAAGS,YAAE0B,KAAKkD,mBAAmBjD,GAAE/B,IAAGI,IAAE0B,KAAKY,QAAQyC,KAAG,CAAC,EAAA,GAAIrD,KAAKY,QAAQyC,GAAG,OAAM/E,EAAE,CAAA,EAAA,GAAA,GAAO0B,KAAKY,QAAQyC,GAAGC,MAAM,CAAA,GAAGhF,EAAE,CAAA,CAAA,IAAIA,GAAEP,KAAIO,EAAEuD,QAASvD,CAAAA,MAAGA,EAAEiF,SAAOxF,CAAAA;AAAAA,MAAG,MAAMiC,MAAKY,QAAQyC,OAAK/E,IAAE,CAAA,GAAI0B,KAAKY,QAAQyC,IAAG,CAAA,CAAA;AAAA,IAAI;AAACrD,SAAKwD,QAAQlF,GAAEQ,CAAAA;AAAAA,EAAE;AAAA,EAAC,cAAA2E;AAAAA,IAAuBzD,KAAK0D,MAA5BD,WAAgCzD,KAAKkB,QAAQyC,aAAa,SAAQ3D,KAAK0D,KAAG,EAAA,GAAI1D,KAAK0D,IAAAA;AAAAA,EAAS;AAAA,EAAC;AAAe1D,SAAK0D,IAAE1D,KAAKkB,QAAQ0C,aAAa,UAAS5D,KAAK6D,cAAcC,aAAAA,GAAe9D,KAAK6D,cAAcE,OAAAA;AAAAA,EAAQ;AAAA,EAAC,cAAAC;AAAAA,EAAa;AAAA,EAAE,MAAA,eAAMC;AAAiC,SAAdjE,KAAKC,MAAqBD,KAAKY,QAAQsD,OAAzB,UAA6BlG,EAAEmD,IAAInB,KAAKY,QAAQsD,IAAGlE,KAAKP,CAAAA,GAAYO,KAAKY,QAAQuD,QAAzB1E,QAA6B;AAAO,QAAGO,KAAK8C,QAAAA,GAAAA,MAAgB1E,EAAAA,GAAI4B,KAAKnC,GAAG0E,aAAY;AAAC,YAAMjE,IAAE0B,KAAKjC,KAAGiC,KAAKjC,EAAE2E,eAAa1C,KAAKnC,IAAEmC,KAAKjC,IAAE;AAAK,UAAGiC,KAAKnC,EAAEuG,aAAapE,KAAKkB,SAAQ5C,CAAAA,GAAG0B,KAAKY,QAAQyD,cAAa;AAAC,cAAM/F,IAAE0B,KAAK0B,EAAAA;AAAI1B,aAAKiD,IAAI;AAAmB,cAAMpF,IAAEmC,KAAKP,EAAER,OAAKX,EAAEW,MAAKH,IAAEkB,KAAKP,EAAEL,MAAId,EAAEc;QAAiBwC,iBAAiB5B,KAAKkB,OAAAA,EAASoD,aAA1C,YAAyDzG,MAAJ,KAAWiB,MAAJ,MAAQkB,KAAKkB,QAAQqD,MAAMD,WAAS,aAAgBzG,MAAJ,MAAQmC,KAAKkB,QAAQqD,MAAMtF,OAAKpB,IAAE,OAAUiB,MAAJ,MAAQkB,KAAKkB,QAAQqD,MAAMnF,MAAIN,IAAE;AAAA,MAAK;AAAA,IAAC;AAAC,UAAMR,IAAE0B,KAAKH,EAAEG,KAAKY,QAAQY;UAAuBxB,KAAKwD,QAAQxD,KAAKY,QAAQuD,KAAI7F,IAAG0B,KAAKkB,QAAQsD;EAAQ;AAAA,EAAC;AAAUxE,SAAKM,eAAAA;AAAAA,EAAgB;AAAA,EAAC,QAAAmE;AAAQzE,SAAKY,QAAQ8D,UAAU1E,IAAAA;AAAAA,EAAK;AAAA,EAAC,UAAU1B;AAAGA,SAAG0B,KAAKY,QAAQ+D,aAAa3E,IAAAA,GAAMA,KAAKP,IAAAA,QAASO,KAAK4E,sBAAAA,QAA2B5E,KAAK6E,iBAAc7E,KAAKO;EAAiB;AAAA,EAAC;AAAI,UAAMjC,IAAE,CAAA;AAAG,aAAQT,IAAEmC,KAAKkB,QAAQwB,YAAW7E,GAAEA,IAAEA,GAAG6E,YAAW;AAAC,YAAM5D,IAAEe,EAAEa,IAAI7C;AAAGiB,MAAAA,KAAAA,CAAIA,EAAEuD,gBAAcvD,KAAGR,EAAEwG,KAAKhG,CAAAA;AAAAA,IAAE;AAAC,WAAOR;AAAAA,EAAC;AAAA,EAAC,IAAA;AAAqB,UAAMA,IAAEJ,EAAE6G,IAAI/E,KAAKW;AAAG,WAAOrC,KAAG0B,KAAKW,EAAEK,eAAeC,KAAI;AAAO/C,MAAAA,EAAE8G,IAAIhF,KAAKW,CAAAA;AAAAA,IAAG,CAAA,GAAGrC;AAAAA,EAAC;AAAA,EAAC,EAAEA,GAAET,IAAEmC,KAAK+C;AAAK,UAAMjE,IAAE,KAAIW,EAAAA;AAAG,WAAO5B,EAAEgE,QAASvD,CAAAA,MAAG2G,OAAOC,OAAOpG,GAAER,EAAEsC,QAAQY,eAAAA,CAAAA,GAAmByD,OAAOC,OAAOpG,GAAER,IAAGQ;AAAAA,EAAC;AAAA,EAAC,EAAER,GAAET,GAAEiB;AAAGR,QAAE,EAAA,GAAIA,KAAGT,IAAE,EAAA,GAAIA;AAAG,UAAMyB,IAAER,EAAEqG,IAAK7G,CAAAA,MAAGA,EAAEsG,qBAAsBQ,OAAQ9G,CAAAA,MAAYA,MAAZA,MAAYA;AAAI,QAAI2B,IAAE,GAAElC,IAAE;AAAE,WAAOuB,EAAE4C,SAAO,MAAI5C,EAAEuC,QAASvD,CAAAA;AAAIA,MAAAA,EAAEe,UAAQY,KAAG3B,EAAEe,QAAOf,EAAEkB,WAASzB,KAAGO,EAAEkB;AAAAA,IAAQ,CAAA,GAAYlB,EAAEW,SAAd,UAA6BpB,EAAEoB,SAAjBA,WAAwBX,EAAEW,OAAKgB,IAAE3B,EAAEW,MAAKpB,EAAEoB,OAAKgB,IAAEpC,EAAEoB,OAAeX,EAAEc,QAAjBH,UAA+BpB,EAAEuB,QAAhBA,WAAsBd,EAAEc,MAAIrB,IAAEO,EAAEc,KAAIvB,EAAEuB,MAAIrB,IAAEF,EAAEuB,OAAM,EAACoD,MAAKlE,GAAE0E,IAAGnF,EAAAA;AAAAA,EAAE;AAAA,EAAC,mBAAmBS,GAAET,GAAEiB,IAAAA;AAAM,UAAMQ,IAAE,CAAA,GAAGW,IAAE,CAAA;AAAG,QAAIlC;AAAK,UAAMC,IAAE,CAAA;AAAG,eAAUc,KAAKjB,GAAE;AAAC,YAAMK,IAAEI,EAAEQ,CAAAA,GAAGV,IAAEP,EAAEiB,CAAAA;AAAG,UAAGA,KAAKE,GAAE;AAAC,cAAMV,IAAEU,EAAEF,CAAAA;AAAG,YAAYZ,gBAAYE,MAAZF,OAAc;AAAS,cAAML,IAAES,EAAEJ,GAAEE;QAAYP,EAAEY,yBAAYT,EAAEc,CAAAA,IAAGjB,EAAEqB,OAAMnB,IAAAA,IAAKuB,EAAEb,YAAU,GAAGa,EAAEb,aAAW,EAAA,IAAMZ,EAAEY,SAAAA,IAAqBZ,EAAE0B,iBAAvBd,UAAqCwG,OAAOC,OAAO5F,GAAEzB,EAAE0B,YAAAA;AAAAA,MAAc,MAAMrB,CAAAA,MAAIE,KAAYF,MAAZE,UAAwBA,MAAZF,WAAgBH,IAAAA,IAAKuB,EAAER,CAAAA,IAAGZ,GAAE+B,EAAEnB,KAAGV;AAAAA,IAAE;AAAC,WAAOkB,EAAE+F,kBAAgBpF,EAAEoF,kBAAgBvG,IAAE,kBAAgB,YAAWkB,KAAK4E,sBAAoB5G,GAAED,IAAE,CAACuB,GAAEW,CAAAA,IAAAA;AAAAA,EAAS;AAAA,EAAC,MAAA,QAAc3B,GAAET,IAAEmC,KAAKY,QAAQY,iBAAAA;AAAiBxB,SAAKyE,SAAQzE,KAAK6E,SAAOvG;AAAE,QAAIQ,IAAAA;AAAK,QAAA,CAAIkB,KAAKsC,YAAAA,KAAAA,CAAgBtC,KAAKqC,WAAAA,MAAerC,KAAKY,QAAQ0E,aAAWtF,KAAK6E,SAAOvG,IAAE0B,KAAKY,QAAQ0E,SAAStF,IAAAA,GAAMA,KAAKiD,IAAI,mBAAkB3E,CAAAA,IAAaA,MAAbA,SAAgB;AAAC0B,WAAKiD,IAAI,WAAU,CAAC3E,GAAET,CAAAA,CAAAA,GAAIiB,IAAAA,IAAKkB,KAAK6D,eAAa7D,KAAKkB,QAAQsC,QAAQlF,GAAET,CAAAA;AAAG,YAAMyB,IAAEU,KAAKS,cAAAA;AAAgBnB,MAAAA,GAAG0F,IAAIhF,IAAAA;AAAM,UAAA;AAAA,cAAUA,KAAK6D,aAAarD;AAAAA,MAAQ,QAAOlC;AAAAA,MAAE;AAAEgB,MAAAA,GAAGkF,OAAOxE,IAAAA;AAAAA,IAAK;AAAC,WAAOA,KAAKuF,UAAUzG,CAAAA,GAAGA;AAAAA,EAAC;AAAA,EAAC,cAAAwD;AAAc,WAAkBtC,KAAK6D,cAAc2B,cAA/B,aAA0CxF,KAAK6D,cAAc4B;AAAAA,EAAO;AAAA,EAAC,IAAInH,GAAET,GAAAA;AAAGmC,SAAKE,aAAYF,KAAKqC,WAAAA;AAAAA,EAA8C;ICA51MrE,IAAE,CAAC,OAAM,SAAQ,UAAS;ACAzL,SAAA0H,EAAyBC;AAGxB,MAAIC,IAFmB;AAIvB,WAAS/H,IAAI,GAAGA,IAAI8H,EAAQzD,QAAQrE,IACnC+H,CAAAA,KAAQD,EAAQE,WAAWhI,CAAAA,GAC3B+H,IALgB,WAKRA,MAAqB;AAG9B,SAAOA,EAAKE,SAAS,EAAA;AACtB;ADX4yBjI,EAA3mB,cAAgBE,EAAAA;AAAAA,EAAE,YAAYO,GAAAA;AAAG,QAAGyB,MAAMzB,CAAAA,GAAGA,EAAE6B,SAAOrB,EAAEiH,QAAQ,OAAM1F,MAAM,8DAAA;AAAA,EAA+D;AAAA,EAAC,OAAOxC,GAAEiB;AAAG,WAAOR;AAAAA,EAAC;AAAA,EAAC,OAAOA,IAAGT,GAAEiB,CAAAA,GAAAA;AAAI,WAAgBkB,KAAKW,iBAAIX,KAAKW,IAAErC,EAAEsC,SAASE,MAAKd,KAAKW,EAAEI,cAAcf,IAAAA,IAAOA,KAAKgG,IAAE1H,EAAE4C,SAAQlB,KAAKiG,IAAEpI,GAAEmC,KAAKF,IAAEhB,KAAG,CAAC,QAAO,OAAM,SAAQ,QAAA,GAAUkB,KAAKsB,OAAOzD,GAAEiB,CAAAA;AAAAA,EAAE;AAAA,EAAC,cAAAoH;AAAclG,SAAKmG,EAAAA;AAAAA,EAAG;AAAA,EAAC;AAAI,UAAM7H,WAAqB0B,KAAKiG,KAAxB,aAA0BjG,KAAKiG,EAAAA,IAAIjG,KAAKiG,GAAG/G,OAAMrB,IAAES,EAAE8H;AAAa,QAAY9H,MAAZ,UAAYA,CAAIT,EAAE;AAAO,UAAMiB,IAAER,EAAEqD,sBAAAA,GAAwB5D,IAAEF,EAAE8D;AAAwB3B,SAAKF,GAAG+B,QAASvD,CAAAA,MAAAA;AAAI,YAAMT,IAAEG,EAAEqI,SAAS/H,CAAAA,IAAGQ,EAAER,CAAAA,IAAGP,EAAEO,KAAGQ,EAAER,CAAAA;AAAG0B,WAAKgG,EAAEzB,MAAMjG,KAAGT,IAAE;AAAA,IAAK,CAAA;AAAA,EAAE;AAAA,CAAA;;;;;AEU3xB,MAAMyI,IAAeC,EAAsB,eAAA;AAG3C,IAAMC,IAAN,cAA4BC,EAAAA,EAAAA;AAAAA,EAA5B,cAAAC;AAAA3G,UAAAA,GAAA4G,YACqC3G,KAAA4G,QAAQ,GACvB5G,KAAA6G,SAAS,YAC5B7G,KAAQ8G,WAAAA,IACoC9G,KAAA+G,cAAc,GAC/B/G,KAAAgH,iBAAiB,GAExBhH,KAAAiH,OAAAA,IAE7BjH,KAAQkH,aAAa;AAAA,EAAA;AAAA,EAOrB,eAAAC;AACCnH,SAAKoH,mBAAAA,GACLpH,KAAKqH,kBAAAA;AAAAA,EACN;AAAA,EAEA,uBAAAC;AACCvH,UAAMuH,qBAAAA,GACNtH,KAAKuH,kBAAkBC,WAAAA;AAAAA,EACxB;AAAA,EAEQ,qBAAAJ;AACP,UAAMK,IAAOzH,KAAK0H,YAAYC,cAAc;AACvCF,UAELzH,KAAKuH,mBAAmB,IAAIK,iBAAiB,MAAA;AAE5C5H,WAAKkH,aAAalH,KAAK6H;QAGxB7H,KAAKuH,iBAAiBO,QAAQL,GAAM,EAAEM,eAAiBC,SAAAA,GAAS,CAAA;AAAA,EACjE;AAAA,EAEQ,qBAAqB9G;AAC5B,QAAA,EAAKA,KAAaA,aAAmB+G,aAAc,QAAO;AAE1D,QAAIC,IAAa,GACbC,IAAUjH,EAAQkH;AAEtB,WAAOD,IAEFA,CAAAA,aAAmB3B,MACtB0B,KAAcC,EAAQvB,QAGvBuB,IAAUA,EAAQC;AAQnB,WAJIlH,EAAQmH,kBACXH,KAAclI,KAAKsI,qBAAqBpH,EAAQmH,aAAAA,IAG1CH;AAAAA,EACR;AAAA,EAEQ,oBAAAb;AAGP,QAFArH,KAAKkH,aAAalH,KAAK6H,mBAAAA,GAEnB7H,KAAKiH,QAAQsB,eAAeC,QAAQxI,KAAKkH,UAAAA,MAAgB,OAG5D,QAAA,MADAlH,KAAK8G,WAAAA;AAKN,UAAM2B,IAAezI,KAAKsI,qBAAqBtI,IAAAA;AAC/CA,SAAKgH,iBAAiBhH,KAAK4G,QAAQ5G,KAAK+G,cAAc0B,GAGtDC,EAAM1I,KAAKgH,cAAAA,EACT2B,KAAKC,EAAU5I,KAAK6I,aAAAA,CAAAA,EACpBC,UAAU,MAAA;AAEV,UADA9I,KAAK8G,WAAAA,IACD9G,KAAKiH,KACR,KAAA;AACCsB,uBAAeQ,QAAQ/I,KAAKkH,YAAY;MACzC,QAAS8B;AAAAA,MAET;AAAA,IAAA,CAAA;AAAA,EAGJ;AAAA,EAEQ;AACP,UAAMC,IAAcjJ,KAAKkJ,iBAAiB/D,WAAUgE,EAAGC,SAAAA,EAAWC,KAAK,EAAA;AACvE,WAAOrJ,KAAKiH,OAAOvB,EAAYuD,CAAAA,IAAe;AAAA,EAC/C;AAAA,EAEA,IAAA;AACC,WAAOjJ,KAAK6G,WAAW,aAAayC,IAAWtJ,KAAK6G,WAAW,aAAa0C,IAAWC;AAAAA,EACxF;AAAA,EAEA;AACC,WAAOC,EACNzJ,KAAK8G,WACF4C;AAAAA,QACElG,EAAQ,EACTH,IAAIrD,KAAK2J,WACTnI,iBAAiB,EAAE9B,UAAU,KAAKC,QAAQ,WAAA,EAAA,CAAA,CAAA;AAAA;AAAA;AAAA,eAK3C+J;AAAAA;AAAAA;AAAAA;AAAAA,MAML;AAAA,EAAA;AAAA;AAlH2CE,EAAA,CAA1CC,EAAS,EAAE1J,MAAM2B,QAAQgI,SAAAA,GAAS,CAAA,CAAA,GADvBtD,EAC+BuD,WAAA,SAAA,CAAA,GACfH,EAAA,CAA3BC,EAAS,EAAE1J,MAAM6J,OAAAA,CAAAA,CAAAA,GAFNxD,EAEgBuD,WAAA,UAAA,CAAA,GACXH,EAAA,CAAhBK,EAAAA,CAAAA,GAHWzD,EAGKuD,WAAA,YAAA,CAAA,GACoCH,EAAA,CAApDM,EAAQ,EAAEC,SAAS7D,GAAcwC,WAAAA,QAJtBtC,EAIyCuD,WAAA,eAAA,CAAA,GACjBH,EAAA,CAAnCQ,EAAQ,EAAED,SAAS7D,OALRE,EAKwBuD,WAAA,kBAAA,CAAA,GAEPH,EAAA,CAA5BC,EAAS,EAAE1J,MAAMkK,aAPN7D,EAOiBuD,WAAA,QAAA,CAAA,GAQ7BH,EAAA,CAHCU,EAAsB,EACtBC,SAAAA,QAbW/D,EAeZuD,WAAA,oBAAA,CAAA,GAfYvD,IAANoD,EAAA,CADNY,EAAc,gBAAA,CAAA,GACFhE,CAAAA;","x_google_ignoreList":[0,1,2]}
|
package/dist/delay.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./delay-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./delay-ChpulFl1.cjs");Object.defineProperty(exports,"SchmancyDelay",{enumerable:!0,get:()=>e.SchmancyDelay}),exports.delayContext=e.delayContext;
|
|
2
2
|
//# sourceMappingURL=delay.cjs.map
|
package/dist/delay.js
CHANGED
|
@@ -2,7 +2,7 @@ import "rxjs";
|
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
4
|
import { property as c, customElement as p } from "lit/decorators.js";
|
|
5
|
-
import { T as m } from "./tailwind.mixin-
|
|
5
|
+
import { T as m } from "./tailwind.mixin-T5CiXVWk.js";
|
|
6
6
|
import { css as d, html as u } from "lit";
|
|
7
7
|
var h = Object.defineProperty, f = Object.getOwnPropertyDescriptor, r = (t, s, n, a) => {
|
|
8
8
|
for (var i, e = a > 1 ? void 0 : a ? f(s, n) : s, l = t.length - 1; l >= 0; l--) (i = t[l]) && (e = (a ? i(s, n, e) : i(e)) || e);
|
|
@@ -85,4 +85,4 @@ r([c()], o.prototype, "summary", 2), r([c({ type: Boolean, reflect: !0 })], o.pr
|
|
|
85
85
|
export {
|
|
86
86
|
o as S
|
|
87
87
|
};
|
|
88
|
-
//# sourceMappingURL=details-
|
|
88
|
+
//# sourceMappingURL=details-BMBliqaf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details-
|
|
1
|
+
{"version":3,"file":"details-BMBliqaf.js","sources":["../src/details/details.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index';\r\nimport { css, html } from 'lit';\r\nimport { customElement, property } from 'lit/decorators.js';\r\n\r\n@customElement('schmancy-details')\r\nexport default class SchmancyDetails extends TailwindElement(css`\r\n :host {\r\n display: block;\r\n position: relative;\r\n }\r\n \r\n summary::-webkit-details-marker {\r\n display: none;\r\n }\r\n \r\n @keyframes slideDown {\r\n from {\r\n opacity: 0;\r\n transform: translateY(-0.5rem);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n }\r\n \r\n .content-animated {\r\n animation: slideDown 0.2s ease-out;\r\n }\r\n \r\n :host([variant=\"outlined\"]) details {\r\n border: 1px solid var(--schmancy-sys-color-outline);\r\n }\r\n \r\n :host([variant=\"filled\"]) details {\r\n background-color: var(--schmancy-sys-color-surface-container);\r\n }\r\n \r\n :host([variant=\"elevated\"]) details {\r\n background-color: var(--schmancy-sys-color-surface-container);\r\n box-shadow: var(--schmancy-sys-elevation-1);\r\n }\r\n \r\n :host([variant=\"elevated\"]) details[open] {\r\n box-shadow: var(--schmancy-sys-elevation-2);\r\n }\r\n`) {\r\n @property() summary = '';\r\n @property({ type: Boolean, reflect: true }) open = false;\r\n @property({ reflect: true }) variant: 'default' | 'outlined' | 'filled' | 'elevated' = 'default';\r\n \r\n render() {\r\n const hoverClass = this.variant === 'filled' || this.variant === 'elevated'\r\n ? 'hover:bg-surface-highest active:bg-surface-high'\r\n : 'hover:bg-surface-container active:bg-surface-low';\r\n\r\n return html`\r\n <details\r\n ?open=${this.open}\r\n @toggle=${this._handleToggle}\r\n class=\"w-full rounded-lg\">\r\n <summary class=\"cursor-pointer select-none p-3 px-4 list-none flex items-center gap-3 transition-all duration-200 rounded-lg text-surface-on ${hoverClass} focus-visible:outline-2 focus-visible:outline-primary-default focus-visible:outline-offset-2\">\r\n <span class=\"inline-flex items-center justify-center w-5 h-5 transition-transform duration-200 flex-shrink-0 ${this.open ? 'rotate-90' : ''}\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6 4L10 8L6 12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"flex-1 font-medium\">\r\n <slot name=\"summary\">${this.summary}</slot>\r\n </span>\r\n </summary>\r\n <div class=\"px-4 pb-4 pl-12 text-surface-onVariant content-animated\">\r\n <slot></slot>\r\n </div>\r\n </details>\r\n `;\r\n }\r\n \r\n private _handleToggle(e: Event) {\r\n const details = e.target as HTMLDetailsElement;\r\n this.open = details.open;\r\n this.dispatchEvent(new CustomEvent('toggle', { \r\n detail: { open: this.open },\r\n bubbles: true,\r\n composed: true \r\n }));\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'schmancy-details': SchmancyDetails;\r\n }\r\n}"],"names":["SchmancyDetails","TailwindElement","css","constructor","super","arguments","this","summary","open","variant","render","hoverClass","html","_handleToggle","e","details","target","dispatchEvent","CustomEvent","detail","bubbles","composed","__decorateClass","property","prototype","type","Boolean","reflect","customElement"],"mappings":";;;;;;;;;;AAKA,IAAqBA,IAArB,cAA6CC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAA7D,cAAAC;AAAAC,UAAAA,GAAAC,SAAAA,GA0CcC,KAAAC,UAAU,IACsBD,KAAAE,OAAAA,IACfF,KAAAG,UAA0D;AAAA,EAAA;AAAA,EAEvF,SAAAC;AACE,UAAMC,IAAaL,KAAKG,YAAY,YAAYH,KAAKG,YAAY,aAC7D,oDACA;AAEJ,WAAOG;AAAAA;AAAAA,gBAEKN,KAAKE,IAAAA;AAAAA,kBACHF,KAAKO,aAAAA;AAAAA;AAAAA,uJAEgIF,CAAAA;AAAAA,yHAC9BL,KAAKE,OAAO,cAAc,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mCAMhHF,KAAKC,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAQtC;AAAA,EAEQ,cAAcO,GAAAA;AACpB,UAAMC,IAAUD,EAAEE;AAClBV,SAAKE,OAAOO,EAAQP,MACpBF,KAAKW,cAAc,IAAIC,YAAY,UAAU,EAC3CC,QAAQ,EAAEX,MAAMF,KAAKE,KAAAA,GACrBY,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,EAEd;AAAA;AAvCYC,EAAA,CAAXC,EAAAA,CAAAA,GA1CkBvB,EA0CPwB,WAAA,WAAA,CAAA,GACgCF,EAAA,CAA3CC,EAAS,EAAEE,MAAMC,SAASC,SAAAA,GAAS,CAAA,CAAA,GA3CjB3B,EA2CyBwB,WAAA,QAAA,CAAA,GACfF,EAAA,CAA5BC,EAAS,EAAEI,SAAAA,GAAS,CAAA,CAAA,GA5CF3B,EA4CUwB,WAAA,WAAA,CAAA,GA5CVxB,IAArBsB,EAAA,CADCM,EAAc,sBACM5B,CAAAA;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const r=require("lit/decorators.js"),u=require("./tailwind.mixin-
|
|
1
|
+
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const r=require("lit/decorators.js"),u=require("./tailwind.mixin-CngO3XGT.cjs"),c=require("lit");var d=Object.defineProperty,h=Object.getOwnPropertyDescriptor,o=(t,s,n,a)=>{for(var i,e=a>1?void 0:a?h(s,n):s,l=t.length-1;l>=0;l--)(i=t[l])&&(e=(a?i(s,n,e):i(e))||e);return a&&e&&d(s,n,e),e};exports.SchmancyDetails=class extends u.TailwindElement(c.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|
|
@@ -59,4 +59,4 @@
|
|
|
59
59
|
</div>
|
|
60
60
|
</details>
|
|
61
61
|
`}_handleToggle(t){const s=t.target;this.open=s.open,this.dispatchEvent(new CustomEvent("toggle",{detail:{open:this.open},bubbles:!0,composed:!0}))}},o([r.property()],exports.SchmancyDetails.prototype,"summary",2),o([r.property({type:Boolean,reflect:!0})],exports.SchmancyDetails.prototype,"open",2),o([r.property({reflect:!0})],exports.SchmancyDetails.prototype,"variant",2),exports.SchmancyDetails=o([r.customElement("schmancy-details")],exports.SchmancyDetails);
|
|
62
|
-
//# sourceMappingURL=details-
|
|
62
|
+
//# sourceMappingURL=details-D13RT8Mp.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details-
|
|
1
|
+
{"version":3,"file":"details-D13RT8Mp.cjs","sources":["../src/details/details.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index';\r\nimport { css, html } from 'lit';\r\nimport { customElement, property } from 'lit/decorators.js';\r\n\r\n@customElement('schmancy-details')\r\nexport default class SchmancyDetails extends TailwindElement(css`\r\n :host {\r\n display: block;\r\n position: relative;\r\n }\r\n \r\n summary::-webkit-details-marker {\r\n display: none;\r\n }\r\n \r\n @keyframes slideDown {\r\n from {\r\n opacity: 0;\r\n transform: translateY(-0.5rem);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n }\r\n \r\n .content-animated {\r\n animation: slideDown 0.2s ease-out;\r\n }\r\n \r\n :host([variant=\"outlined\"]) details {\r\n border: 1px solid var(--schmancy-sys-color-outline);\r\n }\r\n \r\n :host([variant=\"filled\"]) details {\r\n background-color: var(--schmancy-sys-color-surface-container);\r\n }\r\n \r\n :host([variant=\"elevated\"]) details {\r\n background-color: var(--schmancy-sys-color-surface-container);\r\n box-shadow: var(--schmancy-sys-elevation-1);\r\n }\r\n \r\n :host([variant=\"elevated\"]) details[open] {\r\n box-shadow: var(--schmancy-sys-elevation-2);\r\n }\r\n`) {\r\n @property() summary = '';\r\n @property({ type: Boolean, reflect: true }) open = false;\r\n @property({ reflect: true }) variant: 'default' | 'outlined' | 'filled' | 'elevated' = 'default';\r\n \r\n render() {\r\n const hoverClass = this.variant === 'filled' || this.variant === 'elevated'\r\n ? 'hover:bg-surface-highest active:bg-surface-high'\r\n : 'hover:bg-surface-container active:bg-surface-low';\r\n\r\n return html`\r\n <details\r\n ?open=${this.open}\r\n @toggle=${this._handleToggle}\r\n class=\"w-full rounded-lg\">\r\n <summary class=\"cursor-pointer select-none p-3 px-4 list-none flex items-center gap-3 transition-all duration-200 rounded-lg text-surface-on ${hoverClass} focus-visible:outline-2 focus-visible:outline-primary-default focus-visible:outline-offset-2\">\r\n <span class=\"inline-flex items-center justify-center w-5 h-5 transition-transform duration-200 flex-shrink-0 ${this.open ? 'rotate-90' : ''}\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6 4L10 8L6 12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"flex-1 font-medium\">\r\n <slot name=\"summary\">${this.summary}</slot>\r\n </span>\r\n </summary>\r\n <div class=\"px-4 pb-4 pl-12 text-surface-onVariant content-animated\">\r\n <slot></slot>\r\n </div>\r\n </details>\r\n `;\r\n }\r\n \r\n private _handleToggle(e: Event) {\r\n const details = e.target as HTMLDetailsElement;\r\n this.open = details.open;\r\n this.dispatchEvent(new CustomEvent('toggle', { \r\n detail: { open: this.open },\r\n bubbles: true,\r\n composed: true \r\n }));\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'schmancy-details': SchmancyDetails;\r\n }\r\n}"],"names":["SchmancyDetails","TailwindElement","css","constructor","super","arguments","this","summary","open","variant","render","hoverClass","html","_handleToggle","e","details","target","dispatchEvent","CustomEvent","detail","bubbles","composed","__decorateClass","property","prototype","type","Boolean","reflect","customElement"],"mappings":"4YAKqBA,QAAAA,gBAArB,cAA6CC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAA7D,aAAAC,CAAAC,MAAAA,GAAAC,SAAAA,EA0CcC,KAAAC,QAAU,GACsBD,KAAAE,KAAAA,GACfF,KAAAG,QAA0D,SAAA,CAEvF,QAAAC,CACE,MAAMC,EAAaL,KAAKG,UAAY,UAAYH,KAAKG,UAAY,WAC7D,kDACA,mDAEJ,OAAOG,EAAAA;AAAAA;AAAAA,gBAEKN,KAAKE,IAAAA;AAAAA,kBACHF,KAAKO,aAAAA;AAAAA;AAAAA,uJAEgIF,CAAAA;AAAAA,yHAC9BL,KAAKE,KAAO,YAAc,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mCAMhHF,KAAKC,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KAQtC,CAEQ,cAAcO,EAAAA,CACpB,MAAMC,EAAUD,EAAEE,OAClBV,KAAKE,KAAOO,EAAQP,KACpBF,KAAKW,cAAc,IAAIC,YAAY,SAAU,CAC3CC,OAAQ,CAAEX,KAAMF,KAAKE,IAAAA,EACrBY,WACAC,SAAAA,EAAU,CAAA,CAAA,CAEd,CAAA,EAvCYC,EAAA,CAAXC,EAAAA,SAAAA,CAAAA,EA1CkBvB,wBA0CPwB,UAAA,UAAA,CAAA,EACgCF,EAAA,CAA3CC,EAAAA,SAAS,CAAEE,KAAMC,QAASC,QAAAA,EAAS,CAAA,CAAA,EA3CjB3B,wBA2CyBwB,UAAA,OAAA,GACfF,EAAA,CAA5BC,WAAS,CAAEI,QAAAA,EAAS,CAAA,CAAA,EA5CF3B,wBA4CUwB,UAAA,UAAA,CAAA,EA5CVxB,QAAAA,gBAArBsB,EAAA,CADCM,EAAAA,cAAc,qBACM5B"}
|
package/dist/details.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./details-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./details-D13RT8Mp.cjs");Object.defineProperty(exports,"SchmancyDetails",{enumerable:!0,get:()=>e.SchmancyDetails});
|
|
2
2
|
//# sourceMappingURL=details.cjs.map
|
package/dist/details.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const r=require("@floating-ui/dom"),p=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const l=require("lit/decorators.js");require("./tailwind.mixin-
|
|
1
|
+
"use strict";const r=require("@floating-ui/dom"),p=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const l=require("lit/decorators.js");require("./tailwind.mixin-CngO3XGT.cjs");const u=require("./litElement.mixin-DE7nMq_x.cjs"),c=require("lit"),d=require("lit/directives/when.js"),y=require("rxjs/operators"),m=require("./dialog-service-Bdaxn2t0.cjs");var f=Object.defineProperty,b=Object.getOwnPropertyDescriptor,h=(t,e,i,s)=>{for(var n,o=s>1?void 0:s?b(e,i):e,a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s?n(e,i,o):n(o))||o);return s&&o&&f(e,i,o),o};exports.ConfirmDialog=class extends u.$LitElement(c.css`
|
|
2
2
|
:host {
|
|
3
3
|
position: fixed;
|
|
4
4
|
z-index: 10000;
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
left: 50%;
|
|
32
32
|
transform: translate(-50%, -55%); /* Slight upward shift looks better */
|
|
33
33
|
}
|
|
34
|
-
`){constructor(){super(...arguments),this.title=void 0,this.subtitle=void 0,this.message=void 0,this.confirmText="Confirm",this.cancelText="Cancel",this.variant="default",this.position={x:0,y:0}}async show(t){let e,i;if(t)if("clientX"in t)e=t.clientX,i=t.clientY;else if("touches"in t&&t.touches.length)e=t.touches[0].clientX,i=t.touches[0].clientY;else{const s=t;e=s.x,i=s.y}else e=window.innerWidth/2,i=window.innerHeight/2;return this.position={x:e,y:i},this.virtualReference={getBoundingClientRect:()=>new DOMRect(e,i,0,0)},this.setAttribute("active",""),new Promise(s=>{this.resolvePromise=s})}hide(t=!1){this.removeAttribute("active"),this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0),this.resolvePromise&&(this.resolvePromise(t),this.resolvePromise=void 0)}setupPositioning(t){const e=window.innerWidth,i=window.innerHeight;if(Math.abs(this.position.x-e/2)<10&&Math.abs(this.position.y-i/2)<10)return t.classList.add("centered"),void(this.cleanupAutoUpdate=r.autoUpdate(document.body,t,()=>{if(t.classList.contains("centered")){const s=window.innerHeight-40;t.offsetHeight>s&&(t.style.maxHeight=`${s}px`)}},{elementResize:!0,ancestorScroll:!0}));t.classList.remove("centered"),this.virtualReference&&(this.cleanupAutoUpdate=r.autoUpdate(this.virtualReference,t,()=>this.updatePosition(t),{ancestorScroll:!0,ancestorResize:!0,elementResize:!0,animationFrame:!0}),this.updatePosition(t))}async updatePosition(t){if(!this.virtualReference)return;if(this.position.x>0&&this.position.y>0){const s=window.innerWidth,n=window.innerHeight,o=Math.min(this.position.x,s-20),a=Math.min(this.position.y,n-20);this.virtualReference={getBoundingClientRect:()=>new DOMRect(o,a,0,0)}}const{x:e,y:i}=await r.computePosition(this.virtualReference,t,{placement:"bottom-start",strategy:"absolute",middleware:[r.offset(20),r.flip({fallbackPlacements:["top-start","bottom-end","top-end"],fallbackStrategy:"bestFit"}),r.shift({padding:20}),r.size({apply({availableWidth:s,availableHeight:n,elements:o}){o.floating.offsetWidth>s&&Object.assign(o.floating.style,{maxWidth:`${Math.max(s-40,280)}px`}),o.floating.offsetHeight>n&&Object.assign(o.floating.style,{maxHeight:n-40+"px"})},padding:20})]});Object.assign(t.style,{left:`${Math.round(e)}px`,top:`${Math.round(i)}px`,transform:"none"})}disconnectedCallback(){super.disconnectedCallback(),this.resizeSubscription&&(this.resizeSubscription.unsubscribe(),this.resizeSubscription=void 0),this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0)}firstUpdated(){const t=this.shadowRoot?.querySelector(".dialog");t&&(this.setupPositioning(t),this.resizeSubscription=p.fromEvent(window,"resize").pipe(y.debounceTime(50)).subscribe(()=>{const e=window.innerWidth,i=window.innerHeight;Math.abs(this.position.x-e/2)<10&&Math.abs(this.position.y-i/2)<10&&(this.position={x:e/2,y:i/2}),this.updatePosition(t)}))}handleConfirm(){this.hide(!0),this.dispatchEvent(new CustomEvent("confirm",{bubbles:!0,composed:!0}))}handleCancel(){this.hide(!1),this.dispatchEvent(new CustomEvent("cancel",{bubbles:!0,composed:!0}))}getConfirmButtonClass(){
|
|
34
|
+
`){constructor(){super(...arguments),this.title=void 0,this.subtitle=void 0,this.message=void 0,this.confirmText="Confirm",this.cancelText="Cancel",this.variant="default",this.position={x:0,y:0}}async show(t){let e,i;if(t)if("clientX"in t)e=t.clientX,i=t.clientY;else if("touches"in t&&t.touches.length)e=t.touches[0].clientX,i=t.touches[0].clientY;else{const s=t;e=s.x,i=s.y}else e=window.innerWidth/2,i=window.innerHeight/2;return this.position={x:e,y:i},this.virtualReference={getBoundingClientRect:()=>new DOMRect(e,i,0,0)},this.setAttribute("active",""),new Promise(s=>{this.resolvePromise=s})}hide(t=!1){this.removeAttribute("active"),this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0),this.resolvePromise&&(this.resolvePromise(t),this.resolvePromise=void 0)}setupPositioning(t){const e=window.innerWidth,i=window.innerHeight;if(Math.abs(this.position.x-e/2)<10&&Math.abs(this.position.y-i/2)<10)return t.classList.add("centered"),void(this.cleanupAutoUpdate=r.autoUpdate(document.body,t,()=>{if(t.classList.contains("centered")){const s=window.innerHeight-40;t.offsetHeight>s&&(t.style.maxHeight=`${s}px`)}},{elementResize:!0,ancestorScroll:!0}));t.classList.remove("centered"),this.virtualReference&&(this.cleanupAutoUpdate=r.autoUpdate(this.virtualReference,t,()=>this.updatePosition(t),{ancestorScroll:!0,ancestorResize:!0,elementResize:!0,animationFrame:!0}),this.updatePosition(t))}async updatePosition(t){if(!this.virtualReference)return;if(this.position.x>0&&this.position.y>0){const s=window.innerWidth,n=window.innerHeight,o=Math.min(this.position.x,s-20),a=Math.min(this.position.y,n-20);this.virtualReference={getBoundingClientRect:()=>new DOMRect(o,a,0,0)}}const{x:e,y:i}=await r.computePosition(this.virtualReference,t,{placement:"bottom-start",strategy:"absolute",middleware:[r.offset(20),r.flip({fallbackPlacements:["top-start","bottom-end","top-end"],fallbackStrategy:"bestFit"}),r.shift({padding:20}),r.size({apply({availableWidth:s,availableHeight:n,elements:o}){o.floating.offsetWidth>s&&Object.assign(o.floating.style,{maxWidth:`${Math.max(s-40,280)}px`}),o.floating.offsetHeight>n&&Object.assign(o.floating.style,{maxHeight:n-40+"px"})},padding:20})]});Object.assign(t.style,{left:`${Math.round(e)}px`,top:`${Math.round(i)}px`,transform:"none"})}disconnectedCallback(){super.disconnectedCallback(),this.resizeSubscription&&(this.resizeSubscription.unsubscribe(),this.resizeSubscription=void 0),this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0)}firstUpdated(){const t=this.shadowRoot?.querySelector(".dialog");t&&(this.setupPositioning(t),this.resizeSubscription=p.fromEvent(window,"resize").pipe(y.debounceTime(50)).subscribe(()=>{const e=window.innerWidth,i=window.innerHeight;Math.abs(this.position.x-e/2)<10&&Math.abs(this.position.y-i/2)<10&&(this.position={x:e/2,y:i/2}),this.updatePosition(t)}))}handleConfirm(){this.hide(!0),this.dispatchEvent(new CustomEvent("confirm",{bubbles:!0,composed:!0}))}handleCancel(){this.hide(!1),this.dispatchEvent(new CustomEvent("cancel",{bubbles:!0,composed:!0}))}getConfirmButtonClass(){return this.variant==="danger"?"bg-error-default hover:bg-error-container text-error-on":""}render(){const t=this.querySelectorAll('[slot="content"]').length>0,e=this.confirmText&&this.confirmText.trim()!==""&&this.cancelText&&this.cancelText.trim()!=="";return c.html`
|
|
35
35
|
<div class="overlay" @click=${this.handleCancel}></div>
|
|
36
36
|
|
|
37
37
|
<div class="dialog" role="alertdialog" aria-modal="true">
|
|
38
|
-
<schmancy-surface rounded="all" elevation="3" type="containerHigh">
|
|
39
|
-
<schmancy-form @submit=${this.handleConfirm}
|
|
38
|
+
<schmancy-surface rounded="all" elevation="3" type="containerHigh" class="p-4">
|
|
39
|
+
<schmancy-form @submit=${this.handleConfirm} >
|
|
40
40
|
${d.when(this.title&&this.title.trim()!=="",()=>c.html`
|
|
41
41
|
<schmancy-typography type="title" token="md" class="mb-1"> ${this.title} </schmancy-typography>
|
|
42
42
|
${d.when(this.subtitle&&this.subtitle.trim()!=="",()=>c.html`
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
</schmancy-form>
|
|
56
56
|
</schmancy-surface>
|
|
57
57
|
</div>
|
|
58
|
-
`}static async confirm(t){let e=document.querySelector("confirm-dialog");return e||(e=document.createElement("confirm-dialog"),document.body.appendChild(e)),t.title&&(e.title=t.title),t.subtitle&&(e.subtitle=t.subtitle),t.message&&(e.message=t.message),t.confirmText&&(e.confirmText=t.confirmText),t.cancelText&&(e.cancelText=t.cancelText),t.variant&&(e.variant=t.variant),t.width&&e.style.setProperty("--dialog-width",t.width),e.show(t.position)}static async ask(t,e){return this.confirm({message:t,position:e})}},h([l.property({type:String})],exports.ConfirmDialog.prototype,"title",2),h([l.property({type:String})],exports.ConfirmDialog.prototype,"subtitle",2),h([l.property({type:String})],exports.ConfirmDialog.prototype,"message",2),h([l.property({type:String,attribute:"confirm-text"})],exports.ConfirmDialog.prototype,"confirmText",2),h([l.property({type:String,attribute:"cancel-text"})],exports.ConfirmDialog.prototype,"cancelText",2),h([l.property({type:String})],exports.ConfirmDialog.prototype,"variant",2),
|
|
58
|
+
`}static async confirm(t){let e=document.querySelector("confirm-dialog");return e||(e=document.createElement("confirm-dialog"),document.body.appendChild(e)),t.title&&(e.title=t.title),t.subtitle&&(e.subtitle=t.subtitle),t.message&&(e.message=t.message),t.confirmText&&(e.confirmText=t.confirmText),t.cancelText&&(e.cancelText=t.cancelText),t.variant&&(e.variant=t.variant),t.width&&e.style.setProperty("--dialog-width",t.width),e.show(t.position)}static async ask(t,e){return this.confirm({message:t,position:e})}},h([l.property({type:String})],exports.ConfirmDialog.prototype,"title",2),h([l.property({type:String})],exports.ConfirmDialog.prototype,"subtitle",2),h([l.property({type:String})],exports.ConfirmDialog.prototype,"message",2),h([l.property({type:String,attribute:"confirm-text"})],exports.ConfirmDialog.prototype,"confirmText",2),h([l.property({type:String,attribute:"cancel-text"})],exports.ConfirmDialog.prototype,"cancelText",2),h([l.property({type:String})],exports.ConfirmDialog.prototype,"variant",2),exports.ConfirmDialog=h([l.customElement("confirm-dialog")],exports.ConfirmDialog);var v=Object.defineProperty,w=Object.getOwnPropertyDescriptor,g=(t,e,i,s)=>{for(var n,o=s>1?void 0:s?w(e,i):e,a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s?n(e,i,o):n(o))||o);return s&&o&&v(e,i,o),o};exports.SchmancyDialog=class extends u.$LitElement(c.css`
|
|
59
59
|
:host {
|
|
60
60
|
position: fixed;
|
|
61
61
|
z-index: 10000;
|
|
@@ -67,18 +67,14 @@
|
|
|
67
67
|
:host([active]) {
|
|
68
68
|
display: block;
|
|
69
69
|
}
|
|
70
|
-
`){constructor(){super(...arguments),this.position={x:0,y:0}}async show(t){let e,i;if(t)if("clientX"in t)e=t.clientX,i=t.clientY;else if("touches"in t&&t.touches.length)e=t.touches[0].clientX,i=t.touches[0].clientY;else{const s=t;e=s.x,i=s.y}else e=window.innerWidth/2,i=window.innerHeight/2;return this.position={x:e,y:i},this.virtualReference={getBoundingClientRect:()=>new DOMRect(e,i,0,0)},this.setAttribute("active",""),new Promise(s=>{this.resolvePromise=s})}hide(t=!1){this.removeAttribute("active"),this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0),this.resolvePromise&&(this.resolvePromise(t),this.resolvePromise=void 0)}setupPositioning(t){const e=window.innerWidth,i=window.innerHeight;Math.abs(this.position.x-e/2)<10&&Math.abs(this.position.y-i/2)<10?this.cleanupAutoUpdate=r.autoUpdate(document.body,t,()=>{const s=window.innerHeight-40;t.offsetHeight>s&&(t.style.maxHeight=`${s}px`)},{elementResize:!0,ancestorScroll:!0}):this.virtualReference&&(this.cleanupAutoUpdate=r.autoUpdate(this.virtualReference,t,()=>this.updatePosition(t),{ancestorScroll:!0,ancestorResize:!0,elementResize:!0,animationFrame:!0}),this.updatePosition(t))}async updatePosition(t){if(!this.virtualReference)return;if(this.position.x>0&&this.position.y>0){const s=window.innerWidth,n=window.innerHeight,o=Math.min(this.position.x,s-20),a=Math.min(this.position.y,n-20);this.virtualReference={getBoundingClientRect:()=>new DOMRect(o,a,0,0)}}const{x:e,y:i}=await r.computePosition(this.virtualReference,t,{placement:"bottom-start",strategy:"absolute",middleware:[r.offset(20),r.flip({fallbackPlacements:["top-start","bottom-end","top-end"],fallbackStrategy:"bestFit"}),r.shift({padding:20}),r.size({apply({availableWidth:s,availableHeight:n,elements:o}){o.floating.offsetWidth>s&&Object.assign(o.floating.style,{maxWidth:`${Math.max(s-40,280)}px`}),o.floating.offsetHeight>n&&Object.assign(o.floating.style,{maxHeight:n-40+"px"})},padding:20})]});Object.assign(t.style,{left:`${Math.round(e)}px`,top:`${Math.round(i)}px`,transform:"none"})}disconnectedCallback(){super.disconnectedCallback(),this.resizeSubscription&&(this.resizeSubscription.unsubscribe(),this.resizeSubscription=void 0),this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0)}connectedCallback(){super.connectedCallback(),p.fromEvent(window,m.DialogWhereAreYouRicky).pipe(p.tap(t=>{t.detail.uid===this.uid&&this.announcePresence()})).subscribe()}announcePresence(){this.dispatchEvent(new CustomEvent(m.DialogHereMorty,{detail:{dialog:this},bubbles:!0,composed:!0}))}firstUpdated(){const t=this.shadowRoot?.querySelector('[role="dialog"]');t&&(this.setupPositioning(t),this.resizeSubscription=p.fromEvent(window,"resize").pipe(y.debounceTime(50)).subscribe(()=>{const e=window.innerWidth,i=window.innerHeight;Math.abs(this.position.x-e/2)<10&&Math.abs(this.position.y-i/2)<10&&(this.position={x:e/2,y:i/2}),this.updatePosition(t)}))}handleClose(){this.hide(!1),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))}render(){const t=window.innerWidth,e=window.innerHeight,i=Math.abs(this.position.x-t/2)<10&&Math.abs(this.position.y-e/2)<10,s={absolute:!0,"w-[var(--dialog-width)]":!0,"max-w-[calc(100vw-2rem)]":!0,"max-h-[calc(100vh-40px)]":!0,"overflow-
|
|
70
|
+
`){constructor(){super(...arguments),this.position={x:0,y:0}}async show(t){let e,i;if(t)if("clientX"in t)e=t.clientX,i=t.clientY;else if("touches"in t&&t.touches.length)e=t.touches[0].clientX,i=t.touches[0].clientY;else{const s=t;e=s.x,i=s.y}else e=window.innerWidth/2,i=window.innerHeight/2;return this.position={x:e,y:i},this.virtualReference={getBoundingClientRect:()=>new DOMRect(e,i,0,0)},this.setAttribute("active",""),new Promise(s=>{this.resolvePromise=s})}hide(t=!1){this.removeAttribute("active"),this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0),this.resolvePromise&&(this.resolvePromise(t),this.resolvePromise=void 0)}setupPositioning(t){const e=window.innerWidth,i=window.innerHeight;Math.abs(this.position.x-e/2)<10&&Math.abs(this.position.y-i/2)<10?this.cleanupAutoUpdate=r.autoUpdate(document.body,t,()=>{const s=window.innerHeight-40;t.offsetHeight>s&&(t.style.maxHeight=`${s}px`)},{elementResize:!0,ancestorScroll:!0}):this.virtualReference&&(this.cleanupAutoUpdate=r.autoUpdate(this.virtualReference,t,()=>this.updatePosition(t),{ancestorScroll:!0,ancestorResize:!0,elementResize:!0,animationFrame:!0}),this.updatePosition(t))}async updatePosition(t){if(!this.virtualReference)return;if(this.position.x>0&&this.position.y>0){const s=window.innerWidth,n=window.innerHeight,o=Math.min(this.position.x,s-20),a=Math.min(this.position.y,n-20);this.virtualReference={getBoundingClientRect:()=>new DOMRect(o,a,0,0)}}const{x:e,y:i}=await r.computePosition(this.virtualReference,t,{placement:"bottom-start",strategy:"absolute",middleware:[r.offset(20),r.flip({fallbackPlacements:["top-start","bottom-end","top-end"],fallbackStrategy:"bestFit"}),r.shift({padding:20}),r.size({apply({availableWidth:s,availableHeight:n,elements:o}){o.floating.offsetWidth>s&&Object.assign(o.floating.style,{maxWidth:`${Math.max(s-40,280)}px`}),o.floating.offsetHeight>n&&Object.assign(o.floating.style,{maxHeight:n-40+"px"})},padding:20})]});Object.assign(t.style,{left:`${Math.round(e)}px`,top:`${Math.round(i)}px`,transform:"none"})}disconnectedCallback(){super.disconnectedCallback(),this.resizeSubscription&&(this.resizeSubscription.unsubscribe(),this.resizeSubscription=void 0),this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0)}connectedCallback(){super.connectedCallback(),p.fromEvent(window,m.DialogWhereAreYouRicky).pipe(p.tap(t=>{t.detail.uid===this.uid&&this.announcePresence()})).subscribe()}announcePresence(){this.dispatchEvent(new CustomEvent(m.DialogHereMorty,{detail:{dialog:this},bubbles:!0,composed:!0}))}firstUpdated(){const t=this.shadowRoot?.querySelector('[role="dialog"]');t&&(this.setupPositioning(t),this.resizeSubscription=p.fromEvent(window,"resize").pipe(y.debounceTime(50)).subscribe(()=>{const e=window.innerWidth,i=window.innerHeight;Math.abs(this.position.x-e/2)<10&&Math.abs(this.position.y-i/2)<10&&(this.position={x:e/2,y:i/2}),this.updatePosition(t)}))}handleClose(){this.hide(!1),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))}render(){const t=window.innerWidth,e=window.innerHeight,i=Math.abs(this.position.x-t/2)<10&&Math.abs(this.position.y-e/2)<10,s={absolute:!0,"w-[var(--dialog-width)]":!0,"max-w-[calc(100vw-2rem)]":!0,"max-h-[calc(100vh-40px)]":!0,"overflow-hidden":!0,"top-1/2":i,"left-1/2":i,"-translate-x-1/2":i,"-translate-y-[55%]":i};return c.html`
|
|
71
71
|
<div class="fixed inset-0 bg-scrim/40" @click=${this.handleClose}></div>
|
|
72
72
|
|
|
73
|
-
<
|
|
74
|
-
class=${this.classMap(s)}
|
|
75
|
-
role="dialog"
|
|
76
|
-
aria-modal="true"
|
|
77
|
-
>
|
|
73
|
+
<schmancy-scroll class=${this.classMap(s)} role="dialog" aria-modal="true">
|
|
78
74
|
<schmancy-surface rounded="all" elevation="3" type="containerHigh">
|
|
79
|
-
|
|
75
|
+
<slot></slot>
|
|
80
76
|
</schmancy-surface>
|
|
81
|
-
</
|
|
77
|
+
</schmancy-scroll>
|
|
82
78
|
`}},g([l.property({type:String,reflect:!0})],exports.SchmancyDialog.prototype,"uid",2),exports.SchmancyDialog=g([l.customElement("schmancy-dialog")],exports.SchmancyDialog);var x=Object.getOwnPropertyDescriptor;exports.SchmancyDialogContent=class extends u.$LitElement(c.css`
|
|
83
79
|
:host {
|
|
84
80
|
display: block;
|
|
@@ -86,4 +82,4 @@
|
|
|
86
82
|
height: 100%;
|
|
87
83
|
}
|
|
88
84
|
`){render(){return c.html`<slot></slot>`}},exports.SchmancyDialogContent=((t,e,i,s)=>{for(var n,o=s>1?void 0:s?x(e,i):e,a=t.length-1;a>=0;a--)(n=t[a])&&(o=n(o)||o);return o})([l.customElement("schmancy-dialog-content")],exports.SchmancyDialogContent);
|
|
89
|
-
//# sourceMappingURL=dialog-content-
|
|
85
|
+
//# sourceMappingURL=dialog-content-CwRiHVH5.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-content-CwRiHVH5.cjs","sources":["../src/dialog/dailog.ts","../src/dialog/dialog.component.ts","../src/dialog/dialog-content.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, Placement, shift, size, Strategy } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { fromEvent } from 'rxjs'\nimport { debounceTime } from 'rxjs/operators'\n\n/**\n * A confirm dialog web component with custom content support\n *\n * @element confirm-dialog\n * @slot content - Optional slot for custom content\n */\n@customElement('confirm-dialog')\nexport class ConfirmDialog extends $LitElement(css`\n\t:host {\n\t\tposition: fixed;\n\t\tz-index: 10000;\n\t\tinset: 0;\n\t\tdisplay: none;\n\t\t--dialog-width: 360px;\n\t}\n\n\t:host([active]) {\n\t\tdisplay: block;\n\t}\n\n\t.overlay {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tbackground: var(--schmancy-sys-color-scrim);\n\t\topacity: 0.4;\n\t}\n\n\t.dialog {\n\t\tposition: absolute;\n\t\twidth: var(--dialog-width);\n\t\tmax-height: calc(100vh - 40px); /* Prevent exceeding viewport height */\n\t\toverflow: auto; /* Allow scrolling for oversized content */\n\t}\n\n\t/* Used when centered for initial positioning */\n\t.dialog.centered {\n\t\ttop: 50%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, -55%); /* Slight upward shift looks better */\n\t}\n`) {\n\t/**\n\t * Dialog title\n\t */\n\t@property({ type: String })\n\ttitle = undefined\n\n\t/**\n\t * Dialog subtitle\n\t */\n\t@property({ type: String })\n\tsubtitle = undefined\n\n\t/**\n\t * Dialog message\n\t */\n\t@property({ type: String })\n\tmessage = undefined\n\n\t/**\n\t * Text for confirm button\n\t */\n\t@property({ type: String, attribute: 'confirm-text' })\n\tconfirmText = 'Confirm'\n\n\t/**\n\t * Text for cancel button\n\t */\n\t@property({ type: String, attribute: 'cancel-text' })\n\tcancelText = 'Cancel'\n\n\t/**\n\t * Dialog variant (affects button colors)\n\t */\n\t@property({ type: String })\n\tvariant: 'default' | 'danger' = 'default'\n\n\t/**\n\t * Current position of the dialog\n\t */\n\tprivate position = { x: 0, y: 0 }\n\n\t/**\n\t * Current active promise resolver\n\t */\n\tprivate resolvePromise?: (value: boolean) => void\n\n\t/**\n\t * Store cleanup function for position auto-updates\n\t */\n\tprivate cleanupAutoUpdate?: () => void\n\n\t/**\n\t * Store resize subscription\n\t */\n\tprivate resizeSubscription?: { unsubscribe: () => void }\n\n\t/**\n\t * Virtual element to use as reference for positioning\n\t */\n\tprivate virtualReference?: {\n\t\tgetBoundingClientRect: () => DOMRect\n\t}\n\n\t/**\n\t * Simple API: Show the dialog at a specific position\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tasync show(positionOrEvent?: { x: number; y: number } | MouseEvent | TouchEvent): Promise<boolean> {\n\t\t// Extract position from event or use direct coordinates\n\t\tlet x: number, y: number\n\n\t\tif (!positionOrEvent) {\n\t\t\t// Default to center of viewport if no position provided\n\t\t\tx = window.innerWidth / 2\n\t\t\ty = window.innerHeight / 2\n\t\t} else if ('clientX' in positionOrEvent) {\n\t\t\t// It's a mouse event\n\t\t\tx = positionOrEvent.clientX\n\t\t\ty = positionOrEvent.clientY\n\t\t} else if ('touches' in positionOrEvent && positionOrEvent.touches.length) {\n\t\t\t// It's a touch event\n\t\t\tx = positionOrEvent.touches[0].clientX\n\t\t\ty = positionOrEvent.touches[0].clientY\n\t\t} else {\n\t\t\t// It's a position object with x,y coordinates\n\t\t\tconst pos = positionOrEvent as { x: number; y: number }\n\t\t\tx = pos.x\n\t\t\ty = pos.y\n\t\t}\n\n\t\t// Store initial position\n\t\tthis.position = { x, y }\n\n\t\t// Create virtual reference element at the provided coordinates\n\t\tthis.virtualReference = {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn new DOMRect(x, y, 0, 0)\n\t\t\t},\n\t\t}\n\n\t\t// Make dialog active\n\t\tthis.setAttribute('active', '')\n\n\t\t// Return a promise that resolves when the user makes a choice\n\t\treturn new Promise<boolean>(resolve => {\n\t\t\tthis.resolvePromise = resolve\n\t\t})\n\t}\n\n\t/**\n\t * Simple API: Hide the dialog\n\t */\n\thide(confirmed = false) {\n\t\tthis.removeAttribute('active')\n\n\t\t// Clean up any auto-update subscription\n\t\tif (this.cleanupAutoUpdate) {\n\t\t\tthis.cleanupAutoUpdate()\n\t\t\tthis.cleanupAutoUpdate = undefined\n\t\t}\n\n\t\t// Resolve any pending promise\n\t\tif (this.resolvePromise) {\n\t\t\tthis.resolvePromise(confirmed)\n\t\t\tthis.resolvePromise = undefined\n\t\t}\n\t}\n\n\t/**\n\t * Set up position auto-updating when dialog content changes or window resizes\n\t */\n\tprivate setupPositioning(dialog: HTMLElement) {\n\t\tconst viewportWidth = window.innerWidth\n\t\tconst viewportHeight = window.innerHeight\n\n\t\t// Check if this is a centered dialog\n\t\tconst isCentered =\n\t\t\tMath.abs(this.position.x - viewportWidth / 2) < 10 && Math.abs(this.position.y - viewportHeight / 2) < 10\n\n\t\tif (isCentered) {\n\t\t\t// For centered dialogs, use CSS-based centering\n\t\t\tdialog.classList.add('centered')\n\n\t\t\t// Always set up auto-update for content changes, even for centered dialogs\n\t\t\tthis.cleanupAutoUpdate = autoUpdate(\n\t\t\t\tdocument.body, // Use body as reference for centered dialogs\n\t\t\t\tdialog,\n\t\t\t\t() => {\n\t\t\t\t\t// If dialog has the centered class, ensure it stays visible\n\t\t\t\t\t// even when content changes its dimensions\n\t\t\t\t\tif (dialog.classList.contains('centered')) {\n\t\t\t\t\t\t// Adjust max-height to ensure dialog stays within viewport\n\t\t\t\t\t\tconst availableHeight = window.innerHeight - 40\n\t\t\t\t\t\tif (dialog.offsetHeight > availableHeight) {\n\t\t\t\t\t\t\tdialog.style.maxHeight = `${availableHeight}px`\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\telementResize: true,\n\t\t\t\t\tancestorScroll: true,\n\t\t\t\t},\n\t\t\t)\n\n\t\t\treturn\n\t\t}\n\n\t\t// Remove centered class if it exists\n\t\tdialog.classList.remove('centered')\n\n\t\t// Use Floating UI's autoUpdate to continually update position\n\t\tif (this.virtualReference) {\n\t\t\tthis.cleanupAutoUpdate = autoUpdate(this.virtualReference, dialog, () => this.updatePosition(dialog), {\n\t\t\t\tancestorScroll: true,\n\t\t\t\tancestorResize: true,\n\t\t\t\telementResize: true,\n\t\t\t\tanimationFrame: true, // Enable continuous updates for smoother repositioning\n\t\t\t})\n\n\t\t\t// Initial positioning\n\t\t\tthis.updatePosition(dialog)\n\t\t}\n\t}\n\n\t/**\n\t * Update dialog position using Floating UI\n\t */\n\tprivate async updatePosition(dialog: HTMLElement) {\n\t\tif (!this.virtualReference) return\n\n\t\t// Force window bounds recalculation on resize\n\t\tif (this.position.x > 0 && this.position.y > 0) {\n\t\t\t// Update virtual reference to consider current window size\n\t\t\tconst viewportWidth = window.innerWidth\n\t\t\tconst viewportHeight = window.innerHeight\n\n\t\t\t// Ensure position is constrained to current viewport\n\t\t\tconst x = Math.min(this.position.x, viewportWidth - 20)\n\t\t\tconst y = Math.min(this.position.y, viewportHeight - 20)\n\n\t\t\t// Update virtual reference with current viewport-constrained position\n\t\t\tthis.virtualReference = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\treturn new DOMRect(x, y, 0, 0)\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\tconst placement: Placement = 'bottom-start'\n\t\tconst strategy: Strategy = 'absolute'\n\t\tconst margin = 20 // Standard margin from edges\n\n\t\tconst { x, y } = await computePosition(this.virtualReference, dialog, {\n\t\t\tplacement,\n\t\t\tstrategy,\n\t\t\tmiddleware: [\n\t\t\t\t// Offset from the reference point\n\t\t\t\toffset(margin),\n\n\t\t\t\t// Flip to opposite side if no space\n\t\t\t\tflip({\n\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-end', 'top-end'],\n\t\t\t\t\tfallbackStrategy: 'bestFit',\n\t\t\t\t}),\n\n\t\t\t\t// Shift along the preferred axis to stay in view\n\t\t\t\tshift({\n\t\t\t\t\tpadding: margin, // Keep margin from viewport edges\n\t\t\t\t}),\n\n\t\t\t\t// Resize dialog if needed\n\t\t\t\tsize({\n\t\t\t\t\tapply({ availableWidth, availableHeight, elements }) {\n\t\t\t\t\t\t// If dialog is wider than available space\n\t\t\t\t\t\tif (elements.floating.offsetWidth > availableWidth) {\n\t\t\t\t\t\t\tObject.assign(elements.floating.style, {\n\t\t\t\t\t\t\t\tmaxWidth: `${Math.max(availableWidth - margin * 2, 280)}px`, // Keep at least 280px if possible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If dialog is taller than available space\n\t\t\t\t\t\tif (elements.floating.offsetHeight > availableHeight) {\n\t\t\t\t\t\t\tObject.assign(elements.floating.style, {\n\t\t\t\t\t\t\t\tmaxHeight: `${availableHeight - margin * 2}px`,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tpadding: margin, // Keep margin from viewport edges\n\t\t\t\t}),\n\t\t\t],\n\t\t})\n\n\t\t// Apply the computed position\n\t\tObject.assign(dialog.style, {\n\t\t\tleft: `${Math.round(x)}px`,\n\t\t\ttop: `${Math.round(y)}px`,\n\t\t\ttransform: 'none', // Remove any transform that might interfere\n\t\t})\n\t}\n\n\t/**\n\t * Handle component disconnection from DOM\n\t */\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\n\t\t// Clean up subscriptions\n\t\tif (this.resizeSubscription) {\n\t\t\tthis.resizeSubscription.unsubscribe()\n\t\t\tthis.resizeSubscription = undefined\n\t\t}\n\n\t\tif (this.cleanupAutoUpdate) {\n\t\t\tthis.cleanupAutoUpdate()\n\t\t\tthis.cleanupAutoUpdate = undefined\n\t\t}\n\t}\n\n\t/**\n\t * Handle lifecycle callback when dialog is first rendered\n\t */\n\tfirstUpdated() {\n\t\tconst dialog = this.shadowRoot?.querySelector('.dialog') as HTMLElement\n\t\tif (!dialog) return\n\n\t\t// Set up positioning with Floating UI\n\t\tthis.setupPositioning(dialog)\n\n\t\t// Set up window resize subscription using RxJS with debounce\n\t\tthis.resizeSubscription = fromEvent(window, 'resize')\n\t\t\t.pipe(debounceTime(50)) // Faster response time\n\t\t\t.subscribe(() => {\n\t\t\t\t// Get current viewport dimensions\n\t\t\t\tconst viewportWidth = window.innerWidth\n\t\t\t\tconst viewportHeight = window.innerHeight\n\n\t\t\t\t// If using CSS centered positioning, ensure it stays centered\n\t\t\t\tconst isCentered =\n\t\t\t\t\tMath.abs(this.position.x - viewportWidth / 2) < 10 && Math.abs(this.position.y - viewportHeight / 2) < 10\n\n\t\t\t\tif (isCentered) {\n\t\t\t\t\t// Update position to new center\n\t\t\t\t\tthis.position = {\n\t\t\t\t\t\tx: viewportWidth / 2,\n\t\t\t\t\t\ty: viewportHeight / 2,\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Always update position on resize\n\t\t\t\tthis.updatePosition(dialog)\n\t\t\t})\n\t}\n\n\t/**\n\t * Handle confirm action\n\t */\n\tprivate handleConfirm() {\n\t\tthis.hide(true)\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('confirm', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t/**\n\t * Handle cancel action\n\t */\n\tprivate handleCancel() {\n\t\tthis.hide(false)\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('cancel', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t/**\n\t * Get the CSS class for the confirm button based on variant\n\t */\n\tprivate getConfirmButtonClass(): string {\n\t\t// If variant is danger, use error color\n\t\tif (this.variant === 'danger') {\n\t\t\treturn 'bg-error-default hover:bg-error-container text-error-on'\n\t\t}\n\n\t\treturn ''\n\t}\n\n\trender() {\n\t\t// For initial rendering, use transform-based centering from CSS\n\t\t// firstUpdated will handle precise positioning after measuring\n\t\tconst hasCustomContent = this.querySelectorAll('[slot=\"content\"]').length > 0\n\t\t// Only show buttons if both confirmText and cancelText are non-empty strings\n\t\tconst showButtons =\n\t\t\tthis.confirmText && this.confirmText.trim() !== '' && this.cancelText && this.cancelText.trim() !== ''\n\n\t\treturn html`\n\t\t\t<div class=\"overlay\" @click=${this.handleCancel}></div>\n\n\t\t\t<div class=\"dialog\" role=\"alertdialog\" aria-modal=\"true\">\n\t\t\t\t<schmancy-surface rounded=\"all\" elevation=\"3\" type=\"containerHigh\" class=\"p-4\">\n\t\t\t\t\t<schmancy-form @submit=${this.handleConfirm} >\n\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\tthis.title && this.title.trim() !== '',\n\t\t\t\t\t\t\t() => html`\n\t\t\t\t\t\t\t\t<schmancy-typography type=\"title\" token=\"md\" class=\"mb-1\"> ${this.title} </schmancy-typography>\n\t\t\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\t\t\tthis.subtitle && this.subtitle.trim() !== '',\n\t\t\t\t\t\t\t\t\t() => html`\n\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"subtitle\" token=\"xs\" class=\"mb-2\">\n\t\t\t\t\t\t\t\t\t\t\t${this.subtitle}\n\t\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t() => html``\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t${hasCustomContent\n\t\t\t\t\t\t\t? html`<div class=\"${showButtons ? 'mb-4' : ''}\"><slot name=\"content\"></slot></div>`\n\t\t\t\t\t\t\t: when(\n\t\t\t\t\t\t\t\t\tthis.message && this.message.trim() !== '',\n\t\t\t\t\t\t\t\t\t() => html`<schmancy-typography type=\"body\" class=\"mb-4\"> ${this.message} </schmancy-typography>`,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\tshowButtons,\n\t\t\t\t\t\t\t() => html`\n\t\t\t\t\t\t\t\t<div class=\"flex justify-end gap-3\">\n\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"outlined\" @click=${this.handleCancel}> ${this.cancelText} </schmancy-button>\n\t\t\t\t\t\t\t\t\t<schmancy-button type=\"submit\" variant=\"filled\" class=${this.getConfirmButtonClass()}> ${this.confirmText} </schmancy-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t</schmancy-form>\n\t\t\t\t</schmancy-surface>\n\t\t\t</div>\n\t\t`\n\t}\n\n\t/**\n\t * Static helper for even simpler API\n\t */\n\tstatic async confirm(options: {\n\t\ttitle?: string\n\t\tsubtitle?: string\n\t\tmessage?: string\n\t\tconfirmText?: string\n\t\tcancelText?: string\n\t\tvariant?: 'default' | 'danger'\n\t\tposition?: { x: number; y: number } | MouseEvent | TouchEvent\n\t\twidth?: string\n\t}): Promise<boolean> {\n\t\t// Create dialog if it doesn't exist\n\t\tlet dialog = document.querySelector('confirm-dialog') as ConfirmDialog\n\n\t\tif (!dialog) {\n\t\t\tdialog = document.createElement('confirm-dialog') as ConfirmDialog\n\t\t\tdocument.body.appendChild(dialog)\n\t\t}\n\n\t\t// Set options\n\t\tif (options.title) dialog.title = options.title\n\t\tif (options.subtitle) dialog.subtitle = options.subtitle\n\t\tif (options.message) dialog.message = options.message\n\t\tif (options.confirmText) dialog.confirmText = options.confirmText\n\t\tif (options.cancelText) dialog.cancelText = options.cancelText\n\t\tif (options.variant) dialog.variant = options.variant\n\t\tif (options.width) dialog.style.setProperty('--dialog-width', options.width)\n\n\t\t// Show dialog and return promise\n\t\treturn dialog.show(options.position)\n\t}\n\n\t/**\n\t * Even simpler shorthand method - just pass message and optionally an event\n\t */\n\tstatic async ask(message: string, event?: MouseEvent | TouchEvent): Promise<boolean> {\n\t\treturn this.confirm({\n\t\t\tmessage,\n\t\t\tposition: event,\n\t\t})\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'confirm-dialog': ConfirmDialog\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, Placement, shift, size, Strategy } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { fromEvent, tap } from 'rxjs'\nimport { debounceTime } from 'rxjs/operators'\nimport { DialogHereMorty, DialogWhereAreYouRicky, DialogWhereAreYouRickyEvent } from './dialog-events'\n\n/**\n * A basic dialog web component without title or actions\n *\n * @element schmancy-dialog\n * @slot default - Content slot for dialog body\n */\n@customElement('schmancy-dialog')\nexport class SchmancyDialog extends $LitElement(css`\n\t:host {\n\t\tposition: fixed;\n\t\tz-index: 10000;\n\t\tinset: 0;\n\t\tdisplay: none;\n\t\t--dialog-width: 360px;\n\t}\n\n\t:host([active]) {\n\t\tdisplay: block;\n\t}\n`) {\n\t/**\n\t * Unique identifier for the dialog instance\n\t */\n\t@property({ type: String, reflect: true }) uid: string\n\n\t/**\n\t * Current position of the dialog\n\t */\n\tprivate position = { x: 0, y: 0 }\n\n\t/**\n\t * Current active promise resolver\n\t */\n\tprivate resolvePromise?: (value: boolean) => void\n\n\t/**\n\t * Store cleanup function for position auto-updates\n\t */\n\tprivate cleanupAutoUpdate?: () => void\n\n\t/**\n\t * Virtual element to use as reference for positioning\n\t */\n\tprivate virtualReference?: {\n\t\tgetBoundingClientRect: () => DOMRect\n\t}\n\n\t/**\n\t * Simple API: Show the dialog at a specific position\n\t * @returns Promise that resolves when dialog is closed\n\t */\n\tasync show(positionOrEvent?: { x: number; y: number } | MouseEvent | TouchEvent): Promise<boolean> {\n\t\t// Extract position from event or use direct coordinates\n\t\tlet x: number, y: number\n\n\t\tif (!positionOrEvent) {\n\t\t\t// Default to center of viewport if no position provided\n\t\t\tx = window.innerWidth / 2\n\t\t\ty = window.innerHeight / 2\n\t\t} else if ('clientX' in positionOrEvent) {\n\t\t\t// It's a mouse event\n\t\t\tx = positionOrEvent.clientX\n\t\t\ty = positionOrEvent.clientY\n\t\t} else if ('touches' in positionOrEvent && positionOrEvent.touches.length) {\n\t\t\t// It's a touch event\n\t\t\tx = positionOrEvent.touches[0].clientX\n\t\t\ty = positionOrEvent.touches[0].clientY\n\t\t} else {\n\t\t\t// It's a position object with x,y coordinates\n\t\t\tconst pos = positionOrEvent as { x: number; y: number }\n\t\t\tx = pos.x\n\t\t\ty = pos.y\n\t\t}\n\n\t\t// Store initial position\n\t\tthis.position = { x, y }\n\n\t\t// Create virtual reference element at the provided coordinates\n\t\tthis.virtualReference = {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn new DOMRect(x, y, 0, 0)\n\t\t\t},\n\t\t}\n\n\t\t// Make dialog active\n\t\tthis.setAttribute('active', '')\n\n\t\t// Return a promise that resolves when the user makes a choice\n\t\treturn new Promise<boolean>(resolve => {\n\t\t\tthis.resolvePromise = resolve\n\t\t})\n\t}\n\n\t/**\n\t * Simple API: Hide the dialog\n\t */\n\thide(result = false) {\n\t\tthis.removeAttribute('active')\n\n\t\t// Clean up any auto-update subscription\n\t\tif (this.cleanupAutoUpdate) {\n\t\t\tthis.cleanupAutoUpdate()\n\t\t\tthis.cleanupAutoUpdate = undefined\n\t\t}\n\n\t\t// Resolve any pending promise\n\t\tif (this.resolvePromise) {\n\t\t\tthis.resolvePromise(result)\n\t\t\tthis.resolvePromise = undefined\n\t\t}\n\t}\n\n\t/**\n\t * Set up position auto-updating when dialog content changes or window resizes\n\t */\n\tprivate setupPositioning(dialog: HTMLElement) {\n\t\tconst viewportWidth = window.innerWidth\n\t\tconst viewportHeight = window.innerHeight\n\n\t\t// Check if this is a centered dialog\n\t\tconst isCentered =\n\t\t\tMath.abs(this.position.x - viewportWidth / 2) < 10 && Math.abs(this.position.y - viewportHeight / 2) < 10\n\n\t\tif (isCentered) {\n\t\t\t// For centered dialogs, set up auto-update for content changes\n\t\t\tthis.cleanupAutoUpdate = autoUpdate(\n\t\t\t\tdocument.body, // Use body as reference for centered dialogs\n\t\t\t\tdialog,\n\t\t\t\t() => {\n\t\t\t\t\t// Ensure dialog stays within viewport when content changes\n\t\t\t\t\tconst availableHeight = window.innerHeight - 40\n\t\t\t\t\tif (dialog.offsetHeight > availableHeight) {\n\t\t\t\t\t\tdialog.style.maxHeight = `${availableHeight}px`\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\telementResize: true,\n\t\t\t\t\tancestorScroll: true,\n\t\t\t\t},\n\t\t\t)\n\n\t\t\treturn\n\t\t}\n\n\t\t// Use Floating UI's autoUpdate to continually update position\n\t\tif (this.virtualReference) {\n\t\t\tthis.cleanupAutoUpdate = autoUpdate(this.virtualReference, dialog, () => this.updatePosition(dialog), {\n\t\t\t\tancestorScroll: true,\n\t\t\t\tancestorResize: true,\n\t\t\t\telementResize: true,\n\t\t\t\tanimationFrame: true, // Enable continuous updates for smoother repositioning\n\t\t\t})\n\n\t\t\t// Initial positioning\n\t\t\tthis.updatePosition(dialog)\n\t\t}\n\t}\n\n\t/**\n\t * Update dialog position using Floating UI\n\t */\n\tprivate async updatePosition(dialog: HTMLElement) {\n\t\tif (!this.virtualReference) return\n\n\t\t// Force window bounds recalculation on resize\n\t\tif (this.position.x > 0 && this.position.y > 0) {\n\t\t\t// Update virtual reference to consider current window size\n\t\t\tconst viewportWidth = window.innerWidth\n\t\t\tconst viewportHeight = window.innerHeight\n\n\t\t\t// Ensure position is constrained to current viewport\n\t\t\tconst x = Math.min(this.position.x, viewportWidth - 20)\n\t\t\tconst y = Math.min(this.position.y, viewportHeight - 20)\n\n\t\t\t// Update virtual reference with current viewport-constrained position\n\t\t\tthis.virtualReference = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\treturn new DOMRect(x, y, 0, 0)\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\tconst placement: Placement = 'bottom-start'\n\t\tconst strategy: Strategy = 'absolute'\n\t\tconst margin = 20 // Standard margin from edges\n\n\t\tconst { x, y } = await computePosition(this.virtualReference, dialog, {\n\t\t\tplacement,\n\t\t\tstrategy,\n\t\t\tmiddleware: [\n\t\t\t\t// Offset from the reference point\n\t\t\t\toffset(margin),\n\n\t\t\t\t// Flip to opposite side if no space\n\t\t\t\tflip({\n\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-end', 'top-end'],\n\t\t\t\t\tfallbackStrategy: 'bestFit',\n\t\t\t\t}),\n\n\t\t\t\t// Shift along the preferred axis to stay in view\n\t\t\t\tshift({\n\t\t\t\t\tpadding: margin, // Keep margin from viewport edges\n\t\t\t\t}),\n\n\t\t\t\t// Resize dialog if needed\n\t\t\t\tsize({\n\t\t\t\t\tapply({ availableWidth, availableHeight, elements }) {\n\t\t\t\t\t\t// If dialog is wider than available space\n\t\t\t\t\t\tif (elements.floating.offsetWidth > availableWidth) {\n\t\t\t\t\t\t\tObject.assign(elements.floating.style, {\n\t\t\t\t\t\t\t\tmaxWidth: `${Math.max(availableWidth - margin * 2, 280)}px`, // Keep at least 280px if possible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If dialog is taller than available space\n\t\t\t\t\t\tif (elements.floating.offsetHeight > availableHeight) {\n\t\t\t\t\t\t\tObject.assign(elements.floating.style, {\n\t\t\t\t\t\t\t\tmaxHeight: `${availableHeight - margin * 2}px`,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tpadding: margin, // Keep margin from viewport edges\n\t\t\t\t}),\n\t\t\t],\n\t\t})\n\n\t\t// Apply the computed position\n\t\tObject.assign(dialog.style, {\n\t\t\tleft: `${Math.round(x)}px`,\n\t\t\ttop: `${Math.round(y)}px`,\n\t\t\ttransform: 'none', // Remove any transform that might interfere\n\t\t})\n\t}\n\n\t// Store resize subscription\n\tprivate resizeSubscription?: { unsubscribe: () => void }\n\n\t/**\n\t * Handle component disconnection from DOM\n\t */\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\n\t\t// Clean up subscriptions\n\t\tif (this.resizeSubscription) {\n\t\t\tthis.resizeSubscription.unsubscribe()\n\t\t\tthis.resizeSubscription = undefined\n\t\t}\n\n\t\tif (this.cleanupAutoUpdate) {\n\t\t\tthis.cleanupAutoUpdate()\n\t\t\tthis.cleanupAutoUpdate = undefined\n\t\t}\n\t}\n\n\t/**\n\t * Handle component connection to DOM\n\t */\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Listen for \"where are you ricky\" events\n\t\tfromEvent<DialogWhereAreYouRickyEvent>(window, DialogWhereAreYouRicky)\n\t\t\t.pipe(\n\t\t\t\ttap(e => {\n\t\t\t\t\tif (e.detail.uid === this.uid) this.announcePresence()\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Announce this dialog's presence to the service\n\t */\n\tprivate announcePresence() {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent(DialogHereMorty, {\n\t\t\t\tdetail: { dialog: this },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t/**\n\t * Handle lifecycle callback when dialog is first rendered\n\t */\n\tfirstUpdated() {\n\t\tconst dialog = this.shadowRoot?.querySelector('[role=\"dialog\"]') as HTMLElement\n\t\tif (!dialog) return\n\n\t\t// Set up positioning with Floating UI\n\t\tthis.setupPositioning(dialog)\n\n\t\t// Set up window resize subscription using RxJS with debounce\n\t\tthis.resizeSubscription = fromEvent(window, 'resize')\n\t\t\t.pipe(debounceTime(50)) // Faster response time\n\t\t\t.subscribe(() => {\n\t\t\t\t// Get current viewport dimensions\n\t\t\t\tconst viewportWidth = window.innerWidth\n\t\t\t\tconst viewportHeight = window.innerHeight\n\n\t\t\t\t// If using CSS centered positioning, ensure it stays centered\n\t\t\t\tconst isCentered =\n\t\t\t\t\tMath.abs(this.position.x - viewportWidth / 2) < 10 && Math.abs(this.position.y - viewportHeight / 2) < 10\n\n\t\t\t\tif (isCentered) {\n\t\t\t\t\t// Update position to new center\n\t\t\t\t\tthis.position = {\n\t\t\t\t\t\tx: viewportWidth / 2,\n\t\t\t\t\t\ty: viewportHeight / 2,\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Always update position on resize\n\t\t\t\tthis.updatePosition(dialog)\n\t\t\t})\n\t}\n\n\t/**\n\t * Handle close action\n\t */\n\tprivate handleClose() {\n\t\tthis.hide(false)\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('close', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\t// Determine if the dialog is centered\n\t\tconst viewportWidth = window.innerWidth\n\t\tconst viewportHeight = window.innerHeight\n\t\tconst isCentered =\n\t\t\tMath.abs(this.position.x - viewportWidth / 2) < 10 && Math.abs(this.position.y - viewportHeight / 2) < 10\n\n\t\tconst dialogClasses = {\n\t\t\tabsolute: true,\n\t\t\t'w-[var(--dialog-width)]': true, // Use the specified width\n\t\t\t'max-w-[calc(100vw-2rem)]': true, // Prevent overflow on small screens\n\t\t\t'max-h-[calc(100vh-40px)]': true,\n\t\t\t\"overflow-hidden\":true,\n\t\t\t// Centered positioning\n\t\t\t'top-1/2': isCentered,\n\t\t\t'left-1/2': isCentered,\n\t\t\t'-translate-x-1/2': isCentered,\n\t\t\t'-translate-y-[55%]': isCentered, // Slight upward shift\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"fixed inset-0 bg-scrim/40\" @click=${this.handleClose}></div>\n\n\t\t\t<schmancy-scroll class=${this.classMap(dialogClasses)} role=\"dialog\" aria-modal=\"true\">\n\t\t\t\t<schmancy-surface rounded=\"all\" elevation=\"3\" type=\"containerHigh\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t</schmancy-surface>\n\t\t\t</schmancy-scroll>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dialog': SchmancyDialog\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * A basic dialog content component that doesn't add any padding or styling\n * Used for rendering raw content in a dialog\n *\n * @element schmancy-dialog-content\n * @slot default - Content slot for dialog content without any styling\n */\n@customElement('schmancy-dialog-content')\nexport class SchmancyDialogContent extends $LitElement(css`\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n`) {\n render() {\n return html`<slot></slot>`\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-dialog-content': SchmancyDialogContent\n }\n}"],"names":["ConfirmDialog","$LitElement","css","constructor","super","arguments","this","title","subtitle","message","confirmText","cancelText","variant","position","x","y","positionOrEvent","clientX","clientY","touches","length","pos","window","innerWidth","innerHeight","virtualReference","getBoundingClientRect","DOMRect","setAttribute","Promise","resolve","resolvePromise","confirmed","removeAttribute","cleanupAutoUpdate","dialog","viewportWidth","viewportHeight","Math","abs","classList","add","autoUpdate","document","body","contains","availableHeight","offsetHeight","style","maxHeight","elementResize","ancestorScroll","remove","updatePosition","ancestorResize","animationFrame","min","computePosition","placement","strategy","middleware","offset","flip","fallbackPlacements","fallbackStrategy","shift","padding","size","apply","availableWidth","elements","floating","offsetWidth","Object","assign","maxWidth","max","margin","left","round","top","transform","disconnectedCallback","resizeSubscription","unsubscribe","firstUpdated","shadowRoot","querySelector","setupPositioning","fromEvent","pipe","debounceTime","subscribe","handleConfirm","hide","dispatchEvent","CustomEvent","bubbles","composed","handleCancel","getConfirmButtonClass","render","hasCustomContent","querySelectorAll","showButtons","trim","html","when","options","createElement","appendChild","width","setProperty","show","event","confirm","__decorateClass","property","type","String","prototype","attribute","customElement","SchmancyDialog","result","connectedCallback","DialogWhereAreYouRicky","tap","e","detail","uid","announcePresence","DialogHereMorty","handleClose","isCentered","dialogClasses","absolute","classMap","reflect","SchmancyDialogContent"],"mappings":"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"}
|
|
@@ -3,17 +3,17 @@ import { fromEvent as m, tap as M } from "rxjs";
|
|
|
3
3
|
import "lit/directives/class-map.js";
|
|
4
4
|
import "lit/directives/style-map.js";
|
|
5
5
|
import { property as h, customElement as g } from "lit/decorators.js";
|
|
6
|
-
import "./tailwind.mixin-
|
|
7
|
-
import { $ as y } from "./litElement.mixin-
|
|
8
|
-
import { css as f, html as
|
|
6
|
+
import "./tailwind.mixin-T5CiXVWk.js";
|
|
7
|
+
import { $ as y } from "./litElement.mixin-CAUo-j_j.js";
|
|
8
|
+
import { css as f, html as r } from "lit";
|
|
9
9
|
import { when as d } from "lit/directives/when.js";
|
|
10
10
|
import { debounceTime as S } from "rxjs/operators";
|
|
11
|
-
import { a as $, b as H } from "./dialog-service-
|
|
11
|
+
import { a as $, b as H } from "./dialog-service-CyQzm5qE.js";
|
|
12
12
|
var k = Object.defineProperty, A = Object.getOwnPropertyDescriptor, l = (t, e, i, s) => {
|
|
13
13
|
for (var n, o = s > 1 ? void 0 : s ? A(e, i) : e, a = t.length - 1; a >= 0; a--) (n = t[a]) && (o = (s ? n(e, i, o) : n(o)) || o);
|
|
14
14
|
return s && o && k(e, i, o), o;
|
|
15
15
|
};
|
|
16
|
-
let
|
|
16
|
+
let c = class extends y(f`
|
|
17
17
|
:host {
|
|
18
18
|
position: fixed;
|
|
19
19
|
z-index: 10000;
|
|
@@ -104,27 +104,26 @@ let r = class extends y(f`
|
|
|
104
104
|
this.hide(!1), this.dispatchEvent(new CustomEvent("cancel", { bubbles: !0, composed: !0 }));
|
|
105
105
|
}
|
|
106
106
|
getConfirmButtonClass() {
|
|
107
|
-
|
|
108
|
-
return this.variant === "danger" || this.confirmColor === "error" ? t.error : t[this.confirmColor || "primary"] || "";
|
|
107
|
+
return this.variant === "danger" ? "bg-error-default hover:bg-error-container text-error-on" : "";
|
|
109
108
|
}
|
|
110
109
|
render() {
|
|
111
110
|
const t = this.querySelectorAll('[slot="content"]').length > 0, e = this.confirmText && this.confirmText.trim() !== "" && this.cancelText && this.cancelText.trim() !== "";
|
|
112
|
-
return
|
|
111
|
+
return r`
|
|
113
112
|
<div class="overlay" @click=${this.handleCancel}></div>
|
|
114
113
|
|
|
115
114
|
<div class="dialog" role="alertdialog" aria-modal="true">
|
|
116
|
-
<schmancy-surface rounded="all" elevation="3" type="containerHigh">
|
|
117
|
-
<schmancy-form @submit=${this.handleConfirm}
|
|
118
|
-
${d(this.title && this.title.trim() !== "", () =>
|
|
115
|
+
<schmancy-surface rounded="all" elevation="3" type="containerHigh" class="p-4">
|
|
116
|
+
<schmancy-form @submit=${this.handleConfirm} >
|
|
117
|
+
${d(this.title && this.title.trim() !== "", () => r`
|
|
119
118
|
<schmancy-typography type="title" token="md" class="mb-1"> ${this.title} </schmancy-typography>
|
|
120
|
-
${d(this.subtitle && this.subtitle.trim() !== "", () =>
|
|
119
|
+
${d(this.subtitle && this.subtitle.trim() !== "", () => r`
|
|
121
120
|
<schmancy-typography type="subtitle" token="xs" class="mb-2">
|
|
122
121
|
${this.subtitle}
|
|
123
122
|
</schmancy-typography>
|
|
124
|
-
`, () =>
|
|
123
|
+
`, () => r``)}
|
|
125
124
|
`)}
|
|
126
|
-
${t ?
|
|
127
|
-
${d(e, () =>
|
|
125
|
+
${t ? r`<div class="${e ? "mb-4" : ""}"><slot name="content"></slot></div>` : d(this.message && this.message.trim() !== "", () => r`<schmancy-typography type="body" class="mb-4"> ${this.message} </schmancy-typography>`)}
|
|
126
|
+
${d(e, () => r`
|
|
128
127
|
<div class="flex justify-end gap-3">
|
|
129
128
|
<schmancy-button variant="outlined" @click=${this.handleCancel}> ${this.cancelText} </schmancy-button>
|
|
130
129
|
<schmancy-button type="submit" variant="filled" class=${this.getConfirmButtonClass()}> ${this.confirmText} </schmancy-button>
|
|
@@ -143,7 +142,7 @@ let r = class extends y(f`
|
|
|
143
142
|
return this.confirm({ message: t, position: e });
|
|
144
143
|
}
|
|
145
144
|
};
|
|
146
|
-
l([h({ type: String })],
|
|
145
|
+
l([h({ type: String })], c.prototype, "title", 2), l([h({ type: String })], c.prototype, "subtitle", 2), l([h({ type: String })], c.prototype, "message", 2), l([h({ type: String, attribute: "confirm-text" })], c.prototype, "confirmText", 2), l([h({ type: String, attribute: "cancel-text" })], c.prototype, "cancelText", 2), l([h({ type: String })], c.prototype, "variant", 2), c = l([g("confirm-dialog")], c);
|
|
147
146
|
var z = Object.defineProperty, U = Object.getOwnPropertyDescriptor, b = (t, e, i, s) => {
|
|
148
147
|
for (var n, o = s > 1 ? void 0 : s ? U(e, i) : e, a = t.length - 1; a >= 0; a--) (n = t[a]) && (o = (s ? n(e, i, o) : n(o)) || o);
|
|
149
148
|
return s && o && z(e, i, o), o;
|
|
@@ -220,19 +219,15 @@ let u = class extends y(f`
|
|
|
220
219
|
this.hide(!1), this.dispatchEvent(new CustomEvent("close", { bubbles: !0, composed: !0 }));
|
|
221
220
|
}
|
|
222
221
|
render() {
|
|
223
|
-
const t = window.innerWidth, e = window.innerHeight, i = Math.abs(this.position.x - t / 2) < 10 && Math.abs(this.position.y - e / 2) < 10, s = { absolute: !0, "w-[var(--dialog-width)]": !0, "max-w-[calc(100vw-2rem)]": !0, "max-h-[calc(100vh-40px)]": !0, "overflow-
|
|
224
|
-
return
|
|
222
|
+
const t = window.innerWidth, e = window.innerHeight, i = Math.abs(this.position.x - t / 2) < 10 && Math.abs(this.position.y - e / 2) < 10, s = { absolute: !0, "w-[var(--dialog-width)]": !0, "max-w-[calc(100vw-2rem)]": !0, "max-h-[calc(100vh-40px)]": !0, "overflow-hidden": !0, "top-1/2": i, "left-1/2": i, "-translate-x-1/2": i, "-translate-y-[55%]": i };
|
|
223
|
+
return r`
|
|
225
224
|
<div class="fixed inset-0 bg-scrim/40" @click=${this.handleClose}></div>
|
|
226
225
|
|
|
227
|
-
<
|
|
228
|
-
class=${this.classMap(s)}
|
|
229
|
-
role="dialog"
|
|
230
|
-
aria-modal="true"
|
|
231
|
-
>
|
|
226
|
+
<schmancy-scroll class=${this.classMap(s)} role="dialog" aria-modal="true">
|
|
232
227
|
<schmancy-surface rounded="all" elevation="3" type="containerHigh">
|
|
233
|
-
|
|
228
|
+
<slot></slot>
|
|
234
229
|
</schmancy-surface>
|
|
235
|
-
</
|
|
230
|
+
</schmancy-scroll>
|
|
236
231
|
`;
|
|
237
232
|
}
|
|
238
233
|
};
|
|
@@ -246,7 +241,7 @@ let v = class extends y(f`
|
|
|
246
241
|
}
|
|
247
242
|
`) {
|
|
248
243
|
render() {
|
|
249
|
-
return
|
|
244
|
+
return r`<slot></slot>`;
|
|
250
245
|
}
|
|
251
246
|
};
|
|
252
247
|
v = ((t, e, i, s) => {
|
|
@@ -254,8 +249,8 @@ v = ((t, e, i, s) => {
|
|
|
254
249
|
return o;
|
|
255
250
|
})([g("schmancy-dialog-content")], v);
|
|
256
251
|
export {
|
|
257
|
-
|
|
252
|
+
c as C,
|
|
258
253
|
u as S,
|
|
259
254
|
v as a
|
|
260
255
|
};
|
|
261
|
-
//# sourceMappingURL=dialog-content-
|
|
256
|
+
//# sourceMappingURL=dialog-content-DXBS1xFM.js.map
|