@mhmo91/schmancy 0.2.173 → 0.2.175
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-DnpEmzG6.cjs → animated-text-BrDkqFTI.cjs} +2 -2
- package/dist/{animated-text-DnpEmzG6.cjs.map → animated-text-BrDkqFTI.cjs.map} +1 -1
- package/dist/{animated-text-CuzUjLrt.js → animated-text-s9T0FPzu.js} +3 -3
- package/dist/{animated-text-CuzUjLrt.js.map → animated-text-s9T0FPzu.js.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-yPcYESCN.js → area.component-DGr6ZdvQ.js} +3 -3
- package/dist/{area.component-yPcYESCN.js.map → area.component-DGr6ZdvQ.js.map} +1 -1
- package/dist/{area.component-BScAAi9b.cjs → area.component-RZA2bq-D.cjs} +2 -2
- package/dist/{area.component-BScAAi9b.cjs.map → area.component-RZA2bq-D.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-DzN6JlKD.js → autocomplete-1gZeSbnf.js} +3 -3
- package/dist/{autocomplete-DzN6JlKD.js.map → autocomplete-1gZeSbnf.js.map} +1 -1
- package/dist/{autocomplete-BAblB5US.cjs → autocomplete-CuuHN9km.cjs} +2 -2
- package/dist/{autocomplete-BAblB5US.cjs.map → autocomplete-CuuHN9km.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{teleport.component-CIrziUm4.js → avatar-CTucKkA4.js} +235 -204
- package/dist/avatar-CTucKkA4.js.map +1 -0
- package/dist/avatar-hg0j8zki.cjs +212 -0
- package/dist/avatar-hg0j8zki.cjs.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.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-CKwb-uFj.js → checkbox-DFYmSAah.js} +2 -2
- package/dist/{checkbox-CKwb-uFj.js.map → checkbox-DFYmSAah.js.map} +1 -1
- package/dist/{checkbox-j-8nzAvA.cjs → checkbox-DQd9Azq2.cjs} +2 -2
- package/dist/{checkbox-j-8nzAvA.cjs.map → checkbox-DQd9Azq2.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-DkIA91MS.js → chips-3gE4mmTU.js} +3 -3
- package/dist/{chips-DkIA91MS.js.map → chips-3gE4mmTU.js.map} +1 -1
- package/dist/{chips-COn9_IpC.cjs → chips-CkZAEsJp.cjs} +2 -2
- package/dist/{chips-COn9_IpC.cjs.map → chips-CkZAEsJp.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +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-c5unYbcG.cjs → date-range-BZlbUc_n.cjs} +2 -2
- package/dist/{date-range-c5unYbcG.cjs.map → date-range-BZlbUc_n.cjs.map} +1 -1
- package/dist/{date-range-BPWhrUmb.js → date-range-CLgoit8H.js} +3 -3
- package/dist/{date-range-BPWhrUmb.js.map → date-range-CLgoit8H.js.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-BoVPkUxV.js → delay-BS7AcXYg.js} +2 -2
- package/dist/{delay-BoVPkUxV.js.map → delay-BS7AcXYg.js.map} +1 -1
- package/dist/{delay-dM9FOKCv.cjs → delay-C0xLB5YE.cjs} +2 -2
- package/dist/{delay-dM9FOKCv.cjs.map → delay-C0xLB5YE.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{dialog-service-b_DFS-3_.js → dialog-service-B7mtryVn.js} +44 -44
- package/dist/dialog-service-B7mtryVn.js.map +1 -0
- package/dist/{dialog-service-CdOJZ-gq.cjs → dialog-service-Bju5U74b.cjs} +3 -3
- package/dist/dialog-service-Bju5U74b.cjs.map +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-BDG7M6Ye.js → divider-B5CC311v.js} +3 -3
- package/dist/{divider-BDG7M6Ye.js.map → divider-B5CC311v.js.map} +1 -1
- package/dist/{divider-B2lNC0Hi.cjs → divider-xPhgMgau.cjs} +2 -2
- package/dist/{divider-B2lNC0Hi.cjs.map → divider-xPhgMgau.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content--sqK901p.cjs → dropdown-content-Bwjmh6uS.cjs} +2 -2
- package/dist/{dropdown-content--sqK901p.cjs.map → dropdown-content-Bwjmh6uS.cjs.map} +1 -1
- package/dist/{dropdown-content-Ctq1JVzp.js → dropdown-content-Cnk_HWWq.js} +3 -3
- package/dist/{dropdown-content-Ctq1JVzp.js.map → dropdown-content-Cnk_HWWq.js.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-c0NHmPAm.js → flex-C9UL4tmR.js} +2 -2
- package/dist/{flex-c0NHmPAm.js.map → flex-C9UL4tmR.js.map} +1 -1
- package/dist/{flex-Bt5rjiJc.cjs → flex-COQaEZmU.cjs} +2 -2
- package/dist/{flex-Bt5rjiJc.cjs.map → flex-COQaEZmU.cjs.map} +1 -1
- package/dist/{form-DBe9nCyD.cjs → form-BG9KH92a.cjs} +2 -2
- package/dist/{form-DBe9nCyD.cjs.map → form-BG9KH92a.cjs.map} +1 -1
- package/dist/{form-UMB7mWaN.js → form-YcKpLew8.js} +2 -2
- package/dist/{form-UMB7mWaN.js.map → form-YcKpLew8.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-ClqiTwLk.cjs → icon-CIY_VPoc.cjs} +2 -2
- package/dist/{icon-ClqiTwLk.cjs.map → icon-CIY_VPoc.cjs.map} +1 -1
- package/dist/{icon-BaUginFZ.js → icon-DyZGNskE.js} +3 -3
- package/dist/{icon-BaUginFZ.js.map → icon-DyZGNskE.js.map} +1 -1
- package/dist/{icon-button-D15DCKEh.js → icon-button-BMbFb3-e.js} +3 -3
- package/dist/{icon-button-D15DCKEh.js.map → icon-button-BMbFb3-e.js.map} +1 -1
- package/dist/{icon-button-BuQaHhHo.cjs → icon-button-D1627KoB.cjs} +2 -2
- package/dist/{icon-button-BuQaHhHo.cjs.map → icon-button-D1627KoB.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 +158 -157
- package/dist/{input-C6sT1ZaK.js → input-BQF_Yvo3.js} +2 -2
- package/dist/{input-C6sT1ZaK.js.map → input-BQF_Yvo3.js.map} +1 -1
- package/dist/{input-BUwEVCui.cjs → input-VTxTwAen.cjs} +2 -2
- package/dist/{input-BUwEVCui.cjs.map → input-VTxTwAen.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-B2aWxkkk.cjs → list-Df47IR-i.cjs} +2 -2
- package/dist/{list-B2aWxkkk.cjs.map → list-Df47IR-i.cjs.map} +1 -1
- package/dist/{list-BL2o6M7R.js → list-m-K1zYJm.js} +2 -2
- package/dist/{list-BL2o6M7R.js.map → list-m-K1zYJm.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-hg90OkNF.js → litElement.mixin-DJC1EaoO.js} +2 -2
- package/dist/{litElement.mixin-hg90OkNF.js.map → litElement.mixin-DJC1EaoO.js.map} +1 -1
- package/dist/{litElement.mixin-DqMWf6Rp.cjs → litElement.mixin-DcVBwo9t.cjs} +2 -2
- package/dist/{litElement.mixin-DqMWf6Rp.cjs.map → litElement.mixin-DcVBwo9t.cjs.map} +1 -1
- package/dist/{menu-CYU7-A6s.cjs → menu-BmdOK-Gh.cjs} +2 -2
- package/dist/{menu-CYU7-A6s.cjs.map → menu-BmdOK-Gh.cjs.map} +1 -1
- package/dist/{menu-DLdGFJSB.js → menu-CQA4Qp2Y.js} +3 -3
- package/dist/{menu-DLdGFJSB.js.map → menu-CQA4Qp2Y.js.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/{notification-service-Y81cuyI1.cjs → notification-service-DOGtyP8q.cjs} +2 -2
- package/dist/{notification-service-Y81cuyI1.cjs.map → notification-service-DOGtyP8q.cjs.map} +1 -1
- package/dist/{notification-service-B--dZyDk.js → notification-service-f8ZFvvbw.js} +3 -3
- package/dist/{notification-service-B--dZyDk.js.map → notification-service-f8ZFvvbw.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-Y52lFc0k.cjs → option-BR_cajUP.cjs} +2 -2
- package/dist/{option-Y52lFc0k.cjs.map → option-BR_cajUP.cjs.map} +1 -1
- package/dist/{option-Jf25Ua_q.js → option-Cpedd_4h.js} +2 -2
- package/dist/{option-Jf25Ua_q.js.map → option-Cpedd_4h.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-Bzx839eL.js → payment-card-form-68K9Fcg4.js} +3 -3
- package/dist/{payment-card-form-Bzx839eL.js.map → payment-card-form-68K9Fcg4.js.map} +1 -1
- package/dist/{payment-card-form-CeW7v8C6.cjs → payment-card-form-CdrMcc5c.cjs} +2 -2
- package/dist/{payment-card-form-CeW7v8C6.cjs.map → payment-card-form-CdrMcc5c.cjs.map} +1 -1
- package/dist/{radio-group-D0lUCZoy.js → radio-group-Ci86SQ4t.js} +2 -2
- package/dist/{radio-group-D0lUCZoy.js.map → radio-group-Ci86SQ4t.js.map} +1 -1
- package/dist/{radio-group-DaIoovBv.cjs → radio-group-FInGxSDU.cjs} +2 -2
- package/dist/{radio-group-DaIoovBv.cjs.map → radio-group-FInGxSDU.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-DN_2r-CO.js → schmancy-steps-container-fi5g1HML.js} +2 -2
- package/dist/{schmancy-steps-container-DN_2r-CO.js.map → schmancy-steps-container-fi5g1HML.js.map} +1 -1
- package/dist/{schmancy-steps-container-CTGyq1in.cjs → schmancy-steps-container-iHTmuKkc.cjs} +2 -2
- package/dist/{schmancy-steps-container-CTGyq1in.cjs.map → schmancy-steps-container-iHTmuKkc.cjs.map} +1 -1
- package/dist/{select-ChfaG1oV.js → select-4Mzh9N-F.js} +3 -3
- package/dist/{select-ChfaG1oV.js.map → select-4Mzh9N-F.js.map} +1 -1
- package/dist/{select-F73s56La.cjs → select-DfzEP7n4.cjs} +2 -2
- package/dist/{select-F73s56La.cjs.map → select-DfzEP7n4.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-BMv294LB.cjs → sheet-DfHOLchM.cjs} +2 -2
- package/dist/{sheet-BMv294LB.cjs.map → sheet-DfHOLchM.cjs.map} +1 -1
- package/dist/{sheet-D_sv4wbj.js → sheet-GOrA8B2u.js} +3 -3
- package/dist/{sheet-D_sv4wbj.js.map → sheet-GOrA8B2u.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-CJXXfzVG.js → slider--xxBzPJ6.js} +3 -3
- package/dist/{slider-CJXXfzVG.js.map → slider--xxBzPJ6.js.map} +1 -1
- package/dist/{slider-d4pNWdNo.cjs → slider-YyZnXMOX.cjs} +2 -2
- package/dist/{slider-d4pNWdNo.cjs.map → slider-YyZnXMOX.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-DFyG-_vp.js → spinner-Bd1aWVNB.js} +3 -3
- package/dist/{spinner-DFyG-_vp.js.map → spinner-Bd1aWVNB.js.map} +1 -1
- package/dist/{spinner-Cyoa6FUg.cjs → spinner-D35seXuq.cjs} +2 -2
- package/dist/{spinner-Cyoa6FUg.cjs.map → spinner-D35seXuq.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-CnL6po0z.js → surface-CkiumzDj.js} +2 -2
- package/dist/{surface-CnL6po0z.js.map → surface-CkiumzDj.js.map} +1 -1
- package/dist/{surface-BiwDfTwH.cjs → surface-u3lOyjll.cjs} +2 -2
- package/dist/{surface-BiwDfTwH.cjs.map → surface-u3lOyjll.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-DY3znSpx.cjs → table-Cfe1Zloe.cjs} +2 -2
- package/dist/{table-DY3znSpx.cjs.map → table-Cfe1Zloe.cjs.map} +1 -1
- package/dist/{table-DuGCm_ZT.js → table-DPXzmJkJ.js} +2 -2
- package/dist/{table-DuGCm_ZT.js.map → table-DPXzmJkJ.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-group-DNIr9bXC.js → tabs-group-CBXEoVBr.js} +2 -2
- package/dist/{tabs-group-DNIr9bXC.js.map → tabs-group-CBXEoVBr.js.map} +1 -1
- package/dist/{tabs-group-CLoDXsPN.cjs → tabs-group-MGpxSLVK.cjs} +2 -2
- package/dist/{tabs-group-CLoDXsPN.cjs.map → tabs-group-MGpxSLVK.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-B9QsShMd.cjs +2 -0
- package/dist/{tailwind.mixin-C-SZB7Or.cjs.map → tailwind.mixin-B9QsShMd.cjs.map} +1 -1
- package/dist/tailwind.mixin-DxW0KQ-d.js +43 -0
- package/dist/{tailwind.mixin-PpOEXUY6.js.map → tailwind.mixin-DxW0KQ-d.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-CxKPwLNT.js → textarea-BkXQqdc4.js} +2 -2
- package/dist/{textarea-CxKPwLNT.js.map → textarea-BkXQqdc4.js.map} +1 -1
- package/dist/{textarea-Dbn8e_6U.cjs → textarea-CylQCLpW.cjs} +2 -2
- package/dist/{textarea-Dbn8e_6U.cjs.map → textarea-CylQCLpW.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-BWLSsLkw.js → theme-button-BLSsCZni.js} +2 -2
- package/dist/{theme-button-BWLSsLkw.js.map → theme-button-BLSsCZni.js.map} +1 -1
- package/dist/{theme-button-D9peR8Hg.cjs → theme-button-BSpshrnu.cjs} +2 -2
- package/dist/{theme-button-D9peR8Hg.cjs.map → theme-button-BSpshrnu.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.component-BZz_gSfx.js → theme.component-B6OPvX11.js} +2 -2
- package/dist/{theme.component-BZz_gSfx.js.map → theme.component-B6OPvX11.js.map} +1 -1
- package/dist/{theme.component-BQhUaquX.cjs → theme.component-Cbjb7vBh.cjs} +2 -2
- package/dist/{theme.component-BQhUaquX.cjs.map → theme.component-Cbjb7vBh.cjs.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-CvRTvxiu.js → timezone-B_UNEVCu.js} +3 -3
- package/dist/{timezone-CvRTvxiu.js.map → timezone-B_UNEVCu.js.map} +1 -1
- package/dist/{timezone-B4sTteJT.cjs → timezone-BydmQhke.cjs} +2 -2
- package/dist/{timezone-B4sTteJT.cjs.map → timezone-BydmQhke.cjs.map} +1 -1
- package/dist/{tooltip-BvlP4LLw.js → tooltip-3phi-zvc.js} +2 -2
- package/dist/{tooltip-BvlP4LLw.js.map → tooltip-3phi-zvc.js.map} +1 -1
- package/dist/{tooltip-CKmoUynJ.cjs → tooltip-Bs1R5e8R.cjs} +2 -2
- package/dist/{tooltip-CKmoUynJ.cjs.map → tooltip-Bs1R5e8R.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-Pa4t5MHy.cjs → tree-C68UrNiC.cjs} +2 -2
- package/dist/{tree-Pa4t5MHy.cjs.map → tree-C68UrNiC.cjs.map} +1 -1
- package/dist/{tree-UFPk4UJM.js → tree-DSeadYt9.js} +2 -2
- package/dist/{tree-UFPk4UJM.js.map → tree-DSeadYt9.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-DXYFRAAl.cjs → typewriter-CFgNAfJm.cjs} +2 -2
- package/dist/{typewriter-DXYFRAAl.cjs.map → typewriter-CFgNAfJm.cjs.map} +1 -1
- package/dist/{typewriter-CEFN5I2Z.js → typewriter-Ckxnim4-.js} +4 -4
- package/dist/{typewriter-CEFN5I2Z.js.map → typewriter-Ckxnim4-.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-CF76Gm8m.cjs → typography-B7lbxH4O.cjs} +2 -2
- package/dist/{typography-CF76Gm8m.cjs.map → typography-B7lbxH4O.cjs.map} +1 -1
- package/dist/{typography-DG3juvGV.js → typography-xqI7xXeK.js} +2 -2
- package/dist/{typography-DG3juvGV.js.map → typography-xqI7xXeK.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/avatar.d.ts +46 -0
- package/types/src/content-drawer/drawer.d.ts +1 -1
- package/types/src/dialog/dailog.d.ts +2 -2
- package/types/src/index.d.ts +1 -0
- package/types/src/nav-drawer/drawer.d.ts +1 -1
- package/dist/dialog-service-CdOJZ-gq.cjs.map +0 -1
- package/dist/dialog-service-b_DFS-3_.js.map +0 -1
- package/dist/tailwind.mixin-C-SZB7Or.cjs +0 -2
- package/dist/tailwind.mixin-PpOEXUY6.js +0 -43
- package/dist/teleport.component-C9ufV64S.cjs +0 -206
- package/dist/teleport.component-C9ufV64S.cjs.map +0 -1
- package/dist/teleport.component-CIrziUm4.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const E=require("lit/html.js"),m=require("lit/directive.js"),N=require("lit/async-directive.js"),k=require("./provide-BGGp1Iks.cjs"),x=require("./consume-uKrSupzs.cjs"),q=require("./litElement.mixin-
|
|
1
|
+
"use strict";const E=require("lit/html.js"),m=require("lit/directive.js"),N=require("lit/async-directive.js"),k=require("./provide-BGGp1Iks.cjs"),x=require("./consume-uKrSupzs.cjs"),q=require("./litElement.mixin-DcVBwo9t.cjs"),v=require("lit"),c=require("lit/decorators.js"),P=require("lit/directives/cache.js"),K=require("rxjs"),$=require("rxjs/operators"),j=new WeakMap;let b=0;const y=new Map,S=new WeakSet,A=()=>new Promise(n=>requestAnimationFrame(n)),L=[{transform:"translateY(100%) scale(0)",opacity:0}],T=[{transform:"translateY(-100%) scale(0)",opacity:0}],M=[{opacity:0},{opacity:1}],C=(n,t)=>{const e=n-t;return e===0?void 0:e},w=(n,t)=>{const e=n/t;return e===1?void 0:e},f={left:(n,t)=>{const e=C(n,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateX(${e}px)`}},top:(n,t)=>{const e=C(n,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateY(${e}px)`}},width:(n,t)=>{let e;t===0&&(t=1,e={width:"1px"});const i=w(n,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleX(${i})`}},height:(n,t)=>{let e;t===0&&(t=1,e={height:"1px"});const i=w(n,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleY(${i})`}}},R={duration:333,easing:"ease-in-out"},B=["left","top","width","height","opacity","color","background"],D=new WeakMap;class I extends N.AsyncDirective{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===m.PartType.CHILD)throw Error("The `animate` directive must be used in attribute position.");this.createFinished()}createFinished(){var t;(t=this.resolveFinished)==null||t.call(this),this.finished=new Promise(e=>{this.l=e})}async resolveFinished(){var t;(t=this.l)==null||t.call(this),this.l=void 0}render(t){return E.nothing}getController(){return j.get(this.u)}isDisabled(){var t;return this.options.disabled||((t=this.getController())==null?void 0:t.disabled)}update(t,[e]){var s;const i=this.u===void 0;return i&&(this.u=(s=t.options)==null?void 0:s.host,this.u.addController(this),this.u.updateComplete.then(o=>this.t=!0),this.element=t.element,D.set(this.element,this)),this.optionsOrCallback=e,(i||typeof e!="function")&&this.p(e),this.render(e)}p(t){t=t??{};const e=this.getController();e!==void 0&&((t={...e.defaultOptions,...t}).keyframeOptions={...e.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??(t.properties=B),this.options=t}m(){const t={},e=this.element.getBoundingClientRect(),i=getComputedStyle(this.element);return this.options.properties.forEach(s=>{const o=e[s]??(f[s]?void 0:i[s]),r=Number(o);t[s]=isNaN(r)?o+"":r}),t}v(){let t,e=!0;return this.options.guard&&(t=this.options.guard(),e=((i,s)=>{if(Array.isArray(i)){if(Array.isArray(s)&&s.length===i.length&&i.every((o,r)=>o===s[r]))return!1}else if(s===i)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&e&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){typeof this.optionsOrCallback=="function"&&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 e=this.O(),i=this.j(this.options.keyframeOptions,e),s=this.m();if(this.A!==void 0){const{from:o,to:r}=this.N(this.A,s,e);this.log("measured",[this.A,s,o,r]),t=this.calculateKeyframes(o,r)}else{const o=y.get(this.options.inId);if(o){y.delete(this.options.inId);const{from:r,to:h}=this.N(o,s,e);t=this.calculateKeyframes(r,h),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,b++,t.forEach(a=>a.zIndex=b)}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,i)}resetStyles(){this.P!==void 0&&(this.element.setAttribute("style",this.P??""),this.P=void 0)}commitStyles(){var t,e;this.P=this.element.getAttribute("style"),(t=this.webAnimation)==null||t.commitStyles(),(e=this.webAnimation)==null||e.cancel()}reconnected(){}async disconnected(){var e;if(!this.h||(this.options.id!==void 0&&y.set(this.options.id,this.A),this.options.out===void 0))return;if(this.prepare(),await A(),(e=this.i)==null?void 0:e.isConnected){const i=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,i),this.options.stabilizeOut){const s=this.m();this.log("stabilizing out");const o=this.A.left-s.left,r=this.A.top-s.top;getComputedStyle(this.element).position!=="static"||o===0&&r===0||(this.element.style.position="relative"),o!==0&&(this.element.style.left=o+"px"),r!==0&&(this.element.style.top=r+"px")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){var t,e;(e=(t=this.options).onStart)==null||e.call(t,this)}didFinish(t){var e,i;t&&((i=(e=this.options).onComplete)==null||i.call(e,this)),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let e=this.element.parentNode;e;e=e==null?void 0:e.parentNode){const i=D.get(e);i&&!i.isDisabled()&&i&&t.push(i)}return t}get isHostRendered(){const t=S.has(this.u);return t||this.u.updateComplete.then(()=>{S.add(this.u)}),t}j(t,e=this.O()){const i={...R};return e.forEach(s=>Object.assign(i,s.options.keyframeOptions)),Object.assign(i,t),i}N(t,e,i){t={...t},e={...e};const s=i.map(h=>h.animatingProperties).filter(h=>h!==void 0);let o=1,r=1;return s.length>0&&(s.forEach(h=>{h.width&&(o/=h.width),h.height&&(r/=h.height)}),t.left!==void 0&&e.left!==void 0&&(t.left=o*t.left,e.left=o*e.left),t.top!==void 0&&e.top!==void 0&&(t.top=r*t.top,e.top=r*e.top)),{from:t,to:e}}calculateKeyframes(t,e,i=!1){const s={},o={};let r=!1;const h={};for(const a in e){const d=t[a],p=e[a];if(a in f){const F=f[a];if(d===void 0||p===void 0)continue;const u=F(d,p);u.transform!==void 0&&(h[a]=u.value,r=!0,s.transform=`${s.transform??""} ${u.transform}`,u.overrideFrom!==void 0&&Object.assign(s,u.overrideFrom))}else d!==p&&d!==void 0&&p!==void 0&&(r=!0,s[a]=d,o[a]=p)}return s.transformOrigin=o.transformOrigin=i?"center center":"top left",this.animatingProperties=h,r?[s,o]:void 0}async animate(t,e=this.options.keyframeOptions){this.start(),this.frames=t;let i=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log("modified frames",t)),t!==void 0)){this.log("animate",[t,e]),i=!0,this.webAnimation=this.element.animate(t,e);const s=this.getController();s==null||s.add(this);try{await this.webAnimation.finished}catch{}s==null||s.remove(this)}return this.didFinish(i),i}isAnimating(){var t,e;return((t=this.webAnimation)==null?void 0:t.playState)==="running"||((e=this.webAnimation)==null?void 0:e.pending)}log(t,e){this.shouldLog&&this.isDisabled()}}const H=m.directive(I),U=["top","right","bottom","left"];class Y extends N.AsyncDirective{constructor(t){if(super(t),t.type!==m.PartType.ELEMENT)throw Error("The `position` directive must be used in attribute position.")}render(t,e){return E.nothing}update(t,[e,i]){var s;return this.u===void 0&&(this.u=(s=t.options)==null?void 0:s.host,this.u.addController(this)),this.S=t.element,this.C=e,this.F=i??["left","top","width","height"],this.render(e,i)}hostUpdated(){this.$()}$(){var o,r;const t=typeof this.C=="function"?this.C():(o=this.C)==null?void 0:o.value,e=t.offsetParent;if(t===void 0||!e)return;const i=t.getBoundingClientRect(),s=e.getBoundingClientRect();(r=this.F)==null||r.forEach(h=>{const a=U.includes(h)?i[h]-s[h]:i[h];this.S.style[h]=a+"px"})}}function O(n){let t=2166136261;for(let e=0;e<n.length;e++)t^=n.charCodeAt(e),t=16777619*t>>>0;return t.toString(16)}m.directive(Y);var z=Object.defineProperty,W=Object.getOwnPropertyDescriptor,l=(n,t,e,i)=>{for(var s,o=i>1?void 0:i?W(t,e):t,r=n.length-1;r>=0;r--)(s=n[r])&&(o=(i?s(t,e,o):s(o))||o);return i&&o&&z(t,e,o),o};const g=k.n("delay-context");exports.SchmancyDelay=class extends q.$LitElement(){constructor(){super(...arguments),this.delay=0,this.motion="flyBelow",this.rendered=!1,this.parentDelay=0,this.effectiveDelay=0,this.once=!0,this.sessionKey=""}firstUpdated(){this.observeSlotChanges(),this.updateRenderState()}disconnectedCallback(){var n;super.disconnectedCallback(),(n=this.mutationObserver)==null||n.disconnect()}observeSlotChanges(){var t;const n=(t=this.shadowRoot)==null?void 0:t.querySelector("slot");n&&(this.mutationObserver=new MutationObserver(()=>{this.sessionKey=this.generateSessionKey()}),this.mutationObserver.observe(n,{childList:!0,subtree:!0}))}getTotalSiblingDelay(n){if(!(n&&n instanceof HTMLElement))return 0;let t=0,e=n.previousElementSibling;for(;e;)e instanceof exports.SchmancyDelay&&(t+=e.delay),e=e.previousElementSibling;return n.parentElement&&(t+=this.getTotalSiblingDelay(n.parentElement)),t}updateRenderState(){if(this.sessionKey=this.generateSessionKey(),this.once&&sessionStorage.getItem(this.sessionKey)==="true")return void(this.rendered=!0);const n=this.getTotalSiblingDelay(this);this.effectiveDelay=this.delay+this.parentDelay+n,K.timer(this.effectiveDelay).pipe($.takeUntil(this.disconnecting)).subscribe(()=>{if(this.rendered=!0,this.once)try{sessionStorage.setItem(this.sessionKey,"true")}catch{}})}generateSessionKey(){const n=this.assignedElements.map(t=>t.outerHTML).join("");return this.once?O(n):""}get motionLit(){return this.motion==="flyBelow"?L:this.motion==="flyAbove"?T:M}render(){return P.cache(this.rendered?v.html`<div
|
|
2
2
|
${H({in:this.motionLit,keyframeOptions:{duration:300,easing:"ease-out"}})}
|
|
3
3
|
>
|
|
4
4
|
<slot></slot>
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
<slot></slot>
|
|
8
8
|
</section>
|
|
9
9
|
`)}},l([c.property({type:Number,reflect:!0})],exports.SchmancyDelay.prototype,"delay",2),l([c.property({type:String})],exports.SchmancyDelay.prototype,"motion",2),l([c.state()],exports.SchmancyDelay.prototype,"rendered",2),l([x.c({context:g,subscribe:!0})],exports.SchmancyDelay.prototype,"parentDelay",2),l([k.e({context:g})],exports.SchmancyDelay.prototype,"effectiveDelay",2),l([c.property({type:Boolean})],exports.SchmancyDelay.prototype,"once",2),l([c.queryAssignedElements({flatten:!0})],exports.SchmancyDelay.prototype,"assignedElements",2),exports.SchmancyDelay=l([c.customElement("schmancy-delay")],exports.SchmancyDelay),exports.delayContext=g,exports.hashContent=O;
|
|
10
|
-
//# sourceMappingURL=delay-
|
|
10
|
+
//# sourceMappingURL=delay-C0xLB5YE.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delay-dM9FOKCv.cjs","sources":["../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate-controller.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/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\tconsole.log(slotContent)\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","x","AsyncDirective","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","P","setAttribute","commitStyles","getAttribute","webAnimation","cancel","disconnected","id","out","insertBefore","stabilizeOut","position","style","remove","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","start","onFrames","didFinish","playState","pending","F","directive","ELEMENT","S","C","$","offsetParent","includes","hashContent","content","hash","charCodeAt","toString","delayContext","createContext","SchmancyDelay","$LitElement","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","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","slotContent","assignedElements","el","outerHTML","join","motionLit","flyBelow","flyAbove","fadeIn","cache","html","__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-C0xLB5YE.cjs","sources":["../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate-controller.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/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\tconsole.log(slotContent)\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","x","AsyncDirective","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","P","setAttribute","commitStyles","getAttribute","webAnimation","cancel","disconnected","id","out","insertBefore","stabilizeOut","position","style","remove","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","start","onFrames","didFinish","playState","pending","F","directive","ELEMENT","S","C","$","offsetParent","includes","hashContent","content","hash","charCodeAt","toString","delayContext","createContext","SchmancyDelay","$LitElement","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","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","slotContent","assignedElements","el","outerHTML","join","motionLit","flyBelow","flyAbove","fadeIn","cache","html","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":"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","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-C0xLB5YE.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
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import "rxjs";
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import { styleMap as y } from "lit/directives/style-map.js";
|
|
4
|
-
import { $ as u } from "./litElement.mixin-
|
|
5
|
-
import "./tailwind.mixin-
|
|
4
|
+
import { $ as u } from "./litElement.mixin-DJC1EaoO.js";
|
|
5
|
+
import "./tailwind.mixin-DxW0KQ-d.js";
|
|
6
6
|
import { css as g, html as h, render as f } from "lit";
|
|
7
7
|
import { property as d, customElement as v } from "lit/decorators.js";
|
|
8
8
|
import { when as x } from "lit/directives/when.js";
|
|
9
|
-
var w = Object.defineProperty, b = Object.getOwnPropertyDescriptor, l = (t,
|
|
10
|
-
for (var o, s =
|
|
11
|
-
return
|
|
9
|
+
var w = Object.defineProperty, b = Object.getOwnPropertyDescriptor, l = (t, i, e, n) => {
|
|
10
|
+
for (var o, s = n > 1 ? void 0 : n ? b(i, e) : i, a = t.length - 1; a >= 0; a--) (o = t[a]) && (s = (n ? o(i, e, s) : o(s)) || s);
|
|
11
|
+
return n && s && w(i, e, s), s;
|
|
12
12
|
};
|
|
13
13
|
let r = class extends u(g`
|
|
14
14
|
:host {
|
|
@@ -58,34 +58,34 @@ let r = class extends u(g`
|
|
|
58
58
|
}
|
|
59
59
|
`) {
|
|
60
60
|
constructor() {
|
|
61
|
-
super(...arguments), this.title =
|
|
61
|
+
super(...arguments), this.title = void 0, this.message = void 0, this.confirmText = "Confirm", this.cancelText = "Cancel", this.variant = "default", this.position = { x: 0, y: 0 };
|
|
62
62
|
}
|
|
63
63
|
async show(t) {
|
|
64
|
-
let
|
|
65
|
-
if ("clientX" in t)
|
|
66
|
-
else if ("touches" in t && t.touches.length)
|
|
64
|
+
let i, e;
|
|
65
|
+
if ("clientX" in t) i = t.clientX, e = t.clientY;
|
|
66
|
+
else if ("touches" in t && t.touches.length) i = t.touches[0].clientX, e = t.touches[0].clientY;
|
|
67
67
|
else {
|
|
68
|
-
const
|
|
69
|
-
|
|
68
|
+
const n = t;
|
|
69
|
+
i = n.x, e = n.y;
|
|
70
70
|
}
|
|
71
|
-
return this.position = this.calculatePosition(
|
|
72
|
-
this.resolvePromise =
|
|
71
|
+
return this.position = this.calculatePosition(i, e), this.setAttribute("active", ""), new Promise((n) => {
|
|
72
|
+
this.resolvePromise = n;
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
hide(t = !1) {
|
|
76
76
|
this.removeAttribute("active"), this.resolvePromise && (this.resolvePromise(t), this.resolvePromise = void 0);
|
|
77
77
|
}
|
|
78
|
-
calculatePosition(t,
|
|
79
|
-
return { x: t, y:
|
|
78
|
+
calculatePosition(t, i) {
|
|
79
|
+
return { x: t, y: i };
|
|
80
80
|
}
|
|
81
81
|
firstUpdated() {
|
|
82
82
|
setTimeout(() => {
|
|
83
83
|
var p;
|
|
84
84
|
const t = (p = this.shadowRoot) == null ? void 0 : p.querySelector(".dialog");
|
|
85
85
|
if (!t) return;
|
|
86
|
-
const
|
|
86
|
+
const i = t.offsetWidth, e = t.offsetHeight, n = window.innerWidth, o = window.innerHeight;
|
|
87
87
|
let { x: s, y: a } = this.position;
|
|
88
|
-
s +
|
|
88
|
+
s + i > n - 16 && (s = Math.max(16, n - i - 16)), a + e > o - 16 && (a = a > e + 32 ? a - e - 16 : 16), t.style.left = `${s}px`, t.style.top = `${a}px`;
|
|
89
89
|
}, 0);
|
|
90
90
|
}
|
|
91
91
|
handleConfirm() {
|
|
@@ -95,7 +95,7 @@ let r = class extends u(g`
|
|
|
95
95
|
this.hide(!1), this.dispatchEvent(new CustomEvent("cancel", { bubbles: !0, composed: !0 }));
|
|
96
96
|
}
|
|
97
97
|
render() {
|
|
98
|
-
const t = { left: `${this.position.x}px`, top: `${this.position.y}px` },
|
|
98
|
+
const t = { left: `${this.position.x}px`, top: `${this.position.y}px` }, i = this.querySelectorAll('[slot="content"]').length > 0;
|
|
99
99
|
return h`
|
|
100
100
|
<div class="overlay" @click=${this.handleCancel}></div>
|
|
101
101
|
|
|
@@ -103,7 +103,7 @@ let r = class extends u(g`
|
|
|
103
103
|
<schmancy-surface rounded="all" elevation="3" type="containerHigh">
|
|
104
104
|
<schmancy-form @submit=${this.handleConfirm} class="p-4">
|
|
105
105
|
${x(this.title, () => h` <schmancy-typography type="title" token="md" class="mb-2"> ${this.title} </schmancy-typography>`)}
|
|
106
|
-
${
|
|
106
|
+
${i ? h`<div class="mb-4"><slot name="content"></slot></div>` : h`<schmancy-typography type="body" class="mb-4"> ${this.message} </schmancy-typography>`}
|
|
107
107
|
|
|
108
108
|
<div class="flex justify-end gap-3">
|
|
109
109
|
<schmancy-button variant="outlined" @click=${this.handleCancel}> ${this.cancelText} </schmancy-button>
|
|
@@ -116,11 +116,11 @@ let r = class extends u(g`
|
|
|
116
116
|
`;
|
|
117
117
|
}
|
|
118
118
|
static async confirm(t) {
|
|
119
|
-
let
|
|
120
|
-
return
|
|
119
|
+
let i = document.querySelector("confirm-dialog");
|
|
120
|
+
return i || (i = document.createElement("confirm-dialog"), document.body.appendChild(i)), t.title && (i.title = t.title), t.message && (i.message = t.message), t.confirmText && (i.confirmText = t.confirmText), t.cancelText && (i.cancelText = t.cancelText), t.variant && (i.variant = t.variant), t.width && i.style.setProperty("--dialog-width", t.width), i.show(t.position);
|
|
121
121
|
}
|
|
122
|
-
static async ask(t,
|
|
123
|
-
return this.confirm({ message:
|
|
122
|
+
static async ask(t, i) {
|
|
123
|
+
return this.confirm({ message: i, position: t });
|
|
124
124
|
}
|
|
125
125
|
};
|
|
126
126
|
l([d({ type: String })], r.prototype, "title", 2), l([d({ type: String })], r.prototype, "message", 2), l([d({ type: String, attribute: "confirm-text" })], r.prototype, "confirmText", 2), l([d({ type: String, attribute: "cancel-text" })], r.prototype, "cancelText", 2), l([d({ type: String })], r.prototype, "variant", 2), r = l([v("confirm-dialog")], r);
|
|
@@ -130,45 +130,45 @@ const c = class c {
|
|
|
130
130
|
static getInstance() {
|
|
131
131
|
return c.instance || (c.instance = new c()), c.instance;
|
|
132
132
|
}
|
|
133
|
-
confirm(
|
|
134
|
-
const e = { ...c.DEFAULT_OPTIONS, ...
|
|
133
|
+
confirm(i) {
|
|
134
|
+
const e = { ...c.DEFAULT_OPTIONS, ...i };
|
|
135
135
|
e.position || (e.position = this.getCenteredPosition());
|
|
136
|
-
let
|
|
137
|
-
if (
|
|
136
|
+
let n = document.querySelector("confirm-dialog");
|
|
137
|
+
if (n || (n = document.createElement("confirm-dialog"), document.body.appendChild(n)), e.title && (n.title = e.title), e.message && (n.message = e.message), e.confirmText && (n.confirmText = e.confirmText), e.cancelText && (n.cancelText = e.cancelText), e.variant && (n.variant = e.variant), e.width && n.style.setProperty("--dialog-width", e.width), e.content) {
|
|
138
138
|
const o = document.createElement("div");
|
|
139
139
|
if (o.slot = "content", typeof e.content == "function") {
|
|
140
140
|
const s = e.content();
|
|
141
141
|
s instanceof HTMLElement ? o.appendChild(s) : f(s, o);
|
|
142
142
|
} else e.content instanceof HTMLElement ? o.appendChild(e.content) : f(e.content, o);
|
|
143
|
-
|
|
143
|
+
n.appendChild(o);
|
|
144
144
|
}
|
|
145
145
|
if (e.onConfirm) {
|
|
146
146
|
const o = (s) => {
|
|
147
|
-
e.onConfirm(),
|
|
147
|
+
e.onConfirm(), n.removeEventListener("confirm", o);
|
|
148
148
|
};
|
|
149
|
-
|
|
149
|
+
n.addEventListener("confirm", o);
|
|
150
150
|
}
|
|
151
151
|
if (e.onCancel) {
|
|
152
152
|
const o = (s) => {
|
|
153
|
-
e.onCancel(),
|
|
153
|
+
e.onCancel(), n.removeEventListener("cancel", o);
|
|
154
154
|
};
|
|
155
|
-
|
|
155
|
+
n.addEventListener("cancel", o);
|
|
156
156
|
}
|
|
157
|
-
return
|
|
157
|
+
return n.show(e.position).finally(() => {
|
|
158
158
|
if (e.content) {
|
|
159
|
-
const o =
|
|
160
|
-
o &&
|
|
159
|
+
const o = n.querySelector('[slot="content"]');
|
|
160
|
+
o && n.removeChild(o);
|
|
161
161
|
}
|
|
162
162
|
});
|
|
163
163
|
}
|
|
164
|
-
ask(
|
|
165
|
-
return this.confirm({ message:
|
|
164
|
+
ask(i, e) {
|
|
165
|
+
return this.confirm({ message: i, position: e || this.getCenteredPosition() });
|
|
166
166
|
}
|
|
167
|
-
danger(
|
|
168
|
-
return this.confirm({ ...
|
|
167
|
+
danger(i) {
|
|
168
|
+
return this.confirm({ ...i, variant: "danger" });
|
|
169
169
|
}
|
|
170
|
-
component(
|
|
171
|
-
return this.confirm({ ...e, content:
|
|
170
|
+
component(i, e = { position: this.getCenteredPosition() }) {
|
|
171
|
+
return this.confirm({ ...e, content: i, title: void 0, message: void 0 });
|
|
172
172
|
}
|
|
173
173
|
getCenteredPosition() {
|
|
174
174
|
return { x: window.innerWidth / 2, y: window.innerHeight / 2 };
|
|
@@ -176,10 +176,10 @@ const c = class c {
|
|
|
176
176
|
};
|
|
177
177
|
c.DEFAULT_OPTIONS = { title: void 0, confirmText: void 0, cancelText: "Cancel", variant: "default", width: "360px" };
|
|
178
178
|
let m = c;
|
|
179
|
-
const
|
|
179
|
+
const I = { confirm: (t) => m.getInstance().confirm(t), ask: (t, i) => m.getInstance().ask(t, i), danger: (t) => m.getInstance().danger(t), component: (t, i) => m.getInstance().component(t, i) };
|
|
180
180
|
export {
|
|
181
|
-
|
|
181
|
+
I as $,
|
|
182
182
|
r as C,
|
|
183
183
|
m as D
|
|
184
184
|
};
|
|
185
|
-
//# sourceMappingURL=dialog-service-
|
|
185
|
+
//# sourceMappingURL=dialog-service-B7mtryVn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-service-B7mtryVn.js","sources":["../src/dialog/dailog.ts","../src/dialog/dialog-service.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { when } from 'lit/directives/when.js'\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: rgba(0, 0, 0, 0.4);\n\t\tanimation: fade-in 150ms ease;\n\t}\n\n\t.dialog {\n\t\tposition: absolute;\n\t\tmax-width: var(--dialog-width);\n\t\twidth: max-content;\n\t\tanimation: pop-in 150ms ease;\n\t}\n\n\t@keyframes pop-in {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.9);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t@keyframes fade-in {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t}\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 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 * 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 ('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// Set position and make dialog visible\n\t\tthis.position = this.calculatePosition(x, y)\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// 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 * Calculate optimal position based on click coordinates\n\t */\n\tprivate calculatePosition(x: number, y: number) {\n\t\t// Default to click position\n\t\treturn { x, y }\n\t}\n\n\t/**\n\t * Handle lifecycle callback when dialog is first rendered\n\t */\n\tfirstUpdated() {\n\t\t// Optimize position after first render when we know the size\n\t\tsetTimeout(() => {\n\t\t\tconst dialog = this.shadowRoot?.querySelector('.dialog') as HTMLElement\n\t\t\tif (!dialog) return\n\n\t\t\t// Get dialog dimensions\n\t\t\tconst width = dialog.offsetWidth\n\t\t\tconst height = dialog.offsetHeight\n\n\t\t\t// Get viewport dimensions\n\t\t\tconst viewportWidth = window.innerWidth\n\t\t\tconst viewportHeight = window.innerHeight\n\n\t\t\t// Reposition if needed to keep dialog in viewport\n\t\t\tlet { x, y } = this.position\n\n\t\t\t// Make sure dialog stays within viewport horizontally\n\t\t\tif (x + width > viewportWidth - 16) {\n\t\t\t\tx = Math.max(16, viewportWidth - width - 16)\n\t\t\t}\n\n\t\t\t// Make sure dialog stays within viewport vertically\n\t\t\tif (y + height > viewportHeight - 16) {\n\t\t\t\t// Position above if space available, otherwise at top\n\t\t\t\tif (y > height + 32) {\n\t\t\t\t\ty = y - height - 16\n\t\t\t\t} else {\n\t\t\t\t\ty = 16\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Update dialog position\n\t\t\tdialog.style.left = `${x}px`\n\t\t\tdialog.style.top = `${y}px`\n\t\t}, 0)\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\trender() {\n\t\tconst dialogStyles = {\n\t\t\tleft: `${this.position.x}px`,\n\t\t\ttop: `${this.position.y}px`,\n\t\t}\n\n\t\tconst hasCustomContent = this.querySelectorAll('[slot=\"content\"]').length > 0\n\n\t\treturn html`\n\t\t\t<div class=\"overlay\" @click=${this.handleCancel}></div>\n\n\t\t\t<div class=\"dialog\" style=${styleMap(dialogStyles)} role=\"alertdialog\" aria-modal=\"true\">\n\t\t\t\t<schmancy-surface rounded=\"all\" elevation=\"3\" type=\"containerHigh\">\n\t\t\t\t\t<schmancy-form @submit=${this.handleConfirm} class=\"p-4\">\n\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\tthis.title,\n\t\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\t\thtml` <schmancy-typography type=\"title\" token=\"md\" class=\"mb-2\"> ${this.title} </schmancy-typography>`,\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=\"mb-4\"><slot name=\"content\"></slot></div>`\n\t\t\t\t\t\t\t: html`<schmancy-typography type=\"body\" class=\"mb-4\"> ${this.message} </schmancy-typography>`}\n\n\t\t\t\t\t\t<div class=\"flex justify-end gap-3\">\n\t\t\t\t\t\t\t<schmancy-button variant=\"outlined\" @click=${this.handleCancel}> ${this.cancelText} </schmancy-button>\n\n\t\t\t\t\t\t\t<schmancy-button type=\"submit\" variant=\"filled\"> ${this.confirmText} </schmancy-button>\n\t\t\t\t\t\t</div>\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\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.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 the event and message\n\t */\n\tstatic async ask(event: MouseEvent | TouchEvent, message: string): 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 { render, TemplateResult } from 'lit'\nimport { ConfirmDialog } from './dailog'\n\n/**\n * Dialog service options interface with component support\n */\nexport interface DialogOptions {\n\ttitle?: string\n\tmessage?: string\n\tconfirmText?: string\n\tcancelText?: string\n\tvariant?: 'default' | 'danger'\n\tposition: { x: number; y: number } | MouseEvent | TouchEvent\n\n\t// New options for component rendering\n\tcontent?: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult)\n\twidth?: string\n\tonConfirm?: () => void\n\tonCancel?: () => void\n}\n\n/**\n * Dialog service for centralized dialog management.\n * Provides a simple API for showing dialogs with optional custom components.\n */\nexport class DialogService {\n\tprivate static instance: DialogService\n\n\t// Default dialog options\n\tprivate static DEFAULT_OPTIONS: Partial<DialogOptions> = {\n\t\ttitle: undefined,\n\t\tconfirmText: undefined,\n\t\tcancelText: 'Cancel',\n\t\tvariant: 'default',\n\t\twidth: '360px',\n\t}\n\n\t// Private constructor for singleton pattern\n\tprivate constructor() {}\n\n\t/**\n\t * Get the singleton instance\n\t */\n\tpublic static getInstance(): DialogService {\n\t\tif (!DialogService.instance) {\n\t\t\tDialogService.instance = new DialogService()\n\t\t}\n\t\treturn DialogService.instance\n\t}\n\n\t/**\n\t * Show a confirmation dialog\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tpublic confirm(options: DialogOptions): Promise<boolean> {\n\t\t// Apply default options\n\t\tconst completeOptions = {\n\t\t\t...DialogService.DEFAULT_OPTIONS,\n\t\t\t...options,\n\t\t}\n\n\t\t// If no position is provided, center the dialog\n\t\tif (!completeOptions.position) {\n\t\t\tcompleteOptions.position = this.getCenteredPosition()\n\t\t}\n\n\t\t// Create or find the dialog\n\t\tlet dialog = document.querySelector('confirm-dialog') as ConfirmDialog\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 basic options\n\t\tif (completeOptions.title) dialog.title = completeOptions.title\n\t\tif (completeOptions.message) dialog.message = completeOptions.message\n\t\tif (completeOptions.confirmText) dialog.confirmText = completeOptions.confirmText\n\t\tif (completeOptions.cancelText) dialog.cancelText = completeOptions.cancelText\n\t\tif (completeOptions.variant) dialog.variant = completeOptions.variant\n\t\tif (completeOptions.width) dialog.style.setProperty('--dialog-width', completeOptions.width)\n\n\t\t// Handle custom content if provided\n\t\tif (completeOptions.content) {\n\t\t\tconst contentContainer = document.createElement('div')\n\t\t\tcontentContainer.slot = 'content'\n\n\t\t\tif (typeof completeOptions.content === 'function') {\n\t\t\t\tconst result = completeOptions.content()\n\t\t\t\tif (result instanceof HTMLElement) {\n\t\t\t\t\tcontentContainer.appendChild(result)\n\t\t\t\t} else {\n\t\t\t\t\trender(result, contentContainer)\n\t\t\t\t}\n\t\t\t} else if (completeOptions.content instanceof HTMLElement) {\n\t\t\t\tcontentContainer.appendChild(completeOptions.content)\n\t\t\t} else {\n\t\t\t\trender(completeOptions.content, contentContainer)\n\t\t\t}\n\n\t\t\tdialog.appendChild(contentContainer)\n\t\t}\n\n\t\t// Set up event listeners for optional callbacks\n\t\tif (completeOptions.onConfirm) {\n\t\t\tconst onConfirm = (_e: Event) => {\n\t\t\t\tcompleteOptions.onConfirm!()\n\t\t\t\tdialog.removeEventListener('confirm', onConfirm)\n\t\t\t}\n\t\t\tdialog.addEventListener('confirm', onConfirm)\n\t\t}\n\n\t\tif (completeOptions.onCancel) {\n\t\t\tconst onCancel = (_e: Event) => {\n\t\t\t\tcompleteOptions.onCancel!()\n\t\t\t\tdialog.removeEventListener('cancel', onCancel)\n\t\t\t}\n\t\t\tdialog.addEventListener('cancel', onCancel)\n\t\t}\n\n\t\t// Show dialog and return promise\n\t\treturn dialog.show(completeOptions.position).finally(() => {\n\t\t\t// Clean up the content when dialog closes\n\t\t\tif (completeOptions.content) {\n\t\t\t\tconst contentEl = dialog.querySelector('[slot=\"content\"]')\n\t\t\t\tif (contentEl) {\n\t\t\t\t\tdialog.removeChild(contentEl)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * Show a simple confirmation dialog with just a message\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tpublic ask(message: string, event?: MouseEvent | TouchEvent): Promise<boolean> {\n\t\treturn this.confirm({\n\t\t\tmessage,\n\t\t\tposition: event || this.getCenteredPosition(),\n\t\t})\n\t}\n\n\t/**\n\t * Show a danger confirmation dialog\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tpublic danger(options: Omit<DialogOptions, 'variant'>): Promise<boolean> {\n\t\treturn this.confirm({\n\t\t\t...options,\n\t\t\tvariant: 'danger',\n\t\t})\n\t}\n\n\t/**\n\t * Show a dialog with custom component content\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tpublic component(\n\t\tcontent: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult),\n\t\toptions: Omit<DialogOptions, 'content' | 'message'> = { position: this.getCenteredPosition() },\n\t): Promise<boolean> {\n\t\treturn this.confirm({\n\t\t\t...options,\n\t\t\tcontent,\n\t\t\t// Clear message if content is provided\n\t\t\ttitle: undefined,\n\t\t\tmessage: undefined,\n\t\t})\n\t}\n\n\t/**\n\t * Get a centered position for the dialog\n\t */\n\tprivate getCenteredPosition(): { x: number; y: number } {\n\t\treturn {\n\t\t\tx: window.innerWidth / 2,\n\t\t\ty: window.innerHeight / 2,\n\t\t}\n\t}\n}\n\n/**\n * Global dialog utility - provides a quick way to show dialogs\n */\nexport const $dialog = {\n\t/**\n\t * Show a confirmation dialog\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tconfirm: (options: DialogOptions): Promise<boolean> => {\n\t\treturn DialogService.getInstance().confirm(options)\n\t},\n\n\t/**\n\t * Show a simple confirmation dialog with just a message\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\task: (message: string, event?: MouseEvent | TouchEvent): Promise<boolean> => {\n\t\treturn DialogService.getInstance().ask(message, event)\n\t},\n\n\t/**\n\t * Show a danger confirmation dialog\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tdanger: (options: Omit<DialogOptions, 'variant'>): Promise<boolean> => {\n\t\treturn DialogService.getInstance().danger(options)\n\t},\n\n\t/**\n\t * Show a dialog with custom component content\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tcomponent: (\n\t\tcontent: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult),\n\t\toptions?: Omit<DialogOptions, 'content' | 'message'>,\n\t): Promise<boolean> => {\n\t\treturn DialogService.getInstance().component(content, options)\n\t},\n}\n\nexport default DialogService\n"],"names":["ConfirmDialog","$LitElement","css","constructor","super","arguments","this","title","message","confirmText","cancelText","variant","position","x","y","positionOrEvent","clientX","clientY","touches","length","pos","calculatePosition","setAttribute","Promise","resolve","resolvePromise","confirmed","removeAttribute","setTimeout","dialog","shadowRoot","querySelector","width","offsetWidth","height","offsetHeight","viewportWidth","window","innerWidth","viewportHeight","innerHeight","Math","max","style","left","top","hide","dispatchEvent","CustomEvent","bubbles","composed","handleCancel","dialogStyles","hasCustomContent","querySelectorAll","html","styleMap","handleConfirm","when","options","document","createElement","body","appendChild","setProperty","show","event","confirm","__decorateClass","property","type","String","prototype","attribute","customElement","DialogService","instance","completeOptions","DEFAULT_OPTIONS","getCenteredPosition","content","contentContainer","slot","result","HTMLElement","render","onConfirm","_e","removeEventListener","addEventListener","onCancel","finally","contentEl","removeChild","_h","$dialog","getInstance","ask","danger","component"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";require("rxjs"),require("lit/directives/class-map.js");const p=require("lit/directives/style-map.js"),f=require("./litElement.mixin-
|
|
1
|
+
"use strict";require("rxjs"),require("lit/directives/class-map.js");const p=require("lit/directives/style-map.js"),f=require("./litElement.mixin-DcVBwo9t.cjs");require("./tailwind.mixin-B9QsShMd.cjs");const a=require("lit"),m=require("lit/decorators.js"),y=require("lit/directives/when.js");var u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,d=(e,i,t,n)=>{for(var o,s=n>1?void 0:n?g(i,t):i,r=e.length-1;r>=0;r--)(o=e[r])&&(s=(n?o(i,t,s):o(s))||s);return n&&s&&u(i,t,s),s};exports.ConfirmDialog=class extends f.$LitElement(a.css`
|
|
2
2
|
:host {
|
|
3
3
|
position: fixed;
|
|
4
4
|
z-index: 10000;
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
opacity: 1;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
`){constructor(){super(...arguments),this.title=
|
|
47
|
+
`){constructor(){super(...arguments),this.title=void 0,this.message=void 0,this.confirmText="Confirm",this.cancelText="Cancel",this.variant="default",this.position={x:0,y:0}}async show(e){let i,t;if("clientX"in e)i=e.clientX,t=e.clientY;else if("touches"in e&&e.touches.length)i=e.touches[0].clientX,t=e.touches[0].clientY;else{const n=e;i=n.x,t=n.y}return this.position=this.calculatePosition(i,t),this.setAttribute("active",""),new Promise(n=>{this.resolvePromise=n})}hide(e=!1){this.removeAttribute("active"),this.resolvePromise&&(this.resolvePromise(e),this.resolvePromise=void 0)}calculatePosition(e,i){return{x:e,y:i}}firstUpdated(){setTimeout(()=>{var h;const e=(h=this.shadowRoot)==null?void 0:h.querySelector(".dialog");if(!e)return;const i=e.offsetWidth,t=e.offsetHeight,n=window.innerWidth,o=window.innerHeight;let{x:s,y:r}=this.position;s+i>n-16&&(s=Math.max(16,n-i-16)),r+t>o-16&&(r=r>t+32?r-t-16:16),e.style.left=`${s}px`,e.style.top=`${r}px`},0)}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}))}render(){const e={left:`${this.position.x}px`,top:`${this.position.y}px`},i=this.querySelectorAll('[slot="content"]').length>0;return a.html`
|
|
48
48
|
<div class="overlay" @click=${this.handleCancel}></div>
|
|
49
49
|
|
|
50
50
|
<div class="dialog" style=${p.styleMap(e)} role="alertdialog" aria-modal="true">
|
|
@@ -62,4 +62,4 @@
|
|
|
62
62
|
</schmancy-surface>
|
|
63
63
|
</div>
|
|
64
64
|
`}static async confirm(e){let i=document.querySelector("confirm-dialog");return i||(i=document.createElement("confirm-dialog"),document.body.appendChild(i)),e.title&&(i.title=e.title),e.message&&(i.message=e.message),e.confirmText&&(i.confirmText=e.confirmText),e.cancelText&&(i.cancelText=e.cancelText),e.variant&&(i.variant=e.variant),e.width&&i.style.setProperty("--dialog-width",e.width),i.show(e.position)}static async ask(e,i){return this.confirm({message:i,position:e})}},d([m.property({type:String})],exports.ConfirmDialog.prototype,"title",2),d([m.property({type:String})],exports.ConfirmDialog.prototype,"message",2),d([m.property({type:String,attribute:"confirm-text"})],exports.ConfirmDialog.prototype,"confirmText",2),d([m.property({type:String,attribute:"cancel-text"})],exports.ConfirmDialog.prototype,"cancelText",2),d([m.property({type:String})],exports.ConfirmDialog.prototype,"variant",2),exports.ConfirmDialog=d([m.customElement("confirm-dialog")],exports.ConfirmDialog);const c=class c{constructor(){}static getInstance(){return c.instance||(c.instance=new c),c.instance}confirm(i){const t={...c.DEFAULT_OPTIONS,...i};t.position||(t.position=this.getCenteredPosition());let n=document.querySelector("confirm-dialog");if(n||(n=document.createElement("confirm-dialog"),document.body.appendChild(n)),t.title&&(n.title=t.title),t.message&&(n.message=t.message),t.confirmText&&(n.confirmText=t.confirmText),t.cancelText&&(n.cancelText=t.cancelText),t.variant&&(n.variant=t.variant),t.width&&n.style.setProperty("--dialog-width",t.width),t.content){const o=document.createElement("div");if(o.slot="content",typeof t.content=="function"){const s=t.content();s instanceof HTMLElement?o.appendChild(s):a.render(s,o)}else t.content instanceof HTMLElement?o.appendChild(t.content):a.render(t.content,o);n.appendChild(o)}if(t.onConfirm){const o=s=>{t.onConfirm(),n.removeEventListener("confirm",o)};n.addEventListener("confirm",o)}if(t.onCancel){const o=s=>{t.onCancel(),n.removeEventListener("cancel",o)};n.addEventListener("cancel",o)}return n.show(t.position).finally(()=>{if(t.content){const o=n.querySelector('[slot="content"]');o&&n.removeChild(o)}})}ask(i,t){return this.confirm({message:i,position:t||this.getCenteredPosition()})}danger(i){return this.confirm({...i,variant:"danger"})}component(i,t={position:this.getCenteredPosition()}){return this.confirm({...t,content:i,title:void 0,message:void 0})}getCenteredPosition(){return{x:window.innerWidth/2,y:window.innerHeight/2}}};c.DEFAULT_OPTIONS={title:void 0,confirmText:void 0,cancelText:"Cancel",variant:"default",width:"360px"};let l=c;const v={confirm:e=>l.getInstance().confirm(e),ask:(e,i)=>l.getInstance().ask(e,i),danger:e=>l.getInstance().danger(e),component:(e,i)=>l.getInstance().component(e,i)};exports.$dialog=v,exports.DialogService=l;
|
|
65
|
-
//# sourceMappingURL=dialog-service-
|
|
65
|
+
//# sourceMappingURL=dialog-service-Bju5U74b.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-service-Bju5U74b.cjs","sources":["../src/dialog/dailog.ts","../src/dialog/dialog-service.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { when } from 'lit/directives/when.js'\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: rgba(0, 0, 0, 0.4);\n\t\tanimation: fade-in 150ms ease;\n\t}\n\n\t.dialog {\n\t\tposition: absolute;\n\t\tmax-width: var(--dialog-width);\n\t\twidth: max-content;\n\t\tanimation: pop-in 150ms ease;\n\t}\n\n\t@keyframes pop-in {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.9);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t@keyframes fade-in {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t}\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 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 * 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 ('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// Set position and make dialog visible\n\t\tthis.position = this.calculatePosition(x, y)\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// 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 * Calculate optimal position based on click coordinates\n\t */\n\tprivate calculatePosition(x: number, y: number) {\n\t\t// Default to click position\n\t\treturn { x, y }\n\t}\n\n\t/**\n\t * Handle lifecycle callback when dialog is first rendered\n\t */\n\tfirstUpdated() {\n\t\t// Optimize position after first render when we know the size\n\t\tsetTimeout(() => {\n\t\t\tconst dialog = this.shadowRoot?.querySelector('.dialog') as HTMLElement\n\t\t\tif (!dialog) return\n\n\t\t\t// Get dialog dimensions\n\t\t\tconst width = dialog.offsetWidth\n\t\t\tconst height = dialog.offsetHeight\n\n\t\t\t// Get viewport dimensions\n\t\t\tconst viewportWidth = window.innerWidth\n\t\t\tconst viewportHeight = window.innerHeight\n\n\t\t\t// Reposition if needed to keep dialog in viewport\n\t\t\tlet { x, y } = this.position\n\n\t\t\t// Make sure dialog stays within viewport horizontally\n\t\t\tif (x + width > viewportWidth - 16) {\n\t\t\t\tx = Math.max(16, viewportWidth - width - 16)\n\t\t\t}\n\n\t\t\t// Make sure dialog stays within viewport vertically\n\t\t\tif (y + height > viewportHeight - 16) {\n\t\t\t\t// Position above if space available, otherwise at top\n\t\t\t\tif (y > height + 32) {\n\t\t\t\t\ty = y - height - 16\n\t\t\t\t} else {\n\t\t\t\t\ty = 16\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Update dialog position\n\t\t\tdialog.style.left = `${x}px`\n\t\t\tdialog.style.top = `${y}px`\n\t\t}, 0)\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\trender() {\n\t\tconst dialogStyles = {\n\t\t\tleft: `${this.position.x}px`,\n\t\t\ttop: `${this.position.y}px`,\n\t\t}\n\n\t\tconst hasCustomContent = this.querySelectorAll('[slot=\"content\"]').length > 0\n\n\t\treturn html`\n\t\t\t<div class=\"overlay\" @click=${this.handleCancel}></div>\n\n\t\t\t<div class=\"dialog\" style=${styleMap(dialogStyles)} role=\"alertdialog\" aria-modal=\"true\">\n\t\t\t\t<schmancy-surface rounded=\"all\" elevation=\"3\" type=\"containerHigh\">\n\t\t\t\t\t<schmancy-form @submit=${this.handleConfirm} class=\"p-4\">\n\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\tthis.title,\n\t\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\t\thtml` <schmancy-typography type=\"title\" token=\"md\" class=\"mb-2\"> ${this.title} </schmancy-typography>`,\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=\"mb-4\"><slot name=\"content\"></slot></div>`\n\t\t\t\t\t\t\t: html`<schmancy-typography type=\"body\" class=\"mb-4\"> ${this.message} </schmancy-typography>`}\n\n\t\t\t\t\t\t<div class=\"flex justify-end gap-3\">\n\t\t\t\t\t\t\t<schmancy-button variant=\"outlined\" @click=${this.handleCancel}> ${this.cancelText} </schmancy-button>\n\n\t\t\t\t\t\t\t<schmancy-button type=\"submit\" variant=\"filled\"> ${this.confirmText} </schmancy-button>\n\t\t\t\t\t\t</div>\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\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.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 the event and message\n\t */\n\tstatic async ask(event: MouseEvent | TouchEvent, message: string): 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 { render, TemplateResult } from 'lit'\nimport { ConfirmDialog } from './dailog'\n\n/**\n * Dialog service options interface with component support\n */\nexport interface DialogOptions {\n\ttitle?: string\n\tmessage?: string\n\tconfirmText?: string\n\tcancelText?: string\n\tvariant?: 'default' | 'danger'\n\tposition: { x: number; y: number } | MouseEvent | TouchEvent\n\n\t// New options for component rendering\n\tcontent?: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult)\n\twidth?: string\n\tonConfirm?: () => void\n\tonCancel?: () => void\n}\n\n/**\n * Dialog service for centralized dialog management.\n * Provides a simple API for showing dialogs with optional custom components.\n */\nexport class DialogService {\n\tprivate static instance: DialogService\n\n\t// Default dialog options\n\tprivate static DEFAULT_OPTIONS: Partial<DialogOptions> = {\n\t\ttitle: undefined,\n\t\tconfirmText: undefined,\n\t\tcancelText: 'Cancel',\n\t\tvariant: 'default',\n\t\twidth: '360px',\n\t}\n\n\t// Private constructor for singleton pattern\n\tprivate constructor() {}\n\n\t/**\n\t * Get the singleton instance\n\t */\n\tpublic static getInstance(): DialogService {\n\t\tif (!DialogService.instance) {\n\t\t\tDialogService.instance = new DialogService()\n\t\t}\n\t\treturn DialogService.instance\n\t}\n\n\t/**\n\t * Show a confirmation dialog\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tpublic confirm(options: DialogOptions): Promise<boolean> {\n\t\t// Apply default options\n\t\tconst completeOptions = {\n\t\t\t...DialogService.DEFAULT_OPTIONS,\n\t\t\t...options,\n\t\t}\n\n\t\t// If no position is provided, center the dialog\n\t\tif (!completeOptions.position) {\n\t\t\tcompleteOptions.position = this.getCenteredPosition()\n\t\t}\n\n\t\t// Create or find the dialog\n\t\tlet dialog = document.querySelector('confirm-dialog') as ConfirmDialog\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 basic options\n\t\tif (completeOptions.title) dialog.title = completeOptions.title\n\t\tif (completeOptions.message) dialog.message = completeOptions.message\n\t\tif (completeOptions.confirmText) dialog.confirmText = completeOptions.confirmText\n\t\tif (completeOptions.cancelText) dialog.cancelText = completeOptions.cancelText\n\t\tif (completeOptions.variant) dialog.variant = completeOptions.variant\n\t\tif (completeOptions.width) dialog.style.setProperty('--dialog-width', completeOptions.width)\n\n\t\t// Handle custom content if provided\n\t\tif (completeOptions.content) {\n\t\t\tconst contentContainer = document.createElement('div')\n\t\t\tcontentContainer.slot = 'content'\n\n\t\t\tif (typeof completeOptions.content === 'function') {\n\t\t\t\tconst result = completeOptions.content()\n\t\t\t\tif (result instanceof HTMLElement) {\n\t\t\t\t\tcontentContainer.appendChild(result)\n\t\t\t\t} else {\n\t\t\t\t\trender(result, contentContainer)\n\t\t\t\t}\n\t\t\t} else if (completeOptions.content instanceof HTMLElement) {\n\t\t\t\tcontentContainer.appendChild(completeOptions.content)\n\t\t\t} else {\n\t\t\t\trender(completeOptions.content, contentContainer)\n\t\t\t}\n\n\t\t\tdialog.appendChild(contentContainer)\n\t\t}\n\n\t\t// Set up event listeners for optional callbacks\n\t\tif (completeOptions.onConfirm) {\n\t\t\tconst onConfirm = (_e: Event) => {\n\t\t\t\tcompleteOptions.onConfirm!()\n\t\t\t\tdialog.removeEventListener('confirm', onConfirm)\n\t\t\t}\n\t\t\tdialog.addEventListener('confirm', onConfirm)\n\t\t}\n\n\t\tif (completeOptions.onCancel) {\n\t\t\tconst onCancel = (_e: Event) => {\n\t\t\t\tcompleteOptions.onCancel!()\n\t\t\t\tdialog.removeEventListener('cancel', onCancel)\n\t\t\t}\n\t\t\tdialog.addEventListener('cancel', onCancel)\n\t\t}\n\n\t\t// Show dialog and return promise\n\t\treturn dialog.show(completeOptions.position).finally(() => {\n\t\t\t// Clean up the content when dialog closes\n\t\t\tif (completeOptions.content) {\n\t\t\t\tconst contentEl = dialog.querySelector('[slot=\"content\"]')\n\t\t\t\tif (contentEl) {\n\t\t\t\t\tdialog.removeChild(contentEl)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * Show a simple confirmation dialog with just a message\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tpublic ask(message: string, event?: MouseEvent | TouchEvent): Promise<boolean> {\n\t\treturn this.confirm({\n\t\t\tmessage,\n\t\t\tposition: event || this.getCenteredPosition(),\n\t\t})\n\t}\n\n\t/**\n\t * Show a danger confirmation dialog\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tpublic danger(options: Omit<DialogOptions, 'variant'>): Promise<boolean> {\n\t\treturn this.confirm({\n\t\t\t...options,\n\t\t\tvariant: 'danger',\n\t\t})\n\t}\n\n\t/**\n\t * Show a dialog with custom component content\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tpublic component(\n\t\tcontent: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult),\n\t\toptions: Omit<DialogOptions, 'content' | 'message'> = { position: this.getCenteredPosition() },\n\t): Promise<boolean> {\n\t\treturn this.confirm({\n\t\t\t...options,\n\t\t\tcontent,\n\t\t\t// Clear message if content is provided\n\t\t\ttitle: undefined,\n\t\t\tmessage: undefined,\n\t\t})\n\t}\n\n\t/**\n\t * Get a centered position for the dialog\n\t */\n\tprivate getCenteredPosition(): { x: number; y: number } {\n\t\treturn {\n\t\t\tx: window.innerWidth / 2,\n\t\t\ty: window.innerHeight / 2,\n\t\t}\n\t}\n}\n\n/**\n * Global dialog utility - provides a quick way to show dialogs\n */\nexport const $dialog = {\n\t/**\n\t * Show a confirmation dialog\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tconfirm: (options: DialogOptions): Promise<boolean> => {\n\t\treturn DialogService.getInstance().confirm(options)\n\t},\n\n\t/**\n\t * Show a simple confirmation dialog with just a message\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\task: (message: string, event?: MouseEvent | TouchEvent): Promise<boolean> => {\n\t\treturn DialogService.getInstance().ask(message, event)\n\t},\n\n\t/**\n\t * Show a danger confirmation dialog\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tdanger: (options: Omit<DialogOptions, 'variant'>): Promise<boolean> => {\n\t\treturn DialogService.getInstance().danger(options)\n\t},\n\n\t/**\n\t * Show a dialog with custom component content\n\t * @returns Promise that resolves to true (confirm) or false (cancel)\n\t */\n\tcomponent: (\n\t\tcontent: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult),\n\t\toptions?: Omit<DialogOptions, 'content' | 'message'>,\n\t): Promise<boolean> => {\n\t\treturn DialogService.getInstance().component(content, options)\n\t},\n}\n\nexport default DialogService\n"],"names":["ConfirmDialog","$LitElement","css","constructor","super","arguments","this","title","message","confirmText","cancelText","variant","position","x","y","show","positionOrEvent","clientX","clientY","touches","length","pos","calculatePosition","setAttribute","Promise","resolve","resolvePromise","confirmed","removeAttribute","firstUpdated","setTimeout","dialog","shadowRoot","querySelector","width","offsetWidth","height","offsetHeight","viewportWidth","window","innerWidth","viewportHeight","innerHeight","Math","max","style","left","top","handleConfirm","hide","dispatchEvent","CustomEvent","bubbles","composed","render","dialogStyles","hasCustomContent","querySelectorAll","html","handleCancel","styleMap","when","options","document","createElement","body","appendChild","setProperty","event","confirm","__decorateClass","property","type","String","prototype","attribute","customElement","DialogService","instance","completeOptions","DEFAULT_OPTIONS","getCenteredPosition","content","contentContainer","slot","result","HTMLElement","onConfirm","_e","removeEventListener","addEventListener","onCancel","finally","contentEl","removeChild","_r","$dialog","getInstance","ask","danger","component"],"mappings":"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"}
|
package/dist/dialog.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./dialog-service-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./dialog-service-Bju5U74b.cjs");exports.$dialog=e.$dialog,Object.defineProperty(exports,"ConfirmDialog",{enumerable:!0,get:()=>e.ConfirmDialog}),exports.DialogService=e.DialogService;
|
|
2
2
|
//# sourceMappingURL=dialog.cjs.map
|
package/dist/dialog.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "rxjs";
|
|
2
2
|
import { classMap as m } from "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
|
-
import { $ as c } from "./litElement.mixin-
|
|
5
|
-
import "./tailwind.mixin-
|
|
4
|
+
import { $ as c } from "./litElement.mixin-DJC1EaoO.js";
|
|
5
|
+
import "./tailwind.mixin-DxW0KQ-d.js";
|
|
6
6
|
import { css as h, html as f } from "lit";
|
|
7
7
|
import { property as d, customElement as w } from "lit/decorators.js";
|
|
8
8
|
var v = Object.defineProperty, g = Object.getOwnPropertyDescriptor, n = (t, i, e, a) => {
|
|
@@ -100,4 +100,4 @@ let o = class extends c(h`
|
|
|
100
100
|
}
|
|
101
101
|
};
|
|
102
102
|
n([d({ type: String })], o.prototype, "outline", 2), n([d({ reflect: !0, type: String })], o.prototype, "orientation", 2), n([d({ type: String })], o.prototype, "grow", 2), o = n([w("schmancy-divider")], o);
|
|
103
|
-
//# sourceMappingURL=divider-
|
|
103
|
+
//# sourceMappingURL=divider-B5CC311v.js.map
|