123456 |
- /*!
- * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
- * v1.0.0-beta.97
- */
- import{r as t,c as i,h as e,H as a,g as s}from"./p-91755387.js";import{T as n,d as r,g as o,a as l,s as c,b as h,c as d,e as p,p as m,i as u}from"./p-64b5872b.js";import{c as f,d as g,g as v}from"./p-9c8fc268.js";import{s as y,c as b,d as w,H as x}from"./p-cf2d3774.js";import{d as k,f as D,c as C,u as z,r as I,a as P,F as A}from"./p-91b670e6.js";import{u as j}from"./p-4d9ab6e1.js";import{t as R}from"./p-96bf42e5.js";import{c as H,d as _}from"./p-535e2f9b.js";import{n as O,c as E,d as S}from"./p-4ca93e87.js";import{n as F}from"./p-5ae3b7c4.js";import"./p-622f8ecb.js";import"./p-af9e6e54.js";import"./p-d5bfadd8.js";import"./p-8dc9be64.js";const L=class{constructor(e){t(this,e),this.calciteDatePickerChange=i(this,"calciteDatePickerChange",6),this.calciteDatePickerRangeChange=i(this,"calciteDatePickerRangeChange",6),this.calciteInputDatePickerChange=i(this,"calciteInputDatePickerChange",6),this.calciteInputDatePickerBeforeClose=i(this,"calciteInputDatePickerBeforeClose",6),this.calciteInputDatePickerClose=i(this,"calciteInputDatePickerClose",6),this.calciteInputDatePickerBeforeOpen=i(this,"calciteInputDatePickerBeforeOpen",6),this.calciteInputDatePickerOpen=i(this,"calciteInputDatePickerOpen",6),this.disabled=!1,this.readOnly=!1,this.active=!1,this.open=!1,this.intlPrevMonth=n.prevMonth,this.intlNextMonth=n.nextMonth,this.intlYear=n.year,this.scale="m",this.placement=k,this.range=!1,this.required=!1,this.overlayPositioning="absolute",this.proximitySelectionDisabled=!1,this.layout="horizontal",this.effectiveLocale="",this.focusedInput="start",this.globalAttributes={},this.openTransitionProp="opacity",this.setFilteredPlacements=()=>{const{el:t,flipPlacements:i}=this;this.filteredFlipPlacements=i?D(i,t):null},this.setTransitionEl=t=>{this.transitionEl=t,H(this)},this.setStartInput=t=>{this.startInput=t},this.setEndInput=t=>{this.endInput=t},this.deactivate=()=>{this.open=!1},this.keyDownHandler=t=>{const{defaultPrevented:i,key:e}=t;"Enter"!==e||i?"Escape"!==e||i||(this.active=!1,this.open=!1,t.preventDefault()):y(this)&&t.preventDefault()},this.inputBlur=t=>{this.blur(t.currentTarget)},this.startInputFocus=()=>{this.readOnly||(this.open=!0),this.focusedInput="start"},this.endInputFocus=()=>{this.readOnly||(this.open=!0),this.focusedInput="end"},this.startInputInput=()=>{const t=this.parseNumerals(this.startInput.value),i=this.formatNumerals(t);this.startInput.value=i,this.input(t)},this.endInputInput=()=>{const t=this.parseNumerals(this.endInput.value),i=this.formatNumerals(t);this.endInput.value=i,this.input(t)},this.setFloatingEl=t=>{t&&(this.floatingEl=t,C(this,this.referenceEl,this.floatingEl))},this.setStartWrapper=t=>{this.startWrapper=t,this.setReferenceEl()},this.setEndWrapper=t=>{this.endWrapper=t,this.setReferenceEl()},this.handleDateChange=t=>{this.range||(this.value=r(t.detail))},this.handleDateRangeChange=t=>{var i,e;if(!this.range||!t.detail)return;const{startDate:a,endDate:s}=t.detail;this.start=r(a),this.end=r(s),this.value=[this.start,this.end],this.shouldFocusRangeEnd()?null===(i=this.endInput)||void 0===i||i.setFocus():this.shouldFocusRangeStart()&&(null===(e=this.startInput)||void 0===e||e.setFocus())},this.commonDateSeparators=[".","-","/"],this.formatNumerals=t=>t?t.split("").map((t=>this.commonDateSeparators.includes(t)?this.localeData.separator:F.includes(t)?O.numberFormatter.format(Number(t)):t)).join(""):"",this.parseNumerals=t=>t?t.split("").map((t=>F.includes(t)?O.delocalize(t):t)).join(""):""}handleDisabledAndReadOnlyChange(t){t||(this.open=!1)}valueHandler(t){Array.isArray(t)?(this.valueAsDate=o(t),this.start=t[0],this.end=t[1]):t?(this.valueAsDate=l(t),this.start="",this.end=""):(this.valueAsDate=void 0,this.start=void 0,this.end=void 0)}flipPlacementsHandler(){this.setFilteredPlacements(),this.reposition(!0)}onMinChanged(t){t&&(this.minAsDate=l(t))}onMaxChanged(t){t&&(this.maxAsDate=l(t))}activeHandler(t){this.open=t}openHandler(t){if(this.active=t,this.disabled||this.readOnly)return t||z(this.floatingEl),void(this.open=!1);t?this.reposition(!0):z(this.floatingEl)}overlayPositioningHandler(){this.reposition(!0)}handleDateOrRangeChange(){this.calciteInputDatePickerChange.emit()}calciteDaySelectHandler(){this.shouldFocusRangeStart()||this.shouldFocusRangeEnd()||(this.open=!1)}async setFocus(){var t;null===(t=this.startInput)||void 0===t||t.setFocus()}async reposition(t=!1){const{floatingEl:i,referenceEl:e,placement:a,overlayPositioning:s,filteredFlipPlacements:n}=this;return I(this,{floatingEl:i,referenceEl:e,overlayPositioning:s,placement:a,flipPlacements:n,type:"menu"},t)}connectedCallback(){E(this);const t=this.active||this.open;t&&this.activeHandler(t),t&&this.openHandler(t),Array.isArray(this.value)?(this.valueAsDate=o(this.value),this.start=this.value[0],this.end=this.value[1]):this.value&&(this.valueAsDate=l(this.value),this.start="",this.end=""),this.start&&(this.startAsDate=l(this.start)),this.end&&(this.endAsDate=c(l(this.end))),this.min&&(this.minAsDate=l(this.min)),this.max&&(this.maxAsDate=l(this.max)),f(this),b(this),H(this),this.setFilteredPlacements(),this.reposition(!0),O.numberFormatOptions={numberingSystem:this.numberingSystem,locale:this.effectiveLocale,useGrouping:!1}}async componentWillLoad(){await this.loadLocaleData(),this.onMinChanged(this.min),this.onMaxChanged(this.max)}componentDidLoad(){this.reposition(!0)}disconnectedCallback(){g(this),w(this),P(this,this.referenceEl,this.floatingEl),_(this),S(this)}componentDidRender(){j(this)}render(){var t,i;const{disabled:s,readOnly:n,numberingSystem:r,effectiveLocale:o}=this;O.numberFormatOptions={numberingSystem:r,locale:o,useGrouping:!1};const l=h(this.range?this.startAsDate:this.valueAsDate,this.minAsDate,this.maxAsDate),c=this.range?h(this.endAsDate,this.minAsDate,this.maxAsDate):null,d=c?this.formatNumerals(c.toLocaleDateString(o)):"",p=l?this.formatNumerals(l.toLocaleDateString(o)):"";return e(a,{onBlur:this.deactivate,onKeyDown:this.keyDownHandler,role:"application"},this.localeData&&e("div",{"aria-expanded":R(this.open),class:"input-container",role:"application"},e("div",{class:"input-wrapper",ref:this.setStartWrapper},e("calcite-input",{class:"input "+("vertical"===this.layout&&this.range?"no-bottom-border":""),disabled:s,icon:"calendar",label:v(this),lang:o,"number-button-type":"none",numberingSystem:r,onCalciteInputInput:this.startInputInput,onCalciteInternalInputBlur:this.inputBlur,onCalciteInternalInputFocus:this.startInputFocus,placeholder:null===(t=this.localeData)||void 0===t?void 0:t.placeholder,readOnly:n,ref:this.setStartInput,scale:this.scale,type:"text",value:p})),e("div",{"aria-hidden":R(!this.open),class:{"menu-container":!0,"menu-container--active":this.open},ref:this.setFloatingEl},e("div",{class:{"calendar-picker-wrapper":!0,"calendar-picker-wrapper--end":"end"===this.focusedInput,[A.animation]:!0,[A.animationActive]:this.open},ref:this.setTransitionEl},e("calcite-date-picker",{activeRange:this.focusedInput,endAsDate:this.endAsDate,headingLevel:this.headingLevel,intlNextMonth:this.intlNextMonth,intlPrevMonth:this.intlPrevMonth,intlYear:this.intlYear,lang:o,max:this.max,maxAsDate:this.maxAsDate,min:this.min,minAsDate:this.minAsDate,numberingSystem:r,onCalciteDatePickerChange:this.handleDateChange,onCalciteDatePickerRangeChange:this.handleDateRangeChange,proximitySelectionDisabled:this.proximitySelectionDisabled,range:this.range,scale:this.scale,startAsDate:this.startAsDate,tabIndex:0,valueAsDate:this.valueAsDate}))),this.range&&"horizontal"===this.layout&&e("div",{class:"horizontal-arrow-container"},e("calcite-icon",{flipRtl:!0,icon:"arrow-right",scale:"s"})),this.range&&"vertical"===this.layout&&"s"!==this.scale&&e("div",{class:"vertical-arrow-container"},e("calcite-icon",{icon:"arrow-down",scale:"s"})),this.range&&e("div",{class:"input-wrapper",ref:this.setEndWrapper},e("calcite-input",{class:{input:!0,"border-top-color-one":"vertical"===this.layout&&this.range},disabled:s,icon:"calendar",lang:o,"number-button-type":"none",numberingSystem:r,onCalciteInputInput:this.endInputInput,onCalciteInternalInputBlur:this.inputBlur,onCalciteInternalInputFocus:this.endInputFocus,placeholder:null===(i=this.localeData)||void 0===i?void 0:i.placeholder,readOnly:n,ref:this.setEndInput,scale:this.scale,type:"text",value:d}))),e(x,{component:this}))}setReferenceEl(){const{focusedInput:t,layout:i,endWrapper:e,startWrapper:a}=this;this.referenceEl="end"===t||"vertical"===i?e||a:a||e,C(this,this.referenceEl,this.floatingEl)}onLabelClick(){this.setFocus()}onBeforeOpen(){this.calciteInputDatePickerBeforeOpen.emit()}onOpen(){this.calciteInputDatePickerOpen.emit()}onBeforeClose(){this.calciteInputDatePickerBeforeClose.emit()}onClose(){this.calciteInputDatePickerClose.emit()}startWatcher(t){this.startAsDate=l(t)}endWatcher(t){this.endAsDate=t?c(l(t)):l(t)}async loadLocaleData(){this.localeData=await d(this.effectiveLocale)}clearCurrentValue(){if(!this.range)return"string"==typeof this.value&&this.value&&this.calciteDatePickerChange.emit(),void(this.value="");const{focusedInput:t}=this;"start"===t?(this.start&&this.calciteDatePickerRangeChange.emit(),this.value=Array.isArray(this.value)?["",this.value[1]||""]:[""],this.start=void 0):"end"===t&&(this.end&&this.calciteDatePickerRangeChange.emit(),this.value=Array.isArray(this.value)?[this.value[0]||"",""]:["",""],this.end=void 0)}input(t){const i=this.getDateFromInput(t);if(!i)return void this.clearCurrentValue();if(!this.range)return this.value=r(i),void this.calciteDatePickerChange.emit(i);const{focusedInput:e}=this;if("start"===e){if(!this.startAsDate||!p(i,this.startAsDate)){const t=r(i);this.value=Array.isArray(this.value)?[t,this.value[1]||""]:[t],this.start=t,this.calciteDatePickerRangeChange.emit({startDate:i,endDate:this.endAsDate})}}else if(!("end"!==e||this.endAsDate&&p(i,this.endAsDate))){const t=r(i);this.value=Array.isArray(this.value)?[this.value[0]||"",t]:["",t],this.end=t,this.calciteDatePickerRangeChange.emit({startDate:this.startAsDate,endDate:c(i)})}}blur(t){const{focusedInput:i,endAsDate:e,range:a,startAsDate:s,valueAsDate:n}=this,r=this.effectiveLocale;this.getDateFromInput(t.value)||(!a&&n?t.value=this.formatNumerals(Array.isArray(n)?n["end"===i?1:0].toLocaleDateString(r):n.toLocaleDateString(r)):"start"===i&&s?t.value=this.formatNumerals(s.toLocaleDateString(r)):"end"===i&&e&&(t.value=this.formatNumerals(e.toLocaleDateString(r))))}shouldFocusRangeStart(){return!(!this.endAsDate||this.startAsDate||"end"!==this.focusedInput||!this.startInput)}shouldFocusRangeEnd(){return!(!this.startAsDate||this.endAsDate||"start"!==this.focusedInput||!this.endInput)}getDateFromInput(t){if(!this.localeData)return!1;const{separator:i}=this.localeData,{day:e,month:a,year:s}=m(t,this.localeData),n=e>0,r=a>-1,o=new Date(s,a,e);o.setFullYear(s);const l=!isNaN(o.getTime()),c=t.split(i).filter((t=>t)).length>2,h=s.toString().length>0;return!!(n&&r&&l&&c&&h&&u(o,this.min,this.max))&&o}get el(){return s(this)}static get watchers(){return{disabled:["handleDisabledAndReadOnlyChange"],readOnly:["handleDisabledAndReadOnlyChange"],value:["valueHandler"],flipPlacements:["flipPlacementsHandler"],min:["onMinChanged"],max:["onMaxChanged"],active:["activeHandler"],open:["openHandler"],overlayPositioning:["overlayPositioningHandler"],layout:["setReferenceEl"],focusedInput:["setReferenceEl"],start:["startWatcher"],end:["endWatcher"],effectiveLocale:["loadLocaleData"]}}};L.style="@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0.01}}:host{--calcite-icon-size:1rem;--calcite-spacing-eighth:0.125rem;--calcite-spacing-quarter:0.25rem;--calcite-spacing-half:0.5rem;--calcite-spacing-three-quarters:0.75rem;--calcite-spacing:1rem;--calcite-spacing-plus-quarter:1.25rem;--calcite-spacing-plus-half:1.5rem;--calcite-spacing-double:2rem;--calcite-menu-min-width:10rem;--calcite-header-min-height:3rem;--calcite-footer-min-height:3rem}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host{position:relative;display:inline-block;inline-size:100%;overflow:visible;vertical-align:top;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}:host .menu-container .calcite-floating-ui-anim{position:relative;transition:var(--calcite-floating-ui-transition);visibility:hidden;transition-property:transform, visibility, opacity;opacity:0;box-shadow:0 0 16px 0 rgba(0, 0, 0, 0.16);z-index:1;border-radius:0.25rem}:host .menu-container[data-placement^=bottom] .calcite-floating-ui-anim{transform:translateY(-5px)}:host .menu-container[data-placement^=top] .calcite-floating-ui-anim{transform:translateY(5px)}:host .menu-container[data-placement^=left] .calcite-floating-ui-anim{transform:translateX(5px)}:host .menu-container[data-placement^=right] .calcite-floating-ui-anim{transform:translateX(-5px)}:host .menu-container[data-placement] .calcite-floating-ui-anim--active{opacity:1;visibility:visible;transform:translate(0)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.calendar-picker-wrapper{position:static;inline-size:100%;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);transform:translate3d(0, 0, 0)}.input-wrapper{position:relative}:host([range]) .input-container{display:flex}:host([range]) .input-wrapper{flex:1 1 auto}:host([range]) .horizontal-arrow-container{display:flex;align-items:center;border-width:1px;border-inline-start-width:0px;border-inline-end-width:0px;border-style:solid;border-color:var(--calcite-ui-border-input);background-color:var(--calcite-ui-background);padding-block:0px;padding-inline:0.25rem}:host([range][layout=vertical]) .input-wrapper{inline-size:100%}:host([range][layout=vertical]) .input-container{flex-direction:column;align-items:flex-start}:host([range][layout=vertical]) .calendar-picker-wrapper--end{transform:translate3d(0, 0, 0)}:host([range][layout=vertical]) .vertical-arrow-container{inset-block-start:1.5rem;position:absolute;z-index:1;margin-inline:1px;background-color:var(--calcite-ui-foreground-1);padding-inline:0.625rem;inset-inline-start:0}:host([scale=s][range]:not([layout=vertical])) .calendar-picker-wrapper{inline-size:216px}:host([scale=m][range]:not([layout=vertical])) .calendar-picker-wrapper{inline-size:286px}:host([scale=l][range]:not([layout=vertical])) .calendar-picker-wrapper{inline-size:398px}.menu-container{display:block;position:absolute;z-index:900;inline-size:0;block-size:0;overflow:hidden;pointer-events:none;visibility:hidden}.menu-container .calcite-floating-ui-anim{position:relative;transition:var(--calcite-floating-ui-transition);visibility:hidden;transition-property:transform, visibility, opacity;opacity:0;box-shadow:0 0 16px 0 rgba(0, 0, 0, 0.16);z-index:1;border-radius:0.25rem}.menu-container[data-placement^=bottom] .calcite-floating-ui-anim{transform:translateY(-5px)}.menu-container[data-placement^=top] .calcite-floating-ui-anim{transform:translateY(5px)}.menu-container[data-placement^=left] .calcite-floating-ui-anim{transform:translateX(5px)}.menu-container[data-placement^=right] .calcite-floating-ui-anim{transform:translateX(-5px)}.menu-container[data-placement] .calcite-floating-ui-anim--active{opacity:1;visibility:visible;transform:translate(0)}:host([open]) .menu-container{pointer-events:initial;visibility:visible;inline-size:unset;block-size:unset;overflow:unset}.menu-container--active{pointer-events:initial;visibility:visible;inline-size:unset;block-size:unset;overflow:unset}.input .calcite-input__wrapper{margin-block-start:0px}:host([range][layout=vertical][scale=m]) .vertical-arrow-container{inset-block-start:1.5rem;padding-inline-start:0.75rem}:host([range][layout=vertical][scale=m]) .vertical-arrow-container calcite-icon{block-size:0.75rem;inline-size:0.75rem;min-inline-size:0px}:host([range][layout=vertical][scale=l]) .vertical-arrow-container{inset-block-start:2.25rem;padding-inline:0.875rem}:host([range][layout=vertical][open]) .vertical-arrow-container{display:none}::slotted(input[slot=hidden-form-input]){margin:0 !important;opacity:0 !important;outline:none !important;padding:0 !important;position:absolute !important;inset:0 !important;transform:none !important;-webkit-appearance:none !important;z-index:-1 !important}";export{L as calcite_input_date_picker}
|