@mhmo91/schmancy 0.2.158 → 0.2.160
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-DT-buxzl.js → animated-text-Be992jA_.js} +3 -3
- package/dist/{animated-text-DT-buxzl.js.map → animated-text-Be992jA_.js.map} +1 -1
- package/dist/{animated-text-0kUPE9fW.cjs → animated-text-ButDz3vC.cjs} +2 -2
- package/dist/{animated-text-0kUPE9fW.cjs.map → animated-text-ButDz3vC.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-UvG6g5s3.js → area.component-BNFH4xlv.js} +3 -3
- package/dist/{area.component-UvG6g5s3.js.map → area.component-BNFH4xlv.js.map} +1 -1
- package/dist/{area.component-Ce-CsAg7.cjs → area.component-H7yKE0i1.cjs} +2 -2
- package/dist/{area.component-Ce-CsAg7.cjs.map → area.component-H7yKE0i1.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-D_z-Cmj6.cjs → autocomplete-BoqVyf_5.cjs} +2 -2
- package/dist/{autocomplete-D_z-Cmj6.cjs.map → autocomplete-BoqVyf_5.cjs.map} +1 -1
- package/dist/{autocomplete-CXvDyWqn.js → autocomplete-Dq94h33i.js} +3 -3
- package/dist/{autocomplete-CXvDyWqn.js.map → autocomplete-Dq94h33i.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-Cba3VTZ8.cjs → checkbox-C3oCN6-m.cjs} +2 -2
- package/dist/{checkbox-Cba3VTZ8.cjs.map → checkbox-C3oCN6-m.cjs.map} +1 -1
- package/dist/{checkbox-C-6dLNjV.js → checkbox-D82AhpUU.js} +2 -2
- package/dist/{checkbox-C-6dLNjV.js.map → checkbox-D82AhpUU.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-BctLeGyU.js → chips-BImfI_Cy.js} +3 -3
- package/dist/{chips-BctLeGyU.js.map → chips-BImfI_Cy.js.map} +1 -1
- package/dist/{chips-BJDNdcpY.cjs → chips-C1lJe-VM.cjs} +2 -2
- package/dist/{chips-BJDNdcpY.cjs.map → chips-C1lJe-VM.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/date-range-B36NwQJj.js +562 -0
- package/dist/date-range-B36NwQJj.js.map +1 -0
- package/dist/date-range-D_TITodq.cjs +118 -0
- package/dist/date-range-D_TITodq.cjs.map +1 -0
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-BdDvCj8V.cjs → delay-BZANXguW.cjs} +2 -2
- package/dist/{delay-BdDvCj8V.cjs.map → delay-BZANXguW.cjs.map} +1 -1
- package/dist/{delay-hDv8Dil1.js → delay-u3ZtuHuD.js} +2 -2
- package/dist/{delay-hDv8Dil1.js.map → delay-u3ZtuHuD.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{divider-_vED_FXM.js → divider-4xKbeJOK.js} +3 -3
- package/dist/{divider-_vED_FXM.js.map → divider-4xKbeJOK.js.map} +1 -1
- package/dist/{divider-Mix8dL5w.cjs → divider-BGh7WiTm.cjs} +2 -2
- package/dist/{divider-Mix8dL5w.cjs.map → divider-BGh7WiTm.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-BzY5IOau.js → flex-5tU3sgUP.js} +2 -2
- package/dist/{flex-BzY5IOau.js.map → flex-5tU3sgUP.js.map} +1 -1
- package/dist/{flex-CbWmooXA.cjs → flex-M_YoqXnB.cjs} +2 -2
- package/dist/{flex-CbWmooXA.cjs.map → flex-M_YoqXnB.cjs.map} +1 -1
- package/dist/{form-Bv_Dnl4y.js → form-DEWs5VTx.js} +2 -2
- package/dist/{form-Bv_Dnl4y.js.map → form-DEWs5VTx.js.map} +1 -1
- package/dist/{form-B1_PnAu3.cjs → form-DwRU18it.cjs} +2 -2
- package/dist/{form-B1_PnAu3.cjs.map → form-DwRU18it.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-DrI-VFIh.cjs → icon-Bpgf3d2W.cjs} +2 -2
- package/dist/{icon-DrI-VFIh.cjs.map → icon-Bpgf3d2W.cjs.map} +1 -1
- package/dist/{icon-DtX-l2qX.js → icon-D8bGIsnU.js} +3 -3
- package/dist/{icon-DtX-l2qX.js.map → icon-D8bGIsnU.js.map} +1 -1
- package/dist/{icon-button-BNVnz1oE.js → icon-button-BShbUJzz.js} +3 -3
- package/dist/{icon-button-BNVnz1oE.js.map → icon-button-BShbUJzz.js.map} +1 -1
- package/dist/{icon-button-Dp2sGEMC.cjs → icon-button-Rmv2a0U5.cjs} +2 -2
- package/dist/{icon-button-Dp2sGEMC.cjs.map → icon-button-Rmv2a0U5.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +36 -36
- package/dist/{input-BNTFRlWe.cjs → input-CAJ-MBq7.cjs} +2 -2
- package/dist/{input-BNTFRlWe.cjs.map → input-CAJ-MBq7.cjs.map} +1 -1
- package/dist/{input-jugi6noA.js → input-D211jB9f.js} +2 -2
- package/dist/{input-jugi6noA.js.map → input-D211jB9f.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-DbAymTVa.cjs → list-CwdYlei9.cjs} +2 -2
- package/dist/{list-DbAymTVa.cjs.map → list-CwdYlei9.cjs.map} +1 -1
- package/dist/{list-C7GsS8FD.js → list-DMXqpSCh.js} +2 -2
- package/dist/{list-C7GsS8FD.js.map → list-DMXqpSCh.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-Q9F4QbKE.js → litElement.mixin-B1zxT55T.js} +2 -2
- package/dist/{litElement.mixin-Q9F4QbKE.js.map → litElement.mixin-B1zxT55T.js.map} +1 -1
- package/dist/{litElement.mixin-Jn1Dx2Ln.cjs → litElement.mixin-Bl5r_3iS.cjs} +2 -2
- package/dist/{litElement.mixin-Jn1Dx2Ln.cjs.map → litElement.mixin-Bl5r_3iS.cjs.map} +1 -1
- package/dist/{menu-D0bnuaTN.cjs → menu-CBin71yi.cjs} +2 -2
- package/dist/{menu-D0bnuaTN.cjs.map → menu-CBin71yi.cjs.map} +1 -1
- package/dist/{menu-BidFlRSh.js → menu-phn2-8UA.js} +3 -3
- package/dist/{menu-BidFlRSh.js.map → menu-phn2-8UA.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/{notification-container-RGz9Pds3.js → notification-container-C5o2dqpe.js} +4 -4
- package/dist/{notification-container-RGz9Pds3.js.map → notification-container-C5o2dqpe.js.map} +1 -1
- package/dist/{notification-container-BWkGprZY.cjs → notification-container-CRjLSf2l.cjs} +3 -3
- package/dist/{notification-container-BWkGprZY.cjs.map → notification-container-CRjLSf2l.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-l_1tMBoG.js → option-CAZq8vIE.js} +2 -2
- package/dist/{option-l_1tMBoG.js.map → option-CAZq8vIE.js.map} +1 -1
- package/dist/{option-DC08077J.cjs → option-DO30M5mj.cjs} +2 -2
- package/dist/{option-DC08077J.cjs.map → option-DO30M5mj.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-euXrOmHy.cjs → payment-card-form-C0ib712J.cjs} +2 -2
- package/dist/{payment-card-form-euXrOmHy.cjs.map → payment-card-form-C0ib712J.cjs.map} +1 -1
- package/dist/{payment-card-form-DGn9DDco.js → payment-card-form-CFYt0jpm.js} +3 -3
- package/dist/{payment-card-form-DGn9DDco.js.map → payment-card-form-CFYt0jpm.js.map} +1 -1
- package/dist/{radio-group-GPQRey-i.cjs → radio-group-Xgv957h3.cjs} +2 -2
- package/dist/{radio-group-GPQRey-i.cjs.map → radio-group-Xgv957h3.cjs.map} +1 -1
- package/dist/{radio-group-BrrieW7n.js → radio-group-yCmH2g1m.js} +2 -2
- package/dist/{radio-group-BrrieW7n.js.map → radio-group-yCmH2g1m.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-Wuw5rkXn.cjs → schmancy-steps-container-BUUNK6-a.cjs} +2 -2
- package/dist/{schmancy-steps-container-Wuw5rkXn.cjs.map → schmancy-steps-container-BUUNK6-a.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-aP9lbO6E.js → schmancy-steps-container-DozeItXT.js} +2 -2
- package/dist/{schmancy-steps-container-aP9lbO6E.js.map → schmancy-steps-container-DozeItXT.js.map} +1 -1
- package/dist/{select-2JOP_pWI.js → select-D1GqH9az.js} +3 -3
- package/dist/{select-2JOP_pWI.js.map → select-D1GqH9az.js.map} +1 -1
- package/dist/{select-BhqWAEys.cjs → select-hrpNF0ay.cjs} +2 -2
- package/dist/{select-BhqWAEys.cjs.map → select-hrpNF0ay.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-Dim_iYDO.js → sheet-BheMSUgv.js} +3 -3
- package/dist/{sheet-Dim_iYDO.js.map → sheet-BheMSUgv.js.map} +1 -1
- package/dist/{sheet-DJQExyAk.cjs → sheet-j8iBPQ6T.cjs} +2 -2
- package/dist/{sheet-DJQExyAk.cjs.map → sheet-j8iBPQ6T.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-BS3V-nff.js → slider-5_06CQZJ.js} +3 -3
- package/dist/{slider-BS3V-nff.js.map → slider-5_06CQZJ.js.map} +1 -1
- package/dist/{slider-BK7Y8gHC.cjs → slider-Dk2AGCrw.cjs} +2 -2
- package/dist/{slider-BK7Y8gHC.cjs.map → slider-Dk2AGCrw.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-9CqUtbck.cjs → spinner-CmaRhtzu.cjs} +2 -2
- package/dist/{spinner-9CqUtbck.cjs.map → spinner-CmaRhtzu.cjs.map} +1 -1
- package/dist/{spinner-BNgfmyY-.js → spinner-DQPVv48S.js} +3 -3
- package/dist/{spinner-BNgfmyY-.js.map → spinner-DQPVv48S.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-C8dzNRyD.js → surface-D5Jqe0bf.js} +2 -2
- package/dist/{surface-C8dzNRyD.js.map → surface-D5Jqe0bf.js.map} +1 -1
- package/dist/{surface-BJIurR_W.cjs → surface-DAkIsvJB.cjs} +2 -2
- package/dist/{surface-BJIurR_W.cjs.map → surface-DAkIsvJB.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CG73YKUx.js → table-CdsT8VSZ.js} +2 -2
- package/dist/{table-CG73YKUx.js.map → table-CdsT8VSZ.js.map} +1 -1
- package/dist/{table-clsjo0SJ.cjs → table-CljxYE7x.cjs} +2 -2
- package/dist/{table-clsjo0SJ.cjs.map → table-CljxYE7x.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-group-B6FzV-z-.js → tabs-group-BmHljUlz.js} +2 -2
- package/dist/{tabs-group-B6FzV-z-.js.map → tabs-group-BmHljUlz.js.map} +1 -1
- package/dist/{tabs-group-DHZAHRcj.cjs → tabs-group-DLwYQyDv.cjs} +2 -2
- package/dist/{tabs-group-DHZAHRcj.cjs.map → tabs-group-DLwYQyDv.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-CryL2ZOy.cjs +2 -0
- package/dist/{tailwind.mixin-DuHDR2P8.cjs.map → tailwind.mixin-CryL2ZOy.cjs.map} +1 -1
- package/dist/tailwind.mixin-Q2P-9IKt.js +43 -0
- package/dist/{tailwind.mixin-CYL2eVUP.js.map → tailwind.mixin-Q2P-9IKt.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/{teleport.component-BhA4unTy.js → teleport.component-CX0EcZsB.js} +38 -38
- package/dist/{teleport.component-BhA4unTy.js.map → teleport.component-CX0EcZsB.js.map} +1 -1
- package/dist/{teleport.component-ByjB3dVb.cjs → teleport.component-CnH7tw9d.cjs} +2 -2
- package/dist/{teleport.component-ByjB3dVb.cjs.map → teleport.component-CnH7tw9d.cjs.map} +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-BGod9Zmh.cjs → textarea-BFtirUYQ.cjs} +2 -2
- package/dist/{textarea-BGod9Zmh.cjs.map → textarea-BFtirUYQ.cjs.map} +1 -1
- package/dist/{textarea-4MTQnurB.js → textarea-C-ZczaeA.js} +2 -2
- package/dist/{textarea-4MTQnurB.js.map → textarea-C-ZczaeA.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-CfTRD0Bc.cjs → theme-button-Co1FWQZy.cjs} +2 -2
- package/dist/{theme-button-CfTRD0Bc.cjs.map → theme-button-Co1FWQZy.cjs.map} +1 -1
- package/dist/{theme-button-4ugO62Fc.js → theme-button-DkSJ3DGG.js} +2 -2
- package/dist/{theme-button-4ugO62Fc.js.map → theme-button-DkSJ3DGG.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.component-BRd7hRlx.js → theme.component-DPvN4am3.js} +2 -2
- package/dist/{theme.component-BRd7hRlx.js.map → theme.component-DPvN4am3.js.map} +1 -1
- package/dist/{theme.component-CCsaPgYm.cjs → theme.component-kt0rSKAw.cjs} +2 -2
- package/dist/{theme.component-CCsaPgYm.cjs.map → theme.component-kt0rSKAw.cjs.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-C_EnSba4.cjs → timezone-BAw4bWdz.cjs} +2 -2
- package/dist/{timezone-C_EnSba4.cjs.map → timezone-BAw4bWdz.cjs.map} +1 -1
- package/dist/{timezone-BuGMexRN.js → timezone-CoXF6uCH.js} +3 -3
- package/dist/{timezone-BuGMexRN.js.map → timezone-CoXF6uCH.js.map} +1 -1
- package/dist/{tooltip-CDRKKry4.js → tooltip-Dl2N0nLg.js} +2 -2
- package/dist/{tooltip-CDRKKry4.js.map → tooltip-Dl2N0nLg.js.map} +1 -1
- package/dist/{tooltip-kpbtc50m.cjs → tooltip-FWNQFOV4.cjs} +2 -2
- package/dist/{tooltip-kpbtc50m.cjs.map → tooltip-FWNQFOV4.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-CJe1yTQp.cjs → tree-DE0EGUP8.cjs} +2 -2
- package/dist/{tree-CJe1yTQp.cjs.map → tree-DE0EGUP8.cjs.map} +1 -1
- package/dist/{tree-dYAJXbcM.js → tree-DNotOnkS.js} +2 -2
- package/dist/{tree-dYAJXbcM.js.map → tree-DNotOnkS.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-BxJTt-Wa.js → typewriter--Sc6E-hJ.js} +4 -4
- package/dist/{typewriter-BxJTt-Wa.js.map → typewriter--Sc6E-hJ.js.map} +1 -1
- package/dist/{typewriter-mclX9R9x.cjs → typewriter-DxMBpsNX.cjs} +2 -2
- package/dist/{typewriter-mclX9R9x.cjs.map → typewriter-DxMBpsNX.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-BqKchIS6.js → typography-CXGW5mh2.js} +2 -2
- package/dist/{typography-BqKchIS6.js.map → typography-CXGW5mh2.js.map} +1 -1
- package/dist/{typography-BWROgo01.cjs → typography-CbJoawFE.cjs} +2 -2
- package/dist/{typography-BWROgo01.cjs.map → typography-CbJoawFE.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/date-range/date-range.d.ts +6 -2
- package/dist/date-range-B99TQMrq.cjs +0 -108
- package/dist/date-range-B99TQMrq.cjs.map +0 -1
- package/dist/date-range-DuNzj96P.js +0 -515
- package/dist/date-range-DuNzj96P.js.map +0 -1
- package/dist/tailwind.mixin-CYL2eVUP.js +0 -43
- package/dist/tailwind.mixin-DuHDR2P8.cjs +0 -2
|
@@ -1,515 +0,0 @@
|
|
|
1
|
-
import { autoUpdate as ot, computePosition as ct, offset as dt, flip as ut, shift as ht } from "@floating-ui/dom";
|
|
2
|
-
import { fromEvent as K, takeUntil as X } from "rxjs";
|
|
3
|
-
import "lit/directives/class-map.js";
|
|
4
|
-
import "lit/directives/style-map.js";
|
|
5
|
-
import { $ as lt } from "./litElement.mixin-Q9F4QbKE.js";
|
|
6
|
-
import "./tailwind.mixin-CYL2eVUP.js";
|
|
7
|
-
import { html as E } from "lit";
|
|
8
|
-
import { property as R, state as Z, query as tt, customElement as pt } from "lit/decorators.js";
|
|
9
|
-
import { ifDefined as z } from "lit/directives/if-defined.js";
|
|
10
|
-
function ft(t) {
|
|
11
|
-
return t && t.t && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
|
|
12
|
-
}
|
|
13
|
-
var et, at = { exports: {} };
|
|
14
|
-
const m = ft((et || (et = 1, at.exports = function() {
|
|
15
|
-
var t = 1e3, r = 6e4, i = 36e5, h = "millisecond", g = "second", l = "minute", p = "hour", F = "day", H = "week", k = "month", O = "quarter", w = "year", Y = "date", L = "Invalid Date", P = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, nt = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, rt = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(o) {
|
|
16
|
-
var s = ["th", "st", "nd", "rd"], e = o % 100;
|
|
17
|
-
return "[" + o + (s[(e - 20) % 10] || s[e] || s[0]) + "]";
|
|
18
|
-
} }, B = function(o, s, e) {
|
|
19
|
-
var n = String(o);
|
|
20
|
-
return !n || n.length >= s ? o : "" + Array(s + 1 - n.length).join(e) + o;
|
|
21
|
-
}, it = { s: B, z: function(o) {
|
|
22
|
-
var s = -o.utcOffset(), e = Math.abs(s), n = Math.floor(e / 60), a = e % 60;
|
|
23
|
-
return (s <= 0 ? "+" : "-") + B(n, 2, "0") + ":" + B(a, 2, "0");
|
|
24
|
-
}, m: function o(s, e) {
|
|
25
|
-
if (s.date() < e.date()) return -o(e, s);
|
|
26
|
-
var n = 12 * (e.year() - s.year()) + (e.month() - s.month()), a = s.clone().add(n, k), c = e - a < 0, d = s.clone().add(n + (c ? -1 : 1), k);
|
|
27
|
-
return +(-(n + (e - a) / (c ? a - d : d - a)) || 0);
|
|
28
|
-
}, a: function(o) {
|
|
29
|
-
return o < 0 ? Math.ceil(o) || 0 : Math.floor(o);
|
|
30
|
-
}, p: function(o) {
|
|
31
|
-
return { M: k, y: w, w: H, d: F, D: Y, h: p, m: l, s: g, ms: h, Q: O }[o] || String(o || "").toLowerCase().replace(/s$/, "");
|
|
32
|
-
}, u: function(o) {
|
|
33
|
-
return o === void 0;
|
|
34
|
-
} }, V = "en", _ = {};
|
|
35
|
-
_[V] = rt;
|
|
36
|
-
var Q = "$isDayjsObject", J = function(o) {
|
|
37
|
-
return o instanceof N || !(!o || !o[Q]);
|
|
38
|
-
}, I = function o(s, e, n) {
|
|
39
|
-
var a;
|
|
40
|
-
if (!s) return V;
|
|
41
|
-
if (typeof s == "string") {
|
|
42
|
-
var c = s.toLowerCase();
|
|
43
|
-
_[c] && (a = c), e && (_[c] = e, a = c);
|
|
44
|
-
var d = s.split("-");
|
|
45
|
-
if (!a && d.length > 1) return o(d[0]);
|
|
46
|
-
} else {
|
|
47
|
-
var f = s.name;
|
|
48
|
-
_[f] = s, a = f;
|
|
49
|
-
}
|
|
50
|
-
return !n && a && (V = a), a || !n && V;
|
|
51
|
-
}, v = function(o, s) {
|
|
52
|
-
if (J(o)) return o.clone();
|
|
53
|
-
var e = typeof s == "object" ? s : {};
|
|
54
|
-
return e.date = o, e.args = arguments, new N(e);
|
|
55
|
-
}, u = it;
|
|
56
|
-
u.l = I, u.i = J, u.w = function(o, s) {
|
|
57
|
-
return v(o, { locale: s.$L, utc: s.$u, x: s.$x, $offset: s.$offset });
|
|
58
|
-
};
|
|
59
|
-
var N = function() {
|
|
60
|
-
function o(e) {
|
|
61
|
-
this.$L = I(e.locale, null, !0), this.parse(e), this.$x = this.$x || e.x || {}, this[Q] = !0;
|
|
62
|
-
}
|
|
63
|
-
var s = o.prototype;
|
|
64
|
-
return s.parse = function(e) {
|
|
65
|
-
this.$d = function(n) {
|
|
66
|
-
var a = n.date, c = n.utc;
|
|
67
|
-
if (a === null) return /* @__PURE__ */ new Date(NaN);
|
|
68
|
-
if (u.u(a)) return /* @__PURE__ */ new Date();
|
|
69
|
-
if (a instanceof Date) return new Date(a);
|
|
70
|
-
if (typeof a == "string" && !/Z$/i.test(a)) {
|
|
71
|
-
var d = a.match(P);
|
|
72
|
-
if (d) {
|
|
73
|
-
var f = d[2] - 1 || 0, y = (d[7] || "0").substring(0, 3);
|
|
74
|
-
return c ? new Date(Date.UTC(d[1], f, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, y)) : new Date(d[1], f, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, y);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return new Date(a);
|
|
78
|
-
}(e), this.init();
|
|
79
|
-
}, s.init = function() {
|
|
80
|
-
var e = this.$d;
|
|
81
|
-
this.$y = e.getFullYear(), this.$M = e.getMonth(), this.$D = e.getDate(), this.$W = e.getDay(), this.$H = e.getHours(), this.$m = e.getMinutes(), this.$s = e.getSeconds(), this.$ms = e.getMilliseconds();
|
|
82
|
-
}, s.$utils = function() {
|
|
83
|
-
return u;
|
|
84
|
-
}, s.isValid = function() {
|
|
85
|
-
return this.$d.toString() !== L;
|
|
86
|
-
}, s.isSame = function(e, n) {
|
|
87
|
-
var a = v(e);
|
|
88
|
-
return this.startOf(n) <= a && a <= this.endOf(n);
|
|
89
|
-
}, s.isAfter = function(e, n) {
|
|
90
|
-
return v(e) < this.startOf(n);
|
|
91
|
-
}, s.isBefore = function(e, n) {
|
|
92
|
-
return this.endOf(n) < v(e);
|
|
93
|
-
}, s.$g = function(e, n, a) {
|
|
94
|
-
return u.u(e) ? this[n] : this.set(a, e);
|
|
95
|
-
}, s.unix = function() {
|
|
96
|
-
return Math.floor(this.valueOf() / 1e3);
|
|
97
|
-
}, s.valueOf = function() {
|
|
98
|
-
return this.$d.getTime();
|
|
99
|
-
}, s.startOf = function(e, n) {
|
|
100
|
-
var a = this, c = !!u.u(n) || n, d = u.p(e), f = function(C, S) {
|
|
101
|
-
var x = u.w(a.$u ? Date.UTC(a.$y, S, C) : new Date(a.$y, S, C), a);
|
|
102
|
-
return c ? x : x.endOf(F);
|
|
103
|
-
}, y = function(C, S) {
|
|
104
|
-
return u.w(a.toDate()[C].apply(a.toDate("s"), (c ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(S)), a);
|
|
105
|
-
}, $ = this.$W, M = this.$M, T = this.$D, j = "set" + (this.$u ? "UTC" : "");
|
|
106
|
-
switch (d) {
|
|
107
|
-
case w:
|
|
108
|
-
return c ? f(1, 0) : f(31, 11);
|
|
109
|
-
case k:
|
|
110
|
-
return c ? f(1, M) : f(0, M + 1);
|
|
111
|
-
case H:
|
|
112
|
-
var A = this.$locale().weekStart || 0, W = ($ < A ? $ + 7 : $) - A;
|
|
113
|
-
return f(c ? T - W : T + (6 - W), M);
|
|
114
|
-
case F:
|
|
115
|
-
case Y:
|
|
116
|
-
return y(j + "Hours", 0);
|
|
117
|
-
case p:
|
|
118
|
-
return y(j + "Minutes", 1);
|
|
119
|
-
case l:
|
|
120
|
-
return y(j + "Seconds", 2);
|
|
121
|
-
case g:
|
|
122
|
-
return y(j + "Milliseconds", 3);
|
|
123
|
-
default:
|
|
124
|
-
return this.clone();
|
|
125
|
-
}
|
|
126
|
-
}, s.endOf = function(e) {
|
|
127
|
-
return this.startOf(e, !1);
|
|
128
|
-
}, s.$set = function(e, n) {
|
|
129
|
-
var a, c = u.p(e), d = "set" + (this.$u ? "UTC" : ""), f = (a = {}, a[F] = d + "Date", a[Y] = d + "Date", a[k] = d + "Month", a[w] = d + "FullYear", a[p] = d + "Hours", a[l] = d + "Minutes", a[g] = d + "Seconds", a[h] = d + "Milliseconds", a)[c], y = c === F ? this.$D + (n - this.$W) : n;
|
|
130
|
-
if (c === k || c === w) {
|
|
131
|
-
var $ = this.clone().set(Y, 1);
|
|
132
|
-
$.$d[f](y), $.init(), this.$d = $.set(Y, Math.min(this.$D, $.daysInMonth())).$d;
|
|
133
|
-
} else f && this.$d[f](y);
|
|
134
|
-
return this.init(), this;
|
|
135
|
-
}, s.set = function(e, n) {
|
|
136
|
-
return this.clone().$set(e, n);
|
|
137
|
-
}, s.get = function(e) {
|
|
138
|
-
return this[u.p(e)]();
|
|
139
|
-
}, s.add = function(e, n) {
|
|
140
|
-
var a, c = this;
|
|
141
|
-
e = Number(e);
|
|
142
|
-
var d = u.p(n), f = function(M) {
|
|
143
|
-
var T = v(c);
|
|
144
|
-
return u.w(T.date(T.date() + Math.round(M * e)), c);
|
|
145
|
-
};
|
|
146
|
-
if (d === k) return this.set(k, this.$M + e);
|
|
147
|
-
if (d === w) return this.set(w, this.$y + e);
|
|
148
|
-
if (d === F) return f(1);
|
|
149
|
-
if (d === H) return f(7);
|
|
150
|
-
var y = (a = {}, a[l] = r, a[p] = i, a[g] = t, a)[d] || 1, $ = this.$d.getTime() + e * y;
|
|
151
|
-
return u.w($, this);
|
|
152
|
-
}, s.subtract = function(e, n) {
|
|
153
|
-
return this.add(-1 * e, n);
|
|
154
|
-
}, s.format = function(e) {
|
|
155
|
-
var n = this, a = this.$locale();
|
|
156
|
-
if (!this.isValid()) return a.invalidDate || L;
|
|
157
|
-
var c = e || "YYYY-MM-DDTHH:mm:ssZ", d = u.z(this), f = this.$H, y = this.$m, $ = this.$M, M = a.weekdays, T = a.months, j = a.meridiem, A = function(S, x, U, q) {
|
|
158
|
-
return S && (S[x] || S(n, c)) || U[x].slice(0, q);
|
|
159
|
-
}, W = function(S) {
|
|
160
|
-
return u.s(f % 12 || 12, S, "0");
|
|
161
|
-
}, C = j || function(S, x, U) {
|
|
162
|
-
var q = S < 12 ? "AM" : "PM";
|
|
163
|
-
return U ? q.toLowerCase() : q;
|
|
164
|
-
};
|
|
165
|
-
return c.replace(nt, function(S, x) {
|
|
166
|
-
return x || function(U) {
|
|
167
|
-
switch (U) {
|
|
168
|
-
case "YY":
|
|
169
|
-
return String(n.$y).slice(-2);
|
|
170
|
-
case "YYYY":
|
|
171
|
-
return u.s(n.$y, 4, "0");
|
|
172
|
-
case "M":
|
|
173
|
-
return $ + 1;
|
|
174
|
-
case "MM":
|
|
175
|
-
return u.s($ + 1, 2, "0");
|
|
176
|
-
case "MMM":
|
|
177
|
-
return A(a.monthsShort, $, T, 3);
|
|
178
|
-
case "MMMM":
|
|
179
|
-
return A(T, $);
|
|
180
|
-
case "D":
|
|
181
|
-
return n.$D;
|
|
182
|
-
case "DD":
|
|
183
|
-
return u.s(n.$D, 2, "0");
|
|
184
|
-
case "d":
|
|
185
|
-
return String(n.$W);
|
|
186
|
-
case "dd":
|
|
187
|
-
return A(a.weekdaysMin, n.$W, M, 2);
|
|
188
|
-
case "ddd":
|
|
189
|
-
return A(a.weekdaysShort, n.$W, M, 3);
|
|
190
|
-
case "dddd":
|
|
191
|
-
return M[n.$W];
|
|
192
|
-
case "H":
|
|
193
|
-
return String(f);
|
|
194
|
-
case "HH":
|
|
195
|
-
return u.s(f, 2, "0");
|
|
196
|
-
case "h":
|
|
197
|
-
return W(1);
|
|
198
|
-
case "hh":
|
|
199
|
-
return W(2);
|
|
200
|
-
case "a":
|
|
201
|
-
return C(f, y, !0);
|
|
202
|
-
case "A":
|
|
203
|
-
return C(f, y, !1);
|
|
204
|
-
case "m":
|
|
205
|
-
return String(y);
|
|
206
|
-
case "mm":
|
|
207
|
-
return u.s(y, 2, "0");
|
|
208
|
-
case "s":
|
|
209
|
-
return String(n.$s);
|
|
210
|
-
case "ss":
|
|
211
|
-
return u.s(n.$s, 2, "0");
|
|
212
|
-
case "SSS":
|
|
213
|
-
return u.s(n.$ms, 3, "0");
|
|
214
|
-
case "Z":
|
|
215
|
-
return d;
|
|
216
|
-
}
|
|
217
|
-
return null;
|
|
218
|
-
}(S) || d.replace(":", "");
|
|
219
|
-
});
|
|
220
|
-
}, s.utcOffset = function() {
|
|
221
|
-
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
|
|
222
|
-
}, s.diff = function(e, n, a) {
|
|
223
|
-
var c, d = this, f = u.p(n), y = v(e), $ = (y.utcOffset() - this.utcOffset()) * r, M = this - y, T = function() {
|
|
224
|
-
return u.m(d, y);
|
|
225
|
-
};
|
|
226
|
-
switch (f) {
|
|
227
|
-
case w:
|
|
228
|
-
c = T() / 12;
|
|
229
|
-
break;
|
|
230
|
-
case k:
|
|
231
|
-
c = T();
|
|
232
|
-
break;
|
|
233
|
-
case O:
|
|
234
|
-
c = T() / 3;
|
|
235
|
-
break;
|
|
236
|
-
case H:
|
|
237
|
-
c = (M - $) / 6048e5;
|
|
238
|
-
break;
|
|
239
|
-
case F:
|
|
240
|
-
c = (M - $) / 864e5;
|
|
241
|
-
break;
|
|
242
|
-
case p:
|
|
243
|
-
c = M / i;
|
|
244
|
-
break;
|
|
245
|
-
case l:
|
|
246
|
-
c = M / r;
|
|
247
|
-
break;
|
|
248
|
-
case g:
|
|
249
|
-
c = M / t;
|
|
250
|
-
break;
|
|
251
|
-
default:
|
|
252
|
-
c = M;
|
|
253
|
-
}
|
|
254
|
-
return a ? c : u.a(c);
|
|
255
|
-
}, s.daysInMonth = function() {
|
|
256
|
-
return this.endOf(k).$D;
|
|
257
|
-
}, s.$locale = function() {
|
|
258
|
-
return _[this.$L];
|
|
259
|
-
}, s.locale = function(e, n) {
|
|
260
|
-
if (!e) return this.$L;
|
|
261
|
-
var a = this.clone(), c = I(e, n, !0);
|
|
262
|
-
return c && (a.$L = c), a;
|
|
263
|
-
}, s.clone = function() {
|
|
264
|
-
return u.w(this.$d, this);
|
|
265
|
-
}, s.toDate = function() {
|
|
266
|
-
return new Date(this.valueOf());
|
|
267
|
-
}, s.toJSON = function() {
|
|
268
|
-
return this.isValid() ? this.toISOString() : null;
|
|
269
|
-
}, s.toISOString = function() {
|
|
270
|
-
return this.$d.toISOString();
|
|
271
|
-
}, s.toString = function() {
|
|
272
|
-
return this.$d.toUTCString();
|
|
273
|
-
}, o;
|
|
274
|
-
}(), G = N.prototype;
|
|
275
|
-
return v.prototype = G, [["$ms", h], ["$s", g], ["$m", l], ["$H", p], ["$W", F], ["$M", k], ["$y", w], ["$D", Y]].forEach(function(o) {
|
|
276
|
-
G[o[1]] = function(s) {
|
|
277
|
-
return this.$g(s, o[0], o[1]);
|
|
278
|
-
};
|
|
279
|
-
}), v.extend = function(o, s) {
|
|
280
|
-
return o.$i || (o(s, N, v), o.$i = !0), v;
|
|
281
|
-
}, v.locale = I, v.isDayjs = J, v.unix = function(o) {
|
|
282
|
-
return v(1e3 * o);
|
|
283
|
-
}, v.en = _[V], v.Ls = _, v.p = {}, v;
|
|
284
|
-
}()), at.exports));
|
|
285
|
-
function st(t, r) {
|
|
286
|
-
if (!t) return null;
|
|
287
|
-
const i = m(t);
|
|
288
|
-
return i.isValid() ? i.format(r) : null;
|
|
289
|
-
}
|
|
290
|
-
var mt = Object.defineProperty, yt = Object.getOwnPropertyDescriptor, D = (t, r, i, h) => {
|
|
291
|
-
for (var g, l = h > 1 ? void 0 : h ? yt(r, i) : r, p = t.length - 1; p >= 0; p--) (g = t[p]) && (l = (h ? g(r, i, l) : g(l)) || l);
|
|
292
|
-
return h && l && mt(r, i, l), l;
|
|
293
|
-
};
|
|
294
|
-
let b = class extends lt() {
|
|
295
|
-
constructor() {
|
|
296
|
-
super(...arguments), this.type = "date", this.dateFrom = { label: "From", value: "" }, this.dateTo = { label: "To", value: "" }, this.customPresets = [], this.disabled = !1, this.required = !1, this.placeholder = "Select date range", this.clearable = !0, this.isOpen = !1, this.selectedDateRange = "", this.activePreset = null, this.presetRanges = [];
|
|
297
|
-
}
|
|
298
|
-
connectedCallback() {
|
|
299
|
-
super.connectedCallback(), this.initPresetRanges();
|
|
300
|
-
const t = this.getDateFormat(), r = function(i, h, g) {
|
|
301
|
-
const l = st(i, g), p = st(h, g);
|
|
302
|
-
return { dateFrom: l, dateTo: p, isValid: l !== null && p !== null };
|
|
303
|
-
}(this.dateFrom.value, this.dateTo.value, t);
|
|
304
|
-
if (r.isValid) this.dateFrom.value = r.dateFrom, this.dateTo.value = r.dateTo, this.updateSelectedDateRange();
|
|
305
|
-
else {
|
|
306
|
-
const i = m().format(t);
|
|
307
|
-
this.dateFrom.value = i, this.dateTo.value = i, this.updateSelectedDateRange();
|
|
308
|
-
}
|
|
309
|
-
this.setupEventHandlers();
|
|
310
|
-
}
|
|
311
|
-
setupEventHandlers() {
|
|
312
|
-
K(document, "click").pipe(X(this.disconnecting)).subscribe((t) => {
|
|
313
|
-
!(this.isOpen && t.target instanceof Node) || this.contains(t.target) || this.dropdownRef && this.dropdownRef.contains(t.target) || this.closeDropdown();
|
|
314
|
-
}), K(document, "keydown").pipe(X(this.disconnecting)).subscribe((t) => {
|
|
315
|
-
this.isOpen && t.key === "Escape" && (this.closeDropdown(), t.preventDefault());
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
disconnectedCallback() {
|
|
319
|
-
var t;
|
|
320
|
-
super.disconnectedCallback(), (t = this.cleanupPositioner) == null || t.call(this);
|
|
321
|
-
}
|
|
322
|
-
updated(t) {
|
|
323
|
-
var r, i, h;
|
|
324
|
-
super.updated(t), !t.has("dateFrom") && !t.has("dateTo") || ((r = this.dateFrom) == null ? void 0 : r.value) === void 0 && ((i = this.dateTo) == null ? void 0 : i.value) === void 0 || this.updateSelectedDateRange(), t.has("isOpen") && (this.isOpen ? requestAnimationFrame(() => {
|
|
325
|
-
this.setupDropdownPosition();
|
|
326
|
-
}) : (h = this.cleanupPositioner) == null || h.call(this));
|
|
327
|
-
}
|
|
328
|
-
setupDropdownPosition() {
|
|
329
|
-
this.triggerRef && this.dropdownRef && (this.cleanupPositioner = ot(this.triggerRef, this.dropdownRef, () => {
|
|
330
|
-
ct(this.triggerRef, this.dropdownRef, { placement: "bottom-start", middleware: [dt(8), ut(), ht({ padding: 16 })] }).then(({ x: t, y: r }) => {
|
|
331
|
-
Object.assign(this.dropdownRef.style, { left: `${t}px`, top: `${r}px` });
|
|
332
|
-
});
|
|
333
|
-
}));
|
|
334
|
-
}
|
|
335
|
-
initPresetRanges() {
|
|
336
|
-
const t = this.getDateFormat();
|
|
337
|
-
this.presetRanges = [{ label: "Today", range: { dateFrom: m().startOf("day").format(t), dateTo: m().endOf("day").format(t) }, step: "day" }, { label: "Yesterday", range: { dateFrom: m().subtract(1, "days").startOf("day").format(t), dateTo: m().subtract(1, "days").endOf("day").format(t) }, step: "day" }, { label: "Last 7 Days", range: { dateFrom: m().subtract(6, "days").startOf("day").format(t), dateTo: m().endOf("day").format(t) }, step: "day" }, { label: "This Week", range: { dateFrom: m().startOf("week").format(t), dateTo: m().endOf("week").format(t) }, step: "week" }, { label: "Last Week", range: { dateFrom: m().subtract(1, "weeks").startOf("week").format(t), dateTo: m().subtract(1, "weeks").endOf("week").format(t) }, step: "week" }, { label: "This Month", range: { dateFrom: m().startOf("month").format(t), dateTo: m().endOf("month").format(t) }, step: "month" }, { label: "Last Month", range: { dateFrom: m().subtract(1, "month").startOf("month").format(t), dateTo: m().subtract(1, "month").endOf("month").format(t) }, step: "month" }], this.customPresets && this.customPresets.length > 0 && this.presetRanges.push(...this.customPresets.map((r) => ({ label: r.label, range: { dateFrom: r.dateFrom, dateTo: r.dateTo }, step: "day" })));
|
|
338
|
-
}
|
|
339
|
-
getDateFormat() {
|
|
340
|
-
return this.format || (this.type === "date" ? "YYYY-MM-DD" : "YYYY-MM-DDTHH:mm");
|
|
341
|
-
}
|
|
342
|
-
updateSelectedDateRange() {
|
|
343
|
-
const t = this.presetRanges.find((l) => l.range.dateFrom === this.dateFrom.value && l.range.dateTo === this.dateTo.value);
|
|
344
|
-
if (t) return this.selectedDateRange = t.label, void (this.activePreset = t.label);
|
|
345
|
-
if (this.checkAndUpdateActivePreset(this.dateFrom.value, this.dateTo.value), this.activePreset = null, !this.dateFrom.value || !this.dateTo.value) return void (this.selectedDateRange = this.placeholder);
|
|
346
|
-
const r = m(this.dateFrom.value), i = m(this.dateTo.value);
|
|
347
|
-
if (!r.isValid() || !i.isValid()) return void (this.selectedDateRange = this.placeholder);
|
|
348
|
-
const h = this.type === "datetime-local" ? r.format(" h:mm A") : "", g = this.type === "datetime-local" ? i.format(" h:mm A") : "";
|
|
349
|
-
r.isSame(i, "day") ? this.selectedDateRange = `${r.format("MMM D, YYYY")}${h}` : r.isSame(i, "month") && r.isSame(i, "year") ? this.selectedDateRange = `${r.format("MMM D")}-${i.format("D, YYYY")}${g}` : r.isSame(i, "year") ? this.selectedDateRange = `${r.format("MMM D")} - ${i.format("MMM D, YYYY")}${g}` : this.selectedDateRange = `${r.format("MMM D, YYYY")}${h} - ${i.format("MMM D, YYYY")}${g}`;
|
|
350
|
-
}
|
|
351
|
-
setDateRange(t, r) {
|
|
352
|
-
this.dateFrom.value = t, this.dateTo.value = r, this.updateSelectedDateRange(), this.dispatchEvent(new CustomEvent("change", { detail: { dateFrom: t, dateTo: r }, bubbles: !0, composed: !0 }));
|
|
353
|
-
}
|
|
354
|
-
handlePresetSelection(t, r) {
|
|
355
|
-
r.stopPropagation(), this.activePreset = t.label, this.setDateRange(t.range.dateFrom, t.range.dateTo), this.closeDropdown();
|
|
356
|
-
}
|
|
357
|
-
handleClearSelection(t) {
|
|
358
|
-
t.stopPropagation(), this.setDateRange("", ""), this.activePreset = null, this.selectedDateRange = this.placeholder;
|
|
359
|
-
}
|
|
360
|
-
toggleDropdown(t) {
|
|
361
|
-
t.stopPropagation(), this.disabled || (this.isOpen ? this.closeDropdown() : this.openDropdown());
|
|
362
|
-
}
|
|
363
|
-
openDropdown() {
|
|
364
|
-
this.disabled || (this.isOpen = !0);
|
|
365
|
-
}
|
|
366
|
-
closeDropdown() {
|
|
367
|
-
this.isOpen = !1;
|
|
368
|
-
}
|
|
369
|
-
shiftDateRange(t, r) {
|
|
370
|
-
if (r.stopPropagation(), !this.dateFrom.value || !this.dateTo.value) return;
|
|
371
|
-
const i = m(this.dateFrom.value), h = m(this.dateTo.value);
|
|
372
|
-
if (!i.isValid() || !h.isValid()) return;
|
|
373
|
-
const g = this.getDateFormat();
|
|
374
|
-
let l = "day", p = 1;
|
|
375
|
-
const F = this.presetRanges.find((P) => P.label === this.activePreset), H = i.date() === 1 && h.isSame(i.endOf("month"), "day"), k = i.day() === 0 && h.day() === 6 && h.diff(i, "days") === 6;
|
|
376
|
-
if (F) l = F.step, p = 1;
|
|
377
|
-
else {
|
|
378
|
-
const P = h.diff(i, "day");
|
|
379
|
-
P >= 30 ? (l = "month", p = Math.round(P / 30)) : P >= 7 ? (l = "week", p = Math.round(P / 7)) : (l = "day", p = P + 1);
|
|
380
|
-
}
|
|
381
|
-
let O, w;
|
|
382
|
-
l === "month" || H ? t > 0 ? (O = i.add(p, "month").startOf("month"), w = O.endOf("month")) : (O = i.subtract(p, "month").startOf("month"), w = O.endOf("month")) : l === "week" || k ? t > 0 ? (O = i.add(p, "week").startOf("week"), w = O.endOf("week")) : (O = i.subtract(p, "week").startOf("week"), w = O.endOf("week")) : t > 0 ? (O = i.add(p, "day"), w = h.add(p, "day")) : (O = i.subtract(p, "day"), w = h.subtract(p, "day"));
|
|
383
|
-
const Y = O.format(g), L = w.format(g);
|
|
384
|
-
this.setDateRange(Y, L), this.checkAndUpdateActivePreset(Y, L);
|
|
385
|
-
}
|
|
386
|
-
checkAndUpdateActivePreset(t, r) {
|
|
387
|
-
const i = this.presetRanges.find((h) => h.range.dateFrom === t && h.range.dateTo === r);
|
|
388
|
-
this.activePreset = i ? i.label : null;
|
|
389
|
-
}
|
|
390
|
-
applyManualDateSelection(t) {
|
|
391
|
-
t.stopPropagation();
|
|
392
|
-
const r = m(this.dateFrom.value), i = m(this.dateTo.value);
|
|
393
|
-
r.isValid() && i.isValid() && (r.isAfter(i) ? this.setDateRange(i.format(this.getDateFormat()), r.format(this.getDateFormat())) : this.setDateRange(this.dateFrom.value, this.dateTo.value), this.closeDropdown());
|
|
394
|
-
}
|
|
395
|
-
render() {
|
|
396
|
-
return E`
|
|
397
|
-
<div class="relative ${this.disabled ? "opacity-60 pointer-events-none" : ""}">
|
|
398
|
-
<!-- Trigger using the preferred schmancy-grid pattern -->
|
|
399
|
-
<div class="trigger-container">
|
|
400
|
-
<schmancy-grid @click=${(t) => t.stopPropagation()} align="center" cols="auto 1fr auto">
|
|
401
|
-
<schmancy-icon-button
|
|
402
|
-
type="button"
|
|
403
|
-
aria-label="Shift date range backward"
|
|
404
|
-
@click=${(t) => this.shiftDateRange(-1, t)}
|
|
405
|
-
>
|
|
406
|
-
arrow_left
|
|
407
|
-
</schmancy-icon-button>
|
|
408
|
-
|
|
409
|
-
<schmancy-button
|
|
410
|
-
class="w-max"
|
|
411
|
-
variant="outlined"
|
|
412
|
-
type="button"
|
|
413
|
-
aria-haspopup="menu"
|
|
414
|
-
aria-expanded=${this.isOpen}
|
|
415
|
-
@click=${(t) => this.toggleDropdown(t)}
|
|
416
|
-
>
|
|
417
|
-
${this.selectedDateRange || this.placeholder}
|
|
418
|
-
</schmancy-button>
|
|
419
|
-
|
|
420
|
-
<schmancy-icon-button
|
|
421
|
-
type="button"
|
|
422
|
-
aria-label="Shift date range forward"
|
|
423
|
-
@click=${(t) => this.shiftDateRange(1, t)}
|
|
424
|
-
>
|
|
425
|
-
arrow_right
|
|
426
|
-
</schmancy-icon-button>
|
|
427
|
-
</schmancy-grid>
|
|
428
|
-
</div>
|
|
429
|
-
|
|
430
|
-
<!-- Dropdown -->
|
|
431
|
-
${this.isOpen ? E`
|
|
432
|
-
<schmancy-surface
|
|
433
|
-
class="dropdown absolute z-50 mt-1 min-w-64 max-w-96"
|
|
434
|
-
rounded="all"
|
|
435
|
-
elevation="3"
|
|
436
|
-
type="containerHigh"
|
|
437
|
-
@click="${(t) => t.stopPropagation()}"
|
|
438
|
-
role="dialog"
|
|
439
|
-
aria-label="Date range picker"
|
|
440
|
-
>
|
|
441
|
-
<!-- Presets view -->
|
|
442
|
-
<div class="p-4">
|
|
443
|
-
<schmancy-grid gap="sm" class="mb-4">
|
|
444
|
-
${this.presetRanges.map((t) => E`
|
|
445
|
-
<schmancy-button
|
|
446
|
-
variant="${this.activePreset === t.label ? "filled tonal" : "text"}"
|
|
447
|
-
width="full"
|
|
448
|
-
class="text-left justify-start"
|
|
449
|
-
@click="${(r) => this.handlePresetSelection(t, r)}"
|
|
450
|
-
>
|
|
451
|
-
<schmancy-typography type="body" token="md"> ${t.label} </schmancy-typography>
|
|
452
|
-
</schmancy-button>
|
|
453
|
-
`)}
|
|
454
|
-
</schmancy-grid>
|
|
455
|
-
|
|
456
|
-
<!-- Manual date inputs -->
|
|
457
|
-
<schmancy-grid gap="md" cols="1fr 1fr" class="mb-4">
|
|
458
|
-
<schmancy-input
|
|
459
|
-
type="${this.type}"
|
|
460
|
-
label="${this.dateFrom.label || "From"}"
|
|
461
|
-
.value="${this.dateFrom.value}"
|
|
462
|
-
min="${z(this.minDate)}"
|
|
463
|
-
max="${z(this.maxDate)}"
|
|
464
|
-
@change="${(t) => {
|
|
465
|
-
t.stopPropagation(), this.dateFrom.value = t.detail.value, this.updateSelectedDateRange();
|
|
466
|
-
}}"
|
|
467
|
-
></schmancy-input>
|
|
468
|
-
|
|
469
|
-
<schmancy-input
|
|
470
|
-
type="${this.type}"
|
|
471
|
-
label="${this.dateTo.label || "To"}"
|
|
472
|
-
.value="${this.dateTo.value}"
|
|
473
|
-
min="${z(this.dateFrom.value)}"
|
|
474
|
-
max="${z(this.maxDate)}"
|
|
475
|
-
@change="${(t) => {
|
|
476
|
-
t.stopPropagation(), this.dateTo.value = t.detail.value, this.updateSelectedDateRange();
|
|
477
|
-
}}"
|
|
478
|
-
></schmancy-input>
|
|
479
|
-
</schmancy-grid>
|
|
480
|
-
|
|
481
|
-
<!-- Action buttons -->
|
|
482
|
-
<div class="flex justify-between">
|
|
483
|
-
${this.clearable ? E`
|
|
484
|
-
<schmancy-button variant="text" @click="${(t) => this.handleClearSelection(t)}">
|
|
485
|
-
Clear
|
|
486
|
-
</schmancy-button>
|
|
487
|
-
` : E`<div></div>`}
|
|
488
|
-
|
|
489
|
-
<div class="flex space-x-2">
|
|
490
|
-
<schmancy-button
|
|
491
|
-
variant="text"
|
|
492
|
-
@click="${(t) => {
|
|
493
|
-
t.stopPropagation(), this.closeDropdown();
|
|
494
|
-
}}"
|
|
495
|
-
>
|
|
496
|
-
Cancel
|
|
497
|
-
</schmancy-button>
|
|
498
|
-
|
|
499
|
-
<schmancy-button variant="filled" @click="${(t) => this.applyManualDateSelection(t)}">
|
|
500
|
-
Apply
|
|
501
|
-
</schmancy-button>
|
|
502
|
-
</div>
|
|
503
|
-
</div>
|
|
504
|
-
</div>
|
|
505
|
-
</schmancy-surface>
|
|
506
|
-
` : ""}
|
|
507
|
-
</div>
|
|
508
|
-
`;
|
|
509
|
-
}
|
|
510
|
-
};
|
|
511
|
-
D([R({ type: String })], b.prototype, "type", 2), D([R({ type: Object })], b.prototype, "dateFrom", 2), D([R({ type: Object })], b.prototype, "dateTo", 2), D([R({ type: String })], b.prototype, "minDate", 2), D([R({ type: String })], b.prototype, "maxDate", 2), D([R({ type: Array })], b.prototype, "customPresets", 2), D([R({ type: String })], b.prototype, "format", 2), D([R({ type: Boolean })], b.prototype, "disabled", 2), D([R({ type: Boolean })], b.prototype, "required", 2), D([R({ type: String })], b.prototype, "placeholder", 2), D([R({ type: Boolean })], b.prototype, "clearable", 2), D([Z()], b.prototype, "isOpen", 2), D([Z()], b.prototype, "selectedDateRange", 2), D([Z()], b.prototype, "activePreset", 2), D([tt(".trigger-container")], b.prototype, "triggerRef", 2), D([tt(".dropdown")], b.prototype, "dropdownRef", 2), b = D([pt("schmancy-date-range")], b);
|
|
512
|
-
export {
|
|
513
|
-
b as S
|
|
514
|
-
};
|
|
515
|
-
//# sourceMappingURL=date-range-DuNzj96P.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-DuNzj96P.js","sources":["../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/dayjs.min.js","../src/date-range/date-utils.ts","../src/date-range/date-range.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import dayjs from 'dayjs'\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 = dayjs(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 { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport { html, PropertyValues } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { fromEvent, takeUntil } from 'rxjs'\nimport { validateInitialDateRange } from './date-utils'\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n/**\n * A date range selector that supports presets and manual date input.\n *\n * @element schmancy-date-range\n * @fires change - Fired when the date range changes with dateFrom and dateTo values\n */\n@customElement('schmancy-date-range')\nexport class SchmancyDateRange extends $LitElement() {\n\t// Core properties\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t// Enhanced functionality\n\t@property({ type: Array }) customPresets: Array<{\n\t\tlabel: string\n\t\tdateFrom: string\n\t\tdateTo: string\n\t}> = []\n\t@property({ type: String }) format?: string\n\t@property({ type: Boolean }) disabled = false\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = 'Select date range'\n\t@property({ type: Boolean }) clearable = true\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private selectedDateRange: string = ''\n\t@state() private activePreset: string | null = null\n\n\t// Default presets\n\tprivate presetRanges: Array<{\n\t\tlabel: string\n\t\trange: { dateFrom: string; dateTo: string }\n\t\tstep: dayjs.OpUnitType\n\t}> = []\n\n\t// DOM references\n\t@query('.trigger-container') private triggerRef!: HTMLElement\n\t@query('.dropdown') private dropdownRef!: HTMLElement\n\n\t// Positioning cleanup\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\n\t\t// Validate initial date range\n\t\tconst dateFormat = this.getDateFormat() as 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\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\tconst now = dayjs().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\n\t\t// Set up global event handlers using RxJS\n\t\tthis.setupEventHandlers()\n\t}\n\n\tprivate setupEventHandlers() {\n\t\t// Close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tif (\n\t\t\t\t\tthis.isOpen &&\n\t\t\t\t\tevent.target instanceof Node &&\n\t\t\t\t\t!this.contains(event.target) &&\n\t\t\t\t\t(!this.dropdownRef || !this.dropdownRef.contains(event.target as Node))\n\t\t\t\t) {\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}\n\t\t\t})\n\n\t\t// Handle keyboard navigation\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tif (!this.isOpen) return\n\n\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\tthis.cleanupPositioner?.()\n\t}\n\n\tupdated(changedProps: PropertyValues) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (\n\t\t\t(changedProps.has('dateFrom') || changedProps.has('dateTo')) &&\n\t\t\t(this.dateFrom?.value !== undefined || this.dateTo?.value !== undefined)\n\t\t) {\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\n\t\tif (changedProps.has('isOpen')) {\n\t\t\tif (this.isOpen) {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tthis.setupDropdownPosition()\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate setupDropdownPosition() {\n\t\tif (!this.triggerRef || !this.dropdownRef) return\n\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerRef, this.dropdownRef, () => {\n\t\t\tcomputePosition(this.triggerRef, this.dropdownRef, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(8), flip(), shift({ padding: 16 })],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\tObject.assign(this.dropdownRef.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tthis.presetRanges = [\n\t\t\t{\n\t\t\t\tlabel: 'Today',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\n\t\t\t\t\tdateTo: dayjs().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: 'Yesterday',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: dayjs().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: 'Last 7 Days',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().subtract(6, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: dayjs().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: dayjs().startOf('week').format(format),\n\t\t\t\t\tdateTo: dayjs().endOf('week').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: dayjs().subtract(1, 'weeks').startOf('week').format(format),\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').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: dayjs().startOf('month').format(format),\n\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'month',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Last Month',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'month').startOf('month').format(format),\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'month').endOf('month').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'month',\n\t\t\t},\n\t\t]\n\n\t\t// Add custom presets if provided\n\t\tif (this.customPresets && this.customPresets.length > 0) {\n\t\t\tthis.presetRanges.push(\n\t\t\t\t...this.customPresets.map(preset => ({\n\t\t\t\t\tlabel: preset.label,\n\t\t\t\t\trange: {\n\t\t\t\t\t\tdateFrom: preset.dateFrom,\n\t\t\t\t\t\tdateTo: preset.dateTo,\n\t\t\t\t\t},\n\t\t\t\t\tstep: 'day' as dayjs.OpUnitType, // Default step\n\t\t\t\t})),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate getDateFormat(): string {\n\t\treturn this.format || (this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t}\n\n\t/**\n\t * Creates a concise display format for the selected date range\n\t */\n\tprivate updateSelectedDateRange() {\n\t\t// Find matching preset\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\n\t\tif (preset) {\n\t\t\t// If matches a preset, just use the preset name\n\t\t\tthis.selectedDateRange = preset.label\n\t\t\tthis.activePreset = preset.label\n\t\t\treturn\n\t\t}\n\n\t\t// If we didn't find a preset match, check if we should update the active preset\n\t\tthis.checkAndUpdateActivePreset(this.dateFrom.value, this.dateTo.value)\n\n\t\t// Custom date range - create concise format\n\t\tthis.activePreset = null\n\n\t\tif (!this.dateFrom.value || !this.dateTo.value) {\n\t\t\tthis.selectedDateRange = this.placeholder\n\t\t\treturn\n\t\t}\n\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) {\n\t\t\tthis.selectedDateRange = this.placeholder\n\t\t\treturn\n\t\t}\n\n\t\t// Format times if needed (for datetime-local)\n\t\tconst fromTime = this.type === 'datetime-local' ? fromDate.format(' h:mm A') : ''\n\t\tconst toTime = this.type === 'datetime-local' ? toDate.format(' h:mm A') : ''\n\n\t\t// Check if same day\n\t\tif (fromDate.isSame(toDate, 'day')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D, YYYY')}${fromTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Check if same month and year\n\t\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D')}-${toDate.format('D, YYYY')}${toTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Check if same year\n\t\tif (fromDate.isSame(toDate, 'year')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D')} - ${toDate.format('MMM D, YYYY')}${toTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Different years\n\t\tthis.selectedDateRange = `${fromDate.format('MMM D, YYYY')}${fromTime} - ${toDate.format('MMM D, YYYY')}${toTime}`\n\t}\n\n\tprivate setDateRange(dateFrom: string, dateTo: string) {\n\t\tthis.dateFrom.value = dateFrom\n\t\tthis.dateTo.value = dateTo\n\t\tthis.updateSelectedDateRange()\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<{ dateFrom: string; dateTo: string }>('change', {\n\t\t\t\tdetail: { dateFrom, dateTo },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\n\t\t// Debug log to help with development\n\t\t// console.log('Date range set:', {\n\t\t// dateFrom,\n\t\t// dateTo,\n\t\t// preset: this.activePreset,\n\t\t// display: this.selectedDateRange\n\t\t// })\n\t}\n\n\tprivate handlePresetSelection(preset: { label: string; range: { dateFrom: string; dateTo: string } }, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.activePreset = preset.label\n\t\tthis.setDateRange(preset.range.dateFrom, preset.range.dateTo)\n\t\tthis.closeDropdown()\n\t}\n\n\tprivate handleClearSelection(e: Event) {\n\t\te.stopPropagation()\n\t\tconst emptyDate = ''\n\t\tthis.setDateRange(emptyDate, emptyDate)\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = this.placeholder\n\t}\n\n\tprivate toggleDropdown(e: Event) {\n\t\te.stopPropagation()\n\t\tif (this.disabled) return\n\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown()\n\t\t} else {\n\t\t\tthis.openDropdown()\n\t\t}\n\t}\n\n\tprivate openDropdown() {\n\t\tif (this.disabled) return\n\t\tthis.isOpen = true\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t}\n\n\t/**\n\t * Shifts the date range based on its type (preset or custom)\n\t * Improved to respect the unit (day, week, month) of presets\n\t * For custom ranges, it shifts by the exact range duration\n\t */\n\tprivate shiftDateRange(direction: number, e: Event) {\n\t\te.stopPropagation()\n\n\t\tif (!this.dateFrom.value || !this.dateTo.value) return\n\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) return\n\n\t\tconst format = this.getDateFormat()\n\t\tlet unit: dayjs.ManipulateType = 'day'\n\t\tlet amount = 1\n\n\t\t// For preset ranges, use their specific step unit\n\t\tconst activePreset = this.presetRanges.find(p => p.label === this.activePreset)\n\n\t\t// Detect if the date range represents a full month or full week\n\t\tconst isFullMonth = fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day')\n\t\tconst isFullWeek = fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6\n\n\t\tif (activePreset) {\n\t\t\t// Use the preset's specific unit (day, week, month)\n\t\t\tunit = activePreset.step as dayjs.ManipulateType\n\t\t\tamount = 1 // For presets, we shift by one unit (e.g. one month, one week)\n\t\t} else {\n\t\t\t// For custom ranges, calculate the exact range duration in days\n\t\t\tconst rangeDurationInDays = toDate.diff(fromDate, 'day')\n\n\t\t\t// For longer ranges (>30 days), use months\n\t\t\tif (rangeDurationInDays >= 30) {\n\t\t\t\tunit = 'month'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 30)\n\t\t\t}\n\t\t\t// For medium ranges (>7 days), use weeks\n\t\t\telse if (rangeDurationInDays >= 7) {\n\t\t\t\tunit = 'week'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 7)\n\t\t\t}\n\t\t\t// For shorter ranges, use days\n\t\t\telse {\n\t\t\t\tunit = 'day'\n\t\t\t\tamount = rangeDurationInDays + 1 // Include both start and end days\n\t\t\t}\n\t\t}\n\n\t\t// Calculate new dates based on unit type\n\t\tlet newFromDate, newToDate\n\n\t\tif (unit === 'month' || isFullMonth) {\n\t\t\t// For month-based shifting, always work with full months\n\t\t\tif (direction > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'month').startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'month').startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t}\n\t\t} else if (unit === 'week' || isFullWeek) {\n\t\t\t// For week-based shifting, always work with full weeks\n\t\t\tif (direction > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'week').startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'week').startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t}\n\t\t} else {\n\t\t\t// For day-based shifting\n\t\t\tif (direction > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'day')\n\t\t\t\tnewToDate = toDate.add(amount, 'day')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'day')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'day')\n\t\t\t}\n\t\t}\n\n\t\t// Format the new dates and update the range\n\t\tconst newFromDateStr = newFromDate.format(format)\n\t\tconst newToDateStr = newToDate.format(format)\n\n\t\t// Set new date range\n\t\tthis.setDateRange(newFromDateStr, newToDateStr)\n\n\t\t// Check if the new date range matches a preset, and update activePreset if needed\n\t\tthis.checkAndUpdateActivePreset(newFromDateStr, newToDateStr)\n\t}\n\n\t/**\n\t * Checks if the current date range matches any predefined preset,\n\t * and updates the activePreset accordingly\n\t */\n\tprivate checkAndUpdateActivePreset(fromDate: string, toDate: string) {\n\t\t// Find a preset that matches the current date range\n\t\tconst matchingPreset = this.presetRanges.find(\n\t\t\tpreset => preset.range.dateFrom === fromDate && preset.range.dateTo === toDate,\n\t\t)\n\n\t\tif (matchingPreset) {\n\t\t\tthis.activePreset = matchingPreset.label\n\t\t} else {\n\t\t\tthis.activePreset = null\n\t\t}\n\t}\n\n\tprivate applyManualDateSelection(e: Event) {\n\t\te.stopPropagation()\n\t\t// Validate dates before applying\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) {\n\t\t\treturn\n\t\t}\n\n\t\t// Ensure from date is before to date\n\t\tif (fromDate.isAfter(toDate)) {\n\t\t\tthis.setDateRange(toDate.format(this.getDateFormat()), fromDate.format(this.getDateFormat()))\n\t\t} else {\n\t\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\t}\n\n\t\tthis.closeDropdown()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative ${this.disabled ? 'opacity-60 pointer-events-none' : ''}\">\n\t\t\t\t<!-- Trigger using the preferred schmancy-grid pattern -->\n\t\t\t\t<div class=\"trigger-container\">\n\t\t\t\t\t<schmancy-grid @click=${(event: Event) => event.stopPropagation()} align=\"center\" cols=\"auto 1fr auto\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Shift date range backward\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(-1, e)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_left\n\t\t\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\tclass=\"w-max\"\n\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\t\t\t@click=${(e: Event) => this.toggleDropdown(e)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${this.selectedDateRange || this.placeholder}\n\t\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Shift date range forward\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_right\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t</schmancy-grid>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Dropdown -->\n\t\t\t\t${this.isOpen\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-surface\n\t\t\t\t\t\t\t\tclass=\"dropdown absolute z-50 mt-1 min-w-64 max-w-96\"\n\t\t\t\t\t\t\t\trounded=\"all\"\n\t\t\t\t\t\t\t\televation=\"3\"\n\t\t\t\t\t\t\t\ttype=\"containerHigh\"\n\t\t\t\t\t\t\t\t@click=\"${(e: Event) => e.stopPropagation()}\"\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-label=\"Date range picker\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<!-- Presets view -->\n\t\t\t\t\t\t\t\t<div class=\"p-4\">\n\t\t\t\t\t\t\t\t\t<schmancy-grid gap=\"sm\" class=\"mb-4\">\n\t\t\t\t\t\t\t\t\t\t${this.presetRanges.map(\n\t\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"${this.activePreset === preset.label ? 'filled tonal' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"text-left justify-start\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${(e: Event) => this.handlePresetSelection(preset, e)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"body\" token=\"md\"> ${preset.label} </schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\n\t\t\t\t\t\t\t\t\t<!-- Manual date inputs -->\n\t\t\t\t\t\t\t\t\t<schmancy-grid gap=\"md\" cols=\"1fr 1fr\" class=\"mb-4\">\n\t\t\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"${this.dateFrom.label || 'From'}\"\n\t\t\t\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dateFrom.value = e.detail.value\n\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSelectedDateRange()\n\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"${this.dateTo.label || 'To'}\"\n\t\t\t\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dateTo.value = e.detail.value\n\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSelectedDateRange()\n\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\n\t\t\t\t\t\t\t\t\t<!-- Action buttons -->\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-between\">\n\t\t\t\t\t\t\t\t\t\t${this.clearable\n\t\t\t\t\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"text\" @click=\"${(e: Event) => this.handleClearSelection(e)}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t\t\t: html`<div></div>`}\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"flex space-x-2\">\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"filled\" @click=\"${(e: Event) => this.applyManualDateSelection(e)}\">\n\t\t\t\t\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</schmancy-surface>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\t\t\t</div>\n\t\t`\n\t}\n}\n"],"names":["t","e","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","enforceDateFormat","dateString","expectedFormat","parsedDate","dayjs","SchmancyDateRange","$LitElement","constructor","super","type","dateFrom","label","value","dateTo","customPresets","disabled","required","placeholder","clearable","isOpen","selectedDateRange","activePreset","presetRanges","connectedCallback","initPresetRanges","dateFormat","getDateFormat","validatedRange","formattedDateFrom","formattedDateTo","updateSelectedDateRange","now","setupEventHandlers","fromEvent","document","pipe","takeUntil","disconnecting","subscribe","event","target","Node","contains","dropdownRef","closeDropdown","key","preventDefault","disconnectedCallback","cleanupPositioner","changedProps","updated","has","requestAnimationFrame","setupDropdownPosition","triggerRef","autoUpdate","computePosition","placement","middleware","offset","flip","shift","padding","then","Object","assign","style","left","top","range","step","push","map","preset","find","checkAndUpdateActivePreset","fromDate","fromTime","toTime","dispatchEvent","CustomEvent","detail","bubbles","composed","stopPropagation","setDateRange","openDropdown","direction","unit","amount","isFullMonth","isFullWeek","day","rangeDurationInDays","newFromDate","newToDate","newFromDateStr","newToDateStr","matchingPreset","render","html","shiftDateRange","toggleDropdown","handlePresetSelection","ifDefined","minDate","maxDate","handleClearSelection","applyManualDateSelection","__decorateClass","property","Boolean","state","query","customElement"],"mappings":"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","x_google_ignoreList":[0]}
|