@mhmo91/schmancy 0.2.65 → 0.2.70
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-C1UstA51.js → animated-text-Drgel89a.js} +3 -3
- package/dist/{animated-text-C1UstA51.js.map → animated-text-Drgel89a.js.map} +1 -1
- package/dist/{animated-text-k30n5ffs.cjs → animated-text-ZUEQQHIA.cjs} +2 -2
- package/dist/{animated-text-k30n5ffs.cjs.map → animated-text-ZUEQQHIA.cjs.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-TDK2-3sf.js → area.component-BWniFh72.js} +4 -4
- package/dist/{area.component-TDK2-3sf.js.map → area.component-BWniFh72.js.map} +1 -1
- package/dist/{area.component-CDyk4TQX.cjs → area.component-Cfvbb333.cjs} +2 -2
- package/dist/{area.component-CDyk4TQX.cjs.map → area.component-Cfvbb333.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-BdqEtlUZ.js → autocomplete-CaqTiWXc.js} +3 -3
- package/dist/autocomplete-CaqTiWXc.js.map +1 -0
- package/dist/{autocomplete-Cwn1Bwj7.cjs → autocomplete-pDDovAE3.cjs} +2 -2
- package/dist/autocomplete-pDDovAE3.cjs.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.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-g8T27Ih6.cjs → checkbox-9lpB6PGQ.cjs} +3 -3
- package/dist/{checkbox-kWG8GEGF.js.map → checkbox-9lpB6PGQ.cjs.map} +1 -1
- package/dist/{checkbox-kWG8GEGF.js → checkbox-BClcyH7K.js} +4 -4
- package/dist/checkbox-BClcyH7K.js.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-8G-fC-BB.cjs → chips-C5BbSIAo.cjs} +2 -2
- package/dist/chips-C5BbSIAo.cjs.map +1 -0
- package/dist/{chips-CcVWASnN.js → chips-CECbQF-e.js} +3 -3
- package/dist/chips-CECbQF-e.js.map +1 -0
- 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/consume-Bb7_UzYd.cjs +2 -0
- package/dist/consume-Bb7_UzYd.cjs.map +1 -0
- package/dist/{consume-DSKPc5vj.js → consume-fRVATvdE.js} +8 -8
- package/dist/consume-fRVATvdE.js.map +1 -0
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/context-CHWQnKZ-.cjs +2 -0
- package/dist/{context-BATZj31H.cjs.map → context-CHWQnKZ-.cjs.map} +1 -1
- package/dist/context-YZmnxxIi.js +6 -0
- package/dist/{context-5nmahssp.js.map → context-YZmnxxIi.js.map} +1 -1
- package/dist/{date-range-DmaG6n9K.js → date-range-BhYqCSZp.js} +3 -3
- package/dist/{date-range-DmaG6n9K.js.map → date-range-BhYqCSZp.js.map} +1 -1
- package/dist/{date-range-DT5Gc-8v.cjs → date-range-J-JT-8ba.cjs} +2 -2
- package/dist/{date-range-DT5Gc-8v.cjs.map → date-range-J-JT-8ba.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-Dcxd6izx.cjs → delay-CpKz9qoJ.cjs} +2 -2
- package/dist/delay-CpKz9qoJ.cjs.map +1 -0
- package/dist/{delay-3BI6NTLb.js → delay-tojIaYXv.js} +6 -6
- package/dist/delay-tojIaYXv.js.map +1 -0
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{divider-2FKklOvJ.cjs → divider-CjeXqpY8.cjs} +2 -2
- package/dist/{divider-2FKklOvJ.cjs.map → divider-CjeXqpY8.cjs.map} +1 -1
- package/dist/{divider-BoSDlAmp.js → divider-Dp6Usk1d.js} +3 -3
- package/dist/{divider-BoSDlAmp.js.map → divider-Dp6Usk1d.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{flex-Rc813PWc.js → flex-CLZyrhZ_.js} +2 -2
- package/dist/{flex-Rc813PWc.js.map → flex-CLZyrhZ_.js.map} +1 -1
- package/dist/{flex-wH1HLvFA.cjs → flex-lEIKuhdY.cjs} +2 -2
- package/dist/{flex-wH1HLvFA.cjs.map → flex-lEIKuhdY.cjs.map} +1 -1
- package/dist/{form-k_nFgiSi.js → form-BfV5JUNV.js} +2 -2
- package/dist/{form-k_nFgiSi.js.map → form-BfV5JUNV.js.map} +1 -1
- package/dist/{form-C4cWM0em.cjs → form-Bnzb6YbT.cjs} +2 -2
- package/dist/{form-C4cWM0em.cjs.map → form-Bnzb6YbT.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-ClskDmBq.js → icon-CS7L7dYv.js} +3 -3
- package/dist/{icon-ClskDmBq.js.map → icon-CS7L7dYv.js.map} +1 -1
- package/dist/{icon-CLgg4kma.cjs → icon-DXyemmCt.cjs} +2 -2
- package/dist/{icon-CLgg4kma.cjs.map → icon-DXyemmCt.cjs.map} +1 -1
- package/dist/{icon-button-BkNubwVr.cjs → icon-button-CWUpvLIc.cjs} +2 -2
- package/dist/{icon-button-BkNubwVr.cjs.map → icon-button-CWUpvLIc.cjs.map} +1 -1
- package/dist/{icon-button-DTmOv8Ny.js → icon-button-GJ_fOvRP.js} +3 -3
- package/dist/{icon-button-DTmOv8Ny.js.map → icon-button-GJ_fOvRP.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index-CuY8m6ta.js.map +1 -1
- package/dist/index-DyJ0oDpR.cjs.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +33 -33
- package/dist/{input-DMV5Kg7d.js → input-BOity9fs.js} +4 -4
- package/dist/input-BOity9fs.js.map +1 -0
- package/dist/{input-BqSrvFYo.cjs → input-DP4Mi51t.cjs} +3 -3
- package/dist/input-DP4Mi51t.cjs.map +1 -0
- 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-CZlRzIBI.js → list-CGCKKnfk.js} +5 -5
- package/dist/{list-CZlRzIBI.js.map → list-CGCKKnfk.js.map} +1 -1
- package/dist/{list-CkruFXk2.cjs → list-CwampsMO.cjs} +2 -2
- package/dist/{list-CkruFXk2.cjs.map → list-CwampsMO.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-AiJtwDLp.cjs → litElement.mixin-C-c-2rdW.cjs} +2 -2
- package/dist/{litElement.mixin-AiJtwDLp.cjs.map → litElement.mixin-C-c-2rdW.cjs.map} +1 -1
- package/dist/{litElement.mixin-BSd9c8Xf.js → litElement.mixin-vAR9BIyD.js} +2 -2
- package/dist/{litElement.mixin-BSd9c8Xf.js.map → litElement.mixin-vAR9BIyD.js.map} +1 -1
- package/dist/{menu-D5N7PhDE.js → menu-BW3qO2A1.js} +13 -13
- package/dist/{menu-D5N7PhDE.js.map → menu-BW3qO2A1.js.map} +1 -1
- package/dist/{menu-TbqjiUg2.cjs → menu-Dem8Myie.cjs} +3 -3
- package/dist/{menu-TbqjiUg2.cjs.map → menu-Dem8Myie.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-J1ewccBk.cjs → option-C-gBYdv8.cjs} +2 -2
- package/dist/{option-J1ewccBk.cjs.map → option-C-gBYdv8.cjs.map} +1 -1
- package/dist/{option-Bc31vPPI.js → option-DCA4GidB.js} +2 -2
- package/dist/{option-Bc31vPPI.js.map → option-DCA4GidB.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{outlet-eGbH9Byt.cjs → outlet-6MP6k9wf.cjs} +3 -3
- package/dist/{outlet-eGbH9Byt.cjs.map → outlet-6MP6k9wf.cjs.map} +1 -1
- package/dist/{outlet-DWLojgRf.js → outlet-jd-bRdrF.js} +21 -21
- package/dist/{outlet-DWLojgRf.js.map → outlet-jd-bRdrF.js.map} +1 -1
- package/dist/{payment-card-form-V5STwP-8.cjs → payment-card-form-BZiEUnKn.cjs} +2 -2
- package/dist/payment-card-form-BZiEUnKn.cjs.map +1 -0
- package/dist/{payment-card-form-Ctv_rIi1.js → payment-card-form-CInoqXsW.js} +3 -3
- package/dist/payment-card-form-CInoqXsW.js.map +1 -0
- package/dist/provide-BLSgVvMJ.js +105 -0
- package/dist/provide-BLSgVvMJ.js.map +1 -0
- package/dist/provide-DSU87U5x.cjs +2 -0
- package/dist/provide-DSU87U5x.cjs.map +1 -0
- package/dist/{radio-group-DPqaJa00.cjs → radio-group-B4Of8FBA.cjs} +2 -2
- package/dist/{radio-group-DPqaJa00.cjs.map → radio-group-B4Of8FBA.cjs.map} +1 -1
- package/dist/{radio-group-Pq_gbHVb.js → radio-group-C98aizGb.js} +2 -2
- package/dist/{radio-group-Pq_gbHVb.js.map → radio-group-C98aizGb.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/redispatch-event-vOGO-T8W.js.map +1 -1
- package/dist/redispatch-event-yBlefmeU.cjs.map +1 -1
- package/dist/{select-CENAt67G.cjs → select-BTSVFloo.cjs} +2 -2
- package/dist/{select-CENAt67G.cjs.map → select-BTSVFloo.cjs.map} +1 -1
- package/dist/{select-CmNozz2O.js → select-Iem1gGwb.js} +3 -3
- package/dist/{select-CmNozz2O.js.map → select-Iem1gGwb.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-CpxhwF3c.cjs → sheet-BgbV6g2F.cjs} +2 -2
- package/dist/{sheet-CpxhwF3c.cjs.map → sheet-BgbV6g2F.cjs.map} +1 -1
- package/dist/{sheet-DEnU17L8.js → sheet-WsaFx6-i.js} +6 -6
- package/dist/{sheet-DEnU17L8.js.map → sheet-WsaFx6-i.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-Bwzc2P35.js → slider-BOXmzToY.js} +3 -3
- package/dist/{slider-Bwzc2P35.js.map → slider-BOXmzToY.js.map} +1 -1
- package/dist/{slider-0Uk2z9y_.cjs → slider-CR2itGT0.cjs} +2 -2
- package/dist/{slider-0Uk2z9y_.cjs.map → slider-CR2itGT0.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-N0DFwOAl.js → spinner-BKVFC3qz.js} +18 -18
- package/dist/{spinner-N0DFwOAl.js.map → spinner-BKVFC3qz.js.map} +1 -1
- package/dist/{spinner-Azsjno5r.cjs → spinner-Do8LNQoW.cjs} +6 -6
- package/dist/{spinner-Azsjno5r.cjs.map → spinner-Do8LNQoW.cjs.map} +1 -1
- package/dist/{surface-KPpEcbzd.cjs → surface-CfAH2c9U.cjs} +2 -2
- package/dist/{surface-KPpEcbzd.cjs.map → surface-CfAH2c9U.cjs.map} +1 -1
- package/dist/{surface-yaUvZzID.js → surface-Ci1xR_sr.js} +4 -4
- package/dist/{surface-yaUvZzID.js.map → surface-Ci1xR_sr.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/table-379iohVA.cjs +6 -0
- package/dist/{table-CBJ26MIg.cjs.map → table-379iohVA.cjs.map} +1 -1
- package/dist/table-iRPRoThv.js +21 -0
- package/dist/{table-Ci3U3uYV.js.map → table-iRPRoThv.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-group-CXTZCyMb.cjs → tabs-group-BTUwCflk.cjs} +2 -2
- package/dist/{tabs-group-CXTZCyMb.cjs.map → tabs-group-BTUwCflk.cjs.map} +1 -1
- package/dist/{tabs-group-Ccy51d97.js → tabs-group-BYuZ4dIc.js} +4 -4
- package/dist/{tabs-group-Ccy51d97.js.map → tabs-group-BYuZ4dIc.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-B7_ZpVpC.cjs +2 -0
- package/dist/{tailwind.mixin-04vClyRW.cjs.map → tailwind.mixin-B7_ZpVpC.cjs.map} +1 -1
- package/dist/tailwind.mixin-DxmWMnBQ.js +43 -0
- package/dist/{tailwind.mixin-B1TvmOuJ.js.map → tailwind.mixin-DxmWMnBQ.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/{teleport.component-Dj5lNIaQ.cjs → teleport.component-14_ksDPx.cjs} +13 -13
- package/dist/{teleport.component-Dj5lNIaQ.cjs.map → teleport.component-14_ksDPx.cjs.map} +1 -1
- package/dist/{teleport.component-QBoSpyzC.js → teleport.component-D2o6a-Yh.js} +84 -84
- package/dist/{teleport.component-QBoSpyzC.js.map → teleport.component-D2o6a-Yh.js.map} +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-B0Q1ND3D.js → textarea-C5i4amtn.js} +2 -2
- package/dist/{textarea-B0Q1ND3D.js.map → textarea-C5i4amtn.js.map} +1 -1
- package/dist/{textarea-Ct0tCiZE.cjs → textarea-DFEdjfVW.cjs} +2 -2
- package/dist/{textarea-Ct0tCiZE.cjs.map → textarea-DFEdjfVW.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-Xe0AKvu4.js → theme-button-BFWwX__i.js} +2 -2
- package/dist/{theme-button-Xe0AKvu4.js.map → theme-button-BFWwX__i.js.map} +1 -1
- package/dist/{theme-button-CZICh6mv.cjs → theme-button-DsGEWHcv.cjs} +2 -2
- package/dist/{theme-button-CZICh6mv.cjs.map → theme-button-DsGEWHcv.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-DM774Lyr.cjs → theme.component-BTfo42Lo.cjs} +2 -2
- package/dist/theme.component-BTfo42Lo.cjs.map +1 -0
- package/dist/{theme.component-dphOzgia.js → theme.component-GuFArxKG.js} +3 -3
- package/dist/theme.component-GuFArxKG.js.map +1 -0
- package/dist/theme.js +1 -1
- package/dist/{tree-DAEL96xl.cjs → tree-DJDSDjnb.cjs} +2 -2
- package/dist/{tree-DAEL96xl.cjs.map → tree-DJDSDjnb.cjs.map} +1 -1
- package/dist/{tree-Dham7fla.js → tree-XbaraF4_.js} +2 -2
- package/dist/{tree-Dham7fla.js.map → tree-XbaraF4_.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-BBRroqBP.cjs → typewriter-BF7pgYH2.cjs} +2 -2
- package/dist/typewriter-BF7pgYH2.cjs.map +1 -0
- package/dist/{typewriter-CJijgjI7.js → typewriter-DGO4rddH.js} +5 -5
- package/dist/typewriter-DGO4rddH.js.map +1 -0
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-B1vPffcD.js → typography-CLPItwOI.js} +2 -2
- package/dist/{typography-B1vPffcD.js.map → typography-CLPItwOI.js.map} +1 -1
- package/dist/{typography-_8EJsERF.cjs → typography-DVm5bpVi.cjs} +2 -2
- package/dist/{typography-_8EJsERF.cjs.map → typography-DVm5bpVi.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +7 -2
- package/dist/autocomplete-BdqEtlUZ.js.map +0 -1
- package/dist/autocomplete-Cwn1Bwj7.cjs.map +0 -1
- package/dist/checkbox-g8T27Ih6.cjs.map +0 -1
- package/dist/chips-8G-fC-BB.cjs.map +0 -1
- package/dist/chips-CcVWASnN.js.map +0 -1
- package/dist/consume-DSKPc5vj.js.map +0 -1
- package/dist/consume-Di0U0iBU.cjs +0 -2
- package/dist/consume-Di0U0iBU.cjs.map +0 -1
- package/dist/context-5nmahssp.js +0 -6
- package/dist/context-BATZj31H.cjs +0 -2
- package/dist/delay-3BI6NTLb.js.map +0 -1
- package/dist/delay-Dcxd6izx.cjs.map +0 -1
- package/dist/input-BqSrvFYo.cjs.map +0 -1
- package/dist/input-DMV5Kg7d.js.map +0 -1
- package/dist/payment-card-form-Ctv_rIi1.js.map +0 -1
- package/dist/payment-card-form-V5STwP-8.cjs.map +0 -1
- package/dist/provide-_VUNOf1R.cjs +0 -2
- package/dist/provide-_VUNOf1R.cjs.map +0 -1
- package/dist/provide-kj6-udep.js +0 -105
- package/dist/provide-kj6-udep.js.map +0 -1
- package/dist/table-CBJ26MIg.cjs +0 -6
- package/dist/table-Ci3U3uYV.js +0 -21
- package/dist/tailwind.mixin-04vClyRW.cjs +0 -2
- package/dist/tailwind.mixin-B1TvmOuJ.js +0 -43
- package/dist/theme.component-DM774Lyr.cjs.map +0 -1
- package/dist/theme.component-dphOzgia.js.map +0 -1
- package/dist/typewriter-BBRroqBP.cjs.map +0 -1
- package/dist/typewriter-CJijgjI7.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consume-fRVATvdE.js","sources":["../../../../.yarn/berry/cache/@lit-context-npm-1.1.4-1126595664-10c0.zip/node_modules/@lit/context/lib/controllers/context-consumer.js","../../../../.yarn/berry/cache/@lit-context-npm-1.1.4-1126595664-10c0.zip/node_modules/@lit/context/lib/decorators/consume.js"],"sourcesContent":["import{ContextRequestEvent as t}from\"../context-request-event.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s{constructor(t,s,i,h){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(t,s)=>{this.unsubscribe&&(this.unsubscribe!==s&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=t,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(t,s)),this.unsubscribe=s},this.host=t,void 0!==s.context){const t=s;this.context=t.context,this.callback=t.callback,this.subscribe=t.subscribe??!1}else this.context=s,this.callback=i,this.subscribe=h??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new t(this.context,this.host,this.t,this.subscribe))}}export{s as ContextConsumer};\n//# sourceMappingURL=context-consumer.js.map\n","import{ContextConsumer as t}from\"../controllers/context-consumer.js\";\n/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function c({context:c,subscribe:e}){return(o,n)=>{\"object\"==typeof n?n.addInitializer((function(){new t(this,{context:c,callback:t=>{o.set.call(this,t)},subscribe:e})})):o.constructor.addInitializer((o=>{new t(o,{context:c,callback:t=>{o[n]=t},subscribe:e})}))}}export{c as consume};\n//# sourceMappingURL=consume.js.map\n"],"names":["s","t","i","h","this","subscribe","provided","value","unsubscribe","host","requestUpdate","callback","context","addController","hostConnected","dispatchRequest","dispatchEvent","c","e","o","n","addInitializer","set","call","constructor"],"mappings":";AAKG,MAAMA,EAAAA;AAAAA,EAAE,YAAYC,GAAED,GAAEE,GAAEC,GAAAA;AAAG,QAAGC,KAAKC,YAAAA,IAAaD,KAAKE,WAAAA,IAAYF,KAAKG,QAAAA,QAAaH,KAAKH,IAAE,CAACA,GAAED;AAAKI,WAAKI,gBAAcJ,KAAKI,gBAAcR,MAAII,KAAKE,WAAS,IAAGF,KAAKI,YAAeJ,IAAAA,KAAKC,aAAWD,KAAKI,YAAAA,IAAeJ,KAAKG,QAAMN,GAAEG,KAAKK,KAAKC,cAAAA,GAAgBN,KAAKE,YAAAA,CAAWF,KAAKC,cAAYD,KAAKE,eAAYF,KAAKO,YAAUP,KAAKO,SAASV,GAAED,CAAII,IAAAA,KAAKI,cAAYR;AAAAA,IAAA,GAAGI,KAAKK,OAAKR,GAAWD,EAAEY,YAAbX,QAAqB;AAAC,YAAMA,IAAED;AAAEI,WAAKQ,UAAQX,EAAEW,SAAQR,KAAKO,WAASV,EAAEU,UAASP,KAAKC,YAAUJ,EAAEI;IAAa,MAAMD,MAAKQ,UAAQZ,GAAEI,KAAKO,WAAST,GAAEE,KAAKC,YAAUF;AAAMC,SAAKK,KAAKI,cAAcT,IAAAA;AAAAA,EAAK;AAAA,EAAC,gBAAAU;AAAgBV,SAAKW,gBAAiB;AAAA,EAAA;AAAA,EAAC,mBAAmBX;AAAAA,SAAKI,gBAAcJ,KAAKI,YAAAA,GAAcJ,KAAKI,cAAY;AAAA,EAAO;AAAA,EAAC,kBAAAO;AAAkBX,SAAKK,KAAKO,cAAc,IAAIf,EAAEG,KAAKQ,SAAQR,KAAKK,MAAKL,KAAKH,GAAEG,KAAKC;EAAW;ACA9wB;AAAA,SAASY,IAAGL,SAAQK,GAAEZ,WAAUa,EAAI,GAAA;AAAA,SAAM,CAACC,GAAEC;AAAK,IAAiBA,OAAAA,KAAjB,WAAmBA,EAAEC,eAAc,WAAA;AAAa,UAAIpB,EAAEG,MAAK,EAACQ,SAAQK,GAAEN,UAASV,CAAAA,MAAIkB;AAAAA,QAAAA,EAAEG,IAAIC,KAAKnB,MAAKH;SAAII,WAAUa;IAAI,CAAGC,IAAAA,EAAEK,YAAYH,eAAgBF,CAAAA,MAAAA;AAAI,UAAIlB,EAAEkB,GAAE,EAACP,SAAQK,GAAEN,UAASV,CAAAA,MAAIkB;AAAAA,QAAAA,EAAEC,KAAGnB;AAAAA,MAAA,GAAGI,WAAUa,EAAI,CAAA;AAAA,IAAA,CAAA;AAAA,EAAA;AAAG;","x_google_ignoreList":[0,1]}
|
package/dist/content-drawer.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-14_ksDPx.cjs");Object.defineProperty(exports,"SchmancyContentDrawer",{enumerable:!0,get:()=>e.SchmancyContentDrawer}),exports.SchmancyContentDrawerID=e.SchmancyContentDrawerID,Object.defineProperty(exports,"SchmancyContentDrawerMain",{enumerable:!0,get:()=>e.SchmancyContentDrawerMain}),exports.SchmancyContentDrawerMaxHeight=e.SchmancyContentDrawerMaxHeight,exports.SchmancyContentDrawerMinWidth=e.SchmancyContentDrawerMinWidth,Object.defineProperty(exports,"SchmancyContentDrawerSheet",{enumerable:!0,get:()=>e.SchmancyContentDrawerSheet}),exports.SchmancyContentDrawerSheetMode=e.SchmancyContentDrawerSheetMode,exports.SchmancyContentDrawerSheetState=e.SchmancyContentDrawerSheetState,exports.schmancyContentDrawer=e.schmancyContentDrawer;
|
|
2
2
|
//# sourceMappingURL=content-drawer.cjs.map
|
package/dist/content-drawer.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { e as n, b as t, f as r, c, d as h, g as S, S as o, a as s, s as m } from "./teleport.component-
|
|
1
|
+
import { e as n, b as t, f as r, c, d as h, g as S, S as o, a as s, s as m } from "./teleport.component-D2o6a-Yh.js";
|
|
2
2
|
export {
|
|
3
3
|
n as SchmancyContentDrawer,
|
|
4
4
|
t as SchmancyContentDrawerID,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-
|
|
1
|
+
{"version":3,"file":"context-CHWQnKZ-.cjs","sources":["../src/surface/context.ts"],"sourcesContent":["import { createContext } from '@lit/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n"],"names":["SchmancySurfaceTypeContext"],"mappings":"mBAEaA,sCAA0D,SAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-
|
|
1
|
+
{"version":3,"file":"context-YZmnxxIi.js","sources":["../src/surface/context.ts"],"sourcesContent":["import { createContext } from '@lit/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n"],"names":["SchmancySurfaceTypeContext","createContext"],"mappings":";AAEa,MAAAA,IAA6BC,EAA6B;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "rxjs";
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
|
-
import { $ as y } from "./litElement.mixin-
|
|
5
|
-
import "./tailwind.mixin-
|
|
4
|
+
import { $ as y } from "./litElement.mixin-vAR9BIyD.js";
|
|
5
|
+
import "./tailwind.mixin-DxmWMnBQ.js";
|
|
6
6
|
import { html as u } from "lit";
|
|
7
7
|
import { property as c, query as l, state as g, customElement as f } from "lit/decorators.js";
|
|
8
8
|
import { ifDefined as h } from "lit/directives/if-defined.js";
|
|
@@ -163,4 +163,4 @@ let r = class extends y() {
|
|
|
163
163
|
}
|
|
164
164
|
};
|
|
165
165
|
m([c({ type: String })], r.prototype, "type", 2), m([c({ type: Object })], r.prototype, "dateFrom", 2), m([c({ type: Object })], r.prototype, "dateTo", 2), m([c({ type: String })], r.prototype, "minDate", 2), m([c({ type: String })], r.prototype, "maxDate", 2), m([l("#checkin")], r.prototype, "checkInInput", 2), m([l("#checkout")], r.prototype, "checkOutInput", 2), m([l("schmancy-menu")], r.prototype, "schmancyMenu", 2), m([g()], r.prototype, "selectedDateRange", 2), r = m([f("schmancy-date-range")], r);
|
|
166
|
-
//# sourceMappingURL=date-range-
|
|
166
|
+
//# sourceMappingURL=date-range-BhYqCSZp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-DmaG6n9K.js","sources":["../src/date-range/date-utils.ts","../src/date-range/date-range.ts"],"sourcesContent":["import moment from 'moment'\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * Ensures that a date string conforms to a specific format.\n * If the date is already in the correct format, it returns the original string.\n * If the date is in a different format, it attempts to convert it to the specified format.\n * If the date is invalid or cannot be converted, it returns null.\n *\n * @param dateString The date string to validate and format.\n * @param expectedFormat The expected date format (e.g., 'YYYY-MM-DD', 'YYYY-MM-DDTHH:mm').\n * @returns The formatted date string, or null if the date is invalid.\n */\nfunction enforceDateFormat(dateString: string | undefined, expectedFormat: DateFormat): string | null {\n\tif (!dateString) {\n\t\treturn null // Or handle the undefined case differently if needed\n\t}\n\n\tconst parsedDate = moment(dateString)\n\n\tif (!parsedDate.isValid()) {\n\t\treturn null // Date is invalid\n\t}\n\n\treturn parsedDate.format(expectedFormat)\n}\n\n/**\n * Validates if the initial date range values are in the expected format.\n *\n * @param dateFrom The dateFrom value to validate.\n * @param dateTo The dateTo value to validate.\n * @param expectedFormat The expected date format.\n * @returns An object indicating whether each date is valid, and the formatted date or null if invalid.\n */\nfunction validateInitialDateRange(\n\tdateFrom: string | undefined,\n\tdateTo: string | undefined,\n\texpectedFormat: DateFormat,\n): {\n\tdateFrom: string | null\n\tdateTo: string | null\n\tisValid: boolean\n} {\n\tconst formattedDateFrom = enforceDateFormat(dateFrom, expectedFormat)\n\tconst formattedDateTo = enforceDateFormat(dateTo, expectedFormat)\n\n\tconst isValid = formattedDateFrom !== null && formattedDateTo !== null\n\n\treturn {\n\t\tdateFrom: formattedDateFrom,\n\t\tdateTo: formattedDateTo,\n\t\tisValid,\n\t}\n}\n\nexport { validateInitialDateRange }\n","import { $LitElement } from '@mixins/index'\nimport { SchmancyInputChangeEvent } from '@schmancy/input'\nimport SchmancyMenu from '@schmancy/menu/menu'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport moment from 'moment'\nimport { validateInitialDateRange } from './date-utils' // Import the utility\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * A date range selector that supports presets and manual date input.\n */\n@customElement('schmancy-date-range')\nexport default class SchmancyDateRange extends $LitElement() {\n\t// Either \"date\" or \"datetime-local\"\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\n\t@property({ type: Object }) dateFrom!: { label: string; value: string }\n\t@property({ type: Object }) dateTo!: { label: string; value: string }\n\n\t// Optional min/max constraints\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t@query('#checkin') checkInInput!: HTMLInputElement\n\t@query('#checkout') checkOutInput!: HTMLInputElement\n\n\t// The <schmancy-menu> that displays presets + manual date inputs\n\t@query('schmancy-menu') schmancyMenu!: SchmancyMenu\n\n\t// Display text in the trigger button\n\t@state() selectedDateRange: string = 'Today'\n\n\t// Preset date range definitions\n\tpresetRanges!: Array<{\n\t\tlabel: string\n\t\trange: { dateFrom: string; dateTo: string }\n\t\tstep: moment.unitOfTime.DurationConstructor\n\t}>\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\n\t\t// Validate and format initial date range\n\t\tconst dateFormat = this.getDateFormat() as DateFormat\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconsole.error('Invalid initial date range. Falling back to default.')\n\t\t\t// Handle invalid initial dates (e.g., set to default values, display an error)\n\t\t\tconst now = moment().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t}\n\t}\n\t/**\n\t * Update the internal date range and fire a 'change' event to notify external code.\n\t */\n\tprivate setDateRange(fromDate: string, toDate: string) {\n\t\tthis.dateFrom.value = fromDate\n\t\tthis.dateTo.value = toDate\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<TSchmancDateRangePayload>('change', {\n\t\t\t\tdetail: { dateFrom: fromDate, dateTo: toDate },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true, // If you want it to pass shadow boundaries\n\t\t\t}),\n\t\t)\n\t\tthis.requestUpdate()\n\t}\n\tupdated(changedProps: Map<string, unknown>) {\n\t\tif (changedProps.has('type')) {\n\t\t\t// Re-init presets if \"type\" changes from date -> datetime\n\t\t\tthis.initPresetRanges()\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\t/**\n\t * Format strings for the internal <input> and for display text.\n\t */\n\tprivate getDateFormat(): string {\n\t\treturn this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'\n\t}\n\tprivate getDisplayFormat(): string {\n\t\treturn this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A'\n\t}\n\n\t/**\n\t * Build up a list of preset ranges (yesterday, today, etc.).\n\t */\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tthis.presetRanges = [\n\t\t\t{\n\t\t\t\tlabel: 'Yesterday',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().subtract(1, 'days').endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Today',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Tomorrow',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().add(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().add(1, 'days').endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().startOf('isoWeek').format(format),\n\t\t\t\t\tdateTo: moment().endOf('isoWeek').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'week',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Last Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().subtract(1, 'weeks').startOf('isoWeek').format(format),\n\t\t\t\t\tdateTo: moment().subtract(1, 'weeks').endOf('isoWeek').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'week',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Month',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().startOf('month').format(format),\n\t\t\t\t\tdateTo: moment().endOf('month').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'month',\n\t\t\t},\n\t\t\t// Add more if desired (e.g. \"Last Month,\" \"Custom,\" etc.)\n\t\t]\n\t}\n\n\t/**\n\t * Based on the current dateFrom/dateTo, see if it matches a preset.\n\t * Otherwise display a \"Custom\" range: \"Jan 01, 2023 - Jan 07, 2023\".\n\t */\n\tprivate updateSelectedDateRange() {\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\t// Construct a custom label\n\t\t\tconst fromMoment = moment(this.dateFrom.value)\n\t\t\tconst toMoment = moment(this.dateTo.value)\n\t\t\tconsole.log(fromMoment.format('HH:mm'), toMoment.format('HH:mm'), fromMoment.format('HH:mm'))\n\t\t\tif (fromMoment.isSame(toMoment, 'day')) {\n\t\t\t\tthis.selectedDateRange = fromMoment.format('MMM DD, YYYY')\n\t\t\t\t// append the time if fromMoment is not the start of the day and toMoment is not the end of the day\n\t\t\t\tif (fromMoment.format('HH:mm') !== '00:00' || toMoment.format('HH:mm') !== '23:59') {\n\t\t\t\t\tthis.selectedDateRange += ` ${fromMoment.format('HH:mm')}:${toMoment.format('HH:mm')}`\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst fromStr = fromMoment.format(this.getDisplayFormat())\n\t\t\t\tconst toStr = toMoment.format(this.getDisplayFormat())\n\t\t\t\tthis.selectedDateRange = `${fromStr} - ${toStr}`\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Called when user selects a preset from the list.\n\t * Updates date range and closes the menu.\n\t */\n\tprivate handlePresetChange(label: string) {\n\t\tconst preset = this.presetRanges.find(range => range.label === label)\n\t\tif (!preset) return\n\t\tconst { dateFrom, dateTo } = preset.range\n\t\tthis.setDateRange(dateFrom, dateTo)\n\t\tthis.selectedDateRange = label\n\t\tthis.schmancyMenu.open = false\n\t}\n\n\t/**\n\t * Applies the date range from the inputs.\n\t * Closes the menu when done.\n\t */\n\tprivate handleDateRangeChange() {\n\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\tthis.updateSelectedDateRange()\n\t\tthis.schmancyMenu.open = false\n\t}\n\n\t/**\n\t * Shift the current date range forward or backward by the same number of days.\n\t * If the range is 7 days wide, shift 7 days, etc.\n\t */\n\tprivate shiftDateRange(factor: number) {\n\t\tconst format = this.getDateFormat()\n\t\tconst currentDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\t\tconst newDateFrom = moment(this.dateFrom.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\t\tconst newDateTo = moment(this.dateTo.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\n\t\tthis.setDateRange(newDateFrom, newDateTo)\n\t\tthis.updateSelectedDateRange()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<!-- schmancy-menu typically provides a slot=\"button\" for the trigger,\n and then projects the menu items inside. -->\n\t\t\t<schmancy-menu class=\"z-100 w-max\" role=\"menu\" aria-label=\"Date range presets and custom input\">\n\t\t\t\t<!-- The toggle/trigger slot -->\n\t\t\t\t<schmancy-grid slot=\"button\" align=\"center\" cols=\"auto 1fr auto\">\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"Shift date range backward\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tthis.shiftDateRange(-1)\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tarrow_left\n\t\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\tclass=\"w-max\"\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t.ariaExpanded=${String(this.schmancyMenu?.open || false)}\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.selectedDateRange || 'Date range'}\n\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"Shift date range forward\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tthis.shiftDateRange(1)\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tarrow_right\n\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</schmancy-grid>\n\n\t\t\t\t<!-- The menu surface: presets + manual date selection -->\n\t\t\t\t${this.presetRanges.map(\n\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t<schmancy-menu-item role=\"menuitem\" class=\"w-full\" @click=${() => this.handlePresetChange(preset.label)}>\n\t\t\t\t\t\t\t<schmancy-grid class=\"w-full\" align=\"center\" cols=\"auto 1fr auto\"> ${preset.label} </schmancy-grid>\n\t\t\t\t\t\t</schmancy-menu-item>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\n\t\t\t\t<!-- Manual date range inputs + \"Apply\" button -->\n\t\t\t\t<schmancy-grid gap=\"sm\" flow=\"row\" class=\"p-4\">\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tid=\"checkin\"\n\t\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t\t.label=${this.dateFrom.label}\n\t\t\t\t\t\t.value=${this.dateFrom.value}\n\t\t\t\t\t\tmin=${ifDefined(this.minDate)}\n\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\tconst fmt = this.getDateFormat()\n\t\t\t\t\t\t\tconst selectedDate = moment(event.detail.value, fmt).format(fmt)\n\t\t\t\t\t\t\tthis.dateFrom.value = selectedDate\n\t\t\t\t\t\t\t// Update the checkout input's min attribute:\n\t\t\t\t\t\t\tthis.checkOutInput.setAttribute('min', selectedDate)\n\t\t\t\t\t\t}}\n\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tid=\"checkout\"\n\t\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t\t.label=${this.dateTo.label}\n\t\t\t\t\t\t.value=${this.dateTo.value}\n\t\t\t\t\t\tmin=${ifDefined(this.dateFrom.value)}\n\t\t\t\t\t\tmax=${ifDefined(this.maxDate)}\n\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\tconst fmt = this.getDateFormat()\n\t\t\t\t\t\t\tconst selectedDate = moment(event.detail.value, fmt).format(fmt)\n\t\t\t\t\t\t\tthis.dateTo.value = selectedDate\n\t\t\t\t\t\t}}\n\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tApply\n\t\t\t\t\t</schmancy-button>\n\t\t\t\t</schmancy-grid>\n\t\t\t</schmancy-menu>\n\t\t`\n\t}\n}\n\n/**\n * The payload for a date range change event.\n */\nexport type TSchmancDateRangePayload = {\n\tdateFrom?: string\n\tdateTo?: string\n}\n\n/**\n * A custom event fired when the date range is updated.\n */\nexport type SchmancyDateRangeChangeEvent = CustomEvent<TSchmancDateRangePayload>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range': SchmancyDateRange\n\t}\n}\n"],"names":["enforceDateFormat","dateString","expectedFormat","parsedDate","moment","isValid","format","SchmancyDateRange","$LitElement","super","arguments","this","type","selectedDateRange","connectedCallback","initPresetRanges","dateFormat","getDateFormat","validatedRange","dateFrom","dateTo","formattedDateFrom","formattedDateTo","value","updateSelectedDateRange","now","fromDate","toDate","dispatchEvent","CustomEvent","detail","bubbles","composed","requestUpdate","changedProps","has","getDisplayFormat","presetRanges","label","range","subtract","startOf","endOf","step","add","preset","find","p","fromMoment","toMoment","isSame","fromStr","toStr","setDateRange","schmancyMenu","open","handleDateRangeChange","factor","currentDiff","diff","newDateFrom","newDateTo","render","html","e","preventDefault","shiftDateRange","String","map","handlePresetChange","ifDefined","minDate","event","stopPropagation","fmt","selectedDate","checkOutInput","setAttribute","maxDate","__decorateClass","property","prototype","Object","query","state","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-range-BhYqCSZp.js","sources":["../src/date-range/date-utils.ts","../src/date-range/date-range.ts"],"sourcesContent":["import moment from 'moment'\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * Ensures that a date string conforms to a specific format.\n * If the date is already in the correct format, it returns the original string.\n * If the date is in a different format, it attempts to convert it to the specified format.\n * If the date is invalid or cannot be converted, it returns null.\n *\n * @param dateString The date string to validate and format.\n * @param expectedFormat The expected date format (e.g., 'YYYY-MM-DD', 'YYYY-MM-DDTHH:mm').\n * @returns The formatted date string, or null if the date is invalid.\n */\nfunction enforceDateFormat(dateString: string | undefined, expectedFormat: DateFormat): string | null {\n\tif (!dateString) {\n\t\treturn null // Or handle the undefined case differently if needed\n\t}\n\n\tconst parsedDate = moment(dateString)\n\n\tif (!parsedDate.isValid()) {\n\t\treturn null // Date is invalid\n\t}\n\n\treturn parsedDate.format(expectedFormat)\n}\n\n/**\n * Validates if the initial date range values are in the expected format.\n *\n * @param dateFrom The dateFrom value to validate.\n * @param dateTo The dateTo value to validate.\n * @param expectedFormat The expected date format.\n * @returns An object indicating whether each date is valid, and the formatted date or null if invalid.\n */\nfunction validateInitialDateRange(\n\tdateFrom: string | undefined,\n\tdateTo: string | undefined,\n\texpectedFormat: DateFormat,\n): {\n\tdateFrom: string | null\n\tdateTo: string | null\n\tisValid: boolean\n} {\n\tconst formattedDateFrom = enforceDateFormat(dateFrom, expectedFormat)\n\tconst formattedDateTo = enforceDateFormat(dateTo, expectedFormat)\n\n\tconst isValid = formattedDateFrom !== null && formattedDateTo !== null\n\n\treturn {\n\t\tdateFrom: formattedDateFrom,\n\t\tdateTo: formattedDateTo,\n\t\tisValid,\n\t}\n}\n\nexport { validateInitialDateRange }\n","import { $LitElement } from '@mixins/index'\nimport { SchmancyInputChangeEvent } from '@schmancy/input'\nimport SchmancyMenu from '@schmancy/menu/menu'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport moment from 'moment'\nimport { validateInitialDateRange } from './date-utils' // Import the utility\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * A date range selector that supports presets and manual date input.\n */\n@customElement('schmancy-date-range')\nexport default class SchmancyDateRange extends $LitElement() {\n\t// Either \"date\" or \"datetime-local\"\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\n\t@property({ type: Object }) dateFrom!: { label: string; value: string }\n\t@property({ type: Object }) dateTo!: { label: string; value: string }\n\n\t// Optional min/max constraints\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t@query('#checkin') checkInInput!: HTMLInputElement\n\t@query('#checkout') checkOutInput!: HTMLInputElement\n\n\t// The <schmancy-menu> that displays presets + manual date inputs\n\t@query('schmancy-menu') schmancyMenu!: SchmancyMenu\n\n\t// Display text in the trigger button\n\t@state() selectedDateRange: string = 'Today'\n\n\t// Preset date range definitions\n\tpresetRanges!: Array<{\n\t\tlabel: string\n\t\trange: { dateFrom: string; dateTo: string }\n\t\tstep: moment.unitOfTime.DurationConstructor\n\t}>\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\n\t\t// Validate and format initial date range\n\t\tconst dateFormat = this.getDateFormat() as DateFormat\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconsole.error('Invalid initial date range. Falling back to default.')\n\t\t\t// Handle invalid initial dates (e.g., set to default values, display an error)\n\t\t\tconst now = moment().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t}\n\t}\n\t/**\n\t * Update the internal date range and fire a 'change' event to notify external code.\n\t */\n\tprivate setDateRange(fromDate: string, toDate: string) {\n\t\tthis.dateFrom.value = fromDate\n\t\tthis.dateTo.value = toDate\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<TSchmancDateRangePayload>('change', {\n\t\t\t\tdetail: { dateFrom: fromDate, dateTo: toDate },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true, // If you want it to pass shadow boundaries\n\t\t\t}),\n\t\t)\n\t\tthis.requestUpdate()\n\t}\n\tupdated(changedProps: Map<string, unknown>) {\n\t\tif (changedProps.has('type')) {\n\t\t\t// Re-init presets if \"type\" changes from date -> datetime\n\t\t\tthis.initPresetRanges()\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\t/**\n\t * Format strings for the internal <input> and for display text.\n\t */\n\tprivate getDateFormat(): string {\n\t\treturn this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'\n\t}\n\tprivate getDisplayFormat(): string {\n\t\treturn this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A'\n\t}\n\n\t/**\n\t * Build up a list of preset ranges (yesterday, today, etc.).\n\t */\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tthis.presetRanges = [\n\t\t\t{\n\t\t\t\tlabel: 'Yesterday',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().subtract(1, 'days').endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Today',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Tomorrow',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().add(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().add(1, 'days').endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().startOf('isoWeek').format(format),\n\t\t\t\t\tdateTo: moment().endOf('isoWeek').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'week',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Last Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().subtract(1, 'weeks').startOf('isoWeek').format(format),\n\t\t\t\t\tdateTo: moment().subtract(1, 'weeks').endOf('isoWeek').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'week',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Month',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().startOf('month').format(format),\n\t\t\t\t\tdateTo: moment().endOf('month').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'month',\n\t\t\t},\n\t\t\t// Add more if desired (e.g. \"Last Month,\" \"Custom,\" etc.)\n\t\t]\n\t}\n\n\t/**\n\t * Based on the current dateFrom/dateTo, see if it matches a preset.\n\t * Otherwise display a \"Custom\" range: \"Jan 01, 2023 - Jan 07, 2023\".\n\t */\n\tprivate updateSelectedDateRange() {\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\t// Construct a custom label\n\t\t\tconst fromMoment = moment(this.dateFrom.value)\n\t\t\tconst toMoment = moment(this.dateTo.value)\n\t\t\tconsole.log(fromMoment.format('HH:mm'), toMoment.format('HH:mm'), fromMoment.format('HH:mm'))\n\t\t\tif (fromMoment.isSame(toMoment, 'day')) {\n\t\t\t\tthis.selectedDateRange = fromMoment.format('MMM DD, YYYY')\n\t\t\t\t// append the time if fromMoment is not the start of the day and toMoment is not the end of the day\n\t\t\t\tif (fromMoment.format('HH:mm') !== '00:00' || toMoment.format('HH:mm') !== '23:59') {\n\t\t\t\t\tthis.selectedDateRange += ` ${fromMoment.format('HH:mm')}:${toMoment.format('HH:mm')}`\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst fromStr = fromMoment.format(this.getDisplayFormat())\n\t\t\t\tconst toStr = toMoment.format(this.getDisplayFormat())\n\t\t\t\tthis.selectedDateRange = `${fromStr} - ${toStr}`\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Called when user selects a preset from the list.\n\t * Updates date range and closes the menu.\n\t */\n\tprivate handlePresetChange(label: string) {\n\t\tconst preset = this.presetRanges.find(range => range.label === label)\n\t\tif (!preset) return\n\t\tconst { dateFrom, dateTo } = preset.range\n\t\tthis.setDateRange(dateFrom, dateTo)\n\t\tthis.selectedDateRange = label\n\t\tthis.schmancyMenu.open = false\n\t}\n\n\t/**\n\t * Applies the date range from the inputs.\n\t * Closes the menu when done.\n\t */\n\tprivate handleDateRangeChange() {\n\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\tthis.updateSelectedDateRange()\n\t\tthis.schmancyMenu.open = false\n\t}\n\n\t/**\n\t * Shift the current date range forward or backward by the same number of days.\n\t * If the range is 7 days wide, shift 7 days, etc.\n\t */\n\tprivate shiftDateRange(factor: number) {\n\t\tconst format = this.getDateFormat()\n\t\tconst currentDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\t\tconst newDateFrom = moment(this.dateFrom.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\t\tconst newDateTo = moment(this.dateTo.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\n\t\tthis.setDateRange(newDateFrom, newDateTo)\n\t\tthis.updateSelectedDateRange()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<!-- schmancy-menu typically provides a slot=\"button\" for the trigger,\n and then projects the menu items inside. -->\n\t\t\t<schmancy-menu class=\"z-100 w-max\" role=\"menu\" aria-label=\"Date range presets and custom input\">\n\t\t\t\t<!-- The toggle/trigger slot -->\n\t\t\t\t<schmancy-grid slot=\"button\" align=\"center\" cols=\"auto 1fr auto\">\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"Shift date range backward\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tthis.shiftDateRange(-1)\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tarrow_left\n\t\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\tclass=\"w-max\"\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t.ariaExpanded=${String(this.schmancyMenu?.open || false)}\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.selectedDateRange || 'Date range'}\n\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"Shift date range forward\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tthis.shiftDateRange(1)\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tarrow_right\n\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</schmancy-grid>\n\n\t\t\t\t<!-- The menu surface: presets + manual date selection -->\n\t\t\t\t${this.presetRanges.map(\n\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t<schmancy-menu-item role=\"menuitem\" class=\"w-full\" @click=${() => this.handlePresetChange(preset.label)}>\n\t\t\t\t\t\t\t<schmancy-grid class=\"w-full\" align=\"center\" cols=\"auto 1fr auto\"> ${preset.label} </schmancy-grid>\n\t\t\t\t\t\t</schmancy-menu-item>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\n\t\t\t\t<!-- Manual date range inputs + \"Apply\" button -->\n\t\t\t\t<schmancy-grid gap=\"sm\" flow=\"row\" class=\"p-4\">\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tid=\"checkin\"\n\t\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t\t.label=${this.dateFrom.label}\n\t\t\t\t\t\t.value=${this.dateFrom.value}\n\t\t\t\t\t\tmin=${ifDefined(this.minDate)}\n\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\tconst fmt = this.getDateFormat()\n\t\t\t\t\t\t\tconst selectedDate = moment(event.detail.value, fmt).format(fmt)\n\t\t\t\t\t\t\tthis.dateFrom.value = selectedDate\n\t\t\t\t\t\t\t// Update the checkout input's min attribute:\n\t\t\t\t\t\t\tthis.checkOutInput.setAttribute('min', selectedDate)\n\t\t\t\t\t\t}}\n\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tid=\"checkout\"\n\t\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t\t.label=${this.dateTo.label}\n\t\t\t\t\t\t.value=${this.dateTo.value}\n\t\t\t\t\t\tmin=${ifDefined(this.dateFrom.value)}\n\t\t\t\t\t\tmax=${ifDefined(this.maxDate)}\n\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\tconst fmt = this.getDateFormat()\n\t\t\t\t\t\t\tconst selectedDate = moment(event.detail.value, fmt).format(fmt)\n\t\t\t\t\t\t\tthis.dateTo.value = selectedDate\n\t\t\t\t\t\t}}\n\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tApply\n\t\t\t\t\t</schmancy-button>\n\t\t\t\t</schmancy-grid>\n\t\t\t</schmancy-menu>\n\t\t`\n\t}\n}\n\n/**\n * The payload for a date range change event.\n */\nexport type TSchmancDateRangePayload = {\n\tdateFrom?: string\n\tdateTo?: string\n}\n\n/**\n * A custom event fired when the date range is updated.\n */\nexport type SchmancyDateRangeChangeEvent = CustomEvent<TSchmancDateRangePayload>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range': SchmancyDateRange\n\t}\n}\n"],"names":["enforceDateFormat","dateString","expectedFormat","parsedDate","moment","isValid","format","SchmancyDateRange","$LitElement","super","arguments","this","type","selectedDateRange","connectedCallback","initPresetRanges","dateFormat","getDateFormat","validatedRange","dateFrom","dateTo","formattedDateFrom","formattedDateTo","value","updateSelectedDateRange","now","fromDate","toDate","dispatchEvent","CustomEvent","detail","bubbles","composed","requestUpdate","changedProps","has","getDisplayFormat","presetRanges","label","range","subtract","startOf","endOf","step","add","preset","find","p","fromMoment","toMoment","isSame","fromStr","toStr","setDateRange","schmancyMenu","open","handleDateRangeChange","factor","currentDiff","diff","newDateFrom","newDateTo","render","html","e","preventDefault","shiftDateRange","String","map","handlePresetChange","ifDefined","minDate","event","stopPropagation","fmt","selectedDate","checkOutInput","setAttribute","maxDate","__decorateClass","property","prototype","Object","query","state","customElement"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./litElement.mixin-
|
|
1
|
+
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./litElement.mixin-C-c-2rdW.cjs");require("./tailwind.mixin-B7_ZpVpC.cjs");const m=require("lit"),c=require("lit/decorators.js"),h=require("lit/directives/if-defined.js"),s=require("moment");function u(t,e){if(!t)return null;const a=s(t);return a.isValid()?a.format(e):null}var y=Object.defineProperty,g=Object.getOwnPropertyDescriptor,d=(t,e,a,n)=>{for(var r,i=n>1?void 0:n?g(e,a):e,l=t.length-1;l>=0;l--)(r=t[l])&&(i=(n?r(e,a,i):r(i))||i);return n&&i&&y(e,a,i),i};let o=class extends p.$LitElement(){constructor(){super(...arguments),this.type="date",this.selectedDateRange="Today"}connectedCallback(){super.connectedCallback(),this.initPresetRanges();const t=this.getDateFormat(),e=function(a,n,r){const i=u(a,r),l=u(n,r);return{dateFrom:i,dateTo:l,isValid:i!==null&&l!==null}}(this.dateFrom.value,this.dateTo.value,t);if(e.isValid)this.dateFrom.value=e.dateFrom,this.dateTo.value=e.dateTo,this.updateSelectedDateRange();else{const a=s().format(t);this.dateFrom.value=a,this.dateTo.value=a}}setDateRange(t,e){this.dateFrom.value=t,this.dateTo.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{dateFrom:t,dateTo:e},bubbles:!0,composed:!0})),this.requestUpdate()}updated(t){t.has("type")&&(this.initPresetRanges(),this.updateSelectedDateRange())}getDateFormat(){return this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm"}getDisplayFormat(){return this.type==="date"?"MMM DD, YYYY":"MMM DD, YYYY hh:mm A"}initPresetRanges(){const t=this.getDateFormat();this.presetRanges=[{label:"Yesterday",range:{dateFrom:s().subtract(1,"days").startOf("day").format(t),dateTo:s().subtract(1,"days").endOf("day").format(t)},step:"day"},{label:"Today",range:{dateFrom:s().startOf("day").format(t),dateTo:s().endOf("day").format(t)},step:"day"},{label:"Tomorrow",range:{dateFrom:s().add(1,"days").startOf("day").format(t),dateTo:s().add(1,"days").endOf("day").format(t)},step:"day"},{label:"This Week",range:{dateFrom:s().startOf("isoWeek").format(t),dateTo:s().endOf("isoWeek").format(t)},step:"week"},{label:"Last Week",range:{dateFrom:s().subtract(1,"weeks").startOf("isoWeek").format(t),dateTo:s().subtract(1,"weeks").endOf("isoWeek").format(t)},step:"week"},{label:"This Month",range:{dateFrom:s().startOf("month").format(t),dateTo:s().endOf("month").format(t)},step:"month"}]}updateSelectedDateRange(){const t=this.presetRanges.find(e=>e.range.dateFrom===this.dateFrom.value&&e.range.dateTo===this.dateTo.value);if(t)this.selectedDateRange=t.label;else{const e=s(this.dateFrom.value),a=s(this.dateTo.value);if(e.isSame(a,"day"))this.selectedDateRange=e.format("MMM DD, YYYY"),e.format("HH:mm")==="00:00"&&a.format("HH:mm")==="23:59"||(this.selectedDateRange+=` ${e.format("HH:mm")}:${a.format("HH:mm")}`);else{const n=e.format(this.getDisplayFormat()),r=a.format(this.getDisplayFormat());this.selectedDateRange=`${n} - ${r}`}}}handlePresetChange(t){const e=this.presetRanges.find(r=>r.label===t);if(!e)return;const{dateFrom:a,dateTo:n}=e.range;this.setDateRange(a,n),this.selectedDateRange=t,this.schmancyMenu.open=!1}handleDateRangeChange(){this.setDateRange(this.dateFrom.value,this.dateTo.value),this.updateSelectedDateRange(),this.schmancyMenu.open=!1}shiftDateRange(t){const e=this.getDateFormat(),a=s(this.dateTo.value).diff(s(this.dateFrom.value),"days")||1,n=s(this.dateFrom.value).add(t*a,"days").format(e),r=s(this.dateTo.value).add(t*a,"days").format(e);this.setDateRange(n,r),this.updateSelectedDateRange()}render(){var t;return m.html`
|
|
2
2
|
<!-- schmancy-menu typically provides a slot="button" for the trigger,
|
|
3
3
|
and then projects the menu items inside. -->
|
|
4
4
|
<schmancy-menu class="z-100 w-max" role="menu" aria-label="Date range presets and custom input">
|
|
@@ -69,4 +69,4 @@
|
|
|
69
69
|
</schmancy-grid>
|
|
70
70
|
</schmancy-menu>
|
|
71
71
|
`}};d([c.property({type:String})],o.prototype,"type",2),d([c.property({type:Object})],o.prototype,"dateFrom",2),d([c.property({type:Object})],o.prototype,"dateTo",2),d([c.property({type:String})],o.prototype,"minDate",2),d([c.property({type:String})],o.prototype,"maxDate",2),d([c.query("#checkin")],o.prototype,"checkInInput",2),d([c.query("#checkout")],o.prototype,"checkOutInput",2),d([c.query("schmancy-menu")],o.prototype,"schmancyMenu",2),d([c.state()],o.prototype,"selectedDateRange",2),o=d([c.customElement("schmancy-date-range")],o);
|
|
72
|
-
//# sourceMappingURL=date-range-
|
|
72
|
+
//# sourceMappingURL=date-range-J-JT-8ba.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-DT5Gc-8v.cjs","sources":["../src/date-range/date-utils.ts","../src/date-range/date-range.ts"],"sourcesContent":["import moment from 'moment'\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * Ensures that a date string conforms to a specific format.\n * If the date is already in the correct format, it returns the original string.\n * If the date is in a different format, it attempts to convert it to the specified format.\n * If the date is invalid or cannot be converted, it returns null.\n *\n * @param dateString The date string to validate and format.\n * @param expectedFormat The expected date format (e.g., 'YYYY-MM-DD', 'YYYY-MM-DDTHH:mm').\n * @returns The formatted date string, or null if the date is invalid.\n */\nfunction enforceDateFormat(dateString: string | undefined, expectedFormat: DateFormat): string | null {\n\tif (!dateString) {\n\t\treturn null // Or handle the undefined case differently if needed\n\t}\n\n\tconst parsedDate = moment(dateString)\n\n\tif (!parsedDate.isValid()) {\n\t\treturn null // Date is invalid\n\t}\n\n\treturn parsedDate.format(expectedFormat)\n}\n\n/**\n * Validates if the initial date range values are in the expected format.\n *\n * @param dateFrom The dateFrom value to validate.\n * @param dateTo The dateTo value to validate.\n * @param expectedFormat The expected date format.\n * @returns An object indicating whether each date is valid, and the formatted date or null if invalid.\n */\nfunction validateInitialDateRange(\n\tdateFrom: string | undefined,\n\tdateTo: string | undefined,\n\texpectedFormat: DateFormat,\n): {\n\tdateFrom: string | null\n\tdateTo: string | null\n\tisValid: boolean\n} {\n\tconst formattedDateFrom = enforceDateFormat(dateFrom, expectedFormat)\n\tconst formattedDateTo = enforceDateFormat(dateTo, expectedFormat)\n\n\tconst isValid = formattedDateFrom !== null && formattedDateTo !== null\n\n\treturn {\n\t\tdateFrom: formattedDateFrom,\n\t\tdateTo: formattedDateTo,\n\t\tisValid,\n\t}\n}\n\nexport { validateInitialDateRange }\n","import { $LitElement } from '@mixins/index'\nimport { SchmancyInputChangeEvent } from '@schmancy/input'\nimport SchmancyMenu from '@schmancy/menu/menu'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport moment from 'moment'\nimport { validateInitialDateRange } from './date-utils' // Import the utility\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * A date range selector that supports presets and manual date input.\n */\n@customElement('schmancy-date-range')\nexport default class SchmancyDateRange extends $LitElement() {\n\t// Either \"date\" or \"datetime-local\"\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\n\t@property({ type: Object }) dateFrom!: { label: string; value: string }\n\t@property({ type: Object }) dateTo!: { label: string; value: string }\n\n\t// Optional min/max constraints\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t@query('#checkin') checkInInput!: HTMLInputElement\n\t@query('#checkout') checkOutInput!: HTMLInputElement\n\n\t// The <schmancy-menu> that displays presets + manual date inputs\n\t@query('schmancy-menu') schmancyMenu!: SchmancyMenu\n\n\t// Display text in the trigger button\n\t@state() selectedDateRange: string = 'Today'\n\n\t// Preset date range definitions\n\tpresetRanges!: Array<{\n\t\tlabel: string\n\t\trange: { dateFrom: string; dateTo: string }\n\t\tstep: moment.unitOfTime.DurationConstructor\n\t}>\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\n\t\t// Validate and format initial date range\n\t\tconst dateFormat = this.getDateFormat() as DateFormat\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconsole.error('Invalid initial date range. Falling back to default.')\n\t\t\t// Handle invalid initial dates (e.g., set to default values, display an error)\n\t\t\tconst now = moment().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t}\n\t}\n\t/**\n\t * Update the internal date range and fire a 'change' event to notify external code.\n\t */\n\tprivate setDateRange(fromDate: string, toDate: string) {\n\t\tthis.dateFrom.value = fromDate\n\t\tthis.dateTo.value = toDate\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<TSchmancDateRangePayload>('change', {\n\t\t\t\tdetail: { dateFrom: fromDate, dateTo: toDate },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true, // If you want it to pass shadow boundaries\n\t\t\t}),\n\t\t)\n\t\tthis.requestUpdate()\n\t}\n\tupdated(changedProps: Map<string, unknown>) {\n\t\tif (changedProps.has('type')) {\n\t\t\t// Re-init presets if \"type\" changes from date -> datetime\n\t\t\tthis.initPresetRanges()\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\t/**\n\t * Format strings for the internal <input> and for display text.\n\t */\n\tprivate getDateFormat(): string {\n\t\treturn this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'\n\t}\n\tprivate getDisplayFormat(): string {\n\t\treturn this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A'\n\t}\n\n\t/**\n\t * Build up a list of preset ranges (yesterday, today, etc.).\n\t */\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tthis.presetRanges = [\n\t\t\t{\n\t\t\t\tlabel: 'Yesterday',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().subtract(1, 'days').endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Today',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Tomorrow',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().add(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().add(1, 'days').endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().startOf('isoWeek').format(format),\n\t\t\t\t\tdateTo: moment().endOf('isoWeek').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'week',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Last Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().subtract(1, 'weeks').startOf('isoWeek').format(format),\n\t\t\t\t\tdateTo: moment().subtract(1, 'weeks').endOf('isoWeek').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'week',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Month',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().startOf('month').format(format),\n\t\t\t\t\tdateTo: moment().endOf('month').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'month',\n\t\t\t},\n\t\t\t// Add more if desired (e.g. \"Last Month,\" \"Custom,\" etc.)\n\t\t]\n\t}\n\n\t/**\n\t * Based on the current dateFrom/dateTo, see if it matches a preset.\n\t * Otherwise display a \"Custom\" range: \"Jan 01, 2023 - Jan 07, 2023\".\n\t */\n\tprivate updateSelectedDateRange() {\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\t// Construct a custom label\n\t\t\tconst fromMoment = moment(this.dateFrom.value)\n\t\t\tconst toMoment = moment(this.dateTo.value)\n\t\t\tconsole.log(fromMoment.format('HH:mm'), toMoment.format('HH:mm'), fromMoment.format('HH:mm'))\n\t\t\tif (fromMoment.isSame(toMoment, 'day')) {\n\t\t\t\tthis.selectedDateRange = fromMoment.format('MMM DD, YYYY')\n\t\t\t\t// append the time if fromMoment is not the start of the day and toMoment is not the end of the day\n\t\t\t\tif (fromMoment.format('HH:mm') !== '00:00' || toMoment.format('HH:mm') !== '23:59') {\n\t\t\t\t\tthis.selectedDateRange += ` ${fromMoment.format('HH:mm')}:${toMoment.format('HH:mm')}`\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst fromStr = fromMoment.format(this.getDisplayFormat())\n\t\t\t\tconst toStr = toMoment.format(this.getDisplayFormat())\n\t\t\t\tthis.selectedDateRange = `${fromStr} - ${toStr}`\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Called when user selects a preset from the list.\n\t * Updates date range and closes the menu.\n\t */\n\tprivate handlePresetChange(label: string) {\n\t\tconst preset = this.presetRanges.find(range => range.label === label)\n\t\tif (!preset) return\n\t\tconst { dateFrom, dateTo } = preset.range\n\t\tthis.setDateRange(dateFrom, dateTo)\n\t\tthis.selectedDateRange = label\n\t\tthis.schmancyMenu.open = false\n\t}\n\n\t/**\n\t * Applies the date range from the inputs.\n\t * Closes the menu when done.\n\t */\n\tprivate handleDateRangeChange() {\n\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\tthis.updateSelectedDateRange()\n\t\tthis.schmancyMenu.open = false\n\t}\n\n\t/**\n\t * Shift the current date range forward or backward by the same number of days.\n\t * If the range is 7 days wide, shift 7 days, etc.\n\t */\n\tprivate shiftDateRange(factor: number) {\n\t\tconst format = this.getDateFormat()\n\t\tconst currentDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\t\tconst newDateFrom = moment(this.dateFrom.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\t\tconst newDateTo = moment(this.dateTo.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\n\t\tthis.setDateRange(newDateFrom, newDateTo)\n\t\tthis.updateSelectedDateRange()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<!-- schmancy-menu typically provides a slot=\"button\" for the trigger,\n and then projects the menu items inside. -->\n\t\t\t<schmancy-menu class=\"z-100 w-max\" role=\"menu\" aria-label=\"Date range presets and custom input\">\n\t\t\t\t<!-- The toggle/trigger slot -->\n\t\t\t\t<schmancy-grid slot=\"button\" align=\"center\" cols=\"auto 1fr auto\">\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"Shift date range backward\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tthis.shiftDateRange(-1)\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tarrow_left\n\t\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\tclass=\"w-max\"\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t.ariaExpanded=${String(this.schmancyMenu?.open || false)}\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.selectedDateRange || 'Date range'}\n\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"Shift date range forward\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tthis.shiftDateRange(1)\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tarrow_right\n\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</schmancy-grid>\n\n\t\t\t\t<!-- The menu surface: presets + manual date selection -->\n\t\t\t\t${this.presetRanges.map(\n\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t<schmancy-menu-item role=\"menuitem\" class=\"w-full\" @click=${() => this.handlePresetChange(preset.label)}>\n\t\t\t\t\t\t\t<schmancy-grid class=\"w-full\" align=\"center\" cols=\"auto 1fr auto\"> ${preset.label} </schmancy-grid>\n\t\t\t\t\t\t</schmancy-menu-item>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\n\t\t\t\t<!-- Manual date range inputs + \"Apply\" button -->\n\t\t\t\t<schmancy-grid gap=\"sm\" flow=\"row\" class=\"p-4\">\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tid=\"checkin\"\n\t\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t\t.label=${this.dateFrom.label}\n\t\t\t\t\t\t.value=${this.dateFrom.value}\n\t\t\t\t\t\tmin=${ifDefined(this.minDate)}\n\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\tconst fmt = this.getDateFormat()\n\t\t\t\t\t\t\tconst selectedDate = moment(event.detail.value, fmt).format(fmt)\n\t\t\t\t\t\t\tthis.dateFrom.value = selectedDate\n\t\t\t\t\t\t\t// Update the checkout input's min attribute:\n\t\t\t\t\t\t\tthis.checkOutInput.setAttribute('min', selectedDate)\n\t\t\t\t\t\t}}\n\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tid=\"checkout\"\n\t\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t\t.label=${this.dateTo.label}\n\t\t\t\t\t\t.value=${this.dateTo.value}\n\t\t\t\t\t\tmin=${ifDefined(this.dateFrom.value)}\n\t\t\t\t\t\tmax=${ifDefined(this.maxDate)}\n\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\tconst fmt = this.getDateFormat()\n\t\t\t\t\t\t\tconst selectedDate = moment(event.detail.value, fmt).format(fmt)\n\t\t\t\t\t\t\tthis.dateTo.value = selectedDate\n\t\t\t\t\t\t}}\n\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tApply\n\t\t\t\t\t</schmancy-button>\n\t\t\t\t</schmancy-grid>\n\t\t\t</schmancy-menu>\n\t\t`\n\t}\n}\n\n/**\n * The payload for a date range change event.\n */\nexport type TSchmancDateRangePayload = {\n\tdateFrom?: string\n\tdateTo?: string\n}\n\n/**\n * A custom event fired when the date range is updated.\n */\nexport type SchmancyDateRangeChangeEvent = CustomEvent<TSchmancDateRangePayload>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range': SchmancyDateRange\n\t}\n}\n"],"names":["enforceDateFormat","dateString","expectedFormat","parsedDate","moment","isValid","format","SchmancyDateRange","$LitElement","super","arguments","this","type","selectedDateRange","connectedCallback","initPresetRanges","dateFormat","getDateFormat","validatedRange","dateFrom","dateTo","formattedDateFrom","formattedDateTo","value","updateSelectedDateRange","now","fromDate","toDate","dispatchEvent","CustomEvent","detail","bubbles","composed","requestUpdate","changedProps","has","presetRanges","label","range","subtract","startOf","endOf","step","add","preset","find","p","fromMoment","toMoment","isSame","fromStr","getDisplayFormat","toStr","setDateRange","schmancyMenu","open","handleDateRangeChange","factor","currentDiff","diff","newDateFrom","newDateTo","html","e","preventDefault","shiftDateRange","String","map","handlePresetChange","ifDefined","minDate","event","stopPropagation","fmt","selectedDate","checkOutInput","setAttribute","maxDate","__decorateClass","property","prototype","Object","query","state","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-range-J-JT-8ba.cjs","sources":["../src/date-range/date-utils.ts","../src/date-range/date-range.ts"],"sourcesContent":["import moment from 'moment'\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * Ensures that a date string conforms to a specific format.\n * If the date is already in the correct format, it returns the original string.\n * If the date is in a different format, it attempts to convert it to the specified format.\n * If the date is invalid or cannot be converted, it returns null.\n *\n * @param dateString The date string to validate and format.\n * @param expectedFormat The expected date format (e.g., 'YYYY-MM-DD', 'YYYY-MM-DDTHH:mm').\n * @returns The formatted date string, or null if the date is invalid.\n */\nfunction enforceDateFormat(dateString: string | undefined, expectedFormat: DateFormat): string | null {\n\tif (!dateString) {\n\t\treturn null // Or handle the undefined case differently if needed\n\t}\n\n\tconst parsedDate = moment(dateString)\n\n\tif (!parsedDate.isValid()) {\n\t\treturn null // Date is invalid\n\t}\n\n\treturn parsedDate.format(expectedFormat)\n}\n\n/**\n * Validates if the initial date range values are in the expected format.\n *\n * @param dateFrom The dateFrom value to validate.\n * @param dateTo The dateTo value to validate.\n * @param expectedFormat The expected date format.\n * @returns An object indicating whether each date is valid, and the formatted date or null if invalid.\n */\nfunction validateInitialDateRange(\n\tdateFrom: string | undefined,\n\tdateTo: string | undefined,\n\texpectedFormat: DateFormat,\n): {\n\tdateFrom: string | null\n\tdateTo: string | null\n\tisValid: boolean\n} {\n\tconst formattedDateFrom = enforceDateFormat(dateFrom, expectedFormat)\n\tconst formattedDateTo = enforceDateFormat(dateTo, expectedFormat)\n\n\tconst isValid = formattedDateFrom !== null && formattedDateTo !== null\n\n\treturn {\n\t\tdateFrom: formattedDateFrom,\n\t\tdateTo: formattedDateTo,\n\t\tisValid,\n\t}\n}\n\nexport { validateInitialDateRange }\n","import { $LitElement } from '@mixins/index'\nimport { SchmancyInputChangeEvent } from '@schmancy/input'\nimport SchmancyMenu from '@schmancy/menu/menu'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport moment from 'moment'\nimport { validateInitialDateRange } from './date-utils' // Import the utility\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * A date range selector that supports presets and manual date input.\n */\n@customElement('schmancy-date-range')\nexport default class SchmancyDateRange extends $LitElement() {\n\t// Either \"date\" or \"datetime-local\"\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\n\t@property({ type: Object }) dateFrom!: { label: string; value: string }\n\t@property({ type: Object }) dateTo!: { label: string; value: string }\n\n\t// Optional min/max constraints\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t@query('#checkin') checkInInput!: HTMLInputElement\n\t@query('#checkout') checkOutInput!: HTMLInputElement\n\n\t// The <schmancy-menu> that displays presets + manual date inputs\n\t@query('schmancy-menu') schmancyMenu!: SchmancyMenu\n\n\t// Display text in the trigger button\n\t@state() selectedDateRange: string = 'Today'\n\n\t// Preset date range definitions\n\tpresetRanges!: Array<{\n\t\tlabel: string\n\t\trange: { dateFrom: string; dateTo: string }\n\t\tstep: moment.unitOfTime.DurationConstructor\n\t}>\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\n\t\t// Validate and format initial date range\n\t\tconst dateFormat = this.getDateFormat() as DateFormat\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconsole.error('Invalid initial date range. Falling back to default.')\n\t\t\t// Handle invalid initial dates (e.g., set to default values, display an error)\n\t\t\tconst now = moment().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t}\n\t}\n\t/**\n\t * Update the internal date range and fire a 'change' event to notify external code.\n\t */\n\tprivate setDateRange(fromDate: string, toDate: string) {\n\t\tthis.dateFrom.value = fromDate\n\t\tthis.dateTo.value = toDate\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<TSchmancDateRangePayload>('change', {\n\t\t\t\tdetail: { dateFrom: fromDate, dateTo: toDate },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true, // If you want it to pass shadow boundaries\n\t\t\t}),\n\t\t)\n\t\tthis.requestUpdate()\n\t}\n\tupdated(changedProps: Map<string, unknown>) {\n\t\tif (changedProps.has('type')) {\n\t\t\t// Re-init presets if \"type\" changes from date -> datetime\n\t\t\tthis.initPresetRanges()\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\t/**\n\t * Format strings for the internal <input> and for display text.\n\t */\n\tprivate getDateFormat(): string {\n\t\treturn this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'\n\t}\n\tprivate getDisplayFormat(): string {\n\t\treturn this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A'\n\t}\n\n\t/**\n\t * Build up a list of preset ranges (yesterday, today, etc.).\n\t */\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tthis.presetRanges = [\n\t\t\t{\n\t\t\t\tlabel: 'Yesterday',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().subtract(1, 'days').endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Today',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Tomorrow',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().add(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().add(1, 'days').endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().startOf('isoWeek').format(format),\n\t\t\t\t\tdateTo: moment().endOf('isoWeek').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'week',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Last Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().subtract(1, 'weeks').startOf('isoWeek').format(format),\n\t\t\t\t\tdateTo: moment().subtract(1, 'weeks').endOf('isoWeek').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'week',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Month',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment().startOf('month').format(format),\n\t\t\t\t\tdateTo: moment().endOf('month').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'month',\n\t\t\t},\n\t\t\t// Add more if desired (e.g. \"Last Month,\" \"Custom,\" etc.)\n\t\t]\n\t}\n\n\t/**\n\t * Based on the current dateFrom/dateTo, see if it matches a preset.\n\t * Otherwise display a \"Custom\" range: \"Jan 01, 2023 - Jan 07, 2023\".\n\t */\n\tprivate updateSelectedDateRange() {\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\t// Construct a custom label\n\t\t\tconst fromMoment = moment(this.dateFrom.value)\n\t\t\tconst toMoment = moment(this.dateTo.value)\n\t\t\tconsole.log(fromMoment.format('HH:mm'), toMoment.format('HH:mm'), fromMoment.format('HH:mm'))\n\t\t\tif (fromMoment.isSame(toMoment, 'day')) {\n\t\t\t\tthis.selectedDateRange = fromMoment.format('MMM DD, YYYY')\n\t\t\t\t// append the time if fromMoment is not the start of the day and toMoment is not the end of the day\n\t\t\t\tif (fromMoment.format('HH:mm') !== '00:00' || toMoment.format('HH:mm') !== '23:59') {\n\t\t\t\t\tthis.selectedDateRange += ` ${fromMoment.format('HH:mm')}:${toMoment.format('HH:mm')}`\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst fromStr = fromMoment.format(this.getDisplayFormat())\n\t\t\t\tconst toStr = toMoment.format(this.getDisplayFormat())\n\t\t\t\tthis.selectedDateRange = `${fromStr} - ${toStr}`\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Called when user selects a preset from the list.\n\t * Updates date range and closes the menu.\n\t */\n\tprivate handlePresetChange(label: string) {\n\t\tconst preset = this.presetRanges.find(range => range.label === label)\n\t\tif (!preset) return\n\t\tconst { dateFrom, dateTo } = preset.range\n\t\tthis.setDateRange(dateFrom, dateTo)\n\t\tthis.selectedDateRange = label\n\t\tthis.schmancyMenu.open = false\n\t}\n\n\t/**\n\t * Applies the date range from the inputs.\n\t * Closes the menu when done.\n\t */\n\tprivate handleDateRangeChange() {\n\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\tthis.updateSelectedDateRange()\n\t\tthis.schmancyMenu.open = false\n\t}\n\n\t/**\n\t * Shift the current date range forward or backward by the same number of days.\n\t * If the range is 7 days wide, shift 7 days, etc.\n\t */\n\tprivate shiftDateRange(factor: number) {\n\t\tconst format = this.getDateFormat()\n\t\tconst currentDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\t\tconst newDateFrom = moment(this.dateFrom.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\t\tconst newDateTo = moment(this.dateTo.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\n\t\tthis.setDateRange(newDateFrom, newDateTo)\n\t\tthis.updateSelectedDateRange()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<!-- schmancy-menu typically provides a slot=\"button\" for the trigger,\n and then projects the menu items inside. -->\n\t\t\t<schmancy-menu class=\"z-100 w-max\" role=\"menu\" aria-label=\"Date range presets and custom input\">\n\t\t\t\t<!-- The toggle/trigger slot -->\n\t\t\t\t<schmancy-grid slot=\"button\" align=\"center\" cols=\"auto 1fr auto\">\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"Shift date range backward\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tthis.shiftDateRange(-1)\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tarrow_left\n\t\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\tclass=\"w-max\"\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t.ariaExpanded=${String(this.schmancyMenu?.open || false)}\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.selectedDateRange || 'Date range'}\n\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"Shift date range forward\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tthis.shiftDateRange(1)\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tarrow_right\n\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</schmancy-grid>\n\n\t\t\t\t<!-- The menu surface: presets + manual date selection -->\n\t\t\t\t${this.presetRanges.map(\n\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t<schmancy-menu-item role=\"menuitem\" class=\"w-full\" @click=${() => this.handlePresetChange(preset.label)}>\n\t\t\t\t\t\t\t<schmancy-grid class=\"w-full\" align=\"center\" cols=\"auto 1fr auto\"> ${preset.label} </schmancy-grid>\n\t\t\t\t\t\t</schmancy-menu-item>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\n\t\t\t\t<!-- Manual date range inputs + \"Apply\" button -->\n\t\t\t\t<schmancy-grid gap=\"sm\" flow=\"row\" class=\"p-4\">\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tid=\"checkin\"\n\t\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t\t.label=${this.dateFrom.label}\n\t\t\t\t\t\t.value=${this.dateFrom.value}\n\t\t\t\t\t\tmin=${ifDefined(this.minDate)}\n\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\tconst fmt = this.getDateFormat()\n\t\t\t\t\t\t\tconst selectedDate = moment(event.detail.value, fmt).format(fmt)\n\t\t\t\t\t\t\tthis.dateFrom.value = selectedDate\n\t\t\t\t\t\t\t// Update the checkout input's min attribute:\n\t\t\t\t\t\t\tthis.checkOutInput.setAttribute('min', selectedDate)\n\t\t\t\t\t\t}}\n\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tid=\"checkout\"\n\t\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t\t.label=${this.dateTo.label}\n\t\t\t\t\t\t.value=${this.dateTo.value}\n\t\t\t\t\t\tmin=${ifDefined(this.dateFrom.value)}\n\t\t\t\t\t\tmax=${ifDefined(this.maxDate)}\n\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\tconst fmt = this.getDateFormat()\n\t\t\t\t\t\t\tconst selectedDate = moment(event.detail.value, fmt).format(fmt)\n\t\t\t\t\t\t\tthis.dateTo.value = selectedDate\n\t\t\t\t\t\t}}\n\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tApply\n\t\t\t\t\t</schmancy-button>\n\t\t\t\t</schmancy-grid>\n\t\t\t</schmancy-menu>\n\t\t`\n\t}\n}\n\n/**\n * The payload for a date range change event.\n */\nexport type TSchmancDateRangePayload = {\n\tdateFrom?: string\n\tdateTo?: string\n}\n\n/**\n * A custom event fired when the date range is updated.\n */\nexport type SchmancyDateRangeChangeEvent = CustomEvent<TSchmancDateRangePayload>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range': SchmancyDateRange\n\t}\n}\n"],"names":["enforceDateFormat","dateString","expectedFormat","parsedDate","moment","isValid","format","SchmancyDateRange","$LitElement","super","arguments","this","type","selectedDateRange","connectedCallback","initPresetRanges","dateFormat","getDateFormat","validatedRange","dateFrom","dateTo","formattedDateFrom","formattedDateTo","value","updateSelectedDateRange","now","fromDate","toDate","dispatchEvent","CustomEvent","detail","bubbles","composed","requestUpdate","changedProps","has","presetRanges","label","range","subtract","startOf","endOf","step","add","preset","find","p","fromMoment","toMoment","isSame","fromStr","getDisplayFormat","toStr","setDateRange","schmancyMenu","open","handleDateRangeChange","factor","currentDiff","diff","newDateFrom","newDateTo","html","e","preventDefault","shiftDateRange","String","map","handlePresetChange","ifDefined","minDate","event","stopPropagation","fmt","selectedDate","checkOutInput","setAttribute","maxDate","__decorateClass","property","prototype","Object","query","state","customElement"],"mappings":"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"}
|
package/dist/date-range.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./date-range-
|
|
1
|
+
"use strict";require("./date-range-J-JT-8ba.cjs");
|
|
2
2
|
//# sourceMappingURL=date-range.cjs.map
|
package/dist/date-range.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./date-range-
|
|
1
|
+
import "./date-range-BhYqCSZp.js";
|
|
2
2
|
//# sourceMappingURL=date-range.js.map
|
|
@@ -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-
|
|
1
|
+
"use strict";const E=require("lit/html.js"),m=require("lit/directive.js"),N=require("lit/async-directive.js"),k=require("./provide-DSU87U5x.cjs"),x=require("./consume-Bb7_UzYd.cjs"),q=require("./litElement.mixin-C-c-2rdW.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-CpKz9qoJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delay-CpKz9qoJ.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,9 +1,9 @@
|
|
|
1
1
|
import { nothing as S } from "lit/html.js";
|
|
2
2
|
import { directive as N, PartType as k } from "lit/directive.js";
|
|
3
3
|
import { AsyncDirective as E } from "lit/async-directive.js";
|
|
4
|
-
import {
|
|
5
|
-
import { c as P } from "./consume-
|
|
6
|
-
import { $ as K } from "./litElement.mixin-
|
|
4
|
+
import { n as F, e as x } from "./provide-BLSgVvMJ.js";
|
|
5
|
+
import { c as P } from "./consume-fRVATvdE.js";
|
|
6
|
+
import { $ as K } from "./litElement.mixin-vAR9BIyD.js";
|
|
7
7
|
import { html as y } from "lit";
|
|
8
8
|
import { property as m, state as $, queryAssignedElements as j, customElement as T } from "lit/decorators.js";
|
|
9
9
|
import { cache as L } from "lit/directives/cache.js";
|
|
@@ -238,7 +238,7 @@ var _ = Object.defineProperty, G = Object.getOwnPropertyDescriptor, l = (t, e, i
|
|
|
238
238
|
for (var n, o = s > 1 ? void 0 : s ? G(e, i) : e, r = t.length - 1; r >= 0; r--) (n = t[r]) && (o = (s ? n(e, i, o) : n(o)) || o);
|
|
239
239
|
return s && o && _(e, i, o), o;
|
|
240
240
|
};
|
|
241
|
-
const O =
|
|
241
|
+
const O = F("delay-context");
|
|
242
242
|
let a = class extends K() {
|
|
243
243
|
constructor() {
|
|
244
244
|
super(...arguments), this.delay = 0, this.motion = "flyBelow", this.rendered = !1, this.parentDelay = 0, this.effectiveDelay = 0, this.once = !0, this.sessionKey = "";
|
|
@@ -292,10 +292,10 @@ let a = class extends K() {
|
|
|
292
292
|
`);
|
|
293
293
|
}
|
|
294
294
|
};
|
|
295
|
-
l([m({ type: Number, reflect: !0 })], a.prototype, "delay", 2), l([m({ type: String })], a.prototype, "motion", 2), l([$()], a.prototype, "rendered", 2), l([P({ context: O, subscribe: !0 })], a.prototype, "parentDelay", 2), l([
|
|
295
|
+
l([m({ type: Number, reflect: !0 })], a.prototype, "delay", 2), l([m({ type: String })], a.prototype, "motion", 2), l([$()], a.prototype, "rendered", 2), l([P({ context: O, subscribe: !0 })], a.prototype, "parentDelay", 2), l([x({ context: O })], a.prototype, "effectiveDelay", 2), l([m({ type: Boolean })], a.prototype, "once", 2), l([j({ flatten: !0 })], a.prototype, "assignedElements", 2), a = l([T("schmancy-delay")], a);
|
|
296
296
|
export {
|
|
297
297
|
a as S,
|
|
298
298
|
O as d,
|
|
299
299
|
X as h
|
|
300
300
|
};
|
|
301
|
-
//# sourceMappingURL=delay-
|
|
301
|
+
//# sourceMappingURL=delay-tojIaYXv.js.map
|