@wernfried/daterangepicker 4.19.0 → 5.1.0

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.
@@ -1,2 +1 @@
1
- import{DateTime as o,Duration as b,Info as C,Settings as x}from"luxon";import{$ as h}from"jquery";class I{#t=null;#e=null;constructor(s,t,n){this.parentEl="body",this.element=h(s),this.#t=o.now().startOf("day"),this.#e=o.now().plus({day:1}).startOf("day"),this.minDate=null,this.maxDate=null,this.maxSpan=null,this.minSpan=null,this.defaultSpan=null,this.initalMonth=o.now().startOf("month"),this.autoApply=!1,this.singleDatePicker=!1,this.singleMonthView=!1,this.showDropdowns=!1,this.minYear=o.now().minus({year:100}).year,this.maxYear=o.now().plus({year:100}).year,this.showWeekNumbers=!1,this.showISOWeekNumbers=!1,this.showCustomRangeLabel=!0,this.showLabel=!h(this.element).is("input:text"),this.timePicker=!1;const a=new Intl.DateTimeFormat(o.now().locale,{hour:"numeric"}).resolvedOptions();if(this.timePicker24Hour=!a.hour12,this.timePickerStepSize=b.fromObject({minutes:1}),this.linkedCalendars=!0,this.autoUpdateInput=!0,this.alwaysShowCalendars=!1,this.isInvalidDate=null,this.isInvalidTime=null,this.isCustomDate=null,this.onOutsideClick="apply",this.opens=this.element.hasClass("pull-right")?"left":"right",this.drops=this.element.hasClass("dropup")?"up":"down",this.buttonClasses="btn btn-sm",this.applyButtonClasses="btn-primary",this.cancelButtonClasses="btn-default",this.weekendClasses="weekend",this.weekendDayClasses="weekend-day",this.todayClasses="today",this.altInput=null,this.altFormat=null,this.externalStyle=null,this.ranges={},this.locale={direction:"ltr",format:o.DATE_SHORT,separator:" - ",applyLabel:"Apply",cancelLabel:"Cancel",weekLabel:"W",customRangeLabel:"Custom Range",daysOfWeek:C.weekdays("short"),monthNames:C.months("long"),firstDay:C.getStartOfWeek(),durationFormat:null},this.callback=function(){},this.isShowing=!1,this.leftCalendar={},this.rightCalendar={},(typeof t!="object"||t===null)&&(t={}),t=h.extend(this.element.data(),t),typeof t.singleDatePicker=="boolean"&&(this.singleDatePicker=t.singleDatePicker),!this.singleDatePicker&&typeof t.singleMonthView=="boolean"?this.singleMonthView=t.singleMonthView:this.singleMonthView=!1,typeof t.externalStyle=="string"&&["bulma"].includes(t.externalStyle)&&(this.externalStyle=t.externalStyle),typeof t.template!="string"&&!(t.template instanceof h)){let e=['<div class="daterangepicker">','<div class="ranges"></div>','<div class="drp-calendar left">','<table class="calendar-table">',"<thead></thead>","<tbody></tbody>","<tfoot>",'<tr class="calendar-time start-time"></tr>'];this.singleMonthView&&e.push('<tr class="calendar-time end-time"></tr>'),e.push("</tfoot>","</table>","</div>"),e.push('<div class="drp-calendar right">','<table class="calendar-table">',"<thead></thead>","<tbody></tbody>","<tfoot>",'<tr class="calendar-time end-time"></tr>',"</tfoot>","</table>","</div>"),e.push('<div class="drp-buttons">','<div class="drp-duration-label"></div>','<div class="drp-selected"></div>'),this.externalStyle==="bulma"?e.push('<div class="buttons">','<button class="cancelBtn button is-small" type="button"></button>','<button class="applyBtn button is-small" disabled type="button"></button>',"</div>"):e.push("<div>",'<button class="cancelBtn" type="button"></button>','<button class="applyBtn" disabled type="button"></button>',"</div>"),e.push("</div></div>"),t.template=e.join("")}if(this.parentEl=t.parentEl&&h(t.parentEl).length?h(t.parentEl):h(this.parentEl),this.container=h(t.template).appendTo(this.parentEl),typeof t.timePicker=="boolean"&&(this.timePicker=t.timePicker),this.timePicker&&(this.locale.format=o.DATETIME_SHORT),typeof t.locale=="object"){for(let e of["separator","applyLabel","cancelLabel","weekLabel"])typeof t.locale[e]=="string"&&(this.locale[e]=t.locale[e]);if(typeof t.locale.direction=="string"&&(["rtl","ltr"].includes(t.locale.direction)?this.locale.direction=t.locale.direction:console.error("Option 'options.locale.direction' must be 'rtl' or 'ltr'")),["string","object"].includes(typeof t.locale.format)&&(this.locale.format=t.locale.format),Array.isArray(t.locale.daysOfWeek)&&(t.locale.daysOfWeek.some(e=>typeof e!="string")?console.error("Option 'options.locale.daysOfWeek' must be an array of strings"):this.locale.daysOfWeek=t.locale.daysOfWeek.slice()),Array.isArray(t.locale.monthNames)&&(t.locale.monthNames.some(e=>typeof e!="string")?console.error("Option 'locale.monthNames' must be an array of strings"):this.locale.monthNames=t.locale.monthNames.slice()),typeof t.locale.firstDay=="number"&&(this.locale.firstDay=t.locale.firstDay),typeof t.locale.customRangeLabel=="string"){var r=document.createElement("textarea");r.innerHTML=t.locale.customRangeLabel;var i=r.value;this.locale.customRangeLabel=i}["string","object","function"].includes(typeof t.locale.durationFormat)&&t.locale.durationFormat!=null&&(this.locale.durationFormat=t.locale.durationFormat)}this.container.addClass(this.locale.direction);for(let e of["timePicker24Hour","showWeekNumbers","showISOWeekNumbers","showDropdowns","linkedCalendars","showCustomRangeLabel","alwaysShowCalendars","autoApply","autoUpdateInput","showLabel"])typeof t[e]=="boolean"&&(this[e]=t[e]);for(let e of["applyButtonClasses","cancelButtonClasses","weekendClasses","weekendDayClasses","todayClasses"])typeof t[e]=="string"?this[e]=t[e]:["weekendClasses","weekendDayClasses","todayClasses"].includes(e)&&t[e]===null&&(this[e]=t[e]);for(let e of["minYear","maxYear"])typeof t[e]=="number"&&(this[e]=t[e]);for(let e of["isInvalidDate","isInvalidTime","isCustomDate"])typeof t[e]=="function"?this[e]=t[e]:this[e]=function(){return!1};if(!this.singleDatePicker){for(let e of["minSpan","maxSpan","defaultSpan"])["string","number","object"].includes(typeof t[e])&&(b.isDuration(t[e])&&t[e].isValid?this[e]=t[e]:b.fromISO(t[e]).isValid?this[e]=b.fromISO(t[e]):typeof t[e]=="number"&&b.fromObject({seconds:t[e]}).isValid?this[e]=b.fromObject({seconds:t[e]}):t[e]===null?this[e]=null:console.error(`Option '${key}' is not valid`));this.minSpan&&this.maxSpan&&this.minSpan>this.maxSpan&&(this.minSpan=null,this.maxSpan=null,console.warn("Ignore option 'minSpan' and 'maxSpan', because 'minSpan' must be smaller than 'maxSpan'")),this.defaultSpan&&this.minSpan&&this.minSpan>this.defaultSpan?(this.defaultSpan=null,console.warn("Ignore option 'defaultSpan', because 'defaultSpan' must be greater than 'minSpan'")):this.defaultSpan&&this.maxSpan&&this.maxSpan<this.defaultSpan&&(this.defaultSpan=null,console.warn("Ignore option 'defaultSpan', because 'defaultSpan' must be smaller than 'maxSpan'"))}if(this.timePicker){if(typeof t.timePickerSeconds=="boolean"&&(this.timePickerStepSize=b.fromObject({[t.timePickerSeconds?"seconds":"minutes"]:1})),typeof t.timePickerIncrement=="number"&&(this.timePickerStepSize=b.fromObject({minutes:t.timePickerIncrement})),["string","object","number"].includes(typeof t.timePickerStepSize)){let e;b.isDuration(t.timePickerStepSize)&&t.timePickerStepSize.isValid?e=t.timePickerStepSize:b.fromISO(t.timePickerStepSize).isValid?e=b.fromISO(t.timePickerStepSize):typeof t.timePickerStepSize=="number"&&b.fromObject({seconds:t.timePickerStepSize}).isValid?e=b.fromObject({seconds:t.timePickerStepSize}):(console.error("Option 'timePickerStepSize' is not valid"),e=this.timePickerStepSize);var d=[];for(let l of["minutes","seconds"])d.push(...[1,2,3,4,5,6,10,12,15,20,30].map(c=>b.fromObject({[l]:c})));d.push(...[1,2,3,4,6].map(l=>b.fromObject({hours:l}))),this.timePicker24Hour&&d.push(...[8,12].map(l=>b.fromObject({hours:l}))),d.some(l=>e.rescale().equals(l))?this.timePickerStepSize=e.rescale():console.error(`Option 'timePickerStepSize' ${JSON.stringify(e.toObject())} is not valid`)}this.maxSpan&&this.timePickerStepSize>this.maxSpan&&console.error(`Option 'timePickerStepSize' ${JSON.stringify(this.timePickerStepSize.toObject())} must be smaller than 'maxSpan'`),this.timePickerOpts={showMinutes:this.timePickerStepSize<b.fromObject({hours:1}),showSeconds:this.timePickerStepSize<b.fromObject({minutes:1}),hourStep:this.timePickerStepSize>=b.fromObject({hours:1})?this.timePickerStepSize.hours:1,minuteStep:this.timePickerStepSize>=b.fromObject({minutes:1})?this.timePickerStepSize.minutes:1,secondStep:this.timePickerStepSize.seconds}}for(let e of["startDate","endDate","minDate","maxDate","initalMonth"])if(!(e==="endDate"&&this.singleDatePicker)){if(typeof t[e]=="object")o.isDateTime(t[e])&&t[e].isValid?this[e]=t[e]:t[e]instanceof Date?this[e]=o.fromJSDate(t[e]):t[e]===null?this[e]=null:console.error(`Option '${e}' must be a luxon.DateTime or Date or string`);else if(typeof t[e]=="string"){const l=typeof this.locale.format=="string"?this.locale.format:o.parseFormatForOpts(this.locale.format);if(o.fromISO(t[e]).isValid)this[e]=o.fromISO(t[e]);else if(o.fromFormat(t[e],l,{locale:o.now().locale}).isValid)this[e]=o.fromFormat(t[e],l,{locale:o.now().locale});else{const c=o.fromFormat(t[e],l,{locale:o.now().locale}).invalidExplanation;console.error(`Option '${e}' is not a valid string: ${c}`)}}}if(h(this.element).is("input:text")){const e=h(this.element).val();if(e!=""){const l=typeof this.locale.format=="string"?this.locale.format:o.parseFormatForOpts(this.locale.format);if(this.singleDatePicker&&typeof t.startDate>"u"){const c=o.fromFormat(e,l,{locale:o.now().locale});c.isValid?this.#t=c:console.error(`Value "${e}" in <input> is not a valid string: ${c.invalidExplanation}`)}else if(!this.singleDatePicker&&typeof t.startDate>"u"&&typeof t.endDate>"u"){const c=e.split(this.locale.separator);if(c.length===2){const p=o.fromFormat(c[0],l,{locale:o.now().locale}),u=o.fromFormat(c[1],l,{locale:o.now().locale});p.isValid&&u.isValid?(this.#t=p,this.#e=u):console.error(`Value in <input> is not a valid string: ${p.invalidExplanation} - ${u.invalidExplanation}`)}else console.error(`Value "${e}" in <input> is not a valid string`)}}}if(this.singleDatePicker?this.#e=this.#t:this.#e<this.#t&&console.error(`Option 'endDate' ${this.#e} must not be earlier than 'startDate' ${this.#t}`),this.timePicker||(this.minDate&&(this.minDate=this.minDate.startOf("day")),this.maxDate&&(this.maxDate=this.maxDate.endOf("day")),this.#t=this.#t.startOf("day"),this.#e=this.#e.endOf("day")),t.warnings!==void 0&&console.warn("Option 'warnings' not used anymore. Listen to event 'violated.daterangepicker'"),!this.#t&&this.initalMonth)this.#e=null,this.timePicker&&console.error("Option 'initalMonth' works only with 'timePicker: false'");else{const e=this.validateInput(null,!1);if(e!=null){let l=e.startDate.violations;if(l.length>0)if(l.some(c=>c.reason.startsWith("isInvalid")))console.error(`Value of startDate "${this.#t}" violates ${l.find(c=>c.reason.startsWith("isInvalid")).reason}`);else{const c=l.filter(p=>p.new!=null).at(-1).new;typeof process<"u"&&process.env.JEST_WORKER_ID==null&&console.warn(`Correcting startDate from ${this.#t} to ${c}`),this.#t=c}if(!this.singleDatePicker&&(l=e.endDate.violations.filter(c=>c.new!=null),l.length>0))if(l.some(c=>c.reason.startsWith("isInvalid")))console.error(`Value of endDate "${this.#e}" violates ${l.find(c=>c.reason.startsWith("isInvalid")).reason}`);else{const c=l.filter(p=>p.new!=null).at(-1).new;typeof process<"u"&&process.env.JEST_WORKER_ID==null&&console.warn(`Correcting endDate from ${this.#e} to ${c}`),this.#e=c}}}if(["function","string"].includes(typeof t.altFormat)&&(this.altFormat=t.altFormat),typeof t.altInput=="string"||Array.isArray(t.altInput))if(this.singleDatePicker&&typeof t.altInput=="string")this.altInput=h(t.altInput).is("input:text")?t.altInput:null;else if(!this.singleDatePicker&&Array.isArray(t.altInput)&&t.altInput.length===2)this.altInput=t.altInput.every(e=>typeof e=="string"&&h(e).is("input:text"))?t.altInput:null;else{const e='Value of "altInput" must be '+(this.singleDatePicker?"a string":"an array of two string elements");console.error(`Option 'altInput' ${JSON.stringify(t.altInput)} is not valid
2
- `,e)}if(typeof t.opens=="string"&&(["left","right","center"].includes(t.opens)?this.opens=t.opens:console.error("Option 'options.opens' must be 'left', 'right' or 'center'")),typeof t.drops=="string"&&(["drop","down","auto"].includes(t.drops)?this.drops=t.drops:console.error("Option 'options.drops' must be 'drop', 'down' or 'auto'")),Array.isArray(t.buttonClasses)?this.buttonClasses=t.buttonClasses.join(" "):typeof t.buttonClasses=="string"&&(this.buttonClasses=t.buttonClasses),typeof t.onOutsideClick=="string"&&(["cancel","apply"].includes(t.onOutsideClick)?this.onOutsideClick=t.onOutsideClick:console.error("Option 'options.onOutsideClick' must be 'cancel' or 'apply'")),this.locale.firstDay!=1){let e=this.locale.firstDay;for(;e>1;)this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()),e--}if(!this.singleDatePicker&&typeof t.ranges=="object"){for(let e in t.ranges){let l,c;if(["string","object"].includes(typeof t.ranges[e][0])&&(o.isDateTime(t.ranges[e][0])&&t.ranges[e][0].isValid?l=t.ranges[e][0]:t.ranges[e][0]instanceof Date?l=o.fromJSDate(t.ranges[e][0]):typeof t.ranges[e][0]=="string"&&o.fromISO(t.ranges[e][0]).isValid?l=o.fromISO(t.ranges[e][0]):console.error(`Option ranges['${e}'] is not am array of valid ISO-8601 string or luxon.DateTime or Date`)),["string","object"].includes(typeof t.ranges[e][1])&&(o.isDateTime(t.ranges[e][1])&&t.ranges[e][1].isValid?c=t.ranges[e][1]:t.ranges[e][1]instanceof Date?c=o.fromJSDate(t.ranges[e][1]):typeof t.ranges[e][1]=="string"&&o.fromISO(t.ranges[e][1]).isValid?c=o.fromISO(t.ranges[e][1]):console.error(`Option ranges['${e}'] is not a valid ISO-8601 string or luxon.DateTime or Date`)),!(l==null||c==null)){t.ranges[e]=[l,c];var r=document.createElement("textarea");r.innerHTML=e,this.ranges[r.value]=[l,c]}}var f="<ul>";for(let e in this.ranges)f+='<li data-range-key="'+e+'">'+e+"</li>";this.showCustomRangeLabel&&(f+='<li data-range-key="'+this.locale.customRangeLabel+'">'+this.locale.customRangeLabel+"</li>"),f+="</ul>",this.container.find(".ranges").prepend(f),this.container.addClass("show-ranges")}typeof n=="function"&&(this.callback=n),this.timePicker||this.container.find(".calendar-time").hide(),this.timePicker&&this.autoApply&&(this.autoApply=!1),this.autoApply&&this.container.addClass("auto-apply"),(this.singleDatePicker||this.singleMonthView)&&(this.container.addClass("single"),this.container.find(".drp-calendar.left").addClass("single"),this.container.find(".drp-calendar.left").show(),this.container.find(".drp-calendar.right").hide(),!this.timePicker&&this.autoApply&&this.container.addClass("auto-apply")),(typeof t.ranges>"u"&&!this.singleDatePicker||this.alwaysShowCalendars)&&this.container.addClass("show-calendar"),this.container.addClass("opens"+this.opens),this.container.find(".applyBtn, .cancelBtn").addClass(this.buttonClasses),this.applyButtonClasses.length&&this.container.find(".applyBtn").addClass(this.applyButtonClasses),this.cancelButtonClasses.length&&this.container.find(".cancelBtn").addClass(this.cancelButtonClasses),this.container.find(".applyBtn").html(this.locale.applyLabel),this.container.find(".cancelBtn").html(this.locale.cancelLabel),this.container.find(".drp-calendar").on("click.daterangepicker",".prev",this.clickPrev.bind(this)).on("click.daterangepicker",".next",this.clickNext.bind(this)).on("mousedown.daterangepicker","td.available",this.clickDate.bind(this)).on("mouseenter.daterangepicker","td.available",this.hoverDate.bind(this)).on("change.daterangepicker","select.yearselect",this.monthOrYearChanged.bind(this)).on("change.daterangepicker","select.monthselect",this.monthOrYearChanged.bind(this)).on("change.daterangepicker","select.hourselect,select.minuteselect,select.secondselect,select.ampmselect",this.timeChanged.bind(this)),this.container.find(".ranges").on("click.daterangepicker","li",this.clickRange.bind(this)).on("mouseenter.daterangepicker","li",this.hoverRange.bind(this)).on("mouseleave.daterangepicker","li",this.leaveRange.bind(this)),this.container.find(".drp-buttons").on("click.daterangepicker","button.applyBtn",this.clickApply.bind(this)).on("click.daterangepicker","button.cancelBtn",this.clickCancel.bind(this)),this.element.is("input")||this.element.is("button")?this.element.on({"click.daterangepicker":this.show.bind(this),"focus.daterangepicker":this.show.bind(this),"keyup.daterangepicker":this.elementChanged.bind(this),"keydown.daterangepicker":this.keydown.bind(this)}):(this.element.on("click.daterangepicker",this.toggle.bind(this)),this.element.on("keydown.daterangepicker",this.toggle.bind(this))),this.updateElement()}get startDate(){return this.timePicker?this.#t:this.#t.startOf("day")}get endDate(){return this.singleDatePicker?null:this.timePicker?this.#e:this.#e.endOf("day")}set startDate(s){this.#t=s}set endDate(s){this.#e=s}#i={onViolate:{type:"violate.daterangepicker",param:(...s)=>[this,...s]},onBeforeRenderTimePicker:{type:"beforeRenderTimePicker.daterangepicker",param:this},onBeforeRenderCalendar:{type:"beforeRenderCalendar.daterangepicker",param:this},onShow:{type:"show.daterangepicker",param:this},onBeforeHide:{type:"beforeHide.daterangepicker",param:this},onHide:{type:"hide.daterangepicker",param:this},onShowCalendar:{type:"showCalendar.daterangepicker",param:this},onHideCalendar:{type:"hideCalendar.daterangepicker",param:this},onOutsideClick:{type:"outsideClick.daterangepicker",param:this},onDateChange:{type:"dateChange.daterangepicker",param:s=>[this,s]},onTimeChange:{type:"timeChange.daterangepicker",param:s=>[this,s]},onApply:{type:"apply.daterangepicker",param:this},onCancel:{type:"cancel.daterangepicker",param:this},onInputChange:{type:"inputChange.daterangepicker",param:this},onMonthViewChange:{type:"monthViewChange.daterangepicker",param:(s,t)=>[this,s.startOf("month"),t?t.startOf("month"):null]}};get events(){return this.#i}setStartDate(s,t=!0){if(!this.singleDatePicker)return setRange(s,this.#e,t);const n=this.#t;let a=this.parseDate(s);if(a.equals(n))return null;const r=this.validateInput([a,null],!0);if(r!=null)if(r.newDate!=null)a=r.newDate.startDate;else return r;const i=!this.#t.hasSame(a,"month");return this.#t=a,this.#e=this.#t,this.timePicker||(this.#t=this.#t.startOf("day"),this.#e=this.#e.endOf("day")),this.updateElement(),t&&this.updateView(i),r}setEndDate(s,t=!0){return this.singleDatePicker?null:setRange(this.#t,s,t)}setRange(s,t,n=!0){if(this.singleDatePicker)return;this.#e||(this.#e=this.#t);const a=[this.#t,this.#e];let r=[this.parseDate(s),this.parseDate(t)];if(a[0].equals(r[0])&&a[1].equals(r[1])||r[0]>r[1])return;const i=this.validateInput([r[0],r[1]],!0);if(i!=null)if(i.newDate!=null)r[0]=i.newDate.startDate,r[1]=i.newDate.endDate;else return i;const d=!this.#t.hasSame(r[0],"month")||!this.#e.hasSame(r[1],"month");return this.#t=r[0],this.#e=r[1],this.timePicker||(this.#t=this.#t.startOf("day"),this.#e=this.#e.endOf("day")),this.updateElement(),n&&this.updateView(d),i}parseDate(s){if(typeof s=="object"){if(o.isDateTime(s)&&s.isValid)return s;if(s instanceof Date)return o.fromJSDate(s);throw RangeError("Value must be a luxon.DateTime or Date or string")}else if(typeof s=="string"){const t=typeof this.locale.format=="string"?this.locale.format:o.parseFormatForOpts(this.locale.format);if(o.fromISO(s).isValid)return o.fromISO(s);if(o.fromFormat(s,t,{locale:o.now().locale}).isValid)return o.fromFormat(s,t,{locale:o.now().locale});{const n=o.fromFormat(s,t,{locale:o.now().locale}).invalidExplanation;throw RangeError(`Value is not a valid string: ${n}`)}}}logDate(s){return this.timePicker?s.toISO({suppressMilliseconds:!0}):s.toISODate()}formatDate(s,t=this.locale.format){if(typeof t=="object")return s.toLocaleString(t);if(x.defaultLocale===null){const n=o.now().locale;return s.toFormat(t,{locale:n})}else return s.toFormat(t)}updateLabel(){if(this.showLabel){let s=this.formatDate(this.#t);this.singleDatePicker||(s+=this.locale.separator,this.#e&&(s+=this.formatDate(this.#e))),this.container.find(".drp-selected").html(s)}if(!(this.singleDatePicker||this.locale.durationFormat==null)){if(!this.#e){this.container.find(".drp-duration-label").html("");return}if(typeof this.locale.durationFormat=="function")this.container.find(".drp-duration-label").html(this.locale.durationFormat(this.#t,this.#e));else{let s=this.#e.plus({milliseconds:1}).diff(this.#t).rescale().set({milliseconds:0});this.timePicker||(s=s.set({seconds:0,minutes:0,hours:0})),s=s.removeZeros(),typeof this.locale.durationFormat=="object"?this.container.find(".drp-duration-label").html(s.toHuman(this.locale.durationFormat)):this.container.find(".drp-duration-label").html(s.toFormat(this.locale.durationFormat))}}}validateInput(s,t=!1){let n=s==null?this.#t:s[0],a=s==null?this.#e:s[1];if(n==null)return null;let r={startDate:{violations:[]}},i={old:n,reason:this.timePicker?"timePickerStepSize":"timePicker"};if(this.timePicker){const e=this.timePickerStepSize.as("seconds");n=o.fromSeconds(e*Math.round(n.toSeconds()/e)),i.new=n,i.new.equals(i.old)||r.startDate.violations.push(i)}else n=n.startOf("day");const d=this.timePicker?this.timePickerStepSize.as("seconds"):b.fromObject({days:1}).as("seconds");this.minDate&&n<this.minDate?(i={old:n,reason:"minDate"},n=n.plus({seconds:Math.trunc(this.minDate.diff(n).as("seconds")/d)*d}),n<this.minDate&&(n=n.plus(this.timePicker?this.timePickerStepSize:{days:1})),i.new=n,i.new.equals(i.old)||r.startDate.violations.push(i)):this.maxDate&&n>this.maxDate&&(i={old:n,reason:"maxDate"},n=n.minus({seconds:Math.trunc(n.diff(this.maxDate).as("seconds")/d)*d}),n>this.maxDate&&(n=n.minus(this.timePicker?this.timePickerStepSize:{days:1})),i.new=n,i.new.equals(i.old)||r.startDate.violations.push(i));let f=["hour"];if(this.timePicker&&(this.timePickerOpts.showMinutes&&f.push("minute"),this.timePickerOpts.showSeconds&&f.push("second"),this.timePicker24Hour||f.push("ampm")),this.isInvalidDate(n)&&r.startDate.violations.push({old:n,reason:"isInvalidDate"}),this.timePicker)for(let e of f)this.isInvalidTime(n,e,"start")&&r.startDate.violations.push({old:n,reason:"isInvalidTime",unit:e});if(this.singleDatePicker){if(r.startDate.violations.length==0)return null;if(t){let e={startDate:n};return this.triggerHandler(this.#i.onViolate,r,e)&&(r.newDate=e),r}else return r}if(a==null)return null;if(r.endDate={violations:[]},i={old:a,reason:this.timePicker?"stepSize":"timePicker"},this.timePicker){const e=this.timePickerStepSize.as("seconds");a=o.fromSeconds(e*Math.round(a.toSeconds()/e)),i.new=a,i.new.equals(i.old)||r.endDate.violations.push(i)}else a=a.endOf("day");if(this.maxDate&&a>this.maxDate?(i={old:a,reason:"maxDate"},a=a.minus({seconds:Math.trunc(a.diff(this.maxDate).as("seconds")/d)*d}),a>this.maxDate&&(a=a.minus(this.timePicker?this.timePickerStepSize:{days:1})),i.new=a,i.new.equals(i.old)||r.endDate.violations.push(i)):this.minDate&&a<this.minDate&&(i={old:a,reason:"minDate"},a=a.plus({seconds:Math.trunc(this.minDate.diff(a).as("seconds")/d)*d}),a<this.minDate&&(a=a.plus(this.timePicker?this.timePickerStepSize:{days:1})),i.new=a,i.new.equals(i.old)||r.endDate.violations.push(i)),this.maxSpan){const e=n.plus(this.maxSpan);a>e&&(i={old:a,reason:"maxSpan"},a=a.minus({seconds:Math.trunc(e.diff(a).as("seconds")/d)*d}),a>e&&(a=a.minus(this.timePicker?this.timePickerStepSize:{days:1})),i.new=a,i.new.equals(i.old)||r.endDate.violations.push(i))}if(this.minSpan){const e=n.plus(this.defaultSpan??this.minSpan);a<e&&(i={old:a,reason:"minSpan"},a=a.plus({seconds:Math.trunc(e.diff(a).as("seconds")/d)*d}),a<e&&(a=a.plus(this.timePicker?this.timePickerStepSize:{days:1})),i.new=a,i.new.equals(i.old)||r.endDate.violations.push(i))}if(this.isInvalidDate(a)&&r.endDate.violations.push({old:a,reason:"isInvalidDate"}),this.timePicker)for(let e of f)this.isInvalidTime(a,e,"end")&&r.endDate.violations.push({old:a,reason:"isInvalidTime",unit:e});if(r.startDate.violations.length==0&&r.endDate.violations.length==0)return null;if(t){let e={startDate:n,endDate:a};return this.triggerHandler(this.#i.onViolate,r,e)&&(r.newDate=e),r}else return r}updateView(s){this.timePicker&&(this.triggerEvent(this.#i.onBeforeRenderTimePicker),this.renderTimePicker("start"),this.renderTimePicker("end"),this.#e?this.container.find(".calendar-time.end-time select").prop("disabled",!1).removeClass("disabled"):this.container.find(".calendar-time.end-time select").prop("disabled",!0).addClass("disabled")),this.updateLabel(),this.updateMonthsInView(),this.updateCalendars(s),this.setApplyBtnState()}updateMonthsInView(){if(this.#e){if(!this.singleDatePicker&&this.leftCalendar.month&&this.rightCalendar.month&&(this.#t.hasSame(this.leftCalendar.month,"month")||this.#t.hasSame(this.rightCalendar.month,"month"))&&(this.#e.hasSame(this.leftCalendar.month,"month")||this.#e.hasSame(this.rightCalendar.month,"month")))return;this.leftCalendar.month=this.#t.startOf("month"),this.singleMonthView||(!this.linkedCalendars&&!this.#e.hasSame(this.#t,"month")?this.rightCalendar.month=this.#e.startOf("month"):this.rightCalendar.month=this.#t.startOf("month").plus({month:1}))}else!this.#t&&this.initalMonth?(this.leftCalendar.month=this.initalMonth,this.singleMonthView||(this.rightCalendar.month=this.initalMonth.plus({month:1}))):!this.leftCalendar.month.hasSame(this.#t,"month")&&!this.rightCalendar.month.hasSame(this.#t,"month")&&(this.leftCalendar.month=this.#t.startOf("month"),this.rightCalendar.month=this.#t.startOf("month").plus({month:1}));this.maxDate&&this.linkedCalendars&&!this.singleDatePicker&&!this.singleMonthView&&this.rightCalendar.month>this.maxDate&&(this.rightCalendar.month=this.maxDate.startOf("month"),this.leftCalendar.month=this.maxDate.startOf("month").minus({month:1}))}updateCalendars(s){if(this.timePicker){var t,n,a;this.#e?(t=parseInt(this.container.find(".start-time .hourselect").val(),10),isNaN(t)&&(t=parseInt(this.container.find(".start-time .hourselect option:last").val(),10)),n=0,this.timePickerOpts.showMinutes&&(n=parseInt(this.container.find(".start-time .minuteselect").val(),10),isNaN(n)&&(n=parseInt(this.container.find(".start-time .minuteselect option:last").val(),10))),a=0,this.timePickerOpts.showSeconds&&(a=parseInt(this.container.find(".start-time .secondselect").val(),10),isNaN(a)&&(a=parseInt(this.container.find(".start-time .secondselect option:last").val(),10)))):(t=parseInt(this.container.find(".end-time .hourselect").val(),10),isNaN(t)&&(t=parseInt(this.container.find(".end-time .hourselect option:last").val(),10)),n=0,this.timePickerOpts.showMinutes&&(n=parseInt(this.container.find(".end-time .minuteselect").val(),10),isNaN(n)&&(n=parseInt(this.container.find(".end-time .minuteselect option:last").val(),10))),a=0,this.timePickerOpts.showSeconds&&(a=parseInt(this.container.find(".end-time .secondselect").val(),10),isNaN(a)&&(a=parseInt(this.container.find(".end-time .secondselect option:last").val(),10)))),this.leftCalendar.month=this.leftCalendar.month.set({hour:t,minute:n,second:a}),this.singleMonthView||(this.rightCalendar.month=this.rightCalendar.month.set({hour:t,minute:n,second:a}))}else this.leftCalendar.month=this.leftCalendar.month.set({hour:0,minute:0,second:0}),this.singleMonthView||(this.rightCalendar.month=this.rightCalendar.month.set({hour:0,minute:0,second:0}));this.triggerEvent(this.#i.onBeforeRenderCalendar),this.renderCalendar("left"),this.renderCalendar("right"),s&&this.triggerEvent(this.#i.onMonthViewChange,this.leftCalendar.month,this.singleMonthView||this.singleDatePicker?null:this.rightCalendar.month),this.container.find(".ranges li").removeClass("active"),this.#e!=null&&this.calculateChosenLabel()}renderCalendar(s){if(s==="right"&&this.singleMonthView)return;var i=s==="left"?this.leftCalendar:this.rightCalendar;i.month==null&&!this.#t&&this.initalMonth&&(i.month=this.initalMonth.startOf("month"));const t=i.month.startOf("month"),n=i.month.endOf("month").startOf("day");var a=i.month.startOf("month").minus({day:1});const r={hour:i.month.hour,minute:i.month.minute,second:i.month.second};var i=[];i.firstDay=t,i.lastDay=n;for(var d=0;d<6;d++)i[d]=[];for(;a.weekday!=this.locale.firstDay;)a=a.minus({day:1});for(let m=0,k=-1;m<42;m++,a=a.plus({day:1}))m%7===0&&k++,i[k][m%7]=a.set(r);s==="left"?this.leftCalendar.calendar=i:this.rightCalendar.calendar=i;var f=s==="left"?this.minDate:this.#t,e=this.maxDate,l="<tr>";(this.showWeekNumbers||this.showISOWeekNumbers)&&(l+="<th></th>"),(!f||f<i.firstDay)&&(!this.linkedCalendars||s==="left")?l+='<th class="prev available"><span></span></th>':l+="<th></th>";var c=`${this.locale.monthNames[i.firstDay.month-1]} ${i.firstDay.year}`;if(this.showDropdowns){const m=(e&&e.year)??this.maxYear,k=(f&&f.year)??this.minYear;let O=this.externalStyle==="bulma"?'<div class="select is-small mr-1">':"";for(var p=`${O}<select class="monthselect">`,u=1;u<=12;u++)p+=`<option value="${u}"${u===i.firstDay.month?" selected":""}`,(f&&i.firstDay.set({month:u})<f.startOf("month")||e&&i.firstDay.set({month:u})>e.endOf("month"))&&(p+=" disabled"),p+=`>${this.locale.monthNames[u-1]}</option>`;p+="</select>",this.externalStyle==="bulma"&&(p+="</div>"),O=this.externalStyle==="bulma"?'<div class="select is-small ml-1">':"";for(var g=`${O}<select class="yearselect">`,y=k;y<=m;y++)g+=`<option value="${y}"${y===i.firstDay.year?" selected":""}>${y}</option>`;g+="</select>",this.externalStyle==="bulma"&&(g+="</div>"),c=p+g}l+='<th colspan="5" class="month">'+c+"</th>",(!e||e>i.lastDay.endOf("day"))&&(!this.linkedCalendars||s==="right"||this.singleDatePicker||this.singleMonthView)?l+='<th class="next available"><span></span></th>':l+="<th></th>",l+="</tr>",l+="<tr>",(this.showWeekNumbers||this.showISOWeekNumbers)&&(l+=`<th class="week">${this.locale.weekLabel}</th>`);for(let[m,k]of this.locale.daysOfWeek.entries())l+="<th",this.weekendDayClasses&&this.weekendDayClasses.length&&C.getWeekendWeekdays().includes(m+1)&&(l+=` class="${this.weekendDayClasses}"`),l+=`>${k}</th>`;if(l+="</tr>",this.container.find(".drp-calendar."+s+" .calendar-table thead").html(l),l="",this.#e==null&&this.maxSpan){var v=this.#t.plus(this.maxSpan).endOf("day");(!e||v<e)&&(e=v)}var D;this.#e==null&&this.minSpan&&(D=this.#t.plus(this.minSpan).startOf("day"));for(let m=0;m<6;m++){l+="<tr>",this.showISOWeekNumbers?l+='<td class="week">'+i[m][0].weekNumber+"</td>":this.showWeekNumbers&&(l+='<td class="week">'+i[m][0].localWeekNumber+"</td>");for(let k=0;k<7;k++){var S=[];this.todayClasses&&this.todayClasses.length&&i[m][k].hasSame(o.now(),"day")&&S.push(this.todayClasses),this.weekendClasses&&this.weekendClasses.length&&C.getWeekendWeekdays().includes(i[m][k].weekday)&&S.push(this.weekendClasses),i[m][k].month!=i[1][1].month&&S.push("off","ends"),this.minDate&&i[m][k].startOf("day")<this.minDate.startOf("day")&&S.push("off","disabled"),e&&i[m][k].startOf("day")>e.startOf("day")&&S.push("off","disabled"),D&&i[m][k].startOf("day")>this.#t.startOf("day")&&i[m][k].startOf("day")<D.startOf("day")&&S.push("off","disabled"),this.isInvalidDate(i[m][k])&&S.push("off","disabled"),this.#t!=null&&i[m][k].hasSame(this.#t,"day")&&S.push("active","start-date"),this.#e!=null&&i[m][k].hasSame(this.#e,"day")&&S.push("active","end-date"),this.#e!=null&&i[m][k]>this.#t&&i[m][k]<this.#e&&S.push("in-range");var w=this.isCustomDate(i[m][k]);w!==!1&&(typeof w=="string"?S.push(w):Array.prototype.push.apply(S,w)),S.includes("disabled")||S.push("available"),l+=`<td class="${S.join(" ")}" data-title="r${m}c${k}">${i[m][k].day}</td>`}l+="</tr>"}this.container.find(".drp-calendar."+s+" .calendar-table tbody").html(l)}renderTimePicker(s){if(s==="end"&&!this.#e)return;var t,n,a,r=this.maxDate;let i="";if((this.showWeekNumbers||this.showISOWeekNumbers)&&(i+="<th></th>"),this.maxSpan&&(!this.maxDate||this.#t.plus(this.maxSpan)<this.maxDate)&&(r=this.#t.plus(this.maxSpan)),this.minSpan&&s==="end"&&(n=this.#t.plus(this.defaultSpan??this.minSpan)),s==="start")t=this.#t,a=this.minDate;else if(s==="end"){t=this.#e,a=this.#t;var d=this.container.find(".drp-calendar .calendar-time.end-time");d.html()!=""&&(t=t.set({hour:isNaN(t.hour)?d.find(".hourselect option:selected").val():t.hour,minute:isNaN(t.minute)?d.find(".minuteselect option:selected").val():t.minute,second:isNaN(t.second)?d.find(".secondselect option:selected").val():t.second})),t<this.#t&&(t=this.#t),r&&t>r&&(t=r)}i+='<th colspan="7">',this.externalStyle==="bulma"&&(i+='<div class="select is-small mx-1">'),i+='<select class="hourselect">';const f=t.toFormat("a",{locale:"en-US"});let e=0;this.timePicker24Hour||(e=f==="AM"?1:13);for(var l=e;l<=e+23;l+=this.timePickerOpts.hourStep){let g=t.set({hour:l%24}),y=!1;if(a&&g.set({minute:59})<a&&(y=!0),r&&g.set({minute:0})>r&&(y=!0),n&&g.endOf("hour")<n&&(y=!0),!y&&this.isInvalidTime(g,this.singleDatePicker?null:s,"hour")&&(y=!0),this.timePicker24Hour)!y&&l==t.hour?i+=`<option value="${l}" selected>${l}</option>`:y?i+=`<option value="${l}" disabled class="disabled">${l}</option>`:i+=`<option value="${l}">${l}</option>`;else{const v=o.fromFormat(`${l%24}`,"H").toFormat("h"),D=o.fromFormat(`${l%24}`,"H").toFormat("a",{locale:"en-US"});f==D?!y&&l==t.hour?i+=`<option ampm="${D}" value="${l%24}" selected>${v}</option>`:y?i+=`<option ampm="${D}" value="${l%24}" disabled class="disabled">${v}</option>`:i+=`<option ampm="${D}" value="${l%24}">${v}</option>`:i+=`<option ampm="${D}" hidden="hidden" value="${l%24}">${v}</option>`}}if(i+="</select>",this.externalStyle==="bulma"&&(i+="</div>"),this.timePickerOpts.showMinutes){i+=" : ",this.externalStyle==="bulma"&&(i+='<div class="select is-small mx-1">'),i+='<select class="minuteselect">';for(var l=0;l<60;l+=this.timePickerOpts.minuteStep){var c=l<10?"0"+l:l;let y=t.set({minute:l}),v=!1;a&&y.set({second:59})<a&&(v=!0),r&&y.set({second:0})>r&&(v=!0),n&&y.endOf("minute")<n&&(v=!0),!v&&this.isInvalidTime(y,this.singleDatePicker?null:s,"minute")&&(v=!0),t.minute==l&&!v?i+=`<option value="${l}" selected>${c}</option>`:v?i+=`<option value="${l}" disabled class="disabled">${c}</option>`:i+=`<option value="${l}">${c}</option>`}i+="</select>",this.externalStyle==="bulma"&&(i+="</div>")}if(this.timePickerOpts.showSeconds){i+=" : ",this.externalStyle==="bulma"&&(i+='<div class="select is-small mx-1">'),i+='<select class="secondselect">';for(var l=0;l<60;l+=this.timePickerOpts.secondStep){var c=l<10?"0"+l:l;let v=t.set({second:l}),D=!1;a&&v<a&&(D=!0),r&&v>r&&(D=!0),n&&v<n&&(D=!0),!D&&this.isInvalidTime(v,this.singleDatePicker?null:s,"second")&&(D=!0),t.second==l&&!D?i+=`<option value="${l}" selected>${c}</option>`:D?i+=`<option value="${l}" disabled class="disabled">${c}</option>`:i+=`<option value="${l}">${c}</option>`}i+="</select>",this.externalStyle==="bulma"&&(i+="</div>")}if(!this.timePicker24Hour){this.externalStyle==="bulma"&&(i+='<div class="select is-small mx-1">'),i+='<select class="ampmselect">';var p="",u="";let g=!1;a&&t.startOf("day")<a&&(g=!0),r&&t.endOf("day")>r&&(g=!0),n&&t.startOf("day")<n&&(g=!0),g?(p=' disabled class="disabled "',u=' disabled class="disabled"'):this.isInvalidTime(t,this.singleDatePicker?null:s,"ampm")&&(t.toFormat("a",{locale:"en-US"})==="AM"?u=' disabled class="disabled"':p=' disabled class="disabled"'),i+=`<option value="AM"${p}`,t.toFormat("a",{locale:"en-US"})==="AM"&&(i+=" selected"),i+=`>${C.meridiems()[0]}</option><option value="PM"${u}`,t.toFormat("a",{locale:"en-US"})==="PM"&&(i+=" selected"),i+=`>${C.meridiems()[1]}</option>`,i+="</select>",this.externalStyle==="bulma"&&(i+="</div>")}i+="</div></th>",this.container.find(`.drp-calendar .calendar-time.${s}-time`).html(i)}setApplyBtnState(){this.singleDatePicker||this.#e&&this.#t<=this.#e?this.container.find("button.applyBtn").prop("disabled",!1):this.container.find("button.applyBtn").prop("disabled",!0)}move(){var s={top:0,left:0},t,n=this.drops,a=h(window).width();switch(this.parentEl.is("body")||(s={top:this.parentEl.offset().top-this.parentEl.scrollTop(),left:this.parentEl.offset().left-this.parentEl.scrollLeft()},a=this.parentEl[0].clientWidth+this.parentEl.offset().left),n){case"auto":t=this.element.offset().top+this.element.outerHeight()-s.top,t+this.container.outerHeight()>=this.parentEl[0].scrollHeight&&(t=this.element.offset().top-this.container.outerHeight()-s.top,n="up");break;case"up":t=this.element.offset().top-this.container.outerHeight()-s.top;break;default:t=this.element.offset().top+this.element.outerHeight()-s.top;break}this.container.css({top:0,left:0,right:"auto"});var r=this.container.outerWidth();if(this.container.toggleClass("drop-up",n==="up"),this.opens==="left"){var i=a-this.element.offset().left-this.element.outerWidth();r+i>h(window).width()?this.container.css({top:t,right:"auto",left:9}):this.container.css({top:t,right:i,left:"auto"})}else if(this.opens==="center"){var d=this.element.offset().left-s.left+this.element.outerWidth()/2-r/2;d<0?this.container.css({top:t,right:"auto",left:9}):d+r>h(window).width()?this.container.css({top:t,left:"auto",right:0}):this.container.css({top:t,left:d,right:"auto"})}else{var d=this.element.offset().left-s.left;d+r>h(window).width()?this.container.css({top:t,left:"auto",right:0}):this.container.css({top:t,left:d,right:"auto"})}}show(){this.isShowing||(this._outsideClickProxy=function(s){this.outsideClick(s)}.bind(this),h(document).on("mousedown.daterangepicker",this._outsideClickProxy).on("touchend.daterangepicker",this._outsideClickProxy).on("click.daterangepicker","[data-toggle=dropdown]",this._outsideClickProxy).on("focusin.daterangepicker",this._outsideClickProxy),h(window).on("resize.daterangepicker",function(s){this.move(s)}.bind(this)),this.oldStartDate=this.#t,this.oldEndDate=this.#e,this.updateView(!1),this.container.show(),this.move(),this.triggerEvent(this.#i.onShow),this.isShowing=!0)}hide(){this.isShowing&&(this.#e||(this.#t=this.oldStartDate,this.#e=this.oldEndDate),(!this.#t.equals(this.oldStartDate)||!this.#e.equals(this.oldEndDate))&&this.callback(this.startDate,this.endDate,this.chosenLabel),this.updateElement(),!this.triggerHandler(this.#i.onBeforeHide)&&(h(document).off(".daterangepicker"),h(window).off(".daterangepicker"),this.container.hide(),this.triggerEvent(this.#i.onHide),this.isShowing=!1))}toggle(){this.isShowing?this.hide():this.show()}showCalendars(){this.container.addClass("show-calendar"),this.move(),this.triggerEvent(this.#i.onShowCalendar)}hideCalendars(){this.container.removeClass("show-calendar"),this.triggerEvent(this.#i.onHideCalendar)}outsideClick(s){var t=h(s.target);s.type==="focusin"||t.closest(this.element).length||t.closest(this.container).length||t.closest(".calendar-table").length||(this.onOutsideClick==="cancel"&&(this.#t=this.oldStartDate,this.#e=this.oldEndDate),this.hide(),this.triggerEvent(this.#i.onOutsideClick))}clickPrev(s){var t=h(s.target).parents(".drp-calendar");t.hasClass("left")?(this.leftCalendar.month=this.leftCalendar.month.minus({month:1}),this.linkedCalendars&&!this.singleMonthView&&(this.rightCalendar.month=this.rightCalendar.month.minus({month:1}))):this.rightCalendar.month=this.rightCalendar.month.minus({month:1}),this.updateCalendars(!0)}clickNext(s){var t=h(s.target).parents(".drp-calendar");t.hasClass("left")?this.leftCalendar.month=this.leftCalendar.month.plus({month:1}):(this.rightCalendar.month=this.rightCalendar.month.plus({month:1}),this.linkedCalendars&&(this.leftCalendar.month=this.leftCalendar.month.plus({month:1}))),this.updateCalendars(!0)}hoverDate(s){if(!h(s.target).hasClass("available"))return;let t=h(s.target).attr("data-title");const n=t.substring(1,2),a=t.substring(3,4);var i=h(s.target).parents(".drp-calendar").hasClass("left")?this.leftCalendar.calendar[n][a]:this.rightCalendar.calendar[n][a];const d=this.leftCalendar,f=this.rightCalendar,e=this.#t,l=this.initalMonth;this.#e||this.container.find(".drp-calendar tbody td").each(function(c,p){if(h(p).hasClass("week"))return;const u=h(p).attr("data-title"),g=u.substring(1,2),y=u.substring(3,4),D=h(p).parents(".drp-calendar").hasClass("left")?d.calendar[g][y]:f.calendar[g][y];!e&&l?h(p).removeClass("in-range"):D>e&&D<i||D.hasSame(i,"day")?h(p).addClass("in-range"):h(p).removeClass("in-range")})}hoverRange(s){const t=s.target.getAttribute("data-range-key"),n=[this.#t,this.#e],a=this.ranges[t]??[this.#t,this.#e],r=this.leftCalendar,i=this.rightCalendar;this.container.find(".drp-calendar tbody td").each(function(d,f){if(h(f).hasClass("week"))return;const e=h(f).attr("data-title"),l=e.substring(1,2),c=e.substring(3,4),u=h(f).parents(".drp-calendar").hasClass("left")?r.calendar[l][c]:i.calendar[l][c];let g=!1;u.hasSame(a[0],"day")&&(g=h(f).addClass("start-hover").length>0),u.hasSame(n[0],"day")&&(g=h(f).addClass("start-date").length>0),u.hasSame(a[1],"day")&&(g=h(f).addClass("end-hover").length>0),n[1]!=null&&u.hasSame(n[1],"day")&&(g=h(f).addClass("end-date").length>0),u.startOf("day")>=a[0].startOf("day")&&u.startOf("day")<=a[1].startOf("day")&&(g=h(f).addClass("range-hover").length>0),u.startOf("day")>=n[0].startOf("day")&&n[1]!=null&&u.startOf("day")<=n[1].startOf("day")&&(g=h(f).addClass("in-range").length>0),g||(h(f).removeClass("start-hover"),h(f).removeClass("end-hover"),h(f).removeClass("start-date"),h(f).removeClass("end-date"),h(f).removeClass("in-range"),h(f).removeClass("range-hover"))})}leaveRange(s){this.container.find(".drp-calendar tbody td").each(function(t,n){h(n).hasClass("week")||(h(n).removeClass("start-hover"),h(n).removeClass("end-hover"),h(n).removeClass("range-hover"))})}clickRange(s){var t=s.target.getAttribute("data-range-key");if(this.chosenLabel=t,t==this.locale.customRangeLabel)this.showCalendars();else{var n=this.ranges[t];const a=!this.#t.hasSame(n[0],"month")||!this.#e.hasSame(n[1],"month");this.#t=n[0],this.#e=n[1],this.timePicker||(this.#t.startOf("day"),this.#e.endOf("day")),this.alwaysShowCalendars||this.hideCalendars(),this.triggerHandler(this.#i.onBeforeHide)&&this.updateView(a),this.clickApply()}}clickDate(s){if(!h(s.target).hasClass("available"))return;var t=h(s.target).attr("data-title"),n=t.substring(1,2),a=t.substring(3,4),r=h(s.target).parents(".drp-calendar"),i=r.hasClass("left")?this.leftCalendar.calendar[n][a]:this.rightCalendar.calendar[n][a];let d;if(this.#e||!this.#t||i<this.#t.startOf("day")){if(this.timePicker){let f=parseInt(this.container.find(".start-time .hourselect").val(),10);isNaN(f)&&(f=parseInt(this.container.find(".start-time .hourselect option:last").val(),10));let e=0;this.timePickerOpts.showMinutes&&(e=parseInt(this.container.find(".start-time .minuteselect").val(),10),isNaN(e)&&(e=parseInt(this.container.find(".start-time .minuteselect option:last").val(),10)));let l=0;this.timePickerOpts.showSeconds&&(l=parseInt(this.container.find(".start-time .secondselect").val(),10),isNaN(l)&&(l=parseInt(this.container.find(".start-time .secondselect option:last").val(),10))),i=i.set({hour:f,minute:e,second:l})}else i=i.startOf("day");this.#e=null,this.#t=i,d="start"}else if(!this.#e&&i<this.#t)this.#e=this.#t,d="end";else{if(this.timePicker){let f=parseInt(this.container.find(".end-time .hourselect").val(),10);isNaN(f)&&(f=parseInt(this.container.find(".end-time .hourselect option:last").val(),10));let e=0;this.timePickerOpts.showMinutes&&(e=parseInt(this.container.find(".end-time .minuteselect").val(),10),isNaN(e)&&(e=parseInt(this.container.find(".end-time .minuteselect option:last").val(),10)));let l=0;this.timePickerOpts.showSeconds&&(l=parseInt(this.container.find(".end-time .secondselect").val(),10),isNaN(l)&&(l=parseInt(this.container.find(".end-time .secondselect option:last").val(),10))),i=i.set({hour:f,minute:e,second:l})}else i=i.endOf("day");this.#e=i,this.autoApply&&(this.calculateChosenLabel(),this.clickApply()),d="end"}this.singleDatePicker&&(this.#e=this.#t,!this.timePicker&&this.autoApply&&this.clickApply(),d=null),this.updateView(!1),s.stopPropagation(),this.autoUpdateInput&&this.updateElement(),this.triggerEvent(this.#i.onDateChange,d)}calculateChosenLabel(){var s=!0,t=0;for(var n in this.ranges){var a=this.timePicker?"hour":"day";if(this.timePicker&&(this.timePickerOpts.showMinutes?a="minute":this.timePickerOpts.showSeconds&&(a="second")),this.#t.startOf(a).equals(this.ranges[n][0].startOf(a))&&this.#e.startOf(a).equals(this.ranges[n][1].startOf(a))){s=!1,this.chosenLabel=this.container.find(".ranges li:eq("+t+")").addClass("active").attr("data-range-key");break}t++}s&&(this.showCustomRangeLabel?this.chosenLabel=this.container.find(".ranges li:last").addClass("active").attr("data-range-key"):this.chosenLabel=null,this.showCalendars())}timeChanged(s){const t=h(s.target).closest(".calendar-time"),n=t.hasClass("start-time")?"start":"end";var a=parseInt(t.find(".hourselect").val(),10);if(isNaN(a)&&(a=parseInt(t.find(".hourselect option:last").val(),10)),!this.timePicker24Hour){const d=t.find(".ampmselect").val();if(d==null&&t.find(".ampmselect option:last").val(),d!=o.fromFormat(`${a}`,"H").toFormat("a",{locale:"en-US"})){t.find(".hourselect > option").each(function(){const e=h(this).attr("hidden")||!1;h(this).attr("hidden",e)});const f=o.fromFormat(`${a}`,"H").toFormat("h");a=o.fromFormat(`${f}${d}`,"ha",{locale:"en-US"}).hour}}var r=0;this.timePickerOpts.showMinutes&&(r=parseInt(t.find(".minuteselect").val(),10),isNaN(r)&&(r=parseInt(t.find(".minuteselect option:last").val(),10)));var i=0;this.timePickerOpts.showSeconds&&(i=parseInt(t.find(".secondselect").val(),10),isNaN(i)&&(i=parseInt(t.find(".secondselect option:last").val(),10))),n==="start"?(this.#t&&(this.#t=this.#t.set({hour:a,minute:r,second:i})),this.singleDatePicker?this.#e=this.#t:this.#e&&this.#e.hasSame(this.#t,"day")&&this.#e<this.#t&&(this.#e=this.#t)):this.#e&&(this.#e=this.#e.set({hour:a,minute:r,second:i})),this.updateCalendars(!1),this.setApplyBtnState(),this.triggerEvent(this.#i.onBeforeRenderTimePicker),this.renderTimePicker("start"),this.renderTimePicker("end"),this.autoUpdateInput&&this.updateElement(),this.triggerEvent(this.#i.onTimeChange,this.singleDatePicker?null:n)}monthOrYearChanged(s){var t=h(s.target).closest(".drp-calendar").hasClass("left"),n=t?"left":"right",a=this.container.find(".drp-calendar."+n),r=parseInt(a.find(".monthselect").val(),10),i=a.find(".yearselect").val();let d=!1;t||(i<this.#t.year||i==this.#t.year&&r<this.#t.month)&&(r=this.#t.month,i=this.#t.year),this.minDate&&(i<this.minDate.year||i==this.minDate.year&&r<this.minDate.month)&&(r=this.minDate.month,i=this.minDate.year),this.maxDate&&(i>this.maxDate.year||i==this.maxDate.year&&r>this.maxDate.month)&&(r=this.maxDate.month,i=this.maxDate.year),t?(d=!o.fromObject({year:i,month:r}).hasSame(this.leftCalendar.month,"month"),this.leftCalendar.month=this.leftCalendar.month.set({year:i,month:r}),this.linkedCalendars&&(this.rightCalendar.month=this.leftCalendar.month.plus({month:1}))):(d=!o.fromObject({year:i,month:r}).hasSame(this.leftCalendar.month,"month"),this.rightCalendar.month=this.rightCalendar.month.set({year:i,month:r}),this.linkedCalendars&&(this.leftCalendar.month=this.rightCalendar.month.minus({month:1}))),this.updateCalendars(d)}clickApply(){this.hide(),this.triggerEvent(this.#i.onApply)}clickCancel(){this.#t=this.oldStartDate,this.#e=this.oldEndDate,this.hide(),this.triggerEvent(this.#i.onCancel)}elementChanged(){if(!this.element.is("input:text")||!this.element.val().length)return;const s=typeof this.locale.format=="string"?this.locale.format:o.parseFormatForOpts(this.locale.format),t=this.element.val().split(this.locale.separator);let n=!1;if(this.singleDatePicker){let a=o.fromFormat(this.element.val(),s,{locale:o.now().locale});const r=this.#t;if(!a.isValid||r.equals(a))return;const i=this.validateInput([a,null],!0);if(i!=null)if(i.newDate!=null)a=i.newDate.startDate;else return;n=!this.#t.hasSame(a,"month"),this.#t=a,this.#e=this.#t,this.timePicker||(this.#t=this.#t.startOf("day"),this.#e=this.#e.endOf("day"))}else if(!this.singleDatePicker&&t.length===2){const a=[0,1].map(d=>o.fromFormat(t[d],s,{locale:o.now().locale})),r=[this.#t,this.#e];if(!a[0].isValid||!a[1].isValid||r[0].equals(a[0])&&r[1].equals(a[1])||a[0]>a[1])return;const i=this.validateInput([a[0],a[1]],!0);if(i!=null)if(i.newDate!=null)a[0]=i.newDate.startDate,a[1]=i.newDate.endDate;else return;n=!this.#t.hasSame(a[0],"month")||!this.#e.hasSame(a[1],"month"),this.#t=a[0],this.#e=a[1],this.timePicker||(this.#t=this.#t.startOf("day"),this.#e=this.#e.endOf("day"))}else return;this.updateView(n),this.updateElement(),this.triggerEvent(this.#i.onInputChange)}keydown(s){(s.keyCode===9||s.keyCode===13)&&this.hide(),s.keyCode===27&&(s.preventDefault(),s.stopPropagation(),this.hide())}updateElement(){if(!(this.#t==null&&this.initalMonth))if(this.element.is("input:text")){let s=this.formatDate(this.#t);this.singleDatePicker||(s+=this.locale.separator,this.#e&&(s+=this.formatDate(this.#e))),this.updateAltInput(),s!==this.element.val()&&this.element.val(s).trigger("change")}else this.updateAltInput()}updateAltInput(){if(this.altInput!=null)if(this.singleDatePicker&&h(this.altInput[1]).val(null),this.altFormat==null){let s="day";this.timePicker&&(this.timePickerOpts.showSeconds?s="second":this.timePickerOpts.showMinutes?s="minute":s="hour");const t=this.#t.toISO({format:"basic",precision:s,includeOffset:!1});if(h(this.singleDatePicker?this.altInput:this.altInput[0]).val(t),!this.singleDatePicker&&this.#e){const n=this.#e.toISO({format:"basic",precision:s,includeOffset:!1});h(this.altInput[1]).val(n)}}else{const s=typeof this.altFormat=="function"?this.altFormat(this.#t):this.formatDate(this.#t,this.altFormat);if(h(this.singleDatePicker?this.altInput:this.altInput[0]).val(s),!this.singleDatePicker&&this.#e){const t=typeof this.altFormat=="function"?this.altFormat(this.#e):this.formatDate(this.#e,this.altFormat);h(this.altInput[1]).val(t)}}}remove(){this.container.remove(),this.element.off(".daterangepicker"),this.element.removeData()}triggerEvent(s,...t){if(t.length===0)this.element.trigger(s.type,s.param);else{const n=s.param(...t);this.element.trigger(s.type,n)}}triggerHandler(s,...t){if(t.length===0)return this.element.triggerHandler(s.type,s.param);{const n=s.param(...t);return this.element.triggerHandler(s.type,n)}}}h.fn.daterangepicker||(h.fn.daterangepicker=function(P,s){const t=h.extend(!0,{},h.fn.daterangepicker.defaultOptions,P);return this.each(function(){const n=h(this);n.data("daterangepicker")&&n.data("daterangepicker").remove(),n.data("daterangepicker",new I(n,t,s))}),this});var V=I;export{V as default};
1
+ import{DateTime as c,Duration as v,Info as w,Settings as M}from"luxon";class x{#e=null;#t=null;constructor(i,e,l){if(typeof i=="string"&&document.querySelectorAll(i).length>1)throw new RangeError("Option 'element' must match to one element only");this.parentEl="body",this.element=i instanceof HTMLElement?i:document.querySelector(i),this.isInputText=this.element instanceof HTMLInputElement&&this.element.type==="text",this.#e=c.now().startOf("day"),this.#t=c.now().plus({day:1}).startOf("day"),this.minDate=null,this.maxDate=null,this.maxSpan=null,this.minSpan=null,this.defaultSpan=null,this.initalMonth=c.now().startOf("month"),this.autoApply=!1,this.singleDatePicker=!1,this.singleMonthView=!1,this.showDropdowns=!1,this.minYear=c.now().minus({year:100}).year,this.maxYear=c.now().plus({year:100}).year,this.showWeekNumbers=!1,this.showISOWeekNumbers=!1,this.showCustomRangeLabel=!0,this.showLabel=!this.isInputText,this.timePicker=!1;const s=new Intl.DateTimeFormat(c.now().locale,{hour:"numeric"}).resolvedOptions();if(this.timePicker24Hour=!s.hour12,this.timePickerStepSize=v.fromObject({minutes:1}),this.linkedCalendars=!0,this.autoUpdateInput=!0,this.alwaysShowCalendars=!1,this.isInvalidDate=null,this.isInvalidTime=null,this.isCustomDate=null,this.onOutsideClick="apply",this.opens=this.element?.classList.contains("pull-right")?"left":"right",this.drops=this.element?.classList.contains("dropup")?"up":"down",this.buttonClasses="btn btn-sm",this.applyButtonClasses="btn-primary",this.cancelButtonClasses="btn-default",this.weekendClasses="weekend",this.weekendDayClasses="weekend-day",this.todayClasses="today",this.altInput=null,this.altFormat=null,this.externalStyle=null,this.ranges={},this.locale={direction:"ltr",format:c.DATE_SHORT,separator:" - ",applyLabel:"Apply",cancelLabel:"Cancel",weekLabel:"W",customRangeLabel:"Custom Range",daysOfWeek:w.weekdays("short"),monthNames:w.months("long"),firstDay:w.getStartOfWeek(),durationFormat:null},this.element==null)return;this.callback=function(){},this.isShowing=!1,this.leftCalendar={},this.rightCalendar={},(typeof e!="object"||e===null)&&(e={});let r={};const t=Array.from(this.element.attributes).filter(a=>a.name.startsWith("data-"));for(let a of t){const o=a.name.replace(/^data-/g,"").replace(/-([a-z])/g,function(g){return g[1].toUpperCase()});let d=c.fromISO(a.value);const p=["startDate","endDate","minDate","maxDate","initalMonth"].includes(o);r[o]=d.isValid&&p?d:JSON.parse(a.value)}if(e={...r,...e},typeof e.singleDatePicker=="boolean"&&(this.singleDatePicker=e.singleDatePicker),!this.singleDatePicker&&typeof e.singleMonthView=="boolean"?this.singleMonthView=e.singleMonthView:this.singleMonthView=!1,e.externalStyle!==null){const a=window.getComputedStyle(document.body);a&&typeof a[Symbol.iterator]=="function"&&[...a].some(o=>o.startsWith("--bulma-"))&&(this.externalStyle="bulma")}if(typeof e.template=="string"||e.template instanceof HTMLElement)this.container=typeof e.template=="string"?E(e.template):e.template;else{let a=['<div class="daterangepicker">','<div class="ranges"></div>','<div class="drp-calendar left">','<table class="calendar-table">',"<thead></thead>","<tbody></tbody>","<tfoot>",'<tr class="calendar-time start-time"></tr>',this.singleMonthView?'<tr class="calendar-time end-time"></tr>':"","</tfoot>","</table>","</div>"];a.push('<div class="drp-calendar right">','<table class="calendar-table">',"<thead></thead>","<tbody></tbody>","<tfoot>",this.singleMonthView?"":'<tr class="calendar-time end-time"></tr>',"</tfoot>","</table>","</div>"),a.push('<div class="drp-buttons">','<div class="drp-duration-label"></div>','<div class="drp-selected"></div>'),this.externalStyle==="bulma"?a.push('<div class="buttons">','<button class="cancelBtn button is-small" type="button"></button>','<button class="applyBtn button is-small" disabled type="button"></button>',"</div>"):a.push("<div>",'<button class="cancelBtn" type="button"></button>','<button class="applyBtn" disabled type="button"></button>',"</div>"),a.push("</div></div>"),e.template=a.join(""),this.container=E(e.template)}if(this.parentEl=document.querySelector(typeof e.parentEl=="string"?e.parentEl:this.parentEl),this.parentEl.appendChild(this.container),typeof e.timePicker=="boolean"&&(this.timePicker=e.timePicker),this.timePicker&&(this.locale.format=c.DATETIME_SHORT),typeof e.locale=="object"){for(let a of["separator","applyLabel","cancelLabel","weekLabel"])typeof e.locale[a]=="string"&&(this.locale[a]=e.locale[a]);if(typeof e.locale.direction=="string"&&(["rtl","ltr"].includes(e.locale.direction)?this.locale.direction=e.locale.direction:console.error("Option 'options.locale.direction' must be 'rtl' or 'ltr'")),["string","object"].includes(typeof e.locale.format)&&(this.locale.format=e.locale.format),Array.isArray(e.locale.daysOfWeek)&&(e.locale.daysOfWeek.some(a=>typeof a!="string")?console.error("Option 'options.locale.daysOfWeek' must be an array of strings"):this.locale.daysOfWeek=e.locale.daysOfWeek.slice()),Array.isArray(e.locale.monthNames)&&(e.locale.monthNames.some(a=>typeof a!="string")?console.error("Option 'locale.monthNames' must be an array of strings"):this.locale.monthNames=e.locale.monthNames.slice()),typeof e.locale.firstDay=="number"&&(this.locale.firstDay=e.locale.firstDay),typeof e.locale.customRangeLabel=="string"){var h=document.createElement("textarea");h.innerHTML=e.locale.customRangeLabel;var u=h.value;this.locale.customRangeLabel=u}["string","object","function"].includes(typeof e.locale.durationFormat)&&e.locale.durationFormat!=null&&(this.locale.durationFormat=e.locale.durationFormat)}this.container.classList.add(this.locale.direction);for(let a of["timePicker24Hour","showWeekNumbers","showISOWeekNumbers","showDropdowns","linkedCalendars","showCustomRangeLabel","alwaysShowCalendars","autoApply","autoUpdateInput","showLabel"])typeof e[a]=="boolean"&&(this[a]=e[a]);for(let a of["applyButtonClasses","cancelButtonClasses","weekendClasses","weekendDayClasses","todayClasses"])typeof e[a]=="string"?this[a]=e[a]:["weekendClasses","weekendDayClasses","todayClasses"].includes(a)&&e[a]===null&&(this[a]=e[a]);for(let a of["minYear","maxYear"])typeof e[a]=="number"&&(this[a]=e[a]);for(let a of["isInvalidDate","isInvalidTime","isCustomDate"])typeof e[a]=="function"?this[a]=e[a]:this[a]=function(){return!1};if(!this.singleDatePicker){for(let a of["minSpan","maxSpan","defaultSpan"])["string","number","object"].includes(typeof e[a])&&(v.isDuration(e[a])&&e[a].isValid?this[a]=e[a]:v.fromISO(e[a]).isValid?this[a]=v.fromISO(e[a]):typeof e[a]=="number"&&v.fromObject({seconds:e[a]}).isValid?this[a]=v.fromObject({seconds:e[a]}):e[a]===null?this[a]=null:console.error(`Option '${key}' is not valid`));this.minSpan&&this.maxSpan&&this.minSpan>this.maxSpan&&(this.minSpan=null,this.maxSpan=null,console.warn("Ignore option 'minSpan' and 'maxSpan', because 'minSpan' must be smaller than 'maxSpan'")),this.defaultSpan&&this.minSpan&&this.minSpan>this.defaultSpan?(this.defaultSpan=null,console.warn("Ignore option 'defaultSpan', because 'defaultSpan' must be greater than 'minSpan'")):this.defaultSpan&&this.maxSpan&&this.maxSpan<this.defaultSpan&&(this.defaultSpan=null,console.warn("Ignore option 'defaultSpan', because 'defaultSpan' must be smaller than 'maxSpan'"))}if(this.timePicker){if(["string","object","number"].includes(typeof e.timePickerStepSize)){let a;v.isDuration(e.timePickerStepSize)&&e.timePickerStepSize.isValid?a=e.timePickerStepSize:v.fromISO(e.timePickerStepSize).isValid?a=v.fromISO(e.timePickerStepSize):typeof e.timePickerStepSize=="number"&&v.fromObject({seconds:e.timePickerStepSize}).isValid?a=v.fromObject({seconds:e.timePickerStepSize}):(console.error("Option 'timePickerStepSize' is not valid"),a=this.timePickerStepSize);var n=[];for(let o of["minutes","seconds"])n.push(...[1,2,3,4,5,6,10,12,15,20,30].map(d=>v.fromObject({[o]:d})));n.push(...[1,2,3,4,6].map(o=>v.fromObject({hours:o}))),this.timePicker24Hour&&n.push(...[8,12].map(o=>v.fromObject({hours:o}))),n.some(o=>a.rescale().equals(o))?this.timePickerStepSize=a.rescale():console.error(`Option 'timePickerStepSize' ${JSON.stringify(a.toObject())} is not valid`)}this.maxSpan&&this.timePickerStepSize>this.maxSpan&&console.error(`Option 'timePickerStepSize' ${JSON.stringify(this.timePickerStepSize.toObject())} must be smaller than 'maxSpan'`),this.timePickerOpts={showMinutes:this.timePickerStepSize<v.fromObject({hours:1}),showSeconds:this.timePickerStepSize<v.fromObject({minutes:1}),hourStep:this.timePickerStepSize>=v.fromObject({hours:1})?this.timePickerStepSize.hours:1,minuteStep:this.timePickerStepSize>=v.fromObject({minutes:1})?this.timePickerStepSize.minutes:1,secondStep:this.timePickerStepSize.seconds}}for(let a of["startDate","endDate","minDate","maxDate","initalMonth"])if(!(a==="endDate"&&this.singleDatePicker)){if(typeof e[a]=="object")c.isDateTime(e[a])&&e[a].isValid?this[a]=e[a]:e[a]instanceof Date?this[a]=c.fromJSDate(e[a]):e[a]===null?this[a]=null:console.error(`Option '${a}' must be a luxon.DateTime or Date or string`);else if(typeof e[a]=="string"){const o=typeof this.locale.format=="string"?this.locale.format:c.parseFormatForOpts(this.locale.format);if(c.fromISO(e[a]).isValid)this[a]=c.fromISO(e[a]);else if(c.fromFormat(e[a],o,{locale:c.now().locale}).isValid)this[a]=c.fromFormat(e[a],o,{locale:c.now().locale});else{const d=c.fromFormat(e[a],o,{locale:c.now().locale}).invalidExplanation;console.error(`Option '${a}' is not a valid string: ${d}`)}}}if(this.isInputText&&this.element.value!=""){const a=typeof this.locale.format=="string"?this.locale.format:c.parseFormatForOpts(this.locale.format);if(this.singleDatePicker&&typeof e.startDate>"u"){const o=c.fromFormat(this.element.value,a,{locale:c.now().locale});o.isValid?this.#e=o:console.error(`Value "${this.element.value}" in <input> is not a valid string: ${o.invalidExplanation}`)}else if(!this.singleDatePicker&&typeof e.startDate>"u"&&typeof e.endDate>"u"){const o=this.element.value.split(this.locale.separator);if(o.length===2){const d=c.fromFormat(o[0],a,{locale:c.now().locale}),p=c.fromFormat(o[1],a,{locale:c.now().locale});d.isValid&&p.isValid?(this.#e=d,this.#t=p):console.error(`Value in <input> is not a valid string: ${d.invalidExplanation} - ${p.invalidExplanation}`)}else console.error(`Value "${this.element.value}" in <input> is not a valid string`)}}if(this.singleDatePicker?this.#t=this.#e:this.#t<this.#e&&console.error(`Option 'endDate' ${this.#t} must not be earlier than 'startDate' ${this.#e}`),this.timePicker||(this.minDate&&(this.minDate=this.minDate.startOf("day")),this.maxDate&&(this.maxDate=this.maxDate.endOf("day")),this.#e=this.#e.startOf("day"),this.#t=this.#t.endOf("day")),!this.#e&&this.initalMonth)this.#t=null,this.timePicker&&console.error("Option 'initalMonth' works only with 'timePicker: false'");else{const a=this.validateInput(null,!1);if(a!=null){let o=a.startDate;if(o.length>0)if(o.some(d=>d.reason.startsWith("isInvalid")))console.error(`Value of startDate "${this.#e}" violates ${o.find(d=>d.reason.startsWith("isInvalid")).reason}`);else{const d=o.filter(p=>p.new!=null).at(-1).new;typeof process<"u"&&process.env.JEST_WORKER_ID==null&&console.warn(`Correcting startDate from ${this.#e} to ${d}`),this.#e=d}if(!this.singleDatePicker&&(o=a.endDate.filter(d=>d.new!=null),o.length>0))if(o.some(d=>d.reason.startsWith("isInvalid")))console.error(`Value of endDate "${this.#t}" violates ${o.find(d=>d.reason.startsWith("isInvalid")).reason}`);else{const d=o.filter(p=>p.new!=null).at(-1).new;typeof process<"u"&&process.env.JEST_WORKER_ID==null&&console.warn(`Correcting endDate from ${this.#t} to ${d}`),this.#t=d}}}if(this.singleDatePicker)if(typeof e.altInput=="string"){const a=document.querySelector(e.altInput);this.altInput=a instanceof HTMLInputElement&&a.type==="text"?a:null}else e.altInput instanceof HTMLElement&&(this.altInput=e.altInput instanceof HTMLInputElement&&e.altInput.type==="text"?e.altInput:null);else if(!this.singleDatePicker&&Array.isArray(e.altInput)&&e.altInput.length===2){this.altInput=[];for(let a of e.altInput){const o=typeof a=="string"?document.querySelector(a):a;o instanceof HTMLInputElement&&o.type==="text"&&this.altInput.push(o)}this.altInput.length!==2&&(this.altInput=null)}else e.altInput!=null&&console.warn(`Option 'altInput' ${JSON.stringify(e.altInput)} is not valid`);if(e.altInput&&["function","string"].includes(typeof e.altFormat)&&(this.altFormat=e.altFormat),typeof e.opens=="string"&&(["left","right","center"].includes(e.opens)?this.opens=e.opens:console.error("Option 'options.opens' must be 'left', 'right' or 'center'")),typeof e.drops=="string"&&(["up","down","auto"].includes(e.drops)?this.drops=e.drops:console.error("Option 'options.drops' must be 'up', 'down' or 'auto'")),Array.isArray(e.buttonClasses)?this.buttonClasses=e.buttonClasses.join(" "):typeof e.buttonClasses=="string"&&(this.buttonClasses=e.buttonClasses),typeof e.onOutsideClick=="string"&&(["cancel","apply"].includes(e.onOutsideClick)?this.onOutsideClick=e.onOutsideClick:console.error("Option 'options.onOutsideClick' must be 'cancel' or 'apply'")),this.locale.firstDay!=1){let a=this.locale.firstDay;for(;a>1;)this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()),a--}if(!this.singleDatePicker&&typeof e.ranges=="object"){for(let a in e.ranges){let o,d;if(["string","object"].includes(typeof e.ranges[a][0])&&(c.isDateTime(e.ranges[a][0])&&e.ranges[a][0].isValid?o=e.ranges[a][0]:e.ranges[a][0]instanceof Date?o=c.fromJSDate(e.ranges[a][0]):typeof e.ranges[a][0]=="string"&&c.fromISO(e.ranges[a][0]).isValid?o=c.fromISO(e.ranges[a][0]):console.error(`Option ranges['${a}'] is not am array of valid ISO-8601 string or luxon.DateTime or Date`)),["string","object"].includes(typeof e.ranges[a][1])&&(c.isDateTime(e.ranges[a][1])&&e.ranges[a][1].isValid?d=e.ranges[a][1]:e.ranges[a][1]instanceof Date?d=c.fromJSDate(e.ranges[a][1]):typeof e.ranges[a][1]=="string"&&c.fromISO(e.ranges[a][1]).isValid?d=c.fromISO(e.ranges[a][1]):console.error(`Option ranges['${a}'] is not a valid ISO-8601 string or luxon.DateTime or Date`)),!(o==null||d==null)){var h=document.createElement("textarea");h.innerHTML=a,this.ranges[h.value]=[o,d]}}var f="<ul>";for(let a in this.ranges)f+=`<li data-range-key="${a}">${a}</li>`;this.showCustomRangeLabel&&(f+=`<li data-range-key="${this.locale.customRangeLabel}">${this.locale.customRangeLabel}</li>`),f+="</ul>",this.container.querySelector(".ranges").prepend(E(f)),this.container.classList.add("show-ranges")}typeof l=="function"&&(this.callback=l),this.timePicker||this.container.querySelectorAll(".calendar-time").forEach(a=>{a.style.display="none"}),this.timePicker&&this.autoApply&&(this.autoApply=!1),this.autoApply&&this.container.classList.add("auto-apply"),(this.singleDatePicker||this.singleMonthView)&&(this.container.classList.add("single"),this.container.querySelector(".drp-calendar.left").classList.add("single"),this.container.querySelector(".drp-calendar.left").style.display="",this.container.querySelector(".drp-calendar.right").style.display="none",!this.timePicker&&this.autoApply&&this.container.classList.add("auto-apply")),(this.singleDatePicker||!Object.keys(this.ranges).length||this.alwaysShowCalendars)&&this.container.classList.add("show-calendar"),this.container.classList.add(`opens${this.opens}`),this.container.querySelectorAll(".applyBtn, .cancelBtn").forEach(a=>{a.classList.add(...this.buttonClasses.split(" "))}),this.applyButtonClasses.length&&this.container.querySelector(".applyBtn").classList.add(...this.applyButtonClasses.split(" ")),this.cancelButtonClasses.length&&this.container.querySelector(".cancelBtn").classList.add(...this.cancelButtonClasses.split(" ")),this.container.querySelector(".applyBtn").innerHTML=this.locale.applyLabel,this.container.querySelector(".cancelBtn").innerHTML=this.locale.cancelLabel,this.addListener(".drp-calendar","click",".prev",this.clickPrev.bind(this)),this.addListener(".drp-calendar","click",".next",this.clickNext.bind(this)),this.addListener(".drp-calendar","mousedown","td.available",this.clickDate.bind(this)),this.addListener(".drp-calendar","mouseenter","td.available",this.hoverDate.bind(this)),this.addListener(".drp-calendar","change","select.yearselect,select.monthselect",this.monthOrYearChanged.bind(this)),this.addListener(".drp-calendar","change","select.hourselect,select.minuteselect,select.secondselect,select.ampmselect",this.timeChanged.bind(this)),this.addListener(".ranges","click","li",this.clickRange.bind(this)),this.addListener(".ranges","mouseenter","li",this.hoverRange.bind(this)),this.addListener(".ranges","mouseleave","li",this.leaveRange.bind(this)),this.addListener(".drp-buttons","click","button.applyBtn",this.clickApply.bind(this)),this.addListener(".drp-buttons","click","button.cancelBtn",this.clickCancel.bind(this)),this.element.matches("input")||this.element.matches("button")?(this.element.addEventListener("click",this.#a),this.element.addEventListener("focus",this.#a),this.element.addEventListener("keyup",this.#o),this.element.addEventListener("keydown",this.#h)):(this.element.addEventListener("click",this.#n),this.element.addEventListener("keydown",this.#n)),this.updateElement()}get startDate(){return this.timePicker?this.#e:this.#e.startOf("day")}get endDate(){return this.singleDatePicker?null:this.timePicker?this.#t:this.#t.endOf("day")}set startDate(i){this.#e=i}set endDate(i){this.#t=i}#i={onViolate:{type:"violate",param:(i,e)=>({...i,cancelable:!0})},onBeforeRenderTimePicker:{type:"beforeRenderTimePicker"},onBeforeRenderCalendar:{type:"beforeRenderCalendar"},onShow:{type:"show"},onBeforeHide:{type:"beforeHide",param:{cancelable:!0}},onHide:{type:"hide"},onShowCalendar:{type:"showCalendar"},onHideCalendar:{type:"hideCalendar"},onOutsideClick:{type:"outsideClick"},onDateChange:{type:"dateChange",param:i=>i},onTimeChange:{type:"timeChange",param:i=>i},onApply:{type:"apply"},onCancel:{type:"cancel"},onInputChange:{type:"inputChange"},onMonthViewChange:{type:"monthViewChange",param:(i,e)=>({left:this.leftCalendar.month.startOf("month"),right:this.singleMonthView||this.singleDatePicker?null:this.rightCalendar.month.startOf("month")})}};get events(){return this.#i}#s=this.outsideClick.bind(this);#l=this.move.bind(this);#r=i=>{const e=i.target.closest('[data-toggle="dropdown"]');e&&document.contains(e)&&this.#s(i)};#a=this.show.bind(this);#o=this.elementChanged.bind(this);#h=this.keydown.bind(this);#n=this.toggle.bind(this);setStartDate(i,e=!0){if(!this.singleDatePicker)return setRange(i,this.#t,e);const l=this.#e;let s=this.parseDate(i);if(s.equals(l))return null;const r=this.validateInput([s,null],!0);if(r!=null)if(r.newDate!=null)s=r.newDate.startDate;else return r;const t=!this.#e.hasSame(s,"month");return this.#e=s,this.#t=this.#e,this.timePicker||(this.#e=this.#e.startOf("day"),this.#t=this.#t.endOf("day")),this.updateElement(),e&&this.updateView(t),r}setEndDate(i,e=!0){return this.singleDatePicker?null:setRange(this.#e,i,e)}setRange(i,e,l=!0){if(this.singleDatePicker)return;this.#t||(this.#t=this.#e);const s=[this.#e,this.#t];let r=[this.parseDate(i),this.parseDate(e)];if(s[0].equals(r[0])&&s[1].equals(r[1])||r[0]>r[1])return;const t=this.validateInput([r[0],r[1]],!0);if(t!=null)if(t.newDate!=null)r[0]=t.newDate.startDate,r[1]=t.newDate.endDate;else return t;const h=!this.#e.hasSame(r[0],"month")||!this.#t.hasSame(r[1],"month");return this.#e=r[0],this.#t=r[1],this.timePicker||(this.#e=this.#e.startOf("day"),this.#t=this.#t.endOf("day")),this.updateElement(),l&&this.updateView(h),t}parseDate(i){if(typeof i=="object"){if(c.isDateTime(i)&&i.isValid)return i;if(i instanceof Date)return c.fromJSDate(i);throw RangeError("Value must be a luxon.DateTime or Date or string")}else if(typeof i=="string"){const e=typeof this.locale.format=="string"?this.locale.format:c.parseFormatForOpts(this.locale.format);if(c.fromISO(i).isValid)return c.fromISO(i);if(c.fromFormat(i,e,{locale:c.now().locale}).isValid)return c.fromFormat(i,e,{locale:c.now().locale});{const l=c.fromFormat(i,e,{locale:c.now().locale}).invalidExplanation;throw RangeError(`Value is not a valid string: ${l}`)}}}logDate(i){return this.timePicker?i.toISO({suppressMilliseconds:!0}):i.toISODate()}formatDate(i,e=this.locale.format){if(typeof e=="object")return i.toLocaleString(e);if(M.defaultLocale===null){const l=c.now().locale;return i.toFormat(e,{locale:l})}else return i.toFormat(e)}updateLabel(){if(this.showLabel){let i=this.formatDate(this.#e);this.singleDatePicker||(i+=this.locale.separator,this.#t&&(i+=this.formatDate(this.#t))),this.container.querySelector(".drp-selected").innerHTML=i}if(!(this.singleDatePicker||this.locale.durationFormat==null)){if(!this.#t){this.container.querySelector(".drp-duration-label").innerHTML="";return}if(typeof this.locale.durationFormat=="function")this.container.querySelector(".drp-duration-label").innerHTML=this.locale.durationFormat(this.#e,this.#t);else{let i=this.#t.plus({milliseconds:1}).diff(this.#e).rescale().set({milliseconds:0});this.timePicker||(i=i.set({seconds:0,minutes:0,hours:0})),i=i.removeZeros(),typeof this.locale.durationFormat=="object"?this.container.querySelector(".drp-duration-label").innerHTML=i.toHuman(this.locale.durationFormat):this.container.querySelector(".drp-duration-label").innerHTML=i.toFormat(this.locale.durationFormat)}}}validateInput(i,e=!1){let l=i==null?this.#e:i[0],s=i==null?this.#t:i[1];if(l==null)return null;let r={startDate:[]},t={old:l,reason:this.timePicker?"timePickerStepSize":"timePicker"};if(this.timePicker){const n=this.timePickerStepSize.as("seconds");l=c.fromSeconds(n*Math.round(l.toSeconds()/n)),t.new=l,t.new.equals(t.old)||r.startDate.push(t)}else l=l.startOf("day");const h=this.timePicker?this.timePickerStepSize.as("seconds"):v.fromObject({days:1}).as("seconds");this.minDate&&l<this.minDate?(t={old:l,reason:"minDate"},l=l.plus({seconds:Math.trunc(this.minDate.diff(l).as("seconds")/h)*h}),l<this.minDate&&(l=l.plus(this.timePicker?this.timePickerStepSize:{days:1})),t.new=l,t.new.equals(t.old)||r.startDate.push(t)):this.maxDate&&l>this.maxDate&&(t={old:l,reason:"maxDate"},l=l.minus({seconds:Math.trunc(l.diff(this.maxDate).as("seconds")/h)*h}),l>this.maxDate&&(l=l.minus(this.timePicker?this.timePickerStepSize:{days:1})),t.new=l,t.new.equals(t.old)||r.startDate.push(t));let u=["hour"];if(this.timePicker&&(this.timePickerOpts.showMinutes&&u.push("minute"),this.timePickerOpts.showSeconds&&u.push("second"),this.timePicker24Hour||u.push("ampm")),this.isInvalidDate(l)&&r.startDate.push({old:l,reason:"isInvalidDate"}),this.timePicker)for(let n of u)this.isInvalidTime(l,n,"start")&&r.startDate.push({old:l,reason:"isInvalidTime",unit:n});if(this.singleDatePicker){if(r.startDate.length==0)return null;if(e){let n={startDate:l};const f=this.triggerEvent(this.#i.onViolate,{violation:r,newDate:n});return f.defaultPrevented&&(r.newDate=f.newDate),r}else return r}if(s==null)return null;if(r.endDate=[],t={old:s,reason:this.timePicker?"stepSize":"timePicker"},this.timePicker){const n=this.timePickerStepSize.as("seconds");s=c.fromSeconds(n*Math.round(s.toSeconds()/n)),t.new=s,t.new.equals(t.old)||r.endDate.push(t)}else s=s.endOf("day");if(this.maxDate&&s>this.maxDate?(t={old:s,reason:"maxDate"},s=s.minus({seconds:Math.trunc(s.diff(this.maxDate).as("seconds")/h)*h}),s>this.maxDate&&(s=s.minus(this.timePicker?this.timePickerStepSize:{days:1})),t.new=s,t.new.equals(t.old)||r.endDate.push(t)):this.minDate&&s<this.minDate&&(t={old:s,reason:"minDate"},s=s.plus({seconds:Math.trunc(this.minDate.diff(s).as("seconds")/h)*h}),s<this.minDate&&(s=s.plus(this.timePicker?this.timePickerStepSize:{days:1})),t.new=s,t.new.equals(t.old)||r.endDate.push(t)),this.maxSpan){const n=l.plus(this.maxSpan);s>n&&(t={old:s,reason:"maxSpan"},s=s.minus({seconds:Math.trunc(n.diff(s).as("seconds")/h)*h}),s>n&&(s=s.minus(this.timePicker?this.timePickerStepSize:{days:1})),t.new=s,t.new.equals(t.old)||r.endDate.push(t))}if(this.minSpan){const n=l.plus(this.defaultSpan??this.minSpan);s<n&&(t={old:s,reason:"minSpan"},s=s.plus({seconds:Math.trunc(n.diff(s).as("seconds")/h)*h}),s<n&&(s=s.plus(this.timePicker?this.timePickerStepSize:{days:1})),t.new=s,t.new.equals(t.old)||r.endDate.push(t))}if(this.isInvalidDate(s)&&r.endDate.push({old:s,reason:"isInvalidDate"}),this.timePicker)for(let n of u)this.isInvalidTime(s,n,"end")&&r.endDate.push({old:s,reason:"isInvalidTime",unit:n});if(r.startDate.length==0&&r.endDate.length==0)return null;if(e){let n={startDate:l,endDate:s};const f=this.triggerEvent(this.#i.onViolate,{violation:r,newDate:n});return f.defaultPrevented&&(r.newDate=f.newDate),r}else return r}updateView(i){this.timePicker&&(this.triggerEvent(this.#i.onBeforeRenderTimePicker),this.renderTimePicker("start"),this.renderTimePicker("end"),this.container.querySelector(".calendar-time.end-time select").disabled=!this.#t,this.container.querySelector(".calendar-time.end-time select").classList.toggle("disabled",!this.#t)),this.updateLabel(),this.updateMonthsInView(),this.updateCalendars(i),this.setApplyBtnState()}updateMonthsInView(){if(this.#t){if(!this.singleDatePicker&&this.leftCalendar.month&&this.rightCalendar.month&&(this.#e.hasSame(this.leftCalendar.month,"month")||this.#e.hasSame(this.rightCalendar.month,"month"))&&(this.#t.hasSame(this.leftCalendar.month,"month")||this.#t.hasSame(this.rightCalendar.month,"month")))return;this.leftCalendar.month=this.#e.startOf("month"),this.singleMonthView||(!this.linkedCalendars&&!this.#t.hasSame(this.#e,"month")?this.rightCalendar.month=this.#t.startOf("month"):this.rightCalendar.month=this.#e.startOf("month").plus({month:1}))}else!this.#e&&this.initalMonth?(this.leftCalendar.month=this.initalMonth,this.singleMonthView||(this.rightCalendar.month=this.initalMonth.plus({month:1}))):!this.leftCalendar.month.hasSame(this.#e,"month")&&!this.rightCalendar.month.hasSame(this.#e,"month")&&(this.leftCalendar.month=this.#e.startOf("month"),this.rightCalendar.month=this.#e.startOf("month").plus({month:1}));this.maxDate&&this.linkedCalendars&&!this.singleDatePicker&&!this.singleMonthView&&this.rightCalendar.month>this.maxDate&&(this.rightCalendar.month=this.maxDate.startOf("month"),this.leftCalendar.month=this.maxDate.startOf("month").minus({month:1}))}updateCalendars(i){if(this.timePicker){var e,l,s;this.#t?(e=parseInt(this.container.querySelector(".start-time .hourselect").value,10),isNaN(e)&&(e=parseInt(this.container.querySelector(".start-time .hourselect option:last-child").value,10)),l=0,this.timePickerOpts.showMinutes&&(l=parseInt(this.container.querySelector(".start-time .minuteselect").value,10),isNaN(l)&&(l=parseInt(this.container.querySelector(".start-time .minuteselect option:last-child").value,10))),s=0,this.timePickerOpts.showSeconds&&(s=parseInt(this.container.querySelector(".start-time .secondselect").value,10),isNaN(s)&&(s=parseInt(this.container.querySelector(".start-time .secondselect option:last-child").value,10)))):(e=parseInt(this.container.querySelector(".end-time .hourselect").value,10),isNaN(e)&&(e=parseInt(this.container.querySelector(".end-time .hourselect option:last-child").value,10)),l=0,this.timePickerOpts.showMinutes&&(l=parseInt(this.container.querySelector(".end-time .minuteselect").value,10),isNaN(l)&&(l=parseInt(this.container.querySelector(".end-time .minuteselect option:last-child").value,10))),s=0,this.timePickerOpts.showSeconds&&(s=parseInt(this.container.querySelector(".end-time .secondselect").value,10),isNaN(s)&&(s=parseInt(this.container.querySelector(".end-time .secondselect option:last-child").value,10)))),this.leftCalendar.month=this.leftCalendar.month.set({hour:e,minute:l,second:s}),this.singleMonthView||(this.rightCalendar.month=this.rightCalendar.month.set({hour:e,minute:l,second:s}))}else this.leftCalendar.month=this.leftCalendar.month.set({hour:0,minute:0,second:0}),this.singleMonthView||(this.rightCalendar.month=this.rightCalendar.month.set({hour:0,minute:0,second:0}));this.triggerEvent(this.#i.onBeforeRenderCalendar),this.renderCalendar("left"),this.renderCalendar("right"),i&&this.triggerEvent(this.#i.onMonthViewChange),this.container.querySelectorAll(".ranges li").forEach(r=>{r.classList.remove("active")}),this.#t!=null&&this.calculateChosenLabel()}renderCalendar(i){if(i==="right"&&this.singleMonthView)return;var t=i==="left"?this.leftCalendar:this.rightCalendar;t.month==null&&!this.#e&&this.initalMonth&&(t.month=this.initalMonth.startOf("month"));const e=t.month.startOf("month"),l=t.month.endOf("month").startOf("day");var s=t.month.startOf("month").minus({day:1});const r={hour:t.month.hour,minute:t.month.minute,second:t.month.second};var t=[];t.firstDay=e,t.lastDay=l;for(var h=0;h<6;h++)t[h]=[];for(;s.weekday!=this.locale.firstDay;)s=s.minus({day:1});for(let y=0,S=-1;y<42;y++,s=s.plus({day:1}))y%7===0&&S++,t[S][y%7]=s.set(r);i==="left"?this.leftCalendar.calendar=t:this.rightCalendar.calendar=t;var u=i==="left"?this.minDate:this.#e,n=this.maxDate,f="<tr>";(this.showWeekNumbers||this.showISOWeekNumbers)&&(f+="<th></th>"),(!u||u<t.firstDay)&&(!this.linkedCalendars||i==="left")?f+='<th class="prev available"><span></span></th>':f+="<th></th>";var a=`${this.locale.monthNames[t.firstDay.month-1]} ${t.firstDay.year}`;if(this.showDropdowns){const y=(n&&n.year)??this.maxYear,S=(u&&u.year)??this.minYear;let I=this.externalStyle==="bulma"?'<div class="select is-small mr-1">':"";for(var o=`${I}<select class="monthselect">`,d=1;d<=12;d++)o+=`<option value="${d}"${d===t.firstDay.month?" selected":""}`,(u&&t.firstDay.set({month:d})<u.startOf("month")||n&&t.firstDay.set({month:d})>n.endOf("month"))&&(o+=" disabled"),o+=`>${this.locale.monthNames[d-1]}</option>`;o+="</select>",this.externalStyle==="bulma"&&(o+="</div>"),I=this.externalStyle==="bulma"?'<div class="select is-small ml-1">':"";for(var p=`${I}<select class="yearselect">`,g=S;g<=y;g++)p+=`<option value="${g}"${g===t.firstDay.year?" selected":""}>${g}</option>`;p+="</select>",this.externalStyle==="bulma"&&(p+="</div>"),a=o+p}f+='<th colspan="5" class="month">'+a+"</th>",(!n||n>t.lastDay.endOf("day"))&&(!this.linkedCalendars||i==="right"||this.singleDatePicker||this.singleMonthView)?f+='<th class="next available"><span></span></th>':f+="<th></th>",f+="</tr>",f+="<tr>",(this.showWeekNumbers||this.showISOWeekNumbers)&&(f+=`<th class="week">${this.locale.weekLabel}</th>`);for(let[y,S]of this.locale.daysOfWeek.entries())f+="<th",this.weekendDayClasses&&this.weekendDayClasses.length&&w.getWeekendWeekdays().includes(y+1)&&(f+=` class="${this.weekendDayClasses}"`),f+=`>${S}</th>`;if(f+="</tr>",this.container.querySelector(`.drp-calendar.${i} .calendar-table thead`).innerHTML=f,f="",this.#t==null&&this.maxSpan){var k=this.#e.plus(this.maxSpan).endOf("day");(!n||k<n)&&(n=k)}var L;this.#t==null&&this.minSpan&&(L=this.#e.plus(this.minSpan).startOf("day"));for(let y=0;y<6;y++){f+="<tr>",this.showISOWeekNumbers?f+=`<td class="week">${t[y][0].weekNumber}</td>`:this.showWeekNumbers&&(f+=`<td class="week">${t[y][0].localWeekNumber}</td>`);for(let S=0;S<7;S++){var D=[];this.todayClasses&&this.todayClasses.length&&t[y][S].hasSame(c.now(),"day")&&D.push(this.todayClasses),this.weekendClasses&&this.weekendClasses.length&&w.getWeekendWeekdays().includes(t[y][S].weekday)&&D.push(this.weekendClasses),t[y][S].month!=t[1][1].month&&D.push("off","ends"),this.minDate&&t[y][S].startOf("day")<this.minDate.startOf("day")&&D.push("off","disabled"),n&&t[y][S].startOf("day")>n.startOf("day")&&D.push("off","disabled"),L&&t[y][S].startOf("day")>this.#e.startOf("day")&&t[y][S].startOf("day")<L.startOf("day")&&D.push("off","disabled"),this.isInvalidDate(t[y][S])&&D.push("off","disabled"),this.#e!=null&&t[y][S].hasSame(this.#e,"day")&&D.push("active","start-date"),this.#t!=null&&t[y][S].hasSame(this.#t,"day")&&D.push("active","end-date"),this.#t!=null&&t[y][S]>this.#e&&t[y][S]<this.#t&&D.push("in-range");var P=this.isCustomDate(t[y][S]);P!==!1&&(typeof P=="string"?D.push(P):D.push(...P)),D.includes("disabled")||D.push("available"),f+=`<td class="${D.join(" ")}" data-title="r${y}c${S}">${t[y][S].day}</td>`}f+="</tr>"}this.container.querySelector(`.drp-calendar.${i} .calendar-table tbody`).innerHTML=f}renderTimePicker(i){if(i==="end"&&!this.#t)return;var e,l,s,r=this.maxDate;let t="";if((this.showWeekNumbers||this.showISOWeekNumbers)&&(t+="<th></th>"),this.maxSpan&&(!this.maxDate||this.#e.plus(this.maxSpan)<this.maxDate)&&(r=this.#e.plus(this.maxSpan)),this.minSpan&&i==="end"&&(l=this.#e.plus(this.defaultSpan??this.minSpan)),i==="start")e=this.#e,s=this.minDate;else if(i==="end"){e=this.#t,s=this.#e;let d=this.container.querySelector(".drp-calendar .calendar-time.end-time");d.innerHTML!=""&&(e=e.set({hour:isNaN(e.hour)?d.querySelector(".hourselect option:selected").value:e.hour,minute:isNaN(e.minute)?d.querySelector(".minuteselect option:selected").value:e.minute,second:isNaN(e.second)?d.querySelector(".secondselect option:selected").value:e.second})),e<this.#e&&(e=this.#e),r&&e>r&&(e=r)}t+='<th colspan="7">',this.externalStyle==="bulma"&&(t+='<div class="select is-small mx-1">'),t+='<select class="hourselect">';const h=e.toFormat("a",{locale:"en-US"});let u=0;this.timePicker24Hour||(u=h==="AM"?1:13);for(var n=u;n<=u+23;n+=this.timePickerOpts.hourStep){let d=e.set({hour:n%24}),p=!1;if(s&&d.set({minute:59})<s&&(p=!0),r&&d.set({minute:0})>r&&(p=!0),l&&d.endOf("hour")<l&&(p=!0),!p&&this.isInvalidTime(d,this.singleDatePicker?null:i,"hour")&&(p=!0),this.timePicker24Hour)!p&&n==e.hour?t+=`<option value="${n}" selected>${n}</option>`:p?t+=`<option value="${n}" disabled class="disabled">${n}</option>`:t+=`<option value="${n}">${n}</option>`;else{const g=c.fromFormat(`${n%24}`,"H").toFormat("h"),k=c.fromFormat(`${n%24}`,"H").toFormat("a",{locale:"en-US"});h==k?!p&&n==e.hour?t+=`<option ampm="${k}" value="${n%24}" selected>${g}</option>`:p?t+=`<option ampm="${k}" value="${n%24}" disabled class="disabled">${g}</option>`:t+=`<option ampm="${k}" value="${n%24}">${g}</option>`:t+=`<option ampm="${k}" hidden="hidden" value="${n%24}">${g}</option>`}}if(t+="</select>",this.externalStyle==="bulma"&&(t+="</div>"),this.timePickerOpts.showMinutes){t+=" : ",this.externalStyle==="bulma"&&(t+='<div class="select is-small mx-1">'),t+='<select class="minuteselect">';for(var n=0;n<60;n+=this.timePickerOpts.minuteStep){var f=n<10?"0"+n:n;let p=e.set({minute:n}),g=!1;s&&p.set({second:59})<s&&(g=!0),r&&p.set({second:0})>r&&(g=!0),l&&p.endOf("minute")<l&&(g=!0),!g&&this.isInvalidTime(p,this.singleDatePicker?null:i,"minute")&&(g=!0),e.minute==n&&!g?t+=`<option value="${n}" selected>${f}</option>`:g?t+=`<option value="${n}" disabled class="disabled">${f}</option>`:t+=`<option value="${n}">${f}</option>`}t+="</select>",this.externalStyle==="bulma"&&(t+="</div>")}if(this.timePickerOpts.showSeconds){t+=" : ",this.externalStyle==="bulma"&&(t+='<div class="select is-small mx-1">'),t+='<select class="secondselect">';for(var n=0;n<60;n+=this.timePickerOpts.secondStep){var f=n<10?"0"+n:n;let g=e.set({second:n}),k=!1;s&&g<s&&(k=!0),r&&g>r&&(k=!0),l&&g<l&&(k=!0),!k&&this.isInvalidTime(g,this.singleDatePicker?null:i,"second")&&(k=!0),e.second==n&&!k?t+=`<option value="${n}" selected>${f}</option>`:k?t+=`<option value="${n}" disabled class="disabled">${f}</option>`:t+=`<option value="${n}">${f}</option>`}t+="</select>",this.externalStyle==="bulma"&&(t+="</div>")}if(!this.timePicker24Hour){this.externalStyle==="bulma"&&(t+='<div class="select is-small mx-1">'),t+='<select class="ampmselect">';var a="",o="";let d=!1;s&&e.startOf("day")<s&&(d=!0),r&&e.endOf("day")>r&&(d=!0),l&&e.startOf("day")<l&&(d=!0),d?(a=' disabled class="disabled "',o=' disabled class="disabled"'):this.isInvalidTime(e,this.singleDatePicker?null:i,"ampm")&&(e.toFormat("a",{locale:"en-US"})==="AM"?o=' disabled class="disabled"':a=' disabled class="disabled"'),t+=`<option value="AM"${a}`,e.toFormat("a",{locale:"en-US"})==="AM"&&(t+=" selected"),t+=`>${w.meridiems()[0]}</option><option value="PM"${o}`,e.toFormat("a",{locale:"en-US"})==="PM"&&(t+=" selected"),t+=`>${w.meridiems()[1]}</option>`,t+="</select>",this.externalStyle==="bulma"&&(t+="</div>")}t+="</div></th>",this.container.querySelector(`.drp-calendar .calendar-time.${i}-time`).innerHTML=t}setApplyBtnState(){const i=this.singleDatePicker||this.#t&&this.#e<=this.#t;this.container.querySelector("button.applyBtn").disabled=!i}move(){let i={top:0,left:0},e,l,s=this.drops,r=window.innerWidth;switch(this.parentEl.matches("body")||(i={top:b(this.parentEl).top-this.parentEl.scrollTop(),left:b(this.parentEl).left-this.parentEl.scrollLeft()},r=this.parentEl[0].clientWidth+b(this.parentEl).left),this.drops){case"auto":e=b(this.element).top+O(this.element)-i.top,e+O(this.container)>=this.parentEl.scrollHeight&&(e=b(this.element).top-O(this.container)-i.top,s="up");break;case"up":e=b(this.element).top-O(this.container)-i.top;break;case"down":e=b(this.element).top+O(this.element)-i.top;break;default:console.error(`Option drops '${s}' not defined`);break}for(const[h,u]of Object.entries({top:0,left:0,right:"auto"}))this.container.style[h]=typeof u=="number"&&u>0?`${u}px`:u;const t=$(this.container);switch(this.container.classList.toggle("drop-up",s==="up"),this.opens){case"left":const h=r-b(this.element).left-$(this.element);if(t+h>window.innerWidth)for(const[u,n]of Object.entries({top:e,right:"auto",left:9}))this.container.style[u]=typeof n=="number"&&n>0?`${n}px`:n;else for(const[u,n]of Object.entries({top:e,right:h,left:"auto"}))this.container.style[u]=typeof n=="number"&&n>0?`${n}px`:n;break;case"center":if(l=b(this.element).left-i.left+$(this.element)/2-t/2,l<0)for(const[u,n]of Object.entries({top:e,right:"auto",left:9}))this.container.style[u]=typeof n=="number"&&n>0?`${n}px`:n;else if(l+t>window.innerWidth)for(const[u,n]of Object.entries({top:e,left:"auto",right:0}))this.container.style[u]=typeof n=="number"&&n>0?`${n}px`:n;else for(const[u,n]of Object.entries({top:e,left:l,right:"auto"}))this.container.style[u]=typeof n=="number"&&n>0?`${n}px`:n;break;case"right":if(l=b(this.element).left-i.left,l+t>window.innerWidth)for(const[u,n]of Object.entries({top:e,left:"auto",right:0}))this.container.style[u]=typeof n=="number"&&n>0?`${n}px`:n;else for(const[u,n]of Object.entries({top:`${e}px`,left:l,right:"auto"}))this.container.style[u]=typeof n=="number"&&n>0?`${n}px`:n;break;default:console.error(`Option opens '${this.opens}' not defined`);break}}show(){this.isShowing||(document.addEventListener("mousedown",this.#s),document.addEventListener("touchend",this.#s),document.addEventListener("click",this.#r),document.addEventListener("focusin",this.#s),window.addEventListener("resize",this.#l),this.oldStartDate=this.#e,this.oldEndDate=this.#t,this.updateView(!1),this.container.style.display="block",this.move(),this.triggerEvent(this.#i.onShow),this.isShowing=!0)}hide(){!this.isShowing||(this.#t||(this.#e=this.oldStartDate,this.#t=this.oldEndDate),(!this.#e.equals(this.oldStartDate)||!this.#t.equals(this.oldEndDate))&&this.callback(this.startDate,this.endDate,this.chosenLabel),this.updateElement(),this.triggerEvent(this.#i.onBeforeHide).defaultPrevented)||(document.removeEventListener("mousedown",this.#s),document.removeEventListener("touchend",this.#s),document.removeEventListener("focusin",this.#s),document.removeEventListener("click",this.#r),window.removeEventListener("resize",this.#l),this.container.style.display="none",this.triggerEvent(this.#i.onHide),this.isShowing=!1)}toggle(){this.isShowing?this.hide():this.show()}showCalendars(){this.container.classList.add("show-calendar"),this.move(),this.triggerEvent(this.#i.onShowCalendar)}hideCalendars(){this.container.classList.remove("show-calendar"),this.triggerEvent(this.#i.onHideCalendar)}outsideClick(i){const e=i.target;function l(s,r){let t=s.parentElement;for(;t;){if(t==r)return t;t=t.parentElement}return null}i.type==="focusin"||l(e,this.element)||l(e,this.container)||e.closest(".calendar-table")||(this.onOutsideClick==="cancel"&&(this.#e=this.oldStartDate,this.#t=this.oldEndDate),this.hide(),this.triggerEvent(this.#i.onOutsideClick))}clickPrev(i){i.target.closest(".drp-calendar").classList.contains("left")?(this.leftCalendar.month=this.leftCalendar.month.minus({month:1}),this.linkedCalendars&&!this.singleMonthView&&(this.rightCalendar.month=this.rightCalendar.month.minus({month:1}))):this.rightCalendar.month=this.rightCalendar.month.minus({month:1}),this.updateCalendars(!0)}clickNext(i){i.target.closest(".drp-calendar").classList.contains("left")?this.leftCalendar.month=this.leftCalendar.month.plus({month:1}):(this.rightCalendar.month=this.rightCalendar.month.plus({month:1}),this.linkedCalendars&&(this.leftCalendar.month=this.leftCalendar.month.plus({month:1}))),this.updateCalendars(!0)}hoverDate(i){if(!i.target.classList.contains("available"))return;let e=i.target.dataset.title;const l=e.substring(1,2),s=e.substring(3,4);var t=i.target(closest,".drp-calendar").classList.contains("left")?this.leftCalendar.calendar[l][s]:this.rightCalendar.calendar[l][s];const h=this.leftCalendar,u=this.rightCalendar,n=this.#e,f=this.initalMonth;this.#t||this.container.querySelectorAll(".drp-calendar tbody td").forEach(a=>{if(a.classList.contains("week"))return;const o=a.dataset.title,d=o.substring(1,2),p=o.substring(3,4),k=a.closest(".drp-calendar").classList.contains("left")?h.calendar[d][p]:u.calendar[d][p];!n&&f?a.classList.remove("in-range"):a.classList.toggle("in-range",k>n&&k<t||k.hasSame(t,"day"))})}hoverRange(i){const e=i.target.dataset.rangeKey,l=[this.#e,this.#t],s=this.ranges[e]??[this.#e,this.#t],r=this.leftCalendar,t=this.rightCalendar;this.container.querySelectorAll(".drp-calendar tbody td").forEach(h=>{if(h.classList.contains("week"))return;const u=h.dataset.ttitle,n=u.substring(1,2),f=u.substring(3,4),o=h.closest(".drp-calendar").classList.contains("left")?r.calendar[n][f]:t.calendar[n][f];h.classList.toggle("start-hover",o.hasSame(s[0],"day")),h.classList.toggle("start-date",o.hasSame(l[0],"day")),h.classList.toggle("end-hover",o.hasSame(s[1],"day")),h.classList.toggle("end-date",l[1]!=null&&o.hasSame(l[1],"day")),h.classList.toggle("range-hover",o.startOf("day")>=s[0].startOf("day")&&o.startOf("day")<=s[1].startOf("day")),h.classList.toggle("in-range",o.startOf("day")>=l[0].startOf("day")&&l[1]!=null&&o.startOf("day")<=l[1].startOf("day"))})}leaveRange(){this.container.querySelectorAll(".drp-calendar tbody td").forEach(i=>{i.classList.contains("week")||(i.classList.remove("start-hover"),i.classList.remove("end-hover"),i.classList.remove("range-hover"))})}clickRange(i){let e=i.target.getAttribute("data-range-key");if(this.chosenLabel=e,e==this.locale.customRangeLabel)this.showCalendars();else{let l=this.ranges[e];const s=!this.#e.hasSame(l[0],"month")||!this.#t.hasSame(l[1],"month");this.#e=l[0],this.#t=l[1],this.timePicker||(this.#e.startOf("day"),this.#t.endOf("day")),this.alwaysShowCalendars||this.hideCalendars(),this.triggerEvent(this.#i.onBeforeHide).defaultPrevented&&this.updateView(s),this.clickApply()}}clickDate(i){if(!i.target.classList.contains("available"))return;let e=i.target.dataset.title,l=e.substring(1,2),s=e.substring(3,4),t=i.target.closest(".drp-calendar").classList.contains("left")?this.leftCalendar.calendar[l][s]:this.rightCalendar.calendar[l][s],h;if(this.#t||!this.#e||t<this.#e.startOf("day")){if(this.timePicker){let u=parseInt(this.container.querySelector(".start-time .hourselect").value,10);isNaN(u)&&(u=parseInt(this.container.querySelector(".start-time .hourselect option:last-child").value,10));let n=0;this.timePickerOpts.showMinutes&&(n=parseInt(this.container.querySelector(".start-time .minuteselect").value,10),isNaN(n)&&(n=parseInt(this.container.querySelector(".start-time .minuteselect option:last-child").value,10)));let f=0;this.timePickerOpts.showSeconds&&(f=parseInt(this.container.querySelector(".start-time .secondselect").value,10),isNaN(f)&&(f=parseInt(this.container.querySelector(".start-time .secondselect option:last-child").value,10))),t=t.set({hour:u,minute:n,second:f})}else t=t.startOf("day");this.#t=null,this.#e=t,h="start"}else if(!this.#t&&t<this.#e)this.#t=this.#e,h="end";else{if(this.timePicker){let u=parseInt(this.container.querySelector(".end-time .hourselect").value,10);isNaN(u)&&(u=parseInt(this.container.querySelector(".end-time .hourselect option:last-child").value,10));let n=0;this.timePickerOpts.showMinutes&&(n=parseInt(this.container.querySelector(".end-time .minuteselect").value,10),isNaN(n)&&(n=parseInt(this.container.querySelector(".end-time .minuteselect option:last-child").value,10)));let f=0;this.timePickerOpts.showSeconds&&(f=parseInt(this.container.querySelector(".end-time .secondselect").value,10),isNaN(f)&&(f=parseInt(this.container.querySelector(".end-time .secondselect option:last-child").value,10))),t=t.set({hour:u,minute:n,second:f})}else t=t.endOf("day");this.#t=t,this.autoApply&&(this.calculateChosenLabel(),this.clickApply()),h="end"}this.singleDatePicker&&(this.#t=this.#e,!this.timePicker&&this.autoApply&&this.clickApply(),h=null),this.updateView(!1),i.stopPropagation(),this.autoUpdateInput&&this.updateElement(),this.triggerEvent(this.#i.onDateChange,{side:h})}calculateChosenLabel(){if(Object.keys(this.ranges).length!==0){var i=!0,e=0;for(var l in this.ranges){var s=this.timePicker?"hour":"day";if(this.timePicker&&(this.timePickerOpts.showMinutes?s="minute":this.timePickerOpts.showSeconds&&(s="second")),this.#e.startOf(s).equals(this.ranges[l][0].startOf(s))&&this.#t.startOf(s).equals(this.ranges[l][1].startOf(s))){i=!1;const r=this.container.querySelector(`.ranges li:eq(${e})`);this.chosenLabel=r.dataset.rangeKey,r.classList.add("active");break}e++}if(i){if(this.showCustomRangeLabel){const r=this.container.querySelector(".ranges li:last-child");this.chosenLabel=r.dataset.rangeKey,r.classList.add("active")}else this.chosenLabel=null;this.showCalendars()}}}timeChanged(i){const e=i.target.closest(".calendar-time"),l=e.classList.contains("start-time")?"start":"end";var s=parseInt(e.querySelector(".hourselect").value,10);if(isNaN(s)&&(s=parseInt(e.querySelector(".hourselect option:last-child").value,10)),!this.timePicker24Hour){const h=e.querySelector(".ampmselect").value;if(h==null&&e.querySelector(".ampmselect option:last-child").value,h!=c.fromFormat(`${s}`,"H").toFormat("a",{locale:"en-US"})){e.querySelectorAll(".hourselect > option").forEach(n=>{n.hidden=!n.hidden});const u=c.fromFormat(`${s}`,"H").toFormat("h");s=c.fromFormat(`${u}${h}`,"ha",{locale:"en-US"}).hour}}var r=0;this.timePickerOpts.showMinutes&&(r=parseInt(e.querySelector(".minuteselect").value,10),isNaN(r)&&(r=parseInt(e.querySelector(".minuteselect option:last-child").value,10)));var t=0;this.timePickerOpts.showSeconds&&(t=parseInt(e.querySelector(".secondselect").value,10),isNaN(t)&&(t=parseInt(e.querySelector(".secondselect option:last-child").value,10))),l==="start"?(this.#e&&(this.#e=this.#e.set({hour:s,minute:r,second:t})),this.singleDatePicker?this.#t=this.#e:this.#t&&this.#t.hasSame(this.#e,"day")&&this.#t<this.#e&&(this.#t=this.#e)):this.#t&&(this.#t=this.#t.set({hour:s,minute:r,second:t})),this.updateCalendars(!1),this.setApplyBtnState(),this.triggerEvent(this.#i.onBeforeRenderTimePicker),this.renderTimePicker("start"),this.renderTimePicker("end"),this.autoUpdateInput&&this.updateElement(),this.triggerEvent(this.#i.onTimeChange,{side:this.singleDatePicker?null:l})}monthOrYearChanged(i){const e=i.target.closest(".drp-calendar").classList.contains("left"),l=e?"left":"right",s=this.container.querySelector(`.drp-calendar.${l}`);let r=parseInt(s.querySelector(".monthselect").value,10),t=s.querySelector(".yearselect").value,h=!1;e||(t<this.#e.year||t==this.#e.year&&r<this.#e.month)&&(r=this.#e.month,t=this.#e.year),this.minDate&&(t<this.minDate.year||t==this.minDate.year&&r<this.minDate.month)&&(r=this.minDate.month,t=this.minDate.year),this.maxDate&&(t>this.maxDate.year||t==this.maxDate.year&&r>this.maxDate.month)&&(r=this.maxDate.month,t=this.maxDate.year),e?(h=!c.fromObject({year:t,month:r}).hasSame(this.leftCalendar.month,"month"),this.leftCalendar.month=this.leftCalendar.month.set({year:t,month:r}),this.linkedCalendars&&(this.rightCalendar.month=this.leftCalendar.month.plus({month:1}))):(h=!c.fromObject({year:t,month:r}).hasSame(this.leftCalendar.month,"month"),this.rightCalendar.month=this.rightCalendar.month.set({year:t,month:r}),this.linkedCalendars&&(this.leftCalendar.month=this.rightCalendar.month.minus({month:1}))),this.updateCalendars(h)}clickApply(){this.hide(),this.triggerEvent(this.#i.onApply)}clickCancel(){this.#e=this.oldStartDate,this.#t=this.oldEndDate,this.hide(),this.triggerEvent(this.#i.onCancel)}elementChanged(){if(!this.isInputText||!this.element.value.length)return;const i=typeof this.locale.format=="string"?this.locale.format:c.parseFormatForOpts(this.locale.format),e=this.element.value.split(this.locale.separator);let l=!1;if(this.singleDatePicker){let s=c.fromFormat(this.element.value,i,{locale:c.now().locale});const r=this.#e;if(!s.isValid||r.equals(s))return;const t=this.validateInput([s,null],!0);if(t!=null)if(t.newDate!=null)s=t.newDate.startDate;else return;l=!this.#e.hasSame(s,"month"),this.#e=s,this.#t=this.#e,this.timePicker||(this.#e=this.#e.startOf("day"),this.#t=this.#t.endOf("day"))}else if(!this.singleDatePicker&&e.length===2){const s=[0,1].map(h=>c.fromFormat(e[h],i,{locale:c.now().locale})),r=[this.#e,this.#t];if(!s[0].isValid||!s[1].isValid||r[0].equals(s[0])&&r[1].equals(s[1])||s[0]>s[1])return;const t=this.validateInput([s[0],s[1]],!0);if(t!=null)if(t.newDate!=null)s[0]=t.newDate.startDate,s[1]=t.newDate.endDate;else return;l=!this.#e.hasSame(s[0],"month")||!this.#t.hasSame(s[1],"month"),this.#e=s[0],this.#t=s[1],this.timePicker||(this.#e=this.#e.startOf("day"),this.#t=this.#t.endOf("day"))}else return;this.updateView(l),this.updateElement(),this.triggerEvent(this.#i.onInputChange)}keydown(i){[9,11].includes(i.keyCode)&&this.hide(),i.keyCode===27&&(i.preventDefault(),i.stopPropagation(),this.hide())}updateElement(){if(!(this.#e==null&&this.initalMonth))if(this.isInputText){let i=this.formatDate(this.#e);this.singleDatePicker||(i+=this.locale.separator,this.#t&&(i+=this.formatDate(this.#t))),this.updateAltInput(),i!==this.element.value&&(this.element.value=i,this.element.dispatchEvent(new Event("change",{bubbles:!0})))}else this.updateAltInput()}updateAltInput(){if(this.altInput!=null)if(this.altFormat==null){let i="day";this.timePicker&&(this.timePickerOpts.showSeconds?i="second":this.timePickerOpts.showMinutes?i="minute":i="hour");const e=this.#e.toISO({format:"basic",precision:i,includeOffset:!1});if((this.singleDatePicker?this.altInput:this.altInput[0]).value=e,!this.singleDatePicker&&this.#t){const l=this.#t.toISO({format:"basic",precision:i,includeOffset:!1});this.altInput[1].value=l}}else{const i=typeof this.altFormat=="function"?this.altFormat(this.#e):this.formatDate(this.#e,this.altFormat);if((this.singleDatePicker?this.altInput:this.altInput[0]).value=i,!this.singleDatePicker&&this.#t){const e=typeof this.altFormat=="function"?this.altFormat(this.#t):this.formatDate(this.#t,this.altFormat);this.altInput[1].value=e}}}remove(){this.element.removeEventListener("click",this.#a),this.element.removeEventListener("focus",this.#a),this.element.removeEventListener("keyup",this.#o),this.element.removeEventListener("keydown",this.#h),this.element.removeEventListener("click",this.#n),this.element.removeEventListener("keydown",this.#n),this.container.remove()}triggerEvent(i,...e){if(e.length===0){const l=new q(this,i);return this.element.dispatchEvent(l),l}else{const l=new q(this,i,...e);return this.element.dispatchEvent(l),l}}addListener(i,e,l,s){this.container.querySelectorAll(i).forEach(r=>{r.addEventListener(e,function(t){const h=t.target.closest(l);h&&r.contains(h)&&s.call(h,t)})})}}function E(m){const i=document.createElement("template");return i.innerHTML=m.trim(),i.content.firstElementChild}class q extends Event{#e;constructor(i,e,l={}){let s={};e.param&&(s=typeof e.param=="function"?e.param():e.param),s={...s,...l},super(e.type,s),this.#e=i;for(const[r,t]of Object.entries(s))Object.getOwnPropertyNames(Event.prototype).includes(r)||(this[r]=t)}get picker(){return this.#e}}function b(m){const i=m.getBoundingClientRect();return{top:i.top+window.scrollY,left:i.left+window.scrollX}}function $(m,i=!1){if(!i)return m.offsetWidth;const e=getComputedStyle(m);return m.offsetWidth+parseFloat(e.marginLeft)+parseFloat(e.marginRight)}function O(m,i=!1){if(!i)return m.offsetHeight;const e=getComputedStyle(m);return m.offsetHeight+parseFloat(e.marginTop)+parseFloat(e.marginBottom)}function C(m,i,e){return typeof m=="string"?C(document.querySelectorAll(m),i,e):(m instanceof HTMLElement&&(m=[m]),(m instanceof NodeList||m instanceof HTMLCollection)&&(m=Array.from(m)),m==null?new x(null,i||{},e):(m.forEach(l=>{l._daterangepicker&&typeof l._daterangepicker.remove=="function"&&l._daterangepicker.remove(),l._daterangepicker=new x(l,i||{},e)}),m.length===1?m[0]:m))}function T(m){return typeof m=="string"&&(m=document.querySelector(m)),m instanceof HTMLElement?m._daterangepicker:void 0}window.jQuery?.fn&&(jQuery.fn.daterangepicker=function(m,i){return this.each(function(){C(this,m,i)})});function N(m){m?.fn&&(m.fn.daterangepicker=function(i,e){return this.each(function(){C(this,i,e)})})}Object.defineProperty(window,"jQuery",{configurable:!0,set(m){this._jQuery=m,N(m)},get(){return this._jQuery}});var F=C;export{x as DateRangePicker,C as daterangepicker,F as default,T as getDateRangePicker};