@mhmo91/schmancy 0.2.59 → 0.2.61
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-Cmg2mI3S.js → animated-text-C1UstA51.js} +3 -3
- package/dist/{animated-text-Cmg2mI3S.js.map → animated-text-C1UstA51.js.map} +1 -1
- package/dist/{animated-text-CvQB_OPX.cjs → animated-text-k30n5ffs.cjs} +2 -2
- package/dist/{animated-text-CvQB_OPX.cjs.map → animated-text-k30n5ffs.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-CWwc52Uy.cjs → area.component-CDyk4TQX.cjs} +2 -2
- package/dist/{area.component-CWwc52Uy.cjs.map → area.component-CDyk4TQX.cjs.map} +1 -1
- package/dist/{area.component-DA7Ghcl8.js → area.component-TDK2-3sf.js} +3 -3
- package/dist/{area.component-DA7Ghcl8.js.map → area.component-TDK2-3sf.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-BYaStWXT.js → autocomplete-BdqEtlUZ.js} +3 -3
- package/dist/{autocomplete-BYaStWXT.js.map → autocomplete-BdqEtlUZ.js.map} +1 -1
- package/dist/{autocomplete-B29VQiPY.cjs → autocomplete-Cwn1Bwj7.cjs} +2 -2
- package/dist/{autocomplete-B29VQiPY.cjs.map → autocomplete-Cwn1Bwj7.cjs.map} +1 -1
- 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-BNi0XYlX.cjs → checkbox-g8T27Ih6.cjs} +2 -2
- package/dist/{checkbox-BNi0XYlX.cjs.map → checkbox-g8T27Ih6.cjs.map} +1 -1
- package/dist/{checkbox-BDRhgA8Q.js → checkbox-kWG8GEGF.js} +2 -2
- package/dist/{checkbox-BDRhgA8Q.js.map → checkbox-kWG8GEGF.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-BbMv4qYo.cjs → chips-8G-fC-BB.cjs} +2 -2
- package/dist/{chips-BbMv4qYo.cjs.map → chips-8G-fC-BB.cjs.map} +1 -1
- package/dist/{chips-DLKWllS2.js → chips-CcVWASnN.js} +3 -3
- package/dist/{chips-DLKWllS2.js.map → chips-CcVWASnN.js.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-DT5Gc-8v.cjs +72 -0
- package/dist/date-range-DT5Gc-8v.cjs.map +1 -0
- package/dist/date-range-DmaG6n9K.js +166 -0
- package/dist/date-range-DmaG6n9K.js.map +1 -0
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-D_NrsrNB.js → delay-3BI6NTLb.js} +2 -2
- package/dist/{delay-D_NrsrNB.js.map → delay-3BI6NTLb.js.map} +1 -1
- package/dist/{delay-CbylHdl-.cjs → delay-Dcxd6izx.cjs} +2 -2
- package/dist/{delay-CbylHdl-.cjs.map → delay-Dcxd6izx.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{divider-BPWZZ0t2.cjs → divider-2FKklOvJ.cjs} +2 -2
- package/dist/{divider-BPWZZ0t2.cjs.map → divider-2FKklOvJ.cjs.map} +1 -1
- package/dist/{divider-D2GJitrx.js → divider-BoSDlAmp.js} +3 -3
- package/dist/{divider-D2GJitrx.js.map → divider-BoSDlAmp.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{flex-DL52jmYy.js → flex-Rc813PWc.js} +2 -2
- package/dist/{flex-DL52jmYy.js.map → flex-Rc813PWc.js.map} +1 -1
- package/dist/{flex-DICGGeg0.cjs → flex-wH1HLvFA.cjs} +2 -2
- package/dist/{flex-DICGGeg0.cjs.map → flex-wH1HLvFA.cjs.map} +1 -1
- package/dist/{form-BA83AMjT.js → form-BphauHSv.js} +2 -2
- package/dist/{form-BA83AMjT.js.map → form-BphauHSv.js.map} +1 -1
- package/dist/{form-BeLadN-A.cjs → form-C0uDoLE1.cjs} +2 -2
- package/dist/{form-BeLadN-A.cjs.map → form-C0uDoLE1.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-BOUn9Lbw.cjs → icon-CLgg4kma.cjs} +2 -2
- package/dist/{icon-BOUn9Lbw.cjs.map → icon-CLgg4kma.cjs.map} +1 -1
- package/dist/{icon-BVEUJQHT.js → icon-ClskDmBq.js} +3 -3
- package/dist/{icon-BVEUJQHT.js.map → icon-ClskDmBq.js.map} +1 -1
- package/dist/{icon-button-CaEPMYHW.cjs → icon-button-BkNubwVr.cjs} +2 -2
- package/dist/{icon-button-CaEPMYHW.cjs.map → icon-button-BkNubwVr.cjs.map} +1 -1
- package/dist/{icon-button-DIGpWi22.js → icon-button-DTmOv8Ny.js} +3 -3
- package/dist/{icon-button-DIGpWi22.js.map → icon-button-DTmOv8Ny.js.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 +33 -33
- package/dist/{input-BrLbi5wu.cjs → input-BqSrvFYo.cjs} +2 -2
- package/dist/{input-BrLbi5wu.cjs.map → input-BqSrvFYo.cjs.map} +1 -1
- package/dist/{input-D_30_4Cf.js → input-DMV5Kg7d.js} +2 -2
- package/dist/{input-D_30_4Cf.js.map → input-DMV5Kg7d.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-DjB7q6Qk.js → list-CZlRzIBI.js} +2 -2
- package/dist/{list-DjB7q6Qk.js.map → list-CZlRzIBI.js.map} +1 -1
- package/dist/{list-CQJYVqBV.cjs → list-CkruFXk2.cjs} +2 -2
- package/dist/{list-CQJYVqBV.cjs.map → list-CkruFXk2.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-UoPWmzJY.cjs → litElement.mixin-AiJtwDLp.cjs} +2 -2
- package/dist/{litElement.mixin-UoPWmzJY.cjs.map → litElement.mixin-AiJtwDLp.cjs.map} +1 -1
- package/dist/{litElement.mixin-C2ixT_uz.js → litElement.mixin-BSd9c8Xf.js} +2 -2
- package/dist/{litElement.mixin-C2ixT_uz.js.map → litElement.mixin-BSd9c8Xf.js.map} +1 -1
- package/dist/{menu-BNZPGmxK.js → menu-D5N7PhDE.js} +3 -3
- package/dist/{menu-BNZPGmxK.js.map → menu-D5N7PhDE.js.map} +1 -1
- package/dist/{menu-BKUoQyCS.cjs → menu-TbqjiUg2.cjs} +2 -2
- package/dist/{menu-BKUoQyCS.cjs.map → menu-TbqjiUg2.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-DRzHWMHN.js → option-Bc31vPPI.js} +2 -2
- package/dist/{option-DRzHWMHN.js.map → option-Bc31vPPI.js.map} +1 -1
- package/dist/{option-GQjTaa4v.cjs → option-J1ewccBk.cjs} +2 -2
- package/dist/{option-GQjTaa4v.cjs.map → option-J1ewccBk.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{outlet-CPrjTJEE.js → outlet-DWLojgRf.js} +2 -2
- package/dist/{outlet-CPrjTJEE.js.map → outlet-DWLojgRf.js.map} +1 -1
- package/dist/{outlet-D_JSZeRn.cjs → outlet-eGbH9Byt.cjs} +2 -2
- package/dist/{outlet-D_JSZeRn.cjs.map → outlet-eGbH9Byt.cjs.map} +1 -1
- package/dist/{payment-card-form-CIWTaRBz.js → payment-card-form-Ctv_rIi1.js} +3 -3
- package/dist/{payment-card-form-CIWTaRBz.js.map → payment-card-form-Ctv_rIi1.js.map} +1 -1
- package/dist/{payment-card-form-BwzL71bJ.cjs → payment-card-form-V5STwP-8.cjs} +2 -2
- package/dist/{payment-card-form-BwzL71bJ.cjs.map → payment-card-form-V5STwP-8.cjs.map} +1 -1
- package/dist/{radio-group-DSob8tt0.cjs → radio-group-DPqaJa00.cjs} +2 -2
- package/dist/{radio-group-DSob8tt0.cjs.map → radio-group-DPqaJa00.cjs.map} +1 -1
- package/dist/{radio-group-BAixca90.js → radio-group-Pq_gbHVb.js} +2 -2
- package/dist/{radio-group-BAixca90.js.map → radio-group-Pq_gbHVb.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{select-B_G2xt3n.cjs → select-BvlBg33k.cjs} +6 -6
- package/dist/select-BvlBg33k.cjs.map +1 -0
- package/dist/{select-Dn-WETnI.js → select-D3PjbyfA.js} +14 -12
- package/dist/select-D3PjbyfA.js.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-BoPm_Ysx.cjs → sheet-Crzdg6fC.cjs} +2 -2
- package/dist/{sheet-BoPm_Ysx.cjs.map → sheet-Crzdg6fC.cjs.map} +1 -1
- package/dist/{sheet-BcYEDp9D.js → sheet-DqckAHq4.js} +3 -3
- package/dist/{sheet-BcYEDp9D.js.map → sheet-DqckAHq4.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-DFSq11C6.cjs → slider-0Uk2z9y_.cjs} +2 -2
- package/dist/{slider-DFSq11C6.cjs.map → slider-0Uk2z9y_.cjs.map} +1 -1
- package/dist/{slider-BTIT0zsN.js → slider-Bwzc2P35.js} +3 -3
- package/dist/{slider-BTIT0zsN.js.map → slider-Bwzc2P35.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-CBX7eCsA.cjs → spinner-Azsjno5r.cjs} +2 -2
- package/dist/{spinner-CBX7eCsA.cjs.map → spinner-Azsjno5r.cjs.map} +1 -1
- package/dist/{spinner-DxDUWBpa.js → spinner-N0DFwOAl.js} +3 -3
- package/dist/{spinner-DxDUWBpa.js.map → spinner-N0DFwOAl.js.map} +1 -1
- package/dist/{surface-AcsAPEQK.js → surface-Cryxe3jX.js} +2 -2
- package/dist/{surface-AcsAPEQK.js.map → surface-Cryxe3jX.js.map} +1 -1
- package/dist/{surface-BCP4Nk6f.cjs → surface-qITC3jCV.cjs} +2 -2
- package/dist/{surface-BCP4Nk6f.cjs.map → surface-qITC3jCV.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-MEstD23V.cjs → table-CBJ26MIg.cjs} +2 -2
- package/dist/{table-MEstD23V.cjs.map → table-CBJ26MIg.cjs.map} +1 -1
- package/dist/{table-BTMy7AvU.js → table-Ci3U3uYV.js} +2 -2
- package/dist/{table-BTMy7AvU.js.map → table-Ci3U3uYV.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-group-DyNlrJrc.cjs → tabs-group-CXTZCyMb.cjs} +2 -2
- package/dist/{tabs-group-DyNlrJrc.cjs.map → tabs-group-CXTZCyMb.cjs.map} +1 -1
- package/dist/{tabs-group-BzDnucJQ.js → tabs-group-Ccy51d97.js} +2 -2
- package/dist/{tabs-group-BzDnucJQ.js.map → tabs-group-Ccy51d97.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-04vClyRW.cjs +2 -0
- package/dist/{tailwind.mixin-Bkx1Uuxe.cjs.map → tailwind.mixin-04vClyRW.cjs.map} +1 -1
- package/dist/tailwind.mixin-B1TvmOuJ.js +43 -0
- package/dist/{tailwind.mixin-BNM2vRly.js.map → tailwind.mixin-B1TvmOuJ.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/{teleport.component-BU8VUQ9X.cjs → teleport.component-BtFkJ2lv.cjs} +2 -2
- package/dist/{teleport.component-BU8VUQ9X.cjs.map → teleport.component-BtFkJ2lv.cjs.map} +1 -1
- package/dist/{teleport.component-CQ-n025U.js → teleport.component-C-DCNNPE.js} +35 -35
- package/dist/{teleport.component-CQ-n025U.js.map → teleport.component-C-DCNNPE.js.map} +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-BznzcZmL.js → textarea-B0Q1ND3D.js} +2 -2
- package/dist/{textarea-BznzcZmL.js.map → textarea-B0Q1ND3D.js.map} +1 -1
- package/dist/{textarea-DgjTD3MS.cjs → textarea-Ct0tCiZE.cjs} +2 -2
- package/dist/{textarea-DgjTD3MS.cjs.map → textarea-Ct0tCiZE.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-DmdmN56f.cjs → theme-button-CZICh6mv.cjs} +2 -2
- package/dist/{theme-button-DmdmN56f.cjs.map → theme-button-CZICh6mv.cjs.map} +1 -1
- package/dist/{theme-button-CdiifE6E.js → theme-button-Xe0AKvu4.js} +2 -2
- package/dist/{theme-button-CdiifE6E.js.map → theme-button-Xe0AKvu4.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-BpS8ehqb.cjs → theme.component-DM774Lyr.cjs} +2 -2
- package/dist/{theme.component-BpS8ehqb.cjs.map → theme.component-DM774Lyr.cjs.map} +1 -1
- package/dist/{theme.component-ZkehXGYp.js → theme.component-dphOzgia.js} +2 -2
- package/dist/{theme.component-ZkehXGYp.js.map → theme.component-dphOzgia.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{tree-DzG0MTVn.cjs → tree-DAEL96xl.cjs} +2 -2
- package/dist/{tree-DzG0MTVn.cjs.map → tree-DAEL96xl.cjs.map} +1 -1
- package/dist/{tree-CVfYCMGr.js → tree-Dham7fla.js} +2 -2
- package/dist/{tree-CVfYCMGr.js.map → tree-Dham7fla.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-DNihFwgs.cjs → typewriter-BBRroqBP.cjs} +2 -2
- package/dist/{typewriter-DNihFwgs.cjs.map → typewriter-BBRroqBP.cjs.map} +1 -1
- package/dist/{typewriter-9RMGl3g_.js → typewriter-CJijgjI7.js} +4 -4
- package/dist/{typewriter-9RMGl3g_.js.map → typewriter-CJijgjI7.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-DvbYuIY1.js → typography-B1vPffcD.js} +2 -2
- package/dist/{typography-DvbYuIY1.js.map → typography-B1vPffcD.js.map} +1 -1
- package/dist/{typography-Di2lcsba.cjs → typography-_8EJsERF.cjs} +2 -2
- package/dist/{typography-Di2lcsba.cjs.map → typography-_8EJsERF.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +3 -2
- package/types/src/date-range/date-range.d.ts +4 -4
- package/types/src/date-range/date-utils.d.ts +15 -0
- package/dist/date-range-3yVvaRLG.cjs +0 -72
- package/dist/date-range-3yVvaRLG.cjs.map +0 -1
- package/dist/date-range-D5cDTxz2.js +0 -148
- package/dist/date-range-D5cDTxz2.js.map +0 -1
- package/dist/select-B_G2xt3n.cjs.map +0 -1
- package/dist/select-Dn-WETnI.js.map +0 -1
- package/dist/tailwind.mixin-BNM2vRly.js +0 -43
- package/dist/tailwind.mixin-Bkx1Uuxe.cjs +0 -2
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("./litElement.mixin-UoPWmzJY.cjs");require("./tailwind.mixin-Bkx1Uuxe.cjs");const m=require("lit"),o=require("lit/decorators.js"),h=require("lit/directives/if-defined.js"),a=require("moment");var p=Object.defineProperty,y=Object.getOwnPropertyDescriptor,i=(t,e,s,n)=>{for(var c,d=n>1?void 0:n?y(e,s):e,l=t.length-1;l>=0;l--)(c=t[l])&&(d=(n?c(e,s,d):c(d))||d);return n&&d&&p(e,s,d),d};let r=class extends u.$LitElement(){constructor(){super(...arguments),this.type="date",this.selectedDateRange="Today"}connectedCallback(){super.connectedCallback(),this.initPresetRanges(),this.updateSelectedDateRange()}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:a().subtract(1,"days").startOf("day").format(t),dateTo:a().subtract(1,"days").endOf("day").format(t)},step:"day"},{label:"Today",range:{dateFrom:a().startOf("day").format(t),dateTo:a().endOf("day").format(t)},step:"day"},{label:"Tomorrow",range:{dateFrom:a().add(1,"days").startOf("day").format(t),dateTo:a().add(1,"days").endOf("day").format(t)},step:"day"},{label:"This Week",range:{dateFrom:a().startOf("isoWeek").format(t),dateTo:a().endOf("isoWeek").format(t)},step:"week"},{label:"Last Week",range:{dateFrom:a().subtract(1,"weeks").startOf("isoWeek").format(t),dateTo:a().subtract(1,"weeks").endOf("isoWeek").format(t)},step:"week"},{label:"This Month",range:{dateFrom:a().startOf("month").format(t),dateTo:a().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=a(this.dateFrom.value).format(this.getDisplayFormat()),s=a(this.dateTo.value).format(this.getDisplayFormat());this.selectedDateRange=`${e} - ${s}`}}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()}handlePresetChange(t){const e=this.presetRanges.find(c=>c.label===t);if(!e)return;const{dateFrom:s,dateTo:n}=e.range;this.setDateRange(s,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(),s=a(this.dateTo.value).diff(a(this.dateFrom.value),"days")||1,n=a(this.dateFrom.value).add(t*s,"days").format(e),c=a(this.dateTo.value).add(t*s,"days").format(e);this.setDateRange(n,c),this.updateSelectedDateRange()}render(){var t;return m.html`
|
|
2
|
-
<!-- schmancy-menu typically provides a slot="button" for the trigger,
|
|
3
|
-
and then projects the menu items inside. -->
|
|
4
|
-
<schmancy-menu class="z-100 w-max" role="menu" aria-label="Date range presets and custom input">
|
|
5
|
-
<!-- The toggle/trigger slot -->
|
|
6
|
-
<schmancy-grid slot="button" align="center" cols="auto 1fr auto">
|
|
7
|
-
<schmancy-icon-button
|
|
8
|
-
type="button"
|
|
9
|
-
aria-label="Shift date range backward"
|
|
10
|
-
@click=${e=>{e.preventDefault(),this.shiftDateRange(-1)}}
|
|
11
|
-
>
|
|
12
|
-
arrow_left
|
|
13
|
-
</schmancy-icon-button>
|
|
14
|
-
|
|
15
|
-
<schmancy-button
|
|
16
|
-
class="w-max"
|
|
17
|
-
variant="outlined"
|
|
18
|
-
type="button"
|
|
19
|
-
aria-haspopup="menu"
|
|
20
|
-
.ariaExpanded=${String(((t=this.schmancyMenu)==null?void 0:t.open)||!1)}
|
|
21
|
-
>
|
|
22
|
-
${this.selectedDateRange||"Date range"}
|
|
23
|
-
</schmancy-button>
|
|
24
|
-
|
|
25
|
-
<schmancy-icon-button
|
|
26
|
-
type="button"
|
|
27
|
-
aria-label="Shift date range forward"
|
|
28
|
-
@click=${e=>{e.preventDefault(),this.shiftDateRange(1)}}
|
|
29
|
-
>
|
|
30
|
-
arrow_right
|
|
31
|
-
</schmancy-icon-button>
|
|
32
|
-
</schmancy-grid>
|
|
33
|
-
|
|
34
|
-
<!-- The menu surface: presets + manual date selection -->
|
|
35
|
-
${this.presetRanges.map(e=>m.html`
|
|
36
|
-
<schmancy-menu-item role="menuitem" class="w-full" @click=${()=>this.handlePresetChange(e.label)}>
|
|
37
|
-
<schmancy-grid class="w-full" align="center" cols="auto 1fr auto"> ${e.label} </schmancy-grid>
|
|
38
|
-
</schmancy-menu-item>
|
|
39
|
-
`)}
|
|
40
|
-
|
|
41
|
-
<!-- Manual date range inputs + "Apply" button -->
|
|
42
|
-
<schmancy-grid gap="sm" flow="row" class="p-4">
|
|
43
|
-
<schmancy-input
|
|
44
|
-
id="checkin"
|
|
45
|
-
.type=${this.type}
|
|
46
|
-
.label=${this.dateFrom.label}
|
|
47
|
-
.value=${this.dateFrom.value}
|
|
48
|
-
min=${h.ifDefined(this.minDate)}
|
|
49
|
-
@change=${e=>{e.preventDefault(),e.stopPropagation();const s=this.getDateFormat(),n=a(e.detail.value,s).format(s);this.dateFrom.value=n,this.checkOutInput.setAttribute("min",n)}}
|
|
50
|
-
></schmancy-input>
|
|
51
|
-
|
|
52
|
-
<schmancy-input
|
|
53
|
-
id="checkout"
|
|
54
|
-
.type=${this.type}
|
|
55
|
-
.label=${this.dateTo.label}
|
|
56
|
-
.value=${this.dateTo.value}
|
|
57
|
-
min=${h.ifDefined(this.dateFrom.value)}
|
|
58
|
-
max=${h.ifDefined(this.maxDate)}
|
|
59
|
-
@change=${e=>{e.preventDefault(),e.stopPropagation();const s=this.getDateFormat(),n=a(e.detail.value,s).format(s);this.dateTo.value=n}}
|
|
60
|
-
></schmancy-input>
|
|
61
|
-
|
|
62
|
-
<schmancy-button
|
|
63
|
-
type="button"
|
|
64
|
-
variant="outlined"
|
|
65
|
-
@click=${e=>{e.preventDefault(),e.stopPropagation(),this.handleDateRangeChange()}}
|
|
66
|
-
>
|
|
67
|
-
Apply
|
|
68
|
-
</schmancy-button>
|
|
69
|
-
</schmancy-grid>
|
|
70
|
-
</schmancy-menu>
|
|
71
|
-
`}};i([o.property({type:String})],r.prototype,"type",2),i([o.property({type:Object})],r.prototype,"dateFrom",2),i([o.property({type:Object})],r.prototype,"dateTo",2),i([o.property({type:String})],r.prototype,"minDate",2),i([o.property({type:String})],r.prototype,"maxDate",2),i([o.query("#checkin")],r.prototype,"checkInInput",2),i([o.query("#checkout")],r.prototype,"checkOutInput",2),i([o.query("schmancy-menu")],r.prototype,"schmancyMenu",2),i([o.state()],r.prototype,"selectedDateRange",2),r=i([o.customElement("schmancy-date-range")],r);
|
|
72
|
-
//# sourceMappingURL=date-range-3yVvaRLG.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-3yVvaRLG.cjs","sources":["../src/date-range/date-range.ts"],"sourcesContent":["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'\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\t\tthis.updateSelectedDateRange()\n\t}\n\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 fromStr = moment(this.dateFrom.value).format(this.getDisplayFormat())\n\t\t\tconst toStr = moment(this.dateTo.value).format(this.getDisplayFormat())\n\t\t\tthis.selectedDateRange = `${fromStr} - ${toStr}`\n\t\t}\n\t}\n\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\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":["SchmancyDateRange","$LitElement","super","arguments","this","type","selectedDateRange","connectedCallback","initPresetRanges","updateSelectedDateRange","changedProps","has","getDateFormat","getDisplayFormat","format","presetRanges","label","range","dateFrom","moment","subtract","startOf","dateTo","endOf","step","add","preset","find","p","value","fromStr","toStr","fromDate","toDate","dispatchEvent","CustomEvent","detail","bubbles","composed","requestUpdate","setDateRange","schmancyMenu","open","factor","currentDiff","diff","newDateFrom","newDateTo","render","html","e","preventDefault","shiftDateRange","String","map","handlePresetChange","ifDefined","minDate","event","stopPropagation","fmt","selectedDate","checkOutInput","setAttribute","maxDate","handleDateRangeChange","__decorateClass","property","prototype","Object","query","state","customElement"],"mappings":"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"}
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import "rxjs";
|
|
2
|
-
import "lit/directives/class-map.js";
|
|
3
|
-
import "lit/directives/style-map.js";
|
|
4
|
-
import { $ as u } from "./litElement.mixin-C2ixT_uz.js";
|
|
5
|
-
import "./tailwind.mixin-BNM2vRly.js";
|
|
6
|
-
import { html as p } from "lit";
|
|
7
|
-
import { property as d, query as h, state as y, customElement as g } from "lit/decorators.js";
|
|
8
|
-
import { ifDefined as l } from "lit/directives/if-defined.js";
|
|
9
|
-
import a from "moment";
|
|
10
|
-
var f = Object.defineProperty, D = Object.getOwnPropertyDescriptor, r = (t, e, s, n) => {
|
|
11
|
-
for (var i, c = n > 1 ? void 0 : n ? D(e, s) : e, m = t.length - 1; m >= 0; m--) (i = t[m]) && (c = (n ? i(e, s, c) : i(c)) || c);
|
|
12
|
-
return n && c && f(e, s, c), c;
|
|
13
|
-
};
|
|
14
|
-
let o = class extends u() {
|
|
15
|
-
constructor() {
|
|
16
|
-
super(...arguments), this.type = "date", this.selectedDateRange = "Today";
|
|
17
|
-
}
|
|
18
|
-
connectedCallback() {
|
|
19
|
-
super.connectedCallback(), this.initPresetRanges(), this.updateSelectedDateRange();
|
|
20
|
-
}
|
|
21
|
-
updated(t) {
|
|
22
|
-
t.has("type") && (this.initPresetRanges(), this.updateSelectedDateRange());
|
|
23
|
-
}
|
|
24
|
-
getDateFormat() {
|
|
25
|
-
return this.type === "date" ? "YYYY-MM-DD" : "YYYY-MM-DDTHH:mm";
|
|
26
|
-
}
|
|
27
|
-
getDisplayFormat() {
|
|
28
|
-
return this.type === "date" ? "MMM DD, YYYY" : "MMM DD, YYYY hh:mm A";
|
|
29
|
-
}
|
|
30
|
-
initPresetRanges() {
|
|
31
|
-
const t = this.getDateFormat();
|
|
32
|
-
this.presetRanges = [{ label: "Yesterday", range: { dateFrom: a().subtract(1, "days").startOf("day").format(t), dateTo: a().subtract(1, "days").endOf("day").format(t) }, step: "day" }, { label: "Today", range: { dateFrom: a().startOf("day").format(t), dateTo: a().endOf("day").format(t) }, step: "day" }, { label: "Tomorrow", range: { dateFrom: a().add(1, "days").startOf("day").format(t), dateTo: a().add(1, "days").endOf("day").format(t) }, step: "day" }, { label: "This Week", range: { dateFrom: a().startOf("isoWeek").format(t), dateTo: a().endOf("isoWeek").format(t) }, step: "week" }, { label: "Last Week", range: { dateFrom: a().subtract(1, "weeks").startOf("isoWeek").format(t), dateTo: a().subtract(1, "weeks").endOf("isoWeek").format(t) }, step: "week" }, { label: "This Month", range: { dateFrom: a().startOf("month").format(t), dateTo: a().endOf("month").format(t) }, step: "month" }];
|
|
33
|
-
}
|
|
34
|
-
updateSelectedDateRange() {
|
|
35
|
-
const t = this.presetRanges.find((e) => e.range.dateFrom === this.dateFrom.value && e.range.dateTo === this.dateTo.value);
|
|
36
|
-
if (t) this.selectedDateRange = t.label;
|
|
37
|
-
else {
|
|
38
|
-
const e = a(this.dateFrom.value).format(this.getDisplayFormat()), s = a(this.dateTo.value).format(this.getDisplayFormat());
|
|
39
|
-
this.selectedDateRange = `${e} - ${s}`;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
setDateRange(t, e) {
|
|
43
|
-
this.dateFrom.value = t, this.dateTo.value = e, this.dispatchEvent(new CustomEvent("change", { detail: { dateFrom: t, dateTo: e }, bubbles: !0, composed: !0 })), this.requestUpdate();
|
|
44
|
-
}
|
|
45
|
-
handlePresetChange(t) {
|
|
46
|
-
const e = this.presetRanges.find((i) => i.label === t);
|
|
47
|
-
if (!e) return;
|
|
48
|
-
const { dateFrom: s, dateTo: n } = e.range;
|
|
49
|
-
this.setDateRange(s, n), this.selectedDateRange = t, this.schmancyMenu.open = !1;
|
|
50
|
-
}
|
|
51
|
-
handleDateRangeChange() {
|
|
52
|
-
this.setDateRange(this.dateFrom.value, this.dateTo.value), this.updateSelectedDateRange(), this.schmancyMenu.open = !1;
|
|
53
|
-
}
|
|
54
|
-
shiftDateRange(t) {
|
|
55
|
-
const e = this.getDateFormat(), s = a(this.dateTo.value).diff(a(this.dateFrom.value), "days") || 1, n = a(this.dateFrom.value).add(t * s, "days").format(e), i = a(this.dateTo.value).add(t * s, "days").format(e);
|
|
56
|
-
this.setDateRange(n, i), this.updateSelectedDateRange();
|
|
57
|
-
}
|
|
58
|
-
render() {
|
|
59
|
-
var t;
|
|
60
|
-
return p`
|
|
61
|
-
<!-- schmancy-menu typically provides a slot="button" for the trigger,
|
|
62
|
-
and then projects the menu items inside. -->
|
|
63
|
-
<schmancy-menu class="z-100 w-max" role="menu" aria-label="Date range presets and custom input">
|
|
64
|
-
<!-- The toggle/trigger slot -->
|
|
65
|
-
<schmancy-grid slot="button" align="center" cols="auto 1fr auto">
|
|
66
|
-
<schmancy-icon-button
|
|
67
|
-
type="button"
|
|
68
|
-
aria-label="Shift date range backward"
|
|
69
|
-
@click=${(e) => {
|
|
70
|
-
e.preventDefault(), this.shiftDateRange(-1);
|
|
71
|
-
}}
|
|
72
|
-
>
|
|
73
|
-
arrow_left
|
|
74
|
-
</schmancy-icon-button>
|
|
75
|
-
|
|
76
|
-
<schmancy-button
|
|
77
|
-
class="w-max"
|
|
78
|
-
variant="outlined"
|
|
79
|
-
type="button"
|
|
80
|
-
aria-haspopup="menu"
|
|
81
|
-
.ariaExpanded=${String(((t = this.schmancyMenu) == null ? void 0 : t.open) || !1)}
|
|
82
|
-
>
|
|
83
|
-
${this.selectedDateRange || "Date range"}
|
|
84
|
-
</schmancy-button>
|
|
85
|
-
|
|
86
|
-
<schmancy-icon-button
|
|
87
|
-
type="button"
|
|
88
|
-
aria-label="Shift date range forward"
|
|
89
|
-
@click=${(e) => {
|
|
90
|
-
e.preventDefault(), this.shiftDateRange(1);
|
|
91
|
-
}}
|
|
92
|
-
>
|
|
93
|
-
arrow_right
|
|
94
|
-
</schmancy-icon-button>
|
|
95
|
-
</schmancy-grid>
|
|
96
|
-
|
|
97
|
-
<!-- The menu surface: presets + manual date selection -->
|
|
98
|
-
${this.presetRanges.map((e) => p`
|
|
99
|
-
<schmancy-menu-item role="menuitem" class="w-full" @click=${() => this.handlePresetChange(e.label)}>
|
|
100
|
-
<schmancy-grid class="w-full" align="center" cols="auto 1fr auto"> ${e.label} </schmancy-grid>
|
|
101
|
-
</schmancy-menu-item>
|
|
102
|
-
`)}
|
|
103
|
-
|
|
104
|
-
<!-- Manual date range inputs + "Apply" button -->
|
|
105
|
-
<schmancy-grid gap="sm" flow="row" class="p-4">
|
|
106
|
-
<schmancy-input
|
|
107
|
-
id="checkin"
|
|
108
|
-
.type=${this.type}
|
|
109
|
-
.label=${this.dateFrom.label}
|
|
110
|
-
.value=${this.dateFrom.value}
|
|
111
|
-
min=${l(this.minDate)}
|
|
112
|
-
@change=${(e) => {
|
|
113
|
-
e.preventDefault(), e.stopPropagation();
|
|
114
|
-
const s = this.getDateFormat(), n = a(e.detail.value, s).format(s);
|
|
115
|
-
this.dateFrom.value = n, this.checkOutInput.setAttribute("min", n);
|
|
116
|
-
}}
|
|
117
|
-
></schmancy-input>
|
|
118
|
-
|
|
119
|
-
<schmancy-input
|
|
120
|
-
id="checkout"
|
|
121
|
-
.type=${this.type}
|
|
122
|
-
.label=${this.dateTo.label}
|
|
123
|
-
.value=${this.dateTo.value}
|
|
124
|
-
min=${l(this.dateFrom.value)}
|
|
125
|
-
max=${l(this.maxDate)}
|
|
126
|
-
@change=${(e) => {
|
|
127
|
-
e.preventDefault(), e.stopPropagation();
|
|
128
|
-
const s = this.getDateFormat(), n = a(e.detail.value, s).format(s);
|
|
129
|
-
this.dateTo.value = n;
|
|
130
|
-
}}
|
|
131
|
-
></schmancy-input>
|
|
132
|
-
|
|
133
|
-
<schmancy-button
|
|
134
|
-
type="button"
|
|
135
|
-
variant="outlined"
|
|
136
|
-
@click=${(e) => {
|
|
137
|
-
e.preventDefault(), e.stopPropagation(), this.handleDateRangeChange();
|
|
138
|
-
}}
|
|
139
|
-
>
|
|
140
|
-
Apply
|
|
141
|
-
</schmancy-button>
|
|
142
|
-
</schmancy-grid>
|
|
143
|
-
</schmancy-menu>
|
|
144
|
-
`;
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
r([d({ type: String })], o.prototype, "type", 2), r([d({ type: Object })], o.prototype, "dateFrom", 2), r([d({ type: Object })], o.prototype, "dateTo", 2), r([d({ type: String })], o.prototype, "minDate", 2), r([d({ type: String })], o.prototype, "maxDate", 2), r([h("#checkin")], o.prototype, "checkInInput", 2), r([h("#checkout")], o.prototype, "checkOutInput", 2), r([h("schmancy-menu")], o.prototype, "schmancyMenu", 2), r([y()], o.prototype, "selectedDateRange", 2), o = r([g("schmancy-date-range")], o);
|
|
148
|
-
//# sourceMappingURL=date-range-D5cDTxz2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-D5cDTxz2.js","sources":["../src/date-range/date-range.ts"],"sourcesContent":["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'\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\t\tthis.updateSelectedDateRange()\n\t}\n\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 fromStr = moment(this.dateFrom.value).format(this.getDisplayFormat())\n\t\t\tconst toStr = moment(this.dateTo.value).format(this.getDisplayFormat())\n\t\t\tthis.selectedDateRange = `${fromStr} - ${toStr}`\n\t\t}\n\t}\n\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\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":["SchmancyDateRange","$LitElement","constructor","super","arguments","this","type","selectedDateRange","connectedCallback","initPresetRanges","updateSelectedDateRange","changedProps","has","format","getDateFormat","presetRanges","label","range","dateFrom","moment","subtract","startOf","dateTo","endOf","step","add","preset","find","p","value","fromStr","getDisplayFormat","toStr","fromDate","toDate","dispatchEvent","CustomEvent","detail","bubbles","composed","requestUpdate","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":";;;;;;;;;;;;;AAYA,IAAqBA,IAArB,cAA+CC,EAAAA,EAAAA;AAAAA,EAA/C,cAAAC;AAAAC,aAAAC,SAE+DC,GAAAA,KAAAC,OAAA,QAgBzBD,KAAAE,oBAAA;AAAA,EAAA;AAAA,EASrC,oBACCJ;AAAAA,UAAMK,kBACNH,GAAAA,KAAKI,oBACLJ,KAAKK,wBAAAA;AAAAA,EAAwB;AAAA,EAG9B,QAAQC,GAAAA;AACHA,MAAaC,IAAI,MAAA,MAEpBP,KAAKI,iBAAAA,GACLJ,KAAKK,wBAAAA;AAAAA,EACN;AAAA,EAMO,gBACA;AAAA,WAAAL,KAAKC,SAAS,SAAS,eAAe;AAAA,EAAA;AAAA,EAEtC,mBACA;AAAA,WAAAD,KAAKC,SAAS,SAAS,iBAAiB;AAAA,EAAA;AAAA,EAMxC,mBACD;AAAA,UAAAO,IAASR,KAAKS,cAAAA;AACpBT,SAAKU,eAAe,CACnB,EACCC,OAAO,aACPC,OAAO,EACNC,UAAUC,EAASC,EAAAA,SAAS,GAAG,MAAQC,EAAAA,QAAQ,KAAOR,EAAAA,OAAOA,CAC7DS,GAAAA,QAAQH,IAASC,SAAS,GAAG,MAAQG,EAAAA,MAAM,KAAOV,EAAAA,OAAOA,MAE1DW,MAAM,MAAA,GAEP,EACCR,OAAO,SACPC,OAAO,EACNC,UAAUC,EAAAA,EAASE,QAAQ,KAAA,EAAOR,OAAOA,CAAAA,GACzCS,QAAQH,EAASI,EAAAA,MAAM,KAAOV,EAAAA,OAAOA,CAEtCW,EAAAA,GAAAA,MAAM,SAEP,EACCR,OAAO,YACPC,OAAO,EACNC,UAAUC,IAASM,IAAI,GAAG,MAAQJ,EAAAA,QAAQ,KAAOR,EAAAA,OAAOA,IACxDS,QAAQH,EAAAA,EAASM,IAAI,GAAG,MAAQF,EAAAA,MAAM,OAAOV,OAAOA,CAAAA,EAAAA,GAErDW,MAAM,MAAA,GAEP,EACCR,OAAO,aACPC,OAAO,EACNC,UAAUC,EAAAA,EAASE,QAAQ,SAAA,EAAWR,OAAOA,CAC7CS,GAAAA,QAAQH,EAASI,EAAAA,MAAM,SAAWV,EAAAA,OAAOA,CAE1CW,EAAAA,GAAAA,MAAM,OAEP,GAAA,EACCR,OAAO,aACPC,OAAO,EACNC,UAAUC,EAASC,EAAAA,SAAS,GAAG,OAAA,EAASC,QAAQ,SAAA,EAAWR,OAAOA,CAClES,GAAAA,QAAQH,EAASC,EAAAA,SAAS,GAAG,OAAA,EAASG,MAAM,SAAWV,EAAAA,OAAOA,CAE/DW,EAAAA,GAAAA,MAAM,OAEP,GAAA,EACCR,OAAO,cACPC,OAAO,EACNC,UAAUC,EAASE,EAAAA,QAAQ,SAASR,OAAOA,CAAAA,GAC3CS,QAAQH,EAAAA,EAASI,MAAM,OAAA,EAASV,OAAOA,CAExCW,EAAAA,GAAAA,MAAM,QAGR,CAAA;AAAA,EAAA;AAAA,EAOO,0BAAAd;AACD,UAAAgB,IAASrB,KAAKU,aAAaY,KAChCC,CAAAA,MAAKA,EAAEX,MAAMC,aAAab,KAAKa,SAASW,SAASD,EAAEX,MAAMK,WAAWjB,KAAKiB,OAAOO,KAEjF;AAAA,QAAIH,EACHrB,MAAKE,oBAAoBmB,EAAOV;AAAAA,SAC1B;AAEA,YAAAc,IAAUX,EAAOd,KAAKa,SAASW,KAAAA,EAAOhB,OAAOR,KAAK0B,iBAClDC,CAAAA,GAAAA,IAAQb,EAAOd,KAAKiB,OAAOO,KAAOhB,EAAAA,OAAOR,KAAK0B,iBAAAA,CAAAA;AACpD1B,WAAKE,oBAAoB,GAAGuB,CAAaE,MAAAA,CAAAA;AAAAA,IAAK;AAAA,EAC/C;AAAA,EAMO,aAAaC,GAAkBC,GACtC7B;AAAAA,SAAKa,SAASW,QAAQI,GACtB5B,KAAKiB,OAAOO,QAAQK,GAEf7B,KAAA8B,cACJ,IAAIC,YAAsC,UAAU,EACnDC,QAAQ,EAAEnB,UAAUe,GAAUX,QAAQY,EACtCI,GAAAA,SAAAA,IACAC,UAAAA,GAGFlC,CAAAA,CAAAA,GAAAA,KAAKmC;EAAc;AAAA,EAOZ,mBAAmBxB,GAAAA;AAC1B,UAAMU,IAASrB,KAAKU,aAAaY,KAAcV,CAAAA,MAAAA,EAAMD,UAAUA,CAAAA;AAC/D,SAAKU,EAAQ;AACb,UAAMR,EAAAA,UAAEA,GAAAI,QAAUA,MAAWI,EAAOT;AAC/BZ,SAAAoC,aAAavB,GAAUI,CAAAA,GAC5BjB,KAAKE,oBAAoBS,GACzBX,KAAKqC,aAAaC,OAAO;AAAA,EAAA;AAAA,EAOlB,wBAAAC;AACPvC,SAAKoC,aAAapC,KAAKa,SAASW,OAAOxB,KAAKiB,OAAOO,KACnDxB,GAAAA,KAAKK,wBACLL,GAAAA,KAAKqC,aAAaC,OAAO;AAAA,EAAA;AAAA,EAOlB,eAAeE,GAAAA;AAChB,UAAAhC,IAASR,KAAKS,cACdgC,GAAAA,IAAc3B,EAAOd,KAAKiB,OAAOO,KAAOkB,EAAAA,KAAK5B,EAAOd,KAAKa,SAASW,KAAAA,GAAQ,WAAW,GACrFmB,IAAc7B,EAAOd,KAAKa,SAASW,KAAAA,EACvCJ,IAAIoB,IAASC,GAAa,MAC1BjC,EAAAA,OAAOA,CACHoC,GAAAA,IAAY9B,EAAOd,KAAKiB,OAAOO,KACnCJ,EAAAA,IAAIoB,IAASC,GAAa,QAC1BjC,OAAOA,CAAAA;AAEJR,SAAAoC,aAAaO,GAAaC,CAAAA,GAC/B5C,KAAKK,wBAAAA;AAAAA,EAAwB;AAAA,EAG9B,SACQ;;AAAA,WAAAwC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,eASOC,CAAAA,MAAAA;AACTA,MAAAA,EAAEC,eAAAA,GACF/C,KAAKgD,eAAAA,EAAiB;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAWPC,SAAOjD,IAAAA,KAAKqC,iBAALrC,gBAAAA,EAAmBsC,SAAQ,EAAA,CAAA;AAAA;AAAA,QAEhDtC,KAAKE,qBAAqB,YAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAMlB4C,CAAAA,MAAAA;AACTA,MAAAA,EAAEC,eAAAA,GACF/C,KAAKgD,eAAe,CAAC;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQtBhD,KAAKU,aAAawC,IACT7B,CAAAA,MAAAwB;AAAAA,kEACmD,MAAM7C,KAAKmD,mBAAmB9B,EAAOV,KAAAA,CAAAA;AAAAA,4EAC3BU,EAAOV,KAAAA;AAAAA;AAAAA;;;;;;cASrEX,KAAKC,IAAAA;AAAAA,eACJD,KAAKa,SAASF,KAAAA;AAAAA,eACdX,KAAKa,SAASW,KAAAA;AAAAA,YACjB4B,EAAUpD,KAAKqD,OAAAA,CAAAA;AAAAA,gBACVC,CAAAA,MACVA;AAAAA,MAAAA,EAAMP,eACNO,GAAAA,EAAMC,gBACA;AAAA,YAAAC,IAAMxD,KAAKS,cAAAA,GACXgD,IAAe3C,EAAOwC,EAAMtB,OAAOR,OAAOgC,CAAKhD,EAAAA,OAAOgD,CAC5DxD;AAAAA,WAAKa,SAASW,QAAQiC,GAEjBzD,KAAA0D,cAAcC,aAAa,OAAOF,CAAY;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAM5CzD,KAAKC,IAAAA;AAAAA,eACJD,KAAKiB,OAAON,KAAAA;AAAAA,eACZX,KAAKiB,OAAOO,KAAAA;AAAAA,YACf4B,EAAUpD,KAAKa,SAASW,KAAAA,CAAAA;AAAAA,YACxB4B,EAAUpD,KAAK4D,OAAAA,CAAAA;AAAAA,gBACVN,CAAAA,MAAAA;AACVA,MAAAA,EAAMP,eACNO,GAAAA,EAAMC;AACA,YAAAC,IAAMxD,KAAKS,cACXgD,GAAAA,IAAe3C,EAAOwC,EAAMtB,OAAOR,OAAOgC,CAAKhD,EAAAA,OAAOgD;AAC5DxD,WAAKiB,OAAOO,QAAQiC;AAAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAOXX,CAAAA,MAAAA;AACTA,MAAAA,EAAEC,eAAAA,GACFD,EAAES,gBAAAA,GACFvD,KAAKuC,sBAAsB;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAC3B;AAAA;AAlRsBsB,EAAA,CAA3BC,EAAS,EAAE7D,MAAMgD,OAAAA,CAAAA,CAAAA,GAFEtD,EAEQoE,WAAA,QAAA,CAEAF,GAAAA,EAAA,CAA3BC,EAAS,EAAE7D,MAAM+D,OAJErE,CAAAA,CAAAA,GAAAA,EAIQoE,WAAA,YAAA,CAAA,GACAF,EAAA,CAA3BC,EAAS,EAAE7D,MAAM+D,YALErE,EAKQoE,WAAA,UAAA,CAGAF,GAAAA,EAAA,CAA3BC,EAAS,EAAE7D,MAAMgD,OAAAA,CAAAA,CAAAA,GAREtD,EAQQoE,WAAA,WAAA,IACAF,EAAA,CAA3BC,EAAS,EAAE7D,MAAMgD,OATEtD,CAAAA,CAAAA,GAAAA,EASQoE,WAAA,WAAA,CAAA,GAETF,EAAA,CAAlBI,EAAM,UAXatE,CAAAA,GAAAA,EAWDoE,WAAA,gBAAA,CAAA,GACCF,EAAA,CAAnBI,EAAM,eAZatE,EAYAoE,WAAA,iBAAA,CAAA,GAGIF,EAAA,CAAvBI,EAAM,mBAfatE,EAeIoE,WAAA,gBAAA,CAGfF,GAAAA,EAAA,CAARK,EAlBmBvE,CAAAA,GAAAA,EAkBXoE,WAAA,qBAAA,CAAA,GAlBWpE,IAArBkE,EAAA,CADCM,EAAc,qBACMxE,CAAAA,GAAAA,CAAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select-B_G2xt3n.cjs","sources":["../src/select/select.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport class SchmancySelect extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t[role='listbox'] {\n\t\tmax-height: 25vh;\n\t\toverflow-y: auto;\n\t\toutline: none;\n\t}\n`) {\n\t// API\n\t@property({ type: String }) name: string | undefined\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String }) value = '' // for single-select\n\t@property({ type: Array }) selectedValues: string[] = [] // for multi-select\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private valueLabel = ''\n\n\t@query('ul') private ul!: HTMLUListElement\n\t@queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tif (!this.id) {\n\t\t\tthis.id = `schmancy-select-${Math.random().toString(36).substr(2, 9)}`\n\t\t}\n\t\tthis.addEventListener('keydown', this.handleKeyDown)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.removeEventListener('keydown', this.handleKeyDown)\n\t\tthis.cleanupPositioner?.()\n\t}\n\n\tfirstUpdated() {\n\t\tthis.syncSelection()\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\tprivate syncSelection() {\n\t\tif (this.multi) {\n\t\t\tthis.selectedValues = this.options.filter(o => o.selected).map(o => o.value)\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\t\t} else {\n\t\t\tconst selectedOption = this.options.find(o => o.value === this.value)\n\t\t\tthis.valueLabel = selectedOption?.label || this.placeholder\n\t\t}\n\t}\n\n\tprivate setupOptionsAccessibility() {\n\t\tthis.options.forEach((option, index) => {\n\t\t\toption.setAttribute('role', 'option')\n\t\t\tif (!option.id) {\n\t\t\t\toption.id = `${this.id}-option-${index}`\n\t\t\t}\n\t\t\toption.tabIndex = -1\n\t\t\toption.setAttribute(\n\t\t\t\t'aria-selected',\n\t\t\t\tString(this.multi ? this.selectedValues.includes(option.value) : option.value === this.value),\n\t\t\t)\n\t\t})\n\t}\n\n\tprivate async positionDropdown() {\n\t\tconst reference = this.renderRoot.querySelector('.trigger') as HTMLElement\n\t\tif (!reference || !this.ul) return\n\n\t\tthis.cleanupPositioner = autoUpdate(reference, this.ul, async () => {\n\t\t\tconst { x, y } = await computePosition(reference, this.ul, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\n\t\t\t})\n\n\t\t\tObject.assign(this.ul.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tposition: 'absolute',\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate handleKeyDown(e: KeyboardEvent) {\n\t\tif (!this.isOpen) {\n\t\t\tif (['Enter', ' ', 'ArrowDown'].includes(e.key)) {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.openDropdown()\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tconst current = this.options.findIndex(o => o.matches(':focus')) ?? -1\n\n\t\tswitch (e.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(this.options, Math.min(current + 1, this.options.length - 1))\n\t\t\t\tbreak\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(this.options, Math.max(current - 1, 0))\n\t\t\t\tbreak\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\te.preventDefault()\n\t\t\t\tif (current >= 0) this.handleOptionSelect(this.options[current].value)\n\t\t\t\tbreak\n\t\t\tcase 'Tab':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tprivate focusOption(options: HTMLElement[], index: number) {\n\t\tconst option = options[index]\n\t\tif (option) {\n\t\t\toption.focus()\n\t\t\tconst combobox = this.renderRoot.querySelector('.trigger')\n\t\t\tcombobox?.setAttribute('aria-activedescendant', option.id)\n\t\t}\n\t}\n\n\tprivate async openDropdown() {\n\t\tthis.isOpen = true\n\t\tawait this.updateComplete\n\n\t\tthis.positionDropdown()\n\t\tthis.setupOptionsAccessibility()\n\n\t\tconst options = Array.from(this.ul.querySelectorAll('[role=\"option\"]')) as HTMLElement[]\n\t\tconst selectedIndex = this.multi ? 0 : options.findIndex(o => o.getAttribute('value') === this.value)\n\t\tthis.focusOption(options, Math.max(selectedIndex, 0))\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t\tthis.cleanupPositioner?.()\n\t\tconst combobox = this.renderRoot.querySelector<HTMLElement>('.trigger')\n\t\tcombobox?.removeAttribute('aria-activedescendant')\n\t\tcombobox?.focus()\n\t}\n\n\tprivate handleOptionSelect(value: string) {\n\t\tif (this.multi) {\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (!option) return\n\n\t\t\toption.selected = !option.selected\n\t\t\tif (option.selected) {\n\t\t\t\tthis.selectedValues = [...this.selectedValues, value]\n\t\t\t} else {\n\t\t\t\tthis.selectedValues = this.selectedValues.filter(v => v !== value)\n\t\t\t}\n\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\n\t\t\tthis.dispatchChange(this.selectedValues)\n\t\t} else {\n\t\t\tthis.options.forEach(o => (o.selected = o.value === value))\n\t\t\tthis.value = value\n\t\t\tthis.valueLabel = this.options.find(o => o.value === value)?.label || this.placeholder\n\t\t\tthis.dispatchChange(value)\n\t\t\tthis.closeDropdown()\n\t\t}\n\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\tprivate dispatchChange(value: string | string[]) {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancySelectChangeEvent['detail']>('change', {\n\t\t\t\tdetail: { value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<schmancy-input\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\tclass=\"trigger\"\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\taria-autocomplete=\"none\"\n\t\t\t\t\taria-required=${this.required}\n\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\treadonly\n\t\t\t\t\t@click=${() => (this.isOpen ? this.closeDropdown() : this.openDropdown())}\n\t\t\t\t></schmancy-input>\n\n\t\t\t\t<div\n\t\t\t\t\tid=\"overlay\"\n\t\t\t\t\tclass=\"fixed inset-0\"\n\t\t\t\t\t?hidden=${!this.isOpen}\n\t\t\t\t\t@click=${this.closeDropdown}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t></div>\n\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\taria-multiselectable=${this.multi}\n\t\t\t\t\tclass=${classMap({\n\t\t\t\t\t\t'absolute z-30 mt-1 w-full rounded-md shadow-sm': true,\n\t\t\t\t\t\thidden: !this.isOpen,\n\t\t\t\t\t})}\n\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\tconst customEvt = e as CustomEvent\n\t\t\t\t\t\tconst detailVal = customEvt.detail?.value\n\t\t\t\t\t\tif (detailVal) {\n\t\t\t\t\t\t\tthis.handleOptionSelect(detailVal)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<slot\n\t\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\t\tthis.syncSelection()\n\t\t\t\t\t\t\tthis.setupOptionsAccessibility()\n\t\t\t\t\t\t}}\n\t\t\t\t\t></slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-select': SchmancySelect\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","css","super","arguments","this","required","placeholder","value","selectedValues","multi","label","isOpen","valueLabel","connectedCallback","id","Math","random","toString","substr","addEventListener","handleKeyDown","disconnectedCallback","removeEventListener","cleanupPositioner","syncSelection","setupOptionsAccessibility","options","filter","o","selected","map","length","includes","join","selectedOption","find","forEach","option","index","setAttribute","tabIndex","String","positionDropdown","reference","renderRoot","querySelector","ul","autoUpdate","async","x","y","computePosition","placement","middleware","offset","flip","shift","padding","Object","assign","style","left","top","position","e","key","preventDefault","openDropdown","current","findIndex","matches","closeDropdown","focusOption","min","max","handleOptionSelect","focus","combobox","updateComplete","Array","from","querySelectorAll","selectedIndex","getAttribute","removeAttribute","v","dispatchChange","dispatchEvent","CustomEvent","detail","bubbles","composed","html","name","classMap","hidden","color","bgColor","SchmancyTheme","sys","surface","container","customEvt","detailVal","__decorateClass","property","type","prototype","Boolean","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select-Dn-WETnI.js","sources":["../src/select/select.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport class SchmancySelect extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t[role='listbox'] {\n\t\tmax-height: 25vh;\n\t\toverflow-y: auto;\n\t\toutline: none;\n\t}\n`) {\n\t// API\n\t@property({ type: String }) name: string | undefined\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String }) value = '' // for single-select\n\t@property({ type: Array }) selectedValues: string[] = [] // for multi-select\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private valueLabel = ''\n\n\t@query('ul') private ul!: HTMLUListElement\n\t@queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tif (!this.id) {\n\t\t\tthis.id = `schmancy-select-${Math.random().toString(36).substr(2, 9)}`\n\t\t}\n\t\tthis.addEventListener('keydown', this.handleKeyDown)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.removeEventListener('keydown', this.handleKeyDown)\n\t\tthis.cleanupPositioner?.()\n\t}\n\n\tfirstUpdated() {\n\t\tthis.syncSelection()\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\tprivate syncSelection() {\n\t\tif (this.multi) {\n\t\t\tthis.selectedValues = this.options.filter(o => o.selected).map(o => o.value)\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\t\t} else {\n\t\t\tconst selectedOption = this.options.find(o => o.value === this.value)\n\t\t\tthis.valueLabel = selectedOption?.label || this.placeholder\n\t\t}\n\t}\n\n\tprivate setupOptionsAccessibility() {\n\t\tthis.options.forEach((option, index) => {\n\t\t\toption.setAttribute('role', 'option')\n\t\t\tif (!option.id) {\n\t\t\t\toption.id = `${this.id}-option-${index}`\n\t\t\t}\n\t\t\toption.tabIndex = -1\n\t\t\toption.setAttribute(\n\t\t\t\t'aria-selected',\n\t\t\t\tString(this.multi ? this.selectedValues.includes(option.value) : option.value === this.value),\n\t\t\t)\n\t\t})\n\t}\n\n\tprivate async positionDropdown() {\n\t\tconst reference = this.renderRoot.querySelector('.trigger') as HTMLElement\n\t\tif (!reference || !this.ul) return\n\n\t\tthis.cleanupPositioner = autoUpdate(reference, this.ul, async () => {\n\t\t\tconst { x, y } = await computePosition(reference, this.ul, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\n\t\t\t})\n\n\t\t\tObject.assign(this.ul.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tposition: 'absolute',\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate handleKeyDown(e: KeyboardEvent) {\n\t\tif (!this.isOpen) {\n\t\t\tif (['Enter', ' ', 'ArrowDown'].includes(e.key)) {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.openDropdown()\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tconst current = this.options.findIndex(o => o.matches(':focus')) ?? -1\n\n\t\tswitch (e.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(this.options, Math.min(current + 1, this.options.length - 1))\n\t\t\t\tbreak\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(this.options, Math.max(current - 1, 0))\n\t\t\t\tbreak\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\te.preventDefault()\n\t\t\t\tif (current >= 0) this.handleOptionSelect(this.options[current].value)\n\t\t\t\tbreak\n\t\t\tcase 'Tab':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tprivate focusOption(options: HTMLElement[], index: number) {\n\t\tconst option = options[index]\n\t\tif (option) {\n\t\t\toption.focus()\n\t\t\tconst combobox = this.renderRoot.querySelector('.trigger')\n\t\t\tcombobox?.setAttribute('aria-activedescendant', option.id)\n\t\t}\n\t}\n\n\tprivate async openDropdown() {\n\t\tthis.isOpen = true\n\t\tawait this.updateComplete\n\n\t\tthis.positionDropdown()\n\t\tthis.setupOptionsAccessibility()\n\n\t\tconst options = Array.from(this.ul.querySelectorAll('[role=\"option\"]')) as HTMLElement[]\n\t\tconst selectedIndex = this.multi ? 0 : options.findIndex(o => o.getAttribute('value') === this.value)\n\t\tthis.focusOption(options, Math.max(selectedIndex, 0))\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t\tthis.cleanupPositioner?.()\n\t\tconst combobox = this.renderRoot.querySelector<HTMLElement>('.trigger')\n\t\tcombobox?.removeAttribute('aria-activedescendant')\n\t\tcombobox?.focus()\n\t}\n\n\tprivate handleOptionSelect(value: string) {\n\t\tif (this.multi) {\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (!option) return\n\n\t\t\toption.selected = !option.selected\n\t\t\tif (option.selected) {\n\t\t\t\tthis.selectedValues = [...this.selectedValues, value]\n\t\t\t} else {\n\t\t\t\tthis.selectedValues = this.selectedValues.filter(v => v !== value)\n\t\t\t}\n\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\n\t\t\tthis.dispatchChange(this.selectedValues)\n\t\t} else {\n\t\t\tthis.options.forEach(o => (o.selected = o.value === value))\n\t\t\tthis.value = value\n\t\t\tthis.valueLabel = this.options.find(o => o.value === value)?.label || this.placeholder\n\t\t\tthis.dispatchChange(value)\n\t\t\tthis.closeDropdown()\n\t\t}\n\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\tprivate dispatchChange(value: string | string[]) {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancySelectChangeEvent['detail']>('change', {\n\t\t\t\tdetail: { value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<schmancy-input\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\tclass=\"trigger\"\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\taria-autocomplete=\"none\"\n\t\t\t\t\taria-required=${this.required}\n\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\treadonly\n\t\t\t\t\t@click=${() => (this.isOpen ? this.closeDropdown() : this.openDropdown())}\n\t\t\t\t></schmancy-input>\n\n\t\t\t\t<div\n\t\t\t\t\tid=\"overlay\"\n\t\t\t\t\tclass=\"fixed inset-0\"\n\t\t\t\t\t?hidden=${!this.isOpen}\n\t\t\t\t\t@click=${this.closeDropdown}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t></div>\n\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\taria-multiselectable=${this.multi}\n\t\t\t\t\tclass=${classMap({\n\t\t\t\t\t\t'absolute z-30 mt-1 w-full rounded-md shadow-sm': true,\n\t\t\t\t\t\thidden: !this.isOpen,\n\t\t\t\t\t})}\n\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\tconst customEvt = e as CustomEvent\n\t\t\t\t\t\tconst detailVal = customEvt.detail?.value\n\t\t\t\t\t\tif (detailVal) {\n\t\t\t\t\t\t\tthis.handleOptionSelect(detailVal)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<slot\n\t\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\t\tthis.syncSelection()\n\t\t\t\t\t\t\tthis.setupOptionsAccessibility()\n\t\t\t\t\t\t}}\n\t\t\t\t\t></slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-select': SchmancySelect\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","css","super","arguments","this","required","placeholder","value","selectedValues","multi","label","isOpen","valueLabel","connectedCallback","id","Math","random","toString","substr","addEventListener","handleKeyDown","disconnectedCallback","removeEventListener","cleanupPositioner","firstUpdated","syncSelection","setupOptionsAccessibility","options","filter","o","selected","map","length","includes","join","selectedOption","find","forEach","option","index","setAttribute","tabIndex","String","positionDropdown","reference","renderRoot","querySelector","ul","autoUpdate","async","x","y","computePosition","placement","middleware","offset","flip","shift","padding","Object","assign","style","left","top","position","e","key","preventDefault","openDropdown","current","findIndex","matches","closeDropdown","focusOption","min","max","handleOptionSelect","focus","combobox","updateComplete","Array","from","querySelectorAll","selectedIndex","getAttribute","removeAttribute","v","dispatchChange","dispatchEvent","CustomEvent","detail","bubbles","composed","render","html","name","classMap","hidden","color","bgColor","SchmancyTheme","sys","surface","container","customEvt","detailVal","__decorateClass","property","type","prototype","Boolean","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { unsafeCSS as o, LitElement as n } from "lit";
|
|
2
|
-
import { Subject as s } from "rxjs";
|
|
3
|
-
import { classMap as l } from "lit/directives/class-map.js";
|
|
4
|
-
import { styleMap as d } from "lit/directives/style-map.js";
|
|
5
|
-
const c = (r) => class extends r {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments), this.disconnecting = new s();
|
|
8
|
-
}
|
|
9
|
-
classMap(t) {
|
|
10
|
-
const e = {};
|
|
11
|
-
return Object.keys(t).forEach((i) => {
|
|
12
|
-
i.trim().split(" ").filter(Boolean).forEach((a) => {
|
|
13
|
-
e[a] = t[i];
|
|
14
|
-
});
|
|
15
|
-
}), l(e);
|
|
16
|
-
}
|
|
17
|
-
styleMap(t) {
|
|
18
|
-
return d(t);
|
|
19
|
-
}
|
|
20
|
-
disconnectedCallback() {
|
|
21
|
-
this.disconnecting.next(!0), this.disconnecting.complete(), super.disconnectedCallback();
|
|
22
|
-
}
|
|
23
|
-
}, p = o('/*! tailwindcss v4.0.5 | MIT License | https://tailwindcss.com */@layer theme;@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-6{inset-inline:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.right-0{right:0}.right-2{right:.5rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-1\\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-49{z-index:49}.z-50{z-index:50}.z-100{z-index:100}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:.25rem}.mt-8{margin-top:2rem}.mb-12{margin-bottom:3rem}.mb-\\[4px\\]{margin-bottom:4px}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-none{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}.block{display:block}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.h-4{height:1rem}.h-6{height:1.5rem}.h-\\[24px\\]{height:24px}.h-\\[50px\\]{height:50px}.h-\\[320px\\]{height:320px}.h-\\[440px\\]{height:440px}.h-auto{height:auto}.h-full{height:100%}.max-h-\\[24px\\]{max-height:24px}.max-h-\\[90vh\\]{max-height:90vh}.min-h-\\[50vh\\]{min-height:50vh}.min-h-\\[56px\\]{min-height:56px}.w-0{width:0}.w-4{width:1rem}.w-6{width:1.5rem}.w-\\[24px\\]{width:24px}.w-\\[320px\\]{width:320px}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-\\[24px\\]{max-width:24px}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[360px\\]{max-width:360px}.max-w-sm{max-width:24rem}.min-w-\\[50vw\\]{min-width:50vw}.min-w-\\[160px\\]{min-width:160px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-cols-max{grid-auto-columns:max-content}.grid-flow-col{grid-auto-flow:column}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-flow-dense{grid-auto-flow:dense}.grid-flow-row{grid-auto-flow:row}.grid-flow-row-dense{grid-auto-flow:dense}.auto-rows-max{grid-auto-rows:max-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.content-around{align-content:space-around}.content-between{align-content:space-between}.content-center{align-content:center}.content-end{align-content:flex-end}.content-evenly{align-content:space-evenly}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-baseline{justify-content:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-evenly{justify-content:space-evenly}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.justify-items-center{justify-items:center}.justify-items-end{justify-items:end}.justify-items-start{justify-items:start}.justify-items-stretch{justify-items:stretch}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-\\[8px\\]{gap:8px}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1rem *var(--tw-space-y-reverse));margin-block-end:calc(1rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(.5rem *var(--tw-space-x-reverse));margin-inline-end:calc(.5rem *calc(1 - var(--tw-space-x-reverse)))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.scroll-smooth{scroll-behavior:smooth}.rounded-\\[8px\\]{border-radius:8px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-l-\\[8px\\]{border-top-left-radius:8px;border-bottom-left-radius:8px}.rounded-t-\\[8px\\]{border-top-left-radius:8px;border-top-right-radius:8px}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-r-\\[8px\\]{border-top-right-radius:8px;border-bottom-right-radius:8px}.rounded-b-\\[8px\\]{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-gray-300{border-color:#d1d5dc}.border-outline{border-color:var(--schmancy-sys-color-outline)}.border-outlineVariant{border-color:var(--schmancy-sys-color-outlineVariant)}.border-primary-default{border-color:var(--schmancy-sys-color-primary-default)}.border-transparent{border-color:#0000}.bg-primary-default{background-color:var(--schmancy-sys-color-primary-default)}.bg-secondary-container{background-color:var(--schmancy-sys-color-secondary-container)}.bg-surface-bright{background-color:var(--schmancy-sys-color-surface-bright)}.bg-surface-container{background-color:var(--schmancy-sys-color-surface-container)}.bg-surface-default{background-color:var(--schmancy-sys-color-surface-default)}.bg-surface-dim{background-color:var(--schmancy-sys-color-surface-dim)}.bg-surface-high{background-color:var(--schmancy-sys-color-surface-high)}.bg-surface-highest{background-color:var(--schmancy-sys-color-surface-highest)}.bg-surface-low{background-color:var(--schmancy-sys-color-surface-low)}.bg-surface-lowest{background-color:var(--schmancy-sys-color-surface-lowest)}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-scale-down{object-fit:scale-down}.object-center{object-position:center}.p-0{padding:0}.p-2{padding:.5rem}.p-4{padding:1rem}.p-\\[16px\\]{padding:16px}.p-\\[32px\\]{padding:32px}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-6{padding-inline:1.5rem}.px-7{padding-inline:1.75rem}.px-\\[6px\\]{padding-inline:6px}.px-\\[8px\\]{padding-inline:8px}.px-\\[12px\\]{padding-inline:12px}.px-\\[16px\\]{padding-inline:16px}.py-2{padding-block:.5rem}.py-3{padding-block:.75rem}.py-5{padding-block:1.25rem}.py-6{padding-block:1.5rem}.py-12{padding-block:3rem}.py-\\[6px\\]{padding-block:6px}.py-\\[8px\\]{padding-block:8px}.py-\\[12px\\]{padding-block:12px}.py-\\[24px\\]{padding-block:24px}.pt-0\\.5{padding-top:.125rem}.pt-\\[4px\\]{padding-top:4px}.pb-4{padding-bottom:1rem}.pb-\\[300px\\]{padding-bottom:300px}.pl-2{padding-left:.5rem}.text-center{text-align:center}.text-justify{text-align:justify}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.text-base{font-size:1rem;line-height:var(--tw-leading, 1.5 )}.text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25/.875))}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[14px\\]{font-size:14px}.text-\\[16px\\]{font-size:16px}.text-\\[22px\\]{font-size:22px}.text-\\[24px\\]{font-size:24px}.text-\\[28px\\]{font-size:28px}.text-\\[32px\\]{font-size:32px}.text-\\[36px\\]{font-size:36px}.text-\\[45px\\]{font-size:45px}.text-\\[57px\\]{font-size:57px}.leading-6{--tw-leading: 1.5rem ;line-height:1.5rem}.leading-\\[16px\\]{--tw-leading:16px;line-height:16px}.leading-\\[20px\\]{--tw-leading:20px;line-height:20px}.leading-\\[24px\\]{--tw-leading:24px;line-height:24px}.leading-\\[28px\\]{--tw-leading:28px;line-height:28px}.leading-\\[32px\\]{--tw-leading:32px;line-height:32px}.leading-\\[36px\\]{--tw-leading:36px;line-height:36px}.leading-\\[40px\\]{--tw-leading:40px;line-height:40px}.leading-\\[44px\\]{--tw-leading:44px;line-height:44px}.leading-\\[52px\\]{--tw-leading:52px;line-height:52px}.leading-\\[64px\\]{--tw-leading:64px;line-height:64px}.font-bold{--tw-font-weight:700;font-weight:700}.font-medium{--tw-font-weight:500;font-weight:500}.font-normal{--tw-font-weight:400;font-weight:400}.font-semibold{--tw-font-weight:600;font-weight:600}.tracking-\\[-0\\.25px\\]{--tw-tracking:-.25px;letter-spacing:-.25px}.tracking-\\[0\\.15px\\]{--tw-tracking:.15px;letter-spacing:.15px}.tracking-\\[0\\.1px\\]{--tw-tracking:.1px;letter-spacing:.1px}.tracking-\\[0\\.4px\\]{--tw-tracking:.4px;letter-spacing:.4px}.tracking-\\[0\\.5px\\]{--tw-tracking:.5px;letter-spacing:.5px}.tracking-\\[0\\.25px\\]{--tw-tracking:.25px;letter-spacing:.25px}.tracking-\\[0px\\]{--tw-tracking:0px;letter-spacing:0}.hyphens-none{-webkit-hyphens:none;hyphens:none}.text-error-default{color:var(--schmancy-sys-color-error-default)}.text-gray-500{color:#6a7282}.text-gray-900{color:#101828}.text-indigo-600{color:#4f39f6}.text-primary-default{color:var(--schmancy-sys-color-primary-default)}.text-primary-on{color:var(--schmancy-sys-color-primary-on)}.text-secondary-onContainer{color:var(--schmancy-sys-color-secondary-onContainer)}.text-success-default{color:var(--schmancy-sys-color-success-default)}.text-surface-on{color:var(--schmancy-sys-color-surface-on)}.text-white{color:#fff}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.caret-transparent{caret-color:#0000}.opacity-0{opacity:0}.opacity-1{opacity:.01}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-\\[0\\.08\\]{opacity:.08}.opacity-\\[0\\.38\\]{opacity:.38}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-1{--tw-shadow:var(--schmancy-sys-elevation-1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-5{--tw-shadow:var(--schmancy-sys-elevation-5);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-error-default{--tw-ring-color:var(--schmancy-sys-color-error-default)}.ring-outline{--tw-ring-color:var(--schmancy-sys-color-outline)}.ring-outlineVariant{--tw-ring-color:var(--schmancy-sys-color-outlineVariant)}.ring-primary-default{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.ring-secondary-default{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.outline-hidden{outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-secondary-default{outline-color:var(--schmancy-sys-color-secondary-default)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:cubic-bezier(.4,0,1,1);transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{--tw-ease:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.hover\\:border-gray-300:hover{border-color:#d1d5dc}.hover\\:bg-primary-default:hover{background-color:var(--schmancy-sys-color-primary-default)}.hover\\:bg-primary-on:hover{background-color:var(--schmancy-sys-color-primary-on)}.hover\\:bg-secondary-container:hover{background-color:var(--schmancy-sys-color-secondary-container)}.hover\\:bg-surface-on:hover{background-color:var(--schmancy-sys-color-surface-on)}.hover\\:text-gray-700:hover{color:#364153}.hover\\:opacity-\\[0\\.08\\]:hover{opacity:.08}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-xs:hover{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-error-default:focus{--tw-ring-color:var(--schmancy-sys-color-error-default)}.focus\\:ring-indigo-600:focus{--tw-ring-color:oklch(.511 .262 276.966)}.focus\\:ring-primary-default:focus{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.focus\\:ring-secondary-default:focus{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.focus\\:outline-hidden:focus{outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-1:focus{outline-style:var(--tw-outline-style);outline-width:1px}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\\:z-1:focus-visible{z-index:1}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:-outline-offset-2:focus-visible{outline-offset:-2px}.focus-visible\\:outline-offset-0:focus-visible{outline-offset:0px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-secondary-default:focus-visible{outline-color:var(--schmancy-sys-color-secondary-default)}.focus-visible\\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}@media (width>=40rem){.sm\\:items-end{align-items:flex-end}.sm\\:items-start{align-items:flex-start}.sm\\:p-6{padding:1.5rem}.sm\\:px-\\[12px\\]{padding-inline:12px}}@media (width>=48rem){.md\\:px-\\[16px\\]{padding-inline:16px}}}@keyframes pulse{50%{opacity:.5}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}'), w = (r) => {
|
|
24
|
-
const e = class e extends n {
|
|
25
|
-
};
|
|
26
|
-
e.styles = [o(r), p];
|
|
27
|
-
let t = e;
|
|
28
|
-
return t;
|
|
29
|
-
}, u = (r) => {
|
|
30
|
-
class t extends c(w(r)) {
|
|
31
|
-
constructor() {
|
|
32
|
-
super(...arguments), this.disconnectedCallback = () => {
|
|
33
|
-
super.disconnectedCallback();
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return t;
|
|
38
|
-
};
|
|
39
|
-
export {
|
|
40
|
-
c as B,
|
|
41
|
-
u as T
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=tailwind.mixin-BNM2vRly.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const i=require("lit"),s=require("rxjs"),l=require("lit/directives/class-map.js"),d=require("lit/directives/style-map.js"),a=r=>class extends r{constructor(){super(...arguments),this.disconnecting=new s.Subject}classMap(t){const e={};return Object.keys(t).forEach(o=>{o.trim().split(" ").filter(Boolean).forEach(n=>{e[n]=t[o]})}),l.classMap(e)}styleMap(t){return d.styleMap(t)}disconnectedCallback(){this.disconnecting.next(!0),this.disconnecting.complete(),super.disconnectedCallback()}},c=i.unsafeCSS('/*! tailwindcss v4.0.5 | MIT License | https://tailwindcss.com */@layer theme;@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-6{inset-inline:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.right-0{right:0}.right-2{right:.5rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-1\\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-49{z-index:49}.z-50{z-index:50}.z-100{z-index:100}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:.25rem}.mt-8{margin-top:2rem}.mb-12{margin-bottom:3rem}.mb-\\[4px\\]{margin-bottom:4px}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-none{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}.block{display:block}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.h-4{height:1rem}.h-6{height:1.5rem}.h-\\[24px\\]{height:24px}.h-\\[50px\\]{height:50px}.h-\\[320px\\]{height:320px}.h-\\[440px\\]{height:440px}.h-auto{height:auto}.h-full{height:100%}.max-h-\\[24px\\]{max-height:24px}.max-h-\\[90vh\\]{max-height:90vh}.min-h-\\[50vh\\]{min-height:50vh}.min-h-\\[56px\\]{min-height:56px}.w-0{width:0}.w-4{width:1rem}.w-6{width:1.5rem}.w-\\[24px\\]{width:24px}.w-\\[320px\\]{width:320px}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-\\[24px\\]{max-width:24px}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[360px\\]{max-width:360px}.max-w-sm{max-width:24rem}.min-w-\\[50vw\\]{min-width:50vw}.min-w-\\[160px\\]{min-width:160px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-cols-max{grid-auto-columns:max-content}.grid-flow-col{grid-auto-flow:column}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-flow-dense{grid-auto-flow:dense}.grid-flow-row{grid-auto-flow:row}.grid-flow-row-dense{grid-auto-flow:dense}.auto-rows-max{grid-auto-rows:max-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.content-around{align-content:space-around}.content-between{align-content:space-between}.content-center{align-content:center}.content-end{align-content:flex-end}.content-evenly{align-content:space-evenly}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-baseline{justify-content:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-evenly{justify-content:space-evenly}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.justify-items-center{justify-items:center}.justify-items-end{justify-items:end}.justify-items-start{justify-items:start}.justify-items-stretch{justify-items:stretch}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-\\[8px\\]{gap:8px}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1rem *var(--tw-space-y-reverse));margin-block-end:calc(1rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(.5rem *var(--tw-space-x-reverse));margin-inline-end:calc(.5rem *calc(1 - var(--tw-space-x-reverse)))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.scroll-smooth{scroll-behavior:smooth}.rounded-\\[8px\\]{border-radius:8px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-l-\\[8px\\]{border-top-left-radius:8px;border-bottom-left-radius:8px}.rounded-t-\\[8px\\]{border-top-left-radius:8px;border-top-right-radius:8px}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-r-\\[8px\\]{border-top-right-radius:8px;border-bottom-right-radius:8px}.rounded-b-\\[8px\\]{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-gray-300{border-color:#d1d5dc}.border-outline{border-color:var(--schmancy-sys-color-outline)}.border-outlineVariant{border-color:var(--schmancy-sys-color-outlineVariant)}.border-primary-default{border-color:var(--schmancy-sys-color-primary-default)}.border-transparent{border-color:#0000}.bg-primary-default{background-color:var(--schmancy-sys-color-primary-default)}.bg-secondary-container{background-color:var(--schmancy-sys-color-secondary-container)}.bg-surface-bright{background-color:var(--schmancy-sys-color-surface-bright)}.bg-surface-container{background-color:var(--schmancy-sys-color-surface-container)}.bg-surface-default{background-color:var(--schmancy-sys-color-surface-default)}.bg-surface-dim{background-color:var(--schmancy-sys-color-surface-dim)}.bg-surface-high{background-color:var(--schmancy-sys-color-surface-high)}.bg-surface-highest{background-color:var(--schmancy-sys-color-surface-highest)}.bg-surface-low{background-color:var(--schmancy-sys-color-surface-low)}.bg-surface-lowest{background-color:var(--schmancy-sys-color-surface-lowest)}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-scale-down{object-fit:scale-down}.object-center{object-position:center}.p-0{padding:0}.p-2{padding:.5rem}.p-4{padding:1rem}.p-\\[16px\\]{padding:16px}.p-\\[32px\\]{padding:32px}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-6{padding-inline:1.5rem}.px-7{padding-inline:1.75rem}.px-\\[6px\\]{padding-inline:6px}.px-\\[8px\\]{padding-inline:8px}.px-\\[12px\\]{padding-inline:12px}.px-\\[16px\\]{padding-inline:16px}.py-2{padding-block:.5rem}.py-3{padding-block:.75rem}.py-5{padding-block:1.25rem}.py-6{padding-block:1.5rem}.py-12{padding-block:3rem}.py-\\[6px\\]{padding-block:6px}.py-\\[8px\\]{padding-block:8px}.py-\\[12px\\]{padding-block:12px}.py-\\[24px\\]{padding-block:24px}.pt-0\\.5{padding-top:.125rem}.pt-\\[4px\\]{padding-top:4px}.pb-4{padding-bottom:1rem}.pb-\\[300px\\]{padding-bottom:300px}.pl-2{padding-left:.5rem}.text-center{text-align:center}.text-justify{text-align:justify}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.text-base{font-size:1rem;line-height:var(--tw-leading, 1.5 )}.text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25/.875))}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[14px\\]{font-size:14px}.text-\\[16px\\]{font-size:16px}.text-\\[22px\\]{font-size:22px}.text-\\[24px\\]{font-size:24px}.text-\\[28px\\]{font-size:28px}.text-\\[32px\\]{font-size:32px}.text-\\[36px\\]{font-size:36px}.text-\\[45px\\]{font-size:45px}.text-\\[57px\\]{font-size:57px}.leading-6{--tw-leading: 1.5rem ;line-height:1.5rem}.leading-\\[16px\\]{--tw-leading:16px;line-height:16px}.leading-\\[20px\\]{--tw-leading:20px;line-height:20px}.leading-\\[24px\\]{--tw-leading:24px;line-height:24px}.leading-\\[28px\\]{--tw-leading:28px;line-height:28px}.leading-\\[32px\\]{--tw-leading:32px;line-height:32px}.leading-\\[36px\\]{--tw-leading:36px;line-height:36px}.leading-\\[40px\\]{--tw-leading:40px;line-height:40px}.leading-\\[44px\\]{--tw-leading:44px;line-height:44px}.leading-\\[52px\\]{--tw-leading:52px;line-height:52px}.leading-\\[64px\\]{--tw-leading:64px;line-height:64px}.font-bold{--tw-font-weight:700;font-weight:700}.font-medium{--tw-font-weight:500;font-weight:500}.font-normal{--tw-font-weight:400;font-weight:400}.font-semibold{--tw-font-weight:600;font-weight:600}.tracking-\\[-0\\.25px\\]{--tw-tracking:-.25px;letter-spacing:-.25px}.tracking-\\[0\\.15px\\]{--tw-tracking:.15px;letter-spacing:.15px}.tracking-\\[0\\.1px\\]{--tw-tracking:.1px;letter-spacing:.1px}.tracking-\\[0\\.4px\\]{--tw-tracking:.4px;letter-spacing:.4px}.tracking-\\[0\\.5px\\]{--tw-tracking:.5px;letter-spacing:.5px}.tracking-\\[0\\.25px\\]{--tw-tracking:.25px;letter-spacing:.25px}.tracking-\\[0px\\]{--tw-tracking:0px;letter-spacing:0}.hyphens-none{-webkit-hyphens:none;hyphens:none}.text-error-default{color:var(--schmancy-sys-color-error-default)}.text-gray-500{color:#6a7282}.text-gray-900{color:#101828}.text-indigo-600{color:#4f39f6}.text-primary-default{color:var(--schmancy-sys-color-primary-default)}.text-primary-on{color:var(--schmancy-sys-color-primary-on)}.text-secondary-onContainer{color:var(--schmancy-sys-color-secondary-onContainer)}.text-success-default{color:var(--schmancy-sys-color-success-default)}.text-surface-on{color:var(--schmancy-sys-color-surface-on)}.text-white{color:#fff}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.caret-transparent{caret-color:#0000}.opacity-0{opacity:0}.opacity-1{opacity:.01}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-\\[0\\.08\\]{opacity:.08}.opacity-\\[0\\.38\\]{opacity:.38}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-1{--tw-shadow:var(--schmancy-sys-elevation-1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-5{--tw-shadow:var(--schmancy-sys-elevation-5);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-error-default{--tw-ring-color:var(--schmancy-sys-color-error-default)}.ring-outline{--tw-ring-color:var(--schmancy-sys-color-outline)}.ring-outlineVariant{--tw-ring-color:var(--schmancy-sys-color-outlineVariant)}.ring-primary-default{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.ring-secondary-default{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.outline-hidden{outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-secondary-default{outline-color:var(--schmancy-sys-color-secondary-default)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:cubic-bezier(.4,0,1,1);transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{--tw-ease:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.hover\\:border-gray-300:hover{border-color:#d1d5dc}.hover\\:bg-primary-default:hover{background-color:var(--schmancy-sys-color-primary-default)}.hover\\:bg-primary-on:hover{background-color:var(--schmancy-sys-color-primary-on)}.hover\\:bg-secondary-container:hover{background-color:var(--schmancy-sys-color-secondary-container)}.hover\\:bg-surface-on:hover{background-color:var(--schmancy-sys-color-surface-on)}.hover\\:text-gray-700:hover{color:#364153}.hover\\:opacity-\\[0\\.08\\]:hover{opacity:.08}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-xs:hover{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-error-default:focus{--tw-ring-color:var(--schmancy-sys-color-error-default)}.focus\\:ring-indigo-600:focus{--tw-ring-color:oklch(.511 .262 276.966)}.focus\\:ring-primary-default:focus{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.focus\\:ring-secondary-default:focus{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.focus\\:outline-hidden:focus{outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-1:focus{outline-style:var(--tw-outline-style);outline-width:1px}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\\:z-1:focus-visible{z-index:1}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:-outline-offset-2:focus-visible{outline-offset:-2px}.focus-visible\\:outline-offset-0:focus-visible{outline-offset:0px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-secondary-default:focus-visible{outline-color:var(--schmancy-sys-color-secondary-default)}.focus-visible\\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}@media (width>=40rem){.sm\\:items-end{align-items:flex-end}.sm\\:items-start{align-items:flex-start}.sm\\:p-6{padding:1.5rem}.sm\\:px-\\[12px\\]{padding-inline:12px}}@media (width>=48rem){.md\\:px-\\[16px\\]{padding-inline:16px}}}@keyframes pulse{50%{opacity:.5}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}'),p=r=>{const e=class e extends i.LitElement{};e.styles=[i.unsafeCSS(r),c];let t=e;return t};exports.BaseElement=a,exports.TailwindElement=r=>{class t extends a(p(r)){constructor(){super(...arguments),this.disconnectedCallback=()=>{super.disconnectedCallback()}}}return t};
|
|
2
|
-
//# sourceMappingURL=tailwind.mixin-Bkx1Uuxe.cjs.map
|