UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

1 lines • 39.2 kB
import{r as t,c as e,h as r,H as a,g as i}from"./p-c5b7f45e.js";import{T as o,b as s,c as n,d as c,a as l,g as h,s as d,i as p,l as u,e as f,n as g,f as m,h as v}from"./p-0e236351.js";import{g as w,C as b}from"./p-6b4b7af1.js";import{g as x}from"./p-cebd4de5.js";import{C as y}from"./p-62a7ad3b.js";import"./p-42da4366.js";import"./p-af695f59.js";import"./p-a4e6e35b.js";const k=class{constructor(r){t(this,r),this.calciteDatePickerChange=e(this,"calciteDatePickerChange",7),this.calciteDatePickerRangeChange=e(this,"calciteDatePickerRangeChange",7),this.activeRange="start",this.intlPrevMonth=o.prevMonth,this.intlNextMonth=o.nextMonth,this.locale=document.documentElement.lang||"en",this.scale="m",this.range=!1,this.proximitySelectionDisabled=!1,this.hasShadow=!!document.head.attachShadow,this.keyUpHandler=t=>{"Escape"===x(t.key)&&this.reset()},this.monthHeaderSelectChange=t=>{const e=new Date(t.detail);this.range?("start"===this.activeRange?this.activeStartDate=e:"end"===this.activeRange&&(this.activeEndDate=e),this.mostRecentRangeValue=e):this.activeDate=e},this.monthActiveDateChange=t=>{const e=new Date(t.detail);this.range?("start"===this.activeRange?this.activeStartDate=e:"end"===this.activeRange&&(this.activeEndDate=e),this.mostRecentRangeValue=e):this.activeDate=e},this.monthHoverChange=t=>{if(!this.startAsDate)return this.hoverRange=void 0,this.hoverRange;const e=new Date(t.detail);this.hoverRange={focused:this.activeRange,start:this.startAsDate,end:this.endAsDate},this.proximitySelectionDisabled?this.endAsDate?this.hoverRange=void 0:e<this.startAsDate?this.hoverRange={focused:"start",start:e,end:this.startAsDate}:(this.hoverRange.end=e,this.hoverRange.focused="end"):this.endAsDate?s(e,this.startAsDate)<s(e,this.endAsDate)?(this.hoverRange.start=e,this.hoverRange.focused="start"):(this.hoverRange.end=e,this.hoverRange.focused="end"):e<this.startAsDate?this.hoverRange={focused:"start",start:e,end:this.startAsDate}:(this.hoverRange.end=e,this.hoverRange.focused="end")},this.monthMouseOutChange=()=>{this.hoverRange&&(this.hoverRange=void 0)},this.reset=()=>{var t,e,r,a,i,o;this.valueAsDate&&(null===(t=this.valueAsDate)||void 0===t?void 0:t.getTime())!==(null===(e=this.activeDate)||void 0===e?void 0:e.getTime())&&(this.activeDate=new Date(this.valueAsDate)),this.startAsDate&&(null===(r=this.startAsDate)||void 0===r?void 0:r.getTime())!==(null===(a=this.activeStartDate)||void 0===a?void 0:a.getTime())&&(this.activeStartDate=new Date(this.startAsDate)),this.endAsDate&&(null===(i=this.endAsDate)||void 0===i?void 0:i.getTime())!==(null===(o=this.activeEndDate)||void 0===o?void 0:o.getTime())&&(this.activeEndDate=new Date(this.endAsDate))},this.monthDateChange=t=>{const e=new Date(t.detail);if(!this.range)return this.value=n(e),void(this.activeDate=e);if(!this.startAsDate||!this.endAsDate&&e<this.startAsDate){if(this.startAsDate){const t=new Date(this.startAsDate);this.end=n(t),this.setEndAsDate(t,!0),this.activeEndDate=t}this.start=n(e),this.setStartAsDate(e,!0),this.activeStartDate=e}else this.endAsDate?this.proximitySelectionDisabled?(this.start=n(e),this.setStartAsDate(e,!0),this.activeStartDate=e,this.endAsDate=this.activeEndDate=this.end=void 0):s(e,this.startAsDate)<s(e,this.endAsDate)?(this.start=n(e),this.setStartAsDate(e,!0),this.activeStartDate=e):(this.end=n(e),this.setEndAsDate(e,!0),this.activeEndDate=e):(this.end=n(e),this.setEndAsDate(e,!0),this.activeEndDate=e)}}handleValueAsDate(t){this.activeDate=t,this.calciteDatePickerChange.emit(t)}handleRangeChange(){const{startAsDate:t,endAsDate:e}=this;this.activeEndDate=e,this.activeStartDate=t}focusInHandler(t){this.hasShadow||this.el.contains(t.target)||this.reset()}connectedCallback(){this.loadLocaleData(),this.value&&(this.valueAsDate=c(this.value)),this.start&&this.setStartAsDate(c(this.start)),this.end&&this.setEndAsDate(c(this.end)),this.min&&(this.minAsDate=c(this.min)),this.max&&(this.maxAsDate=c(this.max))}render(){var t;const e=l(this.range?this.startAsDate:this.valueAsDate,this.minAsDate,this.maxAsDate);let i=this.range?this.getActiveStartDate(e,this.minAsDate,this.maxAsDate):this.getActiveDate(e,this.minAsDate,this.maxAsDate);const o=this.range?l(this.endAsDate,this.minAsDate,this.maxAsDate):null,s=this.getActiveEndDate(o,this.minAsDate,this.maxAsDate);"end"!==this.activeRange&&("end"!==(null===(t=this.hoverRange)||void 0===t?void 0:t.focused)||this.proximitySelectionDisabled&&!o)||!s||(i=s),this.range&&this.mostRecentRangeValue&&(i=this.mostRecentRangeValue);const n="start"===this.activeRange?this.minAsDate:e||this.maxAsDate,c=this.maxAsDate,h=w(this.el);return r(a,{onBlur:this.reset,onKeyUp:this.keyUpHandler,role:"application"},this.renderCalendar(i,h,c,n,e,o))}valueWatcher(t){this.valueAsDate=c(t)}startWatcher(t){this.setStartAsDate(c(t))}endWatcher(t){this.setEndAsDate(c(t))}async loadLocaleData(){const{locale:t}=this;this.localeData=await h(t)}renderCalendar(t,e,a,i,o,s){return this.localeData&&[r("calcite-date-picker-month-header",{activeDate:t,dir:e,headingLevel:this.headingLevel||2,intlNextMonth:this.intlNextMonth,intlPrevMonth:this.intlPrevMonth,localeData:this.localeData,max:a,min:i,onCalciteDatePickerSelect:this.monthHeaderSelectChange,scale:this.scale,selectedDate:"start"===this.activeRange?o:s||new Date}),r("calcite-date-picker-month",{activeDate:t,dir:e,endDate:this.range?s:void 0,hoverRange:this.hoverRange,localeData:this.localeData,max:a,min:i,onCalciteDatePickerActiveDateChange:this.monthActiveDateChange,onCalciteDatePickerHover:this.monthHoverChange,onCalciteDatePickerMouseOut:this.monthMouseOutChange,onCalciteDatePickerSelect:this.monthDateChange,scale:this.scale,selectedDate:"start"===this.activeRange?o:s,startDate:this.range?o:void 0})]}setStartAsDate(t,e){this.startAsDate=t,this.mostRecentRangeValue=this.startAsDate,e&&this.calciteDatePickerRangeChange.emit({startDate:t,endDate:this.endAsDate})}setEndAsDate(t,e){this.endAsDate=t,this.mostRecentRangeValue=this.endAsDate,e&&this.calciteDatePickerRangeChange.emit({startDate:this.startAsDate,endDate:t})}getActiveDate(t,e,r){return l(this.activeDate,e,r)||t||l(new Date,e,r)}getActiveStartDate(t,e,r){return l(this.activeStartDate,e,r)||t||l(new Date,e,r)}getActiveEndDate(t,e,r){return l(this.activeEndDate,e,r)||t||l(new Date,e,r)}static get assetsDirs(){return["assets"]}get el(){return i(this)}static get watchers(){return{valueAsDate:["handleValueAsDate"],startAsDate:["handleRangeChange"],endAsDate:["handleRangeChange"],value:["valueWatcher"],start:["startWatcher"],end:["endWatcher"],locale:["loadLocaleData"]}}};k.style="@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}:host{display:inline-block;vertical-align:top;width:100%;position:relative;overflow:visible;border-radius:0;border-width:1px;border-style:solid;border-color:var(--calcite-ui-border-2);background-color:var(--calcite-ui-foreground-1)}:host([scale=s]){max-width:216px}:host([scale=m]){max-width:286px}:host([scale=l]){max-width:398px}";const D=class{constructor(r){t(this,r),this.calciteDaySelect=e(this,"calciteDaySelect",7),this.calciteDayHover=e(this,"calciteDayHover",7),this.disabled=!1,this.currentMonth=!1,this.selected=!1,this.highlighted=!1,this.range=!1,this.startOfRange=!1,this.endOfRange=!1,this.rangeHover=!1,this.active=!1,this.onClick=()=>{!this.disabled&&this.calciteDaySelect.emit()},this.keyDownHandler=t=>{const e=x(t.key);" "!==e&&"Enter"!==e||!this.disabled&&this.calciteDaySelect.emit()}}mouseoverHandler(){this.calciteDayHover.emit({disabled:this.disabled})}render(){const t=String(this.day).split("").map((t=>this.localeData.numerals[t])).join(""),e=w(this.el);return r(a,{onClick:this.onClick,onKeyDown:this.keyDownHandler,role:"gridcell",tabindex:this.active?0:-1},r("div",{class:{"day-v-wrapper":!0,[b.rtl]:"rtl"===e}},r("div",{class:"day-wrapper"},r("span",{class:"day"},r("span",{class:"text"},t)))))}get el(){return i(this)}};D.style="@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}:host{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;outline:2px solid transparent;outline-offset:2px;color:var(--calcite-ui-text-3);cursor:pointer;min-width:0;width:calc(100% / 7)}.day-v-wrapper{-ms-flex:1 1 auto;flex:1 1 auto}.day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}.day{display:-ms-flexbox;display:flex;border-radius:9999px;font-size:var(--calcite-font-size--2);line-height:1rem;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;line-height:1;color:var(--calcite-ui-text-3);-webkit-transition-property:all;transition-property:all;opacity:var(--calcite-ui-opacity-disabled);background:none;-webkit-box-shadow:0 0 0 2px transparent, 0 0 0 0px transparent;box-shadow:0 0 0 2px transparent, 0 0 0 0px transparent}.text{margin-top:1px;margin-right:0;margin-bottom:0;margin-left:1px}:host([scale=s]) .day-v-wrapper{padding-top:0.125rem;padding-bottom:0.125rem}:host([scale=s]) .day-wrapper{padding:0}:host([scale=s]) .day{height:27px;width:27px;font-size:var(--calcite-font-size--2)}:host([scale=m]) .day-v-wrapper{padding-top:0.25rem;padding-bottom:0.25rem}:host([scale=m]) .day-wrapper{padding-left:0.25rem;padding-right:0.25rem}:host([scale=m]) .day{height:33px;width:33px;font-size:var(--calcite-font-size--1)}:host([scale=l]) .day-v-wrapper{padding-top:0.25rem;padding-bottom:0.25rem}:host([scale=l]) .day-wrapper{padding-left:0.25rem;padding-right:0.25rem}:host([scale=l]) .day{height:43px;width:43px;font-size:var(--calcite-font-size-0)}:host([current-month]) .day{opacity:1}:host([disabled]){cursor:default;opacity:0.25}:host(:hover:not([disabled])) .day,:host([active]:not([range])) .day{background-color:var(--calcite-ui-foreground-2);color:var(--calcite-ui-text-1)}:host(:focus),:host([active]){z-index:1}:host(:focus:not([disabled])) .day{-webkit-box-shadow:0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand);box-shadow:0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand)}:host([selected]) .day{font-weight:var(--calcite-font-weight-medium);background-color:var(--calcite-ui-brand) !important;color:var(--calcite-ui-foreground-1) !important;z-index:1}:host([range][selected]) .day-wrapper{background-color:var(--calcite-ui-foreground-current)}:host([start-of-range]) :not(.calcite--rtl) .day-wrapper,:host([end-of-range]) .calcite--rtl .day-wrapper{border-top-left-radius:40%;border-bottom-left-radius:40%;-webkit-box-shadow:inset 4px 0 var(--calcite-ui-foreground-1);box-shadow:inset 4px 0 var(--calcite-ui-foreground-1)}:host([start-of-range]) :not(.calcite--rtl) .day,:host([end-of-range]) .calcite--rtl .day{opacity:1}:host([start-of-range]:not(:focus)) :not(.calcite--rtl) .day,:host([end-of-range]:not(:focus)) .calcite--rtl .day{-webkit-box-shadow:0 0 0 2px var(--calcite-ui-foreground-1);box-shadow:0 0 0 2px var(--calcite-ui-foreground-1)}:host([end-of-range]) :not(.calcite--rtl) .day-wrapper,:host([start-of-range]) .calcite--rtl .day-wrapper{border-top-right-radius:40%;border-bottom-right-radius:40%;-webkit-box-shadow:inset -4px 0 var(--calcite-ui-foreground-1);box-shadow:inset -4px 0 var(--calcite-ui-foreground-1)}:host([end-of-range]) :not(.calcite--rtl) .day,:host([start-of-range]) .calcite--rtl .day{opacity:1}:host([end-of-range]:not(:focus)) :not(.calcite--rtl) .day,:host([start-of-range]:not(:focus)) .calcite--rtl .day{-webkit-box-shadow:0 0 0 2px var(--calcite-ui-foreground-1);box-shadow:0 0 0 2px var(--calcite-ui-foreground-1)}:host([end-of-range][scale=l]) :not(.calcite--rtl) .day-wrapper,:host([start-of-range][scale=l]) .calcite--rtl .day-wrapper{-webkit-box-shadow:inset -8px 0 var(--calcite-ui-foreground-1);box-shadow:inset -8px 0 var(--calcite-ui-foreground-1)}:host([start-of-range][scale=l]) :not(.calcite--rtl) .day-wrapper,:host([end-of-range][scale=l]) .calcite--rtl .day-wrapper{-webkit-box-shadow:inset 8px 0 var(--calcite-ui-foreground-1);box-shadow:inset 8px 0 var(--calcite-ui-foreground-1)}:host([highlighted]) .day-wrapper{background-color:var(--calcite-ui-foreground-current)}:host([highlighted]) .day-wrapper .day{color:var(--calcite-ui-text-1)}:host([highlighted]:not([active]:focus)) .day{border-radius:0;color:var(--calcite-ui-text-1)}:host([range-hover]:not([selected])) .day-wrapper{background-color:var(--calcite-ui-foreground-2)}:host([range-hover]:not([selected])) .day{border-radius:0}:host([end-of-range][range-hover]) :not(.calcite--rtl) .day-wrapper,:host([start-of-range][range-hover]) .calcite--rtl .day-wrapper{background-image:-webkit-gradient(linear, left top, right top, from(var(--calcite-ui-foreground-current)), color-stop(var(--calcite-ui-foreground-current)), color-stop(var(--calcite-ui-foreground-2)), to(var(--calcite-ui-foreground-2)));background-image:linear-gradient(to right, var(--calcite-ui-foreground-current), var(--calcite-ui-foreground-current), var(--calcite-ui-foreground-2), var(--calcite-ui-foreground-2));border-radius:0;-webkit-box-shadow:none;box-shadow:none}:host([start-of-range][range-hover]) :not(.calcite--rtl) .day-wrapper,:host([end-of-range][range-hover]) .calcite--rtl .day-wrapper{background-image:-webkit-gradient(linear, right top, left top, from(var(--calcite-ui-foreground-current)), color-stop(var(--calcite-ui-foreground-current)), color-stop(var(--calcite-ui-foreground-2)), to(var(--calcite-ui-foreground-2)));background-image:linear-gradient(to left, var(--calcite-ui-foreground-current), var(--calcite-ui-foreground-current), var(--calcite-ui-foreground-2), var(--calcite-ui-foreground-2));border-radius:0;-webkit-box-shadow:none;box-shadow:none}:host(:hover[end-of-range][range-hover]) :not(.calcite--rtl) .day-wrapper,:host(:hover[start-of-range][range-hover]) .calcite--rtl .day-wrapper{background-image:-webkit-gradient(linear, left top, right top, from(var(--calcite-ui-foreground-current)), color-stop(var(--calcite-ui-foreground-current)), color-stop(var(--calcite-ui-foreground-1)), to(var(--calcite-ui-foreground-1)));background-image:linear-gradient(to right, var(--calcite-ui-foreground-current), var(--calcite-ui-foreground-current), var(--calcite-ui-foreground-1), var(--calcite-ui-foreground-1));border-radius:0;-webkit-box-shadow:none;box-shadow:none}:host(:hover[start-of-range][range-hover]) :not(.calcite--rtl) .day-wrapper,:host(:hover[end-of-range][range-hover]) .calcite--rtl .day-wrapper{background-image:-webkit-gradient(linear, right top, left top, from(var(--calcite-ui-foreground-current)), color-stop(var(--calcite-ui-foreground-current)), color-stop(var(--calcite-ui-foreground-1)), to(var(--calcite-ui-foreground-1)));background-image:linear-gradient(to left, var(--calcite-ui-foreground-current), var(--calcite-ui-foreground-current), var(--calcite-ui-foreground-1), var(--calcite-ui-foreground-1));border-radius:0;-webkit-box-shadow:none;box-shadow:none}:host(:hover[range-hover]:not([selected]).focused--end) :not(.calcite--rtl) .day-wrapper,:host(:hover[range-hover]:not([selected]).focused--start) .calcite--rtl .day-wrapper{background-image:-webkit-gradient(linear, left top, right top, from(var(--calcite-ui-foreground-2)), color-stop(var(--calcite-ui-foreground-2)), color-stop(var(--calcite-ui-foreground-current)), to(var(--calcite-ui-foreground-current)));background-image:linear-gradient(to right, var(--calcite-ui-foreground-2), var(--calcite-ui-foreground-2), var(--calcite-ui-foreground-current), var(--calcite-ui-foreground-current))}:host(:hover[range-hover]:not([selected]).focused--end) :not(.calcite--rtl) .day,:host(:hover[range-hover]:not([selected]).focused--start) .calcite--rtl .day{border-radius:9999px;opacity:1;-webkit-box-shadow:0 0 0 2px var(--calcite-ui-foreground-1);box-shadow:0 0 0 2px var(--calcite-ui-foreground-1)}:host(:hover[range-hover]:not([selected]).focused--start) :not(.calcite--rtl) .day-wrapper,:host(:hover[range-hover]:not([selected]).focused--end) .calcite--rtl .day-wrapper{background-image:-webkit-gradient(linear, left top, right top, from(var(--calcite-ui-foreground-current)), color-stop(var(--calcite-ui-foreground-current)), color-stop(var(--calcite-ui-foreground-2)), to(var(--calcite-ui-foreground-2)));background-image:linear-gradient(to right, var(--calcite-ui-foreground-current), var(--calcite-ui-foreground-current), var(--calcite-ui-foreground-2), var(--calcite-ui-foreground-2))}:host(:hover[range-hover]:not([selected]).focused--start) :not(.calcite--rtl) .day,:host(:hover[range-hover]:not([selected]).focused--end) .calcite--rtl .day{border-radius:9999px;opacity:1;-webkit-box-shadow:0 0 0 2px var(--calcite-ui-foreground-1);box-shadow:0 0 0 2px var(--calcite-ui-foreground-1)}:host(:hover[range-hover]:not([selected]).focused--start.hover--outside-range) :not(.calcite--rtl) .day-wrapper,:host(:hover[range-hover]:not([selected]).focused--end.hover--outside-range) .calcite--rtl .day-wrapper{background-image:-webkit-gradient(linear, left top, right top, from(var(--calcite-ui-foreground-1)), color-stop(var(--calcite-ui-foreground-1)), color-stop(var(--calcite-ui-foreground-2)), to(var(--calcite-ui-foreground-2)));background-image:linear-gradient(to right, var(--calcite-ui-foreground-1), var(--calcite-ui-foreground-1), var(--calcite-ui-foreground-2), var(--calcite-ui-foreground-2))}:host(:hover[range-hover]:not([selected]).focused--start.hover--outside-range) :not(.calcite--rtl) .day,:host(:hover[range-hover]:not([selected]).focused--end.hover--outside-range) .calcite--rtl .day{border-radius:9999px;opacity:1;-webkit-box-shadow:0 0 0 2px var(--calcite-ui-foreground-1);box-shadow:0 0 0 2px var(--calcite-ui-foreground-1)}:host(:hover[range-hover]:not([selected]).focused--end.hover--outside-range) :not(.calcite--rtl) .day-wrapper,:host(:hover[range-hover]:not([selected]).focused--start.hover--outside-range) .calcite--rtl .day-wrapper{background-image:-webkit-gradient(linear, left top, right top, from(var(--calcite-ui-foreground-2)), color-stop(var(--calcite-ui-foreground-2)), color-stop(var(--calcite-ui-foreground-1)), to(var(--calcite-ui-foreground-1)));background-image:linear-gradient(to right, var(--calcite-ui-foreground-2), var(--calcite-ui-foreground-2), var(--calcite-ui-foreground-1), var(--calcite-ui-foreground-1))}:host(:hover[range-hover]:not([selected]).focused--end.hover--outside-range) :not(.calcite--rtl) .day,:host(:hover[range-hover]:not([selected]).focused--start.hover--outside-range) .calcite--rtl .day{border-radius:9999px;opacity:1;-webkit-box-shadow:0 0 0 2px var(--calcite-ui-foreground-1);box-shadow:0 0 0 2px var(--calcite-ui-foreground-1)}:host(:hover[start-of-range].hover--inside-range.focused--end) .day-wrapper,:host(:hover[end-of-range].hover--inside-range.focused--start) .day-wrapper{background-image:none}:host([start-of-range].hover--inside-range.focused--end) .day-wrapper,:host([end-of-range].hover--inside-range.focused--start) .day-wrapper{background-color:var(--calcite-ui-foreground-2)}:host([highlighted]:last-child) :not(.calcite--rtl) .day-wrapper,:host([range-hover]:last-child) :not(.calcite--rtl) .day-wrapper,:host([highlighted]:first-child) .calcite--rtl .day-wrapper,:host([range-hover]:first-child) .calcite--rtl .day-wrapper{border-top-right-radius:45%;border-bottom-right-radius:45%;-webkit-box-shadow:inset -4px 0px 0px 0px var(--calcite-ui-foreground-1);box-shadow:inset -4px 0px 0px 0px var(--calcite-ui-foreground-1)}:host([highlighted]:first-child) :not(.calcite--rtl) .day-wrapper,:host([range-hover]:first-child) :not(.calcite--rtl) .day-wrapper,:host([highlighted]:last-child) .calcite--rtl .day-wrapper,:host([range-hover]:last-child) .calcite--rtl .day-wrapper{border-top-left-radius:45%;border-bottom-left-radius:45%;-webkit-box-shadow:inset 4px 0px 0px 0px var(--calcite-ui-foreground-1);box-shadow:inset 4px 0px 0px 0px var(--calcite-ui-foreground-1)}:host([scale=s][highlighted]:last-child) :not(.calcite--rtl) .day-wrapper,:host([scale=s][range-hover]:last-child) :not(.calcite--rtl) .day-wrapper,:host([scale=s][highlighted]:first-child) .calcite--rtl .day-wrapper,:host([scale=s][range-hover]:first-child) .calcite--rtl .day-wrapper{-webkit-box-shadow:inset -1px 0px 0px 0px var(--calcite-ui-foreground-1);box-shadow:inset -1px 0px 0px 0px var(--calcite-ui-foreground-1)}:host([scale=s][highlighted]:first-child) :not(.calcite--rtl) .day-wrapper,:host([scale=s][range-hover]:first-child) :not(.calcite--rtl) .day-wrapper,:host([scale=s][highlighted]:last-child) .calcite--rtl .day-wrapper,:host([scale=s][range-hover]:last-child) .calcite--rtl .day-wrapper{-webkit-box-shadow:inset 1px 0px 0px 0px var(--calcite-ui-foreground-1);box-shadow:inset 1px 0px 0px 0px var(--calcite-ui-foreground-1)}:host([scale=l][highlighted]:first-child) :not(.calcite--rtl) .day-wrapper,:host([scale=l][range-hover]:first-child) :not(.calcite--rtl) .day-wrapper,:host([scale=l][highlighted]:last-child) .calcite--rtl .day-wrapper,:host([scale=l][range-hover]:last-child) .calcite--rtl .day-wrapper{-webkit-box-shadow:inset 6px 0px 0px 0px var(--calcite-ui-foreground-1);box-shadow:inset 6px 0px 0px 0px var(--calcite-ui-foreground-1)}:host([scale=l][highlighted]:last-child) :not(.calcite--rtl) .day-wrapper,:host([scale=l][range-hover]:last-child) :not(.calcite--rtl) .day-wrapper,:host([scale=l][highlighted]:first-child) .calcite--rtl .day-wrapper,:host([scale=l][range-hover]:first-child) .calcite--rtl .day-wrapper{-webkit-box-shadow:inset -6px 0px 0px 0px var(--calcite-ui-foreground-1);box-shadow:inset -6px 0px 0px 0px var(--calcite-ui-foreground-1)}";const z=class{constructor(r){t(this,r),this.calciteDatePickerSelect=e(this,"calciteDatePickerSelect",7),this.calciteDatePickerHover=e(this,"calciteDatePickerHover",7),this.calciteDatePickerActiveDateChange=e(this,"calciteDatePickerActiveDateChange",7),this.calciteDatePickerMouseOut=e(this,"calciteDatePickerMouseOut",7),this.activeDate=new Date,this.keyDownHandler=t=>{const e="rtl"===this.el.dir;switch(x(t.key)){case"ArrowUp":t.preventDefault(),this.addDays(-7);break;case"ArrowRight":t.preventDefault(),this.addDays(e?-1:1);break;case"ArrowDown":t.preventDefault(),this.addDays(7);break;case"ArrowLeft":t.preventDefault(),this.addDays(e?1:-1);break;case"PageUp":t.preventDefault(),this.addMonths(-1);break;case"PageDown":t.preventDefault(),this.addMonths(1);break;case"Home":t.preventDefault(),this.activeDate.setDate(1),this.addDays();break;case"End":t.preventDefault(),this.activeDate.setDate(new Date(this.activeDate.getFullYear(),this.activeDate.getMonth()+1,0).getDate()),this.addDays();break;case"Enter":case" ":t.preventDefault();break;case"Tab":this.activeFocus=!1}},this.disableActiveFocus=()=>{this.activeFocus=!1},this.dayHover=t=>{const e=t.target;t.detail.disabled?this.calciteDatePickerMouseOut.emit():this.calciteDatePickerHover.emit(e.value)},this.daySelect=t=>{this.calciteDatePickerSelect.emit(t.target.value)}}mouseoutHandler(){this.calciteDatePickerMouseOut.emit()}render(){const t=this.activeDate.getMonth(),e=this.activeDate.getFullYear(),i=this.localeData.weekStart%7,{abbreviated:o,short:s,narrow:n}=this.localeData.days,c="s"===this.scale?n||s||o:s||o||n,l=[...c.slice(i,7),...c.slice(0,i)],h=this.getCurrentMonthDays(t,e),p=this.getPrevMonthdays(t,e,i),u=this.getNextMonthDays(t,e,i),f=w(this.el),g=[...p.map((r=>{const a=new Date(e,t-1,r);return this.renderDateDay(!1,r,f,a)})),...h.map((r=>{const a=new Date(e,t,r),i=d(a,this.activeDate);return this.renderDateDay(i,r,f,a,!0,!0)})),...u.map((r=>{const a=new Date(e,t+1,r);return this.renderDateDay(!1,r,f,a)}))],m=[];for(let r=0;r<g.length;r+=7)m.push(g.slice(r,r+7));return r(a,{onFocusOut:this.disableActiveFocus,onKeyDown:this.keyDownHandler},r("div",{class:"calender",role:"grid"},r("div",{class:"week-headers",role:"row"},l.map((t=>r("span",{class:"week-header",role:"columnheader"},t)))),m.map((t=>r("div",{class:"week-days",role:"row"},t)))))}addMonths(t){const e=new Date(this.activeDate);e.setMonth(this.activeDate.getMonth()+t),this.calciteDatePickerActiveDateChange.emit(l(e,this.min,this.max)),this.activeFocus=!0}addDays(t=0){const e=new Date(this.activeDate);e.setDate(this.activeDate.getDate()+t),this.calciteDatePickerActiveDateChange.emit(l(e,this.min,this.max)),this.activeFocus=!0}getPrevMonthdays(t,e,r){const a=new Date(e,t,0),i=a.getDate(),o=[];if(a.getDay()-6===r)return o;for(let s=a.getDay();s>=r;s--)o.push(i-s);return o}getCurrentMonthDays(t,e){const r=new Date(e,t+1,0).getDate(),a=[];for(let i=0;i<r;i++)a.push(i+1);return a}getNextMonthDays(t,e,r){const a=new Date(e,t+1,0).getDay(),i=[];if(a===(r+6)%7)return i;for(let o=0;o<(6-(a-r))%7;o++)i.push(o+1);return i}betweenSelectedRange(t){return this.startDate&&this.endDate&&t>this.startDate&&t<this.endDate&&!this.isRangeHover(t)}isSelected(t){return d(t,this.selectedDate)||this.startDate&&d(t,this.startDate)||this.endDate&&d(t,this.endDate)}isStartOfRange(t){return!!this.startDate&&!d(this.startDate,this.endDate)&&d(this.startDate,t)&&!this.isEndOfRange(t)}isEndOfRange(t){return!!this.endDate&&!d(this.startDate,this.endDate)&&d(this.endDate,t)||!this.endDate&&this.hoverRange&&d(this.startDate,this.hoverRange.end)&&d(t,this.hoverRange.end)}renderDateDay(t,e,a,i,o,s){var n;const c=this.isFocusedOnStart(),l=this.isHoverInRange()||!this.endDate&&this.hoverRange&&d(null===(n=this.hoverRange)||void 0===n?void 0:n.end,this.startDate);return r("calcite-date-picker-day",{active:t,class:{"hover--inside-range":this.startDate&&l,"hover--outside-range":this.startDate&&!l,"focused--start":c,"focused--end":!c},currentMonth:o,day:e,dir:a,disabled:!p(i,this.min,this.max),endOfRange:this.isEndOfRange(i),highlighted:this.betweenSelectedRange(i),key:i.toDateString(),localeData:this.localeData,onCalciteDayHover:this.dayHover,onCalciteDaySelect:this.daySelect,range:!!this.startDate&&!!this.endDate&&!d(this.startDate,this.endDate),rangeHover:this.isRangeHover(i),ref:e=>{s&&t&&this.activeFocus&&(null==e||e.focus())},scale:this.scale,selected:this.isSelected(i),startOfRange:this.isStartOfRange(i),value:i})}isFocusedOnStart(){var t;return"start"===(null===(t=this.hoverRange)||void 0===t?void 0:t.focused)}isHoverInRange(){if(!this.hoverRange)return;const{start:t,end:e}=this.hoverRange;return!this.isFocusedOnStart()&&!!this.startDate&&(!this.endDate||e<this.endDate)||this.isFocusedOnStart()&&!!this.startDate&&t>this.startDate}isRangeHover(t){if(!this.hoverRange)return!1;const{start:e,end:r}=this.hoverRange,a=this.isFocusedOnStart(),i=this.isHoverInRange(),o=i&&(!a&&t>this.startDate&&(t<r||d(t,r))||a&&t<this.endDate&&(t>e||d(t,e))),s=!i&&(!a&&t>=this.endDate&&(t<r||d(t,r))||a&&(t<this.startDate||this.endDate&&d(t,this.startDate))&&(t>e||d(t,e)));return o||s}get el(){return i(this)}};z.style="@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}.calender{margin-bottom:0.25rem}.week-headers{display:-ms-flexbox;display:flex;border-width:0;border-top-width:1px;border-style:solid;border-color:var(--calcite-ui-border-3);padding-top:0;padding-bottom:0;padding-left:0.25rem;padding-right:0.25rem}.week-header{color:var(--calcite-ui-text-3);text-align:center;font-weight:var(--calcite-font-weight-bold);width:calc(100% / 7)}:host([scale=s]) .week-header{font-size:var(--calcite-font-size--2);line-height:1rem;padding-top:1rem;padding-bottom:1rem;padding-left:0;padding-right:0}:host([scale=m]) .week-header{font-size:var(--calcite-font-size--2);line-height:1rem;padding-top:1.5rem;padding-bottom:1.5rem;padding-left:0;padding-right:0}:host([scale=l]) .week-header{font-size:var(--calcite-font-size--1);line-height:1rem;padding-top:2rem;padding-bottom:1.5rem;padding-left:0;padding-right:0}.week-days{outline:2px solid transparent;outline-offset:2px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;padding-top:0;padding-bottom:0;padding-left:6px;padding-right:6px}";const C=class{constructor(r){t(this,r),this.calciteDatePickerSelect=e(this,"calciteDatePickerSelect",7),this.onYearKey=t=>{const e=t.target.value;switch(x(t.key)){case"ArrowDown":t.preventDefault(),this.setYear(e,-1);break;case"ArrowUp":t.preventDefault(),this.setYear(e,1)}},this.yearChanged=t=>{this.setYear(t.target.value)},this.prevMonthClick=t=>{this.handleArrowClick(t,this.prevMonthDate)},this.prevMonthKeydown=t=>{const e=x(t.key);" "!==e&&"Enter"!==e||this.prevMonthClick(t)},this.nextMonthClick=t=>{this.handleArrowClick(t,this.nextMonthDate)},this.nextMonthKeydown=t=>{const e=x(t.key);" "!==e&&"Enter"!==e||this.nextMonthClick(t)},this.handleArrowClick=(t,e)=>{null==t||t.preventDefault(),t.stopPropagation(),this.calciteDatePickerSelect.emit(e)}}connectedCallback(){this.setNextPrevMonthDates()}render(){var t;const e=this.activeDate.getMonth(),{months:a,unitOrder:i}=this.localeData,o=(a.wide||a.narrow||a.abbreviated)[e],s=u(this.activeDate.getFullYear(),this.localeData),n="l"===this.scale?"m":"s",c=w(this.el),l=f(i),h=l.indexOf("y")<l.indexOf("m"),d=null===(t=this.localeData.year)||void 0===t?void 0:t.suffix;return r("div",{class:"header",dir:c},r("a",{"aria-disabled":(this.prevMonthDate.getMonth()===e).toString(),"aria-label":this.intlPrevMonth,class:"chevron",href:"#",onClick:this.prevMonthClick,onKeyDown:this.prevMonthKeydown,role:"button",tabindex:this.prevMonthDate.getMonth()===e?-1:0},r("calcite-icon",{dir:c,"flip-rtl":!0,icon:"chevron-left",scale:n})),r("div",{class:{text:!0,"text--reverse":h}},r(y,{class:"month",level:this.headingLevel},o),r("span",{class:"year-wrap"},r("input",{class:{year:!0,"year--suffix":!!d},inputmode:"numeric",maxlength:"4",minlength:"1",onChange:this.yearChanged,onKeyDown:this.onYearKey,pattern:"\\d*",ref:t=>this.yearInput=t,type:"text",value:s}),d&&r("span",{class:"suffix"},r("span",{"aria-hidden":"true",class:"suffix__invisible"},s)," "+d))),r("a",{"aria-disabled":(this.nextMonthDate.getMonth()===e).toString(),"aria-label":this.intlNextMonth,class:"chevron",href:"#",onClick:this.nextMonthClick,onKeyDown:this.nextMonthKeydown,role:"button",tabindex:this.nextMonthDate.getMonth()===e?-1:0},r("calcite-icon",{dir:c,"flip-rtl":!0,icon:"chevron-right",scale:n})))}setNextPrevMonthDates(){this.nextMonthDate=l(g(this.activeDate),this.min,this.max),this.prevMonthDate=l(m(this.activeDate),this.min,this.max)}setYear(t,e=0){const{min:r,max:a,activeDate:i,localeData:o,yearInput:s}=this,n=v(t,o),c=n.toString().length,h=!isNaN(n)&&n+e,d=h&&(!r||r.getFullYear()<=h)&&(!a||a.getFullYear()>=h);if(h&&d&&c===t.length){const t=new Date(i);t.setFullYear(h);const e=l(t,r,a);this.calciteDatePickerSelect.emit(e),s.value=u(e.getFullYear(),o)}else s.value=u(i.getFullYear(),o)}get el(){return i(this)}static get watchers(){return{min:["setNextPrevMonthDates"],max:["setNextPrevMonthDates"],activeDate:["setNextPrevMonthDates"]}}};C.style="@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}.header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding-top:0;padding-bottom:0;padding-left:0.25rem;padding-right:0.25rem}:host([scale=s]) .text{font-size:var(--calcite-font-size--1);line-height:1rem}:host([scale=s]) .chevron{height:2.5rem}:host([scale=m]) .text{font-size:var(--calcite-font-size-0);line-height:1.25rem}:host([scale=m]) .chevron{height:3rem}:host([scale=l]) .text{font-size:var(--calcite-font-size-1);line-height:1.5rem}:host([scale=l]) .chevron{height:4rem}.chevron{color:var(--calcite-ui-text-2);-ms-flex-positive:0;flex-grow:0;-webkit-box-sizing:content-box;box-sizing:content-box;outline:2px solid transparent;outline-offset:2px;padding-left:0.25rem;padding-right:0.25rem;margin-left:-0.25rem;margin-right:-0.25rem;border-style:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:var(--calcite-ui-foreground-1);cursor:pointer;-webkit-transition-property:all;transition-property:all;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);outline-offset:0;outline-color:transparent;-webkit-transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;width:calc(100% / 7)}.chevron:focus{outline:2px solid var(--calcite-ui-brand);outline-offset:-2px}.chevron:hover,.chevron:focus{background-color:var(--calcite-ui-foreground-2);fill:var(--calcite-ui-text-1)}.chevron:active{background-color:var(--calcite-ui-foreground-3)}.chevron[aria-disabled=true]{pointer-events:none;opacity:0}.text{-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;line-height:1;margin-top:auto;margin-bottom:auto;text-align:center;width:100%}.text--reverse{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.month,.year,.suffix{color:var(--calcite-ui-text-1);background-color:var(--calcite-ui-foreground-1);font-weight:var(--calcite-font-weight-medium);line-height:1.25;margin-left:0.25rem;margin-right:0.25rem;display:inline-block;font-size:inherit}.year{font-family:inherit;text-align:center;border-style:none;width:3rem;background-color:transparent;position:relative;outline-offset:0;outline-color:transparent;-webkit-transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;z-index:2}.year:hover{-webkit-transition-duration:100ms;transition-duration:100ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-property:outline-color;transition-property:outline-color;outline:2px solid var(--calcite-ui-border-2);outline-offset:2px}.year:focus{outline:2px solid var(--calcite-ui-brand);outline-offset:2px}.year--suffix{width:4rem;text-align:left}.year-wrap{position:relative}.suffix{position:absolute;width:4rem;white-space:nowrap;text-align:left;top:0;left:0}.suffix__invisible{visibility:hidden}";export{k as calcite_date_picker,D as calcite_date_picker_day,z as calcite_date_picker_month,C as calcite_date_picker_month_header}