UNPKG

jqwidgets-framework

Version:

jQWidgets is an advanced Angular, Vue, Blazor, React, Web Components, jquery, ASP .NET MVC, Custom Elements and HTML5 UI framework.

332 lines 1.63 MB
/******/ (() => { // webpackBootstrap
/******/ 	var __webpack_modules__ = ({

/***/ 2612:
/***/ (() => {

JQX("jqx-button",class extends JQX.ContentElement{static get properties(){return{value:{type:"string"},name:{type:"string"},type:{value:"button",type:"string"},clickMode:{allowedValues:["hover","press","release","pressAndRelease"],type:"string",value:"release"}}}static get styleUrls(){return["jqx.button.css"]}template(){return"<button class=\"jqx-button jqx-unselectable\" inner-h-t-m-l='[[innerHTML]]' id='button' type='[[type]]' name='[[name]]' value='[[value]]' disabled='[[disabled]]' role=\"presentation\"></button>"}refresh(){}static get listeners(){return{"button.down":"_downHandler","button.mouseenter":"_mouseEnterHandler","button.mouseleave":"_mouseLeaveHandler","button.touchend":"_touchEndHandler","button.click":"_clickHandler","button.up":"_upHandler",up:"_upHandler","button.focus":"_focusHandler","button.blur":"_blurHandler"}}focus(){const e=this;e.$.button?e.$.button.focus():HTMLElement.prototype.focus.call(e)}blur(){const e=this;e.$.button?e.$.button.blur():HTMLElement.prototype.blur.call(e)}_upHandler(e){const t=this;if(e.stopPropagation(),t.$.setAttributeValue("active",!1),t.dataset.target){const n=document.querySelector(t.dataset.target);let a=t.dataset.toggle,r=t.dataset.arguments;const i="jqx-window".toLowerCase();if(n&&n.nodeName.toLowerCase()===i&&"modal"===a&&(a="openModal"),"tab"===a||"pill"===a||"list"===a){const e=this.closest(".nav, .list-group"),a='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',r=!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?e.children(".active"):e.querySelectorAll("li > .active");if(e){const n=e.querySelectorAll(a);for(let e=0;e<n.length;e++)n[e].classList.remove("primary");for(let e=0;e<r.length;e++)r[e].classList.remove("active");let i=t.parentNode;for(;i;){if("LI"===i.nodeName){i.classList.add("active");break}i=i.parentNode}t.classList.add("primary")}return n.parentNode.querySelectorAll(".active").forEach((e=>{e.classList.remove("active"),e.classList.add("jqx-hidden")})),n.classList.add("active"),void n.classList.remove("jqx-hidden")}a&&n&&!n[a]&&"collapse"===a&&(setTimeout((()=>{n.classList.contains("jqx-hidden")?n.classList.remove("jqx-hidden"):n.classList.add("jqx-hidden")})),e.originalEvent.preventDefault()),a&&n&&!n[a]&&"dropdown"===a?(setTimeout((()=>{n.opened=!n.opened})),e.originalEvent.preventDefault()):a&&n&&n[a]&&(setTimeout((()=>{r?n[a](r):n[a]()}),50),e.originalEvent.preventDefault())}}_focusHandler(){this.$.setAttributeValue("focus",!0),this.$.fireEvent("focus")}_blurHandler(){this.$.setAttributeValue("focus",!1),this.$.fireEvent("blur")}_clickHandler(e){const t=this;("release"!==t.clickMode&&"pressAndRelease"!==t.clickMode||t.readonly)&&(e.preventDefault(),e.stopPropagation())}_downHandler(e){const t=this;if(!(t.disabled||(t.hasRippleAnimation&&JQX.Utilities.Animation.Ripple.animate(t,e.pageX,e.pageY),t.$.setAttributeValue("active",!0),"press"!==t.clickMode&&"pressAndRelease"!==t.clickMode||t.readonly))){if(t.hasAttribute("jqx-blazor"))return void t.$.dispatchEvent(new Event("click"));const n="buttons"in e?e.buttons:e.which;t.$.fireEvent("click",{buttons:n,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY})}}_mouseEnterHandler(e){const t=this;if(!t.readonly&&(t.$button.setAttributeValue("hover",!0),t.$.setAttributeValue("hover",!0),"hover"===t.clickMode)){const n="buttons"in e?e.buttons:e.which;if(t.hasAttribute("jqx-blazor"))return void t.$.dispatchEvent(new Event("click"));t.$.fireEvent("click",{buttons:n,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY})}}_touchEndHandler(){const e=this;setTimeout((function(){e.$button.setAttributeValue("hover",!1),e.$.setAttributeValue("hover",!1)}),300)}_mouseLeaveHandler(){this.$button.setAttributeValue("hover",!1),this.$.setAttributeValue("hover",!1)}propertyChangedHandler(e,t,n){super.propertyChangedHandler(e,t,n);const a=this;"disabled"===e?(a._setFocusable(),a.$button&&a.$button.setAttributeValue("hover",!1),a.$.setAttributeValue("hover",!1),a instanceof JQX.RepeatButton&&a._stopRepeat()):"unfocusable"===e&&a._setFocusable()}_setFocusable(){const e=this,t=e.$.button?e.$.button:e;if(e.disabled||e.unfocusable)return t.removeAttribute("tabindex"),void(t.tabIndex=-1);t.tabIndex=e.tabIndex>0?e.tabIndex:0}ready(){const e=this;super.ready(),e.setAttribute("role","button"),e._setFocusable(),e.enableShadowDOM&&e.$.hiddenInput&&e.appendChild(e.$.hiddenInput)}}),JQX("jqx-repeat-button",class extends JQX.Button{static get properties(){return{delay:{value:50,type:"number"},initialDelay:{value:150,type:"number"}}}static get listeners(){return{"button.down":"_startRepeat","button.mouseenter":"_overriddenHandler","button.mouseleave":"_overriddenHandler","button.pointerenter":"_updateInBoundsFlag","button.pointerleave":"_updateInBoundsFlag","button.touchmove":"_touchmoveHandler","document.up":"_stopRepeat"}}_clickHandler(e){const t=this;("release"!==t.clickMode||t.preventDefaultClick||t.readonly||t.disabled)&&(e.preventDefault(),e.stopPropagation(),t.preventDefaultClick=!1)}_updateInBoundsFlag(e){const t=this;-1!==e.type.indexOf("leave")?(t._isPointerInBounds=!1,t.$button.setAttributeValue("hover",!1),t.$.setAttributeValue("hover",!1)):(t._isPointerInBounds=!0,t.$button.setAttributeValue("hover",!0),t.$.setAttributeValue("hover",!0)),1!==("buttons"in e?e.buttons:e.which)&&t._stopRepeat(e)}_startRepeat(e){const t=this;t.setAttribute("active",""),t._initialTimer||t.readonly||(t._initialTimer=setTimeout((function(){t._repeatTimer=setInterval((()=>{if(t._isPointerInBounds){if(t.hasAttribute("jqx-blazor"))return t.$.dispatchEvent(new Event("click")),void(t.preventDefaultClick=!0);const n="buttons"in e?e.buttons:e.which;t.$.fireEvent("click",{buttons:n,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY}),t.preventDefaultClick=!0}}),t.delay)}),t.initialDelay))}_stopRepeat(e){const t=this;t.readonly||e&&("pointercancel"===e.type||e.originalEvent&&"pointercancel"===e.originalEvent.type)||(t.$.setAttributeValue("active",!1),t._repeatTimer&&(clearInterval(t._repeatTimer),t._repeatTimer=null),t._initialTimer&&(clearTimeout(t._initialTimer),t._initialTimer=null))}_touchmoveHandler(e){this.preventDefaultClick&&e.cancelable&&(e.preventDefault(),e.stopPropagation())}_overriddenHandler(){}}),JQX("jqx-toggle-button",class extends JQX.Button{static get properties(){return{checked:{value:!1,type:"boolean?"},falseContent:{value:"",reflectToAttribute:!1,type:"string"},indeterminateContent:{value:"",reflectToAttribute:!1,type:"string"},indeterminate:{value:!1,type:"boolean"},trueContent:{value:"",reflectToAttribute:!1,type:"string"},indeterminateTemplate:{value:null,type:"any"},trueTemplate:{value:null,type:"any"},falseTemplate:{value:null,type:"any"},type:{value:"toggle",type:"string",defaultReflectToAttribute:!0,readonly:!0}}}static get listeners(){return{keydown:"_keyHandler",keyup:"_keyHandler",dragstart:"_dragStartHandler","button.click":"_buttonClickHandler","button.mouseenter":"_buttonMouseEnterHandler","button.mouseleave":"_buttonMouseLeaveHandler","document.up":"_documentUpHandler"}}ready(){super.ready(),this._setAriaState(),this._updateGroupValue()}_setAriaState(){const e=this,t=e.checked;null!==t?e.setAttribute("aria-pressed",t):e.setAttribute("aria-pressed","mixed")}_buttonClickHandler(){}_buttonMouseLeaveHandler(){this.removeAttribute("hover")}_buttonMouseEnterHandler(){const e=this;e.setAttribute("hover",""),e.disabled||e.readonly||"hover"!==e.clickMode||(e._changeCheckState("pointer"),e.focus(),e._updateHidenInputNameAndValue())}_documentUpHandler(e){const t=this;t._pressed&&(t._pressed=!1,t.disabled||t.readonly||"press"===t.clickMode||"pointercancel"===e.originalEvent.type||(t._changeCheckState("pointer"),t.focus(),t._updateHidenInputNameAndValue()))}_downHandler(e){const t=this;t.disabled||t.readonly||(t.hasRippleAnimation&&JQX.Utilities.Animation.Ripple.animate(t,e.pageX,e.pageY),t._pressed=!0,"press"!==t.clickMode&&"pressAndRelease"!==t.clickMode||(t._changeCheckState("pointer"),t.hasAttribute("jqx-blazor")?t.$.dispatchEvent(new Event("click")):t.$.fireEvent("click"),t._updateHidenInputNameAndValue()),"press"===t.clickMode&&(e.preventDefault(),e.stopPropagation()))}_dragStartHandler(e){e.preventDefault()}_keyHandler(e){const t=this;if(!0!==t.disabled&&!t.readonly&&32===e.keyCode){if("keydown"===e.type)return void e.preventDefault();if("none"===t.switchMode)return;t._changeCheckState("keyboard"),t._updateHidenInputNameAndValue()}}_updateGroupValue(){const e=this;if(e.dataset.target){const t=document.querySelector(e.dataset.target);if(t){const n=document.querySelectorAll('[data-target="'+e.dataset.target+'"]'),a=[];if(e.checked){const n=e.dataset.property,a=e.dataset.value;if(n&&void 0!==t[n]){let e=a;"true"===e&&(e=!0),"false"===e&&(e=!1),t[n]=e}}for(let t=0;t<n.length;t++){const r=n[t];r.checked&&(r.name?(a.push(r.name),e.id&&r.setAttribute("data-id",e.id)):e.id&&a.push(e.id))}t.value=a.toString(),e._targetDispatchTimer&&clearTimeout(e._targetDispatchTimer),e._targetDispatchTimer=setTimeout((()=>{t.dispatchEvent(new Event("change"))}),100)}}}_changeCheckState(e){const t=this;let n=null;null===t.checked?t.checked=!0:(n=t.checked,t.checked=!t.checked),t._handleTextSelection(),t.$.fireEvent("change",{value:t.checked,oldValue:n,changeType:e}),t.checked?t.$.fireEvent("checkValue",{changeType:e}):t.$.fireEvent("uncheckValue",{changeType:e}),t._updateGroupValue(),t._setAriaState()}_handleTextSelection(){const e=this;e.$.addClass("jqx-unselectable"),e.timer&&clearTimeout(e.timer),e.timer=setTimeout((()=>e.$.removeClass("jqx-unselectable")),500)}propertyChangedHandler(e,t,n){super.propertyChangedHandler(e,t,n);const a=this;if("checked"===e)return a.$.fireEvent("change",{value:n,oldValue:t,changeType:"api"}),void a._setAriaState();switch(e){case"trueTemplate":a._handleTemplate(!0);break;case"falseTemplate":a._handleTemplate(!1);break;case"indeterminateTemplate":a._handleTemplate()}}_htmlBindOnInitialization(){const e=this;e._bindContentProperty("trueContent","jqx-true-content"),e._bindContentProperty("falseContent","jqx-false-content"),e._bindContentProperty("indeterminateContent","jqx-indeterminate-content")}_bindContentProperty(e,t){const n=this;if(!n.$[e+"Container"])return;let a=document.createElement("div");a.innerHTML=n.innerHTML;let r,i=a.getElementsByClassName(t);if(i.length>0)for(let e=0;e<i.length;e++)r=i[e];""===n[e]&&(n[e]=void 0===r?"":r.outerHTML),n.$[e+"Container"].innerHTML=n[e]}_updateContentProperties(){const e=this;function t(t){e.$[t+"Container"]&&(e[t]=e.$[t+"Container"].innerHTML)}t("trueContent"),t("falseContent"),t("indeterminateContent")}_updateHidenInputValue(){const e=this;if(!e.$.hiddenInput)return;let t;t=null===e.checked?"null":!1===e.checked?"off":e.value||"on",e.$.hiddenInput.setAttribute("value",t)}_updateHidenInputName(){const e=this;if(!e.$.hiddenInput)return;let t=!1===e.checked?"":e.name||"";e.$.hiddenInput.setAttribute("name",t)}_updateHidenInputNameAndValue(){this._updateHidenInputName(),this._updateHidenInputValue()}_handleTemplate(e,t){const n=this;let a,r,i;if(!0===e?(a=n.trueTemplate,r=n.$.trueContentContainer,i=n.trueContent):!1===e?(a=n.falseTemplate,r=n.$.falseContentContainer,i=n.falseContent):(a=n.indeterminateTemplate,r=n.$.indeterminateContentContainer,i=n.indeterminateContent),t&&(r.innerHTML=i||""),null===a||!a)return;if("function"==typeof a)return void a(r,{value:i});if(!("content"in document.createElement("template")))return void n.error(n.localize("htmlTemplateNotSuported",{elementType:n.nodeName.toLowerCase()}));if(a=document.getElementById(a),null===a||!("content"in a))return void n.error(n.localize("invalidTemplate",{elementType:n.nodeName.toLowerCase(),property:"template"}));const o=a.content,l=o.childNodes.length,s=/{{\w+}}/g;let u,d=[];for(let e=0;e<l;e++)for(u=s.exec(o.childNodes[e].innerHTML);u;)d.push({childNodeIndex:e,bindingString:u[0]}),u=s.exec(o.childNodes[e].innerHTML);const c=d.length;let p,h,m=document.importNode(a.content,!0);for(let e=0;e<c;e++){p=m.childNodes[d[e].childNodeIndex],h=d.length;for(let t=0;t<h;t++)p.innerHTML=p.innerHTML.replace(d[e].bindingString,i)}r.innerHTML="";for(let e=0;e<m.childNodes.length;e++)m.childNodes[e].outerHTML&&(r.innerHTML+=m.childNodes[e].outerHTML)}});

/***/ }),

/***/ 5810:
/***/ (() => {

JQX("jqx-calendar",class extends JQX.BaseElement{static get properties(){return{animationSettings:{value:null,type:"object"},calendarMode:{value:"default",allowedValues:["default","classic"],type:"string"},dayNameFormat:{value:"firstTwoLetters",allowedValues:["narrow","firstTwoLetters","long","short"],type:"string"},dateFormatFunction:{value:null,type:"function"},disableAutoNavigation:{value:!1,type:"boolean"},disableMouseWheel:{value:!1,type:"boolean"},displayMode:{value:"month",allowedValues:["month","year","decade"],type:"string"},displayModeView:{value:"table",allowedValues:["table","list"],type:"string"},dropDownHeight:{value:"200",type:"string"},dropDownWidth:{value:"",type:"string"},firstDayOfWeek:{value:0,type:"number",defaultValue:0,validator:"_firstDayOfWeekValidator"},footerTemplate:{value:null,type:"any"},headerTemplate:{value:null,type:"any"},hideDayNames:{value:!1,type:"boolean"},hideOtherMonthDays:{value:!1,type:"boolean"},hideTooltipArrow:{value:!1,type:"boolean"},importantDates:{value:[],type:"array",defaultValue:[]},importantDatesTemplate:{value:null,type:"any"},max:{value:new Date(2100,0,1),type:"any",defaultValue:new Date(2100,0,1)},min:{value:new Date(1900,0,1),type:"any",defaultValue:new Date(1900,0,1)},months:{value:1,type:"number",defaultValue:1,validator:"_monthsValidator"},monthNameFormat:{value:"long",allowedValues:["narrow","firstTwoLetters","long","short","2-digit","numeric"],type:"string"},name:{value:"",type:"string"},restrictedDates:{value:[],type:"array",defaultValue:[]},scrollButtonsNavigationMode:{value:"landscape",allowedValues:["portrait","landscape"],type:"string"},scrollButtonsPosition:{value:"both",allowedValues:["near","far","both"],type:"string"},selectedDates:{value:[],reflectToAttribute:!1,type:"array"},selectionMode:{value:"default",allowedValues:["none","default","one","oneExtended","many","zeroOrMany","oneOrMany","zeroOrOne","week","range"],type:"string"},spinButtonsDelay:{value:200,type:"number"},spinButtonsInitialDelay:{value:0,type:"number"},titleTemplate:{value:null,type:"any"},tooltip:{value:!1,type:"boolean"},tooltipArrow:{value:!0,type:"boolean"},tooltipArrowDirection:{allowedValues:["bottom","top","left","right","none"],value:"bottom",type:"string"},tooltipDelay:{value:100,type:"number"},tooltipOffset:{value:[],type:"array"},tooltipPosition:{value:"auto",allowedValues:["auto","bottom","top","left","right","absolute"],type:"string"},tooltipTemplate:{value:null,type:"any"},view:{value:"portrait",allowedValues:["landscape","portrait"],type:"string"},viewSections:{value:["header"],type:"array"},weekNumbers:{value:!1,type:"boolean"},weeks:{value:6,type:"number",defaultValue:6,validator:"_weeksValidator"},yearFormat:{value:"numeric",allowedValues:["2-digit","numeric"],type:"string"}}}static get listeners(){return{"container.down":"_downHandler","document.up":"_documentUpHandler","body.move":"_moveHandler","container.wheel":"_containerWheelHandler","body.focus":"_bodyFocusStateHandler","body.blur":"_bodyBlurStateHandler","header.click":"_headerClickHandler","header.change":"_headerChangeHandler",keydown:"_keyDownHandler",keyup:"_keyUpHandler",mouseenter:"_mouseEventsHandler",mouseleave:"_mouseEventsHandler","container.mouseover":"_mouseEventsHandler","container.mouseout":"_mouseEventsHandler","container.open":"_popupEventHandler","container.close":"_popupEventHandler"}}static get methods(){return{select:"select(date=new Date(): date|string): void",clearSelection:"clearSelection(): void",today:"today(): date",navigate:"navigate(step: date|string|int): bool"}}static get styleUrls(){return["jqx.calendar.css"]}template(){return'<div id="container" role="presentation">\n                    <div id="title" class="jqx-calendar-title" role="heading" aria-level="1">\n                        <div id="yearContainer" class="jqx-calendar-year-container" role="button"></div>\n                        <div id="dateContainer" class="jqx-calendar-date-container jqx-calendar-selected" role="button"></div>\n                    </div>\n                    <div id="calendarContainer" class="jqx-calendar-container">\n                        <div id="header" class="jqx-calendar-header">\n                            <jqx-repeat-button prev-month class="jqx-calendar-button" id="previousMonthButton" animation="[[animation]]" initial-delay="[[spinButtonsInitialDelay]]" delay="[[spinButtonsDelay]]" disabled="[[disabled]]" readonly="[[readonly]]" right-to-left="[[rightToLeft]]" aria-label="Previous month">\n                                <span aria-hidden="true"></span>\n                            </jqx-repeat-button>\n                            <div id="dateElement" class="jqx-calendar-date-element" role="presentation">\n                                <div id="defaultHeaderDate" role="button"></div>\n                                <div id="classicHeaderDate">\n                                    <div id="monthElement" class="jqx-calendar-month-element" disabled="[[disabled]]" role="presentation">\n                                    </div>\n                                    <input class="jqx-calendar-year-element" id="yearElement" disabled="[[disabled]]" readonly="[[readonly]]" aria-label="Year" />\n                                    <span class="jqx-calendar-year-elements">\n                                        <jqx-repeat-button next-year class="jqx-calendar-button" id="nextYearButton" animation="[[animation]]" initial-delay="[[spinButtonsInitialDelay]]" delay="[[spinButtonsDelay]]" disabled="[[disabled]]" readonly="[[readonly]]" right-to-left="[[rightToLeft]]" aria-label="Next year">\n                                            <span aria-hidden="true"></span>\n                                        </jqx-repeat-button>\n                                        <jqx-repeat-button prev-year class="jqx-calendar-button" id="previousYearButton" animation="[[animation]]" initial-delay="[[spinButtonsInitialDelay]]" delay="[[spinButtonsDelay]]" disabled="[[disabled]]" readonly="[[readonly]]" right-to-left="[[rightToLeft]]" aria-label="Previous year">\n                                            <span aria-hidden="true"></span>\n                                        </jqx-repeat-button>\n                                    </span>\n                                </div>\n                            </div>\n                            <jqx-repeat-button next-month class="jqx-calendar-button" id="nextMonthButton" animation="[[animation]]" initial-delay="[[spinButtonsInitialDelay]]" delay="[[spinButtonsDelay]]" disabled="[[disabled]]" readonly="[[readonly]]" right-to-left="[[rightToLeft]]" aria-label="Next month">\n                                <span aria-hidden="true"></span>\n                            </jqx-repeat-button>\n                        </div>\n                        <div id="body" class="jqx-content jqx-calendar-body" role="presentation">\n                            <div id="monthsContainer" class="jqx-calendar-months-container" role="presentation">\n                              <div id="month" class="jqx-calendar-month" role="grid">\n                                   <div id="monthName" class="jqx-calendar-month-name"></div>\n                                   <div id="weekTitles" class="jqx-calendar-week-titles" role="row">\n                                       <div class="jqx-calendar-week-title" role="columnheader"></div>\n                                       <div class="jqx-calendar-week-title" role="columnheader"></div>\n                                       <div class="jqx-calendar-week-title" role="columnheader"></div>\n                                       <div class="jqx-calendar-week-title" role="columnheader"></div>\n                                       <div class="jqx-calendar-week-title" role="columnheader"></div>\n                                       <div class="jqx-calendar-week-title" role="columnheader"></div>\n                                       <div class="jqx-calendar-week-title" role="columnheader"></div>\n                                       <div class="jqx-calendar-week-title" role="columnheader"></div>\n                                   </div>\n                                   <div id="weeks" class="jqx-calendar-weeks" role="rowgroup">\n                                        <div class="jqx-calendar-week" role="row">\n                                           <div class="jqx-calendar-week-number" role="rowheader"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                        </div>\n                                        <div class="jqx-calendar-week" role="row">\n                                           <div class="jqx-calendar-week-number" role="rowheader"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                       </div>\n                                       <div class="jqx-calendar-week" role="row">\n                                           <div class="jqx-calendar-week-number" role="rowheader"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                       </div>\n                                       <div class="jqx-calendar-week" role="row">\n                                           <div class="jqx-calendar-week-number" role="rowheader"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                       </div>\n                                       <div class="jqx-calendar-week" role="row">\n                                           <div class="jqx-calendar-week-number" role="rowheader"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                       </div>\n                                       <div class="jqx-calendar-week" role="row">\n                                           <div class="jqx-calendar-week-number" role="rowheader"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"></div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                           <div class="jqx-calendar-cell" role="gridcell"> </div>\n                                       </div>\n                                   </div>\n                                </div>\n                            </div>\n                            <div id="dateViewContainer" class="jqx-calendar-date-view-container jqx-hidden">\n                                    <div class="jqx-calendar-cell" role="button"></div>\n                                    <div class="jqx-calendar-cell" role="button"></div>\n                                    <div class="jqx-calendar-cell" role="button"></div>\n                                    <div class="jqx-calendar-cell" role="button"></div>\n                                    <div class="jqx-calendar-cell" role="button"></div>\n                                    <div class="jqx-calendar-cell" role="button"></div>\n                                    <div class="jqx-calendar-cell" role="button"></div>\n                                    <div class="jqx-calendar-cell" role="button"></div>\n                                    <div class="jqx-calendar-cell" role="button"></div>\n                                    <div class="jqx-calendar-cell" role="button"></div>\n                                    <div class="jqx-calendar-cell" role="button"></div>\n                                    <div class="jqx-calendar-cell" role="button"></div>\n                            </div>\n                            <div id="monthsSeparator" class="jqx-calendar-month-separator"></div>\n                            <div id="nextMonthsContainer" class="jqx-calendar-next-months-container" aria-hidden="true"></div>\n                            <div id="animationPanel" class="jqx-calendar-animation-panel jqx-hidden"></div>\n                        </div>\n                        <div id="footer" class="jqx-calendar-footer jqx-hidden">\n                            <div id="selectedDatesRange"></div>\n                        </div>\n                        <input id="hiddenInput" type="hidden" name="[[name]]">\n                    </div>\n                </div>'}_updateTargetValue(){const e=this;if(e.dataset.target){const t=document.querySelector(e.dataset.target);if(t){const a=e.dataset.property,n=e.selectedDates.toString();a&&void 0!==t[a]&&(t[a]=n)}}}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const n=this;switch(e){case"animationSettings":n._applyAnimationSettings();break;case"disabled":case"unfocusable":n._setFocusable();break;case"calendarMode":case"dropDownWidth":case"dropDownHeight":n.displayMode="month",n._refreshHeaderElements(),n._refreshCalendarMode(),n._setDisplayModeContent();break;case"dayNameFormat":n._refreshDayOfWeekTitles(n.$.month);break;case"dateFormatFunction":{let e=n.$.monthsContainer.children;for(let t=0;t<e.length;t++)e[t].firstElementChild.innerHTML=a?a(e[t]._date):n._monthsNames[e[t]._date.getMonth()]+" "+e[t]._date.toLocaleDateString(n.locale,{year:n.yearFormat});n._refreshHeaderTitle();break}case"displayMode":if("classic"===n.calendarMode&&"month"!==a){n[e]="month";break}n._setDisplayMode(t,a);break;case"displayModeView":n._applyAnimationSettings(!0),"month"!==n.displayMode&&n._setDisplayModeContent();break;case"firstDayOfWeek":n._handleMonths(),n._refreshDayOfWeekTitles();break;case"hideTooltipArrow":n.$.tooltip&&(n.$.tooltip.arrow=!a);break;case"titleTemplate":case"headerTemplate":case"footerTemplate":n._handleLayoutTemplate(n.$[e.split(/[T]/)[0]],a),"titleTemplate"===e?n._refreshTitle():"headerTemplate"===e?n._refreshHeaderTitle():n._refreshFooter();break;case"importantDates":n.importantDates=n._getValidDates(a),n._refreshImportantDates();break;case"importantDatesTemplate":n._handleImportantDateTemplate(),n._refreshImportantDates();break;case"locale":n._refreshMonthNames(),n._refreshDayOfWeekTitles(),n._refreshHeaderTitle(),n._refreshTitle(),n._refreshFooter(),n.displayMode&&"month"!==n.displayMode&&n._setDisplayModeContent();break;case"max":case"min":n._validateMinMax(e,a,t),n._validateSelectedDates(),n._noFocusingRequired=!1,n._refreshHeaderElements();break;case"months":n._handleMonths();break;case"monthNameFormat":n._refreshCalendarMode(),n._refreshHeaderTitle();break;case"restrictedDates":n._setRestrictedDates(n.restrictedDates=n._getValidDates(a));break;case"rightToLeft":n._refreshDayOfWeekTitles(),n._handleMonths();break;case"scrollButtonsNavigationMode":n._setScrollButtonsNavigationMode();break;case"selectedDates":if(n._clearSelection(!0),n._validateSelectedDates(n._getValidDates(a)),n._applySelectionMode(!0),n._viewDates){let e=n.selectedDates[n.selectedDates.length-1];n._isDateInView(e)?n.selectedDates.map((e=>n._selectDate(e,!0,!0))):n._handleMonths(e)}n._refreshFooter(),n._setWeeksVisibility(n.$.monthsContainer),n.$.hiddenInput.value=n.selectedDates.toString(),n.isInitialized&&(n.$.fireEvent("change",{value:n.selectedDates}),n._updateTargetValue()),n._refreshTitle(),"month"!==n.displayMode&&n._setDisplayModeContent();break;case"selectionMode":n._applySelectionMode(!1,t),n._refreshTitle();break;case"tooltip":n._handleTooltip();break;case"tooltipArrow":case"tooltipArrowDirection":case"tooltipDelay":case"tooltipOffset":case"tooltipPosition":case"tooltipTemplate":if(n.$.tooltip){const t=e.replace("tooltip","");n.$.tooltip[t.charAt(0).toLowerCase()+t.slice(1)]=a}break;case"view":n._refreshTitle();break;case"viewSections":a.indexOf("title")>-1?n.$title.removeClass("jqx-hidden"):n.$title.addClass("jqx-hidden"),n._refreshTitle(),a.indexOf("header")>-1?n.$header.removeClass("jqx-hidden"):n.$header.addClass("jqx-hidden"),n._refreshHeaderTitle(),a.indexOf("footer")>-1?n.$footer.removeClass("jqx-hidden"):n.$footer.addClass("jqx-hidden"),n._refreshFooter(),n._setFocusable();break;case"weeks":n._setWeeksVisibility(n.$.monthsContainer);break;case"yearFormat":if(n._refreshCalendarMode(),n._refreshFooter(),n.months>1&&"month"===n.displayMode){let e=n._animationStarted?n.$.nextMonthsContainer.children:n.$.monthsContainer.children;for(let t=0;t<e.length;t++)e[t].firstElementChild.innerHTML=n.dateFormatFunction?n.dateFormatFunction(e[t]._date):n._monthsNames[e[t]._date.getMonth()]+" "+e[t]._date.toLocaleDateString(n.locale,{year:a})}n._refreshTitle(),n._refreshHeaderTitle()}}ready(){super.ready();const e=this;e._keysPressed={},e._applyAnimationSettings(),e.importantDates=e._getValidDates(e.importantDates),e.restrictedDates=e._getValidDates(e.restrictedDates)}render(){const e=this;e.setAttribute("role","dialog"),e._refreshMonthNames(),e._validateMinMax(),e._validateSelectedDates(e._getValidDates(e.selectedDates)),e._handleLayoutTemplate(e.$.title,e.titleTemplate),e._handleLayoutTemplate(e.$.header,e.headerTemplate),e._handleLayoutTemplate(e.$.footer,e.footerTemplate),e._handleImportantDateTemplate(),e._setFocusable(),e._refreshDayOfWeekTitles(),e._applySelectionMode(!0),e._handleMonths(0===e.selectedDates.length?new Date((new Date).setHours(0,0,0,0)):e.selectedDates[e.selectedDates.length-1]),e._handleTooltip(),e._updateViewSectionsVisibility(),e._setScrollButtonsNavigationMode(),e._refreshCalendarMode(),e._setDisplayMode(),e._refreshTitle(),e._refreshFooter(),e._refreshImportantDates(),e.$.monthElement&&e.$.monthElement._setDropDownSize&&e.$.monthElement._setDropDownSize(),e._changeEventFired=0,e.$.hiddenInput.value=e.selectedDates.toString(),e.shadowRoot&&e.appendChild(e.$.hiddenInput),e.isInitialized=!0,super.render()}refresh(){this.isInitialized&&this.render()}_updateViewSectionsVisibility(){const e=this;e.viewSections.indexOf("title")>-1?e.$title.removeClass("jqx-hidden"):e.$title.addClass("jqx-hidden"),e.viewSections.indexOf("header")>-1?e.$header.removeClass("jqx-hidden"):e.$header.addClass("jqx-hidden"),e.viewSections.indexOf("footer")>-1?e.$footer.removeClass("jqx-hidden"):e.$footer.addClass("jqx-hidden")}clearSelection(){this._clearSelection()}_setFocusable(){const e=this;let t=e.tabIndex>0?e.tabIndex:0;function a(e,a){if(a)return e&&e instanceof a?("function"==typeof e._setFocusable&&e.isCompleted?e.unfocusable=t<=-1:e.setAttribute("tabindex",t),e):e||void 0}(e.disabled||e.unfocusable)&&(t=-1),e.$.previousMonthButton=a(e.$.previousMonthButton,JQX.Button),e.$.nextMonthButton=a(e.$.nextMonthButton,JQX.Button),e.$.nextYearButton=a(e.$.nextYearButton,JQX.Button),e.$.previousYearButton=a(e.$.previousYearButton,JQX.Button),e.$.monthElement=a(e.$.monthElement,JQX.Input),e.$.yearElement=a(e.$.yearElement,HTMLInputElement),e.viewSections.indexOf("title")>-1&&(e.$.dateContainer.setAttribute("tabindex",t),e.$.yearContainer.setAttribute("tabindex",t)),e.$.body.setAttribute("tabindex",t),"default"===e.calendarMode?e.$.dateElement.setAttribute("tabindex",t):e.$.dateElement.removeAttribute("tabindex"),e.unfocusable?e.removeAttribute("tabindex"):e.tabIndex=e.readonly&&!e.disabled?e.tabIndex>0?e.tabIndex:0:t}static get requires(){return{"JQX.DropDownList":"jqx.dropdownlist.js","JQX.ListBox":"jqx.listbox.js","JQX.RepeatButton":"jqx.button.js","JQX.Tooltip":"jqx.tooltip.js"}}navigate(e){const t=this;let a,n,l;if(e){if("number"==typeof e){if(e=parseInt(e),isNaN(e)||0===e)return!1;if(6!==t.weeks&&0!==t.weeks&&"month"===t.displayMode){let l,i;t._focusedCell||t._focusCell();const s=[].slice.call(t._focusedCell.closest(".jqx-calendar-weeks").children).filter((e=>!e.classList.contains("jqx-hidden")));e<0?(i=s[0].querySelectorAll(".jqx-calendar-cell"),l=t.rightToLeft?i[i.length-1]:i[0]):(i=s[s.length-1].querySelectorAll(".jqx-calendar-cell"),l=t.rightToLeft?i[0]:i[i.length-1]),n=new Date(l.value),n.setDate(n.getDate()+e),a=n}else a=t._getNextDate(e)}else{if(a=e=t._getValidDate(e),l=!0,isNaN(a.getTime()))return!1;const i=t._viewDates[0];if(i&&a.getMonth()===i.getMonth()&&a.getFullYear()===i.getFullYear())return!1;6!==t.weeks&&0!==t.weeks&&"month"===t.displayMode&&(n=a)}return!(!a||t.$.fireEvent("navigationChanging",{value:new Date(a),type:t.displayMode}).defaultPrevented||("month"!==t.displayMode?(!l&&t.hasAnimation?(t.$nextMonthsContainer.addClass("jqx-calendar-date-view-container"),"list"===t.displayModeView?t._setDisplayModeContent(a):t._navigationDate&&t._navigationDate.getTime()===a.getTime()||t._animateNavigation(a,e)):t._setDisplayModeContent(a),t.$.fireEvent("navigationChange",{value:new Date(a),type:t.displayMode}),0):(t.hasAnimation?(t._animateNavigation(a,e),t.$nextMonthsContainer.hasClass("jqx-date-view-container")&&t.$nextMonthsContainer.removeClass("jqx-date-view-container")):(t._handleMonths(a),t._refreshHeaderElements(),t._refreshHeaderTitle()),n&&(t._focusCell(t._getCellByDate(n,t._animationStarted?t.$.nextMonthsContainer:void 0),!0),t._updateWeeksVisibility(e)),t.$.fireEvent("navigationChange",{value:new Date(a),type:t.displayMode}),0)))}}set value(e){this._select(e)}get value(){return this.selectedDates&&this.selectedDates.length>0?this.selectedDates[0]:null}select(e){this._select(e)}_select(e){const t=this;t._viewDates&&void 0!==t._viewDates[0]&&"none"!==t.selectionMode&&e&&(e=t._getValidDate(e))instanceof Date&&("one"===t.selectionMode&&t.selectedDates.map(Number).indexOf(e.getTime())>-1||e.getTime()<t.min.getTime()||e.getTime()>t.max.getTime()||("one"!==t.selectionMode&&"default"!==t.selectionMode&&"zeroOrOne"!==t.selectionMode||t._clearSelection(!0),t._selectDate(e),1!==t.selectedDates.length||t._isDateInView(t.selectedDates[0])||t._handleMonths(t.selectedDates[0])))}today(){const e=this;let t=new Date;return t.setHours(0,0,0,0),t.getTime()<e.min.getTime()||t.getTime()>e.max.getTime()?t=new Date(e.max):e._selectDate(t),e._handleMonths(t),t}_animateNavigation(e,t,a){const n=this;n._navigationDate=e,n._animationSettings||n._applyAnimationSettings(),n.$animationPanel.addClass("jqx-hidden"),n.$.dateViewContainer.style.transform="",n.$.dateViewContainer.style.opacity="",n.$.monthsContainer.style.transform="",n.$.monthsContainer.style.opacity="";const l="month"!==n.displayMode?n.$.dateViewContainer:n.$.monthsContainer,i=n.$.body[n._animationSettings.scrollMax]-n.$.body[n._animationSettings.size];n._scrollStep=n.$.body[n._animationSettings.size]*n._animationSettings.startSpeed,n._animationStarted&&n._getMonthCells(n.$.monthsContainer,n.rightToLeft).map((e=>{n._setCellState(e,"restricted",!1),n._setCellState(e,"selected",!1),n._setCellState(e,"otherMonth",!1),n._setCellState(e,"focus",!1),n._setCellState(e,"important",!1),n._setCellState(e,"today",!1),n._setCellState(e,"disabled",!1),n._setCellState(e,"hover",!1)})),n._animationStarted=!0,"month"!==n.displayMode?(n._setCellState(n._focusedCell,"focus",!1),n._setDisplayModeContent(e,n.$.nextMonthsContainer)):n._handleMonths(e,n.$.nextMonthsContainer),n.rightToLeft&&(t*=-1),a||(t>0?(l.style.order=1,n.$.nextMonthsContainer.style.order=3,(!n._animationStarted||n._animationStarted&&n.$.body[n._animationSettings.scrollSize]>n.$.body[n._animationSettings.scrollMax]*n._animationSettings.resetThreshold*2)&&(n.$.body[n._animationSettings.scrollSize]=0)):(l.style.order=3,n.$.nextMonthsContainer.style.order=1,(!n._animationStarted||n._animationStarted&&n.$.body[n._animationSettings.scrollSize]<n.$.body[n._animationSettings.scrollMax]*n._animationSettings.resetThreshold)&&(n.$.body[n._animationSettings.scrollSize]=n.$.body[n._animationSettings.scrollMax]))),cancelAnimationFrame(n._animationId),n._animationId=requestAnimationFrame((function e(){let a=t>0?n.$.body[n._animationSettings.scrollSize]>=i:0===n.$.body[n._animationSettings.scrollSize],l=n._scrollStep/2;a?n._animateNavigationCompleted():(t>0&&n.$.body[n._animationSettings.scrollSize]>i*n._animationSettings.easeThreshold?(l=Math.max(n.$.body[n._animationSettings.scrollSize]/n._animationSettings.stepEaseSize,Math.abs(l-(i-n.$.body[n._animationSettings.scrollSize])*n._animationSettings.step)),n._scrollStep=n._scrollStep*n._animationSettings.step+l):t<0&&n.$.body[n._animationSettings.scrollSize]<i*n._animationSettings.easeThreshold&&(l=Math.max(n.$.body[n._animationSettings.scrollMax]/n._animationSettings.stepEaseSize,Math.abs(l-n.$.body[n._animationSettings.scrollSize]*n._animationSettings.step)),n._scrollStep=n._scrollStep*n._animationSettings.step+l),n.$.body[n._animationSettings.scrollSize]+=t>0?n._scrollStep:-n._scrollStep,n._animationId=requestAnimationFrame(e))}))}_animateNavigationCompleted(){const e=this;let t,a,n,l="month"!==e.displayMode?e.$.dateViewContainer:e.$.monthsContainer;if(cancelAnimationFrame(e._animationId),"month"!==e.displayMode){let i=[].slice.call(l.children).indexOf(e._focusedCell);l.innerHTML=e.$.nextMonthsContainer.innerHTML;let s,o=l.children[i];a=l.children,n=e.$.nextMonthsContainer.children;for(let t=0;t<a.length;t++)a[t].value=n[t].value,a[t].restricted=n[t].restricted,a[t].important=n[t].important,a[t].otherMonth=n[t].otherMonth,a[t].value.getTime()<=e.max.getTime()&&(s=a[t]);t=o&&o.value.getTime()>=e.max.getTime()?s.value:e._focusedCell?e._focusedCell.value:void 0}else{let i=l.children,s=e.$.nextMonthsContainer.children;e._focusedCell&&e.$.nextMonthsContainer.contains(e._focusedCell)&&(t=e._focusedCell.value);for(let t=0;t<i.length&&s[t]._date;t++){i[t]._date=s[t]._date,i[t].innerHTML=s[t].innerHTML,a=e._getMonthCells(i[t]),n=e._getMonthCells(s[t]);for(let e=0;e<a.length;e++)a[e].value=n[e].value,a[e].restricted=n[e].restricted,a[e].important=n[e].important,a[e].otherMonth=n[e].otherMonth,a[e].removeAttribute("focus")}e._selectedCells.length>0&&(e._selectedCells=e._selectedCells.map((t=>e._getCellByDate(t.value))).filter((e=>void 0!==e)))}e._focusCell(e._getCellByDate(t)),l.style.order=1,e.$.nextMonthsContainer.style.order=3,e.$.body[e._animationSettings.scrollSize]=0,e._animationStarted=!1,delete e._navigationDate}_applyAnimationSettings(e){const t=this;t._animationSettings=t.animationSettings?t.animationSettings:t._animationSettings||{},"portrait"===t.scrollButtonsNavigationMode?(t._animationSettings.scrollMax="scrollHeight",t._animationSettings.size="offsetHeight",t._animationSettings.scrollSize="scrollTop"):(t._animationSettings.scrollMax="scrollWidth",t._animationSettings.size="offsetWidth",t._animationSettings.scrollSize="scrollLeft"),e||(t._animationSettings.startSpeed=t._animationSettings.startSpeed?t._animationSettings.startSpeed:.2,t._animationSettings.easeThreshold=t._animationSettings.easeThreshold?t._animationSettings.easeThreshold:.5,t._animationSettings.step=t._animationSettings.step?t._animationSettings.step:.25,t._animationSettings.stepEaseSize=t._animationSettings.stepEaseSize?t._animationSettings.stepEaseSize:200,t._animationSettings.resetThreshold=t._animationSettings.resetThreshold?t._animationSettings.resetThreshold:.2)}_applySelectionMode(e,t){const a=this;let n=[],l=!!e,i=a.selectionMode;function s(e,t){const n=a.$.monthsContainer.children;for(let l=0;l<n.length;l++)a._getMonthCells(n[l]).map((n=>{a._setCellState(n,e,t)}))}switch("many"===i&&"range"===i||s("hover",!1),a._newRangeSelectionStarted=a.selectedDates.length>0&&"range"===i,-1!==["default","many","zeroOrMany","oneOrMany","week","range"].indexOf(i)?Array.from(a.getElementsByClassName("jqx-calendar-month")).forEach((e=>e.setAttribute("aria-multiselectable",!0))):Array.from(a.getElementsByClassName("jqx-calendar-month")).forEach((e=>e.removeAttribute("aria-multiselectable"))),"none"!==i&&"none"!==t||s("selected",!1),i){case"none":return void a._clearSelection(l);case"range":return void(a.selectedDates.length>1&&a._selectMultipleDates(a.selectedDates[0],a.selectedDates[a.selectedDates.length-1]));case"many":case"default":case"oneOrMany":if(0===a.selectedDates.length){n.push(new Date(Math.min(Math.max(a.min.getTime(),(new Date).setHours(0,0,0,0)),a.max.getTime())));break}return;case"oneExtended":case"one":if(1===a.selectedDates.length)return;a.selectedDates.length>1?(n.push(a.selectedDates[a.selectedDates.length-1]),a._clearSelection(l)):n.push(new Date(Math.min(Math.max(a.min.getTime(),(new Date).setHours(0,0,0,0)),a.max.getTime())));break;case"zeroOrOne":if(a.selectedDates.length>1){n.push(a.selectedDates[a.selectedDates.length-1]),a._clearSelection(l);break}return;case"zeroOrMany":return;case"week":if(a.selectedDates.length>=1){let e=a.selectedDates[a.selectedDates.length-1];for(let t=0;t<7;t++)n.push(new Date(e)),e.setDate(e.getDate()+1);a._clearSelection(l)}}if(a.selectedDates=[],e)return void(a.selectedDates=n);const o=n.length;for(let e=0;e<o;e++)a._selectDate(n[e],e<o-1)}__clearSelection(){const e=this,t=e.selectionMode,a=e.context;if(e.context=e,e.set("selectedDates",[]),e._selectedCells&&e._selectedCells.map((t=>{e._setCellState(t,"selected",!1)})),e.selectedDates=[],e._selectedCells=[],"many"===t||"range"===t){const t=e.$.monthsContainer.children;for(let a=0;a<t.length;a++)e._getMonthCells(t[a]).map((t=>{e._setCellState(t,"hover",!1)}))}e.$.footer&&e._refreshFooter(),e.$.hiddenInput.value=e.selectedDates.toString(),e.context=a}_clearSelection(e){const t=this,a=t.selectedDates.slice(0),n=t.selectionMode;if(t.isRendered){if(t._selectedCells&&t._selectedCells.map((e=>{t._setCellState(e,"selected",!1)})),t.selectedDates=[],t._selectedCells=[],"many"===n||"range"===n){const e=t.$.monthsContainer.children;for(let a=0;a<e.length;a++)t._getMonthCells(e[a]).map((e=>{t._setCellState(e,"hover",!1)}))}t.$.footer&&t._refreshFooter(),t.$.hiddenInput.value=t.selectedDates.toString(),!e&&t.isInitialized&&a.length&&(t.$.fireEvent("change",{value:[]}),t._updateTargetValue()),t.$.title&&t._refreshTitle()}else t.set("selectedDates",[])}_bodyBlurStateHandler(e){this._bodyStateHandler(e),this.$.fireEvent("blur")}_bodyFocusStateHandler(e){this._bodyStateHandler(e),this.$.fireEvent("focus")}_bodyStateHandler(e){const t=this;if(t._focusedCell){if("blur"===e.type||"focus"===e.type&&t._noFocusingRequired)return t._noFocusingRequired=!1,void t._setCellState(t._focusedCell,"focus",!1);if("month"!==t.displayMode)return void("focus"!==e.type||t.$.dateViewContainer.querySelector("jqx-calendar-cell[focus]")||t._setCellState(t._focusedCell||t.$.dateViewContainer.querySelector(".jqx-calendar-cell"),"focus",!0))}"focus"===e.type&&t._focusCell()}_containerWheelHandler(e){const t=this;if(t.disabled||t.readonly||"month"!==t.displayMode&&"list"===t.displayModeView)return;if(t.disableMouseWheel)return;let a,n;n=document.activeElement,t.shadowRoot?n=t.shadowRoot.activeElement:t.isInShadowDOM&&(n=t.getRootNode().activeElement),t.$.yearElement===n&&(a=12),(n&&t.shadowRoot||n.closest("jqx-calendar")===t)&&(a=e.target===t.$.yearElement?12:1),a&&(e.preventDefault(),a=12===a?a:a*t.months,e.deltaY>0?t.navigate(-a):t.navigate(a))}_downHandler(e){const t=this;let a=e.originalEvent.target;if(t._dragStartDetails=void 0,t.disabled||t.readonly)return;if(t.hasRippleAnimation&&(a.value instanceof Date||a.parentElement&&a.parentElement.classList.contains("jqx-calendar-title")||a.parentElement===t.$.dateElement)&&JQX.Utilities.Animation.Ripple.animate(a,e.pageX,e.pageY),a=e.originalEvent.target.closest(".jqx-calendar-header"),e.originalEvent.target.closest(".jqx-calendar-year-container")&&"decade"!==t.displayMode){if("classic"===t.calendarMode)return;return void t._showDateView("year")}if(e.originalEvent.target.closest(".jqx-calendar-date-container")&&"month"!==t.displayMode){if("classic"===t.calendarMode)return;return void t._displayModeHandler("list"===t.displayModeView?t.$.listViewContainer.querySelector("li.active"):t._focusedCell,"month")}if(t._animationStarted&&t._animateNavigationCompleted(),JQX.Utilities.Core.isMobile&&e.originalEvent.target.closest(".jqx-calendar-body")===t.$.body)return void(t._dragStartDetails={x:e.pageX,y:e.pageY,startTime:Date.now(),target:e.originalEvent.target});if(a=e.originalEvent.target,a.closest(".jqx-calendar-week")||a.parentElement===t.$.dateViewContainer){for(;a&&!(a.value instanceof Date);)a=a.parentElement;return a&&("month"!==t.displayMode?t._displayModeHandler(a):t._weeksDownHandler(e,a)),e.originalEvent.preventDefault(),void e.originalEvent.stopPropagation()}if(a.closest(".jqx-calendar-month-element"))return;if(e.originalEvent.stopPropagation(),"list"===t.displayModeView&&"month"!==t.displayMode)return a=(t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target).closest("jqx-list-item"),void(a&&t._displayModeHandler(a));const n=document.scrollingElement||document.documentElement,l=n.scrollLeft,i=n.scrollTop;t.unfocusable||t.focus(),window.scrollTo(l,i)}_displayModeHandler(e,t){const a=this;if(a._animationStarted&&a._animateNavigationCompleted(),e instanceof HTMLElement&&e.closest(".jqx-calendar-week")&&e.otherMonth){if("decade"===a.displayMode&&(e.value.getFullYear()<a.min.getFullYear()||e.value.getFullYear()>a.max.getFullYear()))return;if("year"===a.displayMode&&(e.value.getFullYear()<a.min.getFullYear()||e.value.getFullYear()===a.min.getFullYear()&&e.value.getMonth()<a.min.getMonth()||e.value.getFullYear()>a.max.getFullYear()||e.value.getFullYear()===a.max.getFullYear()&&e.value.getMonth()>a.max.getMonth()))return}switch(t=t||a.displayMode){case"year":t="month";break;case"decade":t="year"}if(a.displayMode===t)return;const n=a.$.listViewContainer,l=n&&n.contains(e);a.$.fireEvent("displayModeChanging",{oldDisplayMode:a.displayMode,newDisplayMode:t}).defaultPrevented||(a.set("displayMode",t),a.$nextMonthsContainer.removeClass("jqx-calendar-date-view-container"),e.parentElement!==a.$.dateViewContainer||e.disabled||e.restricted||a._focusCell(e),a.hasAnimation?(l&&e instanceof HTMLLIElement?e.offsetHeight?a.$.animationPanel.style.transformOrigin=e.offsetWidth/2+"px "+(e.offsetTop+e.offsetHeight/2)+"px":a.$.animationPanel.style.transformOrigin=n.offsetLeft+n.offsetWidth/2+"px "+(n.offsetTop+n.offsetHeight/2)+"px":(a.$.dateViewContainer.style.order=1,a.$.nextMonthsContainer.style.order=3,e=a._focusedCell,a.$.animationPanel.style.transformOrigin=e.offsetLeft+e.offsetWidth/2+"px "+(e.offsetTop+e.offsetHeight/2)+"px"),a._animateView(1,e)):a._setDisplayModeContent(e.value instanceof Date?e.value:new Date(e.getAttribute("value")||e.value)))}_animateView(e,t){const a=this;let n,l,i=t instanceof Date?t:new Date(t.getAttribute("value")||t.value),s=!1,o=1,r=1;const d=a.$.listViewContainer;"list"===a.displayModeView?n=d.contains(t)?d:l="month"!==a.displayMode?a.$.monthsContainer:d:t.value instanceof Date||(t=a._focusedCell?a._focusedCell:a._selectedCells.length>0?a._selectedCells[a._selectedCells.length-1]:a._getCellByDate(new Date)),n||(n=t.parentElement===a.$.dateViewContainer?a.$.dateViewContainer:a.$.monthsContainer),l||(l="month"===a.displayMode?a.$.monthsContainer:"list"===a.displayModeView?d:a.$.dateViewContainer),l.style.transformOrigin=a.$.animationPanel.style.transformOrigin,n===d?(a.$.animationPanel.innerHTML="",a.$.animationPanel.appendChild(n.cloneNode(!0))):a.$.animationPanel.innerHTML=n.innerHTML,a._setDisplayModeContent(i),n.style.order=1,a.$.nextMonthsContainer.style.order=3,a.$.body[a._animationSettings.scrollSize]=0,a.$.animationPanel.style.width=a.$.body.offsetWidth+"px",a.$.animationPanel.style.height=a.$.body.offsetHeight+"px",a.$.animationPanel.style.transform="scale(1)",a.$.animationPanel.style.opacity=1,a.$animationPanel.removeClass("jqx-hidden"),l.style.opacity="0",l.style.transform="scale(3.5)",n.$.hasClass("jqx-calendar-date-view-container")?a.$animationPanel.addClass("jqx-calendar-date-view-container"):a.$animationPanel.removeClass("jqx-calendar-date-view-container"),cancelAnimationFrame(a._animationId),a._animationId=requestAnimationFrame((function t(){if((e>0&&o>=3.5||e<0&&o<=0)&&(s=!0),s){if(cancelAnimationFrame(a._animationId),a.$animationPanel.addClass("jqx-hidden"),a.$.animationPanel.style.transform="",a.$.animationPanel.style.opacity="",n.style.order=1,a.$.nextMonthsContainer.style.order=3,a.$.body[a._animationSettings.scrollSize]=0,l.style.transform="",l.style.opacity="",a.unfocusable)return;"month"===a.displayMode?a.$.body.focus():"list"===a.displayModeView&&a.focus()}else a.$.animationPanel.style.opacity=r,l.style.opacity=1-r,r-=.05,e>0?(a.$.animationPanel.style.transform="scale("+o+")",l.style.transform="scale("+Math.min((o-1)/2,1)+")",o+=.125):(a.$.animationPanel.style.transform="scale("+Math.max(o,0)+")",l.style.transform="scale("+Math.max(1+o,1)+")",o-=.06),a._animationId=requestAnimationFrame(t)}))}_documentUpHandler(e){const t=this;let a=e.originalEvent.target;if((t.isInShadowDOM||t.shadowRoot&&a===t)&&(a=e.originalEvent.composedPath()[0]),t._newRangeSelectionStarted&&!t.$.container.contains(a)&&delete t._newRangeSelectionStarted,a&&a.classList&&a.classList.contains("jqx-calendar-cell")&&t._dragStartDetails&&(e.originalEvent.stopPropagation(),e.originalEvent.preventDefault(),e.preventDefault()),!JQX.Utilities.Core.isMobile||!t._dragStartDetails||e.originalEvent.target.closest(".jqx-calendar-list-view"))return;delete t._previousIteration;const n=Date.now();let l={};(t.isInShadowDOM||t.shadowRoot&&a===t)&&(a=e.originalEvent.composedPath()[0]),"portrait"===t.scrollButtonsNavigationMode?(l.coordinate="y",l.direction="pageY"):(l.coordinate="x",l.direction="pageX");const i=t._dragStartDetails.step*(t.rightToLeft?-1:1);if(Math.abs(t._dragStartDetails[l.coordinate]-e[l.direction])<=10){if(a="list"===t.displayModeView&&"month"!==t.displayMode?a.closest("jqx-list-item"):a,!a)return void(t._dragStartDetails=void 0);if("month"!==t.displayMode)return t._displayModeHandler(a),"portrait"===t.scrollButtonsNavigationMode?t.$.body.scrollTop=0:t.$.body.scrollLeft=0,void(t._dragStartDetails=void 0);if(t._weeksDownHandler(e,a),!t.disableAutoNavigation&&a.otherMonth)return}else{const a=Math.abs((e[l.direction]-t._dragStartDetails[l.coordinate])/(n-t._dragStartDetails.startTime));if(a>1){const e=parseInt(a);for(let a=0;a<e;a++)if(!t.navigate(i)){t._cancelAnimation();break}return void(t._dragStartDetails=void 0)}}if(!t.hasAnimation)return t.navigate(t._dragStartDetails.step),void(t._dragStartDetails=void 0);let s=("month"!==t.displayMode?t.$.dateViewContainer[t._animationSettings.scrollMax]:t.$.monthsContainer[t._animationSettings.scrollMax])+t.$.monthsSeparator[t._animationSettings.size];if(t._dragStartDetails.step>0&&t.$.body[t._animationSettings.scrollSize]>s*t._animationSettings.easeThreshold||t._dragStartDetails.step<0&&t.$.body[t._animationSettings.scrollSize]<s*t._animationSettings.easeThreshold)return t._animateNavigation(t._dragStartDetails.navigationDate,i,!0),6!==t.weeks&&0!==t.weeks&&"month"===t.displayMode&&t._updateWeeksVisibility(i,t._getCellByDate(t._dragStartDetails.navigationDate,t.$.nextMonthsContainer)),t.$.fireEvent("navigationChange",{value:new Date(t._dragStartDetails.navigationDate),type:t.displayMode}),void(t._dragStartDetails=void 0);t._cancelAnimation(),t._dragStartDetails=void 0}_cancelAnimation(){const e=this,t="month"!==e.displayMode?e.$.dateViewContainer:e.$.monthsContainer;let a=e.$.animationPanel.style.transform,n=e.$.animationPanel.style.opacity;a&&(a=parseFloat(a.substring(a.indexOf("(")+1||0,a.indexOf(")")))),t.style.order=1,e.$.nextMonthsContainer.style.order=3,e.$.body[e._animationSettings.scrollSize]=0,e._animationId=requestAnimationFrame((function t(){if(!a||a>=3.5){cancelAnimationFrame(e._animationId),e.$animationPanel.addClass("jqx-hidden"),e.$.animationPanel.style.transform="",e.$.animationPanel.style.opacity="";const t="month"===e.displayMode?e.$.monthsContainer:e.$.listViewContainer;return t.style.transform="",t.style.opacity="",e.unfocusable||("month"===e.displayMode?e.$.body.focus():"list"===e.displayModeView&&e.focus()),void(e._animationStarted=!1)}e.$.animationPanel.style.opacity=n-=.25,e.$.animationPanel.style.transform="scale("+(a+=.5)+")",e._animationId=requestAnimationFrame(t)}))}_focusCell(e,t){const a=this;if(a._focusedCell&&a._setCellState(a._focusedCell,"focus",!1),a.disabled||a.readonly)return;if(e){if("month"!==a.displayMode)return a._setCellState(e,"focus",!0),void(a._focusedCell=e);if(e.disabled||e.restricted)return;return t||a._setCellState(e,"focus",!0),void(a._focusedCell=e)}if("month"!==a.displayMode&&0===a.$.monthsContainer.offsetHeight)return;const n=a._selectedCells[a._selectedCells.length-1];if(n&&n.offsetHeight)a._setCellState(n,"focus",!0),a._focusedCell=n;else{const e=a.$.monthsContainer.children;if(!e[0]._date||a.min.getTime<e[0]._date.getTime())return;const t=a._getMonthCells(e[0],a.rightToLeft);for(let e=0;e<t.length;e++){const n=t[e];if(!n.otherMonth){if(n.disabled||n.restricted||!n.offsetHeight)continue;a._focusedCell=n;break}}}a._focusedCell&&a._setCellState(a._focusedCell,"focus",!0)}_getDays(e,t){const a=t.length;let n=[];if(a>0)for(let l=0;l<a;l++)t[l].getFullYear()===e.getFullYear()&&t[l].getMonth()===e.getMonth()&&n.push(t[l].getDate());return n}_getCellByDate(e,t){const a=this;if(!(e instanceof Date))return;if(t||(t=a.$.monthsContainer),"month"!==a.displayMode){if("list"===a.displayModeView)return;let t=arguments[1]?a.$.nextMonthsContainer.children:a.$.dateViewContainer.children;for(let n=0;n<t.length;n++)if("year"!==a.displayMode){if(t[n].value.getFullYear()===e.getFullYear())return t[n]}else if(t[n].value.getMonth()===e.getMonth())return t[n];return}let n,l,i=t.children;for(let t=0;t<i.length;t++)if(e.getFullYear()===i[t]._date.getFullYear()&&e.getMonth()===i[t]._date.getMonth()){n=i[t];break}if(n){l=a._getMonthCells(n);for(let t=0;t<l.length;t++)if((!l[t].otherMonth||l[t].hover)&&l[t].value.getMonth()===e.getMonth()&&l[t].value.getDate()===e.getDate())return l[t]}}_getMonthCells(e,t){const a=e.getElementsByClassName("jqx-calendar-week");let n=[];if(t)for(let e=0;e<a.length;e++){let t=a[e].children;for(let e=t.length-1;e>0;e--)t[e].classList.contains("jqx-calendar-cell")&&n.push(t[e])}else for(let e=0;e<a.length;e++){let t=a[e].children;for(let e=1;e<t.length;e++)t[e].classList.contains("jqx-calendar-cell")&&n.push(t[e])}return n}_getWeekNumber(e){const t=this;let a,n=new Date(e.getFullYear(),0,1),l=Math.round((e.getTime()-n.getTime()-6e4*(e.getTimezoneOffset()-n.getTimezoneOffset()))/864e5)+1,i=n.getDay()-t.firstDayOfWeek;return i=i>=0?i:i+7,i<4?(a=Math.floor((l+i-1)/7)+1,a>52&&(n=new Date(e.getFullYear()+1,0,1),i=n.getDay()-t.firstDayOfWeek,i=i>=0?i:i+7,a=i<4?1:53)):a=Math.round((l+i-1)/7),a}_handleDateSelection(e){const t=this;if(void 0!==e&&!e.disabled&&!e.restricted)switch(t.selectionMode){case"none":t._focusCell(e);break;case"oneExtended":case"one":case"default":if(t._keysPressed.Control)return t.selectedDates.length>1||1===t.selectedDates.length&&!e.selected?void t._selectDate(e.value):void t._focusCell(e);if(t._keysPressed.Shift)return void t._selectMultipleDates(new Date(t.selectedDates[0]),e);t._clearSelection(!0),t._selectDate(e.value,t._selectedCells.indexOf(e.value)>-1);break;case"many":{if(0===t.selectedDates.length)return void t._selectDate(e.value);const a=t.selectedDates[t.selectedDates.length-1];let n=new Date(t.selectedDates[0]);if(e.value.getTime()===n.getTime()||e.value.getTime()===a.getTime())return t._clearSelection(),void t._focusCell(e);t.selectedDates.length>0&&t._selectMultipleDates(n,e);break}case"range":{if(t.selectedDates.length>1&&!t._keysPressed.Control&&!t._newRangeSelectionStarted&&t._clearSelection(!0),0===t.selectedDates.length||t._keysPressed.Control&&t.selectedDates.length>1&&!t._newRangeSelectionStarted){if(e.value&&t.selectedDates.find((t=>t.getTime()===e.value.getTime())))return;return t._newRangeSelectionStarted=!0,void t._selectDate(e.value)}const a=t.selectedDates[t.selectedDates.length-1];let n=t._keysPressed.Control||t._newRangeSelectionStarted?a:new Date(t.selectedDates[0]);t.selectedDates.length>0&&t._selectMultipleDates(n,e),delete t._newRangeSelectionStarted;break}case"zeroOrMany":t._selectDate(e.value);break;case"oneOrMany":if(1===t.selectedDates.length&&e.selected)return void t._focusCell(e);t._selectDate(e.value);break;case"zeroOrOne":if(1===t.selectedDates.length&&e.selected)return void t._selectDate(e.value);t._clearSelection(!0),t._selectDate(e.value);break;case"week":{if(e.selected&&(e.value.getTime()===t.selectedDates[0].getTime()||e.value.getTime()===t.selectedDates[t.selectedDates.length-1].getTime()))return t._clearSelection(),void t._focusCell(e);t._clearSelection(!0);let a=new Date(e.value);t._selectDate(a);for(let e=1;e<7;e++)a.setDate(a.getDate()+1),t._selectDate(a);t._isDateInView(a)||t.navigate(1);break}}}_handleImportantDateTemplate(){const e=this;if(e._importantDatesTemplate=e._validateTemplate("importantDatesTemplate",e.importantDatesTemplate),!e._importantDatesTemplate||!e._importantDatesTemplate.content)return;let t=e._importantDatesTemplate.content;const a=t.childNodes.length,n=/{{\w+}}/g;let l;e._bindingDetails=[];for(let i=0;i<a;i++)if(l=n.exec(t.childNodes[i].innerHTML),l)return void e._bindingDetails.push({childNodeIndex:i,bindingString:l[0]})}_handleLayoutTemplate(e,t){const a=this,n=a._validateTemplate(e.$.hasClass("jqx-header")?"headerTemplate":e.$.hasClass("jqx-calendar-footer")?"footerTemplate":"titleTemplate",t);if(!n||!n.content)return void("function"==typeof t&&t(e,{}));a._layoutTemplates||(a._layoutTemplates=[]);let l=document.importNode(n.content,!0);e.innerHTML="";const i=l.childNodes.length,s=/{{\w+}}/g;let o,r=[];for(let e=0;e<i;e++)o=s.exec(l.childNodes[e].innerHTML),o&&r.push({childNodeIndex:e,bindingString:o[0]});if(a._layoutTemplates=a._layoutTemplates.filter((t=>t.selector!==e)),a._layoutTemplates.push({selector:e,template:n,bindings:r}),a.shadowRoot)return e.innerHTML="<slot></slot>",void a.appendChild(l);e.appendChild(l)}_handleCalendarCellHover(e,t){const a=this;if(!a._animationStarted){if("month"===a.displayMode)if("mouseover"===e.type&&("many"===a.selectionMode||"range"===a.selectionMode&&a._newRangeSelectionStarted)&&a.selectedDates.length>0){const e=a.$.monthsContainer.children;for(let t=0;t<e.length;t++)a._getMonthCells(e[t]).map((e=>{a._setCellState(e,"hover",!1)}));let n=new Date("range"===a.selectionMode?a.selectedDates[a.selectedDates.length-1]:a.selectedDates[0]),l=new Date(t.value),i=t;const s=n.getTime()>l.getTime()?-1:1,o=function(){i=a._getCellByDate(n),!i||i.selected||i.restricted||a._setCellState(i,"hover",!0)};if(n.getTime()!==l.getTime()){for(n.setDate(n.getDate()+s);n.getTime()!==l.getTime();)o(),n.setDate(n.getDate()+s);o()}}else a._setCellState(t,"hover",!1);"mouseover"!==e.type||t.otherMonth?a._setCellState(t,"hover",!1):a._setCellState(t,"hover",!0)}}_handleMonths(e,t){const a=this;let n;function l(e){let t,n=e.children.length,l=document.createDocumentFragment();for(;n<a.months;n++)t=a.$.month.cloneNode(!1),t.innerHTML=a.$.month.innerHTML,l.appendChild(t);return l}function i(t){let n=t.children;for(let t=0;t<n.length;t++)a._setMonth(e,n[t]),e.setMonth(e.getMonth()+1);a._setWeeksVisibility(t),a._refreshHeaderElements(),a._refreshHeaderTitle(),a.tooltip&&a.$.tooltip&&a.$.tooltip.close(),a.$.body===document.activeElement&&a._focusCell()}if(e||(e=a._viewDates&&a._viewDates.length>0?a._viewDates[0]:new Date),e=new Date(Math.min(Math.max(a.min.getTime(),e.getTime()),a.max.getTime())),t||(t=a.$.monthsContainer),a._selectedCells=[],a.hasAnimation){for(n=a.$.nextMonthsContainer.children,n.length>0&&n[0].value instanceof Date&&(a.$.nextMonthsContainer.innerHTML="");a.$.nextMonthsContainer.childElementCount<a.months;)a.$.nextMonthsContainer.appendChild(l(a.$.nextMonthsContainer));for(;a.$.nextMonthsContainer.childElementCount>a.months;)a.$.nextMonthsContainer.removeChild(n[a.$.nextMonthsContainer.childElementCount-1]);if(arguments[1]===a.$.nextMonthsContainer)return void i(a.$.nextMonthsContainer)}if(n=a.$.monthsContainer.children,n.length>a.months){for(;a.$.monthsContainer.childElementCount>a.months;)a.$.monthsContainer.removeChild(n[a.$.monthsContainer.childElementCount-1]),a._viewDates.pop();i(a.$.monthsContainer)}else a.$.monthsContainer.children.length!==a.months?(a._viewDates=[],a.$.monthsContainer.appendChild(l(a.$.monthsContainer)),i(a.$.monthsContainer)):i(a.$.monthsContainer)}_headerChangeHandler(e){const t=this;if(e.stopPropagation(),t.disabled||t.readonly)return;if(e.target.ownerElement===t.$.monthElement&&0!==t._changeEventFired)return void t._changeEventFired--;const a=t.displayMode;e.target===t.$.yearElement&&(t._viewDates[0].setFullYear(Math.min(Math.max(t.min.getFullYear(),isNaN(parseInt(t.$.yearElement.value))?0:parseInt(t.$.yearElement.value)),t.max.getFullYear())),t._handleMonths(t._viewDates[0])),!t.$.monthElement||e.target!==t.$.monthElement&&e.target.ownerElement!==t.$.monthElement||(t._handleMonths(new Date(t.$.monthsContainer.children[0]._date.getFullYear(),t.$.monthElement.selectedIndex,1)),"month"!==a&&t._setDisplayMode(t.displayMode,t.displayMode="month"))}_headerClickHandler(e){const t=this;if(t.disabled||t.readonly)return;let a=e.target.closest("jqx-repeat-button");if(!a||!a.disabled){switch(a){case t.$.previousMonthButton:return t._isInteractiveNavigation=!0,void t.navigate(-1*t.months*(t.rightToLeft?-1:1));case t.$.nextMonthButton:return t._isInteractiveNavigation=!0,void t.navigate(1*t.months*(t.rightToLeft?-1:1));case t.$.previousYearButton:return void t.navigate(-12);case t.$.nextYearButton:return void t.navigate(12)}"classic"!==t.calendarMode&&e.target.closest(".jqx-calendar-date-element")&&(t._animationStarted&&t._animateNavigationCompleted(),t._isInteractiveNavigation=!0,t._showDateView())}}_selectMultipleDates(e,t){const a=this;if(t instanceof HTMLElement&&(t=t.value),a._newRangeSelectionStarted?a._selectDate(e,!0):a._clearSelection(!0),"range"!==a.selectionMode||t.getTime()!==e.getTime()){if((e=new Date(e)).getTime()<t.getTime())for(;e.getTime()<=t.getTime();)a.selectedDates.find((t=>t.getTime()===e.getTime()))||a._selectDate(e,!0),e.setDate(e.getDate()+1);else if(e.getTime()>t.getTime())for(;e.getTime()>=t.getTime();)a.selectedDates.find((t=>t.getTime()===e.getTime()))||a._selectDate(e,!0),e.setDate(e.getDate()-1);else a._selectDate(t,!0);a.$.hiddenInput.value=a.selectedDates.toString(),a._refreshFooter(),a.isInitialized&&(a.$.fireEvent("change",{value:a.selectedDates}),a._updateTargetValue()),a._refreshTitle()}}_setDisplayMode(e,t,a){const n=this;if(n.$nextMonthsContainer.removeClass("jqx-calendar-date-view-container"),0!==arguments.length&&n.hasAnimation)if(n._animationStarted&&(n.displayMode=e,n._animateNavigationCompleted(),n.displayMode=t),"month"===e&&"year"===t||"year"===e&&"decade"===t)n.displayMode=e,n._showDateView(a?void 0:n.displayMode);else if("month"===e&&"decade"===t)n._showDateView(n.displayMode="year");else{let e;"list"===n.displayModeView?(e=n.$.listViewContainer.querySelector("li.active"),n.$.animationPanel.style.transformOrigin=e.offsetLeft+e.offsetWidth/2+"px "+(e.offsetTop>0?e.offsetTop-e.offsetHeight/2:e.offsetTop+e.offsetHeight/2)+"px"):(n.$.dateViewContainer.style.order=1,n.$.nextMonthsContainer.style.order=3,e=n._focusedCell,n.$.animationPanel.style.transformOrigin=e.offsetLeft+e.offsetWidth/2+"px "+(e.offsetTop+e.offsetHeight/2)+"px"),n._animateView(1,e)}else{if("classic"===n.calendarMode)return void(n.displayMode="month");if("month"!==n.displayMode&&(n.$monthsContainer.addClass("jqx-hidden"),n.$dateViewContainer.hasClass("jqx-hidden")&&n.$dateViewContainer.removeClass("jqx-hidden")),!n.isCompleted&&"month"===n.displayMode)return;n._setDisplayModeContent()}}_setDisplayModeContent(e,t){const a=this;let n=e&&"Invalid Date"!==e.toString()?e:a.selectedDates.length>0?a.selectedDates[a.selectedDates.length-1]:new Date;n.setTime(Math.min(Math.max(n.getTime(),a.min.getTime()),a.max.getTime())),n.setHours(0,0,0,0);const l=a._prepareView(n);if(!l)return;let i;t?(a.$.nextMonthsContainer.innerHTML=a.$.dateViewContainer.innerHTML,i=a.$.nextMonthsContainer):i=a.$.dateViewContainer;const s=i.children;let o;for(let e=0;e<s.length;e++){const t=s[e];t.innerHTML=l.viewContent[e],t.value=l.dates[e],"year"===a.displayMode?(t.value.getFullYear()<a.min.getFullYear()||t.value.getFullYear()===a.min.getFullYear()&&t.value.getMonth()<a.min.getMonth()||t.value.getFullYear()>a.max.getFullYear()||t.value.getFullYear()===a.max.getFullYear()&&t.value.getMonth()>a.max.getMonth()?a._setCellState(t,"otherMonth",!0):a._setCellState(t,"otherMonth",!1),n.getFullYear()===t.value.getFullYear()&&n.getMonth()===t.value.getMonth()&&(o=t)):"decade"===a.displayMode&&(0===e||e===s.length-1||t.value.getFullYear()<a.min.getFullYear()||t.value.getFullYear()>a.max.getFullYear()?a._setCellState(t,"otherMonth",!0):a._setCellState(t,"otherMonth",!1),n.getFullYear()===t.value.getFullYear()&&(o=t)),a._setCellState(t,"hover",!1),a._setCellState(t,"focus",!1)}if(o.otherMonth)for(let e=0;e<s.length;e++)if(!s[e].otherMonth){o=s[e];break}a._mobileScrolling||(a._focusedCell&&a._setCellState(a._focusedCell,"focus",!1),a._focusedCell=o,a._focusCell(a._focusedCell),a._refreshHeaderTitle(),a._refreshHeaderElements(),a.$.fireEvent("displayModeChange"),a._isInteractiveNavigation?a._isInteractiveNavigation=void 0:(a._setCellState(o,"focus",!0),setTimeout((function(){a.unfocusable||(a.$.body.focus(),a._focusCell(a._focusedCell))}),0)))}_prepareView(e){const t=this,a=t.$.listViewContainer;let n,l,i=[],s=[];function o(e,t,a){let n=new Date(e,t+1,0),l=n.getDate();return a>l?n.setDate(l):n.setDate(a),n}if("month"===t.displayMode)return t.$nextMonthsContainer.hasClass("jqx-date-view-container")&&t.$nextMonthsContainer.removeClass("jqx-date-view-container"),a&&a.classList.add("jqx-hidden"),t.$dateViewContainer.hasClass("jqx-visibility-hidden")&&t.$dateViewContainer.removeClass("jqx-visibility-hidden"),t._isDateInView(e)||t._handleMonths(e),t.$header.hasClass("jqx-hidden")&&t.$header.removeClass("jqx-hidden"),t.$body.hasClass("jqx-calendar-list-view")&&t.$body.removeClass("jqx-calendar-list-view"),t.$dateContainer.addClass("jqx-calendar-selected"),t.$yearContainer.removeClass("jqx-calendar-selected"),t.$dateViewContainer.addClass("jqx-hidden"),t.$monthsContainer.removeClass("jqx-hidden"),t._refreshHeaderTitle(),t.$.body.setAttribute("tabindex",t.tabIndex>0?t.tabIndex:0),t._refreshHeaderElements(),t.unfocusable||t.$.body.focus(),t._focusCell(t._getCellByDate(e)),void t.$.fireEvent("displayModeChange");if("list"===t.displayModeView)return t._setDisplayModeListContent(e),void t.$.fireEvent("displayModeChange");if(t.$header.hasClass("jqx-hidden")&&t.$header.removeClass("jqx-hidden"),t.$dateViewContainer.hasClass("jqx-visibility-hidden")&&t.$dateViewContainer.removeClass("jqx-visibility-hidden"),a&&a.classList.add("jqx-hidden"),t.$.body.setAttribute("tabindex",t.tabIndex>0?t.tabIndex:0),"year"===t.displayMode){let a=new Date;for(let n=0;n<12;n++)a=o(a.getFullYear(),n,a.getDate()),i.push(a.toLocaleDateString(t.locale,{month:"short"})),s.push(o(e.getFullYear(),n,e.getDate()))}else{n=e?e.getFullYear():t._viewDates[0].getFullYear(),l=n%10,0!==l&&(n-=l),n-=1;for(let t=0;t<12;t++)i.push(n+""),s.push(new Date(n,e.getMonth(),e.getDate())),++n}return{viewContent:i,dates:s}}_setDisplayModeListContent(e){const t=this;let a=[];function n(e,t,a){let n=new Date(e,t+1,0),l=n.getDate();return a>l?n.setDate(l):n.setDate(a),n}if(t.$dateViewContainer.addClass("jqx-visibility-hidden"),"year"===t.displayMode){let l=new Date;for(let i=0;i<12;i++)l=n(l.getFullYear(),i,l.getDate()),a.push({label:l.toLocaleDateString(t.locale,{month:"short"}),value:n(e.getFullYear(),i,e.getDate()).toDateString()});t.$yearContainer.removeClass("jqx-calendar-selected"),t.$dateContainer.addClass("jqx-calendar-selected")}else{let n=t.min.getFullYear(),l=t.max.getFullYear();l=Math.min(t.max.getFullYear(),e.getFullYear()+10),n=Math.max(t.min.getFullYear(),l-10);for(let t=n;t<l;t++)a.push({label:t.toString(),value:new Date(t,e.getMonth(),e.getDate()).toDateString()});t.$yearContainer.addClass("jqx-calendar-selected"),t.$dateContainer.removeClass("jqx-calendar-selected")}t._prepareListViewer(a,e.toDateString()),t._refreshHeaderTitle(),t._refreshHeaderElements(),t.unfocusable||t.focus()}_prepareListViewer(e=[],t){const a=this,n=a.$.body;let l=a.$.listViewContainer;l||(a.$.listViewContainer=l=document.createElement("jqx-scroll-viewer"),l.classList.add("jqx-input-drop-down-menu","jqx-calendar-list-view"),l.ensureVisible=a._listViewerEnsureVisible.bind(a),l._handleKeyStrokes=a._listViewerKeyStrokesHandler.bind(a),l._setActiveDescendant=a._listViewerSetActiveDescendant.bind(a));let i=l.querySelector("ul");i||(i=document.createElement("ul"),i.onclick=a._listViewContainerItemClickHandler.bind(a),l.appendChild(i)),n.contains(l)&&n.removeChild(l),i.innerHTML="";for(let a=0;a<e.length;a++){const n=e[a],s=n.label,o=n.value,r=document.createElement("li"),d=document.createElement("a");t===o?(r.setAttribute("aria-selected",!0),r.classList.add("active"),t=r):r.setAttribute("aria-selected",!1),r.id=l.id+"Item"+Math.floor(65536*(1+Math.random())).toString(16).substring(1),r.setAttribute("value",o),r.setAttribute("role","option"),r.setAttribute("aria-label",s),d.innerHTML=s,d.setAttribute("aria-hidden",!0),r.appendChild(d),i.appendChild(r)}l.classList.remove("jqx-hidden"),n.classList.add("jqx-calendar-list-view"),n.removeAttribute("tabindex"),n.insertBefore(l,a.$.animationPanel),l.refresh(),l.ensureVisible()}_listViewerEnsureVisible(){const e=this.$.listViewContainer,t=e.querySelector(".active");if(!t)return;const a=Array.from(e.querySelectorAll("li"));t.offsetTop+t.offsetHeight>=e.scrollTop+e.offsetHeight&&(e.scrollTop=t.offsetTop+t.offsetHeight),(t.offsetTop<=e.scrollTop||t.offsetTop>=e.scrollTop+e.offsetHeight)&&(e.scrollTop=t.offsetTop),0===a.indexOf(t)?e.scrollTop=0:a.indexOf(t)===a.length-1&&(e.scrollTop=e.scrollHeight)}_listViewerKeyStrokesHandler(e){if(["ArrowUp","ArrowDown"].indexOf(e)<0)return;event.preventDefault();const t=this.$.listViewContainer,a=t.querySelector(".active");if(!a){const e=t.querySelector("li");return e.classList.add("active"),void t._setActiveDescendant(e)}const n=a["ArrowDown"===e?"nextElementSibling":"previousElementSibling"];n&&(a.classList.remove("active"),n.classList.add("active"),t._setActiveDescendant(n),t.ensureVisible())}_listViewerSetActiveDescendant(e){const t=this.$.listViewContainer;e?t.setAttribute("aria-activedescendant",e.id):t.removeAttribute("aria-activedescendant")}_listViewContainerItemClickHandler(e){const t=this,a=e.target.closest("li");a&&"list"===t.displayModeView&&"month"!==t.displayMode&&t._displayModeHandler(a)}_isDateInView(e){const t=this;if(!e)return!1;for(let a=0;a<t._viewDates.length;a++)if(e.getFullYear()===t._viewDates[a].getFullYear()&&e.getMonth()===t._viewDates[a].getMonth()){let a=t._getCellByDate(e,t._animationStarted?t.$.nextMonthsContainer:void 0);if(!a)return;return!(a.otherMonth||!a.offsetHeight||a.classList.contains("jqx-visibility-hidden"))}return!1}_keyDownHandler(e){const t=this;if(t.disabled||t.readonly)return;const a=(t.shadowRoot||t.getRootNode()).activeElement||document.activeElement;switch(a){case t.$.yearElement:"Escape"===e.key&&t._refreshHeaderElements();break;case t.$.dateElement:if("default"===t.calendarMode&&" "===e.key||"Enter"===e.key)return e.preventDefault(),t._isInteractiveNavigation=!0,void t._showDateView();t._focusedCell||t._focusCell(),e.key.indexOf("Arrow")>-1&&t.$.dateElement===a&&!t.unfocusable&&t.$.body.focus(),t._navigateDays(e);break;case t.$.body:" "===e.key&&e.preventDefault(),t._navigateDays(e);break;case t.$.yearContainer:if(" "!==e.key&&"Enter"!==e.key||"decade"===t.displayMode||(e.preventDefault(),t._isInteractiveNavigation=!0,t._showDateView("year")),e.key.indexOf("Arrow")>-1){if(e.preventDefault(),t._focusedCell||t._focusCell(),"month"!==t.displayMode&&"list"===t.displayModeView)return t.unfocusable||t.focus(),void t.$.listViewContainer._handleKeyStrokes(e.key);t._navigateDays(e)}break;case t.$.dateContainer:if(" "!==e.key&&"Enter"!==e.key||"month"===t.displayMode||(e.preventDefault(),t._displayModeHandler("list"===t.displayModeView?t.$.listViewContainer.querySelector("li.active"):t._focusedCell,"month")),e.key.indexOf("Arrow")>-1){if(t._focusedCell||t._focusCell(),"month"!==t.displayMode&&"list"===t.displayModeView)return t.unfocusable||t.focus(),void t.$.listViewContainer._handleKeyStrokes(e.key);t._navigateDays(e)}break;default:if("month"!==t.displayMode&&"list"===t.displayModeView)return["Arrow","End","Home","Page"].indexOf(e.key)&&e.preventDefault()," "===e.key||"Enter"===e.key||e.ctrlKey&&("ArrowUp"===e.key||"ArrowDown"===e.key)?void t._navigateDays(e):void t.$.listViewContainer._handleKeyStrokes(e.key);e.key.indexOf("Arrow")>-1&&(t._focusedCell||t._focusCell(),t._navigateDays(e))}}_showDateView(e){const t=this;switch(e=e||t.displayMode){case"month":e="year";break;case"year":e="decade"}if(t.displayMode===e)return;if(t.$.fireEvent("displayModeChanging",{oldDisplayMode:t.displayMode,newDisplayMode:e}).defaultPrevented)return;let a;if(t.displayMode=e,"list"===t.displayModeView&&"month"!==t.displayMode){t._setDisplayModeListContent(t._focusedCell?t._focusedCell.value:t._viewDates[0]);const e=t.$.listViewContainer;e.classList.remove("jqx-hidden"),a=e.querySelector("li.active"),a.offsetHeight?t.$.animationPanel.style.transformOrigin=a.offsetLeft+a.offsetWidth/2+"px "+(a.offsetTop>0?a.offsetTop-a.offsetHeight/2:a.offsetTop+a.offsetHeight/2)+"px":t.$.animationPanel.style.transformOrigin=e.offsetLeft+e.offsetWidth/2+"px "+(a.offsetTop>0?a.offsetTop-a.offsetHeight/2:e.offsetTop+e.offsetHeight/2)+"px"}else t._focusedCell||t._focusCell(),a=t._focusedCell,t.$.animationPanel.style.transformOrigin=a.offsetLeft+a.offsetWidth/2+"px "+(a.offsetTop+a.offsetHeight/2)+"px";t.$monthsContainer.addClass("jqx-hidden"),t.$dateViewContainer.hasClass("jqx-hidden")&&t.$dateViewContainer.removeClass("jqx-hidden"),"decade"===t.displayMode&&(t.$yearContainer.addClass("jqx-calendar-selected"),t.$dateContainer.removeClass("jqx-calendar-selected")),t.hasAnimation?t._animateView(-1,a):t._setDisplayModeContent(t._focusedCell?t._focusedCell.value:t._viewDates[0])}_keyUpHandler(e){const t=this;t.disabled||t.readonly||"default"!==t.selectionMode&&"range"!==t.selectionMode||"Shift"!==e.key&&"Control"!==e.key||(t._keysPressed[e.key]=!1)}_handleTooltip(){const e=this,t=e.tooltip;let a=e.$.tooltip;t?(a||(a=document.createElement("jqx-tooltip"),a.tooltipTemplate=e.tooltipTemplate,a.arrow=e.tooltipArrow,a.arrowDirection=e.tooltipArrowDirection,a.offset=e.tooltipOffset,a.position=e.tooltipPosition,a.delay=e.tooltipDelay,a.rightToLeft=e.rightToLeft,a.openMode="manual",e.$.tooltip=a),a.parentElement||e.$.calendarContainer.appendChild(a)):a&&a.remove()}_mouseEventsHandler(e){const t=this;if(t.disabled||t.readonly)return;const a=t.$.tooltip;if("mouseenter"===e.type)return void t.$.setAttributeValue("hover",!0);if("mouseleave"===e.type){if(t.$.setAttributeValue("hover",!1),t._newRangeSelectionStarted&&"range"===t.selectionMode){const e=t.$.monthsContainer.children;for(let a=0;a<e.length;a++)t._getMonthCells(e[a]).map((e=>{t._setCellState(e,"hover",!1)}))}return void(t.tooltip&&a&&a.close())}const n=t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target;if(!n.closest(".jqx-calendar-week"))return void(t.tooltip&&a&&(clearTimeout(t._tooltipAutoCloseTimeout),a[a.contains(n)?"open":"close"]()));const l=n.closest(".jqx-calendar-cell");if(!l)return;if(JQX.Utilities.Core.isMobile||t._handleCalendarCellHover(e,l),!t.tooltip&&a)return void a.close();const i=l.hasAttribute("important");if(clearTimeout(t._tooltipAutoCloseTimeout),i&&a&&"mouseover"===e.type)return a.selector=l,void(a.selector!==l?a.close():(t.tooltipTemplate||(a.innerHTML=0===a.innerHTML.trim().length?"Important day!":a.innerHTML),a.open(),t.$.fireEvent("open",{target:a,value:new Date(l.value)})));t._tooltipAutoCloseTimeout=setTimeout(function(){!a||"mouseout"!==e.type&&l&&i||a.close(),clearTimeout(t._tooltipAutoCloseTimeout)}.bind(t),t.tooltipDelay)}_popupEventHandler(e){const t=this,a=t.$.tooltip;if(e.stopPropagation(),e.target!==t.$.monthElement)if(e.target===a)if("close"!==e.type);else{const e=a.selector;t.$.fireEvent("close",{target:a,value:e?new Date(e.value):null})}else t.$.fireEvent(e.type,{target:e.target})}_moveHandler(e){const t=this;if(!JQX.Utilities.Core.isMobile||!t._dragStartDetails||"list"===t.displayModeView&&"month"!==t.displayMode)return;e.originalEvent.preventDefault(),e.preventDefault(),e.stopPropagation();const a={x:Math.round(e.pageX),y:Math.round(e.pageY)};let n,l,i;if(n="portrait"===t.scrollButtonsNavigationMode?a.y>t._dragStartDetails.y?-1*t.months:1*t.months:a.x<t._dragStartDetails.x?1*t.months:-1*t.months,t._previousIteration&&n===t._previousIteration.step)l=t._previousIteration.date;else if(6!==t.weeks&&0!==t.weeks&&"month"===t.displayMode){let e,a;t._focusedCell||t._focusCell();const i=[].slice.call(t._focusedCell.closest(".jqx-calendar-weeks").children).filter((e=>!e.classList.contains("jqx-hidden")));if(i.length){let s;!t.rightToLeft&&n<0||t.rightToLeft&&n>0?(s=i[0].querySelectorAll(".jqx-calendar-cell"),a=t.rightToLeft?s[s.length-1]:s[0]):(s=i[i.length-1].querySelectorAll(".jqx-calendar-cell"),a=t.rightToLeft?s[0]:s[s.length-1]),e=new Date(a.value),e.setDate(e.getDate()+n*(t.rightToLeft?-1:1)),l=e}else l=t._getNextDate(n*(t.rightToLeft?-1:1))}else l=t._getNextDate(n*(t.rightToLeft?-1:1));if(!l)return;if(!t._dragStartDetails.navigationDate&&t.$.fireEvent("navigationChanging",{value:new Date(l),type:t.displayMode}).defaultPrevented)return t._cancelAnimation(),void(t._dragStartDetails=void 0);if(t._dragStartDetails.step=n,t._dragStartDetails.navigationDate=new Date(l),!t.hasAnimation)return;if(t._previousIteration={step:n,date:l},t._mobileScrolling=!0,"month"!==t.displayMode)t.$nextMonthsContainer.addClass("jqx-calendar-date-view-container"),i=t.$.dateViewContainer,t.$.nextMonthsContainer.children[0].value instanceof Date&&t.$.nextMonthsContainer.children[1].value.getFullYear()===l.getFullYear()||t._setDisplayModeContent(l,t.$.nextMonthsContainer);else if(t.$nextMonthsContainer.hasClass("jqx-calendar-date-view-container")&&t.$nextMonthsContainer.removeClass("jqx-calendar-date-view-container"),i=t.$.monthsContainer,!t.$.nextMonthsContainer.children[0]._date||t.$.nextMonthsContainer.children[0]._date.getTime()!==l.getTime()){let e=t.$.nextMonthsContainer.children;for(let a=0;a<e.length;a++)l.setMonth(t._dragStartDetails.navigationDate.getMonth()+a*(t.rightToLeft?-1:1)),t._setMonth(new Date(l),e[a],!0)}6!==t.weeks&&0!==t.weeks&&"month"===t.displayMode&&t._updateWeeksVisibility(n*(t.rightToLeft?-1:1),t._getCellByDate(l,t.$.nextMonthsContainer)),delete t._mobileScrolling,n<0?(i.style.order=3,t.$.nextMonthsContainer.style.order=1,t.$.body[t._animationSettings.scrollSize]=t.$.body[t._animationSettings.scrollMax]):(i.style.order=1,t.$.nextMonthsContainer.style.order=3,t.$.body[t._animationSettings.scrollSize]=0);const s="portrait"===t.scrollButtonsNavigationMode?"y":"x";Math.abs(t._dragStartDetails[s]-a[s])>5&&(t.$.body[t._animationSettings.scrollSize]+=2*-(a[s]-t._dragStartDetails[s]))}_getNextDate(e){const t=this;let a;if("month"!==t.displayMode){let n;const l=t._focusedCell&&t._focusedCell.value.getFullYear();if("list"===t.displayModeView)a=new Date(t.$.listViewContainer.querySelector("li").getAttribute("value"));else{let e=t._animationStarted?t.$.nextMonthsContainer:t.$.dateViewContainer;a=new Date("year"===t.displayMode?e.children[0].value:e.children[1].value)}n="year"===t.displayMode?1:0!==e?10:1,a.setFullYear(a.getFullYear()+(e>0?n:-n)),a.getTime()<t.min.getTime()&&(a=t.min),a.getTime()>t.max.getTime()&&(a=t.max);const i="month"!==t.displayMode&&"list"===t.displayModeView;if(a.getFullYear()<t.min.getFullYear()||a.getFullYear()>t.max.getFullYear()||!i&&l===a.getFullYear())return}else{let n=t._viewDates[0];if(a=new Date(n),a.setDate(1),a.setMonth(a.getMonth()+e),a.setTime(Math.min(Math.max(a.getTime(),t.min.getTime()),t.max.getTime())),n.getMonth()===a.getMonth()&&n.getFullYear()===a.getFullYear())return}return a}_navigateDays(e){const t=this;let a="ArrowUp"===e.key||"ArrowDown"===e.key?7:1,n="ArrowUp"===e.key||"ArrowLeft"===e.key||"PageUp"===e.key?-1:1;switch(e.key){case"ArrowUp":case"ArrowLeft":case"ArrowDown":case"ArrowRight":if(!t._handleArrowKeys(e,a,n))return;break;case" ":case"Enter":{if("month"!==t.displayMode)return void t._displayModeHandler("list"===t.displayModeView?t.$.listViewContainer.querySelector("li.active"):t._focusedCell);const e=t._focusedCell;if("oneExtended"===t.selectionMode&&e)return t._clearSelection(!0),void t._selectDate(e.value,t._selectedCells.indexOf(e.value)>-1);break}case"Control":case"Shift":return"default"===t.selectionMode&&(t._keysPressed[e.key]=!0),void("range"===t.selectionMode&&(t._keysPressed[e.key]="Control"===e.key));case"Home":case"End":{e.preventDefault();let a,n=function(t){if("Home"===e.key){for(let e=0;e<t.length;e++)if(!t[e].otherMonth&&(!t[e].disabled||!t[e].restricted)&&t[e].offsetHeight)return t[e]}else for(let e=t.length-1;e>=0;e--)if(!t[e].otherMonth&&(!t[e].disabled||!t[e].restricted)&&t[e].offsetHeight)return t[e]};if(a="month"!==t.displayMode?n(t.$.dateViewContainer.children):n(t._getMonthCells(t._focusedCell.closest(".jqx-calendar-month"),t.rightToLeft)),!a)return;if(t._focusCell(a),"month"!==t.displayMode)return;break}case"PageUp":case"PageDown":if(!t._handlePageUpDownKeys(e,n))return;break;default:return}"oneExtended"!==t.selectionMode&&t._focusedCell&&t._handleDateSelection(t._focusedCell)}_handleArrowKeys(e,t,a){const n=this;let l;if("month"!==n.displayMode||n._animationStarted||n.unfocusable||n.$.body.focus(),n._focusedCell||n._focusCell(n._getCellByDate(new Date)),e.altKey)return;if(e.ctrlKey){if("ArrowDown"===e.key||"ArrowUp"===e.key){if("classic"===n.calendarMode)return;let t;switch(n.displayMode){case"month":t="ArrowDown"===e.key?"month":"year";break;case"year":t="ArrowDown"===e.key?"month":"decade";break;case"decade":t="ArrowDown"===e.key?"year":"decade"}if(t!==n.displayMode){const e=n.displayMode;n.displayMode=t,n._setDisplayMode(e,t,"month"===e),n._keysPressed&&delete n._keysPressed.Control}}return}if(e.preventDefault(),!n.rightToLeft||"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||(a*=-1),"month"!==n.displayMode&&"list"!==n.displayModeView){const i=n._animationStarted?n.$.nextMonthsContainer.children:n.$.dateViewContainer.children;if(t="ArrowUp"===e.key||"ArrowDown"===e.key?4:1,"year"===n.displayMode){const e=n._focusedCell.value.getMonth()+a*t;let i=new Date(n._focusedCell.value.getFullYear(),e+1,0);n._focusedCell.value.getDate()<=i.getDate()&&(i=n._focusedCell.value),l=new Date(n._focusedCell.value.getFullYear(),e,i.getDate())}else l=new Date(n._focusedCell.value.getFullYear()+a*t,n._focusedCell.value.getMonth(),n._focusedCell.value.getDate());if("year"===n.displayMode){if(l.getFullYear()<n.min.getFullYear()||l.getFullYear()===n.min.getFullYear()&&l.getMonth()<n.min.getMonth()||l.getFullYear()>n.max.getFullYear()||l.getFullYear()===n.max.getFullYear()&&l.getMonth()>n.max.getMonth())return;l.getTime()>i[i.length-1].value.getTime()?n.navigate(1):l.getTime()<i[0].value.getTime()&&n.navigate(-1)}else{if(l.getFullYear()<n.min.getFullYear()||l.getFullYear()>n.max.getFullYear())return;if(l.getFullYear()<i[1].value.getFullYear()||l.getFullYear()>i[10].value.getFullYear()){let t=n._focusedCell;n.navigate(a),"ArrowUp"!==e.key&&"ArrowDown"!==e.key||(t===i[3]||t===i[4]||t===i[7]||t===i[8]?l.setFullYear(l.getFullYear()+2*a):l.setFullYear(l.getFullYear()-2*a))}}return void n._focusCell(n._getCellByDate(l,n._animationStarted?n.$.nextMonthsContainer:void 0))}if(!n._focusedCell)return;const i=n.restrictedDates.map(Number);for(l=new Date(n._focusedCell.value.getFullYear(),n._focusedCell.value.getMonth(),n._focusedCell.value.getDate()+a*t,0,0,0,0);i.indexOf(l.getTime())>-1;)l.setDate(l.getDate()+a);if(l.getTime()<n.min.getTime()||l.getTime()>n.max.getTime())return;n._isDateInView(l)||n.navigate(a*n.months);let s=n._getCellByDate(l,n._animationStarted?n.$.nextMonthsContainer:void 0);return n._focusCell(s),n._updateWeeksVisibility(a),!(["zeroOrMany","oneOrMany","none","many","week","range"].indexOf(n.selectionMode)>-1)||void 0}_handlePageUpDownKeys(e,t){const a=this;let n;if(e.preventDefault(),"month"!==a.displayMode){if(n=a._focusedCell,!a.navigate(t))return;for(;n&&n.classList.contains("jqx-visibility-hidden");)n=null===n.previousElementSibling?n.nextElementSibling:n.previousElementSibling;return a._focusCell(n),void(a.hasAnimation&&"decade"===a.displayMode&&a._focusedCell.value.setFullYear(a._focusedCell.value.getFullYear()+10*t))}n=new Date(a._focusedCell.value.getFullYear(),a._focusedCell.value.getMonth()+t,1,0,0,0,0);let l=new Date(n.getFullYear(),n.getMonth()+1,0).getDate();return a._focusedCell.value.getDate()>l?n.setDate(l):n.setDate(a._focusedCell.value.getDate()),a._isDateInView(n)||a.navigate(n),a._animationStarted?a._focusCell(a._getCellByDate(n,a.$.nextMonthsContainer)):a._focusCell(a._getCellByDate(n)),!0}_selectDate(e,t,a){const n=this;if(void 0===n._viewDates||"none"===n.selectionMode)return;let l,i=n.selectedDates.slice(0),s=n._getCellByDate(e,n._animationStarted?n.$.nextMonthsContainer:void 0);s&&n._selectCell(s),(e=new Date(e)).setHours(0,0,0,0),l=i.map(Number).indexOf(e.getTime()),n.restrictedDates.map(Number).indexOf(e.getTime())>-1||e.getTime()<n.min.getTime()||e.getTime()>n.max.getTime()||(l>-1?i.splice(l,1):i.push(e),a||(n.selectedDates=i),n._refreshFooter(),n.$.hiddenInput.value=n.selectedDates.toString(),!t&&n.isInitialized&&(n.$.fireEvent("change",{value:[e]}),n._updateTargetValue()),n._refreshTitle())}_selectCell(e){const t=this;if(!e||t.restrictedDates.map(Number).indexOf(e.value.getTime())>-1||t.disableAutoNavigation&&!1===e.otherMonth||e.value.getTime()<t.min.getTime()||e.value.getTime()>t.max.getTime())return;const a=t._selectedCells.indexOf(e);a>-1?(t._setCellState(e,"selected",!1),t._selectedCells.splice(a,1)):(t._setCellState(e,"selected",!0),t._selectedCells.push(e)),t._focusCell(e)}_refreshDayOfWeekTitles(){const e=this;let t,a=[],n=new Date;function l(t){let a;return"firstTwoLetters"===e.dayNameFormat?(a=new Intl.DateTimeFormat(e.locale,{weekday:"long"}).format(t),a=8206===a.charCodeAt(0)?a.substring(1,3):a.substring(0,2)):a=new Intl.DateTimeFormat(e.locale,{weekday:e.dayNameFormat}).format(t),a}for(let e=1;e<8;e++)n.setDate(e),t={number:n.getDay(),name:l(n)},a.push(t);a.sort(((e,t)=>e.number>t.number?1:-1));const i=e.$.monthsContainer.children;let s,o;for(let t=0;t<i.length;t++)if(s=i[t].getElementsByClassName("jqx-calendar-week-titles")[0].children,o=e.firstDayOfWeek>6?0:e.firstDayOfWeek,e.rightToLeft)for(let e=s.length-1;e>=1;e--)s[e].textContent=a[o++].name,o=o>6?0:o;else for(let e=1;e<s.length;e++)s[e].textContent=a[o++].name,o=o>6?0:o;if(e.hasAnimation){const t=e.$.monthsContainer.getElementsByClassName("jqx-calendar-week-titles")[0].innerHTML,a=e.$.nextMonthsContainer.getElementsByClassName("jqx-calendar-week-titles");for(let e=0;e<a.length;e++)a[e].innerHTML=t}}_refreshCalendarMode(){const e=this;if(!e.headerTemplate)if(e._refreshMonthNames(),"default"===e.calendarMode){e.$classicHeaderDate.addClass("jqx-hidden"),e.$defaultHeaderDate.removeClass("jqx-hidden");const t=e._viewDates.slice(0).sort(((e,t)=>e.getTime()-t.getTime())),a=t[0],n=t[t.length-1];a.setDate(2);let l=e.monthNameFormat;"firstTwoLetters"===l&&(l="long");let i=a.toLocaleDateString(e.locale,{year:e.yearFormat,month:l});e.months>1&&(n.setDate(2),i+=" - "+n.toLocaleDateString(e.locale,{year:e.yearFormat,month:l})),e.$.defaultHeaderDate.innerHTML=i,e.unfocusable||e.$.dateElement.setAttribute("tabindex",e.tabIndex>0?e.tabIndex:0)}else e.$defaultHeaderDate.addClass("jqx-hidden"),e.$classicHeaderDate.removeClass("jqx-hidden"),e.$.dateElement.removeAttribute("tabindex")}_refreshFooter(){const e=this;if(!(e.viewSections.indexOf("footer")<0||0===e.$.footer.offsetHeight))if(e.footerTemplate){if("function"==typeof e.footerTemplate)return;let a=e._layoutTemplates.filter((t=>t.selector===e.$.footer))[0],n=document.importNode(a.template.content,!0);if(a.bindings.length>0){let e=n.childNodes[a.bindings[0].childNodeIndex];a.selector.childNodes[a.bindings[0].childNodeIndex].innerHTML=e.innerHTML.replace(a.bindings[0].bindingString,t())}}else e.$.selectedDatesRange.innerHTML=t();function t(){if(0===e.selectedDates.length)return"";if(1===e.selectedDates.length)return e.selectedDates[0].toLocaleDateString(e.locale,{year:e.yearFormat,weekday:"short",month:"short",day:"numeric"});{let t=e.selectedDates.slice(0).sort(((e,t)=>e.getTime()-t.getTime()));return t[0].toLocaleDateString(e.locale,{year:e.yearFormat,weekday:"short",month:"short",day:"numeric"})+" - "+t[t.length-1].toLocaleDateString(e.locale,{year:e.yearFormat,weekday:"short",month:"short",day:"numeric"})}}}_refreshImportantDates(){const e=this;if("month"===e.displayMode){e._clearImportantDates();for(let t=0;t<e.importantDates.length;t++)e._setImportantDate(e.importantDates[t])}}_clearImportantDates(){const e=this,t=e.$.monthsContainer.children;for(let a=0;a<t.length;a++)e._getMonthCells(t[a]).map((t=>{e._setCellState(t,"important",!1)}))}_setImportantDate(e,t){const a=this,n=a._getCellByDate(e);t||(t=n),t&&(a._setCellState(t,"important",!0),a._applyImportantDateTemplate(t))}_applyImportantDateTemplate(e){const t=this;if(!t._importantDatesTemplate)return"function"==typeof t.importantDatesTemplate?void t.importantDatesTemplate(e,{value:e.value}):void(e.innerHTML=e.value.getDate()+"");let a=document.importNode(t._importantDatesTemplate.content,!0);if(t._bindingDetails&&t._bindingDetails.length>0){let n=a.childNodes[t._bindingDetails[0].childNodeIndex];n.innerHTML=n.innerHTML.replace(t._bindingDetails[0].bindingString,e.value.getDate())}e.innerHTML="";for(let t=0;t<a.childNodes.length;t++)a.childNodes[t].outerHTML&&(e.innerHTML+=a.childNodes[t].outerHTML)}_setMonth(e,t,a){const n=this,l=n._getDays(e,n.selectedDates),i=n._getDays(e,n.importantDates),s=n._getDays(e,n.restrictedDates);e.setDate(1),t||(t=n.$.month),t._date=new Date(e),a||((!n._viewDates||n._viewDates.length>=n.months)&&(n._viewDates=[]),n._viewDates.push(new Date(e)));let o=((e=new Date(e)).getDay()-n.firstDayOfWeek+7)%7;e.setDate(0);let r=e.getDate();if(e.setDate(32),e.setDate(1),e.setDate(32),n._selectedCells)for(let e=0;e<n._selectedCells.length;e++)n._selectedCells[e].closest(".jqx-calendar-month")===t&&n._setCellState(n._selectedCells[e],"selected",!1);n._setMonthContent(e,t,{previusMonthDays:r,firstDayOfWeek:o,selectedDates:l,importantDates:i,restrictedDates:s})}_setMonthContent(e,t,a){const n=this,l=32-e.getDate(),i=n._getMonthCells(t,n.rightToLeft),s=t._date.getMonth(),o=t._date.getFullYear(),r=new Date;let d,c=1,m=1;r.setHours(0,0,0,0),i.map((e=>{n._setCellState(e,"restricted",!1),n._setCellState(e,"selected",!1),n._setCellState(e,"otherMonth",!1),n._setCellState(e,"focus",!1),n._setCellState(e,"important",!1),n._setCellState(e,"today",!1),n._setCellState(e,"disabled",!1),n._setCellState(e,"hover",!1)}));for(let e=0;e<i.length;e++){const h=i[e];e===a.firstDayOfWeek&&m<=l?(h.className="jqx-calendar-cell",h.value=new Date(o,s,m),h.innerHTML=h.value.getDate().toString(),a.restrictedDates.indexOf(m)>-1||h.value.getTime()<n.min.getTime()||h.value.getTime()>n.max.getTime()?n._setCellState(h,"restricted",!0):a.selectedDates.indexOf(m)>-1&&(n._setCellState(h,"selected",!0),n._selectedCells.indexOf(h)<0&&n._selectedCells.push(h)),a.importantDates.indexOf(m)>-1&&(n._setImportantDate(h.value,h),a.importantDates.splice(a.importantDates.indexOf(m),1)),h.value.getTime()===r.getTime()&&n._setCellState(h,"today",!0),a.firstDayOfWeek++,m++):(1===m?(h.value=new Date(o,s-1,++a.previusMonthDays-a.firstDayOfWeek),d=!!(h.value.getTime()<n.min.getTime()||t.previousElementSibling)):(h.value=new Date(o,s+1,c++),d=!!(h.value.getTime()>n.max.getTime()||t.nextElementSibling)),h.innerHTML=h.value.getDate().toString(),n._setCellState(h,"otherMonth",!0),d?h.classList.add("jqx-visibility-hidden"):h.classList.remove("jqx-visibility-hidden"))}n.months>1&&(t.firstElementChild.innerHTML=n.dateFormatFunction?n.dateFormatFunction(t._date):n._monthsNames[s]+" "+t._date.toLocaleDateString(n.locale,{year:n.yearFormat})),n._setMonthWeekNumbers(t)}_refreshMonthNames(){const e=this;let t,a=new Date;function n(t){let a=e.monthNameFormat;"firstTwoLetters"===a&&(a="long");let n=new Intl.DateTimeFormat(e.locale,{month:a}).format(t);return"firstTwoLetters"===e.monthNameFormat&&(n=8206===n.charCodeAt(0)?n.substring(0,2):n.substring(1,3)),n}a.setDate(1),e._monthsNames=[];for(let l=0;l<12;l++)a.setMonth(l),t=n(a),e._monthsNames.push(t);if("classic"===e.calendarMode&&e.$.monthElement){let t=e.$.monthsContainer.children;if(e.$.monthElement.dataSource&&(e._changeEventFired=1),e.shadowRoot?e._setMonthElementPropertyInShadowDOM("dataSource",e._monthsNames):e.$.monthElement.dataSource=e._monthsNames,e._viewDates){for(let a=0;a<t.length;a++)t[a].firstElementChild.textContent=e._monthsNames[t[a]._date.getMonth()]+" "+t[a]._date.getFullYear();e._changeEventFired=1,e.shadowRoot?e._setMonthElementPropertyInShadowDOM("selectedIndex",e._viewDates.map((e=>e.getMonth()))[0]):e.$.monthElement.selectedIndex=e._viewDates.map((e=>e.getMonth()))[0]}}}_setMonthWeekNumbers(e){const t=this,a=function(e){for(let t=1;t<e.children.length;t++)if(!e.children[t].classList.contains("jqx-visibility-hidden"))return!0};let n=e.getElementsByClassName("jqx-calendar-week");n=[].slice.call(n);for(let l=0;l<n.length;l++){if(!a(n[l])){n[l].children[0].innerHTML="";continue}const i=n[l].children[1],s=i.otherMonth?i.value.getTime()>e._date.getTime()?1:-1:0;n[l].children[0].innerHTML=t._getWeekNumber(new Date(e._date.getFullYear(),e._date.getMonth()+s,i.value.getDate()))}}_setRestrictedDates(e){const t=this,a=t.$.monthsContainer.children;for(let e=0;e<a.length;e++)t._getMonthCells(a[e]).map((e=>{t._setCellState(e,"restricted",!1)}));if(t._viewDates){const a=function(e){for(let a=0;a<t._viewDates.length;a++)if(t._viewDates[a].getFullYear()===e.getFullYear()&&t._viewDates[a].getMonth()===e.getMonth())return!0};for(let n=0;n<e.length;n++)if(a(e[n])){const a=t._getCellByDate(e[n]);t._setCellState(a,"restricted",!0)}}}_setScrollButtonsNavigationMode(){const e=this;"landscape"!==e.scrollButtonsNavigationMode?(e.$.previousMonthButton&&(e.$.previousMonthButton.$.button.firstElementChild.className="jqx-arrow-down jqx-arrow"),e.$.nextMonthButton&&(e.$.nextMonthButton.$.button.firstElementChild.className="jqx-arrow-up jqx-arrow")):(e.$.previousMonthButton&&(e.$.previousMonthButton.$.button.firstElementChild.className="jqx-arrow-left jqx-arrow"),e.$.nextMonthButton&&(e.$.nextMonthButton.$.button.firstElementChild.className="jqx-arrow-right jqx-arrow")),e._applyAnimationSettings(!0)}_refreshTitle(){const e=this;let t=e.selectedDates.length>0?e.selectedDates[e.selectedDates.length-1]:new Date;if(e.titleTemplate){if("function"==typeof e.titleTemplate)return;let a=e._layoutTemplates.filter((t=>t.selector===e.$.title))[0],n=document.importNode(a.template.content,!0);if(a.bindings.length>0){let l=n.childNodes[a.bindings[0].childNodeIndex];return t=t.toLocaleDateString(e.locale,{year:e.yearFormat,weekday:"short",month:"short",day:"numeric"}),void(a.selector.childNodes[a.bindings[0].childNodeIndex].innerHTML=l.innerHTML.replace(a.bindings[0].bindingString,t))}}e.$.title.children[0].innerHTML=t.toLocaleDateString(e.locale,{year:e.yearFormat}),e.$.title.children[1].innerHTML="landscape"===e.view?t.toLocaleDateString(e.locale,{weekday:"short"})+",</br>"+t.toLocaleDateString(e.locale,{month:"short",day:"numeric"}):t.toLocaleDateString(e.locale,{weekday:"short"})+", "+t.toLocaleDateString(e.locale,{month:"short",day:"numeric"})}_setWeeksVisibility(e){const t=this,a=e.children;let n;function l(e){(function(e){for(let t=1;t<e.children.length;t++)if(!e.children[t].classList.contains("jqx-visibility-hidden"))return!1;return!0})(e)||n>=t.weeks?e.classList.add("jqx-hidden"):n<t.weeks&&(e.classList.remove("jqx-hidden"),n++)}for(let e=0;e<a.length;e++){let i=a[e].getElementsByClassName("jqx-calendar-week");i=[].slice.call(i);let s=t._selectedCells.filter((t=>t.closest(".jqx-calendar-month")===a[e]));if(6!==t.weeks)if(n=0,s.length>0){let e=s[s.length-1],t=i.indexOf(e.parentElement);for(let e=t;e<i.length;e++)l(i[e]);for(let e=t-1;e>=0;e--)l(i[e])}else for(let e=0;e<i.length;e++)l(i[e]);else i.map((e=>e.classList.remove("jqx-hidden")))}}_refreshHeaderElements(){const e=this,t=document.activeElement.closest("jqx-calendar")===e,a=e._animationStarted?e.$.nextMonthsContainer:e.$.dateViewContainer;let n,l,i=e._viewDates[e._viewDates.length-1],s=e._viewDates.map((e=>e.getFullYear()));if("month"===e.displayMode||"list"!==e.displayModeView){if("classic"===e.calendarMode&&e.$.monthElement&&e.$.monthElement instanceof HTMLDivElement){const t=document.createElement("jqx-input");t.setAttribute("jqx-id","monthElement"),t.classList.add("jqx-calendar-month-element"),t.dropDownPosition="bottom",t.selectionMode="one",t.disabled=e.disabled,t.rightToLeft=e.rightToLeft,t.theme=e.theme,t.dropDownWidth=e.dropDownWidth,t.dropDownHeight=e.dropDownHeight,t.readonly=!0,t.dropDownButtonPosition="right";const a=e.$.monthElement;e.$.monthElement.parentNode.insertBefore(t,e.$.monthElement),e.$.monthElement=t,a.remove()}if(e.$.previousMonthButton&&!e.disabled&&("month"!==e.displayMode&&e.$.dateViewContainer.children[0].value?l="year"===e.displayMode?a.children[0].value.getFullYear()-1:a.children[1].value.getFullYear()-1:e._viewDates[0].getMonth()-1<0?(n=11,l=e._viewDates[0].getFullYear()-1):(n=e._viewDates[0].getMonth()-1,l=e._viewDates[0].getFullYear()),e.$.previousMonthButton.disabled=l<e.min.getFullYear()||l===e.min.getFullYear()&&n<e.min.getMonth(),e.$.previousMonthButton.disabled&&t&&e.$.body.focus()),e.$.nextMonthButton&&!e.disabled&&("month"!==e.displayMode&&e.$.dateViewContainer.children[0].value?l="year"===e.displayMode?a.children[0].value.getFullYear()+1:a.children[1].value.getFullYear()+11:i.getMonth()+1>11?(n=0,l=i.getFullYear()+1):(n=i.getMonth()+1,l=i.getFullYear()),e.$.nextMonthButton.disabled=l>e.max.getFullYear()||l===e.max.getFullYear()&&n>e.max.getMonth(),e.$.nextMonthButton.disabled&&t&&e.$.body.focus()),"classic"===e.calendarMode&&e.$.monthElement){let t=[...e._monthsNames];if(s.indexOf(e.min.getFullYear())>-1)for(let a=0;a<e.min.getMonth();a++)t[a]="";if(s.indexOf(e.max.getFullYear())>-1)for(let a=e.max.getMonth()+1;a<t.length;a++)t[a]="";t=t.filter((e=>""!==e));const a=Math.max(0,e.$.monthElement.selectedIndex);e.$.monthElement.dataSource=t,e._changeEventFired=0!==e.$.monthElement.selectedIndex,e.shadowRoot?e._setMonthElementPropertyInShadowDOM("selectedIndex",e._viewDates[0].getMonth()):e.$.monthElement.selectedIndex=a,e._changeEventFired=0}e.$.previousYearButton&&!e.disabled&&(l=e._viewDates[0].getFullYear()-1,e.$.previousYearButton.disabled=l<e.min.getFullYear(),e.$.previousYearButton.disabled&&t&&e.$.body.focus()),e.$.nextYearButton&&!e.disabled&&(l=i.getFullYear()+1,e.$.nextYearButton.disabled=l>e.max.getFullYear(),e.$.nextYearButton.disabled&&t&&e.$.body.focus()),e.$.yearElement&&(e.$.yearElement.value=s[0],e.$.yearElement.disabled=i.getFullYear()+1>e.max.getFullYear()&&e._viewDates[0].getFullYear()-1<e.min.getFullYear())}}_setMonthElementPropertyInShadowDOM(e,t){const a=this.$.monthElement,n=a.context;a.context=document,this.$.monthElement[e]=t,a.context=n}_refreshHeaderTitle(){const e=this;let t;function a(){if("month"!==e.displayMode){if("list"===e.displayModeView){const a=e.$.listViewContainer;if(!a)return;const n=a.querySelectorAll("li");if(!n.length)return"";let l;a.querySelector("li.active")&&(l=a.querySelector("li.active").getAttribute("value")),t="year"===e.displayMode?new Date(l||n[0].getAttribute("value")).getFullYear():new Date(n[0].getAttribute("value")).getFullYear()+" - "+new Date(n[n.length-1].getAttribute("value")).getFullYear()}else if(e.$.dateViewContainer.children[0].value){let a=e._animationStarted?e.$.nextMonthsContainer.children:e.$.dateViewContainer.children;t="year"===e.displayMode?a[0].value.getFullYear():a[1].value.getFullYear()+" - "+a[a.length-2].value.getFullYear()}if(t)return t}const a=e._viewDates.slice(0).sort(((e,t)=>e.getTime()-t.getTime())),n=a[0],l=a[a.length-1];n.setDate(2);let i=e.monthNameFormat;return"firstTwoLetters"===i&&(i="long"),t=n.toLocaleDateString(e.locale,{year:e.yearFormat,month:i}),e.months>1&&(l.setDate(2),t+=" - "+l.toLocaleDateString(e.locale,{year:e.yearFormat,month:i})),t}if("default"===e.calendarMode&&(e.$.defaultHeaderDate.innerHTML=a()),"function"==typeof e.headerTemplate||!e._layoutTemplates)return;let n=e._layoutTemplates.filter((t=>t.selector===e.$.header))[0];if(!n)return;let l=document.importNode(n.template.content,!0);if(n.bindings.length>0){const t=l.childNodes[n.bindings[0].childNodeIndex];(e.shadowRoot?e:n.selector).childNodes[n.bindings[0].childNodeIndex].innerHTML=t.innerHTML.replace(n.bindings[0].bindingString,e.dateFormatFunction?e.dateFormatFunction(e._viewDates):a())}}_updateWeeksVisibility(e,t){const a=this;let n=(t||a._focusedCell).parentElement;function l(){for(let e=o;e<s.length;e++)if(s[e].classList.contains("jqx-hidden")&&!r(s[e])&&(s[e].classList.remove("jqx-hidden"),d++,d===a.weeks))return!0}function i(){for(let e=o;e>=0;--e)if(s[e].classList.contains("jqx-hidden")&&!r(s[e])&&(s[e].classList.remove("jqx-hidden"),d++,d===a.weeks))return!0}if(!t&&!n.classList.contains("jqx-hidden"))return;const s=[].slice.call(n.parentElement.children),o=s.indexOf(n),r=function(e){for(let t=1;t<e.children.length;t++)if(!e.children[t].classList.contains("jqx-visibility-hidden"))return!1;return!0};let d=0;if(s.map((e=>e.classList.add("jqx-hidden"))),e>0){if(l())return;i()}else{if(i())return;l()}}_getValidDates(e){let t=[];function a(e){if(e instanceof Date)return e;if(JQX.Utilities.DateTime&&e instanceof JQX.Utilities.DateTime)return e.toDate();if("string"==typeof e){if("new Date()"===e.trim()||"new JQX.Utilities.DateTime()"===e.trim())return new Date;let t=/(\d+[,-.\/]{1}\s*\d+[,-.\/]{1}\s*\d+)/;const a=()=>(e=e.replace(/[,-.\/]/g,",").split(",")).length>2?e=new Date(parseInt(e[0]),parseInt(e[1])-1,parseInt(e[2])):new Date;return t.test(e)&&(e=t.exec(e)[0].replace(/[,-.\/]/g,",").split(","))?new Date(parseInt(e[0]),parseInt(e[1])-1,parseInt(e[2])):a()}}if(void 0===e)return null;if(Array.isArray(e))for(let n=0;n<e.length;n++)t.push(a(e[n]));else t.push(a(e));return t=t.filter((e=>e&&"Invalid Date"!==e.toDateString())),t.map((e=>e.setHours(0,0,0,0))),t}_getValidDate(e){const t=this._getValidDates(e);return t.length>0?t[0]:null}_validateSelectedDates(e){const t=this;let a=[];e||(e=t.selectedDates);let n=e.slice(0),l=function(e){for(let a=0;a<t.restrictedDates.length;a++)if(t.restrictedDates[a].getTime()===e.getTime())return!0};t.selectedDates=n.filter((function(e){if(e.getTime()>=t.min.getTime()&&e.getTime()<=t.max.getTime()&&!l(e))return!0;a.push(e)})),t._viewDates&&(a.map((e=>t._selectDate(e))),t._focusCell())}_validateMinMax(e,t,a){const n=this;switch(e){case"min":t=n._getValidDate(n[e]),n.min=t||a||n.properties.min.defaultValue;break;case"max":t=n._getValidDate(n[e]),n.max=t||a||n.properties.max.defaultValue;break;default:t=n._getValidDate(n.min),n.min=t||a||n.properties.min.defaultValue,t=n._getValidDate(n.max),n.max=t||a||n.properties.max.defaultValue}n.min=n.min.getTime()>n.max.getTime()?n.max:n.min,n.min.setHours(0,0,0,0),n.max.setHours(0,0,0,0);let l,i=n.$.monthsContainer.children;if(n._viewDates){if(n._viewDates[0].getTime()>n.max.getTime()||n._viewDates[0].getTime()<n.min.getTime())return void n._handleMonths();for(let e=0;e<i.length;e++){l=n._getMonthCells(i[e]);for(let t=0;t<l.length;t++){const a=l[t];if(a.value.getTime()>=n.min.getTime()&&a.value.getTime()<=n.max.getTime())n._setCellState(a,"restricted",!1),a.value.getMonth()===i[e]._date.getMonth()?a.classList.remove("jqx-visibility-hidden"):n.hideOtherMonthDays||(n._setCellState(a,"otherMonth",!0),a.classList.remove("jqx-visibility-hidden")),"month"!==n.displayMode&&n._setCellState(a,"otherMonth",!1);else{if(a.otherMonth){if(a.classList.contains("jqx-visibility-hidden")){n._setCellState(a,"restricted",!1);continue}}else n._setCellState(a,"restricted",!0);"month"!==n.displayMode&&(a.classList.remove("jqx-visibility-hidden"),n._setCellState(a,"otherMonth",!0))}}}}}_setCellState(e,t,a){e[t]=a;const n=JQX.Utilities.Core.toDash(t);a?(e.setAttribute(n,""),"selected"===t?e.setAttribute("aria-selected",!0):"today"===t?e.setAttribute("aria-current","date"):"restricted"===t?e.removeAttribute("aria-selected"):"disabled"===t&&(e.removeAttribute("aria-selected"),e.setAttribute("aria-disabled",!0))):(e.removeAttribute(n),"selected"===t?"none"===this.selectionMode||e.restricted||e.disabled?e.removeAttribute("aria-selected"):e.setAttribute("aria-selected",!1):"today"===t?e.removeAttribute("aria-current"):"restricted"!==t||e.disabled?"disabled"===t&&(e.removeAttribute("aria-disabled"),e.restricted||e.setAttribute("aria-selected",!1)):e.setAttribute("aria-selected",!1))}_validateTemplate(e,t){if(null===t||!t)return;if("function"==typeof t)return;const a=this;if("content"in document.createElement("template")){if("string"==typeof t&&(t=document.getElementById(t)),null!==t&&"content"in t)return t;a.error(a.localize("invalidTemplate",{elementType:a.nodeName.toLowerCase(),property:e}))}else a.error(a.localize("htmlTemplateNotSuported",{elementType:a.nodeName.toLowerCase()}))}_weeksDownHandler(e,t){const a=this,n=t.value;let l;if(a.$.body.contains(t))if(t.otherMonth&&(l=t.value.getTime()>t.closest(".jqx-calendar-month")._date.getTime()?1:-1),n&&a.hasRippleAnimation&&JQX.Utilities.Animation.Ripple.animate(t,e.pageX,e.pageY),l){if(a._isDateInView(n))return;a.disableAutoNavigation||a.navigate(l*a.months)}else(t=a._getCellByDate(n))&&(t.disabled||t.restricted)||a._handleDateSelection(t)}_firstDayOfWeekValidator(e,t){return Math.min(Math.max(0,isNaN(t)?6:t),6)}_weeksValidator(e,t){return Math.min(Math.max(1,isNaN(t)?6:t),6)}_monthsValidator(e,t){return Math.min(Math.max(1,isNaN(t)?1:t),12)}});

/***/ }),

/***/ 6057:
/***/ (() => {

(()=>{JQX.DataAdapter=window.jqxDataAdapter=class{constructor(e){e||(e={});const t=Object.assign(this,e);t.key=(65536*(1+Math.random())|0).toString(16).substring(1),t.$document=JQX.Utilities.Extend(document),t.boundSource=!1===t.observable||t.virtualDataSource?[]:new JQX.ObservableArray,t.dataItemById=[],void 0===t.allowAdd&&(t.allowAdd=!0),void 0===t.allowRemove&&(t.allowRemove=!0),void 0===t.allowUpdate&&(t.allowUpdate=!0),void 0===t.mapChar&&(t.mapChar="."),void 0!==e.observable||t.virtualDataSource?t.observable=!1:t.observable=!0,void 0===t.sanitizeHTML&&(t.sanitizeHTML="blackList"),t._expandedRowIds=[],e.dataSource||(t.dataSource=[]),e.dataFields||(t.dataFields=[]),e.dataSourceType||(t.dataSourceType="array"),e.id||(t.id=null),e.autoFetch||(t.autoFetch=!0),void 0===e.skipFirstRow&&(t.skipFirstRow=!1),e.dataFields&&(t.dataFields=e.dataFields),Object.defineProperty(t,"groupBy",{configurable:!1,enumerable:!0,get:()=>t._groupBy?t._groupBy:[],set(e){const a=()=>{t.boundHierarchy=null,t.refreshHierarchy(),t.onGroup&&t.onGroup()};t._groupBy=new JQX.ObservableArray(e),t._groupBy.notify((function(){a()})),t.isInitialized&&a()}}),e.groupBy?e.groupBy.toArray?t.groupBy=e.groupBy.toArray():t.groupBy=e.groupBy:t.groupBy=[],e&&!1!==e.autoBind&&t.dataBind(),t.isInitialized=!0}beginUpdate(){this.isUpdating=!0}endUpdate(){const e=this;e.isUpdating=!1,e.refreshIndexes(),e.refreshHierarchy()}get expandHierarchy(){return void 0===this._expandHierarchy&&(this._expandHierarchy=!1),this._expandHierarchy}set expandHierarchy(e){const t=this;t._expandHierarchy=e,t.isInitialized&&t.refreshHierarchy()}_getDataField(e){switch(e.name){case"leaf":case"parent":case"expanded":case"checked":case"selected":case"level":case"icon":case"data":case"group":case"children":case"items":e.map?e.map=e.map.replace(e.name,"$"+e.name):e.map=e.name,e.name="$"+e.name}}get dataFields(){return this._dataFields}set dataFields(e){const t=this;return t._dataFields=t._getDataFieldObjects(e),t._dataFields}_getDataFieldObjects(e){const t=this;let a=[];if("number"==typeof e){const t="A".charCodeAt(0);let n="",r=0;for(let i=0;i<e;i++){const e=String.fromCharCode(t+r);r++;const i=n+e;a.push({name:i,dataType:"string"}),r>=26&&(r=0,n+="A")}}else if(Array.isArray(e)&&e.length>0)for(let n=0;n<e.length;n++){const r=e[n];if("string"==typeof r){const e=r.split(":"),t=e[0].trim(),n=e.length>1?e[1].trim():"string";a.push({name:t,dataType:n})}else a.push(r);t._getDataField(a[a.length-1])}return a}get dataSource(){const e=this;return e._dataSource||(e._dataSource=[]),e._dataSource}set dataSource(e){const t=this;t._dataSource=e,t.isInitialized&&(t.boundSource=!1===t.observable||t.virtualDataSource?[]:new JQX.ObservableArray,t.dataItemById=[],t.bindingCompleted=!1,t.dataBind(),t.refreshIndexes())}get canNotify(){const e=this;return void 0===e._canNotify&&(e._canNotify=!0),e._canNotify}set canNotify(e){this._canNotify=e}_notify(e){const t=this;t.canNotify&&t.notifyFn&&t.notifyFn(e)}notify(e){e&&(this.notifyFn=e)}toArray(){const e=this;return!1===e.observable?e.boundSource:e.boundSource.toArray()}forEach(e){const t=this;if(e)if(t.boundHierarchy&&t.boundHierarchy.length>0){const a=(e=>{let t=[];for(;e;){t=t.concat(e);for(let a=0;a<e.length;a++)e[a].children&&(t=t.concat(e[a].children));e=e.children}return t})(t.boundHierarchy);for(let t=0;t<a.length;t++){e(a[t],t)}}else for(let a=0;a<t.boundSource.length;a++){e(t.boundSource[a],a)}}dataBind(){const t=this;t.bindingCompleted=!1,t.clear();const a=()=>{t.observable&&(t.boundSource.notify||(t.boundSource=new JQX.ObservableArray),t.boundSource.notify((function(e){if("update"===e.action&&e.path&&e.path.indexOf(".")>=0&&-1===e.path.indexOf("children")&&-1===e.path.indexOf("parent")&&-1===e.path.indexOf("loaded")&&-1===e.path.indexOf("level")&&-1===e.path.indexOf("leaf")&&-1===e.path.indexOf("expanded")){let a=!1;for(let n=0;n<t.dataFields.length;n++){const r=t.dataFields[n].name;e.path.indexOf(r)>=0&&(a=!0)}t._notify&&a&&t._notify({action:"update",data:e.target,index:e.index})}}))),t._onBindingComplete()};if("string"==typeof t.dataSource&&(t.dataSource.indexOf(".json")>=0||"json"===t.dataSourceType))t.url=t.dataSource,t.dataSourceType="json",new e(t,(e=>{t.dataSource=e}));else if("string"==typeof t.dataSource&&t.dataSource.indexOf(".xml")>=0)t.url=t.dataSource,t.dataSourceType="xml",new e(t,(e=>{t.dataSource=e}));else if("string"==typeof t.dataSource&&t.dataSource.indexOf(".xlsx")>=0)t.url=t.dataSource,t.dataSourceType="xlsx",new e(t,(e=>{if(!e[0])return e=[],t._bindToArray(),void a();const n=Object.keys(e[0]),r={},i=[];if(!1!==t.exportHeader){let a=0;for(let e in n){r[n[e]]=t.dataFields[a++].name}for(let t=1;t<e.length;t++){const a=e[t],o={};for(let e in n){const t=n[e];o[r[t]]=a[t]}i.push(o)}t.dataSource=i}t._bindToArray(),a()}));else if("string"==typeof t.dataSource&&t.dataSource.indexOf(".csv")>=0)t.url=t.dataSource,t.dataSourceType="csv",new e(t,(e=>{t.dataSource=e}));else if("string"==typeof t.dataSource&&t.dataSource.indexOf(".tsv")>=0)t.url=t.dataSource,t.dataSourceType="tsv",new e(t,(e=>{t.dataSource=e}));else if("string"==typeof t.dataSource&&(t.dataSource.indexOf(".ics")>=0||t.dataSource.indexOf(".php")>=0&&"ics"===t.dataSourceType||t.dataSource.indexOf(".txt")>=0&&"ics"===t.dataSourceType))t.url=t.dataSource,t.dataSourceType="ics",new e(t,(e=>{t.dataSource=e}));else if("string"==typeof t.dataSource&&(t.dataSource.indexOf("BEGIN:VCALENDAR")>=0||"ics"===t.dataSourceType))t._bindToICS(),a();else if("string"==typeof t.dataSource&&(t.dataSource.indexOf("<?xml")>=0||"xml"===t.dataSourceType))t._bindToXML(),a();else if("string"==typeof t.dataSource&&(t.dataSource.indexOf("  ")>=0||t.dataSource.indexOf(",")>=0||"tsv"===t.dataSourceType||"csv"===t.dataSourceType||"tab"===t.dataSourceType))t._bindToCSV(),a();else if("array"===t.dataSourceType)t._bindToArray(),a();else if("json"===t.dataSourceType){if(t.dataSource&&t.dataSource.url)return t.url=t.dataSource.url,t.dataSource.method&&(t.type=t.dataSource.method),t.dataSource.type&&(t.type=t.dataSource.type),t.dataSource.data&&(t.data=t.dataSource.data),void new e(t,(e=>{t.dataSource=e}));t._bindToJSON(),a()}}_bindToXML(){const e=this;let t=null,a=null;window.DOMParser&&(t=new DOMParser,a=t.parseFromString(e.dataSource,"text/xml")),void 0===e.root&&(e.root=""),void 0===e.record&&(e.record="");const n=a.querySelectorAll(e.root+" "+e.record),r=n.length,i=[];let o=e.dataFields?e.dataFields.length:0;if(0===o){const t=n[0],a=new Array;for(let e in t){const t=e;a[a.length]={name:t}}e.dataFields=a,o=a.length}for(let t=0;t<r;t++){const a=n[t],r={};if(void 0===a)break;if(e.id){const t=a.querySelector(e.id);r[e.id]=t.textContent}for(let t=0;t<o;t++){const n=e.dataFields[t],i=a.querySelector(n.map||n.name);r[n.name]=i.textContent}i[t]=r}e.canNotify=!1,e.dataSource=i,e.canNotify=!0,e._bindToArray()}static BindToCSV(e,t=!1){const a=""+e,n=-1===a.indexOf(",")?"\t":",",r=a.split("\r"),i=new Array,o=[];let d=a.split("\n"),l=d.length;1===l&&r.length>1&&(d=r,l=d.length);const s=!0===t;for(let e=0;e<l;e++){const t={},a=d[e].split(n);for(let n=0;n<a.length;n++){let r=o[n],i=a[n];if(r||(o.push({name:i.trim()}),r=o[o.length-1]),i=i.trim(),1!==e||s)switch(r.dataType){case"boolean":i="false"!==i;break;case"number":i=parseFloat(i);break;case"date":i=new Date(i)}else{let e="string";"false"===i||"true"===i?(e="boolean",i="false"!==i):isNaN(parseInt(i)&&-1===i.indexOf("/"))?(i.indexOf("-")>=0||i.indexOf("/")>=0||i.indexOf(":")>=0)&&"Invalid Date"!==new Date(i).toString()&&(e="date",i=new Date(i)):(e="number",i=parseFloat(i)),r.dataType||(r.dataType=e)}t[r.name]=i}(s||e>0)&&i.push(t)}return i}_bindToCSV(){const e=this,t=""+e.dataSource,a=-1===t.indexOf(",")?"\t":",",n=t.split("\r"),r=new Array;let i=t.split("\n"),o=i.length;1===o&&n.length>1&&(i=n,o=i.length);const d=e.dataFields.length>0;for(let t=0;t<o;t++){const n=i[t],o={};let l=i[t].split(a);if(t>0){let e=[],a=0,n=!1,r=i[t];for(let t=0;t<r.length;t++)if('"'===r.charAt(t))n=!n;else if(","===r.charAt(t)&&!n){let n=r.substring(a,t);n=n.trim(),n=n.replaceAll('"',""),e.push(n),a=t+1}let o=r.substring(a);o=o.trim(),o=o.replaceAll('"',""),","===o?e.push('""'):e.push(o),l=e}for(let a=0;a<l.length;a++){let r=e.dataFields[a],i=l[a];if(r||(e.dataFields.push({name:i.trim()}),r=e.dataFields[e.dataFields.length-1]),r.map&&(i=n[r.map]),i=i.trim(),1!==t||d)switch(r.dataType){case"boolean":i="false"!==i;break;case"number":i=parseFloat(i);break;case"date":i=new Date(i)}else{let e="string";"false"===i||"true"===i?(e="boolean",i="false"!==i):isNaN(parseInt(i)&&-1===i.indexOf("/")&&-1===i.indexOf("-"))?(i.indexOf("-")>=0||i.indexOf("/")>=0||i.indexOf(":")>=0)&&"Invalid Date"!==new Date(i).toString()&&(e="date",i=new Date(i)):i.indexOf(".")>=0&&i.lastIndexOf(".")!==i.indexOf(".")?-1===i.indexOf(",")&&(e="date",i=new Date(i)):(e="number",i=parseFloat(i)),r.dataType||(r.dataType=e)}o[r.map||r.name||a.toString()]=i}0===t&&e.skipFirstRow||(d||t>0)&&r.push(o)}e.canNotify=!1,e.dataSource=r,e.canNotify=!0,e._bindToArray()}_onBindingComplete(){const e=this;e._buildHierarchy(),e.onBindingComplete&&e.onBindingComplete({data:e.boundSource}),e._notify&&e._notify({action:"bindingComplete",data:e.boundSource}),e.bindingCompleted=!0}refreshHierarchy(){this.isUpdating||this._buildHierarchy()}find(){return this.boundSource.find.apply(this.boundSource,arguments)}onVirtualDataSourceRequested(e,t){const a=this;let n=t?t.first:1/0,r=t?t.last:1/0,i=t?t.row:null;if(void 0===n&&(n=1/0),void 0===r&&(r=1/0),a.virtualFirstIndex=n,a.virtualLastIndex=r,a.virtualDataSource){const o=function(r){void 0!==r.virtualDataSourceLength&&(a.virtualDataSourceLength=r.virtualDataSourceLength),new JQX.DataAdapter({dataSource:r.dataSource,dataFields:r.dataFields||a.dataFields,data:t,keyDataField:r.keyDataField,parentDataField:r.parentDataField,observable:!1,id:r.id||a.id,onBindingComplete(r){if(void 0===t.result&&(t.result=!0),t.data=r.data,a.virtualDataSourceOnExpand&&i)return a.groupBy.length>0?r.data&&r.data.length>0&&a.add(r.data):r.data&&r.data.length>0?a.add(r.data,i.$.id):i.leaf=!0,a.onFilter&&a.onFilter(),void e(t);n===1/0&&"scroll"===t.action?r.data&&r.data.length&&a.add(r.data):"filter"===t.action||"group"===t.action?(a.canNotify=!1,a.dataSource=r.data,a.canNotify=!0):("add"===t.action||"update"===t.action||t.action,a.canNotify=!1,a.dataSource=r.data,a.canNotify=!0),a.onFilter&&a.onFilter(),e(t)}})};let d={};if(t.sorting&&t.sorting.length>0){let e=[];for(let a in t.sorting)e.push(a+" "+t.sorting[a].sortOrder.toUpperCase());const a=" ORDER BY "+e.join(", ");d.orderBy=a}else d.orderBy="";if(void 0===n||void 0===r||0===n&&0===r)d.limit="";else{const e=r-n,t=" LIMIT "+e+" OFFSET "+n;d.limit=t,isNaN(e)&&(d.limit="")}if(t.grouping&&t.grouping.length>0){const e=" GROUP BY "+t.grouping[0];d.groupBy=e}else d.groupBy="";if(t.filtering&&t.filtering.length>0){const e=(e,t)=>{switch(t.condition){case"EMPTY":return e+" = ''";case"NOT_EMPTY":return e+" != ''";case"EQUAL":return e+" = '"+t.value+"'";case"NOT_EQUAL":return e+" != '"+t.value+"'";case"CONTAINS_CASE_SENSITIVE":case"CONTAINS":return e+" LIKE '%"+t.value+"%'";case"DOES_NOT_CONTAIN_CASE_SENSITIVE":case"DOES_NOT_CONTAIN":return e+" NOT LIKE '%"+t.value+"%'";case"STARTS_WITH_CASE_SENSITIVE":case"STARTS_WITH":return e+" LIKE '"+t.value+"%'";case"ENDS_WITH_CASE_SENSITIVE":case"ENDS_WITH":return e+" LIKE '%"+t.value+"'";case"NULL":return e+" IS NULL";case"NOT_NULL":return e+" IS NOT NULL"}},a=(e,t)=>{let a=t.value,n=t.valueTo;if(a&&a instanceof Date){a=`'${new JQX.Utilities.DateTime(a).toString("yyyy-MM-dd")}'`}if(t.valueTo&&t.valueTo instanceof Date){n=`'${new JQX.Utilities.DateTime(n).toString("yyyy-MM-dd")}'`}switch(t.condition){case"EQUAL":return e+" = "+a;case"NOT_EQUAL":return e+" != "+a;case"GREATER_THAN":return e+" > "+a;case"GREATER_THAN_OR_EQUAL":return e+" >= "+a;case"LESS_THAN":return e+" < "+a;case"LESS_THAN_OR_EQUAL":return e+" <= "+a;case"NULL":return e+" IS NULL";case"NOT_NULL":return e+" IS NOT NULL";case"RANGE":return"("+e+" >= "+a+" and "+e+" <= "+n+")"}},n=(e,t,a)=>{if(a.operator){var n=e(t,a.condition1),r=e(t,a.condition2);return"("+n+" "+a.operator+" "+r+")"}return e(t,a)};let r=[];for(let i in t.filtering){const o=t.filtering[i];let d=o.filters,l=[],s=" AND ";for(let t=0;t<d.length;t++){const r=d[t];switch(r.type){case"stringFilter":l.push(n(e,i,r));break;case"numericFilter":case"dateFilter":case"booleanFilter":l.push(n(a,i,r))}1!==o.logicalOperators[t]&&"or"!==o.logicalOperators[t]||(s=" OR ")}l.length&&r.push("("+l.join(s)+")")}if(r.length>0){let e=" AND ";t.filterOperator&&"or"===t.filterOperator.toLowerCase()&&(e=" OR "),d.where=" WHERE "+r.join(e).replace(/</g,"&lt;").replace(/>/g,"&gt;")}else d.where=""}else d.where="";if("dataBind"===t.action&&a.virtualDataSourceOnExpand&&a.keyDataField&&a.parentDataField&&(d.where?d.where+=" AND "+a.parentDataField+" IS NULL":d.where=" WHERE "+a.parentDataField+" IS NULL"),"update"===t.action){const e=[];for(let n in t.edit.row){if("$"===n||n===a.id)continue;const r=null===t.edit.row[n]?"":t.edit.row[n]+"";e.push(n+"='"+r.replace(/</g,"&lt;").replace(/>/g,"&gt;")+"'")}null===a.id?d.update=" SET "+e.join(", "):d.update=" SET "+e.join(", ")+" WHERE "+a.id+"="+t.edit.row[a.id]}if("remove"===t.action){const e=[];for(let n in t.edit.row)"$"!==n&&n!==a.id&&e.push(n+" = '"+t.edit.row[n]+"'");d.remove=" WHERE "+a.id+"="+t.edit.row[a.id]}if("add"===t.action){const e=[],a=[];for(let n in t.edit.row)"$"!==n&&(a.push(n),null!==t.edit.row[n]?e.push("'"+t.edit.row[n]+"'"):e.push("null"));d.add=" ("+a.join(", ")+")  VALUES ("+e.join(", ")+")"}"expand"===t.action?(a.groupDataField?d.where?d.where+=" AND "+a.groupDataField+" = '"+i[a.groupDataField]+"'":d.where=" WHERE "+a.groupDataField+" = '"+i[a.groupDataField]+"'":a.keyDataField&&a.parentDataField?d.where?d.where+=" AND "+a.parentDataField+" = "+i[a.keyDataField]:d.where=" WHERE "+a.parentDataField+" = "+i[a.keyDataField]:d.where?d.where+=" AND "+i.groupDataField+" = '"+i.label+"'":d.where=" WHERE "+i.groupDataField+" = '"+i.label+"'",d.where.indexOf("undefined")>=0&&(d.where=""),d.limit="",d.groupBy="",a.virtualDataSourceOnExpand(o,{first:n,last:r,row:t.row,sorting:t.sorting,filtering:t.filtering,grouping:t.grouping,action:t.action,query:d})):a.virtualDataSource(o,{first:n,last:r,sorting:t.sorting,edit:t.edit,filtering:t.filtering,filterOperator:t.filterOperator||"and",grouping:t.grouping,action:t.action,query:d})}else e()}add(e,t){const a=this;if(!e)return;let n=!0;const r=function(e){const r=a._getDataItem(e,a.boundSource.length);if(a.dataItemById[r.$.id])return void 0!==t&&(r.$.parentId=t),null;a[a.boundSource.length]=r,a.dataItemById[r.$.id]=r;const i=a.boundSource.push(r);return void 0!==t&&(r.$.parentId=t),i||(n=!1),r};if(e.length){let t=[];for(let a=0;a<e.length;a++){const n=r(e[a]);n&&t.push(n)}a._notify({action:"add",data:t})}else{const t=r(e);a._notify({action:"add",data:t})}return a.refreshHierarchy(),n}refreshIndexes(){const e=this;for(let t=0;t<e.boundSource.length;t++)e[t]=e.boundSource[t],e[t].$.index=t,e.dataItemById[e[t].$.id]=e[t];let t=e.boundSource.length;for(;e[t];)delete e[t],t++}removeLast(){const e=this;delete e[e.boundSource.length-1];const t=e.boundSource.pop();return delete e.dataItemById[t.$.id],e._notify({action:"removeLast",data:t}),e.refreshHierarchy(),t}removeById(e){const t=this,a=t.indexOf(t.dataItemById[e]);t.boundSource[a]&&t.removeAt(a)}remove(e){const t=this;let a=t.indexOf(e);-1===a&&e&&e.$&&(a=t.indexOf(t.dataItemById[e.$.id]));t.boundSource[a]&&t.removeAt(a)}removeAt(e){const t=this,a=t.boundSource[e];if(!a)throw new Error("Invalid Item Index");t.boundSource.splice(e,1),delete t.dataItemById[a.$.id],t.refreshIndexes(),t._notify({action:"remove",index:e,data:a}),t.refreshHierarchy()}update(e,t){const a=this;if(JQX.Utilities.Types.isArray(e)&&JQX.Utilities.Types.isArray(t)&&0===e.length&&0===t.length)return void a.refreshHierarchy();if(t.length&&e.length){let n=[];for(let r=0;r<e.length;r++){const i=a._getDataItem(t[r],e[r]),o=e[r];n.push(i),a.boundSource[o]=i,a[o]=a.boundSource[o],a.dataItemById[i.$.id]=a[o]}return a._notify({action:"update",index:e,data:n}),void a.refreshHierarchy()}const n=a._getDataItem(t,e),r=a.boundSource[e].$.id;return n.$.id=r,a.boundSource[e]=n,a[e]=a.boundSource[e],a.dataItemById[n.$.id]=a[e],a._notify({action:"update",index:e,data:n}),a.refreshHierarchy(),n}insert(e,t){const a=this;if(t.length){const n=[];for(let r=0;r<t.length;r++){const i=a._getDataItem(t[r],e+r);n.push(i)}t=n}else t=a._getDataItem(t,e);const n=a.boundSource.splice(e,0,t);return a.refreshIndexes(),a._notify({action:"insert",index:e,data:t}),a.refreshHierarchy(),n}move(e,t){if(t>e&&t-e==1||e===t)return;const a=this,n=a.boundSource.splice(e,1)[0];t>e?(t--,a.boundSource.splice(t,0,n)):a.boundSource.splice(t,0,n),a.refreshIndexes(),a._notify({action:"move",index:t,data:a.boundSource[t]}),a.refreshHierarchy()}indexOf(e){return this.boundSource.indexOf(e)}get length(){const e=this;return void 0!==e.virtualDataSourceLength?e.virtualDataSourceLength:e.dataSourceLength?e.dataSourceLength:"number"==typeof e.dataSource?e.dataSource:e.bindingCompleted?e.boundSource.length:e.dataSource&&"string"!=typeof e.dataSource&&e.dataSource.length?e.dataSource.length:e.boundSource.length}clear(){const e=this;if(!e.isInitialized)return e._cachedValues=[],void(e.dataItemById=[]);for(let t=0;t<e.boundSource.length;t++)delete e[t];e._expandedRowIds=[],e._cachedValues=[],e.boundSource=e.observable?new JQX.ObservableArray:[],e.dataItemById=[],e.refreshHierarchy()}_getId(e,t,a){if(null===e||void 0===e.name||!e.name||!t.getAttribute){if(e&&e.toString().length>0&&t.getAttribute){let a=t.getAttribute(e);if(null!==a&&a.toString().length>0)return a.trim().split(" ").join("").replace(/([ #;?%&,.+*~\':'!^$[\]()=>|\/@])/g,"");{let a=e.split(this.mapChar);if(a.length>1){let e=t;for(let t=0;t<a.length;t++)void 0!==e&&(e=e[a[t]]);if(void 0!==e)return e}else if(void 0!==t[e])return t[e]}}return a}{let n=t.getAttribute(e.name);if(null!==n&&n.toString().length>0)return n;if(e.map)try{let a=t.getAttribute(e.map);if(null!==a&&a.toString().length>0)return a}catch(e){return a}}}_buildHierarchy(){const e=this;if(e.reservedNames){const t=e.reservedNames;t.leaf||(t.leaf="leaf"),t.parent||(t.parent="parent"),t.expanded||(t.expanded="expanded"),t.checked||(t.checked="checked"),t.selected||(t.selected="selected"),t.level||(t.level="level"),t.data||(t.data="data")}else e.reservedNames={leaf:"leaf",parent:"parent",expanded:"expanded",checked:"checked",selected:"selected",level:"level",icon:"icon",data:"data"};const t=e.reservedNames;if(e.childrenDataField){const a=[];for(let n=0;n<e.boundSource.length;n++){const r=JSON.parse(JSON.stringify(e.boundSource[n]));if(!r)continue;a.push(r);const i=function(a){const n=e.childrenDataField.split(e.mapChar);let r=null;if(n.length>1){let e=a;for(let t=0;t<n.length;t++)void 0!==e&&(e=e[n[t]]);r=e}else r=a.children;a.children=r,(null===a.children||void 0===a.children||a.children&&0===a.children.length)&&(a[t.leaf]=!0)};i(r),r[t.level]=0,r.$||(r.$={}),r[t.parent]=null,r[t.data]=r,void 0===r[t.expanded]&&(r[t.expanded]=!1,e.expandHierarchy&&(r[t.expanded]=!0));const o=function(a,n){if(n)for(let r=0;r<n.length;r++){let d=e._getDataItem(n[r],r);if(d){if(i(d),!e.id){const e=function(){const e=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)};return e()+e()};d.$.id=e()}d[t.level]=a[t.level]+1,d[t.parent]=a,d[t.data]=Object.assign({},d),a&&(a.children[r]=d),void 0===d[t.expanded]&&(d[t.expanded]=!1,e.expandHierarchy&&(d[t.expanded]=!0)),o(d,d.children)}}else a.children=new Array};o(r,r.children)}if(e.boundHierarchy=a,!e._boundSourceUpdate){for(let t=0;t<e.boundHierarchy.length;t++){const a=e.boundHierarchy[t];if(a.children){const t=function(a){if(e.dataItemById[a.$.id]||(e.boundSource.canNotify=!1,e.dataItemById[a.$.id]=a,e.boundSource.canNotify=!0),a.children)for(let e=0;e<a.children.length;e++){const n=a.children[e];n.children&&t(n)}};t(a)}}e._boundSourceUpdate=!0}}if(e.xmlRoot&&"xml"===e.dataSourceType&&(e.boundHierarchy=this._getHierarchy("uid","_parentuid","children",null,e.boundSource)),e.keyDataField&&e.parentDataField)return["keyDataField","parentDataField"].forEach((t=>{switch(e[t]){case"parent":e[t]="$"+e[t]}})),void(e.boundHierarchy=this._getHierarchy(e.keyDataField,e.parentDataField,"children",null,e.boundSource));e.groupBy&&e.groupBy.length>0?e.boundHierarchy=this._getGroupHierarchy(e.groupBy,"children","label",null,"data",null,"parent",e.boundSource):e.virtualDataSourceOnExpand&&(e.boundHierarchy=this._getHierarchy("id","parentId","children",null,e.boundSource))}_getGroupHierarchy(e,t,a,n,r,i,o,d,l){let s=this;l||(l=0);let c=s.reservedNames;const u=s.boundSource.canNotify;s.boundSource.canNotify=!1;const f=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()};let h=new Array;for(let t=0;t<e.length;t++)h[t]=f();t||(t="children"),a||(a="group"),r||(r="item"),o||(o="parent"),void 0===i&&(i="value");const p=new Array,g=new Array;let S=0;const y=function(t){let a=t;for(let n=0;n<e.length;n++){if(void 0===t[e[n]]){a=s._getDataItem(t,t.$.index);break}}if(n)for(let e in n){const t=n[e];t.name&&t.map&&(a[t.map]=a[t.name])}return a};let m=!1;for(let n=0;n<d.length;n++){let u=y(d[n]);u[c.leaf]=!1;let T=new Array,b=0;for(let t=0;t<e.length;t++){const a=e[t],n=u[a];null!=n?((""===n||void 0===n&&0===t)&&(m=!0),T[b++]={value:n,group:a,hash:h[t]}):(T[b++]={value:null,group:a,hash:h[t]},0===t&&(m=!0))}if(T.length!==e.length)break;let x=null,v="";for(let e=0;e<T.length;e++){const n=T[e].value,d=T[e].group;if(v=v+"_"+T[e].hash+"_"+n,void 0===g[v]||null===g[v]){if(null===x){x={$:{}},x[c.level]=0,x[c.leaf]=!1,x[o]=null,x[a]=n,x[r]=u,x.groupDataField=d,x[d]||(x[d]=x.data[d]),void 0!==u[c.expanded]?x[c.expanded]=u[c.expanded]:(x[c.expanded]=!1,s.expandHierarchy&&(x[c.expanded]=!0)),i&&(x[i]=u[i]),x[t]=new Array;let e=p.length+l;this.id&&"number"!=typeof u.$.id&&!isFinite(u.$.id)||(e="Item"+e),void 0===x.$.id&&(x.$.id=e),s._expandedRowIds[x.$.id]&&(x[c.expanded]=!0),s.expandHierarchy&&s._collapsedIds&&s._collapsedIds[x.$.id]&&(x[c.expanded]=!1),p[S++]=x}else{const e={$:{}};e[c.level]=x[c.level]+1,e[o]=x,e[a]=n,e[t]=new Array,e[r]=u,e.groupDataField=d,e[c.leaf]=!1,e[d]||(e[d]=e.data[d]),void 0!==u[c.expanded]?e[c.expanded]=u[c.expanded]:(e[c.expanded]=!1,s.expandHierarchy&&(e[c.expanded]=!0)),i&&(e[i]=u[i]),void 0===e.$.id&&(e.$.id=x.$.id+"_"+x[t].length),s.expandHierarchy&&s._collapsedIds&&s._collapsedIds[e.$.id]&&(e[c.expanded]=!1),s._expandedRowIds[e.$.id]&&(e[c.expanded]=!0),x[t][x[t].length]=e,x=e}g[v]=x}else x=g[v]}u&&(u[c.leaf]=!0),null!==x?(null===this.id?void 0===u.$.id&&(u.$.id=x.$.id+"_"+x[t].length):void 0===u.$.id&&-1===u.$.id.toString().indexOf(x.$.id)&&(u.$.id=x.$.id+"_"+u.$.id),u[o]=x,u[c.level]=x[c.level]+1,x[t][x[t].length]=u):void 0===u.$.id&&(u.$.id=f())}if(m){let e=null,t=!1;for(let a=0;a<p.length;a++){const n=p[a];if(!n[n.groupDataField]){e=n,e.$.id.toString().startsWith("Item")&&(t=!0),p.splice(a,1);break}}if(e&&(p.push(e),t))for(let e=0;e<p.length;e++){const t=p[e];t.$.id="Item"+e,Object.keys(s._expandedRowIds).length>0&&(s._expandedRowIds[t.$.id]?t[c.expanded]=!0:t[c.expanded]=!1,s.expandHierarchy&&(t[c.expanded]=!0,s._collapsedIds&&s._collapsedIds[t.$.id]&&(t[c.expanded]=!1)))}}return s.boundSource.canNotify=u,p}_getHierarchy(e,t,a,n,r){const i=this,o=new Array;let d=this.boundSource;if(r&&(d=r),0===this.boundSource.length)return null;const l=null!==a?a:"children";let s=new Array,c=d,u=c.length,f=i.reservedNames;const h=function(e){let t=e;if(n)for(let e in n){const a=n[e];a.name&&a.map&&(t[a.map]=t[a.name])}return t};for(let a=0;a<u;a++){let n=c[a],r=n[t],o=n[e];"parentId"===t&&(r=n.$.parentId),"id"===e&&(o=n.$.id),null===o&&(o=n[e]=n.$.id),n[l]=new Array,i.expandHierarchy&&void 0===n[f.expanded]&&(n[f.expanded]=i.expandHierarchy),s[o]={parentId:r,item:n}}for(let a=0;a<u;a++){const n=c[a];let r=n[t],i=n[e];if("parentId"===t&&(r=n.$.parentId),"id"===e&&(i=n.$.id),void 0!==s[r]){let e={parentId:r,item:s[i].item},t=s[r].item;t[l]||(t[l]=new Array);let a=t[l].length;e=e.item,f?e[f.parent]=t:e.parent=t;const n=h(e);t[l][a]=n,s[r].item=t,s[i].item=e}else{let e=s[i].item;f?void 0===e[f.parent]&&(e[f.parent]=null):void 0===e.parent&&(e.parent=null);const t=h(e);f?t[f.level]=0:t.level=0,o[o.length]=t}}if(0!==o.length){let e=function(t,a){for(let n=0;n<a.length;n++){const r=a[n];f?r[f.level]=t:r.level=t;const o=r[l];o&&o.length>0?(r.leaf=!1,e(t+1,o)):i.virtualDataSourceOnExpand?void 0===r.leaf&&(r.leaf=!1):f?r[f.leaf]=!0:r.leaf=!0}};e(0,o)}return o}summarize(e,t){const a=this;Array.isArray(e)||(e=[e]);let n=[];for(let t=0;t<e.length;t++){const a=e[t];for(let e in a){const t=a[e];n.push({dataField:e,functions:t})}}e=n;let r={},i=new Array;t||(t=a.boundSource);let o=t.length,d=0;if(0!==o&&void 0!==o){for(let a=0;a<o;a++){let n=t[a];if((!n||!n.$||!1!==n.$.filtered)&&n){d++;for(let t=0;t<e.length;t++){const o=e[t];let d=n[o.dataField];if(void 0!==d&&"uncategorized"!==d||(d=""),o.functions&&o.functions.length>0){r[o.dataField]=r[o.dataField]||{},i[o.dataField]=i[o.dataField]||0,i[o.dataField]++;const e=function(e){for(let t in e){let a=r[o.dataField][t];null==a&&(r[o.dataField][t]=0,a=0),"function"==typeof e[t]&&(a=e[t](a,d,o.dataField,n)),r[o.dataField][t]=a}},t=d;let l=parseFloat(d);l=!isNaN(l),t&&t.toDate&&(l=!1),"string"==typeof d&&d.startsWith("+")&&(l=!1),l&&(d=parseFloat(d)),"number"==typeof d&&isFinite(d)?o.functions.forEach((function(t){let n=r[o.dataField][t];if(null==n&&(n=0,"min"===t&&(n=9999999999999),"max"===t&&(n=-9999999999999),"median"===t&&(n=[])),"sum"===t||"avg"===t||"stdev"===t||"stdevp"===t||"var"===t||"varp"===t)n+=parseFloat(d);else if("product"===t)0===a?n=parseFloat(d):n*=parseFloat(d);else if("min"===t)n=Math.min(n,parseFloat(d));else if("max"===t)n=Math.max(n,parseFloat(d));else if("count"===t)n++;else if("median"===t)n.push(parseFloat(d));else if("blank"===t)n=r[o.dataField][t],null==n&&(n=0),d||n++;else if("filled"===t)n=r[o.dataField][t],null==n&&(n=0),void 0!==d&&n++;else if("unique"===t)n=r[o.dataField][t],null==n&&(n=[]),-1===n.indexOf(d)&&n.push(d);else if("status"===t)n=r[o.dataField][t],null==n&&(n=[]),n[d]||(n[d]=[]),n[d].push(d);else if("object"==typeof t)return void e(t);r[o.dataField][t]=n})):o.functions.forEach((function(t){if("min"===t||"max"===t||"count"===t||"product"===t||"sum"===t||"avg"===t||"stdev"===t||"stdevp"===t||"var"===t||"varp"===t){if(null===d&&"count"!==t)return!0;let e=r[o.dataField][t];return null==e&&(e=0),r[o.dataField][t]=e,!0}if("blank"===t){let e=r[o.dataField][t];null==e&&(e=0),d||e++,r[o.dataField][t]=e}else if("filled"===t){let e=r[o.dataField][t];null==e&&(e=0),d&&e++,r[o.dataField][t]=e}else if("unique"===t){let e=r[o.dataField][t];null==e&&(e=[]),-1===e.indexOf(d)&&e.push(d),r[o.dataField][t]=e}else if("status"===t){let e=r[o.dataField][t];null==e&&(e=[]),e[d]||(e[d]=[]),e[d].push(d),r[o.dataField][t]=e}"object"==typeof t&&e(t)}))}}}}for(let a=0;a<e.length;a++){const n=e[a];if(n.functions&&(!n.functions||0!==n.functions.length)){if(r[n.dataField]||(r[n.dataField]={},n.functions.forEach((function(e){r[n.dataField][e]=0}))),void 0!==r[n.dataField].avg){const e=r[n.dataField].avg,t=i[n.dataField];r[n.dataField].avg=0===t||void 0===t?0:e/t}else void 0!==r[n.dataField].count&&(r[n.dataField].count=d);if(void 0!==r[n.dataField].unique){const e=r[n.dataField].unique;r[n.dataField].unique=e.length}if(void 0!==r[n.dataField].status){const e=r[n.dataField].status;r[n.dataField].status=e}if(void 0!==r[n.dataField].median){let e=r[n.dataField].median;e.sort((function(e,t){return e-t})),r[n.dataField].median=.5*(e[Math.floor((e.length+1)/2)-1]+e[Math.ceil((e.length+1)/2)-1])}(r[n.dataField].stdev||r[n.dataField].stdevp||r[n.dataField].var||r[n.dataField].varp)&&n.functions.forEach((function(e){if("stdev"===e||"var"===e||"varp"===e||"stdevp"===e){const a=r[n.dataField][e],i=o,d=a/o;let l=0;for(let e=0;e<o;e++){let a=t[e][n.dataField];l+=(a-d)*(a-d)}let s="stdevp"===e||"varp"===e?i:i-1;0===s&&(s=1),"var"===e||"varp"===e?r[n.dataField][e]=l/s:"stdevp"!==e&&"stdev"!==e||(r[n.dataField][e]=Math.sqrt(l/s))}}))}}return r}}_getDataItem(e,t){const a=this,n={},r="number"==typeof a.dataSource||a.dataSourceLength;if(!e)return{$:{id:t,isEmpty:!0,index:t}};if("string"==typeof e&&(e={"":e}),r){for(let e=0;e<a.dataFields.length;e++){n[(a.dataFields?a.dataFields[e]:{}).name]=""}return n.$={},n.$.id=t,n.$.index=t,n}const i=e;if(void 0!==i.expanded&&(n.expanded=i.expanded,"true"===i.expanded||!0===i.expanded||1===i.expanded?n.expanded=!0:n.expanded=!1),a.childrenDataField?void 0!==i[a.childrenDataField]&&(n.children=i[a.childrenDataField]):void 0!==i.children?n.children=i.children:void 0!==i.items&&(n.children=i.items),void 0!==i.leaf&&(n.leaf=i.leaf),void 0!==i.level&&(n.level=i.level),a.keyDataField&&void 0!==i[a.keyDataField]&&(n[a.keyDataField]=i[a.keyDataField]),a.parentDataField&&void 0!==i[a.parentDataField]&&(n[a.parentDataField]=i[a.parentDataField]),0===a.dataFields.length){const t=Object.getOwnPropertyNames(e);for(let e=0;e<t.length;e++)"$"!==t[e]&&a.dataFields.push({name:t[e],dataType:"string"})}for(let t=0;t<a.dataFields.length;t++){const r=a.dataFields?a.dataFields[t]:{};let o="";if(null==r)continue;if(e.length&&(o=e[t]),r.map){let e=r.map.split(a.mapChar);if(e.length>0){let t=i;for(let a=0;a<e.length;a++)i&&t&&(t=t[e[a]]);o=t}else o=i[r.map]}null!=o?o=o.toString():void 0===o&&null!==o&&(o="");let d=!1;if(""===o&&(d=!0,o=e[r.name],void 0===r.dataType&&(r.dataType="any"),null!=o?"array"!==r.dataType&&("any"===r.dataType?o=Array.isArray(e[r.name])?[...e[r.name]]:"object"==typeof e[r.name]?Object.assign({},e[r.name]):e[r.name]:"date"!==r.dataType&&(o=o.toString())):o=void 0===o&&"any"===r.dataType?null:""),"[object Object]"===o&&r.map&&d&&(o=""),a._cachedValues[o+"_"+r.dataType])o=a._cachedValues[o+"_"+r.dataType];else{if("bool"===r.dataType||"boolean"===r.dataType)"true"===o||"1"===o?o=!0:"false"!==o&&"0"!==o||(o=!1);else if("number"===r.dataType)-1===o.indexOf(".")&&o.indexOf(",")>=0&&o.substring(1+o.indexOf(",")).length<3&&(o=o.replace(",",".")),o=a.$document.deserialize(""+o,r.dataType,!0);else if("date"===r.dataType){if(o&&"string"==typeof o&&o.indexOf("[")>=0){const e=JSON.parse(o);if(r.formatString&&JQX.Utilities.DateTime){const t=JQX.Utilities.DateTime.ParseDate(e[0],r.formatString),a=JQX.Utilities.DateTime.ParseDate(e[1],r.formatString);e[0]=t,e[1]=a}else{const t=a.$document.deserialize(""+e[0],r.dataType,!0),n=a.$document.deserialize(""+e[1],r.dataType,!0);e[0]=t,e[1]=n}o=e,n[r.name]=o;continue}if(r.formatString&&JQX.Utilities.DateTime){o=JQX.Utilities.DateTime.ParseDate(o,r.formatString)}else{const e=""+o;o=a.$document.deserialize(""+o,r.dataType,!0),o.getTime&&isNaN(o.getTime())&&(o=e,o=JQX.Utilities.DateTime.ParseDate(o))}}else"any"!==r.dataType&&(o="string"===r.dataType&&"null"===o?"null":a.$document.deserialize(""+o,r.dataType,!0));"any"!==r.dataType&&(a._cachedValues[o+"_"+r.dataType]=o)}"string"!==r.dataType&&"boolean"!==r.dataType&&"bool"!==r.dataType&&"any"!==r.dataType&&(isNaN(o)||o===-1/0||o===1/0)&&(o="date"===r.dataType||"number"===r.dataType?null:0),"parent"!==r.name&&"group"!==r.name&&"leaf"!==r.name&&"level"!==r.name?("string"===r.dataType&&/<.+?>/.test(o)&&o.replace&&("all"===a.sanitizeHTML?o=o.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;"):"blackList"===a.sanitizeHTML&&(o=window.JQX.Utilities.Core.sanitizeHTML(o),o.indexOf("<br")>=0&&(o=o.replaceAll("<br/>","\n\r"),o=o.replaceAll("<br>","\n\r")))),n[r.name]=o):n.$[r.name]=o}let o=t;if(a.id){if(o=i[a.id],void 0===o)if(void 0!==n[a.id]){if(o=n[a.id],""===o){const e=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)};o=e()+e()}}else{const e=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)};o=e()+e()}"object"==typeof o&&(o=t),i.$&&void 0!==i.$.id&&(o=i.$.id)}else if(!a.virtualDataSource&&a.dataItemById&&a.dataItemById[o])for(o=a.length;a.dataItemById[o];)o++;return n.$||(n.$={}),n.$.id=o,n.$.index=t,new Object(n)}_bindToArray(){const e=this,t="number"==typeof e.dataSource||e.dataSourceLength,a=[];e.boundSource.canNotify=!1;const n=t?"number"==typeof e.dataSource?e.dataSource:e.dataSource.length:e.observable?e.length:e.dataSource.length;for(let r=0;r<n;r++){const n=t?{}:e.dataSource[r],i=e._getDataItem(n,r);a.push(i)}if(t&&e.dataSourceLength&&e.dataSource.length>0)for(let t=0;t<e.dataSource.length;t++){const n=e.dataSource[t].cell,r=e.dataSource[t].value,i=n.replace(/[^0-9]/g,""),o=n.replace(/[0-9]/g,"");a[i-1][o]=r}e.boundSource=!1===e.observable||e.virtualDataSource?[]:new JQX.ObservableArray(a),e.observable&&(e.boundSource=new JQX.ObservableArray(a));for(let t=0;t<n;t++)e.observable?e[t]=e.boundSource[t]:e[t]=a[t],e.dataItemById[e[t].$.id]=e[t];!1===e.observable&&(e.boundSource=a),e.boundSource.canNotify=!0}_bindToICS(){const e=this,t=""+e.dataSource,a=e.rowDelimiter||"\n",n=t.split("\r"),r=[];let i=t.split(a),o=i.length;1===o&&n.length>1&&(i=n,o=i.length);const d=function(e,t){var a=/^(\d{4})(\d{2})(\d{2})(T(\d{2})(\d{2})(\d{2})Z)?$/.exec(e);if(!a)throw new Error("Invalid UNTIL value: "+e);return t?new Date(a[1],a[2]-1,a[3],0,0,0,0):new Date(Date.UTC(a[1],a[2]-1,a[3],a[5]||0,a[6]||0,a[7]||0))};for(let e=0;e<o;e++){const t=i[e].trim();if(t.indexOf("BEGIN:VEVENT")>=0)var l={};else if(l)if(t.indexOf("BEGIN:VALARM")>=0)var s={};else{if(s){if(t.indexOf("ACTION")>=0){s.ACTION=t.substring(t.indexOf("ACTION")+7);continue}if(t.indexOf("DESCRIPTION")>=0){s.DESCRIPTION=t.substring(t.indexOf("DESCRIPTION")+12);continue}if(t.indexOf("TRIGGER")>=0){s.TRIGGER=t.substring(t.indexOf("TRIGGER")+8);continue}if(t.indexOf("END:VALARM")>=0){l.ALARM||(l.ALARM=[]),l.ALARM.push(s),s=void 0;continue}}if(t.indexOf("SUMMARY")>=0)l.SUMMARY=t.substring(t.indexOf("SUMMARY")+8);else if(t.indexOf("LOCATION")>=0)l.LOCATION=t.substring(t.indexOf("LOCATION")+9);else if(t.indexOf("DESCRIPTION")>=0)l.DESCRIPTION=t.substring(t.indexOf("DESCRIPTION")+12);else if(t.indexOf("RRULE")>=0)l.RRULE=t.substring(t.indexOf("RRULE")+6);else if(t.indexOf("RECURRENCE-ID")>=0)l.RECURRENCEID=t.substring(t.indexOf("RECURRENCE-ID")+14);else if(t.indexOf("RECURRENCE-ID;VALUE=DATE")>=0)l.RECURRENCEID=t.substring(t.indexOf("RECURRENCE-ID;VALUE=DATE")+25);else if(t.indexOf("EXDATE;VALUE=DATE")>=0){const e=t.substring(t.indexOf("EXDATE;VALUE=DATE")+20);l.EXDATE=e}else if(t.indexOf("EXDATE")>=0){const e=t.substring(t.indexOf("EXDATE")+7);l.EXDATE=e}else t.indexOf("DTEND;VALUE=DATE")>=0?l.DTEND=d(t.substring(t.indexOf("DTEND;VALUE=DATE")+17),!0):t.indexOf("DTEND")>=0?l.DTEND=d(t.substring(t.indexOf("DTEND")+6)):t.indexOf("DTSTART;VALUE=DATE")>=0?l.DTSTART=d(t.substring(t.indexOf("DTSTART;VALUE=DATE")+19),!0):t.indexOf("DTSTART")>=0?l.DTSTART=d(t.substring(t.indexOf("DTSTART")+8)):t.indexOf("UID")>=0?l.uid=l.UID=t.substring(t.indexOf("UID")+4):t.indexOf("STATUS")>=0?l.STATUS=t.substring(t.indexOf("STATUS")+7):t.indexOf("TITLE")>=0?l.TITLE=t.substring(t.indexOf("TITLE")+6):t.indexOf("CATEGORIES")>=0?l.CATEGORIES=t.substring(t.indexOf("CATEGORIES")+11):t.indexOf("END:VEVENT")>=0&&(r.push(l),l.ALARM&&(l.ALARM=JSON.stringify(l.ALARM)),s=void 0)}}e.canNotify=!1,e.dataSource=r,e.canNotify=!0,e._bindToArray()}_bindToJSON(){const e=this,t=[],a=e.dataSource.length?e.dataSource:Object.entries(e.dataSource);e.boundSource.canNotify=!1;for(let n=0;n<a.length;n++){const r=a[n],i=e._getDataItem(r,n);t.push(i)}e.boundSource=!1===e.observable||e.virtualDataSource?[]:new JQX.ObservableArray(t);for(let t=0;t<e.length;t++)e[t]=e.boundSource[t],e.dataItemById[e[t].$.id]=e[t];!1===e.observable&&(e.boundSource=t),e.boundSource.canNotify=!0}sortBy(e,t,a){const n=this;if(!t)for(let a=0;a<n.dataFields.length;a++){const r=n.dataFields[a];if(r.name===e){t=r.dataType;break}}if(n.boundHierarchy){if((!e||0===e.length)&&n.groupBy.length>0)return void n.refreshHierarchy();const r=(e=>{let t=[];for(;e;){t=t.concat(e);for(let a=0;a<e.length;a++)e[a].children&&(t=t.concat(e[a].children));e=e.children}return t})(n.boundHierarchy);if(r){r.find((e=>{if(e.summaryRow)return e}))&&n.refreshHierarchy()}const i=function(r){n._sort(r,e,a,t);for(let n=0;n<r.length;n++){const o=r[n];o.children&&i(o.children,e,a,t)}};i(n.boundHierarchy)}else n._sort(n.boundSource,e,a,t)}_createFilter(e,t){const a={"=":"EQUAL","<>":"NOT_EQUAL","!=":"NOT_EQUAL",not_like:"DOES_NOT_CONTAIN",like:"CONTAINS","<":"LESS_THAN",">":"GREATER_THAN","<=":"LESS_THAN_OR_EQUAL",">=":"GREATER_THAN_OR_EQUAL",equal:"EQUAL","not equal":"NOT_EQUAL","less than":"LESS_THAN","greater than":"GREATER_THAN","greater than or equal":"GREATER_THAN_OR_EQUAL","less than or equal":"LESS_THAN_OR_EQUAL","starts with":"STARTS_WITH","ends with":"ENDS_WITH",notEqual:"NOT_EQUAL",not_equal:"NOT_EQUAL",lessThan:"LESS_THAN",greaterThan:"GREATER_THAN",greaterThanOrEqual:"GREATER_THAN_OR_EQUAL",lessThanOrEqual:"LESS_THAN_OR_EQUAL",less_than:"LESS_THAN",greater_than:"GREATER_THAN",greater_than_or_equal:"GREATER_THAN_OR_EQUAL",less_than_or_equal:"LESS_THAN_OR_EQUAL",null:"null","":"EMPTY",isblank:"EMPTY",isnotblank:"NOT_EMPTY",isBlank:"EMPTY",isNotBlank:"NOT_EMPTY",CONTAINS:"CONTAINS",DOES_NOT_CONTAIN:"DOES_NOT_CONTAIN",contains:"CONTAINS",does_not_contain:"DOES_NOT_CONTAIN","not contains":"DOES_NOT_CONTAIN",notcontains:"DOES_NOT_CONTAIN",notContains:"DOES_NOT_CONTAIN",startswith:"STARTS_WITH",endswith:"ENDS_WITH",starts_with:"STARTS_WITH",ends_with:"ENDS_WITH",startsWith:"STARTS_WITH",endsWith:"ENDS_WITH",NULL:"NULL",NOT_NULL:"NOT_NULL"};let n=[];"string"==typeof t&&(t=[t]);for(let e=0;e<t.length;e++){let a=t[e];const r=-1===a.indexOf('"')?a.split(" "):a.split('"');let i=[];for(let e=0;e<r.length;e++){const t=r[e];if(""!==t&&" "!==t){if("true"===t.trim()){i.push(!0);continue}if("false"===t.trim()){i.push(!1);continue}if("NULL"===t.trim()){i.push("NULL"),i.push("");continue}if("NOT_NULL"===t.trim()){i.push("NOT_NULL"),i.push("");continue}if(t.indexOf(" GMT")>=0)i.push(t.trim());else if(t.indexOf("OR ")>=0||t.indexOf("AND ")>=0||t.indexOf("or ")>=0||t.indexOf("and ")>=0||t.indexOf("1 ")>=0||t.indexOf("0 ")>=0||t.indexOf("| ")>=0||t.indexOf("& ")>=0){const e=t.trim().split(" ");if(e.length>1){const t=e[0].trim(),a=e[1].trim();"1"===t?i.push("or"):"0"===t?i.push("and"):i.push(t),i.push(a)}else i.push(t.trim())}else i.push(t.trim())}}n.push(i)}const r=new JQX.FilterGroup,i=[],o=[];for(let t=0;t<n.length;t++){const r=n[t];if(r.length>1){const t=new JQX.FilterGroup;let n=r.length>2?"":"and",i=0,d=[];for(let o=0;o<r.length;o++){let l=r[o];if("and"!==l&&"or"!==l&&"AND"!==l&&"OR"!==l){if(i++,2===i){let s=a[r[o-1]];s||(s=r[o-1]),"number"===e&&(l=parseFloat(l)),"date"===e&&(l=new Date(l));const c=t.createFilter(e,l,s);if(i=0,d.push(c),n){for(let e=0;e<d.length;e++)t.addFilter(n,d[e]);d=[]}}}else n=l}o.push(t)}else{let e=r[0];if(e&&a[e]&&(e="and"),"and"!==e&&"or"!==e)throw new Error('Filter Exprresion expects "AND" or "OR", but the token is: '+e);i.push(e)}}let d=0;if(1===o.length)return o[0];for(let e=0;e<o.length;e++){let t=i[d];(e+1)%2==0&&d++,t||(t="and"),r.addFilter(t,o[e])}return r}filterBy(e,...t){const a=this,n=(()=>{for(let t=0;t<a.dataFields.length;t++){const n=a.dataFields[t];if(n.name===e)return n.dataType}})(),r=a._createFilter(n,t);return a.boundSource.filter((t=>r.evaluate(t[e])))}_filter(e,t="and"){const a=this,n=[],r=[];if(0===e.length)return void a.clearFilter();const i=e=>{for(let t=0;t<a.dataFields.length;t++){const n=a.dataFields[t];if(n.name===e)return n.dataType}};let o,d;"and"===t?(o=!0,d=function(e,t,a){return e&&t.evaluate(a[t.dataField])}):(o=!1,d=function(e,t,a){return e||t.evaluate(a[t.dataField])});for(let t=0;t<e.length;t++){const o=e[t],d=o[0];let l=null;l=o[1]instanceof JQX.FilterGroup?o[1]:a._createFilter(i(d),o.splice(1)),l&&(r.push(d),l.dataField=d,n.push(l))}if(a.boundHierarchy){const e=function(e){let t=o;for(let a=0;a<n.length;a++){const r=n[a];t=d(t,r,e)}return e.$.filtered=t,t},t=function(n,r,i){let o=0;for(let a=0;a<n.length;a++){const i=n[a];e(i),i.$.filtered&&o++,i.children&&t(i.children,i,r)}o>0&&a.groupBy.length>0&&r?(r.$.filtered=!0,i&&!i.$.filtered&&(i.$.filtered=!0)):o>0&&o!==n.length&&r?(r.$.filtered=null,i&&!i.$.filtered&&(i.$.filtered=null)):o>0&&o===n.length&&r&&(r.$.filtered=!0,i&&!i.$.filtered&&(i.$.filtered=!0))};t(a.boundHierarchy,null,null)}else for(let e=0;e<a.boundSource.length;e++){const t=a.boundSource[e];let r=o;for(let e=0;e<n.length;e++){const a=n[e];r=d(r,a,t)}t.$.filtered=r}a.onFilter&&a.onFilter()}clearGroup(){const e=this;e.groupBy=[],e.boundHierarchy=null,e.refreshHierarchy(),e.onGroup&&e.onGroup()}clearFilter(){const e=this;for(let t=0;t<e.boundSource.length;t++){e.boundSource[t].$.filtered=!0}if(e.boundHierarchy){const t=function(e,a,n){for(let n=0;n<e.length;n++){const r=e[n];r.$.filtered=!0,r.$.filtered,r.children&&t(r.children,r,a)}a&&(a.$.filtered=!0,n&&!n.$.filtered&&(n.$.filtered=!0))};t(e.boundHierarchy,null,null)}e.onFilter&&e.onFilter()}clearSort(){this._sort(this.boundSource,[],[],[])}_sort(e,t,a,n,r,i){const o=this;let d=!1;if(0===e.length)return;if(e&&e.constructor&&e instanceof JQX.ObservableArray&&(d=!0),(!e||!Array.isArray(e)||0===e.length||!t||Array.isArray(t)&&0===t.length)&&!d&&!o.boundHierarchy){if(o.virtualDataSource)return;throw new Error("sort: Missing or Invalid arguments!")}"string"==typeof t&&(t=[t]);const l=[],s=[];void 0===a&&(a=[]);const c=function(e,t){let a;switch(t||typeof e){case"string":a=(new Intl.Collator).compare;break;case"number":case"int":case"bigInt":case"float":case"double":a=function(e,t){return e-t};break;case"boolean":case"bool":a=function(e,t){return e===t?0:!1===e?-1:1};break;case"date":case"time":case"dateTime":a=e instanceof Date?function(e,t){return e||t?e?t?e.getTime()-t.getTime():1:-1:0}:e instanceof JQX.Utilities.DateTime||e instanceof JQX.Utilities.BigNumber?function(e,t){return e.compare(t)}:function(e,t){return e-t};break;case"object":if(e instanceof Date)a=function(e,t){return e||t?e?t?e.getTime()-t.getTime():1:-1:0};else if(e instanceof JQX.Utilities.DateTime||e instanceof JQX.Utilities.BigNumber)a=function(e,t){return e.compare(t)};else if(e instanceof JQX.Utilities.Complex||window.NIComplex&&e instanceof window.NIComplex){const e=new JQX.Utilities.ComplexNumericProcessor;a=function(t,a){return e.compareComplexNumbers(t,a)}}}return a};for(let r=0;r<t.length;r++){void 0===a[r]||"asc"===a[r]||"ascending"===a[r]?l[r]=1:l[r]=-1;let d=e[0][t[r]];if(void 0===d&&e[0]&&e[0].children&&e[0].data&&(d=e[0].data[t[r]]),i&&i){const e=t[r];if(i[e]){s[r]=i[e];continue}}o.sortComparators&&o.sortComparators[t[r]]?s[r]=o.sortComparators[t[r]]:s[r]=c(d,n[r])}t.length>0&&r?r(e,t,a,s):e.sort((function(e,a){for(let n=0;n<t.length;n++){const r=s[n](e[t[n]],a[t[n]],e,a);if(0===r){if(t[n+1])continue;return void 0!==e.$.index?(e.$.index-a.$.index)*l[n]:0}return r*l[n]}if(0===t.length)return e.$.index<a.$.index?-1:e.$.index>a.$.index?1:0}));for(let t=0;t<e.length;t++)o[t]=e[t]}static Filter(e,t,a,n,r="and"){let i,o;"and"===r?(i=!0,o=function(e,t,a,r){return n?e&&n(t,a,r):e&&r.evaluate(t[a])}):(i=!1,o=function(e,t,a,r){return n?e||n(t,a,r):e||r.evaluate(t[a])});return e.filter((e=>{let n=i;for(let r=0;r<a.length;r++){const i=a[r],d=t[r];n=o(n,e,d,i)}return n}))}filter(e,t,a){JQX.DataAdapter.Filter(this.boundSource,e,t,a)}sort(e,t,a){JQX.DataAdapter.Sort(this.boundSource,e,t,a)}static Sort(e,t,a,n){const r=function(e){let t;switch(typeof e){case"string":if(e.indexOf("-")>=0||e.indexOf("/")>=0){const t=new Date(e);if(t&&"Invalid Date"!==t.toString()){return function(e,t){const a=new Date(e),n=new Date(t);return a||n?a?n?a.getTime()-n.getTime():1:-1:0}}}t=(new Intl.Collator).compare;break;case"number":t=function(e,t){return e-t};break;case"boolean":t=function(e,t){return e===t?0:!1===e?-1:1};break;case"object":if(e instanceof Date)t=function(e,t){return e||t?e?t?e.getTime()-t.getTime():1:-1:0};else if(e instanceof JQX.Utilities.DateTime||e instanceof JQX.Utilities.BigNumber)t=function(e,t){return e.compare(t)};else if(e instanceof JQX.Utilities.Complex||window.NIComplex&&e instanceof window.NIComplex){const e=new JQX.Utilities.ComplexNumericProcessor;t=function(t,a){return e.compareComplexNumbers(t,a)}}else t=function(e,t){return e-t}}return t};if(!e||!Array.isArray(e)||0===e.length||!t||Array.isArray(t)&&0===t.length)return;"string"==typeof t&&(t=[t]);const i=[],o=[];void 0===a&&(a=[]);for(let n=0;n<t.length;n++)void 0===a[n]||"asc"===a[n]||"ascending"===a[n]?i[n]=1:i[n]=-1,o[n]=r(e[0][t[n]]);if(n)return void n(e,t,a,o);const d=e.slice(0);return d.sort((function(e,a){for(let n=0;n<t.length;n++){const r=o[n](e[t[n]],a[t[n]]);if(0===r){if(t[n+1])continue;return void 0!==e._index?(e._index-a._index)*i[n]:0}return r*i[n]}})),d}};class e{constructor(e,t){const a=this;a.config=e,a.callback=t,!1!==e.autoFetch&&a.call(e)}call(e){const t=this;e||(e=t.config);let a="GET",n=e.url,r=null,i=!0;if(e.type&&(a=e.type),e.data)if("GET"===a){n+="?";for(let t in e.data)Object.prototype.hasOwnProperty.call(e.data,t)&&(n+=encodeURI(t+"="+e.data[t]+"&"));"&"===n.charAt(n.length-1)&&(n=n.slice(0,n.length-1))}else"POST"===a&&(r=JSON.stringify(e.data));e&&!1===e.async&&"xlsx"!==e.dataSourceType&&(i=!1),void 0!==window.fetch&&i?t.ajaxFetch(e,a,n,r):t.ajaxXMLHttpRequest(e,a,n,r,i)}ajaxFetch(e,t,a,n){const r=this,i={method:t};let o,d,l,s;switch(e.dataSourceType){case"json":o="json";break;case"xlsx":o="arrayBuffer";break;default:o="text"}if(e&&e.contentType&&(i.headers=new Headers({"Content-Type":e.contentType})),null!==n&&(i.body=n),e.timeout&&(l=setTimeout((function(){s=!0}),e.timeout)),e.beforeSend){if(!1===e.beforeSend(i,e))return}fetch(a,i).then((function(e){if(s)throw d=408,new Error("timeout");if(l&&clearTimeout(l),d=e.status,!e.ok)throw new Error(e.statusText);return e[o]()})).then((function(t){if("arrayBuffer"===o)return JSZip.loadAsync(t).then((function(t){return t.files["xl/worksheets/sheet1.xml"].async("text").then((function(a){return t.files["xl/sharedStrings.xml"].async("text").then((function(t){const n=r.parseXLSXData(a,t);r.ajaxComplete(e,n,d)}))}))}));r.ajaxComplete(e,t,d)})).catch((function(t){"JSZip is not defined"===t.message&&(t.message="JSZip is not defined. Please include a reference to JSZip to be able to load data from XLSX files."),e&&e.loadError&&e.loadError(d,t),r.callback&&r.callback(t,d)}))}ajaxXMLHttpRequest(e,t,a,n,r){const i=new XMLHttpRequest,o=this;if(i.open(t,a,r),i.ontimeout=function(){e&&e.loadError&&e.loadError(408,"timeout")},i.onload=function(){if(4===i.readyState){const t=i.status;let a=i.response;t>=200&&t<=299?("json"===e.dataSourceType&&(a=JSON.parse(a)),o.ajaxComplete(e,a,t)):e&&e.loadError&&e.loadError(t,a)}},i.onerror=function(){e&&e.loadError&&e.loadError(i.status,i.response)},e&&e.contentType&&i.setRequestHeader("Content-Type",e.contentType),r&&e.timeout&&(i.timeout=e.timeout),e.beforeSend){if(!1===e.beforeSend(i,e))return}i.send(n)}ajaxComplete(e,t,a){if(e){if(e.beforeLoadComplete){const a=e.beforeLoadComplete(t);a&&(t=a)}e.loadComplete&&e.loadComplete(t,a),this.callback&&this.callback(t,a)}}parseXLSXData(e,t){const a=new DOMParser,n=a.parseFromString(t,"text/xml"),r=Array.from(n.getElementsByTagName("si")),i=[],o=a.parseFromString(e,"text/xml"),d=Array.from(o.getElementsByTagName("row")),l=[];return r.forEach((function(e){let t=e.getElementsByTagName("t");if(1===t.length)i.push(t[0].innerHTML);else{let e="";t=Array.from(t),t.forEach((function(t){e+=t.innerHTML})),i.push(e)}})),d.forEach((function(e){const t={};Array.from(e.getElementsByTagName("c")).forEach((function(e){const a=e.getAttribute("r").match(/\D+/)[0],n=e.getAttribute("t"),r=e.getElementsByTagName("v")[0].innerHTML;let o;switch(n){case"s":o=i[parseFloat(r)];break;case"b":o=1===parseFloat(r);break;default:o=parseFloat(r)}t[a]=o})),l.push(t)})),l}}JQX.Ajax=window.Ajax=e})();

/***/ }),

/***/ 2052:
/***/ (() => {

(()=>{const e=-1*(new Date).getTimezoneOffset(),t=[{id:"Local",offset:e,offsetHours:e/60,displayName:"",supportsDaylightSavingTime:!1},{id:"Dateline Standard Time",offset:-720,offsetHours:-12,displayName:"(UTC-12:00) International Date Line West",supportsDaylightSavingTime:!1},{id:"UTC-11",offset:-660,offsetHours:-11,displayName:"(UTC-11:00) Coordinated Universal Time-11",supportsDaylightSavingTime:!1},{id:"Hawaiteratoran Standard Time",offset:-600,offsetHours:-10,displayName:"(UTC-10:00) Hawaiterator",supportsDaylightSavingTime:!1},{id:"Alaskan Standard Time",offset:-540,offsetHours:-9,displayName:"(UTC-09:00) Alaska",supportsDaylightSavingTime:!0},{id:"Pacific Standard Time (Mexico)",offset:-480,offsetHours:-8,displayName:"(UTC-08:00) Baja California",supportsDaylightSavingTime:!0},{id:"Pacific Standard Time",offset:-480,offsetHours:-8,displayName:"(UTC-08:00) Pacific Time (US & Canada)",supportsDaylightSavingTime:!0},{id:"US Mountain Standard Time",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Arizona",supportsDaylightSavingTime:!1},{id:"Mountain Standard Time (Mexico)",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Chihuahua, La Paz, Mazatlan",supportsDaylightSavingTime:!0},{id:"Mountain Standard Time",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Mountain Time (US & Canada)",supportsDaylightSavingTime:!0},{id:"Central Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Central Time (US & Canada)",supportsDaylightSavingTime:!0},{id:"Central America Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Central America",supportsDaylightSavingTime:!1},{id:"Canada Central Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Saskatchewan",supportsDaylightSavingTime:!1},{id:"Central Standard Time (Mexico)",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Guadalajara, Mexico City, Monterrey",supportsDaylightSavingTime:!0},{id:"SA Pacific Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Bogota, Lima, Quito, Rio Branco",supportsDaylightSavingTime:!1},{id:"Eastern Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Eastern Time (US & Canada)",supportsDaylightSavingTime:!0},{id:"US Eastern Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Indiana (East)",supportsDaylightSavingTime:!0},{id:"Venezuela Standard Time",offset:-270,offsetHours:-4.5,displayName:"(UTC-04:30) Caracas",supportsDaylightSavingTime:!1},{id:"Atlantic Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Atlantic Time (Canada)",supportsDaylightSavingTime:!0},{id:"Paraguay Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Asuncion",supportsDaylightSavingTime:!0},{id:"Central Brazilian Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Cuiaba",supportsDaylightSavingTime:!0},{id:"Pacific SA Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Santiago",supportsDaylightSavingTime:!0},{id:"SA Western Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Georgetown, La Paz, Manaus, San Juan",supportsDaylightSavingTime:!1},{id:"Newfoundland Standard Time",offset:-210,offsetHours:-3.5,displayName:"(UTC-03:30) Newfoundland",supportsDaylightSavingTime:!0},{id:"SA Eastern Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Cayenne, Fortaleza",supportsDaylightSavingTime:!1},{id:"Argentina Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Buenos Aires",supportsDaylightSavingTime:!0},{id:"E. South America Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Brasilia",supportsDaylightSavingTime:!0},{id:"Bahia Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Salvador",supportsDaylightSavingTime:!0},{id:"Montevideo Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Montevideo",supportsDaylightSavingTime:!0},{id:"Greenland Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Greenland",supportsDaylightSavingTime:!0},{id:"UTC-02",offset:-120,offsetHours:-2,displayName:"(UTC-02:00) Coordinated Universal Time-02",supportsDaylightSavingTime:!1},{id:"Mid-Atlantic Standard Time",offset:-120,offsetHours:-2,displayName:"(UTC-02:00) Mid-Atlantic - Old",supportsDaylightSavingTime:!0},{id:"Azores Standard Time",offset:-60,offsetHours:-1,displayName:"(UTC-01:00) Azores",supportsDaylightSavingTime:!0},{id:"Cape Verde Standard Time",offset:-60,offsetHours:-1,displayName:"(UTC-01:00) Cape Verde Is.",supportsDaylightSavingTime:!1},{id:"Morocco Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Casablanca",supportsDaylightSavingTime:!0},{id:"UTC",offset:0,offsetHours:0,displayName:"(UTC) Coordinated Universal Time",supportsDaylightSavingTime:!1},{id:"GMT Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Dublin, Edinburgh, Lisbon, London",supportsDaylightSavingTime:!0},{id:"Greenwich Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Monrovia, Reykjavik",supportsDaylightSavingTime:!1},{id:"Central European Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb",supportsDaylightSavingTime:!0},{id:"Namibia Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Windhoek",supportsDaylightSavingTime:!0},{id:"W. Central Africa Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) West Central Africa",supportsDaylightSavingTime:!1},{id:"W. Europe Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",supportsDaylightSavingTime:!0},{id:"Central Europe Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague",supportsDaylightSavingTime:!0},{id:"Romance Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris",supportsDaylightSavingTime:!0},{id:"FLE Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius",supportsDaylightSavingTime:!0},{id:"South Africa Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Harare, Pretoria",supportsDaylightSavingTime:!1},{id:"Turkey Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Istanbul",supportsDaylightSavingTime:!0},{id:"GTB Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Athens, Bucharest",supportsDaylightSavingTime:!0},{id:"Libya Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Tripoli",supportsDaylightSavingTime:!0},{id:"E. Europe Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) E. Europe",supportsDaylightSavingTime:!0},{id:"Jordan Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Amman",supportsDaylightSavingTime:!0},{id:"Middle East Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Beirut",supportsDaylightSavingTime:!0},{id:"Egypt Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Cairo",supportsDaylightSavingTime:!0},{id:"Syria Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Damascus",supportsDaylightSavingTime:!0},{id:"Israel Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Jerusalem",supportsDaylightSavingTime:!0},{id:"Arab Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Kuwait, Riyadh",supportsDaylightSavingTime:!1},{id:"E. Africa Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Nairobi",supportsDaylightSavingTime:!1},{id:"Arabic Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Baghdad",supportsDaylightSavingTime:!0},{id:"Kaliningrad Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Kaliningrad, Minsk",supportsDaylightSavingTime:!0},{id:"Iran Standard Time",offset:210,offsetHours:3.5,displayName:"(UTC+03:30) Tehran",supportsDaylightSavingTime:!0},{id:"Mauritius Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Port Louis",supportsDaylightSavingTime:!0},{id:"Georgian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Tbilisi",supportsDaylightSavingTime:!1},{id:"Caucasus Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Yerevan",supportsDaylightSavingTime:!0},{id:"Arabian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Abu Dhabi, Muscat",supportsDaylightSavingTime:!1},{id:"Azerbaijan Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Baku",supportsDaylightSavingTime:!0},{id:"Russian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Moscow, St. Petersburg, Volgograd",supportsDaylightSavingTime:!0},{id:"Afghanistan Standard Time",offset:270,offsetHours:4.5,displayName:"(UTC+04:30) Kabul",supportsDaylightSavingTime:!1},{id:"Pakistan Standard Time",offset:300,offsetHours:5,displayName:"(UTC+05:00) Islamabad, Karachi",supportsDaylightSavingTime:!0},{id:"West Asia Standard Time",offset:300,offsetHours:5,displayName:"(UTC+05:00) Ashgabat, Tashkent",supportsDaylightSavingTime:!1},{id:"India Standard Time",offset:330,offsetHours:5.5,displayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",supportsDaylightSavingTime:!1},{id:"Sri Lanka Standard Time",offset:330,offsetHours:5.5,displayName:"(UTC+05:30) Sri Jayawardenepura",supportsDaylightSavingTime:!1},{id:"Nepal Standard Time",offset:345,offsetHours:5.75,displayName:"(UTC+05:45) Kathmandu",supportsDaylightSavingTime:!1},{id:"Central Asia Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Astana",supportsDaylightSavingTime:!1},{id:"Bangladesh Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Dhaka",supportsDaylightSavingTime:!0},{id:"Ekaterinburg Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Ekaterinburg",supportsDaylightSavingTime:!0},{id:"Myanmar Standard Time",offset:390,offsetHours:6.5,displayName:"(UTC+06:30) Yangon (Rangoon)",supportsDaylightSavingTime:!1},{id:"SE Asia Standard Time",offset:420,offsetHours:7,displayName:"(UTC+07:00) Bangkok, Hanoi, Jakarta",supportsDaylightSavingTime:!1},{id:"N. Central Asia Standard Time",offset:420,offsetHours:7,displayName:"(UTC+07:00) Novosibirsk",supportsDaylightSavingTime:!0},{id:"Ulaanbaatar Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Ulaanbaatar",supportsDaylightSavingTime:!1},{id:"China Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi",supportsDaylightSavingTime:!1},{id:"Singapore Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Kuala Lumpur, Singapore",supportsDaylightSavingTime:!1},{id:"North Asia Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Krasnoyarsk",supportsDaylightSavingTime:!0},{id:"Taipei Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Taipei",supportsDaylightSavingTime:!1},{id:"W. Australia Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Perth",supportsDaylightSavingTime:!0},{id:"Korea Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Seoul",supportsDaylightSavingTime:!1},{id:"North Asia East Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Irkutsk",supportsDaylightSavingTime:!0},{id:"Tokyo Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Osaka, Sapporo, Tokyo",supportsDaylightSavingTime:!1},{id:"AUS Central Standard Time",offset:570,offsetHours:9.5,displayName:"(UTC+09:30) Darwin",supportsDaylightSavingTime:!1},{id:"Cen. Australia Standard Time",offset:570,offsetHours:9.5,displayName:"(UTC+09:30) Adelaide",supportsDaylightSavingTime:!0},{id:"West Pacific Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Guam, Port Moresby",supportsDaylightSavingTime:!1},{id:"Tasmania Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Hobart",supportsDaylightSavingTime:!0},{id:"E. Australia Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Brisbane",supportsDaylightSavingTime:!1},{id:"AUS Eastern Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Canberra, Melbourne, Sydney",supportsDaylightSavingTime:!0},{id:"Yakutsk Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Yakutsk",supportsDaylightSavingTime:!0},{id:"Vladivostok Standard Time",offset:660,offsetHours:11,displayName:"(UTC+11:00) Vladivostok",supportsDaylightSavingTime:!0},{id:"Central Pacific Standard Time",offset:660,offsetHours:11,displayName:"(UTC+11:00) Solomon Is., New Caledonia",supportsDaylightSavingTime:!1},{id:"Magadan Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Magadan",supportsDaylightSavingTime:!0},{id:"Kamchatka Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Petropavlovsk-Kamchatsky - Old",supportsDaylightSavingTime:!0},{id:"Fiji Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Fiji",supportsDaylightSavingTime:!0},{id:"New Zealand Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Auckland, Wellington",supportsDaylightSavingTime:!0},{id:"UTC+12",offset:720,offsetHours:12,displayName:"(UTC+12:00) Coordinated Universal Time+12",supportsDaylightSavingTime:!1},{id:"Tonga Standard Time",offset:780,offsetHours:13,displayName:"(UTC+13:00) Nuku'alofa",supportsDaylightSavingTime:!1},{id:"Samoa Standard Time",offset:780,offsetHours:13,displayName:"(UTC+13:00) Samoa",supportsDaylightSavingTime:!0}],a=[0,31,59,90,120,151,181,212,243,273,304,334,365],s=[0,31,60,91,121,152,182,213,244,274,305,335,366];JQX.Utilities.Assign("TimeSpan",class{constructor(){const e=this;if(e.ticksPerMillisecond=1e4,e.millisecondsPerTick=1e-4,e.ticksPerSecond=1e7,e.secondsPerTick=1e-7,e.ticksPerMinute=6e8,e.minutesPerTick=1/6e8,e.ticksPerHour=36e9,e.hoursPerTick=1/36e9,e.ticksPerDay=864e9,e.daysPerTick=1/864e9,e.millisPerSecond=1e3,e.millisPerMinute=6e4,e.millisPerHour=36e5,e.millisPerDay=864e5,e._ticks=0,1===arguments.length){if(isNaN(arguments[0]))throw new Error("Argument must be a number.");e._ticks=arguments[0]}else if(3===arguments.length)e._ticks=e.timeToMS(arguments[0],arguments[1],arguments[2],0);else if(4===arguments.length){const t=1e3*(3600*arguments[0]*24+3600*arguments[1]+60*arguments[2]+arguments[3])+0;e._ticks=t*e.ticksPerMillisecond}else if(5===arguments.length){const t=1e3*(3600*arguments[0]*24+3600*arguments[1]+60*arguments[2]+arguments[3])+arguments[4];e._ticks=t*e.ticksPerMillisecond}}ticks(){return this._ticks}days(){return parseInt(this._ticks/this.ticksPerDay)}timeToMS(e,t,a,s){return parseInt((3600*e+60*t+a+s/1e3)*this.ticksPerSecond)}hours(){return parseInt(this._ticks/this.ticksPerHour)%24}milliseconds(){return parseInt(this._ticks/this.ticksPerMillisecond)%1e3}minutes(){return parseInt(this._ticks/this.ticksPerMinute)%60}seconds(){return parseInt(this._ticks/this.ticksPerSecond)%60}totalDays(){return parseInt(this._ticks*this.daysPerTick)}totalHours(){return parseInt(this._ticks*this.hoursPerTick)}totalMilliseconds(){const e=this._ticks*this.millisecondsPerTick;return parseInt(e)}totalMinutes(){return parseInt(this._ticks*this.minutesPerTick)}totalSeconds(){return parseInt(this._ticks*this.secondsPerTick)}add(e){const t=this._ticks+e._ticks;return new JQX.Utilities.TimeSpan(t)}subtract(e){const t=this._ticks-e._ticks;return new JQX.Utilities.TimeSpan(t)}duration(){const e=this;return e._ticks>=0?new JQX.Utilities.TimeSpan(e._ticks):new JQX.Utilities.TimeSpan(-e._ticks)}equals(e){return this._ticks===e._ticks}valueOf(){return this._ticks}compare(e,t){return e._ticks>t._ticks?1:e._ticks<t._ticks?-1:0}interval(e,t){const a=e*t+(e>=0?.5:-.5);return new JQX.Utilities.TimeSpan(a*this.ticksPerMillisecond)}fromDays(e){return this.interval(e,this.millisPerDay)}fromHours(e){return this.interval(e,this.millisPerHour)}fromMilliseconds(e){return this.interval(e,1)}fromMinutes(e){return this.interval(e,this.millisPerMinute)}fromSeconds(e){return this.interval(e,this.millisPerSecond)}fromTicks(e){return new JQX.Utilities.TimeSpan(e)}toString(){return this.totalMilliseconds().toString()}negate(){return new JQX.Utilities.TimeSpan(-this._ticks)}}),JQX.Utilities.Assign("DateTime",class{constructor(){function e(e){const t=i.regexISOString.exec(e);r=new JQX.Utilities.DateTime(parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3]),parseFloat(t[4]),parseFloat(t[5]),parseFloat(t[6]),parseFloat(t[7]),0,0,0,0,0,0,0,"UTC")}const i=this;let r;if(i.ticksPerMillisecond=1e4,i.millisecondsPerTick=1e-4,i.ticksPerSecond=1e7,i.secondsPerTick=1e-7,i.ticksPerMinute=6e8,i.minutesPerTick=1/6e8,i.ticksPerHour=36e9,i.hoursPerTick=1/36e9,i.ticksPerDay=864e9,i.daysPerTick=1/864e9,i.millisPerSecond=1e3,i.millisPerMinute=6e4,i.millisPerHour=36e5,i.millisPerDay=864e5,i.daysPerYear=365,i.daysPer4Years=1461,i.daysPer100Years=36524,i.daysPer400Years=146097,i.daysTo1601=584388,i.daysTo1899=693593,i.daysTo10000=3652059,i.minTicks=0,i.maxTicks=3155378976e9,i.maxMillis=3155378976e5,i.datePartYear=0,i.datePartDayOfYear=1,i.datePartMonth=2,i.datePartDay=3,i.daysToMonth365=a,i.daysToMonth366=s,i.minValue=new Date(0),i.maxValue=new Date(3155378976e9),i.ticksMask=0x4000000000000000,i.flagsMask=0xc000000000000000,i.localMask=0x8000000000000000,i.ticksCeiling=0x4000000000000000,i.kindUnspecified=0,i.kindUtc=0x4000000000000000,i.kindLocal=0x8000000000000000,i.kindLocalAmbiguousDst=0xc000000000000000,i.kindShift=62,i.regexTrim=/^\s+|\s+$/g,i.regexInfinity=/^[+-]?infinity$/i,i.regexHex=/^0x[a-f0-9]+$/i,i.regexParseFloat=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/,i.regexISOString=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).(\d{3})Z$/,i.calendar={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy'-'MM'-'dd'T'HH':'mm':'ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",ISO8601:"yyyy-MM-ddTHH:mm:ss.sssZ",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",zone1:"yyyy-MM-ddTHH:mm:ss-HH:mm",zone2:"yyyy-MM-ddTHH:mm:ss+HH:mm",custom:"yyyy-MM-ddTHH:mm:ss.fff",custom2:"yyyy-MM-dd HH:mm:ss.fff",FP:"yyyy-MM-dd HH:mm:ss:fff:uu:nn:pp:ee:aa:xx:oo",FPA:"yyyy/MM/dd HH:mm:ss:fffuunnppeeaaxxoo",FPA2:"yyyy-MM-dd HH:mm:ss:fffuunnppeeaaxxoo",FT:"HH:mm:ss:fff:uu:nn:pp:ee:aa:xx:oo",PP:"yyyy-MM-dd HH:mm:ss:fff:uu:nn:pp",PT:"HH:mm:ss:fff:uu:nn:pp"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:","},i.dateData=0,i.timeZone=null,i.timeZones=t,i._codeToUnit={u:"_microsecond",uu:"_microsecond",n:"_nanosecond",nn:"_nanosecond",p:"_picosecond",pp:"_picosecond",e:"_femtosecond",ee:"_femtosecond",a:"_attosecond",aa:"_attosecond",x:"_zeptosecond",xx:"_zeptosecond",o:"_yoctosecond",oo:"_yoctosecond"},i._smallUnits=["_microsecond","_nanosecond","_picosecond","_femtosecond","_attosecond","_zeptosecond","_yoctosecond"],i._microsecond=0,i._nanosecond=0,i._picosecond=0,i._femtosecond=0,i._attosecond=0,i._zeptosecond=0,i._yoctosecond=0,0===arguments.length){const e=new Date;i.dateData=i.dateToMS(e.getFullYear(),e.getMonth()+1,e.getDate())+i.timeToMS(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}else if(1===arguments.length){void 0===arguments[0]&&(arguments[0]="todayDate");if("number"==typeof arguments[0]&&isFinite(arguments[0])||"string"!=typeof arguments[0])if("number"==typeof arguments[0])i.dateData=arguments[0];else if(arguments[0]instanceof Date){const e=arguments[0];i.dateData=i.dateToMS(e.getFullYear(),e.getMonth()+1,e.getDate())+i.timeToMS(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}else i.dateData=arguments[0];else{let t;"today"===arguments[0]?t=new Date:"todayDate"===arguments[0]?(t=new Date,t.setHours(0,0,0,0)):i.regexISOString.test(arguments[0])?e(arguments[0]):t=i.tryparseDate(arguments[0]),t&&(i.dateData=i.dateToMS(t.getFullYear(),t.getMonth()+1,t.getDate())+i.timeToMS(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()))}}else if(2===arguments.length){void 0===arguments[0]&&(arguments[0]="todayDate");if("number"==typeof arguments[0]&&isFinite(arguments[0])||"string"!=typeof arguments[0])if("number"==typeof arguments[0])i.dateData=arguments[0];else if(arguments[0]instanceof Date){const e=arguments[0];i.dateData=i.dateToMS(e.getFullYear(),e.getMonth()+1,e.getDate())+i.timeToMS(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}else i.dateData=arguments[0];else{let t;"today"===arguments[0]?t=new Date:"todayDate"===arguments[0]?(t=new Date,t.setHours(0,0,0,0)):i.regexISOString.test(arguments[0])?e(arguments[0]):t=i.tryparseDate(arguments[0]),t&&(i.dateData=i.dateToMS(t.getFullYear(),t.getMonth()+1,t.getDate())+i.timeToMS(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()))}i.validateTimeZone(arguments[1])}else if(arguments.length>2)if("string"==typeof arguments[0]){const e=i.tryparseDate(arguments[0],arguments[2],arguments[1]);i.dateData=i.dateToMS(e.getFullYear(),e.getMonth()+1,e.getDate())+i.timeToMS(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}else{let e=arguments[0],t=arguments[1]-1,a=arguments[2],s=arguments[3]||0,r=arguments[4]||0,n=arguments[5]||0,o=arguments[6]||0,d=arguments[7]||0,l=arguments[8]||0,f=arguments[9]||0,m=arguments[10]||0,c=arguments[11]||0,u=arguments[12]||0,y=arguments[13]||0;e>=2100&&(e=2100),t>=12?t=11:t<0&&(t=0),a>31?a=i.daysInMonth(e,1+t):a<0&&(a=0),s>23?s=23:s<0&&(s=0),r>59?r=59:r<0&&(r=0),n>59?n=59:n<0&&(n=0);const p=new Date(e,t,a,s,r,n,o);e<1970&&p.setFullYear(e),i.dateData=i.dateToMS(p.getFullYear(),p.getMonth()+1,p.getDate())+i.timeToMS(p.getHours(),p.getMinutes(),p.getSeconds(),p.getMilliseconds()),i._microsecond=d,i._nanosecond=l,i._picosecond=f,i._femtosecond=m,i._attosecond=c,i._zeptosecond=u,i._yoctosecond=y,arguments[14]&&i.validateTimeZone(arguments[14])}if(i.timeZone||i.validateTimeZone("Local"),r){const e=r.toTimeZone(i.timeZone);i.dateData=e.dateData}}static isValidDate(e){const t=this.validateDate(e);return!(!t||t&&!t.dateData)}static validateDate(e,t,a){if(e instanceof JQX.Utilities.DateTime)return e;if(e instanceof Date)return new JQX.Utilities.DateTime(e);try{if("string"==typeof e&&a)return this.parseDateString(e,t,a);if(new RegExp(/^\d{1,2}\/\d{1,2}\/\d{4}(, \d{1,2}:\d{2}:\d{1,2} [A|P]M)?$/).test(e)){const t=new Date(e);if(!isNaN(t.getTime()))return new JQX.Utilities.DateTime(t)}if("string"==typeof e)return this.parseDateString(e,t,a);if("number"==typeof e)return new JQX.Utilities.DateTime(new Date(e))}catch(e){}return t}static parseDateString(e,t,a){const s=new Date(e);if(!isNaN(s.getTime()))return e&&"string"==typeof e&&a?new JQX.Utilities.DateTime(e,a,null):new JQX.Utilities.DateTime(s);const i=e.indexOf("Date("),r=e.indexOf("DateTime("),n=e.lastIndexOf(")");let o=e;if(-1===i&&-1===r||-1===n){const t=new JQX.Utilities.DateTime,s=t.parseDate(e,a);if(s)return o=new JQX.Utilities.DateTime(s),t.copySmallTimePartValues(o),o}else{if(o=-1!==i?e.slice(i+5,n):e.slice(r+9,n),o=o.replace(/'/g,"").replace(/"/g,"").replace(/^\s+|\s+$|\s+(?=\s)/g,""),""===o.trim())return new JQX.Utilities.DateTime;if(new RegExp(/(^(\d+)(\s*,\s*\d+)+(\s*,\s*[a-zA-Z ]+)?$)/g).test(o))return o=o.split(","),o.map((function(e,t){isNaN(o[t])?o[t]=e.trim():o[t]=parseInt(e)})),-1!==i&&o[1]++,o.unshift(null),o=new(Function.prototype.bind.apply(JQX.Utilities.DateTime,o)),o}if(""===o.trim())return t;if(!isNaN(o))return o=new Date(parseInt(o,10)),new JQX.Utilities.DateTime(o);try{const e=o.split(",");2===e.length?(e[1]=e[1].trim(),e.unshift(null),o=new(Function.prototype.bind.apply(JQX.Utilities.DateTime,e))):o=new JQX.Utilities.DateTime(o)}catch(e){o=t}return o}static fromFullTimeStamp(e){e=e.toString();const t=new JQX.Utilities.DateTime(parseFloat(e.slice(0,e.length-21)));let a=e.slice(e.length-21),s=0;for(;a.length>0;)t[t._smallUnits[s]]=parseInt(a.slice(0,3),10),a=a.slice(3),s++;return t}static getConstructorParameters(e){return[e.year(),e.month(),e.day(),e.hour(),e.minute(),e.second(),e.millisecond(),e._microsecond,e._nanosecond,e._picosecond,e._femtosecond,e._attosecond,e._zeptosecond,e._yoctosecond,e.timeZone]}static detectDisplayMode(e,t,a){if(e.calendar.patterns[t])return-1!==["d","D","M","Y","d1","d2"].indexOf(t)?"calendar":-1!==["t","T","FT","PT"].indexOf(t)?"timePicker":"default";const s=["d","M","y"],i=["h","H","m","s","t","f","u","n","p","e","a","x","o"],r=a.groups;let n=!1,o=!1;for(let e=0;e<r.length;e++){const t=r[e].charAt(0);if(-1!==s.indexOf(t)?n=!0:-1!==i.indexOf(t)&&(o=!0),n&&o)break}return n===o?"default":n?"calendar":"timePicker"}static getLocalizedNames(e){const t={names:[],namesAbbr:[],namesShort:[]},a={names:[],namesAbbr:[]};if(this[e])return this[e];for(let a=23;a<30;a++){const s=new Date(2017,6,a),i=s.toLocaleString(e,{weekday:"long"});t.names.push(i),t.namesAbbr.push(s.toLocaleString(e,{weekday:"short"})),t.namesShort.push(i.substring(0,2))}for(let t=0;t<12;t++){const s=new Date(2017,t,1).toLocaleString(e,{month:"long"});a.names.push(s),a.namesAbbr.push(s.substring(0,3))}return a.names.push(""),a.namesAbbr.push(""),this[e]={days:t,months:a},this[e]}internalMS(){return this.dateData}getDatePart(e){const t=this,a=t.internalMS();let s=parseInt(a/t.millisPerDay);const i=parseInt(s/t.daysPer400Years);s-=i*t.daysPer400Years;let r=parseInt(s/t.daysPer100Years);4===r&&(r=3),s-=r*t.daysPer100Years;const n=parseInt(s/t.daysPer4Years);s-=n*t.daysPer4Years;let o=parseInt(s/t.daysPerYear);if(4===o&&(o=3),e===t.datePartYear)return parseInt(400*i+100*r+4*n+o+1);if(s-=o*t.daysPerYear,e===t.datePartDayOfYear)return parseInt(s+1);const d=3===o&&(24!==n||3===r)?t.daysToMonth366:t.daysToMonth365;let l=s>>6;for(;s>=d[l];)l++;return e===t.datePartMonth?parseInt(l):parseInt(s-d[l-1]+1)}dayOfWeek(){const e=this.dateData;return parseInt(e/this.millisPerDay+1)%7}dayOfYear(){return this.getDatePart(this.datePartDayOfYear)}weekOfYear(e){const t=this.toDate(),a=e||this.calendar.firstDay,s=new Date(t.getFullYear(),0,1),i=Math.floor((t.getTime()-s.getTime()-6e4*(t.getTimezoneOffset()-s.getTimezoneOffset()))/864e5)+1;let r,n=s.getDay()-a;if(n=n>=0?n:n+7,n<4){if(r=Math.floor((i+n-1)/7)+1,r>52){let e=new Date(t.getFullYear()+1,0,1).getDay()-a;e=e>=0?e:e+7,r=e<4?1:53}}else r=Math.floor((i+n-1)/7);return r}subtract(e){const t=this;return new JQX.Utilities.TimeSpan(t.dateData*t.ticksPerMillisecond-e.dateData*t.ticksPerMillisecond)}dateToMS(e,t,a){const s=this;if(e>=1&&e<=9999&&t>=1&&t<=12){e=parseInt(e);const i=s.isLeapYear(e)?s.daysToMonth366:s.daysToMonth365;if(a>=1&&a<=i[t]-i[t-1]){const r=e-1;return(365*r+parseInt(r/4)-parseInt(r/100)+parseInt(r/400)+i[t-1]+a-1)*s.millisPerDay}}}isLeapYear(e){if(e<1||e>9999)throw new Error("Year out of Range");return e%4==0&&(e%100!=0||e%400==0)}timeToMS(e,t,a,s){const i=this;if(e>=0&&e<24&&t>=0&&t<60&&a>=0&&a<60){const r=parseInt(3600*e+60*t+a);return s>0&&s<1e3?r*i.millisPerSecond+s:r*i.millisPerSecond}}daysInMonth(e,t){if(t<1||t>12)throw new Error("Month out of Range");const a=this,s=a.isLeapYear(e)?a.daysToMonth366:a.daysToMonth365;return s[t]-s[t-1]}arrayIndexOf(e,t){return e.indexOf(t)}startsWith(e,t){return 0===e.indexOf(t)}endsWith(e,t){return e.substr(e.length-t.length)===t}trim(e){return(e+"").replace(this.regexTrim,"")}expandFormat(e,t){t=t||"F";let a,s=e.patterns,i=t.length;if(s[t])return s[t];if(1===i){if(a=s[t],!a)throw"Invalid date format string '"+t+"'.";t=a}else 2===i&&"%"===t.charAt(0)&&(t=t.charAt(1));return t}getEra(e,t){if(!t)return 0;if("string"==typeof e)return 0;let a,s=e.getTime();for(let e=0,i=t.length;e<i;e++)if(a=t[e].start,null===a||s>=a)return e;return 0}toUpper(e){return e.split(" ").join(" ").toUpperCase()}toUpperArray(e){const t=[];for(let a=0,s=e.length;a<s;a++)t[a]=this.toUpper(e[a]);return t}getEraYear(e,t,a,s){let i=e.getFullYear();return!s&&t.eras&&(i-="number"==typeof a?a:t.eras[a].offset),i}getDayIndex(e,t,a){const s=this,i=e.days;let r,n=e._upperDays;return n||(e._upperDays=n=[s.toUpperArray(i.names),s.toUpperArray(i.namesAbbr),s.toUpperArray(i.namesShort)]),t=t.toUpperCase(),a?(r=s.arrayIndexOf(n[1],t),-1===r&&(r=s.arrayIndexOf(n[2],t))):r=s.arrayIndexOf(n[0],t),r}getMonthIndex(e,t,a){const s=this;let i=e.months,r=e.monthsGenitive||e.months,n=e._upperMonths,o=e._upperMonthsGen;n||(e._upperMonths=n=[s.toUpperArray(i.names),s.toUpperArray(i.namesAbbr)],e._upperMonthsGen=o=[s.toUpperArray(r.names),s.toUpperArray(r.namesAbbr)]),t=s.toUpper(t);let d=s.arrayIndexOf(a?n[1]:n[0],t);return d<0&&(d=s.arrayIndexOf(a?o[1]:o[0],t)),d}appendPreOrPostMatch(e,t){let a=0,s=!1;for(let i=0,r=e.length;i<r;i++){const r=e.charAt(i);switch(r){case"'":s?t.push("'"):a++,s=!1;break;case"\\":s&&t.push("\\"),s=!s;break;default:t.push(r),s=!1}}return a}getTokenRegExp(){return/\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyyy|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|uu|u|nn|n|pp|p|ee|e|aa|a|xx|x|oo|o|i{1,24}|zzz|zz|z|gg|g/g}static ParseDate(e,t){return(new JQX.Utilities.DateTime).tryparseDate(e,null,t)}tryparseDate(e,t,a){const s=this;if(null==t&&(t=s.calendar),void 0!==a){if(Array.isArray(a))for(let i=0;i<a.length;i++){const r=s.parseDate(e,a[i],t);if(r)return r}const i=s.parseDate(e,a,t);if(i)return i}if(""===e)return null;if(null==e||e.substring||(e=e.toString()),null!=e&&"/Date("===e.substring(0,6)){const t=/^\/Date\((-?\d+)(\+|-)?(\d+)?\)\/$/;let a=new Date(+e.replace(/\/Date\((\d+)\)\//,"$1"));if("Invalid Date"===a){const t=e.match(/^\/Date\((\d+)([-+]\d\d)(\d\d)\)\/$/);a=null,t&&(a=new Date(1*t[1]+36e5*t[2]+6e4*t[3]))}if(null==a||"Invalid Date"===a||isNaN(a)){const a=t.exec(e);if(a){const e=new Date(parseInt(a[1]));if(a[2]){let t=parseInt(a[3]);"-"===a[2]&&(t=-t);const s=e.getUTCMinutes();e.setUTCMinutes(s-t)}if(!isNaN(e.valueOf()))return e}}return a}const i={jqxdate:"yyyy-MM-dd HH:mm:ss",d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy'-'MM'-'dd'T'HH':'mm':'ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",ISO8601:"yyyy-MM-ddTHH:mm:ss.sssZ",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"MM-dd-yyyy",d4:"MM.dd.yyyy",zone1:"yyyy-MM-ddTHH:mm:ss-HH:mm",zone2:"yyyy-MM-ddTHH:mm:ss+HH:mm",custom:"yyyy-MM-ddTHH:mm:ss.fff",custom2:"yyyy-MM-dd HH:mm:ss.fff",custom3:"yyyy-MM-ddTHH:mm:ss.fff+HH:mm",custom4:"yyyy-MM-ddTHH:mm:ss.fff-HH:mm",custom5:"yyyy-MM-ddTHH:mm:ss.ffffff+HH:mm",custom6:"yyyy-MM-ddTHH:mm:ss.ffffff-HH:mm",custom7:"yyyy-MM-ddTHH:mm:ss.fffffff+HH:mm",custom8:"yyyy-MM-ddTHH:mm:ss.fffffff-HH:mm",iso:"yyyy-MM-ddTHH:mm:ssZ",iso2:"yyyy-MM-ddTHH:mm.fffZ",iso_date1:"yyyy-MM-dd",iso_date2:"yyyy-MM-dd",iso_date3:"yyyy-ddd",iso_date4:"yyyy-MM-dd HH:mm",iso_date5:"yyyy-MM-dd HH:mm Z",iso_date6:"yyyy-MMM-dd",iso_date7:"yyyy-MM",iso_date8:"yyyy-MMM",iso_date9:"yyyy-MMMM",iso_date10:"yyyy-MMMM-dd",iso_time1:"HH:mm:ss.tttt",iso_time2:"HH:mm:ss",iso_time3:"HH:mm",iso_time4:"HH",iso_time5:"yyyyyy-MM-dd",iso_time6:"yyyyyy-MM-dd",iso_time7:"dd/MM/yyyy HH:mm",iso_time8:"dd.MM.yyyy HH:mm",iso_time9:"dd-MM-yyyy HH:mm",iso_time10:"MM.dd.yyyy HH:mm",iso_time11:"MM-dd-yyyy HH:mm",iso_time12:"dd/MM/yyyy",iso_time13:"MM.dd.yyyy h:mm tt",iso_time14:"MM-dd-yyyy h:mm tt",iso_time15:"MM/dd/yyyy h:mm tt"};for(let a in i){const r=s.parseDate(e,i[a],t);if(r)return r}const r=t.patterns;for(let a in r){const i=s.parseDate(e,r[a],t);if(i){if("ISO"===a){const a=s.parseDate(e,r.ISO2,t);if(a)return a}return i}}let n;if("string"==typeof e){const a=[":","/","-"," ",","];let i="",r=e=function(e,t,a){return a.replace(new RegExp(e,"g"),t)}(", ",",",e=s.trim(e));e.indexOf(":")>=0?(i=e.substring(e.indexOf(":")-2),i=s.trim(i),r=e.substring(0,e.indexOf(":")-2)):e.toUpperCase().indexOf("AM")>=0?(i=e.substring(e.toUpperCase().indexOf("AM")-2),i=s.trim(i),r=e.substring(0,e.toUpperCase().indexOf("AM")-2)):e.toUpperCase().indexOf("PM")>=0&&(i=e.substring(e.toUpperCase().indexOf("PM")-2),i=s.trim(i),r=e.substring(0,e.toUpperCase().indexOf("PM")-2));let o=new Date,d=!1;if(r){for(let e=0;e<a.length;e++)if(r.indexOf(a[e])>=0){n=r.split(a[e]);break}if(!n)return null;let e=new Array,i=new Array,l=new Array,f=null,m=null;for(let a=0;a<n.length;a++){const i=n[a],r=s.parseDate(i,"d",t)||s.parseDate(i,"dd",t)||s.parseDate(i,"ddd",t)||s.parseDate(i,"dddd",t);if(r&&(e.push(r.getDate()),i.length>2)){f=a;break}}for(let e=0;e<n.length;e++){const a=n[e],r=s.parseDate(a,"M",t)||s.parseDate(a,"MM",t)||s.parseDate(a,"MMM",t)||s.parseDate(a,"MMMM",t);if(r){if(null!=f&&f===e)continue;if(i.push(r.getMonth()),a.length>2){m=e;break}}}for(let e=0;e<n.length;e++){const a=n[e],i=s.parseDate(a,"yyyy",t);if(i){if(null!=f&&f===e)continue;if(null!=m&&m===e)continue;l.push(i.getFullYear())}}const c=new Array;for(let t=e.length-1;t>=0;t--)for(let a=0;a<i.length;a++)for(let s=0;s<l.length;s++){const r=new Date(l[s],i[a],e[t]);l[s]<1970&&r.setFullYear(l[s]),isNaN(r.getTime())||c.push(r)}c.length>0&&(o=c[0],d=!0)}if(i){const e=i.indexOf(":")>=0?i.split(":"):i,a=s.parseDate(i,"h:mm tt",t)||s.parseDate(i,"HH:mm:ss.fff",t)||s.parseDate(i,"HH:mm:ss.ff",t)||s.parseDate(i,"h:mm:ss tt",t)||s.parseDate(i,"HH:mm:ss.tttt",t)||s.parseDate(i,"HH:mm:ss",t)||s.parseDate(i,"HH:mm",t)||s.parseDate(i,"HH",t);let r=0,n=0,l=0,f=0;a&&!isNaN(a.getTime())?(r=a.getHours(),n=a.getMinutes(),l=a.getSeconds(),f=a.getMilliseconds()):(1===e.length&&(r=parseInt(e[0])),2===e.length&&(r=parseInt(e[0]),n=parseInt(e[1])),3===e.length&&(r=parseInt(e[0]),n=parseInt(e[1]),e[2].indexOf(".")>=0?(l=parseInt(e[2].toString().split(".")[0]),f=parseInt(e[2].toString().split(".")[1])):l=parseInt(e[2])),4===e.length&&(r=parseInt(e[0]),n=parseInt(e[1]),l=parseInt(e[2]),f=parseInt(e[3]))),!o||isNaN(r)||isNaN(n)||isNaN(l)||isNaN(f)||(o.setHours(r,n,l,f),d=!0)}if(d)return o}if(null!=e){n=[":","/","-"];let t=!0;for(let a=0;a<n.length;a++)-1!==e.indexOf(n[a])&&(t=!1);if(t){const t=new Number(e);if(!isNaN(t))return new Date(t)}}return null}getParseRegExp(e,t){const a=this;let s=e._parseRegExp;if(s){const e=s[t];if(e)return e}else e._parseRegExp=s={};let i,r=a.expandFormat(e,t).replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1"),n=["^"],o=[],d=0,l=0,f=a.getTokenRegExp();for(;null!==(i=f.exec(r));){const e=r.slice(d,i.index);if(d=f.lastIndex,l+=a.appendPreOrPostMatch(e,n),l%2){n.push(i[0]);continue}let t,s=i[0],m=s.length;switch(s){case"dddd":case"ddd":case"MMMM":case"MMM":case"gg":case"g":t="(\\D+)";break;case"tt":case"t":t="(\\D*)";break;case"yyyyy":t="(\\d{1,4})";break;case"yyyy":t="(\\d{"+m+"})";break;case"fff":case"ff":case"f":t="(\\d{1,"+m+"})";break;case"dd":case"d":case"MM":case"M":case"yy":case"y":case"HH":case"H":case"hh":case"h":case"mm":case"m":case"ss":case"s":t="(\\d\\d?)";break;case"uu":case"nn":case"pp":case"ee":case"aa":case"xx":case"oo":t="(\\d{1,3})";break;case"zzz":t="([+-]?\\d\\d?:\\d{2})";break;case"zz":case"z":t="([+-]?\\d\\d?)";break;case"/":t="/";break;default:if(!/i{1,24}/.test(s))throw"Invalid date format pattern '"+s+"'.";t="(\\d{"+s.length+"})"}t&&n.push(t),"/"!==s&&o.push(i[0])}a.appendPreOrPostMatch(r.slice(d),n),n.push("$");const m={regExp:n.join("").replace(/\s+/g,"\\s+"),groups:o};return s[t]=m}outOfRange(e,t,a){return e<t||e>a}expandYear(e,t){const a=this,s=new Date,i=a.getEra(s);if(t<100){let r=e.twoDigitYearMax;r="string"==typeof r?(new Date).getFullYear()%100+parseInt(r,10):r;const n=a.getEraYear(s,e,i);(t+=n-n%100)>r&&(t-=100)}return t}padZeros(e,t){let a,s=e+"";return t>1&&s.length<t?(a=["0","00","000"][t-2]+s,a.substr(a.length-t,t)):(a=s,a)}parseDate(e,t,a){const s=this;null==a&&(a=s.calendar),e=s.trim(e);const i=a,r=s.getParseRegExp(i,t),n=new RegExp(r.regExp).exec(e);if(null===n)return null;let o,d=r.groups,l=null,f=null,m=null,c=null,u=null,y=0,p=0,g=0,h=0,T=null,M=!1;for(let e=0,t=d.length;e<t;e++){const t=n[e+1];if(t){const a=d[e],r=a.length,n=parseInt(t,10);switch(a){case"dd":case"d":if(c=n,s.outOfRange(c,1,31))return null;break;case"MMM":case"MMMM":case"MMMMM":case"MMMMMM":case"MMMMMMM":case"MMMMMMMM":if(m=s.getMonthIndex(i,t,3===r),s.outOfRange(m,0,11))return null;break;case"M":case"MM":if(m=n-1,s.outOfRange(m,0,11))return null;break;case"y":case"yy":case"yyyy":if(f=r<4?s.expandYear(i,n):n,s.outOfRange(f,0,9999))return null;break;case"h":case"hh":if(y=n,12===y&&(y=0),s.outOfRange(y,0,11))return null;break;case"H":case"HH":if(y=n,s.outOfRange(y,0,23))return null;break;case"m":case"mm":if(p=n,s.outOfRange(p,0,59))return null;break;case"s":case"ss":if(g=n,s.outOfRange(g,0,59))return null;break;case"tt":case"t":if(M=i.PM&&(t===i.PM[0]||t===i.PM[1]||t===i.PM[2]),!M&&(!i.AM||t!==i.AM[0]&&t!==i.AM[1]&&t!==i.AM[2]))return null;break;case"f":case"ff":case"fff":if(h=n*Math.pow(10,3-r),s.outOfRange(h,0,999))return null;break;case"uu":case"nn":case"pp":case"ee":case"aa":case"xx":case"oo":if(s.outOfRange(n,0,1e3))return null;s[s._codeToUnit[a]]=n;break;case"ddd":case"dddd":if(u=s.getDayIndex(i,t,3===r),s.outOfRange(u,0,6))return null;break;case"zzz":{const e=t.split(/:/);if(2!==e.length)return null;if(o=parseInt(e[0],10),s.outOfRange(o,-12,13))return null;const a=parseInt(e[1],10);if(s.outOfRange(a,0,59))return null;T=60*o+(s.startsWith(t,"-")?-a:a);break}case"z":case"zz":if(o=n,s.outOfRange(o,-12,13))return null;T=60*o;break;case"g":case"gg":{let e=t;if(!e||!i.eras)return null;e=this.trim(e.toLowerCase());for(let t=0,a=i.eras.length;t<a;t++)if(e===i.eras[t].nathat.toLowerCase()){l=t;break}if(null===l)return null;break}default:{let e=t;e.length%3==1?e+="00":e.length%3==2&&(e+="0"),h=parseInt(e.slice(0,3),10),e=e.slice(3);let a=0;for(;e.length>0;)s[s._smallUnits[a]]=parseInt(e.slice(0,3),10),e=e.slice(3),a++}}}}let S,D=new Date,H=i.convert;if(S=D.getFullYear(),null===f?f=S:i.eras&&(f+=i.eras[l||0].offset),null===m&&(m=0),null===c&&(c=1),H){if(D=H.toGregorian(f,m,c),null===D)return null}else{if(D.setFullYear(f,m,c),D.getDate()!==c)return null;if(null!==u&&D.getDay()!==u)return null}if(M&&y<12&&(y+=12),D.setHours(y,p,g,h),null!==T){const e=D.getMinutes()-(T+D.getTimezoneOffset());D.setHours(D.getHours()+parseInt(e/60,10),e%60)}return D}toString(e,t){const a=this;void 0===e&&(e="yyyy-MM-dd HH:mm:ss");const s=a.dateData.toString()+a.getFractionsOfSecondStamp()+e+(a.timeZone||"");if(JQX.Utilities.DateTime.cache&&JQX.Utilities.DateTime.cache[s]&&!1!==a.showTodayDateAsString)return JQX.Utilities.DateTime.cache[s];const i=a.toDate();if(null==t&&(t=a.calendar),"string"==typeof i)return i;if(!e||!e.length||"i"===e){let e;return e=a.formatDate(i,t.patterns.F,t),e}const r=t.eras,n="s"===e;e=a.expandFormat(t,e);const o=[];let d,l=0,f=a.getTokenRegExp();function m(e,t){if(void 0!==e.getMonth)switch(t){case 0:return e.getFullYear();case 1:return e.getMonth();case 2:return e.getDate()}}for(;;){const s=f.lastIndex,c=f.exec(e),u=e.slice(s,c?c.index:e.length);if(l+=a.appendPreOrPostMatch(u,o),!c)break;if(l%2){o.push(c[0]);continue}const y=c[0],p=y.length;let g;if(/i{1,24}/.test(y))o.push(a.getFirstNDigitsOfPrecision(y.length));else switch(y){case"ddd":case"dddd":{const e=3===p?t.days.namesAbbr:t.days.names;o.push(e[i.getDay()]);break}case"d":case"dd":o.push(a.padZeros(m(i,2),p));break;case"MMM":case"MMMM":g=m(i,1),o.push(t.months[3===p?"namesAbbr":"names"][g]);break;case"M":case"MM":o.push(a.padZeros(m(i,1)+1,p));break;case"y":case"yy":case"yyyy":g=a.getEraYear(i,t,a.getEra(i,r),n),p<4&&(g%=100),o.push(a.padZeros(g,p));break;case"h":case"hh":d=i.getHours()%12,0===d&&(d=12),o.push(a.padZeros(d,p));break;case"H":case"HH":o.push(a.padZeros(i.getHours(),p));break;case"m":case"mm":o.push(a.padZeros(i.getMinutes(),p));break;case"s":case"ss":o.push(a.padZeros(i.getSeconds(),p));break;case"t":case"tt":g=i.getHours()<12?t.AM?t.AM[0]:" ":t.PM?t.PM[0]:" ",o.push(1===p?g.charAt(0):g);break;case"f":case"ff":case"fff":o.push(a.padZeros(i.getMilliseconds(),3).substr(0,p));break;case"u":case"n":case"p":case"e":case"a":case"x":case"o":o.push(a[a._codeToUnit[y]]);break;case"uu":case"nn":case"pp":case"ee":case"aa":case"xx":case"oo":o.push(a.padZeros(a[a._codeToUnit[y]],3));break;case"z":case"zz":o.push((a.timeZoneOffsetHours>=0?"+":"-")+a.padZeros(Math.floor(Math.abs(a.timeZoneOffsetHours)),p));break;case"zzz":o.push((a.timeZoneOffsetHours>=0?"+":"-")+a.padZeros(Math.floor(Math.abs(a.timeZoneOffsetHours)),2)+":"+a.padZeros(60*Math.abs(a.timeZoneOffsetHours%1),2));break;case"g":case"gg":t.eras&&o.push(t.eras[a.getEra(i,r)].name);break;case"/":o.push(t["/"]);break;default:throw"Invalid date format pattern '"+y+"'."}}let c=o.join("");if(JQX.Utilities.DateTime.cache||(JQX.Utilities.DateTime.cache=new Array),a._today||(a._today=new Date),a.calendar&&a.calendar.today&&-1===e.indexOf(":")&&i.getFullYear()===a._today.getFullYear()&&i.getDate()===a._today.getDate()&&i.getMonth()===a._today.getMonth()){if(!1===a.showTodayDateAsString)return JQX.Utilities.DateTime.cache[s]=c,c;c=a.calendar.today}return JQX.Utilities.DateTime.cache[s]=c,c}getFractionsOfSecondStamp(){const e=this;return e._microsecond.toString()+e._nanosecond+e._picosecond+e._femtosecond+e._attosecond+e._zeptosecond+e._yoctosecond}getFirstNDigitsOfPrecision(e,t){const a=this;return(""+(!0!==t?a.padZeros(a.millisecond(),3):"")+a.padZeros(a._microsecond,3)+a.padZeros(a._nanosecond,3)+a.padZeros(a._picosecond,3)+a.padZeros(a._femtosecond,3)+a.padZeros(a._attosecond,3)+a.padZeros(a._zeptosecond,3)+a.padZeros(a._yoctosecond,3)).slice(0,e)}copySmallTimePartValues(e){const t=this;e._microsecond=t._microsecond,e._nanosecond=t._nanosecond,e._picosecond=t._picosecond,e._femtosecond=t._femtosecond,e._attosecond=t._attosecond,e._zeptosecond=t._zeptosecond,e._yoctosecond=t._yoctosecond}add(e,t,a){const s=this,i=s.internalMS();if(void 0===t){if(!1===a)return s.dateData=i+parseInt(e._ticks/s.ticksPerMillisecond),s;const t=new JQX.Utilities.DateTime(i+parseInt(e._ticks/s.ticksPerMillisecond));return s.copyTimeZone(t),s.copySmallTimePartValues(t),t}const r=e*t;if(r<=-s.maxMillis||r>=s.maxMillis)throw new Error("Out of Range");if(!1===a)return s.dateData=i+r,s;const n=new JQX.Utilities.DateTime(i+r);return s.copyTimeZone(n),s.copySmallTimePartValues(n),n}addDays(e,t){return this.add(e,this.millisPerDay,t)}clone(){const e=this,t=new JQX.Utilities.DateTime(e.dateData);return e.copyTimeZone(t),e.copySmallTimePartValues(t),t}clearTime(){const e=this,t=e.month(),a=e.year(),s=e.day(),i=new JQX.Utilities.DateTime(a,t,s,0,0,0,0);return e.copyTimeZone(i),i}addHours(e,t){return this.add(e,this.millisPerHour,t)}addDeciseconds(e,t){return this.add(100*e,1,t)}addCentiseconds(e,t){return this.add(10*e,1,t)}addMilliseconds(e,t){return this.add(e,1,t)}addMinutes(e,t){return this.add(e,this.millisPerMinute,t)}addMonths(e,t){const a=this;if(e<-12e4||e>12e4)throw new Error("Invalid Months Value");let s=parseInt(a.getDatePart(a.datePartYear)),i=parseInt(a.getDatePart(a.datePartMonth)),r=parseInt(a.getDatePart(a.datePartDay));if(e%12==0)s+=e/12;else{const t=i-1+e;t>=0?(i=t%12+1,s+=t/12):(i=12+(t+1)%12,s+=(t-11)/12),s=parseInt(s)}if(s<1||s>9999)throw new Error("Year out of range");const n=a.daysInMonth(s,i);if(r>n&&(r=n),!1===t)return a.dateData=a.dateToMS(s,i,r)+a.internalMS()%a.millisPerDay,a;const o=new JQX.Utilities.DateTime(a.dateToMS(s,i,r)+a.internalMS()%a.millisPerDay);return a.copyTimeZone(o),a.copySmallTimePartValues(o),o}addSeconds(e,t){return this.add(e,this.millisPerSecond,t)}addYears(e,t){return this.addMonths(12*e,t)}addMicroseconds(e,t){if(0===e)return;const a=this;let s,i;e<0&&0===a.hour()&&0===a.minute()&&0===a.second()&&0===a.millisecond()&&0===a._microsecond&&(s=parseInt(e/1e3,10)-1,i=1e3+e%1e3);const r=1e3*a.timeToMS(a.hour(),a.minute(),a.second(),a.millisecond())+a._microsecond,n=r+e;let o;if(void 0===s&&(s=parseInt(n/1e3,10)-parseInt(r/1e3,10)),void 0===i&&(i=parseInt(n%1e3,10)),0!==s&&(o=a.addMilliseconds(s,t)),!1!==t)return o||(o=a.clone()),o._microsecond=i,o;a._microsecond=i}addFractionsOfSecond(e,t,a,s,i){if(0===e)return;const r=this,n=1e3*r[s]+r[a],o=e+n;let d,l=parseInt(o/1e3,10)-parseInt(n/1e3,10),f=parseInt(o%1e3,10);if(e<0&&o<0&&f<0&&(l--,f=1e3+f),0!==l&&(d=r[i](l,t)),!1!==t)return d||(d=r.clone()),d[a]=f,d;r[a]=f}addNanoseconds(e,t){return this.addFractionsOfSecond(e,t,"_nanosecond","_microsecond","addMicroseconds")}addPicoseconds(e,t){return this.addFractionsOfSecond(e,t,"_picosecond","_nanosecond","addNanoseconds")}addFemtoseconds(e,t){return this.addFractionsOfSecond(e,t,"_femtosecond","_picosecond","addPicoseconds")}addAttoseconds(e,t){return this.addFractionsOfSecond(e,t,"_attosecond","_femtosecond","addFemtoseconds")}addZeptoseconds(e,t){return this.addFractionsOfSecond(e,t,"_zeptosecond","_attosecond","addAttoseconds")}addYoctoseconds(e,t){return this.addFractionsOfSecond(e,t,"_yoctosecond","_zeptosecond","addZeptoseconds")}getTimeZoneOffset(){const e=new Date,t=new Date(e.getFullYear(),0,1),a=new Date(e.getFullYear(),6,1),s=e.getTimezoneOffset()<Math.max(t.getTimezoneOffset(),a.getTimezoneOffset());return{offset:-e.getTimezoneOffset()/60,dst:+s}}isInDaylightSavingTime(){const e=new Date,t=new Date(e.getFullYear(),0,1),a=new Date(e.getFullYear(),6,1);return this.date().getTimezoneOffset()<Math.max(t.getTimezoneOffset(),a.getTimezoneOffset())}supportsDaylightSavingTime(){const e=new Date,t=new Date(e.getFullYear(),0,1),a=new Date(e.getFullYear(),6,1);return t.getTimezoneOffset()!==a.getTimezoneOffset()}date(){const e=this,t=e.month(),a=e.year(),s=e.day(),i=new JQX.Utilities.DateTime(a,t,s);return e.copyTimeZone(i),i}isWeekend(){return 0===this.dayOfWeek()||6===this.dayOfWeek()}toDate(e){const t=this,a=t.month(),s=t.year(),i=t.day(),r=t.hour(),n=t.minute(),o=t.second(),d=t.millisecond();let l=new Date(s,a-1,i);if(s<1970&&l.setFullYear(s),l.setHours(r,n,o,d),e){const a=t.timeZones.filter((function(t){return t.id===e}));if(a.length){let e=a[0].offset;const s=l.getTime();let i=60*l.getTimezoneOffset()*1e3;if(t.timeZone){const e=t.timeZones.filter((function(e){return e.id===t.timeZone}));e.length&&(i=60*-e[0].offset*1e3)}l=new Date(s+i+6e4*e)}}return l}toTimeZone(e){const t=this;let a=e;if(null==a&&(a="Local"),t.timeZone===a)return t.clone();const s=t.timeZones.filter((function(e){return e.id===a}));if(0===s.length)return t.clone();const i=this.toDate(a),r=new JQX.Utilities.DateTime(i);return r.timeZone=a,r.timeZoneOffset=s[0].offset,r.timeZoneOffsetHours=s[0].offsetHours,t.copySmallTimePartValues(r),r}day(){return this.getDatePart(this.datePartDay)}month(){return this.getDatePart(this.datePartMonth)}year(){return this.getDatePart(this.datePartYear)}millisecond(){return parseInt(this.internalMS()%1e3)}hour(){return parseInt(Math.floor(this.internalMS()/this.millisPerHour)%24)}minute(){return parseInt(this.internalMS()/this.millisPerMinute%60)}second(){return parseInt(this.internalMS()/this.millisPerSecond%60)}microsecond(){return this._microsecond}nanosecond(){return this._nanosecond}picosecond(){return this._picosecond}femtosecond(){return this._femtosecond}attosecond(){return this._attosecond}zeptosecond(){return this._zeptosecond}yoctosecond(){return this._yoctosecond}valueOf(){return this.dateData}equals(e){const t=this;return t.dateData===e.dateData&&t._microsecond===e._microsecond&&t._nanosecond===e._nanosecond&&t._picosecond===e._picosecond&&t._femtosecond===e._femtosecond&&t._attosecond===e._attosecond&&t._zeptosecond===e._zeptosecond&&t._yoctosecond===e._yoctosecond}equalDateParts(e){const t=this;return t.year()===e.year()&&t.month()===e.month()&&t.day()===e.day()}compare(e){const t=this;if(t.equals(e))return 0;const a=["dateData","_microsecond","_nanosecond","_picosecond","_femtosecond","_attosecond","_zeptosecond","_yoctosecond"];for(let s=0;s<a.length;s++){const i=a[s];if(t[i]>e[i])return 1;if(t[i]<e[i])return-1}return 0}toDateString(){return this.toDate().toDateString()}toLocaleDateString(){return this.toDate().toLocaleDateString(this.calendar.locale)}toLocaleString(){return this.toDate().toLocaleString(this.calendar.locale)}toLocaleTimeString(){return this.toDate().toLocaleTimeString(this.calendar.locale)}validateTimeZone(e){const t=this;if("string"!=typeof e)return;const a=t.timeZones.filter((function(t){return t.id===e}));0!==a.length&&(t.timeZone=e,t.timeZoneOffset=a[0].offset,t.timeZoneOffsetHours=a[0].offsetHours)}copyTimeZone(e){const t=this;e.timeZone=t.timeZone,e.timeZoneOffset=t.timeZoneOffset,e.timeZoneOffsetHours=t.timeZoneOffsetHours}getTimeStamp(){return new JQX.Utilities.BigNumber(this.dateData.toString()+this.getFirstNDigitsOfPrecision(void 0,!0))}})})();

/***/ }),

/***/ 7054:
/***/ (() => {

JQX("jqx-date-time-picker",class extends JQX.BaseElement{static get properties(){return{animationSettings:{value:null,type:"object"},autoClose:{value:!1,type:"boolean"},autoCloseDelay:{value:0,type:"number"},autoSwitchToMinutes:{value:!1,type:"boolean"},calendarButton:{value:!1,type:"boolean"},calendarButtonPosition:{value:"right",allowedValues:["left","right"],type:"string"},calendarMode:{value:"default",allowedValues:["default","classic"],type:"string"},dayNameFormat:{value:"firstTwoLetters",allowedValues:["narrow","firstTwoLetters","long","short"],type:"string"},disableAutoNavigation:{value:!1,type:"boolean"},displayKind:{value:"unspecified",allowedValues:["UTC","local","unspecified"],type:"string"},displayModeView:{value:"table",allowedValues:["table","list"],type:"string"},displayMode:{allowedValues:["outlined","filled","underlined"],value:"outlined",type:"string"},dropDownAppendTo:{value:null,type:"any"},dropDownDisplayMode:{value:"default",allowedValues:["default","classic","calendar","timePicker","auto"],type:"string"},dropDownOverlay:{value:!1,type:"boolean"},dropDownPosition:{value:"auto",allowedValues:["auto","bottom","overlay-top","overlay-center","overlay-bottom","top","center-bottom","center-top"],type:"string"},editMode:{value:"default",allowedValues:["default","full","partial"],type:"string"},enableMouseWheelAction:{value:!1,type:"boolean"},firstDayOfWeek:{value:0,type:"number"},footerTemplate:{value:null,type:"any"},footer:{value:!1,type:"boolean"},formatString:{value:"dd-MMM-yy HH:mm:ss.fff",type:"string"},headerTemplate:{value:null,type:"any"},hideDayNames:{value:!1,type:"boolean"},hideOtherMonthDays:{value:!1,type:"boolean"},hideTooltipArrow:{value:!1,type:"boolean"},hint:{value:"",type:"string"},importantDates:{value:[],type:"array"},importantDatesTemplate:{value:null,type:"any"},interval:{value:new JQX.Utilities.TimeSpan(0,0,1),type:"any"},label:{value:"",type:"string"},max:{value:new JQX.Utilities.DateTime(3001,1,1),type:"any"},messages:{value:{en:{now:"Now",dateTabLabel:"DATE",timeTabLabel:"TIME"}},type:"object",extend:!0},min:{value:new JQX.Utilities.DateTime(1600,1,1),type:"any"},name:{value:"",type:"string"},nullable:{value:!1,type:"boolean"},opened:{value:!1,type:"boolean"},placeholder:{value:"Enter date",type:"string"},restrictedDates:{value:[],type:"array"},spinButtons:{value:!1,type:"boolean"},spinButtonsDelay:{value:75,type:"number"},spinButtonsInitialDelay:{value:0,type:"number"},spinButtonsPosition:{value:"right",allowedValues:["left","right"],type:"string"},tooltip:{value:!1,type:"boolean"},tooltipDelay:{value:100,type:"number"},tooltipPosition:{value:"top",allowedValues:["bottom","top","left","right","absolute"],type:"string"},tooltipTemplate:{value:null,type:"any"},validation:{value:"strict",allowedValues:["strict","interaction"],type:"string"},value:{defaultReflectToAttribute:!0,value:new JQX.Utilities.DateTime,type:"any"},weekNumbers:{value:!1,type:"boolean"},weeks:{value:6,type:"number"},yearCutoff:{value:1926,type:"number"}}}static get listeners(){return{"container.mouseout":"_mouseoutHandler","container.mouseover":"_mouseoverHandler","calendarButton.click":"_calendarButtonClickHandler","calendarDropDown.change":"_calendarDropDownChangeHandler","calendarDropDown.click":"_calendarDropDownClickHandler","downButton.click":"_spinButtonsClickHandler","input.blur":"_inputBlurHandler","input.change":"_inputChangeHandler","input.dragstart":"_inputDragstartHandler","input.focus":"_inputFocusHandler","input.keydown":"_inputKeydownHandler","input.down":"_inputDownHandler","input.paste":"_inputPasteHandler","input.select":"_inputSelectHandler","input.up":"_inputUpHandler","input.wheel":"_inputWheelHandler","dropDownContainer.keydown":"_dropDownKeydownHandler","dropDownContainer.transitionend":"_dropDownTransitionendHandler","dropDownHeader.click":"_dropDownHeaderClickHandler","upButton.click":"_spinButtonsClickHandler","document.up":"_documentUpHandler"}}static get requires(){return{"JQX.Utilities.DateTime":"jqx.date.js","JQX.Utilities.Draw":"jqx.draw.js","JQX.Utilities.BigNumber":"jqx.math.js","JQX.Utilities.NumericProcessor":"jqx.numeric.js","JQX.RepeatButton":"jqx.button.js","JQX.Calendar":"jqx.calendar.js","JQX.TimePicker":"jqx.timepicker.js"}}static get styleUrls(){return["jqx.datetimepicker.css"]}template(){return'<div id="container" role="presentation">\n                    <span id="label" class="jqx-label">[[label]]</span>\n                    <div id="content" class="jqx-content">\n                        <input id="input" class="jqx-input jqx-date-time-input" type="text" readonly="[[readonly]]" disabled="[[disabled]]" placeholder="[[placeholder]]" name="[[name]]" aria-label="[[placeholder]]" />\n                        <div id="spinButtonsContainer" class="jqx-spin-buttons-container" role="presentation">\n                            <jqx-repeat-button initial-delay="[[spinButtonsInitialDelay]]" animation="[[animation]]" delay="[[spinButtonsDelay]]" readonly="[[readonly]]"  unfocusable id="upButton" right-to-left="[[rightToLeft]]" class="jqx-spin-button" aria-label="Increment">\n                                <div class="jqx-arrow jqx-arrow-up" aria-hidden="true"></div>\n                            </jqx-repeat-button>\n                            <jqx-repeat-button initial-delay="[[spinButtonsInitialDelay]]" animation="[[animation]]" delay="[[spinButtonsDelay]]" readonly="[[readonly]]" unfocusable id="downButton" right-to-left="[[rightToLeft]]" class="jqx-spin-button" aria-label="Decrement">\n                                <div class="jqx-arrow jqx-arrow-down" aria-hidden="true"></div>\n                            </jqx-repeat-button>\n                        </div>\n                        <div id="calendarButton" class="jqx-drop-down-button jqx-calendar-button" role="button" aria-haspopup="dialog" aria-label="Toggle popup"></div>\n                        <div id="dropDownContainer" class="jqx-drop-down jqx-date-time-drop-down jqx-drop-down-container jqx-visibility-hidden" role="dialog">\n                            <div id="dropDownHeader" class="jqx-drop-down-header jqx-hidden" role="heading" aria-level="1">\n                                <div id="selectDate" class="jqx-selected" role="button"></div>\n                                <div id="selectTime" role="button"></div>\n                            </div>\n                            <div id="dropDownContent" class="jqx-drop-down-content" role="presentation">\n                                <jqx-calendar id="calendarDropDown" class="jqx-hidden"\n                                              animation="[[animation]]"\n                                              animation-settings="[[animationSettings]]"\n                                              calendar-mode="[[calendarMode]]"\n                                              day-name-format="[[dayNameFormat]]"\n                                              disable-auto-navigation="[[disableAutoNavigation]]"\n                                              display-mode-view="[[displayModeView]]"\n                                              first-day-of-week="[[firstDayOfWeek]]"\n                                              header-template="[[headerTemplate]]"\n                                              hide-day-names="[[hideDayNames]]"\n                                              hide-other-month-days="[[hideOtherMonthDays]]"\n                                              hide-tooltip-arrow="[[hideTooltipArrow]]"\n                                              important-dates="[[importantDates]]"\n                                              important-dates-template="[[importantDatesTemplate]]"\n                                              locale="[[locale]]"\n                                              right-to-left="[[rightToLeft]]"\n                                              selection-mode="one"\n                                              spin-buttons-delay="[[spinButtonsDelay]]"\n                                              spin-buttons-initial-delay="[[spinButtonsInitialDelay]]"\n                                              theme="[[theme]]"\n                                              tooltip="[[tooltip]]"\n                                              tooltip-delay="[[tooltipDelay]]"\n                                              tooltip-position="[[tooltipPosition]]"\n                                              tooltip-template="[[tooltipTemplate]]"\n                                              unfocusable="[[unfocusable]]"\n                                              view-sections=\'["header", "footer"]\'\n                                              week-numbers="[[weekNumbers]]"\n                                              weeks="[[weeks]]"></jqx-calendar>\n                            </div>\n                        </div>\n                    </div>\n                    <span id="hint" inner-h-t-m-l="[[hint]]" class="jqx-hint jqx-hidden"></span>\n                </div>'}attached(){const e=this;super.attached(),e.isCompleted&&(e._defaultFooterTemplateApplied&&e._addCalendarFooterListeners(),e.$.timePickerDropDown&&e._addTimePickerListener(),e._positionDetection&&e._positionDetection.dropDownAttached())}detached(){const e=this;if(super.detached(),e.close(),e._defaultFooterTemplateApplied){const t=e.$.calendarDropDown.$footer;t.unlisten("change"),t.unlisten("click"),t.unlisten("wheel")}e.$.timePickerDropDown&&e.$.timePickerDropDown.$.unlisten("change"),e._positionDetection&&e._positionDetection.dropDownDetached()}ready(){super.ready();const e=this;e._edgeMacFF=JQX.Utilities.Core.Browser.Edge||JQX.Utilities.Core.Browser.Firefox&&-1!==navigator.platform.toLowerCase().indexOf("mac"),e._iOS=!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform),e._edgeMacFF&&e.$dropDownContainer.addClass("not-in-view"),e._defaultFooterTemplate=document.createElement("template"),e._defaultFooterTemplate.innerHTML='<div class="jqx-date-time-picker-footer">\n                <div class="jqx-footer-component jqx-footer-component-hour" role="presentation">\n                    <input type="text" class="jqx-hour-element" aria-label="Hours" />\n                    <span role="presentation">\n                        <jqx-repeat-button initial-delay="0" delay="75" aria-label="Increment hours">\n                            <span class="jqx-arrow jqx-arrow-up" aria-hidden="true"></span>\n                        </jqx-repeat-button>\n                        <jqx-repeat-button  initial-delay="0" delay="75" aria-label="Decrement hours">\n                            <span class="jqx-arrow jqx-arrow-down" aria-hidden="true"></span>\n                        </jqx-repeat-button>\n                    </span>\n                </div>\n                <div class="jqx-footer-component jqx-footer-component-minute" role="presentation">\n                    <input class="jqx-minute-element" aria-label="Minutes" />\n                    <span role="presentation">\n                        <jqx-repeat-button initial-delay="0" delay="75" aria-label="Increment minutes">\n                            <span class="jqx-arrow jqx-arrow-up" aria-hidden="true"></span>\n                        </jqx-repeat-button>\n                        <jqx-repeat-button initial-delay="0" delay="75" aria-label="Decrement minutes">\n                            <span class="jqx-arrow jqx-arrow-down" aria-hidden="true"></span>\n                        </jqx-repeat-button>\n                    </span>\n                </div>\n                <div class="jqx-footer-component jqx-footer-component-ampm" role="presentation">\n                    <input type="text" class="jqx-am-pm-element" aria-label="AM/PM" />\n                </div>\n                <div class="jqx-footer-component jqx-footer-component-today" role="presentation">\n                    <div tabindex="-1" class="jqx-today-element" role="button" aria-label="Now"></div>\n                </div>\n            </div>',e._codeToMethod={y:"addYears",yy:"addYears",yyyy:"addYears",yyyyy:"addYears",M:"addMonths",MM:"addMonths",MMM:"addMonths",MMMM:"addMonths",d:"addDays",dd:"addDays",ddd:"addDays",dddd:"addDays",H:"addHours",HH:"addHours",h:"addHours",hh:"addHours",m:"addMinutes",mm:"addMinutes",s:"addSeconds",ss:"addSeconds",f:"addDeciseconds",ff:"addCentiseconds",fff:"addMilliseconds",u:"addMicroseconds",uu:"addMicroseconds",n:"addNanoseconds",nn:"addNanoseconds",p:"addPicoseconds",pp:"addPicoseconds",e:"addFemtoseconds",ee:"addFemtoseconds",a:"addAttoseconds",aa:"addAttoseconds",x:"addZeptoseconds",xx:"addZeptoseconds",o:"addYoctoseconds",oo:"addYoctoseconds"},e._codeToIndex={y:0,yy:0,yyyy:0,yyyyy:0,M:1,MM:1,MMM:1,MMMM:1,d:2,dd:2,ddd:2,dddd:2,H:3,HH:3,h:3,hh:3,m:4,mm:4,s:5,ss:5,f:6,ff:6,fff:6,u:7,uu:7,n:8,nn:8,p:9,pp:9,e:10,ee:10,a:11,aa:11,x:12,xx:12,o:13,oo:13},e._getLocalizedNames(),e.checkLicense()}render(){const e=this;e.rightToLeft&&(e.calendarButtonPosition="right"===e.calendarButtonPosition?"left":"right"),e._positionDetection=new JQX.Utilities.PositionDetection(e,e.$.dropDownContainer,e.$.content,"close"),e._positionDetection.customPositionDropDown=e._positionExternalDropDown,e._positionDetection.getDropDownParent(!0),e._positionDetection.setDropDownPosition(),e.$.dropDownContainer.style.left=null,e._positionDetection.handleAutoPositioning(),e._setIds(),e._validateInitialPropertyValues(),e._setFocusable(),e.setAttribute("role","presentation"),e.$.input.setAttribute("aria-describedby",e.$.hint.id),e.$.input.setAttribute("aria-labelledby",e.$.label.id),e.$.calendarButton.setAttribute("aria-owns",e.$.dropDownContainer.id),e.$.dropDownContainer.setAttribute("animation",e.animation),e.$.dropDownContainer.setAttribute("drop-down-display-mode",e.dropDownDisplayMode),super.render(),e.isInitialized=!0}close(){this.opened&&this._close()}focus(){this.$.input.focus()}select(){this.$.input.select()}open(){this.opened||this._open()}_handleFooter(){const e=this;if(e.footer){e.$.dropDownContainer.setAttribute("footer","");const t=e.$.calendarDropDown;"default"===e._dropDownDisplayMode?t.viewSections=["title","header","footer"]:"classic"===e._dropDownDisplayMode?t.viewSections=["header","footer"]:"calendar"===e._dropDownDisplayMode&&(t.viewSections=["title","header","footer"])}else e.$.dropDownContainer.removeAttribute("footer")}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const n=this;switch(e){case"animation":case"theme":n.$.timePickerDropDown&&(n.$.timePickerDropDown[e]=a),"animation"===e&&(n.$.dropDownContainer.setAttribute("animation",n.animation),n._defaultFooterTemplateApplied&&Array.from(n.$.calendarDropDown.$.footer.getElementsByTagName("jqx-repeat-button")).forEach((function(e){e.animation=a})));break;case"calendarButton":n.$.dropDownContainer.style.transition="none",a||n.close();break;case"calendarButtonPosition":n.$.dropDownContainer.style.transition="none",n.close(),"left"===a?n.$.content.insertBefore(n.$.calendarButton,n.$.content.firstElementChild):null===n._dropDownParent?n.$.content.insertBefore(n.$.calendarButton,n.$.dropDownContainer):n.$.content.appendChild(n.$.calendarButton);break;case"disabled":a?(n.close(),n.$.upButton.disabled=!0,n.$.downButton.disabled=!0):n._disableSpinButtons(),n._setFocusable(),n._positionDetection.handleAutoPositioning();break;case"displayKind":{const e=n._outputTimeZone;switch(a){case"unspecified":n._outputTimeZone=n._inputTimeZone;break;case"UTC":n._outputTimeZone="UTC";break;case"local":n._outputTimeZone="Local"}if(n._outputTimeZone===e)return;null!==n._value&&(n.close(),n._toSync=!0,n._value=n._value.toTimeZone(n._outputTimeZone),n._applyFormatString()),n.min=n.min.toTimeZone(n._outputTimeZone),n.max=n.max.toTimeZone(n._outputTimeZone);for(let e=0;e<n.restrictedDates.length;e++){let t=n.restrictedDates[e];t=t.toTimeZone(n._outputTimeZone)}break}case"dropDownAppendTo":n._positionDetection.dropDownAppendToChangedHandler();break;case"dropDownDisplayMode":n._changeDropDownDisplayMode();break;case"dropDownOverlay":a||n._positionDetection.removeOverlay();break;case"dropDownPosition":n._positionDetection.dropDownPositionChangedHandler();break;case"footer":n._handleFooter();break;case"footerTemplate":if(null!==a){n._defaultFooterTemplateApplied=!1;const e=n.$.calendarDropDown.$footer;e.unlisten("change"),e.unlisten("click"),e.unlisten("wheel"),n.$.calendarDropDown.footerTemplate=a}else{n._setDefaultFooterTemplate();const e=n._value;n._hourElement.value=e.toString("hh"),n._minuteElement.value=e.toString("mm"),n._ampmElement.value=e.toString("tt")}n._handleFooter();break;case"formatString":""===a&&(n.formatString="dd-MMM-yy HH:mm:ss.fff"),n._getFormatStringRegExp(),n._applyFormatString(),"auto"===n.dropDownDisplayMode&&n._changeDropDownDisplayMode(),n._timePickerInitialized&&(n.$.timePickerDropDown.format=n._formatStringRegExp.groups.find((e=>-1!==e.indexOf("H")))?"24-hour":"12-hour");break;case"interval":n._validateInterval(t);break;case"locale":case"messages":if(n.$.selectDate.innerHTML=n.localize("dateTabLabel"),n.$.selectTime.innerHTML=n.localize("timeTabLabel"),n._defaultFooterTemplateApplied&&(n._todayElement.title=n.localize("now")),"messages"===e)return;n._getLocalizedNames(),n.min.calendar.days=n._localizedDays,n.min.calendar.months=n._localizedMonths,n.min.calendar.locale=n.locale,n.max.calendar.days=n._localizedDays,n.max.calendar.months=n._localizedMonths,n.max.calendar.locale=n.locale,null!==n.value&&(n._value.calendar.days=n._localizedDays,n._value.calendar.months=n._localizedMonths,n._value.calendar.locale=n.locale,n.value.calendar.days=n._localizedDays,n.value.calendar.months=n._localizedMonths,n.value.calendar.locale=n.locale),JQX.Utilities.DateTime.cache=[],n._applyFormatString();break;case"max":case"min":n._validateMinMax(e,t),"strict"===n.validation?n._validateValue():n._minMaxChanged=!0;break;case"nullable":!0===t&&null===n._value&&n._validateValue(n._now(),null);break;case"opened":a?n._open():n._close();break;case"readonly":case"unfocusable":a&&n.close(),"unfocusable"===e&&n._setFocusable();break;case"restrictedDates":n._validateRestrictedDates(),n._validateValue();break;case"spinButtonsPosition":"right"===a?n.$.content.insertBefore(n.$.spinButtonsContainer,n.$.input.nextElementSibling):n.$.content.insertBefore(n.$.spinButtonsContainer,n.$.input);break;case"validation":"strict"===a&&(delete n._minMaxChanged,n._validateValue());break;case"value":{let e;null!==a?(e=JQX.Utilities.DateTime.validateDate(a,n._now(),n.formatString),e=e.toTimeZone(n._outputTimeZone)):e=null,n._validateValue(e,n._value,void 0,!0);break}}}setDate(e){const t=this;let a;null!==e?(a=JQX.Utilities.DateTime.validateDate(e,t._now(),t.formatString),a=a.toTimeZone(t._outputTimeZone)):a=null,t._validateValue(a,t._value,void 0,!0)}getDate(){return this.value&&this.value.toDate?this.value.toDate():null}_addCalendarFooterListeners(){const e=this,t=e.$.calendarDropDown.$footer;t.listen("change",e._footerChangeHandler.bind(e)),t.listen("click",e._footerClickHandler.bind(e)),t.listen("wheel",e._footerWheelHandler.bind(e))}_updateTargetValue(){const e=this;if(e.dataset.target){const t=document.querySelector(e.dataset.target);if(t){const a=e.dataset.property,n=e.value;a&&void 0!==t[a]&&(t[a]=n)}}}_addTimePickerListener(){const e=this;e.$.timePickerDropDown.$.listen("change",(function(t){const a=e.context,n=t.detail.value,i=JQX.Utilities.DateTime.getConstructorParameters(null!==e._value?e._value:e._now());e.context=e,i[3]=n.getHours(),i[4]=n.getMinutes(),e._timePickerInitiatedChange=!0,i.unshift(null),e._validateValue(new(Function.prototype.bind.apply(JQX.Utilities.DateTime,i))),e._timePickerInitiatedChange=!1,e.context=a}))}_applyFormatString(){const e=this;null!==e.value&&(e.$.input.value=e._value.toString(e.formatString))}_calendarButtonClickHandler(e){const t=this;t._highlightedTimePart=void 0,t.disabled||t.readonly||(t.hasRippleAnimation&&JQX.Utilities.Animation.Ripple.animate(t.$.calendarButton,e.pageX,e.pageY),t.opened?t._close():t._open())}_calendarDropDownChangeHandler(e){const t=this;if(e.stopPropagation(),t._disregardCalendarChangeEvent)t._disregardCalendarChangeEvent=!1;else if(this.$.calendarDropDown.selectedDates.length>0){const a=e.detail.value[0],n=null!==t._value?t._value:t._now(),i=JQX.Utilities.DateTime.getConstructorParameters(n);if(i[0]=a.getFullYear(),i[1]=a.getMonth()+1,i[2]=a.getDate(),t._calendarInitiatedChange=!0,i.unshift(null),t._validateValue(new(Function.prototype.bind.apply(JQX.Utilities.DateTime,i))),t._defaultFooterTemplateApplied){const e=t._value;""===t._hourElement.value&&(t._hourElement.value=e.toString("hh")),""===t._ampmElement.value&&(t._ampmElement.value=e.toString("tt")),""===t._minuteElement.value&&(t._minuteElement.value=e.toString("mm"))}t._calendarInitiatedChange=!1}else t._setNullValue()}_calendarDropDownClickHandler(e){const t=this;t.autoClose&&e.target.closest(".jqx-calendar-cell")&&(clearTimeout(t._autoCloseTimeout),t._autoCloseTimeout=setTimeout((function(){"month"===t.$.calendarDropDown.displayMode&&t.close()}),t.autoCloseDelay))}_changeDropDownDisplayMode(){function e(e,a,n,i){t.$dropDownHeader[e]("jqx-hidden"),t.$calendarDropDown[a]("jqx-hidden"),t._timePickerInitialized&&t.$.timePickerDropDown.$[n]("jqx-hidden"),i&&(t.opened?t.$.calendarDropDown._refreshTitle():t._toSync=!0)}const t=this,a=t._dropDownDisplayMode;t._detectDisplayMode(),t._dropDownDisplayMode!==a&&("default"===t._dropDownDisplayMode?(t.calendarMode="default",t.$.calendarDropDown.viewSections=["title","header"],t.$selectDate.addClass("jqx-selected"),t.$selectTime.removeClass("jqx-selected"),e("removeClass","removeClass","addClass",!0)):"classic"===t._dropDownDisplayMode?(t.calendarMode="classic",t.$.calendarDropDown.viewSections=["header","footer"],e("addClass","removeClass","addClass")):"calendar"===t._dropDownDisplayMode?(t.calendarMode="default",t.$.calendarDropDown.viewSections=["title","header"],e("addClass","removeClass","addClass",!0)):(t.calendarMode="default",e("addClass","addClass","removeClass"),t._timePickerInitialized||t._initializeTimePicker()),t.$.dropDownContainer.setAttribute("drop-down-display-mode",t.dropDownDisplayMode))}_cloneValue(){const e=this;return null!==e._value&&void 0!==e._value?e._value.clone():null}_close(){const e=this;if(e.$.fireEvent("closing").defaultPrevented)e.opened=!0;else{e.$.calendarDropDown.disabled=!0,e.$calendarButton.removeClass("jqx-calendar-button-pressed"),e.$.calendarButton.removeAttribute("active"),e.$dropDownContainer.addClass("jqx-visibility-hidden");const t=e.$.calendarDropDown.$.container.querySelector(".jqx-calendar-cell[hover]");t&&t.removeAttribute("hover"),e.opened=!1,e._positionDetection.removeOverlay(!0),e.$.fireEvent("close"),e._edgeMacFF&&!e.hasAnimation&&(e.$.dropDownContainer.style.top=null,e.$.dropDownContainer.style.left=null,e.$dropDownContainer.addClass("not-in-view")),e.$.input.focus()}e.$.calendarButton.setAttribute("aria-expanded",e.opened)}_detectDisplayMode(){const e=this;"auto"!==e.dropDownDisplayMode?e._dropDownDisplayMode=e.dropDownDisplayMode:e._dropDownDisplayMode=JQX.Utilities.DateTime.detectDisplayMode(e.value||e.min,e.formatString,e._formatStringRegExp),"timePicker"===e._dropDownDisplayMode?(e.$calendarButton.addClass("time"),"Enter date"===e.placeholder&&(e.placeholder="Enter time")):(e.$calendarButton.removeClass("time"),"Enter time"===e.placeholder&&(e.placeholder="Enter date")),"default"===e._dropDownDisplayMode?e.$dropDownContent.removeClass("partial"):e.$dropDownContent.addClass("partial")}_disableSpinButtons(){const e=this;if(e.disabled)return;const t=null===e._value;e.$.upButton.disabled=t,e.$.downButton.disabled=t}_documentUpHandler(e){const t=this,a=(t.shadowRoot||t.getRootNode()).activeElement||document.activeElement,n=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;JQX.Utilities.Core.isMobile||a!==t.$.input||"partial"!==t.editMode||null===t._value||n===t.$.input&&t.$.input.selectionStart!==t.$.input.selectionEnd?n===t.$.calendarButton||t.$.dropDownContainer.contains(n)||t.$.dropDownContainer.contains(t._getRootShadowHost(n))||(t.close(),a===t.$.input||t.contains(n)||(t._highlightedTimePart=void 0)):(t._highlightedTimePartEdit=!1,t._validateValue(t.$.input.value,t._cloneValue(),!1),t._highlightTimePartBasedOnCursor()),t._mouseFocus=!1}_getRootShadowHost(e){const t=this;if(!t.shadowRoot&&!t.isInShadowDOM)return;let a,n=e.getRootNode().host;for(;n&&n!==t&&n!==document;)a=n,n=n.getRootNode().host;return a}_dropDownHeaderClickHandler(e){const t=this;if(e.target===t.$.selectDate){if(t.$selectDate.hasClass("jqx-selected"))return;t.$selectDate.addClass("jqx-selected"),t.$selectTime.removeClass("jqx-selected"),t.$.timePickerDropDown.$.addClass("jqx-hidden"),t.$calendarDropDown.removeClass("jqx-hidden")}else{if(t.$selectTime.hasClass("jqx-selected"))return;t.$selectDate.removeClass("jqx-selected"),t.$selectTime.addClass("jqx-selected"),t.$calendarDropDown.addClass("jqx-hidden"),t._timePickerInitialized?t.$.timePickerDropDown.$.removeClass("jqx-hidden"):t._initializeTimePicker()}}_dropDownKeydownHandler(e){const t=this,a=e.key,n=t.shadowRoot?t.shadowRoot.activeElement:document.activeElement;!t.$.dropDownHeader.contains(n)||"Enter"!==a&&" "!==a?"Escape"===a||e.altKey&&"ArrowUp"===a?(e.preventDefault(),t.close(),t.$.input.focus()):"Enter"!==a&&" "!==a||!n.classList.contains("jqx-footer-component-today")?"Enter"===a&&(n===t.$.calendarDropDown.$.body&&t.$.calendarDropDown.querySelectorAll(".jqx-calendar-cell[selected][focus]").length>0||t._timePickerInitialized&&n===t.$.timePickerDropDown.$.picker)&&(e.preventDefault(),t.close()):(e.preventDefault(),t._validateValue(t._now()),t.close()):(e.preventDefault(),t._dropDownHeaderClickHandler({target:n}))}_dropDownTransitionendHandler(){const e=this;if(e.hasAnimation)return e.opened&&e._toFocus?(e._toFocus.focus(),delete e._toFocus,void(e._timePickerInitialized&&!e.$.timePickerDropDown.classList.contains("jqx-hidden")&&requestAnimationFrame((()=>e.$.timePickerDropDown._highlightLabel())))):e._edgeMacFF&&!e.opened?(e.$.dropDownContainer.style.top=null,e.$.dropDownContainer.style.left=null,void e.$dropDownContainer.addClass("not-in-view")):void 0}_footerChangeHandler(e){const t=this,a=t.context,n=e.target,i=null!==t._value?t._value:t._now();let o,l=n.value;if(t.context=t,e.stopPropagation(),n.classList.contains("jqx-hour-element")){if(l=parseInt(l,10),isNaN(l)||l<0||l>12)return void(n.value=i.toString("hh"));l>0&&l<12&&"PM"===i.toString("tt")&&(l+=12),o="hh"}else{if(!n.classList.contains("jqx-minute-element")){if(null===t._value)return void(n.value="");const e=i.toString("tt");return l=l.toLowerCase(),void("PM"===e&&("a"===l||"am"===l)||"AM"===e&&("p"===l||"pm"===l)?(t._incrementDecrement(void 0,"tt"),n.value=t._value.toString("tt")):n.value=e)}if(l=parseInt(l,10),isNaN(l)||l<0||l>59)return void(n.value=i.toString("mm"));o="mm"}const r=JQX.Utilities.DateTime.getConstructorParameters(i);r[t._codeToIndex[o]]=l,r.unshift(null),t._validateValue(new(Function.prototype.bind.apply(JQX.Utilities.DateTime,r))),n.value=t._value.toString(o),t.context=a}_footerClickHandler(e){const t=this,a=t.context,n=e.target;if(t.context=t,n.classList.contains("jqx-today-element"))t._validateValue(t._now()),t.autoClose&&(clearTimeout(t._autoCloseTimeout),t._autoCloseTimeout=setTimeout((function(){t.close()}),t.autoCloseDelay));else{const e=n.closest("jqx-repeat-button");if(null!==e){const a=e===e.parentElement.children[1],n=e.closest(".jqx-footer-component").classList.contains("jqx-footer-component-hour")?"hh":"mm";t._incrementDecrement(a,n)}}t.context=a}_footerWheelHandler(e){const t=this,a=t.shadowRoot?t.shadowRoot.activeElement:document.activeElement;if(t.enableMouseWheelAction&&e.target instanceof HTMLInputElement&&a===e.target){const a=t.context,n=e.target;t.context=t,n.classList.contains("jqx-hour-element")?t._incrementDecrement(e.deltaY>0,"hh"):n.classList.contains("jqx-minute-element")?t._incrementDecrement(e.deltaY>0,"mm"):t._incrementDecrement(void 0,"tt"),t.context=a,e.stopPropagation()}}_getAndHighlightTimePart(e,t,a){const n=this;n._programmaticSelection=!0,n.$.input.selectionStart!==e||n.$.input.selectionEnd!==t?n.$.input.setSelectionRange(e,t):setTimeout((function(){n.$.input.setSelectionRange(e,t)}),200),n._highlightedTimePart={code:n._formatStringRegExp.groups[a],index:a,from:e,to:t}}_getFormatStringRegExp(){const e=this;e._formatStringRegExp=e.min.getParseRegExp(e.min.calendar,e.formatString.replace(/y+/g,"yyyyy")),e._formatStringRegExp.regExp=new RegExp(e._formatStringRegExp.regExp)}_getLocalizedNames(){const e=this,t=JQX.Utilities.DateTime.getLocalizedNames(e.locale);e._localizedDays=t.days,e._localizedMonths=t.months,e.$.selectDate.innerHTML=e.localize("dateTabLabel"),e.$.selectTime.innerHTML=e.localize("timeTabLabel")}_handleManualTimePartEdit(e){const t=this,a=JQX.Utilities.DateTime.getConstructorParameters(t._value);if(e=e[t._highlightedTimePart.index+1],isNaN(e)){if(1===t._codeToIndex[t._highlightedTimePart.code]){let n=-1;if(e.length>1&&t._localizedMonths.names.some((function(t,a){if(-1!==t.toLowerCase().indexOf(e.toLowerCase()))return n=a,!0})),-1===n)return void t._applyFormatString();a[1]=n+1}}else{if("f"===t._highlightedTimePart.code)e=100*parseInt(e,10);else if("ff"===t._highlightedTimePart.code)e=10*parseInt(e,10);else if(-1!==t._highlightedTimePart.code.indexOf("y")&&e.length<3){const a=t.yearCutoff.toString(),n=parseInt(a.slice(2),10);let i=parseInt(a.slice(0,2),10);(e=parseInt(e,10))<n&&i++,e=e.toString(),e=i+""+"0".repeat(2-e.length)+e}else if(-1!==t._highlightedTimePart.code.indexOf("h")){const a=t._value.hour();e=parseInt(e,10),a>11&&e<=11&&(e+=12)}a[t._codeToIndex[t._highlightedTimePart.code]]=parseInt(e,10)}try{a.unshift(null),t._validateValue(new(Function.prototype.bind.apply(JQX.Utilities.DateTime,a)))}catch(e){t._applyFormatString()}}_highlightTimePartBasedOnCursor(e){const t=this,a=t.$.input.value,n=t._formatStringRegExp.regExp.exec(a);function i(){return void 0===e?t.$.input.selectionStart:e}if(null===n)return void(t._highlightedTimePart=void 0);t._iOS||void 0!==e||(e=t.$.input.selectionStart);let o,l=n.index;for(let e=1;e<n.length;e++){const r=n[e];if(o=a.indexOf(r,l),l=o+r.length,1===e&&i()<o){t._getAndHighlightTimePart(o,l,0);break}if(i()>=o&&i()<=l){t._getAndHighlightTimePart(o,l,e-1);break}const s=n[e+1];if(!s){t._programmaticSelection=!0,t.$.input.setSelectionRange(o,l),t._highlightedTimePart={code:t._formatStringRegExp.groups[e-1],index:e-1,from:o,to:l};break}{const n=a.indexOf(s,l);if(i()>l&&i()<n){i()-l<=n-i()?t._getAndHighlightTimePart(o,l,e-1):(t._formatStringRegExp.groups[e],t._programmaticSelection=!0,t.$.input.setSelectionRange(n,n+s.length));break}}}}_highlightTimePartBasedOnIndex(e){const t=this,a=t.$.input.value,n=t._formatStringRegExp.regExp.exec(a);if(null===n)return t._validateValue(void 0,t._cloneValue(),!1),void t._highlightTimePartBasedOnIndex(e);let i,o=n.index;const l=t.shadowRoot?t.shadowRoot.activeElement:document.activeElement;if(!(e<0||e>=n.length)){t.$.input!==l&&t.$.input.focus();for(let l=1;l<n.length;l++){const r=n[l];if(i=a.indexOf(r,o),o=i+r.length,e===l-1){t._getAndHighlightTimePart(i,o,e);break}}}}_incrementDecrement(e,t){const a=this,n=a._cloneValue();if(a._minMaxChanged&&(a._value=a._rangeValidation(a._value),delete a._minMaxChanged),void 0===t&&a._highlightedTimePart&&(t=a._highlightedTimePart.code),void 0!==t){if("z"===t||"zz"===t||"zzz"===t)return void a._highlightTimePartBasedOnIndex(a._highlightedTimePart.index);a._value="t"===t||"tt"===t?a._value.addHours(a._value.hour()<12?12:-12,!0):a._value[a._codeToMethod[t]](e?-1:1,!0),a._validateValue(void 0,n,!1),a._highlightedTimePart&&a._highlightTimePartBasedOnIndex(a._highlightedTimePart.index)}else a._value=a._value.add(e?a.interval.negate():a.interval,void 0,!0),a._validateValue(void 0,n,!1);0!==n.compare(a._value)&&a.isInitialized&&(a.$.fireEvent("change",{oldValue:n.toTimeZone(a._inputTimeZone),value:a.value}),a._updateTargetValue())}_initializeTimePicker(){const e=this,t=document.createElement("jqx-time-picker");t.rightToLeft=e.rightToLeft,t.animation=e.animation,t.autoSwitchToMinutes=e.autoSwitchToMinutes,t.format=e._formatStringRegExp.groups.find((e=>-1!==e.indexOf("H")))?"24-hour":"12-hour",t.theme=e.theme,t.value=null!==e._value?e._value.toDate():e._now(),e.$.timePickerDropDown=t,t.$=JQX.Utilities.Extend(t),e.$.dropDownContent.appendChild(t),e._timePickerInitialized=!0,e._addTimePickerListener()}_inputBlurHandler(){const e=this;e.removeAttribute("focus"),e._fullEdit=!1,e._highlightedTimePartEdit=!1,e.$.fireEvent("blur")}_inputChangeHandler(e){const t=this;if(e&&e.stopPropagation(),""!==t.$.input.value){if(t._fullEdit||null===t._value)t._fullEdit=!1,t._validateValue(t.$.input.value),t._highlightTimePartBasedOnCursor();else if(t._highlightedTimePartEdit){t._highlightedTimePartEdit=!1;let e=t._formatStringRegExp.regExp.exec(t.$.input.value);null!==e?t._handleManualTimePartEdit(e):t._applyFormatString()}}else t._setNullValue()}_inputDragstartHandler(e){e.preventDefault()}_inputFocusHandler(){const e=this;if(e.setAttribute("focus",""),"full"!==e.editMode){const t=JQX.Utilities.Core.isMobile?10:0;setTimeout((function(){e._iOS?e._highlightTimePartBasedOnCursor():!0!==e._mouseFocus&&(void 0===e._highlightedTimePart?e._highlightTimePartBasedOnCursor(e._iOS?void 0:0):e._highlightTimePartBasedOnIndex(e._highlightedTimePart.index))}),t)}e.$.fireEvent("focus")}_inputKeydownHandler(e){const t=this,a=t.editMode,n=e.key;if("Tab"!==n){if(e.altKey&&"ArrowDown"===n)return e.preventDefault(),void t.open();if("Escape"===n||e.altKey&&"ArrowUp"===n)return e.preventDefault(),void t.close();if("full"!==a){if("partial"===a){if("Delete"===n)return void(null!==t._value&&(t._setNullValue(),e.preventDefault()));if(null===t._value&&(t._validateValue(t._now(),null,!1),t._highlightTimePartBasedOnIndex(0)),-1!==["/",".","-",","," "].indexOf(n))return t._inputChangeHandler(),t._navigateToNextTimePart(),void e.preventDefault();if("Backspace"===n)return t._resetTimePart(),t._highlightedTimePart.index>0?t._navigateToPreviousTimePart():t._highlightTimePartBasedOnIndex(0),void e.preventDefault()}else if(t._fullEdit||t._highlightedTimePartEdit||t.readonly||-1!==["Alt","Control","Shift"].indexOf(n)||e.altKey||e.ctrlKey)return void(-1!==["End","Home","ArrowLeft","ArrowUp","ArrowRight","ArrowDown"].indexOf(n)&&t._highlightedTimePartEdit&&t._inputChangeHandler());if(-1!==["End","Home","ArrowLeft","ArrowUp","ArrowRight","ArrowDown"].indexOf(n)){if(e.preventDefault(),"partial"===a&&t._highlightedTimePartEdit&&t._inputChangeHandler(),null!==t._value)switch(n){case"End":t._highlightTimePartBasedOnIndex(t._formatStringRegExp.groups.length-1);break;case"Home":t._highlightTimePartBasedOnIndex(0);break;case"ArrowLeft":t._navigateToPreviousTimePart();break;case"ArrowUp":t._incrementDecrement();break;case"ArrowRight":t._navigateToNextTimePart();break;case"ArrowDown":t._incrementDecrement(!0)}}else if(t._highlightedTimePart){if("partial"!==a&&t._highlightedTimePart.to-t._highlightedTimePart.from!=t.$.input.selectionEnd-t.$.input.selectionStart)return void(t._fullEdit=!0);const i=t._highlightedTimePart.code;if("ddd"===i||"dddd"===i||"z"===i||"zz"===i||"zzz"===i||"t"===i||"tt"===i)return void e.preventDefault();if("partial"===a&&"MMM"!==i&&"MMMM"!==i&&!1===new RegExp(/^\d+$/).test(n))return void((n.length<2||"F"!==n.charAt(0))&&e.preventDefault());t._highlightedTimePartEdit=!0}}else t._fullEdit=!0}}_inputDownHandler(){const e=this;e._fullEdit||e._highlightedTimePartEdit||"full"===e.editMode||JQX.Utilities.Core.isMobile||setTimeout((function(){e._mouseFocus=!0,e._highlightTimePartBasedOnCursor()}),0)}_inputPasteHandler(e){"partial"===this.editMode?e.preventDefault():this._fullEdit=!0}_inputSelectHandler(){const e=this,t=e.shadowRoot?e.shadowRoot.activeElement:document.activeElement;"partial"===e.editMode&&t===e.$.input&&(!0===e._programmaticSelection?e._programmaticSelection=!1:e._highlightedTimePart?e._highlightTimePartBasedOnIndex(e._highlightedTimePart.index):e._highlightTimePartBasedOnIndex(0))}_inputUpHandler(){const e=this;JQX.Utilities.Core.isMobile&&(e._iOS?(e._mouseFocus=!0,setTimeout((function(){document.activeElement===e.$.input&&e._highlightTimePartBasedOnCursor()}),50)):setTimeout((function(){e._mouseFocus=!0,e._highlightTimePartBasedOnCursor()}),10))}_inputWheelHandler(e){const t=this;(t.shadowRoot?t.shadowRoot.activeElement:document.activeElement)!==t.$.input||!t.enableMouseWheelAction||t.disabled||t.readonly||(e.preventDefault(),t._incrementDecrement(e.deltaY>0))}_isRestricted(e){const t=this.restrictedDates;let a=!1;for(let n=0;n<t.length;n++)if(e.equalDateParts(t[n])){a=!0;break}return a}_mouseoutHandler(e){const t=this,a=e.target;t.disabled||a!==t.$.input&&a!==t.$.calendarButton||(a.removeAttribute("hover"),t.removeAttribute("hover"))}_mouseoverHandler(e){const t=this,a=e.target;t.disabled||a!==t.$.input&&a!==t.$.calendarButton||(a.setAttribute("hover",""),t.setAttribute("hover",""))}_navigateToNextTimePart(){this._highlightTimePartBasedOnIndex(this._highlightedTimePart.index+1)}_navigateToPreviousTimePart(){this._highlightTimePartBasedOnIndex(this._highlightedTimePart.index-1)}_now(){const e=this,t=new JQX.Utilities.DateTime("today","Local");return"Local"!==e._outputTimeZone?t.toTimeZone(e._outputTimeZone):t}_open(e){const t=this;if(t.disabled||t.readonly)return t.opened=!1,void t.$.calendarButton.setAttribute("aria-expanded",!1);if(t.$.fireEvent("opening").defaultPrevented)return t.opened=!1,void t.$.calendarButton.setAttribute("aria-expanded",!1);t._edgeMacFF&&t.$dropDownContainer.removeClass("not-in-view");const a=t.$.dropDownContainer;a.style.marginLeft=null,e||(a.style.transition=""),t.$.calendarDropDown.disabled=!1,t.$calendarButton.addClass("jqx-calendar-button-pressed"),t.$.calendarButton.setAttribute("active",""),("default"!==t._dropDownDisplayMode&&"timePicker"!==t._dropDownDisplayMode||!t._timePickerInitialized||t._timePickerInitialized&&t.$.timePickerDropDown.$.hasClass("jqx-hidden"))&&t.$calendarDropDown.removeClass("jqx-hidden"),t.opened=!0,t.$.calendarButton.setAttribute("aria-expanded",!0),t._positionDetection.placeOverlay(),t._positionDetection.checkBrowserBounds("vertically"),t._positionDetection.positionDropDown(),t.$dropDownContainer.removeClass("jqx-visibility-hidden");const n=1===window.devicePixelRatio?document.documentElement.clientWidth:window.innerWidth,i=a.getBoundingClientRect();if(i.left<0?a.style.marginLeft=-1*i.left+"px":i.right>n&&(a.style.marginLeft=n-i.right+"px"),t.$.fireEvent("open"),t._toSync){const e=t._value;if(null!==e)t._disregardCalendarChangeEvent=!0,t.$.calendarDropDown.selectedDates=[e.toDate()],t._defaultFooterTemplateApplied&&(t._hourElement.value=e.toString("hh"),t._minuteElement.value=e.toString("mm"),t._ampmElement.value=e.toString("tt")),t._timePickerInitialized&&(t.$.timePickerDropDown.value=e.toDate()),t._disregardCalendarChangeEvent=!1;else{const e=t.$.calendarDropDown.context;t.$.calendarDropDown.context=t.$.calendarDropDown,t.$.calendarDropDown._clearSelection(!0),t.$.calendarDropDown.context=e,t._defaultFooterTemplateApplied&&(t._hourElement.value="",t._minuteElement.value="",t._ampmElement.value="")}t._toSync=!1}let o;switch(t._dropDownDisplayMode){case"default":o=t.$selectDate.hasClass("jqx-selected")?t.$.calendarDropDown:t.$.timePickerDropDown.$.picker;break;case"classic":case"calendar":o=t.$.calendarDropDown;break;case"timePicker":o=t.$.timePickerDropDown.$.picker}t.hasAnimation?(t._toFocus=o,function e(){t._toFocus&&(0===t.$.dropDownContainer.getBoundingClientRect().height?requestAnimationFrame(e):t._dropDownTransitionendHandler())}()):o.focus()}_positionExternalDropDown(e){const t=this.context,a=!t.calendarButton||"right"===t.calendarButtonPosition,n=t._dropDownListPosition,i=t.$.dropDownContainer;let o,l=a?e.right-i.offsetWidth:e.left;switch(n){case"bottom":o=e.bottom;break;case"overlay-top":o=e.bottom-i.offsetHeight;break;case"overlay-center":o=e.top+e.height/2-i.offsetHeight/2;break;case"overlay-bottom":o=e.top;break;case"top":o=e.top-i.offsetHeight;break;case"center-bottom":case"center-top":o="center-bottom"===n?e.bottom+5:e.top-5-i.offsetHeight,l=a?e.right-i.offsetWidth/2-t.$.calendarButton.offsetWidth/2:e.left-i.offsetWidth/2+t.$.calendarButton.offsetWidth/2}return{left:l,top:o}}_rangeValidation(e){const t=this;return-1===e.compare(t.min)?t.min.clone():1===e.compare(t.max)?t.max.clone():e}_resetTimePart(){const e=this,t=e._highlightedTimePart.code,a=e._codeToIndex[t],n=JQX.Utilities.DateTime.getConstructorParameters(e._value);let i;i=a>2?0:a>0?1:e.min.year(),n[a]=i,n.unshift(null),e._validateValue(new(Function.prototype.bind.apply(JQX.Utilities.DateTime,n)))}_setIds(){const e=this;e.$.label.id||(e.$.label.id=e.id+"Label"),e.$.input.id||(e.$.input.id=e.id+"Input"),e.$.calendarButton.id||(e.$.calendarButton.id=e.id+"CalendarButton"),e.$.dropDownContainer.id||(e.$.dropDownContainer.id=e.id+"DropDownContainer"),e.$.hint.id||(e.$.hint.id=e.id+"Hint")}_setDefaultFooterTemplate(e){const t=this;t.$.calendarDropDown.footerTemplate=t._defaultFooterTemplate,e&&t.$.calendarDropDown._handleLayoutTemplate(t.$.calendarDropDown.$.footer,t._defaultFooterTemplate),t._hourElement=t.$.calendarDropDown.getElementsByClassName("jqx-hour-element")[0],t._minuteElement=t.$.calendarDropDown.getElementsByClassName("jqx-minute-element")[0],t._ampmElement=t.$.calendarDropDown.getElementsByClassName("jqx-am-pm-element")[0],t._todayElement=t.$.calendarDropDown.getElementsByClassName("jqx-today-element")[0],t._todayElement.title=t.localize("now"),Array.from(t.$.calendarDropDown.$.footer.getElementsByTagName("jqx-repeat-button")).forEach((function(e){e.animation=t.animation})),t._addCalendarFooterListeners(),t._defaultFooterTemplateApplied=!0}_setFocusable(){const e=this;if(e.disabled||e.unfocusable)return e.$.input.tabIndex=-1,e.$.selectDate.removeAttribute("tabindex"),e.$.selectTime.removeAttribute("tabindex"),void(e._defaultFooterTemplateApplied&&(e._hourElement.tabIndex=-1,e._ampmElement.tabIndex=-1,e._minuteElement.tabIndex=-1));const t=e.tabIndex>0?e.tabIndex:0;e.$.input.removeAttribute("tabindex"),e.$.selectDate.tabIndex=t,e.$.selectTime.tabIndex=t,e._defaultFooterTemplateApplied&&(e._hourElement.removeAttribute("tabindex"),e._ampmElement.removeAttribute("tabindex"),e._minuteElement.removeAttribute("tabindex"),e.$.calendarDropDown.getElementsByClassName("jqx-footer-component-today")[0].tabIndex=t)}_setNullValue(e){const t=this;if(void 0===e&&(e=t._cloneValue()),t.nullable){if(t._value=null,t.value=null,t._highlightedTimePart=void 0,t.$.input.value="",null!==e){if(t.opened){if(!t._calendarInitiatedChange){const e=t.$.calendarDropDown.context;t.$.calendarDropDown.context=t.$.calendarDropDown,t.$.calendarDropDown._clearSelection(!0),t.$.calendarDropDown.context=e}t._defaultFooterTemplateApplied&&(t._hourElement.value="",t._ampmElement.value="",t._minuteElement.value=""),t._toSync=!1}else t._toSync=!0;t.isInitialized&&(t.$.fireEvent("change",{oldValue:e.toTimeZone(t._inputTimeZone),value:null}),t._updateTargetValue())}t._disableSpinButtons()}else t._validateValue(t._now(),e)}_spinButtonsClickHandler(e){const t=this;null===t._value||t.disabled||t.readonly||t._incrementDecrement(t.$.downButton.contains(e.target))}_validateInitialPropertyValues(){const e=this,t=e.$.calendarDropDown;"left"===e.calendarButtonPosition&&e.$.content.insertBefore(e.$.calendarButton,e.$.input),"left"===e.spinButtonsPosition&&e.$.content.insertBefore(e.$.spinButtonsContainer,e.$.input),e.disabled&&(e.$.upButton.disabled=!0,e.$.downButton.disabled=!0),e.opened&&(e.disabled||e.readonly?e.opened=!1:(e.$.dropDownContainer.style.transition="none",e._open(!0))),e.$.calendarButton.setAttribute("aria-expanded",e.opened),null===e.footerTemplate?e._setDefaultFooterTemplate(!0):(t.footerTemplate=e.footerTemplate,t._handleLayoutTemplate(t.$.footer,e.footerTemplate)),""===e.formatString&&(e.formatString="dd-MMM-yy HH:mm:ss.fff");const a=e.displayKind;let n;if("UTC"===a?e._outputTimeZone="UTC":"local"===a&&(e._outputTimeZone="Local"),null!==e.value?(n=JQX.Utilities.DateTime.validateDate(e.value,new JQX.Utilities.DateTime,e.formatString),e._inputTimeZone=n.timeZone,"unspecified"!==a&&e._inputTimeZone!==e._outputTimeZone?n=n.toTimeZone(e._outputTimeZone):"unspecified"===a&&(e._outputTimeZone=e._inputTimeZone)):(n=null,e._inputTimeZone="Local"),e._validateRestrictedDates(),e._validateMinMax("both"),e._validateValue(n,e._now(),!1,!0),e._validateInterval(new JQX.Utilities.TimeSpan(0,0,1)),e._getFormatStringRegExp(),e._defaultFooterTemplateApplied&&""===e._hourElement.value&&null!==e.value){const t=e.value;e._hourElement.value=t.toString("hh"),e._ampmElement.value=t.toString("tt"),e._minuteElement.value=t.toString("mm")}e._detectDisplayMode();const i=e._dropDownDisplayMode;"default"===i||"calendar"===i?(t.viewSections=["title","header"],t.$title.hasClass("jqx-hidden")&&t.propertyChangedHandler("viewSections",["header","footer"],["title","header"]),"default"===i&&e.$dropDownHeader.removeClass("jqx-hidden")):"timePicker"===i&&(e.$calendarDropDown.addClass("jqx-hidden"),e._initializeTimePicker()),e.footer&&e._handleFooter()}_validateInterval(e){const t=this,a=t.interval;let n=a;if(a instanceof JQX.Utilities.TimeSpan)n=a;else if("string"==typeof a){const i=a.indexOf("TimeSpan("),o=a.indexOf(")");if(-1!==i&&-1!==o&&(n=a.slice(i+9,o),n=n.replace(/'/g,"").replace(/"/g,"").replace(/^\s+|\s+$|\s+(?=\s)/g,""),new RegExp(/(^(\d+)(,\s*\d+)*$)/g).test(n)&&(n=n.replace(/\s/g,""),n=n.split(","),n.map((function(e,t){n[t]=parseInt(e)})),n.unshift(null),n=new(Function.prototype.bind.apply(JQX.Utilities.TimeSpan,n)))),n instanceof JQX.Utilities.TimeSpan==0){if(""===n.trim())return void(t.interval=e);isNaN(n)||(n=1e4*parseInt(n,10));try{n=new JQX.Utilities.TimeSpan(n)}catch(a){return void(t.interval=e)}}}else{if("number"!=typeof a)return void(t.interval=e);n=new JQX.Utilities.TimeSpan(a)}0===n._ticks?t.interval=e:t.interval=n}_validateMinMax(e,t){const a=this;let n=!1;"max"!==e&&(a.min=JQX.Utilities.DateTime.validateDate(a.min,t||new JQX.Utilities.DateTime(1600,1,1),a.formatString),a.min=a.min.toTimeZone(a._outputTimeZone),n=!0),"min"!==e&&(a.max=JQX.Utilities.DateTime.validateDate(a.max,t||new JQX.Utilities.DateTime(3001,1,1),a.formatString),a.max=a.max.toTimeZone(a._outputTimeZone),a.max.calendar.days=a._localizedDays,a.max.calendar.months=a._localizedMonths,a.max.calendar.locale=a.locale,a.$.calendarDropDown.max=a.max.toDate()),a.min.compare(a.max)>0&&(a.min=a.max.clone(),n=!0),n&&(a.min.calendar.days=a._localizedDays,a.min.calendar.months=a._localizedMonths,a.min.calendar.locale=a.locale,a.$.calendarDropDown.min=a.min.toDate())}_validateRestrictedDates(){const e=this,t=[],a=[];for(let n=0;n<e.restrictedDates.length;n++){const i=e.restrictedDates[n];let o=JQX.Utilities.DateTime.validateDate(i,"invalid",e.formatString);"invalid"!==o&&(o=o.toTimeZone(e._outputTimeZone),t.push(o),a.push(o.toDate()))}e.restrictedDates=t,e.$.calendarDropDown.restrictedDates=a}_validateValue(e,t,a,n){const i=this;let o=void 0!==t?t:i._cloneValue();if(null===e||""===e)return void i._setNullValue(o);if(e&&"string"==typeof e)if(-1===e.indexOf("-")&&-1===e.indexOf("/")&&-1===e.indexOf(".")){if(i.formatString){let t="",a=0;for(let n=0;n<i.formatString.length;n++)"-"===i.formatString[n]||"/"===i.formatString[n]||"."===i.formatString[n]?t+=i.formatString[n]:e[a]?(t+=e[a],a++):t+=i.formatString[n];if(t.indexOf("y")>=0){let e=t.substring(t.indexOf("y")-2);const a=i.yearCutoff.toString(),n=parseInt(a.slice(2),10);let o=parseInt(a.slice(0,2),10);e=parseInt(e,10),e<n&&o++,e=e.toString(),"NaN"!==e?(e=o+""+"0".repeat(2-e.length)+e,t=t.substring(0,t.indexOf("y")-2)+e):t=null}e=t}}else{let t=e.indexOf("-")>=0?"-":"";if(""===t&&(t=e.indexOf("/")>=0?"/":""),""===t&&(t=e.indexOf(".")>=0?".":""),t&&i.formatString.indexOf("yyyy")>=0){const a=e.split(t);let n=a[a.length-1];if(n.length<4){const o=i.yearCutoff.toString(),l=parseInt(o.slice(2),10);let r=parseInt(o.slice(0,2),10);n=parseInt(n,10),n<l&&r++,n=n.toString(),n=r+""+"0".repeat(2-n.length)+n,a[a.length-1]=n,e=a.join(t)}}}if(void 0!==e&&(i._value=JQX.Utilities.DateTime.validateDate(e,o,i.formatString)),null===i._value)return void i._setNullValue(o);let l=i._value;for(;!0===i._isRestricted(l);)l.addDays(1,!1);const r=i._rangeValidation(l);n&&"strict"!==i.validation?!1===l.equals(r)&&(i._minMaxChanged=!0):(i._value=r,delete i._minMaxChanged),i.value=i._value.toTimeZone(i._inputTimeZone);const s=i._value;if(s.calendar.days=i._localizedDays,s.calendar.months=i._localizedMonths,s.calendar.locale=i.locale,i._applyFormatString(),i._disableSpinButtons(),o&&"string"==typeof o&&(o=new JQX.Utilities.DateTime(o)),(null===o||null===s)&&o!==s||null!==o&&null!==s&&o.compare&&0!==o.compare(s)){if(!1!==a&&i.isInitialized&&!n&&(i.$.fireEvent("change",{oldValue:null!==o?o.toTimeZone(i._inputTimeZone):null,value:i.value}),i._updateTargetValue()),i._calendarInitiatedChange)return;i.opened?(null!==o&&0!==i.$.calendarDropDown.selectedDates.length&&o.year()===s.year()&&o.month()===s.month()&&o.day()===s.day()&&i.$.calendarDropDown._isDateInView(s.toDate())||(i._disregardCalendarChangeEvent=!0,i.$.calendarDropDown.selectedDates=[s.toDate()]),i._defaultFooterTemplateApplied&&(null!==o&&o.hour()===s.hour()||(i._hourElement.value=s.toString("hh"),i._ampmElement.value=s.toString("tt")),null!==o&&o.minute()===s.minute()||(i._minuteElement.value=s.toString("mm"))),i._timePickerInitialized&&!i._timePickerInitiatedChange&&(i.$.timePickerDropDown.value=s.toDate()),i._toSync=!1):i._toSync=!0}}});

/***/ }),

/***/ 9613:
/***/ (() => {

JQX.Utilities.Assign("Draw",class{constructor(t,e){const i=this;i.host=t,i.renderEngine=e||"",i.refresh();const r=["clear","removeElement","attr","getAttr","line","circle","rect","path","pieslice","pieSlicePath","text","measureText"];for(let t in r)i._addFn(JQX.Utilities.Draw.prototype,r[t])}_addFn(t,e){t[e]||(t[e]=function(){return this.renderer[e].apply(this.renderer,arguments)})}_initRenderer(t){return this.createRenderer(this,t)}_internalRefresh(){const t=this;if(t.renderer||(t.host.innerHTML="",t._initRenderer(t.host)),"none"===window.getComputedStyle(t.host).display)return;const e=t.renderer;if(!e)return;const i=e.getRect();t._render({x:1,y:1,width:i.width,height:i.height})}_render(t){this._plotRect=t}refresh(){this._internalRefresh()}getSize(){const t=this._plotRect;return{width:t.width,height:t.height}}toGreyScale(t){if(-1===t.indexOf("#"))return t;const e=this.cssToRgb(t);e[0]=e[1]=e[2]=Math.round(.3*e[0]+.59*e[1]+.11*e[2]);const i=this.rgbToHex(e[0],e[1],e[2]);return"#"+i[0]+i[1]+i[2]}decToHex(t){return t.toString(16)}hexToDec(t){return parseInt(t,16)}rgbToHex(t,e,i){return[this.decToHex(t),this.decToHex(e),this.decToHex(i)]}hexToRgb(t,e,i){return[this.hexToDec(t),this.hexToDec(e),this.hexToDec(i)]}cssToRgb(t){return t.indexOf("rgb")<=-1?this.hexToRgb(t.substring(1,3),t.substring(3,5),t.substring(5,7)):t.substring(4,t.length-1).split(",")}hslToRgb(t){let e,i,r;const s=parseFloat(t[0]),n=parseFloat(t[1]),h=parseFloat(t[2]);if(0===n)e=i=r=h;else{const t=h<.5?h*(1+n):h+n-h*n,a=2*h-t;e=this.hueToRgb(a,t,s+1/3),i=this.hueToRgb(a,t,s),r=this.hueToRgb(a,t,s-1/3)}return[255*e,255*i,255*r]}hueToRgb(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}rgbToHsl(t){const e=parseFloat(t[0])/255,i=parseFloat(t[1])/255,r=parseFloat(t[2])/255,s=Math.max(e,i,r),n=Math.min(e,i,r);let h,a,o=(s+n)/2;if(s===n)h=a=0;else{const t=s-n;switch(a=o>.5?t/(2-s-n):t/(s+n),s){case e:h=(i-r)/t+(i<r?6:0);break;case i:h=(r-e)/t+2;break;case r:h=(e-i)/t+4}h/=6}return[h,a,o]}swap(t,e){const i=t;t=e,e=i}getNum(t){if(t.constructor!==Array){if(isNaN(t))return 0}else for(let e=0;e<t.length;e++)if(!isNaN(t[e]))return t[e];return 0}_ptRotate(t,e,i,r,s){const n=Math.sqrt(Math.pow(Math.abs(t-i),2)+Math.pow(Math.abs(e-r),2)),h=Math.asin((t-i)/n)+s;return{x:t=i+Math.cos(h)*n,y:e=r+Math.sin(h)*n}}log(t,e){return Math.log(t)/(e?Math.log(e):1)}_mod(t,e){const i=Math.abs(t>e?e:t);let r=1;if(0!==i)for(;i*r<100;)r*=10;return(t*=r)%(e*=r)/r}createRenderer(t,e){const i=t;let r=i.renderer=null;return document.createElementNS&&"HTML5"!==i.renderEngine&&(r=new JQX.Utilities.SvgRenderer(this)),null!==r||"HTML5"!==i.renderEngine&&void 0!==i.renderEngine||(r=new JQX.Utilities.HTML5Renderer(this)),r.init(e),i.renderer=r,r}getByPriority(t){let e;for(let i=0;i<t.length;i++){const r=t[i];if(null!=r&&""!==r){e=r;break}}return e}get(t,e,i){return void 0!==i?t[e][i]:t[e]}min(t,e){let i=NaN;for(let r=0;r<t.length;r++){const s=this.get(t,r,e);(isNaN(i)||s<i)&&(i=s)}return i}max(t,e){let i=NaN;for(let r=0;r<t.length;r++){const s=this.get(t,r,e);(isNaN(i)||s>i)&&(i=s)}return i}sum(t,e){let i=0;for(let r=0;r<t.length;r++){const s=this.get(t,r,e);isNaN(s)||(i+=s)}return i}count(t,e){let i=0;for(let r=0;r<t.length;r++){const s=this.get(t,r,e);isNaN(s)||i++}return i}avg(t,e){return this.sum(t,e)/Math.max(1,this.count(t,e))}filter(t,e){if(!e)return t;const i=[];for(let r=0;r<t.length;r++)e(t[r])&&i.push(t[r]);return i}scale(t,e,i,r){if(isNaN(t))return NaN;if((t<Math.min(e.min,e.max)||t>Math.max(e.min,e.max))&&(!r||!0!==r.ignore_range))return NaN;let s=NaN,n=1;if(void 0===e.type||"logarithmic"!==e.type){let i=Math.abs(e.max-e.min);i||(i=1),n=Math.abs(t-Math.min(e.min,e.max))/i}else if("logarithmic"===e.type){let i=e.base;isNaN(i)&&(i=10);let r=Math.min(e.min,e.max);r<=0&&(r=1);let s=Math.max(e.min,e.max);s<=0&&(s=1);const h=this.log(s,i);s=Math.pow(i,h);const a=this.log(r,i);r=Math.pow(i,a);const o=this.log(t,i);n=Math.abs(o-a)/(h-a)}if("logarithmic"===i.type){let t=i.base;isNaN(t)&&(t=10);const e=this.log(i.max,t),r=this.log(i.min,t);i.flip&&(n=1-n);const h=Math.min(r,e)+n*Math.abs(e-r);s=Math.pow(t,h)}else s=Math.min(i.min,i.max)+n*Math.abs(i.max-i.min),i.flip&&(s=Math.max(i.min,i.max)-s+i.min);return s}axis(t,e,i){if(i<=1)return[e,t];(isNaN(i)||i<2)&&(i=2);let r=0;for(;Math.round(t)!==t&&Math.round(e)!==e&&r<10;)t*=10,e*=10,r++;let s=(e-t)/i;for(;r<10&&Math.round(s)!==s;)t*=10,e*=10,s*=10,r++;const n=[1,2,5];let h,a=0;for(;;){let t=a%n.length,e=Math.floor(a/n.length),i=Math.pow(10,e)*n[t];if(t=(a+1)%n.length,e=Math.floor((a+1)/n.length),h=Math.pow(10,e)*n[t],s>=i&&s<h)break;a++}const o=h,l=[];let d=this.renderer._rnd(t,o,!1);const c=r<=0?1:Math.pow(10,r);for(;d<e+o;)l.push(d/c),d+=o;return l}_widgetToImage(t,e,i,r,s){let n=t;if(!n)return!1;void 0!==i&&""!==i||(i="image."+e);let h=n.renderEngine,a=n.animation;if(n.animation="none",n.renderEngine="HTML5",n.renderEngine!==h)try{n.refresh()}catch(t){return n.renderEngine=h,n.refresh(),n.animation=a,!1}let o=n.renderer.getContainer().firstElementChild,l=!0;"function"==typeof r&&(l=r(t,o));let d=!0;return l&&(d=this.exportImage(t,o,e,i,s)),n.renderEngine!==h&&(n.renderEngine=h,n.refresh(),n.animation=a),d}_saveAsImage(t,e){return this._widgetToImage(this,t,e)}saveAsPNG(t){return this._saveAsImage("png",t)}saveAsJPEG(t){return this._saveAsImage("jpeg",t)}exportImage(t,e,i,r,s){if(!e)return!1;let n="pdf"===i.toLowerCase();n&&(i="jpeg"),void 0!==r&&""!==r||(r="image."+i);let h=!0;if("print"!==i){try{if(e)if(n){s=s||"portrait";const n={content:{image:e.toDataURL("image/"+i),width:Math.min(e.width/1.35,"portrait"===s?515:762)},pageOrientation:s};try{pdfMake.createPdf(n).download(r)}catch(e){t.error(t.localize("missingReference",{files:"pdfmake.min.js"}))}}else{JQX.Utilities.DataExporter||t.error(t.localize("missingReference",{files:"jqx.export.js"}));const s=new JQX.Utilities.DataExporter;e.toBlob((function(t){s.downloadFile(t,i,r)}))}}catch(t){h=!1}return h}{const t=window.open("","","width=800,height=500"),i=t.document.open(),r='<!DOCTYPE html><html><head><meta charset="utf-8" /><title>jQWidgets Chart</title></head><body><img src="'+e.toDataURL()+'" /></html>';try{i.write(r),i.close(),setTimeout((function(){t.print(),t.close()}),100)}catch(t){}}}}),JQX.Utilities.Assign("Renderer",class{constructor(t){const e=this;e.draw=t,e._gradients={},e._toRadiansCoefficient=2*Math.PI/360}pieSlicePath(t,e,i,r,s,n,h){r||(r=1);const a=Math.abs(s-n),o=a>180?1:0;a>=360&&(n=s+359.99);const l=s*this._toRadiansCoefficient,d=n*this._toRadiansCoefficient;let c=t,p=t,u=e,g=e;const f=!isNaN(i)&&i>0;f&&(h=0);const m=Math.cos(l),_=Math.sin(l),x=Math.cos(d),M=Math.sin(d);if(h+i>0){if(h>0){const i=(a/2+s)*this._toRadiansCoefficient;t+=h*Math.cos(i),e-=h*Math.sin(i)}f&&(c=t+i*m,u=e-i*_,p=t+i*x,g=e-i*M)}const y=t+r*m,w=t+r*x,N=e-r*_,v=e-r*M;let b="";const C=Math.abs(Math.abs(n-s)-360)>.02;return f?(b="M "+p+","+g,b+=" a"+i+","+i,b+=" 0 "+o+",1 "+(c-p)+","+(u-g),b+=C?" L"+y+","+N:" M"+y+","+N,b+=" a"+r+","+r,b+=" 0 "+o+",0 "+(w-y)+","+(v-N),C&&(b+=" Z")):(b="M "+w+","+v,b+=" a"+r+","+r,b+=" 0 "+o+",1 "+(y-w)+","+(N-v),C&&(b+=" L"+t+","+e,b+=" Z")),b}measureText(t,e,i,r){const s=this._getTextParts(t,e,i),n=s.width;let h=s.height;!1===r&&(h/=.6);let a={};if(isNaN(e)&&(e=0),0===e)a={width:this._rup(n),height:this._rup(h)};else{const t=e*Math.PI*2/360,i=Math.abs(Math.sin(t)),r=Math.abs(Math.cos(t)),s=Math.abs(n*i+h*r),o=Math.abs(n*r+h*i);a={width:this._rup(o),height:this._rup(s)}}return r&&(a.textPartsInfo=s),a}alignTextInRect(t,e,i,r,s,n,h,a,o,l){const d=o*Math.PI*2/360,c=Math.sin(d),p=Math.cos(d),u=s*c,g=s*p;"center"===h||""===h||"undefined"===h?t+=i/2:"right"===h&&(t+=i),"center"===a||"middle"===a||""===a||"undefined"===a?e+=r/2:"bottom"===a?e+=r-n/2:"top"===a&&(e+=n/2);let f="middle";-1!==(l=l||"").indexOf("top")?f="top":-1!==l.indexOf("bottom")&&(f="bottom");let m="center";return-1!==l.indexOf("left")?m="left":-1!==l.indexOf("right")&&(m="right"),"center"===m?(t-=g/2,e-=u/2):"right"===m&&(t-=g,e-=u),"top"===f?(t-=n*c,e+=n*p):"middle"===f&&(t-=n*c/2,e+=n*p/2),{x:t=this._rup(t),y:e=this._rup(e)}}adjustColor(t,e){if("string"!=typeof t)return"#000000";if(-1===t.indexOf("#"))return t;const i=this.draw;let r=i.cssToRgb(t);const s=i.rgbToHsl(r);s[2]=Math.min(1,s[2]*e),s[1]=Math.min(1,s[1]*e*1.1),r=i.hslToRgb(s),t="#";for(let e=0;e<3;e++){let s=Math.round(r[e]);s=i.decToHex(s),1===s.toString().length&&(t+="0"),t+=s}return t.toUpperCase()}_rup(t){let e=Math.round(t);return t>e&&e++,e}_ptdist(t,e,i,r){return Math.sqrt((i-t)*(i-t)+(r-e)*(r-e))}_rnd(t,e,i,r){if(isNaN(t))return t;void 0===r&&(r=!0);let s=t-(!0===r?t%e:this._mod(t,e));return t===s?s:(i?t>s&&(s+=e):s>t&&(s-=e),1===e?Math.round(s):s)}_ptrnd(t){if(!document.createElementNS)return Math.round(t)===t?t:this._rnd(t,1,!1,!0);const e=this._rnd(t,.5,!1,!0);return.5!==Math.abs(e-Math.round(e))?e>t?e-.5:e+.5:e}_getContrastColor(t){if(void 0===t)return;let e=this.draw.hexToRgb(t.slice(1,3),t.slice(3,5),t.slice(5,7));return(.299*e[0]+.61*e[1]+.114*e[2])/255>.6?"#000000":"#FFFFFF"}}),JQX.Utilities.Assign("SvgRenderer",class extends JQX.Utilities.Renderer{constructor(t){super(t);const e=this;e._svgns="http://www.w3.org/2000/svg",e._openGroups=[],e._clipId=0}init(t){const e=document.createElement("div");e.className="drawContainer",e.onselectstart=function(){return!1},t.appendChild(e),this.host=t,this.container=e;try{const t=document.createElementNS(this._svgns,"svg");t.setAttribute("version","1.1"),t.setAttribute("width","100%"),t.setAttribute("height","100%"),t.setAttribute("overflow","hidden"),e.appendChild(t),this.canvas=t}catch(t){return!1}return this._id=(new Date).getTime(),this.clear(),!0}getType(){return"SVG"}refresh(){}getRect(){return{x:0,y:0,width:Math.max(this._rup(this.host.offsetWidth)-1,0),height:Math.max(this._rup(this.host.offsetHeight)-1,0)}}getContainer(){return this.container}clear(){for(;this.canvas.childNodes.length>0;)this.removeElement(this.canvas.firstElementChild);this._defaultParent=void 0,this._defs=document.createElementNS(this._svgns,"defs"),this._gradients={},this.canvas.appendChild(this._defs)}removeElement(t){if(void 0!==t)try{for(;t.firstChild;)this.removeElement(t.firstChild);t.parentNode?t.parentNode.removeChild(t):this.canvas.removeChild(t)}catch(t){}}beginGroup(){const t=this._activeParent(),e=document.createElementNS(this._svgns,"g");return t.appendChild(e),this._openGroups.push(e),e}endGroup(){0!==this._openGroups.length&&this._openGroups.pop()}_activeParent(){return 0===this._openGroups.length?this.canvas:this._openGroups[this._openGroups.length-1]}createClipRect(t){const e=document.createElementNS(this._svgns,"clipPath"),i=document.createElementNS(this._svgns,"rect");return this.attr(i,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"none"}),this._clipId=this._clipId||0,e.id="cl"+this._id+"_"+(++this._clipId).toString(),e.appendChild(i),this._defs.appendChild(e),e}getWindowHref(){let t=window.location.href;return t?(t=t.replace(/([\('\)])/g,"\\$1"),t=t.replace(/#.*$/,""),t):t}setClip(t,e){const i="url("+this.getWindowHref()+"#"+e.id+")";return this.attr(t,{"clip-path":i})}addHandler(t,e,i){t.addEventListener(e,i)}removeHandler(){}on(t,e,i){this.addHandler(t,e,i)}off(t,e,i){this.removeHandler(t,e,i)}shape(t,e){const i=document.createElementNS(this._svgns,t);if(i){for(let t in e)i.setAttribute(t,e[t]);return this._activeParent().appendChild(i),i}}_getTextParts(t,e,i){const r={width:0,height:0,parts:[]};if(void 0===t)return r;const s=t.toString().split("<br>"),n=this._activeParent(),h=document.createElementNS(this._svgns,"text");this.attr(h,i);for(let t=0;t<s.length;t++){const e=s[t],i=h.ownerDocument.createTextNode(e);let a;h.appendChild(i),n.appendChild(h);try{a=h.getBBox()}catch(t){}const o=this._rup(a.width),l=this._rup(.6*a.height);h.removeChild(i),r.width=Math.max(r.width,o),r.height+=l+(t>0?4:0),r.parts.push({width:o,height:l,text:e})}return n.removeChild(h),r}_measureText(t,e,i,r){return super.measureText(t,e,i,r)}measureText(t,e,i){return this._measureText(t,e,i,!1)}text(t,e,i,r,s,n,h,a,o,l,d){const c=this._measureText(t,n,h,!0,this).textPartsInfo,p=c.parts,u=this._getContrastColor(arguments[11]);let g;if(o||(o="center"),l||(l="center"),(p.length>1||a)&&(g=this.beginGroup()),a){const t=this.createClipRect({x:this._rup(e)-1,y:this._rup(i)-1,width:this._rup(r)+2,height:this._rup(s)+2});this.setClip(g,t)}let f=this._activeParent(),m=0,_=0;m=c.width,_=c.height,(isNaN(r)||r<=0)&&(r=m),(isNaN(s)||s<=0)&&(s=_);const x=r||0,M=s||0;let y=0;if(!n||0===n){let t;i+=_,"center"===l||"middle"===l?i+=(M-_)/2:"bottom"===l&&(i+=M-_),r||(r=m),s||(s=_),f=this._activeParent();for(let r=p.length-1;r>=0;r--){t=document.createElementNS(this._svgns,"text"),this.attr(t,h),this.attr(t,{cursor:"default"});const s=t.ownerDocument.createTextNode(p[r].text);t.appendChild(s);let n=e;const a=p[r].width,l=p[r].height;"center"===o?n+=(x-a)/2:"right"===o&&(n+=x-a),this.attr(t,{x:this._rup(n),y:this._rup(i+y),width:this._rup(a),height:this._rup(l)}),void 0!==u&&(t.style.fill=u),f.appendChild(t),y-=p[r].height+4}return g?(this.endGroup(),g):t}const w=this.alignTextInRect(e,i,r,s,m,_,o,l,n,d);e=w.x,i=w.y;const N=this.shape("g",{transform:"translate("+e+","+i+")"}),v=this.shape("g",{transform:"rotate("+n+")"});N.appendChild(v),y=0;for(let t=p.length-1;t>=0;t--){const e=document.createElementNS(this._svgns,"text");this.attr(e,h),this.attr(e,{cursor:"default"});const i=e.ownerDocument.createTextNode(p[t].text);e.appendChild(i);let r=0;const s=p[t].width,n=p[t].height;"center"===o?r+=(c.width-s)/2:"right"===o&&(r+=c.width-s),this.attr(e,{x:this._rup(r),y:this._rup(y),width:this._rup(s),height:this._rup(n)}),v.appendChild(e),y-=n+4}return f.appendChild(N),g&&this.endGroup(),N}line(t,e,i,r,s){const n=this.shape("line",{x1:t,y1:e,x2:i,y2:r});return this.attr(n,s),n}path(t,e){const i=this.shape("path");return i.setAttribute("d",t),e&&this.attr(i,e),i}rect(t,e,i,r,s){t=this._ptrnd(t),e=this._ptrnd(e),i=Math.max(1,this._rnd(i,1,!1)),r=Math.max(1,this._rnd(r,1,!1));const n=this.shape("rect",{x:t,y:e,width:i,height:r});return s&&this.attr(n,s),n}circle(t,e,i,r){const s=this.shape("circle",{cx:t,cy:e,r:i});return r&&this.attr(s,r),s}pieslice(t,e,i,r,s,n,h,a){const o=this.pieSlicePath(t,e,i,r,s,n,h),l=this.shape("path");return l.setAttribute("d",o),a&&this.attr(l,a),l}attr(t,e){if(t&&e)for(let i in e)"textContent"===i?t.textContent=e[i]:"width"===i||"height"===i?t.setAttribute(i,Math.max(0,e[i])):t.setAttribute(i,e[i])}removeAttr(t,e){if(t&&e)for(let i in e)"textContent"===i?t.textContent="":t.removeAttribute(e[i])}getAttr(t,e){return t.getAttribute(e)}_toLinearGradient(t,e,i){const r="grd"+this._id+t.replace("#","")+(e?"v":"h"),s="url("+this.getWindowHref()+"#"+r+")";if(this._gradients[s])return s;const n=document.createElementNS(this._svgns,"linearGradient");this.attr(n,{x1:"0%",y1:"0%",x2:e?"0%":"100%",y2:e?"100%":"0%",id:r});for(let e=0;e<i.length;e++){const r=i[e],s=document.createElementNS(this._svgns,"stop"),h="stop-color:"+this.adjustColor(t,r[1]);this.attr(s,{offset:r[0]+"%",style:h}),n.appendChild(s)}return this._defs.appendChild(n),this._gradients[s]=!0,s}_toRadialGradient(t,e,i){const r="grd"+this._id+t.replace("#","")+"r"+(void 0!==i?i.key:""),s="url("+this.getWindowHref()+"#"+r+")";if(this._gradients[s])return s;const n=document.createElementNS(this._svgns,"radialGradient");void 0===i?this.attr(n,{cx:"50%",cy:"50%",r:"100%",fx:"50%",fy:"50%",id:r}):this.attr(n,{cx:i.x,cy:i.y,r:i.outerRadius,id:r,gradientUnits:"userSpaceOnUse"});for(let i=0;i<e.length;i++){const r=e[i],s=document.createElementNS(this._svgns,"stop"),h="stop-color:"+this.adjustColor(t,r[1]);this.attr(s,{offset:r[0]+"%",style:h}),n.appendChild(s)}return this._defs.appendChild(n),this._gradients[s]=!0,s}}),JQX.Utilities.Assign("HTML5Renderer",class extends JQX.Utilities.Renderer{constructor(t){super(t),this._renderers=new JQX.Utilities.HTML5RenderHelpers(this)}init(t){try{this.host=t;const e=document.createElement("div"),i=document.createElement("canvas");e.className="chartContainer",e.style.position="relative",e.onselectstart=function(){return!1},i.id="__jqxCanvasWrap",i.style.width="100%",i.style.height="100%",e.appendChild(i),t.appendChild(e),this.canvas=i,i.width=t.offsetWidth,i.height=t.offsetHeight,this.ctx=i.getContext("2d"),this._elements={},this._maxId=0,this._gradientId=0,this._gradients={},this._currentPoint={x:0,y:0},this._lastCmd="",this._pos=0}catch(t){return!1}return!0}getType(){return"HTML5"}getContainer(){return this.host.getElementsByClassName("chartContainer")[0]}getRect(){return{x:0,y:0,width:this.canvas.width-1,height:this.canvas.height-1}}beginGroup(){}endGroup(){}setClip(){}createClipRect(){}addHandler(){}removeHandler(){}on(t,e,i){this.addHandler(t,e,i)}off(t,e,i){this.removeHandler(t,e,i)}clear(){this._elements={},this._maxId=0,this._renderers._gradients={},this._gradientId=0}removeElement(t){void 0!==t&&this._elements[t.id]&&delete this._elements[t.id]}shape(t,e){let i={type:t,id:this._maxId++};for(let t in e)i[t]=e[t];return this._elements[i.id]=i,i}attr(t,e){for(let i in e)t[i]=e[i]}removeAttr(t,e){for(let i in e)delete t[e[i]]}rect(t,e,i,r,s){if(isNaN(t))throw'Invalid value for "x"';if(isNaN(e))throw'Invalid value for "y"';if(isNaN(i))throw'Invalid value for "width"';if(isNaN(r))throw'Invalid value for "height"';let n=this.shape("rect",{x:t,y:e,width:i,height:r});return s&&this.attr(n,s),n}path(t,e){let i=this.shape("path",e);return this.attr(i,{d:t}),i}line(t,e,i,r,s){return this.path("M "+t+","+e+" L "+i+","+r,s)}circle(t,e,i,r){let s=this.shape("circle",{x:t,y:e,r:i});return r&&this.attr(s,r),s}pieslice(t,e,i,r,s,n,h,a){let o=this.path(this.pieSlicePath(t,e,i,r,s,n,h),a);return this.attr(o,{x:t,y:e,innerRadius:i,outerRadius:r,angleFrom:s,angleTo:n}),o}_getCSSStyle(t){const e=document.createElement("div");e.className=t,e.style.position="absolute",e.style.visibility="hidden",this.host.appendChild(e);let i=window.getComputedStyle(e);return i={color:i.color,fontFamily:i.fontFamily,fontSize:i.fontSize,fontWeight:i.fontWeight},this.host.removeChild(e),i}_getTextParts(t,e,i){let r="Arial",s="10pt",n="";if(i&&i.class){let t=this._getCSSStyle(i.class);t.fontSize&&(s=t.fontSize),t.fontFamily&&(r=t.fontFamily),t.fontWeight&&(n=t.fontWeight)}this.ctx.font=n+" "+s+" "+r;let h={width:0,height:0,parts:[]},a=t.toString().split("<br>");for(let t=0;t<a.length;t++){let e=a[t],i=this.ctx.measureText(e).width,r=document.createElement("span");r.className="chart",r.font=this.ctx.font,r.textContent=e,this.host.appendChild(r);let s=.6*r.offsetHeight;this.host.removeChild(r),h.width=Math.max(h.width,this._rup(i)),h.height+=s+(t>0?4:0),h.parts.push({width:i,height:s,text:e})}return h}_measureText(t,e,i,r){return super.measureText(t,e,i,r)}measureText(t,e,i){return this._measureText(t,e,i,!1)}text(t,e,i,r,s,n,h,a,o,l,d){let c=this.shape("text",{text:t,x:e,y:i,width:r,height:s,angle:n,clip:a,halign:o,valign:l,rotateAround:d});if(h&&this.attr(c,h),c.fontFamily="Arial",c.fontSize="10pt",c.fontWeight="",c.color=this._getContrastColor(arguments[11]),h&&h.class){let t=this._getCSSStyle(h.class);c.fontFamily=t.fontFamily||c.fontFamily,c.fontSize=t.fontSize||c.fontSize,c.fontWeight=t.fontWeight||c.fontWeight,c.color=c.color||t.color}c.color=c.color||"#000000";let p=this._measureText(t,0,h,!0);return this.attr(c,{textPartsInfo:p.textPartsInfo,textWidth:p.width,textHeight:p.height}),(r<=0||isNaN(r))&&this.attr(c,{width:p.width}),(s<=0||isNaN(s))&&this.attr(c,{height:p.height}),c}_toLinearGradient(t,e,i){if(this._renderers._gradients[t])return t;let r=[];for(let e=0;e<i.length;e++)r.push({percent:i[e][0]/100,color:this.adjustColor(t,i[e][1])});let s="gr"+this._gradientId++;return this.createGradient(s,e?"vertical":"horizontal",r),s}_toRadialGradient(t,e){if(this._renderers._gradients[t])return t;let i=[];for(let r=0;r<e.length;r++)i.push({percent:e[r][0]/100,color:this.adjustColor(t,e[r][1])});let r="gr"+this._gradientId++;return this.createGradient(r,"radial",i),r}createGradient(t,e,i){this._renderers.createGradient(this,t,e,i)}refresh(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height);for(let t in this._elements){let e=this._elements[t];this._renderers.setFillStyle(this,e),this._renderers.setStroke(this,e),this._renderers[this._elements[t].type](this.ctx,e)}}}),JQX.Utilities.Assign("HTML5RenderHelpers",class{constructor(t){this.HTML5Renderer=t,this._cmds="mlcazq"}ptrnd(t){if(.5===Math.abs(Math.round(t)-t))return t;let e=Math.round(t);return e<t&&(e-=1),e+.5}createGradient(t,e,i,r){t._gradients[e]={orientation:i,colorStops:r}}setStroke(t,e){let i=t.ctx,r=e["stroke-width"];i.strokeStyle=e.stroke||"transparent",i.lineWidth=0===r?.01:void 0!==r?r:1,void 0!==e["fill-opacity"]?i.globalAlpha=e["fill-opacity"]:void 0!==e.opacity?i.globalAlpha=e.opacity:i.globalAlpha=1,i.setLineDash&&(e["stroke-dasharray"]?i.setLineDash(e["stroke-dasharray"].split(",")):i.setLineDash([]))}setFillStyle(t,e){let i=t.ctx;if(i.fillStyle="transparent",void 0!==e["fill-opacity"]?i.globalAlpha=e["fill-opacity"]:void 0!==e.opacity?i.globalAlpha=e.opacity:i.globalAlpha=1,e.fill&&-1===e.fill.indexOf("#")&&t._gradients[e.fill]){let r,s="horizontal"!==t._gradients[e.fill].orientation,n="radial"===t._gradients[e.fill].orientation,h=this.ptrnd(e.x),a=this.ptrnd(e.y),o=this.ptrnd(e.x+(s?0:e.width)),l=this.ptrnd(e.y+(s?e.height:0));if(("circle"===e.type||"path"===e.type||"rect"===e.type)&&n){let t=this.ptrnd(e.x),s=this.ptrnd(e.y);const n=e.innerRadius||0,h=e.outerRadius||e.r||0;"rect"===e.type&&(t+=e.width/2,s+=e.height/2),r=i.createRadialGradient(t,s,n,t,s,h)}n||((isNaN(h)||isNaN(o)||isNaN(a)||isNaN(l))&&(h=0,a=0,o=s?0:i.canvas.width,l=s?i.canvas.height:0),r=i.createLinearGradient(h,a,o,l));let d=t._gradients[e.fill].colorStops;for(let t=0;t<d.length;t++)r.addColorStop(d[t].percent,d[t].color);i.fillStyle=r}else e.fill&&(i.fillStyle=e.fill)}rect(t,e){0!==e.width&&0!==e.height&&(t.fillRect(this.ptrnd(e.x),this.ptrnd(e.y),e.width,e.height),t.strokeRect(this.ptrnd(e.x),this.ptrnd(e.y),e.width,e.height))}circle(t,e){0!==e.r&&(t.beginPath(),t.arc(this.ptrnd(e.x),this.ptrnd(e.y),e.r,0,2*Math.PI,!1),t.closePath(),t.fill(),t.stroke())}_parsePoint(t){return{x:this._parseNumber(t),y:this._parseNumber(t)}}_parseNumber(t){let e,i=!1;for(e=this._pos;e<t.length;e++)if(t[e]>="0"&&t[e]<="9"||"."===t[e]||"e"===t[e]||"-"===t[e]&&!i||"-"===t[e]&&e>=1&&"e"===t[e-1])i=!0;else{if(i||" "!==t[e]&&","!==t[e])break;this._pos++}let r=parseFloat(t.substring(this._pos,e));if(!isNaN(r))return this._pos=e,r}_isRelativeCmd(t){return-1!==this._cmds.indexOf(t)}_parseCmd(t){for(let e=this._pos;e<t.length;e++){if(-1!==this._cmds.toLowerCase().indexOf(t[e].toLowerCase()))return this._pos=e+1,this._lastCmd=t[e],this._lastCmd;if(" "!==t[e]){if(t[e]>="0"&&t[e]<="9"){if(this._pos=e,""===this._lastCmd)break;return this._lastCmd}}else this._pos++}}_toAbsolutePoint(t){return{x:this._currentPoint.x+t.x,y:this._currentPoint.y+t.y}}path(t,e){let i,r=e.d;for(this._pos=0,this._lastCmd="",this._currentPoint={x:0,y:0},t.beginPath();this._pos<r.length;){let e=this._parseCmd(r);if(void 0===e)break;if("M"!==e&&"m"!==e)if("L"!==e&&"l"!==e)if("A"!==e&&"a"!==e)if("Z"!==e&&"z"!==e||void 0===i)if("C"!==e&&"c"!==e)if("Q"!==e&&"q"!==e);else{let e=this._parsePoint(r),i=this._parsePoint(r);t.quadraticCurveTo(e.x,e.y,i.x,i.y),this._currentPoint=i}else{let e=this._parsePoint(r),i=this._parsePoint(r),s=this._parsePoint(r);t.bezierCurveTo(e.x,e.y,i.x,i.y,s.x,s.y),this._currentPoint=s}else t.lineTo(i.x,i.y),this._currentPoint=i;else{let i=this._parseNumber(r),s=this._parseNumber(r),n=this._parseNumber(r)*(Math.PI/180),h=this._parseNumber(r),a=this._parseNumber(r),o=this._parsePoint(r);if(this._isRelativeCmd(e)&&(o=this._toAbsolutePoint(o)),0===i||0===s)continue;let l=this._currentPoint,d={x:Math.cos(n)*(l.x-o.x)/2+Math.sin(n)*(l.y-o.y)/2,y:-Math.sin(n)*(l.x-o.x)/2+Math.cos(n)*(l.y-o.y)/2},c=Math.pow(d.x,2)/Math.pow(i,2)+Math.pow(d.y,2)/Math.pow(s,2);c>1&&(i*=Math.sqrt(c),s*=Math.sqrt(c));let p=(h===a?-1:1)*Math.sqrt((Math.pow(i,2)*Math.pow(s,2)-Math.pow(i,2)*Math.pow(d.y,2)-Math.pow(s,2)*Math.pow(d.x,2))/(Math.pow(i,2)*Math.pow(d.y,2)+Math.pow(s,2)*Math.pow(d.x,2)));isNaN(p)&&(p=0);let u={x:p*i*d.y/s,y:p*-s*d.x/i},g={x:(l.x+o.x)/2+Math.cos(n)*u.x-Math.sin(n)*u.y,y:(l.y+o.y)/2+Math.sin(n)*u.x+Math.cos(n)*u.y},f=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2))},m=function(t,e){return(t[0]*e[0]+t[1]*e[1])/(f(t)*f(e))},_=function(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(m(t,e))},x=_([1,0],[(d.x-u.x)/i,(d.y-u.y)/s]),M=[(d.x-u.x)/i,(d.y-u.y)/s],y=[(-d.x-u.x)/i,(-d.y-u.y)/s],w=_(M,y);m(M,y)<=-1&&(w=Math.PI),m(M,y)>=1&&(w=0),0===a&&w>0&&(w-=2*Math.PI),1===a&&w<0&&(w+=2*Math.PI);let N=i>s?i:s,v=i>s?1:i/s,b=i>s?s/i:1;t.translate(g.x,g.y),t.rotate(n),t.scale(v,b),t.arc(0,0,N,x,x+w,1-a),t.scale(1/v,1/b),t.rotate(-n),t.translate(-g.x,-g.y)}else{let e=this._parsePoint(r);if(void 0===e)break;t.lineTo(e.x,e.y),this._currentPoint=e}else{let e=this._parsePoint(r);if(void 0===e)break;t.moveTo(e.x,e.y),this._currentPoint=e,void 0===i&&(i=e)}}t.fill(),t.stroke(),t.closePath()}text(t,e){let i=this.ptrnd(e.x),r=this.ptrnd(e.y),s=this.ptrnd(e.width),n=this.ptrnd(e.height),h=e.halign,a=e.valign,o=e.angle,l=e.rotateAround,d=e.textPartsInfo,c=d.parts,p=e.clip;void 0===p&&(p=!0),t.save(),h||(h="center"),a||(a="center"),p&&(t.rect(i,r,s,n),t.clip());let u=e.textWidth,g=e.textHeight,f=s||0,m=n||0;if(t.fillStyle=e.color,t.font=e.fontWeight+" "+e.fontSize+" "+e.fontFamily,!o||0===o){r+=g,"center"===a||"middle"===a?r+=(m-g)/2:"bottom"===a&&(r+=m-g),s||(s=u),n||(n=g);let e=0;for(let s=c.length-1;s>=0;s--){let n=c[s],a=i,o=c[s].width;"center"===h?a+=(f-o)/2:"right"===h&&(a+=f-o),t.fillText(n.text,a,r+e),e-=n.height+(s>0?4:0)}return void t.restore()}let _=this.HTML5Renderer.alignTextInRect(i,r,s,n,u,g,h,a,o,l);i=_.x,r=_.y;let x=o*Math.PI*2/360;t.translate(i,r),t.rotate(x);let M=0,y=d.width;for(let e=c.length-1;e>=0;e--){let i=0;"center"===h?i+=(y-c[e].width)/2:"right"===h&&(i+=y-c[e].width),t.fillText(c[e].text,i,M),M-=c[e].height+4}t.restore()}}),JQX.Utilities.Assign("Plot",class{constructor(t){this.renderer=t}get(t,e,i){return void 0!==i?t[e][i]:t[e]}min(t,e){let i=NaN;for(let r=0;r<t.length;r++){let s=this.get(t,r,e);(isNaN(i)||s<i)&&(i=s)}return i}max(t,e){let i=NaN;for(let r=0;r<t.length;r++){let s=this.get(t,r,e);(isNaN(i)||s>i)&&(i=s)}return i}sum(t,e){let i=0;for(let r=0;r<t.length;r++){let s=this.get(t,r,e);isNaN(s)||(i+=s)}return i}count(t,e){let i=0;for(let r=0;r<t.length;r++){let s=this.get(t,r,e);isNaN(s)||i++}return i}avg(t,e){return this.sum(t,e)/Math.max(1,this.count(t,e))}filter(t,e){if(!e)return t;let i=[];for(let r=0;r<t.length;r++)e(t[r])&&i.push(t[r]);return i}scale(t,e,i,r){if(isNaN(t))return NaN;if((t<Math.min(e.min,e.max)||t>Math.max(e.min,e.max))&&(!r||!0!==r.ignore_range))return NaN;let s=NaN,n=1;if(void 0===e.type||"logarithmic"!==e.type){let i=Math.abs(e.max-e.min);i||(i=1),n=Math.abs(t-Math.min(e.min,e.max))/i}else if("logarithmic"===e.type){let i=e.base;isNaN(i)&&(i=10);let r=Math.min(e.min,e.max);r<=0&&(r=1);let s=Math.max(e.min,e.max);s<=0&&(s=1);let h=Math.log(s)/Math.log(i);s=Math.pow(i,h);let a=Math.log(r)/Math.log(i);r=Math.pow(i,a);let o=Math.log(t)/Math.log(i);n=Math.abs(o-a)/(h-a)}if("logarithmic"===i.type){let t=i.base;isNaN(t)&&(t=10);let e=Math.log(i.max)/Math.log(t),r=Math.log(i.min)/Math.log(t);i.flip&&(n=1-n);let h=Math.min(r,e)+n*Math.abs(e-r);s=Math.pow(t,h)}else s=Math.min(i.min,i.max)+n*Math.abs(i.max-i.min),i.flip&&(s=Math.max(i.min,i.max)-s+i.min);return s}axis(t,e,i){if(i<=1)return[e,t];(isNaN(i)||i<2)&&(i=2);let r=0;for(;Math.round(t)!==t&&Math.round(e)!==e&&r<10;)t*=10,e*=10,r++;let s=(e-t)/i;for(;r<10&&Math.round(s)!==s;)t*=10,e*=10,s*=10,r++;let n,h=[1,2,5],a=0;for(;;){let t=a%h.length,e=Math.floor(a/h.length),i=Math.pow(10,e)*h[t];if(t=(a+1)%h.length,e=Math.floor((a+1)/h.length),n=Math.pow(10,e)*h[t],s>=i&&s<n)break;a++}let o=n,l=[],d=this.renderer._rnd(t,o,!1),c=r<=0?1:Math.pow(10,r);for(;d<e+o;)l.push(d/c),d+=o;return l}});

/***/ }),

/***/ 7650:
/***/ (() => {

JQX("jqx-drop-down-list",class extends JQX.ContentElement{static get properties(){return{autoCloseDelay:{value:100,type:"number"},dataSource:{value:null,type:"any",reflectToAttribute:!1},displayLoadingIndicator:{value:!1,type:"boolean"},displayMember:{value:"",type:"string"},displayMode:{allowedValues:["outlined","filled","underlined"],value:"outlined",type:"string"},dropDownAppendTo:{value:null,type:"any"},dropDownButtonPosition:{allowedValues:["none","left","right","top","bottom"],value:"right",defaultReflectToAttribute:!0,type:"string"},dropDownMinHeight:{value:"",type:"any",validator:"_propertyValidator"},dropDownHeight:{value:"",type:"any",validator:"_propertyValidator"},dropDownMaxHeight:{value:"",type:"any",validator:"_propertyValidator"},dropDownOpenMode:{allowedValues:["none","default","dropDownButton","auto"],value:"default",type:"string"},dropDownOverlay:{value:!1,type:"boolean"},dropDownPlaceholder:{value:"No Items",type:"string"},dropDownPosition:{allowedValues:["auto","top","bottom","overlay-top","overlay-center","overlay-bottom","center-bottom","center-top"],value:"auto",type:"string"},dropDownMinWidth:{value:"",type:"any",validator:"_propertyValidator"},dropDownWidth:{value:"",type:"any",validator:"_propertyValidator"},dropDownMaxWidth:{value:"",type:"any",validator:"_propertyValidator"},filterable:{value:!1,type:"boolean"},filterInputPlaceholder:{value:"",type:"string"},filterCallback:{value:null,type:"function?"},filterMode:{value:"startsWithIgnoreCase",allowedValues:["contains","containsIgnoreCase","doesNotContain","doesNotContainIgnoreCase","equals","equalsIgnoreCase","startsWith","startsWithIgnoreCase","endsWith","endsWithIgnoreCase","custom"],type:"string"},grouped:{value:!1,type:"boolean"},groupMember:{value:"",type:"string"},hint:{value:"",type:"string"},horizontalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]},incrementalSearchDelay:{value:700,type:"number?"},incrementalSearchMode:{value:"startsWithIgnoreCase",allowedValues:["contains","containsIgnoreCase","doesNotContain","doesNotContainIgnoreCase","equals","equalsIgnoreCase","startsWith","startsWithIgnoreCase","endsWith","endsWithIgnoreCase"],type:"string"},itemMeasureMode:{value:"auto",allowedValues:["auto","precise"],type:"string"},inputMember:{value:"label",type:"string"},itemTemplate:{value:null,type:"any"},itemHeight:{value:null,type:"number?"},label:{value:"",type:"string"},loadingIndicatorPlaceholder:{value:"Loading...",type:"string"},loadingIndicatorPosition:{value:"center",allowedValues:["bottom","center","top"],type:"string"},messages:{extend:!0,value:{en:{invalidNode:'{{elementType}}: Invalid parameter "{{node}}" when calling {{method}}.'}},type:"object"},name:{value:"",type:"string"},opened:{value:!1,type:"boolean"},placeholder:{value:"",type:"string"},resizeMode:{value:"none",allowedValues:["none","horizontal","vertical","both"],type:"string"},resizeIndicator:{value:!1,type:"boolean"},selectionDisplayMode:{value:"plain",allowedValues:["plain","placeholder","tokens"],type:"string"},selectionMode:{value:"zeroAndOne",allowedValues:["none","oneOrManyExtended","zeroOrMany","oneOrMany","zeroOrOne","zeroAndOne","one","checkBox","radioButton"],type:"string"},selectedIndexes:{value:[],type:"array"},selectedValues:{value:[],type:"array"},sorted:{value:!1,type:"boolean"},sortDirection:{value:"asc",type:"string"},tokenTemplate:{value:null,type:"any"},type:{value:"list",type:"string",defaultReflectToAttribute:!0,readonly:!0},valueMember:{value:"",type:"string"},virtualized:{value:!1,type:"boolean"},verticalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]}}}static get listeners(){return{"actionButton.down":"_buttonsDownHandler","actionButton.mouseenter":"_buttonsMouseEventsHandler","actionButton.mouseleave":"_buttonsMouseEventsHandler","actionButton.focus":"_buttonsFocusHandler","actionButton.blur":"_buttonsFocusHandler","document.selectstart":"_selectStartHandler","document.dragstart":"_dragStartHandler","document.down":"_documentDownHandler","document.up":"_documentUpHandler","document.move":"_documentMoveHandler","dropDownButton.down":"_buttonsDownHandler","dropDownButton.mouseenter":"_buttonsMouseEventsHandler","dropDownButton.mouseleave":"_buttonsMouseEventsHandler",keydown:"_keyDownHandler",keyup:"_keyUpHandler",focus:"_focusEventHandler",blur:"_blurEventHandler","dropDownButton.focus":"_buttonsFocusHandler","dropDownButton.blur":"_buttonsFocusHandler","dropDownContainer.transitionend":"_dropDownTransitionendHandler","listBox.change":"_listBoxChangeHandler","listBox.itemClick":"_listBoxItemClickHandler","listBox.keydown":"_listBoxKeyDownHandler","listBox.bindingComplete":"_bindingCompleteHandler","listBox.scrollBottomReached":"_scrollBottomReachedHandler","listBox.scrollTopReached":"_scrollTopReachedHandler",mouseenter:"_mouseEnterHandler",mouseleave:"_mouseLeaveHandler",resize:"_resizeHandler","resizeBar.move":"_resizeBarMoveHandler",styleChanged:"_styleChangedHandler",wheel:"_mouseWheelHandler"}}template(){return'<div id="container" role="presentation">\n                    <span class="jqx-label" id="label">[[label]]</span>\n                    <div id="content" class="jqx-content" role="presentation">\n                        <div class="jqx-buttons-container" id="buttonsContainer" role="presentation">\n                            <span id="actionButton" class ="jqx-action-button" role="presentation">[[placeholder]]</span>\n                            <span id="dropDownButton" class="jqx-drop-down-button">\n                                <span class ="jqx-drop-down-button-icon" id="arrow" aria-hidden="true"></span>\n                            </span>\n                        </div>\n                        <div id="dropDownContainer" class="jqx-drop-down jqx-drop-down-container jqx-visibility-hidden" role="presentation">\n                            <jqx-list-box id="listBox" unfocusable\n                                    animation="[[animation]]"\n                                    data-source="[[dataSource]]"\n                                    disabled="[[disabled]]"\n                                    display-loading-indicator="[[displayLoadingIndicator]]"\n                                    display-member="[[displayMember]]"\n                                    filterable="[[filterable]]"\n                                    filter-callback="[[filterCallback]]"\n                                    filter-mode="[[filterMode]]"\n                                    filter-input-placeholder="[[filterInputPlaceholder]]"\n                                    grouped="[[grouped]]"\n                                    group-member="[[groupMember]]"\n                                    item-height="[[itemHeight]]"\n                                    item-measure-mode="[[itemMeasureMode]]"\n                                    item-template="[[itemTemplate]]"\n                                    incremental-search-delay="[[incrementalSearchDelay]]"\n                                    incremental-search-mode="[[incrementalSearchMode]]"\n                                    loading-indicator-placeholder="[[loadingIndicatorPlaceholder]]"\n                                    loading-indicator-position="[[loadingIndicatorPosition]]"\n                                    name="[[name]]"\n                                    placeholder="[[dropDownPlaceholder]]"\n                                    right-to-left="[[rightToLeft]]"\n                                    readonly="[[readonly]]"\n                                    selected-indexes="{{selectedIndexes}}"\n                                    selection-mode="[[selectionMode]]"\n                                    selected-values="{{selectedValues}}"\n                                    sorted="[[sorted]]"\n                                    sort-direction="[[sortDirection]]"\n                                    theme="[[theme]]"\n                                    value-member="[[valueMember]]"\n                                    horizontal-scroll-bar-visibility="[[horizontalScrollBarVisibility]]"\n                                    vertical-scroll-bar-visibility="[[verticalScrollBarVisibility]]"\n                                    virtualized="[[virtualized]]">\n                                <content></content>\n                            </jqx-list-box>\n                            <div id="resizeBar" class="jqx-drop-down-resize-bar" aria-label="Resize">\n                                <div></div>\n                            </div>\n                         </div>\n                    </div>\n                    <span class="jqx-hint jqx-hidden" id="hint">[[hint]]</span>\n                    <input id="hiddenInput" type="hidden" name="[[name]]">\n                </div>'}static get styleUrls(){return["jqx.dropdownlist.css","jqx.dropdown.css"]}dataBind(){this.$.listBox.dataBind()}propertyChangedHandler(e,t,o){super.propertyChangedHandler(e,t,o);const n=this;switch(e){case"animation":n.$.dropDownContainer.setAttribute("animation",n.animation);break;case"disabled":n._setFocusable(),n.close(),n._positionDetection.handleAutoPositioning();break;case"dataSource":case"displayMember":case"inputMember":n.$.actionButton&&(n.$.actionButton.innerHTML=n.placeholder),n._setDropDownSize(),n._positionDetection.checkBrowserBounds("vertically"),n._positionDetection.positionDropDown(),n._positionDetection.checkBrowserBounds("horizontally");break;case"dropDownAppendTo":n._positionDetection.dropDownAppendToChangedHandler();break;case"dropDownOpenMode":n._setFocusable(),n.$dropDownContainer.addClass("jqx-visibility-hidden"),n.$.dropDownContainer.setAttribute("drop-down-open-mode",o),n.$.dropDownButton.removeAttribute("selected"),n.removeAttribute("drop-down-button-focus"),n.removeAttribute("action-button-focus"),n.opened=!1,n._ariaButton&&n._ariaButton.setAttribute("aria-expanded",!1),n._setAriaRelations();break;case"dropDownOverlay":o||n._positionDetection.removeOverlay();break;case"dropDownPosition":n._positionDetection.dropDownPositionChangedHandler();break;case"dropDownMinWidth":case"dropDownWidth":case"dropDownMaxWidth":case"dropDownHeight":case"dropDownMinHeight":case"dropDownMaxHeight":n._setDropDownSize();break;case"filterable":n.$.listBox.filterable=o,n._dropDownSize&&"auto"===n._dropDownSize.height&&n._setDropDownSize();break;case"label":if(!n._ariaButton)return;o?n._ariaButton.setAttribute("aria-labelledby",n.$.label.id):"DropDownList"===n.elementName&&n._ariaButton.setAttribute("aria-labelledby",n.$.actionButton.id);break;case"opened":if(n.disabled||n.readonly)return;o?n.open():n.close();break;case"placeholder":n._applySelection();break;case"readonly":n.close();break;case"resizeIndicator":o?n.$.dropDownContainer.setAttribute("resize-indicator",""):n.$.dropDownContainer.removeAttribute("resize-indicator");break;case"resizeMode":n.$.dropDownContainer.setAttribute("resize-mode",n.resizeMode);break;case"selectedValues":case"selectedIndexes":0===o.length?n.$.actionButton.innerHTML=n.placeholder:n._applySelection(),n.$.hiddenInput.value=n.selectedValues.toString();break;case"selectionMode":n.$.listBox&&(n.$.listBox[e]=o,"checkBox"!==o&&"radioButton"!==o&&"checkBox"!==t&&"radioButton"!==t||n._setDropDownSize());break;case"selectionDisplayMode":n._applySelection();break;case"tokenTemplate":n._tokenTemplate=n._validateTemplate(n.tokenTemplate),n._applySelection();break;case"unfocusable":n._setFocusable()}}_updateTargetValue(){const e=this;if(e.dataset.target){const t=document.querySelector(e.dataset.target);if(t){const o=e.dataset.property,n=e.value;o&&void 0!==t[o]&&(t[o]=n)}}}appendChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?(t.$.listBox.appendChild(e),t._dropDownSize&&"auto"===t._dropDownSize.height&&t._setDropDownSize()):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"appendChild",node:"node"}))}attached(){const e=this;super.attached(),e.isCompleted&&e.$.dropDownContainer&&(e._positionDetection.dropDownAttached("_setDropDownSize"),e._positionDetection.checkBrowserBounds(),e.selectedIndexes&&e._applySelection())}detached(){const e=this;super.detached(),e.$.dropDownContainer&&(e.close(),e._positionDetection&&e._positionDetection.dropDownDetached())}clearItems(){const e=this;e.$.listBox&&(e.$.listBox.clearItems(),e.$.actionButton.innerHTML=e.placeholder)}clearSelection(){const e=this;e.$.listBox&&(e.$.listBox.clearSelection(),e.$.actionButton.innerHTML=e.placeholder)}close(){const e=this;e.$dropDownContainer.hasClass("jqx-visibility-hidden")||e.$.fireEvent("closing").defaultPrevented||(e.$dropDownContainer.addClass("jqx-visibility-hidden"),e.$.fireEvent("close"),e.$.dropDownButton&&e.$.dropDownButton.removeAttribute("selected"),e.opened=!1,e._ariaButton&&e._ariaButton.setAttribute("aria-expanded",!1),e._preventDropDownClose=!1,e._positionDetection.removeOverlay(!0),e.$.listBox.removeAttribute("focus"),e._edgeMacFF&&!e.hasAnimation&&e.$.dropDownContainer&&(e.$.dropDownContainer.style.top=e.$.dropDownContainer.style.left="",e.$dropDownContainer.addClass("not-in-view")))}cloneNode(){const e=this;if(!e.$.listBox)return;let t=HTMLElement.prototype.cloneNode.apply(e,Array.prototype.slice.call(arguments,0,1));return t.dataSource=e.dataSource,t}ensureVisible(e){this.$.listBox&&this.$.listBox.ensureVisible(e)}getItem(e){if(this.$.listBox)return this.$.listBox.getItem(e)}get items(){const e=this;return e.$&&e.$.listBox?e.$.listBox.items:[]}get _focusedItem(){const e=this;return e.$&&e.$.listBox?e.$.listBox._focusedItem:null}add(e){const t=this;t.$.listBox&&e&&(e&&Array.isArray(e)&&0===e.length||(t.$.listBox.add(e),t._applySelection(),t._dropDownSize&&"auto"===t._dropDownSize.height&&t._setDropDownSize()))}insert(e,t){const o=this;o.$.listBox&&(o.$.listBox.insert(e,t),o._applySelection(),o._dropDownSize&&"auto"===o._dropDownSize.height&&o._setDropDownSize())}insertBefore(e,t){const o=this;if(!o.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(o,e.concat(Array.prototype.slice.call(arguments)))}e&&t?o.$.listBox&&(o.$.listBox.insertBefore(e,t),o._dropDownSize&&"auto"===o._dropDownSize.height&&o._setDropDownSize()):o.error(o.localize("invalidNode",{elementType:o.nodeName.toLowerCase(),method:"insertBefore",node:"newNode/referenceNode"}))}toggle(){const e=this;e.opened?e.close():e.open()}open(){const e=this,t=function(){for(let t=0;t<e.items.length;t++)if(!e.items[t].disabled)return e.items[t]};if(!e.disabled&&e.offsetHeight&&e.$dropDownContainer.hasClass("jqx-visibility-hidden")){if(e.$dropDownContainer.hasClass("not-in-view")&&e.$dropDownContainer.removeClass("not-in-view"),e.$.dropDownContainer.style.transition=null,e.dropDownAppendTo){const t=e.getBoundingClientRect();if(e.$.container.contains(e.$.dropDownContainer)){let t=0;const o=setInterval((function(){const n=e.getBoundingClientRect();t++,n.top===e._positionTop&&t<10||(e.open(),clearInterval(o),e._positionTop=n.top)}),100);return}t.top!==e._positionTop&&(e._positionTop=t.top)}e.$.fireEvent("opening").defaultPrevented||(e._shadowDOMStylesDelay&&(e._setDropDownSize(),delete e._shadowDOMStylesDelay),e.opened=!0,e._ariaButton&&e._ariaButton.setAttribute("aria-expanded",!0),e.$.listBox.setAttribute("focus",""),e._positionDetection.placeOverlay(),e._positionDetection.checkBrowserBounds("vertically"),e._positionDetection.positionDropDown(),e._positionDetection.checkBrowserBounds("horizontally"),e.$dropDownContainer.removeClass("jqx-visibility-hidden"),e.$.fireEvent("open"),e.$.dropDownButton&&("dropDownButton"===e.dropDownOpenMode?e.$.dropDownButton.setAttribute("selected",""):e.$.dropDownButton.removeAttribute("selected")),(e.$.listBox&&!e._focusedItem||e._focusedItem&&!e._focusedItem._focused)&&(e.selectedIndexes.length>0?e._focus(e.items[e.selectedIndexes[0]]):e._focus(t)),e.$.input&&!JQX.Utilities.Core.isMobile&&e.$.input.focus())}}ready(){super.ready()}render(){const e=this;e.rightToLeft&&(e.dropDownButtonPosition="right"===e.dropDownButtonPosition?"left":"right"),e.classList.add("jqx-drop-down-box"),e.$.dropDownContainer&&(e._positionDetection=new JQX.Utilities.PositionDetection(e,e.$.dropDownContainer,e.$.container,"close"),e._positionDetection.getDropDownParent(!0),e._positionDetection.setDropDownPosition(),e._calculateDropDownSize(),e.$.dropDownContainer.setAttribute("resize-mode",e.resizeMode),e.$.dropDownContainer.setAttribute("drop-down-open-mode",e.dropDownOpenMode),e.resizeIndicator&&e.$.dropDownContainer.setAttribute("resize-indicator",""),e._positionDetection.handleAutoPositioning()),e.opened&&e.open(),e._positionTop=e.getBoundingClientRect().top,e._edgeMacFF=JQX.Utilities.Core.Browser.Edge||JQX.Utilities.Core.Browser.Firefox&&-1!==navigator.platform.toLowerCase().indexOf("mac"),e._edgeMacFF&&e.hasAnimation&&e.$.dropDownContainer&&e.$dropDownContainer.addClass("not-in-view"),e.$.label&&!e.$.label.id&&(e.$.label.id=e.id+"Label"),e.$.actionButton&&!e.$.actionButton.id&&(e.$.actionButton.id=e.id+"ActionButton"),e.$.hint&&!e.$.hint.id&&(e.$.hint.id=e.id+"Hint"),e._createElement(),super.render()}removeAt(e){const t=this;t.$.listBox&&(t.$.listBox.removeAt(e),t._applySelection(),t._dropDownSize&&"auto"===t._dropDownSize.height&&t._setDropDownSize())}removeChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e&&e instanceof JQX.ListItem?(t.$.listBox.removeChild(e),t._dropDownSize&&"auto"===t._dropDownSize.height&&t._setDropDownSize()):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"removeChild",node:"node"}))}get value(){const e=this;return e.isRendered&&e.$.listBox?e.$.listBox.value:null}set value(e){const t=this;return t.isRendered&&t.$.listBox?void(t.$.listBox.value=e):null}select(e){this.$.listBox&&this.$.listBox.select(e)}_setFocusable(){const e=this;if(e.disabled||e.unfocusable)return e.removeAttribute("tabindex"),e.$.actionButton.removeAttribute("tabindex"),void e.$.dropDownButton.removeAttribute("tabindex");let t=e.tabIndex>0?e.tabIndex:0;e.tabIndex=t,"dropDownButton"===e.dropDownOpenMode?(e.removeAttribute("tabindex"),e.$.actionButton.setAttribute("tabindex",t),e.$.dropDownButton.setAttribute("tabindex",t)):(e.$.actionButton.removeAttribute("tabindex"),e.$.dropDownButton.removeAttribute("tabindex"))}static get requires(){return{"JQX.ListBox":"jqx.listbox.js"}}unselect(e){this.$.listBox&&this.$.listBox.unselect(e)}update(e,t){const o=this;o.$.listBox&&(o.$.listBox.update(e,t),o._applySelection())}_resizeBarMoveHandler(e){"touchmove"===e.originalEvent.type&&e.originalEvent.preventDefault()}_createToken(){const e=this;let t,o=!1;const n=document.createDocumentFragment(),i=e.selectedIndexes[e.selectedIndexes.length-1];"plain"!==e.selectionDisplayMode||"one"!==e.selectionMode&&"zeroAndOne"!==e.selectionMode&&"zeroOrOne"!==e.selectionMode&&"radioButton"!==e.selectionMode?"tokens"===e.selectionDisplayMode?1===e.selectedIndexes.length&&["oneOrManyExtended","oneOrMany","zeroAndOne","one","radioButton"].indexOf(e.selectionMode)>-1?t="":(t="&#10006",o=!0):t=1===e.selectedIndexes.length?"":",":t="";const r=e.selectedIndexes,a=e.$.listBox._items;for(let s=0;s<r.length;s++){const l=r[s];a[l]&&n.appendChild(e._applyTokenTemplate(a[l][e.inputMember],"tokens"!==e.selectionDisplayMode&&l===i?"":t,o))}return n}_applySelection(){const e=this;if("placeholder"!==e.selectionDisplayMode&&0!==e.selectedIndexes.length){if(e.$.listBox._items&&0!==e.$.listBox._items.length){if("plain"===e.selectionDisplayMode){const t=e.$.listBox.selectedIndexes,o=e.$.listBox._items;let n=[];for(let i=0;i<t.length;i++){const r=t[i];o[r]&&n.push(o[r][e.inputMember])}return e.$.actionButton.innerHTML=n.length?`<span class="jqx-token">${n.join(", ").trim()}</span>`:"",void(e.$.hiddenInput.value=e.selectedValues.toString())}e.$.actionButton.innerHTML="",e.$.actionButton.appendChild(e._createToken()),e.$.hiddenInput.value=e.selectedValues.toString()}}else e.$.actionButton.innerHTML=e.placeholder}_applyTokenTemplate(e,t,o){const n=this,i=document.createElement("span"),r=function(){return"<span class='jqx-drop-down-list-selection-label' role=\"presentation\">"+e+`</span><span class='jqx-drop-down-list-unselect-button' role="button"${o?' aria-label="Unselect"':""}>${t}</span>`};if(i.classList.add("jqx-token"),n._tokenTemplate){let e=document.importNode(n._tokenTemplate.content,!0);const t=e.childNodes.length,o=/{{\w+}}/g;let a;for(let n=0;n<t;n++)a=o.exec(e.childNodes[n].innerHTML),a&&(e.childNodes[n].innerHTML=e.childNodes[n].innerHTML.replace(a[0],r())),e.childNodes[n].outerHTML&&(i.innerHTML+=e.childNodes[n].outerHTML)}else"function"==typeof n.tokenTemplate?n.tokenTemplate(i,{label:e,iconSeparator:t}):i.innerHTML=r();return i}_bindingCompleteHandler(){const e=this;e.$.listBox&&requestAnimationFrame((()=>{e._setDropDownSize(),e._positionDetection.checkBrowserBounds()}))}_buttonsDownHandler(e){const t=this;if(!t.disabled){if(t.hasRippleAnimation)if(t.$.buttonsContainer&&"dropDownButton"!==t.dropDownOpenMode){const o=t.$.buttonsContainer;o.firstElementChild.noRipple=!0,JQX.Utilities.Animation.Ripple.animate(o,e.pageX,e.pageY),o.firstElementChild.noRipple=!1}else JQX.Utilities.Animation.Ripple.animate(e.target,e.pageX,e.pageY);t._preventsSelectStart=!0,t.tagName.toLowerCase().indexOf("jqx-drop-down-")>-1&&"dropDownButton"===t.dropDownOpenMode&&e.target===t.$.actionButton&&t.$.actionButton.setAttribute("active",""),t.opened&&(t._preventDropDownClose=!0)}}_buttonsMouseEventsHandler(e){const t=this;t.disabled||("mouseenter"===e.type?(t.setAttribute("hover",""),e.target.setAttribute("hover",""),"dropDownButton"===t.dropDownOpenMode&&e.target===t.$.dropDownButton&&t.setAttribute("drop-down-button-hover","")):(t.removeAttribute("hover"),t.removeAttribute("drop-down-button-hover"),e.target.removeAttribute("hover")))}_calculateDropDownSize(){const e=this;e._dropDownSize={};const t=window.getComputedStyle(e.$.dropDownContainer),o=parseFloat(t.getPropertyValue("border-top-width").trim()),n=parseFloat(t.getPropertyValue("border-bottom-width").trim()),i=parseFloat(t.getPropertyValue("margin-top").trim()),r=parseFloat(t.getPropertyValue("margin-bottom").trim()),a=parseFloat(t.getPropertyValue("padding-top").trim()),s=parseFloat(t.getPropertyValue("padding-bottom").trim());JQX.Utilities.Core.CSSVariablesSupport()&&(e._dropDownSize.width=t.getPropertyValue("--jqx-drop-down-list-drop-down-width").trim(),e._dropDownSize.height=t.getPropertyValue("--jqx-drop-down-list-drop-down-height").trim()),(!e._dropDownSize.width||e._dropDownSize.width.indexOf("initial")>-1)&&(e._dropDownSize.width=e.offsetWidth),e._dropDownSize.height||(e._dropDownSize.height="auto"),e._dropDownSize.minHeight=parseFloat(t.getPropertyValue("min-height").trim()),e._dropDownSize.maxHeight=parseFloat(t.getPropertyValue("max-height").trim()),e._dropDownSize.borderWidth=(isNaN(o)?0:o)+(isNaN(n)?0:n),e._dropDownSize.paddingWidth=(isNaN(a)?0:a)+(isNaN(s)?0:s),e._dropDownSize.marginWidth=(isNaN(i)?0:i)+(isNaN(r)?0:r)}_createElement(){const e=this;e._tokenTemplate=e._validateTemplate(e.tokenTemplate),e._applySelection(),e._setDropDownSize(),e._setFocusable(),e.dropDownAppendTo&&e.name&&(e.$.listBox.name=""),e.$.arrow.noRipple=!0,e._shadowDOMStylesDelay=e.shadowRoot,e._setAriaRelations(!0)}_documentDownHandler(e){const t=this;if(t.disabled||t.readonly)return;let o=e.originalEvent.target;if(o===t._overlay&&(t._overlayDown=!0),t.shadowRoot){o=e.originalEvent.composedPath()[0];let n=o.getRootNode().host;for(;n;)n.closest(".jqx-drop-down-container")===t.$.dropDownContainer&&(t._isDropDownClicked=!0),n=n.getRootNode().host}else t.isInShadowDOM&&(o=e.originalEvent.composedPath()[0]),t._isDropDownClicked=o.closest(".jqx-drop-down-container")===t.$.dropDownContainer;if(t._buttonClicked=o.closest(".jqx-action-button")||o.closest(".jqx-drop-down-button"),t.$.listBox){let n=o.closest("jqx-list-item");t.$.listBox.contains(n)||(n=void 0),t.hasRippleAnimation&&n&&JQX.Utilities.Animation.Ripple.animate(n,e.pageX,e.pageY),(n||o===t.$.listBox.$.filterInput||o.closest(".jqx-token"))&&(t._preventDropDownClose=!0)}if(t._isDropDownClicked&&(t._preventDropDownClose=!0),o!==t.$.resizeBar||"none"===t.resizeMode)return;t._resizeDetails||(t._resizeDetails={});const n=t.$.dropDownContainer.getBoundingClientRect();t._resizeDetails.started=!0,t._resizeDetails.x=e.pageX,t._resizeDetails.y=e.pageY,t._resizeDetails.width=t.$.dropDownContainer.offsetWidth,t._resizeDetails.height=t.$.dropDownContainer.offsetHeight,t._resizeDetails.offsetXL=e.clientX-n.left,t._resizeDetails.offsetXR=n.left+t.$.dropDownContainer.offsetWidth-e.clientX,t._resizeDetails.offsetY=n.top+t.$.dropDownContainer.offsetHeight-e.clientY,t._resizeDetails.offsetYtop=e.clientY-n.top,t._preventDropDownClose=!0}_documentMoveHandler(e){const t=this,o=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;if("auto"===t.dropDownOpenMode&&null!==t.dropDownAppendTo&&(t.contains(o)||t.$.dropDownContainer.contains(o)?t._isElementHovered=!0:(t._isElementHovered=!1,t._autoClose())),!t._resizeDetails||t._resizeDetails&&!t._resizeDetails.started)return;t.setAttribute("resizing",""),t._resizeDetails.resizeEventFired||(t.$.fireEvent("resizeStart",{position:{left:e.pageX,top:e.pageY}}),t._resizeDetails.resizeEventFired=!0);const n=document.documentElement,i=t.$.dropDownContainer.getBoundingClientRect(),r=t.getBoundingClientRect(),a=t.$.dropDownContainer.hasAttribute("top")?"top":"bottom";let s;function l(){if(s=e.pageY-t._resizeDetails.y,"bottom"===a)t._resizeDetails.height=Math.min(n.clientHeight-i.top-6,Math.max(0,t._resizeDetails.height+s)),t._resizeDetails.y=Math.max(i.top+n.scrollTop-t._resizeDetails.offsetY,Math.min(n.clientHeight+n.scrollTop-1.5*t._resizeDetails.offsetY,e.pageY));else{if(t._resizeDetails.height=Math.min(t._dropDownSize.maxHeight,Math.max(0,Math.min(r.top,t._resizeDetails.height-s))),s=Math.max(0,i.top+(i.height-Math.max(t._dropDownSize.minHeight,t._resizeDetails.height))),t.dropDownAppendTo){const e=Math.abs(parseFloat(getComputedStyle(t.$.dropDownContainer).getPropertyValue("margin-bottom")))||0;t.$.dropDownContainer.style.top=t.dropDownAppendTo?e+s+"px":""}const o=r.top+n.scrollTop+t._resizeDetails.offsetYtop;t._resizeDetails.y=Math.max(t._resizeDetails.offsetYtop,Math.min(o,Math.max(o-t._dropDownSize.maxHeight,e.pageY)))}t.$.dropDownContainer.style.height=t._resizeDetails.height+"px"}function d(){s=e.pageX-t._resizeDetails.x,t._resizeDetails.width=Math.min(n.clientWidth-i.left-6,Math.max(0,t._resizeDetails.width+s)),t.$.dropDownContainer.style.width=t._resizeDetails.width+"px",t._resizeDetails.x=Math.max(i.left+n.scrollLeft-t._resizeDetails.offsetXR,Math.min(n.clientWidth+n.scrollLeft-1.5*t._resizeDetails.offsetXR,e.pageX))}switch(t.resizeMode){case"vertical":l();break;case"horizontal":d();break;case"both":d(),l()}}_documentUpHandler(e){const t=this;if(t.$.actionButton.removeAttribute("active"),t._resizeDetails&&t._resizeDetails.started)return t._resizeDetails.started=t._resizeDetails.resizeEventFired=!1,t.removeAttribute("resizing"),t._preventDropDownClose=!1,t.focus(),void t.$.fireEvent("resizeEnd",{position:{left:e.pageX,top:e.pageY}});if(t.disabled||t._isDropDownClicked||t.readonly)return void delete t._isDropDownClicked;if(t._overlayDown)return t.close(),void delete t._overlayDown;let o=e.originalEvent.target,n=o.closest?o.closest("jqx-drop-down-list"):void 0;if((t.enableShadowDOM||t.isInShadowDOM)&&(o=e.originalEvent.composedPath()[0],n=o.getRootNode().host),t._preventsSelectStart=!1,void 0===o||o===t.$.resizeBar)return;if("tokens"===t.selectionDisplayMode&&o.classList.contains("jqx-drop-down-list-selection-label")&&n===t){"none"!==t.dropDownOpenMode&&t.open();let e=t.$.listBox._items.filter((e=>e[t.inputMember].toString()===o.textContent))[0];return t.$.listBox._scrollView.scrollTop=e.offsetTop,void t._focus(e)}if("tokens"===t.selectionDisplayMode&&o.classList.contains("jqx-drop-down-list-unselect-button")&&n===t){if(1===t.selectedIndexes.length&&["zeroOrMany","zeroOrOne","checkBox"].indexOf(t.selectionMode)<0)return;return void t.unselect(t.$.listBox._items.filter((e=>e[t.inputMember].toString()===o.previousElementSibling.textContent))[0])}const i=!(!o||!o.closest)&&o.closest(".jqx-action-button");let r;if(t._buttonClicked&&("dropDownButton"===t.dropDownOpenMode&&i&&t._buttonClicked===t.$.actionButton?t.$.fireEvent("actionButtonClick"):o.closest(".jqx-drop-down-button")!==t._buttonClicked&&i!==t._buttonClicked||(r=!0,t.$.fireEvent("dropDownButtonClick"))),t._buttonClicked=void 0,i===t.$.actionButton||o&&o.closest&&o.closest(".jqx-drop-down-button")===t.$.dropDownButton)return"dropDownButton"===t.dropDownOpenMode&&i===t.$.actionButton?void t.close():void(t.$dropDownContainer.hasClass("jqx-visibility-hidden")&&"none"!==t.dropDownOpenMode&&r&&"pointercancel"!==e.originalEvent.type?t.open():t.close());o=t._getUpEventTarget(o),void 0!==o&&("dropDownContainer"!==o&&"item"!==o||"item"===o&&"checkBox"!==t.selectionMode&&t.selectionMode.indexOf("Many")<0)&&t.close()}_dragStartHandler(e){this._resizeDetails&&this._resizeDetails.started&&e.preventDefault()}_dropDownTransitionendHandler(){const e=this;e._edgeMacFF&&!e.opened&&e.hasAnimation&&(e.$.dropDownContainer.style.top=e.$.dropDownContainer.style.left="",e.$dropDownContainer.addClass("not-in-view"))}_focus(e){this.$.listBox._focus(e)}_blurEventHandler(){const e=this;e.$.dropDownButton&&(e.removeAttribute("focus"),e.$.dropDownButton.removeAttribute("focus")),e.$.actionButton&&(e.removeAttribute("focus"),e.$.actionButton.removeAttribute("focus")),e.nodeName&&"jqx-drop-down-list"===e.nodeName.toLowerCase()&&!e._preventDropDownClose&&e.close()}_focusEventHandler(){const e=this;e.$.dropDownButton&&(e.setAttribute("focus",""),e.$.dropDownButton.setAttribute("focus","")),e.$.actionButton&&(e.setAttribute("focus",""),e.$.actionButton.setAttribute("focus","")),e.removeAttribute("drop-down-button-focus"),e.removeAttribute("action-button-focus")}_buttonsFocusHandler(e){const t=this;e.target===t.$.dropDownButton?"focus"===e.type?t.setAttribute("drop-down-button-focus",""):(t.removeAttribute("drop-down-button-focus"),t.nodeName&&"jqx-drop-down-list"===t.nodeName.toLowerCase()&&!t._preventDropDownClose&&t.close()):"focus"===e.type?t.setAttribute("action-button-focus",""):t.removeAttribute("action-button-focus")}_getUpEventTarget(e){const t=this;let o=e;for(o=void 0===o.parentElement?o.getRootNode().host:o.parentElement;o;){if(o===t.$.dropDownContainer){o="dropDownContainer";break}o=void 0===o.parentElement?o.getRootNode().host:o.parentElement}return o}_keyDownHandler(e){const t=this,o=t.enableShadowDOM&&t.shadowRoot.activeElement||document.activeElement,n=t.enableShadowDOM?e.composedPath()[0]:e.target;if(!(t.$.listBox&&n===t.$.listBox.$.filterInput||o!==t&&o!==t.$.dropDownButton&&o!==t.$.actionButton)||"Tab"===e.key)switch(e.key){case"Tab":if(t.filterable&&t.opened){const o=function(){for(let e=0;e<t.items.length;e++)if(!t.items[e].disabled)return t.items[e]};t.$.listBox.$.filterInput&&!JQX.Utilities.Core.isMobile&&document.activeElement!==t.$.listBox.$.filterInput?(t.$.listBox.$.filterInput.focus(),t._preventDropDownClose=!0):t.$.listBox&&(t.focus(),t.selectedIndexes.length>0?t._focus(t.items[t.selectedIndexes[0]]):t._focus(o),t._preventDropDownClose=!0),e.preventDefault()}break;case"Enter":case" ":e.preventDefault(),n!==t.$.actionButton&&(t._keyPressed=!0,t.opened?(t._focusedItem&&t.select(t._focusedItem),("Enter"===e.key&&["none"].indexOf(t.selectionMode)<0||" "===e.key&&["none","zeroAndOne","one","radioButton"].indexOf(t.selectionMode)>-1)&&t.close()):t.opened||t.readonly||"none"===t.dropDownOpenMode||t.open()),"dropDownButton"===t.dropDownOpenMode&&n.setAttribute("active","");break;case"End":case"Home":case"PageUp":case"PageDown":case"ArrowUp":case"ArrowDown":if(t.readonly)return;if(e.altKey)return t._keyPressed=!1,void(t.$dropDownContainer.hasClass("jqx-visibility-hidden")?t.open():t.close());e.preventDefault(),t.$.listBox._handleKeyStrokes(e.key);break;case"Escape":e.preventDefault(),t.close();break;default:if(t.readonly)return;"oneOrManyExtended"===t.selectionMode&&(t.$.listBox._keysPressed[e.key]=!0),t.$.listBox._applyIncrementalSearch(e.key)}}_keyUpHandler(e){const t=this,o=t.enableShadowDOM?e.composedPath()[0]:e.target;t.$.listBox&&o===t.$.listBox.$.filterInput||("Enter"!==e.key&&" "!==e.key||(o.removeAttribute("active"),t.$dropDownContainer.hasClass("jqx-visibility-hidden")||(t._keyPressed=!1)),t.$.listBox&&"oneOrManyExtended"===t.selectionMode&&(t.$.listBox._keysPressed[e.key]=!1))}_listBoxChangeHandler(e){const t=this;if(e.target===t.$.listBox){if("list"===t.autoComplete&&e.detail){const o=t.$.listBox._items[e.detail.index];t._lastSelectedItem=o&&o.selected?o:void 0}t._applySelection(t.selectionMode,e.detail),t._updateTargetValue(),(t.dropDownAppendTo||t.enableShadowDOM)&&t.$.fireEvent("change",e.detail)}else e.stopPropagation()}_listBoxItemClickHandler(e){const t=this;(t.dropDownAppendTo||t.enableShadowDOM)&&t.$.fireEvent(e.type,e.detail),"checkBox"!==t.selectionMode&&t.selectionMode.indexOf("Many")<0&&t.close(),JQX.Utilities.Core.isMobile||t.focus(),delete t._isDropDownClicked}_listBoxKeyDownHandler(e){const t=this;if("Enter"===e.key)return t.close(),"dropDownButton"===t.dropDownOpenMode?t.$.dropDownButton.focus():t.focus(),void e.stopPropagation();"Escape"!==e.key||t.close()}_scrollBottomReachedHandler(e){const t=this,o="onScrollBottomReached";t[o]?t[o](e):t[o.toLowerCase()]?t[o.toLowerCase()](e):t.dropDownAppendTo&&t.$.fireEvent(o)}_scrollTopReachedHandler(e){const t=this,o="onScrollTopReached";t[o]?t[o](e):t[o.toLowerCase()]?t[o.toLowerCase()](e):t.dropDownAppendTo&&t.$.fireEvent(o)}_mouseEnterHandler(){const e=this;e._isElementHovered=!0,e.tagName.toLowerCase().indexOf("jqx-drop-down-")>-1&&"auto"===e.dropDownOpenMode&&!e.disabled&&!e.readonly&&e.open()}_mouseLeaveHandler(){const e=this;e.removeAttribute("hover"),e._isElementHovered=!1,"auto"!==e.dropDownOpenMode||e.disabled||e.readonly||e._autoClose()}_mouseWheelHandler(e){const t=this;t.disabled||t.readonly||t.items&&0===t.items.length||t.$dropDownContainer&&!t.$dropDownContainer.hasClass("jqx-visibility-hidden")||t.$.listBox&&(e.preventDefault(),t.$.listBox._handleKeyStrokes(e.deltaY>0?"ArrowDown":"ArrowUp"))}_autoClose(){const e=this;e._autoCloseTimeout=setTimeout(function(){e._isElementHovered||e.close(),clearTimeout(e._autoCloseTimeout)}.bind(e),e.autoCloseDelay)}_propertyValidator(e,t){return"number"!=typeof t&&"string"!=typeof t?e:t}_resizeHandler(){this.refresh()}refresh(){const e=this;"none"===e.resizeMode&&(e._calculateDropDownSize(),e._setDropDownSize())}_selectStartHandler(e){this._preventsSelectStart&&e.preventDefault()}_setAriaRelations(e){const t=this;let o,n;"dropDownButton"!==t.dropDownOpenMode?(o=t.$.dropDownButton,o.setAttribute("aria-hidden",!0),n=t,t.$.actionButton.removeAttribute("role")):(o=t,n=t.$.dropDownButton,n.removeAttribute("aria-hidden"),t.$.actionButton.setAttribute("role","button")),t._ariaButton=n,n.setAttribute("role","button"),n.setAttribute("aria-haspopup","listbox"),n.setAttribute("aria-owns",t.$.listBox.id),n.setAttribute("aria-describedby",t.$.hint.id),t.label?n.setAttribute("aria-labelledby",t.$.label.id):"DropDownList"===t.elementName&&n.setAttribute("aria-labelledby",t.$.actionButton.id),o.setAttribute("role","presentation"),o.removeAttribute("aria-owns"),e?n.setAttribute("aria-expanded",t.opened):(o.removeAttribute("aria-describedby"),o.removeAttribute("aria-expanded"),o.removeAttribute("aria-haspopup"),o.removeAttribute("aria-labelledby"))}_setDropDownSize(){const e=this,t=e.$.listBox;let o;if(e._dropDownSize||e._calculateDropDownSize(),["dropDownMinWidth","dropDownMaxWidth"].forEach((t=>{e.$.dropDownContainer.style[t.replace("dropDown","").replace(/^./,"m")]="initial"===e[t]?e.offsetWidth+"px":e[t]?parseFloat(e[t])+(e[t].toString().endsWith("%")?"%":"px"):null})),["dropDownMinHeight","dropDownMaxHeight"].forEach((t=>{e.$.dropDownContainer.style[t.replace("dropDown","").replace(/^./,"m")]=e[t]?parseFloat(e[t])+(e[t].toString().endsWith("%")?"%":"px"):null})),e.dropDownWidth?"auto"!==e.dropDownWidth?e.$.dropDownContainer.style.width=("initial"===e.dropDownWidth?e.offsetWidth:parseFloat(e.dropDownWidth))+"px":e.$.dropDownContainer.style.width="auto":e.$.dropDownContainer.style.width="auto"===e._dropDownSize.width?"auto":(parseFloat(e._dropDownSize.width)||0)+"px",e.dropDownHeight&&"auto"!==e.dropDownHeight)e.$.dropDownContainer.style.height=parseFloat(e.dropDownHeight)+((e.dropDownHeight+"").indexOf("%")>-1?"%":"px");else if(!e.$.listBox||"auto"!==e._dropDownSize.height&&"auto"!==e.dropDownHeight)e.$.dropDownContainer.style.height=e._dropDownSize.height;else{e.$.dropDownContainer.style.height="";let n=0;if(t.$.itemsContainer&&(n=2*parseInt(window.getComputedStyle(t.$.itemsContainer).getPropertyValue("--jqx-list-item-vertical-offset"))),isNaN(n)&&(n=6),o=n,t.items&&t.items.length>0?t.items.map((e=>o+=e.height||e.offsetHeight)):o=t.$.placeholder?Math.max(e._dropDownSize.minHeight,t.$.placeholder.offsetHeight):200,e.filterable){const e=t.$.filterInputContainer;o+=e.offsetHeight+e.offsetTop}o=o+e._dropDownSize.paddingWidth+e._dropDownSize.borderWidth,e.$.dropDownContainer.style.height=o+"px"}if(t){if(void 0===o||!t.$)return void t._refreshLayout();const n=t.$.horizontalScrollBar?t.$.horizontalScrollBar.offsetHeight:0,i=Math.max(0,e._dropDownSize.minHeight-(o-n));i?e.$.dropDownContainer.style.height=o+i+"px":n&&(e.$.dropDownContainer.style.height=parseInt(e.$.dropDownContainer.style.height)+n+5+"px"),!e.opened&&e.virtualized&&t.refresh()}}_styleChangedHandler(e){const t=this;if(t.dropDownAppendTo){const o=e.detail.styleProperties,n=["font-size","font-family","font-style","font-weight"];for(let e=0;e<n.length;e++)o[n[e]]&&(t.$.dropDownContainer.style[n[e]]=o[n[e]].value)}"auto"===t._dropDownSize.height&&t._setDropDownSize()}_validateTemplate(e){const t=this;if(e&&"function"!=typeof e)if("content"in document.createElement("template")){if(e instanceof HTMLTemplateElement||(e=document.getElementById(e)),null!==e&&"content"in e)return e;t.error(t.localize("invalidTemplate",{elementType:t.nodeName.toLowerCase(),property:"tokenTemplate"}))}else t.error(t.localize("htmlTemplateNotSuported",{elementType:t.nodeName.toLowerCase()}))}});

/***/ }),

/***/ 6321:
/***/ (() => {

!function(){if(void 0===typeof window)return;const e="21.0.0",t=[];let i="JQX";if(window[i]&&window[i].Version){if(window[i].Version===e)return;if(window[i].Version!==e)i+=e;else{let e=2;for(;window[i];)i+=e.toString(),e++}}const n=navigator.userAgent.indexOf("Edge")>-1&&navigator.appVersion.indexOf("Edge")>-1;document.elementsFromPoint||(document.elementsFromPoint=document.msElementsFromPoint);class r{static isBoolean(e){return"boolean"==typeof e}static isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)}static isArray(e){return Array.isArray(e)}static isObject(e){return e&&("object"==typeof e||this.isFunction(e))||!1}static isDate(e){return e instanceof Date}static isString(e){return"string"==typeof e}static isNumber(e){return"number"==typeof e}static getType(e){const t=this,i=["Boolean","Number","String","Function","Array","Date","Object"].find((i=>{if(t["is"+i](e))return i}));return i?i.toLowerCase():void 0}}class a{static animate(e,t,n,r){const a=e;if(!a||a instanceof HTMLElement==0)return;if(0===a.getElementsByClassName("jqx-ripple").length){const e=document.createElement("span");e.classList.add("jqx-ripple"),e.setAttribute("role","presentation");let t=!0,n=null;if(window[i].EnableShadowDOM&&a.enableShadowDOM&&!0!==a.isInShadowDOM){for(let e=0;e<a.shadowRoot.host.shadowRoot.children.length;e++)"link"!==a.shadowRoot.host.shadowRoot.children[e].tagName.toLowerCase()&&(n=a.shadowRoot.host.shadowRoot.children[e]);a.shadowRoot.host.shadowRoot.querySelector(".jqx-ripple")&&(t=!1)}else n=a.firstElementChild;t&&(n&&!n.noRipple&&n.offsetHeight>0?n.appendChild(e):a.appendChild(e))}let s=null;if(s=window[i].EnableShadowDOM&&a.shadowRoot?a.shadowRoot.host.shadowRoot.querySelector(".jqx-ripple"):a.getElementsByClassName("jqx-ripple")[0],!s)return;s.innerHTML="",s.classList.remove("jqx-animate"),s.style.height=s.style.width=Math.max(a.offsetHeight,a.offsetWidth)+"px";const o=window.getComputedStyle(s.parentElement),l=parseInt(o.borderLeftWidth)||0,c=parseInt(o.borderTopWidth)||0,d=a.getBoundingClientRect(),u=t-(d.left+window.pageXOffset)-s.offsetWidth/2-l,p=n-(d.top+window.pageYOffset)-s.offsetHeight/2-c;s.style.left=u+"px",s.style.top=p+"px",s.classList.add("jqx-animate"),s.addEventListener("animationend",(function e(){s.parentElement&&s.parentElement.removeChild(s),r&&r(),s.removeEventListener("animationend",e),s.removeEventListener("animationcancel",e)})),s.addEventListener("animationcancel",(function e(){s.parentElement&&s.parentElement.removeChild(s),r&&r(),s.removeEventListener("animationcancel",e),s.removeEventListener("animationend",e)}))}}class s{static easeInQuad(e,t,i,n){return i*(e/=n)*e+t}static easeOutQuad(e,t,i,n){return-i*(e/=n)*(e-2)+t}static easeInOutQuad(e,t,i,n){return(e/=n/2)<1?i/2*e*e+t:-i/2*(--e*(e-2)-1)+t}static easeInCubic(e,t,i,n){return i*(e/=n)*e*e+t}static easeOutCubic(e,t,i,n){return i*((e=e/n-1)*e*e+1)+t}static easeInOutCubic(e,t,i,n){return(e/=n/2)<1?i/2*e*e*e+t:i/2*((e-=2)*e*e+2)+t}static easeInQuart(e,t,i,n){return i*(e/=n)*e*e*e+t}static easeOutQuart(e,t,i,n){return-i*((e=e/n-1)*e*e*e-1)+t}static easeInOutQuart(e,t,i,n){return(e/=n/2)<1?i/2*e*e*e*e+t:-i/2*((e-=2)*e*e*e-2)+t}static easeInQuint(e,t,i,n){return i*(e/=n)*e*e*e*e+t}static easeOutQuint(e,t,i,n){return i*((e=e/n-1)*e*e*e*e+1)+t}static easeInOutQuint(e,t,i,n){return(e/=n/2)<1?i/2*e*e*e*e*e+t:i/2*((e-=2)*e*e*e*e+2)+t}static easeInSine(e,t,i,n){return-i*Math.cos(e/n*(Math.PI/2))+i+t}static easeOutSine(e,t,i,n){return i*Math.sin(e/n*(Math.PI/2))+t}static easeInOutSine(e,t,i,n){return-i/2*(Math.cos(Math.PI*e/n)-1)+t}static easeInExpo(e,t,i,n){return 0===e?t:i*Math.pow(2,10*(e/n-1))+t}static easeOutExpo(e,t,i,n){return e===n?t+i:i*(1-Math.pow(2,-10*e/n))+t}static easeInOutExpo(e,t,i,n){return 0===e?t:e===n?t+i:(e/=n/2)<1?i/2*Math.pow(2,10*(e-1))+t:i/2*(2-Math.pow(2,-10*--e))+t}static easeInCirc(e,t,i,n){return-i*(Math.sqrt(1-(e/=n)*e)-1)+t}static easeOutCirc(e,t,i,n){return i*Math.sqrt(1-(e=e/n-1)*e)+t}static easeInOutCirc(e,t,i,n){return(e/=n/2)<1?-i/2*(Math.sqrt(1-e*e)-1)+t:i/2*(Math.sqrt(1-(e-=2)*e)+1)+t}static easeInElastic(e,t,i,n){let r=1.70158,a=0,s=i;return 0===e?t:1==(e/=n)?t+i:(a||(a=.3*n),s<Math.abs(i)?(s=i,r=a/4):r=a/(2*Math.PI)*Math.asin(i/s),-s*Math.pow(2,10*(e-=1))*Math.sin((e*n-r)*(2*Math.PI)/a)+t)}static easeOutElastic(e,t,i,n){let r=1.70158,a=0,s=i;return 0===e?t:1==(e/=n)?t+i:(a||(a=.3*n),s<Math.abs(i)?(s=i,r=a/4):r=a/(2*Math.PI)*Math.asin(i/s),s*Math.pow(2,-10*e)*Math.sin((e*n-r)*(2*Math.PI)/a)+i+t)}static easeInOutElastic(e,t,i,n){let r=1.70158,a=0,s=i;return 0===e?t:2==(e/=n/2)?t+i:(a||(a=n*(.3*1.5)),s<Math.abs(i)?(s=i,r=a/4):r=a/(2*Math.PI)*Math.asin(i/s),e<1?s*Math.pow(2,10*(e-=1))*Math.sin((e*n-r)*(2*Math.PI)/a)*-.5+t:s*Math.pow(2,-10*(e-=1))*Math.sin((e*n-r)*(2*Math.PI)/a)*.5+i+t)}static easeInBack(e,t,i,n,r){return void 0===r&&(r=1.70158),i*(e/=n)*e*((r+1)*e-r)+t}static easeOutBack(e,t,i,n,r){return void 0===r&&(r=1.70158),i*((e=e/n-1)*e*((r+1)*e+r)+1)+t}static easeInOutBack(e,t,i,n,r){return void 0===r&&(r=1.70158),(e/=n/2)<1?i/2*(e*e*((1+(r*=1.525))*e-r))+t:i/2*((e-=2)*e*((1+(r*=1.525))*e+r)+2)+t}static easeInBounce(e,t,i,n){return i-this.easeOutBounce(n-e,0,i,n)+t}static easeOutBounce(e,t,i,n){return(e/=n)<1/2.75?i*(7.5625*e*e)+t:e<2/2.75?i*(7.5625*(e-=1.5/2.75)*e+.75)+t:e<2.5/2.75?i*(7.5625*(e-=2.25/2.75)*e+.9375)+t:i*(7.5625*(e-=2.625/2.75)*e+.984375)+t}static easeInOutBounce(e,t,i,n){return e<n/2?.5*this.easeInBounce(2*e,0,i,n)+t:.5*this.easeOutBounce(2*e-n,0,i,n)+.5*i+t}}class o{static get isMobile(){const e=/(iphone|ipod|ipad|android|iemobile|blackberry|bada)/.test(window.navigator.userAgent.toLowerCase());return e||["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}static get Browser(){let e;const t=function(t){let i=t.indexOf(e);if(-1===i)return;const n=t.indexOf("rv:");return"Trident"===e&&-1!==n?parseFloat(t.substring(n+3)):parseFloat(t.substring(i+e.length+1))};let i={};return i[function(){const t=[{string:navigator.userAgent,subString:"Edge",identity:"Edge"},{string:navigator.userAgent,subString:"MSIE",identity:"IE"},{string:navigator.userAgent,subString:"Trident",identity:"IE"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.userAgent,subString:"Opera",identity:"Opera"},{string:navigator.userAgent,subString:"OPR",identity:"Opera"},{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"Safari",identity:"Safari"}];for(let i=0;i<t.length;i++){let n=t[i].string;if(e=t[i].subString,-1!==n.indexOf(t[i].subString))return t[i].identity}return"Other"}()]=!0,i.version=t(navigator.userAgent)||t(navigator.appVersion)||"Unknown",i}static toCamelCase(e){return e.replace(/-([a-z])/g,(function(e){return e[1].toUpperCase()}))}static toDash(e){return e.split(/(?=[A-Z])/).join("-").toLowerCase()}static unescapeHTML(e){return(new DOMParser).parseFromString(e,"text/html").documentElement.textContent}static escapeHTML(e){const t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return String(e).replace(/[&<>"'`=\/]/g,(e=>t[e]))}static sanitizeHTML(e){if(e&&(e.indexOf("onclick")>=0||e.indexOf("onload")>=0||e.indexOf("onerror")>=0))return this.escapeHTML(e);const t=new RegExp("<s*(applet|audio|base|bgsound|embed|form|iframe|isindex|keygen|layout|link|meta|object|script|svg|style|template|video)[^>]*>(.*?)<s*/s*(applet|audio|base|bgsound|embed|form|iframe|isindex|keygen|layout|link|meta|object|script|svg|style|template|video)>","ig");return String(e).replace(t,(e=>this.escapeHTML(e)))}static createGUID(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}static getScriptLocation(){return"./"!==window[i].BaseUrl?window[i].BaseUrl:function(){if(document.currentScript){let e=document.currentScript.src,t=e.lastIndexOf("/");return e=e.substring(0,t),e}const e=new Error;let t="(",i=")";if(JQX.Utilities.Core.Browser.Safari&&(t="@",i="\n"),e.fileName)return e.fileName.replace("/jqx.element.js","");let n=e.stack.split(t);return n=n[1],n=n.split(i)[0],n=n.split(":"),n.splice(-2,2),n=n.join(":"),n.replace("/jqx.element.js","")}()}static CSSVariablesSupport(){return window.CSS&&window.CSS.supports&&window.CSS.supports("(--fake-var: 0)")}static assign(e,t){const i=e=>e&&"object"==typeof e&&!Array.isArray(e)&&null!==e;let n=Object.assign({},e);return i(e)&&i(t)&&Object.keys(t).forEach((r=>{i(t[r])?r in e?n[r]=this.assign(e[r],t[r]):Object.assign(n,{[r]:t[r]}):Object.assign(n,{[r]:t[r]})})),n}static html(e,t){const i=this;let n="",r=e.childNodes;if(!t){for(let e,t=0,a=r.length;t<a&&(e=r[t]);t++){const t=["strong"];if(e instanceof HTMLElement||e.tagName&&t.indexOf(e.tagName.toLowerCase())>=0){const t=e.tagName.toLowerCase(),r=e.attributes;let a="<"+t;for(let e,t=0;e=r[t];t++)a+=" "+e.name+'="'+e.value.replace(/[&\u00A0"]/g,y.Core.escapeHTML)+'"';a+=">",["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"][t]&&(n+=a),n=n+a+i.html(e)+"</"+t+">"}else{if(8===e.nodeType)continue;n+=e.textContent.replace(/[&\u00A0<>]/g,y.Core.escapeHTML)}}return n}{const i=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi;e.innerHTML=t.replace(i,"<$1></$2>")}}}let l=[];class c{static watch(e){switch(e.nodeName.toLowerCase()){case"jqx-grid":case"jqx-kanban":case"jqx-table":case"jqx-pivot-table":case"jqx-scheduler":case"jqx-tabs":case"jqx-card-view":case"jqx-list-box":case"jqx-combo-box":case"jqx-drop-down-list":case"jqx-calendar":case"jqx-gauge":case"jqx-numeric-text-box":case"jqx-menu":case"jqx-tree":l.push(e);break;default:return}c.start()}static start(){c.isStarted||(c.isStarted=!0,c.interval&&clearInterval(c.interval),0===l.length||document.hidden?c.isStarted=!1:c.interval=setInterval((function(){c.observe()}),100))}static stop(){c.isStarted=!1,c.interval&&clearInterval(c.interval)}static observeElement(e){const t=e;if("test"===window.JQX.Mode||document.hidden)return void(c.interval&&clearInterval(c.interval));let i=e._computedStyle||"resize"!==t.hasStyleObserver?document.defaultView.getComputedStyle(t,null):{},n=!0,r="resize"!==t.hasStyleObserver?["paddingLeft","paddingRight","paddingTop","paddingBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","display","visibility","font-size","font-family","font-style","font-weight","max-height","min-height","max-width","min-width","overflow","overflow-x","overflow-y"]:[];if(e.styleProperties&&(r=r.concat(e.styleProperties)),e.observableStyleProperties&&(r=e.observableStyleProperties),!t._styleInfo){t._styleInfo=[];for(let e=0;e<r.length;e++){const n=r[e],a=n.startsWith("--")?i.getPropertyValue(n):i[n];t._styleInfo[n]=a}return}if(e.isHidden||"none"!==i.display&&(0!==e.offsetWidth&&0!==e.offsetHeight||(e.isHidden=!0)),e.isHidden){if(e.visibilityChangedHandler(),e.isHidden)return;n=!1}let a=[];for(let e=0;e<r.length;e++){const n=r[e],s=n.startsWith("--")?i.getPropertyValue(n):i[n];t._styleInfo[n]!==s&&(a[n]={oldValue:t._styleInfo[n],value:s},a.length++),t._styleInfo[n]=s}a.length>0&&(t.$.fireEvent("styleChanged",{styleProperties:a},{bubbles:!1,cancelable:!0}),a.display&&n&&t.$.fireEvent("resize",t,{bubbles:!1,cancelable:!0}))}static observe(){for(let e=0;e<l.length;e++){const t=l[e];this.observeElement(t)}}static unwatch(e){c.stop();const t=l.indexOf(e);-1!==t&&l.splice(t,1),c.start()}}let d=[];const u=[],p=["resize","down","up","move","tap","taphold","swipeleft","swiperight","swipetop","swipebottom"];class m{constructor(e){const t=this;t.target=e,t.$target=new g(e),t.$document=e.$document?e.$document:new g(document),t.id=(Date.now().toString(36)+Math.random().toString(36).substr(2,5)).toUpperCase();let i={handlers:{},boundEventTypes:[],listen:t.listen.bind(t),unlisten:t.unlisten.bind(t)};return t.tapHoldDelay=750,t.swipeMin=10,t.swipeMax=5e3,t.swipeDelay=1e3,t.tapHoldDelay=750,t.inputEventProperties=["clientX","clientY","pageX","pageY","screenX","screenY"],p.forEach((e=>{i[e]=t=>{i.handlers[e]=t},t[e]=e=>{if(!i.handlers[e.type]){if(("mousemove"===e.type||"pointermove"===e.type||"touchmove"===e.type)&&i.handlers.move){const n=t.createEvent(e,"move");i.handlers.move(n)}return!0}return i.handlers[e.type](e)}})),t.listen(),t.handlers=i.handlers,i}listen(e){const t=this;if("resize"===e&&t.target!==document&&t.target!==window&&!1!==t.target.hasResizeObserver)if(JQX.Utilities.Core.Browser.Firefox){if(!t.target.resizeObserver){let e,i,n,r=!1,a=t.target.offsetWidth,s=t.target.offsetHeight;const o=new ResizeObserver((()=>{if(!r)return void(r=!0);const o=new CustomEvent("resize",{bubbles:!1,cancelable:!0});i=t.target.offsetWidth,n=t.target.offsetHeight,e=i!==a||n!==s,t.target.requiresLayout&&(e=!0),e&&(t.resize(o),t.target.requiresLayout=!1,a=i,s=n)}));o.observe(t.target),t.target.resizeObserver=o}}else if(!t.target.resizeTrigger){const e=document.createElement("div");e.className="jqx-resize-trigger-container",e.innerHTML='<div class="jqx-resize-trigger-container"><div class="jqx-resize-trigger"></div></div><div class="jqx-resize-trigger-container"><div class="jqx-resize-trigger-shrink"></div></div>',e.setAttribute("aria-hidden",!0),window[i].EnableShadowDOM&&t.target.shadowRoot?t.target.shadowRoot.appendChild(e):t.target.appendChild(e),t.target.resizeTrigger=e;const n=e.childNodes[0],r=n.childNodes[0],a=e.childNodes[1],s=function(){r.style.width="100000px",r.style.height="100000px",n.scrollLeft=1e5,n.scrollTop=1e5,a.scrollLeft=1e5,a.scrollTop=1e5};let o,l,c,d,u=t.target.offsetWidth,p=t.target.offsetHeight;if(0===u||0===p){const e=function(){s(),t.target.removeEventListener("resize",e)};t.target.addEventListener("resize",e),s()}else s();t.target.resizeHandler=function(){l||(l=requestAnimationFrame((function(){if(l=0,c=t.target.offsetWidth,d=t.target.offsetHeight,o=c!==u||d!==p,t.target.requiresLayout&&(o=!0),!o)return;u=c,p=d;const e=new CustomEvent("resize",{bubbles:!1,cancelable:!0});t.resize(e),t.target.requiresLayout=!1}))),s()},n.addEventListener("scroll",t.target.resizeHandler),a.addEventListener("scroll",t.target.resizeHandler)}t.isListening||(t.isListening=!0,t.isPressed=!1,t.isReleased=!1,t.isInBounds=!1,window.PointerEvent?(t.$target.listen("pointerdown.inputEvents"+t.id,t.pointerDown.bind(t)),t.$target.listen("pointerup.inputEvents"+t.id,t.pointerUp.bind(t)),t.$target.listen("pointermove.inputEvents"+t.id,t.pointerMove.bind(t)),t.$target.listen("pointercancel.inputEvents"+t.id,t.pointerCancel.bind(t))):("ontouchstart"in window&&(t.$target.listen("touchmove.inputEvents"+t.id,t.touchMove.bind(t)),t.$target.listen("touchstart.inputEvents"+t.id,t.touchStart.bind(t)),t.$target.listen("touchend.inputEvents"+t.id,t.touchEnd.bind(t)),t.$target.listen("touchcancel.inputEvents"+t.id,t.touchCancel.bind(t))),t.$target.listen("mousedown.inputEvents"+t.id,t.mouseDown.bind(t)),t.$target.listen("mouseup.inputEvents"+t.id,t.mouseUp.bind(t)),t.$target.listen("mousemove.inputEvents"+t.id,t.mouseMove.bind(t)),t.$target.listen("mouseleave.inputEvents"+t.id,t.mouseLeave.bind(t))),t.target._handleDocumentUp||(t.target._handleDocumentUp=t.handleDocumentUp.bind(t),t.target._handleDocumentUpId=t.id,t.$document.listen("mouseup.inputEvents"+t.target._handleDocumentUpId,t.target._handleDocumentUp)))}unlisten(e){const t=this;if(t.isListening=!1,window.PointerEvent?(t.$target.unlisten("pointerdown.inputEvents"+t.id),t.$target.unlisten("pointerup.inputEvents"+t.id),t.$target.unlisten("pointermove.inputEvents"+t.id),t.$target.unlisten("pointercancel.inputEvents"+t.id)):("ontouchstart"in window&&(t.$target.unlisten("touchstart.inputEvents"+t.id),t.$target.unlisten("touchmove.inputEvents"+t.id),t.$target.unlisten("touchend.inputEvents"+t.id),t.$target.unlisten("touchcancel.inputEvents"+t.id)),t.$target.unlisten("mousedown.inputEvents"+t.id),t.$target.unlisten("mouseup.inputEvents"+t.id),t.$target.unlisten("mousemove.inputEvents"+t.id),t.$target.unlisten("mouseleave.inputEvents"+t.id)),t.target._handleDocumentUp&&(t.$document.unlisten("mouseup.inputEvents"+t.target._handleDocumentUpId,t.target._handleDocumentUp),delete t.target._handleDocumentUp,delete t.target._handleDocumentUpId),"resize"===e)if(JQX.Utilities.Core.Browser.Firefox)t.target.resizeObserver&&(t.target.resizeObserver.unobserve(t.target),delete t.target.resizeObserver);else if(t.target.resizeTrigger){const e=t.target.resizeTrigger,i=e.childNodes[0],n=e.childNodes[1];i.removeEventListener("scroll",t.target.resizeHandler),n.removeEventListener("scroll",t.target.resizeHandler),t.target.resizeHandler=null,e.parentNode.removeChild(e),delete t.target.resizeTrigger}}handleDocumentUp(e){const t=this;t.isPressed=!1,t.isReleased=!1,t.resetSwipe(e)}createEvent(e,t){const i=this,n=e.touches,r=e.changedTouches,a=n&&n.length?n[0]:r&&r.length?r[0]:void 0,s=new CustomEvent(t,{bubbles:!0,cancelable:!0,composed:void 0!==i.$target.element.getRootNode().host});if(s.originalEvent=e,a){for(let e=0;e<i.inputEventProperties.length;e++){const t=i.inputEventProperties[e];s[t]=a[t]}return s}for(let t in e)t in s||(s[t]=e[t]);return s}fireTap(e){const t=this;if(clearTimeout(this.tapHoldTimeout),!this.tapHoldFired&&this.isInBounds){const i=t.createEvent(e,"tap");t.tap(i)}}initTap(e){const t=this;t.isInBounds=!0,t.tapHoldFired=!1,t.tapHoldTimeout=setTimeout((function(){if(t.isInBounds){t.tapHoldFired=!0;const i=t.createEvent(e,"taphold");t.taphold(i)}}),t.tapHoldDelay)}pointerDown(e){return this.handleDown(e)}mouseDown(e){const t=this;if(!(t.isPressed||t.touchStartTime&&new Date-t.touchStartTime<500))return t.handleDown(e)}touchStart(e){const t=this;return t.touchStartTime=new Date,t.isTouchMoved=!0,t.handleDown(e)}mouseUp(e){const t=this;if(!(t.isReleased||t.touchEndTime&&new Date-t.touchEndTime<500))return t.handleUp(e)}handleDown(e){const t=this;t.isReleased=!1,t.isPressed=!0;const i=t.createEvent(e,"down");return(t.handlers.tap||t.handlers.taphold)&&t.initTap(i),(t.handlers.swipeleft||t.handlers.swiperight||t.handlers.swipetop||t.handlers.swipebottom)&&t.initSwipe(i),t.down(i)}handleUp(e){const t=this;t.isReleased=!0,t.isPressed=!1;const i=t.createEvent(e,"up"),n=t.up(i);return(t.handlers.tap||t.handlers.taphold)&&t.fireTap(i),t.resetSwipe(i),n}handleMove(e){const t=this;let i=t.move(e);return t.isPressed&&(t._maxSwipeVerticalDistance=Math.max(t._maxSwipeVerticalDistance,Math.abs(t._startY-e.pageY)),t._maxSwipeHorizontalDistance=Math.max(t._maxSwipeHorizontalDistance,Math.abs(t._startX-e.pageX)),i=t.handleSwipeEvents(e)),i}touchEnd(e){return this.touchEndTime=new Date,this.handleUp(e)}pointerUp(e){return this.handleUp(e)}pointerCancel(e){this.pointerUp(e)}touchCancel(e){this.touchEnd(e)}mouseLeave(){this.isInBounds=!1}mouseMove(e){if(!this.isTouchMoved)return this.handleMove(e)}pointerMove(e){return this.handleMove(e)}touchMove(e){const t=this,i=e.touches,n=e.changedTouches,r=i&&i.length?i[0]:n&&n.length?n[0]:void 0;for(let i=0;i<t.inputEventProperties.length;i++){const n=t.inputEventProperties[i];void 0===e[n]&&(e[n]=r[n])}return t.isTouchMoved=!0,t.handleMove(e)}handleSwipeEvents(e){const t=this;let i=!0;return(t.handlers.swipetop||t.handlers.swipebottom)&&(i=this.handleVerticalSwipeEvents(e)),!1===i||(t.handlers.swipeleft||t.handlers.swiperight)&&(i=this.handleHorizontalSwipeEvents(e)),i}handleVerticalSwipeEvents(e){let t,i;return t=e.pageY,i=t-this._startY,this.swiped(e,i,"vertical")}handleHorizontalSwipeEvents(e){let t,i;return t=e.pageX,i=t-this._startX,this.swiped(e,i,"horizontal")}swiped(e,t,i){const n=this;if(i=i||0,Math.abs(t)>=n.swipeMin&&!n._swipeEvent&&!n._swipeLocked){let r=t<0?"swipeleft":"swiperight";if("horizontal"===i?n._swipeEvent=n.createEvent(e,r):(r=t<0?"swipetop":"swipebottom",n._swipeEvent=n.createEvent(e,t<0?"swipetop":"swipebottom")),n[r]&&(n[r](this._swipeEvent),Math.abs(t)<=this.swipeMax))return e.stopImmediatePropagation(),!1}return!0}resetSwipe(){this._swipeEvent=null,clearTimeout(this._swipeTimeout)}initSwipe(e){const t=this;t._maxSwipeVerticalDistance=0,t._maxSwipeHorizontalDistance=0,t._startX=e.pageX,t._startY=e.pageY,t._swipeLocked=!1,t._swipeEvent=null,t._swipeTimeout=setTimeout((function(){t._swipeLocked=!0}),t.swipeDelay)}}class h{get scrollWidth(){const e=this;return e.horizontalScrollBar?e.horizontalScrollBar.max:-1}set scrollWidth(e){const t=this;e<0&&(e=0),t.horizontalScrollBar&&(t.horizontalScrollBar.max=e)}get scrollHeight(){const e=this;return e.verticalScrollBar?e.verticalScrollBar.max:-1}set scrollHeight(e){const t=this;e<0&&(e=0),t.verticalScrollBar&&(t.verticalScrollBar.max=e)}get scrollLeft(){const e=this;return e.horizontalScrollBar?e.horizontalScrollBar.value:-1}set scrollLeft(e){const t=this;e<0&&(e=0),t.horizontalScrollBar&&(t.horizontalScrollBar.value=e)}get scrollTop(){const e=this;return e.verticalScrollBar?e.verticalScrollBar.value:-1}set scrollTop(e){const t=this;e<0&&(e=0),t.verticalScrollBar&&(t.verticalScrollBar.value=e)}get vScrollBar(){return this.verticalScrollBar}get hScrollBar(){return this.horizontalScrollBar}constructor(e,t,i){const n=this;n.container=e,n.horizontalScrollBar=t,n.verticalScrollBar=i,n.disableSwipeScroll=!1,n.listen()}listen(){const e=this,t=o.isMobile,i=e.horizontalScrollBar,n=e.verticalScrollBar;let r,a,s,l,c,d,u,p;e.inputEvents=new m(e.container);const h=function(e){return{amplitude:0,delta:0,initialValue:0,min:0,max:e.max,previousValue:0,pointerPosition:0,targetValue:0,scrollBar:e,value:0,velocity:0}},g=h(i),f=h(n),b=function(){const t=e.container.touchVelocityCoefficient||50;d=Date.now(),u=d-l,l=d;const i=function(e){e.delta=e.value-e.previousValue,e.previousValue=e.value;let i=t*e.delta/(1+u);e.velocity=.8*i+.2*e.velocity};i(f),i(g)},v=function(e){return p.value=e>p.max?p.max:e<p.min?p.min:e,p.scrollBar.value=p.value,e>p.max?"max":e<p.min?"min":"value"};function w(){let t,i;p.amplitude&&(e.container.$.fireEvent("kineticScroll"),t=Date.now()-l,i=-p.amplitude*Math.exp(-t/500),i>5||i<-5?(v(p.targetValue+i),cancelAnimationFrame(a),a=0,a=requestAnimationFrame(w)):v(p.targetValue))}let k;e.inputEvents.down((function(i){if(!t)return;const n=i.originalEvent.target,a=n&&n.closest?n.closest("jqx-scroll-bar"):void 0;if(a===e.horizontalScrollBar||a===e.verticalScrollBar)return;s=!0,r=!1;const o=function(e,t){e.amplitude=0,e.pointerPosition=t,e.previousValue=e.value,e.value=e.scrollBar.value,e.initialValue=e.value,e.max=e.scrollBar.max};o(f,i.clientY),o(g,i.clientX),l=Date.now(),clearInterval(c),c=setInterval(b,500)})),e.inputEvents.up((function(){if(!s)return!0;if(clearInterval(c),e.disableSwipeScroll)return void(s=!1);const t=function(e){p=e,e.amplitude=.8*e.velocity,e.targetValue=Math.round(e.value+e.amplitude),l=Date.now(),cancelAnimationFrame(a),a=requestAnimationFrame(w),e.velocity=0};f.velocity>10||f.velocity<-10?t(f):(g.velocity>10||g.velocity<-10)&&t(g),s=!1})),e.inputEvents.move((function(t){if(!s)return!0;if(e.disableSwipeScroll)return;if(r&&(t.originalEvent.preventDefault(),t.originalEvent.stopPropagation()),g.visible=e.scrollWidth>0,f.visible=e.scrollHeight>0,!s||!g.visible&&!f.visible)return;const i=e.container.touchScrollRatio,n=e.container;let a,o;i&&("number"==typeof i?(a=-i,o=-i):"function"==typeof i&&(a=i(f.max,n.offsetHeight),o=i(g.max,n.offsetWidth))),f.ratio=a||-f.max/n.offsetHeight,f.delta=(t.clientY-f.pointerPosition)*f.ratio,g.ratio=o||-g.max/n.offsetWidth,g.delta=(t.clientX-g.pointerPosition)*g.ratio;let l="value";const c=function(t,i,n){return t.delta>5||t.delta<-5?(p=t,l=t.initialValue+t.delta>p.max?"max":t.initialValue+t.delta<p.min?"min":"value","min"===l&&0===t.initialValue||"max"===l&&t.initialValue===t.max||!t.visible||(e.container.$.fireEvent("kineticScroll"),v(t.initialValue+t.delta),b(),n.originalEvent.preventDefault(),n.originalEvent.stopPropagation(),r=!0,!1)):null};let d=c(f,t.clientY,t);if(null!==d)return d;{let e=c(g,t.clientX,t);if(null!==e)return e}})),e.scrollTo=function(t,i){const n=!1===i?g:f;let r=!1;l||(l=Date.now()),k||(k=Date.now()),Math.abs(Date.now()-k)>375?l=Date.now():r=!0,k=Date.now(),n.value=n.scrollBar.value,n.delta=t-n.value,n.max=n.scrollBar.max,t<=n.min&&(t=n.min),t>=n.max&&(t=n.max),n.targetValue=t;const s=t;let o=n.value;n.velocity=100*n.delta/(1+n.max),n.from=o;const c=function(e){return n.value=e>n.max?n.max:e<n.min?n.min:e,n.scrollBar.value=n.value,e>n.max?"max":e<n.min?"min":"value"},d=function(){let i,u=Date.now()-k,p=Math.min(1e3,Date.now()-l),m=n.velocity*Math.exp(p/175);if(r)(m<0&&n.value<=t||m>0&&n.value>=t)&&(m=0),(n.value+m<=n.min||n.value+m>=n.max)&&(m=0),m>.5||m<-.5?(c(n.value+m),cancelAnimationFrame(a),a=0,a=requestAnimationFrame(d)):c(n.targetValue);else{if(u>=175)return cancelAnimationFrame(a),e.container.$.fireEvent("kineticScroll"),void(a=0);i=y.Animation.Easings.easeInSine(u,o,s-o,175),c(i),cancelAnimationFrame(a),a=0,a=requestAnimationFrame(d)}};cancelAnimationFrame(a),a=requestAnimationFrame(d)},e.inputEvents.listen()}unlisten(){const e=this;e.inputEvents&&e.inputEvents.unlisten(),delete e.inputEvents}}class g{constructor(e){this.events={},this.handlers={},this.element=e}hasClass(e){const t=this,i=e.split(" ");for(let e=0;e<i.length;e++)if(!t.element.classList.contains(i[e]))return!1;return!0}addClass(e){const t=this;if(t.hasClass(e))return;const i=e.split(" ");for(let e=0;e<i.length;e++)t.element.classList.add(i[e]);t.isNativeElement||c.observeElement(t.element)}removeClass(e){const t=this;if(0===arguments.length)return void t.element.removeAttribute("class");const i=e.split(" ");for(let e=0;e<i.length;e++)t.element.classList.remove(i[e]);""===t.element.className&&t.element.removeAttribute("class"),t.isNativeElement||c.observeElement(t.element)}get isCustomElement(){const e=this;return!!e.element.tagName.startsWith(i)||e.element instanceof window[i].BaseElement==1||"DIV"!==e.element.tagName&&"SPAN"!==e.element.tagName&&"BUTTON"!==e.element.tagName&&"INPUT"!==e.element.tagName&&"UL"!==e.element.tagName&&"LI"!==e.element.tagName&&document.createElement(e.element.nodeName)instanceof window[i].BaseElement==1}get isNativeElement(){return!this.isCustomElement}dispatch(e){const t=this,i=t.events[e.type];let n=!1;if(i.length>1)for(let e=0;e<i.length;e++){const t=i[e];if(t.namespace&&t.namespace.indexOf("_")>=0){n=!0;break}}n&&i.sort((function(e,t){let i=e.namespace,n=t.namespace;return i=-1===i.indexOf("_")?0:parseInt(i.substring(i.indexOf("_")+1)),n=-1===n.indexOf("_")?0:parseInt(n.substring(n.indexOf("_")+1)),i<n?-1:i>n?1:0}));for(let n=0;n<i.length;n++){const r=i[n];if(e.namespace=r.namespace,e.context=r.context,e.defaultPrevented)break;const a=r.handler.apply(t.element,[e]);if(void 0!==a&&(e.result=a,!1===a)){e.preventDefault(),e.stopPropagation();break}}return e.result}fireEvent(e,t,n){const r=this;n||(n={bubbles:!0,cancelable:!0,composed:null!==r.element.getRootNode().host}),n.detail=t||{};const a=new CustomEvent(e,n);if(a.originalStopPropagation=a.stopPropagation,a.stopPropagation=function(){return a.isPropagationStopped=!0,a.originalStopPropagation()},r.dispatchEvent(a),window[i].isVue){const t=y.Core.toDash(e);if(t!==e){const e=new CustomEvent(t,n);e.originalStopPropagation=a.stopPropagation,e.stopPropagation=function(){return e.isPropagationStopped=!0,e.originalStopPropagation()},r.dispatchEvent(e)}}return a}get isPassiveSupported(){const e=this;if(void 0!==e.supportsPassive)return e.supportsPassive;e.supportsPassive=!1;try{let t=Object.defineProperty({},"passive",{get:function(){e.supportsPassive=!0}});window.addEventListener("testPassive",null,t),window.removeEventListener("testPassive",null,t)}catch(e){}return e.supportsPassive}dispatchEvent(e){const t=this,i=e.type,n=t.element.context,r=i.substring(0,1).toUpperCase()+i.substring(1);t.element.context=document,t.element["on"+r]?t.element["on"+r](e):t.element["on"+i.toLowerCase()]?t.element["on"+i.toLowerCase()](e):t.element.dispatchEvent(e),t.element.context=n}listen(e,t){const i=this,n=e.split("."),r=n.slice(1).join("."),a=n[0];i.events[a]||(i.events[a]=[]);const s={type:a,handler:t,context:i.element,namespace:r};p.indexOf(a)>=0&&(i.inputEvents||(i.inputEvents=new m(i.element)),i.inputEvents[a]((function(e){i.dispatchEvent(e)})),i.inputEvents.boundEventTypes.push(a),i.inputEvents.listen(a)),0===i.events[a].length&&(i.handlers[a]=i.dispatch.bind(i),"wheel"===a?i.element.addEventListener("wheel",i.handlers[a],!!i.isPassiveSupported&&{passive:!1}):"touchmove"===a||"touchstart"===a||"touchend"===a?i.element.addEventListener(a,i.handlers[a],!!i.isPassiveSupported&&{passive:!1}):i.element.addEventListener(a,i.handlers[a],!1)),i.events[a].push(s)}unlisten(e){const t=this,i=e.split("."),n=i.slice(1).join("."),r=i[0];let a=t.events[r];if(t.inputEvents&&t.inputEvents.boundEventTypes.indexOf(r)>=0&&(t.inputEvents.boundEventTypes.splice(t.inputEvents.boundEventTypes.indexOf(r),1),0===t.inputEvents.boundEventTypes.length&&t.inputEvents.unlisten(r)),a){for(let e=0;e<a.length;e++){if(""!==n){let e=a.findIndex((e=>e.namespace===n));a.splice(e,1);break}a=[]}0===a.length&&(t.element.removeEventListener(r,t.handlers[r]),t.events[r]=[],delete t.handlers[r])}}getAttributeValue(e,t){const i=this,n=i.element.getAttribute(e);if(i.isNativeElement)return i.deserialize(n,t);const r=i.element.propertyByAttributeName[e];return void 0===r.deserialize?i.deserialize(n,t,r.nullable):i.element[r.deserialize](n)}setAttributeValue(e,t,i){const n=this;let r,a=!1;if(n.isNativeElement){if(r=n.serialize(t,i),"boolean"===i&&["checked","selected","async","autofocus","autoplay","controls","defer","disabled","hidden","ismap","loop","multiple","open","readonly","required","scoped"].indexOf(e)>=0)return void(t?n.element.setAttribute(e,""):n.element.removeAttribute(e))}else{const s=n.element.propertyByAttributeName[e];a=!s||s.nullable,r=s&&s.serialize?n.element[s.serialize](t):n.serialize(t,i,a)}"array"!==i&&"object"!==i||"[]"!==r&&"{}"!==r?void 0===r?(n.element.removeAttribute(e),n.element.shadowRoot&&n.element.$.root&&n.element.$.root.removeAttribute(e)):(n.element.setAttribute(e,r),n.element.shadowRoot&&n.element.$.root&&n.element.$.root.setAttribute(e,r)):n.element.removeAttribute(e)}serialize(e,t,i){if(void 0===t&&(t=y.Types.getType(e)),void 0!==e&&(i||null!==e)){if(i&&null===e)return"null";if("string"===t)return e;if("boolean"===t||"bool"===t){if(!0===e||"true"===e||1===e||"1"===e)return"";if(!1===e||"false"===e||0===e||"0"===e)return}return"array"===t?JSON.stringify(e):["string","number","int","integer","float","date","any","function"].indexOf(t)>=0?e.toString():"object"===t?JSON.stringify(e):void 0}}deserialize(e,t,i){const n="null"===e;if(void 0!==e&&(!n||i)){if(n&&i)return null;if("boolean"===t||"bool"===t)return null!==e;if("number"===t||"float"===t)return"NaN"===e?NaN:"Infinity"===e?1/0:"-Infinity"===e?-1/0:parseFloat(e);if("int"===t||"integer"===t)return"NaN"===e?NaN:"Infinity"===e?1/0:"-Infinity"===e?-1/0:parseInt(e);if("string"===t)return e;if("any"===t)return e;if("date"===t)return new Date(e);if("function"===t){if("function"==typeof window[e])return window[e]}else if("array"===t||"object"===t)try{const t=JSON.parse(e);if(t)return t}catch(i){if(window[e]&&"object"==typeof window[e])return window[e];if("object"===t&&e.indexOf("{")>=0){let t=(e=e.replace(/{/gi,"").replace(/}/gi,"").replace("[","").replace("]","").replace(/'/gi,"").replace(/"/gi,"").trim()).trim().split(","),i={};for(let e=0;e<t.length;e++){const n=t[e].split(":")[0].trim(),r=t[e].split(":")[1].trim();i[n]=r}return i}if("array"===t&&e.indexOf("[")>=0){if(e.indexOf("{")>=0){let t=e.replace(/{/gi,"").replace("[","").replace("]","").replace(/'/gi,"").replace(/"/gi,"").trim();t=t.split("},");for(let e=0;e<t.length;e++){let i={},n=t[e].trim().split(",");for(let e=0;e<n.length;e++){const t=n[e].split(":")[0].trim(),r=n[e].split(":")[1].trim();i[t]=r}t[e]=i}return t}return e.replace("[","").replace("]","").replace(/'/gi,"").replace(/"/gi,"").trim().split(",")}}}}}class f{static get Ripple(){return a}static get Easings(){return s}}class y{static get Types(){return r}static get Core(){return o}static get Animation(){return f}static get Scroll(){return h}static get InputEvents(){return m}static Extend(e){return new g(e)}static Assign(e,t){if(e.indexOf(".")>=0){const i=e.split(".");return y[i[0]]||(y[i[0]]={}),void(y[i[0]][i[1]]=t)}y[e]=t}}const b=y.Extend(document);let v=null;document.addEventListener("click",(()=>{c.start(),v&&clearTimeout(v),v=setTimeout((()=>{c.stop()}),1e4)})),document.addEventListener("mouseenter",(()=>{c.start()})),document.addEventListener("mouseleave",(()=>{c.stop()}));class w{}w.cache={};class k extends HTMLElement{static get properties(){return{animation:{value:"advanced",type:"string",allowedValues:["none","simple","advanced"]},unfocusable:{value:!1,type:"boolean"},disabled:{value:!1,type:"boolean"},dataContext:{value:null,reflectToAttribute:!1,type:"any"},debugMode:{value:!0,type:"boolean",reflectToAttribute:!1},unlockKey:{value:"",type:"string",reflectToAttribute:!1},locale:{value:"en",type:"string",reflectToAttribute:!1},localizeFormatFunction:{value:null,type:"any",reflectToAttribute:!1},messages:{value:{en:{propertyUnknownName:"Invalid property name: '{{name}}'!",propertyUnknownType:"'{{name}}' property is with undefined 'type' member!",propertyInvalidValue:"Invalid '{{name}}' property value! Actual value: '{{actualValue}}', Expected value: '{{value}}'!",propertyInvalidValueType:"Invalid '{{name}}' property value type! Actual type: '{{actualType}}', Expected type: '{{type}}'!",methodInvalidValueType:"Invalid '{{name}}' method argument value type! Actual type: '{{actualType}}', Expected type: '{{type}}' for argument with index: '{{argumentIndex}}'!",methodInvalidArgumentsCount:"Invalid '{{name}}' method arguments count! Actual arguments count: '{{actualArgumentsCount}}', Expected at least: '{{argumentsCount}}' argument(s)!",methodInvalidReturnType:"Invalid '{{name}}' method return type! Actual type: '{{actualType}}', Expected type: '{{type}}'!",elementNotInDOM:"Element does not exist in DOM! Please, add the element to the DOM, before invoking a method.",moduleUndefined:"Module is undefined.",missingReference:"{{elementType}}: Missing reference to '{{files}}'.",htmlTemplateNotSuported:"{{elementType}}: Web Browser doesn't support HTMLTemplate elements.",invalidTemplate:"{{elementType}}: '{{property}}' property accepts a string that must match the id of an HTMLTemplate element from the DOM."}},reflectToAttribute:!1,inherit:!0,type:"object"},props:{value:null,reflectToAttribute:!1,isHierarchicalProperty:!0,type:"any"},readonly:{value:!1,type:"boolean"},renderMode:{value:"auto",type:"string",reflectToAttribute:!1,allowedValues:["auto","manual"]},rightToLeft:{value:!1,type:"boolean"},rethrowError:{value:!0,type:"boolean",reflectToAttribute:!1},theme:{value:window[i].Theme,type:"string"},visibility:{value:"visible",allowedValues:["visible","collapsed","hidden"],type:"string"},wait:{value:!1,type:"boolean"}}}getBindings(e,t){const i=this;let n=0,r={},a=(e=>{if(e instanceof HTMLElement)return i.parseAttributes(e);{let t=i.parseProperty(e.data?e.data.trim():null,"textContent",e);if(t)return i&&e.parentNode===i.$.content&&(t.value=""!==i.$.html?i.$.html:void 0,i.innerHTML=""),{textContent:t}}})(e);a&&(r.data=a),t||(r.mapping=[],t=r),e.getAttribute&&(r.nodeId=e.getAttribute("jqx-id"),t&&a&&(t.mapping[r.nodeId]=a)),r.node=e,e.firstChild&&(r.children={});for(let a=e.firstChild;a;a=a.nextSibling)r.children[n++]=i.getBindings(a,t);return r}_addRemovePropertyBinding(e,t,i,n,r){if(!e||!t||!i)return;const a=this,s=a.bindings,o=i.getAttribute("jqx-id"),l=e.indexOf("{{")>=0;let c=!1;(e=e.replace("{{","").replace("}}","").replace("[[","").replace("]]","")).indexOf("!")>=0&&(e=e.replace("!",""),c=!0);const d=a._properties[e],u={name:e,reflectToAttribute:d.reflectToAttribute,twoWay:l,type:d.type,not:c};if(r&&!n){const i={},n={name:e,targetPropertyName:t,reflectToAttribute:d.reflectToAttribute,twoWay:l,type:d.type,not:c};i[e]=n,s.mapping[o]=i}const p=function(e){for(let r in e){const s=e[r];if(s.nodeId===o){s.data||(s.data={}),n?(s.data[t]=null,delete s.data[t]):s.data[t]=u;break}if(s.children)p(s.children);else if(s.node&&s.node.children&&s.node===i.parentElement){const e=s.node;if(!e.firstChild)continue;s.children={};let t=0;for(let i=e.firstChild;i;i=i.nextSibling)s.children[t++]=a.getBindings(i);p(s.children)}}};p(s.children),n?delete a.boundProperties[e]:a.boundProperties[e]=!0,a.updateBoundNodes(e)}addPropertyBinding(e,t,i,n){this._addRemovePropertyBinding(e,t,i,!1,n)}removePropertyBinding(e,t,i,n){this._addRemovePropertyBinding(e,t,i,!0,n)}parseAttributes(e){const t=this;let i;for(let n=0;n<e.attributes.length;n++){const r=e.attributes[n],a=r.name,s=r.value;w.cache["toCamelCase"+a]||(w.cache["toCamelCase"+a]=y.Core.toCamelCase(a));const o=w.cache["toCamelCase"+a];if(a.indexOf("(")>=0){let n=a.substring(1,a.length-1);if(t&&!t.dataContext){t.templateListeners[e.getAttribute("jqx-id")+"."+n]=s,e.removeAttribute(a);continue}{i||(i={});const e=s.substring(0,s.indexOf("("));i[o]={isEvent:!0,name:n,value:e};continue}}let l=t.parseProperty(s,a,e);l&&(i||(i={}),i[o]=l)}return i}parseProperty(e,t){if(!e||!e.length)return;const i=this;let n,r=e.length,a=0,s=0,o=0,l=!0;for(;s<r;){a=e.indexOf("{{",s);let t=e.indexOf("[[",s),i="}}";if(t>=0&&(a<0||t<a)&&(a=t,l=!1,i="]]"),o=a<0?-1:e.indexOf(i,a+2),o<0)return;n=n||{};let r=e.slice(a+2,o).trim();n.name=r,s=o+2}const c=n.name,d=i?i._properties[c]:null;return n.twoWay=l,n.ready=!1,i&&(c.indexOf("::")>=0?i.boundProperties[c.substring(0,c.indexOf("::"))]=!0:i.boundProperties[c]=!0),d?(n.type=d.type,n.reflectToAttribute=d.reflectToAttribute):(["checked","selected","async","autofocus","autoplay","controls","defer","disabled","hidden","ismap","loop","multiple","open","readonly","required","scoped"].indexOf(t)>=0?n.type="boolean":n.type="string",n.reflectToAttribute=!0),n}updateTextNodes(){const e=this;e.updateTextNode(e.shadowRoot||e,e.bindings,e)}updateTextNode(e,t,i){const n=this;if(!t)return;let r=0;for(let a=e.firstChild;a&&t.children;a=a.nextSibling)n.updateTextNode(a,t.children[r++],i);if(t&&t.data)for(let e in t.data){const n=t.data[e],r=n.name;"textContent"===e&&n.twoWay&&!n.updating&&void 0!==n.value&&(i[r]=n.value)}}updateBoundProperty(e,t){if(t.updating)return;const i=this;t.updating=!0,i[e]=t.value,t.updating=!1}updateBoundNodes(e){const t=this;if(t.updateBoundNode(t.shadowRoot||t,t.bindings,t,e),t.detachedChildren.length>0)for(let i=0;i<t.detachedChildren.length;i++){const n=t.detachedChildren[i],r=n.getAttribute("jqx-id"),a=function(e){if(e.nodeId===r)return e;for(let t in e.children){const i=e.children[t];if((i.getAttribute?i.getAttribute("jqx-id"):"")===r)return e;if(i.children){const e=a(i);if(e)return e}}return null},s=a(t.bindings);if(s)t.updateBoundNode(n,s,t,e,!0);else if(n.getAttribute&&t.bindings.mapping){const i=t,n=t.bindings;if(n)for(let r in n.mapping){const a=i.querySelector('[jqx-id="'+r+'"]');if(a){const s=n.mapping[r];t.updateBoundData(a,s,i,e)}}}}}updateBoundMappedNodes(){const e=this,t=e.bindings,i=e;if(t.mapping)for(let n in t.mapping){let r=i.querySelector('[jqx-id="'+n+'"]');if(i.shadowRoot&&(r=i.querySelector('[id="'+n+'"]'),r||(r=i.shadowRoot.querySelector('[id="'+n+'"]')||i.shadowRoot.querySelector('[jqx-id="'+n+'"]'))),r){const a=t.mapping[n];e.updateBoundData(r,a,i)}else if(i.getAttribute("aria-controls")){let a=document.getElementById(i.getAttribute("aria-controls"));if(!a&&i.shadowRoot&&(a=i.shadowRoot.getElementById(i.getAttribute("aria-controls"))),r=a.querySelector('[jqx-id="'+n+'"]'),r){const a=t.mapping[n];e.updateBoundData(r,a,i)}}}}updateBoundNode(e,t,i,n,r){const a=this;if(!t)return;let s=0;if(r){if(r&&!t.data)for(let o=e.firstChild;o&&t.children;o=o.nextSibling)if(o.getAttribute){const e=o.getAttribute("jqx-id"),r=function(){for(let i in t.children)if(t.children[i].nodeId===e)return t.children[i]}();a.updateBoundNode(o,r,i,n),s++}else a.updateBoundNode(o,t.children[s++],i,n,r)}else for(let r=e.firstChild;r&&t.children;r=r.nextSibling)if(r.getAttribute){const e=r.getAttribute("jqx-id"),o=function(){for(let i in t.children)if(t.children[i].nodeId===e)return t.children[i]}();a.updateBoundNode(r,o,i,n),s++}else a.updateBoundNode(r,t.children[s++],i,n);if(!t||!t.data)return;const o=t.data;a.updateBoundData(e,o,i,n)}updateBoundData(e,t,i,n){const r=this;for(let a in t){const s=t[a];let o=s.name;if(!s.updating&&(o.indexOf("::")>=0&&(o=o.substring(0,o.indexOf("::"))),void 0===n||n===o)){if(o.indexOf("(")>=0){let e=o.substring(o.indexOf("("));const t=o.substring(0,o.indexOf("("));if(e=e.substring(1,e.length-1),e=e.replace(/ /gi,""),e=e.split(","),e.length>0&&""!==e[0]){let n=[];for(let t=0;t<e.length;t++)n.push(i[e[t]]);s.value=i[t].apply(i,n)}else s.value=i[t]();s.type=typeof s.value}else s.value=i[o];if("innerHTML"===o){if(e[a].toString().trim()!==i[o].toString().trim()){if(window.jqxBlazor&&e[a].indexOf("\x3c!--")>=0){(s.ready||i._properties[o].defaultValue!==s.value)&&(e[a]=s.value.toString());continue}(s.ready||i._properties[o].defaultValue!==s.value)&&(e[a]=s.value.toString().trim())}}else s.not?(e[a]=!s.value,s.targetPropertyName&&(e[s.targetPropertyName]=!s.value)):(e[a]=s.value,s.targetPropertyName&&(e[s.targetPropertyName]=s.value));if(e.$&&e.$.isNativeElement){w.cache["toDash"+a]||(w.cache["toDash"+a]=y.Core.toDash(a));const t=w.cache["toDash"+a],i=e.$.getAttributeValue(t,s.type);!s.reflectToAttribute||i===s.value&&s.ready||e.$.setAttributeValue(t,s.value,s.type),s.reflectToAttribute||e.$.setAttributeValue(t,null,s.type)}if(!s.ready){if(e.$&&e.$.isCustomElement){w.cache["toDash"+a]||(w.cache["toDash"+a]=y.Core.toDash(a));const t=w.cache["toDash"+a];e._properties||(e._beforeCreatedProperties=e._properties=e.propertyByAttributeName=[]),e._properties[a]||(e._properties[a]={attributeName:t},e._beforeCreatedProperties&&(e._beforeCreatedProperties[a]=e._properties[a]),e.propertyByAttributeName[t]=e._properties[a]);const i=e._properties[a];i.isUpdating=!0,s.reflectToAttribute&&(s.not?e.$.setAttributeValue(i.attributeName,!s.value,s.type):e.$.setAttributeValue(i.attributeName,s.value,s.type)),s.reflectToAttribute||e.$.setAttributeValue(i.attributeName,null,s.type),i.isUpdating=!1}if(s.twoWay){const t=function(t){if(s.value=t,e.$&&e.$.isNativeElement){w.cache["toDash"+a]||(w.cache["toDash"+a]=y.Core.toDash(a));const t=w.cache["toDash"+a],i=e.$.getAttributeValue(t,s.type);s.reflectToAttribute&&i!==s.value&&e.$.setAttributeValue(t,s.value,s.type),s.reflectToAttribute||e.$.setAttributeValue(t,null,s.type)}};if(s.name.indexOf("::")>=0){const i=s.name.indexOf("::"),n=s.name.substring(i+2);r["$"+e.getAttribute("jqx-id")].listen(n,(function(){t(e[a]);const i=s.name.substring(0,s.name.indexOf("::"));r.updateBoundProperty(i,s)}))}if(e.$&&e.$.isCustomElement){e._properties[a]&&(e._properties[a].notify=!0),w.cache["toDash"+a]||(w.cache["toDash"+a]=y.Core.toDash(a));const i=w.cache["toDash"+a];r["$"+e.getAttribute("jqx-id")].listen(i+"-changed",(function(e){let i=e.detail;t(i.value);const n=r.context;e.context!==document&&(r.context=r),r.updateBoundProperty(s.name,s),r.context=n}))}}}s.ready=!0}}}static clearCache(){this.cache={}}addMessages(e,t){Object.assign(this.messages[e],t)}localize(e,t){const i=this;if(!i.messages||!i.messages[i.locale])return;let n=i.messages[i.locale][e];if(""===n)return"";if(!n){const n=i.messages.en;if(n){let i=n[e];if(i){for(let e in t){let n=t[e];i=i.replace(new RegExp("{{"+e+"}}","g"),n)}return i}return e}}const r=n;for(let e in t){let i=t[e];n=n.replace(new RegExp("{{"+e+"}}","g"),i)}if(i.localizeFormatFunction){const a=i.localizeFormatFunction(r,n,t,e);if(void 0!==a)return a}return n}static get requires(){return{}}static get listeners(){return{"theme-changed":function(e){this.theme=e.detail.newValue}}}static get methods(){return{}}get classNamesMap(){return{animation:"jqx-animate",rippleAnimation:"jqx-ripple"}}get hasAnimation(){return"none"!==this.animation}get hasRippleAnimation(){return"none"!==this.animation&&"advanced"===this.animation}static get modules(){return window[i].Modules}get properties(){const e=this;return e._properties||(e._properties=[]),e._properties}get parents(){const e=this;let t=[],n=e.parentNode;for(;n&&9!==n.nodeType;)n instanceof HTMLElement==1&&t.push(n),n=n.parentNode;const r=e.getRootNode();if(r.host){const e=e=>{let t=[e],i=e.parentNode;for(;i&&9!==i.nodeType;)i instanceof HTMLElement==1&&t.push(i),i=i.parentNode;return t};t=t.concat(e(r.host))}return window[i].EnableShadowDOM&&e.isInShadowDOM&&e.shadowParent&&(t=t.concat(e.shadowParent.parents)),t}log(e){this._logger("log",e)}warn(e){this._logger("warn",e)}error(e){this._logger("error",e)}_logger(e,t){if(this.debugMode){const i=t instanceof Error?t.message:t.toString();console[e](i)}if(this.rethrowError&&"error"===e)throw t}get focused(){return this.contains(document.activeElement)}template(){return"<div></div>"}registered(){const e=this;e.onRegistered&&e.onRegistered()}created(){const e=this;e.isReady=!1,e._initElement(e),e._setModuleState("created"),e.onCreated&&e.onCreated()}completed(){const e=this;e.isCompleted=!0,e._onCompleted&&e._onCompleted(),e.onCompleted&&e.onCompleted()}whenReady(e){const t=this;t.isCompleted?e():(t.whenReadyCallbacks||(t.whenReadyCallbacks=[]),t.whenReadyCallbacks.push(e))}whenRendered(e){const t=this;t.isRendered?e():(t.whenRenderedCallbacks||(t.whenRenderedCallbacks=[]),t.whenRenderedCallbacks.push(e))}addThemeClass(){const e=this;""!==e.theme&&e.classList.add("jqx-"+e.theme)}addDefaultClass(){const e=this;e.classList.add(i.toLowerCase()+"-element"),e.classList.add(e.nodeName.toLowerCase())}_renderShadowRoot(){const e=this;if(e.shadowRoot){e.$.root.classList.add(e.nodeName.toLowerCase());for(let t=0;t<e.attributes.length;t++){const i=e.attributes[t];"class"===i.name||"id"===i.name||"style"===i.name||"tabindex"===i.name||i.name.indexOf("aria")>=0||e.$.root.setAttribute(i.name,i.value)}for(let t=0;t<e.classList.length;t++){const i=e.classList[t];"jqx-element-init"!==i&&"jqx-element"!==i&&"jqx-hidden"!==i&&"jqx-visibility-hidden"!==i&&e.$.root.classList.add(i)}}}render(){const e=this;if(!e.isRendered&&(e.isRendered=!0,e.isRendering=!1,e.context=document,e._renderShadowRoot(),e.whenRenderedCallbacks)){for(let t=0;t<e.whenRenderedCallbacks.length;t++)e.whenRenderedCallbacks[t]();e.whenRenderedCallbacks=[]}e.onRender&&e.onRender(),e.disabled&&e.setAttribute("aria-disabled",!0),e.readonly&&-1!==["checkbox","combobox","grid","gridcell","listbox","radiogroup","slider","spinbutton","textbox"].indexOf(e.getAttribute("role"))&&e.setAttribute("aria-readonly",!0)}ready(){const e=this;if(e._setId(),e.addThemeClass(),e.addDefaultClass(),"collapsed"===e.visibility?e.classList.add("jqx-hidden"):"hidden"===e.visibility&&e.classList.add("jqx-visibility-hidden"),e.dataContext&&e.applyDataContext(),e.onReady&&e.onReady(),e.shadowRoot&&JQX(e._selector)){if(JQX(e._selector).styleUrls){const t=JQX(e._selector).styleUrls;for(let i=0;i<t.length;i++)e.importStyle(t[i])}if(JQX(e._selector).styles){const t=document.createElement("style");t.innerHTML=JQX(e._selector).styles,e.shadowRoot.insertBefore(t,e.shadowRoot.firstChild)}}JQX(e._selector)&&JQX(e._selector).ready&&JQX(e._selector).ready()}_setId(){const e=this;if(!e.id){const t=e.elementName;e.id=t.slice(0,1).toLowerCase()+t.slice(1)+Math.floor(65536*(1+Math.random())).toString(16).substring(1)}}checkLicense(){const e=this;if(-1===window.location.hostname.indexOf("htmlelements")&&"0A2C72B9-D78F-5E17-8D07-0CBC0E1EDC29"!==window[i].License){if("0A2C72B9-D78F-5E17-8D07-0CBC0E1EDC29"===e.unlockKey)return;if(document.body.hasAttribute("jqx-license")&&"0A2C72B9-D78F-5E17-8D07-0CBC0E1EDC29"===document.body.getAttribute("jqx-license"))return void(window[i].License="0A2C72B9-D78F-5E17-8D07-0CBC0E1EDC29");e.logWatermark(),e.logLicense(),window[i].License="0A2C72B9-D78F-5E17-8D07-0CBC0E1EDC29"}}logWatermark(){const e=document.createElement("a");e.href="https://www.htmlelements.com/",e.innerHTML="https://www.htmlelements.com/",e.style.position="absolute",e.style.right="5px",e.style.bottom="5px",e.style.color="#fff",e.style.padding="20px",e.style.borderRadius="5px",e.style.background="#0C3D78",e.style.cursor="pointer",e.style.zIndex="999999",e.style.display="block",e.style.fontSize="24px",e.style.textDecoration="none",e.style.fontWeight="bold",e.style.opacity=0,e.style.transition="opacity .35s ease-in-out",e.id="watermark",document.getElementById("watermark")||setTimeout((()=>{document.getElementById("watermark")||(document.body.appendChild(e),setTimeout((()=>{e.style.opacity=1})),setTimeout((()=>{e.style.opacity=0,setTimeout((()=>{e.parentNode.removeChild(e)}),350)}),6e3))}),1e3)}logLicense(){console.log("****************************************************************************************************************"),console.log("****************************************************************************************************************"),console.log("****************************************************************************************************************"),console.log("*jQWidgets License Key Not Found."),console.log("*This is an EVALUATION only Version, it is NOT Licensed for software projects intended for PRODUCTION."),console.log("*if you want to hide this message, please send an email to: sales@jqwidgets.com for a license."),console.log("****************************************************************************************************************"),console.log("****************************************************************************************************************"),console.log("****************************************************************************************************************")}get _selector(){const e=this;return e.id?"#"+e.id:e.classList.length>0?"."+e.classList[0]:""}applyDataContext(e){const t=this;let i="string"==typeof t.dataContext?window[t.dataContext]||document[t.dataContext]:t.dataContext;if(e&&(i=e,t.dataContext=e),i){if(!i._uid){i._uid=(Date.now().toString(36)+Math.random().toString(36).substr(2,5)).toUpperCase(),i._properties=[];for(let e in i){const n=i[e];"function"!=typeof n&&"_properties"!==e&&"_uid"!==e&&(i._properties[e]=n,Object.defineProperty(i,e,{configurable:!1,enumerable:!0,get:()=>i._properties[e],set(n){const r=i._properties[e];i._properties[e]=n;let a=[];a[e]={oldValue:r,value:n},a.length++,t.updatingDataContext=!0,b.fireEvent("dataContextPropertyChanged",{dataContext:i,properties:a},{bubbles:!1,cancelable:!0}),t.updatingDataContext=!1}}))}}if(t.dataContextProperties=t.parseAttributes(t),t.dataContextPropertiesMap={},t.dataContextListeners={},t.dataContextProperties){t.updatingDataContext=!0;for(let e in t.dataContextProperties){const n=t.dataContextProperties[e],r=n.name;if(n.propertyName=e,t.dataContextPropertiesMap[r]=e,w.cache["toDash"+e]||(w.cache["toDash"+e]=y.Core.toDash(r)),n.isEvent){const e=n.value;t.dataContextListeners[r]&&t.removeEventListener(r,t.dataContextListeners[r]),t.dataContextListeners[r]=function(t){i[e](t)},t.addEventListener(r,t.dataContextListeners[r])}if(r.indexOf(".")>=0){const n=r.split(".");let a=i[n[0]];for(let e=1;e<n.length;e++)a=a[n[e]];void 0!==a&&(t[e]=a)}else t[e]=i[r]}t.dataContextPropertyChangedHandler=function(e){const i=e.detail.properties;if(e.detail.dataContext===("string"==typeof t.dataContext?window[t.dataContext]||document[t.dataContext]:t.dataContext))for(let e in i){const n=t.dataContextPropertiesMap[e],r=t.context;n&&(t.context=document,t[n]=i[e].value,t.context=r)}},b.listen("dataContextPropertyChanged",t.dataContextPropertyChangedHandler),t.updatingDataContext=!1}else t.dataContextProperties=null}else{t.dataContextProperties=null;const e=function(){("string"==typeof t.dataContext?window[t.dataContext]||document[t.dataContext]:t.dataContext)&&(t.applyDataContext(),window.removeEventListener("load",e))};window.addEventListener("load",e)}}updateDataContextProperty(e){const t=this,i="string"==typeof t.dataContext?window[t.dataContext]||document[t.dataContext]:t.dataContext,n=t.dataContextProperties[e];if(!t.updatingDataContext&&n.twoWay){const r=n.name;if(r.indexOf(".")>=0){const n=r.split(".");let a=i[n[0]];for(let e=1;e<n.length;e++)a=a[n[e]];void 0!==a&&(a=t[e],d[i._uid]&&(d[i._uid][e]=a))}else i[r]=t[e],d[i._uid]&&(d[i._uid][e]=i[r])}}static get version(){return window[i].Version}initProperties(){const e=this;if(JQX(e._selector)&&JQX(e._selector).properties&&(e._initProperties=JQX(e._selector).properties),e.hasAttribute("props")&&!e.props?e._initProperties=window[e.getAttribute("props")]:e.props&&(e._initProperties=e.props),e._initProperties){const t=Object.keys(e._initProperties);for(let i=0;i<t.length;i++){const n=t[i],r=e._initProperties[n];if(null!=r){if(r.constructor===JQX.ObservableArray||r instanceof JQX.ObservableArray){e[n]=r.toArray();continue}if(r.constructor===JQX.DataAdapter||"jqxDataAdapter"===r.constructor.name||"object"==typeof r&&JQX.DataAdapter&&r instanceof JQX.DataAdapter||r instanceof JQX.Observable||r.constructor===JQX.Observable||"object"!=typeof r||y.Types.isArray(r)||r instanceof Date){if(void 0===e[n]&&-1===["onReady","onAttached","onDetached","onCreated","onCompleted"].indexOf(n)){const t=e.localize("propertyUnknownName",{name:n});e.log(t)}e[n]=r;continue}}if("messages"!==n)if("dataSourceMap"!==n&&"rowCSSRules"!==n)if("keys"!==n){if(r&&"object"==typeof r){const t=function(i,n){const r=Object.keys(i);for(let a=0;a<r.length;a++){const s=r[a],o=i[s],l=e._properties[n+"_"+s];if(l&&null===l.value){if(void 0===e[n+"_"+s]){const t=e.localize("propertyUnknownName",{name:n+"_"+s});e.log(t)}e[n+"_"+s]=o}else if("object"==typeof o&&!y.Types.isArray(o)&&o&&o.constructor!==Date)t(o,n+"_"+s);else{if(void 0===e[n+"_"+s]){const t=e.localize("propertyUnknownName",{name:n+"_"+s});e.log(t)}e[n+"_"+s]=o}}};t(r,n)}}else e[n]=r;else e[n]=r;else e[n]=Object.assign(e[n],r)}}}setProperties(e){const t=this,i=Object.keys(e);for(let n=0;n<i.length;n++){const r=i[n],a=e[r];if(a.constructor===JQX.ObservableArray||a instanceof JQX.ObservableArray)t[r]=a.toArray();else if(a.constructor===JQX.DataAdapter||"jqxDataAdapter"===a.constructor.name||"object"==typeof a&&JQX.DataAdapter&&a instanceof JQX.DataAdapter||a instanceof JQX.Observable||a.constructor===JQX.Observable||"object"!=typeof a||y.Types.isArray(a)||a instanceof Date){if(void 0===t[r]&&-1===["onReady","onAttached","onDetached","onCreated","onCompleted"].indexOf(r))continue;const e=t._properties[r];"int"===e.type||"number"===e.type&&"string"==typeof subPropertyValue?"int"===e.type?t[r]=parseInt(a):t[r]=parseFloat(a):t[r]=a}else if("messages"!==r&&"dataSourceMap"!==r){if("object"==typeof a){const e=function(i,n){const r=Object.keys(i);for(let a=0;a<r.length;a++){const s=r[a],o=i[s],l=t._properties[n+"_"+s];if(l&&null===l.value){if(void 0===t[n+"_"+s])continue;const e=t._properties[n+"_"+s];"int"===e.type||"number"===e.type&&"string"==typeof o?"int"===e.type?t[n+"_"+s]=parseInt(o):t[n+"_"+s]=parseFloat(o):t[n+"_"+s]=o}else if("object"==typeof o&&!y.Types.isArray(o)&&o&&o.constructor!==Date)e(o,n+"_"+s);else{if(void 0===t[n+"_"+s])continue;const e=t._properties[n+"_"+s];"int"===e.type||"number"===e.type&&"string"==typeof o?"int"===e.type?t[n+"_"+s]=parseInt(o):t[n+"_"+s]=parseFloat(o):t[n+"_"+s]=o}}};e(a,r)}}else t[r]=a}}setup(){const e=this;if(e.context=this,e.isReady&&!e.isCompleted)return;if(e.isReady)return e._setModuleState("attached"),e.isAttached=!0,e.attached(),e._handleListeners("listen"),void(e.context=document);e.ownerElement&&e.ownerElement.detachedChildren.indexOf(e)>=0&&e.ownerElement.detachedChildren.splice(e.ownerElement.detachedChildren.indexOf(e),1),e.isReady=!0,e.methods=e.getStaticMember("methods"),e.initProperties(),o.isMobile&&e.classList.add("jqx-mobile");for(let t=0;t<e.attributes.length;t+=1){const i=e.propertyByAttributeName[e.attributes[t].name];if(!i)continue;let n=e.$.getAttributeValue(i.attributeName,i.type);const r=n?n.toString():"";if(!(r.indexOf("{{")>=0||r.indexOf("[[")>=0||"object"!==i.type&&"array"!==i.type&&(e.attributes[t].value.indexOf("{{")>=0||e.attributes[t].value.indexOf("[[")>=0)||void 0===n||i.value===n)){const r=y.Types.getType(n),a=e.attributes[t].value;if(("any"===i.type||"object"===i.type)&&""+e[i.name]===n)continue;if("array"===i.type&&e[i.name]&&JSON.stringify(e[i.name])===n)continue;if("number"===r&&isNaN(n)&&"NaN"!==a&&"Infinity"!==a&&"-Infinity"!==a){const t=e.localize("propertyInvalidValueType",{name:i.name,actualType:"string",type:i.type});e.log(t)}i.isUpdatingFromAttribute=!0,e[i.name]=n,i.isUpdatingFromAttribute=!1}}for(let t in e._properties){const i=e._properties[t];if("innerHTML"===t&&i.value===i.defaultValue&&(i.value=i.defaultValue=y.Core.html(e)),"boolean"!==i.type&&"bool"!==i.type||"false"===e.getAttribute(i.attributeName)&&(i.isUpdating=!0,e.setAttribute(i.attributeName,""),i.isUpdating=!1),i.defaultReflectToAttribute&&i.reflectToAttribute){if(i.defaultReflectToAttribute&&i.defaultReflectToAttributeConditions){let t=!0;for(let n=0;n<i.defaultReflectToAttributeConditions.length;n++){const r=i.defaultReflectToAttributeConditions[n];let a,s;for(let e in r)a=e,s=r[e];e._properties[a]&&e._properties[a].value!==s&&(t=!1)}if(!t)continue}i.isUpdating=!0,e.$.setAttributeValue(i.attributeName,i.value,i.type),i.isUpdating=!1}}const t=[];if(e.children.length>0)for(let i=0;i<e.children.length;i++){const n=e.children[i];y.Extend(n).isCustomElement&&t.push(n)}e.applyTemplate(),e.complete=function(){if(!e.templateBindingsReady){const t=e=>{e.templateBindingsReady||(e.templateBindingsReady=!0,e.updateTextNodes(),e.updateBoundNodes())};if(e.ownerElement){let i=e.ownerElement,n=[];for(;i;)n.push(i),i=i.ownerElement;for(let e=n.length-1;e>=0;e--)t(n[e]);t(e)}else t(e)}const t=()=>{if(e._setModuleState("ready"),e.ready(),"auto"!==e.renderMode||e.isRendered||e.render(),e.isAttached=!0,e._setModuleState("attached"),e.attached(),e._handleListeners("listen"),e.isHidden||0!==e.offsetWidth&&0!==e.offsetHeight||(e.isHidden=!0),e.completed(),e.isRendered&&(e.context=document),e.whenReadyCallbacks){for(let t=0;t<e.whenReadyCallbacks.length;t++)e.whenReadyCallbacks[t]();e.whenReadyCallbacks=[]}};if(e.wait)e.classList.add("jqx-visibility-hidden");else if(e.classList.contains("jqx-async"))requestAnimationFrame((()=>{t()}));else{const i=e.shadowParent;e.shadowParent=null;const n=e.parents;if(e.shadowParent=i,0===n.length)return;const r=()=>{let t=e.ownerElement,i=[];for(;t;)i.push(t),t=t.ownerElement;for(let e=i.length-1;e>=0;e--)i[e].updateBoundMappedNodes()};e.ownerElement&&"HTML"!==n[n.length-1].nodeName?e.getRootNode().host?t():e.ownerElement&&"HTML"===e.ownerElement.parents[e.ownerElement.parents.length-1].nodeName?(r(),t()):e.checkIsInDomInterval=setInterval((()=>{const i=e.parents;"HTML"===i[i.length-1].nodeName&&(clearInterval(e.checkIsInDomInterval),r(),t())}),100):t()}};let n=[].slice.call(e.querySelectorAll("[jqx-id]")).concat(t);if(window[i].EnableShadowDOM&&!0!==e.isInShadowDOM&&(n=[].slice.call(e.shadowRoot.querySelectorAll("[jqx-id]")).concat(t)),0===n.length)e.complete();else{e._completeListeners=0;for(let t=0;t<n.length;t++){const i=n[t];if(y.Extend(i).isCustomElement){const t=function(){e._completeListeners--,0===e._completeListeners&&(e.complete(),delete e._completeListeners)}.bind(e);i.isCompleted||i.isUtilityElement||!0===i.wait||(e._completeListeners++,i._onCompleted||(i.completeHandlers=[],i._onCompleted=function(){for(let e=0;e<i.completeHandlers.length;e++)i.completeHandlers[e]()}),i.completeHandlers.push(t))}}0===e._completeListeners&&e.complete()}}visibilityChangedHandler(){const e=this;e.isReady&&requestAnimationFrame((()=>{0===e.offsetWidth||0===e.offsetHeight?e.isHidden=!0:(e.isHidden=!1,e.$.fireEvent("resize",e,{bubbles:!1,cancelable:!0}))}))}attributeChangedCallback(e,t,i){const n=this,r=n.propertyByAttributeName[e];if("class"!==e&&"style"!==e||n.visibilityChangedHandler(),r||n.attributeChanged(e,t,i),n.onAttributeChanged&&n.onAttributeChanged(e,t,i),!r||r&&r.isUpdating)return;let a=n.$.getAttributeValue(r.attributeName,r.type);void 0!==i&&n[r.name]!==a&&(r.isUpdatingFromAttribute=!0,n[r.name]=void 0!==a?a:n._properties[r.name].defaultValue,r.isUpdatingFromAttribute=!1)}attributeChanged(e,t,i){}set hasStyleObserver(e){const t=this;void 0===t._hasStyleObserver&&(t._hasStyleObserver=e),e?c.watch(t):c.unwatch(t)}get hasStyleObserver(){const e=this;return void 0===e._hasStyleObserver||e._hasStyleObserver}attached(){const e=this;e.hasStyleObserver&&c.watch(e),e.onAttached&&e.onAttached(),JQX(e._selector)&&JQX(e._selector).attached&&JQX(e._selector).attached()}detached(){const e=this;e.hasStyleObserver&&c.unwatch(e),e._setModuleState("detached"),e.isAttached=!1,e.ownerElement&&-1===e.ownerElement.detachedChildren.indexOf(e)&&e.ownerElement.detachedChildren.push(e),e._handleListeners("unlisten"),e.onDetached&&e.onDetached(),JQX(e._selector)&&JQX(e._selector).detached&&JQX(e._selector).detached(),u&&u[e._selector]&&delete u[e._selector]}propertyChangedHandler(e,t,i){const n=this;t!==i&&("theme"===e&&(""!==t&&n.classList.remove("jqx-"+t),""!==i&&n.classList.add("jqx-"+i)),"visibility"===e?("collapsed"===t?n.classList.remove("jqx-hidden"):"hidden"===t&&n.classList.remove("jqx-visibility-hidden"),"collapsed"===i?n.classList.add("jqx-hidden"):"hidden"===i&&n.classList.add("jqx-visibility-hidden")):("disabled"===e||"readonly"===e)&&n._ariaPropertyChangedHandler(e,i),n.propertyChanged&&n.propertyChanged(e,t,i))}_ariaPropertyChangedHandler(e,t){const i=this;"readonly"===e&&-1===["checkbox","combobox","grid","gridcell","listbox","radiogroup","slider","spinbutton","textbox"].indexOf(i.getAttribute("role"))||(t?i.setAttribute("aria-"+e,!0):i.removeAttribute("aria-"+e))}_handleListeners(e){const t=this,i=t.tagName.toLowerCase(),n=n=>{for(let r in n){const a=r.split(".");let s=a[0],o=t.$;if(a[1])if(s=a[1],o=t["$"+a[0]],"document"===a[0]){let e=t.jqxId;""===e&&(e=y.Core.toCamelCase(i)),s=s+"."+e}else t.jqxId&&(s=s+"."+t.jqxId+"_"+t.parents.length);else t.jqxId&&(s=s+"."+t.jqxId);const l=n[r],c=function(e){const i=t.context;t.context=t,t[l]&&t[l].apply(t,[e]),t.context=i};o&&o[e](s,c)}};n(t.getStaticMember("listeners")),n(t.templateListeners),JQX(t._selector)&&JQX(t._selector).properties&&n(JQX(t._selector).listeners)}parseTemplate(){const e=this,i=e.template(),r=document.createDocumentFragment();if(t[e.nodeName]&&!n)return t[e.nodeName].cloneNode(!0);if(""===i)return null;let a=document.createElement("div");r.appendChild(a),a.innerHTML=i;let s=a.childNodes;a.parentNode.removeChild(a);for(let e=0;e<s.length;e++)r.appendChild(s[e]);return t[e.nodeName]=r,n?r:r.cloneNode(!0)}applyTemplate(){const e=this,t=e.parseTemplate();if(!t)return;if(!t.hasChildNodes)return;const i=t.childNodes[0],n=(t,i)=>{e["$"+t]=i.$=y.Extend(i),e.$[t]=i,i.ownerElement=e};let r=i;if(i.getElementsByTagName("content").length>0){let e=i.getElementsByTagName("content")[0];r=e.parentNode,r.removeChild(e)}else{const e=t.querySelectorAll("[inner-h-t-m-l]");e&&e.length>0&&(r=e[0])}e.$.template="template"===i.nodeName.toLowerCase()?i:i.querySelector("template");let a=t.querySelectorAll("[id]");0===a.length&&(a=t.querySelectorAll("*")),n("root",i),n("content",r),e.$.html=e.innerHTML.toString().trim();for(let t=0;t<a.length;t+=1){let i=a[t];""===i.id&&(i.id="child"+t),n(i.id,i),i.setAttribute("jqx-id",i.id),e.shadowRoot?i.shadowParent=e:i.removeAttribute("id")}for(!1!==e.hasTemplateBindings?e.bindings=e.getBindings(t):e.bindings=[],e.$root.addClass("jqx-container");e.childNodes.length;)r.appendChild(e.firstChild);if(e.appendTemplate(t),e.$.template){const t=document.createElement("div");t.classList.add("jqx-template-container"),e.$.templateContainer=t,e.$.template.parentNode.insertBefore(t,e.$.template),e.refreshTemplate()}}refreshTemplate(){const e=this;if(!e.$.templateContainer)return;e.templateDetached(e.$.templateContainer);const t=e.$.template.content.cloneNode(!0);e.templateBindings=e.getBindings(t),e.templateProperties=[];let i=document.createDocumentFragment();const n=function(t,i,r){for(let a in t){const s=t[a],o=s.node.cloneNode();i.appendChild(o);let l=[],c=!1;if(s.data)for(let t in s.data){const n=s.data[t],a=n.name;if(e.templateProperties[a]=!0,o.removeAttribute(y.Core.toDash(t)),"*items"===t)l=e[a],c=!0;else if(a.indexOf("item.")>=0&&void 0!==r)n.value=r[a.substring("item.".length)],o[t]=n.value;else if(a.indexOf("item")>=0&&void 0!==r)n.value=r,o[t]=n.value;else if("*if"===t)if(a.indexOf("(")>=0){let t,n=a.substring(a.indexOf("("));const r=a.substring(0,a.indexOf("("));if(n=n.substring(1,n.length-1),n=n.replace(/ /gi,""),n=n.split(","),n.length>0&&""!==n[0]){let i=[];for(let t=0;t<n.length;t++)i.push(e[n[t]]);t=e[r].apply(e,i)}else t=e[r]();!1===t&&i.removeChild(o)}else e[a]||i.removeChild(o);else e.updateBoundNode(o,s,e,a)}if(l.length>0||c){for(let e=0;e<l.length;e++)s.children&&n(s.children,o,l[e]);if("number"==typeof l)for(let e=0;e<l;e++)s.children&&n(s.children,o,e)}else s.children&&n(s.children,o,r)}};n(e.templateBindings.children,i),e.$.templateContainer.innerHTML="",e.$.templateContainer.appendChild(i),e.templateAttached(e.$.templateContainer)}templateAttached(){}templateDetached(){}appendTemplate(e){this.appendChild(e)}defineElementModules(){const e=this,t=e.constructor.prototype;if("BaseElement"===t.elementName){t.modules=e.constructor.modules;const i=t.modules;for(let t=0;t<i.length;t+=1)e.addModule(i[t])}else{const i=t.modules;if(!i)return;for(let t=0;t<i.length;t+=1){const n=i[t],r=n.prototype;e.defineElementMethods(r.methodNames,r),e.defineElementProperties(n.properties)}}}watch(e,t){const i=this;i._watch=null!==e&&null!==t?{properties:e,propertyChangedCallback:t}:null}unwatch(){this._watch=null}set(e,t,i){const n=this,r=n.context;n.context=!0===i?document:n,n[e]=t,n.context=r}get(e){return this[e]}_setModuleState(e,t){const i=this,n="is"+e.substring(0,1).toUpperCase()+e.substring(1),r="on"+e.substring(0,1).toUpperCase()+e.substring(1);for(let a=0;a<i.modulesList.length;a++){const s=i.modulesList[a];s[n]=!0,s[e]&&s[e](t),s[r]&&s[r](t)}}addModule(e,t){const i=this;if(!e)return;const n=i.modules.slice(0),r=e.prototype,a=Object.getPrototypeOf(e);if(a.name&&a.name!==e.name&&i.addModule(a),!e.moduleName&&e.name&&(e.moduleName=e.name),-1===n.findIndex((t=>e.moduleName===t.moduleName))&&n.push(e),i.defineModule(e),i.defineElementMethods(r.methodNames,r),i.defineElementProperties(e.properties),i.constructor.prototype.modules=n,t)for(let t in JQX.Elements.tagNames){const n=JQX.Elements.tagNames[t];let r=Object.getPrototypeOf(n),a=[];for(;r!==HTMLElement;)a.push(r.prototype),r=Object.getPrototypeOf(r);a.indexOf(i)>=0&&n!==i&&n.prototype.addModule(e)}}defineModule(e){if(e.isDefined)return;e.prototype._initModule=function(e){this.ownerElement=e};const t=e.properties||{},i=Object.keys(t),n=Object.getOwnPropertyNames(e.prototype);e.prototype.methodNames=n;for(let n=0;n<i.length;n+=1){const r=i[n],a=t[r];Object.defineProperty(e.prototype,r,{configurable:!1,enumerable:!0,get(){return this.ownerElement?this.ownerElement[r]:a.value},set(e){this.ownerElement[r]=e}})}e.isDefined=!0}getStaticMember(e,t){const n=window[i][this.elementName],r=n[e];t||(t="");let a="array"===t?[]:"string"===t?"":{},s=Object.getPrototypeOf(n),o=[];for(;s[e];)o.push(s[e]),s=Object.getPrototypeOf(s);for(let e=o.length-1;e>=0;e--)if("array"===t)for(let t=0;t<o[e].length;t++)-1===a.indexOf(o[e][t])&&a.push(o[e][t]);else"string"===t?-1===a.indexOf(o[e])&&(a+=o[e]):a=y.Core.assign(a,o[e]);if("array"===t){for(let e=0;e<r.length;e++)-1===a.indexOf(r[e])&&a.push(r[e]);return a}return"string"===t?(-1===a.indexOf(r)&&(a+=r),a):y.Core.assign(a,r)}defineElementHierarchicalProperties(e,t){const i=this,n=[];!function(e){const i=Object.keys(e);for(let r=0;r<i.length;r++){const a=i[r];if("messages"===a)continue;if("keys"===a)continue;const s=e[a],o=Object.keys(s),l=o.indexOf("value")>=0&&o.indexOf("type")>=0&&"object"==typeof s.value;if("propertyObject"===s.type||l){const e=function(i,r){if(!i.value)return;const a=Object.keys(i.value);for(let s=0;s<a.length;s++){const o=a[s],l=i.value[o],c=r+"_"+o;if("object"!=typeof l||null===l)break;const d=Object.keys(l);if(!(d.indexOf("value")>=0&&d.indexOf("type")>=0))break;if("array"!==i.type&&(i.isHierarchicalProperty=!0),l.parentPropertyName=r,t){const e=t._properties[c];if(i.value.hasOwnProperty(o)){if(e.isDefined)continue;delete i.value[o]}e.isDefined=!0,Object.defineProperty(i.value,o,{configurable:!1,enumerable:!0,get:()=>t._properties[c].value,set(e){t.updateProperty(t,t._properties[c],e)}})}n[c]||(n[c]=l,n.length++),("propertyObject"===l.type||"object"==typeof l.value&&"array"!==l.type)&&e(t?t._properties[c]:l,c)}};e(s,a)}}}(e),n.length>0&&!t&&i.defineElementProperties(n)}defineElement(){const e=this,t=e.constructor.prototype,n=e.getStaticMember("properties"),r=Object.getOwnPropertyNames(t);t.extendedProperties={},t.boundProperties={},t.templateListeners={},e.defineElementModules(),e.defineElementMethods(r,t),e.defineElementProperties(n),e.defineElementHierarchicalProperties(e.extendedProperties),t._initElement=function(){const e=this,n=t.extendedProperties,r=Object.keys(n),a=e.modules;e.$=y.Extend(e),e.$document=b,e.jqxId=(Date.now().toString(36)+Math.random().toString(36).substr(2,5)).toUpperCase(),e.isCreated||(e.modulesList=[],e._properties=[],e._beforeCreatedProperties&&(e._properties=e._beforeCreatedProperties,delete e._beforeCreatedProperties),e.detachedChildren=[],e.propertyByAttributeName=[]);for(let t=0;t<a.length;t+=1){let i=new(0,a[t]);i._initModule(e),e.modulesList.push(i)}const s=[];for(let t=0;t<r.length;t+=1){const i=r[t],a=n[i];let o=a.value;if(e._properties[i]){if(void 0!==e._properties[i].notify)continue;delete e._properties[i]}if(S&&"innerHTML"===i&&delete e[i],-1===window.navigator.userAgent.indexOf("PhantomJS")&&e.hasOwnProperty(i))if(a.isHierarchicalProperty&&e[i]){const t=e[i];s.push({name:i,value:t}),o=a.value,delete e[i]}else o=e[i],delete e[i];if("array"===a.type&&null!=o&&(o=o.slice(0)),"object"===a.type&&null!=o&&(o=Array.isArray(o)?o.slice(0):Object.assign({},o)),e._properties[i]={name:i,notify:a.notify,allowedValues:a.allowedValues,type:a.type,nullable:a.nullable,reflectToAttribute:a.reflectToAttribute,defaultReflectToAttribute:a.defaultReflectToAttribute,defaultReflectToAttributeConditions:a.defaultReflectToAttributeConditions,value:o,readOnly:a.readOnly,defaultValue:o,attributeName:a.attributeName,observer:a.observer,inherit:a.inherit,extend:a.extend,validator:a.validator},e.propertyByAttributeName[a.attributeName]=e._properties[i],!a.hasOwnProperty("type")){const t=e.localize("propertyUnknownType",{name:i});e.log(t)}if("any"===a.type||"propertyObject"===a.type)continue;const l=y.Types.getType(o);if(null!=o&&a.type!==l&&!a.validator){if("object"===a.type&&"array"===l)continue;if("number"===l&&["integer","int","float"].findIndex((e=>e===a.type))>=0)continue;const t=e.localize("propertyInvalidValueType",{name:i,actualType:l,type:a.type});e.log(t)}}if(e.defineElementHierarchicalProperties(e._properties,e),s.length&&"manual"!==window[i].RenderMode)for(let t=0;t<s.length;t++){const i=s[t];e[i.name]=i.value}e.isCreated=!0},t.registered()}defineElementMethods(e,t){const i=this.constructor.prototype,n=function(e,t){const i=Array.prototype.slice.call(arguments,2),n=function(){if(!this.isReady&&"localize"!==t&&"localize"!==t&&"cloneNode"!==t&&"importStyle"!==t&&"log"!==t&&"parseAttributes"!==t){const e=this.localize("elementNotInDOM");this.log(e)}let n=this;for(let e=0;e<this.modulesList.length;e++){let i=this.modulesList[e];if(t in i){n=i;break}}const r=this.context,a=i.concat(Array.prototype.slice.call(arguments));let s=null;const o=function(e,t){return e===t||"number"===e&&("int"===t||"integer"===t||"float"===t)||"bool"===e&&"boolean"===t||"boolean"===e&&"bool"===t||"object"===e&&"any"===t||void 0};if(this.methods){const e=this.methods[t];if(e){const i=e.split(":");s=i[i.length-1].trim();const n=[],r=e.substring(1+e.indexOf("("),e.lastIndexOf(")")).split(",");let l="";for(let e=0;e<r.length;e++){const t=r[e];l+=t,t.indexOf(":")>=0?(n.push(l),l=""):l+=","}let c=n.length;for(let e=0;e<n.length;e++){const i=n[e].trim().split(":"),r=i[0].split("=")[0].trim().indexOf("?")>=0,s=i[1].indexOf("?")>=0,l=i[1].replace(/\?/gi,"").trim(),d=l.split("|");let u=i[0].split("=")[1];const p=y.Types.getType(a[e]);if(void 0===a[e]&&u){switch(u=u.trim(),l[0]){case"date":{let e=u.substring(u.indexOf("(")+1,u.lastIndexOf(")"));e=e.length>0?e.split(",").map((e=>parseInt(e))):[],u=0===e.length?new Date:new Date(e[0],e[1],e[2]);break}case"bool":case"boolean":u="true"===u||"1"===u;break;case"int":case"integer":u=parseInt(u);break;case"float":case"number":u=parseFloat(u);break;case"any":case"object":u=u.indexOf("{")>=0?JSON.parse(u):u}a.push(u)}else r&&c--;if(l!==p&&p){let i=!0;for(let e=0;e<d.length;e++)if(o(p,d[e])){i=!1;break}if(i&&(null!==a[e]||!s)){const i=this.localize("methodInvalidValueType",{name:t,actualType:p,type:l,argumentIndex:e});this.log(i)}}if(a.length<c){const e=this.localize("methodInvalidArgumentsCount",{name:t,actualArgumentsCount:a.length,argumentsCount:c});this.log(e)}}}}this.context=this;const l=e.apply(n,a);if(s){const e=void 0===y.Types.getType(l)?"void":y.Types.getType(l);if(!o(e,s)){const i=this.localize("methodInvalidReturnType",{name:t,actualType:e,type:s});this.log(i)}}return this.context=r,l};return n},r=["constructor","ready","created","render","attached","detached","appendChild","insertBefore","removeChild","connect","disconnectedCallback","connectedCallback","attributeChangedCallback","propertyChangedHandler","enableShadowDOM","isInShadowDOM","addPropertyBindings"];for(let a in e){let s=e[a];s&&s.startsWith&&s.startsWith("_")||void 0!==r.find((e=>e===s))||i.extendedProperties[s]||y.Types.isFunction(t[s])&&(i[s]=n(t[s],s))}}defineElementProperties(e){if(!e)return;const t=this,i=t.constructor.prototype,n=Object.keys(e),r=t.getStaticMember("properties");Object.assign(i.extendedProperties,e),t.updateProperty=function(e,t,i){const n=e;if(!t||t.readOnly)return;if(t.allowedValues){let e=!1;for(let n=0;n<t.allowedValues.length;n++)if(t.allowedValues[n]===i){e=!0;break}if(!e){const e=JSON.stringify(t.allowedValues).replace(/\[|\]/gi,"").replace(",",", ").replace(/"/gi,"'"),r="'"+i+"'",a=n.localize("propertyInvalidValue",{name:t.name,actualValue:r,value:e});return void n.log(a)}}const r=t.name,a=n._properties[r].value;if(t.validator&&n[t.validator]){const e=n.context;n.context=n;const r=n[t.validator](a,i);void 0!==r&&(i=r),n.context=e}if(a!==i){if(n.propertyChanging){const e=n.propertyChanging(r,a,i);if(!1===e||null===e)return}if(!t.hasOwnProperty("type")){const e=n.localize("propertyUnknownType",{name:r});n.log(e)}if("array"!==t.type||JSON.stringify(a)!==JSON.stringify(i)){if(null!=i&&"any"!==t.type&&"propertyObject"!==t.type&&t.type!==y.Types.getType(i)&&!t.validator||null===i&&!t.nullable){let e=!0;if("object"===t.type&&"array"===y.Types.getType(i)&&(e=!1),"number"===y.Types.getType(i)&&["integer","int","float"].findIndex((e=>e===t.type))>=0&&(e=!1),e){const e=n.localize("propertyInvalidValueType",{name:r,actualType:y.Types.getType(i),type:t.type});return void n.error(e)}}if(t.isUpdating=!0,t.isHierarchicalProperty){const e=function(t,i){if(!t)return;const r=Object.keys(t);for(let a=0;a<r.length;a++){const s=r[a],o=t[s];"object"==typeof o&&!y.Types.isArray(o)&&o&&o.constructor!==Date?e(o,i+"_"+s):n[i+"_"+s]=o}};e(i,r)}else n._properties[r].value=i;if(!t.isUpdatingFromAttribute&&t.reflectToAttribute&&n.$.setAttributeValue(t.attributeName,i,t.type),n.isReady&&(!n.ownerElement||n.ownerElement&&n.ownerElement.isReady)){if("wait"===r&&(i||!a||n.isCompleted||(n.classList.remove("jqx-visibility-hidden"),n.ownerElement&&n.ownerElement.updateBoundMappedNodes(),n.updateBoundMappedNodes(),n.complete())),"renderMode"===r)return;if(n.context!==n&&!n.wait){const e=n.context;n.context=n,n.propertyChangedHandler(r,a,i),n.context=e,t.observer&&n[t.observer]&&(n.context=n,n[t.observer](a,i),n.context=document),n._watch&&n._watch.properties.indexOf(r)>=0&&n._watch.propertyChangedCallback(r,a,i)}const e=t.notify||n.boundProperties[r];e&&(n.$.fireEvent(t.attributeName+"-changed",{context:n.context,oldValue:a,value:n[r]}),n.boundProperties[r]&&n.updateBoundNodes(r)),e&&n.templateProperties&&n.templateProperties[r]&&n.refreshTemplate(),n.dataContextProperties&&("dataContext"===r?n.applyDataContext():n.dataContextProperties[r]&&n.updateDataContextProperty(r))}t.isUpdating=!1}}};for(let t=0;t<n.length;t+=1){const a=n[t],s=e[a],o=y.Core.toDash(a),l=s.type||"any",c=l.indexOf("?")>=0||"any"===l;c&&"any"!==l&&(s.type=l.substring(0,l.length-1)),s.nullable=c,s.attributeName=o.toLowerCase(),s.name=a,s.reflectToAttribute=void 0===s.reflectToAttribute||s.reflectToAttribute,s.inherit&&r[a]&&(s.value=r[a].value),s.extend&&r[a]&&y.Core.assign(s.value,r[a].value),i.hasOwnProperty(a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get(){if(this._properties[a])return this._properties[a].value},set(e){const t=this;t.updateProperty(t,t._properties[a],e)}})}}}let x=[],C=[],_=[],S=!1;const E=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);E&&parseInt(E[2],10)<=50&&(S=!0);class A{static register(e,t){const n=t.prototype;let r=o.toCamelCase(e).replace(/[a-z]+/,""),a=t.version||window[i].Version;if(window.customElements.get(e)&&window.customElements.get(e).version===a)return;let s=e;for(a=a.split(".");window.customElements.get(e);)e=s+"-"+a.join("."),a[2]=parseInt(a[2])+1;if(!x[e]){if(e.startsWith(i.toLowerCase()))x[e]=window[i][r]=window[i.toLowerCase()+r]=t;else{let n=e.split("-")[0];n=n.substring(0,1).toUpperCase()+n.substring(1),window[i][n]||(window[i][n]={}),x[e]=window[i][n][r]=window[n.toLowerCase()+r]=t,window[i][r]&&(r=o.toCamelCase(e)),window[i][r]=t}n.elementName=r,n.defineElement(),C[e]&&C[e](n),window.customElements.define(e,t)}}static registerElements(){const e=this;if(e.toRegister){e.isRegistering=!0;for(let t=0;t<e.toRegister.length;t++){const i=e.toRegister[t];e.register(i.tagName,i.element)}e.isRegistering=!1}}static get(e){if(x[e])return x[e]}static whenRegistered(e,t){if(!e)throw new Error("Syntax Error: Invalid tag name");const i=C[e],n=this.get(e),r=n?n.modules.length:3;try{i||n?!i&&n?(t(n.prototype),C[e]=void 0):i&&!n?C[e]=function(e){i(e),t(e)}:i&&n&&(n.proto&&(i(n.proto),t(n.proto)),C[e]=void 0):C[e]=function(e){try{t(e)}catch(e){const t=e instanceof Error?e.message:e.toString();console.log(t)}}}catch(e){const t=e instanceof Error?e.message:e.toString();console.log(t)}if(n&&r!==n.prototype.modules.length){const t=document.querySelectorAll(e);for(let e=0;e<t.length;e++){const i=t[e];i.isCreated&&i._initElement()}}}}A.lazyRegister=!1,A.tagNames=[];class D{constructor(){const e=this;e.name="observableArray",e.observables=arguments.length<3?null:arguments[2];const t=new Proxy(e,{deleteProperty:function(e,t){return delete e[t],!0},apply:function(e,t,i){return e.apply(t,i)},get:function(t,i){return"symbol"==typeof(n=i)||"object"==typeof n&&"[object Symbol]"===Object.prototype.toString.call(n)||t[i]||isNaN(parseInt(i))?t[i]:e.getItem(parseInt(i));var n},set:function(t,i,n){return t[i]||isNaN(parseInt(i))?(t[i]=n,!0):(e.setItem(parseInt(i),n),!0)}});if(e._addArgs={eventName:"change",object:t,action:"add",index:null,removed:new Array,addedCount:1},e._removeArgs={eventName:"change",object:t,action:"remove",index:null,removed:null,addedCount:0},arguments.length>=1&&Array.isArray(arguments[0])){e._array=[];const t=arguments[0];for(let i=0,n=t.length;i<n;i++){const n=e._getItem(e._array.length,t[i]);e._array.push(n)}}else e._array=Array.apply(null,arguments);return 2===arguments.length&&(e.notifyFn=arguments[1]),t}get canNotify(){const e=this;return void 0===e._canNotify&&(e._canNotify=!0),e._canNotify}set canNotify(e){this._canNotify=e}_notify(e){const t=this;t.canNotify&&t.notifyFn&&t.notifyFn(e)}notify(e){e&&(this.notifyFn=e)}toArray(){return this._array}_getItem(e,t){const i=this;return"string"==typeof t||"number"==typeof t||void 0===t?t:new Proxy(t,{deleteProperty:function(e,t){return delete e[t],!0},set:function(t,n,r){const a=t[n];return t[n]=r,!i._canNotify||!1===t.canNotify||(i.observables&&!i.observables[n]||i._notify({eventName:"change",object:i,target:t,action:"update",index:e,path:e+"."+n,oldValue:a,newValue:r,propertyName:n}),!0)}})}getItem(e){return this._array[e]}setItem(e,t){const i=this,n=i._array[e];i._array[e]=i._getItem(e,t),i._notify({eventName:"change",object:i._array,action:"update",index:e,removed:[n],addedCount:1})}get length(){return this._array.length}set length(e){const t=this;r.isNumber(e)&&t._array&&t._array.length!==e&&t.splice(e,t._array.length-e)}toString(){return this._array.toString()}toLocaleString(){return this._array.toLocaleString()}concat(){const e=this;e._addArgs.index=e._array.length;const t=e._array.concat.apply(e._array,arguments);return new JQX.ObservableArray(t)}join(e){return this._array.join(e)}pop(){const e=this;e._removeArgs.index=e._array.length-1,delete e[e._array.length-1];const t=e._array.pop();return e._removeArgs.removed=[t],e._notify(e._removeArgs),e._notifyLengthChange(),t}push(){const e=this;if(e._addArgs.index=e._array.length,1===arguments.length&&Array.isArray(arguments[0])){const t=arguments[0];for(let i=0,n=t.length;i<n;i++){const n=e._getItem(e._array.length,t[i]);e._array.push(n)}}else{const t=e._getItem(e._addArgs.index,arguments[0]);e._array.push.apply(e._array,[t])}return e._addArgs.addedCount=e._array.length-e._addArgs.index,e._notify(e._addArgs),e._notifyLengthChange(),e._array.length}_notifyLengthChange(){const e=this;if(!e.canNotify)return;const t=e._createPropertyChangeData("length",e._array.length);e._notify(t)}_createPropertyChangeData(e,t,i){return{eventName:"change",object:this,action:e,value:t,oldValue:i}}reverse(){return this._array.reverse()}shift(){const e=this,t=e._array.shift();return e._removeArgs.index=0,e._removeArgs.removed=[t],e._notify(e._removeArgs),e._notifyLengthChange(),t}slice(e,t){return this._array.slice(e,t)}sort(e){return this._array.sort(e)}splice(e,t,i){const n=this,r=n._array.length;let a;if(i&&i.length)for(let r=0;r<i.length;r++)a=n._array.splice(e+r,t,i[r]);else a=n._array.splice.apply(n._array,arguments);if(i){let t=n.canNotify;if(n.canNotify=!1,i.length)for(let t=0;t<i.length;t++)n.setItem(e+t,i[t]);else n.setItem(e,i);n.canNotify=t,n._notify({eventName:"change",object:this,action:"add",index:e,added:a,addedCount:n._array.length>r?n._array.length-r:0})}else n._notify({eventName:"change",object:this,action:"remove",index:e,removed:a,addedCount:n._array.length>r?n._array.length-r:0});return n._array.length!==r&&n._notifyLengthChange(),a}unshift(){const e=this,t=e._array.length,i=e._array.unshift.apply(e._array,arguments);return e._addArgs.index=0,e._addArgs.addedCount=i-t,e._notify(this._addArgs),e._notifyLengthChange(),i}indexOf(e,t){const i=this;for(let n=t||0,r=i._array.length;n<r;n++)if(i._array[n]===e)return n;return-1}lastIndexOf(e,t){const i=this;for(let n=t||i._array.length-1;n>=0;n--)if(i._array[n]===e)return n;return-1}find(e,t){return this._array.find(e,t)}findIndex(e,t){return this._array.findIndex(e,t)}every(e,t){return this._array.every(e,t)}some(e,t){return this._array.some(e,t)}forEach(e,t){this._array.forEach(e,t)}map(e,t){return this._array.map(e,t)}filter(e,t){return this._array.filter(e,t)}reduce(e,t){return void 0!==t?this._array.reduce(e,t):this._array.reduce(e)}reduceRight(e,t){return void 0!==t?this._array.reduceRight(e,t):this._array.reduceRight(e)}move(e,t){this.splice(t,0,this.splice(e,1)[0])}}let T={};window[i]&&(T=window[i]),window[i]=function(e,t){let n=e;if(e){if(e.indexOf("#")>=0||e.indexOf(".")>=0)return u[e]?u[e]:t?(u[e]=new t,function(e,t){const i=t.properties;t._properties=[];const n=function(i,r){const a=Object.keys(i);for(let s=0;s<a.length;s++){const o=a[s],l=i[o];t._properties[r+o]=l,Array.isArray(l)?t._properties[r+o]=new D(l,(function(t){const i=o+"."+t.path,n=t.newValue,r=document.querySelector(e);if(r){const e=i.split(".");let t=r;for(let i=0;i<e.length;i++)t=t[e[i]];t=n}})):(Object.defineProperty(i,o,{configurable:!1,enumerable:!0,get:()=>t._properties[r+o],set(e){t._properties[r+o]=e}}),l&&"DataAdapter"===l.constructor.name||l&&"object"==typeof l&&JQX.DataAdapter&&l instanceof JQX.DataAdapter||"object"==typeof l&&l&&Object.keys(l).length>0&&n(l,r+o+"."))}};n(i,""),Object.defineProperty(t,"properties",{configurable:!1,enumerable:!0,get:()=>i});const r=document.querySelector(e);if(r&&r.isReady)for(let e in i)if("properties"===e){const t=i[e];for(let e in t)r[e]=t[e]}else r[e]=i[e];else if(r){r.props={};for(let e in i)r.props[e]=i[e]}}(e,u[e]),u[e]):void 0;if(t){if(A.tagNames[e]=t,A.lazyRegister){A.toRegister||(A.toRegister=[]);const e=o.toCamelCase(n).replace(/[a-z]+/,"");return window[i][e]=t,void A.toRegister.push({tagName:n,element:t})}A.register(n,t)}}},window.addEventListener("load",(function(){const e=window[i].Elements.tagNames;let t=[];for(let n in e){const r=e[n];let a=document.querySelectorAll("["+n+"]");for(let e=0;e<a.length;e++){const t=a[e];t instanceof HTMLDivElement&&(t.__proto__=r.prototype,t.created(),t.connectedCallback()),t.classList.add("jqx-element-ready")}let s=r.name;"Item"===s&&(s="ListItem"),a=document.querySelectorAll('[is="'+i.toLocaleLowerCase()+s+'"]');for(let e=0;e<a.length;e++)t.push(a[e])}if(t.length>0){const e=e=>{let t=[],i=e.parentNode;for(;i&&9!==i.nodeType;)i instanceof HTMLElement==1&&t.push(i),i=i.parentNode;return t};t.sort((function(t,i){let n=e(t).length,r=e(i).length;return n<r?1:n>r?-1:0}));for(let e=0;e<t.length;e++){const i=t[e],n=i.getAttribute("is");let r;r="jqxItem"===n?new window.jqxListItem(i):new window[n](i),r.removeAttribute("is")}}}));const P=function(){if("complete"===document.readyState&&"manual"!==window[i].RenderMode){_.sort((function(e,t){let i=e.element.parents.length,n=t.element.parents.length;return i<n?-1:i>n?1:0}));for(let e=0;e<_.length;e++)window[i].RenderMode="",_[e].element.isLoading=!1,_[e].callback(),window[i].RenderMode="";_=[],document.removeEventListener("readystatechange",P)}};Object.assign(window[i],{Elements:A,Modules:[],BaseElement:class extends k{static get observedAttributes(){let e=this,t=["external-style"];for(let i in e.prototype.extendedProperties){const n=e.prototype.extendedProperties[i];t.push(n.attributeName)}return t}static get styleUrls(){return[]}static get styles(){return""}get styleUrl(){return this._styleUrl}set styleUrl(e){this._styleUrl=e}get isInShadowDOM(){const e=this,t=e.getRootNode();return!e.hasAttribute("jqx-blazor")&&t!==document&&t!==e}getShadowRootOrBody(){const e=this;return e.isInShadowDOM&&e.getRootNode().host?e.getRootNode().host.shadowRoot:document.body}get enableShadowDOM(){return window[i].EnableShadowDOM}importStyle(e,t){this._importStyle(e,t)}_importStyle(e,t){const i=this;if(!i.shadowRoot||!e)return;const n=e=>{const n=i.shadowRoot.children;for(let i=0;i<n.length;i++){const r=n[i];if(r instanceof HTMLLinkElement&&r.href===e)return t&&t(),null}const r=document.createElement("link");return r.rel="stylesheet",r.type="text/css",r.href=e,r.onload=t,r},r=(()=>{const e=i.shadowRoot.children;let t=null;for(let i=0;i<e.length;i++){const n=e[i];n instanceof HTMLLinkElement&&(t=n)}return t})(),a=(e,t)=>{t.parentNode.insertBefore(e,t.nextSibling)};if(Array.isArray(e)){const t=document.createDocumentFragment();for(let i=0;i<e.length;i++){const r=n(e[i]);r&&t.appendChild(r)}r?a(t,r):i.shadowRoot.insertBefore(t,i.shadowRoot.firstChild)}else{const t=n(e);if(!t)return;r?a(t,r):i.shadowRoot.insertBefore(t,i.shadowRoot.firstChild)}}attributeChanged(e,t,i){"style-url"===e&&(this.styleUrl=i)}attributeChangedCallback(e,t,i){this.isReady&&super.attributeChangedCallback(e,t,i)}constructor(e,t){super();const i=this;if(e){t&&(i._initProperties=t);const n=e=>{if("string"==typeof e?document.querySelector(e):e){const n="string"==typeof e?document.querySelector(e):e;if(n instanceof HTMLDivElement){const r=document.createElement(i.tagName);for(let e of n.attributes)r.setAttribute(e.name,n.getAttribute(e.name));for(;n.childNodes.length;)r.appendChild(n.firstChild);return"string"==typeof e&&(r.id=e.substring(1)),r._initProperties=t,n.parentNode&&n.parentNode.replaceChild(r,n),r}if(t){const e=n.context;if(n._initProperties=t,n.isReady){n.context=n;const i={},r={};for(let e in t)i[e]=n[e],r[e]=t[e];Object.getOwnPropertyNames(t).length>0&&(n.initProperties(),n.propertyChangedHandler(t,i,r)),n.context=e}}return n}};if("string"==typeof e){const t=document.querySelectorAll(e),i=[];if(t.length>1){for(let e=0;e<t.length;e++){const r=n(t[e]);i.push(r)}return i}}else if(e&&e.length>0){const t=e;if(t.length>1){for(let e=0;e<t.length;e++){const i=n(t[e]);x.push(i)}return x}}return n(e)}i._styleUrl="",i.isUtilityElement||i.created()}_getRootShadowParent(){let e=this.shadowParent;for(;e;){if(!e.shadowParent)return e;e=e.shadowParent}return e||this.shadowParent}_getStyleUrl(e){let t=y.Core.getScriptLocation()+window[i].StyleBaseUrl+e;return this.shadowParent&&(t=t.replace("scoped/","")),t}_getStyleUrls(){const e=this;e.nodeName.startsWith(i);const t=e.getStaticMember("styleUrls","array"),n=[];for(let i=0;i<t.length;i++){const r=t[i],a=e._getStyleUrl(r);n.push(a)}return n}_setupShadowRoot(){const e=this;e.classList.add("jqx-element-init");const t=t=>{t.$.root&&(t.$.root.classList.add(i.toLowerCase()+"-element"),t.$.root.classList.add(e.nodeName.toLowerCase())),t.setup(),t.classList.remove("jqx-element-init")};if(document.adoptedStyleSheets)if(window[i].AdoptedStyleSheets)window[i].AdoptedStyleSheetsLoaded?(e.shadowRoot.adoptedStyleSheets=window[i].AdoptedStyleSheets,t(e)):(e.shadowRoot.adoptedStyleSheets=window[i].AdoptedStyleSheets,window[i].AdoptedStyleSheetsLoadedQueue||(window[i].AdoptedStyleSheetsLoadedQueue=[]),window[i].AdoptedStyleSheetsLoadedQueue.push(e));else{const n=new CSSStyleSheet;let r=y.Core.getScriptLocation()+"/styles/jqx.default.css";n.replace('@import url("'+r+'")').then((()=>{if(t(e),window[i].AdoptedStyleSheetsLoaded=!0,window[i].AdoptedStyleSheetsLoadedQueue){const e=window[i].AdoptedStyleSheetsLoadedQueue;for(let i=0;i<e.length;i++){const n=e[i];t(n)}delete window[i].AdoptedStyleSheetsLoadedQueue}})).catch((e=>{console.error("Failed to load:",e)})),window[i].AdoptedStyleSheets=[n],document.adoptedStyleSheets=[n],e.shadowRoot.adoptedStyleSheets=window[i].AdoptedStyleSheets}}connect(){const e=this;window[i].EnableShadowDOM&&!e.shadowRoot&&!0!==e.isInShadowDOM&&(e.attachShadow({mode:"open"}),e.shadowRoot&&e.$.root&&(e.shadowRoot.appendChild(e.$.root),e.$.root.classList.add(e.nodeName.toLowerCase()))),e.shadowRoot||e.shadowParent?e.shadowRoot?e._setupShadowRoot():(e.shadowParent&&window[i].EnableShadowDOM,e.setup()):e.setup()}connectedCallback(){const e=this;if(e.isLoading||e.isUtilityElement)return;e.classList.add("jqx-element-init");const t=function(){e.classList.remove("jqx-element-init")};if("complete"===document.readyState&&(void 0===window[i].isAngular&&(window[i].isAngular=null!==document.body.querySelector("[ng-version]")),void 0===window[i].isVue&&(window[i].isVue=null!==document.querySelector(".vue-root")),window[i].isAngular))for(let t=0;t<e.parents.length&&!e.parents[t].nodeName.toLowerCase().startsWith(i.toLowerCase()+"-");t++)if(e.parents[t].hasAttribute("ng-version")&&!e.classList.contains("jqx-angular")){window[i].RenderMode="manual";break}if("complete"===document.readyState&&"manual"!==window[i].RenderMode){const i=e.parents;i.length&&"HTML"===i[i.length-1].nodeName||e.getRootNode().host?(e.checkIsInDomTimer&&clearInterval(e.checkIsInDomTimer),t(),e.connect()):(e.checkIsInDomTimer&&clearInterval(e.checkIsInDomTimer),i.length>0&&(e.checkIsInDomTimer=setInterval((()=>{const i=e.parents;0===i.length&&clearInterval(e.checkIsInDomTimer),i.length>0&&"HTML"===i[i.length-1].nodeName&&(clearInterval(e.checkIsInDomTimer),t(),e.connect())}),100)))}else e.isLoading=!0,_.push({element:this,callback:function(){this.isReady||(t(),this.connect())}.bind(e)})}disconnectedCallback(){const e=this;e.isAttached?(e.shadowParent=null,e.detached()):e._resetShadowParent()}adoptedCallback(){this.setup()}appendTemplate(e){const t=this;t.shadowRoot?t.shadowRoot.appendChild(e):t.appendChild(e)}_resetShadowParent(){const e=this;if(!window[i].EnableShadowDOM||null===e.shadowParent)return;const t=[];let n=e.parentNode;for(;n&&9!==n.nodeType;){if(n instanceof HTMLElement==1)t.push(n);else if(11===n.nodeType&&n.host){n=n.host;continue}n=n.parentNode}for(let i=0;i<t.length;i++)if(t[i]===e.shadowParent)return;t.length>0&&"HTML"===t[t.length-1].nodeName&&(e.shadowParent=null)}},Utilities:y,Import:function(e,t){let i=0;const n=function(e,t){return new Promise((i=>{const n=document.createElement("script");n.src=e,n.onload=i;for(let e=0;e<document.head.children.length;e++){const n=document.head.children[e];if(n.src&&n.src.toString().indexOf(t)>=0)return void i()}document.head.appendChild(n)}))};return new Promise((r=>{const a=y.Core.getScriptLocation(),s=function(t){if(!e[t])return;const o=a+"/"+e[t];n(o,e[t]).then((function(){i++,i===e.length&&r(),s(t+1)}))};if(t)for(let t=0;t<e.length;t++){const s=a+"/"+e[t];n(s,e[t]).then((function(){i++,i===e.length&&r()}))}else s(0)}))},ObservableArray:D,Observable:class{constructor(e,t){const i=this;var n;return this.name="observable",e&&Object.assign(i,e),n=e,Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach((e=>"constructor"===e||!!e.startsWith("_")||void(i[e]=n[e]))),new Proxy(i,{deleteProperty:function(e,t){return delete e[t],!0},get:function(e,t){return e[t]},set:function(e,n,r){const a=e[n];return a===r||(e[n]=r,!("notifyFn"!==n&&!n.startsWith("_")&&"canNotify"!==n&&(!t||-1!==t.indexOf(n))&&i.canNotify&&(i._notify({target:e,propertyName:n,oldValue:a,newValue:r}),0)))}})}get canNotify(){const e=this;return void 0===e._canNotify&&(e._canNotify=!0),e._canNotify}set canNotify(e){this._canNotify=e}_notify(e){const t=this;if(t.canNotify&&t.notifyFn)for(let i=0;i<t.notifyFn.length;i++)t.notifyFn[i](e)}notify(e){const t=this;e&&(t.notifyFn||(t.notifyFn=[]),t.notifyFn.push(e))}},Component:class{constructor(e,t){const i=this.name;let n=null;return e?n=new window[i](e,t):(n=new window[i],n._initProperties=t),this._element=n,n}get name(){return"Component"}get element(){return this._element}},Theme:T.Theme||"",EnableShadowDOM:T.ShadowDom||!1,BaseUrl:"./",StyleBaseUrl:"/styles/default/",Version:e,Templates:t,RenderMode:T.RenderMode||"auto",Render:function(){const e=()=>{window[i].RenderMode="",P()};"complete"===document.readyState?e():(window.removeEventListener("load",e),window.addEventListener("load",e))},Data:u,Mode:T.Mode||"production",License:T.License||"Evaluation"});let B=window[i].Theme;"manual"!==window[i].RenderMode&&document.addEventListener("readystatechange",P),Object.defineProperty(window[i],"Theme",{configurable:!1,enumerable:!0,get:()=>B,set(e){const t=B;B=e,b.fireEvent("theme-changed",{oldValue:t,newValue:e},{bubbles:!0,cancelable:!0})}}),window[i]("jqx-base-element",window[i].BaseElement),window[i]("jqx-content-element",class extends window[i].BaseElement{static get properties(){return{content:{type:"any",reflectToAttribute:!1},innerHTML:{type:"string",reflectToAttribute:!1}}}template(){return"<div inner-h-t-m-l='[[innerHTML]]'></div>"}ready(){super.ready(),this.applyContent()}refresh(){}clearContent(){const e=this;for(;e.$.content.firstChild;)e.$.content.removeChild(e.$.content.firstChild)}applyContent(){const e=this;if(void 0===e.content)return void(e.content=e.$.content);if(""===e.content||null===e.content)return void e.clearContent();if(e.content instanceof HTMLElement)return e.clearContent(),void e.$.content.appendChild(e.content);const t=document.createDocumentFragment();let i=document.createElement("div");t.appendChild(i),e.content instanceof HTMLElement?i.appendChild(e.content):i.innerHTML=e.content;let n=Array.from(i.childNodes);i.parentNode.removeChild(i);for(let e=0;e<n.length;e++)t.appendChild(n[e]);e.clearContent(),e.$.content.appendChild(t)}propertyChangedHandler(e,t,i){super.propertyChangedHandler(e,t,i);const n=this;t!==i&&("innerHTML"===e&&(n.content=i,n.applyContent(),n.innerHTML=n.content=y.Core.html(n.$.content)),"content"===e&&n.applyContent())}}),window[i]("jqx-scroll-viewer",class extends window[i].ContentElement{static get properties(){return{autoRefresh:{type:"boolean",value:!1},horizontalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]},touchScrollRatio:{type:"any",value:null},touchVelocityCoefficient:{type:"number",value:50},verticalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]}}}static get listeners(){return{touchmove:"_touchmoveHandler",touchstart:"_touchstartHandler",wheel:"_mouseWheelHandler","document.up":"_upHandler"}}static get styleUrls(){return["jqx.scrollviewer.css"]}template(){return'<div id="container" class="jqx-container" role="presentation">\n                        <div id="scrollViewerContainer" class="jqx-scroll-viewer-container" role="presentation">\n                            <div id="scrollViewerContentContainer" inner-h-t-m-l=\'[[innerHTML]]\' class="jqx-scroll-viewer-content-container" role="presentation">\n                                <content></content>\n                            </div>\n                        </div>\n                        <jqx-scroll-bar id="verticalScrollBar" theme="[[theme]]"  animation="[[animation]]" disabled="[[disabled]]" right-to-left="[[rightToLeft]]" orientation="vertical"></jqx-scroll-bar>\n                        <jqx-scroll-bar id="horizontalScrollBar" theme="[[theme]]" disabled="[[disabled]]" right-to-left="[[rightToLeft]]"></jqx-scroll-bar>\n                    </div>'}appendChild(e){const t=this;if(e){if(!t.isCompleted||e.classList&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}t.$.scrollViewerContentContainer.appendChild(e)}}removeChild(e){const t=this;if(e){if(!t.isCompleted||e.classList&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}t.$.scrollViewerContentContainer.removeChild(e)}}removeAll(){const e=this;e.isCompleted&&(e.$.scrollViewerContentContainer.innerHTML="")}_horizontalScrollbarHandler(e){const t=this;t.$.scrollViewerContentContainer.style.left=(t.rightToLeft?1:-1)*t.scrollLeft+"px",e.stopPropagation&&e.stopPropagation(),t.onHorizontalChange&&t.onHorizontalChange(e)}_verticalScrollbarHandler(e){const t=this;t.$.scrollViewerContentContainer.style.top=-t.scrollTop+"px",e.stopPropagation&&e.stopPropagation(),t.onVerticalChange&&t.onVerticalChange(e)}_touchmoveHandler(e){const t=this;if(t._touchmoveInside&&e.cancelable)return e.preventDefault(),void e.stopPropagation();const i=t.scrollHeight>0,n=t.scrollWidth>0,r=t._touchCoords;if(!i&&!n||!r)return;const a=e.touches[0];let s,o,l,c;t._touchCoords=[a.pageX,a.pageY],i?(s=t.scrollTop,o=t.scrollHeight,l=a.pageY,c=r[1]):(s=t.scrollLeft,o=t.scrollWidth,l=a.pageX,c=r[0]);const d=parseFloat(l.toFixed(5)),u=parseFloat(c.toFixed(5));0===s&&d>=u||s===o&&d<=u||(l!==c&&(t._touchmoveInside=!0),e.cancelable&&(e.preventDefault(),e.stopPropagation()))}_touchstartHandler(e){const t=e.touches[0];this._touchCoords=[t.pageX,t.pageY]}_mouseWheelHandler(e){const t=this;if(!t.disabled&&(t.computedHorizontalScrollBarVisibility||t.computedVerticalScrollBarVisibility)){if(e.shiftKey&&t.computedHorizontalScrollBarVisibility){const i=t.scrollLeft;if(0===i&&e.deltaX<0||i===t.scrollHeight&&e.deltaX>0)return;return e.stopPropagation(),e.preventDefault(),void(t.scrollWidth>0&&t.scrollTo(void 0,t.scrollLeft+t._getScrollCoefficient(e,t.offsetWidth)))}if(t.computedVerticalScrollBarVisibility){const i=t.scrollTop;if(0===i&&e.deltaY<0||i===t.scrollHeight&&e.deltaY>0)return;if(e.stopPropagation(),e.preventDefault(),t.scrollHeight>0){t._wheelrafId=0;const i=()=>{t.scrollTop+=e.deltaY};cancelAnimationFrame(t._wheelrafId),t._wheelrafId=0,t._wheelrafId=requestAnimationFrame(i)}}}}_overriddenHandler(){}_upHandler(){delete this._touchCoords,delete this._touchmoveInside}_getScrollCoefficient(e,t){const i=e.deltaMode,n=Math.abs(e.deltaY);let r;return 0===i?r=n<100/3?n:t:1===i?r=n<1?n*(100/3):t:2===i&&(r=t),e.deltaY<0?-r:r}applyContent(){super.applyContent(),this.refresh()}get computedHorizontalScrollBarVisibility(){const e=this;return e._scrollView&&e._scrollView.hScrollBar?!e._scrollView.hScrollBar.$.hasClass("jqx-hidden"):null}get computedVerticalScrollBarVisibility(){const e=this;return e._scrollView&&e._scrollView.vScrollBar?!e._scrollView.vScrollBar.$.hasClass("jqx-hidden"):null}scrollTo(e,t){const i=this;i._scrollView&&(void 0!==e&&i._scrollView.scrollTo(e),void 0!==t&&i._scrollView.scrollTo(t,!1))}refreshScrollBarsVisibility(){const e=this;e._scrollView&&(e._scrollView.hScrollBar.disabled=e.disabled,e._scrollView.vScrollBar.disabled=e.disabled,"disabled"===e.horizontalScrollBarVisibility&&(e._scrollView.hScrollBar.disabled=!0),"disabled"===e.verticalScrollBarVisibility&&(e._scrollView.vScrollBar.disabled=!0),e.scrollWidth>0?e._scrollView.hScrollBar.$.removeClass("jqx-hidden"):"visible"!==e.horizontalScrollBarVisibility&&e._scrollView.hScrollBar.$.addClass("jqx-hidden"),e.scrollHeight>0?e._scrollView.vScrollBar.$.removeClass("jqx-hidden"):"visible"!==e.verticalScrollBarVisibility&&e._scrollView.vScrollBar.$.addClass("jqx-hidden"),"hidden"===e.horizontalScrollBarVisibility&&e._scrollView.hScrollBar.$.addClass("jqx-hidden"),"hidden"===e.verticalScrollBarVisibility&&e._scrollView.vScrollBar.$.addClass("jqx-hidden"),"visible"===e.horizontalScrollBarVisibility&&e._scrollView.hScrollBar.$.removeClass("jqx-hidden"),"visible"===e.verticalScrollBarVisibility&&(e._scrollView.vScrollBar.$.removeClass("jqx-hidden"),e.disabled||(e._scrollView.vScrollBar.disabled=e.scrollHeight<=0)),e.computedHorizontalScrollBarVisibility&&e.computedVerticalScrollBarVisibility?(e._scrollView.hScrollBar.$.addClass("bottom-corner"),e._scrollView.vScrollBar.$.addClass("bottom-corner")):(e._scrollView.hScrollBar.$.removeClass("bottom-corner"),e._scrollView.vScrollBar.$.removeClass("bottom-corner")))}ready(){super.ready();const e=this;e.$.verticalScrollBar.onChange=t=>{t.detail=t,e._verticalScrollbarHandler(t)},e.$.horizontalScrollBar.onChange=t=>{t.detail=t,e._horizontalScrollbarHandler(t)},e.$.verticalScrollBar.setAttribute("aria-controls",e.id),e.$.horizontalScrollBar.setAttribute("aria-controls",e.id),e._customScrollView||(e._scrollView=new JQX.Utilities.Scroll(e,e.$.horizontalScrollBar,e.$.verticalScrollBar)),e.refresh()}refresh(){const e=this;function t(){const t=e.$.scrollViewerContainer.classList.contains("vscroll");e.$.scrollViewerContainer.classList.remove("vscroll");const i=e.$.scrollViewerContentContainer.offsetWidth-e.$.scrollViewerContainer.offsetWidth;return i>0&&"hidden"!==e.horizontalScrollBarVisibility||"visible"===e.horizontalScrollBarVisibility?e.$.scrollViewerContainer.classList.add("hscroll"):e.$.scrollViewerContainer.classList.remove("hscroll"),t&&e.$.scrollViewerContainer.classList.add("vscroll"),i}function i(){let t;const i=e.$.scrollViewerContainer.classList.contains("hscroll");if(e.$.scrollViewerContainer.classList.remove("hscroll"),JQX.Utilities.Core.Browser.Safari){const i=e.$.scrollViewerContentContainer.getBoundingClientRect().height,n=e.$.scrollViewerContainer.getBoundingClientRect().height;t=i&&n?parseInt(i)-parseInt(n):e.$.scrollViewerContentContainer.offsetHeight-e.$.scrollViewerContainer.offsetHeight}else t=e.$.scrollViewerContentContainer.offsetHeight-e.$.scrollViewerContainer.offsetHeight;return e.virtualScrollHeight&&(t=e.virtualScrollHeight),t>0&&"hidden"!==e.verticalScrollBarVisibility||"visible"===e.verticalScrollBarVisibility?e.$.scrollViewerContainer.classList.add("vscroll"):e.$.scrollViewerContainer.classList.remove("vscroll"),i&&e.$.scrollViewerContainer.classList.add("hscroll"),t}if(!e.$.scrollViewerContentContainer)return;"hidden"===e.verticalScrollBarVisibility&&e.$.scrollViewerContentContainer.setAttribute("disable-vertical",""),"hidden"===e.horizontalScrollBarVisibility&&e.$.scrollViewerContentContainer.setAttribute("disable-horizontal","");let n=e.scrollWidth,r=e.scrollHeight;e.scrollWidth=t(),e.scrollHeight=i(),e.scrollHeight&&r===e.scrollHeight||(e.scrollWidth=t()),e.scrollWidth&&n===e.scrollWidth||(e.scrollHeight=i()),e.computedVerticalScrollBarVisibility&&(e.scrollHeight+=e._scrollView.hScrollBar.offsetHeight),e.computedHorizontalScrollBarVisibility&&(e.scrollWidth+=e._scrollView.vScrollBar.offsetWidth),0===e.scrollHeight&&e.scrollWidth>0&&e.$.container.offsetHeight-e.$.content.offsetHeight<5&&(e.$.container.style.paddingBottom=e._scrollView.hScrollBar.offsetHeight+"px"),e.autoRefresh&&(e.$.scrollViewerContainer.scrollLeft=0,e.$.scrollViewerContainer.scrollTop=0)}attached(){const e=this;super.attached(),e._scrollView||e._customScrollView||(e._scrollView=new JQX.Utilities.Scroll(e,e.$.horizontalScrollBar,e.$.verticalScrollBar))}detached(){const e=this;super.detached(),e._scrollView&&(e._scrollView.unlisten(),delete e._scrollView)}get scrollWidth(){const e=this;return e._scrollView&&e._scrollView.hScrollBar?1===e._scrollView.hScrollBar.max&&"visible"===e.horizontalScrollBarVisibility?0:e._scrollView.hScrollBar.max:-1}set scrollWidth(e){const t=this;e<0&&(e=0),t._scrollView&&t._scrollView.hScrollBar&&(0===e&&"visible"===t.horizontalScrollBarVisibility?t._scrollView.hScrollBar.max=0:t._scrollView.hScrollBar.max=e,t.refreshScrollBarsVisibility())}get scrollHeight(){const e=this;return e._scrollView&&e._scrollView.vScrollBar?1===e._scrollView.vScrollBar.max&&"visible"===e.verticalScrollBarVisibility?0:e._scrollView.vScrollBar.max:0}set scrollHeight(e){const t=this;e<0&&(e=0),t._scrollView&&t._scrollView.vScrollBar&&(0===e&&"visible"===t.verticalScrollBarVisibility?t._scrollView.vScrollBar.max=1:t._scrollView.vScrollBar.max=e,t.refreshScrollBarsVisibility())}get scrollLeft(){const e=this;return e._scrollView&&e._scrollView.hScrollBar?e._scrollView.hScrollBar.value:0}set scrollLeft(e){const t=this;e<0&&(e=0),t._scrollView&&t._scrollView.hScrollBar&&(t._scrollView.hScrollBar.value=e)}get scrollTop(){const e=this;return e._scrollView&&e._scrollView.vScrollBar?e._scrollView.vScrollBar.value:0}set scrollTop(e){const t=this;e<0&&(e=0),t._scrollView&&t._scrollView.vScrollBar&&(t._scrollView.vScrollBar.value=e)}propertyChangedHandler(e,t,i){const n=this;super.propertyChangedHandler(e,t,i),"animation"!==e&&"theme"!==e&&n.refresh()}}),window[i].Utilities.Assign("PositionDetection",class{constructor(e,t,i,n){const r=this;if(t){const i="dropDown"+Math.floor(65536*(1+Math.random())).toString(16).substring(1);t.id=i,e.setAttribute("aria-owns",i)}r.context=e,r.dropDown=t,r.defaultParent=i,r.closeMethod=n}handleAutoPositioning(){const e=this,t=e.context;if("auto"!==t.dropDownPosition||t.disabled||t.isHidden)return;const i=window.requestAnimationFrame;let n,r=Date.now();return n=i((function a(){t.isHidden||document.hidden||(n=i(a),"auto"===t.dropDownPosition&&!t.disabled&&(t.isInShadowDOM?document.body.contains(t.shadowParent):document.body.contains(t))||cancelAnimationFrame(n),t.isHidden&&cancelAnimationFrame(n),Date.now()-r>=200&&(e.scrollHandler(),r=Date.now()))}))}checkBrowserBounds(e){const t=this.context;if("auto"===t.dropDownPosition&&!t.disabled)switch(e){case"vertically":this.checkBrowserBoundsVertically();break;case"horizontally":this.checkBrowserBoundsHorizontally();break;default:this.checkBrowserBoundsVertically(),this.checkBrowserBoundsHorizontally()}}checkBrowserBoundsHorizontally(){const e=this.context,t=this.dropDown;let i,n=0;o.isMobile||window.innerWidth===document.documentElement.clientWidth||(n=window.innerWidth-document.documentElement.clientWidth),null!==e._dropDownParent?i=!0:t.style.left="";const r=window.innerWidth-n;let a=e.getBoundingClientRect().left;if(a<0&&(t.style.left=(i?0:Math.abs(a))+"px",a=parseFloat(t.style.left)),a+t.offsetWidth>r){let e=a-Math.abs(r-a-t.offsetWidth);i&&(e+=window.pageXOffset),t.style.left=(i?e:e-a)+"px",window.innerWidth===document.documentElement.clientWidth&&(t.style.left=parseFloat(t.style.left)+n+"px"),i&&window.innerHeight===document.documentElement.clientHeight&&this.positionDropDown(!0)}}checkBrowserBoundsVertically(e){const t=this.context,i=this.dropDown,n=t._dropDownListPosition;e||(e=t.getBoundingClientRect()),0!==e.height&&(document.documentElement.clientHeight-Math.abs(e.top+e.height+i.offsetHeight)>=0?t._dropDownListPosition="bottom":e.top-i.offsetHeight>=0?t._dropDownListPosition="top":t._dropDownListPosition="overlay-center",this.updatePositionAttribute(n,t._dropDownListPosition))}scrollHandler(){const e=this.context;if(!e.parentElement)return;const t=e.getBoundingClientRect();if(t.top===e._positionTop)return;const i=e._dropDownListPosition;this.checkBrowserBoundsVertically(t),e._dropDownListPosition!==i&&this.positionDropDown(),e._positionTop=t.top}getDropDownParent(e){const t=this.context,i=this.dropDown;let n=t.dropDownAppendTo;t._positionedParent=null,null===n?t._dropDownParent=null:"body"===n||n===document.body?t.getRootNode().host?t._dropDownParent=t.getRootNode().host.shadowRoot:t._dropDownParent=document.body:n instanceof HTMLElement?t._dropDownParent=n:"string"==typeof n?(n=document.getElementById(n),n instanceof HTMLElement?t._dropDownParent=n:(t.dropDownAppendTo=null,t._dropDownParent=null)):(t.dropDownAppendTo=null,t._dropDownParent=null);let r=t._dropDownParent;if(null!==r){for(;r&&r instanceof HTMLElement&&"static"===window.getComputedStyle(r).position&&r!==t.getShadowRootOrBody();)r=r.parentElement;r===document.body?t._positionedParent=null:t._positionedParent=r,i&&(i.setAttribute("animation",t.animation),""!==t.theme&&i.$.addClass(t.theme),e&&(t._dropDownParent.appendChild(i),i.$.addClass("jqx-drop-down-repositioned")),-1===t.detachedChildren.indexOf(i)&&t.detachedChildren.push(i))}}dropDownAppendToChangedHandler(){const e=this.context,t=this.dropDown,i=e._dropDownParent;this.getDropDownParent(),e._dropDownParent!==i&&(e[this.closeMethod](),["left","top","font-size","font-family","font-style","font-weight"].forEach((e=>t.style[e]=null)),null===e._dropDownParent?(this.defaultParent.appendChild(t),t.$.removeClass("jqx-drop-down-repositioned")):(e._dropDownParent.appendChild(t),t.$.addClass("jqx-drop-down-repositioned")))}dropDownPositionChangedHandler(){const e=this;e.dropDown.style.transition="none",e.context[e.closeMethod](),e.setDropDownPosition(),e.handleAutoPositioning()}dropDownAttached(e){const t=this.context;null!==t._dropDownParent&&(t._dropDownParent.appendChild(this.dropDown),this.handleAutoPositioning(),e&&t[e]())}dropDownDetached(){const e=this.context;null!==e._dropDownParent&&document.body.contains(this.dropDown)&&document.body.contains(e._dropDownParent)&&e._dropDownParent.removeChild(this.dropDown)}setDropDownPosition(){const e=this.context,t=e.dropDownPosition,i=e._dropDownListPosition;"auto"===t?this.checkBrowserBounds():e._dropDownListPosition=t,this.updatePositionAttribute(i,e._dropDownListPosition)}updatePositionAttribute(e,t){const i=this.context,n=this.dropDown;i.$.dropDownButton&&!i.$.dropDownButton.hasAttribute(t)&&(i.$.dropDownButton.removeAttribute(e),i.$.dropDownButton.setAttribute(t,"")),n.hasAttribute(t)||(n.style.transition="none",n.removeAttribute(e),n.setAttribute(t,""),requestAnimationFrame((function(){n.style.transition=null})))}positionDropDown(e){const t=this.context,i=this.dropDown;if(!t.opened||null===t._dropDownParent)return;const n=t.getBoundingClientRect();let r,a;if(this.customPositionDropDown){const e=this.customPositionDropDown(n);r=e.left,a=e.top}else switch(r=n.left,a=n.top,t._dropDownListPosition){case"bottom":a+=t.$.container.offsetHeight-1;break;case"center-bottom":a+=t.$.container.offsetHeight-1,r+=t.offsetWidth-i.offsetWidth/2;break;case"center-top":a-=i.offsetHeight-1,r+=t.offsetWidth-i.offsetWidth/2;break;case"top":a-=i.offsetHeight-1;break;case"overlay-bottom":break;case"overlay-center":a-=i.offsetHeight/2-t.offsetHeight/2;break;case"overlay-top":a-=i.offsetHeight-t.offsetHeight}const s=this.getDropDownOffset();i.style.top=a+s.y+"px",e||(i.style.left=r+s.x+"px")}getDropDownOffset(){const e=this.context._positionedParent;let t,i;if(e&&"#document-fragment"!==e.nodeName){const n=e.getBoundingClientRect();t=-n.left,i=-n.top}else t=window.pageXOffset,i=window.pageYOffset;return{x:t,y:i}}placeOverlay(){const e=this.context;if(!e.dropDownOverlay||e._overlay)return;const t=document.createElement("div");t.classList.add("jqx-drop-down-overlay"),t.style.width=document.documentElement.scrollWidth+"px",t.style.height=document.documentElement.scrollHeight+"px",document.body.appendChild(t),e._overlay=t}removeOverlay(e){const t=this,i=t.context;i._overlay&&(i.hasAnimation&&e?requestAnimationFrame((function e(){t.dropDown.getBoundingClientRect().height>0?requestAnimationFrame(e):(document.body.removeChild(i._overlay),delete i._overlay)})):(document.body.removeChild(i._overlay),delete i._overlay))}}),window.JQX.Color=class{constructor(e){if(window.JQX._colors||(window.JQX._colors=[]),window.JQX._colors[e]){const t=window.JQX._colors[e];return this.hex=t.hex,this.r=t.r,this.g=t.g,void(this.b=t.b)}this.r=this.g=this.b=0,this.hex="";const t=this.getStandardizedColor(e);t&&(this.setHex(t.substring(1)),window.JQX._colors[e]={hex:this.hex,r:this.r,g:this.g,b:this.b})}getStandardizedColor(e){const t=document.createElement("canvas").getContext("2d");return t.fillStyle=e,t.fillStyle}getInvertedColor(){if(""===this.hex)return"transparent";const e={"#DD5347":"#F8DCDA","#8E24AA":"#F9EEFB","#D50000":"#FFD5D5","#E67C73":"#F9DBD9","#F4511E":"#FDD6C8","#F6BF26":"#FDF2D7","#0B8043":"#DAFCEA","#33B679":"#DFF7EC","#3F51B5":"#E2E6F5","#039BE5":"#E8F8FF","#7986CB":"#DCDFF1","#8C47FF":"#EADDFF","#FF36C2":"#FFDFF5","#FFCFC9":"#C9403E","#FF9EB7":"#FF2058","#FFD66D":"#AA7B00","#FFEBB6":"#C18C00","#93DF89":"#29721F","#D1F7C4":"#619414","#9DC7FF":"#003377","#D0F0FD":"#098FCA","#7D2FFF":"#1BB4F5","#ECE1FD":"#7D30F1","#FA9DE2":"#860666","#FFDAF6":"#FF1AC6","#CBCBCB":"#6B6B6B","#EDEDED":"#909090","#CDAFFF":"#4600BB"};return e["#"+this.hex.toUpperCase()]?e["#"+this.hex.toUpperCase()]:255-(.299*this.r+.587*this.g+.114*this.b)<105?"Black":"White"}hexToRgb(e){let t="00",i="00",n="00";return 6===(e=this.validateHex(e)).length?(t=e.substring(0,2),i=e.substring(2,4),n=e.substring(4,6)):(e.length>4&&(t=e.substring(4,e.length),e=e.substring(0,4)),e.length>2&&(i=e.substring(2,e.length),e=e.substring(0,2)),e.length>0&&(n=e.substring(0,e.length))),{r:this.hexToInt(t),g:this.hexToInt(i),b:this.hexToInt(n)}}validateHex(e){return(e=(e=new String(e).toUpperCase()).replace(/[^A-F0-9]/g,"0")).length>6&&(e=e.substring(0,6)),e}webSafeDec(e){return e=Math.round(e/51),e*=51}hexToWebSafe(e){let t,i,n;return 3===e.length?(t=e.substring(0,1),i=e.substring(1,1),n=e.substring(2,1)):(t=e.substring(0,2),i=e.substring(2,4),n=e.substring(4,6)),this.intToHex(this.webSafeDec(this.hexToInt(t)))+this.intToHex(this.webSafeDec(this.hexToInt(i)))+this.intToHex(this.webSafeDec(this.hexToInt(n)))}rgbToWebSafe(e){return{r:this.webSafeDec(e.r),g:this.webSafeDec(e.g),b:this.webSafeDec(e.b)}}rgbToHex(e){return this.intToHex(e.r)+this.intToHex(e.g)+this.intToHex(e.b)}intToHex(e){let t=parseInt(e).toString(16);return 1===t.length&&(t="0"+t),t.toUpperCase()}hexToInt(e){return parseInt(e,16)}setRgb(e,t,i){let n=function(e){return e<0||e>255||isNaN(parseInt(e))?0:e};this.r=n(e),this.g=n(t),this.b=n(i),this.hex=this.rgbToHex(this)}setHex(e){this.hex=e;let t=this.hexToRgb(this.hex);this.r=t.r,this.g=t.g,this.b=t.b}},window.JQX.WordsDictionary=["the","and","for","that","this","with","you","not","are","from","your","all","have","new","more","was","will","home","can","about","page","has","search","free","but","our","one","other","information","time","they","site","may","what","which","their","news","out","use","any","there","see","only","his","when","contact","here","business","who","web","also","now","help","get","view","online","first","been","would","how","were","services","some","these","click","its","like","service","than","find","price","date","back","top","people","had","list","name","just","over","state","year","day","into","email","two","health","world","next","used","work","last","most","products","music","buy","data","make","them","should","product","system","post","her","city","add","policy","number","such","please","available","copyright","support","message","after","best","software","then","jan","good","video","well","where","info","rights","public","books","high","school","through","each","links","she","review","years","order","very","privacy","book","items","company","read","group","need","many","user","said","does","set","under","general","research","university","january","mail","full","map","reviews","program","life","know","games","way","days","management","part","could","great","united","hotel","real","item","international","center","ebay","must","store","travel","comments","made","development","report","off","member","details","line","terms","before","hotels","did","send","right","type","because","local","those","using","results","office","education","national","car","design","take","posted","internet","address","community","within","states","area","want","phone","dvd","shipping","reserved","subject","between","forum","family","long","based","code","show","even","black","check","special","prices","website","index","being","women","much","sign","file","link","open","today","technology","south","case","project","same","pages","version","section","own","found","sports","house","related","security","both","county","american","photo","game","members","power","while","care","network","down","computer","systems","three","total","place","end","following","download","him","without","per","access","think","north","resources","current","posts","big","media","law","control","water","history","pictures","size","art","personal","since","including","guide","shop","directory","board","location","change","white","text","small","rating","rate","government","children","during","usa","return","students","shopping","account","times","sites","level","digital","profile","previous","form","events","love","old","john","main","call","hours","image","department","title","description","non","insurance","another","why","shall","property","class","still","money","quality","every","listing","content","country","private","little","visit","save","tools","low","reply","customer","december","compare","movies","include","college","value","article","york","man","card","jobs","provide","food","source","author","different","press","learn","sale","around","print","course","job","canada","process","teen","room","stock","training","too","credit","point","join","science","men","categories","advanced","west","sales","look","english","left","team","estate","box","conditions","select","windows","photos","gay","thread","week","category","note","live","large","gallery","table","register","however","june","october","november","market","library","really","action","start","series","model","features","air","industry","plan","human","provided","yes","required","second","hot","accessories","cost","movie","forums","march","september","better","say","questions","july","yahoo","going","medical","test","friend","come","dec","server","study","application","cart","staff","articles","san","feedback","again","play","looking","issues","april","never","users","complete","street","topic","comment","financial","things","working","against","standard","tax","person","below","mobile","less","got","blog","party","payment","equipment","login","student","let","programs","offers","legal","above","recent","park","stores","side","act","problem","red","give","memory","performance","social","august","quote","language","story","sell","options","experience","rates","create","key","body","young","america","important","field","few","east","paper","single","age","activities","club","example","girls","additional","password","latest","something","road","gift","question","changes","night","hard","texas","oct","pay","four","poker","status","browse","issue","range","building","seller","court","february","always","result","audio","light","write","war","nov","offer","blue","groups","easy","given","files","event","release","analysis","request","fax","china","making","picture","needs","possible","might","professional","yet","month","major","star","areas","future","space","committee","hand","sun","cards","problems","london","washington","meeting","rss","become","interest","child","keep","enter","california","share","similar","garden","schools","million","added","reference","companies","listed","baby","learning","energy","run","delivery","net","popular","term","film","stories","put","computers","journal","reports","try","welcome","central","images","president","notice","original","head","radio","until","cell","color","self","council","away","includes","track","australia","discussion","archive","once","others","entertainment","agreement","format","least","society","months","log","safety","friends","sure","faq","trade","edition","cars","messages","marketing","tell","further","updated","association","able","having","provides","david","fun","already","green","studies","close","common","drive","specific","several","gold","feb","living","sep","collection","called","short","arts","lot","ask","display","limited","powered","solutions","means","director","daily","beach","past","natural","whether","due","electronics","five","upon","period","planning","database","says","official","weather","mar","land","average","done","technical","window","france","pro","region","island","record","direct","microsoft","conference","environment","records","district","calendar","costs","style","url","front","statement","update","parts","aug","ever","downloads","early","miles","sound","resource","present","applications","either","ago","document","word","works","material","bill","apr","written","talk","federal","hosting","rules","final","adult","tickets","thing","centre","requirements","via","cheap","kids","finance","true","minutes","else","mark","third","rock","gifts","europe","reading","topics","bad","individual","tips","plus","auto","cover","usually","edit","together","videos","percent","fast","function","fact","unit","getting","global","tech","meet","far","economic","player","projects","lyrics","often","subscribe","submit","germany","amount","watch","included","feel","though","bank","risk","thanks","everything","deals","various","words","linux","jul","production","commercial","james","weight","town","heart","advertising","received","choose","treatment","newsletter","archives","points","knowledge","magazine","error","camera","jun","girl","currently","construction","toys","registered","clear","golf","receive","domain","methods","chapter","makes","protection","policies","loan","wide","beauty","manager","india","position","taken","sort","listings","models","michael","known","half","cases","step","engineering","florida","simple","quick","none","wireless","license","paul","friday","lake","whole","annual","published","later","basic","sony","shows","corporate","google","church","method","purchase","customers","active","response","practice","hardware","figure","materials","fire","holiday","chat","enough","designed","along","among","death","writing","speed","html","countries","loss","face","brand","discount","higher","effects","created","remember","standards","oil","bit","yellow","political","increase","advertise","kingdom","base","near","environmental","thought","stuff","french","storage","japan","doing","loans","shoes","entry","stay","nature","orders","availability","africa","summary","turn","mean","growth","notes","agency","king","monday","european","activity","copy","although","drug","pics","western","income","force","cash","employment","overall","bay","river","commission","package","contents","seen","players","engine","port","album","regional","stop","supplies","started","administration","bar","institute","views","plans","double","dog","build","screen","exchange","types","soon","sponsored","lines","electronic","continue","across","benefits","needed","season","apply","someone","held","anything","printer","condition","effective","believe","organization","effect","asked","eur","mind","sunday","selection","casino","pdf","lost","tour","menu","volume","cross","anyone","mortgage","hope","silver","corporation","wish","inside","solution","mature","role","rather","weeks","addition","came","supply","nothing","certain","usr","executive","running","lower","necessary","union","jewelry","according","clothing","mon","com","particular","fine","names","robert","homepage","hour","gas","skills","six","bush","islands","advice","career","military","rental","decision","leave","british","teens","pre","huge","sat","woman","facilities","zip","bid","kind","sellers","middle","move","cable","opportunities","taking","values","division","coming","tuesday","object","lesbian","appropriate","machine","logo","length","actually","nice","score","statistics","client","returns","capital","follow","sample","investment","sent","shown","saturday","christmas","england","culture","band","flash","lead","george","choice","went","starting","registration","fri","thursday","courses","consumer","airport","foreign","artist","outside","furniture","levels","channel","letter","mode","phones","ideas","wednesday","structure","fund","summer","allow","degree","contract","button","releases","wed","homes","super","male","matter","custom","virginia","almost","took","located","multiple","asian","distribution","editor","inn","industrial","cause","potential","song","cnet","ltd","los","focus","late","fall","featured","idea","rooms","female","responsible","inc","communications","win","associated","thomas","primary","cancer","numbers","reason","tool","browser","spring","foundation","answer","voice","friendly","schedule","documents","communication","purpose","feature","bed","comes","police","everyone","independent","approach","cameras","brown","physical","operating","hill","maps","medicine","deal","hold","ratings","chicago","forms","glass","happy","tue","smith","wanted","developed","thank","safe","unique","survey","prior","telephone","sport","ready","feed","animal","sources","mexico","population","regular","secure","navigation","operations","therefore","simply","evidence","station","christian","round","paypal","favorite","understand","option","master","valley","recently","probably","thu","rentals","sea","built","publications","blood","cut","worldwide","improve","connection","publisher","hall","larger","anti","networks","earth","parents","nokia","impact","transfer","introduction","kitchen","strong","tel","carolina","wedding","properties","hospital","ground","overview","ship","accommodation","owners","disease","excellent","paid","italy","perfect","hair","opportunity","kit","classic","basis","command","cities","william","express","award","distance","tree","peter","assessment","ensure","thus","wall","involved","extra","especially","interface","partners","budget","rated","guides","success","maximum","operation","existing","quite","selected","boy","amazon","patients","restaurants","beautiful","warning","wine","locations","horse","vote","forward","flowers","stars","significant","lists","technologies","owner","retail","animals","useful","directly","manufacturer","ways","est","son","providing","rule","mac","housing","takes","iii","gmt","bring","catalog","searches","max","trying","mother","authority","considered","told","xml","traffic","programme","joined","input","strategy","feet","agent","valid","bin","modern","senior","ireland","teaching","door","grand","testing","trial","charge","units","instead","canadian","cool","normal","wrote","enterprise","ships","entire","educational","leading","metal","positive","fitness","chinese","opinion","asia","football","abstract","uses","output","funds","greater","likely","develop","employees","artists","alternative","processing","responsibility","resolution","java","guest","seems","publication","pass","relations","trust","van","contains","session","multi","photography","republic","fees","components","vacation","century","academic","assistance","completed","skin","graphics","indian","prev","ads","mary","expected","ring","grade","dating","pacific","mountain","organizations","pop","filter","mailing","vehicle","longer","consider","int","northern","behind","panel","floor","german","buying","match","proposed","default","require","iraq","boys","outdoor","deep","morning","otherwise","allows","rest","protein","plant","reported","hit","transportation","pool","mini","politics","partner","disclaimer","authors","boards","faculty","parties","fish","membership","mission","eye","string","sense","modified","pack","released","stage","internal","goods","recommended","born","unless","richard","detailed","japanese","race","approved","background","target","except","character","usb","maintenance","ability","maybe","functions","moving","brands","places","php","pretty","trademarks","phentermine","spain","southern","yourself","etc","winter","battery","youth","pressure","submitted","boston","debt","keywords","medium","television","interested","core","break","purposes","throughout","sets","dance","wood","msn","itself","defined","papers","playing","awards","fee","studio","reader","virtual","device","established","answers","rent","las","remote","dark","programming","external","apple","regarding","instructions","min","offered","theory","enjoy","remove","aid","surface","minimum","visual","host","variety","teachers","isbn","martin","manual","block","subjects","agents","increased","repair","fair","civil","steel","understanding","songs","fixed","wrong","beginning","hands","associates","finally","updates","desktop","classes","paris","ohio","gets","sector","capacity","requires","jersey","fat","fully","father","electric","saw","instruments","quotes","officer","driver","businesses","dead","respect","unknown","specified","restaurant","mike","trip","pst","worth","procedures","poor","teacher","eyes","relationship","workers","farm","georgia","peace","traditional","campus","tom","showing","creative","coast","benefit","progress","funding","devices","lord","grant","sub","agree","fiction","hear","sometimes","watches","careers","beyond","goes","families","led","museum","themselves","fan","transport","interesting","blogs","wife","evaluation","accepted","former","implementation","ten","hits","zone","complex","cat","galleries","references","die","presented","jack","flat","flow","agencies","literature","respective","parent","spanish","michigan","columbia","setting","scale","stand","economy","highest","helpful","monthly","critical","frame","musical","definition","secretary","angeles","networking","path","australian","employee","chief","gives","bottom","magazines","packages","detail","francisco","laws","changed","pet","heard","begin","individuals","colorado","royal","clean","switch","russian","largest","african","guy","titles","relevant","guidelines","justice","connect","bible","dev","cup","basket","applied","weekly","vol","installation","described","demand","suite","vegas","square","chris","attention","advance","skip","diet","army","auction","gear","lee","difference","allowed","correct","charles","nation","selling","lots","piece","sheet","firm","seven","older","illinois","regulations","elements","species","jump","cells","module","resort","facility","random","pricing","dvds","certificate","minister","motion","looks","fashion","directions","visitors","documentation","monitor","trading","forest","calls","whose","coverage","couple","giving","chance","vision","ball","ending","clients","actions","listen","discuss","accept","automotive","naked","goal","successful","sold","wind","communities","clinical","situation","sciences","markets","lowest","highly","publishing","appear","emergency","developing","lives","currency","leather","determine","temperature","palm","announcements","patient","actual","historical","stone","bob","commerce","ringtones","perhaps","persons","difficult","scientific","satellite","fit","tests","village","accounts","amateur","met","pain","xbox","particularly","factors","coffee","www","settings","buyer","cultural","steve","easily","oral","ford","poster","edge","functional","root","closed","holidays","ice","pink","zealand","balance","monitoring","graduate","replies","shot","architecture","initial","label","thinking","scott","llc","sec","recommend","canon","league","waste","minute","bus","provider","optional","dictionary","cold","accounting","manufacturing","sections","chair","fishing","effort","phase","fields","bag","fantasy","letters","motor","professor","context","install","shirt","apparel","generally","continued","foot","mass","crime","count","breast","techniques","ibm","johnson","quickly","dollars","websites","religion","claim","driving","permission","surgery","patch","heat","wild","measures","generation","kansas","miss","chemical","doctor","task","reduce","brought","himself","nor","component","enable","exercise","bug","santa","mid","guarantee","leader","diamond","israel","processes","soft","servers","alone","meetings","seconds","jones","arizona","keyword","interests","flight","congress","fuel","username","walk","produced","italian","paperback","classifieds","wait","supported","pocket","saint","rose","freedom","argument","competition","creating","jim","drugs","joint","premium","providers","fresh","characters","attorney","upgrade","factor","growing","thousands","stream","apartments","pick","hearing","eastern","auctions","therapy","entries","dates","generated","signed","upper","administrative","serious","prime","samsung","limit","began","louis","steps","errors","shops","del","efforts","informed","thoughts","creek","worked","quantity","urban","practices","sorted","reporting","essential","myself","tours","platform","load","affiliate","labor","immediately","admin","nursing","defense","machines","designated","tags","heavy","covered","recovery","joe","guys","integrated","configuration","merchant","comprehensive","expert","universal","protect","drop","solid","cds","presentation","languages","became","orange","compliance","vehicles","prevent","theme","rich","campaign","marine","improvement","guitar","finding","pennsylvania","examples","ipod","saying","spirit","claims","challenge","motorola","acceptance","strategies","seem","affairs","touch","intended","towards","goals","hire","election","suggest","branch","charges","serve","affiliates","reasons","magic","mount","jqx","talking","gave","ones","latin","multimedia","avoid","certified","manage","corner","rank","computing","oregon","element","birth","virus","abuse","interactive","requests","separate","quarter","procedure","leadership","tables","define","racing","religious","facts","breakfast","kong","column","plants","faith","chain","developer","identify","avenue","missing","died","approximately","domestic","sitemap","recommendations","moved","houston","reach","comparison","mental","viewed","moment","extended","sequence","inch","attack","sorry","centers","opening","damage","lab","reserve","recipes","cvs","gamma","plastic","produce","snow","placed","truth","counter","failure","follows","weekend","dollar","camp","ontario","automatically","des","minnesota","films","bridge","native","fill","williams","movement","printing","baseball","owned","approval","draft","chart","played","contacts","jesus","readers","clubs","lcd","jackson","equal","adventure","matching","offering","shirts","profit","leaders","posters","institutions","assistant","variable","ave","advertisement","expect","parking","headlines","yesterday","compared","determined","wholesale","workshop","russia","gone","codes","kinds","extension","seattle","statements","golden","completely","teams","fort","lighting","senate","forces","funny","brother","gene","turned","portable","tried","electrical","applicable","disc","returned","pattern","boat","named","theatre","laser","earlier","manufacturers","sponsor","classical","icon","warranty","dedicated","indiana","direction","harry","basketball","objects","ends","delete","evening","assembly","nuclear","taxes","mouse","signal","criminal","issued","brain","sexual","wisconsin","powerful","dream","obtained","false","cast","flower","felt","personnel","passed","supplied","identified","falls","pic","soul","aids","opinions","promote","stated","stats","hawaii","professionals","appears","carry","flag","decided","covers","advantage","hello","designs","maintain","tourism","priority","newsletters","adults","clips","savings","graphic","atom","payments","estimated","binding","brief","ended","winning","eight","anonymous","iron","straight","script","served","wants","miscellaneous","prepared","void","dining","alert","integration","atlanta","dakota","tag","interview","mix","framework","disk","installed","queen","vhs","credits","clearly","fix","handle","sweet","desk","criteria","pubmed","dave","massachusetts","diego","hong","vice","associate","truck","behavior","enlarge","ray","frequently","revenue","measure","changing","votes","duty","looked","discussions","bear","gain","festival","laboratory","ocean","flights","experts","signs","lack","depth","iowa","whatever","logged","laptop","vintage","train","exactly","dry","explore","maryland","spa","concept","nearly","eligible","checkout","reality","forgot","handling","origin","knew","gaming","feeds","billion","destination","scotland","faster","intelligence","dallas","bought","con","ups","nations","route","followed","specifications","broken","tripadvisor","frank","alaska","zoom","blow","battle","residential","anime","speak","decisions","industries","protocol","query","clip","partnership","editorial","expression","equity","provisions","speech","wire","principles","suggestions","rural","shared","sounds","replacement","tape","strategic","judge","spam","economics","acid","bytes","cent","forced","compatible","fight","apartment","height","null","zero","speaker","filed","netherlands","obtain","consulting","recreation","offices","designer","remain","managed","failed","marriage","roll","korea","banks","participants","secret","bath","kelly","leads","negative","austin","favorites","toronto","theater","springs","missouri","andrew","var","perform","healthy","translation","estimates","font","assets","injury","joseph","ministry","drivers","lawyer","figures","married","protected","proposal","sharing","philadelphia","portal","waiting","birthday","beta","fail","gratis","banking","officials","brian","toward","won","slightly","assist","conduct","contained","lingerie","legislation","calling","parameters","jazz","serving","bags","profiles","miami","comics","matters","houses","doc","postal","relationships","tennessee","wear","controls","breaking","combined","ultimate","wales","representative","frequency","introduced","minor","finish","departments","residents","noted","displayed","mom","reduced","physics","rare","spent","performed","extreme","samples","davis","daniel","bars","reviewed","row","forecast","removed","helps","singles","administrator","cycle","amounts","contain","accuracy","dual","rise","usd","sleep","bird","pharmacy","brazil","creation","static","scene","hunter","addresses","lady","crystal","famous","writer","chairman","violence","fans","oklahoma","speakers","drink","academy","dynamic","gender","eat","permanent","agriculture","dell","cleaning","constitutes","portfolio","practical","delivered","collectibles","infrastructure","exclusive","seat","concerns","vendor","originally","intel","utilities","philosophy","regulation","officers","reduction","aim","bids","referred","supports","nutrition","recording","regions","junior","toll","les","cape","ann","rings","meaning","tip","secondary","wonderful","mine","ladies","henry","ticket","announced","guess","agreed","prevention","whom","ski","soccer","math","import","posting","presence","instant","mentioned","automatic","healthcare","viewing","maintained","increasing","majority","connected","christ","dan","dogs","directors","aspects","austria","ahead","moon","participation","scheme","utility","preview","fly","manner","matrix","containing","combination","devel","amendment","despite","strength","guaranteed","turkey","libraries","proper","distributed","degrees","singapore","enterprises","delta","fear","seeking","inches","phoenix","convention","shares","principal","daughter","standing","comfort","colors","wars","cisco","ordering","kept","alpha","appeal","cruise","bonus","certification","previously","hey","bookmark","buildings","specials","beat","disney","household","batteries","adobe","smoking","bbc","becomes","drives","arms","alabama","tea","improved","trees","avg","achieve","positions","dress","subscription","dealer","contemporary","sky","utah","nearby","rom","carried","happen","exposure","panasonic","hide","permalink","signature","gambling","refer","miller","provision","outdoors","clothes","caused","luxury","babes","frames","certainly","indeed","newspaper","toy","circuit","layer","printed","slow","removal","easier","src","liability","trademark","hip","printers","faqs","nine","adding","kentucky","mostly","eric","spot","taylor","trackback","prints","spend","factory","interior","revised","grow","americans","optical","promotion","relative","amazing","clock","dot","hiv","identity","suites","conversion","feeling","hidden","reasonable","victoria","serial","relief","revision","broadband","influence","ratio","pda","importance","rain","onto","dsl","planet","webmaster","copies","recipe","zum","permit","seeing","proof","dna","diff","tennis","bass","prescription","bedroom","empty","instance","hole","pets","ride","licensed","orlando","specifically","tim","bureau","maine","sql","represent","conservation","pair","ideal","specs","recorded","don","pieces","finished","parks","dinner","lawyers","sydney","stress","cream","runs","trends","yeah","discover","patterns","boxes","louisiana","hills","javascript","fourth","advisor","marketplace","evil","aware","wilson","shape","evolution","irish","certificates","objectives","stations","suggested","gps","remains","acc","greatest","firms","concerned","euro","operator","structures","generic","encyclopedia","usage","cap","ink","charts","continuing","mixed","census","interracial","peak","competitive","exist","wheel","transit","suppliers","salt","compact","poetry","lights","tracking","angel","bell","keeping","preparation","attempt","receiving","matches","accordance","width","noise","engines","forget","array","discussed","accurate","stephen","elizabeth","climate","reservations","pin","playstation","alcohol","greek","instruction","managing","annotation","sister","raw","differences","walking","explain","smaller","newest","establish","gnu","happened","expressed","jeff","extent","sharp","lesbians","ben","lane","paragraph","kill","mathematics","aol","compensation","export","managers","aircraft","modules","sweden","conflict","conducted","versions","employer","occur","percentage","knows","mississippi","describe","concern","backup","requested","citizens","connecticut","heritage","personals","immediate","holding","trouble","spread","coach","kevin","agricultural","expand","supporting","audience","assigned","jordan","collections","ages","participate","plug","specialist","cook","affect","virgin","experienced","investigation","raised","hat","institution","directed","dealers","searching","sporting","helping","perl","affected","lib","bike","totally","plate","expenses","indicate","blonde","proceedings","transmission","anderson","utc","characteristics","der","lose","organic","seek","experiences","albums","cheats","extremely","verzeichnis","contracts","guests","hosted","diseases","concerning","developers","equivalent","chemistry","tony","neighborhood","nevada","kits","thailand","variables","agenda","anyway","continues","tracks","advisory","cam","curriculum","logic","template","prince","circle","soil","grants","anywhere","psychology","responses","atlantic","wet","circumstances","edward","investor","identification","ram","leaving","wildlife","appliances","matt","elementary","cooking","speaking","sponsors","fox","unlimited","respond","sizes","plain","exit","entered","iran","arm","keys","launch","wave","checking","costa","belgium","printable","holy","acts","guidance","mesh","trail","enforcement","symbol","crafts","highway","buddy","hardcover","observed","dean","setup","poll","booking","glossary","fiscal","celebrity","styles","denver","unix","filled","bond","channels","ericsson","appendix","notify","blues","chocolate","pub","portion","scope","hampshire","supplier","cables","cotton","bluetooth","controlled","requirement","authorities","biology","dental","killed","border","ancient","debate","representatives","starts","pregnancy","causes","arkansas","biography","leisure","attractions","learned","transactions","notebook","explorer","historic","attached","opened","husband","disabled","authorized","crazy","upcoming","britain","concert","retirement","scores","financing","efficiency","comedy","adopted","efficient","weblog","linear","commitment","specialty","bears","jean","hop","carrier","edited","constant","visa","mouth","jewish","meter","linked","portland","interviews","concepts","gun","reflect","pure","deliver","wonder","lessons","fruit","begins","qualified","reform","lens","alerts","treated","discovery","draw","mysql","classified","relating","assume","confidence","alliance","confirm","warm","neither","lewis","howard","offline","leaves","engineer","lifestyle","consistent","replace","clearance","connections","inventory","converter","organisation","babe","checks","reached","becoming","safari","objective","indicated","sugar","crew","legs","sam","stick","securities","allen","pdt","relation","enabled","genre","slide","montana","volunteer","tested","rear","democratic","enhance","switzerland","exact","bound","parameter","adapter","processor","node","formal","dimensions","contribute","lock","hockey","storm","micro","colleges","laptops","mile","showed","challenges","editors","mens","threads","bowl","supreme","brothers","recognition","presents","ref","tank","submission","dolls","estimate","encourage","navy","kid","regulatory","inspection","consumers","cancel","limits","territory","transaction","manchester","weapons","paint","delay","pilot","outlet","contributions","continuous","czech","resulting","cambridge","initiative","novel","pan","execution","disability","increases","ultra","winner","idaho","contractor","episode","examination","potter","dish","plays","bulletin","indicates","modify","oxford","adam","truly","epinions","painting","committed","extensive","affordable","universe","candidate","databases","patent","slot","psp","outstanding","eating","perspective","planned","watching","lodge","messenger","mirror","tournament","consideration","discounts","sterling","sessions","kernel","stocks","buyers","journals","gray","catalogue","jennifer","antonio","charged","broad","taiwan","und","chosen","demo","greece","swiss","sarah","clark","hate","terminal","publishers","nights","behalf","caribbean","liquid","rice","nebraska","loop","salary","reservation","foods","gourmet","guard","properly","orleans","saving","nfl","remaining","empire","resume","twenty","newly","raise","prepare","avatar","gary","depending","illegal","expansion","vary","hundreds","rome","arab","lincoln","helped","premier","tomorrow","purchased","milk","decide","consent","drama","visiting","performing","downtown","keyboard","contest","collected","bands","boot","suitable","absolutely","millions","lunch","audit","push","chamber","guinea","findings","muscle","featuring","iso","implement","clicking","scheduled","polls","typical","tower","yours","sum","misc","calculator","significantly","chicken","temporary","attend","shower","alan","sending","jason","tonight","dear","sufficient","holdem","shell","province","catholic","oak","vat","awareness","vancouver","governor","beer","seemed","contribution","measurement","swimming","spyware","formula","constitution","packaging","solar","jose","catch","jane","pakistan","reliable","consultation","northwest","sir","doubt","earn","finder","unable","periods","classroom","tasks","democracy","attacks","kim","wallpaper","merchandise","const","resistance","doors","symptoms","resorts","biggest","memorial","visitor","twin","forth","insert","baltimore","gateway","dont","alumni","drawing","candidates","charlotte","ordered","biological","fighting","transition","happens","preferences","spy","romance","instrument","bruce","split","themes","powers","heaven","bits","pregnant","twice","classification","focused","egypt","physician","hollywood","bargain","wikipedia","cellular","norway","vermont","asking","blocks","normally","spiritual","hunting","diabetes","suit","shift","chip","res","sit","bodies","photographs","cutting","wow","simon","writers","marks","flexible","loved","mapping","numerous","relatively","birds","satisfaction","represents","char","indexed","pittsburgh","superior","preferred","saved","paying","cartoon","shots","intellectual","moore","granted","choices","carbon","spending","comfortable","magnetic","interaction","listening","effectively","registry","crisis","outlook","massive","denmark","employed","bright","treat","header","poverty","formed","piano","echo","que","grid","sheets","patrick","experimental","puerto","revolution","consolidation","displays","plasma","allowing","earnings","voip","mystery","landscape","dependent","mechanical","journey","delaware","bidding","consultants","risks","banner","applicant","charter","fig","barbara","cooperation","counties","acquisition","ports","implemented","directories","recognized","dreams","blogger","notification","licensing","stands","teach","occurred","textbooks","rapid","pull","hairy","diversity","cleveland","reverse","deposit","seminar","investments","latina","nasa","wheels","sexcam","specify","accessibility","dutch","sensitive","templates","formats","tab","depends","boots","holds","router","concrete","editing","poland","folder","womens","css","completion","upload","pulse","universities","technique","contractors","milfhunter","voting","courts","notices","subscriptions","calculate","detroit","alexander","broadcast","converted","metro","toshiba","anniversary","improvements","strip","specification","pearl","accident","nick","accessible","accessory","resident","plot","qty","possibly","airline","typically","representation","regard","pump","exists","arrangements","smooth","conferences","uniprotkb","strike","consumption","birmingham","flashing","narrow","afternoon","threat","surveys","sitting","putting","consultant","controller","ownership","committees","legislative","researchers","vietnam","trailer","anne","castle","gardens","missed","malaysia","unsubscribe","antique","labels","willing","bio","molecular","acting","heads","stored","exam","logos","residence","attorneys","milfs","antiques","density","hundred","ryan","operators","strange","sustainable","philippines","statistical","beds","mention","innovation","pcs","employers","grey","parallel","honda","amended","operate","bills","bold","bathroom","stable","opera","definitions","von","doctors","lesson","cinema","asset","scan","elections","drinking","reaction","blank","enhanced","entitled","severe","generate","stainless","newspapers","hospitals","deluxe","humor","aged","monitors","exception","lived","duration","bulk","successfully","indonesia","pursuant","sci","fabric","edt","visits","primarily","tight","domains","capabilities","pmid","contrast","recommendation","flying","recruitment","sin","berlin","cute","organized","para","siemens","adoption","improving","expensive","meant","capture","pounds","buffalo","organisations","plane","explained","seed","programmes","desire","expertise","mechanism","camping","jewellery","meets","welfare","peer","caught","eventually","marked","driven","measured","medline","bottle","agreements","considering","innovative","marshall","massage","rubber","conclusion","closing","tampa","thousand","meat","legend","grace","susan","ing","adams","python","monster","alex","bang","villa","bone","columns","disorders","bugs","collaboration","hamilton","detection","ftp","cookies","inner","formation","tutorial","med","engineers","entity","cruises","gate","holder","proposals","moderator","tutorials","settlement","portugal","lawrence","roman","duties","valuable","tone","collectables","ethics","forever","dragon","busy","captain","fantastic","imagine","brings","heating","leg","neck","wing","governments","purchasing","scripts","abc","stereo","appointed","taste","dealing","commit","tiny","operational","rail","airlines","liberal","livecam","jay","trips","gap","sides","tube","turns","corresponding","descriptions","cache","belt","jacket","determination","animation","oracle","matthew","lease","productions","aviation","hobbies","proud","excess","disaster","console","commands","telecommunications","instructor","giant","achieved","injuries","shipped","seats","approaches","biz","alarm","voltage","anthony","nintendo","usual","loading","stamps","appeared","franklin","angle","rob","vinyl","highlights","mining","designers","melbourne","ongoing","worst","imaging","betting","scientists","liberty","wyoming","blackjack","argentina","era","convert","possibility","analyst","commissioner","dangerous","garage","exciting","reliability","thongs","gcc","unfortunately","respectively","volunteers","attachment","ringtone","finland","morgan","derived","pleasure","honor","asp","oriented","eagle","desktops","pants","columbus","nurse","prayer","appointment","workshops","hurricane","quiet","luck","postage","producer","represented","mortgages","dial","responsibilities","cheese","comic","carefully","jet","productivity","investors","crown","par","underground","diagnosis","maker","crack","principle","picks","vacations","gang","semester","calculated","fetish","applies","casinos","appearance","smoke","apache","filters","incorporated","craft","cake","notebooks","apart","fellow","blind","lounge","mad","algorithm","semi","coins","andy","gross","strongly","cafe","valentine","hilton","ken","proteins","horror","exp","familiar","capable","douglas","debian","till","involving","pen","investing","christopher","admission","epson","shoe","elected","carrying","victory","sand","madison","terrorism","joy","editions","cpu","mainly","ethnic","ran","parliament","actor","finds","seal","situations","fifth","allocated","citizen","vertical","corrections","structural","municipal","describes","prize","occurs","jon","absolute","disabilities","consists","anytime","substance","prohibited","addressed","lies","pipe","soldiers","guardian","lecture","simulation","layout","initiatives","ill","concentration","classics","lbs","lay","interpretation","horses","lol","dirty","deck","wayne","donate","taught","bankruptcy","worker","optimization","alive","temple","substances","prove","discovered","wings","breaks","genetic","restrictions","participating","waters","promise","thin","exhibition","prefer","ridge","cabinet","modem","harris","mph","bringing","sick","dose","evaluate","tiffany","tropical","collect","bet","composition","toyota","streets","nationwide","vector","definitely","shaved","turning","buffer","purple","existence","commentary","larry","limousines","developments","def","immigration","destinations","lets","mutual","pipeline","necessarily","syntax","attribute","prison","skill","chairs","everyday","apparently","surrounding","mountains","moves","popularity","inquiry","ethernet","checked","exhibit","throw","trend","sierra","visible","cats","desert","postposted","oldest","rhode","nba","coordinator","obviously","mercury","steven","handbook","greg","navigate","worse","summit","victims","epa","spaces","fundamental","burning","escape","coupons","somewhat","receiver","substantial","progressive","cialis","boats","glance","scottish","championship","arcade","richmond","sacramento","impossible","ron","russell","tells","obvious","fiber","depression","graph","covering","platinum","judgment","bedrooms","talks","filing","foster","modeling","passing","awarded","testimonials","trials","tissue","memorabilia","clinton","masters","bonds","cartridge","alberta","explanation","folk","org","commons","cincinnati","subsection","fraud","electricity","permitted","spectrum","arrival","okay","pottery","emphasis","roger","aspect","workplace","awesome","mexican","confirmed","counts","priced","wallpapers","hist","crash","lift","desired","inter","closer","assumes","heights","shadow","riding","infection","firefox","lisa","expense","grove","eligibility","venture","clinic","korean","healing","princess","mall","entering","packet","spray","studios","involvement","dad","buttons","placement","observations","vbulletin","funded","thompson","winners","extend","roads","subsequent","pat","dublin","rolling","fell","motorcycle","yard","disclosure","establishment","memories","nelson","arrived","creates","faces","tourist","mayor","murder","sean","adequate","senator","yield","presentations","grades","cartoons","pour","digest","reg","lodging","tion","dust","hence","wiki","entirely","replaced","radar","rescue","undergraduate","losses","combat","reducing","stopped","occupation","lakes","donations","associations","citysearch","closely","radiation","diary","seriously","kings","shooting","kent","adds","nsw","ear","flags","pci","baker","launched","elsewhere","pollution","conservative","guestbook","shock","effectiveness","walls","abroad","ebony","tie","ward","drawn","arthur","ian","visited","roof","walker","demonstrate","atmosphere","suggests","kiss","beast","operated","experiment","targets","overseas","purchases","dodge","counsel","federation","pizza","invited","yards","assignment","chemicals","gordon","mod","farmers","queries","bmw","rush","ukraine","absence","nearest","cluster","vendors","mpeg","whereas","yoga","serves","woods","surprise","lamp","rico","partial","shoppers","phil","everybody","couples","nashville","ranking","jokes","cst","http","ceo","simpson","twiki","sublime","counseling","palace","acceptable","satisfied","glad","wins","measurements","verify","globe","trusted","copper","milwaukee","rack","medication","warehouse","shareware","rep","dicke","kerry","receipt","supposed","ordinary","nobody","ghost","violation","configure","stability","mit","applying","southwest","boss","pride","institutional","expectations","independence","knowing","reporter","metabolism","keith","champion","cloudy","linda","ross","personally","chile","anna","plenty","solo","sentence","throat","ignore","maria","uniform","excellence","wealth","tall","somewhere","vacuum","dancing","attributes","recognize","brass","writes","plaza","pdas","outcomes","survival","quest","publish","sri","screening","toe","thumbnail","trans","jonathan","whenever","nova","lifetime","api","pioneer","booty","forgotten","acrobat","plates","acres","venue","athletic","thermal","essays","vital","telling","fairly","coastal","config","charity","intelligent","edinburgh","excel","modes","obligation","campbell","wake","stupid","harbor","hungary","traveler","urw","segment","realize","regardless","lan","enemy","puzzle","rising","aluminum","wells","wishlist","opens","insight","sms","restricted","republican","secrets","lucky","latter","merchants","thick","trailers","repeat","syndrome","philips","attendance","penalty","drum","glasses","enables","nec","iraqi","builder","vista","jessica","chips","terry","flood","foto","ease","arguments","amsterdam","arena","adventures","pupils","stewart","announcement","tabs","outcome","appreciate","expanded","casual","grown","polish","lovely","extras","centres","jerry","clause","smile","lands","troops","indoor","bulgaria","armed","broker","charger","regularly","believed","pine","cooling","tend","gulf","rick","trucks","mechanisms","divorce","laura","shopper","tokyo","partly","nikon","customize","tradition","candy","pills","tiger","donald","folks","sensor","exposed","telecom","hunt","angels","deputy","indicators","sealed","thai","emissions","physicians","loaded","fred","complaint","scenes","experiments","afghanistan","boost","spanking","scholarship","governance","mill","founded","supplements","chronic","icons","moral","den","catering","aud","finger","keeps","pound","locate","camcorder","trained","burn","implementing","roses","labs","ourselves","bread","tobacco","wooden","motors","tough","roberts","incident","gonna","dynamics","lie","crm","conversation","decrease","cumshots","chest","pension","billy","revenues","emerging","worship","capability","craig","herself","producing","churches","precision","damages","reserves","contributed","solve","shorts","reproduction","minority","diverse","amp","ingredients","johnny","sole","franchise","recorder","complaints","facing","nancy","promotions","tones","passion","rehabilitation","maintaining","sight","laid","clay","defence","patches","weak","refund","usc","towns","environments","trembl","divided","blvd","reception","amd","wise","emails","cyprus","odds","correctly","insider","seminars","consequences","makers","hearts","geography","appearing","integrity","worry","discrimination","eve","carter","legacy","marc","pleased","danger","vitamin","widely","processed","phrase","genuine","raising","implications","functionality","paradise","hybrid","reads","roles","intermediate","emotional","sons","leaf","pad","glory","platforms","bigger","billing","diesel","versus","combine","overnight","geographic","exceed","rod","saudi","fault","cuba","hrs","preliminary","districts","introduce","silk","promotional","kate","chevrolet","babies","karen","compiled","romantic","revealed","specialists","generator","albert","examine","jimmy","graham","suspension","bristol","margaret","compaq","sad","correction","wolf","slowly","authentication","communicate","rugby","supplement","showtimes","cal","portions","infant","promoting","sectors","samuel","fluid","grounds","fits","kick","regards","meal","hurt","machinery","bandwidth","unlike","equation","baskets","probability","pot","dimension","wright","img","barry","proven","schedules","admissions","cached","warren","slip","studied","reviewer","involves","quarterly","rpm","profits","devil","grass","comply","marie","florist","illustrated","cherry","continental","alternate","deutsch","achievement","limitations","kenya","webcam","cuts","funeral","nutten","earrings","enjoyed","automated","chapters","pee","charlie","quebec","passenger","convenient","dennis","mars","francis","tvs","sized","manga","noticed","socket","silent","literary","egg","mhz","signals","caps","orientation","pill","theft","childhood","swing","symbols","lat","meta","humans","analog","facial","choosing","talent","dated","flexibility","seeker","wisdom","shoot","boundary","mint","packard","offset","payday","philip","elite","spin","holders","believes","swedish","poems","deadline","jurisdiction","robot","displaying","witness","collins","equipped","stages","encouraged","sur","winds","powder","broadway","acquired","assess","wash","cartridges","stones","entrance","gnome","roots","declaration","losing","attempts","gadgets","noble","glasgow","automation","impacts","rev","gospel","advantages","shore","loves","induced","knight","preparing","loose","aims","recipient","linking","extensions","appeals","earned","illness","islamic","athletics","southeast","ieee","alternatives","pending","parker","determining","lebanon","corp","personalized","kennedy","conditioning","teenage","soap","triple","cooper","nyc","vincent","jam","secured","unusual","answered","partnerships","destruction","slots","increasingly","migration","disorder","routine","toolbar","basically","rocks","conventional","titans","applicants","wearing","axis","sought","genes","mounted","habitat","firewall","median","guns","scanner","herein","occupational","animated","judicial","rio","adjustment","hero","integer","treatments","bachelor","attitude","camcorders","engaged","falling","basics","montreal","carpet","struct","lenses","binary","genetics","attended","difficulty","punk","collective","coalition","dropped","enrollment","duke","walter","pace","besides","wage","producers","collector","arc","hosts","interfaces","advertisers","moments","atlas","strings","dawn","representing","observation","feels","torture","carl","deleted","coat","mitchell","mrs","rica","restoration","convenience","returning","ralph","opposition","container","defendant","warner","confirmation","app","embedded","inkjet","supervisor","wizard","corps","actors","liver","peripherals","liable","brochure","morris","bestsellers","petition","eminem","recall","antenna","picked","assumed","departure","minneapolis","belief","killing","bikini","memphis","shoulder","decor","lookup","texts","harvard","brokers","roy","ion","diameter","ottawa","doll","podcast","seasons","peru","interactions","refine","bidder","singer","evans","herald","literacy","fails","aging","nike","intervention","fed","plugin","attraction","diving","invite","modification","alice","latinas","suppose","customized","reed","involve","moderate","terror","younger","thirty","mice","opposite","understood","rapidly","dealtime","ban","temp","intro","mercedes","zus","assurance","clerk","happening","vast","mills","outline","amendments","tramadol","holland","receives","jeans","metropolitan","compilation","verification","fonts","ent","odd","wrap","refers","mood","favor","veterans","quiz","sigma","attractive","xhtml","occasion","recordings","jefferson","victim","demands","sleeping","careful","ext","beam","gardening","obligations","arrive","orchestra","sunset","tracked","moreover","minimal","polyphonic","lottery","tops","framed","aside","outsourcing","licence","adjustable","allocation","michelle","essay","discipline","amy","demonstrated","dialogue","identifying","alphabetical","camps","declared","dispatched","aaron","handheld","trace","disposal","shut","florists","packs","installing","switches","romania","voluntary","ncaa","thou","consult","phd","greatly","blogging","mask","cycling","midnight","commonly","photographer","inform","turkish","coal","cry","messaging","pentium","quantum","murray","intent","zoo","largely","pleasant","announce","constructed","additions","requiring","spoke","aka","arrow","engagement","sampling","rough","weird","tee","refinance","lion","inspired","holes","weddings","blade","suddenly","oxygen","cookie","meals","canyon","goto","meters","merely","calendars","arrangement","conclusions","passes","bibliography","pointer","compatibility","stretch","durham","furthermore","permits","cooperative","muslim","neil","sleeve","netscape","cleaner","cricket","beef","feeding","stroke","township","rankings","measuring","cad","hats","robin","robinson","jacksonville","strap","headquarters","sharon","crowd","tcp","transfers","surf","olympic","transformation","remained","attachments","dir","entities","customs","administrators","personality","rainbow","hook","roulette","decline","gloves","israeli","medicare","cord","skiing","cloud","facilitate","subscriber","valve","val","hewlett","explains","proceed","flickr","feelings","knife","jamaica","priorities","shelf","bookstore","timing","liked","parenting","adopt","denied","fotos","incredible","britney","freeware","donation","outer","crop","deaths","rivers","commonwealth","pharmaceutical","manhattan","tales","katrina","workforce","islam","nodes","thumbs","seeds","cited","lite","ghz","hub","targeted","organizational","skype","realized","twelve","founder","decade","gamecube","dispute","portuguese","tired","titten","adverse","everywhere","excerpt","eng","steam","discharge","drinks","ace","voices","acute","halloween","climbing","stood","sing","tons","perfume","carol","honest","albany","hazardous","restore","stack","methodology","somebody","sue","housewares","reputation","resistant","democrats","recycling","hang","gbp","curve","creator","amber","qualifications","museums","coding","slideshow","tracker","variation","passage","transferred","trunk","hiking","pierre","jelsoft","headset","photograph","oakland","colombia","waves","camel","distributor","lamps","underlying","hood","wrestling","suicide","archived","photoshop","chi","arabia","gathering","projection","juice","chase","mathematical","logical","sauce","fame","extract","specialized","diagnostic","panama","indianapolis","payable","corporations","courtesy","criticism","automobile","confidential","rfc","statutory","accommodations","athens","northeast","downloaded","judges","seo","retired","isp","remarks","detected","decades","paintings","walked","arising","nissan","bracelet","ins","eggs","juvenile","injection","yorkshire","populations","protective","afraid","acoustic","railway","cassette","initially","indicator","pointed","jpg","causing","mistake","norton","locked","eliminate","fusion","mineral","sunglasses","ruby","steering","beads","fortune","preference","canvas","threshold","parish","claimed","screens","cemetery","planner","croatia","flows","stadium","venezuela","exploration","mins","fewer","sequences","coupon","nurses","ssl","stem","proxy","astronomy","lanka","opt","edwards","drew","contests","flu","translate","announces","mlb","costume","tagged","berkeley","voted","killer","bikes","gates","adjusted","rap","tune","bishop","pulled","corn","shaped","compression","seasonal","establishing","farmer","counters","puts","constitutional","grew","perfectly","tin","slave","instantly","cultures","norfolk","coaching","examined","trek","encoding","litigation","submissions","oem","heroes","painted","lycos","zdnet","broadcasting","horizontal","artwork","cosmetic","resulted","portrait","terrorist","informational","ethical","carriers","ecommerce","mobility","floral","builders","ties","struggle","schemes","suffering","neutral","fisher","rat","spears","prospective","bedding","ultimately","joining","heading","equally","artificial","bearing","spectacular","coordination","connector","brad","combo","seniors","worlds","guilty","affiliated","activation","naturally","haven","tablet","jury","dos","tail","subscribers","charm","lawn","violent","mitsubishi","underwear","basin","soup","potentially","ranch","constraints","crossing","inclusive","dimensional","cottage","drunk","considerable","crimes","resolved","mozilla","byte","toner","nose","latex","branches","anymore","oclc","delhi","holdings","alien","locator","selecting","processors","pantyhose","plc","broke","nepal","zimbabwe","difficulties","juan","complexity","msg","constantly","browsing","resolve","barcelona","presidential","documentary","cod","territories","melissa","moscow","thesis","thru","jews","nylon","palestinian","discs","rocky","bargains","frequent","trim","nigeria","ceiling","pixels","ensuring","hispanic","legislature","hospitality","gen","anybody","procurement","diamonds","espn","fleet","untitled","bunch","totals","marriott","singing","theoretical","afford","exercises","starring","referral","nhl","surveillance","optimal","quit","distinct","protocols","lung","highlight","substitute","inclusion","hopefully","brilliant","turner","sucking","cents","reuters","gel","todd","spoken","omega","evaluated","stayed","civic","assignments","manuals","doug","sees","termination","watched","saver","thereof","grill","households","redeem","rogers","grain","aaa","authentic","regime","wanna","wishes","bull","montgomery","architectural","louisville","depend","differ","macintosh","movements","ranging","monica","repairs","breath","amenities","virtually","cole","mart","candle","hanging","colored","authorization","tale","verified","lynn","formerly","projector","situated","comparative","std","seeks","herbal","loving","strictly","routing","docs","stanley","psychological","surprised","retailer","vitamins","elegant","gains","renewal","vid","genealogy","opposed","deemed","scoring","expenditure","brooklyn","liverpool","sisters","critics","connectivity","spots","algorithms","hacker","madrid","similarly","margin","coin","solely","fake","salon","collaborative","norman","fda","excluding","turbo","headed","voters","cure","madonna","commander","arch","murphy","thinks","thats","suggestion","hdtv","soldier","phillips","asin","aimed","justin","bomb","harm","interval","mirrors","spotlight","tricks","reset","brush","investigate","thy","expansys","panels","repeated","assault","connecting","spare","logistics","deer","kodak","tongue","bowling","tri","danish","pal","monkey","proportion","filename","skirt","florence","invest","honey","analyzes","drawings","significance","scenario","lovers","atomic","approx","symposium","arabic","gauge","essentials","junction","protecting","faced","mat","rachel","solving","transmitted","weekends","screenshots","produces","oven","ted","intensive","chains","kingston","sixth","engage","deviant","noon","switching","quoted","adapters","correspondence","farms","imports","supervision","cheat","bronze","expenditures","sandy","separation","testimony","suspect","celebrities","macro","sender","mandatory","boundaries","crucial","syndication","gym","celebration","kde","adjacent","filtering","tuition","spouse","exotic","viewer","signup","threats","luxembourg","puzzles","reaching","damaged","cams","receptor","laugh","joel","surgical","destroy","citation","pitch","autos","premises","perry","proved","offensive","imperial","dozen","benjamin","deployment","teeth","cloth","studying","colleagues","stamp","lotus","salmon","olympus","separated","proc","cargo","tan","directive","salem","mate","starter","upgrades","likes","butter","pepper","weapon","luggage","burden","chef","tapes","zones","races","isle","stylish","slim","maple","luke","grocery","offshore","governing","retailers","depot","kenneth","comp","alt","pie","blend","harrison","julie","occasionally","cbs","attending","emission","pete","spec","finest","realty","janet","bow","penn","recruiting","apparent","instructional","phpbb","autumn","traveling","probe","midi","permissions","biotechnology","toilet","ranked","jackets","routes","packed","excited","outreach","helen","mounting","recover","tied","lopez","balanced","prescribed","catherine","timely","talked","upskirts","debug","delayed","chuck","reproduced","hon","dale","explicit","calculation","villas","ebook","consolidated","exclude","peeing","occasions","brooks","equations","newton","oils","sept","exceptional","anxiety","bingo","whilst","spatial","respondents","unto","ceramic","prompt","precious","minds","annually","considerations","scanners","atm","xanax","pays","fingers","sunny","ebooks","delivers","queensland","necklace","musicians","leeds","composite","unavailable","cedar","arranged","lang","theaters","advocacy","raleigh","stud","fold","essentially","designing","threaded","qualify","blair","hopes","assessments","cms","mason","diagram","burns","pumps","footwear","vic","beijing","peoples","victor","mario","pos","attach","licenses","utils","removing","advised","brunswick","spider","phys","ranges","pairs","sensitivity","trails","preservation","hudson","isolated","calgary","interim","assisted","divine","streaming","approve","chose","compound","intensity","technological","syndicate","abortion","dialog","venues","blast","wellness","calcium","newport","antivirus","addressing","pole","discounted","indians","shield","harvest","membrane","prague","previews","bangladesh","constitute","locally","concluded","pickup","desperate","mothers","nascar","iceland","demonstration","governmental","manufactured","candles","graduation","mega","bend","sailing","variations","moms","sacred","addiction","morocco","chrome","tommy","springfield","refused","brake","exterior","greeting","ecology","oliver","congo","glen","botswana","nav","delays","synthesis","olive","undefined","unemployment","cyber","verizon","scored","enhancement","newcastle","clone","dicks","velocity","lambda","relay","composed","tears","performances","oasis","baseline","cab","angry","societies","silicon","brazilian","identical","petroleum","compete","ist","norwegian","lover","belong","honolulu","beatles","lips","retention","exchanges","pond","rolls","thomson","barnes","soundtrack","wondering","malta","daddy","ferry","rabbit","profession","seating","dam","cnn","separately","physiology","lil","collecting","das","exports","omaha","tire","participant","scholarships","recreational","dominican","chad","electron","loads","friendship","heather","passport","motel","unions","treasury","warrant","sys","solaris","frozen","occupied","josh","royalty","scales","rally","observer","sunshine","strain","drag","ceremony","somehow","arrested","expanding","provincial","investigations","icq","ripe","yamaha","rely","medications","hebrew","gained","rochester","dying","laundry","stuck","solomon","placing","stops","homework","adjust","assessed","advertiser","enabling","encryption","filling","downloadable","sophisticated","imposed","silence","scsi","focuses","soviet","possession","laboratories","treaty","vocal","trainer","organ","stronger","volumes","advances","vegetables","lemon","toxic","dns","thumbnails","darkness","pty","nuts","nail","bizrate","vienna","implied","span","stanford","sox","stockings","joke","respondent","packing","statute","rejected","satisfy","destroyed","shelter","chapel","gamespot","manufacture","layers","wordpress","guided","vulnerability","accountability","celebrate","accredited","appliance","compressed","bahamas","powell","mixture","bench","univ","tub","rider","scheduling","radius","perspectives","mortality","logging","hampton","christians","borders","therapeutic","pads","butts","inns","bobby","impressive","sheep","accordingly","architect","railroad","lectures","challenging","wines","nursery","harder","cups","ash","microwave","cheapest","accidents","travesti","relocation","stuart","contributors","salvador","ali","salad","monroe","tender","violations","foam","temperatures","paste","clouds","competitions","discretion","tft","tanzania","preserve","jvc","poem","unsigned","staying","cosmetics","easter","theories","repository","praise","jeremy","venice","concentrations","vibrators","estonia","christianity","veteran","streams","landing","signing","executed","katie","negotiations","realistic","cgi","showcase","integral","asks","relax","namibia","generating","christina","congressional","synopsis","hardly","prairie","reunion","composer","bean","sword","absent","photographic","sells","ecuador","hoping","accessed","spirits","modifications","coral","pixel","float","colin","bias","imported","paths","bubble","por","acquire","contrary","millennium","tribune","vessel","acids","focusing","viruses","cheaper","admitted","dairy","admit","mem","fancy","equality","samoa","achieving","tap","stickers","fisheries","exceptions","reactions","leasing","lauren","beliefs","macromedia","companion","squad","analyze","ashley","scroll","relate","divisions","swim","wages","additionally","suffer","forests","fellowship","nano","invalid","concerts","martial","males","victorian","retain","execute","tunnel","genres","cambodia","patents","copyrights","chaos","lithuania","mastercard","wheat","chronicles","obtaining","beaver","updating","distribute","readings","decorative","kijiji","confused","compiler","enlargement","eagles","bases","vii","accused","bee","campaigns","unity","loud","conjunction","bride","rats","defines","airports","instances","indigenous","begun","cfr","brunette","packets","anchor","socks","validation","parade","corruption","stat","trigger","incentives","cholesterol","gathered","essex","slovenia","notified","differential","beaches","folders","dramatic","surfaces","terrible","routers","cruz","pendant","dresses","baptist","scientist","starsmerchant","hiring","clocks","arthritis","bios","females","wallace","nevertheless","reflects","taxation","fever","pmc","cuisine","surely","practitioners","transcript","myspace","theorem","inflation","thee","ruth","pray","stylus","compounds","pope","drums","contracting","arnold","structured","reasonably","jeep","chicks","bare","hung","cattle","mba","radical","graduates","rover","recommends","controlling","treasure","reload","distributors","flame","levitra","tanks","assuming","monetary","elderly","pit","arlington","mono","particles","floating","extraordinary","tile","indicating","bolivia","spell","hottest","stevens","coordinate","kuwait","exclusively","emily","alleged","limitation","widescreen","compile","squirting","webster","struck","illustration","plymouth","warnings","construct","apps","inquiries","bridal","annex","mag","gsm","inspiration","tribal","curious","affecting","freight","rebate","meetup","eclipse","sudan","ddr","downloading","rec","shuttle","aggregate","stunning","cycles","affects","forecasts","detect","actively","ciao","ampland","knee","prep","complicated","chem","fastest","butler","shopzilla","injured","decorating","payroll","cookbook","expressions","ton","courier","uploaded","shakespeare","hints","collapse","americas","connectors","twinks","unlikely","gif","pros","conflicts","techno","beverage","tribute","wired","elvis","immune","latvia","travelers","forestry","barriers","cant","rarely","gpl","infected","offerings","martha","genesis","barrier","argue","incorrect","trains","metals","bicycle","furnishings","letting","arise","guatemala","celtic","thereby","irc","jamie","particle","perception","minerals","advise","humidity","bottles","boxing","bangkok","renaissance","pathology","sara","bra","ordinance","hughes","photographers","infections","jeffrey","chess","operates","brisbane","configured","survive","oscar","festivals","menus","joan","possibilities","duck","reveal","canal","amino","phi","contributing","herbs","clinics","mls","cow","manitoba","analytical","missions","watson","lying","costumes","strict","dive","saddam","circulation","drill","offense","bryan","cet","protest","assumption","jerusalem","hobby","tries","transexuales","invention","nickname","fiji","technician","inline","executives","enquiries","washing","audi","staffing","cognitive","exploring","trick","enquiry","closure","raid","ppc","timber","volt","intense","div","playlist","registrar","showers","supporters","ruling","steady","dirt","statutes","withdrawal","myers","drops","predicted","wider","saskatchewan","cancellation","plugins","enrolled","sensors","screw","ministers","publicly","hourly","blame","geneva","freebsd","veterinary","acer","prostores","reseller","dist","handed","suffered","intake","informal","relevance","incentive","butterfly","tucson","mechanics","heavily","swingers","fifty","headers","mistakes","numerical","ons","geek","uncle","defining","xnxx","counting","reflection","sink","accompanied","assure","invitation","devoted","princeton","jacob","sodium","randy","spirituality","hormone","meanwhile","proprietary","timothy","childrens","brick","grip","naval","thumbzilla","medieval","porcelain","avi","bridges","pichunter","captured","watt","thehun","decent","casting","dayton","translated","shortly","cameron","columnists","pins","carlos","reno","donna","andreas","warrior","diploma","cabin","innocent","scanning","ide","consensus","polo","valium","copying","rpg","delivering","cordless","patricia","horn","eddie","uganda","fired","journalism","prot","trivia","adidas","perth","frog","grammar","intention","syria","disagree","klein","harvey","tires","logs","undertaken","tgp","hazard","retro","leo","livesex","statewide","semiconductor","gregory","episodes","boolean","circular","anger","diy","mainland","illustrations","suits","chances","interact","snap","happiness","arg","substantially","bizarre","glenn","auckland","olympics","fruits","identifier","geo","worldsex","ribbon","calculations","doe","jpeg","conducting","startup","suzuki","trinidad","ati","kissing","wal","handy","swap","exempt","crops","reduces","accomplished","calculators","geometry","impression","abs","slovakia","flip","guild","correlation","gorgeous","capitol","sim","dishes","rna","barbados","chrysler","nervous","refuse","extends","fragrance","mcdonald","replica","plumbing","brussels","tribe","neighbors","trades","superb","buzz","transparent","nuke","rid","trinity","charleston","handled","legends","boom","calm","champions","floors","selections","projectors","inappropriate","exhaust","comparing","shanghai","speaks","burton","vocational","davidson","copied","scotia","farming","gibson","pharmacies","fork","troy","roller","introducing","batch","organize","appreciated","alter","nicole","latino","ghana","edges","mixing","handles","skilled","fitted","albuquerque","harmony","distinguished","asthma","projected","assumptions","shareholders","twins","developmental","rip","zope","regulated","triangle","amend","anticipated","oriental","reward","windsor","zambia","completing","gmbh","buf","hydrogen","webshots","sprint","comparable","chick","advocate","sims","confusion","copyrighted","tray","inputs","warranties","genome","escorts","documented","thong","medal","paperbacks","coaches","vessels","walks","sol","keyboards","sage","knives","eco","vulnerable","arrange","artistic","bat","honors","booth","indie","reflected","unified","bones","breed","detector","ignored","polar","fallen","precise","sussex","respiratory","notifications","msgid","transexual","mainstream","invoice","evaluating","lip","subcommittee","sap","gather","suse","maternity","backed","alfred","colonial","carey","motels","forming","embassy","cave","journalists","danny","rebecca","slight","proceeds","indirect","amongst","wool","foundations","msgstr","arrest","volleyball","adipex","horizon","deeply","toolbox","ict","marina","liabilities","prizes","bosnia","browsers","decreased","patio","tolerance","surfing","creativity","lloyd","describing","optics","pursue","lightning","overcome","eyed","quotations","grab","inspector","attract","brighton","beans","bookmarks","ellis","disable","snake","succeed","leonard","lending","oops","reminder","searched","behavioral","riverside","bathrooms","plains","sku","raymond","insights","abilities","initiated","sullivan","midwest","karaoke","trap","lonely","fool","nonprofit","lancaster","suspended","hereby","observe","julia","containers","attitudes","karl","berry","collar","simultaneously","racial","integrate","bermuda","amanda","sociology","mobiles","screenshot","exhibitions","kelkoo","confident","retrieved","exhibits","officially","consortium","dies","terrace","bacteria","pts","replied","seafood","novels","rrp","recipients","ought","delicious","traditions","jail","safely","finite","kidney","periodically","fixes","sends","durable","mazda","allied","throws","moisture","hungarian","roster","referring","symantec","spencer","wichita","nasdaq","uruguay","ooo","transform","timer","tablets","tuning","gotten","educators","tyler","futures","vegetable","verse","highs","humanities","independently","wanting","custody","scratch","launches","ipaq","alignment","masturbating","henderson","britannica","comm","ellen","competitors","nhs","rocket","aye","bullet","towers","racks","lace","nasty","visibility","latitude","consciousness","ste","tumor","ugly","deposits","beverly","mistress","encounter","trustees","watts","duncan","reprints","hart","bernard","resolutions","ment","accessing","forty","tubes","attempted","col","midlands","priest","floyd","ronald","analysts","queue","trance","locale","nicholas","biol","bundle","hammer","invasion","witnesses","runner","rows","administered","notion","skins","mailed","fujitsu","spelling","arctic","exams","rewards","beneath","strengthen","defend","frederick","medicaid","treo","infrared","seventh","gods","une","welsh","belly","aggressive","tex","advertisements","quarters","stolen","cia","sublimedirectory","soonest","haiti","disturbed","determines","sculpture","poly","ears","dod","fist","naturals","neo","motivation","lenders","pharmacology","fitting","fixtures","bloggers","mere","agrees","passengers","quantities","petersburg","consistently","powerpoint","cons","surplus","elder","sonic","obituaries","cheers","dig","taxi","punishment","appreciation","subsequently","belarus","nat","zoning","gravity","providence","thumb","restriction","incorporate","backgrounds","treasurer","guitars","essence","flooring","lightweight","ethiopia","mighty","athletes","humanity","transcription","holmes","complications","scholars","dpi","scripting","gis","remembered","galaxy","chester","snapshot","caring","loc","worn","synthetic","shaw","segments","testament","expo","dominant","twist","specifics","itunes","stomach","partially","buried","newbie","minimize","darwin","ranks","wilderness","debut","generations","tournaments","bradley","deny","anatomy","bali","judy","sponsorship","headphones","fraction","trio","proceeding","cube","defects","volkswagen","uncertainty","breakdown","milton","marker","reconstruction","subsidiary","strengths","clarity","rugs","sandra","adelaide","encouraging","furnished","monaco","settled","folding","emirates","terrorists","airfare","comparisons","beneficial","distributions","vaccine","belize","fate","viewpicture","promised","volvo","penny","robust","bookings","threatened","minolta","republicans","discusses","gui","porter","gras","jungle","ver","responded","rim","abstracts","zen","ivory","alpine","dis","prediction","pharmaceuticals","andale","fabulous","remix","alias","thesaurus","individually","battlefield","literally","newer","kay","ecological","spice","oval","implies","soma","ser","cooler","appraisal","consisting","maritime","periodic","submitting","overhead","ascii","prospect","shipment","breeding","citations","geographical","donor","mozambique","tension","href","benz","trash","shapes","wifi","tier","fwd","earl","manor","envelope","diane","homeland","disclaimers","championships","excluded","andrea","breeds","rapids","disco","sheffield","bailey","aus","endif","finishing","emotions","wellington","incoming","prospects","lexmark","cleaners","bulgarian","hwy","eternal","cashiers","guam","cite","aboriginal","remarkable","rotation","nam","preventing","productive","boulevard","eugene","gdp","pig","metric","compliant","minus","penalties","bennett","imagination","hotmail","refurbished","joshua","armenia","varied","grande","closest","activated","actress","mess","conferencing","assign","armstrong","politicians","trackbacks","lit","accommodate","tigers","aurora","una","slides","milan","premiere","lender","villages","shade","chorus","christine","rhythm","digit","argued","dietary","symphony","clarke","sudden","accepting","precipitation","marilyn","lions","findlaw","ada","pools","lyric","claire","isolation","speeds","sustained","matched","approximate","rope","carroll","rational","programmer","fighters","chambers","dump","greetings","inherited","warming","incomplete","vocals","chronicle","fountain","chubby","grave","legitimate","biographies","burner","yrs","foo","investigator","gba","plaintiff","finnish","gentle","prisoners","deeper","muslims","hose","mediterranean","nightlife","footage","howto","worthy","reveals","architects","saints","entrepreneur","carries","sig","freelance","duo","excessive","devon","screensaver","helena","saves","regarded","valuation","unexpected","cigarette","fog","characteristic","marion","lobby","egyptian","tunisia","metallica","outlined","consequently","headline","treating","punch","appointments","str","gotta","cowboy","narrative","bahrain","enormous","karma","consist","betty","queens","academics","pubs","quantitative","shemales","lucas","screensavers","subdivision","tribes","vip","defeat","clicks","distinction","honduras","naughty","hazards","insured","harper","livestock","mardi","exemption","tenant","sustainability","cabinets","tattoo","shake","algebra","shadows","holly","formatting","silly","nutritional","yea","mercy","hartford","freely","marcus","sunrise","wrapping","mild","fur","nicaragua","weblogs","timeline","tar","belongs","readily","affiliation","soc","fence","nudist","infinite","diana","ensures","relatives","lindsay","clan","legally","shame","satisfactory","revolutionary","bracelets","sync","civilian","telephony","mesa","fatal","remedy","realtors","breathing","briefly","thickness","adjustments","graphical","genius","discussing","aerospace","fighter","meaningful","flesh","retreat","adapted","barely","wherever","estates","rug","democrat","borough","maintains","failing","shortcuts","retained","voyeurweb","pamela","andrews","marble","extending","jesse","specifies","hull","logitech","surrey","briefing","belkin","dem","accreditation","wav","blackberry","highland","meditation","modular","microphone","macedonia","combining","brandon","instrumental","giants","organizing","shed","balloon","moderators","winston","memo","ham","solved","tide","kazakhstan","hawaiian","standings","partition","invisible","gratuit","consoles","funk","fbi","qatar","magnet","translations","porsche","cayman","jaguar","reel","sheer","commodity","posing","kilometers","bind","thanksgiving","rand","hopkins","urgent","guarantees","infants","gothic","cylinder","witch","buck","indication","congratulations","tba","cohen","sie","usgs","puppy","kathy","acre","graphs","surround","cigarettes","revenge","expires","enemies","lows","controllers","aqua","chen","emma","consultancy","finances","accepts","enjoying","conventions","eva","patrol","smell","pest","italiano","coordinates","rca","carnival","roughly","sticker","promises","responding","reef","physically","divide","stakeholders","hydrocodone","gst","consecutive","cornell","satin","bon","deserve","attempting","mailto","promo","representations","chan","worried","tunes","garbage","competing","combines","mas","beth","bradford","len","phrases","kai","peninsula","chelsea","boring","reynolds","dom","jill","accurately","speeches","reaches","schema","considers","sofa","catalogs","ministries","vacancies","quizzes","parliamentary","obj","prefix","lucia","savannah","barrel","typing","nerve","dans","planets","deficit","boulder","pointing","renew","coupled","viii","myanmar","metadata","harold","circuits","floppy","texture","handbags","jar","somerset","incurred","acknowledge","thoroughly","antigua","nottingham","thunder","tent","caution","identifies","questionnaire","qualification","locks","modelling","namely","miniature","dept","hack","dare","euros","interstate","pirates","aerial","hawk","consequence","rebel","systematic","perceived","origins","hired","makeup","textile","lamb","madagascar","nathan","tobago","presenting","cos","troubleshooting","uzbekistan","indexes","pac","erp","centuries","magnitude","richardson","hindu","fragrances","vocabulary","licking","earthquake","vpn","fundraising","fcc","markers","weights","albania","geological","assessing","lasting","wicked","eds","introduces","kills","roommate","webcams","pushed","webmasters","computational","acdbentity","participated","junk","handhelds","wax","lucy","answering","hans","impressed","slope","reggae","failures","poet","conspiracy","surname","theology","nails","evident","whats","rides","rehab","epic","saturn","organizer","nut","allergy","sake","twisted","combinations","preceding","merit","enzyme","cumulative","zshops","planes","edmonton","tackle","disks","condo","pokemon","amplifier","ambien","arbitrary","prominent","retrieve","lexington","vernon","sans","worldcat","titanium","irs","fairy","builds","contacted","shaft","lean","bye","cdt","recorders","occasional","leslie","casio","deutsche","ana","postings","innovations","kitty","postcards","dude","drain","monte","fires","algeria","blessed","luis","reviewing","cardiff","cornwall","favors","potato","panic","explicitly","sticks","leone","transsexual","citizenship","excuse","reforms","basement","onion","strand","sandwich","lawsuit","alto","informative","girlfriend","bloomberg","cheque","hierarchy","influenced","banners","reject","eau","abandoned","circles","italic","beats","merry","mil","scuba","gore","complement","cult","dash","passive","mauritius","valued","cage","checklist","bangbus","requesting","courage","verde","lauderdale","scenarios","gazette","hitachi","divx","extraction","batman","elevation","hearings","coleman","hugh","lap","utilization","beverages","calibration","jake","eval","efficiently","anaheim","ping","textbook","dried","entertaining","prerequisite","luther","frontier","settle","stopping","refugees","knights","hypothesis","palmer","medicines","flux","derby","sao","peaceful","altered","pontiac","regression","doctrine","scenic","trainers","muze","enhancements","renewable","intersection","passwords","sewing","consistency","collectors","conclude","munich","oman","celebs","gmc","propose","azerbaijan","lighter","rage","adsl","prix","astrology","advisors","pavilion","tactics","trusts","occurring","supplemental","travelling","talented","annie","pillow","induction","derek","precisely","shorter","harley","spreading","provinces","relying","finals","paraguay","steal","parcel","refined","fifteen","widespread","incidence","fears","predict","boutique","acrylic","rolled","tuner","avon","incidents","peterson","rays","asn","shannon","toddler","enhancing","flavor","alike","walt","homeless","horrible","hungry","metallic","acne","blocked","interference","warriors","palestine","listprice","libs","undo","cadillac","atmospheric","malawi","sagem","knowledgestorm","dana","halo","ppm","curtis","parental","referenced","strikes","lesser","publicity","marathon","ant","proposition","gays","pressing","gasoline","apt","dressed","scout","belfast","exec","dealt","niagara","inf","eos","warcraft","charms","catalyst","trader","bucks","allowance","vcr","denial","uri","designation","thrown","prepaid","raises","gem","duplicate","electro","criterion","badge","wrist","civilization","analyzed","vietnamese","heath","tremendous","ballot","lexus","varying","remedies","validity","trustee","maui","handjobs","weighted","angola","squirt","performs","plastics","realm","corrected","jenny","helmet","salaries","postcard","elephant","yemen","encountered","tsunami","scholar","nickel","internationally","surrounded","psi","buses","expedia","geology","pct","creatures","coating","commented","wallet","cleared","smilies","vids","accomplish","boating","drainage","shakira","corners","broader","vegetarian","rouge","yeast","yale","newfoundland","qld","pas","clearing","investigated","ambassador","coated","intend","stephanie","contacting","vegetation","doom","findarticles","louise","kenny","specially","owen","routines","hitting","yukon","beings","bite","issn","aquatic","reliance","habits","striking","myth","infectious","podcasts","singh","gig","gilbert","sas","ferrari","continuity","brook","outputs","phenomenon","ensemble","insulin","assured","biblical","weed","conscious","accent","mysimon","eleven","wives","ambient","utilize","mileage","oecd","prostate","adaptor","auburn","unlock","hyundai","pledge","vampire","angela","relates","nitrogen","xerox","dice","merger","softball","referrals","quad","dock","differently","firewire","mods","nextel","framing","musician","blocking","rwanda","sorts","integrating","vsnet","limiting","dispatch","revisions","papua","restored","hint","armor","riders","chargers","remark","dozens","varies","msie","reasoning","liz","rendered","picking","charitable","guards","annotated","ccd","convinced","openings","buys","burlington","replacing","researcher","watershed","councils","occupations","acknowledged","kruger","pockets","granny","pork","equilibrium","viral","inquire","pipes","characterized","laden","aruba","cottages","realtor","merge","privilege","edgar","develops","qualifying","chassis","dubai","estimation","barn","pushing","llp","fleece","pediatric","boc","fare","asus","pierce","allan","dressing","techrepublic","sperm","bald","filme","craps","fuji","frost","leon","institutes","mold","dame","sally","yacht","tracy","prefers","drilling","brochures","herb","tmp","alot","ate","breach","whale","traveller","appropriations","suspected","tomatoes","benchmark","beginners","instructors","highlighted","bedford","stationery","idle","mustang","unauthorized","clusters","antibody","competent","momentum","fin","wiring","pastor","mud","calvin","uni","shark","contributor","demonstrates","phases","grateful","emerald","gradually","laughing","grows","cliff","desirable","tract","ballet","journalist","abraham","bumper","afterwards","webpage","religions","garlic","hostels","shine","senegal","explosion","banned","wendy","briefs","signatures","diffs","cove","mumbai","ozone","disciplines","casa","daughters","conversations","radios","tariff","nvidia","opponent","pasta","simplified","muscles","serum","wrapped","swift","motherboard","runtime","inbox","focal","bibliographic","eden","distant","incl","champagne","ala","decimal","deviation","superintendent","propecia","dip","nbc","samba","hostel","housewives","employ","mongolia","penguin","magical","influences","inspections","irrigation","miracle","manually","reprint","reid","hydraulic","centered","robertson","flex","yearly","penetration","wound","belle","rosa","conviction","hash","omissions","writings","hamburg","lazy","mpg","retrieval","qualities","cindy","fathers","carb","charging","cas","marvel","lined","cio","dow","prototype","importantly","petite","apparatus","upc","terrain","dui","pens","explaining","yen","strips","gossip","rangers","nomination","empirical","rotary","worm","dependence","discrete","beginner","boxed","lid","sexuality","polyester","cubic","deaf","commitments","suggesting","sapphire","kinase","skirts","mats","remainder","crawford","labeled","privileges","televisions","specializing","marking","commodities","pvc","serbia","sheriff","griffin","declined","guyana","spies","blah","mime","neighbor","motorcycles","elect","highways","thinkpad","concentrate","intimate","reproductive","preston","deadly","feof","bunny","chevy","molecules","rounds","longest","refrigerator","tions","intervals","sentences","dentists","usda","exclusion","workstation","holocaust","keen","flyer","peas","dosage","receivers","urls","disposition","variance","navigator","investigators","cameroon","baking","marijuana","adaptive","computed","needle","baths","enb","cathedral","brakes","nirvana","fairfield","owns","til","invision","sticky","destiny","generous","madness","emacs","climb","blowing","fascinating","landscapes","heated","lafayette","jackie","wto","computation","hay","cardiovascular","sparc","cardiac","salvation","dover","adrian","predictions","accompanying","vatican","brutal","learners","selective","arbitration","configuring","token","editorials","zinc","sacrifice","seekers","guru","isa","removable","convergence","yields","gibraltar","levy","suited","numeric","anthropology","skating","kinda","aberdeen","emperor","grad","malpractice","dylan","bras","belts","blacks","educated","rebates","reporters","burke","proudly","pix","necessity","rendering","mic","inserted","pulling","basename","kyle","obesity","curves","suburban","touring","clara","vertex","hepatitis","nationally","tomato","andorra","waterproof","expired","travels","flush","waiver","pale","specialties","hayes","humanitarian","invitations","functioning","delight","survivor","garcia","cingular","economies","alexandria","bacterial","moses","counted","undertake","declare","continuously","johns","valves","gaps","impaired","achievements","donors","tear","jewel","teddy","convertible","ata","teaches","ventures","nil","bufing","stranger","tragedy","julian","nest","pam","dryer","painful","velvet","tribunal","ruled","nato","pensions","prayers","funky","secretariat","nowhere","cop","paragraphs","gale","joins","adolescent","nominations","wesley","dim","lately","cancelled","scary","mattress","mpegs","brunei","likewise","banana","introductory","slovak","cakes","stan","reservoir","occurrence","idol","mixer","remind","worcester","sbjct","demographic","charming","mai","tooth","disciplinary","annoying","respected","stays","disclose","affair","drove","washer","upset","restrict","springer","beside","mines","portraits","rebound","logan","mentor","interpreted","evaluations","fought","baghdad","elimination","metres","hypothetical","immigrants","complimentary","helicopter","pencil","freeze","performer","abu","titled","commissions","sphere","powerseller","moss","ratios","concord","graduated","endorsed","surprising","walnut","lance","ladder","italia","unnecessary","dramatically","liberia","sherman","cork","maximize","hansen","senators","workout","mali","yugoslavia","bleeding","characterization","colon","likelihood","lanes","purse","fundamentals","contamination","mtv","endangered","compromise","masturbation","optimize","stating","dome","caroline","leu","expiration","namespace","align","peripheral","bless","engaging","negotiation","crest","opponents","triumph","nominated","confidentiality","electoral","changelog","welding","deferred","alternatively","heel","alloy","condos","plots","polished","yang","gently","greensboro","tulsa","locking","casey","controversial","draws","fridge","blanket","bloom","simpsons","lou","elliott","recovered","fraser","justify","upgrading","blades","pgp","loops","surge","frontpage","trauma","tahoe","advert","possess","demanding","defensive","sip","flashers","subaru","forbidden","vanilla","programmers","monitored","installations","deutschland","picnic","souls","arrivals","spank","practitioner","motivated","dumb","smithsonian","hollow","vault","securely","examining","fioricet","groove","revelation","pursuit","delegation","wires","dictionaries","mails","backing","greenhouse","sleeps","blake","transparency","dee","travis","endless","figured","orbit","currencies","niger","bacon","survivors","positioning","heater","colony","cannon","circus","promoted","forbes","mae","moldova","mel","descending","paxil","spine","trout","enclosed","feat","temporarily","ntsc","cooked","thriller","transmit","apnic","fatty","gerald","pressed","frequencies","scanned","reflections","hunger","mariah","sic","municipality","usps","joyce","detective","surgeon","cement","experiencing","fireplace","endorsement","planners","disputes","textiles","missile","intranet","closes","seq","psychiatry","persistent","deborah","conf","marco","assists","summaries","glow","gabriel","auditor","wma","aquarium","violin","prophet","cir","bracket","lookjqx","isaac","oxide","oaks","magnificent","erik","colleague","naples","promptly","modems","adaptation","harmful","paintball","prozac","sexually","enclosure","acm","dividend","newark","paso","glucose","phantom","norm","playback","supervisors","westminster","turtle","ips","distances","absorption","treasures","dsc","warned","neural","ware","fossil","mia","hometown","badly","transcripts","apollo","wan","disappointed","persian","continually","communist","collectible","handmade","greene","entrepreneurs","robots","grenada","creations","jade","scoop","acquisitions","foul","keno","gtk","earning","mailman","sanyo","nested","biodiversity","excitement","somalia","movers","verbal","blink","presently","seas","carlo","workflow","mysterious","novelty","bryant","tiles","voyuer","librarian","subsidiaries","switched","stockholm","tamil","garmin","pose","fuzzy","indonesian","grams","therapist","richards","mrna","budgets","toolkit","promising","relaxation","goat","render","carmen","ira","sen","thereafter","hardwood","erotica","temporal","sail","forge","commissioners","dense","dts","brave","forwarding","awful","nightmare","airplane","reductions","southampton","istanbul","impose","organisms","sega","telescope","viewers","asbestos","portsmouth","cdna","meyer","enters","pod","savage","advancement","harassment","willow","resumes","bolt","gage","throwing","existed","generators","wagon","barbie","dat","soa","knock","urge","smtp","generates","potatoes","thorough","replication","inexpensive","kurt","receptors","peers","roland","optimum","neon","interventions","quilt","huntington","creature","ours","mounts","syracuse","internship","lone","refresh","aluminium","snowboard","beastality","webcast","michel","evanescence","subtle","coordinated","notre","shipments","maldives","stripes","firmware","antarctica","cope","shepherd","canberra","cradle","chancellor","mambo","lime","kirk","flour","controversy","legendary","bool","sympathy","choir","avoiding","beautifully","blond","expects","cho","jumping","fabrics","antibodies","polymer","hygiene","wit","poultry","virtue","burst","examinations","surgeons","bouquet","immunology","promotes","mandate","wiley","departmental","bbs","spas","ind","corpus","johnston","terminology","gentleman","fibre","reproduce","convicted","shades","jets","indices","roommates","adware","qui","intl","threatening","spokesman","zoloft","activists","frankfurt","prisoner","daisy","halifax","encourages","ultram","cursor","assembled","earliest","donated","stuffed","restructuring","insects","terminals","crude","morrison","maiden","simulations","sufficiently","examines","viking","myrtle","bored","cleanup","yarn","knit","conditional","mug","crossword","bother","budapest","conceptual","knitting","attacked","bhutan","liechtenstein","mating","compute","redhead","arrives","translator","automobiles","tractor","allah","continent","unwrap","fares","longitude","resist","challenged","telecharger","hoped","pike","safer","insertion","instrumentation","ids","hugo","wagner","constraint","groundwater","touched","strengthening","cologne","gzip","wishing","ranger","smallest","insulation","newman","marsh","ricky","ctrl","scared","theta","infringement","bent","laos","subjective","monsters","asylum","lightbox","robbie","stake","cocktail","outlets","swaziland","varieties","arbor","mediawiki","configurations","poison"]}();

/***/ }),

/***/ 6802:
/***/ (() => {

(()=>{var e="\r\n";function t(e,t,a){if(!t&&""!==t&&0!==t)return"";let o=t;return"boolean"==typeof t&&a&&(o=a(t)),` ${e}="${o}"`}var a=class{static createHeader(e={}){const t=["version"];e.version||(e.version="1.0"),e.encoding&&t.push("encoding"),e.standalone&&t.push("standalone");return`<?xml ${t.map((t=>`${t}="${e[t]}"`)).join(" ")} ?>`}static createXml(a,o){let r="";a.properties&&(a.properties.prefixedAttributes&&a.properties.prefixedAttributes.forEach((e=>{Object.keys(e.map).forEach((a=>{r+=t(e.prefix+a,e.map[a],o)}))})),a.properties.rawMap&&Object.keys(a.properties.rawMap).forEach((e=>{r+=t(e,a.properties.rawMap[e],o)})));let n="<"+a.name+r;return a.children||null!=a.textNode?null!=a.textNode?n+">"+a.textNode+"</"+a.name+">"+e:(n+=">\r\n",a.children&&a.children.forEach((e=>{n+=this.createXml(e,o)})),n+"</"+a.name+">"+e):n+"/>"+e}};JQX.Utilities.Assign("DataExporter",class{constructor(e,t,a,o){const r=this;e||(e={}),r.style=e.style,r.header=e.header,r.exportHeader=void 0===e.exportHeader||e.exportHeader,r.hierarchical=e.hierarchical,r.expandChar=e.expandChar||"+",r.collapseChar=e.collapseChar||"-",r.pageOrientation=e.pageOrientation,r.allowNull=e.allowNull||!1,r.spreadsheets=e.spreadsheets||null,r._media=[],!r.hierarchical&&t&&t.length>0?r.groupBy=t:r.mergedCells=e.mergedCells,!r.groupBy&&a&&Object.keys(a).length>0&&(r.filterBy=a),o&&(r.conditionalFormatting=o),r.timeBetween1900And1970=new Date(1970,0,1,0,0,0).getTime()-new Date(1900,0,1,0,0,0).getTime()}downloadFile(e,t,a){let o;if(!a)return e;if(o=e instanceof Blob?e:new Blob([e],{type:t}),window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(o,a);else{const e=document.createElement("a"),t=URL.createObjectURL(o);e.href=t,e.download=a,e.style.position="absolute",e.style.visibility="hidden",document.body.appendChild(e),e.click(),setTimeout((function(){document.body.removeChild(e),window.URL.revokeObjectURL(t)}),100)}}exportData(e,t,a,o){const r=this;if(r.actualHierarchy=r.hierarchical,t=t.toLowerCase(),r.exportHeader&&(r.header?(0===(e=e.slice(0)).length&&(r.actualHierarchy=!1),r.processComplexHeader(r.header,e,t)):1===e.length&&(r.actualHierarchy=!1)),0===e.length)return void console.warn("No data to export.");if("xlsx"===t){r.xlsxStartIndex=r.complexHeader?r.complexHeader.length:+r.exportHeader;const e=r.headerContent?r.headerContent.length:0;r.xlsxStartIndex=r.xlsxStartIndex+e}r.actualHierarchy&&(e=r.processHierarchicalData(e,t)),r.getDatafields(e),a&&a.slice(a.length-t.length-1,a.length)!=="."+t&&(a+="."+t);let n=null;switch(t){case"csv":n=r.exportToCSVAndTSV(e,{delimiter:", ",MIME:"text/csv;charset=utf-8;",toRemove:2},a);break;case"html":n=r.exportToHTML(e,a);break;case"jpeg":case"png":r.exportToImage(e,a,t,o);break;case"json":n=r.exportToJSON(e,a);break;case"pdf":n=r.exportToPDF(e,a);break;case"tsv":n=r.exportToCSVAndTSV(e,{delimiter:"\t",MIME:"text/tab-separated-values",toRemove:1},a);break;case"xlsx":n=r.exportToXLSX(e,a,o);break;case"xml":n=r.exportToXML(e,a);break;case"md":n=r.exportToMD(e,a)}return o&&n&&o(n),delete r.complexHeader,n}exportToCSVAndTSV(e,t,a){const o=this,r=o.datafields;let n="";for(let a=0;a<e.length;a++){const l=e[a];let s="";for(let e=0;e<r.length;e++)o.actualHierarchy&&0===e?s+=('""'+t.delimiter).repeat(l._level-1)+'"'+l[r[e]]+'"'+t.delimiter+('""'+t.delimiter).repeat(o.maxLevel-l._level):s+='"'+l[r[e]]+'"'+t.delimiter;s=s.slice(0,s.length-t.toRemove)+"\n",n+=s}if(!a)return n;const l="\ufeff"+n;return this.downloadFile(l,t.MIME,a)}exportToHTML(e,t){const a=this,o=a.datafields,r=a.style;let n="",l=0,s="";if(e=a.processGroupingInformation(e),a.data=e,a.exportHeader&&(n=a.getHTMLHeader(o,e),l=1),arguments[2]){s=`<script type="text/javascript" src="${Array.from(document.getElementsByTagName("script")).find((e=>-1!==e.src.indexOf("html2canvas"))).src}"><\/script>`}let i=`<!DOCTYPE html>\n<html>\n<head>\n    <meta charset="UTF-8">\n    <style type="text/css">\n${a.getRowStyle()}${a.getColumnStyle()}\n    </style>${s}${a.toggleableFunctionality()}\n</head>\n<body>\n    <table${a.getTableStyle()}>${n}\n        <tbody>\n`;const c={},p={},m=[];a.getMergedCellsInfo(c,p);e:for(let n=l;n<e.length;n++){const s=e[n],d=n-l;let f=a.getAlternationIndex(d," rowN"),h="",g="",u="",x=0;if(a.actualHierarchy)s._collapsed&&(h=" collapsed"),g=` level="${s._level}"`;else if(a.groupBy)for(let e=0;e<a.groupBy.length;e++){const t=a.groupBy[e],o=s[t],r=a.groups[t][o];if(u+=o,-1===m.indexOf(u)){i+=`            <tr class="row">\n                <td class="column group" style="padding-left: ${25*x}px;" colspan="${a.datafields.length}">${r}</td>\n            </tr>`,m.push(u),n--;continue e}x++}let y=`            <tr class="row row${d}${f}${h}"${g}`;t||(y+=' style="page-break-inside: avoid;"'),y+=">\n";for(let e=0;e<o.length;e++){const t=e+","+d;let n=1,l=1;if(c[t])n=c[t].colspan,l=c[t].rowspan;else if(p[t])continue;const i=o[e];let m=s[i],f="";if(a.actualHierarchy&&0===e){let e="";s._expanded?e=a.collapseChar:!1===s._expanded&&(e=a.expandChar),f=`<div class="toggle-element" style="margin-left: ${25*(s._level-1)+5}px;" expanded>${e}</div>`}m=a.getFormattedValue(m,i),"string"==typeof m&&(m.indexOf("base64")>=0||m.indexOf(".png")>=0||m.indexOf(".jpeg")>=0)&&(m=`<img height="30" src="${m}"/>`);let h="";if(r&&r.columns&&r.columns[i]&&r.columns[i][d]){const e=r.columns[i][d];h+=`border-color: ${e.border}; background-color: ${e.background}; color: ${e.color};"`}0===e&&x>1&&(h+=`padding-left: ${25*(x-1)}px;"`),h&&(h=` style="${h}"`),y+=`                <td class="column column${i}"${h} colspan="${n}" rowspan="${l}">${f+m}</td>\n`}i+=y+"            </tr>\n"}return i+="        </tbody>\n    </table>\n</body>\n</html>",arguments[2]?i:this.downloadFile(i,"text/html",t)}exportToImage(e,t,a,o){try{html2canvas}catch(e){throw new Error("jqx-grid: Missing reference to 'html2canvas.min.js'.")}let r=null;const n=this.exportToHTML(e,t,!0),l=document.createElement("iframe");return l.style.position="absolute",l.style.top=0,l.style.left=0,l.style.border="none",l.style.width="100%",l.style.height="100%",l.style.opacity=0,l.style.pointerEvents="none",document.body.appendChild(l),l.contentDocument.write(n),function e(){l.contentDocument.body&&l.contentDocument.body.firstElementChild?l.contentWindow.html2canvas(l.contentDocument.body.firstElementChild).then((e=>{const n=new JQX.Utilities.Draw(document.createElement("div"));r=e.toDataURL("image/png"),o?o(r):(document.body.appendChild(e),n.exportImage(void 0,e,a,t)),l.remove(),e.remove()})):requestAnimationFrame(e)}(),r}getMergedCellsInfo(e,t,a){const o=this;if(!o.mergedCells)return;const r=a&&0!==a[o.datafields.length-1];o.mergedCellsPDF=o.mergedCells.slice(0);for(let n=0;n<o.mergedCellsPDF.length;n++){const l=o.mergedCellsPDF[n];let s=l.colspan,i=l.rowspan;if(i<2&&s<2)continue;const c=l.cell[1];let p=l.cell[0];if(r&&s>1){const e=a[p],t=a[p+s-1],r=[];if(t>e){let n=e,l=p,m=0;e:for(let o=e;o<=t;o++){let e=l,t=0;for(;a[l]===n;)if(l++,m++,t++,m===s){r.push({start:e,span:t});break e}r.push({start:e,span:t}),n=a[l]}s=r[0].span;for(let e=1;e<r.length;e++)o.mergedCellsPDF.push({cell:[r[e].start,c],colspan:r[e].span,rowspan:i,originalCell:p})}}for(let a=p;a<p+s;a++)for(let o=c;o<c+i;o++){const r=a+","+o;a!==p||o!==c?t[r]=!0:e[r]={colspan:s,rowspan:i,originalCell:l.originalCell}}}}getAlternationIndex(e,t){if(!this.style)return"";const a=this.style.rows;return a&&a.alternationCount&&((void 0===a.alternationStart||e>=a.alternationStart)&&(void 0===a.alternationEnd||e<=a.alternationEnd)||a.alternationStart===a.alternationEnd)?t+e%a.alternationCount:""}getFormattedValue(e,t){const a=this,o=a.style;if(null===e)return a.allowNull?"null":"";if(t&&o&&o.columns&&o.columns[t]&&o.columns[t].format){if("number"==typeof e)return a.formatNumber(e,o.columns[t].format);if(e instanceof Date)return a.formatDate(e,o.columns[t].format)}else if(e instanceof Date)return a.formatDate(e,"d");return e}exportToJSON(e,t){return this.downloadFile(JSON.stringify(e,this.datafields.concat("rows")),"application/json",t)}exportToMD(e,t){const a=this.datafields;let o="";for(let t=0,r=e.length;t<r;t+=1)for(let r=0,n=a.length;r<n;r+=1){const n=e[t][a[r]];"string"==typeof n&&(o+=n)}return this.downloadFile(o,"application/text",t)}exportToPDF(e,t){try{pdfMake}catch(e){throw new Error("Missing reference to 'pdfmake.min.js'.")}const a=this,o=a.datafields,r=+a.exportHeader,n=[],l={},s={},i={},c=r?a.complexHeader?a.complexHeader.length:1:0,p={pageOrientation:a.pageOrientation||"portrait"};let m,d=[],f=[];function h(){let e=[];for(let t=0;t<m.length;t++)e.push([]);return e}e=a.processGroupingInformation(e),a.data=e,a.headerRows=c,a.getPDFStyle();const g=a.styleInfo;m=g?a.wrapPDFColumns(p,i):[{body:d,datafields:o}],r&&(d=a.getPDFHeader(o,m,i)),a.getMergedCellsInfo(l,s,i);e:for(let t=r;t<e.length;t++){const c=e[t];let p="",d=0;if(a.groupBy)for(let e=0;e<a.groupBy.length;e++){const o=a.groupBy[e],r=c[o],l=a.groups[o][r];if(p+=r,-1===n.indexOf(p)){a.createGroupHeaderRow(m,{text:l,style:["row","cell","group"],marginLeft:7.5*d}),n.push(p),t--;continue e}d++}const f=h(),u=t-r;let x=a.getAlternationIndex(u,"");for(let e=0;e<o.length;e++){const t=o[e],r={style:["row","row"+u,"cell","cell"+t]},n=i[e]||0;if(void 0!==x&&r.style.splice(1,0,"rowN"+x),a.mergedCellsPDF){const t=e+","+u,a=l[t];if(a){if(r.colSpan=a.colspan,r.rowSpan=a.rowspan,void 0!==a.originalCell){r.text="",r.style[r.style.length-1]="cell"+o[a.originalCell],f[n].push(r);continue}}else if(s[t]){f[n].push({});continue}}const p=a.getFormattedValue(c[t],t);"string"==typeof p&&(p.indexOf("base64")>=0||p.indexOf(".png")>=0||p.indexOf(".jpeg")>=0)?(r.image=p,r.width=100):p&&Array.isArray(p)&&p[0]&&p[0].indexOf("base64")>=0?(r.image=p[0],r.width=100,g&&g.widths[e]&&(r.width=parseInt(g.widths[e],10)-10)):r.text=p.toString(),a.getUniqueStylePDF(r,t,u),a.setIndentation(r,{j:e,currentRecord:c,value:p,outlineLevel:d}),f[n].push(r)}for(let e=0;e<m.length;e++)m[e].body.push(f[e])}if(g){for(let e=0;e<m.length;e++){const t=m[e].body;for(let a=c-1;a>=0;a--)t.unshift(d[e][a]);f.push({table:{headerRows:c,widths:m[e].widths,heights:function(e){return g.heights[e]?g.heights[e]:g.defaultHeight?g.defaultHeight:void 0},body:t},pageBreak:"after"})}delete f[m.length-1].pageBreak,p.styles=g.styles}else{const e=m[0].body;for(let t=c-1;t>=0;t--)e.unshift(d[0][t]);f=[{table:{headerRows:c,body:e}}],p.styles={header:{bold:!0},group:{bold:!0}}}if(p.content=f,!t){const e=pdfMake.createPdf(p);return delete a.mergedCellsPDF,delete a.styleInfo,e}pdfMake.createPdf(p).download(t),delete a.mergedCellsPDF,delete a.styleInfo}getPDFStyle(){const e=this,t=e.style;if(!t)return"";const a=e.data[0],o=t.header,r=t.columns,n=t.rows,l={heights:[],widths:Array(e.datafields.length).fill("*"),styles:{header:{},row:{},cell:{},group:{fillColor:"#FFFFFF",color:"#000000",bold:!0}}};function s(t,o){if(t)for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r))if(void 0===a[r])if("height"===r&&"header"===o)for(let a=0;a<e.headerRows;a++)l.heights[a]=parseInt(t[r],10)/e.headerRows/1.4;else e.storePDFStyle({prop:r,value:t[r],toUpdate:o});else for(let a in t[r]){if(!isNaN(a)||!Object.prototype.hasOwnProperty.call(t[r],a))continue;const n=t[r][a],s=e.datafields.indexOf(r);"width"===a&&"*"===l.widths[s]?l.widths[s]=n:e.storePDFStyle({prop:a,value:n,toUpdate:o+r})}}if(e.styleInfo=l,s(o,"header"),s(r,"cell"),n){for(let t in n){if(!Object.prototype.hasOwnProperty.call(n,t)||-1!==t.indexOf("alt"))continue;const a=n[t];if(isNaN(t))"height"===t?l.defaultHeight=parseFloat(a)/1.4:e.storePDFStyle({prop:t,value:a,toUpdate:"row"});else for(let o in a)Object.prototype.hasOwnProperty.call(a,o)&&("height"===o?l.heights[parseFloat(t)+e.headerRows]=parseFloat(a[o])/1.4:e.storePDFStyle({prop:o,value:a[o],toUpdate:"row"+t}))}if(n.alternationCount)for(let e=0;e<n.alternationCount;e++){const t={};n[`alternationIndex${e}Color`]&&(t.color=n[`alternationIndex${e}Color`]),n[`alternationIndex${e}BackgroundColor`]&&(t.fillColor=n[`alternationIndex${e}BackgroundColor`]),l.styles["rowN"+e]=t}}}storePDFStyle(e){const t=this;let a=t.styleInfo.styles[e.toUpdate];a||(a={},t.styleInfo.styles[e.toUpdate]=a);let o=e.value;switch(e.prop){case"backgroundColor":a.fillColor=o;break;case"color":a.color=o;break;case"fontSize":a.fontSize=parseFloat(o);break;case"fontStyle":"italic"===o&&(a.italics=!0);break;case"fontWeight":"bold"===o&&(a.bold=!0);break;case"textAlign":a.alignment=o}}wrapPDFColumns(e,t){const a=this,o=this.styleInfo,r="portrait"===e.pageOrientation?655:1155,n=[];let l=0;for(let e=0;e<o.widths.length;e++){let s,i=o.widths[e];if("*"===i?s=r/6:"string"==typeof i&&-1!==i.indexOf("%")?(s=Math.min(r,Math.floor(parseFloat(i)/100*r)),s===r&&(i="*")):(i=parseFloat(i),i>=r?(s=r,i="*"):(s=i,i/=1.4)),void 0===n[l]){const o=[];n[l]={body:o,width:s,widths:[i],datafields:[a.datafields[e]]},t[e]=l;continue}const c=n[l];c.width+s>r?(l++,e--):(t[e]=l,c.width+=s,c.widths.push(i),c.datafields.push(a.datafields[e]))}return n}getPDFHeader(e,t,a){const o=this,r=[],n=o.headerRows,l=[],s=[];let i,c,p=[];o.complexHeader?(i=o.complexHeader,c=o.complexDataFieldsHeader):(i=[Object.values(o.data[0])],c=i);for(let e=0;e<n;e++){const t=i[e],o=c[e];for(let r=0;r<t.length;r++){let n=a[r]||0;l[n]||(l[n]=[],s[n]=[]),l[n][e]||(l[n][e]=[],s[n][e]=[]),l[n][e].push(t[r]),s[n][e].push(o[r])}}function m(e,t,a,o){for(let r=0;r<n;r++){const l=e[r],s=t[r],i=[];for(let e=0;e<l.length;e++){const a=s[e];let c=1,p=1;if(s[e-1]&&s[e-1]===a||t[r-1]&&t[r-1][e]===a){i.push({});continue}let m=e+1;for(;s[m]&&s[m]===s[m-1];)c++,m++;for(m=r+1;t[m]&&t[m][e]===a;)p++,m++;const d=r===n-1||p+r===n?o.datafields[e]:null,f={text:l[e],colSpan:c,rowSpan:p};d?f.style=["header","header"+d]:(f.alignment="center",f.style="header"),i.push(f)}a.push(i)}}for(let e=0;e<t.length;e++)p=[],m(l[e],s[e],p,t[e]),r.push(p);return r}createGroupHeaderRow(e,t){for(let a=0;a<e.length;a++){const o=Object.assign({},t),r=e[a].datafields.length,n=[o];o.colSpan=r,n.length=r,n.fill({},1,r-1),e[a].body.push(n)}}getUniqueStylePDF(e,t,a){const o=this.style;if(!o||!o.columns||!o.columns[t])return;const r=o.columns[t][a];r&&(e.fillColor=function(e){const t=/rgba\((\d+),(\d+),(\d+)\,(\d*.\d+|\d+)\)/gi.exec(e.replace(/\s/g,""));if(null===t)return e;const a=parseFloat(t[1]).toString(16).toUpperCase(),o=parseFloat(t[2]).toString(16).toUpperCase(),r=parseFloat(t[3]).toString(16).toUpperCase();return"#"+"0".repeat(2-a.length)+a+"0".repeat(2-o.length)+o+"0".repeat(2-r.length)+r}(r.background),e.color=r.color.toLowerCase())}setIndentation(e,t){if(0!==t.j)return;const a=this;if(a.actualHierarchy){const o=t.currentRecord;void 0!==o._expanded?(e.marginLeft=25*(o._level-1),e.text=a.collapseChar+" "+t.value):e.marginLeft=25*(o._level-1)+6}else t.outlineLevel>1&&(e.marginLeft=7.5*(t.outlineLevel-1))}addBodyImageToMap(e,t,a,o){const{row:r,column:n}=e.position||{},l=e;o&&(null===t||null===a||r&&n||(e.position||(e.position={}),e.position=Object.assign({},e.position,{row:t,column:o.indexOf(a)+1})),l.totalWidth=l.width,l.totalHeight=l.height),this.buildImageMap({imageToAdd:l,idx:1});let s=this.worksheetImageIds.get(1);s||(s=new Map,this.worksheetImageIds.set(1,s));const i=this.worksheetImages.get(1);i?i.push(l):this.worksheetImages.set(1,[l]),s.get(e.id)||s.set(e.id,{index:s.size,type:e.imageType})}buildImageMap(e){const{imageToAdd:t,idx:a}=e,o=this.images.get(t.id);if(o){const e=o.find((e=>e.sheetId===a));e?e.image.push(t):o.push({sheetId:a,image:[t]})}else this.images.set(t.id,[{sheetId:a,image:[t]}]),this.workbookImageIds.set(t.id,{type:t.imageType,index:this.workbookImageIds.size})}createXmlPart(e,t){const o=a.createHeader({encoding:"UTF-8",standalone:"yes"}),r=a.createXml(e);return t?r:`${o}${r}`}generateWorksheetImages(e,t,a){const o=this;this.images=new Map,this.worksheetImages=new Map,this.worksheetHeaderFooterImages=new Map,this.workbookImageIds=new Map,this.worksheetImageIds=new Map;let r=0,n=0,l=0;if(o.addImageToCell){for(let e=1+(o.headerContent?o.headerContent.length:0);e<a.length;e++){const t=a[e];for(let a=0;a<o.datafields.length;a++){const r=o.datafields[a];let n=t[r];if(n&&Array.isArray(n)){for(let a=0;a<n.length;a++){const s=o.addImageToCell(e+l++,r,n[a],n,t,a);s&&(t[r]="",this.addBodyImageToMap(s.image,1+e,r,o.datafields))}continue}const s=o.addImageToCell(e+l++,r,n,n,t,0);s&&(t[r]="",s.value&&s.value!==n&&(t[r]=s.value),this.addBodyImageToMap(s.image,1+e,r,o.datafields))}}if(o.headerContent)for(let e=0;e<o.headerContent.length;e++){const t=a[e];for(let a=0;a<o.datafields.length;a++){const r=o.datafields[a],n=t[r],l=o.addImageToCell(e+1,r,n,n,t,0);l&&(t[r]="",this.addBodyImageToMap(l.image,1+e,r,o.datafields))}}this.images.forEach((t=>{const a=t[0].image[0],{base64:o,imageType:r}=a,l="jpg"===r?"jpeg":r,s=(e,t)=>{e||(e="");const a=atob(e),o=new Array(a.length);for(let e=0;e<a.length;e++)o[e]=a.charCodeAt(e);const r=new Uint8Array(o);return new Blob([r],{type:t})};let i;i=o&&Array.isArray(o)?s(o[0].split(",")[1],"image/"+l):s(o.split(",")[1],"image/"+l),e.file(`xl/media/image${++n}.${l}`,i,!0)}))}let s=0;var i=e=>Math.ceil(9525*e),c=(e,t,a,o)=>({name:"xdr:pic",children:[f(e,t+1),p(e,a+1),m(e,o)]}),p=(e,t)=>{let a;if(e.transparency){const t=Math.min(Math.max(e.transparency,0),100);a=[{name:"a:alphaModFix",properties:{rawMap:{amt:1e5-Math.round(1e3*t)}}}]}if(e.recolor)switch(a||(a=[]),e.recolor.toLocaleLowerCase()){case"grayscale":a.push({name:"a:grayscl"});break;case"sepia":a.push(getDuoTone({color:"black"},{color:"D9C3A5",tint:50,saturation:180}));break;case"washout":a.push({name:"a:lum",properties:{rawMap:{bright:"70000",contrast:"-70000"}}})}return{name:"xdr:blipFill",children:[{name:"a:blip",properties:{rawMap:{cstate:"print","r:embed":`rId${t}`,"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}},children:a},{name:"a:stretch",children:[{name:"a:fillRect"}]}]}},m=(e,t)=>{const a={name:"a:xfrm",children:[{name:"a:off",properties:{rawMap:{x:0,y:0}}},{name:"a:ext",properties:{rawMap:{cx:t.width,cy:t.height}}}]};if(e.rotation){const t=e.rotation;a.properties={rawMap:{rot:6e4*Math.min(Math.max(t,0),360)}}}return{name:"xdr:spPr",children:[a,{name:"a:prstGeom",properties:{rawMap:{prst:"rect"}},children:[{name:"a:avLst"}]}]}},d=e=>{const t=[{name:"a:ext",properties:{rawMap:{uri:"{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}"}},children:[{name:"a16:creationId",properties:{rawMap:{id:"{822E6D20-D7BC-2841-A643-D49A6EF008A2}","xmlns:a16":"http://schemas.microsoft.com/office/drawing/2014/main"}}}]}];switch(e.recolor&&e.recolor.toLowerCase()){case"grayscale":case"sepia":case"washout":t.push({name:"a:ext",properties:{rawMap:{uri:"{C183D7F6-B498-43B3-948B-1728B52AA6E4}"}},children:[{name:"adec:decorative",properties:{rawMap:{val:"0","xmlns:adec":"http://schemas.microsoft.com/office/drawing/2017/decorative"}}}]})}return{name:"a:extLst",children:t}},f=(e,t)=>({name:"xdr:nvPicPr",children:[{name:"xdr:cNvPr",properties:{rawMap:{id:t,name:e.id,descr:null!=e.altText?e.altText:void 0}},children:[d(e)]},{name:"xdr:cNvPicPr",properties:{rawMap:{preferRelativeResize:"0"}},children:[{name:"a:picLocks"}]}]}),h=(e,t)=>({name:`xdr:${e}`,children:[{name:"xdr:col",textNode:t.col.toString()},{name:"xdr:colOff",textNode:t.offsetX.toString()},{name:"xdr:row",textNode:t.row.toString()},{name:"xdr:rowOff",textNode:t.offsetY.toString()}]}),g={getTemplate(e){const{sheetIndex:t}=e,a=o.worksheetImages.get(t),r=o.worksheetImageIds.get(t);return{name:"xdr:wsDr",properties:{rawMap:{"xmlns:xdr":"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main"}},children:a.map(((e,t)=>{const a=(e=>{e.fitCell=!!e.fitCell||!e.width||!e.height;const{position:t={},fitCell:a,width:o=0,height:r=0,totalHeight:n,totalWidth:l}=e,{offsetX:s=0,offsetY:c=0,row:p=1,rowSpan:m=1,column:d=1,colSpan:f=1}=t;return{from:{row:p-1,col:d-1,offsetX:i(s),offsetY:i(c)},to:{row:p-1+(a?1:m-1),col:d-1+(a?1:f-1),offsetX:i(o+s),offsetY:i(r+c)},height:i(n||r),width:i(l||o)}})(e);return{name:"xdr:twoCellAnchor",properties:{rawMap:{editAs:"absolute"}},children:[h("from",a.from),h("to",a.to),c(e,t,r.get(e.id).index,a),{name:"xdr:clientData"}]}}))}}};const u=e=>this.createXmlPart(g.getTemplate({sheetIndex:e}));var x={getTemplate(e){const{Id:t,Type:a,Target:o}=e;return{name:"Relationship",properties:{rawMap:{Id:t,Type:a,Target:o}}}}},y={getTemplate:e=>({name:"Relationships",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"}},children:e.map((e=>x.getTemplate(e)))})},b=y;const w=e=>{const t=this.worksheetImageIds.get(e)||[],a=[];for(const[e,o]of t)a.push({Id:`rId${o.index+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`../media/image${this.workbookImageIds.get(e).index+1}.${o.type}`});return this.createXmlPart(y.getTemplate(a))};var C=(t,a)=>{const o=`xl/drawings/drawing${a+1}.xml`,r=`xl/drawings/_rels/drawing${a+1}.xml.rels`;e.file(r,w(t)),e.file(o,u(t))};for(let e=1;e<a.length;e++){this.worksheetImages.has(e)&&(C(e,s),r=s,s++)}var v=this.exportAsTable?1:0;e.file("xl/worksheets/_rels/sheet1.xml.rels",(({drawingIndex:e,tableIndex:t}={})=>{if(void 0===e&&void 0===t)return"";const a=[];null!==e&&n>0&&a.push({Id:`rId${a.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",Target:`../drawings/drawing${e+1}.xml`}),null!==t&&a.push({Id:`rId${a.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",Target:"../tables/table1.xml"});const o=b.getTemplate(a);return this.createXmlPart(o)})({tableIndex:v,drawingIndex:r}))}exportToXLSX(e,t,a){try{JSZip}catch(e){throw new Error("Missing reference to 'jszip.min.js'.")}const o=this;let r=o.style;if(e=o.processGroupingInformation(e,!0),o.data=e,o.getColumnsArray(),o.complexHeaderMergedCells=[],o.complexHeaderMergeInfo)for(let e in o.complexHeaderMergeInfo)if(Object.prototype.hasOwnProperty.call(o.complexHeaderMergeInfo,e)){const t=o.complexHeaderMergeInfo[e];if(t.from[0]===t.to[0]&&t.from[1]===t.to[1])continue;o.complexHeaderMergedCells.push({from:o.columnsArray[t.from[1]]+(t.from[0]+1),to:o.columnsArray[t.to[1]]+(t.to[0]+1)})}o.getConditionalFormatting(),r||(r=o.generateDefaultStyle(e));const n=new JSZip,l=n.folder("_rels"),s=n.folder("docProps"),i=n.folder("xl");if(o.headerContent){const t=o.headerContent,a=[];for(let e=0;e<t.length;e++){const r=t[e].cells;let n={};for(let e=0;e<o.datafields.length;e++){const t=o.datafields[e];r[t]?n[t]=r[t]:n[t]=null}a.push(n)}e=[...a,...e]}if(o.footerContent){const t=o.footerContent,a=[];for(let e=0;e<t.length;e++){const r=t[e].cells;let n={};for(let e=0;e<o.datafields.length;e++){const t=o.datafields[e];r[t]?n[t]=r[t]:n[t]=null}a.push(n)}e=[...e,...a]}this.generateWorksheetImages(n,i,e);const c=o.generateSharedStrings(e),p=c.collection,m=c.xml,d=o.generateStyles(r),f=o.groupBy?o.generateSheet1WithGrouping(e,p):o.generateSheet1(e,p,o.datafields,o.columnsArray),h=o.generateAuxiliaryFiles();let g=!1;const u=this.worksheetImages.get(1);u&&u.length&&(g=!0);const x=i.folder("_rels"),y=i.folder("theme"),b=i.folder("worksheets");if(g){i.folder("media"),i.folder("drawings"),i.folder("drawings/_rels")}if(l.file(".rels",h._relsRels),s.file("app.xml",h.docPropsAppXml),s.file("core.xml",h.docPropsCoreXml),x.file("workbook.xml.rels",h.xl_relsWorkbookXmlRels),y.file("theme1.xml",h.xlThemeTheme1Xml),b.file("sheet1.xml",f),i.file("sharedStrings.xml",m),i.file("styles.xml",d),i.file("workbook.xml",h.xlWorkbookXml),n.file("[Content_Types].xml",h.Content_TypesXml),this.spreadsheets){let e=2;for(let t=0;t<this.spreadsheets.length;t++){const a=this.spreadsheets[t],r=a.dataFields;let n=[...a.dataSource],l=[];for(let e=0;e<a.columns.length;e++){const t=a.columns[e];"string"==typeof t?l[t]=t:l[t.dataField]=t.label}n.splice(0,0,l);const s=o.generateSheet1(n,p,r,o.getColumnsArrayFromDataFields(r),e);b.file("sheet"+e+++".xml",s)}}if(this.exportAsTable){const t=Object.values(o.data[0]),a=o.groupBy&&o.groupBy.length?o.groupDimensionEnd:o.columnsArray[o.columnsArray.length-1]+(e.length-1);let r=`<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" mc:Ignorable="xr xr3" id="1" name="Table1" displayName="Table1" ref="A${this.xlsxStartIndex}:${a}" totalsRowShown="0">\n<autoFilter ref="A${this.xlsxStartIndex}:${a}">`;for(let e=0;e<t.length;e++)r+=`<filterColumn colId="${e}" hiddenButton="0"/>\n`;r+="</autoFilter>";let n=`\n<tableColumns count="${t.length}">`;for(let e=0;e<t.length;e++){n+=`<tableColumn id="${e+1}" name="${t[e]}" dataCellStyle="Normal"/>\n`}n+="\n</tableColumns>",r+=n,r+='\n    <tableStyleInfo name="TableStyleLight1" showFirstColumn="0" showLastColumn="0" showRowStripes="1" showColumnStripes="0"/>\n</table>';i.folder("tables").file("table1.xml",r)}n.generateAsync({type:"blob",mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}).then((function(e){return!t&&a&&a(e),o.downloadFile(e,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",t)})),delete o.conditionalFormattingXLSX,delete o.complexHeaderMergeInfo,delete o.defaultRowHeight,delete o.rowHeight}processGroupingInformation(e,t){const a=this;if(!a.groupBy)return e;let o;if(e=e.slice(0),a.exportHeader&&(t&&a.complexHeader?(o=e.slice(0,a.complexHeader.length),e.splice(0,a.complexHeader.length)):(o=[e[0]],e.splice(0,1))),e.length>1){const t=function(e,t){let a;switch(t||typeof e){case"string":a=(new Intl.Collator).compare;break;case"number":a=function(e,t){return e-t};break;case"boolean":case"bool":a=function(e,t){return e===t?0:!1===e?-1:1};break;case"date":case"time":case"dateTime":e instanceof Date?a=function(e,t){return e.getTime()-t.getTime()}:(e instanceof JQX.Utilities.DateTime||e instanceof JQX.Utilities.BigNumber)&&(a=function(e,t){return e.compare(t)});break;case"object":if(e instanceof Date)a=function(e,t){return e.getTime()-t.getTime()};else if(e instanceof JQX.Utilities.DateTime||e instanceof JQX.Utilities.BigNumber)a=function(e,t){return e.compare(t)};else if(e instanceof JQX.Utilities.Complex||window.NIComplex&&e instanceof window.NIComplex){const e=new JQX.Utilities.ComplexNumericProcessor;a=function(t,a){return e.compareComplexNumbers(t,a)}}}return a};(function(e,a,o,r){if(!e||!Array.isArray(e)||0===e.length||!a||Array.isArray(a)&&0===a.length)return;"string"==typeof a&&(a=[a]);const n=[],l=[];void 0===o&&(o=[]);for(let r=0;r<a.length;r++)void 0===o[r]||"asc"===o[r]||"ascending"===o[r]?n[r]=1:n[r]=-1,l[r]=t(e[0][a[r]]);r?r(e,a,o,l):e.sort((function(e,t){for(let o=0;o<a.length;o++){const r=l[o](e[a[o]],t[a[o]]);if(0===r){if(a[o+1])continue;return void 0!==e._index?(e._index-t._index)*n[o]:0}return r*n[o]}}))})(e,a.groupBy)}return o&&(e=o.concat(e)),a.getGroupLabels(e),e}exportToXML(e,t){const a=this.datafields.slice(0);let o='<?xml version="1.0" encoding="UTF-8" ?>\n<table>\n';return-1===a.indexOf("rows")&&a.push("rows"),o+=function e(t,o){let r="";for(let n=0;n<t.length;n++){const l=t[n];r+=o+"<row>\n";for(let t=0;t<a.length;t++){const n=a[t];if("rows"!==n)r+=o+`    <${n}>${l[n]}</${n}>\n`;else{if(!l.rows)continue;r+=`${o}    <rows>\n${e(l.rows,o+"        ")}${o}    </rows>\n`}}r+=o+"</row>\n"}return r}(e,"    ")+"</table>",t?this.downloadFile(o,"application/xml",t):o}formatDate(e,t){if(!JQX.Utilities.DateTime)return e;try{return new JQX.Utilities.DateTime(e).toString(t)}catch(t){return e}}formatNumber(e,t){if(!JQX.Utilities.NumberRenderer)return e;const a=(new JQX.Utilities.NumberRenderer).formatNumber(e,t);return void 0===a?e:a}generateAuxiliaryFiles(){const e=(new Date).toISOString(),t=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:creator>JQX HTML Elements</dc:creator><cp:lastModifiedBy>JQX HTML Elements</cp:lastModifiedBy><dcterms:created xsi:type="dcterms:W3CDTF">${e}</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">${e}</dcterms:modified></cp:coreProperties>`;let a='<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/>',o=1;if(this.spreadsheets)for(let e=0;e<this.spreadsheets.length;e++){const t=2+e;o++,a+=`<Relationship Id="rId${t}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet${t}.xml"/>`}const r=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">${a}<Relationship Id="rId${++o}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/><Relationship Id="rId${++o}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/><Relationship Id="rId${++o}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings" Target="sharedStrings.xml"/></Relationships>`;let n='<sheet name="Sheet1" sheetId="1" r:id="rId1"/>';if(this.spreadsheets)for(let e=0;e<this.spreadsheets.length;e++){const t=2+e;n+=`<sheet name="${this.spreadsheets[e].label}" sheetId="${t}" r:id="rId${t}"/>`}const l=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x15 xr xr6 xr10 xr2" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6" xmlns:xr10="http://schemas.microsoft.com/office/spreadsheetml/2016/revision10" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2"><fileVersion appName="xl" lastEdited="7" lowestEdited="7" rupBuild="20325"/><workbookPr defaultThemeVersion="166925"/><mc:AlternateContent xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"><mc:Choice Requires="x15"><x15ac:absPath url="C:UsersjqwidgetsDesktop" xmlns:x15ac="http://schemas.microsoft.com/office/spreadsheetml/2010/11/ac"/></mc:Choice></mc:AlternateContent><xr:revisionPtr revIDLastSave="0" documentId="13_ncr:1_{0DEDCB6D-5403-4CD8-AAA5-59B6D238A8B6}" xr6:coauthVersionLast="34" xr6:coauthVersionMax="34" xr10:uidLastSave="{00000000-0000-0000-0000-000000000000}"/><bookViews><workbookView xWindow="0" yWindow="0" windowWidth="19200" windowHeight="6950" xr2:uid="{0CB664E6-3800-4A88-B158-B46A682E7484}"/></bookViews><sheets>${n}</sheets><calcPr calcId="179021"/><extLst><ext uri="{140A7094-0E35-4892-8432-C4D2E57EDEB5}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:workbookPr chartTrackingRefBase="1"/></ext></extLst></workbook>`,s=this.worksheetImages.get(1);let i="";s&&s.length&&(i='<Override PartName="/xl/drawings/drawing1.xml" ContentType="application/vnd.openxmlformats-officedocument.drawing+xml"/>');let c="";this.exportAsTable&&(c='<Override PartName="/xl/tables/table1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml"/>');let p='<Override PartName = "/xl/worksheets/sheet1.xml" ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" />';if(this.spreadsheets)for(let e=0;e<this.spreadsheets.length;e++)p+=`<Override PartName = "/xl/worksheets/sheet${e+2}.xml" ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" />`;return{_relsRels:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>',docPropsAppXml:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Application>Microsoft Excel</Application><DocSecurity>0</DocSecurity><ScaleCrop>false</ScaleCrop><HeadingPairs><vt:vector size="2" baseType="variant"><vt:variant><vt:lpstr>Worksheets</vt:lpstr></vt:variant><vt:variant><vt:i4>1</vt:i4></vt:variant></vt:vector></HeadingPairs><TitlesOfParts><vt:vector size="1" baseType="lpstr"><vt:lpstr>Sheet1</vt:lpstr></vt:vector></TitlesOfParts><Company></Company><LinksUpToDate>false</LinksUpToDate><SharedDoc>false</SharedDoc><HyperlinksChanged>false</HyperlinksChanged><AppVersion>16.0300</AppVersion></Properties>',docPropsCoreXml:t,xl_relsWorkbookXmlRels:r,xlThemeTheme1Xml:'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme"><a:themeElements><a:clrScheme name="Office"><a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1><a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1><a:dk2><a:srgbClr val="44546A"/></a:dk2><a:lt2><a:srgbClr val="E7E6E6"/></a:lt2><a:accent1><a:srgbClr val="4472C4"/></a:accent1><a:accent2><a:srgbClr val="ED7D31"/></a:accent2><a:accent3><a:srgbClr val="A5A5A5"/></a:accent3><a:accent4><a:srgbClr val="FFC000"/></a:accent4><a:accent5><a:srgbClr val="5B9BD5"/></a:accent5><a:accent6><a:srgbClr val="70AD47"/></a:accent6><a:hlink><a:srgbClr val="0563C1"/></a:hlink><a:folHlink><a:srgbClr val="954F72"/></a:folHlink></a:clrScheme><a:fontScheme name="Office"><a:majorFont><a:latin typeface="Calibri Light" panose="020F0302020204030204"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック Light"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线 Light"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Times New Roman"/><a:font script="Hebr" typeface="Times New Roman"/><a:font script="Thai" typeface="Tahoma"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="MoolBoran"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Times New Roman"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/><a:font script="Armn" typeface="Arial"/><a:font script="Bugi" typeface="Leelawadee UI"/><a:font script="Bopo" typeface="Microsoft JhengHei"/><a:font script="Java" typeface="Javanese Text"/><a:font script="Lisu" typeface="Segoe UI"/><a:font script="Mymr" typeface="Myanmar Text"/><a:font script="Nkoo" typeface="Ebrima"/><a:font script="Olck" typeface="Nirmala UI"/><a:font script="Osma" typeface="Ebrima"/><a:font script="Phag" typeface="Phagspa"/><a:font script="Syrn" typeface="Estrangelo Edessa"/><a:font script="Syrj" typeface="Estrangelo Edessa"/><a:font script="Syre" typeface="Estrangelo Edessa"/><a:font script="Sora" typeface="Nirmala UI"/><a:font script="Tale" typeface="Microsoft Tai Le"/><a:font script="Talu" typeface="Microsoft New Tai Lue"/><a:font script="Tfng" typeface="Ebrima"/></a:majorFont><a:minorFont><a:latin typeface="Calibri" panose="020F0502020204030204"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Arial"/><a:font script="Hebr" typeface="Arial"/><a:font script="Thai" typeface="Tahoma"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="DaunPenh"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Arial"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/><a:font script="Armn" typeface="Arial"/><a:font script="Bugi" typeface="Leelawadee UI"/><a:font script="Bopo" typeface="Microsoft JhengHei"/><a:font script="Java" typeface="Javanese Text"/><a:font script="Lisu" typeface="Segoe UI"/><a:font script="Mymr" typeface="Myanmar Text"/><a:font script="Nkoo" typeface="Ebrima"/><a:font script="Olck" typeface="Nirmala UI"/><a:font script="Osma" typeface="Ebrima"/><a:font script="Phag" typeface="Phagspa"/><a:font script="Syrn" typeface="Estrangelo Edessa"/><a:font script="Syrj" typeface="Estrangelo Edessa"/><a:font script="Syre" typeface="Estrangelo Edessa"/><a:font script="Sora" typeface="Nirmala UI"/><a:font script="Tale" typeface="Microsoft Tai Le"/><a:font script="Talu" typeface="Microsoft New Tai Lue"/><a:font script="Tfng" typeface="Ebrima"/></a:minorFont></a:fontScheme><a:fmtScheme name="Office"><a:fillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:lumMod val="110000"/><a:satMod val="105000"/><a:tint val="67000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="103000"/><a:tint val="73000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="109000"/><a:tint val="81000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:satMod val="103000"/><a:lumMod val="102000"/><a:tint val="94000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:satMod val="110000"/><a:lumMod val="100000"/><a:shade val="100000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="99000"/><a:satMod val="120000"/><a:shade val="78000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w="6350" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="12700" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="19050" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad="57150" dist="19050" dir="5400000" algn="ctr" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="63000"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"><a:tint val="95000"/><a:satMod val="170000"/></a:schemeClr></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="93000"/><a:satMod val="150000"/><a:shade val="98000"/><a:lumMod val="102000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:tint val="98000"/><a:satMod val="130000"/><a:shade val="90000"/><a:lumMod val="103000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="63000"/><a:satMod val="120000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/><a:extLst><a:ext uri="{05A4C25C-085E-4340-85A3-A5531E510DB2}"><thm15:themeFamily xmlns:thm15="http://schemas.microsoft.com/office/thememl/2012/main" name="Office Theme" id="{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}" vid="{4A3C46E8-61CC-4603-A589-7422A47A8E4A}"/></a:ext></a:extLst></a:theme>',xlWorkbookXml:l,Content_TypesXml:`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="bin" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings"/><Default Extension="jpeg" ContentType="image/jpeg"/><Default Extension="png" ContentType="image/png"/><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/>${p}<Override PartName="/xl/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/><Override PartName="/xl/sharedStrings.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"/>${c}${i}<Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/></Types>`}}generateDefaultStyle(e){const t=this,a={},o=t.datafields,r=t.complexHeader?e[t.complexHeader.length]:e[+t.exportHeader];if(!r)return a;for(let e=0;e<o.length;e++){r[o[e]]instanceof Date&&(a.columns||(a.columns=[]),a.columns[o[e]]={format:"d"})}return a}generateGroupRow(e){const t=e.rowNumber,a="A"+t,o=`        <row r="${t}" outlineLevel="${e.outlineLevel}" spans="1:${e.numberOfColumns}"${this.getCustomRowHeight(t-1)} x14ac:dyDescent="0.45">\n            <c r="${a}" t="s" s="0">\n                <v>${e.sharedStringIndex}</v>\n            </c>\n        </row>\n`;return e.mergedCells.push({from:a,to:this.columnsArray[e.numberOfColumns-1]+t}),o}generateSharedStrings(e){const t=this,a=t.datafields,o=[];let r="",n=0,l=0;function s(e){n++,-1===o.indexOf(e)&&(l++,o.push(e),e=(e=(e=(e=(e=e.replace(/&(?!amp;)/g,"&amp;")).replace(/'/g,"&apos;")).replace(/"/g,"&quot;")).replace(/>/g,"&gt;")).replace(/</g,"&lt;"),r+=`<si><t>${e}</t></si>`)}const i=(e,a)=>{for(let o=0;o<e.length;o++){const r=e[o];for(let e=0;e<a.length;e++){let o=r[a[e]];null!==o||t.allowNull||(o=""),"string"==typeof o&&s(o)}}};if(i(e,a),t.spreadsheets)for(let e=0;e<t.spreadsheets.length;e++){const a=t.spreadsheets[e],o=a.dataFields;let r=[...a.dataSource],n=[];for(let e=0;e<a.columns.length;e++){const t=a.columns[e];"string"==typeof t?n[t]=t:n[t.dataField]=t.label}r.splice(0,0,n),i(r,o)}if(t.groupLabels)for(let e=0;e<t.groupLabels.length;e++)s(t.groupLabels[e]);return r=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${n}" uniqueCount="${l}">${r}</sst>`,{collection:o,xml:r}}generateSheet1(e,t,a,o,r){const n=this,l=o.length,s=e.length,i=o[l-1]+s,c=n.getFilters(),p=[].concat(n.complexHeaderMergedCells);let m=0;const d=n.freezeHeader?`<sheetView rightToLeft="0" workbookViewId="0">\n         <pane state="frozen" topLeftCell="A${n.xlsxStartIndex+1}" ySplit="${n.xlsxStartIndex}"/>\n        </sheetView>`:"";let f=n.getCustomColumnWidths(o);if(r>1){let e="<cols>";for(let t=0;t<o.length;t++)e+='<col min="1" max="1" width="25" hidden="0" bestFit="0" customWidth="1"/>';e+="</cols>",f=e}let h=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac xr xr2 xr3" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xr:uid="{7F25248B-C640-4C64-AD47-C0EA0E5D90D0}">\n    <sheetPr filterMode="${""!==c}" />\n    <dimension ref="A1:${i}" />\n    <sheetViews>\n        <sheetView ${r<=1?'tabSelected="1"':""} workbookViewId="0" />\n        ${d}\n    </sheetViews>\n    <sheetFormatPr defaultRowHeight="14.5" x14ac:dyDescent="0.35" />${f}\n    <sheetData>\n`;function g(e,t){return o[e]+t}for(let o=0;o<=e.length;o++){const r=e[o],s=o+1;let i="";if(n.actualHierarchy){const t=e[o-1];t&&t._collapsed&&(!r||t._level>r._level)&&(i=' collapsed="true"')}if(o===e.length){i&&(h+=`        <row r="${s}" outlineLevel="${Math.max(e[o-1]._level-2,0)}" hidden="false" collapsed="true" />\n`);break}let c=`        <row r="${s}"${n.getOutlineLevel(r)} hidden="${r._hidden||r._collapsed||!1}"${i} spans="1:${l}"${n.getCustomRowHeight(s-1)} customHeight="1" x14ac:dyDescent="0.45">\n`;for(let e=0;e<a.length;e++){const o=n.getXLSXCellStyle(g(e,s));c+=n.getActualCellData(r[a[e]],{r:g(e,s),s:o},t,s,a[e])}c+="        </row>\n",h+=c}if(n.headerContent)for(let e=0;e<n.headerContent.length;e++){const t=n.headerContent[e];t.style&&t.style.mergeAcross&&p.push({from:"A"+(e+1),to:o[l-1]+(e+1)})}if(n.footerContent)for(let t=0;t<n.footerContent.length;t++){const a=n.footerContent[t];a.style&&a.style.mergeAcross&&p.push({from:"A"+(e.length-t),to:o[l-1]+(e.length-t)})}return h+=`    </sheetData>${n.conditionalFormattingXLSX.conditions}${c}${n.getMergedCells(p)}\n    <pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3" />\n    <pageSetup paperSize="9" orientation="portrait" r:id="rId1" />\n    ${(e=>{let t="";const a=this.worksheetImages.get(e);return a&&a.length&&(t+=`<drawing r:id="rId${++m}"/>`),t})(1)}\n    ${(()=>{if(!n.exportAsTable)return"";return`<tableParts count="1">\n                <tablePart r:id="rId${++m}"/>\n            </tableParts>`})()}\n</worksheet>`,h}generateSheet1WithGrouping(e,t){const a=this,o=a.columnsArray.length,r=e.length,n=a.columnsArray[o-1]+r,l=a.datafields,s=[].concat(a.complexHeaderMergedCells);let i=0;let c=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac xr xr2 xr3" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xr:uid="{7F25248B-C640-4C64-AD47-C0EA0E5D90D0}">\n    <dimension ref="A1:${n}" />\n    <sheetViews>\n        <sheetView tabSelected="1" workbookViewId="0" />\n        ${a.freezeHeader?`<sheetView rightToLeft="0" workbookViewId="0">\n         <pane state="frozen" topLeftCell="A${a.xlsxStartIndex+1}" ySplit="${a.xlsxStartIndex}"/>\n        </sheetView>`:""}\n    </sheetViews>\n    <sheetFormatPr defaultRowHeight="14.5" x14ac:dyDescent="0.35" />${a.getCustomColumnWidths()}\n    <sheetData>\n`,p=0,m=[];function d(e,t){return a.columnsArray[e]+t}e:for(let r=0;r<e.length;r++){const n=e[r],i=r+1+p;let f=0,h="";if(!a.exportHeader||!a.complexHeader&&0!==r||a.complexHeader&&r>=a.complexHeader.length){let e="";for(let l=0;l<a.groupBy.length;l++){const d=a.groupBy[l],h=n[d],g=a.groups[d][h];if(e+=h,-1===m.indexOf(e)){let n=t.indexOf(g);c+=a.generateGroupRow({rowNumber:i,outlineLevel:f,numberOfColumns:o,sharedStringIndex:n,mergedCells:s}),m.push(e),r--,p++;continue e}f++}h=` outlineLevel="${f}"`}let g=`        <row r="${i}"${h} spans="1:${o}"${a.getCustomRowHeight(i-1)} customHeight="1" x14ac:dyDescent="0.45">\n`;for(let e=0;e<l.length;e++){const o=a.getXLSXCellStyle(d(e,r+1));g+=a.getActualCellData(n[l[e]],{r:d(e,i),s:o},t,i,l[e])}g+="        </row>\n",c+=g}return c+=`    </sheetData>${a.exportAsTable?"":a.getMergedCells(s)}\n    <pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3" />\n    <pageSetup paperSize="9" orientation="portrait" r:id="rId1" />\n    ${(e=>{let t="";const a=this.worksheetImages.get(e);return a&&a.length&&(t+=`<drawing r:id="rId${++i}"/>`),t})(1)}\n    ${(()=>{if(!a.exportAsTable)return"";return`<tableParts count="1">\n                <tablePart r:id="rId${++i}"/>\n            </tableParts>`})()}\n</worksheet>`,a.groupDimensionEnd=a.columnsArray[o-1]+(r+p),a.groupRowsCount=r+p,c}isFormula(e){return null!==e&&(this.autoConvertFormulas&&e.toString().startsWith("="))}getActualCellData(e,t,a){const o=t.r,r=t.s||' s="0"';if(null!==e||this.allowNull||(e=""),e&&this.isFormula(e))return`            <c r="${o}" t="s"${r}>\n                <f>${e.slice(1)}</f>\n            </c>\n`;if("string"==typeof e)return`            <c r="${o}" t="s"${r}>\n                <v>${a.indexOf(e)}</v>\n            </c>\n`;if("boolean"==typeof e)return`            <c r="${o}" t="b"${r}>\n                <v>${+e}</v>\n            </c>\n`;if(e instanceof Date){return`            <c r="${o}"${r}>\n                <v>${2+Math.round(this.timeBetween1900And1970/864e5)+(e.getTime()-60*e.getTimezoneOffset()*1e3)/864e5}</v>\n            </c>\n`}return`            <c r="${o}"${r}>\n                <v>${e}</v>\n            </c>\n`}getColumnsArray(){const e=this.datafields.length,t=[];function a(e){return e<26?"":String.fromCharCode(64+Math.floor(e/26))}for(let o=0;o<e;o++)t.push(a(o)+String.fromCharCode(65+(o<26?o:o%26)));this.columnsArray=t}getColumnsArrayFromDataFields(e){const t=e.length,a=[];function o(e){return e<26?"":String.fromCharCode(64+Math.floor(e/26))}for(let e=0;e<t;e++)a.push(o(e)+String.fromCharCode(65+(e<26?e:e%26)));return a}getColumnStyle(){const e=this,t=e.style;if(!t)return"        .header { border: 1px solid black; padding: 5px; }\n        .column { border: 1px solid black; padding: 5px; }\n        .group { background-color: #FFFFFF; color: #000000; font-weight: bold; }";let a;a=t.removeDefault?{header:"",column:"",group:""}:{header:"border: 1px solid black; padding: 5px; ",column:"overflow: hidden; border: 1px solid black; padding: 5px; ",group:"background-color: #FFFFFF; color: #000000; font-weight: bold; "};const o=e.data[0];let r="";const n=t.header||{};for(let t in n){if(!Object.prototype.hasOwnProperty.call(n,t))continue;const r=n[t];if(o[t]){a["header"+t]||(a["header"+t]="");for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e)){const o=JQX.Utilities.Core.toDash(e)+": "+r[e]+"; ";a["header"+t]+=o,"width"===e&&(a["column"+t]||(a["column"+t]=""),a["column"+t]+=o)}}else"height"===t&&e.complexHeader?a.header+="height: "+parseInt(n[t],10)/e.complexHeader.length+"px; ":a.header+=JQX.Utilities.Core.toDash(t)+": "+n[t]+"; "}const l=t.columns||{};for(let e in l){if(!Object.prototype.hasOwnProperty.call(l,e))continue;const t=l[e];if(o[e]){a["column"+e]||(a["column"+e]="");for(let o in t)isNaN(o)&&Object.prototype.hasOwnProperty.call(t,o)&&"format"!==o&&(a["column"+e]+=JQX.Utilities.Core.toDash(o)+": "+t[o]+"; ")}else a.column+=JQX.Utilities.Core.toDash(e)+": "+t+"; "}for(let e in a)Object.prototype.hasOwnProperty.call(a,e)&&(r+=`        .${e} { ${a[e]}}\n`);return t.custom&&(r+=`${t.custom}\n`),r}getCustomColumnWidths(e){const t=this;if(e!==t.columnsArray)return"";if(!t.style||!t.columnWidth||0===t.columnWidth.length)return"";let a="\n    <cols>\n";for(let e=0;e<t.columnWidth.length;e++){let o=t.columnWidth[e];void 0!==o&&(o=Math.round(parseFloat(o))/7,a+=`        <col min="${e+1}" max="${e+1}" width="${o}" customWidth="1" />\n`)}return a+="    </cols>",a}getCustomFilter(e,t){let a,o="equal";switch(e instanceof Date&&(e=(e.getTime()+this.timeBetween1900And1970)/864e5+2),t=t.toUpperCase()){case"EMPTY":a="";break;case"NOT_EMPTY":a="",o="notEqual";break;case"CONTAINS":case"CONTAINS_CASE_SENSITIVE":a=`*${e}*`;break;case"DOES_NOT_CONTAIN":case"DOES_NOT_CONTAIN_CASE_SENSITIVE":a=`*${e}*`,o="notEqual";break;case"STARTS_WITH":case"STARTS_WITH_CASE_SENSITIVE":a=`${e}*`;break;case"ENDS_WITH":case"ENDS_WITH_CASE_SENSITIVE":a=`*${e}`;break;case"EQUAL":case"EQUAL_CASE_SENSITIVE":a=e;break;case"NULL":a=null;break;case"NOT_NULL":a=null,o="notEqual";break;case"NOT_EQUAL":a=e,o="notEqual";break;case"LESS_THAN":a=e,o="lessThan";break;case"LESS_THAN_OR_EQUAL":a=e,o="lessThanOrEqual";break;case"GREATER_THAN":a=e,o="greaterThan";break;case"GREATER_THAN_OR_EQUAL":a=e,o="greaterThanOrEqual"}return`                <customFilter val="${a}" operator="${o}"/>\n`}getCustomRowHeight(e){const t=this;return t.style&&(t.rowHeight[e]||t.defaultRowHeight)||""}getDatafields(e){const t=e[0],a=[];for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&"_"!==e.charAt(0)&&a.push(e);this.datafields=a}getFilters(){const e=this,t=e.filterBy;if(!t)return"";let a="";for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){const r=e.datafields.indexOf(o);if(-1===r)continue;const n=t[o],l=n.filters;a+=`        <filterColumn colId="${r}">\n            <customFilters and="${!n.operator}">\n`;for(let t=0;t<l.length;t++)a+=e.getCustomFilter(l[t].value,l[t].condition);a+="            </customFilters>\n        </filterColumn>"}return a?(a=`\n    <autoFilter ref="A1:${e.columnsArray[e.columnsArray.length-1]+e.data.length}">\n${a}\n    </autoFilter>`,a):""}getGroupLabels(e){const t=this,a=void 0!==t.xlsxStartIndex?t.xlsxStartIndex:+t.exportHeader,o={},r=[];for(let n=a;n<e.length;n++){const l=e[n];for(let n=0;n<t.groupBy.length;n++){const s=t.groupBy[n],i=l[s];let c=o[s];void 0===c&&(o[s]={},c=o[s]),void 0===c[i]&&(c[i]=(t.exportHeader?e[a-1][s]:s)+": "+i,r.push(c[i]))}}t.groups=o,t.groupLabels=r}getHTMLHeader(e,t){const a=this;let o="\n        <thead>\n";if(!a.complexHeader){o+="            <tr>\n";for(let a=0;a<e.length;a++){const r=e[a];o+=`                <th class="header header${r}">${t[0][r]}</th>\n`}return o+="            </tr>\n        </thead>",o}for(let t=0;t<a.complexDataFieldsHeader.length;t++){const r=a.complexDataFieldsHeader[t];o+="            <tr>\n";for(let n=0;n<r.length;n++){const l=r[n];let s=1,i=1;if(r[n-1]&&r[n-1]===l||a.complexDataFieldsHeader[t-1]&&a.complexDataFieldsHeader[t-1][n]===l)continue;let c=n+1;for(;r[c]&&r[c]===r[c-1];)s++,c++;for(c=t+1;a.complexDataFieldsHeader[c]&&a.complexDataFieldsHeader[c][n]===l;)i++,c++;o+=`                <th class="header${t===a.complexHeader.length-1||i+t===a.complexHeader.length?" header"+e[n]:""}" colspan="${s}" rowspan="${i}">${a.complexHeader[t][n]}</th>\n`}o+="            </tr>\n"}return o+="        </thead>",o}getConditionalFormatting(){const e=this,t=e.conditionalFormatting;if(!t)return void(e.conditionalFormattingXLSX={conditions:"",styles:""});const a=[];let o="",r="";for(let n=t.length-1;n>=0;n--){const l=t[n],s=e.columnsArray[e.datafields.indexOf(l.column)],i=s+(e.xlsxStartIndex+1),c=i+":"+s+e.data.length,p=l.background+l.color,m=e.getConditionalAttributes(l,i);let d=a.indexOf(p);if(-1===d){r+=`        <dxf>\n            <font>\n                <b val="0"/>\n                <i val="0"/>\n                <color rgb="${"White"===l.color?"FFFFFFFF":"FF000000"}"/>\n                <sz val="10"/>\n            </font>\n            <fill>\n                <patternFill>\n                    <bgColor rgb="${e.toARGB(l.background)}"/>\n                </patternFill>\n            </fill>\n        </dxf>\n`,d=a.length,a.push(p)}o+=`    <conditionalFormatting sqref="${c}">\n        <cfRule dxfId="${d}" text="${m.text}" rank="${m.rank}" percent="${m.percent}" bottom="${m.bottom}" equalAverage="${m.equalAverage}" aboveAverage="${m.aboveAverage}"${m.operator}${m.timePeriod} priority="${n+2}" type="${m.type}">\n${m.formula}        </cfRule>\n    </conditionalFormatting>\n`}r=`    <dxfs count="${a.length}">\n${r}    </dxfs>`,e.conditionalFormattingXLSX={conditions:o,styles:r}}getConditionalAttributes(e,t){let a=e.condition,o=e.comparator,r="",n=0,l=0,s=0,i=0,c="",p="",m="",d="";switch(a){case"equal":c="equal",m="cellIs",d=`            <formula>${o}</formula>\n`;break;case"lessThan":c="lessThan",m="cellIs",d=`            <formula>${o}</formula>\n`;break;case"greaterThan":c="greaterThan",m="cellIs",d=`            <formula>${o}</formula>\n`;break;case"notEqual":c="notEqual",m="cellIs",d=`            <formula>${o}</formula>\n`;break;case"between":c="between",m="cellIs",d=`            <formula>${e.min}</formula>\n            <formula>${e.max}</formula>\n`;break;case"duplicate":m="duplicateValues",d="            <formula>0</formula>\n";break;case"topNItems":n=o,m="top10";break;case"bottomNItems":n=o,s=1,m="top10";break;case"topNPercent":n=o,l=1,m="top10";break;case"bottomNPercent":n=o,l=1,s=1,m="top10";break;case"aboveAverage":i=1,m="aboveAverage",d="            <formula>0</formula>\n";break;case"belowAverage":m="aboveAverage",d="            <formula>0</formula>\n";break;case"contains":r=o,c="containsText",m="containsText",d=`            <formula>NOT(ISERROR(SEARCH("${o}",${t})))</formula>\n`;break;case"doesNotContain":r=o,c="notContains",m="notContainsText",d=`            <formula>ISERROR(SEARCH("${o}",${t}))</formula>\n`;break;case"dateOccur":p=` timePeriod="${o}"`,m="timePeriod"}return c&&(c=` operator="${c}" `),{text:r,rank:n,percent:l,bottom:s,equalAverage:0,aboveAverage:i,operator:c,timePeriod:p,type:m,formula:d}}getMergedCells(e){const t=this;let a="";for(let t=0;t<e.length;t++)e[t].from!==e[t].to&&(a+=`\n        <mergeCell ref="${e[t].from}:${e[t].to}" />\n`);if(t.mergedCells)for(let e=0;e<t.mergedCells.length;e++){const o=t.mergedCells[e];if(o.rowspan<2&&o.colspan<2)continue;a+=`\n        <mergeCell ref="${t.columnsArray[o.cell[0]]+(o.cell[1]+t.xlsxStartIndex+1)}:${t.columnsArray[o.cell[0]+o.colspan-1]+(o.cell[1]+t.xlsxStartIndex+o.rowspan)}" />\n`}return a&&(a=`\n    <mergeCells count="${e.length}">${a}    </mergeCells>`),a}getNumFmtIndex(e,t){let a=t.collection.indexOf(e);return-1===a?(a=t.collection.length+100,t.collection.push(e),t.xml+=`<numFmt numFmtId="${a}" formatCode="${e}"/>`):a+=100,a}getOutlineLevel(e){return this.actualHierarchy&&1!==e._level?` outlineLevel="${e._level-1}"`:""}getRowStyle(){const e=this.style;if(!e)return"";const t=e.rows;if(!t)return"";const a={row:""};let o="";for(let e in t){if(!Object.prototype.hasOwnProperty.call(t,e)||"alternationCount"===e||"alternationStart"===e||"alternationEnd"===e)continue;const o=t[e];if(-1===e.indexOf("alt"))if(isNaN(e))a.row+=JQX.Utilities.Core.toDash(e)+": "+t[e]+"; ";else{a["row"+e]||(a["row"+e]="");for(let t in o)Object.prototype.hasOwnProperty.call(o,t)&&(a["row"+e]+=JQX.Utilities.Core.toDash(t)+": "+o[t]+"; ")}else{const t=e.slice(16,17),r=e.slice(17);a["rowN"+t]||(a["rowN"+t]=""),a["rowN"+t]+="Color"===r?"color : "+o+"; ":"BorderColor"===r?"border-color : "+o+"; ":"background-color : "+o+"; "}}let r=Object.keys(a);r.sort((function(e,t){if("row"===e)return-1;if("row"===t)return 1;const a=!isNaN(e.slice(3)),o=!isNaN(t.slice(3));return a&&!o?1:!a&&o?-1:+(e<t)}));for(let e=0;e<r.length;e++)o+=`        .${r[e]} { ${a[r[e]]}}\n`;return o}getTableStyle(){const e=this.style;if(!e)return' style="table-layout: fixed; border: 1px solid black; border-collapse: collapse;"';let t="table-layout: fixed; ";for(let a in e)Object.prototype.hasOwnProperty.call(e,a)&&-1===["header","columns","rows","removeDefault","custom"].indexOf(a)&&(t+=JQX.Utilities.Core.toDash(a)+": "+e[a]+"; ");return t&&(t=' style="'+t+'"'),t}getXLSXCellStyle(e){const t=this;return void 0!==t.cellStyleMapping[e]?` s="${t.cellStyleMapping[e]}"`:""}getXLSXFormat(e,t){if("number"==typeof t){let t="$";if(e&&"string"==typeof e&&e.indexOf("c")>=0&&e.indexOf("x")>=0&&(t=e.substring(0,e.indexOf("x")),e=e.substring(1+e.indexOf("x"))),!/^([a-zA-Z]\d*)$/g.test(e))return e;let a=parseFloat(e.slice(1))||0,o=a>0?"."+"0".repeat(a):"";switch(e=e.slice(0,1)){case"C":case"c":return"$"!==t?"#,0"+o+" "+t:t+"#,0"+o;case"D":case"d":return a?"#,0"+o:"0";case"E":case"e":return"0"+o+e+"000";case"F":case"f":return"0"+o;case"N":case"n":return"#,0"+o;case"P":case"p":return"#,0"+o+" %";default:return}}else if(t instanceof Date){switch(e){case"d":return"m/d/yyyy";case"D":return"nnnnmmmm dd, yyyy";case"t":return"h:m AM/PM";case"T":return"h:mm:ss AM/PM";case"f":return"nnnnmmmm dd, yyyy h:m AM/PM";case"F":return"nnnnmmmm dd, yyyy h:mm:ss AM/PM";case"M":return"mmmm d";case"Y":return"yyyy mmmm";case"FP":case"PP":return"yyyy-mm-dd hh:mm:ss";case"FT":case"PT":return"hh:mm:ss"}return e=(e=(e=(e=e.replace(/f|u|n|p|e|a|x|o/gi,"")).replace(/tt/gi,"AM/PM")).replace(/:{2,}|:\s|:$|\.$/g,"")).trim()}}processColumnStyle(e){const t=this,a=e.header,o=e.columns,r=t.data[0],n=t.xlsxStartIndex;if(t.columnWidth=[],n&&a)for(let e=0;e<t.columnsArray.length;e++){const o=t.columnsArray[e],l=o+n,s=a[t.datafields[e]];for(let e in a)if(Object.prototype.hasOwnProperty.call(a,e)&&void 0===r[e])if(t.complexHeader)for(let r=0;r<t.complexHeader.length;r++)"height"!==e?t.storeCellStyle(o+(r+1),e,a[e]):t.rowHeight[r]=` ht="${parseFloat(a.height)/t.complexHeader.length/2}"`;else{if("height"===e){t.rowHeight[n-1]=` ht="${parseFloat(a.height)/2}"`;continue}t.storeCellStyle(l,e,a[e])}if(s)for(let a in s)if(Object.prototype.hasOwnProperty.call(s,a)){if("width"===a){t.columnWidth[e]=s.width;continue}t.storeCellStyle(l,a,s[a])}}else if(a)for(let e=0;e<t.columnsArray.length;e++){const o=a[t.datafields[e]];o&&void 0!==o.width&&(t.columnWidth[e]=o.width)}if(!o)return"";for(let e=n;e<t.data.length;e++)for(let a=0;a<t.columnsArray.length;a++){const n=t.columnsArray[a]+(e+1),l=t.datafields[a],s=o[l];for(let e in o)Object.prototype.hasOwnProperty.call(o,e)&&void 0===r[e]&&t.storeCellStyle(n,e,o[e]);if(s){for(let a in s)isNaN(a)&&Object.prototype.hasOwnProperty.call(s,a)&&t.storeCellStyle(n,a,s[a],t.data[e][l]);if(s[e]){const a=s[e];for(let o in a)isNaN(o)&&Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&t.storeCellStyle(n,o,a[o],t.data[e][l])}}}if(t.headerContent&&t.headerContent.length)for(let e=0;e<t.headerContent.length;e++){const a=(e,a,o)=>{for(let r=0;r<t.columnsArray.length;r++){const n=t.columnsArray[r]+e;t.storeCellStyle(n,a,o)}},o=e+1;if(t.headerContent[e].style){const r=t.headerContent[e].style,n=new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"),l=e=>isNaN(e)?"00":n[(e-e%16)/16]+n[e%16],s=e=>e.startsWith("#")?e.toUpperCase():(e=e.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/))?"#"+l(e[1])+l(e[2])+l(e[3]).toUpperCase():null;for(let e in r){let n=r[e];"height"!==e?("color"!==e&&"backgroundColor"!==e||(n=s(n)),a(o,e,n)):t.rowHeight[o-1]=` ht="${parseFloat(n)}"`}}}if(t.footerContent&&t.footerContent.length)for(let e=0;e<t.footerContent.length;e++){const a=(e,a,o)=>{for(let r=0;r<t.columnsArray.length;r++){const n=t.columnsArray[r]+e;t.storeCellStyle(n,a,o)}};let o=t.headerContent&&t.headerContent.length?t.headerContent.length:0;const r=1+t.data.length+e+o;if(t.footerContent[e].style){const o=t.footerContent[e].style,n=new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"),l=e=>isNaN(e)?"00":n[(e-e%16)/16]+n[e%16],s=e=>e.startsWith("#")?e.toUpperCase():(e=e.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/))?"#"+l(e[1])+l(e[2])+l(e[3]).toUpperCase():null;for(let e in o){let n=o[e];"height"!==e?("color"!==e&&"backgroundColor"!==e||(n=s(n)),a(r,e,n)):t.rowHeight[r-1]=` ht="${parseFloat(n)}"`}}}}processComplexHeader(e,t,a){const o=this,r={},n=-1!==["html","jpeg","pdf","png","xlsx"].indexOf(a)&&e.columngroups,l=[],s={},i={},c=[],p=[];let m=0;function d(t){for(let a=0;a<e.columngroups.length;a++){const o=e.columngroups[a];if(o.name===t)return o}}function f(e,t){const a=[];for(;e;){if(a.unshift(e[t]),!e.parentGroup)return a;e=d(e.parentGroup)}}if(n){for(let t=0;t<e.columngroups.length;t++){const a=e.columngroups[t],o=f(a,"label");s[a.name]=o,i[a.name]=f(a,"name"),m=Math.max(m,o.length)}m++;for(let e=0;e<m;e++)c[e]=[],p[e]=[]}for(let t=0;t<e.columns.length;t++){const a=e.columns[t];if(r[a.dataField]=a.label,!n)continue;if(l[t]=a.dataField,c[m-1][t]=a.label,p[m-1][t]=a.dataField,!a.columnGroup)continue;const o=s[a.columnGroup],d=i[a.columnGroup];if(o)for(let e=0;e<o.length;e++)c[e][t]=o[e],p[e][t]=d[e]}if(c.length>1){const e=Object.keys(r).length;for(let o=0;o<m-1;o++){const r={};for(let t=0;t<e;t++){if(void 0===c[o][t]){let e=o+1;for(;void 0===c[e][t];)e++;c[o][t]=c[e][t],p[o][t]=p[e][t]}r[l[t]]=c[o][t]}"xlsx"===a&&t.splice(o,0,r)}if(o.complexHeader=c,o.complexDataFieldsHeader=p,"xlsx"!==a)t.unshift(r);else{t.splice(m-1,0,r);const a={};for(let t=0;t<m;t++)for(let o=0;o<e;o++){const e=p[t][o];if(a[e]){const r=a[e].to;if(t-r[0]>1||o-r[1]>1){a[e+Math.random().toString(36)]=a[e],a[e]={from:[t,o],to:[t,o]};continue}a[e].to=[t,o]}else a[e]={from:[t,o]},a[e].to=a[e].from}o.complexHeaderMergeInfo=a}}else t.unshift(r)}processHierarchicalData(e,t){const a=this,o="xlsx"!==t?+a.exportHeader:a.xlsxStartIndex,r={},n=[];let l=0,s=!1;if(void 0===e[o]._keyDataField)return a.processNestedData(e,t,o);for(let t=o;t<e.length;t++){const a=Object.assign({},e[t]);let o=a._parentDataField;void 0===o&&(o=null),void 0===r[o]?r[o]=[a]:r[o].push(a)}if(o)for(let a=0;a<o;a++)n.push(Object.assign({},e[a])),-1===["json","pdf","xml"].indexOf(t)&&(n[a]._level=1);return"json"!==t&&"xml"!==t?function e(t,a,o){const i=r[t];if(l=Math.max(l,a),void 0!==i)for(let t=0;t<i.length;t++){const l=i[t],c=l._keyDataField;l._collapsed=o,l._level=a,n.push(l),r[c]&&(s=!0,l._expanded=void 0===l._expanded||l._expanded,e(c,a+1,o||!l._expanded))}}(null,1,!1):function e(a,o,n){const i=r[a];if(l=Math.max(l,o),void 0!==i)for(let a=0;a<i.length;a++){const l=i[a],c=l._keyDataField;let p;if("json"===t){p={};for(let e in l)Object.prototype.hasOwnProperty.call(l,e)&&"_"!==e.charAt(0)&&(p[e]=l[e])}else p=Object.assign({},l);n.push(p),r[c]&&(s=!0,p.rows=[],e(c,o+1,p.rows))}}(null,1,n),s||(a.actualHierarchy=!1),a.maxLevel=l,n}processNestedData(e,t,a){const o=this,r=[];let n=0,l=!1;if(a)for(let o=0;o<a;o++)r.push(Object.assign({},e[o])),-1===["json","pdf","xml"].indexOf(t)&&(r[o]._level=1);return"json"!==t&&"xml"!==t?function e(t,a,o,s){n=Math.max(n,o);for(let n=t;n<a.length;n++){const t=Object.assign({},a[n]);t._collapsed=s,t._level=o,r.push(t),t.children&&t.children.length>0&&(l=!0,t._expanded=void 0===t._expanded||t._expanded,e(0,t.children,o+1,s||!t._expanded)),delete t.children}}(a,e,1,!1):function e(t,a,o,s){n=Math.max(n,s);for(let n=t;n<a.length;n++){const t=Object.assign({},a[n]);1===s?r[n]=t:o[n]=t,t.children&&t.children.length>0&&(l=!0,t.rows=[],e(0,t.children,t.rows,s+1)),delete t.children}}(a,e,void 0,1),l||(o.actualHierarchy=!1),o.maxLevel=n,r}processRowStyle(e){const t=this,a=e.rows;if(t.rowHeight=[],!a)return;const o=t.xlsxStartIndex;function r(e,a,r){for(let n=0;n<t.columnsArray.length;n++){const l=t.columnsArray[n]+(e+1+o);t.storeCellStyle(l,a,r)}}a.height&&(a.height||(a.height=15),t.defaultRowHeight=` ht="${parseFloat(a.height)/2}"`);for(let e=o;e<t.data.length;e++){const l=e-o;for(let e in a)Object.prototype.hasOwnProperty.call(a,e)&&-1===e.indexOf("alt")&&isNaN(e)&&"height"!==e&&r(l,e,a[e]);if(a.alternationCount&&((void 0===a.alternationStart||l>=a.alternationStart)&&(void 0===a.alternationEnd||l<=a.alternationEnd)||a.alternationStart===a.alternationEnd)){const e=(l-(a.alternationStart||0))%a.alternationCount;a[`alternationIndex${e}Color`]&&r(l,"color",a[`alternationIndex${e}Color`]),a[`alternationIndex${e}BorderColor`]&&r(l,"borderColor",a[`alternationIndex${e}BorderColor`]),a[`alternationIndex${e}BackgroundColor`]&&r(l,"backgroundColor",a[`alternationIndex${e}BackgroundColor`])}if(t.setRowHeight){const a=t.setRowHeight(l);if(a){t.rowHeight[e]=` ht="${parseFloat(a)}"`;continue}}if(a[l])for(let s in a[l])if(Object.prototype.hasOwnProperty.call(a[l],s)){if("height"===s){t.rowHeight[e]=` ht="${parseFloat(a[l].height)/2}"`;continue}if(t.data[e]&&t.data[e][s]){function n(e,a,r,n){const l=t.datafields?t.datafields.indexOf(n):-1;if(l>=0){const n=t.columnsArray[l]+(e+1+o);t.storeCellStyle(n,a,r)}}for(let e in a[l][s])n(l,e,a[l][s][e],s);continue}r(l,s,a[l][s])}}}storeCellStyle(e,t,a){const o=this.styleMap[e];switch(t){case"backgroundColor":o.fills.fgColor=a;break;case"color":o.fonts.color=a;break;case"fontFamily":o.fonts.name=a.replace(/"/g,"'");break;case"fontSize":o.fonts.sz=Math.round(parseFloat(a)/(96/72));break;case"fontStyle":"italic"===a?o.fonts.i=!0:delete o.fonts.i;break;case"fontWeight":"bold"===a?o.fonts.b=!0:delete o.fonts.b;break;case"numFmt":o.numFmt=a;break;case"textAlign":o.alignment.horizontal=a;break;case"textDecoration":"underline"===a?o.fonts.u=!0:delete o.fonts.u;break;case"verticalAlign":"middle"===a&&(a="center"),o.alignment.vertical=a}}toARGB(e){e||(e="#FFFFFF"),e=e.replace(/\s/g,"");const t=/rgb\((\d+),(\d+),(\d+)\)/gi.exec(e);if(null!==t){const e=parseFloat(t[1]).toString(16).toUpperCase(),a=parseFloat(t[2]).toString(16).toUpperCase(),o=parseFloat(t[3]).toString(16).toUpperCase();return"FF"+"0".repeat(2-e.length)+e+"0".repeat(2-a.length)+a+"0".repeat(2-o.length)+o}const a=/rgba\((\d+),(\d+),(\d+)\,(\d*.\d+|\d+)\)/gi.exec(e);if(null!==a){const e=Math.round(255*parseFloat(a[4])).toString(16).toUpperCase(),t=parseFloat(a[1]).toString(16).toUpperCase(),o=parseFloat(a[2]).toString(16).toUpperCase(),r=parseFloat(a[3]).toString(16).toUpperCase();return"0".repeat(2-e.length)+e+"0".repeat(2-t.length)+t+"0".repeat(2-o.length)+o+"0".repeat(2-r.length)+r}const o=/^#(.)(.)(.)$/gi.exec(e);if(null!==o){const e=o[1].toUpperCase(),t=o[2].toUpperCase(),a=o[3].toUpperCase();return"FF"+e+e+t+t+a+a}return"FF"+e.toUpperCase().slice(1)}toggleableFunctionality(){const e=this;return e.actualHierarchy?`\n    <style type="text/css">\n        .toggle-element {\n            width: 5px;\n            height: 1px;\n            padding-right: 5px;\n            float: left;\n            text-align: right;\n            cursor: pointer;\n            user-select: none;\n        }\n\n        .collapsed {\n            display: none;\n        }\n    </style>\n    <script type="text/javascript">\n        window.onload = function () {\n            var expandChar = '${e.expandChar}',\n                collapseChar = '${e.collapseChar}',\n                toggleElements = document.getElementsByClassName('toggle-element');\n\n            function getParent(child) {\n                var prevSibling = child.previousElementSibling;\n\n                while (prevSibling) {\n                    if (child.getAttribute('level') > prevSibling.getAttribute('level')) {\n                        return prevSibling;\n                    }\n\n                    prevSibling = prevSibling.previousElementSibling;\n                }\n\n            }\n\n            function getFirstCollapsedAncestor(child) {\n                var parent = getParent(child);\n\n                while (parent) {\n                    if (parent.firstElementChild.firstElementChild.innerHTML === expandChar) {\n                        return parent;\n                    }\n\n                    parent = getParent(parent);\n                }\n            }\n\n            for (var i = 0; i < toggleElements.length; i++) {\n                toggleElements[i].addEventListener('click', function (event) {\n                    var expanded = this.innerHTML === collapseChar,\n                        row = this.parentElement.parentElement,\n                        sibling = row.nextElementSibling;\n\n                    if (expanded) {\n                        this.innerHTML = expandChar;\n                    }\n                    else {\n                        this.innerHTML = collapseChar;\n                    }\n\n                    while (sibling && row.getAttribute('level') < sibling.getAttribute('level')) {\n                        if (expanded) {\n                            sibling.style.display = 'none';\n                        }\n                        else {\n                            var firstCollapsedAncestor = getFirstCollapsedAncestor(sibling);\n\n                            if (!firstCollapsedAncestor || firstCollapsedAncestor === row) {\n                                sibling.classList.remove('collapsed');\n                                sibling.style.display = null;\n                            }\n\n                        }\n\n                        sibling = sibling.nextElementSibling;\n                    }\n                });\n            }\n        }\n    <\/script>`:""}generateStyles(e){const t=this;if(t.cellStyleMapping={},0===Object.keys(e).length&&!t.complexHeader)return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac x16r2 xr" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:x16r2="http://schemas.microsoft.com/office/spreadsheetml/2015/02/main" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision"><fonts count="1" x14ac:knownFonts="1"><font><sz val="11"/><color theme="1"/><name val="Calibri"/><family val="2"/><charset val="204"/><scheme val="minor"/></font></fonts><fills count="2"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill></fills><borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles>${t.conditionalFormattingXLSX.styles||'<dxfs count="0"/>'}<tableStyles count="0" defaultTableStyle="TableStyleMedium2" defaultPivotStyle="PivotStyleLight16"/><extLst><ext uri="{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"><x14:slicerStyles defaultSlicerStyle="SlicerStyleLight1"/></ext><ext uri="{9260A510-F301-46a8-8635-F512D64BE5F5}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:timelineStyles defaultTimelineStyle="TimeSlicerStyleLight1"/></ext></extLst></styleSheet>`;t.styleMap={};let a=t.headerContent?t.headerContent.length:0;a+=t.footerContent?t.footerContent.length:0;let o=t.data.length+a;t.groupBy&&t.groupBy.length&&(o+=50);for(let e=0;e<o;e++)for(let a=0;a<t.columnsArray.length;a++)t.styleMap[t.columnsArray[a]+(e+1)]={numFmts:{},fonts:{},fills:{},borders:{},alignment:{}};if(e&&e.columns)for(let a=0;a<t.columnsArray.length;a++){const o=t.datafields[a];if(!e.columns[o]||!e.columns[o].format)continue;const r=t.getXLSXFormat(e.columns[o].format,t.data[1][o]),n=t.getXLSXFormat(e.columns[o].format,t.data[t.data.length-1][o]);if(n)e.columns[o].numFmt=n;else if(r)e.columns[o].numFmt=r;else if(e.columns[o].format&&(o.toLowerCase().indexOf("date")>=0||e.columns[o].format.indexOf("d/")>=0)){let t=e.columns[o].format;switch(t){case"d":t="m/d/yyyy";break;case"D":t="nnnnmmmm dd, yyyy";break;case"t":t="h:m AM/PM";break;case"T":t="h:mm:ss AM/PM";break;case"f":t="nnnnmmmm dd, yyyy h:m AM/PM";break;case"F":t="nnnnmmmm dd, yyyy h:mm:ss AM/PM";break;case"M":t="mmmm d";break;case"Y":t="yyyy mmmm";break;case"FP":case"PP":t="yyyy-mm-dd hh:mm:ss";break;case"FT":case"PT":t="hh:mm:ss"}t=t.replace(/f|u|n|p|e|a|x|o/gi,""),t=t.replace(/tt/gi,"AM/PM"),t=t.replace(/:{2,}|:\s|:$|\.$/g,""),t=t.trim(),e.columns[o].numFmt=t}}t.processRowStyle(e),t.processColumnStyle(e);const r={};for(let e=0;e<t.complexHeaderMergedCells.length;e++){const a=t.complexHeaderMergedCells[e];parseFloat(a.to[1])!==t.complexHeader.length?(t.styleMap[a.from].alignment.horizontal="center",t.styleMap[a.from].alignment.vertical="center"):r[a.to]=a.from}const n={xml:'<font><sz val="11" /><color theme="1" /><name val="Calibri" /><family val="2" /><charset val="204" /><scheme val="minor" /></font>',collection:["default"]},l={xml:'<fill><patternFill patternType="none" /></fill><fill><patternFill patternType="gray125" /></fill>',collection:["default","gray125"]},s={xml:"",collection:[]},i={xml:'<xf fontId="0" fillId="0" borderId="1"/>',collection:["default"]};for(let e=0;e<o;e++)for(let a=0;a<t.columnsArray.length;a++){const o=t.columnsArray[a]+(e+1),c=t.styleMap[o];let p="",m="",d="",f=[],h=[],g=[],u=[];for(let e in c.fonts)if(Object.prototype.hasOwnProperty.call(c.fonts,e)){const a=c.fonts[e];switch(e){case"color":f[0]=a,p+=a?`<color rgb="${t.toARGB(a)}" />`:`<color rgb="${t.toARGB("#333333")}" />`;break;case"name":f[1]=a,p+=`<name val="${a}" />`;break;case"sz":f[2]=a,p+=`<sz val="${a}" />`;break;case"i":f[3]=a,p+="<i />";break;case"b":f[4]=a,p+="<b />";break;case"u":f[5]=a,p+="<u />"}}for(let e in c.fills)if(Object.prototype.hasOwnProperty.call(c.fills,e)){const a=c.fills[e];switch(e){case"fgColor":h[0]=a,m+=`<fgColor rgb="${t.toARGB(a)}" />`}}for(let e in c.alignment)if(Object.prototype.hasOwnProperty.call(c.alignment,e)){const t=c.alignment[e];switch(e){case"horizontal":g[0]=t,d+=`horizontal="${t}" `;break;case"vertical":g[1]=t,d+=`vertical="${t}" `}}if(f=f.toString(),h=h.toString(),""!==p){let e=n.collection.indexOf(f);-1===e&&(e=n.collection.length,n.xml+="<font>"+p+"</font>",n.collection.push(f)),u[0]=e}if(""!==m){let e=l.collection.indexOf(h);-1===e&&(e=l.collection.length,l.xml+='<fill><patternFill patternType="solid">'+m+"</patternFill></fill>",l.collection.push(h)),u[1]=e}g.length>0&&(u[2]=d),void 0!==c.numFmt&&(u[3]=t.getNumFmtIndex(c.numFmt,s));const x=u.toString();if(""!==x){let e=i.collection.indexOf(x);if(-1===e){let t="<xf ";e=i.collection.length,void 0!==u[0]&&(t+=`fontId="${u[0]}" `),void 0!==u[1]&&(t+=`fillId="${u[1]}" `),void 0!==u[3]&&(t+=`numFmtId="${u[3]}" `),void 0!==u[2]?t+=`applyAlignment="1" borderId="1"><alignment ${d}/></xf>`:t+=' borderId="1"/>',i.xml+=t,i.collection.push(x)}t.cellStyleMapping[r[o]||o]=e}}return s.collection.length&&(s.xml=`<numFmts count="${s.collection.length}">${s.xml}</numFmts>`),`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac x16r2 xr" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:x16r2="http://schemas.microsoft.com/office/spreadsheetml/2015/02/main" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision">${s.xml}<fonts count="${n.collection.length}" x14ac:knownFonts="1">${n.xml}</fonts><fills count="${l.collection.length}">${l.xml}</fills><borders count="2"><border><left/><right/><top/><bottom/></border><border><left style="hair"/><right style="hair"/><top style="hair"/><bottom style="hair"/><diagonal/></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="${i.collection.length}">${i.xml}</cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles>${t.conditionalFormattingXLSX.styles}<dxfs count="0"/><tableStyles count="0" defaultTableStyle="TableStyleMedium2" defaultPivotStyle="PivotStyleLight16"/><extLst><ext uri="{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"><x14:slicerStyles defaultSlicerStyle="SlicerStyleLight1"/></ext><ext uri="{9260A510-F301-46a8-8635-F512D64BE5F5}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:timelineStyles defaultTimelineStyle="TimeSlicerStyleLight1"/></ext></extLst></styleSheet>`}})})();

/***/ }),

/***/ 6170:
/***/ (() => {

JQX.Utilities.Assign("FilterGroup",class t{constructor(){const t=this;t.stringConditions=["EMPTY","NOT_EMPTY","CONTAINS","CONTAINS_CASE_SENSITIVE","DOES_NOT_CONTAIN","DOES_NOT_CONTAIN_CASE_SENSITIVE","STARTS_WITH","STARTS_WITH_CASE_SENSITIVE","ENDS_WITH","ENDS_WITH_CASE_SENSITIVE","EQUAL","NOT_EQUAL","EQUAL_CASE_SENSITIVE","NOT_EQUAL_CASE_SENSITIVE","NULL","NOT_NULL"],t.numericConditions=["EQUAL","NOT_EQUAL","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","NULL","NOT_NULL"],t.dateConditions=["EQUAL","NOT_EQUAL","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","NULL","NOT_NULL","TODAY","TOMORROW","YESTERDAY","LAST_WEEK","THIS_WEEK","NEXT_WEEK","LAST_MONTH","THIS_MONTH","NEXT_MONTH"],t.booleanConditions=["EQUAL","NOT_EQUAL","NULL","NOT_NULL"],t.filters=new Array,t.logicalOperators=new Array}toString(){const t=this;let e="";for(let r=0;r<t.filters.length;r++){if(r>0){let n=t.logicalOperators[r-1];0===n||"and"===n&&"0"===n?n="AND":(1===n||"or"===n&&"1"===n)&&(n="OR"),e+=" "+n+" "}let n=t.filters[r].toString();n.indexOf("[object")>=0&&"object"==typeof t.filters[r]&&(n=t.filters[r].condition+' "'+t.filters[r].value+'"'),e+=n}return e}evaluate(t){const e=this;let r=!0;for(let n=0;n<e.filters.length;n++){if(!e.filters[n].evaluate)continue;let i=e.filters[n].evaluate(t);r=0===n?i:1===e.logicalOperators[n]||"or"===e.logicalOperators[n]||"OR"===e.logicalOperators[n]?r||i:r&&i}return r}getFiltersCount(){return this.filters.length}setConditions(t,e){const r=this;switch(t){case"numeric":r.numericConditions=e;break;case"string":r.stringConditions=e;break;case"date":case"time":r.dateConditions=e;break;case"bool":case"boolean":r.booleanConditions=e}}getConditions(t){const e=this;let r=new Array;switch(t){case"numeric":r=e.numericConditions.slice(0);break;case"string":r=e.stringConditions.slice(0);break;case"date":case"time":r=e.dateConditions.slice(0);break;case"bool":case"boolean":r=e.booleanConditions.slice(0)}return r}generateFilterKey(){const t=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)};return t()+"-"+t()+"-"+t()}createFilter(t,e,r,n,i,s,a){if(null==t)return null;switch(t){case"int":case"float":case"int64":case"double":case"numeric":case"number":case"numericFilter":return new JQX.Utilities.NumericFilter(e,r.toUpperCase());case"string":case"stringFilter":return new JQX.Utilities.StringFilter(e,r.toUpperCase(),s);case"date":case"time":case"dateFilter":return new JQX.Utilities.DateFilter(e,r.toUpperCase(),i,s,a);case"bool":case"boolean":case"booleanFilter":return new JQX.Utilities.BooleanFilter(e,r.toUpperCase());case"custom":return new JQX.Utilities.CustomFilter(e,r.toUpperCase(),n)}throw new Error('jqxGrid: There is no such filter type. The available filter types are: "numericFilter", "stringFilter", "dateFilter" and "booleanFilter"')}getFilters(){const e=this;let r=new Array;for(let n=0;n<e.filters.length;n++){const i=e.filters[n];if(i instanceof t){let t=i.getFilters();r.push({value:t,logicalOperator:e.logicalOperators[n],type:"FilterGroup"})}else{const t={value:i.value,condition:i.condition,logicalOperator:e.logicalOperators[n],type:i.type};i.data&&(t.id=i.data),r.push(t)}}return r}addFilter(t,e){const r=this;r.filters[r.filters.length]=e,e.key=r.generateFilterKey(),r.logicalOperators[r.logicalOperators.length]=t}removeFilter(t){const e=this;for(let r=0;r<e.filters.length;r++)if(e.filters[r].key===t.key){e.filters.splice(r,1),e.logicalOperators.splice(r,1);break}}getOperatorAt(t){return null==t||t<0||t>this.filters.length?null:this.logicalOperators[t]}setOperatorAt(t,e){return null==t||t<0||t>this.filters.length?null:void(this.logicalOperators[e]=e)}getFilterAt(t){return null==t||t<0||t>this.filters.length?null:this.filters[t]}setFilterAt(t,e){const r=this;return null==t||t<0||t>r.filters.length?null:(e.key=r.generateFilterKey(),void(r.filters[t]=e))}clear(){this.filters=new Array,this.logicalOperators=new Array}getUniqueValues(t,e){const r=t.data,n=[],i=[],s="dateFilter"===t.filterType&&"timePicker"===t.displayMode;let a,l=!1;for(let e=0;e<r.length;e++){let a,o=r[e][t.dataField];""!==o&&null!=o?(a=s?new JQX.Utilities.DateTime(o).toString(t.formatString):o.toString(),-1===n.indexOf(a)&&(n.push(a),i.push({label:a,value:o,customAttribute:"default-item"}))):l=!0}switch(t.filterType){case"numericFilter":case"booleanFilter":a=function(t,e){return t.value-e.value};break;case"stringFilter":a=function(t,e){return(new Intl.Collator).compare(t.value,e.value)};break;case"dateFilter":a=s?function(t,e){try{const r=t.value.getHours(),n=e.value.getHours();if(r!==n)return r-n;const i=t.value.getMinutes(),s=e.value.getMinutes();if(i!==s)return i-s;const a=t.value.getSeconds(),l=e.value.getSeconds();return a!==l?a-l:0}catch(t){return-1}}:function(t,e){try{return t.value.getTime()-e.value.getTime()}catch(t){return-1}}}return i.sort(a),"booleanFilter"===t.filterType&&i.map((function(t){const r=e.localize(t.label);t.label=""+r})),l&&i.push({label:e.localize("blanks"),value:"",customAttribute:"default-item"}),i}}),JQX.Utilities.Assign("StringFilter",class{constructor(t,e,r){const n=this;n.value=t,n.condition=e,n.locale=r||"en",n.type="stringFilter"}toString(){return this.condition+' "'+this.value+'"'}evaluate(t){const e=this,r=e.value,n=e.condition;if(null==t||""===t){if("NULL"===n)return!0;if("EQUAL"===n&&t===r)return!0;if("NOT_EQUAL"===n&&t!==r)return!0;if("CONTAINS"===n&&t===r)return!0;if("EMPTY"!==n)return!1;if(""===t)return!0}let i="";try{i=t.toString()}catch(t){return!0}const s=function(t,r){const i=e.locale;switch(null==r&&(r=""),n){case"EQUAL":return 0===t.localeCompare(r,i,{sensitivity:"accent"});case"EQUAL_CASE_SENSITIVE":return 0===t.localeCompare(r,i,{sensitivity:"variant"});case"NOT_EQUAL":return 0!==t.localeCompare(r,i,{sensitivity:"accent"});case"NOT_EQUAL_CASE_SENSITIVE":return 0!==t.localeCompare(r,i,{sensitivity:"variant"});case"CONTAINS":return"number"==typeof r?t===r:-1!==t.toLowerCase().indexOf(r.toLowerCase());case"CONTAINS_CASE_SENSITIVE":return-1!==t.indexOf(r);case"DOES_NOT_CONTAIN":return-1===t.toLowerCase().indexOf(r.toLowerCase());case"DOES_NOT_CONTAIN_CASE_SENSITIVE":return-1===t.indexOf(r);case"EMPTY":return""===t;case"NOT_EMPTY":return""!==t;case"NOT_NULL":return null!==t;case"STARTS_WITH":return 0===(t=t.substring(0,r.length)).localeCompare(r,i,{sensitivity:"accent"});case"ENDS_WITH":return 0===(t=t.substring(t.length-r.length,t.length)).localeCompare(r,i,{sensitivity:"accent"});case"ENDS_WITH_CASE_SENSITIVE":return 0===(t=t.substring(t.length-r.length,t.length)).localeCompare(r,i,{sensitivity:"variant"});case"STARTS_WITH_CASE_SENSITIVE":return 0===(t=t.substring(0,r.length)).localeCompare(r,i,{sensitivity:"variant"});default:return!1}},a=new Array;if(r&&r.indexOf&&(r.indexOf("|")>=0||r.indexOf(" AND ")>=0||r.indexOf(" OR ")>=0||r.indexOf(" and ")>=0||r.indexOf(" or ")>=0)){const t=s(i,r);if(t)return t;const e=r.indexOf(" and ")>=0?r.split(" and "):new Array,n=r.indexOf(" or ")>=0?r.split(" or "):new Array,l=r.indexOf("|")>=0?r.split("|"):new Array;let o=r.indexOf(" AND ")>=0?r.split(" AND "):new Array,u=r.indexOf(" OR ")>=0?r.split(" OR "):new Array;if(l.length>0)for(let t=0;t<l.length;t++)l[t]=l[t].trim;const c=r.indexOf(" ")>=0?r.split(" "):new Array;if(c.length>0)for(let t=0;t<c.length;t++)c[t]=c[t].trim;if(o=o.concat(c),o=o.concat(e),u=u.concat(l),u=u.concat(n),o.length>0)for(let t=0;t<o.length;t++)!o[t].indexOf(" OR ")>=0&&a.push(o[t]);if(u.length>0)for(let t=0;t<u.length;t++)!u[t].indexOf(" AND ")>=0&&a.push(u[t]);let g;for(let t=0;t<a.length;t++){const e=s(i,a[t]),r=t<o.length?"and":"or";g=void 0===g?e:"or"===r?g||e:g&&e}return g}return s(i,r)}}),JQX.Utilities.Assign("BooleanFilter",class{constructor(t,e){const r=this;r.value=t,r.condition=e,r.type="booleanFilter"}toString(){return this.condition+" "+this.value}evaluate(t){const e=this.value,r=t;switch(this.condition){case"EQUAL":return r===e;case"NOT_EQUAL":return r!==e;case"NULL":return null==t||""===t;case"NOT_NULL":return!(null==t||""===t);default:return!1}}}),JQX.Utilities.Assign("NumericFilter",class{constructor(t,e){const r=this;r.value=t,r.condition=e,r.type="numericFilter"}toString(){return this.condition+" "+this.value}evaluate(t){let e=this.value,r=this.condition;if(null==t||""===t){if("NOT_NULL"===r)return!1;if("NULL"===r)return!0;switch(r){case"EQUAL":return t===e;case"NOT_EQUAL":return t!==e}return!1}if("NULL"===r)return!1;if("NOT_NULL"===r)return!0;let n=t;try{n=parseFloat(n)}catch(e){if(null!==t&&""!==t.toString())return!1}const i=function(t,e){switch("number"==typeof t&&"number"!=typeof e&&(e=parseFloat(e)),r){case"EQUAL":return t===e;case"NOT_EQUAL":return t!==e;case"GREATER_THAN":return t>e;case"GREATER_THAN_OR_EQUAL":return t>=e;case"LESS_THAN":return t<e;case"LESS_THAN_OR_EQUAL":return t<=e;case"STARTS_WITH":return e=e.toString().toLowerCase(),t.toString().toLowerCase().substring(0,e.length)===e;case"ENDS_WITH":return t=t.toString().toLowerCase(),e=e.toString().toLowerCase(),t.substring(t.length-e.length,t.length)===e;case"ENDS_WITH_CASE_SENSITIVE":return t=t.toString(),e=e.toString(),t.substring(t.length-e.length,t.length)===e;case"STARTS_WITH_CASE_SENSITIVE":return e=e.toString(),t.toString().substring(0,e.length)===e;case"CONTAINS":return-1!==t.toString().toLowerCase().indexOf(e.toString().toLowerCase());case"CONTAINS_CASE_SENSITIVE":return-1!==t.toString().indexOf(e.toString());case"DOES_NOT_CONTAIN":return-1===t.toString().toLowerCase().indexOf(e.toString().toLowerCase());case"DOES_NOT_CONTAIN_CASE_SENSITIVE":return-1===t.toString().indexOf(e.toString());default:return!0}};let s=new Array;if(e&&e.indexOf&&(e.indexOf("|")>=0||e.indexOf(" AND ")>=0||e.indexOf(" OR ")>=0||e.indexOf(" and ")>=0||e.indexOf(" or ")>=0)){let t=i(n,e);if(t)return t;e=e.toString();const r=e.indexOf(" and ")>=0?e.split(" and "):new Array,a=e.indexOf(" or ")>=0?e.split(" or "):new Array,l=e.indexOf("|")>=0?e.split("|"):new Array;let o,u=e.indexOf(" AND ")>=0?e.split(" AND "):new Array,c=e.indexOf(" OR ")>=0?e.split(" OR "):new Array;if(u=u.concat(r),c=c.concat(a),l.length>0)for(let t=0;t<l.length;t++)l[t]=l[t].trim;if(c=c.concat(l),u.length>0)for(let t=0;t<u.length;t++)!u[t].indexOf(" OR ")>=0&&s.push(u[t]);if(c.length>0)for(let t=0;t<c.length;t++)!c[t].indexOf(" AND ")>=0&&s.push(c[t]);for(let e=0;e<s.length;e++){const r=s[e];if(r&&r.indexOf&&r.indexOf("..")>=0){const e=r.toString().split("..");2===e.length&&(t=n>=e[0]&&n<=e[1])}else t=i(n,r);const a=e<u.length?"and":"or";o=void 0===o?t:"or"===a?o||t:o&&t}return o}return e&&e.indexOf&&e.indexOf("..")>=0&&(s=e.toString().split(".."),2===s.length)?n>=s[0]&&n<=s[1]:i(n,e)}}),JQX.Utilities.Assign("DateFilter",class{constructor(t,e,r,n,i){const s=this,a=new JQX.Utilities.DateTime;if(s.value=t,s.type="dateFilter",void 0!==r){const e=a.parseDate(t,r);if(null!==e)s.filterdate=e;else{const e=a.tryparseDate(t);null!==e&&(s.filterdate=e)}}else{const e=new Date(t);"NaN"===e.toString()||"Invalid Date"===e.toString()?s.filterdate=a.tryparseDate(t):s.filterdate=e}if(!s.filterdate){const e=new Date(t);"NaN"===e.toString()||"Invalid Date"===e.toString()?s.filterdate=a.tryparseDate(t):s.filterdate=e}s.condition=e,s.formatString=r,s.timeOnly=i}toString(){return this.value&&this.value instanceof Date?this.condition+' "'+this.value.toISOString()+'"':this.condition+" "+this.value}evaluate(t){const e=this,r=e.condition,n=e.formatString;let i=e.value;if(e.timeOnly)return e.evaluateTimeOnly(t);if(null==t||""===t){if("NOT_NULL"===r)return!1;if("NULL"===r)return!0;switch(r){case"EQUAL":return t===i;case"NOT_EQUAL":return t!==i}return!1}if("NULL"===r)return!1;if("NOT_NULL"===r)return!0;let s,a=new Date;a.setFullYear(1900,0,1),a.setHours(12,0,0,0);try{const r=new JQX.Utilities.DateTime,l=new Date(t);if(a=t="NaN"===l.toString()||"Invalid Date"===l.toString()?r.tryparseDate(t):l,s=!1,void 0!==n&&(n.indexOf("t")>=0||n.indexOf("T")>=0||n.indexOf(":")>=0||n.indexOf("f")>=0)&&(s=!0,i&&-1===i.toString().indexOf(":"))){const t=r.tryparseDate(i.toString()+":00");null!==t&&(e.filterdate=t)}s||(a.setHours(0),a.setMinutes(0),a.setSeconds(0))}catch(e){if(null!==t&&""!==t.toString())return!1}if(null!==e.filterdate)i=e.filterdate;else if(i&&i.indexOf&&(-1!==i.indexOf(":")||!isNaN(parseInt(i)))){const t=new Date(a);t.setHours(12,0,0,0);const e=i.split(":");for(let r=0;r<e.length;r++)0===r&&t.setHours(e[r]),1===r&&t.setMinutes(e[r]),2===r&&t.setSeconds(e[r]);i=t}s&&i&&i.setFullYear&&a&&a.getFullYear&&-1===n.indexOf("d")&&-1===n.indexOf("M")&&-1===n.indexOf("y")&&i.setFullYear(a.getFullYear(),a.getMonth(),a.getDate());const l=function(t,e){switch(null===t&&(t=""),r){case"EQUAL":return t.toString()===e.toString();case"NOT_EQUAL":return t.toString()!==e.toString();case"GREATER_THAN":return t>e;case"GREATER_THAN_OR_EQUAL":return t>=e;case"LESS_THAN":return t<e;case"LESS_THAN_OR_EQUAL":return t<=e;case"STARTS_WITH":return e=e.toString().toLowerCase(),t.toString().toLowerCase().substring(0,e.length)===e;case"ENDS_WITH":return t=t.toString().toLowerCase(),e=e.toString().toLowerCase(),t.substring(t.length-e.length,t.length)===e;case"ENDS_WITH_CASE_SENSITIVE":return t=t.toString(),e=e.toString(),t.substring(t.length-e.length,t.length)===e;case"STARTS_WITH_CASE_SENSITIVE":return e=e.toString(),t.toString().substring(0,e.length)===e;case"CONTAINS":return-1!==t.toString().toLowerCase().indexOf(e.toString().toLowerCase());case"CONTAINS_CASE_SENSITIVE":return-1!==t.toString().indexOf(e.toString());case"DOES_NOT_CONTAIN":return-1===t.toString().toLowerCase().indexOf(e.toString().toLowerCase());case"DOES_NOT_CONTAIN_CASE_SENSITIVE":return-1===t.toString().indexOf(e.toString());case"TODAY":{const e=new Date;return e.setHours(0,0,0,0),t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()}case"TOMORROW":{const e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()+1),t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()}case"YESTERDAY":{const e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-1),t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()}case"LAST_WEEK":{const e=(()=>{let t=new Date,e=t.getDay(),r=t.getDate(),n=new Date(t);n.setDate(r-e-7),n.setHours(0,0,0,0);let i=new Date(t);i.setDate(r+(6-e)-7),i.setHours(0,0,0,0);let s=[];for(let t=n;t<=i;t.setDate(t.getDate()+1))s.push(new Date(t));return s})();return t>=e[0]&&t<=e[e.length-1]}case"THIS_WEEK":{const e=(()=>{let t=new Date,e=t.getDay(),r=t.getDate(),n=new Date(t);n.setDate(r-e),n.setHours(0,0,0,0);let i=new Date(t);i.setDate(r+(6-e)),i.setHours(0,0,0,0);let s=[];for(let t=n;t<=i;t.setDate(t.getDate()+1))s.push(new Date(t));return s})();return t>=e[0]&&t<=e[e.length-1]}case"NEXT_WEEK":{const e=(()=>{let t=new Date,e=t.getDay(),r=t.getDate(),n=new Date(t);n.setDate(r-e+7),n.setHours(0,0,0,0);let i=new Date(t);i.setDate(r+(6-e)+7),i.setHours(0,0,0,0);let s=[];for(let t=n;t<=i;t.setDate(t.getDate()+1))s.push(new Date(t));return s})();return t>=e[0]&&t<=e[e.length-1]}case"LAST_MONTH":return!!(t=>{const e=new Date,r=new Date(e.getFullYear(),e.getMonth()-1,1),n=new Date(e.getFullYear(),e.getMonth(),1);return t>=r&&t<n})(t);case"THIS_MONTH":return!!(t=>{const e=new Date,r=new Date(e.getFullYear(),e.getMonth(),1),n=new Date(e.getFullYear(),e.getMonth()+1,1);return t>=r&&t<n})(t);case"NEXT_MONTH":return!!(t=>{const e=new Date,r=new Date(e.getFullYear(),e.getMonth()+1,1),n=new Date(e.getFullYear(),e.getMonth()+2,1);return t>=r&&t<n})(t);default:return!0}};let o=new Array;if(i&&i.indexOf&&(i.indexOf("|")>=0||i.indexOf(" AND ")>=0||i.indexOf(" OR ")>=0||i.indexOf(" and ")>=0||i.indexOf(" or ")>=0)){let t=l(a,i);if(t)return t;const e=i.indexOf(" and ")>=0?i.split(" and "):new Array,r=i.indexOf(" or ")>=0?i.split(" or "):new Array,n=i.indexOf("|")>=0?i.split("|"):new Array;let s,u=i.indexOf(" AND ")>=0?i.split(" AND "):new Array,c=i.indexOf(" OR ")>=0?i.split(" OR "):new Array;if(u=u.concat(e),c=c.concat(r),n.length>0)for(let t=0;t<n.length;t++)n[t]=n[t].trim;if(c=c.concat(n),u.length>0)for(let t=0;t<u.length;t++)!u[t].indexOf(" OR ")>=0&&o.push(u[t]);if(c.length>0)for(let t=0;t<c.length;t++)!c[t].indexOf(" AND ")>=0&&o.push(c[t]);for(let e=0;e<o.length;e++){const r=o[e];if(r&&r.indexOf&&r.indexOf("..")>=0){const e=r.toString().split("..");2===e.length&&(t=a>=e[0]&&a<=e[1])}else t=l(a,r);const n=e<u.length?"and":"or";s=void 0===s?t:"or"===n?s||t:s&&t}return s}return i&&i.indexOf&&i.indexOf("..")>=0&&(o=i.toString().split(".."),2===o.length)?a>=o[0]&&a<=o[1]:l(a,i)}evaluateTimeOnly(t){const e=this.value;return e?!!(t&&t instanceof Date)&&(t.getHours()===e.getHours()&&(t.getMinutes()===e.getMinutes()&&t.getSeconds()===e.getSeconds())):!t}}),JQX.Utilities.Assign("CustomFilter",class{constructor(t,e,r){const n=this;n.value=t,n.condition=e,n.customfilter=r}toString(){return this.condition+" "+this.value}evaluate(t){const e=this;return e.customfilter(e.value,t,e.condition)}}),JQX.FilterGroup=JQX.Utilities.FilterGroup,JQX.StringFilter=JQX.Utilities.StringFilter,JQX.NumericFilter=JQX.Utilities.NumericFilter,JQX.DateFilter=JQX.Utilities.DateFilter,JQX.CustomFilter=JQX.Utilities.CustomFilter;

/***/ }),

/***/ 2515:
/***/ (() => {

JQX.Utilities.Assign("ConditionalFormatter",class{constructor(e){const t=this;if(t.data=e||[],t.data&&t.data.boundHierarchy){const e=[],o=function(t){for(let a=0;a<t.length;a++)e.push(t[a]),t[a].children&&t[a].children.length>0&&o(t[a].children)};o([...t.data.boundHierarchy]),t.data=e}t._allowedDateComparators=["yesterday","today","tomorrow","last7Days","lastWeek","thisWeek","nextWeek","lastMonth","thisMonth","nextMonth","lastYear","thisYear","nextYear"],t._colorSchemes=[{name:"scheme01",colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF"]},{name:"scheme02",colors:["#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8"]},{name:"scheme03",colors:["#E8601A","#FF9639","#F5BD6A","#599994","#115D6E"]},{name:"scheme04",colors:["#D02841","#FF7C41","#FFC051","#5B5F4D","#364651"]},{name:"scheme05",colors:["#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00"]},{name:"scheme06",colors:["#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B"]},{name:"scheme07",colors:["#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63"]},{name:"scheme08",colors:["#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6"]},{name:"scheme09",colors:["#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F"]},{name:"scheme10",colors:["#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825"]},{name:"scheme11",colors:["#993144","#FFA257","#CCA56A","#ADA072","#949681"]},{name:"scheme12",colors:["#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932"]},{name:"scheme13",colors:["#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54"]},{name:"scheme14",colors:["#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3"]},{name:"scheme15",colors:["#444546","#FFBB6E","#F28D00","#D94F00","#7F203B"]},{name:"scheme16",colors:["#583C39","#674E49","#948658","#F0E99A","#564E49"]},{name:"scheme17",colors:["#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17"]},{name:"scheme18",colors:["#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5"]},{name:"scheme19",colors:["#844341","#D5CC92","#BBA146","#897B26","#55591C"]},{name:"scheme20",colors:["#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472"]},{name:"scheme21",colors:["#96003A","#FF7347","#FFBC7B","#FF4154","#642223"]},{name:"scheme22",colors:["#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E"]},{name:"scheme23",colors:["#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7"]},{name:"scheme24",colors:["#7B1A25","#BF5322","#9DA860","#CEA457","#B67818"]},{name:"scheme25",colors:["#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46"]},{name:"scheme26",colors:["#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800"]},{name:"scheme27",colors:["#FF6800","#A0A700","#FF8D00","#678900","#0069A5"]},{name:"scheme28",colors:["#63BE7B","#FDD17F","#F8696B"]},{name:"scheme29",colors:["#F8696B","#FDD17F","#63BE7B"]},{name:"scheme30",colors:["#63BE7B","#FCFCFF","#F8696B"]},{name:"scheme31",colors:["#F8696B","#FCFCFF","#63BE7B"]},{name:"scheme32",colors:["#5A8AC6","#FCFCFF","#F8696B"]},{name:"scheme33",colors:["#F8696B","#FCFCFF","#5A8AC6"]},{name:"scheme34",colors:["#FCFCFF","#F8696B"]},{name:"scheme35",colors:["#F8696B","#FCFCFF"]},{name:"scheme36",colors:["#63BE7B","#FCFCFF"]},{name:"scheme37",colors:["#FCFCFF","#63BE7B"]},{name:"scheme38",colors:["#63BE7B","#FFEF9C"]},{name:"scheme39",colors:["#FFEF9C","#63BE7B"]},{name:"scheme40",colors:["#000000","#8b0000 ","#FFFF00","#FFFFFF"]},{name:"scheme41",colors:["#63BE7B","#FDD17F ","#F8696B","#FF69B4"]},{name:"scheme42",colors:["#63BE7B","#FDD17F ","#FDD17F","#F8696B"]},{name:"scheme00",colors:["#63BE7B","#FDD17F","#FDD17F","#FDD17F","#F8696B"]}]}format(e,t,o){const a=this,r=a.data;if(0===r.length)return;if(e?a.condition=e:e=a.condition,!e)return;void 0!==a.comparator&&null!==a.comparator||(a.comparator=o),t?a.columns=t:t=a.columns,a.color&&(a.color=/^#[0-9A-F]{6}$/i.test(a.color)?a.color:void 0),(!t||!Array.isArray(t)||Array.isArray(t)&&0===t.length)&&(t=a.columns=[]);let n={};for(let e=0;e<t.length;e++){const o=t[e];void 0!==r[0][o]&&(n[o]=a._validateColumnData(o))}return 0!==Object.keys(n).length?n:void 0}_applyColorScale(e){const t=this,o=e.length;function a(e){let t=0;for(;t<i;){if(e<=c[t].max)return t;t++}return Math.max(0,Math.min(i-1,t))}if(0===o)return;const r=void 0!==t.colorScheme?t._getSchemeColors():[t.color];if(0===r.length||void 0===r[0]||null===r[0])return;let n,l,s={},c={};const i=r.length-("iconSet"===t.condition?0:1),m=t._getColumnRange(e),F=parseFloat(t.min)||m.min,h=Math.max(F,parseFloat(t.max)||m.max);for(let e=0;e<i;e++)c[e]={min:c[e-1]?c[e-1].max:F,max:F+(e+1)/i*(h-F)};0===i&&(c[0]={min:F,max:h});for(let m=0;m<o;m++){let o=e[m]instanceof Date?e[m].getTime():e[m];o=Math.min(h,Math.max(F,o)),"number"==typeof o&&(n=a(o)||0,"iconSet"===t.condition?s[m]={"--icon-set":" ","--icon-set-color":r[n],"--icon-set-rotation-angle":t._getRotationAngle(n/(i-1)||0)+"deg"}:(l=1-((o-c[n].min)/(c[n].max-c[n].min)||0),s[m]=t._getCellStyle(t._mixColors(r[n],r[Math.min(n+1,i)],l))))}return s}_applyColorBar(e){const t=this,o=e.length,a=t._getColumnRange(e),r=t.min?parseFloat(t.min)||0:a.min,n=t.max?parseFloat(t.max)||0:a.max,l=void 0!==t.colorScheme?t._getSchemeColors():[t.color];let s,c="",i={};for(let e=0;e<l.length;e++)void 0!==l[e]&&null!==l[e]&&(c+=l[e]+",");if(c){c=c.slice(0,-1),s=1===l.length?l[0]:"-webkit-linear-gradient(left,"+c+")";for(let t=0;t<o;t++){let o=e[t]instanceof Date?e[t].getTime():e[t];o=Math.min(n,Math.max(r,e[t])),"number"==typeof o&&(i[t]={"--color-bar":" ","--bar-width":((o-r)/(n-r)*100||0)+"%","--bar-color":s})}return i}console.log("Invalid color/colorScheme detected.")}_applyRule(e){const t=this,o=e.length,a="string"==typeof t.condition?t.condition.trim():"";let r,n,l,s=parseFloat(t.min)||0,c=Math.max(s,parseFloat(t.max)||0);function i(i){switch(a){case"between":if(i instanceof Date&&(i=i.getTime()),i>=s&&i<=c)return i;break;case"contains":if((i+"").indexOf(r)>-1)return i;break;case"duplicate":{let t=0;for(let a=0;a<o;a++)if(e[a]===i&&t++,t>1)return i;break}case"dateOccur":{const e=t._getDateRange(i,r);if(!e)break;if(i=new Date(i),isNaN(i.getTime()))break;const o=i.getTime(),a=e.min.getTime(),n=e.max.getTime();if(o>=a&&o<=n)return i;break}case"doesNotContain":if((i+"").indexOf(r)<0)return i;break;case"equal":if("number"==typeof i&&i===parseFloat(r))return i;if("string"==typeof i&&0===i.localeCompare(r+""))return i;if("boolean"==typeof i&&i+""==r+"")return i;if(i instanceof Date&&i.getTime()===new Date(r).getTime())return i;break;case"greaterThan":if(i>parseFloat(r))return i;break;case"lessThan":if(i<parseFloat(r))return i;break;case"notEqual":if("number"==typeof i&&i!==parseFloat(r))return i;if("string"==typeof i&&0!==i.localeCompare(r+""))return i;if("boolean"==typeof i&&i+""!=r+"")return i;if(i instanceof Date&&i.getTime()!==new Date(r).getTime())return i;break;case"topNItems":case"bottomNItems":case"topNPercent":case"bottomNPercent":if(n||(n=e.slice(0).sort(0===a.indexOf("top")?(e,t)=>e<t?1:e>t?-1:0:(e,t)=>e>t?1:e<t?-1:0).slice(0,parseInt(a.indexOf("Percent")>0?o*r/100:r))),n.indexOf(i)>-1)return i;break;case"aboveAverage":case"belowAverage":if(!l){let t=0;e.map((e=>t+=parseFloat(e))),l=t/o}if("aboveAverage"===a&&i>l)return i;if("belowAverage"===a&&i<l)return i}return null}if(r="dateOccur"===a?"string"==typeof t.comparator&&t._allowedDateComparators.indexOf(t.comparator.trim())>-1?t.comparator.trim():void 0:Array.isArray(t.comparator)?t.comparator[0].trim():t.comparator,!e||0===e.length)return;if(["odd","even","duplicate","dateOccur","between","aboveAverage","belowAverage"].indexOf(a)<0&&0!==a.indexOf("everyN")&&null==r)return console.warn(t.condition+" requires a comparator."),[];if("odd"===a||"even"===a||0===a.indexOf("everyN"))return t._getAlternateItems(e);let m,F=[];for(let t=0;t<o;t++)m=i(e[t]),null!=m&&F.push(t);return F}_getAlternateItems(e){const t=this,o=e.length,a="string"==typeof t.condition?t.condition.trim():"",r=parseInt(t.min)||0,n=Math.max(r,parseInt(t.max)||o)-1,l=parseInt(t.comparator);let s=[],c=0;for(let e=0;e<=o;e++)if(!(e<r)){if(e>n)break;"even"===a&&(e+1)%2==0||"odd"===a&&(e+1)%2!=0?s.push(e):void 0===l||isNaN(l)||(c===l?(s.push(e),c=0):c++)}return s}_getColumnRange(e){const t=e.length;let o,a,r=0;for(let n=0;n<t;n++)a=e[n],a instanceof Date&&(a=a.getTime()),a>r&&(r=a),void 0===o&&(o=a),a<o&&(o=a);return{min:parseFloat(o)||0,max:parseFloat(r)||0}}_getCellStyle(e,t){var o=e;return{background:this._hexToRgba(e,t).toString(),color:this._getTextElementByColor(this._hexToRgba(e,.7)),border:o}}_getDateRange(e,t){let o,a;if(!(new Date(e)instanceof Date&&t))return;const r=new Date;switch(t){case"yesterday":case"today":case"tomorrow":"yesterday"===t?a=new Date(r.getFullYear(),r.getMonth(),r.getDate()-1):"today"===t?(a=new Date,a.setHours(0,0,0,0)):a=new Date(r.getFullYear(),r.getMonth(),r.getDate()+1),o=a;break;case"last7Days":a=new Date(r.getFullYear(),r.getMonth(),r.getDate()-6),o=new Date(r);break;case"lastWeek":case"thisWeek":case"nextWeek":a="lastWeek"===t?new Date(r.getFullYear(),r.getMonth(),r.getDate()-6-r.getDay()):"thisWeek"===t?new Date(r.getFullYear(),r.getMonth(),r.getDate()-Math.abs(1-r.getDay())):new Date(r.getFullYear(),r.getMonth(),r.getDate()+Math.abs(7-r.getDay())),o=new Date(a.getFullYear(),a.getMonth(),a.getDate()+6);break;case"lastMonth":case"thisMonth":case"nextMonth":"lastMonth"===t?(o=new Date(r.getFullYear(),r.getMonth(),0),a=new Date(o.getFullYear(),o.getMonth(),1)):"thisMonth"===t?(a=new Date(r.getFullYear(),r.getMonth(),1),o=new Date(r.getFullYear(),r.getMonth()+1,0)):(a=new Date(r.getFullYear(),r.getMonth()+1,1),o=new Date(r.getFullYear(),r.getMonth()+2,0));break;case"lastYear":case"thisYear":case"nextYear":"lastYear"===t?(a=new Date(r.getFullYear()-1,0,1),o=new Date(r.getFullYear()-1,12,0)):"thisYear"===t?(a=new Date(r.getFullYear(),0,1),o=new Date(r.getFullYear(),12,0)):(a=new Date(r.getFullYear()+1,0,1),o=new Date(r.getFullYear()+1,12,0))}return{min:a,max:o}}_getRotationAngle(e){let t=e;return e<.25?t=Math.round(e)?.25:0:e>.25&&e<.5?t=Math.round(e)?.5:.25:e>.5&&e<.75?t=Math.round(e)?.75:.5:e>.75&&e<1&&(t=Math.round(e)?1:.75),180*t}_getSchemeColors(){const e=this;let t;if("string"==typeof e.colorScheme)t=0===e.colorScheme.indexOf("scheme")?e._colorSchemes.filter((t=>t.name===e.colorScheme))[0]:void 0;else{if("number"!=typeof e.colorScheme)return[];t=e._colorSchemes[e.colorScheme]?e._colorSchemes[e.colorScheme]:void 0}return"object"==typeof t?t.colors:e._colorSchemes[0].colors}_getTextElementByColor(e){return.299*e.r+.587*e.g+.114*e.b>=125?"Black":"White"}_hexToRgba(e,t){const o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);var a=function(){return this.alpha>1||void 0===this.alpha||null===this.alpha?this.alpha=1:this.alpha<0&&(this.alpha=0),"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"};return void 0===t?o?{r:parseInt(o[1],16),g:parseInt(o[2],16),b:parseInt(o[3],16),toString:a}:null:(t>1?t=1:t<0&&(t=0),o?{r:parseInt(o[1],16),g:parseInt(o[2],16),b:parseInt(o[3],16),alpha:t,toString:a}:null)}_mixColors(e,t,o){const a=e=>parseInt(e,16);let r,n="#";o=void 0!==o?o:.5,e=e.replace(/#/g,""),t=t.replace(/#/g,"");for(let l=0;l<=5;l+=2){const s=a(e.substr(l,2)),c=a(t.substr(l,2));for(r=Math.floor(c+(s-c)*o).toString(16);r.length<2;)r="0"+r;n+=r}return n}_shadeColor(e,t){var o=parseInt(e.slice(1),16),a=t<0?0:255,r=t<0?-1*t:t,n=o>>16,l=o>>8&255,s=255&o;return"#"+(16777216+65536*(Math.round((a-n)*r)+n)+256*(Math.round((a-l)*r)+l)+(Math.round((a-s)*r)+s)).toString(16).slice(1)}_validateColumnData(e){const t=this,o=[],a=t.data;let r,n={};for(let t=0;t<a.length;t++)a[t]&&o.push(a[t][e]);if("colorScale"===t.condition||"iconSet"===t.condition)return t._applyColorScale(o);if("colorBar"===t.condition)return t._applyColorBar(o);if(r=t._applyRule(o),r){if(t.color){for(let e=0;e<r.length;e++)n[r[e]]=t._getCellStyle(t.color);return n}console.warn('No color is provided. "color" property is not set.')}}});

/***/ }),

/***/ 859:
/***/ (() => {

JQX("jqx-gantt-chart",class extends JQX.ScrollViewer{static get properties(){return{adjustToNonworkingTime:{value:!1,type:"boolean"},autoSchedule:{value:!1,type:"boolean"},autoScheduleStrictMode:{value:!1,type:"boolean"},autoScrollStep:{value:5,type:"number"},columnMenu:{value:!1,type:"boolean"},columnMinWidth:{value:"50px",type:"any"},columnResize:{value:!1,type:"boolean"},columnResizeFeedback:{value:!1,type:"boolean"},currentTime:{value:new Date,type:"any",validator:"_dateValidator"},currentTimeIndicator:{value:!1,type:"boolean"},currentTimeIndicatorInterval:{value:1,validator:"_currentTimeIndicatorIntervalValidator",type:"number"},dataExport:{value:{exportFiltered:{value:!1,type:"boolean"},itemType:{value:"task",type:"string"},fileName:{value:"jqxGanttChart",type:"string?"}},type:"object"},dataSource:{value:[],type:"any",reflectToAttribute:!1},dateEnd:{value:"",type:"any",validator:"_dateValidator"},dateStart:{value:"",type:"any",validator:"_dateValidator"},dateMarkers:{value:[],reflectToAttribute:!1,type:"array"},dayFormat:{value:"short",allowedValues:["2-digit","numeric","long","short","narrow"],type:"string"},dayScale:{value:"hour",allowedValues:["hour","halfHour","quarterHour"],type:"string"},disableAutoScroll:{value:!1,type:"boolean"},disableTaskDrag:{value:!1,type:"boolean"},disableTaskProgressChange:{value:!1,type:"boolean"},disableTaskResize:{value:!1,type:"boolean"},disableSelection:{value:!1,type:"boolean"},disableSegmentDrag:{value:!1,type:"boolean"},disableSegmentResize:{value:!1,type:"boolean"},disableWindowEditor:{value:!1,type:"boolean"},durationUnit:{value:"milisecond",allowedValues:["day","week","hour","minute","second","milisecond"],type:"string"},filterRow:{value:!1,type:"boolean"},firstDayOfWeek:{value:-1,type:"number"},groupByResources:{value:!1,type:"boolean"},headerTemplate:{value:null,type:"any"},hourFormat:{value:"default",allowedValues:["default","2-digit","numeric"],type:"string"},hideDateMarkers:{value:!1,type:"boolean"},hideTimelineHeaderDetails:{value:!1,type:"boolean"},hideTimelineSecondHeaderDetails:{value:!0,type:"boolean"},hideTimelineHeader:{value:!1,type:"boolean"},hideResourcePanel:{value:!1,type:"boolean"},showSelectionColumn:{value:!1,type:"boolean"},infiniteTimeline:{value:!1,type:"boolean"},infiniteTimelineStep:{value:5,type:"number"},inverted:{value:!1,type:"boolean"},keyboardNavigation:{value:!1,type:"boolean"},messages:{extend:!0,value:{en:{duplicateIds:"{{elementType}}: DataSource contains duplicate ids. Tasks should have unique ids. The following ids are duplicating: {{duplicates}}.",invalidNonworkingRange:"{{elementType}}: Invalid {{property}} value. {{property}} should not contain all possible days/hours because it will result in an endless timeline. The value has been validated by removing the last item from the new value range.",invalidValue:"{{elementType}}: Invalid {{property}} value. {{property}} should be of type {{typeOne}} or {{typeTwo}}.",incorrectArgument:"{{elementType}}: Incorrect argument {{argumentName}} in method {{methodName}}.",outOfBounds:"{{elementType}}: Out of bounds argument {{argumentName}} in method {{methodName}}.",missingReference:"{{elementType}}: Missing reference to {{file}} in method {{methodName}}.",alreadyExists:"{{elementType}}: The item already exists when calling the {{methodName}} method.",notExisting:"{{elementType}}: The item does not exists when calling the {{methodName}} method.",notAProject:"{{elementType}}: The {{argumentName}} argument in {{methodName}} method does not reference an item of type 'project'.",noId:"jqxGanttChart requires an id in order to save/load/clear a state.",ok:"Ok",add:"Add",remove:"Remove",cancel:"Cancel",delete:"Delete",confirm:"{{componentName}} will be deleted permanently, <b>are you sure? </b>",taskColumnLabel:"Task Name",resourceColumnLabel:"Resource Name",deleteLink:"Delete link",unassigned:"Unassigned",generalTab:"General",dependencyTab:"Dependency",segmentsTab:"Segments",segment:"Segment",dependencyValidation:"*The Task cannot be connected to itself.",segmentsCountValidation:"*Segmented Tasks must have at least 2 segments. ",segmentConflictError:'*The Segment "{{label}}" is in conflict, because it starts on/before and ends on/after the {{dateConflict}} of Segment "{{conflictLabel}}." ',segmentStartError:'*The Segment "{{label}}" cannot start before it ends and cannot end before it starts.',segmentEndError:'*The Segment "{{label}}" cannot start when it ends.',segmentRangeError:'*The Segment "{{label}}" is out of Task date range. The first segment must start when the task starts and the last segment must end when the task ends.',label:"Label",duration:"Duration",dateStart:"Date Start",dateEnd:"Date End",id:"Id",name:"Name",type:"Type",lag:"Lag",startToStart:"Start-To-Start",endToStart:"End-To-Start",endToEnd:"End-To-End",startToEnd:"Start-To-End",overdue:"Overdue",weeks:"week(s)",days:"day(s)",hours:"hour(s)",minutes:"minute(s)",seconds:"second(s)",miliseconds:"milisecond(s)",task:"Task",resource:"Resource",assignments:"Assignments",startTask:"Task Start",endTask:"Task End",deadline:"Deadline",quarter:"Quarter",quarterShort:"Q",itemsPerPage:"Items per page:",lastButton:"Last",firstButton:"First",summaryPrefix:"of",previousButton:"Previous",nextButton:"Next"}},type:"object"},monthFormat:{value:"short",allowedValues:["2-digit","numeric","long","short","narrow"],type:"string"},monthScale:{value:"week",allowedValues:["day","week"],type:"string"},max:{value:new Date(2100,0,1),type:"any",validator:"_dateValidator"},min:{value:new Date(1900,0,1),type:"any",validator:"_dateValidator"},nonworkingDays:{value:[],type:"array",validator:"_nonworkingDayValidator"},nonworkingHours:{value:[],type:"array",validator:"_nonworkingTimeValidator"},onTaskRender:{value:null,reflectToAttribute:!1,type:"function?"},popupWindowCustomizationFunction:{value:null,reflectToAttribute:!1,type:"function?"},popupWindowTabs:{value:["general","dependency","segments"],reflectToAttribute:!1,type:"array"},progressLabelFormatFunction:{value:null,reflectToAttribute:!1,type:"function?"},resizeHandlesVisibility:{allowedValues:["auto","hidden","visible"],value:"auto",type:"string"},quarterFormat:{value:"short",allowedValues:["long","short","numeric"],type:"string"},resourceColumns:{value:[{label:"resourceColumnLabel",value:"label"}],type:"array",reflectToAttribute:!1},resourceFiltering:{value:!1,type:"boolean"},resourceGroupFormatFunction:{value:null,reflectToAttribute:!1,type:"function?"},resourcePanelHeaderTemplate:{value:null,type:"any"},resourcePanelMin:{value:100,type:"any"},resourcePanelSize:{value:"",type:"any"},resourcePanelRefreshRate:{value:0,reflectToAttribute:!1,type:"number"},resourceTimelineFormatFunction:{value:null,reflectToAttribute:!1,type:"function?"},resourceTimelineMode:{allowedValues:["diagram","histogram","custom"],value:"diagram",type:"string"},resourceTimelineView:{allowedValues:["hours","tasks","custom"],value:"hours",type:"string"},selectionMode:{value:"many",type:"string",allowedValues:["one","many","extended"]},selectedTaskIds:{value:[],type:"array"},selectedResourceIds:{value:[],type:"array"},shadeUntilCurrentTime:{value:!1,type:"boolean"},showBaseline:{value:!1,type:"boolean"},showProgressLabel:{value:!1,type:"boolean"},snapToNearest:{value:!1,type:"boolean"},sortFunction:{value:null,type:"function?",reflectToAttribute:!1},sortMode:{value:"none",allowedValues:["none","one","many"],type:"string"},taskColumns:{value:[{label:"taskColumnLabel",value:"label"}],type:"array",reflectToAttribute:!1},taskFiltering:{value:!1,type:"boolean"},taskPanelMin:{value:200,type:"any"},taskPanelSize:{value:"",type:"any"},timelineHeaderFormatFunction:{value:null,reflectToAttribute:!1,type:"function?"},timelineMin:{value:200,type:"any"},treeMin:{value:100,type:"any"},treeSize:{value:"20%",type:"any"},tooltip:{value:{enabled:{value:!1,type:"boolean"},arrow:{value:!1,type:"boolean"},delay:{value:50,type:"number"},offset:{value:[0,5],type:"array"}},type:"object"},taskFormatFunction:{type:"any",value:null},tooltipFormatFunction:{value:null,type:"any"},verticalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]},view:{value:"year",allowedValues:["day","week","month","quarter","year"],type:"any"},yearFormat:{value:"numeric",allowedValues:["2-digit","numeric"],type:"string"},weekFormat:{value:"long",allowedValues:["long","numeric"],type:"string"},pageSize:{value:10,allowedValues:[10,25,50],type:"number"},pageIndex:{value:0,type:"number"},paging:{value:!1,type:"boolean"}}}template(){return'<div id="container" role="presentation">\n                    <jqx-splitter id="mainSplitter" auto-fit-mode="end" keep-proportions-on-resize right-to-left="[[rightToLeft]]" animation="[[animation]]" orientation="horizontal">\n                        <jqx-splitter-item id="taskSplitterItem" class="jqx-task-splitter-item">\n                            <div id="taskSplitterItemHeader" class="jqx-task-panel-header"></div>\n                            <jqx-splitter id="taskSplitter" class="jqx-task-splitter" auto-fit-mode="end">\n                                 <jqx-splitter-item id="tableSplitterItem">\n                                    <jqx-table page-index="[[pageIndex]]" page-size="[[pageSize]]" pages-count="null" right-to-left="[[rightToLeft]]" wait id="taskTable" class="jqx-task-table" virtualization animation="none" deferred-scroll-delay="0" ></jqx-table>\n                                </jqx-splitter-item>\n                                <jqx-splitter-item id="timelineSplitterItem" class="jqx-timeline-splitter-item">\n                                        <div id="timeline" class="jqx-timeline">\n                                            <div id="timelineHeader" class="jqx-timeline-header" role="rowgroup">\n                                                <div id="timelineHeaderContent" class="jqx-timeline-header-content">\n                                                    <div class="jqx-timeline-view-details" id="timelineViewDetails" role="row"></div>\n                                                    <div class="jqx-timeline-view-details jqx-hidden" id="timelineViewSubDetails" role="row"></div>\n                                                    <div class="jqx-timeline-view-cells" id="timelineViewCells" role="row"></div>\n                                                </div>\n                                            </div>\n                                            <div id="taskTimelineContainer" class="jqx-timeline-content-container">\n                                                <div id="timelineContent" class="jqx-timeline-content">\n                                                    <div id="taskTimelineCellsContainer" class="jqx-timeline-cells-container" aria-hidden="true"></div>\n                                                    <div id="taskIndicatorsContainer" class="jqx-timeline-indicators-container" role="group"></div>\n                                                    <div id="timelineConnectionsContainer" class="jqx-timeline-connections-container" role="group"></div>\n                                                    <div id="timelineBaselinesContainer" class="jqx-timeline-baselines-container" role="group"></div>\n                                                    <div id="timelineTasksContainer" class="jqx-timeline-tasks-container" role="group"></div>\n                                                    <div id="timelineMarkers" class="jqx-timeline-markers-container" role="group"></div>\n                                                    <div id="timelineDeadlines" class="jqx-timeline-deadlines-container" role="group"></div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                        <jqx-scroll-bar id="verticalScrollBar" class="jqx-timeline-scroll-bar" orientation="vertical"\n                                                right-to-left="[[rightToLeft]]" aria-controls="[[id]]">\n                                        </jqx-scroll-bar>\n                                </jqx-splitter-item>\n                            </jqx-splitter>\n                        </jqx-splitter-item>\n                    </jqx-splitter>\n                    <jqx-scroll-bar wait id="horizontalScrollBar" class="jqx-timeline-scroll-bar"></jqx-scroll-bar>\n                    <jqx-pager id="pager" animation="[[animation]]" locale="[[locale]]" page-index="[[pageIndex]]" page-size="[[pageSize]]" pages-count="null" show-first-last-navigation-buttons show-page-size-selector show-prev-next-navigation-buttons show-summary right-to-left="[[rightToLeft]]" theme="[[theme]]"></jqx-pager>\n                </div>'}static get listeners(){return{down:"_downHandler","document.move":"_documentMoveHandler","document.up":"_documentUpHandler","document.dragstart":"_dragStartHandler","container.wheel":"_mouseWheelHandler","horizontalScrollBar.change":"_horizontalScrollbarHandler","verticalScrollBar.change":"_verticalScrollbarHandler","resourceVerticalScrollBar.change":"_verticalScrollbarHandler","mainSplitter.resizeEnd":"_resizeEventHandler","mainSplitter.resize":"_resizeEventHandler",move:"_moveHandler","mainSplitter.change":"_tableChangeHandler","mainSplitter.filter":"_tableSortFilterHandler","mainSplitter.sort":"_tableSortFilterHandler","mainSplitter.columnResize":"_tableColumnResizeHandler","taskTable.group":"_taskTableGroupEventHandler","taskTable.collapse":"_taskTableExpandHandler","taskTable.expand":"_taskTableExpandHandler","taskTable.keydown":"_taskTableKeyDownHandler","pager.change":"_pagerChangeHandler","pager.pageSizeChanged":"_pagerPageSizeChanged"}}static get styleUrls(){return["jqx.ganttchart.css"]}_pagerChangeHandler(e){const t=this;if((t.isInShadowDOM?e.composedPath()[0]:e.target)!==t.$.pager)return;t.pageIndex=e.detail.index;const i=t.pageSize,a=t.pageIndex*i,n=a+i;t._tasks=t._dataSourceTasks.slice(a,n),t.$.taskTable.dataSource=t._getTableDataSource("task",t.$.taskTable.columns),t._handleResources(),t.refresh(),t.$.fireEvent("page",{action:"pageIndexChange"})}_pagerPageSizeChanged(e){const t=this;t.pageSize=e.detail.value,t._setPaging(t._dataSourceTasks.slice(0)),t.$.taskTable.dataSource=t._getTableDataSource("task",t.$.taskTable.columns),t._handleResources(),t.refresh(),t.$.fireEvent("page",{action:"pageSizeChange"})}navigateTo(e){const t=this;if(isNaN(e)||null===e)return;const i=t.pageIndex;t.pageIndex=Math.max(Math.min(Math.round(e),t.$.pager.pagesCount-1),0),t.paging&&t.pageIndex!==i&&(t.refresh("pageIndexChange"),t.$.fireEvent("page",{action:"pageIndexChange"}))}attached(){const e=this;if(super.attached(),e._scrollView||(e._scrollView=new JQX.Utilities.Scroll(e.$.taskSplitterItem,e.$.horizontalScrollBar,e.$.verticalScrollBar)),!e._resourceScrollView&&e.$.mainSplitter.contains(e.$.resourceSplitter)&&(e._resourceScrollView=new JQX.Utilities.Scroll(e.$.resourceSplitterItem,e.$.horizontalScrollBar,e.$.resourceVerticalScrollBar)),e.scrollLeft){const t=e._getScrollLeft(e.scrollLeft);e.$.timelineHeader.scrollLeft=e.$.taskTimelineContainer.scrollLeft=t,e.$.mainSplitter.contains(e.$.resourceTimelineHeader)&&(e.$.resourceTimelineHeader.scrollLeft=e.$.resourceTimelineContent.scrollLeft=t)}if(e.scrollTop){const t=e.scrollTop;e.$.taskTimelineContainer.scrollTop=t,e.$.timelineContent.scrollTop=t,e.$.mainSplitter.contains(e.$.resourceTimelineHeader)&&(e.$.resourceTimelineContent.scrollTop=t)}const t=["taskPopupWindow","connectionPopupWindow","confirmPopupWindow"];for(let i=0;i<t.length;i++){const a=t[i];if(e.$[a]&&e.$[a].opened){const t=e["$"+a];e._handleModal(!0),t.listen("close",e._popupWindowCloseHandler.bind(e)),t.listen("closing",e._popupWindowClosingHandler.bind(e)),t.listen("open",e._popupWindowOpenHandler.bind(e)),t.listen("click",e._popupWindowClickHandler.bind(e)),t.listen("change",e._popupWindowChangeHandler.bind(e)),t.listen("transitionend",e._popupWindowTransitionendHandler.bind(e)),e.getShadowRootOrBody().appendChild(e.$[a])}}e._handleTooltipEvents(!0),e._currentTimeIndicatorInterval||!e.currentTimeIndicator&&!e.shadeUntilCurrentTime||e._setCurrentTimeIndicators()}detached(){const e=this;super.detached(),e._scrollView&&(e._scrollView.unlisten(),delete e._scrollView),e._resourceScrollView&&(e._resourceScrollView.unlisten(),delete e._resourceScrollView);const t=["taskPopupWindow","connectionPopupWindow","confirmPopupWindow"];e._handleModal();for(let i=0;i<t.length;i++){const a=t[i],n=e["$"+a];e.$[a]&&e.$[a].remove(),n&&(n.unlisten("open"),n.unlisten("close"),n.unlisten("closing"),n.unlisten("click"),n.unlisten("change"),n.unlisten("transitionend"))}e.$.tooltip&&(e.$.tooltip.remove(),delete e.$.tooltip),e._handleTooltipEvents(),clearInterval(e._currentTimeIndicatorInterval),delete e._currentTimeIndicatorInterval}propertyChangedHandler(e,t,i){const a=this;switch(e){case"paging":a._dataSourceTasks&&a._setPaging(a._dataSourceTasks.slice(0));break;case"adjustToNonworkingTime":for(let e=0;e<a._tasks.length;e++){const t=a._tasks[e],i=t.$.project;a._validateTaskDates(t,i),a._validateTaskSegments(t),a._synchronizeProjectDates(t,i),a._refreshTableColumnsData(t,["dateEnd","duration"])}a._refreshTimeline();break;case"animation":break;case"autoSchedule":i?a._autoSchedule():a._autoScheduleRestore();break;case"autoScheduleStrictMode":i&&(a._autoSchedule(),a._refreshTimeline());break;case"columnMinWidth":case"columnResizeFeedback":case"columnResize":{const t=a.$.taskTable,n=a.$.resourceTable;t[e]=i,n&&(n[e]=i);break}case"currentTimeIndicator":case"shadeUntilCurrentTime":a._setCurrentTimeIndicators();break;case"dataSource":if(a.scrollLeft=a.scrollTop=0,a._createTasks(),a._refreshTableDataSource(),a._createTimeline(),a._createResourceTimeline(),a._setAriaControls(),a.snapToNearest){for(let e=0;e<a._tasks.length;e++){const t=a._tasks[e],i=t.$.project;a._validateTaskDates(t,i),a._validateTaskSegments(t),a._synchronizeProjectDates(t,i),a._refreshTableColumnsData(t,["dateEnd","duration"])}a._refreshTimeline()}break;case"dateMarkers":a._createDateMarkers();break;case"hideDateMarkers":a._recycleDateMarkers();break;case"selectionMode":{const e=a.$.taskTable,t=a.$.resourceTable;e&&(e.selectionMode=a.selectionMode),t&&(t.selectionMode=a.selectionMode);break}case"disableSelection":{const e=a.$.taskTable,t=a.$.resourceTable;e&&(e.selection=!a.disableSelection),t&&(t.selection=!a.disableSelection);break}case"durationUnit":for(let e=0;e<a._tasks.length;e++){const t=a._tasks[e],i=t.$.project;a._validateTaskDuration(t),a._validateTaskDates(t,i),a._validateTaskSegments(t),a._synchronizeProjectDates(t,i)}a._createTimelineCells(),a._insertTimelineTasks(),a.taskColumns.some((e=>(e.value+"").toLowerCase().indexOf("duration")>-1))&&a._refreshTableDataSource();break;case"filterRow":a.$.taskTable[e]=i;break;case"groupByResources":a._setTable(a.$.taskTable),a._createTimelineContent(),a._recycleTimelineTasks(),a._refresh();break;case"infiniteTimeline":i?a._scrollView.hScrollBar.value===a._scrollView.hScrollBar.max&&a._handleInfiniteTimeline():a.set("dateEnd","");break;case"keyboardNavigation":a.$.taskTable[e]=i,a.$.resourceTable&&(a.$.resourceTable[e]=i);break;case"popupWindowTabs":case"popupWindowCustomizationFunction":{const e=a.$.taskPopupWindow;e&&(e.opened&&(e.close(),delete e._target),e.clear());break}case"taskFiltering":a.$.taskTable.filtering=i,a._refresh();break;case"resourceFiltering":{const e=a.$.resourceTable;e&&(e.filtering=i,a._refresh());break}case"tooltip_enabled":{const e=a.$.tooltip;e&&(i||e.remove(),a._handleTooltipEvents(i));break}case"tooltip_arrow":case"tooltip_delay":case"tooltip_offset":{const t=a.$.tooltip;t&&(t[e.replace("tooltip_","")]=i);break}case"headerTemplate":a._handleHeaderTemplate();break;case"inverted":if(a._handleInverted(),a.scrollLeft){const e=a._getScrollLeft(a.scrollLeft);a.$.timelineHeader.scrollLeft=a.$.taskTimelineContainer.scrollLeft=e,a.$.mainSplitter.contains(a.$.resourceTimelineHeader)&&(a.$.resourceTimelineHeader.scrollLeft=a.$.resourceTimelineContent.scrollLeft=e)}break;case"rightToLeft":Array.from(a.querySelectorAll("jqx-splitter, jqx-table, jqx-scroll-bar")).forEach((t=>t[e]=i)),a.closeWindow(),a._handleInverted(),a._refreshTimeline();break;case"firstDayOfWeek":case"dateStart":case"dateEnd":a._refreshTimeline();break;case"messages":case"locale":case"dayFormat":case"hourFormat":case"timelineHeaderFormatFunction":case"monthFormat":case"yearFormat":a._refreshHeaderDate(!0),a._refreshColumnsHeaders(),a._recycleResourceHeaderCells();break;case"hideResourcePanel":a._createResourceTimeline(),a._refreshTimeline();break;case"nonworkingDays":case"nonworkingHours":a._refreshAfterWorkingTimeChange();break;case"selectedTaskIds":a.$.taskTable.selected=a._getSelection("task",i);break;case"selectedResourceIds":a.$.resourceTable&&(a.$.resourceTable.selected=a._getSelection("resource",i));break;case"resourceColumns":a._setTable(a.$.resourceTable),a._highlightAssignedItem("task",a._getSelection("task",a.selectedTaskIds));break;case"resourcePanelHeaderTemplate":a._handleHeaderTemplate("resource");break;case"resourceTimelineView":case"resourceTimelineMode":case"resourceTimelineFormatFunction":a.$.mainSplitter.contains(a.$.resourceSplitter)&&a._resources.forEach((e=>a._refreshResourceTimelineContent(e)));break;case"showProgressLabel":case"progressLabelFormatFunction":a._tasks.forEach((e=>a._setTaskBarProgress(e)));break;case"sortFunction":a.$.taskTable.sort=i,a.$.resourceTable&&(a.$.resourceTable.sort=i);break;case"showSelectionColumn":a.$.taskTable.hideSelectionColumn=!i,a.$.resourceTable&&(a.$.resourceTable.hideSelectionColumn=!i);break;case"columnMenu":case"hideSelectionColumn":case"sortMode":a.$.taskTable[e]=i,a.$.resourceTable&&(a.$.resourceTable[e]=i);break;case"taskColumns":a._setTable(a.$.taskTable);break;case"timelineMin":a.$.timelineSplitterItem.min=i,a.$.taskSplitter.refresh(),a.$.mainSplitter.contains(a.$.resourceSplitter)&&a._synchronizeSplitters(a.$.taskSplitter,a.$.resourceSplitter);break;case"treeMin":case"treeSize":{const t=e.toLowerCase().indexOf("size")>-1?"size":"min";a.$.tableSplitterItem[t]=i,a.$.taskSplitter.refresh(),a.$.mainSplitter.contains(a.$.resourceSplitter)&&a._synchronizeSplitters(a.$.taskSplitter,a.$.resourceSplitter);break}case"taskPanelMin":case"taskPanelSize":case"resourcePanelSize":case"resourcePanelMin":{const t=e.indexOf("Min")>-1?"min":"size",n=e.indexOf("resource")>-1?"resource":"task";a.$.mainSplitter.contains(a.$.resourceSplitter)&&(a.$[`${n}SplitterItem`][t]=i,a.$.taskSplitterItem._setSize("size",a.taskPanelSize),a.refresh());break}case"unfocusable":a._setFocusable();break;case"monthScale":case"dayScale":case"view":a._refreshTimeline(t);break;default:super.propertyChangedHandler(e,t,i)}}_predefPropertyGetter(e){const t=this;Object.defineProperty(t,e,{get:function(){switch(e){case"dataSource":{if(t.context===t)return t.properties[e].value;const i=function(e){if(!e.length)return e;for(let a=0;a<e.length;a++){const n=e[a];let s=t._getProjectTasks(n);s&&Array.isArray(s)&&(s=i(s.filter((e=>e.$&&e.$.project===n)))),e[a]=t._cloneObject(n),s&&s.length?e[a].tasks=s:delete e[a].tasks}return e},a=t.properties[e].value;return a instanceof JQX.DataAdapter?a:i(a.slice(0))}case"dateStart":case"dateEnd":{const i=t._timelineCells;if(i.length){const a=t._getCellDateRange({_date:i["dateStart"===e?0:i.length-1].date});return new Date(a[e])}return t.properties[e].value}default:return t.properties[e].value}},set(i){t.updateProperty(t,t._properties[e],i)}})}ready(){this._customScrollView=!0,super.ready()}render(){const e=this,t=window.getComputedStyle(e),i=JQX.Utilities.Core;e._isMobile=i.isMobile,e._isFirefox=i.Firefox,e._taskBarMinWidth=parseFloat(t.getPropertyValue("--jqx-gantt-chart-timeline-task-min-width"))||0,e._taskDefaultHeight=parseFloat(t.getPropertyValue("--jqx-gantt-chart-task-default-height"))||30,e._timelineCellSize=parseFloat(t.getPropertyValue("--jqx-gantt-chart-timeline-cell-size"))||0,e._timelineCellMinSize=parseFloat(t.getPropertyValue("--jqx-gantt-chart-timeline-cell-min-size"))||0,e._taskConnectionWidth=parseFloat(t.getPropertyValue("--jqx-gantt-chart-timeline-task-connection-width"))||1,e._baselineProportion=parseFloat(t.getPropertyValue("--jqx-gantt-chart-baseline-proportion"))||0,e._predefPropertyGetter("dataSource"),e._predefPropertyGetter("dateStart"),e._predefPropertyGetter("dateEnd"),e.$.tableSplitterItem.size=e.treeSize,e.$.tableSplitterItem.min=e.treeMin,e.$.timelineSplitterItem.min=e.timelineMin,e._setScrollBars(),e._handleHeaderTemplate(),e._handleInverted(!0),e._createTasks(),e._setTable(),e._createTimeline(),e._createResourceTimeline(),e._setAriaControls(),e._setFocusable(),e.checkLicense(),(e.shadowRoot||e._isFirefox)&&requestAnimationFrame((()=>e.refresh())),super.render()}refresh(e){const t=this;if(e)return t._refreshTimeline(),t._setTable(t.$.taskTable),void t._createResourceTimeline();t.isRendered&&t._resizeEventHandler()}addFilter(e,t){const i=this;if(!i.taskFiltering&&!i.resourceFiltering||!(t instanceof JQX.Utilities.FilterGroup))return;Array.isArray(e)||(e="object"==typeof e?[e]:[]);const a=i.taskColumns,n=i.resourceColumns,s=i.$.taskTable,r=i.$.resourceTable;for(let i=0;i<e.length;i++){const o=e[i],l=o.type,[d,c]="resource"===l||n.includes(o)?[r,n]:[s,a],m=c.find((e=>o.value&&e.value===o.value));m&&d.addFilter(m.value,t)}}clearSelection(){this._unselectAll("task"),this._unselectAll("resource")}static get requires(){return{"JQX.Splitter":"jqx.splitter.js","JQX.Tree":"jqx.tree.js","JQX.Window":"jqx.window.js"}}ensureVisible(e,t="task"){const i=this,a=i._getValidItemAndIndex(e,t);(e=a?a.item:void 0)&&(i._ensureVisible(e,t),i._scrollTo(e.dateStart,!0))}removeAllConnections(){const e=this;e.isCompleted&&(e.$.timelineConnectionsContainer.innerHTML="",e._connections=[],e._tasks.map((e=>e.connections=[])))}removeConnection(){const e=this,t=Array.from(arguments).filter((e=>void 0!==e));if(!e.isCompleted)return;let i;if(1===t.length){if("string"==typeof t[0]){const e=document.getElementById(t[0]);e&&(i=e.getAttribute("connection-id"))}i||(i=(t[0]+"").split("-"),i=e._getValidConnectionId(i[0],i[1],i[2],"removeConnection"))}else 3===t.length&&(i=e._getValidConnectionId(t[0],t[1],t[2],"removeConnection"));i&&(e._removeConnection(i),e.$.fireEvent("itemRemove",{type:"connection",id:`${i[0]}-${i[1]}-${i[2]}`,item:{source:i[0],target:i[1],type:i[2]}}))}removeTaskConnection(e,t){const i=this;if(!i.isCompleted)return;if((e+="").indexOf("-")>-1&&!t){const i=e.split("-");t=i[1],e=i[0]}const a=i._getValidItemAndIndex(e),n=i._getValidItemAndIndex(t);e=a?a.index:void 0,t=n?n.index:void 0,isNaN(e)?i.error(i.localize("incorrectArgument",{elementType:i.nodeName.toLowerCase(),methodName:"removeTaskConnection",argumentName:"taskEndIndex"})):i._removeConnection(""+e+(isNaN(t)?"":t))}beginUpdate(){this._isUpdating={started:!0,type:{}},this.$.fireEvent("beginUpdate")}endUpdate(){const e=this;function t(){e._refreshTableDataSource(),e._createTimelineContent(),e._recycleTimelineTasks(),e._setAriaControls();const t=e._resources;for(let i=0;i<t.length;i++)e._refreshTableColumnsData(t[i],void 0,"resource")}function i(){if(e.hideResourcePanel)return;e._refreshTableDataSource("resource"),e._recycleResourceHeaderCells(),e._createResourceTimelineContent(),e._refresh();const t=e._tasks;for(let i=0;i<t.length;i++)e._refreshTableColumnsData(t[i])}if(!e._isUpdating)return;const a=1===Object.keys(e._isUpdating.type).length?Object.keys(e._isUpdating.type)[0]:void 0;let n,s;switch(e._selected&&({task:n,resource:s}=e._selected),delete e._isUpdating,a){case"task":t();break;case"resource":i();break;default:t(),i()}n&&(e._refreshSelectedItems("task",n),e.$.taskTable.selected=e._getSelection("task",e.selectedTaskIds)),s&&(e._refreshSelectedItems("resource",s),e.$.resourceTable.selected=e._getSelection("resource",e.selectedResourceIds)),e.$.fireEvent("endUpdate")}clearFilters(e){this._resetFromAction(e,"clearFilters")}clearSort(e){const t=this;"task"!==e&&"resource"!==e?(t._resetFromAction("task","clearSort"),t._resetFromAction("resource","clearSort")):t._resetFromAction(e,"clearSort")}clearTasks(){this._clearTasks()}_clearTasks(){const e=this;e._selected&&delete e._selected.task,e.set("selectedTaskIds",[]),e._tasks=[],e._timelineCells=[],e._timelineVCells=[],e._timelineHeaderCells=[],e.$.timelineContent.style.width="",e.$.container.style.removeProperty("--jqx-gantt-chart-task-timeline-content-height"),e.$.timelineViewDetails.innerHTML="",e.$.timelineViewCells.innerHTML="",e.$.taskTimelineCellsContainer.innerHTML="",e.$.timelineConnectionsContainer.innerHTML="",e.$.timelineTasksContainer.innerHTML="",e.$.taskIndicatorsContainer.innerHTML="",e.$.timelineContent.style.height="",delete e._hoveredItem,e.$.taskTable.dataSource=[],e._closeTooltip(),e.closeWindow(),e._refresh()}clearResources(){const e=this;e._unselectAll("resource"),e._resources=[],e.$.resourceTable&&(e.$.resourceTable.dataSource=[]),e.$.resourceTimelineCellsContainer.innerHTML="",e._tasks.forEach((t=>{t.resources=[],e._refreshTableColumnsData(t,["resources"])})),e._refreshTimeline(),e._createResourceTimeline()}createConnection(){const e=this,t=e._tasks;let i,a=Array.from(arguments).filter((e=>void 0!==e));if(!e.isCompleted||0===t.length)return;if(i=1===a.length?(a[0]+"").split("-"):a,!e._getValidConnectionId(i[0],i[1],i[2],"createConnection"))return;const n=parseInt(i[3]);e._connectTask([i[0],i[1],i[2],isNaN(n)?0:n]),e._recycleConnections(),e.$.fireEvent("itemInsert",{type:"connection",item:{source:i[0],target:i[1],type:i[2],lag:n}})}collapse(e){this._handleCollapseExpandMethods(e,"collapse")}expand(e){this._handleCollapseExpandMethods(e,"expand")}exportData(e,t){const i=this;if(!JQX.Utilities.DataExporter)return void i.error(i.localize("missingReference",{elementType:i.nodeName.toLowerCase(),methodName:"exportData",file:"jqx.export.js"}));try{new JSZip}catch(e){return void i.error(i.localize("missingReference",{elementType:i.nodeName.toLowerCase(),methodName:"exportData",file:"jszip.min.js"}))}if("pdf"===e&!window.pdfMake)return void i.error(i.localize("missingReference",{elementType:i.nodeName.toLowerCase(),methodName:"exportData",file:"pdfMake.min.js"}));const a="task"===i.dataExport.itemType?i.$.taskTable:i.$.resourceTable;return a?(a.locale!==i.locale&&(a.locale=i.locale,i.messages[i.locale]&&(a.messages[i.locale]||(a.messages[i.locale]={}),Object.assign(a.messages[i.locale],i.messages[i.locale]))),a.exportData(e,i.dataExport.fileName,i.dataExport.exportFiltered,t)):void 0}print(){const e=this,t=e.dataExport.fileName;e.dataExport.fileName=null;const i=e.exportData("html"),a=window.open("","","width=800,height=500"),n=a.document.open(),s='<!DOCTYPE html><html><head><meta charset="utf-8" /><title>'+t+"</title></head><body>"+i+"</body></html>";try{n.write(s),n.close(),setTimeout((function(){a.print(),a.close()}),100)}catch(e){}e.dataExport.fileName=t}getConnectionDetails(e){const t=this;if("string"!=typeof e)return;const i=t._getConnectionObjById(e);if(!i)return;const a=i.startTask,n=i.endTask,s={startTask:t._cloneObject(i.startTask),endTask:t._cloneObject(i.endTask),startTaskId:"string"==typeof a.id||"number"==typeof a.id?a.id:a.$.id,endTaskId:"string"==typeof n.id||"number"==typeof n.id?n.id:n.$.id,type:i.type};return void 0!==i.lag&&(s.lag=i.lag),s}getConnections(){const e=this;return e._connections.map((t=>{const i=t.startTask,a=t.endTask;return{id:t.startIndex+"-"+t.endIndex+"-"+t.type,startTask:e._cloneObject(i),endTask:e._cloneObject(a),startIndex:t.startIndex,startTaskId:"string"==typeof i.id||"number"==typeof i.id?i.id:i.$.id,endTaskId:"string"==typeof a.id||"number"==typeof a.id?a.id:a.$.id,endIndex:t.endIndex,type:t.type,lag:t.lag}}))}getState(){const e=this,t=e._getTasksJSON(!0)||[];return{tasks:JSON.parse(JSON.stringify(t)),selectedTaskIds:e.selectedTaskIds.slice(0),resources:JSON.parse(JSON.stringify(e._resources.slice(0))),scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}get tasks(){return this.isReady?this.getTasks():[]}get resources(){return this.isReady?this.getResources():[]}getTask(e){const t=this,i=t._getValidItemAndIndex(e);if(i.item)return t._cloneObject(i.item)}getTasks(){const e=this,t=e._tasks;return e.isReady&&t&&t.length?t.map((t=>e._cloneObject(t))):[]}getResource(e){const t=this,i=t._getValidItemAndIndex(e,"resource");if(i.item)return t._cloneObject(i.item)}getResources(){const e=this,t=e._resources;return e.isReady&&t&&t.length?t.map((t=>e._cloneObject(t))):[]}getItemPath(e){if(!e||void 0===e.type)return;const t="string"==typeof e.type?"task":"resource",i=this._getValidItemAndIndex(e,t);return i.item?i.item.$.id:void 0}getTaskIndex(e){const t=this;return"string"==typeof e?t._getTaskIndexById(e):t._getItemIndex(e,"task")}getTaskProject(e){const t=this;if((e=t._tasks[t._getItemIndex(e,"task")])&&e.$&&e.$.project)return t._cloneObject(e.$.project)}getTaskConnections(e){const t=this._getValidItemAndIndex(e,"task");return t&&t.item?this._getTaskConnections(t.item).taskConnections.map((e=>({target:e.endIndex,type:e.type,lag:e.lag}))):[]}getResourceIndex(e){return this._getItemIndex(e,"resource")}getResourceTasks(e){const t=this._getValidItemAndIndex(e,"resource");if(e=t?t.item:void 0)return this._getTasksAssigned(e)}getSelectedIds(){const e=this,t=e.selectedTaskIds,i=e.selectedResourceIds;return e.disableSelection||!t.length&&!i.length?null:{task:t.slice(),resources:i.slice()}}getSelectedTasks(){return this._getSelectedItems("task")}getSelectedResources(){return this._getSelectedItems("resource")}getWorkingHours(){const e=this.nonworkingHours;let t=[];for(let i=0,a=23;i<a;i+=1)e.indexOf(i)<0&&t.push(i);return t}isWorkingDay(e){return e=new Date(e),!isNaN(e.getTime())&&this.nonworkingDays.indexOf(e.getDay())<0}clearState(){const e=this;e.id?window.localStorage.removeItem("jqxGanttChart"+e.id):e.warn(e.localize("noId"))}loadState(e){const t=this;if(!e){if(!t.id)return;e=JSON.parse(window.localStorage.getItem("jqxGanttChart"+t.id))}if(!e)return;let i=JSON.stringify(e.tasks),a=JSON.stringify(e.selectedTaskIds),n=JSON.stringify(e.resources);if(i&&(i=JSON.parse(i)),a&&(a=JSON.parse(a)),n&&(n=JSON.parse(n)),t._noChangeEvent=!0,Array.isArray(i)&&(t._createTasks(i),t.set("dataSource",i)),Array.isArray(n)){let e=n;for(let i=0;i<e.length;i++){const e=n[i];let a=t._resources.find((t=>t.id&&t.id.toString()===e.id.toString()))||{};t._setResource(a,e),Object.values(a).length&&!t._resources.includes(a)&&t._resources.push(a)}t._refreshItemIds("resource")}"number"==typeof e.scrollLeft&&(t.scrollLeft=e.scrollLeft),"number"==typeof e.scrollTop&&(t.scrollTop=e.scrollTop),t._setTable(t.$.taskTable),t._createTimeline(),t._createResourceTimeline(),Array.isArray(a)&&(t.$.taskTable.selected=t._getSelection("task",a)),delete t._noChangeEvent}saveState(){const e=this;e.id?window.localStorage.setItem("jqxGanttChart"+e.id,JSON.stringify(e.getState())):e.warn(e.localize("noId"))}insertTask(e,t,i){const a=this;if("object"!=typeof e)return void a.error(a.localize("incorrectArgument",{elementType:a.nodeName.toLowerCase(),methodName:"insertTask",argumentName:"newTask"}));const n=a._tasks;if(n.indexOf(e)>-1)return void a.error(a.localize("alreadyExists",{elementType:a.nodeName.toLowerCase(),methodName:"insertTask"}));const s=a._createTasks([e],!0);if(!n)return;let r,o,l;const d=a._getSelection("task",a.selectedTaskIds);if("string"==typeof i&&i.indexOf(!1)){const e=i.split(".");i=parseInt(e.slice(-1)),null==t&&(t=e.slice(0,-1).join("."))}if("string"==typeof t?(r=n.find((e=>e.id&&e.id.toString()===t)),r||(r=a._getItemByTableId("task",t))):"number"==typeof t&&(r=n[t]),r){if("project"!==r.type)return void a.error(a.localize("notAProject",{elementType:a.nodeName.toLowerCase(),argumentName:"project",methodName:"insertTask"}));s[0].$.project=r}return a._synchronizeProjectVisibility(s[0].$.project,s[0]),a._insertTasks(s,r,i),a._refreshItemIds(),a._refreshConnectionIds(),a._isUpdating?(a._isUpdating.type.task=!0,void(a._isUpdating.type.resource=!0)):(a._selected&&a._selected.task&&a._setSelection("task",l=a._selected.task.map((e=>e.$.id))),a._refreshTableDataSource(),a._refreshTimeline(),l&&d.toString()!==l.toString()&&(a.$.taskTable.selected=l.slice(0)),a._refreshTaskResources(o),a._ensureVisible(o),a.$.fireEvent("itemInsert",{type:"task",item:a._cloneObject(s[0])}),s[0].id||s[0].$.id+"")}openWindow(e){const t=this;if(t.disableWindowEditor)return;if("string"==typeof e){if(e.indexOf(".")>-1){const i=t._getVCellById("task",e),a=i?i.task:void 0;return void(a&&t._openPopupWindow(a))}if(e.indexOf("-")>-1){let e=(arguments[0]+"").split("-");if(e=t._getValidConnectionId(e[0],e[1],e[2],"openEditor"),e)return void t._openPopupWindow(e)}}const i=t._getValidItemAndIndex(e);i&&t._openPopupWindow(i.item)}closeWindow(){const e=this,t=["confirm","task","connection"];for(let i=0;i<t.length;i++){const a=e.$[t[i]+"PopupWindow"];a&&(a.close(),delete a._target)}}updateTask(e,t){const i=this,a=i._getValidItemAndIndex(e),n=a?a.item:void 0;"object"==typeof n?"object"==typeof t?i._updateTask(n,t):i.error(i.localize("incorrectArgument",{elementType:i.nodeName.toLowerCase(),methodName:"updateTask",argumentName:"taskDetails"})):i.error(i.localize("notExisting",{elementType:i.nodeName.toLowerCase(),methodName:"updateTask",argumentName:"newTask"}))}removeTask(e){const t=this,i=t._tasks,a=t._getValidItemAndIndex(e),n=a?a.item:void 0;i&&i.length&&("object"==typeof n?t._removeTask(n):t.error(t.localize("notExisting",{elementType:t.nodeName.toLowerCase(),methodName:"removeTask",argumentName:"index"})))}setWorkTime(e){this._setWorkTime(e,(function(e,t){for(let i=0,a=e.length;i<a;i+=1){const a=parseInt(e[i]),n=t.indexOf(a);n>-1&&t.splice(n,1)}return t}))}selectTask(e){this._handleItemSelection(e,"task")}selectResource(e){const t=this;t.$.mainSplitter.contains(t.$.resourceTable)&&t._handleItemSelection(e,"resource")}sort(e){const t=this;if("none"===t.sortMode)return;Array.isArray(e)||(e="object"==typeof e?[e]:[]);const i=t.taskColumns,a=t.resourceColumns,n=t.$.taskTable,s=t.$.resourceTable;for(let t=0;t<e.length;t++){const r=e[t],o="desc"===r.sortOrder?"desc":"asc",[l,d]="resource"===r.type||a.includes(r)?[s,a]:[n,i],c=d.find((e=>r.value&&e.value===r.value));c&&l.sortBy(c.value,o)}}unselectTask(e){this._handleItemSelection(e,"task",!0)}unselectResource(e){const t=this;t.$.mainSplitter.contains(t.$.resourceTable)&&t._handleItemSelection(e,"resource",!0)}unsetWorkTime(e){this._setWorkTime(e,(function(e,t){for(let i=0,a=e.length;i<a;i+=1){const a=parseInt(e[i]);t.indexOf(a)<0&&t.push(a)}return t}),!0)}hideTooltip(){this._closeTooltip()}showTooltip(e,t){this._openTooltip(e,void 0,t)}_getSelectedItems(e="task"){const t=this,i=t[`_${e}s`],a=t._getSelection(e,"task"===e?t.selectedTaskIds:t.selectedResourceIds);if(!a.length)return[];let n=[];for(let e=0,s=i.length;e<s;e+=1){const s=i[e];a.indexOf(s.$.id)>-1&&n.push(t._cloneObject(s))}return n}_getTasksAssigned(e){const t=this,i=t._tasks||[];let a=[];for(let n=0;n<i.length;n++){const s=i[n];!s.disableResources&&s.resources.find((t=>t===e.id))&&a.push(t._cloneObject(s))}return a}_getItemIndex(e,t){t||(t="task");const i=this[`_${t}s`];if(e instanceof HTMLElement&&e.classList.contains("jqx-timeline-task"))return i.indexOf(e._cellObj[`_${t}`]);const a="resource"===t?["id","label","value","progress"]:["id","label","type","class","dateStart","dateEnd","resources","connections"];if("object"==typeof e)for(let t=0;t<i.length;t++)if(a.every((a=>Array.isArray(e[a])?JSON.stringify(e[a])===JSON.stringify(i[t][a]):a.indexOf("date")>-1?new Date(e[a]).getTime()===new Date(i[t][a]).getTime():e[a]===i[t][a])))return i.indexOf(i[t]);return-1}_handleItemSelection(e,t="task",i){const a=this,n=a._getValidItemAndIndex(e,t);if(n.item){const s=n.item,r=a._getSelection(t,"task"===t?a.selectedTaskIds:a.selectedResourceIds);if(e=s.$.id,i){const i=r.indexOf(e);i>-1&&(r.splice(i,1),a.$[`${t}Table`].selected=r)}else r.indexOf(e)<0&&(r.push(e),a.$[`${t}Table`].selected=r);return"string"==typeof s.id||"number"==typeof s.id?s.id:s.$.id}}_refreshAfterWorkingTimeChange(){const e=this;if(e.adjustToNonworkingTime)for(let t=0;t<e._tasks.length;t++){const i=e._tasks[t],a=i.$.project;e._validateTaskDates(i,a),e._synchronizeProjectDates(i,a),e._refreshTableColumnsData(i,["dateEnd","duration"])}e._refreshTimeline()}_refreshItemIds(e="task"){const t=this[`_${e}s`];if(!t)return;let i={},a=0;for(let e=0,n=t.length;e<n;e+=1){const n=t[e],s=n.$.project;if(void 0!==s){const e=s.$.id;i[e]||(i[e]=0),n.$.id=e+"."+i[e],i[e]++}else n.$.id=a+"",a++}}_refreshConnectionIds(){const e=this._tasks,t=this._connections;if(t&&t.length)for(let i=0,a=t.length;i<a;i+=1){const n=t[i],s=e.indexOf(n.startTask),r=e.indexOf(n.endTask);(s<0||r<0)&&(t.splice(i,1),a--),n.startIndex=s,n.endIndex=r}}_refreshSelectedItems(e="task",t){const i=this,a=i[`_${e}s`];if(a&&(!t&&i._selected&&i._selected[e]&&(t=i._selected[e]),t)){for(let e=0,i=t.length;e<i;e+=1){const n=t[e];(a.indexOf(n)<0||n.hidden)&&(t.splice(e,1),e-=1,i--)}i._setSelection(e,t.map((e=>e.$.id)))}}_resetFromAction(e="task",t="clearSort"){const i=this;function a(){i.$.taskTable[t](),i._createTimelineContent(),i._recycleTimelineTasks()}function n(){const e=i.$.resourceTable;e&&(e[t](),i._createResourceTimelineVCells(),i._recycleResourceContent())}"resource"===e?n():"task"===e?a():(a(),n())}_setWorkTime(e,t,i){const a=this;if("object"!=typeof e)return;let n,s=e.days,r=e.hours;null!=s&&(Array.isArray(s)||(s=[s]),s=a._nonworkingDayValidator(void 0,s),n=t(s,i?a.nonworkingDays:[0,1,2,3,4,5,6]),a.set("nonworkingDays",7===n.length?[]:n),a._refreshAfterWorkingTimeChange()),null!=r&&(Array.isArray(r)||(r=[r]),r=a._nonworkingTimeValidator(void 0,r),n=t(r,i?a.nonworkingHours:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]),a.set("nonworkingHours",24===n.length?[]:n),a._refreshAfterWorkingTimeChange())}_getValidConnectionId(e,t,i,a){const n=this,s=n._tasks,r=0===a.indexOf("_");let o;if("string"==typeof e&&(o=n._getTaskIndexById(e),o>=0&&(e=o)),"string"==typeof t&&(o=n._getTaskIndexById(t),o>=0&&(t=o)),e=parseInt(e),t=parseInt(t),i=parseInt(i),isNaN(e)||isNaN(t)||e===t)r||n.error(n.localize("incorrectArgument",{elementType:n.nodeName.toLowerCase(),methodName:a,argumentName:"taskIndex"}));else if(e>=s.length||e<0||t>=s.length||t<0)r||n.error(n.localize("outOfBounds",{elementType:n.nodeName.toLowerCase(),methodName:a,argumentName:"taskIndex"}));else{if(!(isNaN(i)||i<0||i>3))return r?[e,t,i]:e+"-"+t+"-"+i;r||n.error(n.localize("incorrectArgument",{elementType:n.nodeName.toLowerCase(),methodName:a,argumentName:"connectionType"}))}}_autoSchedule(e){const t=this,i=t._tasks;if(t.autoSchedule){e?Array.isArray(e)||(e=[e]):e=i;for(let i=0;i<e.length;i++){const a=e[i];"project"===a.type&&a.synchronized||(a.minDateStart=a.minDateEnd=void 0,t._autoScheduleTasks(a))}t._isUpdateRequired&&(t._createTimelineCells(),t._recycleTimelineTasks(!0),delete t._isUpdateRequired)}}_getTaskConnections(e){const t=this._tasks,i=this._connections;let a=[],n=[];if(t&&t.length&&i&&i.length){const s=t.indexOf(e);for(let e=0;e<i.length;e+=1){const t=i[e];t.startIndex===s?a.push(t):t.endIndex===s&&n.push(t)}}return{taskConnections:a,connectedTasks:n}}_autoScheduleTasks(e){const t=this,i=t._tasks,a=t._getTaskConnections(e),n=a.taskConnections,s=a.connectedTasks;let r,o,l;for(let a=0;a<n.length;a++)t._isAutoScheduled(e,i[n[a].endIndex],!0);for(let a=0;a<s.length;a++){const n=s[a],d=i[n.startIndex],c=n.type,m=n.lag,u=e.$.project;d&&"project"===d.type&&d.synchronized||(0===c||1===c?(l=new Date((0===c?d.dateStart:d.dateEnd).getTime()+m),e.minDateStart=new Date(e.minDateStart?Math.max(e.minDateStart.getTime(),l.getTime()):l),o=e.minDateStart.getTime()-e.dateStart.getTime(),r=new Date(e.dateEnd.getTime()+(t.autoScheduleStrictMode?o:Math.max(0,o))),r.getTime()!==e.dateEnd.getTime()&&(e.dateEnd=r,t._isUpdateRequired=!0),t.autoScheduleStrictMode&&e.minDateStart.getTime()!==e.dateStart.getTime()&&(e.dateStart=e.minDateStart,t._isUpdateRequired=!0)):(l=new Date((2===c?d.dateEnd:d.dateStart).getTime()+m),e.minDateEnd=new Date(e.minDateEnd?Math.min(e.minDateEnd.getTime(),l.getTime()):l),o=e.minDateEnd.getTime()-e.dateEnd.getTime(),r=new Date(e.dateStart.getTime()+(t.autoScheduleStrictMode?o:Math.max(0,o))),r.getTime()!==e.dateStart.getTime()&&(e.dateStart=r,t._isUpdateRequired=!0),t.autoScheduleStrictMode&&e.minDateEnd.getTime()!==e.dateEnd.getTime()&&(e.dateEnd=e.minDateEnd,t._isUpdateRequired=!0)),t._validateTaskDates(e,u),t._synchronizeProjectDates(e,u))}for(let e=0;e<n.length;e++){const a=i[n[e].endIndex];!a||"project"===a.type&&a.synchronized||(a.minDateStart=a.minDateEnd=void 0,t._autoScheduleTasks(a))}}_autoScheduleRestore(e,t){const i=this._tasks;e||(e=i),Array.isArray(e)||(e=[e]);for(let a=0;a<e.length;a++){const n=e[a];i.indexOf(e[a])>-1&&(t?0===t||1===t?n.minDateStart=void 0:n.minDateEnd=void 0:n.minDateStart=n.minDateEnd=void 0)}}_autoScroll(e){const t=this,i=t.hasAttribute("dragged"),a=t.hasAttribute("resized");function n(n,s){if(!t._dragDetails)return clearInterval(t._scrollInterval),t._scrollInterval=void 0,void delete t._autoScrolling;t._autoScrolling=!0,s?i||(t.scrollTop-=t.autoScrollStep*n,t._dragDetails.coordinates.y+=t.autoScrollStep*n):(t.scrollLeft-=(t.rightToLeft?-1:1)*t.autoScrollStep*n,t._dragDetails.coordinates.x+=t.autoScrollStep*n),i?t._handleTaskBarDrag(e):a&&t._handleTaskBarResize(e)}if(t.disableAutoScroll||!e||!i&&!a&&!t.hasAttribute("connecting-task"))return;const s=t.$.timeline.getBoundingClientRect();t._scrollInterval&&clearInterval(t._scrollInterval),t._scrollInterval=setInterval((function(){(t.scrollLeft||t.rightToLeft)&&e.clientX<=s.left+20?n(1):t.scrollLeft!==(t.rightToLeft?0:t.scrollWidth)&&e.clientX>=s.left+s.width-20?n(-1):t.scrollTop&&e.clientY<=s.top+20?n(1,!0):t.scrollTop!==t.scrollHeight&&e.clientY>=s.top+s.height-20?n(-1,!0):(clearInterval(t._scrollInterval),t._scrollInterval=void 0,delete t._autoScrolling)}),1)}_checkTaskBarResizability(e){const t=this;let i=e.originalEvent.target;t.shadowRoot&&i===t&&(i=e.originalEvent.composedPath()[0]);const a=t.$.timeline;if(!i.closest)return void a.removeAttribute("task-bar-hovered");let n,s=i.closest(".jqx-timeline-row")||i.closest(".jqx-timeline-task");if(t.disabled||t.disableTaskResize||!s||!a.contains(s))return void a.removeAttribute("task-bar-hovered");const r=s._cellObj.task,o=t._getTaskDOMIndex(r);if(s.classList.contains("jqx-timeline-row")?n=t.$.timelineTasksContainer.children[o]:s.classList.contains("jqx-timeline-task")&&(n=s,s=t.$.taskTimelineCellsContainer.children[o]),!n||n.classList.contains("milestone")||r.synchronized||r.disableResize)return;const l=i.closest(".jqx-task-segment"),d=r.segments?r.segments.length:1;if(i.classList&&i.classList.contains("jqx-task-connection-point")||l&&(d>1&&t.disableSegmentResize||l._segmentObj&&l._segmentObj.disableResize))return void a.removeAttribute("task-bar-hovered");const c=e.pageX-window.pageXOffset,m="visible"===t.resizeHandlesVisibility||t._isMobile?20:5,u=(l||n).getBoundingClientRect(),h=s.getBoundingClientRect(),g=Math.min(m,c-h.left),f=Math.min(m,h.left+h.width-c);Math.round(u.left)+g>=c&&Math.round(u.left)-g<=c?a.setAttribute("task-bar-hovered","left"):Math.round(u.left+u.width)+f>=c&&Math.round(u.left+u.width)-f<=c?a.setAttribute("task-bar-hovered","right"):a.removeAttribute("task-bar-hovered")}_onShadowDomLoaded(e,t,i){requestAnimationFrame((function a(){const n=(e.shadowRoot||e.getRootNode()).querySelectorAll("link");for(let e=0;e<n.length;e++)if(-1!==n[e].href.indexOf(t))return void i();requestAnimationFrame(a)}))}_getConnectionObjById(e){const t=this._connections;if(!e||!t||!t.length)return;const i=e.split("-"),a=parseInt(i[0]),n=parseInt(i[1]),s=parseInt(i[2]);for(let e=0,i=t.length;e<i;e+=1){const i=t[e];if(i.startIndex===a&&i.endIndex===n&&i.type===s)return i}}_positionWindow(){const e=this,t=e.getShadowRootOrBody(),i=[e.$.taskPopupWindow,e.$.connectionPopupWindow,e.$.confirmPopupWindow];for(let a=0;a<i.length;a++){const n=i[a];if(!n||!t.contains(n))continue;const s=e.getBoundingClientRect();n.opened||(n.style.left=n.style.top=""),e._isMobile?(n.setAttribute("mobile",""),n.style.left=s.left+window.pageXOffset+"px",n.style.top=s.top+window.pageYOffset+"px",n.style.width=s.width+"px",n.style.height=s.height+"px"):(n.style.left=Math.max(s.left+window.pageXOffset,s.left+window.pageXOffset+s.width/2-n.offsetWidth/2)+"px",n.style.top=Math.max(s.top+window.pageYOffset,s.top+window.pageYOffset+s.height/2-n.offsetHeight/2)+"px")}}_openPopupWindow(e,t){const i=this;function a(){function t(){i._positionWindow(),s.opened?(s.bringToFront(),s._onOpenCallback?s._onOpenCallback():s._handleActiveState()):s.open()}if(i.popupWindowCustomizationFunction?i.popupWindowCustomizationFunction(s,n,"connection"===n?e.startIndex+"-"+e.endIndex+"-"+e.type:i._cloneObject(e)):s._onOpenCallback=()=>{const e=(s.shadowRoot||s).querySelectorAll(".jqx-gantt-chart-popup-window-editor .jqx-input, .jqx-popup-window-button");(e[0]||e[1]||s).focus({preventScroll:!0}),s._handleActiveState()},i._setPopupWindowTemplate("header",n,e),i._setPopupWindowTemplate("footer",n,e),i._setPopupWindowTemplate("content",n,e),!i._popupWindow[n+"PopupWindow"]){const e=i["$"+n+"PopupWindow"];e.unlisten("transitionend"),e.unlisten("open"),e.unlisten("close"),e.unlisten("closing"),e.unlisten("click"),e.unlisten("change"),e.listen("transitionend",i._popupWindowTransitionendHandler.bind(i)),e.listen("open",i._popupWindowOpenHandler.bind(i)),e.listen("close",i._popupWindowCloseHandler.bind(i)),e.listen("closing",i._popupWindowClosingHandler.bind(i)),e.listen("click",i._popupWindowClickHandler.bind(i)),e.listen("change",i._popupWindowChangeHandler.bind(i))}s.shadowRoot?(s.importStyle(JQX.Utilities.Core.getScriptLocation()+JQX.StyleBaseUrl.replace("/scoped/","/jqx.textbox.css")),i._onShadowDomLoaded(s,"jqx.window.css",t)):t();const a=(i.getAttribute("aria-owns")||"")+" "+s.id;i.setAttribute("aria-owns",a.trim()),i._popupWindow[n+"PopupWindow"]=s}if(e&&e.classList)if(e.classList.contains("jqx-task-connection"))e=i._getConnectionObjById(e.getAttribute("connection-id"));else if("TR"===e.nodeType){const t=e?"task":"resource",a=i._getVCellById(t,e.getAttribute("row-id"));e=a?a[t]:void 0}else e=e._cellObj.task;if(!e||e.isGroup)return;const n=t?"confirm":"string"==typeof e.type?"task":"connection",s=i._createPopupWindow(n);!t&&i.$.fireEvent("opening",{target:s,type:n}).defaultPrevented||(i._closeTooltip(),s._target=e,i._popupWindow||(i._popupWindow={}),s.parentElement||i.getShadowRootOrBody().appendChild(s),s.isCompleted?a():s.whenReady((()=>a())))}_createPopupWindow(e){const t=this,i=e+"PopupWindow";if(t.$[i])return t.$[i];const a=document.createElement("jqx-window");return a.classList.add("jqx-"+e+"-popup-window"),a.classList.add("jqx-gantt-chart-popup-window"),a.setAttribute("jqx-id",i),t.$[i]=a,t["$"+i]=JQX.Utilities.Extend(a),a.rightToLeft=t.rightToLeft,a.theme=t.theme,a.animation=t.animation,a.disableSnap=!0,a.headerButtons=["close"],a}_popupWindowOpenHandler(e){const t=this,i=t["$"+e.target.getAttribute("jqx-id")];if(i){const a=e.target.classList.contains("jqx-confirm-popup-window")?"confirm":e.target.classList.contains("jqx-connection-popup-window")?"connection":"task";t._handleModal(!0),t.$.fireEvent(e.type,Object.assign({type:a,target:e.target},e.detail)),i.unlisten("open")}}_popupWindowClosingHandler(e){const t=this["$"+e.target.getAttribute("jqx-id")];if(!t)return;const i=e.target.classList.contains("jqx-confirm-popup-window")?"confirm":e.target.classList.contains("jqx-connection-popup-window")?"connection":"task";this.$.fireEvent(e.type,{target:e.target,type:i}).defaultPrevented?e.preventDefault():t.unlisten(e.type)}_popupWindowCloseHandler(e){const t=this,i=e.target.getAttribute("jqx-id"),a=t["$"+i];if(a){const n=e.target.classList.contains("jqx-confirm-popup-window")?"confirm":e.target.classList.contains("jqx-connection-popup-window")?"connection":"task";if(t._handleModal(),t.$.fireEvent(e.type,Object.assign({type:n,target:e.target},e.detail)),a.unlisten("close"),a.unlisten("click"),t.hasAttribute("aria-owns")){const e=t.getAttribute("aria-owns").replace(t._popupWindow[i].id,"").trim();e?t.setAttribute("aria-owns",e):t.removeAttribute("aria-owns")}delete t._popupWindow[i];const s=Object.keys(t._popupWindow);1===s.length&&t._popupWindow.confirmPopupWindow&&(delete t._popupWindow.confirmPopupWindow._target,t._popupWindow.confirmPopupWindow.close()),s.length?requestAnimationFrame((()=>{const e=t._popupWindow[s[s.length-1]];e&&e.focus()})):t.keyboardNavigation&&t.$.taskTable.focus({preventScroll:!0})}}_popupWindowTransitionendHandler(e){const t=this,i=e.target;i instanceof JQX.Window&&!i.opened&&"visibility"===e.propertyName&&(t["$"+i.getAttribute("jqx-id")].unlisten("transitionend"),i.parentElement&&i.parentElement.removeChild(i))}_handleModal(e){const t=this;let i=(t.shadowRoot||t).querySelector(".jqx-popup-window-modal");e?(i||(i=document.createElement("div"),i.classList.add("jqx-popup-window-modal")),i.parentElement||(t.$.container.appendChild(i),t.setAttribute("modal",""))):i&&i.parentElement&&Object.keys(t._popupWindow).length<2&&(i.parentElement.removeChild(i),t.removeAttribute("modal"))}_findTaskEditor(e,t){if(!e||!t)return;const i=t.children;for(let t=0,a=i.length;t<a;t+=1){const a=i[t];if(a.getAttribute("value")===e)return a}}_createTaskEditor(e,t,i){const a=this,n=e.value,s=t[e.value];let r,o,l=i.find((e=>e._label===n));if(l)r=l.querySelector(".jqx-gantt-chart-label-container"),o=l.lastElementChild;else{const t="editorLabel"+Math.floor(65536*(1+Math.random())).toString(16).substring(1);if(r=document.createElement("div"),r.classList.add("jqx-gantt-chart-label-container"),r.innerHTML=`<label id="${t}"></label>`,"deadline"===n){const e=document.createElement("span");e.classList.add("jqx-popup-window-editor-toggle"),r.appendChild(e)}if(l=document.createElement("div"),l.classList.add("jqx-gantt-chart-popup-window-editor"),l.setAttribute("value",n||""),l._label=n,e.customEditor)return l.appendChild(e.customEditor(n,s)),l;if("number"==typeof s||"string"==typeof s)o=document.createElement("input"),o.classList.add("jqx-input");else if(s instanceof Date||"deadline"===n)JQX.DateTimePicker?(o=document.createElement("jqx-date-time-picker"),o.locale=a.locale,o.dropDownAppendTo="body",o.calendarButton=!0,o.dropDownDisplayMode="auto",o.enableMouseWheelAction=!0,o.formatString="yyyy-MMM-dd HH:mm:ss"):(o=document.createElement("input"),o.type="datetime-local");else if(Array.isArray(s))if(JQX.DropDownList)o=document.createElement("jqx-drop-down-list"),o.virtualized=!0,o.dropDownAppendTo="body",o.selectionMode="zeroOrMany";else{o=document.createElement("input"),o.classList.add("jqx-input");const e=document.createElement("datalist");e.id="resourceList",o.setAttribute("list",e.id),l.appendChild(e)}o&&o.setAttribute("aria-labelledby",t)}if(!l.parentElement)return r&&l.appendChild(r),o&&l.appendChild(o),l;a._setPopupWindowEditors(e,t,l)}_setAriaControls(){this.setAttribute("role","treegrid")}_setPopupWindowEditors(e,t,i){const a=this,n=i.querySelector("label"),s=i.querySelector(".jqx-popup-window-editor-toggle"),r=i.lastElementChild,o=e.value+"",l=o.split(/(?=[A-Z])/).join(" "),d=t[o];if(e.customEditor)e.setCustomEditorValue&&e.setCustomEditorValue(i,l,d);else{if(n.innerHTML=a.localize(e.value)||l.charAt(0).toUpperCase()+l.slice(1),s)if("deadline"===o){const e=null==d?"add":"remove";r.classList[e]("jqx-hidden"),s.textContent=a.localize(e)}else s.remove();if("number"==typeof d)r.value=parseFloat(d);else if("string"==typeof d)r.value=d;else if(d instanceof Date)r.value=new Date(d);else if(Array.isArray(d)){const e=a._resources;if(r.placeholder=a.localize("unassigned"),JQX.DropDownList&&r instanceof JQX.DropDownList)r.dataSource=e.map((e=>({label:e.label,value:e.id}))),r.selectedValues=t.disableResources?[]:t.resources.map((e=>e.toString()));else{let a=i.querySelector("datalist"),n=document.createDocumentFragment();a.innerHTML="";for(let t=0;t<e.length;t++){const i=e[t],a=document.createElement("option");a.value=i.id,a.innerHTML=i.label,n.appendChild(a)}r.value=t.resources.toString(),a.appendChild(n)}}"project"===t.type&&t.synchronized&&["duration","date"].indexOf(l.toLowerCase())>-1||"resources"===l&&t.disableResources?r.disabled=!0:r.disabled=!!e.disableEdit,r.rightToLeft=a.rightToLeft,r.animation=a.animation,r.theme=a.theme}}_setupPopupWindowTabs(e,t){const i=this,a=i.popupWindowTabs,n="milestone"===t.type,s=[{label:i.localize("generalTab"),value:"general"},{label:i.localize("dependencyTab"),value:"dependency"},{label:i.localize("segmentsTab"),value:"segments"}];let r=e.querySelector(".jqx-gantt-chart-popup-window-tabs");r||(r=document.createElement("jqx-tabs"),r.classList.add("jqx-gantt-chart-popup-window-tabs"),e.clear(),e.appendChild(r)),r.animation=i.animation,r.rightToLeft=i.rightToLeft,r.theme=i.theme;const o=r.getTabs().slice(0);for(let e=0,t=s.length;e<t;e+=1){const t=s[e],i=t.value;let l=o[e];a.indexOf(i)<0?l&&r.removeChild(l):(l||(l=document.createElement("jqx-tab-item"),r.appendChild(l)),l.label=t.label,l.setAttribute("value",i||""),l.disabled=n&&"segments"===i)}return r}_setPopupWindowContent(e,t){const i=this,a=i.$[e+"PopupWindow"],n=[].slice.call(a.querySelectorAll(".jqx-gantt-chart-popup-window-editor"));if(a.content&&(!a.content.innerHTML||n.length))if("task"===e&&t){const e=i.taskColumns;let s=[];const r=i._setupPopupWindowTabs(a,t);0!==r.selectedIndex&&(r.selectedIndex=0);const o=r.getTabs()[0];if("general"!==o.getAttribute("value"))return void i._handleTabsContent(o,a);"string"==typeof o.content?o.content="":o.content.innerHTML="";for(let a=0;a<e.length;a++){const r=e[a],l=r.value;if(void 0===t[l]&&"deadline"!==l||"overdue"===l)continue;let d=i._findTaskEditor(l,o);d||(d=i._createTaskEditor(r,t,n),d&&o.appendChild(d)),d&&(i._setPopupWindowEditors(r,t,d),s.push(d))}for(let e=0,t=n.length;e<t;e+=1){const t=n[e];s.indexOf(t)<0&&t.remove()}t.id&&a.setAttribute("aria-controls",t.id)}else if("confirm"===e){if(a.innerHTML='<div class="jqx-gantt-chart-popup-window-editor">'+i.localize("confirm",{componentName:"The task"})+"</div >",i._popupWindow){const e=Object.keys(i._popupWindow);e.length&&a.setAttribute("aria-controls",i._popupWindow[e[e.length-1]].id)}}else{const e=t.startTask,n=t.endTask;a.innerHTML='<div class="jqx-gantt-chart-popup-window-editor">'+i.localize("deleteLink")+"<b> "+e.label+" - "+n.label+"?</b></div>"}}_setPopupWindowTemplate(e,t,i){const a=this,n=a.$[t+"PopupWindow"];if("content"!==e){if(n[e+"Template"]||(n[e+"Template"]=a._createPopupWindowTemplate(e,t)),"header"===e&&i&&"string"==typeof i.type){const e=(n.shadowRoot||n).querySelector(".jqx-popup-window-label");e&&(e.innerHTML=i.label)}else if("footer"===e){const e=(n.shadowRoot||n).querySelectorAll(".jqx-popup-window-button");for(let i=0;i<e.length;i++){const n=e[i];n.innerHTML="task"===t?'<span class="jqx-icon"></span>':"",n.theme=a.theme,n.rightToLeft=a.rightToLeft,n.animation=a.animation,n.disabled=!1,n.classList.contains("ok")?(n.innerHTML+=a.localize("ok"),n.setAttribute("aria-label","ok")):n.classList.contains("cancel")?(n.innerHTML+=a.localize("cancel"),n.setAttribute("aria-label","cancel")):n.classList.contains("delete")&&(n.innerHTML+=a.localize("delete"),n.setAttribute("aria-label","delete"));const s=n.querySelector(".jqx-ripple");s&&s.parentElement.removeChild(s)}}}else a._setPopupWindowContent(t,i)}_createPopupWindowTemplate(e,t){const i=this,a=document.createElement("template");if("footer"===e)switch(t){case"task":a.innerHTML=`<jqx-button class="jqx-popup-window-button ok primary"\n                            animation="${i.animation}" theme="${i.theme}" ${i.rightToLeft?"right-to-left":""}>\n                        </jqx-button>\n                        <jqx-button class="jqx-popup-window-button cancel"\n                            animation="${i.animation}" theme="${i.theme}" ${i.rightToLeft?"right-to-left":""}>\n                        </jqx-button>\n                        <jqx-button class="jqx-popup-window-button delete secondary"\n                            animation="${i.animation}" theme="${i.theme}" ${i.rightToLeft?"right-to-left":""}>\n                        </jqx-button>`;break;case"connection":case"confirm":a.innerHTML=`<jqx-button class="jqx-popup-window-button ok primary"\n                            animation="${i.animation}" theme="${i.theme}" ${i.rightToLeft?"right-to-left":""}>\n                        </jqx-button>\n                    <jqx-button class="jqx-popup-window-button cancel"\n                        animation="${i.animation}" theme="${i.theme}" ${i.rightToLeft?"right-to-left":""}>\n                    </jqx-button>`}else"header"!==e||"task"!==t&&"confirm"!==t||(a.innerHTML='<span class="jqx-popup-window-label"></span>');return a}_handleTabsContent(e,t){const i=this,a=t._target;if(!e|!a)return;const n=e.getAttribute("value");if("general"===n)return;let s=e.querySelector(".jqx-gantt-popup-window-table"),r=e.querySelector(".jqx-gantt-window-table-buttons"),o=e.querySelector(".jqx-gantt-window-validation-message");r||(r=document.createElement("div"),r.classList.add("jqx-gantt-window-table-buttons"),r.innerHTML=`<jqx-button class="jqx-gantt-chart-button" action="add">${i.localize("add")}</jqx-button>\n                                 <jqx-button class="jqx-gantt-chart-button" disabled action="delete">${i.localize("delete")}</jqx-button>`,e.insertBefore(r,s)),s||(s=document.createElement("jqx-table"),s.classList.add("jqx-gantt-popup-window-table"),s.editing=!0,s.editMode="row",s.keyboardNavigation=!0,s.wait=!0,s.hideSelectionColumn=!0,s.selection=!0,s.selectionMode="one",s.columnMinWidth="10px",s.addEventListener("rowEndEdit",(r=>{const o=r.detail.row;switch(n){case"dependency":{const e=i._tasks,t=o.name,n=e.indexOf(a),r=e.findIndex((e=>e.$.id===t));r>-1&&s.updateRow(o.$.id,{id:`${r}-${n}-${o.type}`});break}case"segments":{const e=o.dateStart,t=o.dateEnd;e.getTime&&t.getTime&&s.updateRow(o.$.id,{duration:parseFloat(i._convertDuration(i.nonworkingDays.length>0||i.nonworkingHours.length>0?i._getWorkingTime(e,t):t.getTime()-e.getTime(),!0).toFixed(2))});break}}i._applyTableValidation(e,s,t),i._isPopupWindowTableModified=!0})),e.innerHTML&&(e.innerHTML=""),e.appendChild(s));const l=i._getTabsTableData(n,a);s.selected.length&&(s.selected=[]),s.dataSource=l.source,s.columns=l.columns,s.wait=!1,delete i._isPopupWindowTableModified,o||(o=document.createElement("label"),o.classList.add("jqx-gantt-window-validation-message"),e.appendChild(o)),o.textContent=""}_applyTableValidation(e,t,i){const a=this,n=e.getAttribute("value"),s=e.querySelector(".jqx-gantt-window-validation-message"),r=i.querySelector(".jqx-popup-window-button.ok"),o=t.dataSource,l=o.length;if(!s)return void(r&&(r.disabled=!1));if(!l)return s.textContent="",void(r&&(r.disabled=!1));let d="";if("segments"===n)if(l<2)d=a.localize("segmentsCountValidation");else{const e=i._target,t=e.dateStart.getTime(),n=e.dateEnd.getTime();let s={};for(let e=0;e<l;e+=1){const i=o[e],r=i.label,l=i.dateStart.getTime(),c=i.dateEnd.getTime();for(let e in s){const t=s[e],n=t.timeStart,r=t.timeEnd,o=l<=n&&c>=n,m=l<=r&&c>=r;(o||m)&&(d+=a.localize("segmentConflictError",{dateConflict:o?"dateStart":"dateEnd",label:i.label,conflictLabel:t.label})+"\r\n")}l>c?d+=a.localize("segmentStartError",{label:i.label})+"\r\n":l===c&&(d+=a.localize("segmentEndError",{label:i.label})+"\r\n"),(l<t||c>n)&&(d+=a.localize("segmentRangeError",{label:i.label})+"\r\n"),void 0===s[e]&&(s[e]={label:r,timeStart:l,timeEnd:c})}}else if("dependency"===n)for(let e=0;e<l;e+=1){const t=o[e].id.split("-");t[0]===t[1]&&(d+=a.localize("dependencyValidation")+"\r\n")}s.textContent=d,r&&(r.disabled=d.length>0)}_getTabsTableData(e,t){const i=this;if("dependency"===e){const e=i._getTaskConnections(t).connectedTasks,a={connectionTypes:[{label:i.localize("startToStart"),value:0},{label:i.localize("endToStart"),value:1},{label:i.localize("endToEnd"),value:2},{label:i.localize("startToEnd"),value:3}],tasks:(()=>{const e=i._tasks;let a=[];for(let i=0,n=e.length;i<n;i+=1){const n=e[i];n!==t&&a.push({value:n.$.id,label:n.label})}return a})()};return{source:new window.JQX.DataAdapter({dataSource:e&&e.length?e.map((e=>({id:e.startIndex+"-"+e.endIndex+"-"+e.type,name:e.startTask.$.id||"",type:e.type,lag:e.lag||0}))):[],dataFields:["id: any","name: any","type: number","lag: number"]}),columns:[{label:i.localize("id"),dataField:"id",dataType:"any",autoWidth:!1,allowEdit:!1},{label:i.localize("name"),dataField:"name",dataType:"any",width:"35%",autoWidth:!1,editor:i._getColumnEditorSetup("name",a),formatFunction:e=>{const t=a.tasks.find((t=>t.value===e.value));t&&(e.value=t.label)}},{label:i.localize("type"),dataField:"type",dataType:"number",width:"25%",autoWidth:!1,editor:i._getColumnEditorSetup("type",a),formatFunction:e=>{const t=a.connectionTypes.find((t=>t.value===e.value));t&&(e.value=t.label)}},{label:i.localize("lag"),dataField:"lag",dataType:"number",autoWidth:!1}]}}if("segments"===e){const e={task:t};return{source:new window.JQX.DataAdapter({dataSource:t.segments,dataFields:["label: string","dateStart: date","dateEnd: date","duration: number"]}),columns:[{label:i.localize("name"),dataField:"label",dataType:"string",autoWidth:!1,width:"20%"},{label:i.localize("dateStart"),dataField:"dateStart",dataType:"date",autoWidth:!1,editor:i._getColumnEditorSetup("dateStart",e),formatFunction:e=>{e.value=i._formatDate(e.data.dateStart)}},{label:i.localize("dateEnd"),dataField:"dateEnd",dataType:"date",autoWidth:!1,editor:i._getColumnEditorSetup("dateEnd",e),formatFunction:e=>{e.value=i._formatDate(e.data.dateEnd)}},{label:i.localize("duration"),dataField:"duration",dataType:"number",autoWidth:!1,width:"15%",allowEdit:!1}]}}return{source:[],columns:[]}}_getColumnEditorSetup(e,t){const i=this;switch(e){case"dateStart":case"dateEnd":return{template:'<jqx-date-time-picker drop-down-append-to="body" wait></jqx-date-time-picker>',onInit:(e,a,n,s)=>{const r=t.task;s||(s=new Date(r.dateStart)),n.rightToLeft=i.rightToLeft,n.animation=i.animation,n.theme=i.theme,n.min=r.dateStart,n.max=r.dateEnd,n.locale=i.locale,n.calendarButton=!0,n.dropDownDisplayMode="auto",n.enableMouseWheelAction=!0,n.formatString="yyyy-MMM-dd HH:mm:ss",n.value=new Date(Math.max(r.dateStart.getTime(),Math.min(r.dateEnd.getTime(),s.getTime()))),n.removeAttribute("wait")},getValue:e=>e.value.toDate()};case"name":return{template:'<jqx-drop-down-list virtualized drop-down-append-to="body" wait></jqx-drop-down-list>',onInit:(e,a,n,s)=>{n.rightToLeft=i.rightToLeft,n.animation=i.animation,n.theme=i.theme,n.dataSource=t.tasks,n.selectedValues=[s],n.removeAttribute("wait")},getValue:e=>e.selectedValues[0]};case"type":return{template:"<jqx-input wait></jqx-input>",onInit:(e,a,n,s)=>{const r=t.connectionTypes,o=r.find((e=>e.value===s));n.readonly=!0,n.rightToLeft=i.rightToLeft,n.animation=i.animation,n.theme=i.theme,n.dropDownButtonPosition="right",n.dataSource=r,n.value=(o||r[0]).label+"",n.removeAttribute("wait")},getValue:e=>{if(e.selectedValues.length)return e.selectedValues[0];const i=t.connectionTypes.find((t=>t.label===e.value));return i?i.value:void 0}}}}_popupWindowChangeHandler(e){const t=this,i=e.target,a=i.closest("jqx-window")||(i.getRootNode()&&i.getRootNode().host?i.getRootNode().host:void 0);if(a._target)if(i.classList.contains("jqx-gantt-chart-popup-window-tabs")){const n=a.querySelector(".jqx-popup-window-button.ok");n&&(n.disabled=!1),t._handleTabsContent(i.getTabs()[e.detail.index],a)}else if(i.classList.contains("jqx-gantt-popup-window-table")){const e=i.closest("jqx-tab-item").querySelector('.jqx-gantt-chart-button[action="delete"]');e&&(e.disabled=0===i.selected.length)}}_popupWindowClickHandler(e){const t=this;let i=(e.originalEvent||e).target;i.shadowRoot&&(i=(e.originalEvent||e).composedPath()[0]);const a=i.closest("jqx-window")||(i.getRootNode()&&i.getRootNode().host?i.getRootNode().host:void 0),n=a._target;if(i.closest(".jqx-popup-window-button.cancel"))return t._popupWindow&&t._popupWindow.confirmPopupWindow&&a!==t._popupWindow.confirmPopupWindow&&t._popupWindow.confirmPopupWindow.close(),a.close(),void delete a._target;if(i.closest(".jqx-popup-window-button.ok")){if(a===t.$.connectionPopupWindow&&"number"==typeof n.type)t._removeConnection(n.startIndex+"-"+n.endIndex+"-"+n.type);else if(a===t.$.confirmPopupWindow){const e=n;void 0!==e.$._resourceId?t._removeResource(e):t._removeTask(e),a.close(),t.$.taskPopupWindow&&t.$.taskPopupWindow.close(),delete a._target}else{const e=a.shadowRoot||a,i=e.querySelectorAll(".jqx-gantt-chart-popup-window-editor"),s=n;let r={};for(let e=0;e<i.length;e++){const a=i[e]._label,n=t.taskColumns.find((e=>e.value===a));if(n.customEditor&&n.getCustomEditorValue)r[a]=n.getCustomEditorValue(i[e]);else{const t=i[e].lastElementChild;let n;if(!t)continue;if(t.classList.contains("jqx-hidden")){r[a]=void 0;continue}n=JQX.DateTimePicker&&t instanceof JQX.DateTimePicker?t.value.toDate?t.value.toDate():t.value:t instanceof HTMLInputElement&&"datetime-local"===t.type?new Date(t.value):JQX.DropDownList&&t instanceof JQX.DropDownList?t.selectedValues.slice(0):t.hasAttribute("list")?t.value.split(",").map((e=>e.trim())):t.value,n instanceof Date&&isNaN(n.getTime())&&(n=void 0),null!=n&&(r[a]=n)}}if(void 0!==s.$._resourceId)t._updateResource(s,r);else{const i=r.dateStart?r.dateStart:void 0,a=r.dateEnd?r.dateEnd:void 0;if((i&&i.getTime&&i.getTime()!==s.dateStart.getTime()||a&&a.getTime&&a.getTime()!==s.dateEnd.getTime())&&(r.duration=void 0),t._isPopupWindowTableModified){const i=e.querySelectorAll(".jqx-gantt-popup-window-table");for(let e=0,a=i.length;e<a;e+=1){const a=i[e];a.closest('.jqx-tab-item[value="dependency"]')?t._updateTaskDependencies(a,s):a.closest('.jqx-tab-item[value="segments"]')&&t._updateTaskSegments(a,s)}}t._updateTask(s,r)}}return t._popupWindow&&t._popupWindow.confirmPopupWindow&&a!==t._popupWindow.confirmPopupWindow&&t._popupWindow.confirmPopupWindow.close(),a.close(),void delete a._target}if(i.closest(".jqx-popup-window-button.delete"))return void t._openPopupWindow(a._target,!0);if(i.closest(".jqx-popup-window-editor-toggle")){const e=i.closest('.jqx-gantt-chart-popup-window-editor[value="deadline"]'),a=e?e.lastElementChild:void 0;if(a){const e=a.classList.contains("jqx-hidden")?"remove":"add";a.classList[e]("jqx-hidden"),i.textContent=t.localize(e)}return}const s=i.closest(".jqx-gantt-chart-button");if(s){const e=i.closest("jqx-tab-item"),r=e.querySelector(".jqx-gantt-popup-window-table");if(!r)return;const o=s.getAttribute("action"),l=e.getAttribute("value"),d=n;switch(o){case"add":{let e;e="segments"===l?{label:`${t.localize("segment")} ${r.dataSource.length+1}`,dateStart:new Date(d.dateStart),dateEnd:new Date(d.dateEnd),duration:parseFloat((d.duration||0).toFixed(2))}:{id:"",name:"",type:0,lag:0},r.addRow(e),r.beginEdit(r.rows.length-1),t._isPopupWindowTableModified=!0;break}case"delete":{const e=r.selected;r.beginUpdate();for(let t=0,i=e.length;t<i;t+=1)r.removeRow(e[t]);r.endUpdate(),t._isPopupWindowTableModified=!0;break}}t._applyTableValidation(e,r,a)}}_updateTaskDependencies(e,t){const i=this,a=i._tasks.indexOf(t),n=i._getTaskConnections(t).connectedTasks,s=e.rows;for(let e=0,t=n.length;e<t;e+=1){const t=n[e];i._removeConnection(`${t.startIndex}-${t.endIndex}-${t.type}`)}for(let e=0,t=s.length;e<t;e+=1){let t=s[e].data,n=t.name,r=t.type;if(n=i._getTaskIndexById(n),!i._getValidConnectionId(n,a,r,"_"))continue;const o=parseInt(t.lag);i._connectTask([n,a,r,isNaN(o)?0:o])}i._recycleConnections()}_updateTaskSegments(e,t){const i=e.rows;let a=[];for(let e=0,t=i.length;e<t;e+=1){const t=i[e].data,n=t.label,s=new Date(t.dateStart),r=new Date(t.dateEnd);isNaN(s)||isNaN(r)||a.push({label:"string"==typeof n?n:"",dateStart:s,dateEnd:r})}t.segments=a,this._validateTaskSegments(t)}_createTasks(e,t){const i=this,a={},n=[];e||(e=i.dataSource),i.dataSource instanceof JQX.DataAdapter&&(e=i._parseAdapterData(i.dataSource.toArray())),t||i.clearTasks();let s=[];if(function e(r,o){let l=[];if(!r||0===r.length)return[];for(let d=0;d<r.length;d++){let c,m=r[d];if("object"!=typeof m)continue;if(m=i._validateTaskProperties(m,o),!m)continue;const u=m.tasks,h=m.id;m.$.project=o,m.$.id=o?o.$.id+"."+d:d+"","string"!=typeof h&&"number"!=typeof h||(a[h]?n.push(h):a[h]=1),u instanceof Array&&u.length>0&&(m.synchronized&&(m.dateStart=m.minDateStart=m.maxDateStart=void 0,m.dateEnd=m.minDateEnd=m.maxDateEnd=void 0),m.type="project",c=e(u,m),c.length&&(m.hidden=!c.some((e=>!e.hidden)),m.hidden?c.forEach((e=>e.hidden=m.hidden)):i._synchronizeProjectVisibility(o,m))),(!m.type||["project","task","milestone"].indexOf(m.type)<0)&&(m.type="task"),o&&"project"===m.type&&c&&c.length>0?(l.push(m),l=l.concat(c)):(o||((t&&"project"===m.type&&m.synchronized||m.dateStart&&m.dateEnd&&!isNaN(m.dateStart.getTime())&&!isNaN(m.dateEnd.getTime()))&&s.push(m),c&&(s=s.concat(c))),l.push(m))}return o&&i._synchronizeProjectDates(o,l),l}(e),t)return s.slice(0);n.length&&console.warn(i.localize("duplicateIds",{elementType:i.nodeName.toLowerCase(),duplicates:n.toString()})),i._tasks=s.slice(0),i._dataSourceTasks=s.slice(0),i._setPaging(i._dataSourceTasks),i._handleResources()}_setPaging(e,t){const i=this;let a=0,n=e.length;if(i.paging){const s=i.pageSize;if(i.$.taskTable._filterInfo&&(i.$.taskTable._filterInfo.query||i.$.taskTable._filterInfo.rowFilters||i.$.taskTable._filterInfo.appliedFilters)){let e=0;for(let i=0;i<n;i++)!1!==t[i].$.filtered&&e++;n=e}const r=i.$.pager;r.messages[i.locale].pageSizeLabel=i.localize("itemsPerPage"),r.messages[i.locale].summaryPrefix=i.localize("summaryPrefix"),r.messages[i.locale].summarySuffix="",r.$.firstButton.setAttribute("tooltip",i.localize("firstButton")),r.$.previousButton.setAttribute("tooltip",i.localize("previousButton")),r.$.nextButton.setAttribute("tooltip",i.localize("nextButton")),r.$.lastButton.setAttribute("tooltip",i.localize("lastButton"));const o=Math.max(Math.ceil(n/s),1);i.$.pager.pagesCount=o,i.$.pager.totalRecords=n,i.pageIndex=Math.max(Math.min(i.pageIndex,o-1),0),a=i.pageIndex*s,n=a+s,i._tasks=e.slice(a,n)}}_createTimeline(){const e=this;e._tasks&&0!==e._tasks.length?(delete e.__tasks,e._createConnections(),e._autoSchedule(),e._createTimelineCells(),e._insertTimelineTasks(),e.$.taskSplitter.refresh()):e._clearTasks()}_createConnections(){const e=this,t=e._tasks;e._connections=[];for(let i=0,a=t.length;i<a;i+=1)t[i].connections&&e._handleTaskConnections(i)}_createTooltip(){const e=this,t=e.tooltip;let i=e.$.tooltip;if(t.enabled)return i||(e.$.tooltip=i=document.createElement("jqx-tooltip"),i.classList.add("jqx-gantt-chart-tooltip"),i.setAttribute("jqx-id","tooltip")),e.$tooltip||e._handleTooltipEvents(!0),i.rightToLeft=e.rightToLeft,i.theme=e.theme,i.openMode="manual",i.arrow=t.arrow,i.delay=t.delay,i.parentElement||e.$.container.appendChild(i),i;i&&(i.close(),i.remove())}_handleTooltipEvents(e){const t=this,i=t.$.tooltip;if(!i)return;let a=t.$tooltip;e?(a=t.$tooltip=JQX.Utilities.Extend(i),a.listen("close",t._tooltipVisibilityHandler.bind(t)),a.listen("closing",t._tooltipVisibilityHandler.bind(t)),a.listen("open",t._tooltipVisibilityHandler.bind(t)),a.listen("opening",t._tooltipVisibilityHandler.bind(t))):a&&(a.unlisten("close"),a.unlisten("closing"),a.unlisten("open"),a.unlisten("opening"),delete t.$tooltip)}_toggleTooltip(e){const t=this;if(t._dragDetails||!t.tooltip.enabled||!t.$.container.contains(e.target))return void t._closeTooltip();const i=t.getRootNode(),a={"jqx-task-segment":null,"jqx-timeline-task":null,"jqx-gantt-chart-task-indicator":null,"jqx-resource-timeline-view-cell":null,"jqx-task-connection":null},n=(i.host?i.host.shadowRoot:i).elementsFromPoint(e.clientX,e.clientY);let s;for(let e=0,t=n.length;e<t;e+=1){const t=n[e],i=t.classList;if(i.contains("jqx-task-container"))a["jqx-timeline-task"]=t.closest(".jqx-timeline-task");else for(let e in a)i.contains(e)&&(a[e]=t)}if(a["jqx-task-segment"]){const e=a["jqx-timeline-task"],t=e?e._cellObj.task:void 0;s=t&&t.segments&&t.segments.length?a["jqx-task-segment"]:e}else if(a["jqx-gantt-chart-task-indicator"])s=a["jqx-gantt-chart-task-indicator"];else for(let e in a)if(a[e]){s=a[e];break}s?t._openTooltip(s,e):t._closeTooltip()}_getConnectionTypeName(e){const t=this;switch(e){case 0:return t.localize("startToStart");case 1:return t.localize("endToStart");case 2:return t.localize("endToEnd");case 3:return t.localize("startToEnd");default:return""}}_getSegmentTask(e){const t=this._tasks;for(let i=0,a=t.length;i<a;i+=1){const a=t[i];if(Array.isArray(a.segments)&&a.segments.indexOf(e)>-1)return a}}_getTooltipItemObject(e){const t=this;if(!e)return;const i=e.classList;let a=null;if(i.contains("jqx-task-segment"))a=e._segmentObj;else if(i.contains("jqx-timeline-task"))a=e._cellObj.task;else if(i.contains("jqx-gantt-chart-task-indicator"))a=e._indicatorObj;else if(i.contains("jqx-resource-timeline-view-cell")){if(!e.hasAttribute("load"))return null;(e=e.closest(".jqx-timeline-row"))&&e._cellObj&&(a=e._cellObj.resource)}else i.contains("jqx-task-connection")&&(a=t.getConnectionDetails(e.getAttribute("connection-id")));return a}_getTooltipContent(e){const t=this;if(!e)return;const i=e.classList;let a,n;if(i.contains("jqx-task-segment")){if(n=e._segmentObj,n){let e=n.label;if(void 0===e){const i=t._getSegmentTask(n);i&&(e=i.label)}a=`<label><b>${t.localize("segment")}</b>: ${e||""}</label>\n                           <label><b>${t.localize("dateStart")}</b>: ${t._formatDate(n.dateStart)||""}</label>\n                           <label><b>${t.localize("dateEnd")}</b>: ${t._formatDate(n.dateEnd)||""}</label>`}}else if(i.contains("jqx-timeline-task"))n=e._cellObj.task,n&&!n.segments&&(a=`<label><b>${t.localize("task")}</b>: ${n.label||""}</label>\n                           <label><b>${t.localize("dateStart")}</b>: ${t._formatDate(n.dateStart)||""}</label>\n                           <label><b>${t.localize("dateEnd")}</b>: ${t._formatDate(n.dateEnd)||""}</label>`);else if(i.contains("jqx-gantt-chart-task-indicator"))n=e._indicatorObj,n&&(a=n.label||"");else if(i.contains("jqx-resource-timeline-view-cell")){if(!e.hasAttribute("load"))return;const i=e.closest(".jqx-timeline-cell");if((e=e.closest(".jqx-timeline-row"))&&e._cellObj&&(n=e._cellObj.resource),n){const s=t._getResourceTasks(n),r="hours"===t.resourceTimelineView?"h":"",o=t._tasks,l=t.$.resourceTimelineViewCells.children,d=Array.from(e.children).findIndex((e=>e===i));a=`<label><b>${t.localize("resource")}</b>: ${n.label||""}</label>\n                           <label><b>${t.localize("assignments")}</b>:</label>`;for(let e=0,i=s.length;e<i;e+=1){const i=s[e],c=o.indexOf(i),m=t._getResourceCellCapacity({cellDateRange:t._getCellDateRange(l[d]),cellTaskIndexAssigned:[c],index:d,resource:n,task:i,cellIndex:d});void 0!==m&&(a+=`<label>${t.localize("task")} #${c}: (${parseFloat(m.capacity.toFixed(1))}${r}) ${i.label||""}</label>`)}}}else i.contains("jqx-task-connection")&&(n=t.getConnectionDetails(e.getAttribute("connection-id")),void 0!==n&&(a=`<label><b>${t.localize("startTask")}</b>: ${n.startTask.label||""}</label>\n                           <label><b>${t.localize("endTask")}</b>: ${n.endTask.label||""}</label>\n                           <label><b>${t.localize("type")}</b>: ${t._getConnectionTypeName(n.type)||""}</label>`,n.lag&&(a+=`<label><b>${t.localize("lag")}</b>: ${parseFloat(n.lag.toFixed(1))}</label>`)));return n?n.tooltip?n.tooltip+"":a||"":void 0}_offsetTop(e){return e?e.offsetTop+this._offsetTop(e.offsetParent):0}_offsetLeft(e){return e?e.offsetLeft+this._offsetLeft(e.offsetParent):0}offset(e){return{left:this._offsetLeft(e),top:this._offsetTop(e)}}_openTooltip(e,t,i){const a=this,n=a.tooltip;if(i="string"==typeof i?i:a._getTooltipContent(e),a.tooltipFormatFunction){const n=a.tooltipFormatFunction(a._getTooltipItemObject(e),t,i);void 0!==n&&(i=n)}if(!(n.enabled&&i&&e&&e.nodeName))return void a._closeTooltip();const s=a.$.tooltip||a._createTooltip();let r,o;if(i&&s.value!==i&&(s.value=i),s.selector=e,t&&t.pageX){const i=document.body.getBoundingClientRect(),l=e.getBoundingClientRect(),d=n,c=d.offset[0]||0,m=d.offset[1]||0,u=s.offsetWidth,h=s.offsetHeight;let g="bottom";"absolute"!==s.position&&(s.position="absolute",s.offset=[]);const f=a.offset(a);o=Math.min(f.left+i.width-u,t.pageX-u/2-c),r=l.top-h-m,r<f.top&&(r=l.bottom+m,g="top"),o<f.left&&(o=i.left+c,g="left"),g!==s.arrowDirection&&(s.arrowDirection=g),s.style.left=o+"px",s.style.top=r+"px"}else"auto"!==s.position&&(s.position="auto",s.offset=n.offset);s.visible||(a.getShadowRootOrBody().appendChild(s),s.open())}_closeTooltip(){const e=this.$.tooltip;e&&e.visible&&e.close()}_tooltipVisibilityHandler(e){const t=this,i=e.type,a=t.$.tooltip;e.target===a&&(e.stopPropagation(),t._fireTooltipVisibilityEvent(e)?e.preventDefault():"opening"===i?a.classList.remove("jqx-visibility-hidden"):"closing"===i&&(a.hasAnimation?a.addEventListener("transitionend",(()=>{a.visible||(a.classList.add("jqx-visibility-hidden"),a.style.top=a.style.left=0,t.$.container.appendChild(a))}),{once:!0}):t.$.container.appendChild(a)))}_fireTooltipVisibilityEvent(e){const t=this,i=e.type,a=t.$.tooltip,n=e.detail.owner;let s={target:a,owner:n};if(n)if(n.classList.contains("jqx-task-connection")){s.type="connection";const e=t.getConnectionDetails(n.getAttribute("connection-id"));e&&(s.item=e)}else if(n.classList.contains("jqx-gantt-chart-task-indicator"))s.type="indicator",n._indicatorObj&&(s.item=t._cloneObject(n._indicatorObj));else if(n.classList.contains("jqx-task-segment"))s.type="segment",n._segmentObj&&(s.item=t._cloneObject(n._segmentObj));else if(n.classList.contains("jqx-timeline-task"))s.type="task",n._cellObj&&n._cellObj.task&&(s.item=t._cloneObject(n._cellObj.task));else if(n.classList.contains("jqx-resource-timeline-view-cell")){s.type="resource";const e=n.closest(".jqx-timeline-row");e._cellObj&&(s.item=t._cloneObject(e._cellObj.resource))}let r=t.getAttribute("aria-owns")||"";switch(i){case"open":t.setAttribute("aria-owns",(r+" "+a.id).trim()),t.$.fireEvent(i,s);break;case"close":r=r.replace(a.id,"").trim(),r?t.setAttribute("aria-owns",r):t.removeAttribute("aria-owns"),t.$.fireEvent(i,s);break;case"closing":case"opening":if(t.$.fireEvent(i,s).defaultPrevented)return!0}}_parseAdapterData(e){let t={};for(let i=0,a=e.length;i<a;i+=1){const a=e[i],n=Object.assign({},a),s=a.parent,r=a.$.id;if(s&&s!==a){const e=s.$.id;t[e]||(t[e]=Object.assign({},s));const i=t[e];i.tasks||(i.tasks=[]),i.tasks.push(n)}else t[r]=n;delete n.parent,delete n.children,delete n.$}return Object.values(t)}_handleTaskConnections(e){const t=this,i=t._tasks;let a;if("number"==typeof e&&(a=e,e=i[e]),!e)return;void 0===a&&(a=i.indexOf(e));const n=e.connections,s=i.length;for(let e=0;e<n.length;e++){const i=n[e],r=t._getTaskIndexById(i.target);null==r||isNaN(r)||r<0||r>=s||r===a||t._connectTask([a,r,i.type,i.lag])}delete e.connections}_insertTasks(e,t,i){const a=this,n=a._tasks;if(t){const s=a._getProjectTasks(t,!0);if(s.length){const t=s[s.length-1];let r,o;"number"==typeof i&&i<s.length?r=s[i=Math.max(0,i)]:(r=t,o=!0);const l=a._getProjectTasks(r);i=o&&l.length?n.indexOf(l[l.length-1]):n.indexOf(r),n.splice.apply(n,[i+(o?1:0),0].concat(e))}else n.splice.apply(n,[n.indexOf(t)+1,0].concat(e))}else"number"==typeof i?(i+="",(i=n.findIndex((e=>e.$.id===i)))<0&&(i=n.length)):i=n.length,n.splice.apply(n,[i,0].concat(e))}_insertTimelineTasks(){const e=this,t=e._timelineVCells;t&&t.length?(e._recycleTimelineTasks(),e._refresh()):e._resetTimeline()}_recycleTimelineTasks(e){const t=this,i=t.$.taskIndicatorsContainer,a=i.children,n=t.$.taskTimelineCellsContainer.childElementCount,s=t._timelineVCells;for(;i.childElementCount>n;)i.firstElementChild.remove();const r=t.$.timelineDeadlines;for(;r.childElementCount>0;)r.firstElementChild.remove();if(t._closeTooltip(),!s||!s.length)return;const o=s.indexOf(t._getFirstContentCellInView()),l=t._getSelection("task",t.selectedTaskIds),d={timelineStart:t.dateStart.getTime(),timelineEnd:t.dateEnd.getTime()};for(let i=0,r=n;i<r;i++){const n=a[i],r=s[o+i];if(!r){n&&n.remove();continue}const c=r.task;t._snapToNearestDates(c),t._recycleTaskBars(r,i,l),t._setTimelineTaskBar(r,i),t._setTimelineTaskBaseline(r,i),t._setTaskBarProgress(c,i),t._setTaskBarLabel(c,i),t._setTaskIndicators(r,i,d),t._setTaskDeadline(r,i,d),e&&t._refreshTableColumnsData(c)}t._recycleConnections()}_ensureVisible(e,t="task"){const i=this;if(null==e)return;let a,n="task"===t?i._timelineVCells:i._timelineResourceVCells;a||(a=i.$[`${t}Table`]);const s=n.find((i=>i[t]===e));if(!s)return;let r,o;if("task"===t){const t=i._getTimelineTaskCellByDate(e.dateStart);if(r=i.$.taskTimelineContainer.offsetHeight,o=i,t){const e=i.scrollLeft,a=i.$.taskTimelineContainer.offsetWidth;t.left+t.width>e+a?i.scrollLeft=Math.max(0,t.left+t.width-a):t.left<e&&(i.scrollLeft=Math.max(0,t.left))}}else r=i.$.resourceTimelineContent.offsetHeight,o=i._resourceScrollView;const l=o.scrollTop;s.top+s.height>l+r?o.scrollTop=Math.max(0,s.top+s.height-r):s.top<l&&(o.scrollTop=Math.max(0,s.top))}_isTaskExpanded(e,t){if(!e||!e.$)return;let i,a=e.$[this.groupByResources?"group":"project"];if(!a)return!0;for(;a;){if(i=a.expanded,!i)return!1;if(a=a.$.project,a===t)break}return i}_getItemByTreeIndex(e,t,i){if(!t)return;const a=t.split(".");let n=this[`_${e}s`].filter((e=>!e.$.project))[t.split(".")[0]];if(n){if(!n[`${e}s`]||!n[`${e}s`].length)return i?null:n;for(let t=1;t<a.length;t++){const s=n[`${e}s`].filter((e=>!e.hidden&&e.$.project===n))[a[t]];if(!s||i&&"project"!==s.type)break;if(n=s,"project"!==n.type)break}return i?n&&"project"===n.type?n:void 0:n}}_getItemByTableId(e,t,i){if(null==t)return;const a=this[`_${e}s`];let n;for(let e=0,i=a.length;e<i;e+=1){const i=a[e];if(i.$.id===t){n=i;break}}return n?i?"project"===n.type?n:void 0:n:void 0}_tableChangeHandler(e){const t=e.target;(t.classList.contains("jqx-task-table")||t.classList.contains("jqx-resource-table"))&&(e.stopPropagation(),this._handleTableSelection(t===this.$.taskTable?"task":"resource",t.selected))}_tableColumnResizeHandler(e){const t=e.target,i=e.detail,a=t.classList.contains("jqx-task-table");if(!a&&!t.classList.contains("jqx-resource-table"))return;e.stopPropagation();const n=i.dataField,s=this[(a?"task":"resource")+"Columns"].find((e=>e.value===n));s&&(s.size=i.width),this.$.fireEvent("columnResize",i)}_tableSortFilterHandler(e){const t=this,i=e.target;let a;i.classList.contains("jqx-task-table")?(a="task",t._createTimelineContent(),t._recycleTimelineTasks()):i.classList.contains("jqx-resource-table")&&(a="resource",t._createResourceTimelineContent(),t._recycleResourceContent()),a&&(t._refresh(),e.stopPropagation(),t.$.fireEvent(e.type,Object.assign({type:a},e.detail)))}_taskTableExpandHandler(e){const t=this,i=e.target;if(!i.classList.contains("jqx-task-table")&&!i.classList.contains("jqx-resource-table"))return;const a=i===t.$.taskTable?"task":"resource";if(e.stopPropagation(),!t[`${a}s`]||!t[`${a}s`].length)return;const n=e.detail.record.itemId,s=t._getItemByTableId(a,n,!0);s&&(delete t._hoveredItem,s.expanded="collapse"!==e.type,t._createTimelineContent(),t._refresh(),t._recycleTimelineTasks(),t.$.fireEvent(e.type,{item:t._cloneObject(s),id:s.id||s.$.id,index:t._tasks.indexOf(s),label:s.label,value:s.value}))}_taskTableKeyDownHandler(e){const t=this,i=e.key;if(t.keyboardNavigation&&!t.disabled&&!t.readonly)switch(i){case"Delete":case"Enter":{const e=t.$.taskTable._focusedCell;if(!e||!e.closest)return;const a=e.closest("tbody tr");if(!a)return;const n=t._getVCellById("task",a.getAttribute("row-id"));n&&t._openPopupWindow(n.task,"Delete"===i);break}}}_getVCellById(e="task",t){const i="task"===e?this._timelineVCells:this._timelineResourceVCells;if(i&&i.length)for(let a=0,n=i.length;a<n;a+=1){const n=i[a][e];if(n.$&&n.$.id===t)return i[a]}}_getGroupVCellByPath(e,t){const i="task"===e?this._timelineVCells:this._timelineResourceVCells;if(i&&i.length)for(let a=0,n=i.length;a<n;a+=1){const n=i[a][e];if(n.$&&n.$.id===t)return i[a]}}_taskTableGroupEventHandler(e){const t=this,i=e.detail.action,a=e.target;if(["collapse","expand"].indexOf(i)<0||!a.classList.contains("jqx-task-table")&&!a.classList.contains("jqx-resource-table"))return;const n=a===t.$.taskTable?"task":"resource",s=t.$.taskTable._getGroupByIndex(e.detail.path),r=t._getGroupVCellByPath(n,s.$.id);if(!r||!r[n].isGroup)return;const o=r[n];e.stopPropagation(),o.expanded="collapse"!==i,t._createTimelineContent(),t._refresh(),t._recycleTimelineTasks(),t.$.fireEvent(i,{isGroup:!0,item:t._cloneObject(o),id:o.$.id,label:o.label})}_resetTimeline(){const e=this,t=e.$.taskTimelineContainer;if(e.$.taskTimelineCellsContainer.innerHTML="",e.$.timelineTasksContainer.innerHTML="",e.$.timelineConnectionsContainer.innerHTML="",e.$.timelineContent.style.height="",e.$.taskIndicatorsContainer.innerHTML="",e.rightToLeft&&e.scrollLeft!==t.scrollLeft){const i=e._getScrollLeft(e.scrollLeft);t.scrollLeft=i,e.$.mainSplitter.contains(e.$.resourceTimelineHeader)&&(e.$.resourceTimelineContent.scrollLeft=i)}e._closeTooltip(),e.$.container.style.removeProperty("--jqx-gantt-chart-task-timeline-content-height")}_refreshTimeline(e){const t=this;e||(e=t.view);const i=t._getDateFromCell(t.scrollLeft,t._getFirstCellObjInView(),e),a=t.scrollTop;t._refreshing=!0,t.scrollLeft=0,t.scrollTop=0,t.$.mainSplitter.contains(t.$.resourceTimelineHeader)&&t._resourceScrollView&&(t._resourceScrollView.scrollLeft=0),t._resetTimeline(),t._createTimelineCells(),t._recycleTimelineTasks(!0),t.$.mainSplitter.contains(t.$.resourceSplitter)&&t._refreshResourceTimeline(),t._refresh(),t._refreshing=!1,t._scrollTo(i),t.scrollTop=a}scrollToDate(e){this._scrollTo(e,!0)}_scrollTo(e,t){const i=this,a=i._timelineCells;let n;if(void 0!==e&&!isNaN(new Date(e).getTime()))for(let s=0;s<a.length;s++){const r=a[s],o=r.date;switch(i.view){case"quarter":case"year":if(o&&e&&o.getFullYear()===e.getFullYear()&&o.getMonth()===e.getMonth()){if(t){n=r.left;break}let i=new Date(e);i.setMonth(e.getMonth()+1),i.setDate(0),i=i.getDate(),n=r.left+(e.getDate()-1)/i*r.width}break;case"month":{let i=new Date(o),a=new Date(o);i.setDate(i.getDate()-i.getDay()),a.setDate(a.getDate()+(6-a.getDay())+1),a.setMilliseconds(a.getMilliseconds()-1),e.getTime()>=i.getTime()&&e.getTime()<=a.getTime()&&(n=r.left+(t||t?0:e.getDay()/7*r.width));break}case"week":o.getFullYear()===e.getFullYear()&&o.getMonth()===e.getMonth()&&o.getDate()===e.getDate()&&(n=r.left+parseFloat(e.getHours()+"."+e.getMinutes()+e.getSeconds())/24*r.width);break;case"day":o.getFullYear()===e.getFullYear()&&o.getMonth()===e.getMonth()&&o.getDate()===e.getDate()&&o.getHours()===e.getHours()&&(n=r.left+(t?0:parseFloat(e.getMinutes()+e.getSeconds())/60*r.width))}if(void 0!==n)return i.scrollLeft=n,void(i.$.mainSplitter.contains(i.$.resourceTimelineHeader)&&(i.$.resourceTimelineHeader.scrollLeft=i.$.resourceTimelineContent.scrollLeft=n,i._refreshResourceTimeline()))}}_updateConnection(e,t){const i=this,a=i._tasks,[n,s,r,o]=e,l=a[n],d=a[s];if(!l||!d||"number"!=typeof r)return;let c=i._connections,m=-1;c||(c=i._connections=[]);for(let e=0,t=c.length;e<t;e+=1){const t=c[e],i=t.startIndex,a=t.endIndex;if(i===n&&a===s||i===s&&a===n){m=e;break}}if(!t){if(m<0)c.push({startTask:a[n],endTask:a[s],startIndex:n,endIndex:s,type:r,lag:o});else{const e=c[m];if(!e)return;if(e.startIndex=n,e.startTask=a[n],e.endIndex=s,e.endTask=a[s],e.type=r,o!==e.lag){const t=parseInt(o);isNaN(t)||(e.lag=t)}}return!0}m>-1&&c.splice(m,1)}_createTimelineCells(){const e=this,t=e._tasks,i=new Date(e.properties.dateStart.value),a=new Date(e.properties.dateEnd.value);let n,s;if(isNaN(i.getTime())||(n=i),isNaN(a.getTime())||(s=a),t.length>0){let e=t[0].dateStart,i=t[0].dateEnd;for(let a=0;a<t.length;a++)t[a].dateStart&&t[a].dateEnd&&(e||(e=t[a].dateStart),i||(i=t[a].dateEnd),e.getTime()>t[a].dateStart.getTime()&&(e=t[a].dateStart),i.getTime()<t[a].dateEnd.getTime()&&(i=t[a].dateEnd));(!n||n.getTime()>e.getTime())&&(n=e),(!s||s.getTime()<i.getTime())&&(s=i)}if(n&&s){if(n=e._minMaxDateValidator(n),s=e._minMaxDateValidator(s),-1!==e.firstDayOfWeek){const t=n.getDay()-e.firstDayOfWeek,i=new Date(n.getTime());i.setDate(n.getDate()-n.getDay()+e.firstDayOfWeek-(t>=0?0:7)),n=i}e._createTimelineHeader(n,e._getCellsCount(n,s)),e._createTimelineContent(),e._createDateMarkers(),e._refresh()}}_getCellsCount(e,t,i){let a,n,s,r,o,l,d=new Date(e),c=new Date(t);const m=this,u=t.getFullYear()-e.getFullYear();if(n=a=Math.round(u)+1,"year"===i)return{year:n};if(d.setHours(d.getHours(),0,0,0),c.setHours(c.getHours(),0,0,0),l=Math.floor((t.getTime()-e.getTime())/36e5),l>0){let e=new Date(d);if(l=1,d.getFullYear()!==c.getFullYear()){let t=new Date(d.getFullYear()+1,0,1,0,0,0,0);for(;e.getTime()!==t.getTime();){const t=e.getTime();e.setHours(e.getHours()+1),e.getTime()===t&&e.setHours(e.getHours()+2),l++}const i=c.getFullYear()-t.getFullYear();for(let t=0;t<i;t++){const t=e.getFullYear();l+=24*((t%100==0?t%400==0:t%4==0)?366:365)-1,e.setFullYear(t+1)}}for(;e.getTime()<c.getTime();){const t=e.getTime();e.setHours(e.getHours()+1),e.getTime()===t&&e.setHours(e.getHours()+2),l++}}if("hour"===i)return{hour:l};if(d.setHours(0,0,0,0),c.setHours(23,59,59,999),o=a=Math.round((c.getTime()-d.getTime())/864e5),"day"===i)return{day:o};if(d.setDate(d.getDate()-d.getDay()),c.setDate(c.getDate()+6-c.getDay()),r=a=Math.round((c.getTime()-d.getTime())/6048e5),"week"===i){if(-1!==m.firstDayOfWeek){const t=e.getDay()-m.firstDayOfWeek;e.setDate(e.getDate()-e.getDay()+m.firstDayOfWeek-(t>=0?0:7))}return{week:r}}if("month"===this.view&&"day"!==m.monthScale&&(0!==e.getDay()&&(e=new Date(e.setDate(e.getDate()-e.getDay()))),6!==t.getDay()&&(t=new Date(t.setDate(t.getDate()+6-t.getDay()))),-1!==m.firstDayOfWeek)){const t=e.getDay()-m.firstDayOfWeek;e.setDate(e.getDate()-e.getDay()+m.firstDayOfWeek-(t>=0?0:7))}if(e.getFullYear()!==t.getFullYear()){a=12-e.getMonth();const i=t.getFullYear();for(let n=e.getFullYear()+1;n<=i;n++)a+=n===t.getFullYear()?t.getMonth()+1:12}else a=t.getMonth()-e.getMonth()+1;return s=Math.ceil(a),"months"===i?{month:s}:("day"===this.view&&0===l&&(l=1),{year:n,month:s,week:r,day:o,hour:l})}_recycleTaskBars(e,t,i){const a=this,n=e.task,s=a.$.timelineTasksContainer,r=a.$.taskTimelineCellsContainer,o="project"===n.type&&n.synchronized,l=n.type,d=n.$.id,c=s.children[t],m=r.children[t];m._cellObj=e,m.setAttribute("row-id",d),m.style.top=e.top+"px",m.removeAttribute("hover"),c.removeAttribute("hover"),c.classList.contains(l)||(c.innerHTML="milestone"===l?'<div class="jqx-task-container" aria-hidden="true">\n                    <div class="jqx-task-connection-point start"></div>\n                    <div class="jqx-task-segments"></div>\n                    <div class="jqx-task-connection-point end"></div>\n                </div>':'<div class="jqx-task-container" aria-hidden="true">\n                    <div class="jqx-task-connection-point start"></div>\n                    <div class="jqx-task-segments"></div>\n                    <div class="jqx-timeline-task-progress-thumb"></div>\n                    <div class="jqx-task-connection-point end"></div>\n                </div>'),n.connectionType&&(n.connectionType.includes("start")||c.querySelector(".start").classList.add("jqx-hidden"),n.connectionType.includes("end")||c.querySelector(".end").classList.add("jqx-hidden")),a._recycleSegments(n,c),delete c._cellStart,delete c._cellEnd,n.disableDrag||o&&!n.dragProject?c.setAttribute("disable-drag",""):c.removeAttribute("disable-drag"),n.disableResize||o?c.setAttribute("disable-resize",""):c.removeAttribute("disable-resize"),n.isGroup?c.setAttribute("resource-group",""):c.removeAttribute("resource-group"),i&&(i.indexOf(d)>-1?(c.setAttribute("selected",""),m.setAttribute("selected","")):(c.removeAttribute("selected"),m.removeAttribute("selected"))),n.id?c.id=n.id:c.id="ganttTask"+Math.floor(65536*(1+Math.random())).toString(16).substring(1),c._cellObj=e,c.className="jqx-timeline-task "+l,c.setAttribute("row-id",d),n.class&&c.classList.add(n.class),c.setAttribute("aria-label",n.label+" Start date: "+a._toISODate(n.dateStart)+", End date: "+a._toISODate(n.dateEnd)),c.setAttribute("aria-selected","false"),a.taskFormatFunction&&a.taskFormatFunction(n,c)}_toISODate(e){const t=e.getFullYear(),i=e.getMonth()+1,a=e.getDate();return t+"-"+(i<10?"0"+i:i)+"-"+(a<10?"0"+a:a)}_recycleSegments(e,t){const i=this,a=t.querySelector(".jqx-task-segments");let n,s=e.segments;if(!a)return;for(Array.isArray(s)&&s&&s.length&&"task"===e.type||(s=[e]);a.childElementCount>s.length;)a.children[0].remove();const r=document.createDocumentFragment(),o=a.children,l="milestone"===e.type?'<div class="jqx-timeline-task-fill"></div>':'<div class="jqx-timeline-task-fill">\n                     <div class="jqx-timeline-task-progress"></div>\n                </div>\n                <div class="jqx-timeline-task-label"></div>';for(let t=0,a=s.length;t<a;t+=1){const a=s[t];let d=o[t];a.dateStart=new Date(Math.max(e.dateStart.getTime(),a.dateStart.getTime())),a.dateEnd=new Date(Math.min(e.dateEnd.getTime(),a.dateEnd.getTime())),d?(delete d._cellStart,delete d._cellEnd):(d=document.createElement("div"),d.classList.add("jqx-task-segment"),d.innerHTML=l,r.appendChild(d)),a.disableDrag?d.setAttribute("disable-drag",""):d.removeAttribute("disable-drag"),a.disableResize?d.setAttribute("disable-resize",""):d.removeAttribute("disable-resize"),d._segmentObj=a,d.setAttribute("aria-label",(a.label||"")+" Start date: "+i._toISODate(a.dateStart)+", End date: "+i._toISODate(a.dateEnd)),n=d}r.childElementCount&&a.appendChild(r),i._setTaskBarDeadline(e,n)}_createCells(e){let t,i=document.createDocumentFragment();for(let a=0;a<e;a++)t=document.createElement("div"),t.classList.add("jqx-timeline-view-cell"),t.setAttribute("role","columnheader"),i.appendChild(t);return i}_getTimelineVisibleCellsCount(){const e=this,t=e._timelineCells;if(!t)return;const i=e._getFirstCellObjInView();if(!i)return t.length;const a=1-(i.left+i.width-e.scrollLeft)/t[0].width;return Math.min(t.length,Math.ceil(parseFloat((e.$.timeline.offsetWidth/i.width).toFixed(2))+a))}_getHeaderVisibleCellsCount(){const e=this;if(!e._timelineHeaderCells)return;const t=Math.abs(e.scrollLeft),i=e.$.timeline.offsetWidth,a=e._timelineHeaderCells;let n=0;for(let e=0;e<a.length;e++){const s=a[e];s.left+s.width>t&&s.left<i+t&&n++}return n}_getHeaderSubVisibleCellsCount(){const e=this;if(!e._timelineHeaderSubCells)return;const t=Math.abs(e.scrollLeft),i=e.$.timeline.offsetWidth,a=e._timelineHeaderSubCells;let n=0;for(let e=0;e<a.length;e++){const s=a[e];s.left+s.width>t&&s.left<i+t&&n++}return n}_refreshHeaderDate(e){const t=this,i=t._getCellsViewType(),a=t.$.timelineHeader.scrollLeft,n=t.$.timelineViewCells.children,s=t._timelineCells;let r;t._refreshHeaderSubDetailsDate(e),t._refreshHeaderDetailsDate(e);for(let e=0;e<s.length;e++){const t=s[e];if(a<=t.left+t.width){r=e;break}}for(let a=0;a<n.length;a++){const o=n[a],l=s[r];if(!l)break;r++;const d=l.date;o.innerHTML=`<div>${t._getDateString(new Date(d),i)}</div>`,e||(o._date=new Date(d),o.setAttribute("date",d.toLocaleDateString()),o.style.width=l.width+"px",o.style[t.rightToLeft?"right":"left"]=l.left+"px",l.weekend?o.setAttribute("weekend",""):o.removeAttribute("weekend"),l.nonworking?o.setAttribute("nonworking",""):o.removeAttribute("nonworking"))}}_getDateString(e,t,i){const a=this,n=["2-digit","numeric"][a.dayFormat]||"numeric";let s;if("year"===t||"quarter"===t)s=e.toLocaleDateString(a.locale,{year:a.yearFormat});else if("month"===t)s=e.toLocaleDateString(a.locale,{month:a.monthFormat}),"month"===a.view&&(s+=" "+e.toLocaleDateString(a.locale,{year:a.yearFormat}));else if("week"===t)s="numeric"!==a.weekFormat&&i?e.toLocaleDateString(a.locale,{day:n,month:a.monthFormat,year:a.yearFormat}):a._getWeekNumber(e);else if("day"===t)s="month"===a.view?"numeric"!==a.dayFormat&&"2-digit"!==a.dayFormat?e.toLocaleDateString(a.locale,{day:"numeric"})+" "+e.toLocaleDateString(a.locale,{weekday:a.dayFormat}):e.toLocaleDateString(a.locale,{day:"numeric"})+" "+e.toLocaleDateString(a.locale,{weekday:"short"}):e.toLocaleDateString(a.locale,"day"===a.view?{day:n,month:a.monthFormat,year:a.yearFormat}:["long","short","narrow"].indexOf(a.dayFormat)>-1?{weekday:a.dayFormat}:{day:a.dayFormat});else if("hour"===t)if(s="default"===a.hourFormat?e.toLocaleTimeString(a.locale,{hour12:!1}):e.toLocaleDateString(a.locale,{hour:a.hourFormat}),"default"!==a.hourFormat)s.indexOf(",")>=0&&(s=s.substring(s.indexOf(",")+1).trim());else if(s.indexOf(":")!==s.lastIndexOf(":")&&s.indexOf(":")>=0){let e=s.toLowerCase().indexOf("am")>=0?" AM":"";e=s.toLowerCase().indexOf("pm")>=0?" PM":e,s=s.substring(0,s.lastIndexOf(":"))+e}return a.timelineHeaderFormatFunction?a.timelineHeaderFormatFunction(new Date(e),t,i,s):s}_refreshHeaderSubDetailsDate(e){const t=this,i=(t.view,t.scrollLeft),a=t.$.timelineViewSubDetails.children,n=t._timelineHeaderSubCells;let s;if(t.$.timelineViewSubDetails.classList.contains("jqx-hidden"))return;for(let e=0;e<n.length;e++){const t=n[e];if(i<=t.left+t.width){s=e;break}}let r=[],o=0;for(let i=0;i<a.length;i++){const l=n[s],d=a[i];if(!l)continue;let c=new Date(l.date);"week"===t.view&&c.setDate(c.getDate()-c.getDay()),s++,c=new Date(Math.max(l.date.getTime(),c.getTime()));const m=e=>{var i,a=e.getMonth();return i=a>=9?4:a>=6?3:a>=3?2:1,"long"===t.quarterFormat?t.localize("quarter")+" "+i:"numeric"===t.quarterFormat?i:t.localize("quarterShort")+i};let u="";"quarter"===t.view||"year"===t.view?(u=m(c),"quarter"===t.view&&t.hideTimelineSecondHeaderDetails&&(u+=" "+c.getFullYear())):"month"===t.view&&(-1===t.firstDayOfWeek?u=t._getWeekNumber(c):((c.getDay()-t.firstDayOfWeek)%7==0&&i>0&&o++,u=o));const h=u+"_"+c.getFullYear();r[h]||(r[h]=[]),d.classList.remove("jqx-visibility-hidden"),r[h].push({element:d,cell:l}),d.innerHTML=`<div>${u}</div>`,d.classList.add("middle"),e||(d._date=c,d.style[t.rightToLeft?"right":"left"]=l.left+"px",d.style.width=l.width+"px")}for(let e in r){const i=r[e];let a=0;for(let e=0;e<i.length;e++)a+=i[e].cell.width;if(i[0].element.style.width=a+"px","year"===t.view){const e=i[0].cell.date.toLocaleDateString(t.locale,{month:t.monthFormat}),a=i[i.length-1].cell.date.toLocaleDateString(t.locale,{month:t.monthFormat});i.length>1?i[0].element.innerHTML=`<div>${e}-${a}</div>`:i[0].element.innerHTML=`<div>${e}</div>`}else if("month"===t.view){const e="numeric"!==t.dayFormat&&"2-digit"!==t.dayFormat?t.dayFormat:"short",a=i[0].cell.date.toLocaleDateString(t.locale,{day:"numeric"})+" "+i[0].cell.date.toLocaleDateString(t.locale,{weekday:e}),n=i[i.length-1].cell.date.toLocaleDateString(t.locale,{day:"numeric"})+" "+i[i.length-1].cell.date.toLocaleDateString(t.locale,{weekday:e});i.length>1?i[0].element.innerHTML=`<div>${a}-${n}</div>`:i[0].element.innerHTML=`<div>${a}</div>`,"numeric"===t.weekFormat&&(i[0].element.innerHTML=t._getWeekNumber(i[0].cell.date))}if(t.timelineHeaderFormatFunction){const e=t.timelineHeaderFormatFunction(new Date(i[0].cell.date),t.view,!0,i[0].element.innerHTML);i[0].element.innerHTML!==e&&(i[0].element.innerHTML=e)}for(let e=1;e<i.length;e++)i[e].element.classList.add("jqx-visibility-hidden")}}_refreshHeaderDetailsDate(e){const t=this,i=t.view,a=t.scrollLeft,n=t.$.timelineViewDetails.children,s=t._timelineHeaderCells;let r;for(let e=0;e<s.length;e++){const t=s[e];if(a<=t.left+t.width){r=e;break}}for(let a=0;a<n.length;a++){const o=s[r],l=n[a];let d=new Date(o.date);if("week"===t.view)if(-1!==t.firstDayOfWeek){const e=d.getDay()-t.firstDayOfWeek;d.setDate(d.getDate()-d.getDay()+t.firstDayOfWeek-(e>=0?0:7))}else d.setDate(d.getDate()-d.getDay());r++,d=new Date(Math.max(o.date.getTime(),d.getTime())),l.innerHTML=`<div>${t._getDateString(d,i,!0)}</div>`,e||(l._date=d,l.style[t.rightToLeft?"right":"left"]=o.left+"px",l.style.width=o.width+"px")}}_getWeekNumber(e){let t,i=new Date(e.getFullYear(),0,1),a=Math.round((e.getTime()-i.getTime()-6e4*(e.getTimezoneOffset()-i.getTimezoneOffset()))/864e5)+1,n=i.getDay();return n=n>=0?n:n+7,n<4?(t=Math.floor((a+n-1)/7)+1,t>52&&(i=new Date(e.getFullYear()+1,0,1),n=i.getDay(),n=n>=0?n:n+7,t=n<4?1:53)):t="week"===this.view?function(e){var t=new Date(e.valueOf()),i=(e.getDay()+6)%7;t.setDate(t.getDate()-i+3);var a=t.valueOf();return t.setMonth(0,1),4!==t.getDay()&&t.setMonth(0,1+(4-t.getDay()+7)%7),1+Math.ceil((a-t)/6048e5)}(e):Math.round((a+n-1)/7),t}_convertDuration(e,t){if(!e)return 0;let i;switch(this.durationUnit){case"day":i=864e5;break;case"hour":i=36e5;break;case"minute":i=6e4;break;case"second":i=1e3;break;case"milisecond":return e;case"week":i=6048e5}return Math.max(0,t?e/i:e*i)}_createTimelineHeader(e,t){const i=this,a=i._getCellsViewType();if(!e){const t=i.$.timelineViewCells.children;if(0===t.length)return;e=t[0]._date}if("day"!==i.view&&e.setHours(0,0,0,0),i.$.timelineContent.offsetWidth===i.$.timeline.offsetWidth&&i._timelineCells&&i._timelineCells[0]&&i._timelineCells[0].date.getTime()===e.getTime()&&i._timelineCells.length===t[i._getCellsViewType()])return void i._refresh();i.$.timelineContent.style.width=i.$.timelineHeaderContent.style.width="",i._createTimelineCellsObj(e,t),i._createTimelineHeaderCellsObj(e,t),i._createTimelineHeaderSubCellsObj(e,t),i.$.timelineViewDetails.innerHTML="",i.$.timelineViewDetails.appendChild(i._createCells(i._getHeaderVisibleCellsCount())),i.$.timelineViewSubDetails.innerHTML="",i.$.timelineViewCells.classList.remove("jqx-hidden"),i.$.timelineViewSubDetails.classList.add("jqx-hidden");let n=2;"quarter"===i.view?(n=3,i.$.timelineViewSubDetails.classList.remove("jqx-hidden"),i.$.timelineViewSubDetails.appendChild(i._createCells(i._getTimelineVisibleCellsCount()))):"month"===i.view&&"day"===i.monthScale?(n=3,i.$.timelineViewSubDetails.classList.remove("jqx-hidden"),i.$.timelineViewSubDetails.appendChild(i._createCells(t.day))):"year"===i.view&&(n=3,i.$.timelineViewSubDetails.classList.remove("jqx-hidden"),i.$.timelineViewSubDetails.appendChild(i._createCells(t.month))),i.hideTimelineHeader&&(i.$.timelineViewCells.classList.add("jqx-hidden"),n--),i.hideTimelineHeaderDetails&&(i.$.timelineViewDetails.classList.add("jqx-hidden"),n--),i.hideTimelineSecondHeaderDetails&&("quarter"===i.view?i.$.timelineViewDetails.classList.add("jqx-hidden"):i.$.timelineViewSubDetails.classList.add("jqx-hidden"),("year"===i.view||"month"===i.view&&"day"===i.monthScale||"quarter"===i.view)&&n--),i.$.taskTable.style.setProperty("--jqx-table-column-header-height","calc("+n+" * var(--jqx-gantt-chart-task-default-height) - calc("+n+" * var(--jqx-border-width) / "+n+"))"),i.$.timelineViewCells.innerHTML="",i.$.timelineViewCells.appendChild(i._createCells(i._getTimelineVisibleCellsCount()));let s=t[a];if("hour"===a&&("halfHour"===i.dayScale?s*=2:"quarterHour"===i.dayScale&&(s*=4)),i.$.timelineContent.style.width=i.$.timelineHeaderContent.style.width=Math.max(s*i._timelineCells[0].width,i.$.timeline.parentElement.offsetWidth)+"px",i.scrollLeft){const e=i._getScrollLeft(i.scrollLeft);i.$.timelineHeader.scrollLeft=e,i.$.mainSplitter.contains(i.$.resourceTimelineHeader)&&(i.$.resourceTimelineHeader.scrollLeft=e)}i._refreshHeaderDate(),i._setCurrentTimeIndicators()}_createTimelineContent(){const e=this,t=e.$.container,i=e.$.timelineContent,a=e._taskDefaultHeight,n=e.$.taskTimelineContainer,s=e.scrollLeft;if(i.style.height="",t.style.removeProperty("--jqx-gantt-chart-task-timeline-content-height"),e._createTimelineVCells(a),i.style.height=e._timelineVCells.length*a+"px",t.style.setProperty("--jqx-gantt-chart-task-timeline-content-height",e.$.timeline.offsetHeight+"px"),s||s!==n.scrollLeft){const t=e._getScrollLeft(e.scrollLeft);n.scrollLeft=t,e.$.mainSplitter.contains(e.$.resourceTimelineHeader)&&(e.$.resourceTimelineContent.scrollLeft=t)}e.scrollTop&&(n.scrollTop=e.scrollTop),e._recycleContentCells()}_createDateMarkers(){const e=this,t=e.dateMarkers;let i=[];delete e._markers;for(let a=0,n=t.length;a<n;a+=1){const n=t[a],s=e._dateValidator(void 0,n.date);if(s){const e={date:s},t=n.label,a=n.className;("string"==typeof t||"number"==typeof t&&!isNaN(t))&&(e.label=t),"string"==typeof a&&(e.className=a),i.push(e)}}i.length&&(e._markers=i),e._recycleDateMarkers()}_createTimelineRowCells(e,t){const i=this,a=e.children,n=e.querySelectorAll(".jqx-task-bar-limiter"),s=document.createDocumentFragment(),[r,o]=i.rightToLeft?["right","left"]:["left","right"];t||(t=i.$.timelineViewCells.children);for(let e=0,t=n.length;e<t;e+=1)n[e].remove();const l=t.length;for(;e.childElementCount>l;)e.lastElementChild.remove();for(let t=e.childElementCount;t<l;t+=1){const e=document.createElement("div");e.classList.add("jqx-timeline-cell"),s.appendChild(e)}s.childElementCount&&e.appendChild(s);for(let e=0;e<l;e+=1){const i=t[e],n=a[e];i.hasAttribute("weekend")?n.setAttribute("weekend",""):n.removeAttribute("weekend"),i.hasAttribute("nonworking")?n.setAttribute("nonworking",""):n.removeAttribute("nonworking"),n.style[o]=i.style[o],n.style[r]=i.style[r],n.style.width=i.style.width}for(let t=0,i=n.length;t<i;t+=1)e.appendChild(n[t])}_recycleTimelineRowCells(){const e=this,t=e.$.timelineViewCells.children,i=e.$.taskTimelineCellsContainer.children;for(let a=0,n=i.length;a<n;a+=1)e._createTimelineRowCells(i[a],t)}_createTimelineVCells(e){const t=this,i=t._tasks,a=t.$.taskTable.rows,n=t.groupByResources;let s=0,r={};t._timelineVCells=[];for(let o=0,l=a.length;o<l;o++){const l=a[o].data;let d=i[l.itemIndex];if(n)if(!d&&l.groupDataField){const e=l.$.id;d={$:{id:e,project:void 0},label:t._formatResourceGroupLabel(l.label),value:l.label,expanded:l.expanded,synchronized:!0,isGroup:!0,type:"project"},r[e]=d}else l.parent?(d.$.group=r[l.parent.$.id],t._synchronizeProjectDates(d.$.group,[d])):delete d.$.group;else delete d.$.group;!d.hidden&&t._isTaskExpanded(d)&&(t._timelineVCells.push({top:s,height:e,task:d}),s=parseFloat((s+e).toFixed(2)))}}_getCellsViewType(){const e=this;switch(e.view){case"quarter":case"year":return"month";case"month":return"day"===e.monthScale?"day":"week";case"week":return"day";case"day":return"hour"}}_dateAdd(e,t,i){if(e instanceof Date){var a=new Date(e),n=function(){a.getDate()!==e.getDate()&&a.setDate(0)};switch(String(t).toLowerCase()){case"year":a.setFullYear(a.getFullYear()+i),n();break;case"quarter":a.setMonth(a.getMonth()+3*i),n();break;case"month":a.setMonth(a.getMonth()+i),n();break;case"week":a.setDate(a.getDate()+7*i);break;case"day":a.setDate(a.getDate()+i);break;case"hour":a.setTime(a.getTime()+36e5*i);break;case"minute":a.setTime(a.getTime()+6e4*i);break;case"second":a.setTime(a.getTime()+1e3*i);break;default:a=void 0}return a}}_createTimelineCellsObj(e,t){const i=this,a=i._getCellsViewType();t=t[a],"hour"===a&&"halfHour"===i.dayScale?t*=2:"hour"===a&&"quarterHour"===i.dayScale&&(t*=4);const n=i.$.timeline.parentElement.offsetWidth;let s=Math.max(i._timelineCellSize,i._timelineCellMinSize),r=0,o=new Date(e);t*s<n&&(s=n/t),s=parseFloat(s.toFixed(2)),i._timelineCells=[];for(let e=0;e<t;e++){const t={left:r,width:s};if("year"===a||"quarter"===a)o.setMonth(0),t.date=new Date(o),o.setFullYear(o.getFullYear()+1);else if("month"===a)o.setDate(1),t.date=new Date(o),o.setMonth(o.getMonth()+1);else if("week"===a)o.setHours(0,0,0,0),o.setDate(o.getDate()-o.getDay()),t.date=new Date(o),o.setDate(o.getDate()+7);else if("day"===a)i.nonworkingDays.indexOf(o.getDay())>-1&&(t.nonworking=!0),o.setHours(0,0,0,0),t.date=new Date(o),o.setDate(o.getDate()+1),t.weekend=0===t.date.getDay()||6===t.date.getDay();else if("hour"===a){(i.nonworkingHours.indexOf(o.getHours())>-1||i.nonworkingDays.indexOf(o.getDay())>-1)&&(t.nonworking=!0),"hour"!==i.dayScale&&0!==e||o.setHours(o.getHours(),0,0,0),t.date=new Date(o);const a=o.getTime();"hour"===i.dayScale?o.setHours(o.getHours()+1):"halfHour"===i.dayScale?o=i._dateAdd(o,"minute",30):"quarterHour"===i.dayScale&&(o=i._dateAdd(o,"minute",15)),a===o.getTime()&&o.setHours(o.getHours()+2),t.weekend=0===t.date.getDay()||6===t.date.getDay()}i._timelineCells.push(t),r=parseFloat((r+s).toFixed(2))}}_createTimelineHeaderSubCellsObj(e,t){const i=this,a=i._getCellsViewType();t="month"===i.view&&"day"===i.monthScale?t.day:t[a],"hour"===a&&"halfHour"===i.dayScale?t*=2:"hour"===a&&"quarterHour"===i.dayScale&&(t*=4);const n=i.$.timeline.parentElement.offsetWidth;let s=Math.max(i._timelineCellSize,i._timelineCellMinSize),r=0,o=new Date(e);t*s<n&&(s=n/t),s=parseFloat(s.toFixed(2)),i._timelineHeaderSubCells=[];for(let e=0;e<t;e++){const t={left:r,width:s};if("year"===a||"quarter"===a)o.setMonth(0),t.date=new Date(o),o.setFullYear(o.getFullYear()+1);else if("month"===a)o.setDate(1),t.date=new Date(o),o.setMonth(o.getMonth()+1);else if("week"===a)o.setHours(0,0,0,0),o.setDate(o.getDate()-o.getDay()),t.date=new Date(o),o.setDate(o.getDate()+7);else if("day"===a)i.nonworkingDays.indexOf(o.getDay())>-1&&(t.nonworking=!0),o.setHours(0,0,0,0),t.date=new Date(o),o.setDate(o.getDate()+1),t.weekend=0===t.date.getDay()||6===t.date.getDay();else if("hour"===a){(i.nonworkingHours.indexOf(o.getHours())>-1||i.nonworkingDays.indexOf(o.getDay())>-1)&&(t.nonworking=!0),"hour"!==i.dayScale&&0!==e||o.setHours(o.getHours(),0,0,0),t.date=new Date(o);const a=o.getTime();"hour"===i.dayScale?o.setHours(o.getHours()+1):"halfHour"===i.dayScale?o=i._dateAdd(o,"minute",30):"quarterHour"===i.dayScale&&(o=i._dateAdd(o,"minute",15)),a===o.getTime()&&o.setHours(o.getHours()+2),t.weekend=0===t.date.getDay()||6===t.date.getDay()}i._timelineHeaderSubCells.push(t),r=parseFloat((r+s).toFixed(2))}}_createTimelineHeaderCellsObj(e,t){const i=this;let a=i.view,n=0,s=new Date(e);"quarter"===a&&(a="year"),t=t[a],i._timelineHeaderCells=[];for(let e=0;e<t;e++){const t={};switch(t.date=new Date(s),a){case"quarter":case"year":s.setFullYear(s.getFullYear()+1);break;case"month":s.setDate(1),s.setMonth(s.getMonth()+1);break;case"week":s.setDate(s.getDate()+7);break;case"day":s.setDate(s.getDate()+1)}n=i._refreshViewDetailCell(t,n,e),i._timelineHeaderCells.push(t)}}_minMaxDateValidator(e){if(!e||isNaN(e.getTime()))return e;const t=new Date(this.min),i=new Date(this.max);return t&&(e=new Date(Math.max(t.getTime(),e.getTime()))),i&&(e=new Date(Math.min(i.getTime(),e.getTime()))),e}_dateValidator(e,t){const i=this;let a;if(t instanceof Date)return i._minMaxDateValidator(t);if(JQX.Utilities.DateTime&&t instanceof JQX.Utilities.DateTime)return i._minMaxDateValidator(t.toDate());if("string"!=typeof t)return i._minMaxDateValidator(e);{const e=/\d+:\d+:\d+/;if("new Date()"===t.trim()||"new JQX.Utilities.DateTime()"===t.trim())return i._minMaxDateValidator(new Date);if(isNaN(Date.parse(t))){const i=/(\d+[,-.\/]{1}\s*\d+[,-.\/]{1}\s*\d+)/;if(i.test(t)){const n=i.exec(t)[0].replace(/[,-.\/]/g,",").split(",");if(3===n.length){const[i,s]=parseInt(n[0])<parseInt(n[2])?[n[0],n[2]]:[n[2],n[0]];if(a=new Date(parseInt(s),parseInt(n[1])-1,parseInt(i)),e.test(t)){const i=e.exec(t)[0].split(":");a.setHours(i[0]||0,i[1]||0,i[2]||0)}t=a}}}else a=new Date(Date.parse(t)),e.test(t)||a.setHours(0,0,0,0),t=a}return i._minMaxDateValidator(new Date(t))}_currentTimeIndicatorIntervalValidator(e,t){return Math.max(1,t)}_getTaskBarPositionLimits(e,t){const i=this;function a(e){const t=i._getTimelineTaskCellByDate(e);if(t)return t.left+i._getTimelineTaskOffset(t,e)||0}return{min:a(e["min"+t]),max:a(e["max"+t])}}_getTimelineTaskOffset(e,t){if(!e)return;let i,a;switch(this.view){case"quarter":case"year":{const n=t.getHours()/24+t.getMinutes()/1440+t.getSeconds()/86400;i=new Date(e.date.getFullYear(),e.date.getMonth()+1,0),a=(t.getDate()-1+n)/i.getDate()*e.width;break}case"month":a=t.getDay()/7*e.width;break;case"week":a=parseFloat(t.getHours()+t.getMinutes()/60+t.getSeconds()/3600)/24*e.width;break;case"day":a=parseFloat(t.getMinutes()+t.getSeconds()/60)/60*e.width}return a}_getTaskBarSizeLimits(e,t){const i=this,a=i._getTaskBarDateRange(e);let n,s=0,r=i._convertDuration(e._cellObj.task.minDuration)||i._getMinDuration(e,t),o=i._convertDuration(e._cellObj.task.maxDuration);function l(n,s){if(!n)return;let r,o;"left"===t&&!i.rightToLeft||"right"===t&&i.rightToLeft?(n*=-1,o=a.dateEnd):o=a.dateStart,s&&Math.abs(r)===Math.abs(n)&&(r=0);let l=i._getTaskWorkingDateEnd({dateStart:o},n);const d=l.getTime()+60*(l.getTimezoneOffset()-o.getTimezoneOffset())*1e3,c=i._getTimelineTaskCellByDate(new Date(d));if(!c)return;const m=i._getTimelineTaskOffset(c,new Date(d));return i.rightToLeft?"left"===t?m-(i.$.timelineContent.offsetWidth-e.offsetLeft-e.offsetWidth-c.left):i.$.timelineContent.offsetWidth-e.offsetLeft-c.left-m:"left"===t?e.offsetLeft+e.offsetWidth-c.left-m:c.left-e.offsetLeft+m}if("left"===t&&!i.rightToLeft||"right"===t&&i.rightToLeft){const t=e._cellObj.task.maxDateStart,i=e._cellObj.task.minDateStart;i&&(s=60*(i.getTimezoneOffset()-a.dateEnd.getTimezoneOffset())*1e3,n=Math.abs(i.getTime()-a.dateEnd.getTime())+s,o=o?Math.min(n,o):n),t&&(s=60*(t.getTimezoneOffset()-a.dateEnd.getTimezoneOffset())*1e3,n=Math.abs(t.getTime()-a.dateEnd.getTime())+s,r=r?Math.max(n,r):n)}else{const t=e._cellObj.task.maxDateEnd,i=e._cellObj.task.minDateEnd;i&&(s=60*(i.getTimezoneOffset()-a.dateStart.getTimezoneOffset())*1e3,n=Math.abs(i.getTime()-a.dateStart.getTime())+s,r=r?Math.max(n,r):n),t&&(s=60*(t.getTimezoneOffset()-a.dateStart.getTimezoneOffset())*1e3,n=Math.abs(t.getTime()-a.dateStart.getTime())+s,o=o?Math.min(n,o):n)}return o&&(r=Math.min(r,o)),{min:l(r,!0),max:l(o)}}_getMinDuration(e,t){const i=this,a=i._taskBarMinWidth;if(!a||!i._timelineCells||0===i._timelineCells.length)return;const n=e._cellObj.task;let s,r,o=1;r=i.rightToLeft?parseFloat(e.style.right)||i.$.timelineContent.offsetWidth-e.offsetLeft-e.offsetWidth:parseFloat(e.style.left)||e.offsetLeft,"left"===t?(s=n.dateEnd,r+=parseFloat(e.style.width)||e.offsetWidth,o=-1):s=n.dateStart;const l=r+o*a;let d;for(let e=0;e<i._timelineCells.length;e++){const t=i._timelineCells[e];if(l<t.left)break;d=t}const c=i._getDateFromCell(l,d);return c?Math.abs(s.getTime()-c.getTime()):void 0}_createDelimiter(e,t){const i=this,a=i._dragDetails,n=a.segment,s=e.slice(0,3),r=document.createElement("div");if(r.classList.add("jqx-task-bar-limiter",e),e.indexOf("date")>-1){if(!a[s]||!a[s].left)return;const[e,t]=n?[n.element,n.originalPosition.x]:[a.timelineTask,0],o=i.$.taskTimelineCellsContainer.children[i._getTaskDOMIndex(a.task)];s.indexOf("max")>-1?r.style.width=o.offsetWidth-a[s].left-t-e.offsetWidth+"px":r.style.width=a[s].left+t+"px"}else{if(!a[s].width)return;r.style["left"===t?"right":"left"]=a[s].width+"px"}return r}_doubleClickHandler(e){const t=this;let i=e.target;if(t.disabled||t.disableWindowEditor)return;t.shadowRoot&&i===t&&(i=e.composedPath()[0]);let a=i.closest?i.closest(".jqx-task-connection"):void 0;if(a)t._openPopupWindow(a);else if(a=i.closest(".jqx-timeline-task")||i.closest(".jqx-table tbody tr[row-id]"),a&&t.$.taskSplitter.contains(a))if(a.classList.contains("jqx-timeline-task"))t._openPopupWindow(a._cellObj.task);else{const e=t._getVCellById("task",a.getAttribute("row-id"));e&&t._openPopupWindow(e.task)}}_checkDoubleClick(e){const t=this;let i=e.target;if(t.shadowRoot&&i===t&&(i=e.composedPath()[0]),void 0===t._dblClickDetails&&(t._dblClickDetails={clicks:0}),clearTimeout(t._dblClickDetails.timeOut),i!==t._dblClickDetails.target&&(t._dblClickDetails.clicks=0),t._dblClickDetails.target=i,t._dblClickDetails.clicks++,t._dblClickDetails.timeOut=setTimeout((function(){t._dblClickDetails&&(t._dblClickDetails.clicks=0)}),250),2===t._dblClickDetails.clicks)return t._doubleClickHandler(e),t._dblClickDetails.clicks=0,!0}_downHandler(e){const t=this,i=e.originalEvent,a=t.shadowRoot||t.isInShadowDOM?i.composedPath()[0]:i.target,n=a.closest?a.closest(".jqx-timeline-row")||a.closest(".jqx-timeline-task"):null;if(e.stopPropagation(),delete t._itemClickDetails,t._dragDetails)return delete t._dragDetails,void t._setConnectionFeedback();const s=t.$.taskSplitter.contains(a)?"task":"resource";if((a.closest(".jqx-timeline-content")||a.closest(`.jqx-${s}-table`))&&requestAnimationFrame((()=>t.$[`${s}Table`].focus({preventScroll:!0}))),t._itemClickDetails={target:a},!t._isMobile&&0!==e.button)return;if(!n){if(a.classList.contains("jqx-popup-window-modal")){if(t._popupWindow){const e=Object.keys(t._popupWindow);requestAnimationFrame((()=>t._popupWindow[e[e.length-1]].focus()))}return}return void((a.closest(".jqx-table tbody tr[row-id]")&&!a.classList.contains("jqx-arrow")||a.closest(".jqx-task-connection"))&&t._checkDoubleClick(i))}if(a.closest(".jqx-resource-timeline-view-cell")||t.disabled)return;const r=Array.from(t.$.timelineTasksContainer.children).find((e=>e._cellObj.task===n._cellObj.task));if(!r)return;const o=r._cellObj.task;if(!o)return;const l=t.$.timeline.getAttribute("task-bar-hovered");if(r.getElementsByClassName("jqx-timeline-task-fill")[0]||l){if((a.closest(".jqx-timeline-task-fill")||r.classList.contains("milestone")&&a.closest(".jqx-task-container"))&&t._checkDoubleClick(i))return;const n=a.closest(".jqx-timeline-task-progress-thumb"),s=e.pageX-window.pageXOffset,d=e.pageY-window.pageYOffset,c=t._dragDetails={},m=t.rightToLeft;let u,h=a.closest(".jqx-task-segment");if(l&&!h){const e=r.querySelectorAll(".jqx-task-segment");c.segments=e,h="left"===l&&!m||"right"===l&&m?e[0]:e[e.length-1]}if(c.target=(n||a).className,c.timelineTask=r,c.task=r._cellObj.task,c.taskDimensions={width:r.offsetWidth,height:r.offsetHeight,left:r.offsetLeft,top:r.offsetTop},c.coordinates={x:s,y:d},!e.ctrlKey&&h&&o.segments&&o.segments.length>1&&!t.disableSegmentDrag){const e=h.getBoundingClientRect(),t=h._segmentObj,i=c.task.segments,a=i.indexOf(t);c.segment={element:h,dimensions:{width:e.width,left:h.offsetLeft},offset:{x:s-e.left},originalSize:{width:e.width},isFirstSegment:0===a,isLastSegment:a===i.length-1,min:{},max:{}},u=c.segment.dimensions}const g=c.taskDimensions;t.rightToLeft?(g.right=t.$.timelineContent.offsetWidth-(g.left+g.width),c.originalPosition={x:g.right,y:g.top},c.segment&&(u.right=g.width-(u.left+u.width),c.segment.originalPosition={x:u.right})):(c.originalPosition={x:g.left,y:g.top},c.segment&&(c.segment.originalPosition={x:u.left}));const f=(n||r).getBoundingClientRect();if(c.offset={x:s-f.left,y:d-f.top},c.originalSize={width:g.width,height:g.height},n||!n&&"project"===o.type&&o.synchronized&&!o.dragProject)return void(a.closest(".jqx-task-connection-point")&&(c.timelineTask=void 0,c.relatedConnections={}));("visible"===t.resizeHandlesVisibility||t._isMobile&&"auto"===t.resizeHandlesVisibility)&&(a.closest(".jqx-timeline-task-fill")?t._checkTaskBarResizability(e):t.$.timeline.removeAttribute("task-bar-hovered")),c.min={},c.max={},t._setDragLimits(a)}}_documentMoveHandler(e){const t=this;if(!t._dragDetails||!t._dragDetails.target){let i=e.originalEvent.target;t.shadowRoot&&i===t&&(i=e.originalEvent.composedPath()[0]);const a=i.closest&&i.closest(".jqx-table tbody tr[row-id]");return a&&a.data?t._handleTableItemHover(a.data.itemId,i):t._handleTimelineHover(e),t._checkTaskBarResizability(e),void t._toggleTooltip(e.originalEvent)}if(t._dragDetails.target.includes("jqx-task-connection-point"))return t._setConnectionFeedback(e),t._handleTimelineHover(e),void t._autoScroll(e);if(t._dragDetails.target.includes("jqx-timeline-task-progress-thumb"))t._handleTaskProgressChange(e);else if(t._autoScroll(e),!t._autoScrolling)if(t.$.timeline.hasAttribute("task-bar-hovered"))t._handleTaskBarResize(e);else if(t._dragDetails.target.includes("jqx-timeline-task-fill")){const i=t._dragDetails.task;if(!i||i.disableDrag||"project"===i.type&&i.synchronized&&!i.dragProject)return;t._handleTaskBarDrag(e)}}_documentUpHandler(e){const t=this,i=e.originalEvent;let a=i.target;if(t._upHandler(),!t._dragDetails)return void t._handleItemClick(i);if(t._scrollView.disableSwipeScroll=t._touchmoveInside=!1,t.shadowRoot&&a===t&&(a=i.composedPath()[0]),t.hasAttribute("connecting-task")){const i=t._connectTask(e),a=t._tasks;if(t._setConnectionFeedback(),i){const e=i.taskStart,n=i.taskEnd,[s,r,o]=[a.indexOf(i.taskStart),a.indexOf(i.taskEnd),i.type];t.$.fireEvent("connectionEnd",{id:`${s}-${r}-${o}`,startIndex:s,startTaskId:"string"==typeof e.id||"number"==typeof e.id?e.id:e.$.id,endIndex:r,endTaskId:"string"==typeof n.id||"number"==typeof n.id?n.id:n.$.id,type:o}),t._autoSchedule(i.taskStart)}return t._isMobile&&t._handleTimelineHover(e,!0),void delete t._dragDetails}const n=t._dragDetails.task;if(!n)return void delete t._dragDetails;let s;const r=t._dragDetails.segment?t._dragDetails.segment.element:void 0;if(s||(s=Array.from(t.$.timelineTasksContainer.children).find((e=>e._cellObj.task===n))),t.hasAttribute("dragged")){t._snapToNearest(s,r),r||t._checkWorkingDays(s,r),t._refreshProject(n.$.project),t.groupByResources&&t._refreshProject(n.$.group),t._autoSchedule(n),t._resourceTreeRefreshTimeout?(clearTimeout(t._resourceTreeRefreshTimeout),delete t._resourceTreeRefreshTimeout,t._refreshAssignedResources(n)):(t.snapToNearest||t.nonworkingDays.length>0||t.nonworkingHours.length>0)&&t._refreshAssignedResources(n),t.removeAttribute("dragged");const e={id:"string"==typeof n.id||"number"==typeof n.id?n.id:n.$.id,item:t._cloneObject(n),dateStart:new Date(n.dateStart),dateEnd:new Date(n.dateEnd)};r&&(e.segment=t._cloneObject(r._segmentObj)),t.$.fireEvent("dragEnd",e)}else if(t.hasAttribute("progress-change"))t._resourceTreeRefreshTimeout&&(clearTimeout(t._resourceTreeRefreshTimeout),delete t._resourceTreeRefreshTimeout,t._refreshAssignedResources(n,["progress"])),t.removeAttribute("progress-change"),t.$.fireEvent("progressChangeEnd",{id:"string"==typeof n.id||"number"==typeof n.id?n.id:n.$.id,item:t._cloneObject(n),progress:n.progress||0});else if(t.hasAttribute("resized")){t._snapToNearest(s,r),t._refreshProject(n.$.project),t.groupByResources&&t._refreshProject(n.$.group),t._resourceTreeRefreshTimeout?(clearTimeout(t._resourceTreeRefreshTimeout),delete t._resourceTreeRefreshTimeout,t._refreshAssignedResources(n,["workload"])):t.snapToNearest&&t._refreshAssignedResources(n,["workload"]),t.removeAttribute("resized");const e={id:"string"==typeof n.id||"number"==typeof n.id?n.id:n.$.id,item:t._cloneObject(n),dateStart:n.dateStart,dateEnd:n.dateEnd};r&&(e.segment=t._cloneObject(r._segmentObj)),t.$.fireEvent("resizeEnd",e),t._autoSchedule(n)}else a.closest(".jqx-timeline-task")===s&&(t._select("task",n.$.id,!0),delete t._dragDetails,t._handleItemClick(i));const o=t.$.timelineContent.querySelectorAll(".jqx-task-bar-limiter");for(let e=0,t=o.length;e<t;e+=1)o[e].remove();delete t._dragDetails}_handleItemClick(e){const t=this,i=e.target;if(t._dragDetails||!t._itemClickDetails||t._itemClickDetails.target!==i)return void delete t._itemClickDetails;let a,n,s;if(i.closest(".jqx-timeline-task-fill"))n=i.closest(".jqx-timeline-task")._cellObj.task,s="task";else if(a=i.closest(".jqx-task-connection"),a)n=a.getAttribute("connection-id").split("-"),n={source:n[0],target:n[1],type:n[2]},s="connection";else if(i.closest(".milestone"))n=i.closest(".milestone")._cellObj.task,s="milestone";else if(a=i.closest(".jqx-table tbody tr"),a){const e=t._getVCellById(s,a.getAttribute("row-id"));s=t.$.taskTable.contains(a)?"task":"resource",n=e?e[s]:void 0}if(!n)return;const r={originalEvent:e,type:s,item:t._cloneObject(n)};r.id="connection"===s?`${n.source}-${n.target}-${n.type}`:"string"==typeof n.id||"number"==typeof n.id?n.id:n.$.id,delete t._itemClickDetails,t.$.fireEvent("itemClick",r)}_moveHandler(e){const t=this;t._isMobile||e.stopPropagation(),(t.hasAttribute("dragged")||t.hasAttribute("progress-change"))&&"touchmove"===e.originalEvent.type&&e.originalEvent.preventDefault()}_handleTableItemHover(e,t){const i=this,a=i._hoveredItem;let n,s;if(t&&([n,s]=i.$.taskSplitter.contains(t)?[i.$.taskTable,"task"]:[i.$.resourceTable,"resource"]),a&&"itemType"===a.type&&a.id===e)return;const r=i.$.mainSplitter.querySelectorAll("table tbody tr[hover]");for(let e=0;e<r.length;e++)r[e].removeAttribute("hover");if(void 0===e)return void i._handleTimelineHover({target:i});if(!n)return;i._setTableHoverState(n,e);const o=i.$["task"===s?"taskTimelineCellsContainer":"resourceTimelineCellsContainer"].children;for(let t=0,a=o.length;t<a;t+=1){const a=o[t];if(a._cellObj[s].$.id===e){i._handleTimelineHover({target:a});break}}}_setTableHoverState(e,t){const i=this;e||(e=i.$.taskTable);const a=e===i.$.taskTable?"task":"resource",n=e.querySelectorAll("table tbody tr");if(!i._isMobile&&i[a+"Columns"].length)for(let e=0;e<n.length;e++){let i=n[e];const a=i.data;a&&a.itemId===t&&i.setAttribute("hover","")}}_checkWorkingDays(e){const t=this,i=t._dragDetails;if(!(i&&i._taskDuration||t._timelineCells.length))return;if(!e.classList||!e.classList.contains("jqx-timeline-task")||!t.hasAttribute("dragged")||0===t.nonworkingDays.length&&0===t.nonworkingHours.length||!i||!i._taskDuration)return;const a=e._cellObj,n=a.task,s=t._getTaskWorkingDateEnd(n),r=n.segments;let o=new Date(t._timelineCells[t._timelineCells.length-1].date);if("year"===t.view||"quarter"===t.view?(o.setMonth(o.getMonth()+1),o.setDate(0),o.setHours(23,59,59,999)):"month"===t.view?(o.setDate(o.getDate()+6-o.getDay()),o.setHours(23,59,59,999)):"week"===t.view?o.setHours(23,59,59,999):o.setHours(o.getHours(),59,59,999),s&&(n.dateEnd=n.maxDateEnd?new Date(Math.min(s.getTime(),n.maxDateEnd.getTime())):s),n.dateEnd=new Date(Math.min(o.getTime(),n.dateEnd.getTime())),n.duration=t._convertDuration(t.nonworkingDays.length>0||t.nonworkingHours.length>0?t._getWorkingTime(n.dateStart,n.dateEnd):n.dateEnd.getTime()-n.dateStart.getTime(),!0),r&&r.length>1){for(let e=0,i=r.length;e<i;e+=1)t._snapToNearestDates(r[e],!0);t._validateTaskSegments(n),n.segments.length!==r.length&&t._recycleSegments(n,e),t._setTaskBarSegments(a,e,!0),t._setTaskBarProgress(n)}t._setTimelineTaskBar(a,void 0,!0),t._refreshTaskConnections(a.task),t._refreshTableColumnsData(n,["dateEnd","duration","overdue"])}_getTaskWorkingDateEnd(e,t){const i=this;if(!e||!e.dateStart)return;let a,n,s=new Date(e.dateStart);if(t||(t=i._dragDetails?i._dragDetails._taskDuration:i._getWorkingTime(e.dateStart,e.dateEnd)),!i.adjustToNonworkingTime)return new Date(e.dateStart.getTime()+t);const r=t<0?-1:1,o=i.nonworkingDays,l=i.nonworkingHours;for(t=Math.abs(t);t>0;){const e=Math.min(t,36e5-(60*s.getMinutes()*1e3+1e3*s.getSeconds()+s.getMilliseconds()));if(o.indexOf(s.getDay())>-1)n=new Date(s),n.setHours(0,0,0,0),n.setDate(s.getDate()+1*r),a=Math.min(e,n.getTime()-s.getTime()),s=new Date(s.getTime()+a);else if("day"===i.view&&l.indexOf(s.getHours())>-1){n=new Date(s);const t=n.getTime();n.setHours(s.getHours()+1*r,0,0,0),t===n.getTime()&&n.setHours(s.getHours()+2*r,0,0,0),a=Math.min(e,n.getTime()-s.getTime()),s=new Date(s.getTime()+a)}else t-=e,s=new Date(s.getTime()+r*e)}return s}_createConnectingElement(e,t,i,a,n){const s=this;if(!s._connectionDetails||!s._connectionDetails.start)return;const r=s._connectionDetails,o=r.type,l=s.$.timelineConnectionsContainer;let d=r.connections.shift();d||(d=document.createElement("div"),d.classList.add("jqx-task-connection")),d.style.width=d.style.width="","horizontal"===a?(d.style.width=Math.abs(i)+"px",d.style.height=""):(d.style.width="",d.style.height=Math.abs(i)+"px"),d.style[s.rightToLeft?"left":"right"]="",d.style[s.rightToLeft?"right":"left"]=e+"px",d.style.top=t+"px",d.setAttribute("connection-id",r.id);const c=r.start.task.label,m=0===o||3===o?"start":"end",u=r.end.task.label,h=0===o||1===o?"start":"end";if(d.setAttribute("aria-label","Connection between "+c+" ("+m+") and "+u+" ("+h+")"),n){let e=0===o||1===o?"right":"left";s.rightToLeft&&(e="left"===e?"right":"left"),d.setAttribute("arrow-direction",e)}else d.removeAttribute("arrow-direction");d.parentElement||l.appendChild(d)}_getConnectionType(e,t){if(!e||!t)return;let i,a;return"string"==typeof e?i=!e.includes("end"):e instanceof HTMLElement&&(i=!e.classList.contains("end")),"string"==typeof t?a=t.includes("end"):t instanceof HTMLElement&&(a=t.classList.contains("end")),i&&!a?0:i||a?!i&&a?2:i&&a?3:void 0:1}_setConnectionFeedback(e){const t=this,i=t._dragDetails;if(!i||!i.target||!e){const e=t._connectionFeedback;return e&&e.parentElement&&e.remove(),t.removeAttribute("connecting-task"),void delete t._connectionFeedback}if(!i.target||!i.target.includes("jqx-task-connection-point"))return;const a=i.task,n=i.taskDimensions;if(!a)return;if(!t.hasAttribute("connecting-task")){if(t.$.fireEvent("connectionStart",{startIndex:t._tasks.indexOf(a)}).defaultPrevented)return void delete t._dragDetails.target;t.setAttribute("connecting-task",""),t._isMobile&&(t._scrollView.disableSwipeScroll=t._touchmoveInside=!0)}const s="milestone"===a.type,r=t.rightToLeft;let o=s?-1*n.height/2:0;t._dragDetails.target.includes("end")&&(o=s?-1*o:n.width),t._connectionFeedback||(t._connectionFeedback=document.createElement("div"),t._connectionFeedback.classList.add("jqx-task-connection-feedback"));const l=t._dragDetails.coordinates.x+(r?-1:1)*o,d=t._dragDetails.coordinates.y,c=t._dragDetails.offset.x-(r?n.width:0),m=t._dragDetails.offset.y,u=e.pageX-window.pageXOffset+c,h=e.pageY-window.pageYOffset+m-n.height/2;r?(t._connectionFeedback.style.left="",t._connectionFeedback.style.right=n.right+o+"px"):(t._connectionFeedback.style.left=n.left+o+"px",t._connectionFeedback.style.right=""),t._connectionFeedback.style.top=n.top+n.height/2+"px",t._connectionFeedback.style.width=Math.sqrt(Math.pow(Math.abs(u-l),2)+Math.pow(Math.abs(h-d),2))+"px",t._connectionFeedback.style.transform=t.rightToLeft?"rotate("+180*(Math.atan2(d-h,l-u)||0)/Math.PI+"deg)":"rotate("+180*(Math.atan2(h-d,u-l)||0)/Math.PI+"deg)",t._connectionFeedback.parentElement||t.$.timelineContent.appendChild(t._connectionFeedback)}_connectTask(e){const t=this,i=t._tasks;let a,n,s,r,o,l,d,c,m;if(e.originalEvent){const r=e.originalEvent;let o=t._isMobile?document.elementFromPoint(r.pageX-window.pageXOffset,r.pageY-window.pageYOffset):r.target;if(!(t._dragDetails&&t._dragDetails.target&&o&&o.classList))return;if(t.shadowRoot&&o===t&&(o=t._isMobile?t.shadowRoot.elementFromPoint(r.pageX-window.pageXOffset,r.pageY-window.pageYOffset):r.composedPath()[0]),a=t._dragDetails.target.includes("jqx-task-connection-point")?t._dragDetails.target:void 0,n=o.classList.contains("jqx-task-connection-point")?o:void 0,a&&(l=t._dragDetails.task),n)s=n.closest(".jqx-timeline-task");else if(t._isMobile&&o.classList.contains("jqx-timeline-task-fill")&&(s=o.closest(".jqx-timeline-task"),s)){const e=r.pageX-window.pageXOffset-s.getBoundingClientRect().left;n=s.querySelector(".jqx-task-connection-point."+(e>=s.offsetWidth/2?"end":"start"))}if(!l||!s)return;d=s._cellObj.task;for(let e=0,t=i.length;e<t;e+=1){const t=i[e];if(t!==l)if(t!==d){if(void 0!==c&&void 0!==m)break}else m=e;else c=e}}else{if(!e||e.length<3)return;const a=t._getValidConnectionId(e[0],e[1],e[2],"_connectTask");if(void 0===a)return;[c,m]=[parseInt(a[0]),parseInt(a[1])],[l,d]=[i[c],i[m]],r=parseInt(e[2]),o=e[4]||0}if(!l||!d||l===d||l.isGroup||d.isGroup||t._isAutoScheduled(l,d)||t.hasAttribute("dragged")||t.hasAttribute("resized"))return;void 0===r&&(r=t._getConnectionType(a,n));let u=t._connections;return u||(t._connections=u=[]),t._updateConnection([c,m,r,o])?(e.originalEvent&&t._recycleConnections([{startIndex:c,endIndex:m,type:r}]),e.originalEvent&&t.$.fireEvent("itemInsert",{type:"connection",item:{source:c,target:m,type:r}}),{taskStart:l,taskEnd:d,type:r}):void 0}_recycleConnections(e){const t=this,i=t._tasks;if(e?Array.isArray(e)||(e=[e]):e=t._connections,!i||!i.length||!e)return;const a=t.$.timelineTasksContainer.children,n=t.$.timelineConnectionsContainer;let s,r=[];if(a.length){const n=a[0],o=(()=>{let e=[];for(let t=0,n=a.length;t<n;t+=1)e.push(i.indexOf(a[t]._cellObj.task));return e})(),l=n.querySelector(".jqx-task-connection-point."+(t.rightToLeft?"end":"start")),d=t._baselineProportion,c=t.showBaseline?t._taskDefaultHeight/d:0;s={top:l.offsetTop,width:l.offsetWidth},s.offset=Math.abs(l.offsetLeft)-s.width;for(let a=0,n=e.length;a<n;a+=1){const n=e[a],l=n.startIndex,d=n.endIndex;if(o.indexOf(l)<0&&o.indexOf(d)<0)continue;const m=i[l],u=i[d],{vCellStart:h,vCellEnd:g}=t._getTasksVCell(m,u);if(!h||!g)continue;const f=n.type,p={start:{width:s.width,top:s.top,index:l,task:m},end:{width:s.width,top:s.top,index:d,task:u},type:f},_=t._getTaskBarDetails(h,t._getTimelineCellByDate(m.dateStart),t._getTimelineCellByDate(m.dateEnd)),T=t._getTaskBarDetails(g,t._getTimelineCellByDate(u.dateStart),t._getTimelineCellByDate(u.dateEnd));"milestone"===m.type&&(_.width=h.height-c),"milestone"===u.type&&(T.width=h.height-c),p.start.left=0===f||3===f?-1*(s.width+s.offset):_.width+s.offset,p.end.left=0===f||1===f?-1*(s.width+s.offset):T.width+s.offset,t._connectionDetails=p,_.height=T.height=h.height-c,_.type=m.type,T.type=u.type,t._setConnectionDetails(_,T),t._createTaskConnection(),r.push(t._connectionDetails.id),delete t._connectionDetails}}if(arguments.length)return;const o=Array.from(n.children);for(let e=0,t=o.length;e<t;e+=1){const t=o[e];r.indexOf(t.getAttribute("connection-id"))<0&&t.remove()}}_getTasksVCell(e,t){const i=this._timelineVCells;let a,n;for(let s=0,r=i.length;s<r;s+=1){const r=i[s];if(r.task===e&&(a=r),r.task===t&&(n=r),a&&n)break}return{vCellStart:a,vCellEnd:n}}_isAutoScheduled(e,t,i){const a=this,n=a._tasks;let s={};if(a.autoSchedule)return e instanceof HTMLElement&&(e=e._cellObj.task),t instanceof HTMLElement&&(t=t._cellObj.task),function e(t,r){const o=a._getTaskConnections().taskConnections,l=n.indexOf(t);s[l]=!0;for(let t=0;t<o.length;t++){const d=o[t],c=d.endIndex;if(c===r)return i&&a._removeConnection(l+"-"+c+"-"+d.type,!0),!0;if(!s[c]&&e(n[c],r))return!0}}(t,n.indexOf(e))}_setConnectionDetails(e,t){const i=this;if(!i._connectionDetails)return;const a=i._connectionDetails,n=a.start,s=a.end,r=a.type;if(!n||!s)return;let o,l=e.width,d=t.width,c=e.left,m=t.left,u=e.top,h=t.top,g=n.left,f=s.left;const p=n.index,_=s.index;if("milestone"===e.type&&(l=e.height,c-=l/2),"milestone"===t.type&&(d=t.height,m-=d/2),a.id=p+"-"+_+"-"+r,!a.connectionStartOffset||!a.connectionEndOffset){switch(r){case 0:g=Math.abs(g)-n.width,f=Math.abs(f)-s.width;break;case 1:g-=l,f=Math.abs(f)-s.width;break;case 2:g-=l,f-=d;break;default:g=Math.abs(g)-n.width,f-=d}a.start.offset=g+=n.width/2,a.end.offset=f+=s.width/2}if(0===r&&c>m||1===r&&c+l+g>m-f&&h>u||2===r&&m+d>c+l||3===r&&(c-g<m+d+f&&h>u||c-g>m+d+f&&u>h)){o=!0;let i=e;e=t,t=i,i=g,g=f,f=i,i=l,l=d,d=i,i=c,c=m,m=i,i=u,u=h,h=i}let T=c,b=m;!o&&1===r||o&&3===r?T+=l:!o&&3===r||o&&1===r?b+=d:2===r&&(T+=l,b+=d);let k=i.$.timelineConnectionsContainer.querySelectorAll('.jqx-task-connection[connection-id^="'+p+"-"+_+'-"]');0===k.length&&(k=i.$.timelineConnectionsContainer.querySelectorAll('.jqx-task-connection[connection-id^="'+_+"-"+p+'"]')),a.connections=[].slice.call(k),a.start.x=T,a.start.y=u+n.top,a.end.x=b,a.end.y=h+s.top,a.type=r,a.inverted=o}_createTaskConnection(){const e=this,t=e._connectionDetails;if(!t)return;const i=2*e._taskConnectionWidth,a=t.start.x,n=t.start.y,s=t.start.offset,r=t.start.top,o=t.end.x,l=t.end.y,d=t.end.offset,c=t.type,m=t.inverted,u=!m&&3===c||m&&1===c,h=!m&&1===c||m&&3===c;let g,f,p,_=a,T=o;u?(_=a-d,T=o+d):h&&(_=a+s,T=o-d);const b=_<=T&&u,k=_>=T&&h,y=2===c||h;!function d(u){g!==o&&(u?"horizontal"===u?(p=g-o+(b?-1:1)*s,g=_>T?g-Math.abs(p):g,e._createConnectingElement(g,f,(_===T?0:Math.abs(p))+(y?i:0),"horizontal"),g=_<T?g-p:g,d("vertical")):(p=Math.abs(f-l),f+=n<l?0:-1*p,g-=m&&1===c||!m&&3===c&&n>l?i:0,e._createConnectingElement(g,f,p,"vertical"),d()):(g?(p=Math.abs(g-o),g>=o&&(g+=-1*p,p+=i),e._createConnectingElement(g,f+(n<l?Math.abs(f-l):0),p,"horizontal",!t.inverted),g=o):(g=a,f=n,(0===c||!m&&3===c||m&&1===c)&&(g-=s),e._createConnectingElement(g,f,s,"horizontal",t.inverted),y&&(g+=s-i),b||k?(e._createConnectingElement(g,f-=n>l?r:0,r,"vertical"),f+=n<l?r:0):d("vertical")),d("horizontal")))}(),t.connections.map((e=>e.parentElement.removeChild(e)))}_getTaskIndexById(e,t){const i=this;if(t||(t=i._tasks),"number"==typeof e)return isNaN(parseInt(e))?-1:parseInt(e);if("object"==typeof e)return i._getItemIndex(e,"task");for(let i=0,a=t.length;i<a;i+=1){const a=t[i];if(a.id===e||""+a.id==""+e)return i;if(a.$&&(a.$.id===e||""+a.$.id==""+e))return i}return-1}_refreshTaskConnections(e){const t=this,i=e instanceof HTMLElement?e._cellObj.task:e,a=t._tasks.indexOf(i);if(void 0===a||e.classList&&e.classList.contains("jqx-visibility-hidden"))return;let n;if(t._dragDetails&&(n=t._dragDetails.relatedConnections[a]),!n){n=[];const e=t._connections;if(!e||!e.length)return;for(let t=0,i=e.length;t<i;t+=1){const i=e[t];i.startIndex!==a&&i.endIndex!==a||n.push(i)}t._dragDetails&&(t._dragDetails.relatedConnections[a]=n)}t._recycleConnections(n)}_dragStartHandler(e){const t=this,i=e.target.closest;(t._dragDetails||i&&i.call(t,"jqx-gantt-chart")===t)&&e.preventDefault()}_getFirstCellObjInView(e){const t=this;if(e||(e=t._timelineCells),!e)return;const i=Math.abs(t.scrollLeft);let a,n;for(let t=0;t<e.length;t++){const s=e[t];if(s.left+s.width>i){a=s;break}n=s}return!a&&n&&(a=i>n.left?n:e[0]),a}_getFirstContentCellInView(e="task"){const t=this;let i,a,n,s;if("task"===e?(i=t._timelineVCells,a=t.scrollTop):(i=t._timelineResourceVCells,a=t.$.resourceVerticalScrollBar.value),!i)return 0;for(let e=0;e<i.length;e++){const t=i[e];if(t.top+t.height>a){n=t;break}s=t}return!n&&s&&(n=a>s.left?s:i[0]),n}_getProjectTasks(e,t){const i=this,a=i.groupByResources&&e.isGroup?"group":"project",n=i._tasks;if(!e||"project"!==e.type)return[];let s=[];for(let r=0,o=n.length;r<o;r+=1){const o=n[r];o.$[a]===e&&(s.push(o),"project"!==o.type||t||(s=s.concat(i._getProjectTasks(o,t))))}return s}_getSubTaskLimits(e){const t=this;if(!e)return;const i=e._cellObj.task,a=t._getProjectTasks(i);let n,s;if(!a.length)return;let r=a[0],o=a[0];for(let e=0;e<a.length;e++){const t=a[e];a[e].dateEnd&&a[e].dateStart&&(r.dateStart||(r=t[e]),o.dateEnd||(o=t[e]),a[e].dateEnd.getTime()>o.dateEnd.getTime()&&(o=a[e]),a[e].dateStart.getTime()<r.dateStart.getTime()&&(r=a[e]))}const l=t.$.timelineContent.offsetWidth;let d,c,m;if(r&&(d=t._getTimelineSubTaskOffset(r),d&&(c=d.left,m=d.width,n=Math.max(0,t.rightToLeft?l-e.offsetLeft-e.offsetWidth-(l-c-m):e.offsetLeft-c))),o&&(d=t._getTimelineSubTaskOffset(o),d))if(c=d.left,m=d.width,t.rightToLeft){const t=l-e.offsetLeft-e.offsetWidth;s=Math.max(t,t+l-(l-c))}else s=Math.max(e.offsetLeft,e.offsetLeft+l-(c+m));return{min:n,max:s}}_getTimelineSubTaskOffset(e){const t=this,i=t.$.timelineTasksContainer.children[t._tasks.filter((e=>!e.hidden)).indexOf(e)];let a,n,s;if(i)a=i.offsetLeft,s=i.offsetWidth;else{const i=t._getTimelineTaskCellByDate(e.dateStart),r=t._getTimelineTaskCellByDate(e.dateEnd);i&&(a=i.left+t._getTimelineTaskOffset(i,e.dateStart)||0),r&&(n=r.left+t._getTimelineTaskOffset(r,e.dateEnd)||0),s=n-a}return{left:a,width:s}}_getTaskDragLimits(e){const t=this,i=t._dragDetails,a=i.segment?i.segment.element:void 0,n=a&&a.previousElementSibling?{}:t._getTaskBarPositionLimits(e._cellObj.task,"DateStart"),s=a&&a.nextElementSibling?{}:t._getTaskBarPositionLimits(e._cellObj.task,"DateEnd"),r=t._dragDetails.taskDimensions;let o={};return(n.min||s.min)&&(o.min=Math.max(n.min||0,Math.max(0,(s.min||0)-r.width))),s.max&&(o.max=Math.max(0,s.max-r.width)),n.max&&(o.max=o.max?Math.min(n.max,o.max):n.max),o}_getTaskBarDateRange(e){if(!e)return;const t=this,i=e.classList.contains("milestone"),a=parseFloat(e.style.width)||e.offsetWidth,n=i?a/2:a,s=t.rightToLeft?parseFloat(e.style.right)||t.$.timelineContent.offsetWidth-e.offsetLeft-n:parseFloat(e.style.left)||e.offsetLeft,r=e._cellStart,o=e._cellEnd,l=e._cellObj.task,d=l.minDateStart,c=l.maxDateEnd;let m,u;return m=t._getDateFromCell(s,r),!d||"project"===e._cellObj.task.type&&e._cellObj.task.synchronized||(m=new Date(Math.max(d.getTime(),m.getTime()))),u=i?new Date(m):t._getDateFromCell(s+n,o),!c||"project"===e._cellObj.task.type&&e._cellObj.task.synchronized||(u=new Date(Math.min(c.getTime(),u.getTime()))),{dateStart:m,dateEnd:u}}_getTaskBarDetails(e,t,i){const a=this,n=e.task;if(!e)return;let s=new Date(n.dateStart);const r=new Date(n.dateEnd);if(!a._dragDetails&&a.snapToNearest){let s,r,o=n.dateStart,l=n.dateEnd;const d=new Date(t.date),c=a._getDateFromCell(t.left+t.width,t),m=new Date(i.date),u=a._getDateFromCell(i.left+i.width,i);return s=c.getTime()-o.getTime()>=c.getTime()-d.getTime()?t.left:t.left+t.width,"milestone"!==n.type&&(r=u.getTime()-l.getTime()>=l.getTime()-m.getTime()?i.left-s:i.left-s+i.width),{left:s,width:r,top:e.top}}let o,l,d,c,m,u;switch(a.view){case"quarter":case"year":{d=new Date(s.getFullYear(),s.getMonth()+1,0).getDate(),c=new Date(r.getFullYear(),r.getMonth()+1,0).getDate();const e=s.getHours()/24+s.getMinutes()/1440+s.getSeconds()/86400,a=r.getHours()/24+r.getMinutes()/1440+r.getSeconds()/86400;o=t.left+(s.getDate()-1+e)/d*t.width,l=i.left+(r.getDate()-1+a)/c*i.width-o;break}case"month":"day"===a.monthScale?(m=parseFloat(s.getHours()+"."+s.getMinutes()+s.getSeconds())/24*t.width,u=parseFloat(r.getHours()+"."+r.getMinutes()+r.getSeconds())/24*t.width,o=t.left+m,l=i.left+(u-m)-t.left):(m=parseFloat(s.getHours()+"."+s.getMinutes()+s.getSeconds())/24*(t.width/7),u=parseFloat(r.getHours()+"."+r.getMinutes()+r.getSeconds())/24*(t.width/7),o=t.left+s.getDay()/7*t.width+m,l=i.left+r.getDay()/7*i.width-o+u);break;case"week":m=parseFloat(s.getHours()+"."+s.getMinutes()+s.getSeconds())/24*t.width,u=parseFloat(r.getHours()+"."+r.getMinutes()+r.getSeconds())/24*t.width,o=t.left+m,l=i.left+(u-m)-t.left;break;case"day":m=parseFloat(s.getMinutes()+s.getSeconds()/60)/60*t.width,u=parseFloat(r.getMinutes()+r.getSeconds()/60)/60*t.width,o=t.left+m,l=i.left+(u-m)-t.left}return{width:"milestone"===n.type?"":l,left:o,top:e.top}}_snapToNearestDates(e,t){const i=this;if(!i.snapToNearest)return;if(e.classList&&e._cellObj&&(e=e._cellObj.task),!e)return;let a=e.dateStart,n=e.dateEnd;const{cellStart:s,cellEnd:r}={cellStart:i._getTimelineCellByDate(a),cellEnd:i._getTimelineCellByDate(n)},o=new Date(s.date),l=i._getDateFromCell(s.left+s.width,s),d=new Date(r.date),c=i._getDateFromCell(r.left+r.width,r);if(a=l.getTime()-a.getTime()>=l.getTime()-o.getTime()?o:l,"milestone"!==e.type&&(n=c.getTime()-n.getTime()>=c.getTime()-d.getTime()?d:c),e.dateEnd=n,n.getTime()<a.getTime()&&(a=new Date(n)),e.dateStart=a,e.duration=e.duration=i._convertDuration(i.nonworkingDays.length>0||i.nonworkingHours.length>0?i._getWorkingTime(e.dateStart,e.dateEnd):e.dateEnd.getTime()-e.dateStart.getTime(),!0),!t&&e.segments&&e.segments.length>1){const t=e.segments;for(let e=0,a=t.length;e<a;e+=1)i._snapToNearestDates(t[e],!0);i._validateTaskSegments(e)}}_getTimelineTaskCellByDate(e){if(!e)return;let t=this,i=t.view,a=t._timelineCells;"month"===i&&"day"===t.monthScale&&(i="day");for(let n=0;n<a.length;n++){const s=a[n];if(t._isDateInCell(s.date,e,i))return s}}_isDateInCell(e,t,i){const a=this;switch(i){case"quarter":case"year":if(e.getYear()===t.getYear()&&e.getMonth()===t.getMonth())return!0;break;case"month":{let i=new Date(e);if(i.setDate(i.getDate()+(6-i.getDay())+1),i.setMilliseconds(i.getMilliseconds()-1),t.getTime()>=e.getTime()&&t.getTime()<=i.getTime())return!0;break}case"week":if(e.getYear()===t.getYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate())return!0;break;case"day":if("hour"!==a.dayScale){if(e.getYear()===t.getYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()&&e.getHours()===t.getHours()&&e.getMinutes()===t.getMinutes())return!0}else if(e.getYear()===t.getYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()&&e.getHours()===t.getHours())return!0}}_handleInverted(e){const t=this;function i(e){e||(e="task");const i=t.$[`${e}Splitter`];if(!t.$.mainSplitter.contains(i))return;const[a,n,s,r,o]="task"===e?[t.$.tableSplitterItem,t.$.timelineSplitterItem,t,t.$.taskTimelineContainer,"scrollTop"]:[t.$.resourceTableItem,t.$.resourceTimelineSplitterItem,t.$.resourceVerticalScrollBar,t.$.resourceTimelineContent,"value"],l=t.treeSize!==a.size?a.style[i._measurements.dimension]:t.treeSize;a.size="",i.removeChild(n),t.inverted&&!t.rightToLeft||!t.inverted&&t.rightToLeft?i.insertBefore(n,a):i.appendChild(n),a.size=l,r.scrollTop=s[o]}(!e||t.inverted||t.rightToLeft)&&(i("task"),i("resource"))}_createResourceTimeline(){const e=this;if(e._handleResourcePanelVisibility(),e.$.taskSplitterItem._setSize("size",e.taskPanelSize),!e._resources||!e.$.mainSplitter.contains(e.$.resourceTable))return;const t=e.$.resourceSplitterItemHeader.innerHTML;(e.resourcePanelHeaderTemplate&&!t||!e.resourcePanelHeaderTemplate&&t)&&e._handleHeaderTemplate("resource"),e._setTable(e.$.resourceTable),e._recycleResourceHeaderCells(),e._createResourceTimelineContent(),e._synchronizeSplitters(e.$.taskSplitter,e.$.resourceSplitter),e.$.resourceTimelineContent.scrollLeft=e.$.resourceTimelineHeader.scrollLeft=e.$.timelineHeader.scrollLeft,e.$.resourceSplitter.refresh(),e._refresh(),e._highlightAssignedItem("task",e._getSelection("task",e.selectedTaskIds))}_createResourceTimelineContent(){const e=this,t=e._timelineVCells,i=t.length?t[0].height:e._taskDefaultHeight;e._createResourceTimelineVCells(i);const a=e._timelineResourceVCells.length*i;e.$.resourceTimelineCellsContainer.style.height=a+"px",e.$.container.style.setProperty("--jqx-gantt-chart-resource-timeline-content-height",a+"px"),e._recycleResourceContent()}_recycleResourceContent(){const e=this;if(!e.$.mainSplitter.contains(e.$.resourceSplitterItem))return;const t=e._timelineResourceVCells,i=e.$.resourceTimelineCellsContainer,a=e._getFirstContentCellInView("resource"),n=e.$.tooltip;if(n&&i.contains(n.selector)&&e._closeTooltip(),!a)return void(i.innerHTML="");const s=t.indexOf(a),r=a.height,o=1-(a.top+r-Math.abs(e.$.resourceVerticalScrollBar.value))/r,l=t?t.length:0,d=!e.$.resourceSplitter.offsetHeight,c=e.$.resourceTimelineContent.offsetHeight,m=!d&&c?Math.min(l,Math.ceil((parseFloat((c/r).toFixed(2))+o).toFixed(2))):l,u=i.children,h=e.$.timelineViewCells.children,g=document.createDocumentFragment();for(;i.childElementCount>m;)i.lastElementChild.remove();for(let t=0;t<m;t+=1){let i=u[t];i||(i=document.createElement("div"),i.classList.add("jqx-timeline-row"),g.appendChild(i)),e._createTimelineRowCells(i,h)}g.childElementCount&&i.appendChild(g);const f=i.children,p=e._getSelection("resource",e.selectedResourceIds);for(let i=0;i<m;i+=1){const a=t[s+i],n=f[i];if(!a){n&&n.remove();continue}const r=a.resource,o=r.$.id;p.indexOf(o)>-1?n.setAttribute("selected",""):n.removeAttribute("selected"),n._cellObj=a,n.setAttribute("row-id",o),n.style.top=a.top+"px",e._refreshResourceTimelineContent(r,n)}}_createResourceTimelineVCells(e){const t=this,i=t._resources,a=t.$.resourceTable.rows,n=t._timelineResourceVCells=[];let s=0;if(void 0===e){const i=t._timelineVCells;e=i.length?i[0].height:t._taskDefaultHeight}for(let t=0,r=a.length;t<r;t+=1){const r=i[a[t].data.itemIndex];r.hidden||(n.push({top:s,height:e,resource:r}),s=parseFloat((s+e).toFixed(2)))}}_handleResourcePanelVisibility(){const e=this,t=e.$.container,i=e._resources.filter((e=>!e.hidden)),a=e.$.mainSplitter,n=e.$.resourceSplitterItem,s=e.$.taskSplitterItem;if(!i||!i.length||e.hideResourcePanel)return n&&!n.size&&(n._size=n.style[a._measurements.dimension]),e._resourceScrollView&&(e._resourceScrollView.unlisten(),delete e._resourceScrollView),s.size="",s.min="",e.$.resourceTable&&e.$.resourceTable.clearSelection(),a.contains(n)&&(a.removeChild(n),e._refresh()),e._highlightAssignedItem("resource"),void t.removeAttribute("show-resource-panel");a.contains(n)||(s.min=e.taskPanelMin,e._createResourcePanel(),e._setupResourcePanel(),e._resourceScrollView=new JQX.Utilities.Scroll(e.$.resourceSplitterItem,e.$.horizontalScrollBar,e.$.resourceVerticalScrollBar)),t.setAttribute("show-resource-panel",""),e._synchronizeSplitters(e.$.taskSplitter,e.$.resourceSplitter)}_createResourcePanel(){const e=this,t=e.$.mainSplitter;let i=e.$.resourceSplitterItem;if(!i){i=document.createElement("jqx-splitter-item"),i.classList.add("jqx-resource-splitter-item"),i.innerHTML=`<div jqx-id="resourceSplitterItemHeader" class="jqx-resource-panel-header"></div>\n                <jqx-splitter jqx-id="resourceSplitter" wait class="jqx-resource-splitter" auto-fit-mode="end">\n                    <jqx-splitter-item jqx-id="resourceTableItem" class="jqx-resource-table-item">\n                        <jqx-table wait jqx-id="resourceTable" class="jqx-resource-table" virtualization deferred-scroll-delay="0"></jqx-table>\n                    </jqx-splitter-item>\n                    <jqx-splitter-item jqx-id="resourceTimelineSplitterItem" class="jqx-timeline-splitter-item">\n                        <div class="jqx-timeline" jqx-id="resourceTimeline">\n                            <div class="jqx-timeline-container" role="presentation">\n                                <div class="jqx-timeline-header" jqx-id="resourceTimelineHeader" role="rowgroup">\n                                    <div class="jqx-timeline-view-cells" jqx-id="resourceTimelineViewCells" role="row"></div>\n                                </div>\n                                <div jqx-id="resourceTimelineContent" class="jqx-timeline-content" role="rowgroup">\n                                    <div jqx-id="resourceTimelineCellsContainer" class="jqx-timeline-cells-container" aria-hidden="true"></div>\n                                </div>\n                            </div>\n                        </div>\n                         <jqx-scroll-bar wait jqx-id="resourceVerticalScrollBar" class="jqx-timeline-scroll-bar jqx-resource-scroll-bar" \n                            orientation="vertical" aria-controls="[[${e.id||""}]]">\n                         </jqx-scroll-bar>\n                    </jqx-splitter-item>\n                </jqx-splitter>`,t.contains(i)||t.appendChild(i);const a=JQX.Utilities,n=i.querySelectorAll(".jqx-resource-panel-header, .jqx-resource-splitter, .jqx-resource-table-item, \n                .jqx-resource-table, .jqx-timeline-splitter-item, .jqx-timeline, .jqx-timeline-header, .jqx-timeline-view-cells, .jqx-timeline-content,\n                .jqx-timeline-cells-container, .jqx-timeline-scroll-bar"),[s,r,o,l,d,c,m,u,h,g,f]=n;e.$.resourceSplitterItem=i,e.$resourceSplitterItem=a.Extend(i),e.$.resourceSplitterItemHeader=s,e.$resourceSplitterItemHeader=a.Extend(s),e.$.resourceSplitter=r,r.hasResizeObserver=!1,r.wait=!1,e.$resourceSplitter=a.Extend(r),e.$.resourceTableItem=o,e.$resourceTableItem=a.Extend(o),e.$.resourceTable=l,l.hasResizeObserver=!1,e.$resourceTable=a.Extend(l),e.$.resourceTimelineSplitterItem=d,e.$resourceTimelineSplitterItem=a.Extend(d),e.$.resourceTimelineViewCells=u,e.$resourceTimelineViewCells=a.Extend(u),e.$.resourceTimeline=c,e.$resourceTimeline=a.Extend(c),e.$.resourceTimelineContent=h,e.$resourceTimelineContent=a.Extend(h),e.$.resourceTimelineHeader=m,e.$resourceTimelineHeader=a.Extend(m),e.$.resourceTimelineCellsContainer=g,e.$resourceTimelineCellsContainer=a.Extend(g),e.$.resourceVerticalScrollBar=f,e.$resourceVerticalScrollBar=a.Extend(f)}}_setupResourcePanel(){const e=this,t=e.rightToLeft,i=e.$.resourceSplitterItem,a=e.$.resourceTableItem,n=e.$.resourceTable,s=e.$.resourceTimelineSplitterItem,r=e.$.resourceVerticalScrollBar;e.$.mainSplitter.contains(i)?([e.$.resourceSplitter,n,e.$.resourceVerticalScrollBar].forEach((e=>e.rightToLeft=t)),n.$.virtualizationContainer._scrollView.disableSwipeScroll=!0,n.$.virtualizationContainer.verticalScrollBarVisibility="hidden",n.$.virtualizationContainer.disabled=!0,a.size=e.treeSize,a.min=e.treeMin,s.min=e.timelineMin,i.min=e.resourcePanelMin,i.size=i._size||e.resourcePanelSize,r.hasStyleObserver=!1,r.hasResizeObserver=!1,r.wait=!1):e.$.mainSplitter.appendChild(i)}_refreshResourceTimeline(){const e=this;e._resources&&e.$.mainSplitter.contains(e.$.resourceSplitter)&&(e._recycleResourceHeaderCells(),e._recycleResourceContent())}_getResourceCellWorkTime(e,t){const i=e.dateStart,a=e.dateEnd,n=t.dateStart,s=t.dateEnd,r=e.dateStart.getTime()<n.getTime()?n:i,o=a.getTime()>s.getTime()?s:a,l=Math.round(this._getWorkingTime(r,o)/36e5);return{value:Math.max(0,l),max:r.getTime()===n.getTime()&&o.getTime()===s.getTime()?l:Math.round(this._getWorkingTime(n,s)/36e5)}}_refreshResourceTimelineContent(e,t){const i=this,a=i._resources.indexOf(e),n=i._getResourceTasks(e);if(t||(t=(()=>{const t=i.$.resourceTimelineCellsContainer.children;for(let i=0,a=t.length;i<a;i+=1){const a=t[i];if(a._cellObj&&a._cellObj.resource===e)return a}})()),a<0||!t||!t.childElementCount)return;let s=t.children;const r=i.$.resourceTimelineViewCells.children,o=i._tasks.filter((e=>!e.hidden));for(let t=0,l=s.length;t<l;t+=1){const l=s[t];let d,c=l.firstElementChild;n.length&&!e.hidden?(c?(c.classList.remove("hide-left-border","hide-right-border"),c.removeAttribute("load"),c.innerHTML=c.style.height=""):(c=document.createElement("div"),c.classList.add("jqx-resource-timeline-view-cell"),d=!0),e.class&&c.classList.add(e.class),i._setResourceCellLoad({cell:c,cellIndex:t,resource:e,resourceCell:l,resourceIndex:a,resourceTasks:n,tasks:o,viewCells:r}),c.hasAttribute("load")?d&&l.appendChild(c):c.remove()):c&&c.remove()}}_setResourceCellLoad(e){const t=this,i=t.resourceTimelineFormatFunction,{cell:a,cellIndex:n,resource:s,resourceCell:r,resourceIndex:o,resourceTasks:l,tasks:d,viewCells:c}=e;let m={};for(let e=0,u=l.length;e<u;e+=1){const u=l[e];if(u.hidden)continue;const h=d.indexOf(u),g=t._getCellDateRange(c[n]),{dateStart:f,dateEnd:p}=g;if(!f||f.getTime()>=u.dateEnd.getTime()||p.getTime()<=u.dateStart.getTime())continue;if(m[n]&&m[n].indexOf(h)<0?m[n].push(h):m[a]||(m[n]=[h]),"custom"===t.resourceTimelineMode){if(i){a.innerHTML=i.call(t,m[n]||[],o,new Date(f))||"";const e=t._getResourceCellCapacity({cell:a,cellDateRange:g,cellTaskIndexAssigned:m,index:o,resource:s,task:u,cellIndex:n});if(!e)continue;const{capacity:r,maxCapacity:l}=e,d=parseFloat(((parseFloat(a.getAttribute("load"))||0)+(r||0)).toFixed(1));d>l?a.classList.add("warning"):a.classList.remove("warning"),d&&a.setAttribute("load",d)}continue}const _=t._getResourceCellCapacity({cell:a,cellDateRange:g,cellTaskIndexAssigned:m,index:o,resource:s,task:u,cellIndex:n});if(!_)continue;const{capacity:T,maxCapacity:b}=_,k=parseFloat(((parseFloat(a.getAttribute("load"))||0)+(T||0)).toFixed(1));k>b?a.classList.add("warning"):a.classList.remove("warning"),"histogram"!==t.resourceTimelineMode?k&&a.setAttribute("load",k):t._setCellHistogram({cell:a,load:k,maxCapacity:b,previousViewCell:r.previousElementSibling})}}_getResourceCellCapacity(e){const t=this,i=t.resourceTimelineView,{cell:a,cellDateRange:n,cellTaskIndexAssigned:s,index:r,resource:o,task:l,cellIndex:d}=e;let c,m;if("tasks"===i)c=1,m=o.maxCapacity;else if("hours"===i){const e=t._getResourceCellWorkTime(l,n),i=e.max/24;c=parseFloat((e.value/e.max*o.capacity*i).toFixed(1)),m=Math.min(e.max,parseFloat((o.maxCapacity*i).toFixed(1)))}else{const e=t.resourceTimelineFormatFunction;if(!e)return;let i=e.call(t,s[d]||[],r,new Date(n.dateStart));if(null!=i)if(i="object"!=typeof i?[i]:Object.values(i),2===i.length)c=parseFloat(i[0])||0,m=parseFloat(i[1])||0;else if(1===i.length)return void(a&&a.setAttribute("load",i[0]))}return{capacity:c,maxCapacity:m}}_setCellHistogram(e){const{load:t,cell:i,maxCapacity:a,previousViewCell:n}=e,s=Math.min(100,100*parseFloat((t/a).toFixed(2))),r=n?n.firstElementChild:void 0;if(r){const e=parseFloat(r.style.height)||0;s?e===s?(i.classList.add("hide-left-border"),r.classList.add("hide-right-border")):e>s?(i.classList.add("hide-left-border"),r.classList.remove("hide-right-border")):e<s&&(i.classList.remove("hide-left-border"),r.classList.add("hide-right-border")):(i.classList.remove("hide-left-border"),r.classList.remove("hide-right-border"))}i.style.height=s+"%",t&&i.setAttribute("load",t+"/"+a)}_recycleResourceHeaderCells(){const e=this;if(!e.$.mainSplitter.contains(e.$.resourceSplitterItem))return;const t=e.$.resourceTimelineViewCells,i=t.children,a=e.$.timelineViewCells.children;let n=document.createDocumentFragment();for(;i.length>a.length;)i[0].remove();for(let e=0;e<a.length;e++){const t=a[e];let s=i[e];s||(s=t.cloneNode(!0),n.appendChild(s)),s.style.left=t.style.left,s.style.right=t.style.right,s.style.width=t.style.width,s.innerHTML=t.innerHTML,s._date=t._date,t.hasAttribute("weekend")?s.setAttribute("weekend",""):s.removeAttribute("weekend"),t.hasAttribute("nonworking")?s.setAttribute("nonworking",""):s.removeAttribute("nonworking")}n.childElementCount&&t.appendChild(n),e.$.resourceTimelineCellsContainer.style.width=e.$.resourceTimelineViewCells.style.width=e.$.timelineContent.style.width}_refreshResourceScrollBar(){const e=this,t=e.$.resourceVerticalScrollBar;if(!e.$.mainSplitter.contains(e.$.resourceSplitter))return;const i=Math.max(0,e.$.resourceTimelineCellsContainer.offsetHeight-e.$.resourceTimelineContent.offsetHeight);0===i&&"visible"===e.verticalScrollBarVisibility?(t.max=1,e.scrollHeight||e.$container.removeClass("vscroll")):i&&e.$container.addClass("vscroll"),t.max=i,t.disabled="disabled"===e.verticalScrollBarVisibility||e.disabled||i<=0,!e.$.container.classList.contains("vscroll")&&t.disabled?t.classList.add("jqx-hidden"):(t.classList.remove("jqx-hidden"),t.refresh(),e.$.container.classList.contains("hscroll")?e.$.horizontalScrollBar.classList.add("bottom-corner"):e.$.container.classList.contains("vscroll")||e.$.horizontalScrollBar.classList.remove("bottom-corner"))}_handleResources(e){const t=this,i=e?[e]:t._tasks;t._resources||(t._resources=[]);for(let e=0;e<i.length;e++){let a=i[e].resources;Array.isArray(a)||(a=[a].reduce(((e,t)=>e.concat(t)),[]));for(let n=0;n<a.length;n++){let s=a[n];if("object"!=typeof s||!s||void 0===s.id||null===s.id){"number"==typeof s&&(a[n]=s+"");continue}let r=t._resources.find((e=>e.id&&e.id.toString()===s.id.toString()))||{};t._setResource(r,s,i[e]),a[n]=r.id,Object.values(r).length&&!t._resources.includes(r)&&t._resources.push(r)}}t._refreshItemIds("resource");const a=t._resources;for(let e=0,i=a.length;e<i;e+=1)t._refreshResource(a[e])}_refreshAssignedResources(e,t=[]){const i=this;if(!e.$.id||i._tasks.indexOf(e)<0)return;const a=i._getTaskResources(e);for(let e=0;e<a.length;e++){const n=a[e];let s=[];i.resourceColumns.forEach((e=>{void 0!==e.formatFunction&&s.push(e.value)})),s.concat(t),i.$.mainSplitter.contains(i.$.resourceSplitter)&&i._refreshResourceTimelineContent(n),t.includes("workload")?i._refreshResource(n,"workload"):t.includes("progress")&&i._refreshResource(n,"progress"),s.length&&i._refreshTableColumnsData(n,s,"resource")}}_refreshResource(e,t){const i=this;if(!i._resources.length)return;const a=i._getResourceTasks(e),n=864e5;switch(t){case"progress":e.progress=parseFloat((a.reduce(((e,t)=>e+t.progress),0)/a.length).toFixed(2));break;case"workload":e.workload=parseFloat((i._convertDuration(a.reduce(((e,t)=>e+t.duration),0))/n*e.maxCapacity).toFixed(2));break;default:e.progress=parseFloat((a.reduce(((e,t)=>e+t.progress),0)/a.length).toFixed(2)),e.workload=parseFloat((i._convertDuration(a.reduce(((e,t)=>e+t.duration),0))/n*e.maxCapacity).toFixed(2))}i.$.mainSplitter.contains(i.$.resourceSplitter)&&i._refreshResourceTimelineContent(e)}_setResource(e,t){if(t&&"object"==typeof t)return e.id?e.id=e.id.trim():e.id=(t.id+"").trim(),e.$||(e.$={}),e.class=t.class||e.class,e.minCapacity=t.minCapacity||e.minCapacity||0,e.maxCapacity=t.maxCapacity||e.maxCapacity||24,e.progress=t.progress||e.progress||0,e.capacity=t.capacity||e.capacity||8,e.type=t.type||e.type,e.hidden=!!("boolean"==typeof t.hidden?t.hidden:e.hidden),e.workload=e.workload||0,t.label?e.label=t.label:void 0===e.label&&(e.label=""),t.value&&(e.value=t.value),e}insertResource(e,t){const i=this,a=Array.from(arguments).filter((e=>void 0!==e));let n,s=i._resources;if(1===a.length&&(t=a[0]),"object"!=typeof t)return void i.error(i.localize("incorrectArgument",{elementType:i.nodeName.toLowerCase(),methodName:"insertResources",argumentName:"resource"}));if(t.id&&s.find((e=>e.id&&e.id.toString()===t.id.toString())))return void i.updateResource(t.id,t);if(t.assignedTo&&(n=[t.assignedTo].reduce(((e,t)=>e.concat(t,[])))),!(t=i._setResource({},t)))return;i._refreshItemIds("resource"),s=i._resources;const r=i._getValidItemAndIndex(e,"resource").index;if(r<0?s.push(t):s.splice(r,0,t),i._tasks.length){if(void 0!==n){Array.isArray(n)||(n=[n]);for(let e=0,a=n.length;e<a;e+=1){const a=i._getValidItemAndIndex(n[e],"task");if(a){const e=a.item;!e||e.disableResources||e.resources.includes(t.id.toString())||e.resources.push(t.id)}}if(i._isUpdating)return void(i._isUpdating.type.resource=!0);i._highlightAssignedItem("task",i._getSelection("task",i.selectedTaskIds)),i._refreshResource(t)}if(i._isUpdating)return i._isUpdating.type.resource=!0,void(i._isUpdating.type.task=!0);if(i.groupByResources)i._refreshTableDataSource(),i._refreshTimeline();else if(i.taskColumns.find((e=>"resources"===e.value))){const e=i._tasks.filter((e=>e.resources.includes(t.id)));for(let t=0;t<e.length;t++)i._refreshTableColumnsData(e[t],["resources"])}}i._isUpdating?i._isUpdating.type.resource=!0:(i._createResourceTimeline(),i.$.fireEvent("itemInsert",{type:"resource",item:i._cloneObject(t)}))}_insertTimelineResource(e,t,i){const a=this,n=a.$.resourceTimelineCellsContainer,s=document.createElement("div");s.classList.add("jqx-timeline-row"),s._resource=t,a._refreshResourceTimelineContent(t,s),a.$.resourceTimelineCellsContainer.insertBefore(s,e>-1?n.children[e]:void 0),a.$.container.style.setProperty("--jqx-gantt-chart-resource-timeline-content-height",n.offsetHeight+"px"),a._refreshResourceScrollBar(),a._insertNewTreeItem(e,t,i,"resource"),a.$.resourceTree.refresh(),a._highlightAssignedItem("task",a._getSelection("task",a.selectedTaskIds))}updateResource(e,t){if(void 0===e)return;const i=this._getValidItemAndIndex(e,"resource");i&&i.item&&this._updateResource(i.item,t)}removeResource(e){if(void 0===e)return;const t=this._getValidItemAndIndex(e,"resource");t&&t.item&&this._removeResource(t.item)}_getResourceTasks(e){const t=this._resources,i=this._tasks;if(!e||!t.length||!i.length)return;let a=[];for(let t=0;t<i.length;t++)i[t].resources.includes(e.id)&&a.push(i[t]);return a}_getTaskResources(e){const t=this;if(!e)return[];const i=[e.resources].reduce(((e,t)=>e.concat(t)),[]);let a=[];for(let e=0;e<i.length;e++){const n=t._resources.find((t=>t.id&&t.id.toString()===i[e].toString()));n&&a.push(n)}return a}_resourceValidator(e,t){const i=this;return Array.isArray(t)||t instanceof JQX.ObservableArray||"number"==typeof t||"string"==typeof t||null==t?t:(i.error(i.localize("invalidValue",{elementType:i.nodeName.toLowerCase(),property:"resources",typeOne:"array",typeTwo:"number"})),null)}_handleTaskProgressChange(e){const t=this,i=t._dragDetails.task,a=t._dragDetails.timelineTask;if(t.disableTaskProgressChange)return;if(!t.hasAttribute("progress-change")){if(t.$.fireEvent("progressChangeStart",{id:"string"==typeof i.id||"number"==typeof i.id?i.id:i.$.id,item:t._cloneObject(i),progress:i.progress||0}).defaultPrevented)return void delete t._dragDetails.target;t._closeTooltip(),t.setAttribute("progress-change",""),t._scrollView.disableSwipeScroll=t._touchmoveInside=!0}const{left:n,width:s}=a.getBoundingClientRect(),r=e.pageX-window.pageXOffset;t._dragDetails.progress||(t._dragDetails.progress=i.progress/100*s),t._dragDetails.progress=Math.max(0,Math.min(s,t._dragDetails.progress+(t.rightToLeft?-1:1)*(r-t._dragDetails.coordinates.x))),t._dragDetails.coordinates.x=Math.max(n+t._dragDetails.offset.x,Math.min(n+s+t._dragDetails.offset.x,r));const o=t._dragDetails.task.progress=t._dragDetails.progress/s*100;i.progress=parseFloat(o.toFixed(2)),t._setTaskBarProgress(i,a),t._refreshTableColumnsData(i,["progress"]),clearTimeout(t._resourceTreeRefreshTimeout),t.$.mainSplitter.contains(t.$.resourceSplitter)&&(t._resourceTreeRefreshTimeout=setTimeout((function(){t._refreshAssignedResources(i,["progress"]),delete t._resourceTreeRefreshTimeout}),t.resourcePanelRefreshRate))}_handleTaskSegmentDrag(e){const t=this,i=t._dragDetails,a=i.segment,n=a.element,s=n._segmentObj;if(!s||s.disableDrag)return;const r=i.task,o=t._dragDetails.timelineTask,l=a.isFirstSegment,d=a.isLastSegment,c=t.rightToLeft,m=c?"right":"left";i.timelineRow||(i.timelineRow=Array.from(t.$.taskTimelineCellsContainer.children).find((e=>e._cellObj.task===r)));const u=i.timelineRow;if(!t.hasAttribute("dragged")){if(t.$.fireEvent("dragStart",{id:"string"==typeof r.id||"number"==typeof r.id?r.id:r.$.id,item:t._cloneObject(r),dateStart:r.dateStart,dateEnd:r.dateEnd,segment:t._cloneObject(s)}).defaultPrevented)return void delete i.timelineTask;if(t.setAttribute("dragged",""),t._closeTooltip(),t._touchmoveInside=!0,l||d){const e=t._createDelimiter("min-date"),i=t._createDelimiter("max-date");e&&u.appendChild(e),i&&u.appendChild(i)}}if(l){const a=i.size?i.size.width:i.originalSize.width;t._handleTaskResize(e,c?"right":"left"),i.segments||(i.segments=o.querySelectorAll(".jqx-task-segment"));const n=i.size.width-a,s=i.segments;for(let e=0,t=s.length;e<t;e+=1){const t=s[e];0!==e&&(t.style[m]=(parseFloat(t.style[m])||t.offsetLeft)+n+"px")}}else{if(!d)return void t._handleSegmentDrag(e);{const s=a.dimensions;t._handleTaskResize(e,c?"left":"right"),n.style[m]=i.size.width-s.width+"px"}}t._refreshTask(o,[n]),t._refreshProject(r.$.project),t.groupByResources&&t._refreshProject(r.$.group),clearTimeout(t._resourceTreeRefreshTimeout),t.$.mainSplitter.contains(t.$.resourceSplitter)&&(t._resourceTreeRefreshTimeout=setTimeout((function(){t._refreshAssignedResources(o._cellObj.task),delete t._resourceTreeRefreshTimeout}),t.resourcePanelRefreshRate))}_handleSegmentDrag(e){const t=this,i=t._dragDetails,a=i.segment,n=a.element,s=i.task,r=t._dragDetails.timelineTask,o=t.rightToLeft,l=o?"right":"left";i.timelineRow||(i.timelineRow=Array.from(t.$.taskTimelineCellsContainer.children).find((e=>e._cellObj.task===s)));const d=i.timelineRow,{left:c}=d.getBoundingClientRect(),m=i.taskDimensions.left;a.position||(a.position={x:a.originalPosition.x});const u=r.offsetWidth,h=e.pageX-window.pageXOffset;let g=0,f=a.min.left||0,p=a.max.left;o&&(f=u-(f+a.dimensions.width),p=u-p),a.position.x=Math.max(f,Math.min(p,a.position.x+(o?-1:1)*(h-i.coordinates.x))),void 0!==p&&(g=o?m+a.min.left:m+a.max.left,a.position.x=Math.min(p,a.position.x)),f=m+(o?a.max.left-a.dimensions.width:f),i.coordinates.x=Math.max(c+a.offset.x+f,Math.min(c+a.offset.x+g,h)),n.style[l]=a.position.x+"px",t._refreshTaskSegments(r,[n])}_handleTaskBarDrag(e){const t=this;if(t.disableTaskDrag)return;const i=t._dragDetails;if(Math.abs(e.pageX-i.coordinates.x)<=5)return void(t._scrollView.disableSwipeScroll=!0);if(i.segment)return void t._handleTaskSegmentDrag(e);const a=i.task,n=i.timelineTask;i.timelineRow||(i.timelineRow=Array.from(t.$.taskTimelineCellsContainer.children).find((e=>e._cellObj.task===a)));const s=i.timelineRow;if(!t.hasAttribute("dragged")){if(t.$.fireEvent("dragStart",{id:"string"==typeof a.id||"number"==typeof a.id?a.id:a.$.id,item:t._cloneObject(a),dateStart:a.dateStart,dateEnd:a.dateEnd}).defaultPrevented)return void delete i.timelineTask;t.setAttribute("dragged",""),t._closeTooltip(),t._touchmoveInside=!0;const e=t._createDelimiter("min-date"),n=t._createDelimiter("max-date");e&&s.appendChild(e),n&&s.appendChild(n)}i.position||(i.position={x:i.originalPosition.x,y:i.originalPosition.y});const r=s.getBoundingClientRect().left,o=s.offsetWidth,l=n.offsetWidth,d=i.min.left||0,c=i.max.left,m=e.pageX-window.pageXOffset,u=t.rightToLeft;let h=0;i.position.x=Math.max(d,Math.min(o-l,i.position.x+(u?-1:1)*(m-i.coordinates.x))),void 0!==c&&(i.position.x=Math.min(c,i.position.x),h=o-l-c),i.coordinates.x=u?Math.max(r+i.offset.x+h,Math.min(r+o-(l-i.offset.x+d),m)):Math.max(r+i.offset.x+d,Math.min(r+o-(l-i.offset.x+h),m));const g=a.dateStart.getTime(),f=a.dateEnd.getTime();n.style[u?"right":"left"]=i.position.x+"px",t._refreshTask(n),t._refreshProject(a.$.project),t.groupByResources&&t._refreshProject(a.$.group),"project"===a.type&&a.dragProject&&t._refreshProjectTasks(a,{startTime:a.dateStart.getTime()-g,endTime:a.dateEnd.getTime()-f}),clearTimeout(t._resourceTreeRefreshTimeout),t.$.mainSplitter.contains(t.$.resourceSplitter)&&(t._resourceTreeRefreshTimeout=setTimeout((function(){t._refreshAssignedResources(n._cellObj.task),delete t._resourceTreeRefreshTimeout}),t.resourcePanelRefreshRate))}_handleTaskBarResize(e){const t=this;if(t.disableTaskResize)return;const i=t._dragDetails;if(i.segment)return void t._handleTaskSegmentResize(e);const a=i.timelineTask,n=i.task;if(!t.hasAttribute("resized")){if(t.$.fireEvent("resizeStart",{id:"string"==typeof n.id||"number"==typeof n.id?n.id:n.$.id,item:t._cloneObject(n),dateStart:n.dateStart,dateEnd:n.dateEnd}).defaultPrevented)return void t.$.timeline.removeAttribute("task-bar-hovered");t.setAttribute("resized",""),t._closeTooltip(),t._scrollView.disableSwipeScroll=t._touchmoveInside=!0}t._handleTaskResize(e,t.$.timeline.getAttribute("task-bar-hovered")),t._updateSegmentsOnTaskResize(),t._refreshTask(a),t._refreshProject(n.$.project),t.groupByResources&&t._refreshProject(n.$.group),clearTimeout(t._resourceTreeRefreshTimeout),t.$.mainSplitter.contains(t.$.resourceSplitter)&&(t._resourceTreeRefreshTimeout=setTimeout((function(){t._refreshAssignedResources(a._cellObj.task,["workload"]),delete t._resourceTreeRefreshTimeout}),t.resourcePanelRefreshRate))}_updateSegmentsOnTaskResize(){const e=this,t=e._dragDetails,i=t.task,a=t.timelineTask;if(!i||!i.segments)return;let n;t&&t.segments?n=t.segments:t.segments=n=a.querySelectorAll(".jqx-task-segment");const s=n.length,r=t.size.width,o=e.rightToLeft?"right":"left";for(let t=0;t<s;t+=1){const i=n[t],a=i.style.width?parseFloat(i.style.width):i.offsetWidth,l=i.style[o]?parseFloat(i.style[o]):0;if(l+a>r){const t=r-(l+a),n=a+t;n<e._taskBarMinWidth&&(i.style[o]=l+t+"px"),i.style.width=n+"px"}else t===s-1&&(i.style.width=r-l+"px")}}_handleTaskSegmentResize(e){const t=this,i=t._dragDetails,a=i.segment,n=a.element,s=n._segmentObj;if(!s||s.disableResize)return;const r=i.task,o=t._dragDetails.timelineTask,l=a.isFirstSegment,d=a.isLastSegment,c=t.rightToLeft,m=c?"right":"left";if(!t.hasAttribute("resized")){if(t.$.fireEvent("resizeStart",{id:"string"==typeof r.id||"number"==typeof r.id?r.id:r.$.id,item:t._cloneObject(r),dateStart:r.dateStart,dateEnd:r.dateEnd,segment:t._cloneObject(s)}).defaultPrevented)return void t.$.timeline.removeAttribute("task-bar-hovered");t.setAttribute("resized",""),t._closeTooltip(),t._scrollView.disableSwipeScroll=t._touchmoveInside=!0}const u=t.$.timeline.getAttribute("task-bar-hovered");if(l&&("left"===u&&!c||"right"===u&&c)){const s=i.size?i.size.width:i.originalSize.width;void 0===a.size&&(a.size={width:a.originalSize.width}),t._handleTaskResize(e,u),i.segments||(i.segments=o.querySelectorAll(".jqx-task-segment"));const r=i.size.width-s,l=i.segments;for(let e=0,t=l.length;e<t;e+=1){const t=l[e];0!==e&&(t.style[m]=(parseFloat(t.style[m])||t.offsetLeft)+r+"px")}n.style.width=(a.size.width+=r)+"px"}else{if(!d||!("right"===u&&!c||"left"===u&&c))return t._handleSegmentResize(e,u),void t._refreshTaskSegments(o,[n]);{const s=i.size?i.size.width:i.originalSize.width;void 0===a.size&&(a.size={width:a.originalSize.width}),t._handleTaskResize(e,u),n.style.width=(a.size.width+=i.size.width-s)+"px"}}t._refreshTask(o,[n]),t._refreshProject(r.$.project),t.groupByResources&&t._refreshProject(r.$.group),clearTimeout(t._resourceTreeRefreshTimeout),t.$.mainSplitter.contains(t.$.resourceSplitter)&&(t._resourceTreeRefreshTimeout=setTimeout((function(){t._refreshAssignedResources(o._cellObj.task,["workload"]),delete t._resourceTreeRefreshTimeout}),t.resourcePanelRefreshRate))}_handleSegmentResize(e,t){const i=this,a=i._dragDetails,n=a.task,s=a.segment,r=s.element,o=i.rightToLeft,l=a.taskDimensions.left;a.timelineRow||(a.timelineRow=Array.from(i.$.taskTimelineCellsContainer.children).find((e=>e._cellObj.task===n)));const d=a.timelineRow;s.position||(s.position={x:s.originalPosition.x}),s.size||(s.size={width:s.originalSize.width});const c=e.pageX-window.pageXOffset;let m=s.size.width,u=s.min.width||0,h=s.max.width,g=s.min.left||0,f=s.max.left,p=r.offsetLeft,{left:_}=d.getBoundingClientRect(),T="object"==typeof e?c-a.coordinates.x:e;if(_+=l,"left"===t&&!o||"right"===t&&o)if(o){const e=a.taskDimensions.width;T=T<0?-1*Math.min(Math.abs(T),m-u):Math.min(h-m,Math.abs(T)),m=Math.max(u,Math.min(h,m+T)),r.style.left="",r.style.right=(p=Math.max(e-g,(parseFloat(r.style.right)||d.offsetWidth-p-m)-T))+"px",a.coordinates.x=Math.max(_+e-p+u,Math.min(_+e-p,c))}else T=T>0?Math.min(T,m-(u||0)):-1*Math.min(h-m,Math.abs(T)),m=Math.max(u,Math.min(p+m,m-T)),r.style.right="",r.style.left=(p=Math.max(g,(parseFloat(r.style.left)||p)+T))+"px",a.coordinates.x=Math.max(_+g+u,Math.min(_+p+m-u,c));else o?(T<0&&(T=-1*Math.min(h-m,Math.abs(T))),m=Math.max(u,Math.min(p+m,m-T)),f-=s.dimensions.width,a.coordinates.x=Math.max(_+f,Math.min(_+f+h,c))):(T>0&&(T=Math.min(h-m,T)),m=Math.max(u,Math.min(h,m+T)),a.coordinates.x=Math.max(_+p+u,Math.min(_+p+h,c)));r.style.width=(s.size.width=m)+"px"}_handleTaskResize(e,t){const i=this,a=i._dragDetails,n=a.task;a.position||(a.position={x:a.originalPosition.x,y:a.originalPosition.y}),a.size||(a.size={width:a.originalSize.width}),a.timelineRow||(a.timelineRow=Array.from(i.$.taskTimelineCellsContainer.children).find((e=>e._cellObj.task===n)));const s=a.timelineRow,r=a.timelineTask,o=a.segment,l=e.pageX-window.pageXOffset;let d=a.size.width,c=a.min.width||0,m=a.max.width,u=s.getBoundingClientRect().left,h=i.rightToLeft,g="object"==typeof e?l-a.coordinates.x:e;if("left"===t&&!h||"right"===t&&h)if(o&&(h?(u-=o.dimensions.width-o.offset.x,c=Math.max(o.max.left+o.min.width,c)):(u+=o.offset.x,c=Math.max(a.taskDimensions.width-o.max.left+o.min.width,c))),h){g<0?g=-1*Math.min(Math.abs(g),d-(c||0)):void 0!==m&&(g=Math.min(m-d,Math.abs(g))),d=a.size.width=Math.max(c,Math.min(s.offsetWidth-r.offsetLeft,d+g));const e=r.offsetLeft;r.style.left="",r.style.right=(a.position.x=Math.max(0,(parseFloat(r.style.right)||s.offsetWidth-r.offsetLeft-r.offsetWidth)-g))+"px",a.coordinates.x=Math.max(u+r.offsetLeft+c,Math.min(u+e+d,l))}else g>0?g=Math.min(g,d-(c||0)):void 0!==m&&(g=-1*Math.min(m-d,Math.abs(g))),d=a.size.width=Math.max(c,Math.min(r.offsetLeft+d,d-g)),r.style.right="",r.style.left=(a.position.x=Math.max(0,(parseFloat(r.style.left)||r.offsetLeft)+g))+"px",a.coordinates.x=Math.max(u+r.offsetLeft,Math.min(u+r.offsetLeft+d-c,l));else h?(o&&(u+=o.offset.x,c=Math.max(a.taskDimensions.width-o.min.left+o.min.width,c)),g<0&&void 0!==m&&(g=-1*Math.min(m-d,Math.abs(g))),d=a.size.width=Math.max(c,Math.min(r.offsetLeft+r.offsetWidth,d-g)),r.style.width=a.size.width+"px",a.coordinates.x=Math.max(u+r.offsetLeft,Math.min(u+r.offsetLeft+d-c,l))):(o&&(u-=o.dimensions.width-o.offset.x,c=Math.max(o.min.left+o.min.width,c)),g>0&&void 0!==m&&(g=Math.min(m-d,g)),d=a.size.width=Math.max(c,Math.min(s.offsetWidth-r.offsetLeft,d+g)),a.coordinates.x=Math.max(u+r.offsetLeft+c,Math.min(u+r.offsetLeft+(m||d),l)));r.style.width=a.size.width+"px"}_handleTimelineConnectionHover(e){const t=this;if(!(t.shadowRoot||t).contains(e))return;const i=t.$.timelineConnectionsContainer.children,a=e.closest(".jqx-task-connection");if(a||!t.$.timelineConnectionsContainer.querySelector(".jqx-task-connection[hover]")){if(a){const e=a.getAttribute("connection-id");for(let t=0;t<i.length;t++){const a=i[t];a.getAttribute("connection-id")===e?a.setAttribute("hover",""):a.removeAttribute("hover")}t._hoveredConnectionTasks=a.tasks}}else for(let e=0;e<i.length;e++)i[e].removeAttribute("hover")}_resetItemHover(){const e=this;if(e._hoveredItem){const t=e.$.mainSplitter.querySelectorAll(".jqx-timeline-task[hover], .jqx-timeline-row[hover], tr[hover]");for(let e=0;e<t.length;e++)t[e].removeAttribute("hover");e.$.timeline.removeAttribute("task-bar-hovered"),delete e._hoveredItem}}_handleTimelineHover(e,t){const i=this,a=i._isMobile;if(!e||a)return void i._resetItemHover();const n=e.originalEvent||e;let s="task",r=n.pageX&&a?document.elementFromPoint(n.pageX-window.pageXOffset,n.pageY-window.pageYOffset):n.target;if(n.pageX&&i.shadowRoot&&r===i&&(r=n.pageX&&a?i.shadowRoot.elementFromPoint(n.pageX-window.pageXOffset,n.pageY-window.pageYOffset):n.composedPath()[0]),!r||!r.closest||r===i||t)return void i._resetItemHover();i.$.resourceSplitter&&i.$.resourceSplitter.contains(r)?s="resource":i._handleTimelineConnectionHover(r);let o=r.closest(".jqx-timeline-row")||r.closest(".jqx-timeline-task");if(!o||!(i.shadowRoot||i).contains(o))return void i._resetItemHover();const l=o._cellObj[s],d=l.$.id,c=i._hoveredItem;if(!(c&&c.type===s&&c.id===d||(i._resetItemHover(),l.isGroup||("task"===s&&o.classList.contains("jqx-timeline-row")&&(o=i.$.timelineTasksContainer.querySelector(`.jqx-timeline-task[row-id="${d}"]`)),!o||i._connectionFeedback&&o.contains(i._connectionFeedback)||(o.setAttribute("hover",""),i._hoveredItem={id:d,type:s},a))))){const e=("task"===s?i.$.taskTimelineCellsContainer:i.$.resourceTimelineCellsContainer).querySelector(`.jqx-timeline-row[row-id="${d}"]`);e&&(e.setAttribute("hover",""),i._handleTableItemHover(d,r))}}_getScrollLeft(e){return this.rightToLeft?e*=-1:e}_synchronizeSplitters(e,t){if(this.$.mainSplitter.contains(this.$.resourceSplitter)){const i=e._measurements,a=e.items,n=t.items,[s,r,o]=[i.dimension,i.minDimension,i.maxDimension],[l,d]=[n[0],a[0]],[c,m]=[n[1],a[1]];t.keepProportionsOnResize=!0,t.setAttribute("orientation-change",""),[r,o,s].forEach((e=>{const t=e===s?"size":e===r?"min":"max";l.set(t,""),c.set(t,""),l[t]=d.style[e],c[t]=m.style[e]})),t.removeAttribute("orientation-change"),t.keepProportionsOnResize=!1}}_resizeEventHandler(e){const t=this,i=t.$.taskSplitter;function a(e){e.refresh(),e===i&&t._synchronizeSplitters(i,t.$.resourceSplitter)}if(e&&"resizeEnd"===e.type){if(e.target===t.$.taskTreeSplitter||e.target===t.$.resourceTreeSplitter)return void a(e.target);e.target===t.$.resourceSplitter&&t._synchronizeSplitters(t.$.resourceSplitter,i)}if(!t._timelineCells)return void t._refresh();t.$.mainSplitter.refresh(),a(i);const n=t._getScrollLeft(t.scrollLeft);t._autoSchedule(),t._createTimelineCells(),t._recycleTimelineTasks(),t._recycleTimelineRowCells(),t._refreshResourceTimeline(),t._refresh(),t.$.taskTable.refresh(),t.$.timelineHeader.scrollLeft=t.$.taskTimelineContainer.scrollLeft=n,t.$.taskTable.scrollTop=t.$.taskTimelineContainer.scrollTop=t.scrollTop,t.$.mainSplitter.contains(t.$.resourceTimelineHeader)&&(t.$.resourceTimelineHeader.scrollLeft=t.$.resourceTimelineContent.scrollLeft=n,t.$.resourceTable.refresh(),t.$.resourceTable.scrollTop=t.$.resourceTimelineContent.scrollTop=t.$.resourceVerticalScrollBar.value),t._positionWindow()}_recycle(e){const t=this,i=e&&"horizontal"===e.context.orientation;if(e&&!i||(t._recycleHeaderCells(t.$.timelineViewCells),t._recycleHeaderCells(t.$.timelineViewDetails),t.$.timelineViewSubDetails.classList.contains("jqx-hidden")||t._recycleHeaderSubCells(t.$.timelineViewSubDetails),t._recycleResourceContent()),i)return;if(t._recycleResourceContent(),t._recycleContentCells(),t._recycleTimelineTasks(),!e)return;const a=Math.round(e.detail.value);e.target!==t.$.resourceVerticalScrollBar?t._refreshTableScrollTop(t.$.taskTable,a):t._refreshTableScrollTop(t.$.resourceTable,a)}_recycleContentCells(){const e=this,t=e._getFirstContentCellInView(),i=e.$.taskTimelineCellsContainer,a=e.$.timelineTasksContainer;if(!t)return void(i.innerHTML=a.innerHTML="");const n=t.height,s=1-(t.top+n-Math.abs(e.scrollTop))/n,r=e._timelineVCells?e._timelineVCells.length:0,o=!e.$.taskSplitter.offsetHeight,l=e.$.taskTimelineContainer.offsetHeight,d=!o&&l?Math.min(r,Math.ceil((parseFloat((l/n).toFixed(2))+s).toFixed(2))):r,c=e.$.timelineViewCells.children,m=document.createDocumentFragment();for(;i.childElementCount>d;)i.lastElementChild.remove();for(;a.childElementCount>d;)a.lastElementChild.remove();for(let t=i.childElementCount;t<d;t+=1){const t=document.createElement("div");t.classList.add("jqx-timeline-row"),e._createTimelineRowCells(t,c),m.appendChild(t)}m.childElementCount&&i.appendChild(m);for(let e=a.childElementCount;e<d;e+=1){const e=document.createElement("div");e.classList.add("jqx-timeline-task"),m.appendChild(e)}m.childElementCount&&a.appendChild(m)}_getCellIndexByDate(e){const t=this._timelineCells;let i=[];if(e&&e.length&&t){Array.isArray(e)||(e=[e]);for(let t=0,a=e.length;t<a;t+=1){const a=e[t];e[t]=a.getTime?a.getTime():a,i[t]=-1}for(let a=0,n=t.length;a<n;a+=1){const n=t[a],s=e.indexOf(n.date.getTime());if(s>-1&&(i[s]=a,i.every((e=>-1!==e))))break}return 1===i.length?i[0]:i}}_recycleDateMarkers(){const e=this,t=e.$.timelineMarkers,i=e._markers;if(!i||e.hideDateMarkers)return void(t.childElementCount&&(t.innerHTML=""));const a=e.$.timelineViewCells.children,n=a[0]._date,s=a[a.length-1]._date,[r,o]=e._getCellIndexByDate([n,s]);if(!n||!s)return;const l=n.getTime(),d=e._getCellDateRange({_date:s}).dateEnd.getTime(),c=t.children,[m,u]=e.rightToLeft?["right","left"]:["left","right"],h=document.createDocumentFragment();let g=0;for(let t=0,a=i.length;t<a;t+=1){const a=i[t],n=i[t].date,s=n.getTime();if(s<l||s>d)continue;const f=e._getTimelineCellByDate(n,r,o);if(f){const t=f.left+e._getTimelineTaskOffset(f,n),i=a.label,s=a.className;let r=c[g];r||(r=document.createElement("div"),h.appendChild(r)),r.className="jqx-gantt-chart-date-marker",void 0!==i&&(r.firstElementChild||(r.innerHTML='<div class="jqx-gantt-chart-marker-label"></div>'),r.firstElementChild.textContent=i+""),void 0!==s&&r.classList.add(s),r.style[u]="",r.style[m]=t+"px",g++}}for(h.childElementCount&&t.insertBefore(h,t.firstElementChild);c.length>g;)c[c.length-1].remove()}_refreshTableScrollTop(e,t){this.$.mainSplitter.contains(e)&&void 0!==t&&(e.scrollTop=t)}_recycleHeaderCells(e){let t=this,i=e.children,a=t.scrollLeft,n=e===t.$.timelineViewCells,s=n?t._timelineCells:t._timelineHeaderCells;if(e===t.$.timelineViewSubDetails&&(n=!1,s=t._timelineHeaderSubCells),!s.length)return;let r=document.createDocumentFragment();for(;i.length;)r.appendChild(e.firstElementChild);let o=t._getFirstCellObjInView(s),l=1-(o.left+o.width-Math.abs(a))/s[0].width,d=r.children.length,c=n?Math.ceil((parseFloat((t.$.timeline.offsetWidth/o.width).toFixed(2))+l).toFixed(2)):t._getHeaderVisibleCellsCount();if(e===t.$.timelineViewSubDetails&&(c=t._getHeaderSubVisibleCellsCount()),d>c)for(;r.children.length&&r.children.length!==c;)r.removeChild(r.firstElementChild);else if(d<c){const e=t._createCells(c-d);for(;e.children.length;)r.appendChild(e.firstElementChild)}const m=[t.rightToLeft?"right":"left"],u=n?t._getCellsViewType():t.view;let h=s.indexOf(o);for(let e=0;e<r.children.length;e++){const i=r.children[e],a=s[h];if(!a)break;let o=new Date(a.date);n||"week"!==t.view||(o.setDate(o.getDate()-o.getDay()),o=new Date(Math.max(a.date.getTime(),o.getTime()))),i.style[m]=a.left+"px",i.style.width=a.width+"px",i._date=o,i.innerHTML=`<div>${t._getDateString(o,u,!n)}</div>`,a.weekend?i.setAttribute("weekend",""):i.removeAttribute("weekend"),a.nonworking?i.setAttribute("nonworking",""):i.removeAttribute("nonworking"),h++}e.appendChild(r),n&&(t._recycleTimelineRowCells(),t._recycleResourceHeaderCells(),t._recycleDateMarkers(),t._setTodayCell())}_recycleHeaderSubCells(e){let t=this,i=e.children,a=t.scrollLeft,n=t._timelineHeaderSubCells;if(!n.length)return;let s=document.createDocumentFragment();for(;i.length;)s.appendChild(e.firstElementChild);let r=t._getFirstCellObjInView(n),o=(r.left,r.width,Math.abs(a),n[0].width,s.children.length),l=t._getHeaderSubVisibleCellsCount();if(o>l)for(;s.children.length&&s.children.length!==l;)s.removeChild(s.firstElementChild);else if(o<l){const e=t._createCells(l-o);for(;e.children.length;)s.appendChild(e.firstElementChild)}const d=[t.rightToLeft?"right":"left"],c=t.view;let m=n.indexOf(r);for(let e=0;e<s.children.length;e++){const i=s.children[e],a=n[m];if(!a)break;let r=new Date(a.date);"week"===t.view&&(r.setDate(r.getDate()-r.getDay()),r=new Date(Math.max(a.date.getTime(),r.getTime()))),i.style[d]=a.left+"px",i.style.width=a.width+"px",i._date=r,i.innerHTML=`<div>${t._getDateString(r,c,!0)}</div>`,a.weekend?i.setAttribute("weekend",""):i.removeAttribute("weekend"),a.nonworking?i.setAttribute("nonworking",""):i.removeAttribute("nonworking"),m++}e.appendChild(s),t._refreshHeaderSubDetailsDate()}_refresh(){const e=this;let t="disabled"===e.verticalScrollBarVisibility;function i(){const t=e.$.timelineHeader,i=t.scrollWidth-t.offsetWidth;return i>0&&"hidden"!==e.horizontalScrollBarVisibility||"visible"===e.horizontalScrollBarVisibility?e.$container.addClass("hscroll"):e.$container.removeClass("hscroll"),i}function a(){let i=Math.max(0,e.$.timelineContent.offsetHeight-e.$.taskTimelineContainer.offsetHeight);return i>0&&"hidden"!==e.verticalScrollBarVisibility||"visible"===e.verticalScrollBarVisibility?e.$container.addClass("vscroll"):e.$.mainSplitter.contains(e.$.resourceSplitter)?(i=1,t=!0,e.$.resourceVerticalScrollBar.max||e.$container.removeClass("vscroll")):e.$container.removeClass("vscroll"),i}const n=e.scrollWidth,s=e.scrollHeight;let r=i(),o=a();o&&s===o||(r=i()),r&&n===r||(o=a()),e.scrollWidth=r,e.scrollHeight=o,e.$.verticalScrollBar.disabled=t,e.$.horizontalScrollBar.refresh(),e.$.verticalScrollBar.refresh(),e.$.mainSplitter.contains(e.$.resourceSplitter)&&(e._refreshResourceScrollBar(),e._refreshTableScrollTop(e.$.resourceTable))}_refreshProjectTasks(e,t){const i=this,a=i._getProjectTasks(e);if(!a.length)return;const n=i.nonworkingDays,s=i.nonworkingHours,r=i._timelineVCells;for(let e=0,o=a.length;e<o;e++){const o=a[e];if(o){const e=i._getTaskDOMIndex(o),a=r[e],l=o.segments;if(o.dateStart=new Date(Math.max(i.dateStart.getTime(),o.dateStart.getTime()+t.startTime)),o.dateEnd=new Date(Math.min(i.dateEnd.getTime(),o.dateEnd.getTime()+t.endTime)),o.duration=i._convertDuration(n.length>0||s.length>0?i._getWorkingTime(o.dateStart,o.dateEnd):o.dateEnd.getTime()-o.dateStart.getTime(),!0),l&&l.length>1){for(let e=0,i=l.length;e<i;e+=1){const i=l[e];i.dateStart=new Date(i.dateStart.getTime()+t.startTime),i.dateEnd=new Date(i.dateEnd.getTime()+t.endTime)}i._validateTaskSegments(o)}a&&(i._recycleTaskBars(a,e),i._setTimelineTaskBar(a,e),l&&l.length>1&&i._setTaskBarProgress(o),i._refreshTaskConnections(o),i._refreshTableColumnsData(o,["dateStart","dateEnd","duration","overdue"]))}}}_refreshProject(e){const t=this;function i(e){let i,a,n;if(e instanceof HTMLElement)i=e.offsetLeft,n=e.offsetWidth;else if(e){const s=t._getTimelineTaskCellByDate(e.dateStart),r=t._getTimelineTaskCellByDate(e.dateEnd);s&&r&&(i=s.left+t._getTimelineTaskOffset(s,e.dateStart)||0,a=r.left+t._getTimelineTaskOffset(r,e.dateEnd)||0,n=a-i)}return[i,n]}if(!e)return;const a=t.groupByResources&&e.isGroup?"group":"project";if(e.synchronized)for(;e&&e.synchronized;){const n=t._getProjectTasks(e);let s=n[0],r=n[0];for(let e=0;e<n.length;e++)s.dateStart.getTime()>=n[e].dateStart.getTime()&&(s=n[e]),r.dateEnd.getTime()<=n[e].dateEnd.getTime()&&(r=n[e]);const o=t.$.timelineTasksContainer.children,l=t.$.timelineContent.offsetWidth;let d,c,m;for(let t=0,i=o.length;t<i;t+=1){const i=o[t],a=i._cellObj?i._cellObj.task:void 0;a&&(a===e?d=i:a===s?c=i:a===e&&(m=i))}if(!d){s&&(e.dateStart=s.dateStart),r&&(e.dateEnd=r.dateEnd),e=e.$[a];continue}s&&(e.dateStart=s.dateStart);let[u,h]=i(c||s);void 0!==u&&void 0!==h&&(t.rightToLeft?(d.style.width=d.offsetWidth-(l-u-h-(l-d.offsetLeft-d.offsetWidth))+"px",d.style.right=c?c.style.right:u+"px"):(d.style.width=d.offsetWidth-(u-d.offsetLeft)+"px",d.style.left=c?c.style.left:u+"px")),r&&(e.dateEnd=r.dateEnd),[u,h]=i(m||r),void 0!==u&&void 0!==h&&(t.rightToLeft?d.style.width=Math.max(0,d.offsetWidth-(l-d.offsetLeft-(l-u)))+"px":d.style.width=Math.max(0,d.offsetWidth-(d.offsetLeft+d.offsetWidth-(u+h)))+"px"),t._refreshTask(d),e=e.$[a]}else t._refreshProject(e.$[a])}_refreshTask(e,t){const i=this,a=i._getTaskBarCellRange(e),n=a.cellStart,s=a.cellEnd;if(!a||!n||!s)return;e._cellStart=n,e._cellEnd=s;const r=i._getTaskBarDateRange(e);if(!r)return;const o=e._cellObj.task;if(!Array.from(i.$.taskTimelineCellsContainer.children).find((e=>e._cellObj.task===o)))return;const l=i.$.timeline.getAttribute("task-bar-hovered");if(l?"right"===l?o.dateEnd=r.dateEnd:o.dateStart=r.dateStart:(o.dateStart=r.dateStart,o.dateEnd=r.dateEnd),o.duration=o.duration=i._convertDuration(i.nonworkingDays.length>0||i.nonworkingHours.length>0?i._getWorkingTime(o.dateStart,o.dateEnd):o.dateEnd.getTime()-o.dateStart.getTime(),!0),e.setAttribute("aria-label",o.label+" Start date: "+i._toISODate(o.dateStart)+", End date: "+i._toISODate(o.dateEnd)),i._refreshTaskConnections(e),t)Array.isArray(t)&&i._refreshTaskSegments(e,t);else{const t=i._dragDetails;let a;e.classList.contains("task")?t&&t.segments?a=t.segments:t.segments=a=e.querySelectorAll(".jqx-task-segment"):a=e.querySelectorAll(".jqx-task-segment"),i._refreshTaskSegments(e,a)}i._refreshTableColumnsData(o,["dateStart","dateEnd","duration","overdue"]),i.taskFormatFunction&&i.taskFormatFunction(o,e)}_refreshTaskSegments(e,t){const i=this,a=e._cellObj.task;if(!a||!a.segments||!a.segments.length)return void i._setTaskBarDeadline(a,t?t[0]:void 0);const n=i.nonworkingDays.length>0||i.nonworkingHours.length>0,s=i.rightToLeft,r=s?"right":"left",o=parseFloat(e.style[r])||e.offsetLeft;let l;for(let a=0,d=t.length;a<d;a+=1){const d=t[a],c=d._segmentObj,m=i._getSegmentCellRange(d),u=m.cellStart,h=m.cellEnd;if(!m||!u||!h)continue;const g=parseFloat(d.style.width)||d.offsetWidth,f=o+parseFloat(d.style[r])||(s?(parseFloat(e.style.width)||e.offsetWidth)-(d.offsetLeft+d.offsetWidth):d.offsetLeft);d._cellStart=u,d._cellEnd=h,l=d;let p=i._getDateFromCell(f,u),_=i._getDateFromCell(f+g,h);c.dateStart=p,c.dateEnd=_,c.duration=i._convertDuration(n?i._getWorkingTime(p,_):_.getTime()-p.getTime(),!0),e.setAttribute("aria-label",(c.label||"")+" Start date: "+i._toISODate(p)+", End date: "+i._toISODate(_))}i._setTaskBarProgress(a,e),i._setTaskBarDeadline(a,l)}_refreshTaskResources(e,t=[]){const i=this;if(e&&(t||(t=i._getTaskResources(e)),t.length))for(let e=0;e<t.length;e++){const a=t[e];i._refreshResource(a),i._refreshTableColumnsData(a,void 0,"resource")}}_refreshTableColumnsData(e,t,i){const a=this;if(i||(i="task"),!e)return;const n=a[`${i}Columns`],s=a.$[`${i}Table`];if(!a.$.mainSplitter.contains(s))return;const r=e.$.id;t=t?t.map((e=>n.find((t=>t.value===e)))):n;for(let i=0;i<t.length;i++){const n=t[i];n&&s.setValue(r,n.value,a._formatColumnData(e,n))}a.$[`${i}Splitter`].refresh()}_removeConnection(e,t){const i=this,a=i.$.connectionPopupWindow,n=i.$.timelineConnectionsContainer;if(e.classList&&e.classList.contains("jqx-task-connection")?e=e.getAttribute("connection-id"):e+="",void 0===e)return;const s=n.querySelectorAll('.jqx-task-connection[connection-id^="'+e+(e.indexOf("-")<0?"-":"")+'"]'),r=i._tasks,o=e.split("-"),l=parseInt(o[1]);for(let e=0;e<s.length;e++)n.removeChild(s[e]);let d;const c=parseInt(o[0]),m=parseInt(o[1]),u=parseInt(o[2]);if(a&&void 0!==a._target&&"number"==typeof a._target.type){const t=a._target;d=t.startIndex+"-"+t.endIndex+"-"+t.type===e}i._updateConnection([c,m,u],!0),!t&&i.autoSchedule&&(i._autoScheduleRestore(r[l],parseInt(o[2])),i._autoSchedule(r[l])),d&&i.$.fireEvent("itemRemove",{type:"connection",id:`${c}-${m}-${u}`,item:{source:c,target:m,type:u}})}_removeTaskConnections(e,t){const i=this,a=i._connections;if(a&&a.length){for(let t=0,i=a.length;t<i;t+=1)a[t].startTask===e&&(a.splice(t,1),i--);e.connections=[],t&&i._recycleConnections()}}_removeTask(e){const t=this,i=t._tasks;if(!e||!i||!i.length)return;const a=t._getSelection("task",t.selectedTaskIds),n=t.$.taskPopupWindow;let s;if(t._highlightAssignedItem("task",[e]),n&&n._target===e&&n.close(),"project"===e.type){const a=t._getProjectTasks(e);for(let e=0,t=a.length;e<t;e+=1)i.splice(i.indexOf(a[e]),1)}if(i.splice(i.indexOf(e),1),t._refreshItemIds(),t._refreshConnectionIds(),t._isUpdating)return t._isUpdating.type.task=!0,void(t._isUpdating.type.resource=!0);t._refreshSelectedItems(),t._refreshTableDataSource(),t._refreshTimeline(),t._selected&&t._selected.task&&(s=t._selected.task.map((e=>e.$.id)),a.toString()!==s.toString()&&(t.$.taskTable.selected=t._getSelection("task",t.selectedTaskIds))),t.$.fireEvent("itemRemove",{type:"task",id:"string"==typeof e.id||"number"==typeof e.id?e.id:e.$.id,item:t._cloneObject(e)})}_removeResource(e){const t=this,i=t._resources,a=i.indexOf(e);if(e&&!(a<0)){if(t._isUpdating)return i.splice(a,1),t._isUpdating.type.resource=!0,void(t._isUpdating.type.task=!0);if(i.splice(a,1),t.groupByResources)t._refreshTableDataSource(),t._createTimelineContent(),t._refresh(),t._recycleTimelineTasks();else if(t.taskColumns.find((e=>"resources"===e.value))){const i=t._tasks.filter((t=>t.resources.includes(e.id)));for(let e=0;e<i.length;e++)t._refreshTableColumnsData(i[e],["resources"])}if(!i.filter((e=>!e.hidden)).length)return t._createResourceTimeline(),t._resizeEventHandler(),void n();t._refreshResourceTimeline(),t._refreshTableDataSource("resource"),t.$.mainSplitter.contains(t.$.resourceSplitter)?(t._refreshResourceScrollBar(),t._resizeEventHandler(),n()):n()}function n(){t.$.fireEvent("itemRemove",{type:"resource",id:"string"==typeof e.id||"number"==typeof e.id?e.id:e.$.id,item:t._cloneObject(e)})}}_updateTask(e,t){const i=this,a=i._tasks;if(!e||!a||!a.length)return;const n=i.$.taskPopupWindow,s=i._getSelection("task",i.selectedTaskIds);n&&n._target===e&&n.close();let r,o=i._getTaskResources(e);for(let n in t){let s=e[n],l=t[n];if("type"===n&&s!==l&&["task","project","milestone"].indexOf(l)>-1&&"project"===s){const t=i._getProjectTasks(e);for(let e=0,i=t.length;e<i;e+=1)a.splice(a.indexOf(t[e]),1);delete e.tasks}if("project"!==e.type||!e.synchronized||!(n.toLowerCase().indexOf("date")>-1||n.toLowerCase().indexOf("duration")>-1))if("dateEnd"===n&&new Date(s).getTime()!==new Date(l).getTime()&&(r=!0),"tasks"!==n)"connections"===n&&(i._removeTaskConnections(e),i._handleTaskConnections(e)),e[n]=l,"resources"===n&&(i._handleResources(e),e.disableResources||(o=o.concat(i._getTaskResources(e)),o=o.filter(((e,t)=>o.indexOf(e)===t)))),"milestone"!==e.type||"dateStart"!==n&&"dateEnd"!==n||(e.dateEnd=e.dateStart=l);else if("project"===e.type){const t=i._getProjectTasks(e);for(let e=0,i=t.length;e<i;e+=1)a.splice(a.indexOf(t[e]),1);const n=i._createTasks(l,!0);for(let t=0,i=n.length;t<i;t+=1)n[t].$.project=e;i._insertTasks(n,e,a.indexOf(e))}}r&&delete e.duration;const l=e.$,d=e.$.project;if(i._validateTaskProperties(e,d),e.$=l,d&&i._synchronizeProjectDates(d),"project"===e.type&&e.hidden&&i._getProjectTasks(e).forEach((t=>t.hidden=e.hidden)),i._synchronizeProjectVisibility(e.$.project,e),i._refreshItemIds(),i._refreshConnectionIds(),i._isUpdating)return void(i._isUpdating.type.task=!0);let c;i._selected&&i._selected.task&&i._setSelection("task",c=i._selected.task.map((e=>e.$.id))),i._refreshTableDataSource(),i._refreshTimeline(),i._ensureVisible(e),c&&s.toString()!==c.toString()&&(i.$.taskTable.selected=c.slice(0)),i._refreshTaskResources(e,o),i._highlightAssignedItem("task",i._getSelection("task",i.selectedTaskIds)),i.$.fireEvent("itemUpdate",{type:"task",id:"string"==typeof e.id||"number"==typeof e.id?e.id:e.$.id,item:i._cloneObject(e)})}_updateResource(e,t){const i=this;if(!e)return;const a=e.hidden;if(i._setResource(e,t),i._isUpdating)i._isUpdating.type.resource=!0;else{if(i.groupByResources)i._refreshTableDataSource(),i._refreshTimeline();else if(i.taskColumns.find((e=>"resources"===e.value))){const t=i._tasks.filter((t=>t.resources.includes(e.id)));for(let e=0;e<t.length;e++)i._refreshTableColumnsData(t[e],["resources"])}if(a!==e.hidden)return i._createResourceTimeline(),void i.$.fireEvent("itemUpdate",{type:"resource",id:"string"==typeof e.id||"number"==typeof e.id?e.id:e.$.id,item:i._cloneObject(e)});if(i._refreshTableColumnsData(e,void 0,"resource"),i.$.mainSplitter.contains(i.$.resourceTimelineCellsContainer)){const t=i.$.resourceTimelineCellsContainer.children;for(let a=0;a<t.length;a++){const n=t[a];n._resource===e&&i._refreshResourceTimelineContent(e,n)}}i.$.fireEvent("itemUpdate",{type:"resource",id:"string"==typeof e.id||"number"==typeof e.id?e.id:e.$.id,item:i._cloneObject(e)})}}_select(e="task",t){const i=this;if(i.disableSelection||!t)return void i._unselectAll(e);let a,n;"task"===e?(a="selectedTaskIds",n=i._tasks):(a="selectedResourceIds",n=i._resources);const s=n.findIndex((e=>e.$.id===t)),r=i._getSelection(e,i[a]);s<0||(r.indexOf(t)>-1?i.$[`${e}Table`].unselect(t):i.$[`${e}Table`].select(t))}_handleTableSelection(e="task",t){const i=this;if(i.disableSelection||!t.length)return void i._unselectAll(e);let a,n,s,r,o,l=i._selected;l||(l=i._selected={});const d=t[t.length-1],c=l[e]=[];"task"===e?(o=i._tasks,a="selectedTaskIds",n=i.$.taskTimelineCellsContainer.children,s=i.$.timelineTasksContainer.children):(o=i._resources,a="selectedResourceIds",n=i.$.resourceTimelineCellsContainer.children,s=[]);for(let e=0,i=o.length;e<i;e+=1){const i=o[e];t.indexOf(i.$.id)>-1&&c.push(i)}for(let i=0,a=n.length;i<a;i+=1){const a=n[i],o=s[i],l=a._cellObj[e].$.id;d===l&&(r=s[i]),t.indexOf(l)>-1?(a.setAttribute("selected",""),a.setAttribute("aria-selected","true"),o&&o.setAttribute("selected","")):(a.removeAttribute("selected"),a.setAttribute("aria-selected","false"),o&&o.removeAttribute("selected"))}const m=i[a].slice(0);if(i._setSelection(e,t),!i._tableChangeEventFired){const a=document.scrollingElement||document.documentElement,n=a.scrollLeft,s=a.scrollTop;i._highlightAssignedItem(e,t),i.$[`${e}Table`].focus({preventScroll:!0}),window.scrollTo(n,s)}if("task"===e&&r){const e=r._cellStart;if(i.scrollLeft>e.left||e.left+r.offsetWidth>i.scrollLeft+i.$.timeline.offsetWidth){const t=i._timelineCells.indexOf(e);i._scrollTo((i._timelineCells[t-1]?i._timelineCells[t-1]:e).date)}}i._noChangeEvent||i.$.fireEvent("change",{type:e,value:i[a].slice(0),oldValue:m})}_setSelection(e="task",t){const i=this;let[a,n]="task"===e?[i._tasks,"selectedTaskIds"]:[i._resources,"selectedResourceIds"],s=[];for(let e=0,i=t.length;e<i;e+=1){const i=t[e],n=a.find((e=>e.$.id===i));n&&s.push(void 0!==n.id?n.id:i)}i.set(n,s)}_getSelection(e="task",t){const i="task"===e?this._tasks:this._resources;let a=t.slice(0);if(!t||!t.length)return a;for(let e=0,n=i.length;e<n;e+=1){const n=i[e],s=t.indexOf(n.id);s>-1&&(a[s]=n.$.id)}return a}_highlightAssignedItem(e,t){const i=this,[a,n]="task"===e?["resource","_getTaskResources"]:["task","_getResourceTasks"],s=i.$[`${a}Table`],r=i[`_${a}s`];if(!s||!i.$.mainSplitter.contains(s)||!r.length)return;t&&Array.isArray(t)||(t=[]);let o=[];for(let a=0,s=t.length;a<s;a+=1){const s=i._getValidItemAndIndex(t[a],e);s&&(o=o.concat(i[n](s.item).filter((e=>!e.hidden))))}i._tableChangeEventFired=!0,s.selected=o.map((e=>e.$.id)),o.length&&i._ensureVisible(o[0],a),delete i._tableChangeEventFired}_selectResource(e){const t=this,i=t._resources.indexOf(e);if(i<0)return void t._unselectAll("resource");const a=t.$.resourceTimelineCellsContainer.children[i];a&&a.hasAttribute("selected")?t._unselectAllTasks():t.$.resourceTree.focus({preventScroll:!0})}_snapToNearest(e,t){const i=this;if(!(i.snapToNearest&&e&&e.classList&&e.classList.contains("jqx-timeline-task")&&e._cellObj))return;const a=e._cellObj.task,n=a.segments;if(t&&t.classList.contains("jqx-task-segment")){const a=n.indexOf(t._segmentObj),s=0===a,r=a===n.length-1;if(i._handleSnapToNearestSegment(e,t,s?"first":r?"last":void 0),i._refreshTaskSegments(e,[t]),!s&&!r)return;i._refreshTask(e,!0)}else i._handleSnapToNearest(i._getTaskBarCellRange(e),e),i._refreshTask(e);if(n&&n.length>1){for(let e=0,t=n.length;e<t;e+=1)i._snapToNearestDates(n[e],!0);i._validateTaskSegments(a),a.segments.length!==n.length&&i._recycleSegments(a,e),i._setTaskBarSegments(e._cellObj,e,!0),i._setTaskBarProgress(a)}if("project"!==a.type||!a.dragProject)return;const s=i._getProjectTasks(a);if(s&&Array.isArray(s))for(let e=0;e<s.length;e++){const t=i.$.timelineTasksContainer.children[i._tasks.indexOf(s[e])];t&&i._snapToNearest(t)}}_handleSnapToNearestSegment(e,t,i){const a=this,n=a.rightToLeft,s=n?"right":"left",r=parseFloat(e.style[s])||0,o=t,l=a._getSegmentCellRange(t),d=l.cellStart,c=l.cellEnd,m="first"===i,u="last"===i;let h=parseFloat(o.style.width)||o.offsetWidth,g=parseFloat(o.style[s])||0,f=r+g;if(a.hasAttribute("dragged")){const t=c.width-(f+h-c.left);let a;if(f-d.left<=t?(a=d.left-r,o.style[s]=Math.max(0,m?0:a)+"px"):(a=g+t,o.style[s]=Math.max(0,m?0:a)+"px"),i){const t=parseFloat(e.style.width)||e.offsetWidth;m&&(e.style[s]=r+(a-g)+"px"),e.style.width=t+(m?-1:1)*(a-g)+"px"}}else if(a.hasAttribute("resized")){const t=d===c?a._taskBarMinWidth:0;let l;if("left"===a.$.timeline.getAttribute("task-bar-hovered")){if(l=f-d.left,l-=l>=d.width/2?d.width-t:0,f-=l,o.style[s]=Math.max(0,m?0:f-r)+"px",l=f+h>c.left+c.width/2?c.left+c.width-(f+h):c.left-(f+h),o.style.width=Math.max(t,h+l)+"px",i){const t=parseFloat(e.style.width)||e.offsetWidth;m&&!n&&(e.style[s]=f+"px",e.style.width=t+l+"px"),u&&n&&(e.style.width=t+l+"px")}}else if(f>d.left+d.width/2?(f=d.left+d.width,o.style[s]=Math.max(0,m?0:f-r)+"px"):(f=d.left,o.style[s]=Math.max(0,m?0:f-r)+"px"),l=f+h-c.left,l=-1*(l-(l>=d.width/2?c.width:t)),o.style.width=h+l+"px",i){const t=parseFloat(e.style.width)||e.offsetWidth;m&&n&&(e.style[s]=f+"px",e.style.width=t+l+"px"),u&&!n&&(e.style.width=t+l+"px")}}}_handleSnapToNearest(e,t){const i=this;if(!e)return;const a=i.rightToLeft?"right":"left",n=e.cellStart,s=e.cellEnd;let r=parseFloat(t.style.width)||t.offsetWidth,o=parseFloat(t.style[a])||0;if(i.hasAttribute("dragged")){const e=s.width-(o+r-s.left);o-n.left<=e?t.style[a]=n.left+"px":t.style[a]=o+e+"px"}else if(i.hasAttribute("resized")){const e=n===s?i._taskBarMinWidth:0;let l;"left"===i.$.timeline.getAttribute("task-bar-hovered")?(l=o-n.left,l-=l>=n.width/2?n.width-e:0,t.style[a]=(o-=l)+"px",l=o+r>s.left+s.width/2?s.left+s.width-(o+r):s.left-(o+r),t.style.width=Math.max(e,r+l)+"px"):(o>n.left+n.width/2?t.style[a]=n.left+n.width+"px":t.style[a]=n.left+"px",o=parseFloat(t.style[a])||0,l=o+r-s.left,l=-1*(l-(l>=n.width/2?s.width:e)),t.style.width=r+l+"px")}}_setDragLimits(e){const t=this,i=t._dragDetails;if(!i)return;const a=i.timelineTask;if(!a||!e)return;const n=t.$.timeline.getAttribute("task-bar-hovered"),s=a._cellObj.task;if(n){if(s.disableResize)return void delete t._dragDetails;const e=t._getTaskBarSizeLimits(a,n);i.min.width=e.min,i.max.width=e.max,t._setSegmentLimits(n);const r=t._createDelimiter("min",n),o=t._createDelimiter("max",n);r&&a.appendChild(r),o&&a.appendChild(o)}else if(e.closest(".jqx-task-connection-point"))i.timelineTask=void 0;else if(e.closest(".jqx-timeline-task")===a){let e;if(t._connections){const i=t._tasks.indexOf(a._cellObj.task);e=t._connections.some((e=>e.startIndex===i||e.endIndex===i))}if(s.disableDrag||e&&t.autoSchedule&&t.autoScheduleStrictMode)return void delete i.target;i._taskDuration=t._getWorkingTime(s.dateStart,s.dateEnd),a.classList.contains("milestone")&&(i.target="jqx-timeline-task-fill");const n=t._getTaskDragLimits(a),r=t.rightToLeft?t.$.timelineContent.offsetWidth-a.offsetLeft-a.offsetWidth:a.offsetLeft;if(void 0!==n.min&&(i.min.left=n.min,"project"===a._cellObj.task.type&&n.min>r&&(i.min.left=r)),void 0!==n.max&&(i.max.left=n.max,"project"===a._cellObj.task.type&&n.max<r&&(i.max.left=r)),"project"===s.type&&s.dragProject&&!t.synchronized){const e=t._getSubTaskLimits(a);void 0!==e.min&&(i.min.left=i.min.left?Math.max(i.min.left,e.min):e.min),void 0!==e.max&&(i.max.left=i.max.left?Math.min(i.max.left,e.max):e.max)}else"milestone"===s.type&&(i.target="jqx-timeline-task-fill");t._setSegmentLimits()}else i.timelineTask=void 0;i.relatedConnections={}}_setSegmentLimits(e){const t=this,i=t._dragDetails;if(!i||!i.segment)return;const a=i.segment;if(a){const n=a.element,s=a.dimensions,r=n.previousElementSibling,o=n.nextElementSibling;if(a.min.width=e?t._taskBarMinWidth:0,t.rightToLeft){if(r)a.min.left="left"===e?s.left+s.width:r.offsetLeft-(e?0:s.width),"right"===e&&(a.max.width=r.offsetLeft-s.left);else if(!e){const e=t._getTaskBarSizeLimits(i.timelineTask,"right");i.min.width=e.min,i.max.width=e.max}if(o)a.max.left="right"===e?a.dimensions.left:o.offsetLeft+o.offsetWidth+s.width,e&&"left"!==e||(a.max.width=s.left+s.width-(o.offsetLeft+o.offsetWidth));else if(!e){const e=t._getTaskBarSizeLimits(i.timelineTask,"left");i.min.width=e.min,i.max.width=e.max}}else{if(r)a.min.left="right"===e?s.left:r.offsetLeft+r.offsetWidth+(e||o?0:s.width),"left"===e&&(a.max.width=s.left+s.width-a.min.left);else if(!e){const e=t._getTaskBarSizeLimits(i.timelineTask,"left");i.min.width=e.min,i.max.width=e.max}if(o)a.max.left="left"===e?s.left+s.width:o.offsetLeft-s.width,e&&"right"!==e||(a.max.width=o.offsetLeft-s.left);else if(!e){const e=t._getTaskBarSizeLimits(i.timelineTask,"right");i.min.width=e.min,i.max.width=e.max}}}}_setScrollBars(){const e=this;e._scrollView||(e._scrollView=new JQX.Utilities.Scroll(e.$.taskSplitterItem,e.$.horizontalScrollBar,e.$.verticalScrollBar));const t=e._scrollView.vScrollBar,i=e._scrollView.hScrollBar;i.$.addClass("jqx-hidden"),t.$.addClass("jqx-hidden"),t.hasStyleObserver=!1,i.hasStyleObserver=!1,t.hasResizeObserver=!1,i.hasResizeObserver=!1,t.rightToLeft=i.rightToLeft=e.rightToLeft,i.wait=!1,e._refresh()}_getWorkingTime(e,t){const i=this;if(!e||!t)return;if(!i.adjustToNonworkingTime)return t.getTime()-e.getTime();const a=i.nonworkingHours,n=i.nonworkingDays;function s(e,t){let s,r,o=t.getTime()-e.getTime(),l=new Date(e),d=0;for(;o>0;){const e=Math.min(o,36e5-(60*l.getMinutes()*1e3+1e3*l.getSeconds()+l.getMilliseconds()));if(n.indexOf(l.getDay())>-1)r=new Date(l),r.setHours(0,0,0,0),r.setDate(l.getDate()+1),s=Math.min(e,r.getTime()-l.getTime()),l=new Date(l.getTime()+s),o-=s;else if("day"===i.view&&a.indexOf(l.getHours())>-1){r=new Date(l);const t=r.getTime();r.setHours(l.getHours()+1,0,0,0),t===r.getTime()&&r.setHours(l.getHours()+2,0,0,0),s=Math.min(e,r.getTime()-l.getTime()),l=new Date(l.getTime()+s),o-=s}else d+=e,o-=e,l=new Date(l.getTime()+e)}return d}if(e.getFullYear()===t.getFullYear())return s(e,t);let r=new Date(e.getFullYear()+1,0,1,0,0,0,0),o=s(e,r);if(t.getFullYear()>r.getFullYear()){const e=Math.max(0,t.getFullYear()-r.getFullYear());for(let t=0;t<e;t++){let e=i._getWorkingDaysBetweenDays(r);o+=60*(24*e-e*i.nonworkingHours.length)*60*1e3,r.setFullYear(r.getFullYear()+1)}}return o+=s(r,t),o}_getWorkingDaysBetweenDays(e){const t=this,i=e.getFullYear(),a=(i%100==0?i%400==0:i%4==0)?366:365;let n=new Date(e),s=0;for(let e=0;e<a;e++)t.nonworkingDays.indexOf(n.getDay())<0&&s++,n.setDate(n.getDate()+1);return s}_setFocusable(){const e=this;e.disabled||e.unfocusable?e.tabIndex=-1:e.tabIndex=e.tabIndex>0?e.tabIndex:0}_setTaskBarLabel(e,t){const i=this;void 0===t&&(t=i._getTaskDOMIndex(e));const a=i.$.timelineTasksContainer.children[t];if(!a)return;const n=a.querySelector(".jqx-task-segments").children;let s=e.segments;Array.isArray(s)&&s&&s.length&&"task"===e.type||(s=[e]);for(let r=0,o=s.length;r<o;r+=1){const o=s[r],l=n[r],d=l?l.getElementsByClassName("jqx-timeline-task-label")[0]:void 0;if(!d)continue;d.firstElementChild||(d.innerHTML="<div></div>");let c=d.firstElementChild;"string"==typeof o.label||"number"==typeof o.label?c.textContent=o.formatFunction?o.formatFunction(o.label||"",t)||"":o.label||"":c.textContent=e.formatFunction?o.formatFunction(e.label||"",t)||"":e.label||"",i.onTaskRender&&i.onTaskRender(e,o,a,l,c),e.onRender&&e.onRender(e,o,a,l,c)}}_setTaskBarProgress(e,t){const i=this;if("number"==typeof t?t=i.$.timelineTasksContainer.children[t]:void 0===t&&(t=i.$.timelineTasksContainer.children[i._getTaskDOMIndex(e)]),!t||!e)return;let a=e.progress;const n=t.querySelector(".jqx-timeline-task-progress-thumb");if(!n)return;a=Math.min(100,Math.max(0,a))||0;const s=e.dateStart.getTime(),r=e.dateEnd.getTime(),o=t.querySelector(".jqx-task-segments").children;let l,d,c=e.segments,m=0;c&&c.length||(c=[e]);for(let e=0,t=c.length;e<t;e+=1){const t=c[e],i=o[e],n=i?i.querySelector(".jqx-timeline-task-progress"):void 0;if(!n)continue;const u=(t.dateStart.getTime()-s)/(r-s)*100,h=(t.dateEnd.getTime()-s)/(r-s)*100,g=Math.max(0,Math.min(100,(a-u)/(h-u)*100));n.style.width=g+"%",n.removeAttribute("value"),i.removeAttribute("show-progress-label"),a>=u?(m=Math.max(u,Math.min(a,h)),l=n,d=i):l||(l=n,d=i)}if(n.style[i.rightToLeft?"left":"right"]="",n.style[i.rightToLeft?"right":"left"]=m+"%",!l||!i.showProgressLabel)return;const u=i.progressLabelFormatFunction;d.setAttribute("show-progress-label",""),l.setAttribute("value",u?u(a)+"":parseFloat(a.toFixed(2))+"%")}_setTaskDeadline(e,t,i){const a=this,n=e.task,{timelineStart:s,timelineEnd:r}=i,o=n.deadline,l=a.$.timelineDeadlines,d=l.children,c=o&&o.getTime&&!isNaN(o.getTime())?o.getTime():void 0;let m;for(let e=0,i=d.length;e<i;e+=1){const i=d[e];if(parseInt(i.getAttribute("task-index"))===t){m=i;break}}if(!c||c<s||c>r)return void(m&&m.remove());const u=a._getTimelineCellByDate(o),[h,g]=a.rightToLeft?["right","left"]:["left","right"];m||(m=document.createElement("div"),m.classList.add("jqx-gantt-chart-task-deadline"),m.setAttribute("task-index",t),l.appendChild(m)),m.setAttribute("date",o.toString()),m.setAttribute("title",a._formatDate(o)),m.style.top=e.top+"px",m.style[g]="",m.style[h]=u.left+(a._getTimelineTaskOffset(u,o)||0)+"px"}_setTaskBarDeadline(e,t){const i=this,a=e.deadline;if(!a||!a.getTime||isNaN(a)||!t)return;const n=e.deadline.getTime()-e.dateEnd.getTime();if(!e.deadline||n>0)return t.removeAttribute("deadline"),void(e.overdue=!1);e.overdue=!0,t.setAttribute("deadline",`${i.localize("overdue")}: ${Math.round(i._convertDuration(Math.abs(n),!0))} ${i.durationUnit+"s"}`)}_setTaskIndicators(e,t,i){const a=this,n=e.task,{timelineStart:s,timelineEnd:r}=i,[o,l]=a.rightToLeft?["right","left"]:["left","right"],d=a.$.taskIndicatorsContainer,c=d.children,m=n.indicators;let u;for(let e=0,i=c.length;e<i;e+=1){const i=c[e];if(parseInt(i.getAttribute("task-index"))===t){u=i;break}}if(!Array.isArray(m))return void(u&&u.remove());const h=document.createDocumentFragment(),g=document.createDocumentFragment();u||(u=document.createElement("div"),u.classList.add("jqx-gantt-chart-indicator"),u.setAttribute("task-index",t),h.appendChild(u));const f=u.children;for(;f.childElementCount>m.length;)f.firstElementChild.remove();for(let t=0,i=m.length;t<i;t+=1){let i=f[t];const n=m[t],d=n.date;if(!d||!d.getTime){i&&i.remove();continue}const c=d.getTime();if(c<s||c>r){i&&i.remove();continue}const u=a._getTimelineCellByDate(d),h=n.label,p=n.className,_=n.icon;i||(i=document.createElement("div"),g.appendChild(i)),i.className="jqx-gantt-chart-task-indicator",i._indicatorObj=n;const T=i.classList;"string"==typeof p&&T.add(p),_?(T.add("icon"),i.style.setProperty("--jqx-gantt-chart-indicator-icon",`'${_}'`)):T.contains("icon")&&(T.remove("icon"),i.style.removeProperty("--jqx-gantt-chart-indicator-icon")),i.textContent=h||"",i.style.top=e.top+"px",i.style[l]="",i.style[o]=u.left+(a._getTimelineTaskOffset(u,d)||0)+"px"}g.childElementCount&&u.appendChild(g),h.childElementCount&&d.appendChild(h)}_setTimelineTaskBar(e,t,i){const a=this,n=e.task,s=void 0===t?a._getTaskDOMIndex(n):t,r=a.$.timelineTasksContainer.children,o=r[s];let l,d;if(0===r.length||!o||!o.classList||!o.classList.contains("jqx-timeline-task"))return;const c=n.dateStart instanceof Date?n.dateStart:new Date(n.dateStart),m=n.dateEnd instanceof Date?n.dateEnd:new Date(n.dateEnd);if(l=!i&&o._cellStart||a._getTimelineCellByDate(c),d=!i&&o._cellEnd||a._getTimelineCellByDate(m),!l||!d)return void o.classList.add("jqx-visibility-hidden");o._cellStart=l,o._cellEnd=d,o.classList.remove("jqx-visibility-hidden");const u=a._getTaskBarDetails(e,l,d);u&&(o.style[a.rightToLeft?"left":"right"]="",o.style[a.rightToLeft?"right":"left"]=u.left+"px",o.style.width=u.width?u.width+"px":"",o.style.top=u.top+"px"),a._setTaskBarSegments(e,o,i)}_setTimelineTaskBaseline(e,t){const i=this,a=e.task,n=i.$.timelineBaselinesContainer;if(!i.showBaseline)return void(n.innerHTML&&(n.innerHTML=""));const s=a.planned,r=n.children;let o;for(let e=0,i=r.length;e<i;e+=1){const i=r[e];if(parseInt(i.getAttribute("task-index"))===t){o=i;break}}if(!s||"milestone"===a.type||!s.dateStart||!s.dateEnd)return void(o&&o.remove());const l=s.dateStart,d=s.dateEnd,c=i._getTimelineCellByDate(l),m=i._getTimelineCellByDate(d);if(!c||!m)return;o||(o=document.createElement("div"),o.classList.add("jqx-gantt-chart-task-baseline"),o.setAttribute("task-index",t),n.appendChild(o));const[u,h]=i.rightToLeft?["right","left"]:["left","right"];(e=JSON.parse(JSON.stringify(e))).dateStart=l,e.dateEnd=d,e.task.dateStart=l,e.task.dateEnd=d;const g=i._getTaskBarDetails(e,c,m);if(g){const e=o.style;e.width=g.width?g.width+"px":"",e.top=g.top+"px",e[u]=g.left+"px",e[h]=""}o.setAttribute("aria-label",a.label+" Start date: "+i._toISODate(l)+", End date: "+i._toISODate(d))}_setTaskBarSegments(e,t,i){const a=this,n=e.task,s=t.querySelector(".jqx-task-segments").children;let r,o,l=n.segments;if(Array.isArray(l)&&l&&l.length&&"task"===n.type||(l=[n]),1===l.length){const e=s[0].style;return void(e.right=e.left=e.width="")}const d=a.rightToLeft,c=parseFloat(t.style[d?"right":"left"]);let m;for(let e=0,t=l.length;e<t;e+=1){const t=l[e],n=s[e];if(!n)continue;const u=t.dateStart instanceof Date?t.dateStart:new Date(t.dateStart),h=t.dateEnd instanceof Date?t.dateEnd:new Date(t.dateEnd);r=!i&&n._cellStart||a._getTimelineCellByDate(u),o=!i&&n._cellEnd||a._getTimelineCellByDate(h),n._cellStart=r,n._cellEnd=o;const g=a._getTaskBarDetails({task:t},r,o);g&&(n.style[d?"left":"right"]="",n.style[d?"right":"left"]=Math.max(0,g.left-c)+"px",n.style.width=g.width+"px"),m=n}a._setTaskBarDeadline(n,m)}_setCurrentTimeIndicators(){const e=this;if(clearInterval(e._currentTimeIndicatorInterval),delete e._currentTimeIndicatorInterval,e.currentTimeIndicator||e.shadeUntilCurrentTime)e._refreshTimeIndicators(),e._currentTimeIndicatorInterval=setInterval(e._refreshTimeIndicators.bind(e),1e3*Math.max(10,e.currentTimeIndicatorInterval));else{const t=e.$.timelineIndicatorsContainer;t&&t.remove()}}_refreshTimeIndicators(){const e=this,t=e.currentTime,i=e.view,a=e._getTodayCellObj(t);let n=e.$.timelineIndicatorsContainer;if(!a)return n&&n.remove(),clearInterval(e._currentTimeIndicatorInterval),void delete e._currentTimeIndicatorInterval;n||(e.$.timelineIndicatorsContainer=n=document.createElement("div"),n.classList.add("jqx-gantt-chart-time-indicators-container"),n.setAttribute("role","presentation")),new Date(a.date);let s,r,o=t.getMinutes();switch(i){case"quarter":case"year":{const e=new Date(t.getFullYear(),t.getMonth()+1,1,0,0,0,0);e.setDate(0),o+=24*t.getDate()*60,s=24*e.getDate()*60;break}case"month":o+=24*(t.getDay()+1)*60,s=10080;break;case"week":o+=60*t.getHours(),s=1440;break;case"day":s=60}r={cellObj:a,minutes:o,max:s,today:t},e._refreshCurrentTimeShader(r),e._refreshCurrentTimeIndicator(r),n.childElementCount||(clearInterval(e._currentTimeIndicatorInterval),delete e._currentTimeIndicatorInterval),n.parentElement||e.$.timelineContent.appendChild(n)}_refreshCurrentTimeIndicator(e){const t=this,i=t.$.timelineIndicatorsContainer;let a=i.querySelector(".jqx-gantt-chart-current-time-indicator");if(!t.currentTimeIndicator||!e)return void(a&&a.remove());const{cellObj:n,minutes:s,max:r}=e;a||(a=document.createElement("div"),a.classList.add("jqx-gantt-chart-current-time-indicator")),t.rightToLeft?a.style.right=n.left+n.width*(s/r)+"px":a.style.left=n.left+n.width*(s/r)+"px",a.setAttribute("aria-label","Current Time Indicator"),a.parentElement||i.appendChild(a),t._setTodayCell(n.date)}_refreshCurrentTimeShader(e){const t=this.$.timelineIndicatorsContainer;let i=t.querySelector(".jqx-gantt-chart-current-time-shader");if(!this.shadeUntilCurrentTime||!e)return void(i&&i.remove());const{cellObj:a,minutes:n,max:s}=e;i||(i=document.createElement("div"),i.classList.add("jqx-gantt-chart-current-time-shader")),i.style.width=a.left+a.width*(n/s)+"px",i.setAttribute("aria-label","Current Time Shader"),i.parentElement||t.appendChild(i)}_setTodayCell(e){const t=this;if(e)e instanceof Date&&(e=e.getTime());else{let i=0;e=t.currentTime,"day"===t.view&&(i=e.getHours()),e.setHours(i,0,0,0),e=e.getTime()}if("number"!=typeof e)return;const i=t.$.timelineViewCells.children;for(let t=0;t<i.length;t++){const a=i[t],n=new Date(a._date);n&&(n.getTime()===e?a.setAttribute("current",""):a.removeAttribute("current"))}}_getTodayCellObj(e){const t=this,i=t.view,a=t._timelineCells;e&&e.getTime||(e=t.currentTime);for(let t=0,n=a.length;t<n;t+=1){const n=a[t],s=n.date;switch(i){case"quarter":case"year":if(e.getFullYear()===s.getFullYear()&&e.getMonth()===s.getMonth())return n;break;case"month":{const t=new Date(e);if(t.setDate(e.getDate()-e.getDay()),e.getFullYear()===s.getFullYear()&&e.getMonth()===s.getMonth()&&t.getDate()===s.getDate())return n;break}case"week":if(e.getFullYear()===s.getFullYear()&&e.getMonth()===s.getMonth()&&e.getDate()===s.getDate())return n;break;case"day":if(e.getFullYear()===s.getFullYear()&&e.getMonth()===s.getMonth()&&e.getDate()===s.getDate()&&s.getHours()===e.getHours())return n}}}_getTaskDOMIndex(e){const t=this.$.timelineTasksContainer.children;if(!e||void 0===e.$.id)return-1;for(let i=0,a=t.length;i<a;i+=1)if(t[i]._cellObj.task===e)return i;return-1}_getTimelineCellByDate(e,t,i){const a=this,n=a._timelineCells;if(!n||0===n.length)return;const s=n.length-1;i=Math.min(s,"number"==typeof i?i:s);for(let s=t=Math.min(i,Math.max(0,"number"==typeof t?t:0));s<=i;s++){const t=n[s];if(!t)continue;const i=t.date;switch(a.view){case"quarter":case"year":if(i.getFullYear()===e.getFullYear()&&i.getMonth()===e.getMonth())return t;break;case"month":if("day"===a.monthScale){if(i.getFullYear()===e.getFullYear()&&i.getMonth()===e.getMonth()&&i.getDate()===e.getDate())return t}else{const a=new Date(i);let n=new Date(i);if(n.setDate(n.getDate()+(6-n.getDay())+1),n.setMilliseconds(n.getMilliseconds()-1),e.getTime()>=a.getTime()&&e.getTime()<=n.getTime())return t}break;case"week":if(i.getFullYear()===e.getFullYear()&&i.getMonth()===e.getMonth()&&i.getDate()===e.getDate())return t;break;case"day":if("hour"!==a.dayScale){if(i.getFullYear()===e.getFullYear()&&i.getMonth()===e.getMonth()&&i.getDate()===e.getDate()&&i.getHours()===e.getHours()&&i.getMinutes()<=e.getMinutes())return t}else if(i.getFullYear()===e.getFullYear()&&i.getMonth()===e.getMonth()&&i.getDate()===e.getDate()&&i.getHours()===e.getHours())return t}}const r=n[0],o=n[n.length-1];return e.getTime()<r.date.getTime()?r:e.getTime()>o.date.getTime()?o:void 0}_refreshViewDetailCell(e,t,i){const a=this,n=a._timelineCells,s=e.date;let r=0,o=0===i?0:void 0;for(void 0===t&&(t=0);t<n.length;t++){const e=n[t],i=a._getCellWidth(e,s);if(i){if("month"===a.view&&"day"===a.monthScale&&s.getMonth()!==e.date.getMonth())break;void 0===o&&(o=e.left+e.width-i),r+=i}else if(e.date.getTime()>s.getTime())break}return a._isLastWeekCellNotFull&&(delete a._isLastWeekCellNotFull,t--),e.width=r,e.left=o,t}_getCellWidth(e,t){const i=this,a=e.date,n=(e,t)=>e.getFullYear()===t.getFullYear(),s=(e,t)=>e.getMonth()===t.getMonth(),r=e.width;switch(i.view){case"month":{if("day"===i.monthScale)return r;let e=new Date(a),o=new Date(e),l=0;for(o.setDate(o.getDate()+(6-e.getDay())+1),o.setMilliseconds(o.getMilliseconds()-1);e.getTime()<=o.getTime();)n(e,t)&&s(e,t)&&l++,e.setDate(e.getDate()+1);if(0===l)return;"day"!==i.monthScale&&(i._isLastWeekCellNotFull=l/7!=1);let d=r*l/7;return d<70?70:d}case"quarter":case"year":if(n(a,t))return r;break;case"week":{const e=new Date(t),n=new Date(t);if(-1!==i.firstDayOfWeek){const t=e.getDay()-i.firstDayOfWeek;e.setDate(e.getDate()-e.getDay()+i.firstDayOfWeek-(t>=0?0:7)),n.setDate(e.getDate()+6)}else e.setDate(t.getDate()-t.getDay()),n.setDate(t.getDate()+(6-t.getDay()));if(a.getTime()>=e.getTime()&&a.getTime()<=n.getTime())return r;break}case"day":if(n(a,t)&&s(a,t)&&a.getDate()===t.getDate())return r}}_getCellByOffsetLeft(e){const t=this._timelineCells;if(!e)return;let i;for(let a=0;a<t.length&&!(t[a].left>=e);a++)i=t[a];return i}_unselectAll(e,t){const i=this,a=i.$[`${e}TimelineCellsContainer`];let n;delete i._selected;const s=a.querySelectorAll(".jqx-timeline-row[selected]");for(let e=0;e<s.length;e++)s[e].removeAttribute("selected");if("task"===e){n="selectedTaskIds";const e=i.$.timelineTasksContainer.querySelectorAll(".jqx-timeline-task[selected]");for(let t=0;t<e.length;t++)e[t].removeAttribute("selected"),e[t].setAttribute("aria-selected","false")}else n="selectedResourceIds";if(i[`_${e}TreeChangeEventFired`]||i.$[e+"Table"].clearSelection(),i._highlightAssignedItem(e),t)return;const r=i[n].slice(0);r.length&&(i[n]=[],i._noChangeEvent||i.$.fireEvent("change",{value:[],oldValue:r,type:e}))}_getSegmentCellRange(e){const t=this;if(!e.classList||!e.classList.contains("jqx-task-segment"))return;const i=e.closest(".jqx-timeline-task");if(!i)return;let a,n,s=i._cellStart,r=i._cellEnd;s&&r||({cellStart:s,cellEnd:r}=t._getTaskBarCellRange(i));const o=t.rightToLeft,l=parseFloat(e.style.width)||e.offsetWidth,d=t._timelineCells;let c=parseFloat(i.style[o?"right":"left"]);c&&!isNaN(c)||(c=i.offsetLeft,o&&(c=t.$.timelineContent.offsetWidth-c));const m=c+parseFloat(e.style[o?"right":"left"])||(o?(parseFloat(i.style.width)||i.offsetWidth)-(e.offsetLeft+e.offsetWidth):e.offsetLeft),u=parseFloat((m+l).toFixed(2));for(let e=d.indexOf(s),t=d.indexOf(r);e<=t;e++){const t=d[e],i=t.left,s=t.width,r=parseFloat((i+s).toFixed(2));if(m>=i&&m<=r&&(a=t),!n&&u>i&&u<=r&&(n=t),a&&n)break}return a||(a=n||d[0]),n||(n=d[d.length-1]),{cellStart:a,cellEnd:n}}_getTaskBarCellRange(e){const t=this;if(!e.classList||!e.classList.contains("jqx-timeline-task"))return;let i=parseFloat(e.style.width)||e.offsetWidth;const a=t._timelineCells,n=t.$.timelineContent,s=parseFloat(e.style[t.rightToLeft?"right":"left"])||(t.rightToLeft?(parseFloat(n.style.width)||n.offsetWidth)-(e.offsetLeft+e.offsetWidth):e.offsetLeft);let r,o;e.classList.contains("milestone")&&(i/=2);const l=parseFloat((s+i).toFixed(2));for(let e=0;e<a.length;e++){const t=a[e],i=t.left,n=t.width,d=parseFloat((i+n).toFixed(2));if(s>=i&&s<=d&&(r=t),!o&&l>i&&l<=d&&(o=t),r&&o)break}return r||(r=e.classList.contains("milestone")&&o?o:a[0]),o||(o=a[a.length-1]),{cellStart:r,cellEnd:o}}_getDateFromCell(e,t,i){if(!t)return new Date;const a=this,n=new Date(t.date);let s,r=0,o=0,l=new Date(n);switch(l.setHours(0,0,0,0),i||(i=a.view),i){case"quarter":case"year":s=new Date(n.getFullYear(),n.getMonth()+1,0).getDate(),r=1,l.setDate(s);break;case"month":"day"===a.monthScale?(r=n.getDate(),s=1):(r=n.getDate(),s=7,l.setDate(l.getDate()+6));break;case"week":s=1,r=n.getDate();break;case"day":s=1/24,r=n.getDate(),o=n.getHours()}l.setHours(23,59,59,999);const d=parseFloat(((e-t.left)/t.width*s).toFixed(12)),c=Math.min(s,Math.floor(d)),m=d%1*24,u=Math.floor(m),h=60*Math.abs(m-u),g=Math.floor(h),f=60*Math.abs(h-g),p=Math.floor(f),_=1e3*Math.abs(f-p),T=Math.floor(_),b=new Date(n.getFullYear(),n.getMonth(),r+c,o+u,g,p,T);return b.getTime()>l?l:b}_getCellDateRange(e){if(!e||!e._date)return;const t=new Date(e._date);let i=new Date(t);switch(i.setHours(0,0,0,0),this.view){case"quarter":case"year":i.setDate(1),i.setMonth(i.getMonth()+1),i.setDate(0);break;case"month":i.setDate(i.getDate()+6);break;case"day":return i.setHours(t.getHours(),59,59,999),{dateStart:t,dateEnd:i}}return i.setHours(23,59,59,999),{dateStart:t,dateEnd:i}}_getTasksJSON(){const e=this;let t=e._tasks;return function t(i,a){if(!i)return;let n=[];for(let s=0;s<i.length;s++){const r=i[s];let o;if(!r.$.project&&!a||r.$.project===a){const i=e._getTaskConnections(r).taskConnections;o=e._cloneObject(r,!0),i.length&&(o.connections=i.map((e=>{const t={target:e.endIndex,type:e.type};return e.lag&&(t.lag=e.lag),t}))),o.tasks=t(e._getProjectTasks(r),r),delete o.$,n.push(o)}}return n}(t)}_cloneObject(e,t){let i={};for(let a in e){let n=e[a];"tasks"!==a&&("connections"!==a?n instanceof Date?i[a]=t?n.toISOString():new Date(n):i[a]=n:i[a]=JSON.parse(JSON.stringify(n)))}return t||delete i.$,i}_setTable(e){const t=this;e||(e=t.$.taskTable);const[i,a]=e===t.$.taskTable?[t.taskColumns,"task"]:[t.resourceColumns,"resource"];if(!t.contains(e))return;if(!i.length)return void(t.$[a+"Table"].dataSource=[]);const n=t._getTableColumns(a);"task"===a&&(e.filterRow=t.filterRow,[e.grouping,e.groupFormatFunction]=t.groupByResources?[!0,t._formatResourceGroups.bind(t)]:[!1,null]),e.isRendered&&e.resetState("expanded"),e.style.setProperty("--jqx-table-row-height",""),e.columns=n,e.dataSource=t._getTableDataSource(a,n),e.wait&&(t.$.taskTable.hasResizeObserver=!1,e.$.virtualizationContainer._scrollView.disableSwipeScroll=!0,e.$.virtualizationContainer.verticalScrollBarVisibility="hidden",e.$.virtualizationContainer.disabled=!0,e.columnMinWidth=t.columnMinWidth,e.columnResize=t.columnResize,e.columnResizeFeedback=t.columnResizeFeedback,e.filtering=t[`${a}Filtering`],e.sort=t.sortFunction,e.sortMode=t.sortMode,e.keyboardNavigation=t.keyboardNavigation,e.selectionByHierarchy=!1,e.selection=!t.disableSelection,e.hideSelectionColumn=!t.showSelectionColumn,e.selectionMode=t.selectionMode,e.onKeyboardScroll=(i,a)=>{const n=e===t.$.taskTable?t:t._resourceScrollView;a!==n.scrollTop&&(n.scrollTop=a)},e.wait=!1),e.$.virtualizationContainer.scrollTop="task"===a?t.scrollTop:t.$.resourceVerticalScrollBar.value,t._refresh()}_formatResourceGroups(e){const t=this,i=t._resources,a=e.data.data.resources.split(",");let n=[];for(let e=0,t=i.length;e<t;e+=1){const t=i[e],s=t.id+"";a.indexOf(s)>-1&&n.push(t.label||t.value||t.id)}t.resourceGroupFormatFunction?e.template=t.resourceGroupFormatFunction(a):e.template="<strong>"+(n.length?n.join(", "):t.localize("unassigned"))+"</strong>"}_formatResourceGroupLabel(e){const t=this,i=t._resources,a=e.split(",");if(!e)return t.localize("unassigned");let n=[];for(let e=0,t=i.length;e<t;e+=1){const t=i[e],s=t.id+"";a.indexOf(s)>-1&&n.push(t.label||t.value||t.id)}return n.length?n.join(", "):t.localize("unassigned")}_getTableColumns(e="task"){const t=this,i=["dateStart","dateEnd","minDateStart","maxDateStart","minDateEnd","maxDateEnd"],a=["progress","capacity","workload","maxCapacity","minCapacity"];let n="task"===e?t.taskColumns:t.resourceColumns,s=[];"task"===e&&t.groupByResources&&!n.find((e=>"resources"===e.value))&&(n=n.slice(0),n.push({label:"",value:"resources",hidden:!0}));for(let r=0,o=n.length;r<o;r++){const o=n[r],l=o.value,d={};d.label=t.localize(o.label)||o.label,d.dataField=l,l.startsWith("date")||i.indexOf(l)>-1?d.dataType="date":d.dataType="overdue"===l?"boolean":l.startsWith("duration")||a.indexOf(l)>-1?"number":"string",o.hidden&&(d.visible=!1),o.headerFormatFunction&&(d.headerFormatFunction=o.headerFormatFunction),"function"==typeof o.formatFunction?d.formatFunction=i=>{const a=t._getValidItemAndIndex(i.data.itemId,e).item,n=i.column.toLowerCase();let s=i.value;n.indexOf("date")>-1?s=new Date(s):"resources"===n&&(s=s?s.split(","):[]),i.template=o.formatFunction.call(t,s,a?t._cloneObject(a):void 0)}:["date","number"].indexOf(d.dataType)>-1?d.formatFunction=i=>{const a=t._getValidItemAndIndex(i.data.itemId,e).item,n=t._formatColumnData(t._cloneObject(a),o);i.template=n}:"overdue"===l&&(d.formatFunction=e=>{const t=e.cell;e.value+""=="true"?t.setAttribute("overdue",""):t.removeAttribute("overdue"),e.value=""},d.width=t._taskDefaultHeight),o.size&&(d.width=o.size),s.push(d)}return s}_getTableDataSource(e="task",t){const i=this,a="task"===e?i._getTableData(i._tasks,i.taskColumns,e):i._getTableData(i._resources,i.resourceColumns,e),n=i.groupByResources,s=(()=>{let e=[];e.push("itemId: string"),e.push("projectId: string"),e.push("itemIndex: number"),n&&e.push("resources: string");for(let i=0,a=t.length;i<a;i+=1){const a=t[i];e.push(`${a.dataField}: ${a.dataType}`)}return e})();return i.groupByResources?new window.JQX.DataAdapter({dataFields:s,dataSource:a,groupBy:["resources"],id:"itemId"}):new window.JQX.DataAdapter({dataFields:s,dataSource:a,keyDataField:"itemId",parentDataField:"projectId",id:"itemId"})}_refreshTableDataSource(e="task"){const t=this,i="task"===e?t.$.taskTable:t.$.resourceTable;t.contains(i)&&(i.resetState("expanded"),i.dataSource=t._getTableDataSource(e,t._getTableColumns(e)))}_refreshColumnsHeaders(e){const t=this;e||(e="task");const i=t.$[`${e}Table`].columns,a=t[`${e}Columns`];for(let e=0,n=i.length;e<n;e++)void 0!==a[e]&&a[e]&&i[e]&&(i[e].label=t.localize(a[e].label)||a[e].label);!arguments.length&&t.$.mainSplitter.contains(t.$.resourceSplitter)&&t._refreshColumnsHeaders("resource")}_getTaskResourceIds(e){const t=e.resources,i=this._resources.map((e=>e.id));let a=[];if(Array.isArray(t))for(let e=0,n=t.length;e<n;e+=1){const n=t[e].id||t[e];i.indexOf(n)>-1&&a.push(n)}return a.sort()}_getTableData(e,t,i){const a=this,n=a.groupByResources;i||(i="task");const s=t.map((e=>e.value));let r=[],o=[];for(let l=0,d=e.length;l<d;l+=1){const d=e[l];if(d.hidden||n&&d.disableResources)continue;const c={},m=d.$.project,u=a._getTaskResourceIds(d);for(let e=0,n=s.length;e<n;e+=1)c[s[e]]=a._formatColumnData(d,t[e],i);c.expanded=n||d.expanded,c.itemId=d.$.id||d.id||"",c.itemIndex=l,u&&u.length?c.resources=u.toString():delete c.resources,d.$&&m&&(m.$.id?c.projectId=d.$.project.$.id:o.push(((e,t)=>{e.projectId=t.$.id}).bind(null,d,m))),r.push(c)}for(let e=0,t=o.length;e<t;e+=1)o[e]();return r}_formatColumnData(e,t){const i=this,a=t.value;let n=e[a];if(a){const e=(a+"").toLowerCase();if(e.indexOf("date")>-1||t.dateFormat)return i._formatDate(n,t);if(e.indexOf("duration")>-1||t.numberFormat){const e=parseFloat(n.toFixed(1));return t.numberFormat?i._formatNumber(e,t.numberFormat):e}}return null!=n?n.toString():i.localize("unassigned")}_formatDate(e,t){const i=this;if(e=Date.parse(e),!isNaN(e)){let a=t?t.dateFormat:void 0;if("string"==typeof a)return new JQX.Utilities.DateTime(new Date(e)).toString(a);if("object"==typeof a)a=t.dateFormat;else{const e=i.view;a={year:"numeric",month:"2-digit",day:"numeric"},["day","week"].indexOf(e)>-1&&(a.hour="numeric",a.minute="numeric",a.second="numeric")}return new Intl.DateTimeFormat(i.locale,a).format(new Date(e))}}_formatNumber(e,t,i){const a=this;if("object"==typeof t)return new Intl.NumberFormat(a.locale,t).format(""+e);i||(i={percentSymbol:"%",currencySymbol:"$",currencySymbolPosition:"before",decimalSeparator:".",thousandsSeparator:","});const n=e=>"number"==typeof e&&isFinite(e);if(""===t||null===t)return e;let s;n(e)||(e*=1),t.length>1&&(s=parseInt(t.slice(1),10));let r={},o=t.charAt(0).toUpperCase();switch(r.thousandsSeparator=i.thousandsSeparator,r.decimalSeparator=i.decimalSeparator,o){case"D":case"d":case"F":case"f":r.decimalPlaces=s;break;case"N":case"n":r.decimalPlaces=0;break;case"C":case"c":r.decimalPlaces=s,"before"===i.currencySymbolPosition?r.prefix=i.currencySymbol:r.suffix=i.currencySymbol;break;case"P":case"p":r.suffix=i.percentSymbol,r.decimalPlaces=s;break;default:throw"Bad number format specifier: "+o}if(n(e)){const t=e<0;let i=e+"";const a=r.decimalSeparator?r.decimalSeparator:".";let s;if(n(r.decimalPlaces)){var l=r.decimalPlaces,d=Math.pow(10,l);if(i=(e*d).toFixed(0)/d+"",s=i.lastIndexOf("."),l>0)for(s<0?(i+=a,s=i.length-1):"."!==a&&(i=i.replace(".",a));i.length-1-s<l;)i+="0"}else{let t=e+"";s=t.lastIndexOf("."),s>0&&void 0===l&&"."!==a&&(t=t.replace(".",a))}if(r.thousandsSeparator){const e=r.thousandsSeparator;s=i.lastIndexOf(a),s=s>-1?s:i.length;let n=i.substring(s),o=-1;for(var c=s;c>0;c--)o++,o%3==0&&c!==s&&(!t||c>1)&&(n=e+n),n=i.charAt(c-1)+n;i=n}return i=r.prefix?r.prefix+i:i,i=r.suffix?i+r.suffix:i,i}return e}_validateDate(e,t){return e[t]=this._dateValidator(void 0,e[t]),e[t]&&!isNaN(e[t].getTime())||(e[t]=void 0),e[t]}_validateTaskProperties(e,t){const i=this;if(e.$={},e.tasks instanceof Array&&e.tasks.length>0?e.type="project":(!e.type||["project","task","milestone"].indexOf(e.type)<0)&&(e.type="task"),i._validateTaskDuration(e),void 0===e.hidden&&t&&(e.hidden=t.hidden),e.hidden=!!e.hidden,void 0===e.resources?e.resources=[]:e.resources=[e.resources].reduce(((e,t)=>e.concat(t)),[]),"project"===e.type?e.expanded=!!e.expanded:delete e.expanded,e.progress=Math.min(Math.max(0,parseFloat(e.progress)||0),100),i._validateTaskDates(e,t),i._validateTaskSegments(e),i._validateTaskIndicators(e),i._validateTaskPlannedDates(e),e.deadline){const t=i._validateDate(e,"deadline");!t||isNaN(t.getTime())?delete e.deadline:e.dateEnd&&(e.overdue=e.deadline.getTime()-e.dateEnd.getTime()<0)}else e.overdue=!1,delete e.deadline;if(!e.dateStart&&!e.dateEnd&&"project"===e.type&&!e.synchronized)return;const a=e.connections;if(a instanceof Array){for(let e=0;e<a.length;e++){const t=a[e],i=t.target="string"==typeof t.target?t.target:parseInt(t.target),n=t.type=parseInt(t.type);null==i||"number"==typeof i&&isNaN(i)||isNaN(n)?(a.splice(a.indexOf(t),1),e--):t.lag=parseInt(t.lag)||0}e.connections=e.connections.map((e=>Object.assign({},e)))}else e.connections=[];return e.class=e.class?e.class+"":"",e.class=void 0!==e.class&&null!==e.class?e.class:"",e}_validateTaskIndicators(e){const t=this,i=e.indicators;if(!i||!Array.isArray(i)||!i.length)return void delete e.indicators;let a=[];for(let e=0,n=i.length;e<n;e+=1){const n=i[e];if("object"!=typeof n)continue;const s=t._validateDate(n,"date");s&&s.getTime&&!isNaN(s.getTime())&&a.push(n)}e.indicators=a}_validateTaskSegments(e){const t=this,i=e.segments;if(!i||!Array.isArray(i)||i.length<2||"task"!==e.type)return void delete e.segments;const a=t.nonworkingDays.length>0||t.nonworkingHours.length>0;let n,s=[],r=[];for(let e=0,a=i.length;e<a;e+=1){const a=i[e];if("object"!=typeof a)continue;let n=parseFloat(a.duration);isNaN(n)&&delete a.duration,t._validateTaskDates(a),a.dateStart&&a.dateEnd&&s.push(a)}s.sort(((e,t)=>e.dateStart.getTime()-t.dateStart.getTime()));for(let i=0,o=s.length;i<o;i+=1){const o=s[i];let l=o.dateStart,d=o.dateEnd;o.dateStart=l=new Date(Math.max(e.dateStart.getTime(),l.getTime())),o.dateEnd=d=new Date(Math.min(e.dateEnd.getTime(),d.getTime())),n&&n.dateEnd.getTime()>l.getTime()&&(o.dateStart=l=new Date(n.dateEnd.getTime()+1e3),l.getTime()>=d.getTime())||l.getTime()>d.getTime()||(o.duration=t._convertDuration(a?t._getWorkingTime(l,d):d.getTime()-l.getTime(),!0),n=o,r.push(o))}r.length<2?delete e.segments:(r[0].dateStart=new Date(e.dateStart),r[r.length-1].dateEnd=new Date(e.dateEnd),e.segments=r)}_validateTaskDuration(e){const t=this;let i=t._convertDuration(parseFloat(e.duration))||0,a=t._convertDuration(parseFloat(e.minDuration))||0,n=t._convertDuration(parseFloat(e.maxDuration))||0;a&&n&&(n=Math.max(a,n)),i&&(a?i=Math.max(a,i):n&&(i=Math.min(i,n))),e.duration=t._convertDuration(i,!0),e.minDuration=t._convertDuration(a,!0),e.maxDuration=t._convertDuration(n,!0)}_validateTaskDates(e,t){const i=this,a=i._convertDuration(e.minDuration),n=i._convertDuration(e.maxDuration);let s=i._convertDuration(e.duration);if(void 0!==e.minDateStart&&(e.minDateStart=i._validateDate(e,"minDateStart")),void 0!==e.maxDateStart&&(e.maxDateStart=i._validateDate(e,"maxDateStart")),e.minDateStart&&e.maxDateStart&&(e.maxDateStart=new Date(Math.max(e.minDateStart.getTime(),e.maxDateStart.getTime()))),void 0!==e.minDateEnd&&(e.minDateEnd=i._validateDate(e,"minDateEnd")),void 0!==e.maxDateEnd&&(e.maxDateEnd=i._validateDate(e,"maxDateEnd")),e.minDateEnd&&e.maxDateEnd&&(e.maxDateEnd=new Date(Math.max(e.minDateEnd.getTime(),e.maxDateEnd.getTime()))),e.dateStart=i._validateDate(e,"dateStart"),e.dateEnd=i._validateDate(e,"dateEnd"),e.dateStart||(e.minDateStart?e.dateStart=e.minDateStart:e.maxDateStart?e.dateStart=e.maxDateStart:e.dateStart=i.dateStart),e.dateEnd||(e.minDateEnd?e.dateEnd=e.minDateEnd:e.maxDateEnd&&(e.dateEnd=e.maxDateEnd)),e.minDateStart&&(e.dateStart=new Date(Math.max(e.minDateStart.getTime(),e.dateStart.getTime()))),e.maxDateStart&&(e.dateStart=new Date(Math.min(e.maxDateStart.getTime(),e.dateStart.getTime()))),e.minDateEnd&&(e.dateEnd=new Date(Math.max(e.minDateEnd.getTime(),e.dateEnd.getTime()))),e.maxDateEnd&&(e.dateEnd=new Date(Math.min(e.maxDateEnd.getTime(),e.dateEnd.getTime()))),e.dateStart&&(i.min&&(s=Math.min(e.dateStart.getTime()-i.min.getTime(),s),e.duration=i._convertDuration(s,!0)),i.max&&(s=Math.min(i.max.getTime()-e.dateStart.getTime(),s),e.duration=i._convertDuration(s,!0))),!e.dateStart&&s&&e.dateEnd&&(e.dateStart=new Date(e.dateEnd.getTime()-s)),"task"!==e.type||e.dateStart&&!isNaN(e.dateStart.getTime())||!t||(e.dateStart=new Date(t.dateStart)),a&&e.dateStart)if(i.adjustToNonworkingTime&&(i.nonworkingDays.length>0||i.nonworkingHours.length>0)){const t=i._getTaskWorkingDateEnd(e,a);e.dateEnd=new Date(Math.max(e.dateEnd?e.dateEnd.getTime():0,t.getTime()))}else e.dateEnd=new Date(Math.max(e.dateEnd?e.dateEnd.getTime():0,e.dateStart.getTime()+a));if(s&&e.dateStart&&(i.adjustToNonworkingTime&&(i.nonworkingDays.length>0||i.nonworkingHours.length>0)?e.dateEnd=i._getTaskWorkingDateEnd(e,s):e.dateEnd=new Date(e.dateStart.getTime()+s)),s||n){let t;t=i.adjustToNonworkingTime&&(i.nonworkingDays.length>0||i.nonworkingHours.length>0)?i._getTaskWorkingDateEnd(e,Math.max(s,n)):new Date(e.dateStart.getTime()+Math.max(s,n)),e.dateEnd.getTime()>t.getTime()&&(e.dateEnd=t)}"task"===e.type&&!e.dateEnd&&t&&(e.dateEnd=new Date(t.dateEnd)),e.dateStart=i._minMaxDateValidator(e.dateStart),e.dateEnd=i._minMaxDateValidator(e.dateEnd),"milestone"===e.type&&(e.dateStart=i._validateDate(e,"dateStart"),e.dateEnd=i._validateDate(e,"dateEnd"),e.dateStart=e.dateEnd=new Date(Math.max(e.dateStart?e.dateStart.getTime():0,e.dateEnd?e.dateEnd.getTime():0))),(e.dateStart||e.dateEnd||"project"!==e.type||e.synchronized)&&("milestone"!==e.type&&e.dateStart&&(e.dateEnd&&e.dateStart.getTime()>e.dateEnd.getTime()||!e.dateEnd)&&(e.dateEnd=new Date(e.dateStart.getTime()+36e5*("day"===i.view?1:24))),e.dateStart&&e.dateEnd&&(e.duration=i._convertDuration(i.nonworkingDays.length>0||i.nonworkingHours.length>0?i._getWorkingTime(e.dateStart,e.dateEnd):e.dateEnd.getTime()-e.dateStart.getTime(),!0)))}_validateTaskPlannedDates(e){const t=this;if(!e)return;const i=e.type,a=e.planned;if("milestone"===i||!a)return;const n=t._validateDate(a,"dateStart"),s=t._validateDate(a,"dateEnd");n&&s&&(a.duration=t._convertDuration(t.nonworkingDays.length>0||t.nonworkingHours.length>0?t._getWorkingTime(n,s):s.getTime()-n.getTime(),!0))}_synchronizeProjectDates(e,t){const i=this;if(e){void 0===t&&(t=i._getProjectTasks(e));for(let n=0,s=t.length;n<s;n+=1){const s=t[n];e.synchronized&&(s.dateStart&&(e.dateStart=a(s,"dateStart","min")),s.dateEnd&&(e.dateEnd=a(s,"dateEnd","max")),s.minDateStart&&(e.minDateStart=a(s,"minDateStart","max")),s.maxDateStart&&(e.maxDateStart=a(s,"maxDateStart","min")),s.minDateEnd&&(e.minDateEnd=a(s,"minDateEnd","max")),s.maxDateEnd&&(e.maxDateEnd=a(s,"maxDateEnd","min")),e.dateStart&&e.dateEnd&&(e.duration=i._convertDuration(i.nonworkingDays.length>0||i.nonworkingHours.length>0?i._getWorkingTime(e.dateStart,e.dateEnd):e.dateEnd.getTime()-e.dateStart.getTime(),!0)))}e.$&&i._synchronizeProjectDates(e.$.project,t)}function a(t,i,a){const n=e[i];let s=t[i];return void 0===n?new Date(s):s instanceof Date?new Date(Math[a](n.getTime(),s.getTime())):void 0}}_synchronizeProjectVisibility(e,t){const i=this;e&&e.hidden&&!t.hidden&&(e.hidden=t.hidden,e.$&&i._synchronizeProjectVisibility(e.$.project,e))}_mouseWheelHandler(e){const t=this,i=(t.shadowRoot||t).querySelector(".jqx-task-popup-window");if(i&&i.modal&&i.opened)return void e.stopPropagation();if(t.disabled||!t.computedHorizontalScrollBarVisibility&&!t.computedVerticalScrollBarVisibility)return;if(e.shiftKey)return void t._handleHorizontalScroll(e);if((t.disabled||t._scrollView.vScrollBar.$.hasClass("jqx-hidden")||e.shiftKey||!e.deltaY)&&!t.disabled&&(!t._scrollView.hScrollBar.$.hasClass("jqx-hidden")||e.shiftKey)){e.stopPropagation(),e.preventDefault();const i=0===e.deltaX?e.wheelDelta:e.deltaX;t._scrollView.scrollLeft+=i}const a=t.$.resourceSplitterItem;t.$.mainSplitter.contains(a)&&a.contains(e.target)?t._handleVerticalScroll(e,!0):t.$.taskSplitterItem.contains(e.target)&&t._handleVerticalScroll(e)}_handleVerticalScroll(e,t){const i=this;let a,n,s,r;if(t){if(a=i.$.resourceVerticalScrollBar,a.classList.contains("jqx-hidden")||a.disabled)return!0;n=a.value,s=a.max,r=i._resourceScrollView}else{if(!i.computedVerticalScrollBarVisibility||i.$.verticalScrollBar.disabled)return!0;n=i.scrollTop,s=i.scrollHeight,r=i}if(0===n&&e.deltaY<0||n===s&&e.deltaY>0)return void e.stopPropagation();const o=i.$[t?"resourceTable":"taskTable"];if(e.stopPropagation(),e.preventDefault(),n+=i._getScrollCoefficient(e,i.offsetHeight),r){const e=o.$.virtualizationContainer;e.scrollHeight!==r.scrollHeight&&(e.scrollHeight=r.scrollHeight),r.scrollTo(n,void 0)}o.scrollTop=n,i._hoveredItem&&i._handleTableItemHover()}_handleHorizontalScroll(e){const t=this;if(!t.computedHorizontalScrollBarVisibility)return!0;const i=t.scrollLeft;(0===i&&e.deltaX<0||i===t.scrollHeight&&e.deltaX>0)&&e.stopPropagation(),e.stopPropagation(),e.preventDefault(),t.scrollWidth>0&&t.scrollTo(void 0,t.scrollLeft+t._getScrollCoefficient(e,t.offsetWidth))}_handleHeaderTemplate(e="task"){const t=this;if(!("content"in document.createElement("template")))return void t.error(t.localize("htmlTemplateNotSuported",{elementType:t.nodeName.toLowerCase()}));const i=t.$[`${e}SplitterItemHeader`],a=t.$[`${e}SplitterItem`],n="task"===e?"headerTemplate":"resourcePanelHeaderTemplate";let s=t[n];if(a.removeAttribute("show-header"),i.innerHTML="",!s)return;if("function"==typeof s)return s(i,{}),void(i.innerHTML?a.setAttribute("show-header",""):a.removeAttribute("show-header"));if("string"==typeof s&&(s=document.getElementById(s)),null===s||!("content"in s))return void t.error(t.localize("invalidTemplate",{elementType:t.nodeName.toLowerCase(),property:n}));let r=document.importNode(s.content,!0);if(a.setAttribute("show-header",""),t.shadowRoot)return i.innerHTML="<slot></slot>",void t.appendChild(r);i.appendChild(r)}_handleCollapseExpandMethods(e,t){const i=this,a=i._tasks;if(null==e||!a||!a.length)return;const n=i._getValidItemAndIndex(e);if(!n||!n.item)return void i.error(i.localize("incorrectArgument",{elementType:i.nodeName.toLowerCase(),methodName:"collapse",argumentName:"task"}));let s=n.item;"project"!==s.type&&(s=s.$.project),s&&(s.hidden?s.expanded="expand"===t:i.$.taskTable["expand"===t?"expandRow":"collapseRow"](s.$.id))}_getValidItemAndIndex(e,t="task"){const i=this,a="task"===t?i._tasks:i._resources;let n;if(null==e||!a||!a.length)return{};if("string"==typeof e||"number"==typeof e){const t=e.toString();let i,s;for(let n=0,r=a.length;n<r;n+=1){const r=a[n];if(!i){const a=r.id;if(null!=a&&a.toString&&a.toString()===t){i=r,e=n;break}}r.$.id===t&&(s=r,e=n)}n=i||s}else"object"==typeof e&&(n=a[i._getItemIndex(e,t)],e=a.indexOf(n));return{item:n,index:e}}_horizontalScrollbarHandler(e){const t=this,i=t._getScrollLeft(e.detail.value);e.stopPropagation&&e.stopPropagation(),t.$.timelineHeader.scrollLeft=t.$.taskTimelineContainer.scrollLeft=i,t.$.mainSplitter.contains(t.$.resourceTimelineHeader)&&(t.$.resourceTimelineHeader.scrollLeft=t.$.resourceTimelineContent.scrollLeft=i),t._recycle(e),e.context.min!==e.context.value?e.context.max===e.context.value&&(t._handleInfiniteTimeline(),t.$.fireEvent("scrollRightReached")):t.$.fireEvent("scrollLeftReached")}_verticalScrollbarHandler(e){const t=this,i=e.target,a=Math.round(e.detail.value);e.stopPropagation&&e.stopPropagation(),t._refreshing||(i&&i===t.$.resourceVerticalScrollBar?t.$.resourceTable.scrollTop=t.$.resourceTimelineContent.scrollTop=a:(t.$.taskTimelineContainer.scrollTop=a,t.$.taskTable.scrollTop=a),t._recycle(e),e.context.max!==e.context.value?e.context.min===e.context.value&&t.$.fireEvent("scrollTopReached"):t.$.fireEvent("scrollBottomReached"))}_handleInfiniteTimeline(){const e=this,t=e._timelineCells;if(!e.infiniteTimeline||!t||!t.length)return;const i=e.infiniteTimelineStep,a=t[t.length-1].date;switch(e.view){case"quarter":case"year":a.setMonth(a.getMonth()+i);break;case"month":a.setDate(a.getDate()+7*i);break;case"week":a.setDate(a.getDate()+i);break;case"day":a.setHours(a.getHours()+i)}e.set("dateEnd",a),e._createTimelineCells(),e._recycleTimelineTasks(!0),e.$.mainSplitter.contains(e.$.resourceSplitter)&&e._refreshResourceTimeline(),e._refresh()}_nonworkingDayValidator(e,t){return this._nonworkingDateTimeValidator(e,t)}_nonworkingTimeValidator(e,t){return this._nonworkingDateTimeValidator(e,t,!0)}_nonworkingDateTimeValidator(e,t,i){const a=this,[n,s,r]=i?[0,23,24]:[0,6,7];let o=[];function l(e){let t=Math.max(n,Math.min(s,parseInt(e[0]))),i=Math.max(n,Math.min(s,parseInt(e[1])));if(!isNaN(t)&&!isNaN(i)){for(;t!==i;)o.push(t),t=t===s?n:++t;o.push(t)}return o}for(let e=0;e<t.length;e++){const i=t[e];"number"!=typeof i||isNaN(i)?"string"==typeof i?o=l(i.split("-").map((e=>parseInt(e)))):Array.isArray(i)&&(o=l(i)):o.push(Math.max(n,Math.min(s,parseInt(i))))}return o.length===r&&(o.pop(),a.warn(a.localize("invalidNonworkingRange",{elementType:a.nodeName.toLowerCase(),property:i?"nonworkingHours":"nonworkingDays"}))),o}});

/***/ }),

/***/ 3176:
/***/ (() => {

JQX("jqx-grid-panel",class extends JQX.BaseElement{static get properties(){return{closeButtonPosition:{value:"left",allowedValues:["left","right"],type:"string"},dataSource:{value:[],type:"array",reflectToAttribute:!1},messages:{value:{en:{apply:"Ok",booleanFirst:"☐",booleanLast:"☑",cancel:"Cancel",dateFirst:"1",dateLast:"9",from:"from",numberFirst:"1",numberLast:"9",stringFirst:"A",stringLast:"Z",thenBy:"then by"}},type:"object",extend:!0}}}static get listeners(){return{change:"_changeHandler",click:"_clickHandler",keydown:"_keydownHandler","sortable.dragEnd":"_sortableDragEndHandler"}}static get requires(){return{"JQX.Input":"jqx.input.js","JQX.Sortable":"jqx.sortable.js"}}static get styleUrls(){return["jqx.grid.anel.css"]}template(){return'<div id="container" role="presentation">\n                    <jqx-sortable id="sortable" disable-mode="manual" animation="[[animation]]" disabled="[[readonly]]" right-to-left="[[rightToLeft]]"\n                            drag-mode="handle" handle-position="right" handle-visibility="visible" theme="[[theme]]">\n                    </jqx-sortable>\n                    <div id="footer" class="jqx-grid-panel-container-footer" role="presentation">\n                        <jqx-input id="inputNotSorted" right-to-left="[[rightToLeft]]" animation="[[animation]]" readonly theme="[[theme]]"></jqx-input>\n                        <div id="buttonsContainer" class="jqx-grid-panel-buttons-container jqx-unselectable" role="presentation">\n                            <span class="jqx-grid-panel-cancel-button" role="button"></span>\n                            <span class="jqx-grid-panel-apply-button primary" role="button"></span>\n                        </div>\n                    </div>\n                </div>'}ready(){super.ready()}render(){const e=this;e.setAttribute("role","dialog"),"right"===e.closeButtonPosition&&(e.$.sortable.handlePosition="left"),e._localize(),e._createSources(),super.render()}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const l=this;switch(e){case"animation":case"theme":Array.from(l.$.sortable.getElementsByTagName("jqx-input")).forEach((t=>t[e]=a));break;case"disabled":case"unfocusable":l._setFocusable();break;case"closeButtonPosition":"right"===l.closeButtonPosition?l.$.sortable.handlePosition="left":l.$.sortable.handlePosition="right";break;case"dataSource":l.$.sortable.$.container.innerHTML="",l._createSources();break;case"locale":case"messages":{const e=l.$.sortable._items;l._localize(),e.length&&(e[0].children[1].innerHTML=l.localize("firstBy"),e.forEach((function(e,t){0!==t&&(e.children[1].innerHTML=l.localize("thenBy"));const a=l._HTMLToSourceMap.get(e),n=l._ascDescTemplates[a.dataType]||l._ascDescTemplates.string;e.children[3].innerHTML=l.localize("from"),e.children[4].firstElementChild.innerHTML=n[0],e.children[4].children[1].innerHTML=n[1]})));break}case"maxLevel":if(null!=a)for(;l.$.sortable._items.length>0&&l.$.sortable._items.length>a;)l._interactionHandler(l.$.sortable._items[l.$.sortable._items.length-1].firstElementChild);l._disableItemAddition();break;case"rightToLeft":l.$.inputNotSorted.rightToLeft=a,l.$.inputNotSorted.dropDownButtonPosition=a?"left":"right",l.$.sortable._items.forEach((e=>{const t=e.querySelector("jqx-input");t.rightToLeft=a,t.dropDownButtonPosition=a?"left":"right"}))}}_changeHandler(e){const t=this,a=t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target;if(t.$.inputNotSorted.contains(a)){const e=t.$.inputNotSorted.value,a=t._labelToSourceMap.get(e);return t._createSortItem(a,t.$.sortable._items.length),t.$.sortable.updateItems(),t._visibleLabels.push(e),t._updateHiddenSource(),t._disableItemAddition(),void(t.$.inputNotSorted.value="")}const l=a.closest("jqx-input");if(!l)return;const n=l.parentElement.parentElement,i=n.children[4].firstElementChild,o=n.children[4].children[1],r=l.value,s=t._HTMLToSourceMap.get(n).label,d=t._labelToSourceMap.get(r),c=t._ascDescTemplates[d.dataType]||t._ascDescTemplates.string;t._HTMLToSourceMap.set(n,d),t._visibleLabels.splice(t._visibleLabels.indexOf(s),1,r),t._updateHiddenSource(),i.innerHTML=c[0],o.innerHTML=c[1],d.sortDirection&&-1===d.sortDirection.indexOf("asc")?(o.classList.add("selected"),i.classList.remove("selected")):(i.classList.add("selected"),o.classList.remove("selected"))}_updateHiddenSource(){const e=this;e._hiddenSource=e.dataSource.map((e=>({label:e.label,value:e.dataField,icon:e.icon}))).filter((t=>-1===e._visibleLabels.indexOf(t.label)));const t=e.$.inputNotSorted.context;e.$.inputNotSorted.context=e.$.inputNotSorted,e.$.inputNotSorted.dataSource=e._hiddenSource,e.$.sortable._items.forEach((t=>{const a=t.getElementsByTagName("jqx-input")[0],l=a.context;a.context=a,a.dataSource=e._hiddenSource,a.context=l})),e.$.inputNotSorted.context=t,e._disableItemAddition(),e.$.fireEvent("dataSourceChange")}_clickHandler(e){const t=this;t._interactionHandler(t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target,e)}_interactionHandler(e,t){const a=this;if(a.disabled||a.readonly)return!0;const l=e.closest(".jqx-grid-panel-item");if(l){if(e===l.firstElementChild){const e=a._HTMLToSourceMap.get(l).label;a.$.sortable.$.container.removeChild(l),a.$.sortable.updateItems(),a._visibleLabels.splice(a._visibleLabels.indexOf(e),1),a._updateHiddenSource(),a._disableItemAddition(),a.$.sortable._items.length&&(a.$.sortable._items[0].children[1].innerHTML=a.localize("firstBy")),a.$.fireEvent("remove")}else if(l.children[4].contains(e)){const n=l.children[4].firstElementChild,i=l.children[4].children[1];"click"===t.type?e.classList.contains("selected")||(e===n?(i.classList.remove("selected"),n.classList.add("selected"),a._HTMLToSourceMap.get(l).sortDirection="ascending"):e===i&&(n.classList.remove("selected"),i.classList.add("selected"),a._HTMLToSourceMap.get(l).sortDirection="descending")):(n.classList.toggle("selected"),i.classList.toggle("selected"),a._HTMLToSourceMap.get(l).sortDirection=n.classList.contains("selected")?"ascending":"descending")}return!0}if(e===a.$.buttonsContainer.firstElementChild)return a.$.fireEvent("cancel"),!0;if(e===a.$.buttonsContainer.children[1]){const e=[],t={dataFields:[],dataTypes:[],orderBy:[]},l={value:e};return a.$.sortable._items.forEach((l=>{const n=a._HTMLToSourceMap.get(l);e.push({dataField:n.dataField,sortDirection:n.sortDirection}),t.dataFields.push(n.dataField),t.dataTypes.push(n.dataType),t.orderBy.push(n.sortDirection)})),a instanceof JQX.SortPanel&&a.$.maintainSortContainer&&(t.maintainSort=a.$.maintainSortContainer.firstElementChild.hasAttribute("active")),(a instanceof JQX.SortPanel||a instanceof JQX.GroupPanel)&&(l.sortByInfo=t),a.$.fireEvent("apply",l),!0}}_keydownHandler(e){const t=this,a=e.key;" "!==a&&"Enter"!==a||(e.preventDefault(),t._interactionHandler((t.shadowRoot||t.getRootNode()).activeElement,e))}_sortableDragEndHandler(e){const t=this,a=e.detail.oldIndex,l=e.detail.newIndex,n=Math.max(a,l),i=t.$.sortable._items;0===(a&&l)&&(i[0].children[1].innerHTML=t.localize("firstBy"),i[1].children[1].innerHTML=t.localize("thenBy"),n>1&&(i[n].children[1].innerHTML=t.localize("thenBy")))}_localize(){const e=this;e.$.inputNotSorted.placeholder=e.localize("pickAnother"),e.$.buttonsContainer.firstElementChild.innerHTML=e.localize("cancel"),e.$.buttonsContainer.children[1].innerHTML=e.localize("apply"),e._ascDescTemplates={boolean:[e.localize("booleanFirst")+" → "+e.localize("booleanLast"),e.localize("booleanLast")+" → "+e.localize("booleanFirst")],date:[e.localize("dateFirst")+" → "+e.localize("dateLast"),e.localize("dateLast")+" → "+e.localize("dateFirst")],number:[e.localize("numberFirst")+" → "+e.localize("numberLast"),e.localize("numberLast")+" → "+e.localize("numberFirst")],string:[e.localize("stringFirst")+" → "+e.localize("stringLast"),e.localize("stringLast")+" → "+e.localize("stringFirst")]}}_createSources(){const e=this,t=(e instanceof JQX.SortPanel?"sort":"group")+"Index",a=[],l=[];if(e._HTMLToSourceMap=new Map,e._labelToSourceMap=new Map,e.dataSource.forEach((l=>{e._labelToSourceMap.set(l.label,l),-1!==l[t]&&void 0!==l[t]&&a.push(l)})),a.sort(((e,a)=>e[t]-a[t])),void 0!==e.maxLevel&&null!==e.maxLevel)for(;a.length>0&&a.length>e.maxLevel;)a.pop();e.$.inputNotSorted.dropDownButtonPosition=e.rightToLeft?"left":"right",e.$.inputNotSorted.dataSource&&e.$.inputNotSorted.dataSource.length<10&&e.$.inputNotSorted.dataSource.length>0?e.$.inputNotSorted.dropDownHeight="auto":e.$.inputNotSorted.dropDownHeight=250,a.forEach((e=>l.push(e.label))),e._visibleLabels=l,e._updateHiddenSource(),a.forEach(((t,a)=>{e._createSortItem(t,a)})),e.$.sortable.updateItems(),e._disableItemAddition(),e._setFocusable()}_createSortItem(e,t){const a=this,l=a.disabled||a.unfocusable?-1:0,n=document.createElement("div"),i=a._ascDescTemplates[e.dataType]||a._ascDescTemplates.string;n.className="jqx-grid-panel-item",n.innerHTML=`<div class="jqx-grid-panel-item-close-button" tabindex="${l}" role="button" aria-label="Close"></div>\n<div class="jqx-grid-panel-label-by jqx-unselectable" role="presentation">${a.localize(t>0?"thenBy":"firstBy")}</div>\n<div class="jqx-grid-panel-field-container" role="presentation"><jqx-input class="jqx-grid-panel-field-selection" value="${e.label}" animation="${a.animation}" readonly theme="${a.theme}" aria-label="Field name"></jqx-input></div>\n<div class="jqx-grid-panel-from jqx-unselectable" role="presentation">${a.localize("from")}</div >\n<div class="jqx-grid-panel-direction jqx-unselectable" tabindex="${l}" role="presentation">\n    <div class="jqx-grid-panel-asc" role="button" aria-label="Ascending">${i[0]}</div >\n    <div class="jqx-grid-panel-desc" role="button" aria-label="Descending">${i[1]}</div>\n</div>\n`;const o=n.querySelector("jqx-input");o.dataSource=a._hiddenSource,o.rightToLeft=a.rightToLeft,o.dropDownButtonPosition=a.rightToLeft?"left":"right",o.dataSource&&o.dataSource.length<10?o.dropDownHeight="auto":o.dropDownHeight=250,a.$.sortable.$.container.appendChild(n),o.tabIndex=l,e.sortDirection&&-1===e.sortDirection.indexOf("asc")?n.children[4].children[1].classList.add("selected"):(e.sortDirection="ascending",n.children[4].firstElementChild.classList.add("selected")),a._HTMLToSourceMap.set(n,e)}_disableItemAddition(){const e=this,t=e.maxLevel,a=0===e._hiddenSource.length||null!=t&&Math.max(0,t)===e.$.sortable._items.length;e.$.inputNotSorted.disabled=a,a&&e.$.inputNotSorted.removeAttribute("focus")}_setFocusable(){const e=this,t=e.disabled||e.unfocusable?-1:0,a=Array.from(e.getElementsByClassName("jqx-grid-panel-item-close-button")),l=Array.from(e.getElementsByClassName("jqx-grid-panel-direction")),n=Array.from(e.getElementsByTagName("input")),i=a.concat(l).concat(n);e.$.buttonsContainer.firstElementChild.tabIndex=t,e.$.buttonsContainer.children[1].tabIndex=t,i.forEach((e=>e.tabIndex=t))}}),JQX("jqx-sort-panel",class extends JQX.GridPanel{static get properties(){return{messages:{value:{en:{firstBy:"Sort by",noSorting:"No sorting applied",pickAnother:"Pick another field to sort by",maintainSort:"Maintain Sort",applyOnce:"Apply once"}},type:"object",extend:!0}}}template(){return'<div id="container" role="presentation">\n                    <jqx-sortable disable-mode="manual" right-to-left="[[rightToLeft]]" id="sortable" animation="[[animation]]" disabled="[[readonly]]" drag-mode="handle" handle-position="right" handle-visibility="visible" theme="[[theme]]"></jqx-sortable>\n                    <div id="footer" class="jqx-grid-panel-container-footer" role="presentation">\n                        <div>\n                        <jqx-input right-to-left="[[rightToLeft]]" id="inputNotSorted" animation="[[animation]]" readonly theme="[[theme]]"></jqx-input>\n                        <div id="maintainSortContainer" class="jqx-hidden jqx-grid-panel-buttons-container jqx-grid-panel-maintain-sort jqx-unselectable" role="presentation">\n                        <span class="jqx-grid-panel-maintain-sort-button" role="button"></span>\n                         </div>\n                    \n                        </div>\n                        <div id="buttonsContainer" class="jqx-grid-panel-buttons-container jqx-unselectable" role="presentation">\n                            <span class="jqx-grid-panel-cancel-button" role="button"></span>\n                            <span class="jqx-grid-panel-apply-button primary" role="button"></span>\n                        </div>\n                    </div>\n                </div>'}_changeApplyButtonText(e){const t=this,a=t.$.maintainSortContainer.firstElementChild,l=t.querySelector(".jqx-grid-panel-apply-button");e?a.hasAttribute("active")?(a.removeAttribute("active"),l&&(l.innerHTML=t.localize("applyOnce"))):(a.setAttribute("active",""),l&&(l.innerHTML=t.localize("apply"))):a.hasAttribute("active")?l.innerHTML=t.localize("apply"):l.innerHTML=t.localize("applyOnce")}_interactionHandler(e,t){const a=this;super._interactionHandler(e,t)||e===a.$.maintainSortContainer.firstElementChild&&a._changeApplyButtonText(!0)}static get styleUrls(){return["jqxtextbox.css"]}_localize(){super._localize();const e=this;e.$.sortable.$.container.setAttribute("no-sorting",e.localize("noSorting")),e.$.maintainSortContainer.firstElementChild.innerHTML=e.localize("maintainSort"),e._changeApplyButtonText()}}),JQX("jqx-group-panel",class extends JQX.GridPanel{static get properties(){return{maxLevel:{value:8,type:"number?"},messages:{value:{en:{collapseAll:"Collapse all",expandAll:"Expand all",firstBy:"Group by",noGrouping:"No grouping",pickAnother:"Pick another field to group by"}},type:"object",extend:!0}}}template(){return'<div id="container" role="presentation">\n                    <jqx-sortable disable-mode="manual" right-to-left="[[rightToLeft]]" id="sortable" animation="[[animation]]" disabled="[[readonly]]" drag-mode="handle" handle-position="right" handle-visibility="visible" theme="[[theme]]"></jqx-sortable>\n                    <div id="expandCollapseContainer" class="jqx-grid-panel-buttons-container jqx-grid-panel-expand-collapse jqx-unselectable" role="presentation">\n                        <span class="jqx-group-panel-collapse-button" role="button"></span>\n                        <span class="jqx-group-panel-expand-button" role="button"></span>\n                    </div>\n                    <div id="footer" class="jqx-grid-panel-container-footer" role="presentation">\n                        <jqx-input right-to-left="[[rightToLeft]]" id="inputNotSorted" animation="[[animation]]" readonly theme="[[theme]]"></jqx-input>\n                        <div id="buttonsContainer" class="jqx-grid-panel-buttons-container jqx-unselectable" role="presentation">\n                            <span class="jqx-grid-panel-cancel-button" role="button"></span>\n                            <span class="jqx-grid-panel-apply-button primary" role="button"></span>\n                        </div>\n                    </div>\n                </div>'}_interactionHandler(e,t){const a=this;super._interactionHandler(e,t)||(e===a.$.expandCollapseContainer.firstElementChild?a.$.fireEvent("collapseAll"):e===a.$.expandCollapseContainer.children[1]&&a.$.fireEvent("expandAll"))}_localize(){super._localize();const e=this;e.$.expandCollapseContainer.firstElementChild.innerHTML=e.localize("collapseAll"),e.$.expandCollapseContainer.children[1].innerHTML=e.localize("expandAll"),e.$.sortable.$.container.setAttribute("no-grouping",e.localize("noGrouping"))}_setFocusable(){super._setFocusable();const e=this,t=e.disabled||e.unfocusable?-1:0;e.$.expandCollapseContainer.firstElementChild.tabIndex=t,e.$.expandCollapseContainer.children[1].tabIndex=t}}),JQX("jqx-multi-column-filter-panel",class extends JQX.BaseElement{static get properties(){return{closeButtonPosition:{value:"left",allowedValues:["left","right"],type:"string"},dataSource:{value:[],type:"array",reflectToAttribute:!1},editorCallback:{value:null,type:"function?",reflectToAttribute:!1},editorPlaceholder:{value:"Value",type:"string"},messages:{value:{en:{addFilter:"+ Add filter",and:"And",apply:"Ok",cancel:"Cancel",CONTAINS:"contains",CONTAINS_CASE_SENSITIVE:"contains (case sensitive)",DOES_NOT_CONTAIN:"does not contain",DOES_NOT_CONTAIN_CASE_SENSITIVE:"does not contain (case sensitive)",EMPTY:"empty",ENDS_WITH:"ends with",ENDS_WITH_CASE_SENSITIVE:"ends with (case sensitive)",EQUAL:"equal",EQUAL_CASE_SENSITIVE:"equal (case sensitive)",GREATER_THAN:"greater than",GREATER_THAN_OR_EQUAL:"greater than or equal",LESS_THAN:"less than",LESS_THAN_OR_EQUAL:"less than or equal",noFilters:"No filters applied",NOT_EMPTY:"not empty",NOT_EQUAL:"not equal",NOT_NULL:"not null",NULL:"null",or:"Or",STARTS_WITH:"starts with",STARTS_WITH_CASE_SENSITIVE:"starts with (case sensitive)",where:"Where",TOMORROW:"Tomorrow",TODAY:"Today",YESTERDAY:"Yesterday",NEXT_WEEK:"Next week",THIS_WEEK:"This week",LAST_WEEK:"Last week",NEXT_MONTH:"Next month",THIS_MONTH:"This month",LAST_MONTH:"Last month"}},type:"object",extend:!0},operator:{value:"and",allowedValues:["and","or"],type:"string"},value:{value:[],type:"array"}}}static get listeners(){return{change:"_changeHandler",click:"_interactionHandler",keydown:"_interactionHandler"}}static get requires(){return{"JQX.Button":"jqx.button.js","JQX.CheckBox":"jqx.checkbox.js","JQX.DateTimePicker":"jqx.datetimepicker.js","JQX.FilterGroup":"jqx.filter.js","JQX.Input":"jqx.input.js","JQX.NumericTextBox":"jqx.numerictextbox.js"}}static get styleUrls(){return["jqx.grid.anel.css"]}template(){return'<div id="container" role="presentation">\n                    <div id="itemsContainer" class="jqx-filter-panel-items-container jqx-unselectable"></div>\n                    <div id="footer" class="jqx-grid-panel-container-footer" role="presentation">\n                        <div id="addFilterButton" class="jqx-filter-panel-add-filter-button jqx-unselectable" role="button"></div>\n                        <div id="buttonsContainer" class="jqx-grid-panel-buttons-container jqx-unselectable" role="presentation">\n                            <span class="jqx-grid-panel-cancel-button" role="button"></span>\n                            <span class="jqx-grid-panel-apply-button primary" role="button"></span>\n                        </div>\n                    </div>\n                </div>'}ready(){super.ready()}render(){const e=this;e.setAttribute("role","dialog"),e._setFocusable(),e._localize(),e._applyValue(),super.render()}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const l=this;switch(e){case"animation":case"theme":case"rightToLeft":Array.from(l.$.itemsContainer.querySelectorAll("jqx-date-time-picker, jqx-numeric-text-box, jqx-check-box, jqx-input")).forEach((t=>{t[e]=a,"jqx-input"===t.tagName.toLowerCase()&&"rightToLeft"===e&&"none"!==t.dropDownButtonPosition&&(t.dropDownButtonPosition=a?"left":"right")}));break;case"disabled":case"unfocusable":l._setFocusable(!0);break;case"dataSource":case"value":l._applyValue();break;case"editorPlaceholder":Array.from(l.$.itemsContainer.getElementsByClassName("editor")).forEach((e=>e.placeholder=a));break;case"locale":case"messages":l._localize(!0);break;case"operator":l._setOperator()}}_setOperator(){const e=this,t=e.localize(e.operator);for(let a=2;a<e._items.length;a++)e._items[a].children[1].innerHTML=t}_changeHandler(e){const t=this,a=t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target;if(a instanceof JQX.Input==0)return;const l=a.parentElement,n=l.children;if(a===n[1])t.operator=a.$.input.dataValue,t._setOperator();else if(a===n[2]){let a,i,o=t.dataSource.find((t=>t.dataField===e.detail.oldValue)).dataType,r=t.dataSource.find((t=>t.dataField===e.detail.oldValue)),s=t.dataSource.find((t=>t.dataField===e.detail.value)),d=s.dataType,c=[];if(s.options&&(d="enum",c=s.options.map((e=>{const t=e.color||"var(--jqx-primary)";return e.prefix='<span style="background: '+t+'; width: 14px; height: 14px; display: inline-block; border-radius: 50%; margin-left:-4px; margin-right: 8px; top: 2px; position: relative;"></span>',""===e.label&&(e.label=" "),e}))),r&&r.options&&(o="enum"),"enum"!==d&&d===o)return void(t.editorCallback&&t.editorCallback(n[4],s));let u=n[3].value;switch(d){case"date":a=t._dateConditions,i=document.createElement("jqx-date-time-picker"),i.calendarButton=!0,i.dropDownAppendTo="body",i.dropDownDisplayMode="auto",i.formatString="M/d/yy H:mm",u="";break;case"number":a=t._numberAndDateConditions,i=document.createElement("jqx-numeric-text-box"),u="";break;case"boolean":a=t._booleanConditions,i=document.createElement("jqx-check-box"),u="";break;case"enum":a=t._enumConditions,i=document.createElement("jqx-input"),i.dataSource=c.length?c:s.options,i.readonly=!0,i.dropDownButtonPosition="right",u=a[0];break;default:a=t._stringConditions,u=t._stringConditions.find((e=>"CONTAINS"===e.value)),i=document.createElement("jqx-input")}a.forEach((e=>{delete e.selected})),i.rightToLeft=t.rightToLeft,i.animation=t.animation,i.theme=t.theme,i.unfocusable=t.disabled||t.unfocusable,i.classList.add("underlined"),i.dataSource&&i.dataSource.length<10?i.dropDownHeight="auto":i.dropDownHeight=250,"boolean"!==d&&(i.placeholder=t.editorPlaceholder),t.editorCallback&&t.editorCallback(i,s),n[4]&&n[4].remove(),l.appendChild(i),""===u||a.find((e=>e.label===u))||(u.value?(n[3].value=u.label,n[3].selectedValue=u.value):(n[3].value="",n[3].selectedValue="")),n[3].dataSource=a,""===u&&(n[3].value=a[0].label,n[3].selectedValue=a[0].value),a.length>=10?n[3].dropDownHeight=250:n[3].dropDownHeight="auto",l.dataType=d}else if(a===n[3]){const e=n[4],t=a.$.input.dataValue;-1!==t.indexOf("NULL")||-1!==t.indexOf("EMPTY")||-1!==t.indexOf("THIS_WEEK")||-1!==t.indexOf("LAST_WEEK")||-1!==t.indexOf("NEXT_WEEK")||-1!==t.indexOf("THIS_MONTH")||-1!==t.indexOf("LAST_MONTH")||-1!==t.indexOf("NEXT_MONTH")||-1!==t.indexOf("THIS_YEAR")||-1!==t.indexOf("LAST_YEAR")||-1!==t.indexOf("NEXT_YEAR")||-1!==t.indexOf("TODAY")||-1!==t.indexOf("TOMORROW")||-1!==t.indexOf("YESTERDAY")?(e.value="",e.checked=!1,e.classList.add("jqx-visibility-hidden")):e.classList.remove("jqx-visibility-hidden"),a.condition=t}}_interactionHandler(e){const t=this;if(t.disabled||t.readonly)return;if("keydown"===e.type){if("Enter"!==e.key)return;e.preventDefault()}const a=t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target,l=a.closest(".jqx-grid-panel-item");if(l){if(a===l.firstElementChild){const e=t._items.indexOf(l);let a;t._items.splice(e,1),l.remove(),t._items.length>0&&e<2&&(0===e&&(t._items[0].children[1].remove(),a=document.createElement("div"),a.innerHTML=t.localize("where"),t._items[0].insertBefore(a,t._items[0].children[1])),t._items.length>1&&(t._items[1].children[1].remove(),a=document.createElement("jqx-input"),a.className="underlined",a.dataSource=[{value:"and",label:t.localize("and")},{value:"or",label:t.localize("or")}],a.dropDownButtonPosition=t.rightToLeft?"left":"right",a.readonly=!0,a.value=t.localize(t.operator),a.animation=t.animation,a.theme=t.theme,a.rightToLeft=t.rightToLeft,a.unfocusable=t.disabled||t.unfocusable,t._items[1].insertBefore(a,t._items[1].children[1])))}}else if(a===t.$.addFilterButton&&t.dataSource.length>0)t.$.itemsContainer.appendChild(t._createItem(t.dataSource[0],"","",t._items.length));else if(a!==t.$.buttonsContainer.firstElementChild){if(a===t.$.buttonsContainer.children[1]){let e=t._stringConditions.concat(t._dateConditions),a=t.operator,l=[],n={},i=[];t._customConditions&&(e=e.concat(t._customConditions)),t._items.forEach((i=>{const o=t.dataSource.find((e=>e.label===i.children[2].value)),r=[];let s=i.children[3].value;if(""===s)return;let d=o.dataType;if(s=e.find((e=>e.label===s)).value,r.push(o.dataField,s),-1===s.indexOf("NULL")&&-1===s.indexOf("EMPTY"))if("boolean"===d)r.push(i.children[4].checked);else if("date"===d)r.push(i.children[4].value.toDate());else if("enum"===d||o.options){let e=i.children[4].$.input.dataValue;if(void 0===e){const t=o.options.find((e=>e.label===i.children[4].value));if(!t)return;e=t.value}d="string",r.push(e)}else r.push(i.children[4].value);let c=n[r[0]];void 0===c&&(c=new JQX.Utilities.FilterGroup,n[r[0]]=c);const u=c.createFilter(d,r[2],r[1]);c.addFilter(a,u),l.push(r)}));for(let e in n)i.push([e,n[e]]);t.value=l,t.$.fireEvent("apply",{filters:i,operator:a,value:l})}}else t.$.fireEvent("cancel")}_applyValue(){const e=this,t=document.createDocumentFragment();let a=0;for(e._items=[];e.$.itemsContainer.firstElementChild;)e.$.itemsContainer.firstElementChild.remove();0!==e.dataSource.length&&(e.value.forEach((l=>{if(!Array.isArray(l))return;const n=l[0],i=e.dataSource.find((e=>e.dataField===n));if(!i)return;const o=e._createItem(i,l[1],l[2],a);t.appendChild(o),a++})),e.$.itemsContainer.appendChild(t))}_createItem(e,t,a,l){const n=this,i=n.disabled||n.unfocusable?-1:0,o=document.createElement("div"),r=document.createDocumentFragment(),s=document.createElement("div"),d=document.createElement("jqx-input"),c=document.createElement("jqx-input");let u,p;if(s.className="jqx-grid-panel-item-close-button",s.tabIndex=i,s.setAttribute("role","button"),s.setAttribute("aria-label","button"),r.appendChild(s),0===l?(u=document.createElement("div"),u.innerHTML=n.localize("where"),u.setAttribute("role","presentation")):1===l?(u=document.createElement("jqx-input"),u.className="underlined",u.dataSource=[{value:"and",label:n.localize("and")},{value:"or",label:n.localize("or")}],u.dropDownButtonPosition=n.rightToLeft?"left":"right",u.readonly=!0,u.value=n.localize(n.operator),u.animation=n.animation,u.theme=n.theme,u.rightToLeft=n.rightToLeft,u.unfocusable=n.disabled||n.unfocusable,u.setAttribute("aria-label","Operator")):(u=document.createElement("div"),u.innerHTML=n.localize(n.operator),u.setAttribute("role","presentation")),r.appendChild(u),d.className="underlined",d.dataSource=n.dataSource.map((e=>({value:e.dataField,label:e.label,icon:e.icon}))),d.dropDownButtonPosition=n.rightToLeft?"left":"right",d.readonly=!0,d.value=e.label,d.animation=n.animation,d.theme=n.theme,d.rightToLeft=n.rightToLeft,d.unfocusable=n.disabled||n.unfocusable,d.setAttribute("aria-label","Field"),d.dataSource&&d.dataSource.length<10?d.dropDownHeight="auto":d.dropDownHeight=250,r.appendChild(d),"boolean"===e.dataType)c.dataSource=JSON.parse(JSON.stringify(n._booleanConditions)),p=document.createElement("jqx-check-box"),p.checked="boolean"==typeof a&&a;else if("date"===e.dataType)c.dataSource=n._dateConditions,p=document.createElement("jqx-date-time-picker"),p.dropDownDisplayMode="auto",p.calendarButton=!0,p.dropDownAppendTo="body",p.formatString="M/d/yy H:mm",p.value=a;else if("number"===e.dataType)c.dataSource=JSON.parse(JSON.stringify(n._numberAndDateConditions)),p=document.createElement("jqx-numeric-text-box"),p.value="number"==typeof a||"string"==typeof a?a:0;else if("enum"===e.dataType||e.options){c.dataSource=JSON.parse(JSON.stringify(n._enumConditions)),p=document.createElement("jqx-input");let t=[];e.options&&(t=e.options.map((e=>{"string"==typeof e&&(e={label:e,value:e});const t=e.color||"var(--jqx-primary)";return e.prefix='<span style="background: '+t+'; width: 14px; height: 14px; display: inline-block; border-radius: 50%; margin-left:-4px; margin-right: 8px; top: 2px; position: relative;"></span>',""===e.label&&(e.label=" "),e}))),p.dataSource=t.length?t:e.options,p.readonly=!0,p.dropDownButtonPosition="right";let l=a?e.options.find((e=>void 0!==e.value&&e.value===a||void 0!==e.label&&e.label===a||"string"==typeof e&&e===a?e:void 0)):null;l?("string"==typeof l&&(l={label:l,value:l}),p.value=a?l.label:""):p.value=""}else c.dataSource=JSON.parse(JSON.stringify(n._stringConditions)),p=document.createElement("jqx-input"),p.value=null!=a?a.toString():"",t||(t="CONTAINS");return c.className="underlined",c.dropDownButtonPosition=n.rightToLeft?"left":"right",c.readonly=!0,c.animation=n.animation,c.theme=n.theme,c.rightToLeft=n.rightToLeft,c.unfocusable=n.disabled||n.unfocusable,c.setAttribute("aria-label","Condition"),c.classList.add("jqx-filter-panel-list"),c.dataSource.forEach((e=>{delete e.selected})),c.dataSource.find((e=>e.value===t))?(c.value=n.localize(t),c.selectedValue=t,c.condition=t):(p.value="",p.checked=!1),(void 0===t||-1===t.indexOf("NULL")&&-1===t.indexOf("EMPTY"))&&-1===t.indexOf("THIS_WEEK")&&-1===t.indexOf("LAST_WEEK")&&-1===t.indexOf("NEXT_WEEK")&&-1===t.indexOf("THIS_MONTH")&&-1===t.indexOf("LAST_MONTH")&&-1===t.indexOf("NEXT_MONTH")&&-1===t.indexOf("THIS_YEAR")&&-1===t.indexOf("LAST_YEAR")&&-1===t.indexOf("NEXT_YEAR")&&-1===t.indexOf("TODAY")&&-1===t.indexOf("TOMORROW")&&-1===t.indexOf("YESTERDAY")||(p.value="",p.checked=!1,p.classList.add("jqx-visibility-hidden")),c.dataSource&&c.dataSource.length<10?c.dropDownHeight="auto":c.dropDownHeight=250,p.animation=n.animation,p.classList.add("editor"),p.rightToLeft=n.rightToLeft,p.theme=n.theme,p.unfocusable=n.disabled||n.unfocusable,p.classList.add("underlined"),"boolean"!==e.dataType&&(p.placeholder=n.editorPlaceholder),n.editorCallback&&n.editorCallback(p,e),r.appendChild(c),r.appendChild(p),o.appendChild(r),o.className="jqx-grid-panel-item",n._items.push(o),o.dataType=e.dataType,o}_localize(e){const t=this;t.$.addFilterButton.innerHTML=t.localize("addFilter"),t.$.buttonsContainer.firstElementChild.innerHTML=t.localize("cancel"),t.$.buttonsContainer.children[1].innerHTML=t.localize("apply"),t.$.itemsContainer.setAttribute("no-filters",t.localize("noFilters")),t._stringConditions=[{prefix:'<span class="jqx-icon jqx-icon-empty"></span>',value:"EMPTY",label:t.localize("EMPTY")},{prefix:'<span class="jqx-icon jqx-icon-not-empty"></span>',value:"NOT_EMPTY",label:t.localize("NOT_EMPTY")},{prefix:'<span class="jqx-icon jqx-icon-contains"></span>',value:"CONTAINS",label:t.localize("CONTAINS")},{prefix:'<span class="jqx-icon jqx-icon-does-not-contain"></span>',value:"DOES_NOT_CONTAIN",label:t.localize("DOES_NOT_CONTAIN")},{prefix:'<span class="jqx-icon jqx-icon-starts-with"></span>',value:"STARTS_WITH",label:t.localize("STARTS_WITH")},{prefix:'<span class="jqx-icon jqx-icon-ends-with"></span>',value:"ENDS_WITH",label:t.localize("ENDS_WITH")},{prefix:'<span class="jqx-icon jqx-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-null"></span>',value:"NULL",label:t.localize("NULL")},{prefix:'<span class="jqx-icon jqx-icon-not-null"></span>',value:"NOT_NULL",label:t.localize("NOT_NULL")}],t._enumConditions=[{prefix:'<span class="jqx-icon jqx-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")}],t._dateConditions=[{prefix:'<span class="jqx-icon jqx-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-less-than"></span>',value:"LESS_THAN",label:t.localize("LESS_THAN")},{prefix:'<span class="jqx-icon jqx-icon-less-than-equal"></span>',value:"LESS_THAN_OR_EQUAL",label:t.localize("LESS_THAN_OR_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-greater-than"></span>',value:"GREATER_THAN",label:t.localize("GREATER_THAN")},{prefix:'<span class="jqx-icon jqx-icon-greater-than-equal"></span>',value:"GREATER_THAN_OR_EQUAL",label:t.localize("GREATER_THAN_OR_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-null"></span>',value:"NULL",label:t.localize("NULL")},{prefix:'<span class="jqx-icon jqx-icon-not-null"></span>',value:"NOT_NULL",label:t.localize("NOT_NULL")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"TOMORROW",label:t.localize("TOMORROW")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"TODAY",label:t.localize("TODAY")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"YESTERDAY",label:t.localize("YESTERDAY")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"NEXT_WEEK",label:t.localize("NEXT_WEEK")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"THIS_WEEK",label:t.localize("THIS_WEEK")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"LAST_WEEK",label:t.localize("LAST_WEEK")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"NEXT_MONTH",label:t.localize("NEXT_MONTH")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"THIS_MONTH",label:t.localize("THIS_MONTH")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"LAST_MONTH",label:t.localize("LAST_MONTH")}],t._numberAndDateConditions=[{prefix:'<span class="jqx-icon jqx-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-less-than"></span>',value:"LESS_THAN",label:t.localize("LESS_THAN")},{prefix:'<span class="jqx-icon jqx-icon-less-than-equal"></span>',value:"LESS_THAN_OR_EQUAL",label:t.localize("LESS_THAN_OR_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-greater-than"></span>',value:"GREATER_THAN",label:t.localize("GREATER_THAN")},{prefix:'<span class="jqx-icon jqx-icon-greater-than-equal"></span>',value:"GREATER_THAN_OR_EQUAL",label:t.localize("GREATER_THAN_OR_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-null"></span>',value:"NULL",label:t.localize("NULL")},{prefix:'<span class="jqx-icon jqx-icon-not-null"></span>',value:"NOT_NULL",label:t.localize("NOT_NULL")}],t._booleanConditions=[{prefix:'<span class="jqx-icon jqx-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-null"></span>',value:"NULL",label:t.localize("NULL")},{prefix:'<span class="jqx-icon jqx-icon-not-null"></span>',value:"NOT_NULL",label:t.localize("NOT_NULL")}],e&&t._items.forEach(((e,a)=>{const l=e.children[1],n=e.children[3];0===a?l.innerHTML=t.localize("where"):1===a?(l.dataSource=[{value:"and",label:t.localize("and")},{value:"or",label:t.localize("or")}],l.value=t.localize(t.operator)):l.innerHTML=t.localize(t.operator),"string"!==e.dataType||e.options?"enum"===e.dataType||e.options?n.dataSource=t._enumConditions:"boolean"===e.dataType?n.dataSource=t._booleanConditions:"date"===e.dataType?n.dataSource=t._dateConditions:n.dataSource=t._numberAndDateConditions:n.dataSource=t._stringConditions,n.value=n.condition?t.localize(n.condition):""}))}_setFocusable(e){const t=this,a=t.disabled||t.unfocusable?-1:0;if(t.$.addFilterButton.tabIndex=a,t.$.buttonsContainer.firstElementChild.tabIndex=a,t.$.buttonsContainer.children[1].tabIndex=a,e){const e=Array.from(t.$.itemsContainer.getElementsByClassName("jqx-grid-panel-item-close-button")),l=Array.from(t.$.itemsContainer.querySelectorAll("jqx-date-time-picker, jqx-numeric-text-box, jqx-check-box, jqx-input"));e.forEach((e=>e.tabIndex=a)),l.forEach((e=>e.unfocusable=t.disabled||t.unfocusable))}}}),JQX("jqx-column-panel",class extends JQX.BaseElement{static get properties(){return{dataSource:{value:[],type:"array",reflectToAttribute:!1},messages:{value:{en:{apply:"Ok",cancel:"Cancel",find:"Find a field",reset:"Reset",noResults:"No results"}},type:"object",extend:!0}}}static get listeners(){return{click:"_interactionHandler",keydown:"_interactionHandler","find.keyup":"_findKeyupHandler","sortable.dragEnd":"_sortableDragEndHandler"}}static get requires(){return{"JQX.Sortable":"jqx.sortable.js"}}static get styleUrls(){return["jqx.grid.anel.css"]}template(){return'<div id="container" role="presentation">\n                    <div class="jqx-column-panel-find-container" role="search">\n                        <input id="find" readonly="[[readonly]]" role="searchbox" aria-label="Find a field"></input>\n                        <span id="clearButton" class="clear-button jqx-hidden" role="button" aria-label="Clear"></span>\n                    </div>\n                    <jqx-sortable id="sortable" disable-mode="manual" right-to-left="[[rightToLeft]]" animation="[[animation]]" disabled="[[readonly]]" drag-mode="handle" handle-position="right" handle-visibility="visible" theme="[[theme]]"></jqx-sortable>\n                    <div id="footer" class="jqx-grid-panel-container-footer" role="presentation">\n                        <span id="reset" class="jqx-grid-panel-reset-button" role="button"></span>\n                        <div id="buttonsContainer" class="jqx-grid-panel-buttons-container jqx-unselectable" role="presentation">\n                            <span class="jqx-grid-panel-cancel-button" role="button"></span>\n                            <span class="jqx-grid-panel-apply-button primary" role="button"></span>\n                        </div>\n                    </div>\n                </div>'}ready(){super.ready()}render(){const e=this;e.setAttribute("role","dialog"),e._positionChanged=!1,e._localize(),e._moves=[],e._createSortItems(),super.render()}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const l=this;switch(e){case"disabled":case"unfocusable":l._setFocusable();break;case"dataSource":{const e=l.$.sortable.$.container;for(;e.firstChild;)e.removeChild(e.firstChild);l._createSortItems(),l._positionChanged=!1,l.$.find.value="",l._findKeyupHandler(),l.$.clearButton.classList.add("jqx-hidden");break}case"locale":case"messages":l._localize()}}_createSortItems(){const e=this,t=document.createDocumentFragment();e._HTMLToSourceMap=new Map,e.dataSource.forEach((a=>t.appendChild(e._createSortItem(a)))),e.$.sortable.$.container.appendChild(t),e.$.sortable.updateItems(),e._setFocusable()}_createSortItem(e){const t=document.createElement("div"),a=this.id+"Label"+e.dataField;return this._HTMLToSourceMap.set(t,e),t.className="jqx-grid-panel-item",t.innerHTML=`<div class="toggle-visibility${!1!==e.visible?"":" hidden"}${e.disableToggle?" disable-toggle":""}" role="button" aria-controls="${a}" aria-label="Toggle visibility"></div>\n<span id="${a}" class="jqx-column-panel-label jqx-unselectable${e.icon?" icon "+e.icon:""}">${e.label}</span>`,1===e.level?t.classList.add("indent"):0===e.level&&t.classList.add("group"),e.disableDrag&&t.setAttribute("disable-drag",""),e.dataField&&t.setAttribute("data-field",e.dataField),e.parentDataField&&t.setAttribute("parent-data-field",e.parentDataField),!1!==e.allowHide&&!0!==e.disableToggle||(t.style.pointerEvents="none",t.setAttribute("disabled",""),t.style.opacity=.8),t}_interactionHandler(e){const t=this;if(t.disabled||t.readonly||"keydown"===e.type&&-1===[" ","Enter"].indexOf(e.key))return;const a=t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target;if(a.classList.contains("toggle-visibility")){a.classList.toggle("hidden");const e=a.closest(".jqx-grid-panel-item");if(e.hasAttribute("data-field")){const l=e.getAttribute("data-field");if(e.hasAttribute("parent-data-field")||e.hasAttribute("disabled")){const a=e.getAttribute("parent-data-field"),l=t.$.sortable.querySelectorAll(".jqx-grid-panel-item");let n=null;if(l.forEach((e=>{e.getAttribute("data-field")===a&&(n=e)})),n){let e=0,t=0;l.forEach((l=>{l.getAttribute("parent-data-field")===a&&(e++,l.firstElementChild.classList.contains("hidden")&&t++)})),t===e?n.firstElementChild.classList.add("hidden"):t<e&&n.firstElementChild.classList.remove("hidden")}}else t.$.sortable._items.forEach((e=>{if(e.hasAttribute("parent-data-field")&&!e.hasAttribute("disabled")){const t=e.getAttribute("parent-data-field"),n=e.firstElementChild;t===l&&(a.classList.contains("hidden")?n.classList.add("hidden"):n.classList.remove("hidden"))}}))}}else if(a.parentElement===t.$.buttonsContainer){if(a===t.$.buttonsContainer.firstElementChild)return t.$.fireEvent("cancel"),void(t._moves=[]);if(a===t.$.buttonsContainer.children[1]){const e=[];Array.from(t.$.sortable.$.container.children).forEach((a=>{const l=Object.assign({},t._HTMLToSourceMap.get(a));l.visible=!a.firstElementChild.classList.contains("hidden"),e.push(l)})),t.$.fireEvent("apply",{value:e,positionChanged:t._positionChanged,moves:t._moves}),t._positionChanged=!1,t._moves=[]}}else if(a===t.$.reset){const e=[];Array.from(t.$.sortable.$.container.children).forEach((a=>{const l=Object.assign({},t._HTMLToSourceMap.get(a));l.visible=!0,e.push(l)})),t.$.fireEvent("apply",{value:e,positionChanged:t._positionChanged,moves:t._moves}),t._positionChanged=!1,t._moves=[]}else a.classList.contains("clear-button")&&(t.$.find.value="",t._findKeyupHandler())}_findKeyupHandler(){const e=this;if(e.disabled||e.readonly)return;const t=e.$.find,a=t.value,l=[...e.$.sortable.$.container.children];if(void 0===e._disabledSortable&&(e._disabledSortable=e.$.sortable.disabled),""===a)return t.parentElement.classList.remove("no-results"),e.$.clearButton.classList.add("jqx-hidden"),l.forEach((e=>e.classList.remove("jqx-hidden"))),e.$.sortable.disabled=e._disabledSortable||e.readonly,void delete e._disabledSortable;let n=!0;e.$.clearButton.classList.remove("jqx-hidden"),l.forEach((t=>{-1===e._HTMLToSourceMap.get(t).label.toLowerCase().indexOf(a.toLowerCase())?t.classList.add("jqx-hidden"):(t.classList.remove("jqx-hidden"),n=!1)})),e.$.sortable.disabled=n,n?t.parentElement.classList.add("no-results"):t.parentElement.classList.remove("no-results")}_sortableDragEndHandler(e){const t=e.detail;this._positionChanged=!0,this._moves.push({oldIndex:t.oldIndex,newIndex:t.newIndex})}_localize(){const e=this;e.$.find.placeholder=e.localize("find"),e.$.reset.innerHTML=e.localize("reset"),e.$.buttonsContainer.firstElementChild.innerHTML=e.localize("cancel"),e.$.buttonsContainer.children[1].innerHTML=e.localize("apply"),e.$.container.firstElementChild.setAttribute("no-results",e.localize("noResults"))}_setFocusable(){const e=this,t=e.disabled||e.unfocusable?-1:0,a=Array.from(e.$.sortable.getElementsByClassName("toggle-visibility"));e.$.find.tabIndex=t,e.$.clearButton.tabIndex=t,e.$.buttonsContainer.firstElementChild.tabIndex=t,e.$.buttonsContainer.children[1].tabIndex=t,a.forEach((e=>e.tabIndex=e.classList.contains("disable-toggle")?-1:t))}}),JQX("jqx-formatting-panel",class extends JQX.BaseElement{static get properties(){return{columns:{value:[],type:"array",reflectToAttribute:!1},dataSource:{value:[],type:"any",reflectToAttribute:!1},items:{value:null,type:"array?",reflectToAttribute:!1},dropDownAppendTo:{value:null,type:"any",reflectToAttribute:!1},messages:{value:{en:{add:"Add condition",all:"All columns",apply:"Ok",between:"Between",cancel:"Cancel",close:"Close",column:"Column:",condition:"Condition:",equal:"Equal To",fontFamily:"Font family:",fontSize:"Font size:",format:"Format:",greaterThan:"Greater Than",highlight:"Highlight",lessThan:"Less Than",notEqual:"Not Equal To",remove:"Remove condition",secondValue:"Second value:",text:"Text",value:"Value:"}},type:"object",extend:!0}}}static get listeners(){return{click:"_interactionHandler",keydown:"_interactionHandler",change:"_changeHandler","popup.change":"_changeHandler","popup.click":"_interactionHandler","popup.keydown":"_interactionHandler","document.down":"_documentDownHandler"}}template(){return'<div id="container" role="presentation">\n                    <div id="itemsContainer" class="jqx-formatting-panel-items-container" role="presentation"></div>\n                    <div id="addNewButton" class="jqx-add-new-button" role="button" aria-label="Add new condition"></div>\n                    <div id="popup" class="jqx-formatting-panel-popup jqx-hidden jqx-visibility-hidden" role="dialog">\n                        <div id="popupHeader" class="header" role="presentation">\n                            <div id="text" class="selected" role="button" aria-label="Text color"></div>\n                            <div id="highlight" role="button" aria-label="Highlight color"></div>\n                        </div>\n                        <div id="colorCode" class="color-code"></div>\n                        <input id="colorInput" type="color" />\n                        <div id="colorsContainer" class="colors-container"></div>\n                        <jqx-button id="apply" class="ok primary" animation="[[animation]]" right-to-left="[[rightToLeft]]" theme="[[theme]]" unfocusable="[[unfocusable]]"></jqx-button>\n                        <jqx-button id="cancel" class="cancel" animation="[[animation]]" right-to-left="[[rightToLeft]]" theme="[[theme]]" unfocusable="[[unfocusable]]"></jqx-button>\n                    </div>\n                </div>'}render(){const e=this,t=getComputedStyle(e);e.setAttribute("role","dialog"),e.$.popup.id=e.id+"Popup",e._basicColors=[[0,0,0],[68,68,68],[102,102,102],[153,153,153],[204,204,204],[238,238,238],[243,243,243],[255,255,255],[255,0,0],[255,153,0],[255,255,0],[0,255,0],[0,255,255],[0,0,255],[153,0,255],[255,0,255],[244,204,204],[252,229,205],[255,242,204],[217,234,211],[208,224,227],[207,226,243],[217,210,233],[234,209,220],[234,153,153],[249,203,156],[255,229,153],[182,215,168],[162,196,201],[159,197,232],[180,167,214],[213,166,189],[224,102,102],[246,178,107],[255,217,102],[147,196,125],[118,165,175],[111,168,220],[142,124,195],[194,123,160],[204,0,0],[230,145,56],[241,194,50],[106,168,79],[69,129,142],[61,133,198],[103,78,167],[166,77,121],[153,0,0],[180,95,6],[191,144,0],[56,118,29],[19,79,92],[11,83,148],[53,28,117],[116,27,71],[102,0,0],[120,63,4],[127,96,0],[39,78,19],[12,52,61],[7,55,99],[32,18,77],[76,17,48]],e._defaults={fontFamily:t.fontFamily,fontSize:t.fontSize,text:e._toHex(t.color),highlight:e._toHex(t.backgroundColor)},t.fontFamily.indexOf("-apple")>=0&&(e._defaults.fontFamily="Segoe UI"),e._localize(),e._setFocusable(),e._populatePopupWithColors(),e._processColumnsAndDataSource(),e._addDefaultItems(),super.render()}attached(){const e=this;super.attached(),e.isCompleted&&e._addDefaultItemsOnAttach&&e._addDefaultItems()}add(e,t){const a=this;if(e&&e.column&&"all"!==e.column&&!a.columns.find((t=>t.dataField===e.column)))return void a.items.splice(t,1);const l=document.createElement("div"),n=a._defaults,i=` animation="${a.animation}"${a.rightToLeft?" right-to-left":""} theme="${a.theme}"${a.unfocusable?" unfocusable":""}`,o=a.disabled||a.unfocusable?"":' tabindex="0"';e=Object.assign({column:"all",condition:"lessThan",firstValue:0,secondValue:1,fontFamily:n.fontFamily,fontSize:n.fontSize,text:n.text,highlight:n.highlight},e);const r=`\n<div class="value-label">${a.localize("value")}</div>\n<jqx-input class="columns-input underlined" data-source='${JSON.stringify(a._columnsInputDataSource)}' placeholder="${a.localize("column")}" readonly value="${a._columnsInputDataSource.find((t=>t.value===e.column)).label}"${i}></jqx-input>\n<jqx-input class="condition-input underlined" data-source='${a._conditionsDataSource}' placeholder="${a.localize("condition")}" readonly value="${a.localize(e.condition)}"${i}></jqx-input>\n<jqx-input class="first-value underlined" type="number" placeholder="${a.localize("value")}" value="${e.firstValue}"${i}></jqx-input>\n<div class="ampersand">&</div>\n<jqx-input class="second-value underlined" type="number" placeholder="${a.localize("secondValue")}" value="${e.secondValue}"${i}></jqx-input>\n<div class="close-button" title="${a.localize("close")}"${o} role="button" aria-label="Close"></div>\n<div class="format-label">${a.localize("format")}</div>\n<jqx-input class="font-family-input underlined" drop-down-height="auto" placeholder="${a.localize("fontFamily")}" readonly${i}></jqx-input>\n<jqx-input class="font-size-input underlined" data-source='["8px", "9px", "10px", "11px", "12px", "13px", "14px", "15px", "16px"]' drop-down-height="auto" placeholder="${a.localize("fontSize")}" readonly value="${e.fontSize}"${i}></jqx-input>\n<div class="popup-button jqx-unselectable"${o} role="button" aria-haspopup="dialog" aria-label="Toggle pop-up">A</div>\n<div class="preview jqx-unselectable">2.71828</div>`;l.classList.add("jqx-formatting-panel-item"),l.classList.toggle("between","between"===e.condition),l.innerHTML=r,l.columnsInput=l.querySelector(".columns-input"),l.conditionInput=l.querySelector(".condition-input"),l.firstValue=l.querySelector(".first-value"),l.secondValue=l.querySelector(".second-value"),l.closeButton=l.querySelector(".close-button"),l.fontFamilyInput=l.querySelector(".font-family-input"),l.fontFamilyInput.dataSource=[n.fontFamily,"Arial","Verdana","Courier New","Georgia","Times New Roman"],l.fontFamilyInput.value=e.fontFamily,l.fontSizeInput=l.querySelector(".font-size-input"),l.popupButton=l.querySelector(".popup-button"),l.fontFamilyInput=l.querySelector(".font-family-input"),l.preview=l.querySelector(".preview"),l.popupButton.style.color=e.text,l.popupButton.style.backgroundColor=e.highlight,l.preview.style.fontFamily=e.fontFamily,l.preview.style.fontSize=e.fontSize,l.preview.style.color=e.text,l.preview.style.backgroundColor=e.highlight,l.data=e,a.$.itemsContainer.appendChild(l),l.columnsInput.$.input.value||(l.columnsInput.$.input.dataValue="all"),l.conditionInput.$.input.dataValue=e.condition,a._checkScrollBar()}apply(){const e=this,t=new JQX.Utilities.ConditionalFormatter(e.dataSource),a=Array.from(e.$.itemsContainer.children),l=[];let n;if(0===a.length)return;if(e.ownerElement&&"jqx-pivot-table"===e.ownerElement.nodeName.toLowerCase()){const t=e.ownerElement._dynamicColumns;n=function(e){return"all"===e?t.map((e=>e.id)):t.filter((t=>t.dataFields[t.dataFields.length-1].dataField===e)).map((e=>e.id))}}else n=function(t){return"all"===t?e._columns.map((e=>e.value)):[t]};for(let e=0;e<a.length;e++){const i=a[e].data,o=n(i.column),r=i.condition;t.color=i.highlight,t.comparator=i.firstValue,t.min=i.firstValue,t.max=i.secondValue;const s=t.format(r,o);for(let e in s){const t=s[e];for(let e in t){const a=t[e];a.color=i.text,a.fontFamily=i.fontFamily,a.fontSize=i.fontSize}}l.push(s)}if(0===l.length)return l[0];const i={};for(let e=0;e<l.length;e++){const t=l[e];for(let e in t){const a=t[e];i[e]||(i[e]={});for(let t in a)i[e][t]=Object.assign({},i[e][t],a[t])}}return i}getItems(){return Array.from(this.$.itemsContainer.children).map((e=>e.data))}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const l=this;switch(e){case"animation":case"theme":case"rightToLeft":if(Array.from(l.$.itemsContainer.querySelectorAll(".jqx-element")).forEach((t=>t[e]=a)),null!==l.dropDownAppendTo&&(l.$.apply[e]=a,l.$.cancel[e]=a),"theme"===e){const e=getComputedStyle(l);l._defaults.text=l._toHex(e.color),l._defaults.highlight=l._toHex(e.backgroundColor)}break;case"columns":case"items":"columns"===e&&(l._processColumnsAndDataSource(),l.items=null),l.$.itemsContainer.innerHTML="",l._addDefaultItems();break;case"disabled":case"unfocusable":{const t=l.disabled||l.unfocusable,n=Array.from(l.$.itemsContainer.querySelectorAll(".close-button, .popup-button"));"disabled"===e?l._closePopup():null!==l.dropDownAppendTo&&(l.$.apply.unfocusable=a,l.$.cancel.unfocusable=a),l._setFocusable(),Array.from(l.$.itemsContainer.querySelectorAll(".jqx-element")).forEach((e=>e.unfocusable=t)),t?n.forEach((e=>e.removeAttribute("tabindex"))):n.forEach((e=>e.setAttribute("tabindex",0)));break}case"dataSource":JQX.DataAdapter&&a instanceof JQX.DataAdapter&&(l.dataSource=a.toArray());break;case"locale":case"messages":l.items=l.getItems(),l.$.itemsContainer.innerHTML="",l._localize(),l._columnsInputDataSource=JSON.parse(JSON.stringify(l._columns.concat([{label:l.localize("all"),value:"all"}]))),l._addDefaultItems()}}_populatePopupWithColors(){const e=this,t=e._basicColors,a=document.createDocumentFragment();for(let l=0;l<t.length;l++){const n=document.createElement("div"),i=t[l],o=`rgb(${i[0]}, ${i[1]}, ${i[2]})`,r=e._toHex(o);n.setAttribute("role","button"),n.setAttribute("aria-label","Select color "+r),n.index=l,n.value=r,n.style.backgroundColor=o,a.appendChild(n)}e.$.colorsContainer.appendChild(a)}_processColumnsAndDataSource(){const e=this,t=e.columns,a=e.dataSource,l=[];JQX.DataAdapter&&a instanceof JQX.DataAdapter&&(e.dataSource=a.toArray());for(let e=0;e<t.length;e++){const a=t[e];"number"===a.dataType&&l.push({label:a.label,value:a.dataField})}e._columns=l,e._columnsInputDataSource=JSON.parse(JSON.stringify(l.concat([{label:e.localize("all"),value:"all"}])))}_addDefaultItems(){const e=this,t=e.items,a=e.getRootNode();a===document||document.body.contains(a)?(t&&t.length>0?t.forEach(((t,a)=>e.add(t,a))):(e.add({condition:"greaterThan",firstValue:100}),e.add({condition:"lessThan",firstValue:0})),delete e._addDefaultItemsOnAttach):e._addDefaultItemsOnAttach=!0}_changeHandler(e){const t=this,a=t.isInShadowDOM?e.composedPath()[0]:e.target,l=a.closest(".jqx-formatting-panel-item");if(l)if(a!==l.columnsInput){if(a===l.conditionInput)return l.data.condition=a.$.input.dataValue,void l.classList.toggle("between","between"===a.$.input.dataValue);if(l.firstValue.contains(a))l.data.firstValue=parseFloat(a.value);else{if(!l.secondValue.contains(a))return a===l.fontFamilyInput?(l.data.fontFamily=a.value,void(l.preview.style.fontFamily=a.value)):void(a===l.fontSizeInput&&(l.data.fontSize=a.value,l.preview.style.fontSize=a.value));l.data.secondValue=parseFloat(a.value)}}else l.data.column=a.$.input.dataValue;else t.$.popup.contains(a)&&t._updateUI(a.value.toUpperCase())}_checkScrollBar(){this.classList.toggle("scroll",this.$.itemsContainer.offsetHeight<this.$.itemsContainer.scrollHeight)}_interactionHandler(e){const t=this;if(!t.dropDownAppendTo&&e.currentTarget===t.$.popup)return;if("keydown"===e.type){if(-1===[" ","Enter"].indexOf(e.key))return void(t.disabled||t.readonly||t._keydownHandler(e));e.preventDefault()}const a=t.isInShadowDOM?e.composedPath()[0]:e.target;if(a===t.$.addNewButton)return void t.add();const l=a.closest(".jqx-formatting-panel-item");if(l)return void(a===l.closeButton?(l.remove(),this._checkScrollBar()):a===l.popupButton&&(t._togglePopup(l),t._activePopupButton=a));const n=t.$.popup;if(n.contains(a)){if(a.parentElement===t.$.colorsContainer)return void t._updateUI(a.value);if(a.parentElement===t.$.popupHeader)a.classList.add("selected"),a===t.$.text?(n.selection="currentText",t.$.highlight.classList.remove("selected")):(n.selection="currentHighlight",t.$.text.classList.remove("selected")),t._updateUI(n[n.selection]);else if(a.classList.contains("jqx-button")){if(t.$.apply.contains(a)||a&&a.ownerElement&&a.ownerElement.classList.contains("ok")){const e=n.item;e.data.text=n.currentText,e.data.highlight=n.currentHighlight,e.popupButton.style.color=n.currentText,e.popupButton.style.backgroundColor=n.currentHighlight,e.preview.style.color=n.currentText,e.preview.style.backgroundColor=n.currentHighlight}t._closePopup()}}}_keydownHandler(e){const t=this,a=e.key;if(-1===["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Escape","Home","PageDown","PageUp"].indexOf(a))return;if(e.preventDefault(),"Escape"===a&&!t.$.popup.classList.contains("jqx-hidden"))return void t._closePopup();if(t.getRootNode().activeElement!==t.$.colorsContainer)return;const l=Array.from(this.$.colorsContainer.children),n=this.$.colorsContainer.querySelector(".selected");let i,o="ArrowRight",r="ArrowLeft";if(t.rightToLeft&&(o="ArrowLeft",r="ArrowRight"),n){let e=n.index;switch(a){case r:e=Math.max(e-1,e-e%8);break;case o:e=Math.min(e+1,e+8-e%8-1);break;case"ArrowUp":e=Math.max(e-8,e%8);break;case"ArrowDown":e=Math.min(e+8,56+e%8);break;case"Home":e-=e%8;break;case"End":e=e+8-e%8-1;break;case"PageUp":e%=8;break;case"PageDown":e=56+e%8}i=l[e]}else i=l[0];t._updateUI(i.value,i)}_togglePopup(e){const t=this,a=t.$.popup;if(e===a.item)return void t._closePopup();if(a.setAttribute("animation",t.animation),a.setAttribute("theme",t.theme),t.rightToLeft&&a.setAttribute("right-to-left",""),a.classList.contains("jqx-hidden")&&a.classList.remove("jqx-hidden"),t.dropDownAppendTo)if("body"===t.dropDownAppendTo)document.body.appendChild(a);else{const e=document.querySelector(t.dropDownAppendTo);e&&e.appendChild(a)}const l=e.popupButton,n=l.getBoundingClientRect(),i=l.offsetLeft,o=l.offsetTop,r=a.offsetWidth,s=a.offsetHeight,d=t.$.itemsContainer.scrollTop,c=t._toHex(e.data.text),u=t._toHex(e.data.highlight);n.top>=s+5?a.style.top=o-(s+d+5)+"px":a.style.top=o+n.height-d+5+"px",a.style.left=i+n.width/2-r/2+"px",t.dropDownAppendTo&&(a.style.top=n.bottom+5+"px",a.style.left=n.left+n.width/2-r/2+"px"),t.$.text.classList.add("selected"),t.$.highlight.classList.remove("selected"),t.$.text.focus(),a.item=e,a.selection="currentText",a.currentText=c,a.currentHighlight=u,t._updateUI(c),a.controlledBy&&(a.controlledBy.removeAttribute("aria-controls"),a.controlledBy.removeAttribute("aria-expanded")),l.setAttribute("aria-controls",a.id),l.setAttribute("aria-expanded",!0),a.controlledBy=l,a.classList.remove("jqx-visibility-hidden")}_closePopup(){const e=this,t=e.$.popup;"none"!==e.animation?(t.addEventListener("transitionend",(function e(){t.classList.add("jqx-hidden"),t.removeEventListener("transitionend",e)})),t.classList.add("jqx-visibility-hidden")):(t.classList.add("jqx-visibility-hidden"),t.classList.add("jqx-hidden")),delete t.item,e._activePopupButton&&e._activePopupButton.focus(),t.controlledBy&&(t.controlledBy.removeAttribute("aria-controls"),t.controlledBy.removeAttribute("aria-expanded"))}_toHex(e){if(-1!==e.indexOf("#"))return e;const t=/rgb\((\d+), (\d+), (\d+)\)/g.exec(e);return t?"#"+(parseFloat(t[1]).toString(16).padStart(2,"0")+parseFloat(t[2]).toString(16).padStart(2,"0")+parseFloat(t[3]).toString(16).padStart(2,"0")).toUpperCase():"#FFFFFF"}_updateUI(e,t){const a=this;a.$.colorInput.value=e,a.$.colorCode.innerHTML=e,a._selectColor(e,t)}_selectColor(e,t){const a=this.$.popup,l=Array.from(this.$.colorsContainer.children);l.forEach((e=>e.classList.remove("selected"))),(t=t||l.find((t=>t.value===e)))&&t.classList.add("selected"),a[a.selection]=e}_localize(){const e=this;e._conditionsDataSource=JSON.stringify([{label:e.localize("lessThan"),value:"lessThan"},{label:e.localize("greaterThan"),value:"greaterThan"},{label:e.localize("equal"),value:"equal"},{label:e.localize("notEqual"),value:"notEqual"},{label:e.localize("between"),value:"between"}]),e.$.text.innerHTML=e.localize("text"),e.$.highlight.innerHTML=e.localize("highlight"),e.$.apply.innerHTML=e.localize("apply"),e.$.cancel.innerHTML=e.localize("cancel"),e.$.addNewButton.title=e.localize("add")}_setFocusable(){const e=this,t=!e.disabled&&!e.unfocusable,a=[e.$.addNewButton,e.$.text,e.$.highlight,e.$.colorsContainer];t?(a.forEach((e=>e.setAttribute("tabindex",0))),e.$.colorInput.removeAttribute("tabindex")):(a.forEach((e=>e.removeAttribute("tabindex"))),e.$.colorInput.setAttribute("tabindex",-1))}_documentDownHandler(e){const t=this,a=t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target,l=t.$.popup;l.classList.contains("jqx-hidden")||l.contains(a)||a.classList.contains("popup-button")||(delete t._activePopupButton,t._closePopup())}}),JQX("jqx-data-view",class extends JQX.BaseElement{static get properties(){return{addNewButton:{value:!1,type:"boolean"},allowDrag:{value:!1,type:"boolean"},collapsible:{value:!1,type:"boolean"},columns:{value:[],type:"object",reflectToAttribute:!1},dataSource:{value:null,type:"object?",reflectToAttribute:!1},dataSourceSettings:{value:{autoGenerateColumns:{value:!1,type:"boolean"},sanitizeHTML:{value:"blackList",allowedValues:["all","blackList","none"],type:"string"},root:{value:"",type:"string"},record:{value:"",type:"string"},keyDataField:{value:"",type:"string"},parentDataField:{value:"",type:"string"},childrenDataField:{value:"",type:"string"},groupBy:{value:[],type:"array"},dataFields:{value:[],type:"array"},mapChar:{value:".",type:"string"},id:{value:"",type:"string"},virtualDataSource:{value:null,type:"any"},virtualDataSourceOnExpand:{value:null,type:"any"}},type:"object"},editable:{value:!1,type:"boolean"},headerPosition:{value:"none",allowedValues:["none","top","bottom"],type:"string"},messages:{value:{en:{addFilter:"+ Add filter",and:"And",apply:"Ok",booleanFirst:"☐",booleanLast:"☑",cancel:"Cancel",CONTAINS:"contains",CONTAINS_CASE_SENSITIVE:"contains (case sensitive)",dateFirst:"1",dateLast:"9",DOES_NOT_CONTAIN:"does not contain",DOES_NOT_CONTAIN_CASE_SENSITIVE:"does not contain (case sensitive)",EMPTY:"empty",ENDS_WITH:"ends with",ENDS_WITH_CASE_SENSITIVE:"ends with (case sensitive)",EQUAL:"equal",EQUAL_CASE_SENSITIVE:"equal (case sensitive)",filter:"Filter",customize:"Customize Columns",filteredByMultiple:"{{n}} filters",filteredByOne:"1 filter",filterValuePlaceholder:"Value",find:"Find a field",findInView:"Find in view",firstBy:"Sort by",found:"{{nth}} of {{n}}",from:"from",GREATER_THAN:"greater than",GREATER_THAN_OR_EQUAL:"greater than or equal",LESS_THAN:"less than",LESS_THAN_OR_EQUAL:"less than or equal",noFilters:"No filters applied",noResults:"No results",noSorting:"No sorting applied",NOT_EMPTY:"not empty",NOT_EQUAL:"not equal",NOT_NULL:"not null",NULL:"null",numberFirst:"1",numberLast:"9",ok:"OK",or:"Or",pickAnother:"Pick another field to sort by",sort:"Sort",group:"Group",fontFamily:"Font family:",fontSize:"Font size:",format:"Format:",formatColumn:"Format Column",formating:"Conditional Formating",sortedByMultiple:"Sorted by {{n}} fields",sortedByOne:"Sorted by 1 field",STARTS_WITH:"starts with",STARTS_WITH_CASE_SENSITIVE:"starts with (case sensitive)",stringFirst:"A",stringLast:"Z",thenBy:"then by",where:"Where",collapseAll:"Collapse all",expandAll:"Expand all",noGrouping:"No grouping",groupedByMultiple:"{{n}} groups",groupedByOne:"1 group",firstByGroup:"Group by",pickAnotherGroupBy:"Pick another field to group by",add:"Add condition",all:"All columns",between:"Between",close:"Close",column:"Column:",condition:"Condition:",equal:"Equal To",greaterThan:"Greater Than",highlight:"Highlight",lessThan:"Less Than",notEqual:"Not Equal To",remove:"Remove condition",secondValue:"Second value:",text:"Text",value:"Value:",reset:"Reset"}}}}}static get listeners(){return{"header.apply":"_applyHandler","header.cancel":"closePanel","headerDropDown.transitionend":"_headerDropDownTransitionendHandler","searchInput.keyup":"_searchInputKeyupHandler",resize:"_resizeHandler","document.move":"_documentMoveHandler","document.up":"_documentUpHandler"}}render(){const e=this;e.$.headerDropDown.id||(e.$.headerDropDown.id=e.id+"HeaderDropDown"),e.setAttribute("role","group"),e._isMobile=JQX.Utilities.Core.isMobile,super.render()}addFilter(e,t="and"){const a=this;if(!Array.isArray(e)||e.length>0&&!Array.isArray(e[0]))return;let l;a.closePanel(),arguments[2]?l={filters:arguments[2],operator:t}:(l={filters:[],operator:t},e.forEach((e=>{e[1].filters.forEach((t=>{l.filters.push([e[0],t.condition,t.value])}))}))),JSON.stringify(l)!==JSON.stringify(a._appliedFiltering)&&(l.filterGroups=e,a._appliedFiltering=l,a._applyFilter(e,t),a.$.fireEvent("filter"),a._refreshFilterButton())}_refreshFilterButton(){const e=this,t=e._appliedFiltering.filters?e._appliedFiltering.filters.length:0;if(0===t)return e.$.filterButton.firstElementChild.innerHTML=e.localize("filter"),void e.$.filterButton.classList.remove("filtered");e.$.filterButton.firstElementChild.innerHTML=1===t?e.localize("filteredByOne"):e.localize("filteredByMultiple",{n:t}),e.$.filterButton.classList.add("filtered")}addSort(e,t){const a=this,l=a.dataSource,n=JSON.stringify(a._appliedSorting);let i;function o(e,n){if(a.columns.find((t=>t.dataField===e))){let a=Array.isArray(t)?t[n]:"string"==typeof t?t:"ascending";i.dataFields.push(e),i.dataTypes.push(l.dataFields.find((t=>t.name===e)).dataType),a=a&&-1!==a.indexOf("desc")?"descending":"ascending",i.orderBy.push(a)}}if(0!==arguments.length&&l&&0!==l.length){if(a.closePanel(),1===arguments.length&&"object"==typeof e)i=e;else if(i={dataFields:[],dataTypes:[],orderBy:[]},Array.isArray(e))e.forEach(o);else{if("string"!=typeof e)return;o(e,0)}a.closePanel(),a._appliedSorting=i,n!==JSON.stringify(a._appliedSorting)&&(a._applySort(),a.$.fireEvent("sort"),a._refreshSortButton())}}_refreshSortButton(){const e=this,t=e._appliedSorting.dataFields.length;return 0===t||e.grid&&!1===e.grid.sorting.maintainSort?(e.$.sortButton.firstElementChild.innerHTML=e.localize("sort"),void e.$.sortButton.classList.remove("sorted")):(e.$.sortButton.firstElementChild.innerHTML=1===t?e.localize("sortedByOne"):e.localize("sortedByMultiple",{n:t}),void e.$.sortButton.classList.add("sorted"))}closePanel(){const e=this.$.headerDropDown;e.classList.remove("open"),setTimeout((()=>{e.classList.add("jqx-visibility-hidden")}),150),this._closeSearchPanel(),e.controlledBy&&(e.controlledBy.removeAttribute("aria-controls"),e.controlledBy.setAttribute("aria-expanded",!1),delete e.controlledBy)}_closeSearchPanel(){const e=this;e._searchInfo&&delete e._searchInfo}_closeDialog(){const e=this;e._editInfo&&e._editInfo.window.close()}openFormatPanel(){}openFilterPanel(e,t){const a=this,l=a.dataSource;if(!l||0===l.length&&!l.virtualDataSource||a.disabled||"none"===a.headerPosition)return;let n;a._editInfo&&a._editInfo.window.close(),a.$.headerDropDown.classList.add("filter-panel"),a.$.headerDropDown.classList.remove("customize-panel","colors-panel","sort-panel","search-panel","format-panel"),a.$.filter.classList.remove("jqx-hidden"),a.$.customize.classList.add("jqx-hidden"),a.$.sort.classList.add("jqx-hidden"),a.$.colors&&a.$.colors.classList.add("jqx-hidden"),a.$.format&&a.$.format.classList.add("jqx-hidden"),a.$.group&&a.$.group.classList.add("jqx-hidden"),a.$.search.classList.add("jqx-hidden"),a._closeSearchPanel(),a._filterPartCreated?(n=a.$.filter.firstElementChild,n.set("dataSource",e),n.set("locale",a.locale),n.messages=a._innerElementMessages.multiColumnFilterPanel,n.operator=a._appliedFiltering.operator,n.editorPlaceholder=a.localize("filterValuePlaceholder"),n.set("operator",a._appliedFiltering.operator),n.set("value",a._appliedFiltering.filters),n._applyValue(),n.rightToLeft=a.rightToLeft):(n=document.createElement("jqx-multi-column-filter-panel"),n.rightToLeft=a.rightToLeft,n.animation=a.animation,n.dataSource=e,n.locale=a.locale,n.messages=a._innerElementMessages.multiColumnFilterPanel,n.operator=a._appliedFiltering.operator,n.editorPlaceholder=a.localize("filterValuePlaceholder"),n.theme=a.theme,n.value=a._appliedFiltering.filters,n.editorCallback=t,a.$.filter.appendChild(n),a._filterPartCreated=!0),a._openHeaderDropDown(a.$.filterButton)}openColorsPanel(e,t,a){const l=this,n=l.dataSource;if(!n||0===n.length&&!n.virtualDataSource||l.disabled||"none"===l.headerPosition)return;let i;l._editInfo&&l._editInfo.window.close(),l.$.headerDropDown.classList.add("colors-panel"),l.$.headerDropDown.classList.remove("filter-panel","group-panel","customize-panel","sort-panel","search-panel","format-panel"),l.$.colors&&l.$.colors.classList.remove("jqx-hidden"),l.$.customize.classList.add("jqx-hidden"),l.$.filter.classList.add("jqx-hidden"),l.$.sort.classList.add("jqx-hidden"),l.$.filter&&l.$.filter.classList.add("jqx-hidden"),l.$.group&&l.$.group.classList.add("jqx-hidden"),l.$.search.classList.add("jqx-hidden"),l._closeSearchPanel(),l._colorsPartCreated?(i=l.$.colors.firstElementChild,i.set("dataSource",e),i.set("locale",l.locale),i.messages=l._innerElementMessages.multiColumnFilterPanel,i.operator="or",i.editorPlaceholder=l.localize("filterValuePlaceholder"),i.set("operator","or"),l._appliedColors||(l._appliedColors=[]),i.set("value",l._appliedColors),i._applyValue(),i.rightToLeft=l.rightToLeft):(i=document.createElement("jqx-colors-panel"),i.rightToLeft=l.rightToLeft,i.animation=l.animation,i.dataSource=e,i.locale=l.locale,i.messages=l._innerElementMessages.multiColumnFilterPanel,i.operator="or",i.editorPlaceholder=l.localize("filterValuePlaceholder"),i.theme=l.theme,i.editorCallback=t,i.ownerElement=a,l._appliedColors&&i.set("value",l._appliedColors),l.$.colors&&l.$.colors.appendChild(i),l._colorsPartCreated=!0),l._openHeaderDropDown(l.$.colorsButton)}openSortPanel(e){const t=this,a=t.dataSource;if(!a||0===a.length&&!a.virtualDataSource||t.disabled||"none"===t.headerPosition)return;let l;t._closeDialog(),t.$.headerDropDown.classList.add("sort-panel"),t.$.headerDropDown.classList.remove("customize-panel","filter-panel","format-panel","search-panel"),t.$.sort.classList.remove("jqx-hidden"),t.$.customize.classList.add("jqx-hidden"),t.$.filter.classList.add("jqx-hidden"),t.$.colors&&t.$.colors.classList.add("jqx-hidden"),t.$.format&&t.$.format.classList.add("jqx-hidden"),t.$.group&&t.$.group.classList.add("jqx-hidden"),t.$.search.classList.add("jqx-hidden"),t._closeSearchPanel(),t._sortPartCreated?(l=t.$.sort.firstElementChild,l.rightToLeft=t.rightToLeft,l.dataSource=e,l.locale=t.locale,l.messages=t._innerElementMessages.sortPanel,l.set("dataSource",e),l.propertyChangedHandler("dataSource",void 0,e)):(l=document.createElement("jqx-sort-panel"),l.rightToLeft=t.rightToLeft,l.animation=t.animation,l.dataSource=e,l.locale=t.locale,l.messages=t._innerElementMessages.sortPanel,l.theme=t.theme,t.$.sort.appendChild(l),t._sortPartCreated=!0),t._openHeaderDropDown(t.$.sortButton)}removeFilter(){this.addFilter([])}removeSort(){this.addSort({dataFields:[],dataTypes:[],orderBy:[]})}_clearFilterAndSortUI(){const e=this;e._appliedFiltering={filterGroups:[],filters:[],operator:"and"},e._appliedSorting={dataFields:[],dataTypes:[],orderBy:[]},e._appliedGrouping={dataFields:[]},e._appliedColors=[[],{type:"conditions",decorate:"border",singleSelect:""}],e.$.filterButton.classList.remove("filtered"),e.$.sortButton.classList.remove("sorted"),e.$.filterButton.firstElementChild.innerHTML=e.localize("filter"),e.$.sortButton.firstElementChild.innerHTML=e.localize("sort")}_getInnerElementMessages(){const e=this,t=e.locale,a={columnPanel:{},groupPanel:{},multiColumnFilterPanel:{},sortPanel:{},formattingPanel:{},dateTimePicker:{}};a.formattingPanel[t]={add:e.localize("add"),all:e.localize("all"),apply:e.localize("apply"),between:e.localize("between"),cancel:e.localize("cancel"),close:e.localize("close"),column:e.localize("column"),condition:e.localize("condition"),equal:e.localize("equal"),fontFamily:e.localize("fontFamily"),fontSize:e.localize("fontSize"),format:e.localize("format"),greaterThan:e.localize("greaterThan"),highlight:e.localize("highlight"),lessThan:e.localize("lessThan"),notEqual:e.localize("notEqual"),remove:e.localize("remove"),secondValue:e.localize("secondValue"),text:e.localize("text"),value:e.localize("value")},a.columnPanel[t]={apply:e.localize("apply"),cancel:e.localize("cancel"),reset:e.localize("reset"),find:e.localize("find"),noResults:e.localize("noResults")},a.groupPanel[t]={apply:e.localize("apply"),cancel:e.localize("cancel"),collapseAll:e.localize("collapseAll"),expandAll:e.localize("expandAll"),firstBy:e.localize("firstByGroup"),noGrouping:e.localize("noGrouping"),pickAnother:e.localize("pickAnotherGroupBy"),stringFirst:e.localize("stringFirst"),stringLast:e.localize("stringLast"),thenBy:e.localize("thenBy"),from:e.localize("from"),booleanFirst:e.localize("booleanFirst"),booleanLast:e.localize("booleanLast"),dateFirst:e.localize("dateFirst"),dateLast:e.localize("dateLast"),numberFirst:e.localize("numberFirst"),numberLast:e.localize("numberLast")},a.multiColumnFilterPanel[t]={addFilter:e.localize("addFilter"),noResults:e.localize("noResults"),add:"+ "+e.localize("add"),select:e.localize("dialogAddColumnTypeSelect"),condition:e.localize("conditions"),and:e.localize("and"),apply:e.localize("apply"),cancel:e.localize("cancel"),CONTAINS:e.localize("CONTAINS"),CONTAINS_CASE_SENSITIVE:e.localize("CONTAINS_CASE_SENSITIVE"),DOES_NOT_CONTAIN:e.localize("DOES_NOT_CONTAIN"),DOES_NOT_CONTAIN_CASE_SENSITIVE:e.localize("DOES_NOT_CONTAIN_CASE_SENSITIVE"),EMPTY:e.localize("EMPTY"),ENDS_WITH:e.localize("ENDS_WITH"),ENDS_WITH_CASE_SENSITIVE:e.localize("ENDS_WITH_CASE_SENSITIVE"),EQUAL:e.localize("EQUAL"),EQUAL_CASE_SENSITIVE:e.localize("EQUAL_CASE_SENSITIVE"),GREATER_THAN:e.localize("GREATER_THAN"),GREATER_THAN_OR_EQUAL:e.localize("GREATER_THAN_OR_EQUAL"),LESS_THAN:e.localize("LESS_THAN"),LESS_THAN_OR_EQUAL:e.localize("LESS_THAN_OR_EQUAL"),noFilters:e.localize("noFilters"),NOT_EMPTY:e.localize("NOT_EMPTY"),NOT_EQUAL:e.localize("NOT_EQUAL"),NOT_NULL:e.localize("NOT_NULL"),NULL:e.localize("NULL"),or:e.localize("or"),STARTS_WITH:e.localize("STARTS_WITH"),STARTS_WITH_CASE_SENSITIVE:e.localize("STARTS_WITH_CASE_SENSITIVE"),where:e.localize("where"),TOMORROW:e.localize("TOMORROW"),TODAY:e.localize("TODAY"),YESTERDAY:e.localize("YESTERDAY"),THIS_WEEK:e.localize("THIS_WEEK"),LAST_WEEK:e.localize("LAST_WEEK"),NEXT_WEEK:e.localize("NEXT_WEEK"),THIS_MONTH:e.localize("THIS_MONTH"),LAST_MONTH:e.localize("LAST_MONTH"),NEXT_MONTH:e.localize("NEXT_MONTH"),conditions:e.localize("conditions"),colorsSingleSelect:e.localize("colorsSingleSelect"),colorRows:e.localize("colorRows"),colorSelect:e.localize("colorSelect"),colorLeftBorderLabel:e.localize("colorLeftBorderLabel"),colorRowLabel:e.localize("colorRowLabel"),colorCellLabel:e.localize("colorCellLabel"),colorLeftBorder:e.localize("colorLeftBorder"),colorRow:e.localize("colorRow"),colorCell:e.localize("colorCell"),noOptions:e.localize("noOptions")},a.sortPanel[t]={apply:e.localize("apply"),applyOnce:e.localize("applyOnce"),booleanFirst:e.localize("booleanFirst"),booleanLast:e.localize("booleanLast"),cancel:e.localize("cancel"),dateFirst:e.localize("dateFirst"),dateLast:e.localize("dateLast"),firstBy:e.localize("firstBy"),from:e.localize("from"),numberFirst:e.localize("numberFirst"),numberLast:e.localize("numberLast"),noSorting:e.localize("noSorting"),pickAnother:e.localize("pickAnother"),maintainSort:e.localize("maintainSort"),stringFirst:e.localize("stringFirst"),stringLast:e.localize("stringLast"),thenBy:e.localize("thenBy")},a.dateTimePicker[t]={now:e.localize("now"),dateTabLabel:e.localize("dateTabLabel"),timeTabLabel:e.localize("timeTabLabel")},e._innerElementMessages=a}_handleHeaderPosition(e){const t=this,a=t.headerPosition,l=t.$.header;"none"!==a?(l.classList.remove("jqx-hidden"),"top"===a&&l.nextElementSibling!==e?t.$.container.insertBefore(l,e):"bottom"===a&&l.previousElementSibling!==e&&t.$.container.insertBefore(l,t.$.loadingIndicatorContainer)):l.classList.add("jqx-hidden")}_headerClickHandler(e){const t=this,a=t.$.headerDropDown;function l(e,l){a.classList.contains("jqx-visibility-hidden")||e.classList.contains("jqx-hidden")?t[l]():t.closePanel()}if(t.$.customizeButton.contains(e))l(t.$.customize,"openCustomizePanel");else if(t.$.filterButton.contains(e))l(t.$.filter,"openFilterPanel");else if(t.$.sortButton.contains(e))l(t.$.sort,"openSortPanel");else if(t.$.formatButton&&t.$.formatButton.contains(e))l(t.$.format,"openFormatPanel");else if(t.$.colorsButton&&t.$.colorsButton.contains(e))l(t.$.colors,"openColorsPanel");else if(e===t.$.searchButton)l(t.$.search,"_openSearchPanel");else if(t.$.groupButton&&t.$.groupButton.contains(e))l(t.$.group,"openGroupPanel");else if(t.$.viewStatesButton&&t.$.viewStatesButton.contains(e))l(t.$.view,"openViewPanel");else if(e===t.$.searchClose)t.$.searchInput.value="",t._search("",!1),t.closePanel();else if(e===t.$.searchPrev||e===t.$.searchNext){const a=t._searchInfo,l=a.foundIdsArray,n=e===t.$.searchNext,i=l.length;let o;if(void 0===a.highlighted)o=n?0:i-1;else{if(1===l.length)return;{const e=l.indexOf(a.highlighted);o=n?(e+1)%i:e-1>=0?e-1:i-1}}a.highlighted=l[o],t.grid?(t.grid.highlighted=a.highlighted,t.grid.ensureVisible(a.highlighted),t.grid._recycle(!1)):t.ensureVisible&&t.ensureVisible(a.highlighted),t.$.searchLabel.innerHTML=t.localize("found",{nth:o+1,n:l.length})}}_headerDropDownTransitionendHandler(e){const t=this,a=t.$.headerDropDown;t._openTimer=setTimeout((()=>{e&&("visibility"!==e.propertyName||a.classList.contains("jqx-visibility-hidden"))||(a.classList.contains("search-panel")?t.$.searchInput.focus():!1===t.unfocusable&&(!t._isMobile&&a.classList.contains("customize-panel")?a.querySelector("jqx-column-panel").$.find.focus():a.classList.contains("filter-panel")?a.querySelector("jqx-multi-column-filter-panel").$.addFilterButton.focus():a.classList.contains("sort-panel")&&a.querySelector("jqx-sort-panel").$.inputNotSorted.focus()))}),100)}_localizeHeader(){const e=this;e.$.customizeButton.firstElementChild.innerHTML=e.localize("customize"),e.$.groupButton&&(e.$.groupButton.firstElementChild.innerHTML=e.localize("group")),0===e._appliedFiltering.filters.length?e.$.filterButton.firstElementChild.innerHTML=e.localize("filter"):1===e._appliedFiltering.filters.length?e.$.filterButton.firstElementChild.innerHTML=e.localize("filteredByOne"):e.$.filterButton.firstElementChild.innerHTML=e.localize("filteredByMultiple",{n:e._appliedFiltering.filters.length}),0===e._appliedSorting.dataFields.length?e.$.sortButton.firstElementChild.innerHTML=e.localize("sort"):1===e._appliedSorting.dataFields.length?e.$.sortButton.firstElementChild.innerHTML=e.localize("sortedByOne"):e.$.sortButton.firstElementChild.innerHTML=e.localize("sortedByMultiple",{n:e._appliedSorting.dataFields.length}),e.$.formatButton&&(e.$.formatButton.firstElementChild.innerHTML=e.localize("formating")),e.$.searchInput.placeholder=e.localize("findInView")}_openHeaderDropDown(e){const t=this,a=t.$.headerDropDown;"top"===t.headerPosition?(a.style.bottom=null,a.style.top="100%"):(a.style.top=null,a.style.bottom="100%"),e!==t.$.searchButton||e===t.$.searchButton&&t.rightToLeft?a.style.left=e.offsetLeft-(t.rightToLeft?a.offsetWidth-e.offsetWidth:0)+"px":a.style.left=(t.rightToLeft?e.offsetLeft:e.offsetLeft+Math.max(25,e.offsetWidth)-a.offsetWidth)+"px",a.classList.remove("jqx-visibility-hidden"),a.classList.add("open"),a.controlledBy&&(a.controlledBy.removeAttribute("aria-controls"),a.controlledBy.setAttribute("aria-expanded",!1)),a.controlledBy=e,e.setAttribute("aria-controls",a.id),e.setAttribute("aria-expanded",!0),t._headerDropDownTransitionendHandler()}_searchInputKeyupHandler(e){const t=this;function a(){t._searchInfo&&t.$.searchInput.value!==t._searchInfo.query&&t._search(t.$.searchInput.value)}return clearTimeout(t._searchInputTimeout),"Escape"===e.key?(t.$.searchInput.value="",a(),void t.closePanel()):"Enter"===e.key&&t._searchInfo.foundIdsArray&&t._searchInfo.foundIdsArray.length>1?(a(),void t._headerClickHandler(t.$.searchNext,t.$.cardContainer||t.$.body)):void(t._searchInputTimeout=setTimeout(a,500))}}),JQX("jqx-colors-panel",class extends JQX.BaseElement{static get properties(){return{closeButtonPosition:{value:"left",allowedValues:["left","right"],type:"string"},dataSource:{value:[],type:"array",reflectToAttribute:!1},editorCallback:{value:null,type:"function?",reflectToAttribute:!1},editorPlaceholder:{value:"Value",type:"string"},messages:{value:{en:{addFilter:"+ Add decorator",and:"And",apply:"Ok",cancel:"Cancel",CONTAINS:"contains",CONTAINS_CASE_SENSITIVE:"contains (case sensitive)",DOES_NOT_CONTAIN:"does not contain",DOES_NOT_CONTAIN_CASE_SENSITIVE:"does not contain (case sensitive)",EMPTY:"empty",ENDS_WITH:"ends with",ENDS_WITH_CASE_SENSITIVE:"ends with (case sensitive)",EQUAL:"equal",EQUAL_CASE_SENSITIVE:"equal (case sensitive)",GREATER_THAN:"greater than",GREATER_THAN_OR_EQUAL:"greater than or equal",LESS_THAN:"less than",LESS_THAN_OR_EQUAL:"less than or equal",noFilters:"No filters applied",NOT_EMPTY:"not empty",NOT_EQUAL:"not equal",NOT_NULL:"not null",NULL:"null",or:"Or",STARTS_WITH:"starts with",STARTS_WITH_CASE_SENSITIVE:"starts with (case sensitive)",where:"Where",TOMORROW:"Tomorrow",TODAY:"Today",YESTERDAY:"Yesterday",NEXT_WEEK:"Next week",THIS_WEEK:"This week",LAST_WEEK:"Last week",NEXT_MONTH:"Next month",THIS_MONTH:"This month",LAST_MONTH:"Last month"}},type:"object",extend:!0},operator:{value:"and",allowedValues:["and","or"],type:"string"},value:{value:[],type:"array"}}}static get listeners(){return{change:"_changeHandler",click:"_interactionHandler",keydown:"_interactionHandler"}}static get requires(){return{"JQX.Button":"jqx.button.js","JQX.CheckBox":"jqx.checkbox.js","JQX.DateTimePicker":"jqx.datetimepicker.js","JQX.FilterGroup":"jqx.filter.js","JQX.Input":"jqx.input.js","JQX.NumericTextBox":"jqx.numerictextbox.js"}}static get styleUrls(){return["jqx.grid.anel.css"]}template(){return'<div id="container" role="presentation">\n                    <div id="gridLayout">\n                        <div style="border-right: 1px solid var(--jqx-border)" class="tabs" id="tabs">\n                        <div title="Color rows when they match the conditions" class="tab active" id="condition"></div>\n                        <div title="Color rows the same as a single select value" class="tab" id="select"></div>\n                        </div>\n                        <div style="margin-left: 10px;" id="applyTo"></div>\n                    </div>\n                    <div id="conditionsContainer">\n                        <span id="conditionLabel">Color rows when they match the conditions</span>\n                        <div id="singleSelectLabel" class="jqx-hidden">Which single select field should the row be colored by?</div>\n                        <jqx-input style="margin-top: 10px; margin-bottom: 10px; width: 250px; display: block;" selected-index="0" class="underlined jqx-hidden" readonly id="singleSelect"></jqx-input>\n                    </div>\n                    <div id="itemsContainer" style="padding-top: 0px;" class="jqx-filter-panel-items-container jqx-unselectable"></div>\n                    <div id="footer" class="jqx-grid-panel-container-footer" role="presentation">\n                        <div id="addFilterButton" class="jqx-filter-panel-add-filter-button jqx-unselectable" role="button"></div>\n                        <div id="buttonsContainer" class="jqx-grid-panel-buttons-container jqx-unselectable" role="presentation">\n                            <span class="jqx-grid-panel-cancel-button" role="button"></span>\n                            <span class="jqx-grid-panel-apply-button primary" role="button"></span>\n                    </div>\n                </div>'}ready(){super.ready()}updateSingleSelect(){const e=this,t=e.ownerElement.columns.filter((e=>!!e.template&&!("tags"!==e.template&&"collaborator"!==e.template&&"dropdownlist"!==e.template&&"list"!==e.template||!e.editor.singleSelect))).map((e=>({label:e.label,value:e.dataField})));e.$.singleSelect.dataSource=t,e.$.singleSelect.selectedValue=t[0]?t[0].value:""}render(){const e=this;e.setAttribute("role","dialog"),e.$.gridLayout.style.display="grid",e.$.gridLayout.style.gridTemplateColumns="400px auto",e.$.gridLayout.style.gridColumnGap="1rem",e.$.gridLayout.style.overflow="hidden",e.$.applyToInput&&e.$.applyToInput.classList.remove("jqx-hidden"),e.ownerElement&&"scheduler"===e.ownerElement.view&&(e.$.gridLayout.style.gridTemplateColumns="",e.$.tabs.style.borderRight="none",e.$.applyToInput&&e.$.applyToInput.classList.add("jqx-hidden")),e.$.condition.onclick=()=>{e.$.select.classList.remove("active"),e.$.condition.classList.add("active"),e.$.singleSelectLabel.classList.add("jqx-hidden"),e.$.singleSelect.classList.add("jqx-hidden"),e.$.addFilterButton.classList.remove("jqx-visibility-hidden"),e.$.itemsContainer.classList.remove("jqx-hidden"),e.$.conditionLabel.classList.remove("jqx-hidden"),e.$.singleSelect.classList.add("jqx-hidden"),e.$.applyToInput.dataSource[2].visible=!0},e.$.select.onclick=()=>{e.$.select.classList.add("active"),e.$.condition.classList.remove("active"),e.$.singleSelectLabel.classList.remove("jqx-hidden"),e.$.singleSelect.classList.remove("jqx-hidden"),e.$.addFilterButton.classList.add("jqx-visibility-hidden"),e.$.itemsContainer.classList.add("jqx-hidden"),e.$.conditionLabel.classList.add("jqx-hidden"),e.$.singleSelect.classList.remove("jqx-hidden"),e.$.applyToInput.dataSource[2].visible=!1,2===e.$.applyToInput.selectedIndex&&(e.$.applyToInput.selectedIndex=0)};const t=document.createElement("jqx-input");t.readonly=!0,t.dropDownButtonPosition="right",t.dropDownAppendTo="body",t.style.width="100%",e.$.singleSelect.dropDownButtonPosition="right",e.$.singleSelect.dropDownAppendTo="body",e.updateSingleSelect();const a="var(--jqx-primary);";t.dataSource=[{label:"Left border",value:"border",menuLabel:'<div style="flex-direction: column; display: inline-flex"><div>Left border</div><div class="jqx-quiet">Color the left border of a row</div>',prefix:'<span style="top: 8px; border-right: 3px solid '+a+'; padding: 2px; display: inline-block; margin-right: 16px; position: relative;">1</span>'},{label:"Row",value:"row",menuLabel:'<div style="flex-direction: column; display: inline-flex"><div>Row background</div><div class="jqx-quiet">Color the background of a row</div>',prefix:'<span style="top: 8px; border: 1px solid var(--jqx-primary); color: var(--jqx-primary-color); background: '+a+'; padding: 2px; display: inline-block; margin-left:-4px; position: relative;">1</span><span style="border: 1px solid var(--jqx-primary); color: var(--jqx-primary-color); top: 8px;  background: '+a+'; padding: 2px; display: inline-block; margin-right: 8px; position: relative;">2</span>'},{label:"Cell",value:"cell",menuLabel:'<div style="flex-direction: column; display: inline-flex"><div>Cell background</div><div class="jqx-quiet">Color the background of a cell</div>',prefix:'<span style="top: 8px; border: 1px solid var(--jqx-primary); color: var(--jqx-primary-color); background: '+a+'; padding: 2px; display: inline-block; margin-left:-4px; position: relative;">1</span><span style="border:1px solid '+a+'; padding: 2px; display: inline-block; top: 8px;  margin-right: 8px; position: relative;">2</span>'}],e.$.applyTo.appendChild(t),e.$.applyToInput=t,e._setFocusable(),e._localize(),e.$.applyToInput.selectedIndex=0,e._applyValue(),super.render()}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const l=this;switch(e){case"animation":case"theme":case"rightToLeft":Array.from(l.$.itemsContainer.querySelectorAll("jqx-date-time-picker, jqx-numeric-text-box, jqx-check-box, jqx-input")).forEach((t=>{t[e]=a,"jqx-input"===t.tagName.toLowerCase()&&"rightToLeft"===e&&"none"!==t.dropDownButtonPosition&&(t.dropDownButtonPosition=a?"left":"right")}));break;case"disabled":case"unfocusable":l._setFocusable(!0);break;case"dataSource":case"value":l._applyValue();break;case"editorPlaceholder":Array.from(l.$.itemsContainer.getElementsByClassName("editor")).forEach((e=>e.placeholder=a));break;case"locale":case"messages":l._localize(!0);break;case"operator":l._setOperator()}}_setOperator(){const e=this,t=e.localize(e.operator);for(let a=2;a<e._items.length;a++)e._items[a].children[1].innerHTML=t}_changeHandler(e){const t=this,a=t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target;if(a instanceof JQX.Input==0)return;if(a===t.$.singleSelect)return;const l=a.parentElement,n=l.children;if(a===n[1])t.operator=a.$.input.dataValue,t._setOperator();else if(a===n[2]){let a,i,o=t.dataSource.find((t=>t.dataField===e.detail.oldValue)).dataType,r=t.dataSource.find((t=>t.dataField===e.detail.oldValue)),s=t.dataSource.find((t=>t.dataField===e.detail.value)),d=s?s.dataType:"string",c=[];if(s&&s.options&&(d="enum",c=s.options.map((e=>{const t=e.color||"var(--jqx-primary)";return e.prefix='<span style="background: '+t+'; width: 14px; height: 14px; display: inline-block; border-radius: 50%; margin-left:-4px; margin-right: 8px; top: 2px; position: relative;"></span>',""===e.label&&(e.label=" "),e}))),t.$.select.classList.contains("active"))return;if(r&&r.options&&(o="enum"),"enum"!==d&&d===o)return void(t.editorCallback&&t.editorCallback(n[4],s));let u=n[3]?n[3].value:"";switch(d){case"date":a=t._dateConditions,i=document.createElement("jqx-date-time-picker"),i.calendarButton=!0,i.dropDownAppendTo="body",i.dropDownDisplayMode="auto",i.formatString="M/d/yy H:mm",u="";break;case"number":a=t._numberAndDateConditions,i=document.createElement("jqx-numeric-text-box"),u="";break;case"boolean":a=t._booleanConditions,i=document.createElement("jqx-check-box"),u="";break;case"enum":a=t._enumConditions,i=document.createElement("jqx-input"),i.dataSource=c.length?c:s.options,i.readonly=!0,i.dropDownButtonPosition="right",u=a[0];break;default:a=t._stringConditions,u=t._stringConditions.find((e=>"CONTAINS"===e.value)),i=document.createElement("jqx-input")}a.forEach((e=>{delete e.selected})),i.rightToLeft=t.rightToLeft,i.animation=t.animation,i.theme=t.theme,i.unfocusable=t.disabled||t.unfocusable,i.classList.add("underlined"),i.dataSource&&i.dataSource.length<10?i.dropDownHeight="auto":i.dropDownHeight=250,"boolean"!==d&&(i.placeholder=t.editorPlaceholder),t.editorCallback&&t.editorCallback(i,s),n[4]&&n[4].remove(),l.appendChild(i),""===u||a.find((e=>e.label===u))||(u.value?(n[3].value=u.label,n[3].selectedValue=u.value):(n[3].value="",n[3].selectedValue="")),n[3].dataSource=a,""===u&&(n[3].value=a[0].label,n[3].selectedValue=a[0].value),a.length>=10?n[3].dropDownHeight=250:n[3].dropDownHeight="auto",l.dataType=d}else if(a===n[3]){const e=n[4],t=a.$.input.dataValue;-1!==t.indexOf("NULL")||-1!==t.indexOf("EMPTY")||-1!==t.indexOf("THIS_WEEK")||-1!==t.indexOf("LAST_WEEK")||-1!==t.indexOf("NEXT_WEEK")||-1!==t.indexOf("THIS_MONTH")||-1!==t.indexOf("LAST_MONTH")||-1!==t.indexOf("NEXT_MONTH")||-1!==t.indexOf("THIS_YEAR")||-1!==t.indexOf("LAST_YEAR")||-1!==t.indexOf("NEXT_YEAR")||-1!==t.indexOf("TODAY")||-1!==t.indexOf("TOMORROW")||-1!==t.indexOf("YESTERDAY")?(e.value="",e.checked=!1,e.classList.add("jqx-visibility-hidden")):e.classList.remove("jqx-visibility-hidden"),a.condition=t}}_getColorInput(){const e=document.createElement("jqx-color-input");return e.dataSource=["#D50000","#E67C73","#F4511E","#F6BF26","#0B8043","#33B679","#3F51B5","#039BE5","#7986CB","#8C47FF","#8E24AA","#FF36C2","#616161","#454545","#949494","#000000"],e.additionalColors=["#FF9EB7","#FFCFC9","#FFD66D","#FFEBB6","#93DF89","#D1F7C4","#9DC7FF","#D0F0FD","#CDAFFF","#ECE1FD","#FA9DE2","#FFDAF6","#CBCBCB","#EDEDED","#FFFFFF",""],e.valueDisplayMode="colorBox",e.classList.add("underlined","jqx-grid-color-input"),e.style.width="auto",e.readonly=!0,e.onRender=()=>{const t=e.$.scrollView;e.querySelector(".jqx-color-box").style.borderRadius="50%",t&&t.classList.add("jqx-grid-color-input")},e}_interactionHandler(e){const t=this;if(t.disabled||t.readonly)return;if("keydown"===e.type){if("Enter"!==e.key)return;e.preventDefault()}const a=t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target,l=a.closest(".jqx-grid-panel-item");if(l){if(a===l.firstElementChild){const e=t._items.indexOf(l);let a;if(t._items.splice(e,1),l.remove(),t._items.length>0&&e<2){if(0===e){t._items[0].children[1].remove(),a=document.createElement("div"),a.innerHTML=t.localize("where");const e=t._getColorInput();t._items[0].insertBefore(e,t._items[0].children[1])}t._items.length>1&&(t._items[1].children[1].remove(),a=document.createElement("jqx-input"),a.className="underlined",a.dataSource=[{value:"and",label:t.localize("and")},{value:"or",label:t.localize("or")}],a.dropDownButtonPosition=t.rightToLeft?"left":"right",a.readonly=!0,a.value=t.localize(t.operator),a.animation=t.animation,a.theme=t.theme,a.rightToLeft=t.rightToLeft,a.unfocusable=t.disabled||t.unfocusable,t._items[1].insertBefore(a,t._items[1].children[1]))}}}else if(a===t.$.addFilterButton&&t.dataSource.length>0)t.$.itemsContainer.appendChild(t._createItem(t.dataSource[0],"","",t._items.length));else if(a!==t.$.buttonsContainer.firstElementChild){if(a===t.$.buttonsContainer.children[1]){let e=t._stringConditions.concat(t._dateConditions),a=t.operator,l=[],n={},i=[];t._customConditions&&(e=e.concat(t._customConditions)),t._items.forEach((i=>{const o=t.dataSource.find((e=>e.label===i.children[2].value)),r=[];let s=i.children[3].value;if(""===s)return;let d=o.dataType;s=e.find((e=>e.label===s)).value;const c=i.querySelector("jqx-color-input").value;if(r.push(o.dataField,s),-1===s.indexOf("NULL")&&-1===s.indexOf("EMPTY"))if("boolean"===d)r.push(i.children[4].checked);else if("date"===d)r.push(i.children[4].value.toDate());else if("enum"===d||o.options){let e=i.children[4].$.input.dataValue;if(void 0===e){const t=o.options.find((e=>e.label===i.children[4].value));if(!t)return;e=t.value}d="string",r.push(e)}else r.push(i.children[4].value);r.push(c);let u=n[r[0]];void 0===u&&(u=new JQX.Utilities.FilterGroup,n[r[0]]=u);const p=u.createFilter(d,r[2],r[1]);u.addFilter(a,p),l.push(r)}));for(let e in n)i.push([e,n[e]]);const o={};o.type=t.$.condition.classList.contains("active")?"conditions":"singleSelect",o.decorate=t.$.applyToInput.selectedValue,o.singleSelect=t.$.singleSelect.selectedValue,o.singleSelect||(o.singleSelect=t.$.singleSelect.dataSource&&t.$.singleSelect.dataSource.length?t.$.singleSelect.dataSource[0].value:""),null===o.decorate&&(o.decorate="border"),t.value=l,t.$.fireEvent("apply",{filters:i,decorator:o,value:l})}}else t.$.fireEvent("cancel")}_applyValue(){const e=this,t=document.createDocumentFragment();let a=0;for(e._items=[],e.$.itemsContainer.innerHTML="";e.$.itemsContainer.firstElementChild;)e.$.itemsContainer.firstElementChild.remove();if(0===e.dataSource.length)return;e.$.gridLayout.style.display="grid",e.$.gridLayout.style.gridTemplateColumns="400px auto",e.$.gridLayout.style.gridColumnGap="1rem",e.$.gridLayout.style.overflow="hidden",e.$.applyToInput.classList.remove("jqx-hidden"),!e.ownerElement||"scheduler"!==e.ownerElement.view&&"kanban"!==e.ownerElement.view||(e.$.gridLayout.style.gridTemplateColumns="",e.$.applyToInput.classList.add("jqx-hidden"));const l=e.value&&e.value[0]||[],n=e.value?e.value[1]:{};n&&"singleSelect"===n.type?e.$.select.click():e.$.condition.click(),l.forEach((l=>{if(!Array.isArray(l))return;const n=l[0],i=e.dataSource.find((e=>e.dataField===n));if(!i)return;let o;o="EMPTY"===l[1]||"NULL"===l[1]||"NOT_EMPTY"===l[1]||"NOT_NULL"===l[1]?e._createItem(i,l[1],void 0,a,l[2]):e._createItem(i,l[1],l[2],a,l[3]),t.appendChild(o),a++})),e.$.itemsContainer.appendChild(t),e.updateSingleSelect(),n&&(e.$.applyToInput.selectedValue=n.decorate,e.$.singleSelect.selectedValue=n.singleSelect)}_createItem(e,t,a,l,n=""){const i=this,o=i.disabled||i.unfocusable?-1:0,r=document.createElement("div"),s=document.createDocumentFragment(),d=document.createElement("div"),c=document.createElement("jqx-input"),u=document.createElement("jqx-input");let p,m;d.className="jqx-grid-panel-item-close-button",d.tabIndex=o,d.setAttribute("role","button"),d.setAttribute("aria-label","button"),s.appendChild(d),p=document.createElement("div");const h=i._getColorInput();if(h.value=n,p.appendChild(h),p.setAttribute("role","presentation"),s.appendChild(p),c.className="underlined",c.dataSource=i.dataSource.map((e=>({value:e.dataField,label:e.label,icon:e.icon}))),c.dropDownButtonPosition=i.rightToLeft?"left":"right",c.readonly=!0,c.value=e.label,c.animation=i.animation,c.theme=i.theme,c.rightToLeft=i.rightToLeft,c.unfocusable=i.disabled||i.unfocusable,c.setAttribute("aria-label","Field"),c.dataSource&&c.dataSource.length<10?c.dropDownHeight="auto":c.dropDownHeight=250,s.appendChild(c),"boolean"===e.dataType)u.dataSource=JSON.parse(JSON.stringify(i._booleanConditions)),m=document.createElement("jqx-check-box"),m.checked="boolean"==typeof a&&a;else if("date"===e.dataType)u.dataSource=i._dateConditions,m=document.createElement("jqx-date-time-picker"),m.dropDownDisplayMode="auto",m.calendarButton=!0,m.dropDownAppendTo="body",m.formatString="M/d/yy H:mm",m.value=a;else if("number"===e.dataType)u.dataSource=JSON.parse(JSON.stringify(i._numberAndDateConditions)),m=document.createElement("jqx-numeric-text-box"),m.value="number"==typeof a||"string"==typeof a?a:0;else if("enum"===e.dataType||e.options){u.dataSource=JSON.parse(JSON.stringify(i._enumConditions)),m=document.createElement("jqx-input");let t=[];e.options&&(t=e.options.map((e=>{const t=e.color||"var(--jqx-primary)";return e.prefix='<span style="background: '+t+'; width: 14px; height: 14px; display: inline-block; border-radius: 50%; margin-left:-4px; margin-right: 8px; top: 2px; position: relative;"></span>',""===e.label&&(e.label=" "),e}))),m.dataSource=t.length?t:e.options,m.readonly=!0,m.dropDownButtonPosition="right";const l=a?e.options.find((e=>e.value===a)):null;m.value=l&&a?l.label:""}else u.dataSource=JSON.parse(JSON.stringify(i._stringConditions)),m=document.createElement("jqx-input"),m.value=null!=a?a.toString():"",t||(t="CONTAINS");return u.className="underlined",u.dropDownButtonPosition=i.rightToLeft?"left":"right",u.readonly=!0,u.animation=i.animation,u.theme=i.theme,u.rightToLeft=i.rightToLeft,u.unfocusable=i.disabled||i.unfocusable,u.setAttribute("aria-label","Condition"),u.classList.add("jqx-filter-panel-list"),u.dataSource.forEach((e=>{delete e.selected})),u.dataSource.find((e=>e.value===t))?(u.value=i.localize(t),u.selectedValue=t,u.condition=t):(m.value="",m.checked=!1),(void 0===t||-1===t.indexOf("NULL")&&-1===t.indexOf("EMPTY"))&&-1===t.indexOf("THIS_WEEK")&&-1===t.indexOf("LAST_WEEK")&&-1===t.indexOf("NEXT_WEEK")&&-1===t.indexOf("THIS_MONTH")&&-1===t.indexOf("LAST_MONTH")&&-1===t.indexOf("NEXT_MONTH")&&-1===t.indexOf("THIS_YEAR")&&-1===t.indexOf("LAST_YEAR")&&-1===t.indexOf("NEXT_YEAR")&&-1===t.indexOf("TODAY")&&-1===t.indexOf("TOMORROW")&&-1===t.indexOf("YESTERDAY")||(m.value="",m.checked=!1,m.classList.add("jqx-visibility-hidden")),u.dataSource&&u.dataSource.length<10?u.dropDownHeight="auto":u.dropDownHeight=250,m.animation=i.animation,m.classList.add("editor"),m.rightToLeft=i.rightToLeft,m.theme=i.theme,m.unfocusable=i.disabled||i.unfocusable,m.classList.add("underlined"),"boolean"!==e.dataType&&(m.placeholder=i.editorPlaceholder),i.editorCallback&&i.editorCallback(m,e),s.appendChild(u),s.appendChild(m),r.appendChild(s),r.className="jqx-grid-panel-item",i._items.push(r),r.dataType=e.dataType,r}_localize(e){const t=this;t.$.addFilterButton.innerHTML=t.localize("add"),t.$.buttonsContainer.firstElementChild.innerHTML=t.localize("cancel"),t.$.buttonsContainer.children[1].innerHTML=t.localize("apply"),t.$.itemsContainer.setAttribute("no-filters",t.localize("noResults")),t.$.select.innerHTML='<span class="jqx-icon jqx-grid-icon jqx-icon-sort-down show"></span>'+t.localize("select"),t.$.condition.innerHTML='<span class="jqx-icon jqx-grid-icon jqx-icon-filter show"></span>'+t.localize("conditions"),t.$.condition.title=t.localize("colorRows"),t.$.select.title=t.localize("colorSelect"),t.$.conditionLabel.innerHTML=t.localize("colorRows"),t.$.singleSelectLabel.innerHTML=t.localize("colorsSingleSelect"),t.$.singleSelect.dropDownPlaceholder=t.localize("noOptions");const a="var(--jqx-primary);";t.$.applyToInput.dataSource=[{label:t.localize("colorLeftBorderLabel"),value:"border",menuLabel:`<div style="flex-direction: column; display: inline-flex"><div>${t.localize("colorLeftBorderLabel")}</div><div class="jqx-quiet">${t.localize("colorLeftBorder")}</div>`,prefix:'<span style="top: 8px; border-right: 3px solid '+a+'; padding: 2px; display: inline-block; margin-right: 16px; position: relative;">1</span>'},{label:t.localize("colorRowLabel"),value:"row",menuLabel:`<div style="flex-direction: column; display: inline-flex"><div>${t.localize("colorRowLabel")}</div><div class="jqx-quiet">${t.localize("colorRow")}</div>`,prefix:'<span style="top: 8px; border: 1px solid var(--jqx-primary); color: var(--jqx-primary-color); background: '+a+'; padding: 2px; display: inline-block; margin-left:-4px; position: relative;">1</span><span style="border: 1px solid var(--jqx-primary); color: var(--jqx-primary-color); top: 8px;  background: '+a+'; padding: 2px; display: inline-block; margin-right: 8px; position: relative;">2</span>'},{label:t.localize("colorCellLabel"),value:"cell",menuLabel:`<div style="flex-direction: column; display: inline-flex"><div>${t.localize("colorCellLabel")}</div><div class="jqx-quiet">${t.localize("colorCell")}</div>`,prefix:'<span style="top: 8px; border: 1px solid var(--jqx-primary); color: var(--jqx-primary-color); background: '+a+'; padding: 2px; display: inline-block; margin-left:-4px; position: relative;">1</span><span style="border:1px solid '+a+'; padding: 2px; display: inline-block; top: 8px;  margin-right: 8px; position: relative;">2</span>'}],t.$.applyToInput.selectedValue="border",t._stringConditions=[{prefix:'<span class="jqx-icon jqx-icon-empty"></span>',value:"EMPTY",label:t.localize("EMPTY")},{prefix:'<span class="jqx-icon jqx-icon-not-empty"></span>',value:"NOT_EMPTY",label:t.localize("NOT_EMPTY")},{prefix:'<span class="jqx-icon jqx-icon-contains"></span>',value:"CONTAINS",label:t.localize("CONTAINS")},{prefix:'<span class="jqx-icon jqx-icon-does-not-contain"></span>',value:"DOES_NOT_CONTAIN",label:t.localize("DOES_NOT_CONTAIN")},{prefix:'<span class="jqx-icon jqx-icon-starts-with"></span>',value:"STARTS_WITH",label:t.localize("STARTS_WITH")},{prefix:'<span class="jqx-icon jqx-icon-ends-with"></span>',value:"ENDS_WITH",label:t.localize("ENDS_WITH")},{prefix:'<span class="jqx-icon jqx-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-null"></span>',value:"NULL",label:t.localize("NULL")},{prefix:'<span class="jqx-icon jqx-icon-not-null"></span>',value:"NOT_NULL",label:t.localize("NOT_NULL")}],t._enumConditions=[{prefix:'<span class="jqx-icon jqx-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")}],t._dateConditions=[{prefix:'<span class="jqx-icon jqx-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-less-than"></span>',value:"LESS_THAN",label:t.localize("LESS_THAN")},{prefix:'<span class="jqx-icon jqx-icon-less-than-equal"></span>',value:"LESS_THAN_OR_EQUAL",label:t.localize("LESS_THAN_OR_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-greater-than"></span>',value:"GREATER_THAN",label:t.localize("GREATER_THAN")},{prefix:'<span class="jqx-icon jqx-icon-greater-than-equal"></span>',value:"GREATER_THAN_OR_EQUAL",label:t.localize("GREATER_THAN_OR_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-null"></span>',value:"NULL",label:t.localize("NULL")},{prefix:'<span class="jqx-icon jqx-icon-not-null"></span>',value:"NOT_NULL",label:t.localize("NOT_NULL")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"TOMORROW",label:t.localize("TOMORROW")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"TODAY",label:t.localize("TODAY")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"YESTERDAY",label:t.localize("YESTERDAY")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"NEXT_WEEK",label:t.localize("NEXT_WEEK")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"THIS_WEEK",label:t.localize("THIS_WEEK")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"LAST_WEEK",label:t.localize("LAST_WEEK")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"NEXT_MONTH",label:t.localize("NEXT_MONTH")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"THIS_MONTH",label:t.localize("THIS_MONTH")},{prefix:'<span class="jqx-icon jqx-icon-calendar"></span>',value:"LAST_MONTH",label:t.localize("LAST_MONTH")}],t._numberAndDateConditions=[{prefix:'<span class="jqx-icon jqx-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-less-than"></span>',value:"LESS_THAN",label:t.localize("LESS_THAN")},{prefix:'<span class="jqx-icon jqx-icon-less-than-equal"></span>',value:"LESS_THAN_OR_EQUAL",label:t.localize("LESS_THAN_OR_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-greater-than"></span>',value:"GREATER_THAN",label:t.localize("GREATER_THAN")},{prefix:'<span class="jqx-icon jqx-icon-greater-than-equal"></span>',value:"GREATER_THAN_OR_EQUAL",label:t.localize("GREATER_THAN_OR_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-null"></span>',value:"NULL",label:t.localize("NULL")},{prefix:'<span class="jqx-icon jqx-icon-not-null"></span>',value:"NOT_NULL",label:t.localize("NOT_NULL")}],t._booleanConditions=[{prefix:'<span class="jqx-icon jqx-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")},{prefix:'<span class="jqx-icon jqx-icon-null"></span>',value:"NULL",label:t.localize("NULL")},{prefix:'<span class="jqx-icon jqx-icon-not-null"></span>',value:"NOT_NULL",label:t.localize("NOT_NULL")}],e&&t._items.forEach(((e,a)=>{const l=e.children[1],n=e.children[3];0===a?l.innerHTML="":1===a?(l.dataSource=[{value:"and",label:t.localize("and")},{value:"or",label:t.localize("or")}],l.value=t.localize(t.operator)):l.innerHTML=t.localize(t.operator),"string"!==e.dataType||e.options?"enum"===e.dataType||e.options?n.dataSource=t._enumConditions:"boolean"===e.dataType?n.dataSource=t._booleanConditions:"date"===e.dataType?n.dataSource=t._dateConditions:n.dataSource=t._numberAndDateConditions:n.dataSource=t._stringConditions,n.value=n.condition?t.localize(n.condition):""}))}_setFocusable(e){const t=this,a=t.disabled||t.unfocusable?-1:0;if(t.$.addFilterButton.tabIndex=a,t.$.buttonsContainer.firstElementChild.tabIndex=a,t.$.buttonsContainer.children[1].tabIndex=a,e){const e=Array.from(t.$.itemsContainer.getElementsByClassName("jqx-grid-panel-item-close-button")),l=Array.from(t.$.itemsContainer.querySelectorAll("jqx-date-time-picker, jqx-numeric-text-box, jqx-check-box, jqx-input"));e.forEach((e=>e.tabIndex=a)),l.forEach((e=>e.unfocusable=t.disabled||t.unfocusable))}}});

/***/ }),

/***/ 8588:
/***/ (() => {

JQX("jqx-input",class extends JQX.BaseElement{static get properties(){return{autoAdjustWidth:{value:!1,type:"boolean"},autoCompleteDelay:{value:100,type:"number"},dataSource:{type:"any",value:[],reflectToAttribute:!1},dropDownClassList:{value:[],type:"array",reflectToAttribute:!1},dropDownDataSource:{type:"any",reflectToAttribute:!1,value:[]},dropDownHeight:{type:"any",value:200},dropDownMaxHeight:{type:"any",value:""},dropDownOpenMode:{allowedValues:["default","manual"],value:"default",type:"string"},dropDownAppendTo:{value:null,type:"any"},dropDownWidth:{type:"any",value:null},dropDownButtonPosition:{allowedValues:["none","left","right"],value:"none",type:"string"},dropDownOpenPosition:{allowedValues:["bottom","top","auto"],value:"bottom",type:"string"},dropDownPlaceholder:{type:"string",value:""},hint:{type:"string",value:""},inputPurpose:{type:"string",value:"off"},items:{type:"number",value:8},minLength:{type:"number",value:1},maxLength:{type:"number",value:99999999},name:{value:"",type:"string"},prefix:{value:"",type:"string",reflectToAttribute:!1},suffix:{value:"",type:"string",reflectToAttribute:!1},onAffixClick:{value:null,type:"any",reflectToAttribute:!1},opened:{value:!1,type:"boolean"},query:{type:"string",value:""},queryMode:{allowedValues:["contains","containsIgnoreCase","doesNotContain","doesNotContainIgnoreCase","equals","equalsIgnoreCase","startsWith","startsWithIgnoreCase","endsWith","endsWithIgnoreCase"],type:"string",value:"containsIgnoreCase"},placeholder:{value:"",type:"string"},readonly:{type:"boolean",value:!1},sorted:{value:!1,type:"boolean"},sortDirection:{value:"asc",type:"string"},selectedIndex:{type:"number",value:-1},selectedValue:{type:"any",value:""},selectedValues:{value:[],type:"array"},type:{type:"string"},value:{type:"string",value:""},innerHTML:{type:"string",reflectToAttribute:!1}}}static get styleUrls(){return["jqx.textbox.css"]}template(){return'<div id="inputContainer" role="presentation"><div id="optionsContainer" inner-h-t-m-l=\'{{innerHTML}}\' class="jqx-hidden"></div><span class="jqx-input-prefix" id="prefix" inner-h-t-m-l=\'{{prefix}}\'></span><input maxlength=\'[[maxLength]]\'  class="jqx-input" id=\'input\' readonly=\'[[readonly]]\' placeholder=\'[[placeholder]]\' type=\'[[type]]\' name=\'[[name]]\' value=\'{{value::keyup}}\' disabled=\'[[disabled]]\' /><span class="jqx-hidden jqx-hint" id="span">[[hint]]</span><span id="suffix"  class="jqx-input-suffix" inner-h-t-m-l=\'{{suffix}}\'></span><div id="dropDownButton" tabindex=-1 class="jqx-drop-down-button" role="button" aria-label="Toggle popup"><div id="arrow" class="arrow" aria-hidden="true"></div></div></div>'}static get listeners(){return{"input.focus":"_focusHandler","input.blur":"_blurHandler","input.keydown":"_keyDownHandler","input.keyup":"_keyUpHandler","input.keypress":"_keyPressHandler","input.paste":"_pasteHandler","input.input":"_inputHandler","prefix.click":"_prefixClick","suffix.click":"_suffixClick","dropDownButton.down":"_dropDownButtonDownHandler","inputContainer.down":"_downHandler","document.up":"_documentUpHandler"}}_inputHandler(){const e=this;e.autoAdjustWidth&&e._autoAdjustWidth()}get selectionStart(){return this.$&&this.$.input?this.$.input.selectionStart:0}set selectionStart(e){this.$&&this.$.input&&(this.$.input.selectionStart=e)}get selectionEnd(){return this.$&&this.$.input?this.$.input.selectionEnd:0}set selectionEnd(e){this.$&&this.$.input&&(this.$.input.selectionEnd=e)}_prefixClick(e){const t=this;if(t.onAffixClick)if("string"==typeof t.onAffixClick){const o=t.onAffixClick.replace("()","");window[o]&&window[o].apply(t,e)}else t.onAffixClick(e)}_suffixClick(e){const t=this;if("string"==typeof t.onAffixClick){const o=t.onAffixClick.replace("()","");window[o]&&window[o].apply(t,e)}else t.onAffixClick(e)}get selectedIndexes(){return this.isCompleted?[this.selectedIndex]:[]}set selectedIndexes(e){if(!this.isCompleted)return;const t=this;if(e&&void 0!==e[0]){if(this.selectedIndex=e[0],null===this.dataSource)return;const o=this.dataSource[this.selectedIndex];if(!o)return;const a=this.context;this.context=this,this.$.input.dataValue=this.selectedValue="string"==typeof o?o:o.value,this.setAttribute("data-value",this.$.input.dataValue);let l=t.dataSource;"string"==typeof l&&(l=t.$.deserialize(l,"array"));for(let e=0;e<l.length;e++){let o=l[e];"string"!=typeof o&&"number"!=typeof o&&(o.value===t.$.input.dataValue?o.selected=!0:o.selected=!1)}this.context=a}else{const e=this.context;this.context=this,this.$.input.dataValue=this.selectedValue="",this.setAttribute("data-value",this.$.input.dataValue),this.selectedIndex=-1;let o=t.dataSource;if("string"==typeof o&&(o=t.$.deserialize(o,"array")),o&&Array.isArray(o))for(let e=0;e<o.length;e++){let a=o[e];"string"!=typeof a&&(a.value===t.$.input.dataValue?a.selected=!0:a.selected=!1)}this.context=e}}focus(){this.$.input.focus()}select(){const e=this;e.readonly?e.$.input.focus():e.$.input.select()}_documentUpHandler(e){const t=this,o=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;o!==t&&o!==t.$.dropDownButton&&o!==t.$.input&&o!==t.$.arrow?t.$.scrollView.contains(o.shadowParent||o)?t._isPointerDown&&(t._isPointerDown=!1,t.opened&&(t._preventLookup=!0),t.$.input.focus()):(t.opened&&(t._preventLookup=!0),"manual"===t.dropDownOpenMode||t._isPointerDown||t.close(),t._isPointerDown=!1):t._isPointerDown=!1}_focusHandler(){const e=this;e.setAttribute("focus",""),e.readonly||0!==e.minLength||0!==e.$.input.value.length||e._preventLookup?(e.$.fireEvent("focus"),delete e._preventLookup):e._lookup()}_blurHandler(){const e=this;e.opened||e.removeAttribute("focus"),e.opened||e.$.fireEvent("blur"),e._autoAdjustWidth(),e._refreshSelectedIndex(),delete e._preventLookup}_pasteHandler(e){const t=this,o=t.$.input,a=o.value,l=o.selectionStart,i=o.selectionEnd;if(!e.clipboardData&&!window.clipboardData)return;if(t.disabled)return;const r=(e.clipboardData||window.clipboardData).getData("text");let n=a.slice(0,l)+r;n.length,n+=a.slice(i),t.setAttribute("data-value",n),t._refreshSelectedIndex()}_refreshSelectedIndex(){const e=this;let t=e.dataSource;if(t){let o=-1,a=null;if(e.dataSource instanceof Promise)return;if("function"==typeof e.dataSource)return;"string"==typeof t&&(t=e.$.deserialize(t,"array"));for(let l=0;l<t.length;l++){let i=t[l];if("number"!=typeof i&&"boolean"!=typeof i||(i=""+i),"string"==typeof i){if(i===e.value){o=l,a=e.value;break}}else i&&(delete i.selected,i.label===e.value&&(o=l,a=i.value,i.selected=!0))}e.set("selectedIndex",o,!1),e.set("selectedValue",a,!1),-1===e.selectedIndex&&(e.$.input.dataValue=null),e._autoAdjustWidth()}}selectItem(e){const t=this;let o=t.dataSource;if("string"==typeof o&&(o=t.$.deserialize(o,"array")),o)for(let a=0;a<o.length;a++){const l=o[a];if(t.set("selectedIndex",-1),t.set("value",""),t.$.input.dataValue=null,"string"==typeof l){if(l===e)return t.set("selectedIndex",a,!1),t.set("value",t.$.input.dataValue=e),void t.setAttribute("data-value",t.$.input.dataValue)}else if(l.value===e)return t.set("selectedIndex",a,!1),t.set("value",l.label),t.$.input.dataValue=e,void t.setAttribute("data-value",t.$.input.dataValue)}else t.set("value",t.$.input.dataValue=e),t.setAttribute("data-value",t.$.input.dataValue),t.set("selectedIndex",-1,!1);t._autoAdjustWidth()}getItem(e){const t=this;if(t.dataSource)for(let o=0;o<t.dataSource.length;o++){const a=t.dataSource[o];if(a.value===e)return a}return null}getPrevItem(){const e=this,t=e.getSelectedItem();if(e.dataSource&&t)for(let o=0;o<e.dataSource.length;o++)if(e.dataSource[o].value===t.value)return e.dataSource[o-1];return null}getNextItem(){const e=this,t=e.getSelectedItem();if(e.dataSource&&t)for(let o=0;o<e.dataSource.length;o++)if(e.dataSource[o].value===t.value)return e.dataSource[o+1];return null}getSelectedItem(){const e=this;return e.dataSource&&0===e.dataSource.length?{label:e.value,value:e.$.input.dataValue?e.$.input.dataValue:e.value}:{label:e.value,value:void 0!==e.$.input.dataValue?e.$.input.dataValue:e.value}}_refreshMenu(){const e=this;e.$.menu.classList.remove("scroll"),e.$.scrollView.computedVerticalScrollBarVisibility&&e.$.menu.classList.add("scroll")}_fromHTMLEntities(e){const t=this,o=t._textArea?t._textArea:document.createElement("textarea");return o.innerHTML=e,t._textArea=o,o.value}_performSelect(){const e=this,t=e.$.menu.querySelector(".active");let o="",a="";t&&(o=t.getAttribute("data-label"),o=e._fromHTMLEntities(o),a=t.dataValue);let l=e.value,i=e.$.input.dataValue;e.set("value",o),e.$.input.dataValue=a,e.setAttribute("data-value",a),t&&e.set("selectedIndex",t.index),e.set("selectedValues",[e.$.input.dataValue]),e.set("selectedValue",e.$.input.dataValue);let r=e.dataSource;if("string"==typeof r&&(r=e.$.deserialize(r,"array")),r&&Array.isArray(r))for(let t=0;t<r.length;t++){let o=r[t];"string"!=typeof o&&"number"!=typeof o&&(o.value===e.$.input.dataValue?o.selected=!0:o.selected=!1)}e.close(),o===l&&a===i||(e.$.fireEvent("change",{value:a,label:o,oldValue:i,oldLabel:l}),e._updateTargetValue())}_open(){const e=this;if(e.opened)return;const t=window.scrollX,o=window.scrollY;let a=e.getBoundingClientRect(),l=0,i=0;if(e.timer&&clearTimeout(e.timer),e.getRootNode()&&e.getRootNode().host)e.getRootNode().host.shadowRoot.appendChild(e.$.scrollView);else if(e.dropDownAppendTo){if("body"===e.dropDownAppendTo||e.dropDownAppendTo===document.body)document.body.appendChild(e.$.scrollView);else if(e.dropDownAppendTo instanceof HTMLElement)e.dropDownAppendTo.appendChild(e.$.scrollView);else if("string"==typeof dropDownAppendTo){let t=document.getElementById(e.dropDownAppendTo);t instanceof HTMLElement?t.appendChild(e.$.scrollView):document.body.appendChild(e.$.scrollView)}}else document.body.appendChild(e.$.scrollView);if(e.setAttribute("aria-owns",e.$.scrollView.id),e.readonly||e.$.input.setAttribute("aria-controls",e.$.scrollView.id),e.$.scrollView.enableShadowDOM&&!e._importedStyle&&(e.$.scrollView.importStyle(e._getStyleUrl("jqx.textbox.css")),e._importedStyle=!0),"static"!==getComputedStyle(document.body).position){const e=document.body.getBoundingClientRect();l=e.left,i=e.top}if(e.$.scrollView.style.setProperty("--jqx-input-drop-down-menu-width",""),e.$.scrollView.style.left=-3+a.left+t-l+"px",e.$.scrollView.classList.remove("open"),e.$.scrollView.removeAttribute("top"),"bottom"===e.dropDownOpenPosition)e.$.scrollView.style.top=a.bottom+o-i+1+"px";else if("top"===e.dropDownOpenPosition)e.$.scrollView.style.top=a.top-e.$.scrollView.offsetHeight+o-i-2+"px",e.$.scrollView.setAttribute("top","");else if("auto"===e.dropDownOpenPosition){e.$.scrollView.style.top=a.bottom+o-i+1+"px";const t=a.top-e.$.scrollView.offsetHeight+o-i-2;window.innerHeight<parseInt(e.$.scrollView.style.top)+e.$.scrollView.offsetHeight-o?t>=0&&(e.$.scrollView.style.top=t+"px",e.$.scrollView.setAttribute("top","")):e.$.scrollView.style.top=a.bottom+o-i+1+"px"}if(e.dropDownAppendTo&&"body"!==e.dropDownAppendTo){e.$.scrollView.style.position="absolute",e.$.scrollView.style.width="auto",e.$.scrollView.style.height="auto";const t=e.$.scrollView.parentNode.getBoundingClientRect();e.$.scrollView.style.top=a.bottom-t.top+"px","top"===e.dropDownOpenPosition&&(e.$.scrollView.style.top=a.top-t.top-e.$.scrollView.offsetHeight+"px"),e.$.scrollView.style.left=-3+a.left-t.left+"px",e.dropDownHeight&&(e.$.scrollView.style.height=e.dropDownHeight),e.dropDownWidth&&(e.$.scrollView.style.width=e.dropDownWidth)}""!==e.dropDownMaxHeight&&e.$.scrollView.offsetHeight>e.dropDownMaxHeight&&e.$.scrollView.style.setProperty("--jqx-input-drop-down-menu-height",e.dropDownMaxHeight+"px"),e.opening=!0,e._positionTimer&&clearInterval(e._positionTimer),e.dropDownAppendTo||(e._positionTimer=setInterval((()=>{const t=e.getBoundingClientRect();if(e.opening)e.opening=!1,a=t;else if(Math.abs(parseInt(t.top)-parseInt(a.top))>=10||Math.abs(parseInt(t.left)-parseInt(a.left))>=10){const o=window.scrollX,a=window.scrollY;return e.$.scrollView.style.left=-3+t.left+o-l+"px",void("bottom"===e.dropDownOpenPosition?e.$.scrollView.style.top=t.bottom+a-i+1+"px":"top"===e.dropDownOpenPosition?e.$.scrollView.style.top=t.top-e.$.scrollView.offsetHeight+a-i+1+"px":"auto"===e.dropDownOpenPosition&&(e.$.scrollView.removeAttribute("top"),e.$.scrollView.style.top=t.bottom+a-i+1+"px",window.innerHeight<parseInt(e.$.scrollView.style.top)+e.$.scrollView.offsetHeight-a?(e.$.scrollView.style.top=t.top-e.$.scrollView.offsetHeight+a-i+1+"px",e.$.scrollView.setAttribute("top","")):e.$.scrollView.style.top=t.bottom+a-i+1+"px"))}}),50)),e.$.scrollView.onpointerdown=function(t){e._isPointerDown=!0,t.stopPropagation(),t.preventDefault()},requestAnimationFrame((function(){const o=e.dropDownWidth;if(e.$.scrollView.refresh&&e.$.scrollView.refresh(),e._refreshMenu(),e.$.scrollView.setAttribute("open",""),e.setAttribute("open",""),e.$.dropDownButton.setAttribute("open",""),e.$.input.setAttribute("open",""),o&&"string"==typeof o&&-1!==o.indexOf("%")){const t=parseFloat(o)/100;e.$.scrollView.style.setProperty("--jqx-input-drop-down-menu-width",e.offsetWidth*t+"px")}else if("auto"!==o&&o)e.$.scrollView.style.setProperty("--jqx-input-drop-down-menu-width",parseFloat(o)+"px");else if("auto"===o){if(e.$.scrollView.style.setProperty("--jqx-input-drop-down-menu-width",""),e.$.scrollView.$.scrollViewerContainer.classList.contains("vscroll")){const t=e.$.scrollView.offsetWidth+parseFloat(getComputedStyle(e.$.scrollView).getPropertyValue("--jqx-scroll-bar-size"));e.$.scrollView.style.setProperty("--jqx-input-drop-down-menu-width",t+"px")}}else{e.$.menu.style.width="auto";let t=e.$.menu.offsetWidth;const o=e.$.menu.querySelectorAll("li");for(let t=0;t<o.length;t++)e._maxDropDownWidth=Math.max((o[t].firstElementChild||o[t]).offsetWidth,e._maxDropDownWidth);e.$.scrollView.computedVerticalScrollBarVisibility&&(t+=e.$.scrollView.$&&e.$.scrollView.$.verticalScrollBar?e.$.scrollView.$.verticalScrollBar.offsetWidth:30),e.$.scrollView.style.setProperty("--jqx-input-drop-down-menu-width",Math.max(t,e.offsetWidth-8)+"px"),e.$.menu.style.width=""}const i=parseInt(e.$.scrollView.style.left),r=e.$.scrollView.offsetWidth;i+r>document.body.offsetWidth&&(e.$.scrollView.style.left=-3+a.right+t-l-r+"px"),(e.shadowRoot||e.isInShadowDOM)&&e.$.scrollView._scrollView&&JQX.ScrollBar&&requestAnimationFrame((()=>{e.$.scrollView._scrollView&&e.$.scrollView._scrollView.vScrollBar.refresh()}))})),e.$.scrollView.refresh&&e.$.scrollView.refresh(),e._refreshMenu(),e.set("opened",!0),e.setAttribute("aria-expanded",!0),e.$.fireEvent("open")}close(){const e=this;return!!e.opened&&(e.timer&&clearTimeout(e.timer),e.timer=setTimeout((function(){e.$.scrollView.parentNode&&!e.opened&&(e.$.scrollView.remove(),e.removeAttribute("aria-owns"),e.readonly||e.$.input.removeAttribute("aria-controls"))}),1e3),e._positionTimer&&clearInterval(e._positionTimer),e.$.scrollView.removeAttribute("open"),e.$.dropDownButton.removeAttribute("open"),e.$.input.removeAttribute("open"),e.removeAttribute("open"),e.set("opened",!1),e.setAttribute("aria-expanded",!1),e.$.input.focus(),e.$.fireEvent("close"),!0)}refresh(){const e=this;e.$.scrollView.refresh&&e.$.scrollView.refresh(),e._getDataSourceFromOption(),e.close()}_lookup(e){const t=this;t.query=t.$.input.value;const o=t.context;if(t.context=t,t.selectedIndex=-1,t.selectedValue=null,t.context=o,t.$.input.readonly&&(t._incrementalSearchQuery||(t._incrementalSearchQuery=""),t._incrementalSearchQuery+=e.key,t._incrementalSearchTimer&&clearTimeout(t._incrementalSearchTimer),t.query=t._incrementalSearchQuery,t._incrementalSearchTimer=setTimeout((function(){t._incrementalSearchQuery=""}),700)),t.query.length<t.minLength)return void t.close();const a=function(e){clearTimeout(t._autoCompleteTimeout),t._autoCompleteTimeout=setTimeout((()=>{const o=t.context;t.context=t,t._process(e),t.context=o}),t.autoCompleteDelay)};"function"==typeof t.dataSource?t.dataSource(t.query,a):a(t.dataSource)}_downHandler(e){const t=this;t.readonly&&t._dropDownButtonDownHandler(e)}_dropDownButtonDownHandler(e){const t=this;return"manual"!==t.dropDownOpenMode&&(t._toggle(),t.focus()),e.preventDefault(),e.stopPropagation(),e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),t._isPointerDown=!0,!1}_toggle(){const e=this;e.opened?e.close():e.open()}open(){const e=this;function t(t){e._process(t);const o=e.$.menu.querySelector(".active");if(o){const t=e.$.input.dataValue;for(let a=0;a<e.$.menu.children.length;a++){const l=e.$.menu.children[a],i=l.getAttribute("data-label"),r=l.dataValue;if(void 0!==t&&r===t||void 0===t&&i===e.$.input.value){o.classList.remove("active"),l.classList.add("active"),e._setActiveDescendant(l),e.$.input.dataValue=r,e.setAttribute("data-value",r);break}}}e.ensureVisible(),e.$.input.focus(),setTimeout((function(){e.$.input.focus()}),25)}e.dropDownDataSource&&(Array.isArray(e.dropDownDataSource)&&e.dropDownDataSource.length>0||"function"==typeof e.dropDownDataSource)?(e.query="","function"==typeof e.dropDownDataSource?e.dropDownDataSource(e.query,t):t(e.dropDownDataSource)):(e.query="","function"==typeof e.dataSource?e.dataSource(e.query,t):t(e.dataSource))}_process(e){const t=this;"string"==typeof e&&(e=t.$.deserialize(e,"array")),t.readonly,e=e.filter((function(e){return""===e||(t.matcher?t.matcher(e):t._matcher(e))})),e=t._sorter(e),t.sorted&&(e.sort(((e,t)=>void 0!==e.label?e.label.localeCompare(t.label):e.localeCompare(t))),"desc"===t.sortDirection&&e.reverse()),!e.length&&t.opened&&""===t.dropDownPlaceholder&&t.close(),0===e.length&&!0!==t.allowItemsAdd&&""===t.dropDownPlaceholder||(t.query.length>0?t.readonly?t._render(e):t._render(e.slice(0,t.items)):t._render(e),t._open(),t.$.scrollView.refresh&&t.$.scrollView.refresh(),t._refreshMenu(),t.ensureVisible())}_matcher(e){const t=this.query;switch(null===e&&(e="null"),e=""+(e=e.label||e),this.queryMode){case"startsWith":return e.startsWith(t);case"startsWithIgnoreCase":return e.toLowerCase().startsWith(t.toLowerCase());case"doesNotContain":return e.indexOf(t)<0;case"doesNotContainIgnoreCase":return e.toLowerCase().indexOf(t.toLowerCase())<0;case"contains":return e.indexOf(t)>-1;default:case"containsIgnoreCase":return~e.toLowerCase().indexOf(t.toLowerCase());case"equals":return 0===e.localeCompare(t);case"equalsIgnoreCase":return 0===e.toLowerCase().localeCompare(t.toLowerCase());case"endsWith":return e.endsWith(t);case"endsWithIgnoreCase":return e.toLowerCase().endsWith(t.toLowerCase())}}_sorter(e){const t=this;let o,a=[],l=[],i=[];if(e&&""===e[0])return e;for(;o=e.shift();){let e=o.label||o;e=""+e,e.toLowerCase().indexOf(t.query.toLowerCase())?~e.indexOf(t.query)?l.push(o):i.push(o):a.push(o)}return a.concat(l,i)}_highlighter(e){const t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return this.query?e.replace(new RegExp("("+t+")","ig"),(function(e,t){return"<strong>"+t+"</strong>"})):e}_render(e){const t=this;let o=0,a=-1,l=null;const i=e.map((function(e){let i=e,r=e;"object"==typeof e&&(i=e.label,r=void 0!==e.value?e.value:i),i=""+i,i=i.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;");const n=document.createElement("li"),s=document.createElement("a");if(s.href="javascript:void(0)",n.id=t.id+"Item"+Math.floor(65536*(1+Math.random())).toString(16).substring(1),n.setAttribute("data-label",i),n.index=o++,n.dataValue=r,"string"==typeof r?n.setAttribute("value",r):n.setAttribute("value",JSON.stringify(r)),n.setAttribute("role","option"),n.setAttribute("aria-label",i),void 0!==e.menuLabel?(i=e.menuLabel,s.innerHTML=i):s.innerHTML=t.highlighter?t.highlighter(i):t._highlighter(i),s.setAttribute("aria-hidden",!0),e.disabled&&n.classList.add("jqx-disabled"),void 0!==e.visible&&!1===e.visible&&n.classList.add("jqx-hidden"),e.icon&&(s.classList.add("icon"),s.classList.add(e.icon)),e.prefix){const t=document.createElement("span");t.innerHTML=e.prefix,s.classList.add("has-prefix"),s.innerHTML=t.innerHTML+s.innerHTML}if(e.suffix){const t=document.createElement("span");t.innerHTML=e.suffix,s.classList.add("has-suffix"),s.innerHTML=s.innerHTML+t.innerHTML}if(e.dataset)for(let t in e.dataset)n.setAttribute("data-"+t,e.dataset[t]);if(e.className){const t=e.className.split(" ");for(let e=0;e<t.length;e++)n.classList.add(t[e].trim())}return void 0!==t.selectedValue&&void 0!==e.value&&""!==t.selectedValue&&t.selectedValue===e.value&&(e.selected=!0,l=e,a=n.index,n.classList.add("active")),n.appendChild(s),n}));function r(){const e=t.$.menu.getElementsByClassName("active");e[0]&&e[0].classList.remove("active"),this.classList.add("active"),t._setActiveDescendant(this),t._autoAdjustWidth()}-1===a&&i.length>0&&(i[0].classList.add("active"),t._setActiveDescendant(i[0])),l&&(t.$.input.value=l.label,t.$.input.dataValue=l.value,t.setAttribute("data-value",t.$.input.dataValue)),t.$.menu.innerHTML="",0===i.length&&t.dropDownPlaceholder&&(t.$.menu.innerHTML='<div class="jqx-flex jqx-truncate jqx-quiet" style="padding:10px; align-items: center;">'+t.dropDownPlaceholder+"</div>");for(let e=0;e<i.length;e++){const o=i[e];t.$.menu.appendChild(o),o.onmouseenter=r,o.onmouseleave=function(){this.classList.remove("active"),t._setActiveDescendant(null)},o.onclick=r}}ensureVisible(){const e=this,t=e.$.menu.querySelector(".active");t&&(t.offsetTop+t.offsetHeight>=e.$.scrollView.scrollTop+e.$.scrollView.offsetHeight&&(e.$.scrollView.scrollTop=t.offsetTop+t.offsetHeight),(t.offsetTop<=e.$.scrollView.scrollTop||t.offsetTop>=e.$.scrollView.scrollTop+e.$.scrollView.offsetHeight)&&(e.$.scrollView.scrollTop=t.offsetTop),0===[...e.$.menu.children].indexOf(t)?e.$.scrollView.scrollTop=0:[...e.$.menu.children].indexOf(t)===e.$.menu.children.length-1&&(e.$.scrollView.scrollTop=e.$.scrollView.scrollHeight))}_next(){const e=this,t=e.$.menu.querySelector(".active");if(!t){const t=e.$.menu.firstElementChild;return t.classList.add("active"),void e._setActiveDescendant(t)}t.classList.remove("active");let o=t.nextElementSibling;o||(o=e.$.menu.firstElementChild),o.classList.add("active"),e._setActiveDescendant(o),e.ensureVisible()}_prev(){const e=this,t=e.$.menu.querySelector(".active");if(!t){const t=e.$.menu.firstElementChild;return t.classList.add("active"),void e._setActiveDescendant(t)}t.classList.remove("active");let o=t.previousElementSibling;o||(o=e.$.menu.lastElementChild),o.classList.add("active"),e._setActiveDescendant(o),e.ensureVisible()}_move(e){const t=this;if(t.readonly&&!t.opened){if("ArrowUp"===e.key){const o=t.getPrevItem();o&&t.selectItem(o.value),e.preventDefault()}if("ArrowDown"===e.key){const o=t.getNextItem();o&&t.selectItem(o.value),e.preventDefault()}}if(t.opened){switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),t._prev();break;case 40:e.preventDefault(),t._next()}e.stopPropagation()}}_keyDownHandler(e){const t=this;if(t._suppressKeyPressRepeat=![40,38,9,13,27,16,17,18].includes(e.keyCode),t._oldValue=t.$.input.value,!(e.shiftKey||e.altKey||e.ctrlKey)){if(t.opened&&"Escape"===e.key)return t.close(),e.stopPropagation(),void e.preventDefault();t._autoAdjustWidth(),t._move(e)}}_keyPressHandler(e){this._suppressKeyPressRepeat||e.shiftKey||e.altKey||e.ctrlKey||this._move(e)}_autoAdjustWidth(){const e=this;if(e.autoAdjustWidth){const t=document.createElement("span");t.textContent=e.$.input.value||e.placeholder||" ",t.style.minWidth="30px",t.classList.add("jqx-element"),t.style.position="absolute",e._measureStyle||(e._measureStyle=getComputedStyle(e)),t.style.fontSize=e._measureStyle.fontSize,t.style.fontFamily=e._measureStyle.fontFamily,t.style.fontWeight=e._measureStyle.fontWeight,document.body.appendChild(t);let o=0;e.readonly&&(o=30),e.style.width=t.offsetWidth+10+o+"px",t.remove()}}_keyUpHandler(e){const t=this;if(!(e.shiftKey||"F2"===e.key||"a"===e.key&&e.ctrlKey))switch(t._autoAdjustWidth(),e.keyCode){case 40:case 38:case 16:case 17:case 18:40===e.keyCode&&e.altKey&&t.open(),38===e.keyCode&&e.altKey&&t.close();break;case 9:case 13:if(!t.opened)return;if(!t.readonly&&!t.$.menu.querySelector(".active")){const o=t.$.input.value;return t._performSelect(),t.value=t.$.input.value=o,e.stopPropagation(),void e.preventDefault()}t._performSelect(),e.stopPropagation(),e.preventDefault();break;case 27:if(!t.opened)return;t.close(),e.stopPropagation(),e.preventDefault();break;default:t._lookupTimer&&clearTimeout(t._lookupTimer),t._lookupTimer=setTimeout((()=>{if(t._lookup(e),!t.opened||e.ctrlKey||e.shiftKey||(e.stopPropagation(),e.preventDefault()),t.$.fireEvent("changing",{value:t.$.input.value,oldValue:t._oldValue}),t.dataSource&&t.dataSource.length&&"function"!=typeof t.dataSource)for(let e=0;e<t.dataSource.length;e++){const o=t.dataSource[e];if("string"==typeof o){if(o===t.$.input.value){t.$.input.dataValue=t.$.input.value,t.setAttribute("data-value",t.$.input.dataValue);break}}else if(void 0!==o.label&&o.label===t.$.input.value){t.$.input.dataValue=o.value,t.setAttribute("data-value",o.value);break}}else t.$.input.dataValue=t.$.input.value,t.setAttribute("data-value",t.$.input.dataValue);t._updateTargetValue()}),300)}}clearValue(){const e=this;e.$.input.value="",e.$.input.dataValue="",e.removeAttribute("data-value"),e.set("value",""),e.set("selectedIndex",-1),e.set("selectedValues",[e.$.input.dataValue]),e.set("selectedValue",e.$.input.dataValue)}propertyChangedHandler(e,t,o){super.propertyChangedHandler(e,t,o);const a=this;if("innerHTML"===e&&(a._getDataSourceFromOption(),a._setSelection(!1)),"selectedValue"===e){let e=-1;if(a.dataSource&&Array.isArray(a.dataSource)&&a.dataSource.forEach(((t,a)=>{"string"==typeof t?t===o&&(e=a):t&&t.value===o&&(e=a)})),e>=0){const t=a.context;a.context=a,a.selectedIndex=e,a.context=t}a._setSelection()}if("selectedIndex"===e){let e=a.dataSource;if(a.selectedValue=null,e&&Array.isArray(e))for(let t=0;t<e.length;t++){let o=e[t];"string"!=typeof o&&"number"!=typeof o&&(o.selected=!1)}a._setSelection()}else if("dataSource"===e){if(a.dataSource&&Array.isArray(a.dataSource)){let e=-1;if(a.dataSource.forEach(((t,o)=>{t.selected&&(e=o)})),e>=0){const t=a.context;a.context=a,a.selectedIndex=e,a.context=t}}a._setSelection(!1)}else if("dropDownClassList"===e){const e=a.$.scrollView;for(let o=0,a=t.length;o<a;o+=1)e.classList.remove(t[o]);for(let t=0,a=o.length;t<a;t+=1)e.classList.add(o[t])}else if("dropDownHeight"===e)"auto"!==a.dropDownHeight?a.$.scrollView.style.setProperty("--jqx-input-drop-down-menu-height",a.dropDownHeight+"px"):a.$.scrollView.style.setProperty("--jqx-input-drop-down-menu-height","auto");else if("opened"===e)a.opened=t,o?a.open():a.close();else if("placeholder"===e){if(a.readonly){const e=a.getAttribute("aria-label");if(e&&e!==t)return;o?a.setAttribute("aria-label",o):a.removeAttribute("aria-label")}}else if("selectedValues"===e)if(null===o)a.$.input.value="",a.$.input.dataValue=o,a.setAttribute("data-value",o),a._refreshSelectedIndex();else{const e=o.join(","),t=a.value;if(a.$.input.dataValue=e,e&&-1===e.indexOf(",")){let e=-1,t=o[0];if(a.dataSource&&Array.isArray(a.dataSource)&&a.dataSource.forEach(((a,l)=>{"string"==typeof a?a!==o&&a!==t||(e=l):a&&a.value===t&&(e=l)})),e>=0){const t=a.context;a.context=a,a.selectedIndex=e,a.context=t}}a._setSelection(),a.propertyChangedHandler("value",t,a.value)}else"value"===e?(a.displayMember!==a.valueMember&&"string"!=typeof o?(a.set("value",o[a.displayMember]),a.$.input.dataValue=o[a.valueMember],a.setAttribute("data-value",a.$.input.dataValue)):(a.$.input.value=a.$.input.dataValue=o,a.setAttribute("data-value",o)),a._refreshSelectedIndex()):"readonly"===e?(a._setAriaRelations(),a._setInputPurpose()):"theme"===e||"rightToLeft"===e?a.$.scrollView[e]=o:"inputPurpose"===e?a._setInputPurpose():"inverted"===e?o?a.$.scrollView.setAttribute("inverted",""):a.$.scrollView.removeAttribute("inverted"):"disabled"!==e&&"unfocusable"!==e||a._setFocusable()}_updateTargetValue(){const e=this;if(e.dataset.target){const t=document.querySelector(e.dataset.target);if(t){const o=e.dataset.property,a=e.value;o&&void 0!==t[o]&&(t[o]=a)}}}detached(){super.detached(),this.close(),this.removeAttribute("focus")}_getDataSourceFromOption(){const e=this;if(e.innerHTML.indexOf("<option")>=0){e.$.optionsContainer.innerHTML=e.innerHTML.trim();const t=e.querySelectorAll("option");let o=[];for(let e=0;e<t.length;e++){const a=t[e],l=a.hasAttribute("selected")||a.hasAttribute("is-selected")&&"false"!==a.getAttribute("is-selected");let i=(""+a.textContent).trim();const r=(""+a.innerHTML).trim(),n=a.hasAttribute("value")?a.getAttribute("value"):i,s=a.hasAttribute("disabled"),u=a.hasAttribute("label")?a.getAttribute("label"):null;u&&(i=u),o.push({label:i,menuLabel:r,value:n,disabled:s,selected:l,className:a.className,dataset:a.dataset}),a.classList.add("jqx-hidden")}e.dataSource=o}}render(){const e=this,t=e.dropDownClassList;if(e._getDataSourceFromOption(),e.selectedValues&&e.selectedValues.length){const t=e.selectedValues.join(",");e.value=t}e._createElement&&e._createElement();const o=e.$.scrollView;for(let e=0,a=t.length;e<a;e+=1)o.classList.add(t[e]);e.opened&&(e.opened=!1,e.open());const a=e.$.menu;a&&(a.setAttribute("role","presentation"),o.appendChild(a)),"auto"!==e.dropDownHeight?o.style.setProperty("--jqx-input-drop-down-menu-height",e.dropDownHeight+"px"):o.style.setProperty("--jqx-input-drop-down-menu-height","auto"),o.classList.add("jqx-input-drop-down-menu");for(let t=0;t<e.classList.length;t++){const a=e.classList[t];"jqx-element"!==a&&"jqx-input"!==a&&o.classList.add(a+"-drop-down-menu")}o.id=e.id+"_"+e.tagName.toLowerCase()+"_menu_"+Math.floor(65536*(1+Math.random())).toString(16).substring(1),o.ownerElement=e;let l=e.dataSource;if("string"==typeof l&&(l=e.$.deserialize(l,"array")),l&&l.length&&Array.isArray(l)){let t=-1;if(l.forEach(((e,o)=>{e.selected&&(t=o)})),t>=0){e.selectedIndex=t;const o=l[t];e.selectedValue="string"==typeof o?l[t]:l[t].value}}e._setAriaRelations(),e._setInputPurpose(),e._setSelection(),e.isInitialized=!0,e.hasAttribute("tabindex")&&(e.readonly||(e.$.input.setAttribute("tabindex",e.getAttribute("tabindex")),e.removeAttribute("tabindex"))),e._autoAdjustWidth(),super.render()}_setSelection(e){const t=this;let o=t.dataSource;if("string"==typeof o&&(o=t.$.deserialize(o,"array")),t.selectedIndex>=0&&o&&o.length>0){let a=o[t.selectedIndex];if("number"!=typeof a&&"boolean"!=typeof a||(a=""+a),"string"==typeof a){let o=t.$.input.dataValue,l=t.value;t.set("value",a),t.$.input.dataValue=a,t.$.input.setAttribute("data-value",a),t.selectedValues=[t.$.input.dataValue],t.isInitialized&&!1!==e&&(t.$.fireEvent("change",{value:t.value,label:t.label,oldValue:o,oldLabel:l}),t._updateTargetValue())}else{let o=t.$.input.dataValue,l=t.value;a&&(void 0!==a.value?(t.set("value",void 0!==a.value?a.value+"":""),t.$.input.dataValue=a.value,t.$.input.setAttribute("data-value",a.value),t.selectedValues=[t.$.input.dataValue]):a.label&&(t.selectedValues=[a.value]),a.label&&t.set("value",a.label)),t.isInitialized&&!1!==e&&(t.$.fireEvent("change",{value:t.$.input.dataValue,label:a.value,oldValue:o,oldLabel:l}),t._updateTargetValue())}}}_createElement(){const e=this,t=document.createElement("ul"),o=document.createElement("jqx-scroll-viewer");o.rightToLeft=e.rightToLeft,o.theme=e.theme,o.horizontalScrollBarVisibility="hidden",e.inverted?o.setAttribute("inverted",""):o.removeAttribute("inverted"),e.$.scrollView=o,e.$.menu=t,e._setFocusable();const a=e.$.input;e.$.menu.onpointerdown=function(t){const o=t.target.closest("li"),l=e.$.menu.querySelector(".active");l&&o&&(l.classList.remove("active"),o.classList.add("active")),t.stopPropagation(),t.preventDefault(),setTimeout((()=>{e._performSelect(),o&&o.parentNode&&e.$.fireEvent("itemClick",{index:[...o.parentNode.children].indexOf(o),item:o,label:o.getAttribute("aria-label"),value:o.dataValue}),a.focus()}),50)},e.$.menu.onpointerup=function(t){t.stopPropagation(),t.preventDefault(),e.$.scrollView.$.verticalScrollBar.thumbCapture&&(e.$.scrollView.$.verticalScrollBar.thumbCapture=!1)}}_setAriaRelations(){const e=this,t=e.getAttribute("aria-label");e.readonly?(e.setAttribute("role","button"),!t&&e.placeholder&&e.setAttribute("aria-label",e.placeholder),e.removeAttribute("aria-readonly"),e.$.input.removeAttribute("aria-activedescendant"),e.$.input.removeAttribute("aria-controls"),e.$.dropDownButton.setAttribute("aria-hidden",!0)):(e.setAttribute("role","combobox"),t&&t===e.placeholder&&e.removeAttribute("aria-label"),e.$.input.setAttribute("role","searchbox"),e.$.input.removeAttribute("aria-hidden",!0),e.$.dropDownButton.removeAttribute("aria-hidden")),e.setAttribute("aria-expanded",e.opened),e.setAttribute("aria-haspopup","listbox"),e.setAttribute("aria-owns",e.$.scrollView.id),e.$.scrollView.setAttribute("role","listbox")}_setActiveDescendant(e){const t=this;t.readonly||(e?t.setAttribute("aria-activedescendant",e.id):t.removeAttribute("aria-activedescendant"))}_setInputPurpose(){const e=this;e.readonly?e.$.input.removeAttribute("autocomplete"):e.$.input.setAttribute("autocomplete",e.inputPurpose)}_setFocusable(){const e=this;e.disabled||e.unfocusable?e.$.input.setAttribute("tabindex",-1):e.$.input.removeAttribute("tabindex")}});

/***/ }),

/***/ 5707:
/***/ (() => {

JQX("jqx-list-item",class extends JQX.ContentElement{static get properties(){return{alternationIndex:{value:-1,type:"int"},color:{value:"",type:"string"},displayMode:{allowedValues:["plain","checkBox","radioButton"],value:"plain",type:"string"},grouped:{value:!1,type:"boolean"},selected:{value:!1,type:"boolean"},value:{value:"",type:"any"},valueName:{value:"",type:"any"},label:{value:"",type:"string"},sanitizeHTML:{value:!1,type:"boolean"},details:{value:"",type:"string"},group:{value:"",type:"string"},hidden:{value:!1,type:"boolean"},readonly:{value:!1,type:"boolean"}}}get hasStyleObserver(){return!1}get enableShadowDOM(){return!1}get _focused(){const e=this;return void 0===e.__focused&&(e.__focused=!1),e.__focused}set _focused(e){const t=this;t.__focused=e,e?(t.setAttribute("focus",""),t.ownerListBox&&t.ownerListBox.ownerElement&&JQX.ComboBox&&t.ownerListBox.ownerElement instanceof JQX.ComboBox&&t.ownerListBox.ownerElement.$.input.setAttribute("aria-activedescendant",t.id)):t.removeAttribute("focus")}template(){return'<div id="container">\n                   <span id=\'itemInput\' class=\'jqx-input jqx-hidden\'></span>\n                    <span class="jqx-overlay" id="overlay"></span>\n                    <div id="itemContainer" class="jqx-list-item-label-element jqx-content jqx-list-item-container"><span class="jqx-content-label" inner-h-t-m-l=\'[[innerHTML]]\' role="presentation"><content></content></span><span inner-h-t-m-l=\'[[details]]\' id="details" class="jqx-content-details"></span></div>\n                </div>'}appendChild(e){const t=this;if(!t.isCompleted||e.classList&&e.classList.contains("jqx-ripple")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}window.jqxBlazor?t.$.itemContainer.appendChild(e):(t.$.itemContainer.innerHTML="",e instanceof HTMLElement&&t.$.itemContainer.appendChild(e))}insertBefore(e,t){const i=this;if(!i.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(i,e.concat(Array.prototype.slice.call(arguments)))}t.parentNode.insertBefore(e,t)}removeChild(e){const t=this;if(!t.isCompleted||e.classList.contains("jqx-ripple")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e instanceof HTMLElement&&t.$.itemContainer.removeChild(e)}attached(){const e=this;super.attached(),e.ownerListBox=e.getListBox(),e.ownerListBox&&(e.ownerListBox.onClick&&(e.onpointerdown=t=>{e.ownerListBox.onClick(t)}),e.ownerListBox.onDoubleClick&&(e.ondblclick=t=>{e.ownerListBox.onDoubleClick(t)}))}static get listeners(){return{mouseenter:"_itemOnMouseEnter",mouseleave:"_itemOnMouseLeave"}}ready(){super.ready();const e=this;if(e.setAttribute("role","option"),""!==e.label){let t=e.label;t&&"string"==typeof t&&e.sanitizeHTML&&(t=t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")),e.innerHTML=t}else""!==e.innerHTML&&(e.label=e.innerHTML);e._setDisplayMode(e.displayMode),e._setItemColor(),e.$.container.noRipple=!0;const t=e.closest("jqx-list-box");if(t&&t.isRendered){if(cancelAnimationFrame(JQX.ListBox.processTimer),t._inLazyInit||t._isUpdating)return;JQX.ListBox.processTimer=requestAnimationFrame((()=>{t._lazyInitItems()}))}}propertyChangedHandler(e,t,i){const r=this;if(super.propertyChangedHandler(e,t,i),"hidden"===e)i?r.$.addClass("jqx-hidden"):r.$.removeClass("jqx-hidden");else if("color"===e)r._setItemColor();else if("displayMode"===e)r._setDisplayMode(i);else if("label"===e||"value"===e){const t=r.context;r.context=document,"label"===e&&(r.innerHTML=i);const o=r.getListBox();o&&(o._applyTemplate(r),o.onItemUpdated(r)),r.context=t}else if("details"===e){const e=r.context;r.context=document,r.$.details.innerHTML=i;const t=r.getListBox();t&&t.onItemUpdated(r),r.context=e}else if("innerHTML"===e){const e=r.getListBox();e&&e.onItemUpdated(r)}else if("selected"===e)if(i)r.setAttribute("aria-selected",!0);else{const e=r.getListBox();r.readonly||r.disabled||!e||-1===["oneOrManyExtended","zeroOrMany","oneOrMany","checkBox"].indexOf(e.selectionMode)?r.removeAttribute("aria-selected"):r.setAttribute("aria-selected",!1)}}getListBox(){const e=this;if(!JQX.ListBox)return e.getRootNode().host;let t=e.parentNode;for(;t instanceof JQX.ListBox==0&&null!==t;)t=t.parentNode;return!t&&JQX.EnableShadowDOM?e.getRootNode().host:t}_itemOnMouseEnter(){const e=this;!e.disabled&&e.ownerListBox&&(JQX.ListBox.DragDrop.Dragging&&e.ownerListBox.allowDrop&&(JQX.ListBox.DragDrop.DropDetails={item:e,position:"bottom"}),e.ownerListBox.$.verticalScrollBar.thumbCapture||e.ownerListBox.$.horizontalScrollBar.thumbCapture||e.setAttribute("hover",""))}_itemOnMouseMove(e){const t=this;if(t.ownerListBox&&JQX.ListBox.DragDrop.Dragging&&t.ownerListBox.allowDrop&&!JQX.Utilities.Core.isMobile){const i=[].slice.call(t.ownerListBox.getElementsByClassName("jqx-list-item-bottom-line-feedback"));for(let e=0;e<i.length;e++)i[e].$.removeClass("jqx-list-item-line-feedback"),i[e].$.removeClass("jqx-list-item-bottom-line-feedback");if(JQX.ListBox.DragDrop.DropDetails={item:t,position:"top"},!t.ownerListBox._areCSSVarsSupported){if(t.ownerListBox._indexOf(t)===t.ownerListBox._items.length-1||t.parentNode.lastElementChild===t){const i=t.getBoundingClientRect();e.pageY-window.pageYOffset>i.top+i.height/2-1&&(JQX.ListBox.DragDrop.DropDetails={item:t,position:"bottom"})}return}if(t.$.removeClass("jqx-list-item-line-feedback"),t.$.removeClass("jqx-list-item-bottom-line-feedback"),t.ownerListBox.sorted&&t.ownerListBox.autoSort)return;const r=t.ownerListBox._items.filter((e=>!e.hidden));if(r.indexOf(t)===r.length-1||t.parentNode.lastElementChild===t){const i=t.getBoundingClientRect();e.pageY-window.pageYOffset>i.top+i.height/2-1?(t.$.addClass("jqx-list-item-bottom-line-feedback"),JQX.ListBox.DragDrop.DropDetails={item:t,position:"bottom"}):arguments[1]||t.$.addClass("jqx-list-item-line-feedback")}else arguments[1]||t.$.addClass("jqx-list-item-line-feedback")}}_itemOnMouseLeave(){const e=this;e.ownerListBox&&(JQX.ListBox.DragDrop.Dragging&&(e.$.removeClass("jqx-list-item-line-feedback"),e.$.removeClass("jqx-list-item-bottom-line-feedback")),e.removeAttribute("hover"))}_setDisplayMode(e){const t=this,i=t.getListBox();if(i){const r="checkBox"===i.selectionMode||"radioButton"===i.selectionMode?i.selectionMode:"plain";t.displayMode=e=r}"plain"!==e?t.$itemInput.removeClass("jqx-hidden"):t.$itemInput.addClass("jqx-hidden")}_setItemColor(){const e=this,t=e.querySelector(".jqx-content-label"),i=/(^#[0-9A-F]{3}$)|(^#[0-9A-F]{6}$)|(^#[0-9A-F]{8}$)/i.test(e.color)?e.color:"";t.style.backgroundColor=i,t.style.color=e._getContrastColor(i)}_getContrastColor(e){if(!e)return"";let t=(i=e.slice(1,3),r=e.slice(3,5),o=e.slice(5,7),[parseInt(i,16),parseInt(r,16),parseInt(o,16)]);var i,r,o;return parseFloat(((.299*t[0]+.61*t[1]+.114*t[2])/255).toFixed(2))>.65?"#000000":"#FFFFFF"}}),JQX("jqx-list-items-group",class extends JQX.ContentElement{static get properties(){return{label:{value:"",type:"string"}}}get enableShadowDOM(){return!1}template(){return'<div id="container" role="presentation">\n                 <span id="itemsLabel" class="jqx-list-items-group-label">[[label]]</span>\n                 <div id="listItemsGroupContainer" inner-h-t-m-l=\'[[innerHTML]]\' class="jqx-list-items-group-container" role="presentation">\n                    <content></content>\n                 </div>\n               </div>'}appendChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e instanceof HTMLElement&&t.$.listItemsGroupContainer.appendChild(e)}removeChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e instanceof HTMLElement&&t.$.listItemsGroupContainer.removeChild(e)}getListBox(){let e=this.parentNode;for(;e instanceof JQX.ListBox==0&&null!==e;)e=e.parentNode;return e}attached(){const e=this;super.attached(),e.ownerListBox||(e.ownerListBox=e.getListBox()),e.setAttribute("role","group"),e.$.itemsLabel.id||(e.$.itemsLabel.id=e.id+"Label"),e.setAttribute("aria-labelledby",e.$.itemsLabel.id)}}),JQX("jqx-list-box",class extends JQX.ScrollViewer{static get properties(){return{allowDrag:{value:!1,type:"boolean"},allowDrop:{value:!1,type:"boolean"},alternationStart:{value:0,type:"int"},alternationEnd:{value:0,type:"int"},alternationCount:{value:0,type:"int"},autoSort:{value:!0,type:"boolean"},dataSource:{value:null,type:"any?",reflectToAttribute:!1},dragFeedbackFormatFunction:{value:null,type:"function?"},dragOffset:{value:[10,10],type:"array"},displayLoadingIndicator:{value:!1,type:"boolean"},displayMember:{value:"",type:"string"},shadowDomMode:{allowedValues:["light","shadow"],value:"shadow",type:"string"},dropAction:{value:"move",type:"string",allowedValues:["copy","move","none"]},editable:{value:!1,type:"boolean"},filterable:{value:!1,type:"boolean"},filterCallback:{value:null,type:"function?"},filterMode:{value:"containsIgnoreCase",allowedValues:["contains","containsIgnoreCase","doesNotContain","doesNotContainIgnoreCase","equals","equalsIgnoreCase","startsWith","startsWithIgnoreCase","endsWith","endsWithIgnoreCase","custom"],type:"string"},filterInputPlaceholder:{value:"",type:"string"},grouped:{value:!1,type:"boolean"},groupMember:{value:"",type:"string"},itemTemplate:{value:null,type:"any"},itemHeight:{value:null,type:"number?"},incrementalSearchDelay:{value:700,type:"number?"},incrementalSearchMode:{value:"startsWithIgnoreCase",allowedValues:["contains","containsIgnoreCase","doesNotContain","doesNotContainIgnoreCase","equals","equalsIgnoreCase","startsWith","startsWithIgnoreCase","endsWith","endsWithIgnoreCase"],type:"string"},itemMeasureMode:{value:"auto",allowedValues:["auto","precise"],type:"string"},loadingIndicatorPlaceholder:{value:"Loading...",type:"string"},loadingIndicatorPosition:{value:"center",allowedValues:["bottom","center","top"],type:"string"},messages:{extend:!0,value:{en:{overridingProperties:'{{elementType}}: Overriding properties {{property1}} and {{property2}} applied. The "{{property1}}" property is used by default.',invalidIndex:'{{elementType}}: "{{method}}" method accepts an index of type number or an Array of numbers.',indexOutOfBound:'{{elementType}}: Out of bound index/indexes in "{{method}}" method.',invalidItem:'{{elementType}}: "{{method}}" method accepts an object or an array of objects as it\'s second parameter.',invalidSettings:'{{elementType}}: "{{method}}" method accepts a string or an object as it\'s second parameter.'}},type:"object"},name:{value:"",type:"string"},placeholder:{value:"No Items",type:"string"},selectedIndexes:{value:[],type:"array"},selectedValues:{value:[],type:"array"},selectionMode:{value:"oneOrManyExtended",allowedValues:["none","oneOrManyExtended","zeroOrMany","oneOrMany","zeroOrOne","zeroAndOne","one","checkBox","radioButton"],type:"string"},selectionChangeAction:{value:"release",allowedValues:["press","release"],type:"string"},sorted:{value:!1,type:"boolean"},sortDirection:{value:"asc",type:"string"},topVisibleIndex:{value:-1,type:"int"},type:{value:"list",type:"string",defaultReflectToAttribute:!0,readonly:!0},valueMember:{value:"",type:"string"},virtualized:{value:!1,type:"boolean"},onClick:{value:null,type:"any",reflectToAttribute:!1},onDoubleClick:{value:null,type:"any",reflectToAttribute:!1}}}static get requires(){return{"JQX.ScrollBar":"jqx.scrollbar.js"}}static get styleUrls(){return["jqx.listbox.css","jqx.dropdown.css","jqx.scrollbar.css"]}static get listeners(){return{focus:"_focusHandler",blur:"_blurHandler","container.wheel":"_mouseWheelHandler","editInput.change":"_editInputEventHandler","editInput.blur":"_editInputEventHandler","editInput.keydown":"_editInputEventHandler","horizontalScrollBar.change":"_horizontalScrollbarHandler","itemsInnerContainer.down":"_downHandler","itemsInnerContainer.dblclick":"_dblclickEventHandler","itemsInnerContainer.move":"_itemsContainerMoveHandler","itemsContainer.mouseleave":"_mouseLeaveHandler","itemsInnerContainer.touchmove":"_touchmoveHandler","itemsInnerContainer.touchstart":"_touchstartHandler","document.move":"_moveHandler",keydown:"_keyDownHandler",keyup:"_keyUpHandler",resize:"_resizeHandler",selectstart:"_selectStartHandler",styleChanged:"_styleChangedHandler",swipeleft:"_swipeLeftHandler",swiperight:"_swipeRightHandler",touchmove:"_overriddenHandler",touchstart:"_overriddenHandler","verticalScrollBar.change":"_verticalScrollbarHandler"}}template(){return'<div id="container" class="jqx-container" role="presentation">\n                    <div class="jqx-list-box-filter-input-container jqx-hidden" id="filterInputContainer" role="presentation"><input id="filterInput" disabled="[[disabled]]" placeholder=\'[[filterInputPlaceholder]]\' role="searchbox" aria-label="[[filterInputPlaceholder]]"></div>\n                    <div id="itemsContainer" class="jqx-list-items-container" role="presentation">\n                        <div id="placeholder" class="jqx-placeholder" role="presentation" aria-hidden="true">[[placeholder]]</div>\n                        <div id="itemsInnerContainer" inner-h-t-m-l=\'[[innerHTML]]\' class="jqx-list-items-inner-container" role="presentation">\n                            <content></content>\n                        </div>\n                        <input type="text" id="editInput" class= "jqx-hidden"/>\n                    </div>\n                    <jqx-scroll-bar wait theme="[[theme]]" right-to-left="[[rightToLeft]]" id="verticalScrollBar" disabled="[[disabled]]" orientation="vertical"></jqx-scroll-bar>\n                    <jqx-scroll-bar wait theme="[[theme]]" right-to-left="[[rightToLeft]]" id="horizontalScrollBar" disabled="[[disabled]]"></jqx-scroll-bar>\n                    <div id="loadingIndicatorContainer" class="jqx-loader-container" role="presentation">\n                        <span id="loadingIndicator" class="jqx-loader" role="img" aria-label="[[loadingIndicatorPlaceholder]]"></span>\n                        <span id="loadingIndicatorPlaceHolder" class="jqx-loader-label jqx-hidden">[[loadingIndicatorPlaceholder]]</span>\n                    </div>\n                    <input id="hiddenInput" type="hidden" name="[[name]]">\n                </div>'}get value(){const e=this;return e.isRendered&&e._selectedItems.length>0?e._selectedItems.map((e=>({label:e.label,value:e.value}))):null}set value(e){const t=this;if(Array.isArray(e)){const i=t.context;t.context=t,t._isUpdating++,t.selectedValues=[],t.clearSelection();for(let i=0;i<e.length;i++){const r=e[i],o=t.getItem(r);o&&("oneOrManyExtended"===t.selectionMode?t._select(o):t.select(o))}return t.context=i,void t._isUpdating--}const i=t.getItem(e);i&&t.select(i)}get _selectedItems(){const e=this,t=[];if(e.isRendered)for(let i=0;i<e._items.length;i++){const r=e._items[i];r.selected&&t.push(r)}return t}_mouseLeaveHandler(){const e=[].slice.call(this.getElementsByClassName("jqx-list-item-bottom-line-feedback"));for(let t=0;t<e.length;t++)e[t].$.removeClass("jqx-list-item-line-feedback"),e[t].$.removeClass("jqx-list-item-bottom-line-feedback")}_downHandler(e){const t=this;if(t.disabled||t.displayLoadingIndicator||t.readonly)return;let i=e.originalEvent.target,r=null;if(!(i instanceof JQX.ListItem)||i.disabled||i.hidden||i instanceof JQX.ListItemsGroup)for(;i.parentElement;){if(i instanceof JQX.ListItem&&!i.disabled&&!i.hidden&&!(i instanceof JQX.ListItemsGroup)){r=i.dataItem;break}i=i.parentElement}else r=i.dataItem;JQX.ListBox.DragDrop.StartTime=new Date,JQX.ListBox.DragDrop.StartPosition={left:e.pageX,top:e.pageY},r&&(e.stopPropagation(),t.hasRippleAnimation&&(r.readonly||r.disabled||JQX.Utilities.Animation.Ripple.animate(i.$.overlay,e.pageX,e.pageY)),JQX.Utilities.Core.isMobile||"press"!==t.selectionChangeAction||(t._focus(r),t.select(r)),!JQX.ListBox.DragDrop.Feedback&&t.allowDrag&&(JQX.ListBox.DragDrop.DraggedFrom=t,JQX.ListBox.DragDrop.Feedback=document.createElement("span"),t.rightToLeft?JQX.ListBox.DragDrop.Feedback.setAttribute("right-to-left",!0):JQX.ListBox.DragDrop.Feedback.removeAttribute("right-to-left"),t.dragFeedbackFormatFunction?JQX.ListBox.DragDrop.Feedback.innerHTML=t.dragFeedbackFormatFunction(r):JQX.ListBox.DragDrop.Feedback.appendChild(r.offsetHeight?r.cloneNode(!0):t._createItem(r)),JQX.ListBox.DragDrop.Item=r,JQX.Utilities.Extend(JQX.ListBox.DragDrop.Feedback).addClass("jqx-popup jqx-list-item jqx-list-item-feedback")))}_dblclickEventHandler(e){const t=this;if(!t.editable)return;const i=e.target.closest("jqx-list-item");i instanceof JQX.ListItem&&!i.disabled&&!i.readonly?(t.$.editInput.dir=t.rightToLeft?"rtl":"ltr",t.$.editInput.style.width=t.$.itemsInnerContainer.offsetWidth+"px",t.$.editInput.owner=i,t.$.editInput.value=i.label,t.$.editInput.style.height=i.offsetHeight+"px",t.$.editInput.style.top=i.offsetTop+t.$.itemsInnerContainer.offsetTop+"px",t.$.editInput.setAttribute("aria-label","Edit item "+i.label),t.$editInput.hasClass("jqx-hidden")&&t.$editInput.removeClass("jqx-hidden"),t.$.editInput.focus({preventScroll:!0})):t.$editInput.addClass("jqx-hidden")}_editInputEventHandler(e){const t=this;if("blur"===e.type||"keydown"===e.type&&"Escape"===e.key)return t.$editInput.hasClass("jqx-hidden")||t.$editInput.addClass("jqx-hidden"),void t.focus();if("keydown"===e.type||t.$editInput.hasClass("jqx-hidden"))return;const i=e.target;if(e.stopPropagation(),i.owner.label!==i.value&&(i.owner.label=i.value,t.itemTemplate&&t._applyTemplate(i.owner),t.dataSource)){const e=i.owner.dataIndex,r=t.dataSource[e];r&&(t.displayMember?r[t.displayMember]=i.value:r.label=i.value)}t.$editInput.addClass("jqx-hidden"),t.$.fireEvent("itemLabelChange",{selected:i.owner.selected,disabled:i.owner.disabled,index:t._indexOf(i.owner),label:i.owner.label,value:i.owner.value})}_pointerUpHandler(e){const t=this;let i=e.originalEvent,r=i.target;(t.shadowRoot||t.isInShadowDOM)&&(r=i.originalEvent?i.originalEvent.composedPath()[0]:i.composedPath()[0]);const o=e=>{const i=e.ownerListBox;i.disabled||i!==t||i.displayLoadingIndicator||"none"===i.selectionMode||e.grouped||e.readonly||(i._focus(e),i.select(e),JQX.ListBox.DragDrop.StartPosition=null,t.$.fireEvent("itemClick",{selected:r.selected,disabled:r.disabled,index:t._indexOf(r),label:r.label,value:r.value}))};if(!(i.target instanceof JQX.ListItem)||i.target.disabled||i.target instanceof JQX.ListItemsGroup){for(;r&&r.parentElement;){if(r instanceof JQX.ListItem&&!r.disabled&&!(r instanceof JQX.ListItemsGroup))return void o(r.dataItem);r=r.parentElement}if(this.shadowRoot&&"shadow"===this.shadowDomMode){const e=i.composedPath();for(let t=0;t<e.length;t++){const i=e[t];i instanceof JQX.ListItem&&!i.disabled&&o(i.dataItem)}}}else o(r.dataItem)}_upHandler(e){const t=this;if(super._upHandler(),!t.disabled&&!t.readonly&&JQX.ListBox.DragDrop.StartPosition){if(JQX.Utilities.Core.isMobile&&!JQX.ListBox.DragDrop.Dragging){const i=Math.abs(e.pageX-JQX.ListBox.DragDrop.StartPosition.left),r=Math.abs(e.pageY-JQX.ListBox.DragDrop.StartPosition.top);let o=i>=0&&i<=3&&r>=0&&r<=3;if(JQX.Utilities.Core.isMobile&&new Date-JQX.ListBox.DragDrop.StartTime>=300&&(o=!1,JQX.ListBox.DragDrop.StartTime=null),o){const i=e.originalEvent.target.closest("jqx-list-box");i?i._pointerUpHandler(e):t._pointerUpHandler(e),JQX.ListBox.DragDrop.StartPosition=null}else{let t=e.originalEvent.target;if(!(e.target instanceof JQX.ListItem)||t.readonly||e.target.disabled||e.target instanceof JQX.ListItemsGroup)for(;t.parentElement;){if(t instanceof JQX.ListItem&&!t.readonly&&!t.disabled&&!(t instanceof JQX.ListItemsGroup)){e.stopPropagation();break}t=t.parentElement}else e.stopPropagation()}}else if(!JQX.Utilities.Core.isMobile&&!JQX.ListBox.DragDrop.Dragging&&"release"===t.selectionChangeAction){const i=(t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target).closest("jqx-list-box");i&&(i.upTimer&&clearTimeout(i.upTimer),t.isInShadowDOM?i?i._pointerUpHandler(e):t._pointerUpHandler(e):i.upTimer=setTimeout((()=>{i?i._pointerUpHandler(e):t._pointerUpHandler(e)})))}if(JQX.ListBox.DragDrop.Feedback){let i;if(JQX.ListBox.DragDrop.Feedback.parentNode&&JQX.ListBox.DragDrop.Feedback.parentNode.removeChild(JQX.ListBox.DragDrop.Feedback),JQX.ListBox.DragDrop.Feedback=null,JQX.Utilities.Core.isMobile&&JQX.ListBox.DragDrop.Dragging)for(let t=0;t<JQX.ListBox.DragDrop.ListBoxes.length;t++){const r=JQX.ListBox.DragDrop.ListBoxes[t],o=r.getBoundingClientRect();if(r.allowDrop&&!r.closest(".jqx-visibility-hidden")&&o.left<=e.clientX&&e.clientX<=o.left+o.width&&o.top<=e.clientY&&e.clientY<=o.top+o.height){i=r;const t=r._items.filter((e=>!e.hidden));for(let i=0;i<t.length;i++){const s=t[i],l=s.getBoundingClientRect();if((t.indexOf(s)===t.length-1||s.parentNode.lastElementChild===s)&&e.clientY>=o.top+s.offsetTop-r.scrollTop+l.height/2&&e.clientY<=o.top-r.scrollTop+s.offsetTop+l.height){JQX.ListBox.DragDrop.DropDetails={item:s,position:"bottom"};break}if(e.clientY>=o.top+s.offsetTop-r.scrollTop&&e.clientY<=o.top+s.offsetTop+l.height-r.scrollTop){JQX.ListBox.DragDrop.DropDetails={item:s,position:"top"};break}}}}if(JQX.ListBox.DragDrop.Dragging){if(JQX.ListBox.DragDrop.DropDetails){let r=JQX.ListBox.DragDrop.DropDetails.item,o=JQX.ListBox.DragDrop.Item;const s=o.ownerListBox;let l=e.originalEvent.target;if(t.isInShadowDOM&&(l=e.originalEvent?e.originalEvent.composedPath()[0]:e.composedPath()[0]),i=!i&&l.closest?l.closest("jqx-list-box"):i,document.body.classList.remove("jqx-dragging"),r.$.removeClass("jqx-list-item-line-feedback"),r.$.removeClass("jqx-list-item-bottom-line-feedback"),i&&r.ownerListBox!==i&&i.items.length>0&&(r=i.items[i.items.length-1]),JQX.ListBox.DragDrop.Item===r||i!==r.ownerListBox&&!JQX.Utilities.Core.isMobile)i&&0===i._items.length&&"none"!==i.dropAction&&("move"===i.dropAction?JQX.ListBox.DragDrop.Item.ownerListBox.removeChild(JQX.ListBox.DragDrop.Item):"copy"===i.dropAction&&(o=o.cloneNode(!0)),i.appendChild(o));else if("none"!==o.ownerListBox.dropAction){r.ownerListBox!==o.ownerListBox&&"move"===o.ownerListBox.dropAction&&JQX.ListBox.DragDrop.Item.ownerListBox.removeChild(JQX.ListBox.DragDrop.Item),"copy"===o.ownerListBox.dropAction&&(o=o.cloneNode(!0)),JQX.ListBox.DragDrop.Item.group=r.group;const e=r.ownerListBox;"checkBox"!==e.selectionMode&&"radioButton"!==e.selectionMode&&e.clearSelection(),"top"===JQX.ListBox.DragDrop.DropDetails.position?e.insertBefore(o,r):r.parentNode.lastElementChild===r?e.appendChild(o):e.appendChild(o,r),e.ensureVisible(o),"checkBox"===e.selectionMode||"radioButton"===e.selectionMode?(e._focus(o),e._refreshSelection()):(e.clearSelection(),e.select(o))}o.selected&&i!==s&&s._refreshSelection();const n=JQX.ListBox.DragDrop.Item,a=n.ownerListBox;n.displayMode="checkBox"===a.selectionMode||"radioButton"===a.selectionMode?a.selectionMode:"plain",a.$.fireEvent("dragEnd",{item:n,target:r,data:JQX.ListBox.DragDrop,previousContainer:s,container:i,originalEvent:e}),a._focus(n)}else{const t=JQX.ListBox.DragDrop.Item,i=t.ownerListBox;t.displayMode="checkBox"===i.selectionMode||"radioButton"===i.selectionMode?i.selectionMode:"plain",document.body.classList.remove("jqx-dragging"),i.$.fireEvent("dragEnd",{item:t,target:null,data:JQX.ListBox.DragDrop,previousContainer:i,container:i,originalEvent:e}),i._focus(t)}e.preventDefault()}delete JQX.ListBox.DragDrop.DraggedFrom,JQX.ListBox.DragDrop.Dragging=!1,JQX.ListBox.DragDrop.Item=null,JQX.ListBox.DragDrop.DropDetails=null}for(let e=0;e<JQX.ListBox.DragDrop.ListBoxes.length;e++){const t=JQX.ListBox.DragDrop.ListBoxes[e];t._dragInterval&&clearInterval(t._dragInterval)}}}_itemsContainerMoveHandler(e){const t=this;if(JQX.ListBox.DragDrop.Dragging)return t._applyItemFeedback(e),t._moveHandler(e),e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),!1}_touchmoveHandler(e){if(JQX.ListBox.DragDrop.Dragging&&e.cancelable)return e.preventDefault(),void e.stopPropagation();super._touchmoveHandler(e)}_applyItemFeedback(e){const t=this,i=e.originalEvent.target,r=i.closest?i.closest("jqx-list-item"):i;JQX.Utilities.Core.isMobile?JQX.ListBox.DragDrop.DropDetails={item:JQX.ListBox.DragDrop.Item,position:"bottom"}:0!==t.items.length&&(r?r._itemOnMouseMove(e):t.items[t.items.length-1]._itemOnMouseMove(e,!0))}_moveHandler(e){const t=this;if(!JQX.ListBox.DragDrop.Feedback||JQX.ListBox.DragDrop.DraggedFrom!==t)return;const i=t.dragOffset;if(JQX.ListBox.DragDrop.Dragging){JQX.ListBox.DragDrop.Feedback.style.left=i[0]+e.pageX+"px",JQX.ListBox.DragDrop.Feedback.style.top=i[1]+e.pageY+"px",t.$.fireEvent("dragging",{item:JQX.ListBox.DragDrop.Item,data:JQX.ListBox.DragDrop,originalEvent:e.originalEvent});for(let t=0;t<JQX.ListBox.DragDrop.ListBoxes.length;t++){const i=JQX.ListBox.DragDrop.ListBoxes[t];i._dragInterval&&clearInterval(i._dragInterval),i._dragInterval=setInterval((function(){const t=i.getBoundingClientRect();t.left<=e.clientX&&t.left+t.width>=e.clientX&&(e.clientY>=t.top&&e.clientY<=t.top+20?i.scrollTop-=2:e.clientY>=t.top+t.height-20&&e.clientY<=t.top+t.height&&(i.scrollTop+=2))}),1)}return e.preventDefault(),e.stopPropagation(),e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),!1}{const r=Math.abs(e.pageX-JQX.ListBox.DragDrop.StartPosition.left),o=Math.abs(e.pageY-JQX.ListBox.DragDrop.StartPosition.top),s=new Date-JQX.ListBox.DragDrop.StartTime;let l=r>=5&&r<=15||o>=5&&o<=15;if(JQX.Utilities.Core.isMobile&&(s<300||s>1e3)&&(l=!1),l){JQX.ListBox.DragDrop.Dragging=!0,JQX.ListBox.DragDrop.Feedback.style.left=i[0]+e.pageX+"px",JQX.ListBox.DragDrop.Feedback.style.top=i[1]+e.pageY+"px",t.getShadowRootOrBody().appendChild(JQX.ListBox.DragDrop.Feedback),e.preventDefault(),e.stopPropagation(),e.originalEvent.preventDefault(),e.originalEvent.stopPropagation();const r=JQX.ListBox.DragDrop.Item,o=r.ownerListBox;o.$.fireEvent("dragStart",{item:r,data:JQX.ListBox.DragDrop,container:o,previousContainer:o,originalEvent:e.originalEvent}),document.body.classList.add("jqx-dragging")}}}_focusHandler(){this._focused=!0,this.setAttribute("focus","")}_blurHandler(){this._focused=!1,this.removeAttribute("focus")}appendChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}t.isVirtualized?(t._items.indexOf(e)>-1&&t._items.splice(t._items.indexOf(e),1),t._items.push(e)):(e.dataItem=e,t.shadowRoot&&"light"===t.shadowDomMode?t.appendChild(e):t.$.itemsInnerContainer.appendChild(e),t._items.indexOf(e)>-1&&t._items.splice(t._items.indexOf(e),1),t._items.push(e)),t._isUpdating||(t._refreshItems(),t._refreshSelection())}insertBefore(e,t){const i=this;if(!i.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(i,e.concat(Array.prototype.slice.call(arguments)))}i.isVirtualized?(i._items.indexOf(e)>-1&&i._items.splice(i._items.indexOf(e),1),i._items.splice(i._indexOf(t),0,e)):(e.dataItem=e,t.parentNode.insertBefore(e,t),i._items.indexOf(e)>-1&&i._items.splice(i._items.indexOf(e),1),i._items.splice(i._indexOf(t),0,e)),i._refreshItems(),i._refreshSelection()}removeChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}if(t.isVirtualized)t._items.splice(t._indexOf(e),1);else if(e.parentNode){const i=t.selectedIndexes.slice(0),r=t.selectedValues.slice(0),o=i.indexOf(e.dataIndex);e.parentNode.removeChild(e),o>-1&&(i.splice(o,1),r.splice(o,1),t.selectedIndexes=i,t.selectedValues=r)}t._refreshItems()}propertyChangedHandler(e,t,i){if("dataSource"===e&&(!i||i&&Array.isArray(i)&&0===i.length))return void this.clearItems();super.propertyChangedHandler(e,t,i);const r=this;switch(e){case"innerHTML":r.clearSelection(),r._dataBind(),r.innerHTML=r.content=JQX.Utilities.Core.html(r.$.content);break;case"dataSource":case"valueMember":case"groupMember":case"displayMember":r.clearSelection(),r._dataBind(),r._applyDefaultSelection();break;case"disabled":case"unfocusable":r._setFocusable();break;case"displayLoadingIndicator":r._setLoadingIndicatorVisibility();break;case"filterable":r._refreshFilter(),r._refreshLayout();break;case"grouped":if(i?r._group():r._ungroup(),"radioButton"===r.selectionMode){if(r.selectedValues.length>0){const e=r.selectedValues;r.clearSelection(),r.select(e[0])}}else r._refreshSelection();r._refreshLayout();break;case"itemTemplate":{if(null===i||""===i)return r._items.map((e=>e.innerHTML=e.label)),delete r._bindingDetails,void r._refreshLayout();const e=r.querySelectorAll("jqx-list-item"),t=function(){r._handleItemTemplate(i)&&(r._items.map((e=>r._applyTemplate(e))),r._refreshLayout()),r.ownerElement&&r.ownerElement._setDropDownSize&&r.ownerElement._setDropDownSize(),r.$.fireEvent("bindingComplete")};0===e.length?t():r._ensureItemsReady(e,t);break}case"selectedIndexes":case"selectedValues":{let o=r.selectedIndexes.slice(0),s=r.selectedValues.slice(0);if(!r._items||0===r._items.length)return r.selectedIndexes=[],r.selectedValues=[],void(r.$.hiddenInput.value=r.selectedValues.toString());if(r._propertyChanging=!0,"selectedIndexes"===e){o=t.slice(0),r.clearSelection();for(let e=0;e<i.length;e++){const t=i[e],o=r._items[t];o&&("oneOrManyExtended"===r.selectionMode||"oneOrMany"===r.selectionMode?(r.selectedIndexes.length>0&&0===e&&r.clearSelection(),r._select(o)):r.select(o))}}else{s=t.slice(0),r.selectedValues=[],r.clearSelection();for(let e=0;e<i.length;e++){const t=i[e],o=r.getItem(t);o&&("oneOrManyExtended"===r.selectionMode?r._select(o):r.select(o))}}if(r.selectedIndexes.length>0&&r._focus(r._items[r.selectedIndexes[0]]),r._propertyChanging=!1,JSON.stringify(s)!==JSON.stringify(r.selectedValues.slice(0))){let e=[],t=[];for(let e=0;e<o.length;e++)r.selectedIndexes.indexOf(o[e])<0&&t.push(r._items[o[e]]);for(let t=0;t<r.selectedIndexes.length;t++)o.indexOf(r.selectedIndexes[t])<0&&e.push(r._items[r.selectedIndexes[t]]);let i={addedItems:e,removedItems:t};if(r.selectedIndexes.length>0){const e=r._items[r.selectedIndexes[r.selectedIndexes.length-1]];void 0!==e&&(i.selected=e.selected,i.disabled=e.disabled,i.index=r._indexOf(e),i.label=e.label,i.value=e.value)}else i.selected=!1,i.disabled=!1,i.index=-1,i.label="",i.value="";r.$.fireEvent("change",i),r._updateTargetValue()}break}case"selectionMode":{const e="checkBox"===r.selectionMode||"radioButton"===r.selectionMode?r.selectionMode:"plain",o=r.selectedIndexes.slice(0),s=r.selectedValues.slice(0);r._propertyChanging=!0;const l=r.selectedValues;r.setAttribute("aria-multiselectable",-1!==["oneOrManyExtended","zeroOrMany","oneOrMany","checkBox","radioButton"].indexOf(i)),r.selectedValues=[],r.clearSelection();for(let e=0;e<l.length;e++){const t=l[e],i=r.getItem(t);i&&("oneOrManyExtended"===r.selectionMode?r._select(i):r.select(i))}if(r._items.forEach((t=>t.displayMode=e)),r._recycle(),r._propertyChanging=!1,JSON.stringify(s)!==JSON.stringify(r.selectedValues.slice(0))){let e=[],t=[];for(let e=0;e<o.length;e++)r.selectedIndexes.indexOf(o[e])<0&&t.push(r._items[o[e]]);for(let t=0;t<r.selectedIndexes.length;t++)o.indexOf(r.selectedIndexes[t])<0&&e.push(r._items[r.selectedIndexes[t]]);let i={addedItems:e,removedItems:t};if(o.length>0){const e=r._items[o[o.length-1]];e&&(i.selected=e.selected,i.disabled=e.disabled,i.index=r._indexOf(e),i.label=e.label,i.value=e.value)}r.$.fireEvent("change",i),r._updateTargetValue()}r._applyAriaSelected(),"checkBox"!==i&&"radioButton"!==i&&"checkBox"!==t&&"radioButton"!==t||r._refreshLayout();break}case"topVisibleIndex":r._setTopVisibleIndex(i);break;case"autoSort":r._canSort=i;break;case"alternationStart":case"alternationEnd":case"alternationCount":r._refreshItems(),r._refreshLayout();break;case"sortDirection":case"sorted":{r._canSort=!0,i?r._sort():r._unsort();const e=r.selectedValues;r.selectedValues=[],r._refreshSelection();for(let t=0;t<e.length;t++){const i=e[t],o=r.getItem(i);o&&("oneOrManyExtended"===r.selectionMode?r._select(o):r.select(o))}r._refreshLayout(),r._canSort=r.autoSort;break}}}_refreshSelection(){const e=this;if(!e._items||0===e._items.length)return;const t=e.selectedValues;e.selectedIndexes=[],e.selectedValues=[];for(let i=0;i<e._items.length;i++){const r=e._items[i];r.selected=!1,t.indexOf(r.value)>-1&&e.select(r)}e._recycle()}clearSelection(){const e=this;if(!e._items||0===e._items.length)return;let t=[];for(let i=0;i<e._items.length;i++)e._items[i].selected&&t.push(e._items[i]);e._items.map((e=>e.selected=!1)),e.selectedValues.slice(0);const i=e.selectedIndexes.slice(0);if(e.selectedIndexes=[],e.selectedValues=[],e.$.hiddenInput.value=e.selectedValues.toString(),e._recycle(),e.context!==e){let r={addedItems:[],removedItems:t};if(i.length>0){const t=e._items[i[i.length-1]];t&&(r.selected=t.selected,r.disabled=t.disabled,r.index=e._indexOf(t),r.label=t.label,r.value=t.value)}e.$.fireEvent("change",r),e._updateTargetValue()}}ensureVisible(e){const t=this;if(e)return!("string"==typeof e&&!(e=t.getItem(e))||(t.isVirtualized||t.$.itemsContainer.scrollTop===t.scrollTop||(t.scrollTop=t.$.itemsContainer.scrollTop),e.top+e.height>=t.scrollTop+t.offsetHeight&&(t.scrollTop=t.scrollTop+e.height,t.isVirtualized||(t.$.itemsContainer.scrollTop=t.scrollTop)),(e.top<=t.scrollTop||e.top>=t.scrollTop+t.$.itemsContainer.offsetHeight)&&(t.scrollTop=e.top,t.isVirtualized||(t.$.itemsContainer.scrollTop=t.scrollTop)),0===t._indexOf(e)||1===t._indexOf(e)&&t._items.length>1&&t._items[0].grouped?(t.scrollTop=0,t.isVirtualized||(t.$.itemsContainer.scrollTop=t.scrollTop)):t._indexOf(e)===t._items.length-1&&(t.scrollTop=t.scrollHeight,t.isVirtualized||(t.$.itemsContainer.scrollTop=t.scrollTop)),0))}get items(){const e=this;if(!window.__karma__&&!window.karma&&e instanceof Element&&e.isRendered&&e.hasAttribute&&e.hasAttribute("jqx-blazor")){let t=[];for(let i=0;i<e._items.length;i++){const r=e._items[i];t.push({label:r.label,value:r.value})}return t}return e._filteredItems?e._filteredItems:e._items}getItems(){const e=this,t=e._filteredItems?e._filteredItems:e._items;let i=[];if(t&&t.length>0)for(let e=0;e<t.length;e++){const r=t[e];i.push({label:r.label,value:r.value})}return i}ready(){super.ready();const e=this;if(e.shadowRoot&&"light"===e.shadowDomMode){const t=document.createDocumentFragment();[].slice.call(e.$.itemsInnerContainer.children).map((e=>t.appendChild(e))),e.appendChild(t),e.$.itemsInnerContainer.appendChild(document.createElement("slot"))}e._areCSSVarsSupported=JQX.Utilities.Core.CSSVariablesSupport(),e.isUpdating=0,e._scrollView&&(e._scrollView=new JQX.Utilities.Scroll(e,e.$.horizontalScrollBar,e.$.verticalScrollBar),e._scrollView.hScrollBar.$.addClass("jqx-hidden"),e._scrollView.vScrollBar.$.addClass("jqx-hidden"));const t=e._scrollView.vScrollBar,i=e._scrollView.hScrollBar;t.hasStyleObserver=!1,i.hasStyleObserver=!1,t.hasResizeObserver=!1,i.hasResizeObserver=!1,t.wait=!1,i.wait=!1,e._setFocusable()}render(){const e=this;e.setAttribute("role","listbox"),e.setAttribute("aria-orientation","vertical"),e.$.verticalScrollBar.setAttribute("aria-controls",e.id),e.$.horizontalScrollBar.setAttribute("aria-controls",e.id),e._keysPressed={},e._incrementalSearchQuery="",e._incrementalSearchItems=[],e._canSort=!0,e._previousEntry="",e._setLoadingIndicatorVisibility(),e._refreshFilter(),e._initializeInnerHTML(),e._dataBind(),e._applyDefaultSelection(),e.enableShadowDOM&&HTMLElement.prototype.appendChild.apply(e,[e.$.hiddenInput]),e.setAttribute("aria-multiselectable",-1!==["oneOrManyExtended","zeroOrMany","oneOrMany","checkBox","radioButton"].indexOf(e.selectionMode)),super.render()}_lazyInitItems(){const e=this;if(e._inLazyInit)return cancelAnimationFrame(JQX.ListBox.processTimer),void delete JQX.ListBox.processTimer;e._inLazyInit=!0,e.dataSource||(e.clearSelection(),e._dataBind(),e._applyDefaultSelection()),cancelAnimationFrame(JQX.ListBox.processTimer),delete JQX.ListBox.processTimer,e._inLazyInit=!1}_applyDefaultSelection(){const e=this;!e._focusedItem&&e._items&&e._items.length>0&&0===e.selectedIndexes.length&&("one"!==e.selectionMode&&"oneOrMany"!==e.selectionMode&&"oneOrManyExtended"!==e.selectionMode||e.select(e._items[0]))}attached(){const e=this;super.attached(),JQX.ListBox.DragDrop||(JQX.ListBox.DragDrop={ListBoxes:[]}),JQX.ListBox.DragDrop.ListBoxes.push(e),e._scrollView||(e._scrollView=new JQX.Utilities.Scroll(e,e.$.horizontalScrollBar,e.$.verticalScrollBar)),e.selectedIndexes.length>0&&e._items&&e.ensureVisible(e._items[e.selectedIndexes[0]])}detached(){const e=this;if(super.detached(),e._scrollView&&(e._scrollView.unlisten(),delete e._scrollView),JQX.ListBox.DragDrop&&JQX.ListBox.DragDrop.ListBoxes){const t=JQX.ListBox.DragDrop.ListBoxes.indexOf(e);JQX.ListBox.DragDrop.ListBoxes.splice(t,1)}}_createItem(e,t,i){const r=this,o="checkBox"===r.selectionMode||"radioButton"===r.selectionMode?r.selectionMode:"plain",s=i?{}:document.createElement("jqx-list-item");s.ownerListBox=r,"number"==typeof e&&(e=""+e);const l=function(t,i){return void 0!==e[t]?""+e[t]:e[i]};let n="string"==typeof e?e:l(r.displayMember,"label"),a="string"==typeof e?e:l(r.valueMember,"value"),d=l(r.groupMember,"group");return void 0===n&&(n=void 0!==t?""+t:""),s.label=s.innerHTML=""+n,void 0===a&&(a=void 0!==t?""+t:n),e.color&&(s.color=e.color),s.value=""+a,s.displayMode=o,s.selected=!!e.selected&&e.selected,s.disabled=!!e.disabled&&e.disabled,s.dataItem=s,void 0!==t&&(s.dataIndex=t),r._alternateItem(s),e.title&&(s.title=e.title),d&&(s.group=""+d),s}_alternateItem(e){const t=this,i=t.alternationStart,r=t.alternationEnd>0?t.alternationEnd:1/0;t.alternationCount<=0||(void 0===t._alternationIndexCounter&&(t._alternationIndexCounter=0),e.dataIndex>=i&&e.dataIndex<=r&&(e.alternationIndex=t._alternationIndexCounter++,t._alternationIndexCounter===t.alternationCount&&(t._alternationIndexCounter=0)))}_beginUpdate(){this.isUpdating++}_isUpdating(){return this.isUpdating>0}_endUpdate(){this.isUpdating--}get _scrollHeight(){const e=this;if(0===e._items.length||e._items.filter((e=>!e.hidden)).length<1)return 0;let t=0;if(e.isVirtualized){if(e.__scrollHeight)return e.__scrollHeight;if(0===e._items.length)return 0;e.isUpdating++;const i=e._createItem(e._items[0]);e.$.itemsInnerContainer.appendChild(i);for(let r=0;r<e._items.length;r++){const o=e._items[r];o.hidden?(o.height=0,o.top=t):(e.itemHeight?(e.itemHeight<32&&(e.itemHeight=32),o.height=e.itemHeight):(i.$&&i.$.itemContainer?i.$.itemContainer.firstElementChild.innerHTML=o.label:i.label=o.label,o.height=i.offsetHeight),o.top=t,t+=o.height)}e.$.itemsInnerContainer.removeChild(i),e.__scrollHeight=t-e.$.itemsInnerContainer.offsetHeight,e.filterable,t=e.__scrollHeight,e.isUpdating--}else{for(let i=0;i<e._items.length;i++){const r=e._items[i];r.hidden?(r.height=0,r.top=t):(e.itemHeight?"auto"!==e.itemHeight&&(r.height=e.itemHeight,r.style.height=r.height+"px"):r.height=r.offsetHeight,r.top=r.offsetTop,t+=r.height)}t=e.$.itemsInnerContainer.scrollHeight-e.$.itemsInnerContainer.offsetHeight,e.filterable&&t>0&&(t+=e.$.filterInput.offsetHeight),e.__scrollHeight=t}return t}_initializeRecyclingItems(){const e=this;if(!e.dataSource||e.dataSource&&0===e.dataSource.length||!e.isVirtualized)return;let t=0,i=e.offsetHeight||400;e.$.itemsInnerContainer.innerHTML="",e._recyclingItems=[];const r=function(r){for(let o=0;o<r.length;o++){const s=r[o],l=e._createItem(s);if(e.itemHeight&&"auto"!==e.itemHeight&&(l.style.height=e.itemHeight+"px"),e.$.itemsInnerContainer.appendChild(l),t+=l.offsetHeight,l.dataItem=e._items[o],e._recyclingItems.push(l),t>1.5*i)break}};if("function"==typeof e.dataSource){let e=[];for(let t=0;t<100;t++)e.push("");r(e)}else{r(e.dataSource);let o=0;for(;t<1.5*i&&++o<5;)r(e.dataSource)}}dataBind(){const e=this;e.clearSelection(),e._dataBind(),e._applyDefaultSelection()}_dataBind(){const e=this;if(e._scrollView||(e._scrollView=new JQX.Utilities.Scroll(e,e.$.horizontalScrollBar,e.$.verticalScrollBar)),"function"==typeof e.dataSource){e._items=[],delete e._filteredItems;const t=e.dataSource("",(t=>{e.clearItems(),e.insert(0,t)}));t&&Array.isArray(t)&&(e.clearItems(),e.insert(0,t))}if("string"==typeof e.dataSource&&(e.dataSource=JSON.parse(e.dataSource)),null!==e.dataSource&&Array.isArray(e.dataSource)){e.isUpdating++;const t=t=>{e._items=[],e._groups=[],delete e._filteredItems;const i=e.dataSource;for(let r=0;r<i.length;r++){const o=i[r],s=e._createItem(o,r,!t);e._items[r]=s,t&&t.appendChild(s)}};if(e.isVirtualized)t(),e._initializeRecyclingItems();else{const i=document.createDocumentFragment();e.$.itemsInnerContainer.innerHTML="",t(i),e.$.itemsInnerContainer.appendChild(i)}e.isUpdating--}const t=e.shadowRoot?e.shadowRoot.querySelectorAll("jqx-list-item"):e.querySelectorAll("jqx-list-item"),i=function(){e.isUpdating++,e.dataSource||(e._initializeHtmlListItems(),e._initializeHtmlListGroups()),e.grouped&&e._group(),e.sorted&&e._sort(),e._refreshLayout(),e._initializeSelection(),e.isInitialized=!0,e._canSort=e.autoSort,e.isUpdating--,e.itemTemplate&&e._handleItemTemplate(e.itemTemplate)&&(e._items.map((t=>e._applyTemplate(t))),e._refreshLayout()),e.__onCompleted&&(e._onCompleted=e.__onCompleted,e.__onCompleted=null,e._onCompleted()),e.topVisibleIndex>-1&&e._setTopVisibleIndex(e.topVisibleIndex),e.$.fireEvent("bindingComplete"),e._updateTopVisibleIndex(),0===e._items.length&&e.clearItems(),e._applyAriaSelected()};0===t.length?i():(e._onCompleted&&(e.__onCompleted=e._onCompleted,e._onCompleted=null),e._ensureItemsReady(t,i))}_ensureItemsReady(e,t){const i=this,r=function(){const i=function(t){for(let i=0;i<e.length;i++)e[i].context="node"===t?e[i]:document};i("node"),t(),i()};if(0===e.length)r();else{i._nodesReadyListeners=0;for(let t=0;t<e.length;t++){const o=e[t],s=function(){i._nodesReadyListeners--,0===i._nodesReadyListeners&&(r(),delete i._nodesReadyListeners)}.bind(i);o.isCompleted||(i._nodesReadyListeners++,o._onCompleted=s)}0===i._nodesReadyListeners&&r()}}_initializeInnerHTML(){const e=this;e.$.itemsInnerContainer.innerHTML.indexOf("<option")>=0?e.$.itemsInnerContainer.innerHTML=e.$.itemsInnerContainer.innerHTML.replace(/<optgroup/gi,"<jqx-list-items-group").replace(/<\/optgroup/gi,"</jqx-list-items-group").replace(/<option/gi,"<jqx-list-item").replace(/<\/option/gi,"</jqx-list-item"):e.$.itemsInnerContainer.innerHTML.indexOf("<ul")>=0&&(e.$.itemsInnerContainer.innerHTML=e.$.itemsInnerContainer.innerHTML.replace(/<ul/gi,"<jqx-list-items-group").replace(/<\/ul/gi,"</jqx-list-items-group").replace(/<li/gi,"<jqx-list-item").replace(/<\/li/gi,"</jqx-list-item"))}_initializeHtmlListItems(){const e=this,t=e.shadowRoot&&"shadow"===e.shadowDomMode?e.shadowRoot.querySelectorAll("jqx-list-item"):e.querySelectorAll("jqx-list-item"),i="checkBox"===e.selectionMode||"radioButton"===e.selectionMode?e.selectionMode:"plain",r=function(e,t,i){return void 0!==e[t]?""+e[t]:e[i]};e._items=[];let o=0;for(let s=0;s<t.length;s++){const l=t[s];l.dataIndex=s,l.label=l.innerHTML,l.dataItem=l,l.top||(l.top=o),l.height||(l.height=l.offsetHeight),o+=l.height,l.value||(l.value=""+s);const n=r(l,e.displayMember,"label"),a=r(l,e.valueMember,"value"),d=r(l,e.groupMember,"group");l.label!==n&&(l.label=n),l.value!==a&&(l.value=a),l.group!==d&&(l.group=d);const c=l.context;l.context=document,l.displayMode=i,l.context=c,e._alternateItem(l),l.selected&&(e.selectedIndexes.push(s),e.selectedValues.push(l.value)),e._items.push(l)}e.itemTemplate&&e._handleItemTemplate(e.itemTemplate)&&e._items.map((t=>e._applyTemplate(t)))}_group(){const e=this;e.isUpdating++;let t=[],i=[];e._canSort&&e._unsort();for(let i=0;i<e._items.length;i++){const r=e._items[i];let o=r.group?r.group.trim():r.innerHTML.charAt(0)||r.label.charAt(0);o+=" ",t[o]?t[o].items.push(r):t[t.length++]=t[o]={items:[r],label:o}}if(e.isVirtualized){e._groups=[];for(let e=0;e<t.length;e++){const r=t[e];r.dataIndex=e,r.grouped=!0,r.hidden=!1,r.displayMode="plain",i.push(r);for(let o=0;o<t[e].items.length;o++){const e=r.items[o];e.group=r,i.push(e)}}e._groups=t,e._items=i}else{for(;e.$.itemsInnerContainer.firstChild;)e.$.itemsInnerContainer.removeChild(e.$.itemsInnerContainer.firstChild);const r=document.createDocumentFragment();e._groups=[];for(let o=0;o<t.length;o++){const s=t[o],l=document.createElement("jqx-list-items-group");l.label=s.label,l.dataIndex=o;for(let e=0;e<t[o].items.length;e++){const t=s.items[e];i.push(t),t.group=s.label,l.appendChild(t)}e._groups.push(l),r.appendChild(l)}e._items=i,/Trident|Edge/.test(navigator.userAgent)?setTimeout((function(){e.$.itemsInnerContainer.appendChild(r)}),50):e.$.itemsInnerContainer.appendChild(r)}e.sorted&&e._sort(),e.isUpdating--}_ungroup(){const e=this;e.isUpdating++,e._groups=[],e._canSort&&e._unsort();let t=[];if(e.isVirtualized)for(let i=0;i<e._items.length;i++){const r=e._items[i];r.grouped||t.push(r)}else{const i=document.createDocumentFragment();for(let r=0;r<e._items.length;r++){const o=e._items[r];i.appendChild(o),t.push(o)}t.length>0&&(e.$.itemsInnerContainer.innerHTML="",e.$.itemsInnerContainer.appendChild(i))}e._items=t,e.sorted&&e._sort(),e.isUpdating--}_initializeHtmlListGroups(){const e=this,t=e.$.itemsInnerContainer.querySelectorAll("jqx-list-items-group");e._groups=[];for(let i=0;i<t.length;i++){const r=t[i];r.dataIndex=i,e._groups.push(r)}}_initializeSelection(){const e=this,t=e.selectedIndexes.slice(0),i=e.selectedValues.slice(0);e.clearSelection(),"oneOrManyExtended"===e.selectionMode&&(e._keysPressed.Control=!0);for(let r=0;r<e._items.length;r++){const o=e._items[r];(t.indexOf(r)>=0||i.indexOf(o.value||o.label)>=0)&&(e._focusedItem&&(e._focusedItem._focused=!1),e._focusedItem=null,e.select(o))}"oneOrManyExtended"===e.selectionMode&&(e._keysPressed.Control=!1)}onItemUpdated(){const e=this;e.isInitialized&&!e._isUpdating()&&(e.isUpdating++,e._refreshLayout(),e.isUpdating--)}_refreshItems(){const e=this;if(e.isInitialized&&!e._isUpdating()){if(e.isUpdating++,e.grouped?e._ungroup():e.sorted&&e._canSort&&e._unsort(),!e.isVirtualized){e._items=[];const t=e.shadowRoot?e.shadowRoot.querySelectorAll("jqx-list-item"):e.querySelectorAll("jqx-list-item");for(let i=0;i<t.length;i++)t[i].dataIndex=i,e._alternateItem(t[i]),e._items.push(t[i])}e.grouped?e._group():e.sorted&&e._sort(),e._refreshLayout(),e.isUpdating--}}_applyIncrementalSearch(e){const t=this;null===t.incrementalSearchDelay||isNaN(t.incrementalSearchDelay)||["Shift","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Control","Home","End","PageUp","PageDown"].indexOf(e)>-1||(0!==t._incrementalSearchQuery.indexOf(e)&&(t._incrementalSearchQuery+=e),t._incrementalSearchTimer&&clearTimeout(t._incrementalSearchTimer),t._incrementalSearch(),t._incrementalSearchTimer=setTimeout((function(){t._incrementalSearchQuery=""}),t.incrementalSearchDelay))}select(e){const t=this;if(("string"!=typeof e||(e=t.getItem(e)))&&("number"!=typeof e||(e=t.getItem(e)))&&!(e.grouped||e.readonly||!t._items.length||e instanceof HTMLElement&&!t.contains(e)&&!t.virtualized)){if("none"===t.selectionMode)return t.selectedIndexes=[],void(t.selectedValues=[]);switch(!t._focusedItem!==e&&"none"!==t.selectionMode&&(t._focusedItem&&(t._focusedItem._focused=!1),t._focusedItem=e,e._focused=!0),t.selectionMode){case"one":case"zeroAndOne":return(1!==t.selectedIndexes.length||t.selectedIndexes[0]!==t._indexOf(e))&&(t._previouslySelectedIndexes=t.selectedIndexes,t.selectedIndexes.length>=1&&t.clearSelection(),t._select(e),delete t._previouslySelectedIndexes,!0);case"zeroOrOne":return 1===t.selectedIndexes.length&&t.selectedIndexes[0]===t._indexOf(e)?(t.unselect(e),!0):(t._previouslySelectedIndexes=t.selectedIndexes,t.selectedIndexes.length>=1&&t.clearSelection(),t._select(e),delete t._previouslySelectedIndexes,!0);case"radioButton":if(t._previouslySelectedIndexes=t.selectedIndexes,t.$.itemsInnerContainer.querySelectorAll("jqx-list-items-group").length>0){const i=e.parentNode;if(!e.selected){for(let e in i.children){const r=i.children[e];r.selected&&t.unselect(r)}t._select(e)}return delete t._previouslySelectedIndexes,!0}if(t.isVirtualized&&t._groups.length>0){const i=e.group;if(!e.selected){for(let e in i.items){const r=i.items[e];r.selected&&t.unselect(r)}t._select(e)}return delete t._previouslySelectedIndexes,!0}return e.selected||(t.selectedIndexes.length>=1&&t.clearSelection(),t._select(e)),delete t._previouslySelectedIndexes,!0;case"oneOrMany":return e.selected?t.selectedIndexes.length>1&&t.unselect(e):t._select(e),!0;case"zeroOrMany":case"checkBox":return e.selected?t.unselect(e):t._select(e),!0;case"oneOrManyExtended":{const i=t.selectedValues;if(t._keysPressed.Control)return t.selectedIndexes.length>1&&e.selected?(t.unselect(e),t._focus(t._items[t.selectedIndexes[0]])):t._select(e),!0;if(t._keysPressed.Shift){const r=t._items[t.selectedIndexes[0]];let o;t.clearSelection();const s=i.indexOf(r.value)>=0||r.selected;if(t._select(r,s),t._indexOf(r)>t._indexOf(e))for(o=t._indexOf(r)-1;o>=t._indexOf(e);){const e=t._items[o],r=i.indexOf(e.value)>=0||e.selected;t._select(e,r),o--}else for(o=t._indexOf(r)+1;o<=t._indexOf(e);){const e=t._items[o],r=i.indexOf(e.value)>=0||e.selected;t._select(e,r),o++}const l=[];for(let e=0;e<i.length;e++)l.push(t.getItem(i[e]));if(l.length>0&&!t._propertyChanging){let r=[];for(let e=0;e<t.selectedValues.length;e++){const o=t.selectedValues[e];i.indexOf(o)<0&&r.push(t.getItem(o))}t.$.fireEvent("change",{addedItems:r,removedItems:l,selected:e.selected,disabled:e.disabled,index:t._indexOf(e),label:e.label,value:e.value}),t._updateTargetValue()}return!0}for(let r=0;r<i.length;r++){const o=i[r],s=t.getItem(o);e!==s&&t.unselect(s)}return t.clearSelection(),t._select(e,i.indexOf(e.value)>=0),!0}}return!1}}_applyTemplate(e,t){const i=this;if(null===i.itemTemplate)return;if("function"==typeof i.itemTemplate)return void i.itemTemplate(e,{label:e.label,value:e.value,index:i._items.indexOf(e)});if(!i._bindingDetails||0===i._bindingDetails.length)return;const r=i._bindingDetails.length;let o,s,l=document.importNode(i._template.content,!0);for(let t=0;t<r;t++){o=l.childNodes[i._bindingDetails[t].childNodeIndex],s=i._bindingDetails[t].bindingString.length;for(let r=0;r<s;r++){const s=i._bindingDetails[t].bindingString[r],l=s.indexOf("label")>=0?e.label:e.value;o.innerHTML=o.innerHTML.replace(s,l)}}e.innerHTML="";for(let t=0;t<l.childNodes.length;t++)l.childNodes[t].outerHTML&&(e.innerHTML+=l.childNodes[t].outerHTML);!1!==t&&(i._scrollHeightTimer&&(clearInterval(i._scrollHeightTimer),i._scrollHeightCounter=0),i._scrollHeightTimer=setInterval((function(){i._lastScrollHeight===i.$.itemsInnerContainer.scrollHeight&&10!==i._scrollHeightCounter||(i._refreshLayout(),clearInterval(i._scrollHeightTimer)),i._lastScrollHeight=i.$.itemsInnerContainer.scrollHeight,i._scrollHeightCounter++}),50))}_filterItems(e,t,i){const r=this,o=r.$.filterInput.value;let s,l;const n=function(){if(0===l.length)return r._filteredItems=[],void(t&&t());s=r._queryItems(o,r.filterMode);for(let e=0;e<l.length;e++)l[e].hidden=!0,l[e].$&&l[e].$.addClass("jqx-hidden");for(let e=0;e<s.length;e++){const t=s[e];t.hidden=!1,l[e].$&&t.$.removeClass("jqx-hidden")}if(r.grouped&&r.isVirtualized)for(let e=0;e<r._groups.length;e++){const t=r._groups[e],i=t.items;let o=!0;for(let e=0;e<i.length;e++)i[e].hidden||(o=!1);o&&(t.hidden=!0)}if(r.grouped&&!r.isVirtualized)for(let e=0;e<r._groups.length;e++){const t=r._groups[e],i=[].concat(...t.querySelectorAll("jqx-list-item"));let o=!0;for(let e=0;e<i.length;e++)i[e].$.hasClass("jqx-hidden")||(o=!1);o?t.$.addClass("jqx-hidden"):t.$.removeClass("jqx-hidden")}if(r._filteredItems=s,r._refreshLayout(),t&&t(),e)return;const i=r._propertyChanging;r._propertyChanging=!0,r._refreshSelection(),r._propertyChanging=i};if("function"==typeof r.dataSource)if(o||i){const e=function(e){(o||i)&&r.isAttached&&(r._updateListBoxAfterQuery=function(){s=l=r._items,n()},r.clearItems(),r.insert(0,e))},t=r.dataSource(o,e);if(t){if(!o&&!i)return;r._updateListBoxAfterQuery=function(){s=l=r._items,n()},r.clearItems(),r.insert(0,t)}}else r.clearItems(),s=l=r._items,n(),r.$.fireEvent("bindingComplete");else{if(l=r._items,0===l.length)return;n()}}_getNextItem(e){const t=this._items,i=this._items.length;let r=Math.max(e+1,0);for(;r<i;){const e=t[r];if(!(e.disabled||e.hidden||e.grouped||e.readonly))return e;r++}return t[e]}_getPreviousItem(e){const t=this._items;let i=Math.max(e-1,0);for(;i>-1;){const e=t[i];if(!(e.disabled||e.hidden||e.grouped||e.readonly))return e;i--}return t[e]}get _scrollWidth(){const e=this,t=e._items;return e.__scrollWidth||(e.__scrollWidth=(()=>{const e=this,i=e.virtualized,r=e.itemMeasureMode;let o=0,s="";function l(t){const i=e._createItem({label:t});i.style.position="absolute",e.$.itemsContainer.appendChild(i),i.label=t,i.style.width="auto",i.isCompleted&&(i.$.itemContainer.style.width="auto");const r=getComputedStyle(i),o=parseInt(r.paddingLeft)+parseInt(r.paddingRight),s=i.$.itemContainer||i,l=s.offsetWidth+s.offsetLeft+o;return i.parentNode.removeChild(i),l}for(let e=0;e<t.length;e++){const n=t[e];if(!n.hidden)if("auto"===r){const e=i?n.label:n.textContent.trim();e.length>s.length&&(s=e)}else o=Math.max(o,l(n.label))}return"auto"===r?l(s):o})()),e.__scrollWidth}update(e,t){const i=this,r=i._items[e];if(r){if("string"==typeof t)r.label=t,void 0===r.value&&(r.value=t);else for(let e in t)"selected"===e&&r[e]!==t[e]?i.select(r):r[e]=t[e],"group"===e&&i._refreshItems();(i.sorted||i.grouped||i.isVirtualized)&&(i._refreshItems(),i._refreshSelection())}else i.error(i.localize("indexOutOfBound",{elementType:i.nodeName.toLowerCase(),method:"update"}))}insert(e,t){const i=this;let r=[];if((!e||e<0)&&(e=0),Array.isArray(t)){i.isUpdating++;const o=0===i._items.length;for(let s=0;s<t.length;s++){const l=t[s],n=i._createItem(l);r.push(n),e>=i._items.length||0===i._items.length||o?i.appendChild(n):i.insertBefore(n,i._items[e])}i.isUpdating--}else{const o=i._createItem(t);r.push(o),e>=i._items.length||0===i._items.length?i.appendChild(o):i.insertBefore(o,i._items[e])}if(r.length>0?(r.map((e=>i._applyTemplate(e))),i._ensureItemsReady(r,(function(){i._refreshItems(),0!==i._items.length&&(i._updateListBoxAfterQuery&&(i._updateListBoxAfterQuery(),delete i._updateListBoxAfterQuery),i._refreshSelection(),i.$.fireEvent("bindingComplete"))}))):i._updateListBoxAfterQuery&&(i._updateListBoxAfterQuery(),delete i._updateListBoxAfterQuery),i.virtualized&&i.filterable){const e=i.context;i.context=i,i.filterable&&(i.$.filterInput.value="",i._filterItems()),i.scrollTop=i.$.itemsContainer.scrollTop=0,i.scrollLeft=i.$.itemsContainer.scrollLeft=i._getScrollLeft(0),i.context=e}}add(e){const t=this;let i=[];if(e&&(!e||0!==e.length)){if(Array.isArray(e)){t.isUpdating++;for(let r=0;r<e.length;r++){const o=e[r],s=t._createItem(o);i.push(s),t.appendChild(s)}t.isUpdating--}else{const r=t._createItem(e);i.push(r),t.appendChild(r)}if(i.length>0?(i.map((e=>t._applyTemplate(e))),t._ensureItemsReady(i,(function(){t._refreshItems(),0!==t._items.length&&(t._updateListBoxAfterQuery&&(t._updateListBoxAfterQuery(),delete t._updateListBoxAfterQuery),t._refreshSelection(),t.$.fireEvent("bindingComplete"))}))):t._updateListBoxAfterQuery&&(t._updateListBoxAfterQuery(),delete t._updateListBoxAfterQuery),t.virtualized&&t.filterable){const e=t.context;t.context=t,t.filterable&&(t.$.filterInput.value="",t._filterItems()),t.scrollTop=t.$.itemsContainer.scrollTop=0,t.scrollLeft=t.$.itemsContainer.scrollLeft=t._getScrollLeft(0),t.context=e}else t.virtualized&&t._refreshLayout()}}removeItem(e){const t=this,i=t.getItem(e);if(i){if(i.selected&&t.unselect(i),t.isVirtualized){let e=t._items.indexOf(i);-1===e&&(e=t._items.indexOf(i)),t._items.splice(e,1)}else{i.parentNode.removeChild(i);let e=t._items.indexOf(i);-1===e&&(e=t._items.indexOf(i)),t._items.splice(e,1)}t._refreshItems(),t._refreshSelection(),0===t.selectedIndexes.length&&t._items.length>0&&("oneOrMany"!==t.selectionMode&&"one"!==t.selectionMode&&"oneOrManyExtended"!==t.selectionMode||t.select(t._items[0]))}}removeAt(e){const t=this,i=t._items[e];i?(i.selected&&t.unselect(i),t.isVirtualized||i.parentNode.removeChild(i),t._items.splice(e,1),t._refreshItems(),t._refreshSelection(),0===t.selectedIndexes.length&&t._items.length>0&&("oneOrMany"!==t.selectionMode&&"one"!==t.selectionMode&&"oneOrManyExtended"!==t.selectionMode||t.select(t._items[0]))):t.error(t.localize("indexOutOfBound",{elementType:t.nodeName.toLowerCase(),method:"remove"}))}_queryItems(e,t){const i=this,r=[],o=function(r,o){if(r.grouped)return r;switch(t){case"startsWith":if(0===r.label.indexOf(o))return r;break;case"startsWithIgnoreCase":if(0===r.label.toLowerCase().indexOf(o.toLowerCase()))return r;break;case"doesNotContain":if(r.label.indexOf(o)<0)return r;break;case"doesNotContainIgnoreCase":if(r.label.toLowerCase().indexOf(o.toLowerCase())<0)return r;break;case"contains":if(r.label.indexOf(o)>-1)return r;break;case"containsIgnoreCase":if(r.label.toLowerCase().indexOf(o.toLowerCase())>-1)return r;break;case"equals":if(0===r.label.localeCompare(o))return r;break;case"equalsIgnoreCase":if(0===r.label.toLowerCase().localeCompare(o.toLowerCase()))return r;break;case"endsWith":if(r.label.endsWith(o))return r;break;case"endsWithIgnoreCase":if(r.label.toLowerCase().endsWith(o.toLowerCase()))return r;break;case"custom":if(i.filterCallback(r,e))return r}return null};if(0===e.length)return i._items;for(let t=0;t<i._items.length;t++){const s=o(i._items[t],e);s&&r.push(s)}return r}_select(e,t){const i=this,r=i.selectedIndexes.indexOf(i._indexOf(e)),o=i.selectedIndexes.slice(0),s=i.selectedValues.slice(0);if(e.selected=!0,-1!==r)return i._recycle(),!1;if(o.push(i._indexOf(e)),s.push(e.value||e.label),i.selectedIndexes=o,i.selectedValues=s,i._recycle(),i.$.hiddenInput.value=s.toString(),!i.isCompleted||t||!i.isInitialized||i._propertyChanging)return;let l=[];if(i._previouslySelectedIndexes){for(let e=0;e<i._previouslySelectedIndexes.length;e++)i.selectedIndexes.indexOf(i._previouslySelectedIndexes[e])<0&&l.push(i._items[i._previouslySelectedIndexes[e]]);delete i._previouslySelectedIndexes}return i.$.fireEvent("change",{addedItems:[e],removedItems:l,selected:e.selected,disabled:e.disabled,index:i._indexOf(e),label:e.label,value:e.value}),i._updateTargetValue(),!0}_updateTargetValue(){const e=this;if(e.dataset.target){const t=document.querySelector(e.dataset.target);if(t){const i=e.dataset.property,r=e.value;i&&void 0!==t[i]&&(t[i]=r)}}}_setTopVisibleIndex(e){const t=this;if("number"==typeof e&&(t.topVisibleIndex=Math.max(0,e),e=t._items[t.topVisibleIndex]),!e)return!1;e.top!==t.scrollTop&&(t.scrollTop=e.top,t.isVirtualized||(t.$.itemsContainer.scrollTop=t.scrollTop),t.scrollHeight===t.scrollTop&&t._updateTopVisibleIndex())}_updateTopVisibleIndex(){const e=this,t=e.scrollTop+e._scrollView.verticalScrollBar.offsetHeight-e.offsetHeight;let i;if(e.scrollTop<e.scrollHeight/2){for(let r=0;r<e._items.length;r++)if(e._items[r].top>=t){i=e._items[r];break}}else for(let r=e._items.length-1;r>=0&&!(e._items[r].top<t);r--)i=e._items[r];if(i){const t=e.context;e.context=e,e.topVisibleIndex=i.dataIndex,e.context=t}}unselect(e){const t=this;if(!e)return;if("string"==typeof e&&!(e=t.getItem(e)))return;if("none"===t.selectionMode)return void t.clearSelection();const i=t.selectedIndexes.indexOf(t._indexOf(e)),r=t.selectedIndexes.slice(0),o=t.selectedValues.slice(0);return e.selected=!1,i>=0&&(r.splice(i,1),o.splice(i,1),t.selectedIndexes=r,t.selectedValues=o,t.$.hiddenInput.value=o.toString(),t.isCompleted&&!t._propertyChanging?(t.$.fireEvent("change",{addedItems:[],removedItems:[e],selected:e.selected,disabled:e.disabled,index:t._indexOf(e),label:e.label,value:e.value}),t._updateTargetValue(),t._recycle(),!0):void 0)}_handleItemTemplate(e){if(null===e||!e)return;if("function"==typeof e)return e;const t=this;if(!("content"in document.createElement("template")))return t.error(t.localize("htmlTemplateNotSuported",{elementType:t.nodeName.toLowerCase()})),void(t.itemTemplate=null);if(null===(e=document.getElementById(e))||!("content"in e))return t.error(t.localize("invalidTemplate",{elementType:t.nodeName.toLowerCase(),property:"itemTemplate"})),void(t.itemTemplate=null);const i=e.content,r=i.childNodes.length,o=/{{\w+}}/g;let s,l;t._bindingDetails=[],t._template=e;for(let e=0;e<r;e++){for(l=[];s=o.exec(i.childNodes[e].innerHTML);)l.push(s[0]);l.length>0&&t._bindingDetails.push({childNodeIndex:e,bindingString:l})}return!0}_handleKeyStrokes(e){const t=this,i="radioButton"===t.selectionMode||"checkBox"===t.selectionMode||"zeroOrMany"===t.selectionMode||"oneOrMany"===t.selectionMode||"zeroOrOne"===t.selectionMode;let r=t._items;if(t.filterable&&t.$.filterInput.value.length>0&&(r=t._filteredItems),!t.disabled&&!t.readonly&&r.length){switch(e){case"ArrowLeft":case"ArrowUp":t._handleArrowKeys(!0);break;case"ArrowRight":case"ArrowDown":t._handleArrowKeys(!1);break;case" ":{if(t.selectedIndexes.length<1&&!t._focusedItem)return;const e=t._focusedItem?t._focusedItem:t._items[t.selectedIndexes[t.selectedIndexes.length-1]],i=e=>{e.selected&&"radioButton"!==t.selectionMode?t.unselect(e):t.select(e)};if("oneOrMany"===t.selectionMode)return void(e.selected&&t.selectedIndexes.length>1?i(e):e.selected||i(e));i(e);break}case"Home":if(0===r.length)return;i||(t._keysPressed.Shift||t.clearSelection(),t.select(r[0])),t._focus(r[0]),t.scrollTop=0;break;case"End":if(0===r.length)return;i||(t._keysPressed.Shift||t.clearSelection(),t.select(r[r.length-1])),t._focus(r[r.length-1]),t.scrollTop=t.scrollHeight;break;case"PageUp":t._pageUpKeyHandler(r);break;case"PageDown":t._pageDownKeyHandler(r)}t._recycle()}}_horizontalScrollbarHandler(e){const t=this;e&&e.stopPropagation&&e.stopPropagation(),t.isVirtualized?t._recycle():t.$.itemsContainer.scrollLeft=t._getScrollLeft(e.detail.value)}_getScrollLeft(e,t){const i=this;if(!i.rightToLeft)return e;if(JQX.Utilities.Core.Browser.Chrome){if(!t){const e=2*(parseInt(getComputedStyle(i.$.itemsInnerContainer).getPropertyValue("--jqx-list-item-horizontal-offset"))||0);t=i._scrollWidth-i.$.itemsContainer.offsetWidth-e}e=t-e}else e*=-1;return e}_unsort(){const e=this;e.isUpdating++;const t=function(e,t){let i=e.dataIndex,r=t.dataIndex;return i<r?-1:i>r?1:0};if(e.isVirtualized)if(e._groups.length>0){e._groups.sort(t);let i=[];for(let r=0;r<e._groups.length;r++){const o=e._groups[r],s=[].concat(...o.items);s.sort(t),i.push(o),i=i.concat(s)}e._items=i}else e._items.sort(t);else{if(e._groups.length>0){e._groups.sort(t);let i=[];for(let r=0;r<e._groups.length;r++){const o=e._groups[r],s=[].concat(...o.querySelectorAll("jqx-list-item"));s.sort(t),i=i.concat(s)}e._items=i}else e._items.sort(t);e._applySortOrder()}e.isUpdating--}_applySortOrder(){const e=function(e){for(let t=0;t<e.length;t++){const i=e[t],r=i.parentNode;r&&r.appendChild(i)}};e(this._items),e(this._groups)}_sort(){const e=this;if(!e._canSort)return;e.isUpdating++;const t=function(t,i){let r=t.label,o=i.label;if("asc"===e.sortDirection){if(r<o)return-1;if(r>o)return 1}else{if(r<o)return 1;if(r>o)return-1}return 0};if(e._groups.sort(t),e.isVirtualized)if(e._groups.length>0){let i=[];for(let r=0;r<e._groups.length;r++){const o=e._groups[r],s=[].concat(...o.items);i.push(o),s.sort(t),i=i.concat(s)}e._items=i}else e._items.sort(t);else{if(e._groups.length>0){let i=[];for(let r=0;r<e._groups.length;r++){const o=e._groups[r],s=[].concat(...o.querySelectorAll("jqx-list-item"));s.sort(t),i=i.concat(s)}e._items=i}else e._items.sort(t);e._applySortOrder()}e.isUpdating--}getItem(e){const t=this;for(let i=0;i<t._items.length;i++)if(t._items[i].value===e)return t._items[i];return null}_focus(e){const t=this;!e||"none"===t.selectionMode||t.disabled||t.readonly||(t._focusedItem&&(t._focusedItem._focused=!1),t._focusedItem=e,t._focusedItem._focused=!0)}_keyDownHandler(e){const t=this,i=(t.shadowRoot||t.getRootNode()).activeElement||document.activeElement;let r=e.key;if(e.metaKey&&(r="Control"),!t.disabled&&!t.readonly&&(!t.filterable||t.$.filterInput!==i)&&t._focused&&0!==t._items.length&&!t.disabled&&!t.displayLoadingIndicator){if(t.editable){if("F2"===r)return void t._dblclickEventHandler({target:t._focusedItem});if(t.$.editInput===i)return}if("none"!==t.selectionMode){switch(e.stopPropagation(),r){case"Down":case"Right":case"Left":case"Up":r="Arrow"+r}if(t.filterable)switch(r){case"ArrowLeft":case"ArrowRight":return;case"ArrowUp":case"ArrowDown":e.preventDefault()}if(t._applyIncrementalSearch(r),!(["Shift","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Control"," ","Home","End","PageUp","PageDown"].indexOf(r)<0))if(e.preventDefault(),!t._focusedItem&&t._items.length>0)"one"===t.selectionMode||"oneOrMany"===t.selectionMode||"oneOrManyExtended"===t.selectionMode?t.select(t._items[0]):t._focus(t._items[0]);else switch(t.selectionMode){case"one":case"zeroAndOne":if("Shift"===r||"Control"===r||" "===r)return;t._handleKeyStrokes(r);break;case"oneOrMany":case"zeroOrOne":case"zeroOrMany":case"radioButton":case"checkBox":if("Shift"===r||"Control"===r)return;t._handleKeyStrokes(r);break;case"oneOrManyExtended":if(" "===r)return;t._keysPressed[r]="keydown"===e.type,t._handleKeyStrokes(r)}}}}_keyUpHandler(e){const t=this,i=(t.shadowRoot||t.getRootNode()).activeElement||document.activeElement;if(!t.editable||t.$.editInput!==i){if(t.filterable&&t.$.filterInput===i)return t._filterTimer&&clearTimeout(t._filterTimer),void(t._filterTimer=setTimeout((function(){const e=t.context;t.context=t,t._filterItems(void 0,void 0,!0),t.scrollTop=t.$.itemsContainer.scrollTop=0,t.scrollLeft=t.$.itemsContainer.scrollLeft=t._getScrollLeft(0),t.context=e}),300));if(t._focused){if(t._focusedItem&&t._focusedItem.hidden&&t._filteredItems.length>0){let e=t._filteredItems[0];e.grouped&&t._filteredItems.length>1&&(e=t._filteredItems[1]),t._focus(e),t._recycle()}e.stopPropagation(),e.preventDefault(),t.disabled||("Escape"===e.key&&JQX.ListBox.DragDrop.Dragging&&t._cancelDrag(),["Shift","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Control"," ","PageUp","PageDown"].indexOf(e.key)<0||(t._keysPressed[e.key]=!1))}}}_cancelDrag(){if(!JQX.ListBox.DragDrop.Dragging)return;JQX.ListBox.DragDrop.Feedback.parentNode&&JQX.ListBox.DragDrop.Feedback.parentNode.removeChild(JQX.ListBox.DragDrop.Feedback);const e=JQX.ListBox.DragDrop.Item,t=e.ownerListBox;if(t.$.fireEvent("dragCancel",{item:e,data:JQX.ListBox.DragDrop,container:t,previousContainer:t}),JQX.ListBox.DragDrop.Feedback=null,JQX.ListBox.DragDrop.DropDetails){let e=JQX.ListBox.DragDrop.DropDetails.item;e&&(e.$.removeClass("jqx-list-item-line-feedback"),e.$.removeClass("jqx-list-item-bottom-line-feedback"))}document.body.classList.remove("jqx-dragging"),delete JQX.ListBox.DragDrop.DraggedFrom,JQX.ListBox.DragDrop.Dragging=!1,JQX.ListBox.DragDrop.Item=null,JQX.ListBox.DragDrop.DropDetails=null}_mouseWheelNative(e,t){const i=this;void 0===i._scrollWheelContent&&(i._scrollWheelContent=document.createElement("div"),i._scrollWheelContent.style.width="100%",i._scrollWheelContent.style.height="100%",i._scrollWheelContent.style.position="absolute",i._scrollWheelContent.style.left="0px",i._scrollWheelContent.style.top="0px",i._scrollWheelContent.style.background="white",i._scrollWheelContent.style.zIndex=9999,i._scrollWheelContent.style.opacity=0,i._scrollWheelContent.style.overflow="auto",i._scrollWheelContent.style.visibility="hidden");let r=0;const o=()=>{if(t){const t=i._scrollWheelContent.scrollLeft;i._scrollView.hScrollBar.value=t,t===e&&i._scrollWheelContent.remove()}else{const t=i._scrollWheelContent.scrollTop;i._scrollView.vScrollBar.value=t,t===e&&i._scrollWheelContent.remove()}};i._scrollWheelContent.onscroll=()=>{cancelAnimationFrame(r),r=0,r=requestAnimationFrame(o)},i._scrollWheelContentView||(i._scrollWheelContentView=document.createElement("div"),i._scrollWheelContent.appendChild(i._scrollWheelContentView)),i._scrollWheelContentView.style.width=i.offsetWidth+i._scrollView.scrollWidth+"px",i._scrollWheelContentView.style.height=i.offsetHeight+i._scrollView.scrollHeight+"px",i.$.container.appendChild(i._scrollWheelContent),i._scrollWheelContent.scrollTop=i._scrollView.vScrollBar.value,i._scrollWheelContent.scrollLeft=i._scrollView.hScrollBar.value,!0===t?i._scrollWheelContent.scrollTo({top:i._scrollView.vScrollBar.value,left:e,behavior:"smooth"}):i._scrollWheelContent.scrollTo({top:e,left:i._scrollView.hScrollBar.value,behavior:"smooth"})}_mouseWheelHandler(e){const t=this;if(t._scrollView.hScrollBar.$.hasClass("jqx-hidden")&&t._scrollView.vScrollBar.$.hasClass("jqx-hidden"))return;if(42===e.pointerId)return;if(t._isUpdating())return;let i=!1;if(e.wheelDeltaY?120!==Math.abs(e.wheelDeltaY)&&240!==Math.abs(e.wheelDeltaY)&&360!==Math.abs(e.wheelDeltaY)&&(i=!0):0===e.deltaMode&&(i=!0),t.disabled||t._scrollView.vScrollBar.$.hasClass("jqx-hidden")||e.shiftKey||!e.deltaY){if(!t.disabled&&(!t._scrollView.hScrollBar.$.hasClass("jqx-hidden")||e.shiftKey)){e.stopPropagation(),e.preventDefault();let r=160;const o=0===e.deltaX?e.wheelDelta:e.deltaX;o<0&&(r=-160),Math.abs(o)>=100&&!i&&!JQX.Utilities.Core.Browser.Firefox?t._mouseWheelNative(t._scrollView.scrollLeft+r,!0):t._scrollView.scrollLeft+=o}}else{const r=t.scrollTop;if(0===r&&e.deltaY<0||r===t.scrollHeight&&e.deltaY>0)return;e.stopPropagation(),e.preventDefault();const o=t.itemHeight?t.itemHeight:30;let s=7*o;if(e.deltaY<=0&&(s=-7*o),Math.abs(e.deltaY)>=100&&!i&&!JQX.Utilities.Core.Browser.Firefox)t._mouseWheelNative(t._scrollView.scrollTop+s);else{t._wheelrafId=0;const i=()=>{t._scrollView.scrollTop+=e.deltaY};cancelAnimationFrame(t._wheelrafId),t._wheelrafId=0,t._wheelrafId=requestAnimationFrame(i)}}}_pageDownKeyHandler(e){const t=this;if(0===e.length)return;let i,r=t._items[t.selectedIndexes[t.selectedIndexes.length-1]];if("checkBox"!==t.selectionMode&&"radioButton"!==t.selectionMode&&"zeroOrMany"!==t.selectionMode&&"oneOrMany"!==t.selectionMode&&"zeroOrOne"!==t.selectionMode||t._focusedItem&&(r=t._focusedItem),!r)return;const o=t._indexOf(r);let s=r.top+t.$.itemsContainer.offsetHeight-r.height;for(let t=o;t<e.length;t++)if(e[t].top>=s){i=e[t];break}i||(i=e[e.length-1]),"checkBox"===t.selectionMode||"radioButton"===t.selectionMode||"zeroOrMany"===t.selectionMode||"oneOrMany"===t.selectionMode||"zeroOrOne"===t.selectionMode?t._focus(i):i.selected||(t._keysPressed.Shift||t.clearSelection(),t.select(i),t._focus(i)),(i.height+i.top>t.$.itemsContainer.scrollTop+t.$.itemsContainer.offsetHeight||i.top<t.$.itemsContainer.scrollTop)&&(t.scrollTop=i.top-t.$.itemsContainer.offsetHeight+i.height)}_pageUpKeyHandler(e){const t=this;if(0===e.length)return;let i=t._items[t.selectedIndexes[t.selectedIndexes.length-1]];if("checkBox"!==t.selectionMode&&"radioButton"!==t.selectionMode&&"zeroOrMany"!==t.selectionMode&&"oneOrMany"!==t.selectionMode&&"zeroOrOne"!==t.selectionMode||t._focusedItem&&(i=t._focusedItem),!i)return;const r=i.top-t.$.itemsContainer.offsetHeight;let o;for(let s=t._indexOf(i);s>0;s--)if(e[s].top<=r){o=e[s];break}o||(o=e[0]),"checkBox"===t.selectionMode||"radioButton"===t.selectionMode||"zeroOrMany"===t.selectionMode||"oneOrMany"===t.selectionMode||"zeroOrOne"===t.selectionMode?t._focus(o):o.selected||(t._keysPressed.Shift||t.clearSelection(),t.select(o),t._focus(o)),t.scrollTop=o.top,0===t._indexOf(o)&&(t.scrollTop=0)}clearItems(){const e=this;e.clearSelection(),e.$.itemsInnerContainer.innerHTML="",e._items=[],delete e._focusedItem,e.$placeholder.removeClass("jqx-hidden"),e.refresh()}_resizeHandler(e){this.refresh(e)}refresh(e){const t=this;if(!e&&!t._isUpdatingScrollBars&&t.isInitialized)return t._isUpdatingScrollBars=!0,t._initializeRecyclingItems(),t._refreshLayout(),void(t._isUpdatingScrollBars=!1);e&&e.target===t&&!t._isUpdatingScrollBars&&(t._isUpdatingScrollBars=!0,t._initializeRecyclingItems(),t._refreshLayout(),t._isUpdatingScrollBars=!1)}_indexOf(e){const t=this;if(!e)return-1;let i=t._items.indexOf(e);return-1===i&&(i=t._items.indexOf(t.getItem(e.value))),i}_incrementalSearch(){const e=this,t="radioButton"!==e.selectionMode&&"checkBox"!==e.selectionMode&&"zeroOrMany"!==e.selectionMode&&"oneOrMany"!==e.selectionMode&&"zeroOrOne"!==e.selectionMode;let i,r=0;switch(e.incrementalSearchMode){case"containsIgnoreCase":case"equalsIgnoreCase":case"startsWithIgnoreCase":case"endsWithIgnoreCase":i=e._incrementalSearchQuery.toLowerCase();break;default:i=e._incrementalSearchQuery}const o=function(i){i.grouped||i.readonly||(t?(e.selectedIndexes.length>0&&e.clearSelection(),e._focus(i),e.select(i)):e._focus(i),(i.height+i.top>e.$.itemsContainer.scrollTop+e.$.itemsContainer.offsetHeight||i.top<e.scrollTop)&&(e.scrollTop=i.top),0===e._indexOf(i)&&(e.scrollTop=0),e._indexOf(i)===e._items.length-1&&(e.scrollTop=e.scrollHeight))};0!==e._previousEntry.localeCompare(i)&&(e._incrementalSearchItems=e._queryItems(e._incrementalSearchQuery,e.incrementalSearchMode),delete e._itemPosition),e._previousEntry=i;const s=e._incrementalSearchItems.length;if(0!==s)if(1!==s)for(void 0!==e._itemPosition?e._itemPosition<s-1?r=e._itemPosition:(r=0,t?(e._incrementalSearchItems[e._itemPosition].selected=!1,e.selectedIndexes=[],e.selectedValues=[]):e._incrementalSearchItems[e._itemPosition]._focused=!1):t&&e.clearSelection();r<s;r++)if(e._incrementalSearchItems[r].selected&&t)e._incrementalSearchItems[r].selected=!1,e.selectedIndexes=[],e.selectedValues=[];else{if(t||!e._incrementalSearchItems[r]._focused)return o(e._incrementalSearchItems[r]),void(e._itemPosition=r);e._incrementalSearchItems[r]._focused=!1}else o(e._incrementalSearchItems[0])}_selectStartHandler(e){const t=this,i=(t.shadowRoot||t.getRootNode()).activeElement;t.$.filterInput!==i&&t.$.editInput!==i&&e.preventDefault()}_handleArrowKeys(e){const t=this,i="radioButton"!==t.selectionMode&&"checkBox"!==t.selectionMode&&"zeroOrMany"!==t.selectionMode&&"oneOrMany"!==t.selectionMode&&"zeroOrOne"!==t.selectionMode;if(t.disabled||t.readonly)return;let r;if(t._focusedItem&&!t._keysPressed.Shift)r=t._indexOf(t._focusedItem),t._focusedItem._focused=!1;else{if(0===t.selectedIndexes.length)return;r=t.selectedIndexes[t.selectedIndexes.length-1]}const o=e?t._getPreviousItem(r):t._getNextItem(r);t._focus(o),i&&(t._keysPressed.Shift?t.select(o):t._items[r]!==o&&(t.clearSelection(),t.select(o))),t.ensureVisible(o)}_refreshFilter(){const e=this;if(e.filterable)return e.$.filterInput.disabled=!(!e.disabled&&!e.displayLoadingIndicator),e.$filterInputContainer.removeClass("jqx-hidden"),void e.$itemsContainer.addClass("filter");e.$.filterInput.disabled=!0,e.$filterInputContainer.addClass("jqx-hidden"),e.$itemsContainer.removeClass("filter")}_setFocusable(){const e=this;e.disabled||e.unfocusable?e.removeAttribute("tabindex"):e.tabIndex=e.tabIndex>0?e.tabIndex:0}_setLoadingIndicatorVisibility(){const e=this;e.displayLoadingIndicator?e.$loadingIndicatorContainer.hasClass("jqx-visibility-hidden")?e.$loadingIndicatorContainer.removeClass("jqx-visibility-hidden"):e.$loadingIndicatorContainer.removeClass("jqx-hidden"):e._areCSSVarsSupported?e.$loadingIndicatorContainer.addClass("jqx-hidden"):e.$loadingIndicatorContainer.addClass("jqx-visibility-hidden")}_refreshLayout(){const e=this,t=e._filteredItems||e._items;if(e.__scrollHeight=null,e.__scrollWidth=null,e._height=null,e._scrollView||(e._scrollView=new JQX.Utilities.Scroll(e,e.$.horizontalScrollBar,e.$.verticalScrollBar)),e.$itemsContainer.removeClass("hscroll"),e.$itemsContainer.removeClass("vscroll"),!t||null===t||0===t.length)return e.scrollWidth=0,e.scrollHeight=0,e.$filterInputContainer.removeClass("vscroll"),e.$placeholder.removeClass("jqx-hidden"),e.isVirtualized&&e._recycle(),void(e.$.itemsInnerContainer.style.width="");e.$placeholder.addClass("jqx-hidden");const i=2*(parseInt(getComputedStyle(e.$.itemsContainer).getPropertyValue("--jqx-list-item-horizontal-offset"))||0);let r=e._scrollWidth-e.$.itemsContainer.offsetWidth-i,o=e._scrollHeight;if(e._refreshHorizontalScrollBarVisibility(r),e._refreshVerticalScrollBarVisibility(o),e.$.itemsInnerContainer.style.width="","hidden"===e.horizontalScrollBarVisibility?e.$.itemsInnerContainer.style.width=e.$.itemsContainer.offsetWidth-i:e.$.itemsInnerContainer.style.width=Math.max(e.$.itemsContainer.offsetWidth-i,-i+e.__scrollWidth)+"px",e.computedVerticalScrollBarVisibility)return r=e._scrollWidth-e.$.itemsContainer.offsetWidth-i,e._refreshHorizontalScrollBarVisibility(r),"hidden"!==e.horizontalScrollBarVisibility&&(e.$.itemsInnerContainer.style.width="",e.$.itemsInnerContainer.style.width=Math.max(e.$.itemsContainer.offsetWidth-i,-i+e.__scrollWidth)+"px"),e.computedHorizontalScrollBarVisibility&&(("visible"!==e.horizontalScrollBarVisibility||0!==e.scrollWidth||"visible"===e.horizontalScrollBarVisibility)&&(e.__scrollHeight+=e._scrollView.hScrollBar.offsetHeight),e.scrollHeight=e.__scrollHeight,e._scrollView.hScrollBar.$.hasClass("bottom-corner")&&e._scrollView.hScrollBar.refresh()),void(e.isVirtualized&&e._recycle());r=e._scrollWidth-e.$.itemsContainer.offsetWidth-i,e._refreshHorizontalScrollBarVisibility(r),e.computedHorizontalScrollBarVisibility&&(e.scrollHeight=e._scrollHeight,e._refreshVerticalScrollBarVisibility(e.scrollHeight),e.computedVerticalScrollBarVisibility&&(r=e._scrollWidth-e.$.itemsContainer.offsetWidth-e._scrollView.vScrollBar.offsetWidth,e._refreshHorizontalScrollBarVisibility(r)),e._scrollView.vScrollBar.$.hasClass("bottom-corner")&&e._scrollView.vScrollBar.refresh(),e._scrollView.hScrollBar.$.hasClass("bottom-corner")&&e._scrollView.hScrollBar.refresh()),e.isVirtualized&&e._recycle();const s=/Trident|Edge/.test(navigator.userAgent);!e.isRefreshing&&s&&setTimeout((function(){e.isRefreshing=!0,e._refreshLayout(),e.isRefreshing=!1}),50)}_styleChangedHandler(){this._refreshLayout()}_swipeLeftHandler(){}_swipeRightHandler(){}_refreshHorizontalScrollBarVisibility(e){const t=this;t.scrollWidth=e,t.$.horizontalScrollBar.refresh(),t.computedHorizontalScrollBarVisibility?(t.scrollLeft=t._getScrollLeft(t.$.itemsContainer.scrollLeft,e),t.$itemsContainer.addClass("hscroll")):t.$itemsContainer.removeClass("hscroll")}_refreshVerticalScrollBarVisibility(e){const t=this;t.scrollHeight=e,t.$.verticalScrollBar.refresh(),t.computedVerticalScrollBarVisibility?(t.$itemsContainer.addClass("vscroll"),t.$filterInputContainer.addClass("vscroll")):(t.$itemsContainer.removeClass("vscroll"),t.$filterInputContainer.removeClass("vscroll"))}_validateTemplate(e,t){if(null===t||!t)return;const i=this;return"content"in document.createElement("template")?null!==(t=document.getElementById(t))&&"content"in t?t:(i.error(i.localize("invalidTemplate",{elementType:i.nodeName.toLowerCase(),property:e})),void(i[e]=null)):(i.error(i.localize("htmlTemplateNotSuported",{elementType:i.nodeName.toLowerCase()})),void(i[e]=null))}_getItemIndexByPosition(e){const t=this;return(i=>{let r=0,o=i.length-1;if(e<=0)return 0;if(i[i.length-1].top<=e)return i.length-1;for(;;){const s=Math.floor((r+o)/2),l=i[s];if(t._isItemInPosition(l,e))return s;l.top<e?r=s+1:l.top>e&&(o=s-1)}})(t.$.filterInput.value.length>0?t._filteredItems:t._items)}_isItemInPosition(e,t){const i=e.top,r=e.top+e.height;return i<=t&&r>t}get isVirtualized(){const e=this;return e.virtualized&&e.dataSource&&e.dataSource.length>0}_recycle(){const e=this;if(!e._recyclingItems)return;let t=e._height;e._height||(t=e._height=e.$.itemsContainer.offsetHeight);let i=0;const r=e.scrollTop,o=e._getItemIndexByPosition(r),s=e.filterable&&e.$.filterInput.value.length>0?e._filteredItems:e._items,l=s[o];let n=l?l.top:0;if(e.$.itemsInnerContainer.style.left=-e.scrollLeft+"px",e.$.itemsInnerContainer.style.top=-r+n+"px",e.isUpdating++,o>=0){const l=s.length;for(let a=o;a<l;a++){const o=s[a];if(0!==o.height){if(!(n+o.height>=r&&n<=r+t))break;{const t=e._recyclingItems[i++];if(!t)break;t.setAttribute("aria-setsize",l),t.setAttribute("aria-posinset",a),t.context=document,t.dataItem=o,t.label=o.label,t.value=o.value,t.selected=o.selected,t._focused=o._focused,t.hidden=o.hidden,t.grouped=o.grouped,t.readonly=o.readonly,t.style.height=o.height+"px",e._alternateItem(t),o.title?t.title=o.title:t.title="",o.grouped?t.displayMode="plain":t.displayMode=o.displayMode,e.scrollWidth>0&&(t.style.width=e.$.itemsInnerContainer.offsetWidth+e.scrollWidth+"px"),e.itemTemplate&&e._handleItemTemplate(e.itemTemplate)&&e._applyTemplate(t,!1)}n+=o.height}}}if(i<e._recyclingItems.length)for(let t=i;t<e._recyclingItems.length;t++){const t=e._recyclingItems[i++],r=t.context;t.context=document,t.hidden=!0,t.context=r}e.isUpdating--}_verticalScrollbarHandler(e){const t=this,i=e.detail.value;e&&e.stopPropagation&&e.stopPropagation(),t.isVirtualized?t._recycle():t.$.itemsContainer.scrollTop=i,t._updateTopVisibleIndex(),e.context.max!==e.context.value?e.context.min===e.context.value&&t.$.fireEvent("scrollTopReached"):t.$.fireEvent("scrollBottomReached")}_applyAriaSelected(){const e=this,t=e.isVirtualized?e._recyclingItems:e._items,i=e.selectionMode;for(let e=0;e<t.length;e++){const r=t[e];r.selected?r.setAttribute("aria-selected",!0):r.readonly||r.disabled||-1===["oneOrManyExtended","zeroOrMany","oneOrMany","checkBox"].indexOf(i)?r.removeAttribute("aria-selected"):r.setAttribute("aria-selected",!1)}}});

/***/ }),

/***/ 8687:
/***/ (() => {

(()=>{let t;try{BigInt,t=!0}catch(i){t=!1}JQX.Utilities.Assign("BigNumber",class{constructor(t,i,e){var r,n=this;if(JQX.Utilities.BigNumber.bigIntSupport){if(t instanceof JQX.Utilities.BigNumber){if(!Array.isArray(t._d))return new JQX.Utilities.BigNumber(t._d);t=(t._s?"-":"")+(t._d.slice(0,t._f).join("")||"0")+(t._f!=t._d.length?"."+t._d.slice(t._f).join(""):"")}try{null===t?n._d=BigInt(0):"string"==typeof t&&-1!==t.toLowerCase().indexOf("e")?n._d=BigInt(parseFloat(t)):n._d=BigInt(t)}catch(i){try{const i=t.toString().split(".");let e=BigInt(i[0]),r=parseInt(i[1].charAt(0));if(e>=0&&r>=5)e+=BigInt(1);else if(e<0)if(r>5)e-=BigInt(1);else if(5===r){let t=1,r=i[1].charAt(t),n=!1;for(;""!==r;)if(t++,r=i[1].charAt(t),"0"!==r){n=!0;break}n&&(e-=BigInt(1))}n._d=e}catch(t){n._d=BigInt(0)}}return n._f=n._d.toString().replace("-","").length,void(n._s=n._d<0)}if(t instanceof JQX.Utilities.BigNumber){if("bigint"==typeof t._d)return new JQX.Utilities.BigNumber(t._d.toString());for(r in{precision:0,roundType:0,_s:0,_f:0})n[r]=t[r];return n._d=t._d.slice(),void(t._s&&1===t._d.length&&0===t._d[0]&&(n._s=!1))}if(void 0!==t&&("-0"===t&&(t="0"),new RegExp(/e/i).test(t))){var s=t.toString().toLowerCase(),a=s.indexOf("e"),l=new JQX.Utilities.BigNumber(s.slice(0,a)),_=s.slice(a+2),u=s.slice(a+1,a+2),o=new JQX.Utilities.BigNumber(10).pow(u+_);t=l.multiply(o).toString()}for(n.precision=isNaN(i=Math.abs(i))?JQX.Utilities.BigNumber.defaultPrecision:i,n.roundType=isNaN(e=Math.abs(e))?JQX.Utilities.BigNumber.defaultRoundType:e,n._s="-"==(t+="").charAt(0),n._f=((t=t.replace(/[^\d.]/g,"").split(".",2))[0]=t[0].replace(/^0+/,"")||"0").length,r=(t=n._d=(t.join("")||"0").split("")).length;r;t[--r]=+t[r]);n.round()}static get defaultPrecision(){return 40}static get defaultRoundType(){return 4}static get bigIntSupport(){return t&&!0!==JQX.Utilities.BigNumber.ignoreBigIntNativeSupport}add(t){if(JQX.Utilities.BigNumber.bigIntSupport)return new JQX.Utilities.BigNumber(this._d+new JQX.Utilities.BigNumber(t)._d);let i=this.normalizeOperand(this);if(t=i.normalizeOperand(t),i.isZero()&&i._s&&(i._s=!1),0===t||t.constructor===JQX.Utilities.BigNumber&&1===t._d.length&&0===t._d[0])return new JQX.Utilities.BigNumber(i);if(i._s!=(t=new JQX.Utilities.BigNumber(t))._s)return t._s^=1,i.subtract(t);var e,r,n=new JQX.Utilities.BigNumber(i),s=n._d,a=t._d,l=n._f,_=t._f;for(t=Math.max(l,_),l!=_&&((_=l-_)>0?n._zeroes(a,_,1):n._zeroes(s,-_,1)),e=(l=s.length)==(_=a.length)?s.length:((_=l-_)>0?n._zeroes(a,_):n._zeroes(s,-_)).length,r=0;e;r=(s[--e]=s[e]+a[e]+r)/10>>>0,s[e]%=10);return r&&++t&&s.unshift(r),n._f=t,n.round()}subtract(t){if(JQX.Utilities.BigNumber.bigIntSupport)return new JQX.Utilities.BigNumber(this._d-new JQX.Utilities.BigNumber(t)._d);let i=this.normalizeOperand(this);if(t=i.normalizeOperand(t),i.isZero()&&i._s&&(i._s=!1),0===t||t.constructor===JQX.Utilities.BigNumber&&1===t._d.length&&0===t._d[0])return new JQX.Utilities.BigNumber(i);if(i._s!=(t=new JQX.Utilities.BigNumber(t))._s)return t._s^=1,i.add(t);var e,r,n=new JQX.Utilities.BigNumber(i),s=n.abs().compare(t.abs())+1,a=s?n:t,l=s?t:n,_=a._f,u=l._f,o=_;for(a=a._d,l=l._d,_!=u&&((u=_-u)>0?n._zeroes(l,u,1):n._zeroes(a,-u,1)),e=(_=a.length)==(u=l.length)?a.length:((u=_-u)>0?n._zeroes(l,u):n._zeroes(a,-u)).length;e;){if(a[--e]<l[e]){for(r=e;r&&!a[--r];a[r]=9);--a[r],a[e]+=10}l[e]=a[e]-l[e]}return s||(n._s^=1),n._f=o,n._d=l,n.round()}multiply(t){if(JQX.Utilities.BigNumber.bigIntSupport)return new JQX.Utilities.BigNumber(this._d*new JQX.Utilities.BigNumber(t)._d);let i=this.normalizeOperand(this);t=i.normalizeOperand(t);var e,r,n,s=new JQX.Utilities.BigNumber(i),a=s._d.length>=(t=new JQX.Utilities.BigNumber(t))._d.length,l=(a?s:t)._d,_=(a?t:s)._d,u=l.length,o=_.length,g=new JQX.Utilities.BigNumber;for(e=o;e;a&&n.unshift(a),g.set(g.add(new JQX.Utilities.BigNumber(n.join("")))))for(n=new Array(o- --e).join("0").split(""),a=0,r=u;r;a+=l[--r]*_[e],n.unshift(a%10),a=a/10>>>0);return s._s=s._s!=t._s,s._f=((a=u+o-s._f-t._f)>=(r=(s._d=g._d).length)?i._zeroes(s._d,a-r+1,1).length:r)-a,s.round()}divide(t){if(JQX.Utilities.BigNumber.bigIntSupport)return new JQX.Utilities.BigNumber(this._d/new JQX.Utilities.BigNumber(t)._d);let i=this.normalizeOperand(this);if(t=i.normalizeOperand(t),"0"==(t=new JQX.Utilities.BigNumber(t)))throw new Error("Division by 0");if("0"==i)return new JQX.Utilities.BigNumber;var e,r,n,s=new JQX.Utilities.BigNumber(i),a=s._d,l=t._d,_=a.length-s._f,u=l.length-t._f,o=new JQX.Utilities.BigNumber,g=0,m=1,d=0,h=0;for(o._s=s._s!=t._s,o.precision=Math.max(s.precision,t.precision),o._f=+o._d.pop(),_!=u&&s._zeroes(_>u?l:a,Math.abs(_-u)),t._f=l.length,(l=t)._s=!1,l=l.round(),t=new JQX.Utilities.BigNumber;"0"==a[0];a.shift());t:do{for(n=d=0,"0"==t&&(t._d=[],t._f=0);g<a.length&&-1==t.compare(l);++g){if(n=g+1==a.length,(!m&&++d>1||(h=n&&"0"==t&&"0"==a[g]))&&(o._f==o._d.length&&++o._f,o._d.push(0)),"0"==a[g]&&"0"==t||(t._d.push(a[g]),++t._f),h)break t;if(n&&-1==t.compare(l)&&(o._f==o._d.length&&++o._f,1)||(n=0))for(;o._d.push(0),t._d.push(0),++t._f,-1==t.compare(l););}if(m=0,-1==t.compare(l)&&!(n=0))for(;n?o._d.push(0):n=1,t._d.push(0),++t._f,-1==t.compare(l););var f;for(r=new JQX.Utilities.BigNumber,e=0;t.compare(f=r.add(l))+1&&++e;r.set(f));t.set(t.subtract(r)),!n&&o._f==o._d.length&&++o._f,o._d.push(e)}while((g<a.length||"0"!=t)&&o._d.length-o._f<=o.precision);return o.round()}mod(t){if(JQX.Utilities.BigNumber.bigIntSupport)return new JQX.Utilities.BigNumber(this._d%new JQX.Utilities.BigNumber(t)._d);let i=this.normalizeOperand(this);t=i.normalizeOperand(t);var e=i.subtract(i.divide(t).intPart().multiply(t));return e.isZero()&&e._s&&(e._s=!e._s),e}pow(t){if(JQX.Utilities.BigNumber.bigIntSupport){let i=BigInt(1);for(let e=BigInt(0);e<new JQX.Utilities.BigNumber(t)._d;e+=BigInt(1))i*=this._d;return new JQX.Utilities.BigNumber(i)}let i=this.normalizeOperand(this);t=i.normalizeOperand(t);var e,r=new JQX.Utilities.BigNumber(i);if(0==(t=new JQX.Utilities.BigNumber(t).intPart()))return r.set(1);for(e=Math.abs(t);--e;r.set(r.multiply(i)));return t<0?r.set(new JQX.Utilities.BigNumber(1).divide(r)):r}set(t){return t=new JQX.Utilities.BigNumber(t),this._d=t._d,this._f=t._f,this._s=t._s,this}compare(t){if(JQX.Utilities.BigNumber.bigIntSupport){const i=new JQX.Utilities.BigNumber(t)._d;return this._d===i?0:this._d>i?1:-1}let i=this.normalizeOperand(this);t=i.normalizeOperand(t);var e,r,n,s=i,a=i._f,l=new JQX.Utilities.BigNumber(t),_=l._f,u=[-1,1];if(s.isZero()&&l.isZero())return 0;if(s._s!=l._s)return s._s?-1:1;if(a!=_)return u[a>_^s._s];for(a=(n=s._d).length,_=(l=l._d).length,e=-1,r=Math.min(a,_);++e<r;)if(n[e]!=l[e])return u[n[e]>l[e]^s._s];return a!=_?u[a>_^s._s]:0}negate(){if(JQX.Utilities.BigNumber.bigIntSupport)return new JQX.Utilities.BigNumber(this._d*BigInt(-1));let t=this.normalizeOperand(this);var i=new JQX.Utilities.BigNumber(t);return i._s^=1,i}abs(){if(JQX.Utilities.BigNumber.bigIntSupport)return new JQX.Utilities.BigNumber(this._d<0?this._d*BigInt(-1):this._d);let t=this.normalizeOperand(this);var i=new JQX.Utilities.BigNumber(t);return i._s=0,i}intPart(){if(JQX.Utilities.BigNumber.bigIntSupport)return new JQX.Utilities.BigNumber(this._d);let t=this.normalizeOperand(this);return new JQX.Utilities.BigNumber((t._s?"-":"")+(t._d.slice(0,t._f).join("")||"0"))}valueOf(t,i){return this.normalizeOperand(this).toString(t,i)}toString(t,i,e){function r(t){var i,e,r=new JQX.Utilities.BigNumber(2),s=[];e=void 0===t?n:t;do{i=e.mod(r),s.push(i.toString()),e=e.subtract(i).divide(r).intPart()}while(1===e.compare(new JQX.Utilities.BigNumber(0)));return s.reverse().join("")}let n,s,a;if(JQX.Utilities.BigNumber.bigIntSupport?(n=this,s=Array.isArray(n._d)?(n._s?"-":"")+(n._d.slice(0,n._f).join("")||"0")+(n._f!=n._d.length?"."+n._d.slice(n._f).join(""):""):this._d.toString()):(n=this.normalizeOperand(this),s=(n._s?"-":"")+(n._d.slice(0,n._f).join("")||"0")+(n._f!=n._d.length?"."+n._d.slice(n._f).join(""):"")),void 0===t||10===t)return s;if(n.compare(0)>-1)switch(t){case 2:a=r(),e&&(a=a.padStart(i,"0"));break;case 8:a=function(t){for(var i="";t.length%3!=0;)t="0"+t;for(var e=t.length/3;e>=1;e--){var r=t[3*e-3]+""+t[3*e-2]+t[3*e-1];i=parseInt(r,2).toString(8)+""+i}return i}(r());break;case 16:a=function(t){for(var i="";t.length%4!=0;)t="0"+t;for(var e=t.length/4;e>=1;e--){var r=t[4*e-4]+""+t[4*e-3]+t[4*e-2]+t[4*e-1];i=parseInt(r,2).toString(16)+""+i}return i}(r()).toUpperCase(),e&&(a=a.padStart(i/4,"0"))}else a=function(t,i,e){var r="";for(String.prototype.repeat&&(t="0".repeat(e-t.length)+t);t.length<e;)t="0"+t;for(var n=!0,s="",a=(r=(r=(r=(r=t.replace(/0/g,"a")).replace(/1/g,"b")).replace(/a/g,"1")).replace(/b/g,"0")).length-1;a>=0;a--){var l;"0"===r.charAt(a)?!0===n?(l="1",n=!1):l="0":l=!0===n?"0":"1",s=l+""+s}switch(i){case 2:return s;case 8:var _,u;switch(e){case 8:_=3,u="0";break;case 16:_=6,u="00";break;case 32:_=11,u="0";break;case 64:_=22,u="00"}s=u+s;for(var o="",g=_;g>=1;g--){var m=s[3*g-3]+""+s[3*g-2]+s[3*g-1];o=parseInt(m,2).toString(8)+""+o}return o;case 16:var d;switch(e){case 8:d=2;break;case 16:d=4;break;case 32:d=8;break;case 64:d=16}for(var h="",f=d;f>=1;f--){var p=s[4*f-4]+""+s[4*f-3]+s[4*f-2]+s[4*f-1];h=parseInt(p,2).toString(16)+""+h}return h.toUpperCase()}}(r(n.negate()),t,i);return a}_zeroes(t,i,e){var r=["push","unshift"][e||0];for(++i;--i;t[r](0));return t}round(){if("_rounding"in this)return this;var t,i,e,r,n=JQX.Utilities.BigNumber,s=this.roundType,a=this._d;for(this._rounding=!0;this._f>1&&!a[0];--this._f,a.shift());for(t=this._f,e=a[i=this.precision+t];a.length>t&&!a[a.length-1];a.pop());return r=(this._s?"-":"")+(i-t?"0."+this._zeroes([],i-t-1).join(""):"")+1,a.length>i&&(e&&s!=n.DOWN&&(s==n.UP||(s==n.CEIL?!this._s:s==n.FLOOR?this._s:s==n.HALF_UP?e>=5:s==n.HALF_DOWN?e>5:s==n.HALF_EVEN&&(e>=5&&1&a[i-1])))&&this.add(r),a.splice(i,a.length-i)),delete this._rounding,this}isZero(){return 1===this._d.length&&0===this._d[0]}normalizeOperand(t){return t instanceof JQX.Utilities.BigNumber&&"bigint"==typeof t._d?new JQX.Utilities.BigNumber(t._d.toString()):t}})})();

/***/ }),

/***/ 2754:
/***/ (() => {

JQX.Utilities.Assign("NumericProcessor",class{constructor(t,e){switch(t[e]){case"integer":return new JQX.Utilities.IntegerNumericProcessor(t,e);case"floatingPoint":return new JQX.Utilities.DecimalNumericProcessor(t,e);case"complex":return new JQX.Utilities.ComplexNumericProcessor(t,e)}}}),JQX.Utilities.Assign("BaseNumericProcessor",class{constructor(t,e){const i=this;i.context=t,i._longestLabelSize=0,i.numericFormatProperty=e,i.regexScientificNotation=new RegExp(/^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)(Y|Z|E|P|T|G|M|k|m|u|n|p|f|a|z|y){1}$/),i.regexNoLeadingZero=new RegExp(/^(-)?[.]\d+$/),i.regexLeadingZero=new RegExp(/^[+\-]?(0+)[1-9]+|^[+\-]?(0{2,})[.]|^(0{2,})$/),i.prefixesToPowers={Y:24,Z:21,E:18,P:15,T:12,G:9,M:6,k:3,m:-3,u:-6,n:-9,p:-12,f:-15,a:-18,z:-21,y:-24},window.NIComplex?i.complexConstructor=window.NIComplex:i.complexConstructor=JQX.Utilities.Complex}prepareForValidation(t,e,i){const r=this.context,a=t||void 0!==e;if(i=(i=i.toString()).replace(/\s/g,""),i=r._discardDecimalSeparator(i),this.regexLeadingZero.test(i)){const t=this.regexLeadingZero.exec(i);i=t[1]?i.replace(t[1],""):t[2]?i.replace(t[2],"0"):i.replace(t[3],"0")}this.regexNoLeadingZero.test(i)?i="-"===i.charAt(0)?"-0"+i.slice(1):"0"+i:("integer"===r[this.numericFormatProperty]&&(10===r._radixNumber||a)||"floatingPoint"===r[this.numericFormatProperty])&&this.regexScientificNotation.test(i)&&(i=this.scientificToDecimal(i));let n,l=!1;if("complex"===r[this.numericFormatProperty]&&!1===r._regexSpecial.nonNumericValue.test(i))try{if(r._regexSpecial.exaValue.test(i)){const t=i.indexOf("E"),e=parseFloat(i.slice(0,t))*Math.pow(10,18),r=parseFloat(i.slice(t+1,-1));n=new this.complexConstructor(e,r)}else n=new this.complexConstructor(i);l=!0}catch(t){l=!1}if(!1!==l||!(!a&&!1===r._regex[r._radixNumber].test(i)||a&&!1===r._regex[10].test(i)))return{value:i,enteredComplexNumber:n};r._handleNonNumericValue(t,e,i)}isENotation(t){return new RegExp(/e/i).test(t.toString())}scientificToDecimal(t){const e=this.regexScientificNotation.exec(t),i=e[1],r=e[2];return parseFloat(i)*Math.pow(10,this.prefixesToPowers[r])}_createMeasureLabel(){const t=this.context,e=document.createElement("div");return e.className="jqx-label",e.style.position="absolute",e.style.visibility="hidden","far"!==t.scalePosition?t._measureLabelScale=t.$.scaleNear:t._measureLabelScale=t.$.scaleFar,t._measureLabelScale.appendChild(e),e}_addMajorTickAndLabel(t,e,i,r,a){const n=this.context,l=n._settings.leftOrTop,o=this.valueToPx(r);let s="",c="";if(parseInt(o)>parseInt(n._measurements.trackLength))return{tick:s,label:c};if(n.logarithmicScale&&(t=n._formatLabel(Math.pow(10,r))),"jqx-tank"===n.nodeName.toLowerCase()||n._intervalHasChanged){let e=n._tickIntervalHandler.labelsSize;if(a){n._labelDummy.innerHTML=t;let a=this.valueToPx(r),l=this.valueToPx(n._drawMax),o=this.valueToPx(n._drawMin),s=n._labelDummy[n._settings.size],c="vertical"===n.orientation?n._labelDummy.offsetWidth:n._labelDummy.offsetHeight,m=(s+e.minLabelSize)/2,u=(s+e.maxLabelSize)/2;i=n._normalLayout?a+u<l&&a-m>o:a-u>l&&a+m<o,c>this._longestLabelSize&&(this._longestLabelSize=c)}else this._longestLabelSize=Math.max(e.minLabelOtherSize,e.maxLabelOtherSize,this._longestLabelSize)}return n._tickValues.push(r),s='<div style="'+l+": "+o+'px;" class="jqx-tick"></div>',!1!==i&&(void 0===e&&(n._labelDummy.innerHTML=t,e=n._labelDummy[n._settings.size]),c+='<div class="jqx-label'+(a?" jqx-label-middle":"")+'" style="'+l+": "+(o-e/2)+'px;">'+t+"</div>"),{tick:s,label:c}}getWordLength(t){switch(this.context._unsigned="u"===t.charAt(0),t){case"int8":case"uint8":return 8;case"int16":case"uint16":return 16;case"int32":case"uint32":return 32;case"int64":case"uint64":return 64}}getAngleByValue(t,e,i){const r=this.context;!1!==e&&r.logarithmicScale&&(t=Math.log10(t));const a=(t-r._drawMin)*r._angleRangeCoefficient;let n;return n=void 0===r.inverted||!r.inverted&&!r.rightToLeft||r.rightToLeft&&r.inverted?r.endAngle-a:r.startAngle+a,i?n:n*Math.PI/180+Math.PI/2}getValueByAngle(t,e){const i=this.context;let r,a,n;for(void 0===i.inverted||!i.inverted&&!i.rightToLeft||i.rightToLeft&&i.inverted?(r=i.endAngle,a=t):(r=t,a=i._normalizedStartAngle);r<a;)r+=360;if(n=(r-a)/i._angleDifference*i._range+parseFloat(i._drawMin),i.logarithmicScale){if(i.customInterval)return parseFloat(Math.pow(10,this.getCoercedValue(n,!0)).toFixed(12));n=Math.pow(10,n)}return e&&!i.coerce?Math.round(n):(n=this.createDescriptor(n,void 0,!0,!0),this.getCoercedValue(n,!1))}updateGaugeValue(t){const e=this.context,i=e.value;e.value=t,e._drawValue=e.logarithmicScale?Math.log10(t).toString():t,e._number=this.createDescriptor(e.value),e.$.digitalDisplay.value=t,e.$.fireEvent("change",{value:t,oldValue:i}),e._setAriaValue("valuenow"),delete e._valueBeforeCoercion}validateColorRange(t){const e=this.context;return Math.min(Math.max(t,e.min),e.max)}getActualValue(t){return this.context.logarithmicScale?Math.pow(10,t):t}drawGaugeLogarithmicScaleMinorTicks(t,e,i){const r=this.context;let a;e instanceof JQX.Utilities.BigNumber&&(e=parseFloat(e.toString()));for(let e in t)if(a=e,e>=0&&e%1==0)break;for(let t=parseFloat(a);t<r._drawMax;t+=e)for(let a=2;a<=9;a++){const n=a*Math.pow(10,t+e-1);n<r.max&&i(n)}for(let t=parseFloat(a);t>r._drawMin;t-=e)for(let e=2;e<=9;e++){const a=e*Math.pow(10,t-1);a>r.min&&i(a)}}_getAngleDifference(t,e){const i=Math.abs(e-t)%360;return i>180?360-i:i}addCustomTicks(){const t=this,e=t.context,i=!e.logarithmicScale;let r="",a="";function n(n){const l=e.customTicks[n],o=i?t.createDescriptor(l):Math.log10(l),s=n>0&&n<e.customTicks.length-1,c=t._addMajorTickAndLabel(e._formatLabel(l),void 0,!0,o,s);r+=c.tick,a+=c.label}if(t._longestLabelSize=0,e._tickValues=[],e._labelDummy=t._createMeasureLabel(),e._normalLayout)for(let t=0;t<e.customTicks.length;t++)n(t);else for(let t=e.customTicks.length-1;t>=0;t--)n(t);"jqx-tank"===e.nodeName.toLowerCase()&&e._updateScaleWidth(t._longestLabelSize),e._appendTicksAndLabelsToScales(r,a)}addGaugeCustomTicks(){const t=this,e=t.context,i=e._distance,r=e._measurements.radius-i.majorTickDistance;let a,n;function l(i){const r=e.customTicks[i],l=t.createDescriptor(r),o=t.getAngleByValue(l,!0),s=i>0&&i<e.customTicks.length-1;a(o),n(o,r,s)}a="none"!==e.ticksVisibility&&!1!==e._plotTicks?function(t){e._drawTick(t,r,"major")}:function(){},n="none"!==e.labelsVisibility&&!1!==e._plotLabels?function(t,r,a){e._drawLabel(t,r,i.labelDistance,a)}:function(){};for(let t=e.customTicks.length-1;t>=0;t--)l(t)}}),JQX.Utilities.Assign("IntegerNumericProcessor",class extends JQX.Utilities.BaseNumericProcessor{constructor(t,e){super(t,e);const i=this;i.context=t,i.defaultMins={int8:"-128",uint8:"0",int16:"-32768",uint16:"0",int32:"-2147483648",uint32:"0",int64:"-9223372036854775808",uint64:"0"},i.defaultMaxs={int8:"127",uint8:"255",int16:"32767",uint16:"65535",int32:"2147483647",uint32:"4294967295",int64:"9223372036854775807",uint64:"18446744073709551615"}}createDescriptor(t,e,i,r,a){const n=this.context;let l;if(t.constructor!==JQX.Utilities.BigNumber){let i=!a&&n._radixNumber?n._radixNumber:10;10===i&&e&&t.constructor!==JQX.Utilities.BigNumber&&this.isENotation(t)&&(t=JQX.Utilities.BigNumber.bigIntSupport?new JQX.Utilities.BigNumber(Math.round(t)):new JQX.Utilities.NumberRenderer(t).largeExponentialToDecimal()),l=n._toBigNumberDecimal?n._toBigNumberDecimal(t.toString(i,n._wordLengthNumber),i):new JQX.Utilities.BigNumber(t)}else l=new JQX.Utilities.BigNumber(t);return i&&(n._unsigned&&-1===l.compare(0)&&(l=l.set(0)),r&&(l=this.validate(l,n._minObject,n._maxObject)),l=this.round(l)),l}round(t){const e=this.context;if(t instanceof window.JQX.Utilities.BigNumber&&"bigint"==typeof t._d)return t;if(t instanceof window.JQX.Utilities.BigNumber==0||!e._wordLengthNumber||e._wordLengthNumber<64)return new JQX.Utilities.BigNumber(Math.round(t.toString()));const i=t.mod(1);return 1===i._d.length&&0===i._d[0]||((t=t.intPart())._s?(i._d[1]>5||5===i._d[1]&&i._d[2])&&(t=t.add(-1)):i._d[1]>4&&(t=t.add(1))),t}validate(t,e,i){let r;return r=-1===t.compare(e)?e:1===t.compare(i)?i:t,r}validateMinMax(t,e){const i=this.context;let r=this.defaultMins[i.wordLength],a=new JQX.Utilities.BigNumber(r),n=this.defaultMaxs[i.wordLength],l=new JQX.Utilities.BigNumber(n),o="date"!==i.mode;if(void 0===i._numberRenderer&&(i._numberRenderer=new JQX.Utilities.NumberRenderer),t&&o){null!==i.min&&(i.min=i.min.toString().replace(/\s/g,""),this.regexScientificNotation.test(i.min)&&(i.min=this.scientificToDecimal(i.min)));let t=this.round(new JQX.Utilities.BigNumber(i.min));null===i.min||i._minIsNull&&i._initialized||!(t.compare(a)>=0)?(i._minIsNull=!0,i.min=r,i._minObject=a):i._minObject=t}if(e&&o){null!==i.max&&(i.max=i.max.toString().replace(/\s/g,""),this.regexScientificNotation.test(i.max)&&(i.max=this.scientificToDecimal(i.max)));let t=this.round(new JQX.Utilities.BigNumber(i.max));null===i.max||i._maxIsNull&&i._initialized||!(t.compare(l)<=0)?(i._maxIsNull=!0,i.max=n,i._maxObject=l):i._maxObject=t}o||(i._minObject=new JQX.Utilities.BigNumber(i.min),i._maxObject=new JQX.Utilities.BigNumber(i.max)),this.compare(i._minObject,i._maxObject)||(i._minObject=a,i._maxObject=l,i._drawMin=i.logarithmicScale?0:r,i._drawMax=i.logarithmicScale?10:n,i.min=r,i.max=n),o||(i._minDate=JQX.Utilities.DateTime.fromFullTimeStamp(i.min),i._maxDate=JQX.Utilities.DateTime.fromFullTimeStamp(i.max))}valueToPx(t){const e=JQX.Utilities.BigNumber.ignoreBigIntNativeSupport;JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=!0;const i=this.context,r=new JQX.Utilities.BigNumber(i._measurements.trackLength).divide(new JQX.Utilities.BigNumber(i._range));let a;if(i._normalLayout){const e=i._drawMin instanceof JQX.Utilities.BigNumber?i._drawMin:new JQX.Utilities.BigNumber(i._drawMin);t=new JQX.Utilities.BigNumber(t),a=parseFloat(r.multiply(t.subtract(e)).toString())}else{const e=i._drawMax instanceof JQX.Utilities.BigNumber?i._drawMax:new JQX.Utilities.BigNumber(i._drawMax);a=parseFloat(this.round(e.subtract(t).multiply(r)).toString())}return JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=e,a}pxToValue(t){const e=this.context,i=JQX.Utilities.BigNumber.ignoreBigIntNativeSupport;let r;if(JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=!0,r=e._normalLayout?e._valuePerPx.multiply(t-e._trackStart):e._valuePerPx.multiply(e._trackEnd-t),r=this.round(r).toString(),JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=i,e.logarithmicScale){let t=parseFloat(r)+parseFloat(e._drawMin);return new JQX.Utilities.BigNumber(Math.round(Math.pow(10,t)))}return this.createDescriptor(e._minObject.add(r),!1,!0,!0)}compare(t,e,i){if((null===t||null===e)&&t!==e)return!0;t.constructor!==JQX.Utilities.BigNumber&&(t=new JQX.Utilities.BigNumber(t));const r=t.compare(e);return!0!==i?0!==r:r}incrementDecrement(t,e,i){const r=this.context;let a;if(t.constructor!==JQX.Utilities.BigNumber&&(t=new JQX.Utilities.BigNumber(t)),"add"===e){if(a=t.add(i),void 0!==r._drawMax)return a.compare(r._drawMax)>0?new JQX.Utilities.BigNumber(r._drawMax):a}else if(a=t.subtract(i),void 0!==r._drawMin)return a.compare(r._drawMin)<0?new JQX.Utilities.BigNumber(r._drawMin):a;return a}render(t,e){const i=this.context;if(!i.scientificNotation&&!0===e)return new JQX.Utilities.NumberRenderer(new JQX.Utilities.BigNumber(t)).bigNumberToExponent(i.significantDigits);let r=t;return i.scientificNotation&&!0===e?r=new JQX.Utilities.NumberRenderer(r).toScientific(i.significantDigits,i.precisionDigits):"string"!=typeof t&&(r=t.toString(i._radixNumber,i._wordLengthNumber,i.leadingZeros)),r}addTicksAndLabels(){const t=JQX.Utilities.BigNumber.ignoreBigIntNativeSupport;JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=!0;const e=this.context,i=e._measurements.trackLength,r=e._normalLayout,a=e._majorTicksInterval,n=this.round(new JQX.Utilities.BigNumber(e._range).divide(a)),l=i/n,o=new JQX.Utilities.BigNumber(e._drawMin),s=new JQX.Utilities.BigNumber(e._drawMax);let c,m,u,g,d,p,h,b,f,_="",S="";e._tickValues=[],this._longestLabelSize=0,r?(c=o,m=a.add(c.subtract(c.mod(a))),u=m.subtract(c),d=e._formatLabel(o),p=e._tickIntervalHandler.labelsSize.minLabelSize,g=s,h=e._formatLabel(s),b=e._tickIntervalHandler.labelsSize.maxLabelSize):(c=s,m=c.subtract(c.mod(a)),u=c.subtract(m),d=e._formatLabel(s),p=e._tickIntervalHandler.labelsSize.maxLabelSize,g=o,h=e._formatLabel(o),b=e._tickIntervalHandler.labelsSize.minLabelSize),e._labelDummy=this._createMeasureLabel(),f=this._addMajorTickAndLabel(d,p,!0,c),_+=f.tick,S+=f.label;const x=u.divide(a).multiply(l);if(0!==m.compare(e.max)&&x.compare(i)<0){const t=e._formatLabel(m.toString()),i=x.compare(p)>0;f=this._addMajorTickAndLabel(t,void 0,i,m,!0),_+=f.tick,S+=f.label}f=this.addMiddleMajorTicks(n,l,x,u,r,a),_+=f.tick,S+=f.label,f=this._addMajorTickAndLabel(h,b,!0,g),_+=f.tick,S+=f.label,"date"!==e.mode&&(_+=this.addMinorTicks(r)),e._measureLabelScale.removeChild(e._labelDummy),delete e._labelDummy,delete e._measureLabelScale,"jqx-tank"===e.nodeName.toLowerCase()&&e._updateScaleWidth(this._longestLabelSize),e._appendTicksAndLabelsToScales(_,S),JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=t}addMiddleMajorTicks(t,e,i,r,a,n){const l=this.context;let o,s="",c="";for(let m=1;m<t;m++){let u,g=i.add(m*e);if(a?u=n.multiply(m).add(r.add(new JQX.Utilities.BigNumber(l._drawMin))):(u=new JQX.Utilities.BigNumber(l._drawMax).subtract(r).subtract(n.multiply(m)),m===t-1&&0===u.compare(0)&&(l._numberRenderer.numericValue=l._tickIntervalHandler.nearestPowerOfTen,o=l._numberRenderer.bigNumberToExponent(1))),0!==u.compare(l._drawMax)){let i=l._formatLabel(u.toString()),r=!0;l._labelDummy.innerHTML=o||i;let a=l._labelDummy[l._settings.size];g.add(a).compare(t*e)>=0&&(r=!1);const n=this._addMajorTickAndLabel(i,void 0,r,u,!0);s+=n.tick,c+=n.label}}return{tick:s,label:c}}addMinorTicks(t){function e(t){-1===r.indexOf(t)&&t%n==0&&(m+='<div style="'+l+": "+i._numericProcessor.valueToPx(t)+'px;" class="jqx-tick jqx-tick-minor"></div>')}const i=this.context,r=i._tickValues,a=i._tickIntervalHandler.nearestPowerOfTen,n=i._minorTicksInterval,l=i._settings.leftOrTop;let o,s,c,m="";if(t?(o=r[0],s=r[1],c=r[r.length-1]):(o=r[r.length-1],s=r[r.length-2],c=r[0]),i.logarithmicScale)!function(){let t=i._measurements.trackLength/r.length,e=.1;t<20?e=1:t>=20&&t<40?e=s-o>1?1:.5:t>=40&&t<80&&(e=.2);let a=Math.floor(i._drawMax),n=i._drawMax-a,c=i._drawMax-i._drawMin>r.length;for(let t=i._drawMax;t>0;t-=1){let r=n>0?Math.pow(10,t-n+1):Math.pow(10,t),a=r*e;for(let t=r;t>0;t-=a)if(t<i.max&&t>i.min){let e=new JQX.Utilities.BigNumber(Math.log10(t));(e%1==0&&c||!c)&&(m+='<div style="'+l+": "+i._numericProcessor.valueToPx(e)+'px;" class="jqx-tick jqx-tick-minor"></div>')}}}();else{for(let t=s;o.compare(t)<0;t=t.subtract(a))e(t);for(let t=s.add(a);c.compare(t)>0;t=t.add(a))e(t)}return m}validateCustomTicks(){const t=this.context,e="date"!==t.mode;let i=[];for(let r=0;r<t.customTicks.length;r++){let a=t.customTicks[r];e?a=this.createDescriptor(a,!1,!0):void 0===a._d&&(a=JQX.Utilities.DateTime.validateDate(a).getTimeStamp()),a.compare(t._minObject)>=0&&a.compare(t._maxObject)<=0&&i.push(a)}if(i.sort((function(t,e){return t.compare(e)})),e){for(let t=0;t<i.length;t++)i[t]=i[t].toString();i=i.filter((function(t,e,i){return!e||t!==i[e-1]}))}t.customTicks=i.slice(0)}addGaugeTicksAndLabels(){const t=JQX.Utilities.BigNumber.ignoreBigIntNativeSupport;JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=!0;const e=this.context,i=this,r=Math.max(e._tickIntervalHandler.labelsSize.minLabelSize,e._tickIntervalHandler.labelsSize.maxLabelSize),a=e._majorTicksInterval,n=e._minorTicksInterval,l={},o=e._distance,s=e._measurements.radius,c=s-o.majorTickDistance,m=s-o.minorTickDistance,u=new JQX.Utilities.BigNumber(e._drawMin),g=new JQX.Utilities.BigNumber(e._drawMax);let d,p,h,b,f,_;"none"!==e.ticksVisibility&&!1!==e._plotTicks?(d=function(t){e._drawTick(t,c,"major")},p=function(t){e._drawTick(i.getAngleByValue(t,!0),m,"minor")}):(d=function(){},p=function(){}),h="none"!==e.labelsVisibility&&!1!==e._plotLabels?function(t,i,r){e._drawLabel(t,i,o.labelDistance,r)}:function(){},void 0===e.inverted||!e.inverted&&!e.rightToLeft||e.rightToLeft&&e.inverted?(f=e.endAngle,_=e.startAngle):(f=e.startAngle,_=e.endAngle),b=i.getAngleByValue(u,!1),d(b),l[e._drawMin.toString()]=!0,h(b,e.min,!1);let S,x,v=u.subtract(u.mod(a));-1!==u.compare(0)&&(v=v.add(a));for(let t=new JQX.Utilities.BigNumber(v);-1!==t.compare(u);t=t.subtract(n))S=t;for(b=i.getAngleByValue(v,!1),d(b),l[v.toString()]=!0,2*Math.PI*e._measurements.innerRadius*(this._getAngleDifference(f,i.getAngleByValue(v,!1,!0))/360)>r&&h(b,this.getActualValue(v),-1===v.compare(g)),x=v.add(a);-1===x.compare(g.subtract(a));x=x.add(a))b=i.getAngleByValue(x,!1),d(b),l[x.toString()]=!0,h(b,this.getActualValue(x),!0);if(void 0===l[x.toString()]&&1!==x.compare(g)&&(b=i.getAngleByValue(x,!1),d(b),l[x.toString()]=!0,2*Math.PI*e._measurements.innerRadius*(this._getAngleDifference(_,i.getAngleByValue(x,!1,!0))/360)>=r&&h(b,this.getActualValue(x),!0),e._normalizedStartAngle!==e.endAngle&&(b=i.getAngleByValue(g,!1),d(b),2*Math.PI*e._measurements.innerRadius*(this._getAngleDifference(_,f)/360)>=r&&h(b,e.max,!1))),"date"!==e.mode){if(e.logarithmicScale)this.drawGaugeLogarithmicScaleMinorTicks(l,a,p);else for(let t=S;-1===t.compare(g);t=t.add(n))l[t.toString()]||p(t);JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=t}else JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=t}updateToolTipAndValue(t,e,i){const r=this.context,a=r.logarithmicScale;r._updateTooltipValue(t.toString()),a&&(t=parseFloat(Math.pow(10,parseFloat(t)).toFixed(11)));const n=(t=t instanceof JQX.Utilities.BigNumber?t:new JQX.Utilities.BigNumber(t)).toString();r._number=t,r._drawValue=a?Math.log10(n):t,0!==t.compare(e)&&i&&("numeric"===r.mode?(r.value=n,t=n):(e=r._valueDate,r._valueDate=JQX.Utilities.DateTime.fromFullTimeStamp(n),r.value=t,t=r._valueDate),r._programmaticValueIsSet||r.$.fireEvent("change",{value:t,oldValue:e}),r.$.hiddenInput&&(r.$.hiddenInput.value=t),r._setAriaValue("valuenow"))}validateInterval(t){const e=this.context,i=e._maxObject.subtract(e._minObject);e._validInterval=new JQX.Utilities.BigNumber(t),e._validInterval=this.round(e._validInterval),e._validInterval.compare(0)<=0&&(e._validInterval=new JQX.Utilities.BigNumber(1)),1===e._validInterval.compare(i)&&(e._validInterval=i),e.interval=e._validInterval.toString()}getCoercedValue(t,e,i){const r=this.context;if(!r.coerce)return t;const a=!r.logarithmicScale;let n,l;if(t=t instanceof JQX.Utilities.BigNumber?t:new JQX.Utilities.BigNumber(t),r.customInterval){const e=r.customTicks;if(0===e.length)return t;let l,o;if(a||i){n=r._minObject,l=n.subtract(t).abs(),o=n;for(let i=0;i<e.length;i++){const r=this.createDescriptor(e[i]),a=r.subtract(t).abs();-1===a.compare(l)&&(l=a,o=r)}}else{n=r._drawMin,l=Math.abs(n-parseFloat(t.toString())),o=n;for(let i=0;i<e.length;i++){const r=Math.log10(e[i]),a=Math.abs(r-t);a<l&&(l=a,o=r)}o=new JQX.Utilities.BigNumber(o)}return o}let o=r._validInterval;if("date"===r.mode){if("addYears"===r._dateIncrementMethod)return this.coerceYear(t);if("addMonths"===r._dateIncrementMethod)return this.coerceMonth(t);o=new JQX.Utilities.BigNumber(r._dateIntervalNumber).multiply(o)}!1!==e?(n=new JQX.Utilities.BigNumber(r._drawMin),l=new JQX.Utilities.BigNumber(r._drawMax)):(n=new JQX.Utilities.BigNumber(r.min),l=new JQX.Utilities.BigNumber(r.max));let s=t.subtract(n),c=s.mod(o);if(0===c.compare(0))return t;let m=s.subtract(c),u=m.add(o);if(s.subtract(m).abs().compare(s.subtract(u).abs())<0)return m.add(n);{const t=u.add(n);return t.compare(l)<=0?t:m.add(n)}}coerceMonth(t){const e=this.context,i=parseFloat(e._validInterval),r=JQX.Utilities.DateTime.fromFullTimeStamp(t),a=r.year(),n=r.month(),l=r.day(),o=e._minDate.year(),s=e._minDate.month(),c=12*(e._maxDate.year()-o-1)+12-s+e._maxDate.month();let m=12*(a-1-o)+(12-s)+n;1===i&&(-1!==[1,3,5,7,8,10,12].indexOf(n)?(l>16||16===l&&r.hour()>11)&&m++:2===n?r.isLeapYear(a)?(l>15||15===l&&r.hour()>11)&&m++:l>14&&m++:l>15&&m++),m=this.getCoercedTimePart(0,c,m,i);let u=e._minDate.addMonths(m,!0);return 1===u.compare(e._maxDate)&&(u=e._minDate.addMonths(m-i,!0)),e._drawValue=new JQX.Utilities.BigNumber(u.getTimeStamp()),e._drawValue}coerceYear(t){const e=this.context,i=parseFloat(e._validInterval),r=JQX.Utilities.DateTime.fromFullTimeStamp(t),a=e._maxDate.year(),n=JQX.Utilities.DateTime.getConstructorParameters(e._minDate);let l=r.year();r.month()>6&&l++;let o=this.getCoercedTimePart(e._minDate.year(),a,l,i);o>a&&(o-=i),n[0]=o,n.unshift(null);const s=new(Function.prototype.bind.apply(JQX.Utilities.DateTime,n));return e._drawValue=new JQX.Utilities.BigNumber(s.getTimeStamp()),e._drawValue}getCoercedTimePart(t,e,i,r){let a=i-t,n=a%r;if(0===n)return i;let l=parseFloat((a-n).toFixed(12)),o=l+r;if(e-t<=r)return i>=t+(e-t)/2?e:t;if(Math.abs(a-l)<Math.abs(a-o))return l+t;{const i=o+t;return i>e?l+t:i}}updateValue(t){const e=this.context;t=t instanceof JQX.Utilities.BigNumber?t:new JQX.Utilities.BigNumber(t);const i=this.validate(t,e._minObject,e._maxObject);let r,a,n=e.value;e._number=i,e._drawValue=e.logarithmicScale?Math.log10(i):i,"numeric"===e.mode?(r=t.toString(),e.value=r,a=this.compare(t,n)):(n=JQX.Utilities.DateTime.fromFullTimeStamp(n),e._valueDate=JQX.Utilities.DateTime.fromFullTimeStamp(t),e.value=t,r=t=e._valueDate,a=0!==t.compare(n)),e._programmaticValueIsSet||!a&&!e._scaleTypeChangedFlag||e.$.fireEvent("change",{value:r,oldValue:n}),e.$.hiddenInput&&(e.$.hiddenInput.value=t),e._setAriaValue("valuenow"),e._moveThumbBasedOnValue(e._drawValue)}getValuePerPx(t,e){const i=JQX.Utilities.BigNumber.ignoreBigIntNativeSupport;JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=!0;const r=new JQX.Utilities.BigNumber(t).divide(e);return JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=i,r}restrictValue(t){t[1].constructor===JQX.Utilities.BigNumber?-1===t[1].compare(t[0])&&t[1].set(t[0]):t[1]<t[0]&&(t[1]=t[0])}getAngleByValue(t,e,i){const r=this.context,a=JQX.Utilities.BigNumber.ignoreBigIntNativeSupport;if(JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=!0,r._wordLengthNumber<64)return JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=a,super.getAngleByValue(parseFloat(t.toString()),e,i);t instanceof JQX.Utilities.BigNumber==0&&(t=new JQX.Utilities.BigNumber(t)),!1!==e&&r.logarithmicScale&&(t=new JQX.Utilities.BigNumber(Math.log10(t.toString())));const n=t.subtract(r._drawMin).multiply(r._angleRangeCoefficient);let l;return l=void 0===r.inverted||!r.inverted&&!r.rightToLeft||r.rightToLeft&&r.inverted?n.multiply(-1).add(r.endAngle):n.add(r.startAngle),l=parseFloat(l.toString()),JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=a,i?l:l*Math.PI/180+Math.PI/2}getValueByAngle(t){const e=this.context;if(e._wordLengthNumber<64)return super.getValueByAngle(t,!0);const i=JQX.Utilities.BigNumber.ignoreBigIntNativeSupport;let r,a,n,l;for(JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=!0,void 0===e.inverted||!e.inverted&&!e.rightToLeft||e.rightToLeft&&e.inverted?(r=e.endAngle,a=t):(r=t,a=e._normalizedStartAngle);r<a;)r+=360;return n=new JQX.Utilities.BigNumber((r-a)/e._angleDifference).multiply(e._range).add(e._drawMin),e.logarithmicScale&&(n=new JQX.Utilities.BigNumber(Math.pow(10,n.toString()))),l=e.coerce?this.getCoercedValue(n,!1):this.round(n),JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=i,new JQX.Utilities.BigNumber(l)}updateGaugeValue(t){if(t instanceof JQX.Utilities.BigNumber==0)return super.updateGaugeValue(t);const e=this.context,i=e._getEventValue();"numeric"===e.mode?(e.value=t.toString(),e.$.digitalDisplay.value=e.value):(e._valueDate=JQX.Utilities.DateTime.fromFullTimeStamp(t),e.value=t),e._drawValue=e.logarithmicScale?Math.log10(e.value).toString():e.value,e._number=t,e.$.fireEvent("change",{value:e._getEventValue(),oldValue:i}),e._setAriaValue("valuenow")}validateColorRange(t){const e=this.context;if(e._wordLengthNumber<64)return super.validateColorRange(t);t="numeric"===e.mode?new JQX.Utilities.BigNumber(t):(t=JQX.Utilities.DateTime.validateDate(t)).getTimeStamp();const i=new JQX.Utilities.BigNumber(e.min),r=new JQX.Utilities.BigNumber(e.max);return-1===t.compare(i)&&(t=i),1===t.compare(r)&&(t=r),t}lockRotation(t,e){const i=this.context;if(e instanceof JQX.Utilities.BigNumber==0&&(e=new JQX.Utilities.BigNumber(e)),t&&-1===e.compare(i._number)){if(i._lockCW=!0,-1===e.compare(i._maxObject))return new JQX.Utilities.BigNumber(i._maxObject)}else if(!t&&1===e.compare(i._number)&&(i._lockCCW=!0,1===e.compare(i._minObject)))return new JQX.Utilities.BigNumber(i._minObject)}getAngleRangeCoefficient(){const t=this.context,e=JQX.Utilities.BigNumber.ignoreBigIntNativeSupport;JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=!0,t._angleRangeCoefficient=new JQX.Utilities.BigNumber(t._angleDifference).divide(t._range),JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=e}}),JQX.Utilities.Assign("DecimalNumericProcessor",class extends JQX.Utilities.BaseNumericProcessor{constructor(t,e){super(t,e),this.context=t}getPreciseModulo(t,e,i){const r=t>=0?1:-1;if(t=Math.abs(t),e=Math.abs(e),void 0===i){const i=t.toExponential(),a=e.toExponential(),n=parseInt(i.slice(i.indexOf("e")+1),10),l=parseInt(a.slice(a.indexOf("e")+1),10),o=n<0?Math.abs(n):0,s=l<0?Math.abs(l):0,c=Math.max(o,s);if(this.roundCoefficient=c,t<e)return r*t;if(t===e)return 0;if((t<-1||t>1)&&(e<-1||e>1||1===e)){if(t%1==0&&e%1==0)return r*(t%e);{const i=JQX.Utilities.BigNumber.ignoreBigIntNativeSupport;JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=!0;const a=r*parseFloat(new JQX.Utilities.BigNumber(t).mod(e).toString());return JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=i,a}}const m=Math.pow(10,c);return r*(t*m%(e*m)/m)}return r*(Math.round(t*i)%Math.round(e*i))}createDescriptor(t,e,i,r){let a=parseFloat(t);return r&&(a=this.validate(a,this.context._minObject,this.context._maxObject)),a}round(t){return Math.round(t)}validate(t,e,i){let r;return r=t<e?e:t>i?i:t,r}validateMinMax(t,e){const i=this.context,r=void 0!==i._regexSpecial&&i._regexSpecial.inf.test(i.min),a=void 0!==i._regexSpecial&&i._regexSpecial.inf.test(i.max);t&&(null===i.min||r?(i.min=-1/0,i._minObject=-1/0):(i.min=i.min.toString().replace(/\s/g,""),this.regexScientificNotation.test(i.min)&&(i.min=this.scientificToDecimal(i.min)),i._minObject=i._discardDecimalSeparator(i.min))),e&&(null===i.max||a?(i.max=1/0,i._maxObject=1/0):(i.max=i.max.toString().replace(/\s/g,""),this.regexScientificNotation.test(i.max)&&(i.max=this.scientificToDecimal(i.max)),i._maxObject=i._discardDecimalSeparator(i.max))),this.compare(i._minObject,i._maxObject)||(i._maxObject=parseFloat(i._maxObject)+1,i.max=i._maxObject)}valueToPx(t){const e=this.context,i=e._measurements.trackLength/e._range;let r;return r=e._normalLayout?i*(t-e._drawMin):i*(e._drawMax-t),Math.round(r)}pxToValue(t){const e=this.context;let i;if(i=e._normalLayout?(t-e._trackStart)*e._valuePerPx:(e._trackEnd-t)*e._valuePerPx,e.logarithmicScale){const t=i+parseFloat(e._drawMin);return Math.pow(10,t)}return this.validate(i+e._minObject,e._minObject,e._maxObject)}compare(t,e,i){return t=parseFloat(t),e=parseFloat(e),!0!==i?t!==e:t<e?-1:t>e?1:0}incrementDecrement(t,e,i){const r=this.context;let a;if("add"===e){if(a=parseFloat(t)+parseFloat(i),void 0!==r._drawMax)return a>parseFloat(r._drawMax)?r._drawMax:a}else if(a=parseFloat(t)-parseFloat(i),void 0!==r._drawMin)return a<parseFloat(r._drawMin)?r._drawMin:a;return a}render(t){const e=this.context;if(void 0!==e._regexSpecial&&e._regexSpecial.nonNumericValue.test(t))return t;{const i=new JQX.Utilities.NumberRenderer(t);return e.scientificNotation?i.toScientific(e.significantDigits,e.precisionDigits):i.toDigits(e.significantDigits,e.precisionDigits)}}addTicksAndLabels(){const t=this.context,e=t._measurements.trackLength,i=t._normalLayout,r=t._majorTicksInterval,a=Math.round(t._range/parseFloat(r.toString())),n=e/a,l=parseFloat(t._drawMin),o=parseFloat(t._drawMax);let s,c,m,u,g,d,p,h,b,f="",_="";t._tickValues=[],this._longestLabelSize=0,i?(s=l,c=t.logarithmicScale&&l<0&&-1!==l?parseFloat(s-this.getPreciseModulo(s,r)):parseFloat(s-this.getPreciseModulo(s,r)+parseFloat(r)),m=c-s,g=t._formatLabel(l),d=t._tickIntervalHandler.labelsSize.minLabelSize,u=o,p=t._formatLabel(o),h=t._tickIntervalHandler.labelsSize.maxLabelSize):(s=o,c=parseFloat(s-this.getPreciseModulo(s,r)),m=s-c,g=t._formatLabel(o),d=t._tickIntervalHandler.labelsSize.maxLabelSize,u=l,p=t._formatLabel(l),h=t._tickIntervalHandler.labelsSize.minLabelSize),t._labelDummy=this._createMeasureLabel(),b=this._addMajorTickAndLabel(g,d,!0,s),f+=b.tick,_+=b.label;const S=m/r*n;if(c.toString()!==t._drawMax.toString()&&S<e){const e=t._formatLabel(c.toString()),i=d<S;b=this._addMajorTickAndLabel(e,void 0,i,c,!0),f+=b.tick,_+=b.label}b=this.addMiddleMajorTicks(a,n,S,m,i,r),f+=b.tick,_+=b.label,b=this._addMajorTickAndLabel(p,h,!0,u),f+=b.tick,_+=b.label,f+=this.addMinorTicks(i),t._measureLabelScale.removeChild(t._labelDummy),delete t._labelDummy,delete t._measureLabelScale,"jqx-tank"===t.nodeName.toLowerCase()&&t._updateScaleWidth(this._longestLabelSize),t._appendTicksAndLabelsToScales(f,_)}addMiddleMajorTicks(t,e,i,r,a,n){const l=this.context;let o="",s="";for(let c=1;c<t;c++){let m,u=c*e+i;if(m=a?parseFloat(l._drawMin)+n*c+r:parseFloat(l._drawMax)-n*c-r,m.toString()!==l._drawMax.toString()){let i=l._formatLabel(m.toString()),r=!0;l._labelDummy.innerHTML=i,u+l._labelDummy[l._settings.size]>=t*e&&(r=!1);const a=this._addMajorTickAndLabel(i,void 0,r,m,!0);o+=a.tick,s+=a.label}}return{tick:o,label:s}}addMinorTicks(t){function e(t){return parseFloat(t.toFixed(o))}function i(t){-1===a.indexOf(t)&&0===r._numericProcessor.getPreciseModulo(t,l,s)&&(d+='<div style="'+c+": "+r._numericProcessor.valueToPx(t)+'px;" class="jqx-tick jqx-tick-minor"></div>')}const r=this.context,a=r._tickValues,n=r._tickIntervalHandler.nearestPowerOfTen,l=r._minorTicksInterval,o=Math.log10(n)<0?Math.round(Math.abs(Math.log10(n))):0,s=Math.pow(10,o),c=r._settings.leftOrTop;let m,u,g,d="";if(t?(m=a[0],u=a[1],g=a[a.length-1]):(m=a[a.length-1],u=a[a.length-2],g=a[0]),r.logarithmicScale)!function(){let t=r._measurements.trackLength/a.length,e=.1;t<20?e=1:t>=20&&t<40?e=u-m>1?1:.5:t>=40&&t<80&&(e=.2);let i=Math.floor(r._drawMax),n=r._drawMax-i,l=r._drawMax-r._drawMin>a.length;for(let t=r._drawMax;t>r._drawMin-1;t-=1){let i=n>0?Math.pow(10,t-n+1):Math.pow(10,t),a=i*e;for(let t=i;t>0;t-=a)if(t<r.max&&t>r.min){let e=new JQX.Utilities.BigNumber(Math.log10(t));(e%1==0&&l||!l)&&(d+='<div style="'+c+": "+r._numericProcessor.valueToPx(e)+'px;" class="jqx-tick jqx-tick-minor"></div>')}}}();else{for(let t=u;t>m;t=e(t-n))i(t);for(let t=e(u+n);t<g;t=e(t+n))i(t)}return d}validateCustomTicks(){const t=this.context;let e=[];for(let i=0;i<t.customTicks.length;i++){const r=t.customTicks[i],a=this.createDescriptor(r);a>=t._minObject&&a<=t._maxObject&&e.push(a.toString())}e.sort((function(t,e){return t-e})),e=e.filter((function(t,e,i){return!e||t!==i[e-1]})),t.customTicks=e.slice(0)}addGaugeTicksAndLabels(){const t=this.context,e=this,i=Math.max(t._tickIntervalHandler.labelsSize.minLabelSize,t._tickIntervalHandler.labelsSize.maxLabelSize),r=t._majorTicksInterval,a=t._minorTicksInterval,n={},l=t._distance,o=t._measurements.radius,s=o-l.majorTickDistance,c=o-l.minorTickDistance;let m,u,g,d,p,h;"none"!==t.ticksVisibility&&!1!==t._plotTicks?(m=function(e){t._drawTick(e,s,"major")},u=function(i){t._drawTick(e.getAngleByValue(i,!0),c,"minor")}):(m=function(){},u=function(){}),g="none"!==t.labelsVisibility&&!1!==t._plotLabels?function(e,i,r){t._drawLabel(e,i,l.labelDistance,r)}:function(){},void 0===t.inverted||!t.inverted&&!t.rightToLeft||t.rightToLeft&&t.inverted?(p=t.endAngle,h=t.startAngle):(p=t.startAngle,h=t.endAngle),d=e.getAngleByValue(t._drawMin,!1),m(d),n[t._drawMin]=!0,g(d,t.min,!1);let b,f,_=t._drawMin-e.getPreciseModulo(t._drawMin,r);t._drawMin>=0&&(_+=r);for(let e=_;e>=t._drawMin;e-=a)b=e;for(d=e.getAngleByValue(_,!1),m(d),n[_]=!0,2*Math.PI*t._measurements.innerRadius*(this._getAngleDifference(p,e.getAngleByValue(_,!1,!0))/360)>i&&g(d,this.getActualValue(_),_<t._drawMax),f=_+r;f<t._drawMax-r;f+=r)d=e.getAngleByValue(f,!1),m(d),n[f]=!0,g(d,this.getActualValue(f),!0);if(void 0===n[f]&&f<=t._drawMax&&(d=e.getAngleByValue(f,!1),m(d),n[f]=!0,2*Math.PI*t._measurements.innerRadius*(this._getAngleDifference(h,e.getAngleByValue(f,!1,!0))/360)>=i&&g(d,this.getActualValue(f),!0),t._normalizedStartAngle!==t.endAngle&&(d=e.getAngleByValue(t._drawMax,!1),m(d),n[t._drawMax]=!0,2*Math.PI*t._measurements.innerRadius*(this._getAngleDifference(h,p)/360)>=i&&g(d,t.max,!1))),t.logarithmicScale)this.drawGaugeLogarithmicScaleMinorTicks(n,r,u);else for(let e=b;e<t._drawMax;e+=a)n[e]||u(e)}updateToolTipAndValue(t,e,i){const r=this.context,a=r.logarithmicScale;r._updateTooltipValue(t),a&&(t=parseFloat(Math.pow(10,parseFloat(t)).toFixed(11)));const n=t.toString();r._number=t,r._drawValue=a?Math.log10(n):t,n!==e&&i&&(r.value=r._discardDecimalSeparator(n),r._programmaticValueIsSet||r.$.fireEvent("change",{value:r.value,oldValue:e}),r.$.hiddenInput&&(r.$.hiddenInput.value=r.value),r._setAriaValue("valuenow"))}validateInterval(t){const e=this.context,i=e._maxObject-e._minObject;t<=0&&(t=1),e._validInterval=Math.min(parseFloat(t),i),e.interval=e._validInterval}getCoercedValue(t,e,i){const r=this.context;if(!r.coerce)return t;let a,n,l=!r.logarithmicScale;if(r.customInterval){const n=r.customTicks;if(0===n.length)return t;l=l||i,a=!1!==e?parseFloat(r._drawMin):r._minObject;let o=Math.abs(a-t),s=a;for(let e=0;e<n.length;e++){const i=this.createDescriptor(n[e]),r=l?i:Math.log10(i),a=Math.abs(r-t);a<o&&(o=a,s=r)}return s}!1!==e?(a=parseFloat(r._drawMin),n=parseFloat(r._drawMax)):(a=parseFloat(r.min),n=parseFloat(r.max));let o=t-a,s=this.getPreciseModulo(o,parseFloat(r.interval)),c=this.roundCoefficient;if(0===s)return t;0===this.roundCoefficient&&(c=12);let m=parseFloat((o-s).toFixed(c)),u=m+parseFloat(r.interval);if(r.max-r.min<=parseFloat(r.interval)&&l){let e=a,i=n;return t>=e+(i-e)/2?i:e}if(Math.abs(o-m)<Math.abs(o-u))return m+a;{const t=u+a;return t>n?m+a:t}}updateValue(t){const e=this.context,i=this.validate(t,e._minObject,e._maxObject),r=e.value;t.toString()!==r.toString()||e._scaleTypeChangedFlag?(e.value=t.toString(),e._number=i,e._programmaticValueIsSet||e.$.fireEvent("change",{value:e.value,oldValue:r})):e.value="string"==typeof t?t:t.toString(),e._drawValue=e.logarithmicScale?Math.log10(i).toString():i.toString(),e._moveThumbBasedOnValue(e._drawValue),e.$.hiddenInput&&(e.$.hiddenInput.value=e.value),e._setAriaValue("valuenow")}getValuePerPx(t,e){return parseFloat(t)/e}restrictValue(t){t[1]<t[0]&&(t[1]=t[0])}lockRotation(t,e){const i=this.context;if(t&&e<i._number){if(i._lockCW=!0,e<i._maxObject)return i._maxObject}else if(!t&&e>i._number&&(i._lockCCW=!0,e>i._minObject))return i._minObject}getAngleRangeCoefficient(){const t=this.context;t._angleRangeCoefficient=t._angleDifference/t._range}}),JQX.Utilities.Assign("ComplexNumericProcessor",class extends JQX.Utilities.BaseNumericProcessor{constructor(t,e){super(t,e),this.context=t}createDescriptor(t,e,i,r,a,n){let l;return l=n||(t.constructor===this.complexConstructor?new this.complexConstructor(t.realPart,t.imaginaryPart):new this.complexConstructor(t)),r&&(l=this.validate(l,this.context._minObject,this.context._maxObject)),l}validate(t,e,i){let r=t;return e!==-1/0?-1===this.compareComplexNumbers(t,e)&&(r=new this.complexConstructor(e.realPart,e.imaginaryPart)):i!==1/0&&1===this.compareComplexNumbers(t,i)&&(r=new this.complexConstructor(i.realPart,i.imaginaryPart)),r}compare(t,e,i){return!0!==i?0!==this.compareComplexNumbers(t,e):this.compareComplexNumbers(t,e)}validateMinMax(t,e){const i=this.context;t&&(null===i.min||i._regexSpecial.inf.test(i.min)?(i.min=-1/0,i._minObject=-1/0):i._minObject=new this.complexConstructor(i.min)),e&&(null===i.max||i._regexSpecial.inf.test(i.max)?(i.max=1/0,i._maxObject=1/0):i._maxObject=new this.complexConstructor(i.max))}incrementDecrement(t,e){let i=new this.complexConstructor(t.realPart,t.imaginaryPart),r=this.context._spinButtonsStepObject;return"add"===e?(i.realPart+=r.realPart,i.imaginaryPart+=r.imaginaryPart):(i.realPart-=r.realPart,i.imaginaryPart-=r.imaginaryPart),i}render(t){let e=t;if(!1===this.context._regexSpecial.nonNumericValue.test(t)){let t,i=e.realPart,r=e.imaginaryPart,a=this.context.significantDigits,n=this.context.precisionDigits;r>=0?t="+":(t="-",r=Math.abs(r));const l=new JQX.Utilities.NumberRenderer(i),o=new JQX.Utilities.NumberRenderer(r);this.context.scientificNotation?(i=l.toScientific(a,n),r=o.toScientific(a,n)):(i=l.toDigits(a,n),r=o.toDigits(a,n)),e=`${i} ${t} ${r}i`}return e}compareComplexNumbers(t,e){if(t instanceof this.complexConstructor==0||e instanceof this.complexConstructor==0)return-1;const i=t.realPart,r=e.realPart;if(i<r)return-1;if(i>r)return 1;{const i=t.imaginaryPart,r=e.imaginaryPart;return i<r?-1:i>r?1:0}}}),JQX.Utilities.Assign("NumberRenderer",class{constructor(t){const e=this;e.numericValue=t,e.powersToPrefixes={24:"Y",21:"Z",18:"E",15:"P",12:"T",9:"G",6:"M",3:"k",0:"","-3":"m","-6":"u","-9":"n","-12":"p","-15":"f","-18":"a","-21":"z","-24":"y"},e.localizationObject={currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:",",defaultPrecision:2}}isENotation(t){return new RegExp(/e/i).test(t)}largeExponentialToDecimal(t){let e;void 0===t&&(t=this.numericValue,e=!0);let i=t.toString().toLowerCase(),r=i.indexOf("e"),a=new JQX.Utilities.BigNumber(i.slice(0,r)),n=i.slice(r+1,r+2);"+"!==n&&"-"!==n&&(i=i.slice(0,r)+"e+"+i.slice(r+1),n="+");let l=i.slice(r+2),o=new JQX.Utilities.BigNumber(10).pow(n+(e?Math.min(20,l):l));return a.multiply(o).toString()}bigNumberToExponent(t,e){let i=this.numericValue;i.constructor!==JQX.Utilities.BigNumber&&(i=new JQX.Utilities.BigNumber(i));const r=i._f;let a=i.toString();if(r<=10)return e?parseFloat(a).toExponential(null!==t?t-1:void 0):new JQX.Utilities.NumberRenderer(parseFloat(a)).toDigits(t);if(t>=r&&!e)return a;{let n;!1===i._s?n="":(n="-",a=a.slice(1)),parseFloat(a.slice(t,t+1))>=5&&(a=new JQX.Utilities.BigNumber(a.slice(0,t)).add(1).toString());let l=a.slice(1,t);if(e)t--,l.length>0&&t>l.length?l+="0".repeat(t-l.length):0===l.length&&(l="0".repeat(t));else for(;l.length>0&&"0"===l.charAt(l.length-1);)l=l.slice(0,l.length-1);const o=l.length>0?".":"",s=r-1;return n+a.slice(0,1)+o+l+"E+"+s}}toScientific(){const t=this;let e;if(e=t.numericValue._d?t.bigNumberToExponent(null!==arguments[0]?arguments[0]:arguments[1]+1,!0).toLowerCase():t.numericValue<=-1||t.numericValue>=1?Number(t.toDigits(arguments[0],arguments[1])).toExponential():Number(t.numericValue).toExponential(),isNaN(e))return e;const i=e.indexOf("e");let r=parseInt(e.slice(i+1),10),a=parseFloat(e.slice(0,i)),n=new JQX.Utilities.NumberRenderer(a);if(r<0){let e=n.toDigits(arguments[0],arguments[1]);if(e=parseFloat(e).toExponential(),"0"===e.charAt(e.length-1)){let e=0;for(;r%3!=0;)r--,e++;if(e){const t=JQX.Utilities.BigNumber.ignoreBigIntNativeSupport;JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=!0,a=parseFloat(new JQX.Utilities.BigNumber(a).multiply(Math.pow(10,e)).toString()),JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=t}n.numericValue=a,a=n.toDigits(arguments[0],arguments[1]),n.numericValue=a/1e3;const i=n.toDigits(arguments[0],arguments[1]);return i>=1&&(a=i,r+=3),a+t.powersToPrefixes[r.toString()]}}let l=0;if(l=Math.abs(r)>24?r-r/Math.abs(r)*24:r%3,l>0)for(let t=0;t<l;t++)a*=10;else if(l<0){const t=JQX.Utilities.BigNumber.ignoreBigIntNativeSupport;JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=!0,a=parseFloat(new JQX.Utilities.BigNumber(a).multiply(Math.pow(10,l)).toString()),JQX.Utilities.BigNumber.ignoreBigIntNativeSupport=t}if(r>0){const t=a>=0?0:1,r=e.slice(t,i).length-l-2;r>=0&&(a=a.toFixed(r))}let o=Number(a).toExponential();o=parseFloat(o.charAt(o.length-1)),n.numericValue=a,a=n.toDigits(arguments[0],arguments[1]);let s=Number(a).toExponential(),c=0;s=parseFloat(s.charAt(s.length-1)),s!==o&&s%3==0&&(a=parseFloat(a)/Math.pow(10,s),n.numericValue=a,a=n.toDigits(arguments[0],arguments[1]),c=s);const m=r-l+c;return a+t.powersToPrefixes[m.toString()]}bigNumberToScientific(){const t=this,e=t.numericValue._f-1,i=parseInt(e,10)%3,r=parseInt(e,10)-i;let a,n,l=t.numericValue.toString();if("-"===l.charAt(0)?(a="-",l=l.slice(1)):a="",null!==arguments[0])for(n=l.slice(0,arguments[0]),parseFloat(l.slice(arguments[0],arguments[0]+1))>=5&&(n=new JQX.Utilities.BigNumber(n).add(1).toString());n.length>1+i&&"0"===n.charAt(n.length-1);)n=n.slice(0,n.length-1);else null!==arguments[1]&&(n=l.slice(0,arguments[1]+1),parseFloat(l.slice(arguments[1]+1,arguments[1]+2))>=5&&(n=new JQX.Utilities.BigNumber(n).add(1).toString()),arguments[1]+i>n.length-1&&(n+="0".repeat(arguments[1]+i-n.length+1)));return n.length>1+i&&(n=n.slice(0,1+i)+"."+n.slice(1+i)),a+n+t.powersToPrefixes[r.toString()]}toDigits(t,e){const i=this;let r;return r=null!==t?i.applySignificantDigits(t):null!==e?i.applyPrecisionDigits(e):i.applySignificantDigits(8),r}applySignificantDigits(t){const e=this;function i(t){for(;"0"===t.charAt(t.length-1);)t=t.slice(0,-1);return"."===t.charAt(t.length-1)&&(t=t.slice(0,-1)),t}t=Math.max(1,Math.min(t,21));let r=parseFloat(e.numericValue).toPrecision(t).toUpperCase();if(-1!==r.indexOf("."))if(e.isENotation(r)){const t=r.indexOf("."),e=r.indexOf("E");let a=r.slice(t,e);a=i(a),r=r.slice(0,t)+a+r.slice(e)}else r=i(r);return r}applyPrecisionDigits(t){const e=this;t=Math.max(0,Math.min(t,20));let i=parseFloat(e.numericValue).toFixed(t);return e.isENotation(i)&&(i=e.largeExponentialToDecimal(i)+"."+"0".repeat(t)),i}getLogarithm(t){const e=this.numericValue;let i;if(void 0===t&&(t=10),10===t)try{i=Math.log10(e)}catch(t){i=Math.log(e)/Math.log(10)}else i=Math.log(e)/Math.log(t);return i}applySeparators(t,e){const i=this,r=(t=t.toString()).indexOf(".");if(-1!==r){const a=t.slice(0,r),n=t.slice(r+1);return i.applyThousandsSeparator(a,e)+i.localizationObject.decimalseparator+n}return i.applyThousandsSeparator(t,e)}applyThousandsSeparator(t,e){if(e)return t;let i="";"-"===(t=t.toString()).charAt(0)&&(i="-",t=t.slice(1));let r=t.split("").reverse();for(let t=2;t<r.length-1;t+=3)r[t]=this.localizationObject.thousandsseparator+r[t];return r.reverse(),r=r.join(""),i+r}formatNumber(t,e,i){const r=this;if(void 0===arguments[3]&&delete r._ignoreMinus,delete r._wordLengthNumber,!/^([a-zA-Z]\d*)$/g.test(e))try{return r.applyCustomFormat(t,e)}catch(e){return t.toString()}const a=e.slice(0,1);let n=e.slice(1);if(""!==n&&(isNaN(parseFloat(n))||parseFloat(n)<0||parseFloat(n)>99?n="":parseFloat(n)%1!=0&&(n=Math.round(n))),t._d)r.inputFormat="integer";else{if(t.imaginaryPart)return r.formatComplexNumber(t,e,a,n);r.inputFormat="floatingPoint"}let l,o=new JQX.Utilities.NumericProcessor(r,"inputFormat"),s=o.createDescriptor(t);switch(r._wordLengthNumber=o.getWordLength(i||"int32"),"integer"===r.inputFormat&&(s=o.round(s)),r.numericValue=s,a){case"C":case"c":return""===n&&(n=r.localizationObject.defaultPrecision),n=parseFloat(n),l="floatingPoint"===r.inputFormat?r.applyPrecisionDigits(n):s.toString()+(n>0?"."+"0".repeat(n):""),l=r.applySeparators(l),"before"===r.localizationObject.currencysymbolposition?"-"===l.charAt(0)?"-"+r.localizationObject.currencysymbol+l.slice(1):r.localizationObject.currencysymbol+l:l+" "+r.localizationObject.currencysymbol;case"D":case"d":{if(l=s,"floatingPoint"===r.inputFormat&&(l=Math.round(s)),l=l.toString(),""===n)return l;let t="";"-"===l.charAt(0)&&(t="-",l=l.slice(1));const e=n-l.length;return e>0&&(l="0".repeat(e)+l),t+l}case"E":case"e":case"U":case"u":{""===n&&(n=6),l="floatingPoint"===r.inputFormat?s.toExponential(n):r.bigNumberToExponent(parseFloat(n)+1,!0).toLowerCase();const t=l.indexOf("e"),e=l.slice(t+2).length;return e<3&&(l=l.slice(0,t+2)+"0".repeat(3-e)+l.slice(t+2)),"u"===a.toLowerCase()?r.exponentialToSuperscript(r.applySeparators(l,!0)):("E"===a&&(l=l.toUpperCase()),r.applySeparators(l,!0))}case"F":case"f":case"N":case"n":return""===n&&(n=r.localizationObject.defaultPrecision),n=parseFloat(n),l="floatingPoint"===r.inputFormat?r.applyPrecisionDigits(n):s.toString()+(n>0?"."+"0".repeat(n):""),r.applySeparators(l,"f"===a.toLowerCase());case"G":case"g":{if(""===n||"0"===n)if("floatingPoint"===r.inputFormat)n=15;else switch(i){case"int8":case"uint8":n=3;break;case"int16":case"uint16":n=5;break;case"int64":n=19;break;case"uint64":n=20;break;default:n=10}n=parseFloat(n);let e=r.formatNumber(t,"E"+n,i),l=e.indexOf("E");const o=parseInt(e.slice(l+1),10);if(o>-5&&o<n)return"floatingPoint"===r.inputFormat?r.applySeparators(r.applySignificantDigits(n),!0):s.toString();if(o>-100&&o<100&&(e=e.slice(0,l+2)+e.slice(l+3)),-1!==e.indexOf(r.localizationObject.decimalseparator)){for(;"0"===e.charAt(l-1);)e=e.slice(0,l-1)+e.slice(l),l=e.indexOf("E");e.charAt(l-1)===r.localizationObject.decimalseparator&&(e=e.slice(0,l-1)+e.slice(l))}return"g"===a&&(e=e.toLowerCase()),e}case"P":case"p":return""===n&&(n=r.localizationObject.defaultPrecision),n=parseFloat(n),"floatingPoint"===r.inputFormat?(r.numericValue=100*s,l=r.applyPrecisionDigits(n)):l=s.multiply(100).toString()+(n>0?"."+"0".repeat(n):""),r.applySeparators(l)+" %";case"B":case"b":case"O":case"o":case"X":case"x":{let e;switch("integer"!==r.inputFormat&&(r.inputFormat="integer",o=new JQX.Utilities.NumericProcessor(r,"inputFormat"),s=o.round(o.createDescriptor(t))),a){case"B":case"b":e=2;break;case"O":case"o":e=8;break;default:e=16}if(l=s.toString(e,r._wordLengthNumber),""!==n){const t=parseFloat(n)-l.length;t>0&&(l="0".repeat(t)+l)}return"x"===a&&(l=l.toLowerCase()),l}case"S":case"s":return""===n&&(n=r.localizationObject.defaultPrecision),n=parseFloat(n),r.toScientific(null,n).replace(".",r.localizationObject.decimalseparator);default:return t.toString()}}formatComplexNumber(t,e,i){const r=this;switch(i){case"E":case"e":case"U":case"u":case"F":case"f":case"G":case"g":case"N":case"n":case"S":case"s":return t.imaginaryPart>=0?r.formatNumber(t.realPart,e)+" + "+r.formatNumber(t.imaginaryPart,e)+"i":r.formatNumber(t.realPart,e)+" - "+r.formatNumber(Math.abs(t.imaginaryPart),e)+"i";default:return t.toString()}}toString(t,e,i){return e?this.formatNumber(t,e,i):t.toString()}applyCustomFormat(t,e){const i=this,r=(e=(e=e.replace(/_.|\[\w*\]|\*/g,"")).replace(/\?/g,"#")).split(";");if("string"==typeof t&&isNaN(t))return r[r.length-1].replace(/"/g,"").replace(/@/g,t.toString());if(t._d)i.inputFormat="integer";else{if(t.imaginaryPart)return t.toString();t=parseFloat(t),i.inputFormat="floatingPoint"}let a=new JQX.Utilities.NumericProcessor(i,"inputFormat"),n=a.createDescriptor(t);"integer"===i.inputFormat&&(n=a.round(n)),i.numericProcessor=a;const l=i.getRelevantFormatSection(r,n);if(void 0===l)return t.toString();if(-1!==l.indexOf("@"))return r[r.length-1].replace(/"/g,"").replace(/@/g,t.toString());const o=-1!==l.replace(/".*"/g,"").indexOf("%"),s=i.getTextParts(l);if(-1!==s.main.toLowerCase().indexOf("e"))return i.applyCustomExponentialFormat(n,s,a);if(-1!==s.main.indexOf("/"))return i.applyCustomFractionalFormat(n,s,a);if(o&&("integer"===i.inputFormat?n=n.multiply(100):n*=100),""===s.main){if(!o)return s.suffix;let t=n.toString();return i._ignoreMinus&&"-"===t.charAt(0)&&(t=t.slice(1)),t+s.suffix}let c=s.main.replace(/[^0#,. \/]/g,""),m=c.indexOf(".");for(-1!==m&&(c=c.substring(0,m+1)+c.substring(m+1).replace(/\./g,""),"."===c.charAt(c.length-1)&&(c=c.slice(0,c.length-1)),0===m&&(c="#"+c));","===c.charAt(c.length-1);)c=c.slice(0,c.length-1),"floatingPoint"===i.inputFormat?n/=1e3:n=n.multiply(.001);"integer"===i.inputFormat&&(n=a.round(n));const u=-1!==c.indexOf(",");c=c.replace(/,/g,"");const g=c.split("."),d=g[0];let p=g[1],h="";if(1===g.length)return"floatingPoint"===i.inputFormat&&(n=a.round(n)),h=n.toString(),i.setTextParts(i.formatWholeNumber(h,d,u),s);h=n.toString();let b=h.split("."),f=i.formatWholeNumber(b[0],d,u),_=b[1]||"";if(p.length<=_.length&&(h=parseFloat(n.toFixed(p.length)).toString(),b=h.split("."),f=i.formatWholeNumber(b[0],d,u),_=b[1]||"",_))return i.setTextParts(f+i.localizationObject.decimalseparator+_.slice(0,p.length),s);p=p.slice(_.length-p.length);let S=p.lastIndexOf("0");return-1===S?""===_?i.setTextParts(f,s):i.setTextParts(f+i.localizationObject.decimalseparator+_,s):i.setTextParts(f+i.localizationObject.decimalseparator+_+"0".repeat(S+1),s)}getRelevantFormatSection(t,e){const i=this,r=i.numericProcessor.compare(e,0,!0);if(1===r)return t[0];let a,n;return t.length>=3?(i._ignoreMinus=!0,a=1,n=2):2===t.length?(i._ignoreMinus=!0,n=0,a=1):1===t.length&&(n=0,a=0),0===r?t[n]:-1===r?t[a]:void 0}getTextParts(t){const e=t.replace(/"[^"]*"/g,""),i=t.match(/"[^"]*"/g),r=e.search(/0|#|\./g),a=Math.max(e.lastIndexOf("0"),e.lastIndexOf("#"),e.lastIndexOf("."),e.lastIndexOf(",")),n=e.slice(r,a+1);if(""===n)return{prefix:"",main:"",suffix:t.replace(/"/g,"")};let l=t.indexOf(n),o=l+n.length;if(i)for(let e=0;e<i.length;e++){const r=t.indexOf(i[e]);l>=r&&o<=r+i[e].length&&(l=t.indexOf(n,r+i[e].length),o=l+n.length)}return{prefix:t.slice(0,l).replace(/"/g,""),main:n,suffix:t.slice(o).replace(/"/g,"")}}applyCustomExponentialFormat(t,e,i){const r=this;let a,n=e.main;const l=-1!==n.indexOf(",");n=n.replace(/[^0#.eE+-]/g,"");const o=n.toLowerCase().indexOf("e");n=n.substring(0,o+1)+n.substring(o+1).replace(/[eE\.]/g,"");const s=n.charAt(o),c=n.indexOf(".");-1!==c&&(n=n.substring(0,c+1)+n.substring(c+1).replace(/\./g,"")),"."===n.charAt(n.length-1)&&(n=n.slice(0,n.length-1));const m=n.split(s);let u=m[0];const g=u.split("."),d=g[0],p=g[1],h=m[1];let b=t.toString().split(".")[0].replace(/-/,""),f=0;if("0"===b&&i.compare(t,0)){let e=d.length-1;for(;0===parseInt(t);)f++,t*=10;b=t.toString().split(".")[0].replace(/-/,""),f+=e,t*=Math.pow(10,e)}if(l&&(u=u.slice(0,1)+","+u.slice(1)),b.length<=d.length)a=r.formatNumber(t,u,void 0,!0)+s+r.formatExponent(0-f,h);else{const e=b.length-d.length;let n="floatingPoint"===r.inputFormat?t/Math.pow(10,e):t.divide(Math.pow(10,e));p||(a=r.applyThousandsSeparator(i.round(n).toString(),!l)+s+r.formatExponent(e-f,h));let o=n.toString().split(".")[1]||"";o.length===p.length?a=r.applySeparators(n,!l)+s+r.formatExponent(e-f,h):o.length<p.length?a=r.formatNumber(n,u,void 0,!0)+s+r.formatExponent(e-f,h):(n="floatingPoint"===r.inputFormat?n.toFixed(p.length):n=i.round(t.divide(Math.pow(10,e-p.length))).divide(Math.pow(10,p.length)),a=r.formatNumber(parseFloat(n),u,void 0,!0)+s+r.formatExponent(e-f,h))}return r.setTextParts(a,e)}formatExponent(t,e){let i;return-1!==["+","-"].indexOf(e.charAt(0))&&(i=e.charAt(0),(t>0&&"-"===i||t<0&&"+"===i)&&(i=void 0)),t<0&&(t=Math.abs(t),i="-"),e=e.replace(/[+-]/g,""),(i||"")+(t=this.formatNumber(t,e,void 0,!0))}formatWholeNumber(t,e,i){const r=this;let a="";if("-"===t.charAt(0)&&(r._ignoreMinus||(a="-"),t=t.slice(1)),"0"===t){if(e==="#".repeat(e.length))return a;t=""}if(e.length<=t.length)return a+r.applyThousandsSeparator(t,!i);for(let i=(e=e.slice(0,e.length-t.length)).length-1;i>=0;i--)"0"===e.charAt(i)&&(t="0"+t);return a+r.applyThousandsSeparator(t,!i)}setTextParts(t,e){return e.prefix+t+e.suffix}applyCustomFractionalFormat(t,e,i){const r=this,a=/^([0#,]+[ ]+)?([0#,]+\/[0#,]+)$/;let n,l=e.main.trim();if(!a.test(l))return t.toString();const o=a.exec(l);if(o[2]=o[2].replace(/,/g,""),"integer"===r.inputFormat){const i=o[2].split("/");return void 0===o[1]?n=r.formatNumber(t,i[0],void 0,!0)+"/"+r.formatNumber(1,i[1],void 0,!0):(n=r.formatNumber(t,o[1].trim(),void 0,!0),-1!==o[2].indexOf("0")&&(n+=" "+r.formatNumber(0,i[0],void 0,!0)+"/"+r.formatNumber(1,i[1],void 0,!0))),r.setTextParts(n,e)}if(void 0===o[1])n=(t<0?"-":"")+r.formatAsFraction(Math.abs(t),o[2]);else{const e=o[1].trim(),a=o[2];n=r.formatNumber(parseInt(t,10),e,void 0,!0)+" "+r.formatAsFraction(i.getPreciseModulo(Math.abs(t),1),a)}return r.setTextParts(n.trim(),e)}formatAsFraction(t,e){const i=this,r=e.split("/");if(0===t)return-1===e.indexOf("0")?"":i.formatNumber(0,r[0],void 0,!0)+"/"+i.formatNumber(1,r[1],void 0,!0);if(t%1==0)return i.formatNumber(t,r[0],void 0,!0)+"/"+i.formatNumber(1,r[1],void 0,!0);const a=[];i.approximateFractions(t,a);const n=r[1].length>=2?2:1;let l=[],o=[];a.forEach((function(e,i){const r=e.denominator.toString().length,a=Math.abs(t-e.numerator/e.denominator);if(void 0===l[r])return o[r]=i,void(l[r]=a);a<l[r]&&(o[r]=i,l[r]=a)}));let s=o[n]?a[o[n]]:a[o[1]];return i.formatNumber(s.numerator,r[0],void 0,!0)+"/"+i.formatNumber(s.denominator,r[1],void 0,!0)}approximateFractions(t,e){const i=[0,1],r=[1,0],a=this.getMaxNumerator(t);let n,l=t,o=NaN;for(let s=2;s<1e3;s++){const c=Math.floor(l);if(i[s]=c*i[s-1]+i[s-2],Math.abs(i[s])>a)return;if(r[s]=c*r[s-1]+r[s-2],n=i[s]/r[s],n===o)return;if(e.push({numerator:i[s],denominator:r[s]}),n===t)return;o=n,l=1/(l-c)}}getMaxNumerator(t){let e=null,i=t.toString().indexOf("E");-1===i&&(i=t.toString().indexOf("e")),e=-1===i?t.toString():t.toString().substring(0,i);let r=null;const a=e.toString().indexOf(".");-1===a?r=e:0===a?r=e.substring(1,e.length):a<e.length&&(r=e.substring(0,a)+e.substring(a+1,e.length));let n=r;const l=n.toString().length,o=t;let s=o.toString().length;0===o&&(s=0);const c=l-s;for(let t=c;t>0&&n%2==0;t--)n/=2;for(let t=c;t>0&&n%5==0;t--)n/=5;return n}exponentialToSuperscript(t){const e=t.indexOf("e"),i=t.slice(e+1).replace(/0{1,2}/,"");let r=t.slice(0,e+1);return r=r.replace("e","×10"),r+=this.toSuperscript(i),r=r.replace("+",""),r}toSuperscript(t,e){const i="-0123456789",r="⁻⁰¹²³⁴⁵⁶⁷⁸⁹";let a="";for(let n=0;n<t.length;n++)if(!0===e){const e=r.indexOf(t.charAt(n));a+=-1!==e?i[e]:t[n]}else{const e=i.indexOf(t.charAt(n));a+=-1!==e?r[e]:t[n]}return a}});

/***/ }),

/***/ 9362:
/***/ (() => {

JQX("jqx-pager",class extends JQX.BaseElement{static get properties(){return{autoEllipsis:{value:"none",type:"string",allowedValues:["none","before","after","both"]},messages:{value:{en:{firstButton:"First",lastButton:"Last",previousButton:"Previous",nextButton:"Next",navigateToLabel:"Go to:",pageSizeLabel:"Show:",navigateToInputPlaceholder:"",ellipsis:"...",summaryString:"of",summaryPrefix:"of",summarySuffix:""}},type:"object",extend:!0},navigationButtonsPosition:{value:"both",allowedValues:["near","far","both"],type:"string"},navigationInputPosition:{value:"far",allowedValues:["near","far"],type:"string"},pageIndex:{value:0,type:"number"},pageIndexSelectors:{value:0,type:"any"},pagesCount:{value:100,type:"number?"},pageSize:{value:10,type:"number"},pageSizeSelectorPosition:{value:"far",allowedValues:["near","far"],type:"string"},pageSizeSelectorDataSource:{value:[10,25,50],type:"array"},showPrevNextNavigationButtons:{value:!1,type:"boolean"},showFirstLastNavigationButtons:{value:!1,type:"boolean"},showNavigationButtonLabels:{value:!1,type:"boolean"},showNavigationInput:{value:!1,type:"boolean"},showSummary:{value:!1,type:"boolean"},showPageSizeSelector:{value:!1,type:"boolean"},showPageIndexSelectors:{value:!1,type:"boolean"},summaryPosition:{value:"far",allowedValues:["near","far"],type:"string"},totalRecords:{value:null,type:"int?"}}}static get listeners(){return{click:"_navigationButtonsClickHandler","nextEllipsisButton.click":"_nextEllipsisButtonClickHandler","previousEllipsisButton.click":"_previousEllipsisButtonClickHandler",down:"_navigationButtonsDownHandler","navigateToInput.change":"_navigateToInputChangeHandler","nextButton.pointerenter":"_updateInBoundsFlag","nextButton.pointerleave":"_updateInBoundsFlag","pageIndexSelectorsContainer.click":"_pageIndexSelectorsContainerClickHandler","pageSizeSelector.change":"_pageSizeSelectorChangeHandler","previousButton.pointerenter":"_updateInBoundsFlag","previousButton.pointerleave":"_updateInBoundsFlag",keydown:"_keyDownHandler",resize:"_resizeHandler","document.up":"_stopRepeat"}}static get requires(){return{"JQX.DropDownList":"jqx.dropdownlist.js"}}static get styleUrls(){return["jqx.dropdown.css","jqx.dropdownlist.css","jqx.pager.css"]}template(){return'<div id="container" role="presentation">\n                    <div id="nearButtonsContainer" class="jqx-pager-near-buttons-container" role="presentation">\n                        <div id="firstButton" class="jqx-first-button jqx-pager-button jqx-unselectable" role="button" aria-label="First"></div>\n                        <div id="previousButton" class="jqx-previous-page-button jqx-pager-button jqx-unselectable" role="button" aria-label="Previous"></div>\n                    </div>\n                    <div id="middleButtonsContainer" class="jqx-pager-middle-buttons-container" role="presentation">\n                        <span id="previousEllipsisButton" class="jqx-previous-ellipsis-button jqx-pager-page-index-selector" role="button" aria-label="Previous group of pages"></span>\n                        <div id="pageIndexSelectorsContainer" tabindex="0" class="jqx-pager-page-index-selectors-container" role="list"></div>\n                        <span id="nextEllipsisButton" class="jqx-next-ellipsis-button jqx-pager-page-index-selector" role="button" aria-label="Next group of pages"</span>\n                    </div>\n                    <div id="farButtonsContainer" class="jqx-pager-far-buttons-container" role="presentation">\n                        <div id="nextButton" class="jqx-next-page-button jqx-pager-button jqx-unselectable" role="button" aria-label="Next"></div>\n                        <div id="lastButton" class="jqx-last-button jqx-pager-button jqx-unselectable" role="button" aria-label="Last"></div>\n                    </div>\n                    <div id="pagerInputAndLabelContainer" class="jqx-pager-input-and-label-container" role="presentation">\n                        <span id="navigateToLabel" class="jqx-pager-label"></span>\n                        <input type="text" id="navigateToInput" class="jqx-pager-input jqx-input" />\n                    </div>\n                    <div id="pagerSizeSelectorAndLabelContainer" class="jqx-pager-size-selector-and-label-container">\n                        <span id="pageSizeLabel" class="jqx-pager-label"></span>\n                        <jqx-input id="pageSizeSelector" class="jqx-page-size-selector"\n                                animation="[[animation]]"\n                                data-source="[[pageSizeSelectorDataSource]]"\n                                right-to-left="[[rightToLeft]]"\n                                drop-down-height="auto"\n                                drop-down-width="auto"\n                                drop-down-button-position="right"\n                                drop-down-open-position="auto"\n                                readonly\n                                selected-index="0"\n                                disabled="[[disabled]]"\n                                unfocusable="[[unfocusable]]">\n                        </jqx-input>\n                    </div>\n                    <span id="pagerSummaryContainer" class="jqx-pager-summary-container jqx-pager-label"></span>\n                </div>'}ready(){super.ready()}render(){const e=this;e.$.navigateToLabel.id||(e.$.navigateToLabel.id=e.id+"NavigateToLabel"),e.$.pageSizeLabel.id||(e.$.pageSizeLabel.id=e.id+"PageSizeLabel"),e.$.pagerSummaryContainer.id||(e.$.pagerSummaryContainer.id=e.id+"SummaryContainer"),e.setAttribute("role","navigation"),e.setAttribute("aria-labelledby",e.$.pagerSummaryContainer.id),e.$.navigateToInput.setAttribute("aria-labelledby",e.$.navigateToLabel.id),e.$.pageSizeSelector.setAttribute("aria-labelledby",e.$.pageSizeLabel.id),e.$.pageSizeSelector.dropDownWidth=e.$.pageSizeSelector.offsetWidth,e._render(),super.render()}refresh(){this._render()}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const n=this;switch(e){case"navigationButtonsPosition":return void n._renderButtons();case"navigationInputPosition":case"pageSizeSelectorPosition":case"summaryPosition":case"totalRecords":return void n._renderSettings()}n._render()}next(){this.navigateTo(this.pageIndex+1)}prev(){this.navigateTo(this.pageIndex-1)}beginUpdate(){this._updating=!0}endUpdate(){this._updating=!1,this._render()}_render(){const e=this;if(!e._updating&&(e.$.navigateToInput.value=(1+e.pageIndex).toString(),e._renderButtons(),e._renderPageIndexSelectors(),e._renderSettings(),e._renderVisibility(),e._localize(),e.$.pageSizeSelector&&e.showPageSizeSelector)){const t=e.pageSizeSelectorDataSource.indexOf(e.pageSize);if(t>=0){const a=e.$.pageSizeSelector.context;e.$.pageSizeSelector.context=e.$.pageSizeSelector,e.$.pageSizeSelector.selectedIndex=t,e.$.pageSizeSelector._setSelection(!1),e.$.pageSizeSelector.content=a}}}_resizeHandler(){this._renderVisibility()}_renderVisibility(){const e=this,t=e.offsetWidth-20;e._pageIndexSelectorsVisibleCount=e._pageIndexSelectorsCount,e.showSummary?e.$pagerSummaryContainer.removeClass("jqx-hidden"):e.$pagerSummaryContainer.addClass("jqx-hidden"),e.showPageIndexSelectors?e.$middleButtonsContainer.removeClass("jqx-hidden"):e.$middleButtonsContainer.addClass("jqx-hidden"),e.showNavigationInput?(e.$navigateToLabel.removeClass("jqx-hidden"),e.$navigateToInput.removeClass("jqx-hidden")):(e.$navigateToLabel.addClass("jqx-hidden"),e.$navigateToInput.addClass("jqx-hidden")),e.showPageSizeSelector?(e.$pageSizeLabel.removeClass("jqx-hidden"),e.$pageSizeSelector.removeClass("jqx-hidden")):(e.$pageSizeLabel.addClass("jqx-hidden"),e.$pageSizeSelector.addClass("jqx-hidden")),e.showFirstLastNavigationButtons?(e.$firstButton.removeClass("jqx-hidden"),e.$lastButton.removeClass("jqx-hidden")):(e.$firstButton.addClass("jqx-hidden"),e.$lastButton.addClass("jqx-hidden")),e.showPrevNextNavigationButtons?(e.$previousButton.removeClass("jqx-hidden"),e.$nextButton.removeClass("jqx-hidden")):(e.$previousButton.addClass("jqx-hidden"),e.$nextButton.addClass("jqx-hidden")),e.$previousEllipsisButton.addClass("jqx-hidden"),e.$nextEllipsisButton.addClass("jqx-hidden"),"after"!==e.autoEllipsis&&"none"!==e.autoEllipsis&&e.pageIndex>=e._pageIndexSelectorsCount&&e.$previousEllipsisButton.removeClass("jqx-hidden"),"before"!==e.autoEllipsis&&"none"!==e.autoEllipsis&&e.pageIndex<e.pagesCount-e._pageIndexSelectorsCount&&e.$nextEllipsisButton.removeClass("jqx-hidden");for(let t=0;t<e._pageIndexSelectorsCount&&e.$.pageIndexSelectorsContainer.children[t];t++)e.$.pageIndexSelectorsContainer.children[t].classList.remove("jqx-hidden");const a=e.$.pagerSummaryContainer.offsetWidth?Math.max(100,e.$.pagerSummaryContainer.offsetWidth):0;let n=e.$.nearButtonsContainer.offsetWidth+e.$.middleButtonsContainer.offsetWidth+e.$.farButtonsContainer.offsetWidth+a+e.$.pagerInputAndLabelContainer.offsetWidth+e.$.pagerSizeSelectorAndLabelContainer.offsetWidth;if(n>0&&n>t&&(n-=e.$.pagerSummaryContainer.offsetWidth,e.$pagerSummaryContainer.addClass("jqx-hidden"),n>t&&(n-=e.$.navigateToLabel.offsetWidth,n-=e.$.navigateToInput.offsetWidth,e.$navigateToLabel.addClass("jqx-hidden"),e.$navigateToInput.addClass("jqx-hidden"),n>t))){if(n-=e.$.pageSizeLabel.offsetWidth,n-=e.$.pageSizeSelector.offsetWidth,e.$pageSizeLabel.addClass("jqx-hidden"),e.$pageSizeSelector.addClass("jqx-hidden"),n>t){e.$previousEllipsisButton.addClass("jqx-hidden"),e.$nextEllipsisButton.addClass("jqx-hidden"),n-=e.$.previousEllipsisButton.offsetWidth,n-=e.$.nextEllipsisButton.offsetWidth;for(let a=e._pageIndexSelectorsCount-1;a>=0;a--){const s=e.$.pageIndexSelectorsContainer.children[a];if(n<t||!s)break;e._pageIndexSelectorsVisibleCount--,n-=s.offsetWidth,s.hasAttribute("selected")||s.classList.add("jqx-hidden")}}n>t&&e.showFirstLastNavigationButtons&&(e.$firstButton.addClass("jqx-hidden"),e.$lastButton.addClass("jqx-hidden"))}}_renderSettings(){const e=this,t=e.totalRecords;let a=e.pageIndex*e.pageSize,n=(e.pageIndex+1)*e.pageSize,s=e.pagesCount*e.pageSize;null!==t&&(n===s&&(n=t),s=t,0===t&&(a=-1,n=0)),e.$pagerSummaryContainer.removeClass("near"),e.$pagerSizeSelectorAndLabelContainer.removeClass("near"),e.$pagerInputAndLabelContainer.removeClass("near"),"near"===e.summaryPosition&&e.$pagerSummaryContainer.addClass("near"),"near"===e.pageSizeSelectorPosition&&e.$pagerSizeSelectorAndLabelContainer.addClass("near"),"near"===e.navigationInputPosition&&e.$pagerInputAndLabelContainer.addClass("near"),e.$.pagerSummaryContainer.innerHTML='<span class="jqx-summary-start" role="presentation">'+(1+a)+'</span> <span class="jqx-summary-hyphen" role="presentation">-</span> <span class="jqx-summary-end" role="presentation">'+n+'</span><span class="jqx-summary-prefix" role="presentation">'+e.localize("summaryPrefix")+'</span> <span class="jqx-summary-total-end" role="presentation">'+s+'</span> <span class="jqx-summary-suffix" role="presentation">'+e.localize("summarySuffix")+"</span>"}get _pageIndexSelectorsCount(){const e=this;let t=parseInt(e.pageIndexSelectors);return Array.isArray(e.pageIndexSelectors)&&(t=e.pageIndexSelectors.length),t}_renderPageIndexSelectors(){const e=this;if(e.pageIndex<0||e.pageIndex>=e.pagesCount)return void(e.$.pageIndexSelectorsContainer.innerHTML="");e.$.pageIndexSelectorsContainer.innerHTML="";let t=!1;Array.isArray(e.pageIndexSelectors)&&(t=!0);let a=Math.floor(e.pageIndex/e._pageIndexSelectorsCount)*e._pageIndexSelectorsCount,n=Math.min(e.pagesCount,a+e._pageIndexSelectorsCount),s=0;for(let r=a;r<n;r++){const a=document.createElement("span");let n=r+1;if(a.className="jqx-pager-page-index-selector",t){const t=e.pageIndexSelectors[s++];t&&(t.label?n=e.pageIndexSelectors[r].label:"string"==typeof t&&(n=t),t.value&&a.setAttribute("value",e.pageIndexSelectors[r].value))}a.index=r,a.innerHTML=n,a.setAttribute("role","listitem"),e.$.pageIndexSelectorsContainer.appendChild(a),r===e.pageIndex&&(a.classList.add("jqx-selected"),a.setAttribute("selected",""),a.setAttribute("aria-current","page"))}}_lastButtonClickHandler(){this.last()}last(){this.navigateTo(this.pagesCount-1)}_firstButtonClickHandler(){this.first()}first(){this.navigateTo(0)}_renderButtons(){const e=this;switch(0===e.pageIndex?(e.$.firstButton.setAttribute("disabled",""),e.$.previousButton.setAttribute("disabled","")):(e.$.firstButton.removeAttribute("disabled"),e.$.previousButton.removeAttribute("disabled")),e.pageIndex===e.pagesCount-1?(e.$.nextButton.setAttribute("disabled",""),e.$.lastButton.setAttribute("disabled","")):(e.$.nextButton.removeAttribute("disabled"),e.$.lastButton.removeAttribute("disabled")),e.pagesCount<=0&&(e.$.firstButton.setAttribute("disabled",""),e.$.previousButton.setAttribute("disabled",""),e.$.nextButton.setAttribute("disabled",""),e.$.lastButton.setAttribute("disabled","")),e.$nearButtonsContainer.removeClass("far"),e.$farButtonsContainer.removeClass("far"),e.$nearButtonsContainer.removeClass("near"),e.$farButtonsContainer.removeClass("near"),e.navigationButtonsPosition){case"near":e.$nearButtonsContainer.addClass("near"),e.$farButtonsContainer.addClass("near");break;case"far":e.$nearButtonsContainer.addClass("far"),e.$farButtonsContainer.addClass("far");break;case"both":e.$nearButtonsContainer.addClass("near"),e.$farButtonsContainer.addClass("far")}}_navigateToInputChangeHandler(){const e=this;let t=parseInt(e.$.navigateToInput.value)-1;isNaN(t)&&(e.$.navigateToInput.value="1",t=parseInt(e.$.navigateToInput.value-1)),e.navigateTo(t)}_pageIndexSelectorsContainerClickHandler(e){const t=this.enableShadowDOM?e.composedPath()[0].closest(".jqx-pager-page-index-selector"):e.target.closest(".jqx-pager-page-index-selector");t&&!t.classList.contains("jqx-selected")&&this.navigateTo(t.index)}_pageSizeSelectorChangeHandler(e){const t=this;!t.showPageSizeSelector||t.disabled||t._updating||(t.pageSize=parseInt(e.detail.value),t.$.fireEvent("pageSizeChanged",{value:parseInt(e.detail.value)}))}_keyDownHandler(e){const t=this;if(!t.disabled&&(t.enableShadowDOM&&t.shadowRoot.activeElement||document.activeElement)!==t.$.navigateToInput&&null===t.$.pageSizeSelector.getAttribute("focus"))switch(e.key){case"End":t.last(),e.preventDefault();break;case"Home":t.first(),e.preventDefault();break;case"PageDown":case"ArrowDown":case"ArrowLeft":t.prev(),e.preventDefault();break;case"PageUp":case"ArrowUp":case"ArrowRight":t.next(),e.preventDefault()}}_nextButtonClickHandler(){this.next()}_previousButtonClickHandler(){this.prev()}navigateTo(e){const t=this,a=t.pageIndex;t.disabled||t.pageIndex===e||e<0||e>=t.pagesCount||(t.pageIndex=e,t._render(),t.$.fireEvent("change",{oldIndex:a,index:e}))}_localize(){const e=this,t=["firstButton","lastButton","previousButton","nextButton"];for(let a=0;a<t.length;a++){const n=e.$[t[a]];!e.showNavigationButtonLabels&&a<2?(n.innerHTML="",0===a?n.classList.add("jqx-arrow-left-first"):n.classList.add("jqx-arrow-right-last")):!e.showNavigationButtonLabels&&a>=2?(n.innerHTML="",2===a?n.classList.add("jqx-arrow-left"):n.classList.add("jqx-arrow-right")):(n.classList.remove("jqx-arrow-left"),n.classList.remove("jqx-arrow-right"),n.classList.remove("jqx-arrow-left-first"),n.classList.remove("jqx-arrow-right-last"),n.innerHTML=e.localize(t[a]))}e.$.pageSizeLabel.innerHTML=e.localize("pageSizeLabel"),e.$.navigateToLabel.innerHTML=e.localize("navigateToLabel"),e.$.previousEllipsisButton.innerHTML=e.localize("ellipsis"),e.$.nextEllipsisButton.innerHTML=e.localize("ellipsis"),e.$.navigateToInput.placeholder=e.localize("navigateToInputPlaceholder")}_nextEllipsisButtonClickHandler(){const e=this;e.navigateTo(e._pageIndexSelectorsCount+e.pageIndex)}_previousEllipsisButtonClickHandler(){const e=this;e.navigateTo(-e._pageIndexSelectorsCount+e.pageIndex)}_navigationButtonsClickHandler(e){const t=this;if(!t.disabled)switch(t.enableShadowDOM?e.composedPath()[0].closest(".jqx-pager-button"):e.target.closest(".jqx-pager-button")){case t.$.firstButton:t._firstButtonClickHandler(e);break;case t.$.lastButton:t._lastButtonClickHandler(e);break;case t.$.previousButton:t._previousButtonClickHandler(e);break;case t.$.nextButton:t._nextButtonClickHandler(e)}}_navigationButtonsDownHandler(e){const t=this,a=t.enableShadowDOM?e.originalEvent.composedPath()[0].closest(".jqx-pager-button")||e.originalEvent.composedPath()[0].closest(".jqx-pager-page-index-selector"):e.originalEvent.target.closest(".jqx-pager-button")||e.originalEvent.target.closest(".jqx-pager-page-index-selector");!t.disabled&&a&&(t.hasRippleAnimation&&JQX.Utilities.Animation.Ripple.animate(a,e.pageX,e.pageY),a!==t.$.previousButton&&a!==t.$.nextButton||t._startRepeat(e,a))}_updateInBoundsFlag(e){const t=this,a=t.enableShadowDOM?e.composedPath()[0]:e.target;a._isPointerInBounds=!0,-1!==e.type.indexOf("leave")&&(a._isPointerInBounds=!1),1!==("buttons"in e?e.buttons:e.which)&&t._stopRepeat()}_startRepeat(e,t){const a=this;a._initialTimer||(a._initialTimer=setTimeout((function(){a._repeatTimer=setInterval((()=>{t._isPointerInBounds&&(t===a.$.previousButton?a._previousButtonClickHandler(e):a._nextButtonClickHandler(e))}),50)}),150))}_stopRepeat(){const e=this;e._repeatTimer&&(clearInterval(e._repeatTimer),e._repeatTimer=null),e._initialTimer&&(clearTimeout(e._initialTimer),e._initialTimer=null)}});

/***/ }),

/***/ 9135:
/***/ (() => {

JQX("jqx-scroll-bar",class extends JQX.BaseElement{static get properties(){return{clickRepeatDelay:{type:"integer",value:50},largeStep:{type:"integer",value:100},min:{type:"integer",value:0},max:{type:"integer",value:1e3},mechanicalAction:{value:"switchWhileDragging",allowedValues:["switchUntilReleased","switchWhenReleased","switchWhileDragging"],type:"string"},orientation:{type:"string",value:"horizontal",allowedValues:["horizontal","vertical"]},step:{type:"integer",value:10},showButtons:{type:"boolean",value:!0,defaultReflectToAttribute:!0},value:{type:"integer",value:0}}}static get styleUrls(){return["jqx.scrollbar.css"]}template(){return'<div id="container" class="jqx-container" role="presentation">\n                    <div id="nearButton" class="jqx-scroll-button jqx-arrow-left" role="presentation" aria-hidden="true"></div>\n                    <div  id="track" class="jqx-track" role="presentation">\n                        <div id="thumb" class="jqx-thumb" role="presentation"></div>\n                    </div>\n                    <div id="farButton" class="jqx-scroll-button jqx-arrow-right" role="presentation" aria-hidden="true"></div>\n            </div>'}static get listeners(){return{"nearButton.click":"_nearButtonClickHandler","nearButton.down":"_startRepeat","nearButton.up":"_stopRepeat","nearButton.pointerenter":"_updateInBoundsFlag","nearButton.pointerleave":"_updateInBoundsFlag","farButton.click":"_farButtonClickHandler","farButton.down":"_startRepeat","farButton.up":"_stopRepeat","farButton.pointerenter":"_updateInBoundsFlag","farButton.pointerleave":"_updateInBoundsFlag","track.down":"_trackDownHandler","track.click":"_trackClickHandler","track.move":"_trackMoveHandler","thumb.down":"_dragStartHandler","document.move":"_dragHandler","document.up":"_dragEndHandler",up:"_dragEndHandler","document.selectstart":"_selectStartHandler",resize:"_resizeHandler"}}_updateInBoundsFlag(t){const e=this,a=t.target;a._isPointerInBounds=!0,-1!==t.type.indexOf("leave")&&(a._isPointerInBounds=!1),1!==("buttons"in t?t.buttons:t.which)&&e._stopRepeat(t)}_startRepeat(t){const e=this;if(e.disabled)return;const a=t.target;a._initialTimer||(a._initialTimer=setTimeout((function(){a._repeatTimer=setInterval((()=>{if(a._isPointerInBounds){const e="buttons"in t?t.buttons:t.which;a.$.fireEvent("click",{buttons:e,clientX:t.clientX,clientY:t.clientY,pageX:t.pageX,pageY:t.pageY,screenX:t.screenX,screenY:t.screenY})}}),e.clickRepeatDelay)}),3*e.clickRepeatDelay))}_stopRepeat(t){if(this.disabled)return;const e=t.target;e._repeatTimer&&(clearInterval(e._repeatTimer),e._repeatTimer=null),e._initialTimer&&(clearTimeout(e._initialTimer),e._initialTimer=null)}_calculateThumbSize(t){const e=this,a=e.max-e.min,r="horizontal"===e.orientation?e.$.track.offsetWidth>10:e.$.track.offsetHeight>10;let n=0;return a>=1&&r?(n=t/(a+t)*t,e.$.thumb.className.indexOf("jqx-hidden")>=0&&e.$thumb.removeClass("jqx-hidden")):e.$thumb.addClass("jqx-hidden"),Math.max(10,Math.min(n,t))}_dragStartHandler(t){const e=this;e.disabled||(e.thumbCapture=!0,e.dragStartX=t.clientX,e.dragStartY=t.clientY,e.dragStartValue=e.value,t.stopPropagation(),t.preventDefault())}_dragHandler(t){const e=this;if(!0!==e.thumbCapture)return;e._isThumbDragged=!0;const a=(e.max-e.min)/(e.scrollBarSize-e.thumbSize),r="horizontal"===e.orientation?(t.clientX-e.dragStartX)*a:(t.clientY-e.dragStartY)*a;let n=r;e.rightToLeft&&"horizontal"===e.orientation&&(n=-r),e._updateValue(e.dragStartValue+n),t.stopPropagation(),t.preventDefault(),t.originalEvent&&(t.originalEvent.stopPropagation(),t.originalEvent.preventDefault())}_dragEndHandler(t){const e=this;e._trackDownTimer&&(clearInterval(e._trackDownTimer),e._trackDownTimer=null),e.thumbCapture&&(e.thumbCapture=!1,e._isThumbDragged=!1,"switchWhenReleased"===e.mechanicalAction?e._updateValue(e.dragStartValue,e.value):"switchUntilReleased"===this.mechanicalAction&&e._updateValue(e.dragStartValue),t.preventDefault(),t.stopPropagation(),t.originalEvent.preventDefault(),t.originalEvent.stopPropagation())}_farButtonClickHandler(){const t=this;if(t.disabled)return;const e=t.value;t._updateValue(t.value+("horizontal"===t.orientation&&t.rightToLeft?-1:1)*t.step),"switchUntilReleased"===t.mechanicalAction&&t._updateValue(e)}_nearButtonClickHandler(){const t=this;if(t.disabled)return;const e=t.value;t._updateValue(t.value-("horizontal"===t.orientation&&t.rightToLeft?-1:1)*t.step),"switchUntilReleased"===t.mechanicalAction&&t._updateValue(e)}propertyChangedHandler(t,e,a){super.propertyChangedHandler(t,e,a);const r=this;switch(t){case"min":case"max":case"orientation":case"showButtons":r._layout(),"min"===t?r.setAttribute("aria-valuemin",a):"max"===t?r.setAttribute("aria-valuemax",a):"orientation"===t&&r.setAttribute("aria-orientation",a);break;case"value":r._updateValue(e,a);break;default:r._layout()}}render(){const t=this;t.setAttribute("role","scrollbar"),t.setAttribute("aria-orientation",t.orientation),t.setAttribute("aria-valuemin",t.min),t.setAttribute("aria-valuemax",t.max),t.setAttribute("aria-valuenow",t.value),t._layout(),super.render()}_resizeHandler(){this._layout()}refresh(){this._layout()}beginUpdate(){this._isUpdating=!0}endUpdate(){this._isUpdating=!1,this.refreshValue()}refreshValue(){const t=this;t._layout(),t._updateValue(t.value)}_layout(){const t=this;t._isUpdating||(t.scrollBarSize="horizontal"===t.orientation?t.$.track.offsetWidth:t.$.track.offsetHeight,t.thumbSize=t._calculateThumbSize(t.scrollBarSize),"horizontal"===t.orientation&&t.$.thumb.style.width!==t.thumbSize+"px"?t.$.thumb.style.width=t.thumbSize+"px":"vertical"===t.orientation&&t.$.thumb.style.height!==t.thumbSize+"px"&&(t.$.thumb.style.height=t.thumbSize+"px"),"horizontal"===t.orientation?(t.$.nearButton.classList.contains("jqx-arrow-up")&&t.$.nearButton.classList.remove("jqx-arrow-up"),t.$.farButton.classList.contains("jqx-arrow-down")&&t.$.farButton.classList.remove("jqx-arrow-down"),t.$.nearButton.classList.contains("jqx-arrow-left")||t.$.nearButton.classList.add("jqx-arrow-left"),t.$.farButton.classList.contains("jqx-arrow-right")||t.$.farButton.classList.add("jqx-arrow-right")):(t.$.nearButton.classList.contains("jqx-arrow-left")&&t.$.nearButton.classList.remove("jqx-arrow-left"),t.$.farButton.classList.contains("jqx-arrow-right")&&t.$.farButton.classList.remove("jqx-arrow-right"),t.$.nearButton.classList.contains("jqx-arrow-up")||t.$.nearButton.classList.add("jqx-arrow-up"),t.$.farButton.classList.contains("jqx-arrow-down")||t.$.farButton.classList.add("jqx-arrow-down")),t._updateThumbPosition(),(t.value>t.max||t.value<t.min)&&t._updateValue(t.value,t.value>t.max?t.max:t.min))}_selectStartHandler(t){this.thumbCapture&&t.preventDefault()}_trackDownHandler(t){const e=this;t.target===e.$.track&&(e._trackDownTimer&&clearInterval(e._trackDownTimer),e.thumbCapture||(e._trackDownTimer=setInterval((function(){e._trackClickHandler(t)}),e.clickRepeatDelay),t.stopPropagation(),t.preventDefault()))}_trackClickHandler(t){const e=this;if(e.disabled)return;if(e._isThumbDragged)return clearInterval(e._trackDownTimer),void(e._trackDownTimer=null);const a=e.$.thumb.getBoundingClientRect(),r=t.pageX-window.pageXOffset,n=t.pageY-window.pageYOffset,i=(e.rightToLeft?-1:1)*e.value;"horizontal"===e.orientation?r>(e._isThumbDragged?e.dragStartX:a.right)?e._updateValue(e.value+(e.rightToLeft?-1:1)*e.largeStep):r<(e._isThumbDragged?e.dragStartX:a.left)&&e._updateValue(e.value-(e.rightToLeft?-1:1)*e.largeStep):n>(e._isThumbDragged?e.dragStartY:a.bottom)?e._updateValue(e.value+e.largeStep):n<(e._isThumbDragged?e.dragStartY:a.top)&&e._updateValue(e.value-e.largeStep),"switchUntilReleased"===e.mechanicalAction&&e._updateValue(i)}_trackMoveHandler(t){"touchmove"===t.originalEvent.type&&t.originalEvent.preventDefault()}_updateValue(t,e){const a=this;if(!a._isUpdating&&(1===arguments.length&&(e=t,t=a.value),(void 0===e||isNaN(e))&&(e=a.min),e>a.max&&(e=a.max),e<a.min&&(e=a.min),a.value=e,t!==e)){if(a.setAttribute("aria-valuenow",e),a._updateThumbPosition(),a.thumbCapture&&"switchWhenReleased"===a.mechanicalAction)return;if(a.onChange)return void a.onChange({value:a.value,oldValue:t,min:a.min,max:a.max,context:a});a.$.fireEvent("change",{value:a.value,oldValue:t,min:a.min,max:a.max})}}_updateThumbPosition(){const t=this,e="horizontal"===t.orientation?t.$.track.offsetWidth:t.$.track.offsetHeight,a=t._calculateThumbSize(e),r=e-a;let n=(e-a)/(t.max-t.min)*(t.value-t.min);t.rightToLeft&&"horizontal"===t.orientation&&(n=(e-a)/(t.max-t.min)*(t.max-t.value-t.min)),n=Math.min(r,Math.max(0,n)),"vertical"===t.orientation&&t.$.thumb.style.top!==n+"px"?t.$.thumb.style.top=n+"px":"horizontal"===t.orientation&&t.$.thumb.style.left!==n+"px"&&(t.$.thumb.style.left=n+"px")}});

/***/ }),

/***/ 1066:
/***/ (() => {

JQX("jqx-splitter-item",class extends JQX.ContentElement{static get properties(){return{collapsed:{value:!1,type:"boolean"},collapsible:{value:!1,type:"boolean"},locked:{value:!1,type:"boolean"},max:{value:"",type:"any",validator:"_propertyValidator"},min:{value:"",type:"any",validator:"_propertyValidator"},size:{value:"",type:"any",validator:"_propertyValidator"}}}get enableShadowDOM(){return!1}template(){return'<div id="container" role="presentation">\n                    <div class="jqx-content" id="content" inner-h-t-m-l="[[innerHTML]]" role="presentation">\n                        <content></content>\n                    </div>\n                </div>'}static get listeners(){return{mouseenter:"_mouseEventsHandler",mouseleave:"_mouseEventsHandler",styleChanged:"_styleChangedEventHandler"}}propertyChangedHandler(e,t,i){const s=this;switch(e){case"collapsed":s._ignorePropertyValue=!0,i?s.collapse():s.expand();break;case"collapsible":s._updateNearSplitterBars();break;case"size":case"min":case"max":s._setSize(e,i);break;default:super.propertyChangedHandler(e,t,i)}}attached(){super.attached();const e=this;e._sizeLimits||(e._sizeLimits={});const t=getComputedStyle(e);e.min||(e._sizeLimits.minWidth=parseFloat(t.getPropertyValue("min-width"))||0,e._sizeLimits.minHeight=parseFloat(t.getPropertyValue("min-height"))||0),e.max||(e._sizeLimits.maxWidth=parseFloat(t.getPropertyValue("max-width"))||0,e._sizeLimits.maxHeight=parseFloat(t.getPropertyValue("max-height"))||0)}detached(){super.detached(),this.$.removeClass("animate")}appendChild(e){const t=this;if(e){if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}t.$.content.appendChild(e)}else t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"appendChild",node:"node"}))}collapse(e){const t=this;if(t.collapsible){if(t._ignorePropertyValue||!t.collapsed){const i=t.closest("jqx-splitter")||(t.getRootNode()&&t.getRootNode().host?t.getRootNode().host.closest("jqx-splitter"):void 0);if(!i)return;const s=i._items.indexOf(t);s===i._items.length-1?e=!0:0===s&&(e=!1);const n=e?-1:1;let a,r=s+n,o=i._items[r];for(;o&&o.collapsed;)r+=n,o=i._items[r];if(!o)return void(t.collapsed=!1);delete t._ignorePropertyValue,t._sizeBeforeCollapse||(t._sizeBeforeCollapse=t[i._measurements.size]),o._sizeBeforeCollapse||(o._sizeBeforeCollapse=o[i._measurements.size]),t.previousElementSibling instanceof JQX.SplitterBar?a=t.previousElementSibling:t.nextElementSibling instanceof JQX.SplitterBar&&(a=t.nextElementSibling);const l=o[i._measurements.size]+t[i._measurements.size],m=a?a[i._measurements.size]:t._sizeLimits[i._measurements.minDimension],d=l-m;if(l&&d<m)return void(t.collapsed=!1);if(i.hasAnimation&&!i._isInitializing&&(t.style[i._measurements.dimension]||(t.style[i._measurements.dimension]=t[i._measurements.size]+"px"),t.$.addClass("animate"),o.$.addClass("animate"),t.addEventListener("transitionend",t._transitionEndHandler,{once:!0}),t.addEventListener("transitioncancel",t._transitionEndHandler,{once:!0}),o.addEventListener("transitionend",t._transitionEndHandler,{once:!0}),o.addEventListener("transitioncancel",t._transitionEndHandler,{once:!0})),!t._paddings){const e=getComputedStyle(t);t._paddings=(parseFloat(e.getPropertyValue("padding-"+i._measurements.position))||0)+(parseFloat(e.getPropertyValue("padding-"+i._measurements.position2))||0)}void 0!==o._sizeBeforeCollapse&&(o._sizeBeforeCollapse=o._sizeBeforeCollapse+t._sizeBeforeCollapse),o._sizeLimits&&o._sizeLimits[i._measurements.maxDimension]&&l>o._sizeLimits[i._measurements.maxDimension]&&(o._sizeLimits.ignoreUpdate=!0,o._sizeBeforeCollapse?o.style[i._measurements.maxDimension]=o._sizeBeforeCollapse+"px":o.style[i._measurements.maxDimension]=""),o.set("size",""),o._sizeBeforeCollapse&&(o.style[i._measurements.dimension]=o._sizeBeforeCollapse+"px"),t.style[i._measurements.dimension]=t.style[i._measurements.minDimension]="0",t.style.padding="0",t._neighbourItem=o,t.collapsed=!0,i.$.fireEvent("collapse",{itemIndex:i._items.indexOf(t)}),e?(t.previousElementSibling.itemCollapsed=!0,t.previousElementSibling.showFarButton=!(t.previousElementSibling.showNearButton=!1)):(t.nextElementSibling.itemCollapsed=!0,t.nextElementSibling.showNearButton=!(t.nextElementSibling.showFarButton=!1))}}else t.collapsed=!1}expand(){const e=this;if(e._ignorePropertyValue||e.collapsed){const t=e.closest("jqx-splitter")||(e.getRootNode()&&e.getRootNode().host?e.getRootNode().host.closest("jqx-splitter"):void 0);if(!t)return void(e.collapsed=!0);if(!e._neighbourItem)return void(e.collapsed=!0);if(delete e._ignorePropertyValue,!e._neighbourItem._ignorePropertyValue&&e._neighbourItem.collapsed){let i=t._items.indexOf(e._neighbourItem);const s=t._items.indexOf(e)>t._items.indexOf(e._neighbourItem)?-1:1;for(e._neighbourItem=t._items[i];e._neighbourItem&&e._neighbourItem.collapsed;)i+=s,e._neighbourItem=t._items[i]}if(!e._neighbourItem)return void(e.collapsed=!0);e.min&&e._setSize("min",e.min,!0);const i=e._neighbourItem._sizeBeforeCollapse,s=e._sizeLimits[t._measurements.minDimension],n=e._neighbourItem._sizeLimits[t._measurements.minDimension],a=i-s;if(i&&a<n)return void(e.collapsed=!0);if(!e._neighbourItem._paddings){const i=getComputedStyle(e._neighbourItem);e._neighbourItem._paddings=(parseFloat(i.getPropertyValue("padding-"+t._measurements.position))||0)+(parseFloat(i.getPropertyValue("padding-"+t._measurements.position2))||0)}if(!e._paddings){const i=getComputedStyle(e);e._paddings=(parseFloat(i.getPropertyValue("padding-"+t._measurements.position))||0)+(parseFloat(i.getPropertyValue("padding-"+t._measurements.position2))||0)}if((e.size+"").indexOf("%")>-1&&(!e._sizeBeforeCollapse||0===e._sizeBeforeCollapse)&&e._neighbourItem._sizeBeforeCollapse){let i=0;t._items.map((e=>i+=e.collapsed?0:e.style[t._measurements.dimension]&&e.style[t._measurements.dimension].indexOf("%")<-1&&e._sizeBeforeCollapse?e._sizeBeforeCollapse:e.getBoundingClientRect()[t._measurements.dimension])),e._sizeBeforeCollapse=i*parseFloat(e.size)/100}const r=Math.min(Math.max(s,e._sizeBeforeCollapse),i-e._neighbourItem._paddings-e._paddings-n);if(r<0)return void(e.collapsed=!0);e.min&&(e.style[t._measurements.minDimension]=0),e.hasAnimation&&!t._isInitializing&&(e.$.addClass("animate"),e._neighbourItem.$.addClass("animate"),e.addEventListener("transitionend",e._transitionEndHandler,{once:!0}),e.addEventListener("transitioncancel",e._transitionEndHandler,{once:!0}),e._neighbourItem.addEventListener("transitionend",e._transitionEndHandler,{once:!0}),e._neighbourItem.addEventListener("transitioncancel",e._transitionEndHandler,{once:!0})),e.style.padding="",e.min&&(e.style[t._measurements.minDimension]=e._sizeLimits[t._measurements.minDimension]+"px"),e.style[t._measurements.dimension]=(e._sizeBeforeCollapse=r)+"px",e._neighbourItem.style[t._measurements.dimension]=(e._neighbourItem._sizeBeforeCollapse=Math.max(e._neighbourItem._sizeLimits[t._measurements.minDimension],i-r))+"px",e._neighbourItem._sizeLimits[t._measurements.maxDimension]&&(e._neighbourItem.style[t._measurements.maxDimension]=e._neighbourItem._sizeLimits[t._measurements.maxDimension]+"px"),e.collapsed=!1,t.$.fireEvent("expand",{itemIndex:t._items.indexOf(e)}),t._items.indexOf(e)>t._items.indexOf(e._neighbourItem)?(e.previousElementSibling.itemCollapsed=!1,e.previousElementSibling.showNearButton=e._neighbourItem.collapsible):(e.nextElementSibling.itemCollapsed=!1,e.nextElementSibling.showFarButton=e._neighbourItem.collapsible);const o=t._items[t._items.indexOf(e)-1],l=t._items[t._items.indexOf(e)+1];if(o){const t=o.nextElementSibling;t&&t instanceof JQX.SplitterBar&&(o.collapsed?t.showNearButton=e.collapsible:(t.itemCollapsed=!1,t.showNearButton=o.collapsible,t.showFarButton=e.collapsible))}if(l){const t=l.previousElementSibling;t&&t instanceof JQX.SplitterBar&&(l.collapsed?t.showFarButton=l.collapsed:(t.itemCollapsed=!1,t.showNearButton=e.collapsible,t.showFarButton=l.collapsible))}delete e._neighbourItem}}insertBefore(e,t){const i=this;if(e){if(!i.isCompleted||e instanceof HTMLElement&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(i,e.concat(Array.prototype.slice.call(arguments)))}i.$.content.insertBefore(e,t||null)}else i.error(i.localize("invalidNode",{elementType:i.nodeName.toLowerCase(),method:"insertBefore",node:"node"}))}lock(){this.locked=!0}unlock(){this.locked=!1}ready(){super.ready()}render(){const e=this,t=e.closest("jqx-splitter"),i=t&&t.isCompleted;e.setAttribute("role","region"),e._sizeLimits={};let s="string"==typeof e.min&&e.min.indexOf("%")>-1;const n=isNaN(parseFloat(e.min))?0:parseFloat(e.min),a=isNaN(parseFloat(e.max))?0:parseFloat(e.max);if(e._sizeLimits.minWidth=e._sizeLimits.minHeight=s&&i?n*t[t._measurements.size]/100:n,s="string"==typeof e.max&&e.max.indexOf("%")>-1,e._sizeLimits.maxWidth=e._sizeLimits.maxHeight=s&&i?a*t[t._measurements.size]/100:a,e.size){s="string"==typeof e.size&&e.size.indexOf("%")>-1;const n="auto"===e.size?e.size:isNaN(parseFloat(e.size))?0:parseFloat(e.size)+(s?"%":"px");i?e.style[t._measurements.dimension]=n:e.style.width=e.style.height=n}e.min&&e._setSize("min",e.min),e.max&&e._setSize("max",e.max),e._updateNearSplitterBars(),e.checkLicense(),super.render()}removeChild(e){const t=this;if(e){if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}t.$.content.removeChild(e)}else t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"removeChild",node:"node"}))}_expand(){const e=this;if(e._neighbourItem&&e._neighbourItem.parentElement)return void e.expand();const t=e.closest("jqx-splitter");t&&(delete e._neighbourItem,e.collapsed=!1,t.$.fireEvent("expand",{itemIndex:t._items.indexOf(e)}),e.style[t._measurements.minDimension]=e.min?e._sizeLimits[t._measurements.minDimension]+"px":"",e.style[t._measurements.dimension]=e._sizeBeforeCollapse+"px",t._items.length<2||e.previousElementSibling instanceof JQX.SplitterBar&&(e.previousElementSibling.itemCollapsed=!1,e.previousElementSibling.showNearButton=t._items[t._items.indexOf(e)-1].collapsible))}_mouseEventsHandler(e){const t=this.closest("jqx-splitter")||this.getRootNode().host;(t&&!t.disabled||JQX.Utilities.Core.isMobile)&&("mouseenter"===e.type?this.setAttribute("hover",""):this.removeAttribute("hover"))}_propertyValidator(e,t){return"number"!=typeof t&&"string"!=typeof t?e:t}_setSize(e,t,i){const s=this;if(s.isCompleted&&s.locked)return;const n=s.closest("jqx-splitter");if(!n)return;if(!n.isCompleted)return void n.whenReady((()=>s._setSize(e,t)));const a="string"==typeof t&&t.indexOf("%")>-1,r=function(){const e=n.bars;let t=0;for(let i=0;i<e.length;i++)t+=e[i][n._measurements.size];return n.$.container[n._measurements.size]-t}(),o=e=>100*e/r;switch(t=isNaN(parseFloat(t))?"":parseFloat(t),s._sizeLimits||(s._sizeLimits={}),e){case"size":{const e=s[n._measurements.size];"auto"!==arguments[1]&&arguments[1]?a?(s.style[n._measurements.dimension]=t+"%",s._sizeBeforeCollapse=t*r/100):s.style[n._measurements.dimension]=(s._sizeBeforeCollapse=t||0)+"px":(s.style[n._measurements.dimension]=arguments[1],s._sizeBeforeCollapse=s[n._measurements.size]),s._validateSize();const i=e-s._sizeBeforeCollapse;if(s._originalSize&&(s._originalSize=a?t+"%":s._sizeBeforeCollapse),n.hasAttribute("orientation-change"))break;const o=n._items[n._items.length-1];if(s===o){let e=n._items.find((e=>e!==s&&!e.collapsed&&!e.locked&&!e.size));if(!e)for(let t=Math.max(0,n._items.length-2);t>=0;t--)if(!n._items[t].collapsed&&!n._items[t].locked&&n._items[t]!==s){e=n._items[t];break}e&&(e.style[n._measurements.dimension]=(e._sizeBeforeCollapse=Math.max(0,e[n._measurements.size]+i))+"px")}break}case"min":if(t=a?t*r/100:t,s._sizeLimits.minWidth=s._sizeLimits.minHeight=t,s.style[n._measurements.minDimension]=s.collapsed||!t?"":a?o(t)+"%":t+"px",s.style["min"+n._measurements.restricredDimension]="",s._validateSize(),t||n._noNeighbourValidation||n._validateNeighbourSizeLimits(s),s.size)return void s._setSize("size",s.size,i);break;case"max":if(s._sizeLimits.maxWidth=s._sizeLimits.maxHeight=a?t*r/100:t,s.style[n._measurements.maxDimension]=t?a?o(t)+"%":t+"px":"",s.style["max"+n._measurements.restricredDimension]="",s._validateSize(),t||n._noNeighbourValidation||n._validateNeighbourSizeLimits(s),s.size)return void s._setSize("size",s.size,i)}i||n._noItemSizeValidation||n._validateItemSize(!0)}_validateSize(){const e=this,t=e.closest("jqx-splitter");if(e.collapsed&&!t)return;const i=t._measurements,s=e._sizeBeforeCollapse?e._sizeBeforeCollapse:e.getBoundingClientRect()[i.dimension];function n(t){const n=t+"Dimension",a=e.style[i[n]],r=e._sizeLimits[i[n]];var o;("min"===t&&s<r||"max"===t&&s>r)&&(e.style[i.dimension]="string"==typeof(o=a)&&o.indexOf("%")>-1?a:r+"px",e._sizeBeforeCollapse=r)}e.min&&n("min"),e.max&&n("max")}_styleChangedEventHandler(e){const t=this;if(t.locked)return;if(t._sizeLimits.ignoreUpdate)return void delete t._sizeLimits.ignoreUpdate;if(t.collapsed)return;const i=t.closest("jqx-splitter");let s;e.detail.styleProperties["min-width"]?(s=e.detail.styleProperties["min-width"][i&&"horizontal"===i.orientation?"oldValue":"value"],t._sizeLimits.minWidth=(parseFloat(s)||0)*(s&&s.indexOf("%")>-1?i[i._measurements.size]/100:1)):e.detail.styleProperties["max-width"]?(s=e.detail.styleProperties["max-width"][i&&"horizontal"===i.orientation?"oldValue":"value"],t._sizeLimits.maxWidth=(parseFloat(s)||0)*(s&&s.indexOf("%")>-1?i[i._measurements.size]/100:1)):e.detail.styleProperties["min-height"]?(s=e.detail.styleProperties["min-height"][i&&"horizontal"===i.orientation?"value":"oldValue"],t._sizeLimits.minHeight=(parseFloat(s)||0)*(s&&s.indexOf("%")>-1?i[i._measurements.size]/100:1)):e.detail.styleProperties["max-height"]&&(s=e.detail.styleProperties["max-height"][i&&"horizontal"===i.orientation?"value":"oldValue"],t._sizeLimits.maxHeight=(parseFloat(s)||0)*(s&&s.indexOf("%")>-1?i[i._measurements.size]/100:1))}_transitionEndHandler(){const e=this;(e.isCompleted||!e.$.hasClass("animate"))&&(e.$.removeClass("animate"),e._neighbourItem&&e._neighbourItem.$.hasClass("animate")&&e._neighbourItem.$.removeClass("animate"),(e.size+"").indexOf("%")>-1||e._neighbourItem&&(e._neighbourItem.size+"").indexOf("%")>-1)&&((e.shadowRoot&&e.getRootNode()?e.getRootNode().host:null)||e.closest("jqx-splitter"))._validateItemSize()}_updateNearSplitterBars(){const e=this;e.previousElementSibling instanceof JQX.SplitterBar&&(e.previousElementSibling.showFarButton=e.collapsible),e.nextElementSibling instanceof JQX.SplitterBar&&(e.nextElementSibling.showNearButton=e.collapsible)}}),JQX("jqx-splitter-bar",class extends JQX.BaseElement{static get properties(){return{showNearButton:{value:!1,type:"boolean"},showFarButton:{value:!1,type:"boolean"},itemCollapsed:{value:!1,type:"boolean"},locked:{value:!1,type:"boolean"}}}get enableShadowDOM(){return!1}template(){return'<div id="container" role="presentation">\n                    <div class="jqx-splitter-far-collapse-button" id="farCollapseButton" role="button" aria-label="Collapse next">\n                        <span id="arrowNear" class="jqx-arrow" aria-hidden="true"></span>\n                    </div>\n                    <div class="jqx-splitter-resize-button" id="resizeButton" aria-hidden="true">\n                        <span></span>\n                    </div>\n                    <div class="jqx-splitter-near-collapse-button" id="nearCollapseButton" role="button" aria-label="Collapse previous">\n                        <span id="arrowFar" class="jqx-arrow" aria-hidden="true"></span>\n                    </div>\n                </div>'}static get listeners(){return{mouseenter:"_mouseEventsHandler",mouseleave:"_mouseEventsHandler",mouseover:"_mouseEventsHandler",mouseout:"_mouseEventsHandler",focus:"_focusEventHandler",blur:"_focusEventHandler"}}propertyChangedHandler(e,t,i){const s=this;switch(e){case"unfocusable":s._setFocusable();break;default:super.propertyChangedHandler(e,t,i)}}ready(){super.ready();const e=this;e.setAttribute("role","separator"),e.setAttribute("aria-label","Resize"),e._setFocusable()}hide(){const e=this,t=e.closest("jqx-splitter");if(e.$.addClass("jqx-hidden"),t){const i=t.items;if(t.hasAnimation){let t;for(let s=0;s<i.length;s++)i[s].$.hasClass("animate")&&(t=!0,i[s].addEventListener("transitionend",(function(){e.closest("jqx-splitter")._autoFitItems()}),{once:!0}));if(t)return}t._autoFitItems()}}show(){const e=this,t=e.closest("jqx-splitter");if(e.$.removeClass("jqx-hidden"),t){const i=t.items;if(t.hasAnimation){let t;for(let s=0;s<i.length;s++)i[s].$.hasClass("animate")&&(t=!0,i[s].addEventListener("transitionend",(function(){e.closest("jqx-splitter")._validateItemSize()}),{once:!0}));if(t)return}t._validateItemSize()}}lock(){const e=this;e.locked=e.unfocusable=!0,e.showNearButton||e.showFarButton||e._setFocusable()}unlock(){const e=this;e.locked=e.unfocusable=!1,e._setFocusable()}_focusEventHandler(e){"focus"===e.type?this.setAttribute("focus",""):this.removeAttribute("focus")}_setFocusable(){const e=this;e.disabled||e.unfocusable?e.removeAttribute("tabindex"):e.tabIndex=e.tabIndex>0?e.tabIndex:0}_handleHoveredState(e,t){const i=this;switch(t){case"mouseenter":if(!e._getTargetItem(i,"previousElementSibling")||!("adjacent"===e.resizeMode?e._getTargetItem(i,"nextElementSibling"):e._getTargetItem(i,"previousElementSibling",!0)))return;i.setAttribute("hover","");break;case"mouseleave":i.removeAttribute("hover")}}_mouseEventsHandler(e){const t=this,i=t.closest("jqx-splitter")||t.getRootNode().host;i&&i.disabled||JQX.Utilities.Core.isMobile||("mouseenter"!==e.type&&"mouseleave"!==e.type?e.target.closest(".jqx-splitter-far-collapse-button")!==t.$.farCollapseButton?e.target.closest(".jqx-splitter-near-collapse-button")!==t.$.nearCollapseButton?e.target.closest(".jqx-splitter-resize-button")===t.$.resizeButton&&("mouseover"===e.type?t.$.resizeButton.setAttribute("hover",""):t.$.resizeButton.removeAttribute("hover")):"mouseover"===e.type?t.$.nearCollapseButton.setAttribute("hover",""):t.$.nearCollapseButton.removeAttribute("hover"):"mouseover"===e.type?t.$.farCollapseButton.setAttribute("hover",""):t.$.farCollapseButton.removeAttribute("hover"):t._handleHoveredState(i,e.type))}}),JQX("jqx-splitter",class extends JQX.ContentElement{static get properties(){return{autoFitMode:{allowedValues:["end","proportional","overflow"],value:"proportional",type:"string"},dataSource:{value:null,type:"object?",reflectToAttribute:!1},orientation:{allowedValues:["horizontal","vertical"],value:"vertical",type:"string"},keepProportionsOnResize:{value:!1,type:"boolean"},resizeMode:{allowedValues:["none","adjacent","end","proportional"],value:"adjacent",type:"string"},resizeStep:{value:5,type:"number"},liveResize:{value:!1,type:"boolean"},messages:{extend:!0,value:{en:{invalidIndex:'{{elementType}}: "{{method}}" method accepts an index of type number.',indexOutOfBound:'{{elementType}}: Out of bound index/indexes in "{{method}}" method.',invalidNode:'{{elementType}}: "{{method}}" method accepts an object or an array of objects as it\'s second parameter.',invalidSettings:'{{elementType}}: "{{method}}" method accepts a string or an object as it\'s second parameter.',invalidType:'{{elementType}}: "{{propertyName}}" must be of type string or number.'}},type:"object"}}}static get listeners(){return{focus:"_focusHandler",blur:"_focusHandler",down:"_downHandler",move:"_moveHandler","document.dragstart":"_dragStartHandler","document.move":"_documentMoveHandler","document.up":"_documentUpHandler",keydown:"_keyDownHandler",resize:"_resizeEventHandler"}}get enableShadowDOM(){const e=this,t=JQX.EnableShadowDOM;return e._isInShadowDOM?!e._isInShadowDOM:e.isCompleted?null!==e.shadowRoot:t}static get styleUrls(){return["jqx.button.css","jqx.splitter.css"]}template(){return'<div id="container" role="presentation">\n                    <content></content>\n                </div>'}propertyChangedHandler(e,t,i){const s=this;switch(e){case"autoFitMode":s._validateItemSize();break;case"dataSource":s._createLayout();break;case"resizeMode":delete s._dragDetails;break;case"orientation":s.bars.forEach((e=>e.setAttribute("aria-orientation",i))),s._setMeasurements(),s.setAttribute("orientation-change","");for(let e=0;e<s._items.length;e++){const t=s._items[e];t.collapsed?(t.style[s._measurements.dimension]="",t.style[s._measurements.restricredDimension.toLowerCase()]="100%"):(t.size?(t.style[s._measurements.dimension]="",t._setSize("size",t.size,!0)):t.style[s._measurements.dimension]=t["offset"+s._measurements.restricredDimension]+"px",t.style[s._measurements.restricredDimension.toLowerCase()]="100%",t._setSize("min",t.min,!0),t._setSize("max",t.max,!0))}s._validateItemSize(),s.removeAttribute("orientation-change");break;case"unfocusable":s._setFocusable();break;default:super.propertyChangedHandler(e,t,i)}}appendChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e&&e instanceof JQX.SplitterItem?t.insertBefore(e,null):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"appendChild",node:"node"}))}attached(){super.attached();const e=this;e.isRendered&&e._validateItemSize()}collapse(e,t){const i=this;if("number"==typeof e&&(e=i._items[e]),!e)return;const s=i.closest("jqx-splitter")||(i.getRootNode()&&i.getRootNode().host?i.getRootNode().host.closest("jqx-splitter"):void 0);e instanceof JQX.SplitterItem&&s===i||"number"==typeof e&&i._items[e]?e.collapse(t):i.error(i.localize("invalidIndex",{elementType:i.nodeName.toLowerCase(),method:"collapse"}))}expand(e){const t=this;if("number"==typeof e&&(e=t._items[e]),!e)return;const i=t.closest("jqx-splitter")||(t.getRootNode()&&t.getRootNode().host?t.getRootNode().host.closest("jqx-splitter"):void 0);e instanceof JQX.SplitterItem&&i===t||"number"==typeof e&&t._items[e]?e.expand():t.error(t.localize("invalidIndex",{elementType:t.nodeName.toLowerCase(),method:"expand"}))}hideBar(e){const t=this;"number"==typeof e&&(e=t.bars[e]),e instanceof JQX.SplitterBar?e instanceof JQX.SplitterBar&&(t.enableShadowDOM?e.getRootNode().host:e.closest("jqx-splitter"))===t&&e.hide():t.error(t.localize("indexOutOfBound",{elementType:t.nodeName.toLowerCase(),method:"hideBar"}))}get items(){if(!this.isReady)return[];const e=this.$.container.children;let t=[];for(let i=0;i<e.length;i++)(e[i]instanceof JQX.SplitterItem||"jqx-splitter-item"===e[i].tagName.toLowerCase())&&t.push(e[i]);return t}insert(e,t){const i=this;if("string"==typeof t&&(t={content:t}),!t||"object"!=typeof t)return void i.error(i.localize("invalidSettings",{elementType:i.nodeName.toLowerCase(),method:"insert"}));if("number"!=typeof e)return void i.error(i.localize("invalidIndex",{elementType:i.nodeName.toLowerCase(),method:"insert"}));const s=t instanceof JQX.SplitterItem?t:i._createItem(t);if(i.contains(s)){if(i._items.indexOf(s)===e)return;i.removeChild(s)}e>=i._items.length||0===i._items.length?i.appendChild(s):i.insertBefore(s,i._items[e])}insertBefore(e,t){const i=this;function s(){const s=function(){let t=e.previousElementSibling;for(;t;){if(t instanceof JQX.SplitterItem)return t;t=t.previousElementSibling}}(),a=i._items[0];if("overflow"!==i.autoFitMode&&1===i._items.length){const e=a.locked;a.locked=!1,a._setSize("size",a.size||"",!0),a.locked=e}i._resizeHostItemOnInsert(s,e,n),i._items&&i._items.splice(t?i._items.indexOf(t):i._items.length,0,e),s&&(s.max&&s._setSize("max",s.max,!0),s.min&&s._setSize("min",s.min,!0)),i._validateItemSize()}if(!i.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(i,e.concat(Array.prototype.slice.call(arguments)))}if(!(e&&e instanceof JQX.SplitterItem))return void i.error(i.localize("invalidNode",{elementType:i.nodeName.toLowerCase(),method:"insertBefore",node:"newNode/referenceNode"}));if(t&&!(t instanceof JQX.SplitterItem))return void i.error(i.localize("invalidNode",{elementType:i.nodeName.toLowerCase(),method:"insertBefore",node:"newNode/referenceNode"}));if(e.style[i._measurements.restricredDimension.toLowerCase()]="100%",e.size){const t="string"==typeof e.size&&e.size.indexOf("%")>-1?"%":"px";e.style[i._measurements.dimension]="auto"===e.size?e.size:isNaN(parseFloat(e.size))?"":parseFloat(e.size)+t,"overflow"!==i.autoFitMode&&1===i._items.length&&(i._items[0].size="")}else e.style[i._measurements.dimension]="";if(e._sizeBeforeCollapse)if(e.size){const t="string"==typeof e.size&&e.size.indexOf("%")>-1?"%":"px";e.style[i._measurements.dimension]="auto"===e.size?e.size:isNaN(parseFloat(e.size))?0:parseFloat(e.size)+t,e._sizeBeforeCollapse=e[i._measurements.size]}else delete e._sizeBeforeCollapse;e.style["max"+i._measurements.restricredDimension]="none",e.style[i._measurements.maxDimension]=e._sizeLimits&&e.max?e._sizeLimits[i._measurements.maxDimension]+"px":"",e.collapsed?(e.style.minWidth=e.style.minHeight="",e.style[i._measurements.minDimension]=e.style[i._measurements.dimension]="0"):e.style[i._measurements.minDimension]=e._sizeLimits&&e.min?e._sizeLimits[i._measurements.minDimension]+"px":"";for(let e=0;e<i._items.length;e++)i._items[e]._sizeBeforeCollapse||(i._items[e]._sizeBeforeCollapse=i._items[e][i._measurements.size]);let n;i.$.container.insertBefore(e,t||null);const a=i.bars;e.previousElementSibling instanceof JQX.SplitterItem?(n=i._createBar(e,e.previousElementSibling),i.$.container.insertBefore(n,e)):e.nextElementSibling instanceof JQX.SplitterItem&&(n=i._createBar(e,e.nextElementSibling),i.$.container.insertBefore(n,e.nextElementSibling)),n&&a.length>0&&(n.style[i._measurements.restricredDimension.toLowerCase()]=a[0].style[i._measurements.restricredDimension.toLowerCase()]),e.isCompleted?s():(e.__onCompleted=e._onCompleted,e._onCompleted=function(){e.__onCompleted&&(e.__onCompleted(),delete e.__onCompleted),s()})}lockItem(e){const t=this;e instanceof JQX.SplitterItem?e.lock():"number"==typeof e&&t._items[e]?(e=t._items[e])&&e.lock():t.error(t.localize("invalidIndex",{elementType:t.nodeName.toLowerCase(),method:"lockItem"}))}lockBar(e){const t=this;e instanceof JQX.SplitterBar?e.lock():"number"==typeof e?(e=t.bars[e])&&e.lock():t.error(t.localize("invalidIndex",{elementType:t.nodeName.toLowerCase(),method:"lockBar"}))}get hasStyleObserver(){return"resize"}ready(){super.ready()}render(){const e=this;e.setAttribute("role","group"),e._isInitializing=!0,e._createLayout(),delete e._isInitializing,e._setFocusable(),super.render()}refresh(){this._resizeEventHandler()}removeAt(e){const t=this;e instanceof JQX.SplitterItem&&e.closest("jqx-splitter")===t?t.removeChild(e):"number"==typeof e?e>t._items.length||e<0?t.error(t.localize("indexOutOfBound",{elementType:t.nodeName.toLowerCase(),method:"remove"})):t.removeChild(t._items[e]):t.error(t.localize("invalidIndex",{elementType:t.nodeName.toLowerCase(),method:"remove"}))}removeAll(){this._items=[],this.$.container.innerHTML=""}removeChild(e){const t=this;function i(e,i,s){let n=e,a=t._items[n];for(;a&&a.collapsed;)a=t._items[n+=s];return a}if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}if(!(e&&e instanceof JQX.SplitterItem))return void t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"removeChild",node:"node"}));if(!t._items)return;let s=t._items.indexOf(e);e.collapsed?t.$.container.removeChild(t._items.indexOf(e._neighbourItem)>s?e.nextElementSibling:e.previousElementSibling):e.previousElementSibling instanceof JQX.SplitterBar?t.$.container.removeChild(e.previousElementSibling):e.nextElementSibling instanceof JQX.SplitterBar&&t.$.container.removeChild(e.nextElementSibling),t._items.splice(s,1),s=Math.max(0,s-1);let n=0;const a=t._items.filter((e=>!e.collapsed&&!e.locked)),r=e._sizeBeforeCollapse||e[t._measurements.size];if(a.map((e=>n+=(e.style[t._measurements.dimension]?e._sizeBeforeCollapse:0)||e[t._measurements.size])),t.$.content.removeChild(e),1===t._items.length&&t._items[0].collapsed||t._items.length>0&&t._items.map((e=>e.collapsed)).indexOf(!1)<0){const e=t._items[t._items.length-1];let i=e.context;e.context=e,e._expand(),e.context=i}for(let n=0;n<t._items.length;n++)if(t._items[n].collapsed&&t._items[n]._neighbourItem===e){let e,a;t._items[n]._neighbourItem=i(s,t._items[n],1),t._items[n]._neighbourItem?(e=t._items[n].nextElementSibling,e&&(a=e.context,e.context=e,e.itemCollapsed=!0,e.showNearButton=!(e.showFarButton=!1),e.context=a)):(t._items[n]._neighbourItem=i(s,t._items[n],-1),e=t._items[n].previousElementSibling,e&&(a=e.context,e.context=e,e.itemCollapsed=!0,e.showFarButton=!(e.showNearButton=!1),e.context=a))}if("proportional"===t.autoFitMode){let e,i,s;for(let o=0;o<a.length;o++)e=a[o]._sizeBeforeCollapse||a[o][t._measurements.size],i=e+r*(e/n),s=a[o]._sizeLimits[t._measurements.minDimension]||0,a[o].style[t._measurements.dimension]=(a[o]._sizeBeforeCollapse=Math.max(0,i))+"px",s>e&&(a[o][t._measurements.minDimension]=i+"px")}t._autoFitItems()}showBar(e){const t=this;e instanceof JQX.SplitterBar?e.show():"number"==typeof e?(e=t.bars[e])instanceof JQX.SplitterBar?e.show():t.error(t.localize("indexOutOfBound",{elementType:t.nodeName.toLowerCase(),method:"showBar"})):t.error(t.localize("invalidIndex",{elementType:t.nodeName.toLowerCase(),method:"showBar"}))}get bars(){if(!this.isReady)return[];const e=this.$.container.children;let t=[];for(let i=0;i<e.length;i++)(e[i]instanceof JQX.SplitterBar||"jqx-splitter-bar"===e[i].tagName.toLowerCase())&&t.push(e[i]);return t}unlockItem(e){const t=this;e instanceof JQX.SplitterItem?e.unlock():"number"==typeof e&&t._items[e]?(e=t._items[e])&&e.unlock():t.error(t.localize("invalidIndex",{elementType:t.nodeName.toLowerCase(),method:"unlockItem"}))}unlockBar(e){const t=this;e instanceof JQX.SplitterBar?e.unlock():"number"==typeof e?(e=t.bars[e])&&e.unlock():t.error(t.localize("invalidIndex",{elementType:t.nodeName.toLowerCase(),method:"unlockBar"}))}update(e,t){const i=this;if("number"!=typeof e||(e=i._items[e])){if(e instanceof JQX.SplitterItem&&t&&(i.enableShadowDOM?e.getRootNode().host:i.closest("jqx-splitter"))===i)for(let i in t)void 0!==e[i]&&(e[i]=t[i])}else i.error(i.localize("invalidIndex",{elementType:i.nodeName.toLowerCase(),method:"update"}))}_autoFitItems(){const e=this,t=e._items.length;if(0===t||"overflow"===e.autoFitMode)return;let i,s=[],n=[],a=[];for(let r=t-1;r>=0;r--)e._items[r].collapsed?n.push(e._items[r]):e._items[r].locked?s.push(e._items[r]):i?e._items[r].size||a.push(e._items[r]):i=e._items[r];i&&i.size&&a.length>0&&(i=a.filter((t=>!t.max&&!t._sizeLimits[e._measurements.maxDimension]))[0]||i),n.length===t&&(i=n[0],i.expand(),i.unlock()),e._autoFitLastItem(i,n,s)}_autoFitLastItem(e,t,i){const s=this,n=s._items.length;let a;if(1===n&&s._items[0].locked&&(a=s._items[0],a.locked=!1),i.length===n&&i[0].unlock(),e||(e=i[0]).unlock(),1===s._items.length)e._setSize("size","100%",!0),delete e._originalSize;else{const t="offset"+("width"===s._measurements.dimension?"Width":"Height");let i=0,n=0;s._items.map((e=>i+=e.collapsed?0:e.style[s._measurements.dimension]&&e.style[s._measurements.dimension].indexOf("%")<-1&&e._sizeBeforeCollapse?e._sizeBeforeCollapse:e[t])),s.bars.map((e=>n+=e[s._measurements.size]));const a=i+n,r=s.$.container[t];if(a!==r){let i;i=e.style[s._measurements.dimension].indexOf("%")<-1&&e._sizeBeforeCollapse?e._sizeBeforeCollapse:e[t];let n=Math.abs(r-a),o=a<r?1:-1;const l=Math.max(0,i+o*n);e.style[s._measurements.dimension]=(e._sizeBeforeCollapse=l)+"px",delete e._originalSize,s._validateItemLimits(e,l)}}a&&(a.locked=!0)}_validateItemLimits(e,t){const i=this,s=i.$.container.getBoundingClientRect()[i._measurements.dimension];let n,a,r;r=e._min||e.min,r&&(n="string"==typeof r&&r.indexOf("%")>-1,a=n?parseFloat(r)*s/100:parseFloat(r),a>t?(e.style[i._measurements.minDimension]=n?100*t/s+"%":t+"px",e._sizeLimits[i._measurements.minDimension]=t,e._min=r,e.set("min",e.style[i._measurements.minDimension])):a<t&&(e.style[i._measurements.minDimension]=n?100*a/s+"%":a+"px",e._sizeLimits[i._measurements.minDimension]=a,e.set("min",r),delete e._min)),r=e._max||e.max,r&&(n="string"==typeof r&&r.indexOf("%")>-1,a=n?parseFloat(r)*s/100:parseFloat(r),a<t?(e.style[i._measurements.maxDimension]=n?100*t/s+"%":t+"px",e._sizeLimits[i._measurements.maxDimension]=t,e._max=r,e.set("max",e.style[i._measurements.maxDimension])):a>t&&(e.style[i._measurements.maxDimension]=n?100*a/s+"%":a+"px",e._sizeLimits[i._measurements.maxDimension]=a,e.set("max",r),delete e._max))}_autoFitItemsProportionally(e,t){const i=this,s=i._items.filter((e=>!e.collapsed&&!e.locked));let n,a,r,o=e[i._measurements.size],l=0;if(s.map((e=>l+=e._sizeBeforeCollapse||e[i._measurements.size])),t&&(l-=t[i._measurements.size]),e.size&&!e.isCompleted&&(e._setSize("size",o),o=e._sizeBeforeCollapse),o=Math.min(i.$.container[i._measurements.size]/2,e[i._measurements.size]),"string"==typeof e.size&&e.size.indexOf("%")>-1){const t=i.$.container.getBoundingClientRect()[i._measurements.dimension];e._sizeBeforeCollapse=o,e.style[i._measurements.dimension]=100*o/t+"%"}else e.style[i._measurements.dimension]=(e._sizeBeforeCollapse=o)+"px";for(let e=0;e<s.length;e++)n=s[e]._sizeBeforeCollapse||s[e][i._measurements.size],a=n/l*(l-o),r=s[e]._sizeLimits[i._measurements.minDimension]||0,s[e].style[i._measurements.dimension]=(s[e]._sizeBeforeCollapse=Math.max(r,a))+"px",delete s[e]._originalSize}_createLayout(){const e=this;if(e._items=[],"string"==typeof e.dataSource&&(e.dataSource=JSON.parse(e.dataSource)),null!==e.dataSource&&Array.isArray(e.dataSource)){e.$.container.innerHTML="";let t,i=document.createDocumentFragment();for(let s=0;s<e.dataSource.length;s++)t=e._createItem(e.dataSource[s]),i.appendChild(t);e._handleSplitterBars(i)}else e._handleSplitterBars(e.$.container)}_createBar(e,t){const i=this,s=document.createElement("jqx-splitter-bar");return e.collapsed?(s.itemCollapsed=!0,i._items.indexOf(e)===i._items.length-1?s.showNearButton=!0:s.showFarButton=!0):(e.collapsible&&(s.showNearButton=!0),t&&t instanceof JQX.SplitterItem&&t.collapsible&&(t===e.nextElementSibling?s.showFarButton=!0:s.showNearButton=!0)),s.setAttribute("aria-controls",e.id+(t?" "+t.id:"")),s.setAttribute("aria-orientation",i.orientation),s}_createItem(e){const t=document.createElement("jqx-splitter-item");return e.id&&(t.id=e.id),t.innerHTML=e.content||"",t.collapsible=e.collapsible||!1,t.collapsed=e.collapsed||!1,t.locked=e.locked||!1,e.max&&(t.max=e.max),e.min&&(t.min=e.min),e.size&&(t.size=e.size),t}_completeResizing(e){const t=this;if(t._dragDetails){if(t._splitBarDummy&&t._splitBarDummy.parentElement){if(!e)if(t._dragDetails.firstItem.style[t._measurements.dimension]=(t._dragDetails.firstItem._sizeBeforeCollapse=t._dragDetails.firstItem.currentSize+t._dragDetails.firstItem._paddings)+"px",delete t._dragDetails.firstItem._originalSize,"proportional"!==t.resizeMode)t._dragDetails.secondItem.style[t._measurements.dimension]=(t._dragDetails.secondItem._sizeBeforeCollapse=t._dragDetails.splitAreaSize-t._dragDetails.firstItem.currentSize+t._dragDetails.secondItem._paddings)+"px",delete t._dragDetails.secondItem._originalSize;else{const e=t._dragDetails.itemProportions.length;if(e>1)for(let i=0;i<e;i++)t._dragDetails.itemProportions[i].item.style[t._measurements.dimension]=(t._dragDetails.itemProportions[i].item._sizeBeforeCollapse=t._dragDetails.itemProportions[i].currentSize+t._dragDetails.itemProportions[i].item._paddings)+"px",delete t._dragDetails.itemProportions[i]._originalSize;else t._dragDetails.secondItem[0].style[t._measurements.dimension]=(t._dragDetails.secondItem[0]._sizeBeforeCollapse=Math.floor(t._dragDetails.splitAreaSize-t._dragDetails.firstItem.currentSize+t._dragDetails.firstItem._paddings))+"px",delete t._dragDetails.secondItem[0]._originalSize}t._validateBarsSize(),t.$.fireEvent("resizeEnd",{firstItem:{index:t._items.indexOf(t._dragDetails.firstItem),oldSize:t._dragDetails.firstItem.originalSize,newSize:t._dragDetails.firstItem[t._measurements.size]},secondItem:Array.isArray(t._dragDetails.secondItem)?{index:t._dragDetails.secondItem.map((e=>t._items.indexOf(e))),oldSize:t._dragDetails.secondItem.map((e=>e.originalSize)),newSize:t._dragDetails.secondItem.map((e=>e[t._measurements.size]))}:{index:t._items.indexOf(t._dragDetails.secondItem),oldSize:t._dragDetails.secondItem.originalSize,newSize:t._dragDetails.secondItem[t._measurements.size]}}),t._splitBarDummy.classList.remove("limit-reached"),t._splitBarDummy.parentElement.removeChild(t._splitBarDummy)}t.liveResize&&t.$.fireEvent("resizeEnd",{firstItem:{index:t._items.indexOf(t._dragDetails.firstItem),oldSize:t._dragDetails.firstItem.originalSize,newSize:t._dragDetails.firstItem[t._measurements.size]},secondItem:Array.isArray(t._dragDetails.secondItem)?{index:t._dragDetails.secondItem.map((e=>t._items.indexOf(e))),oldSize:t._dragDetails.secondItem.map((e=>e.originalSize)),newSize:t._dragDetails.secondItem.map((e=>e[t._measurements.size]))}:{index:t._items.indexOf(t._dragDetails.secondItem),oldSize:t._dragDetails.secondItem.originalSize,newSize:t._dragDetails.secondItem[t._measurements.size]}}),t.removeAttribute("dragged"),delete t._dragDetails,delete t._keyboardResizing}}_dragStartHandler(e){this._dragDetails&&e.preventDefault()}_downHandler(e){const t=this;if(e.stopPropagation(),t.disabled)return;if(t._keyboardResizing)return void t._completeResizing();const i=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;let s=i.closest("jqx-splitter");s||(s=i.getRootNode()&&i.getRootNode().host?i.getRootNode().host.closest("jqx-splitter"):void 0);const n=i&&i.closest?i.closest("jqx-splitter-bar"):null;if(n&&s===t){if(i.closest(".jqx-splitter-near-collapse-button")===n.$.nearCollapseButton)return void(t._collapseButtonPressed={splitBar:n,item:n.previousElementSibling,target:n.$.nearCollapseButton,farCollapse:!1});if(i.closest(".jqx-splitter-far-collapse-button")===n.$.farCollapseButton)return void(t._collapseButtonPressed={splitBar:n,item:n.nextElementSibling,target:n.$.farCollapseButton,farCollapse:!0});n.itemCollapsed||n.locked||"none"===t.resizeMode||t._setDragDetails(n,e)}}_moveHandler(){this.hasAttribute("dragged")&&JQX.Utilities.Core.isMobile&&event.originalEvent.preventDefault()}_documentMoveHandler(e){const t=this;t._keyboardResizing||t.disabled||t._resize(e)}_documentUpHandler(e){const t=this;if(t.removeAttribute("dragging-not-allowed"),t.removeAttribute("show-locked-items"),t.disabled)return delete t._dragDetails,void delete t._collapseButtonPressed;const i=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;return t._completeResizing(),t._collapseButtonPressed&&i.closest("."+t._collapseButtonPressed.target.classList[0])===t._collapseButtonPressed.target?(t._collapseButtonPressed.item.collapsed?t.expand(t._collapseButtonPressed.item):t.collapse(t._collapseButtonPressed.item,t._collapseButtonPressed.farCollapse),void delete t._collapseButtonPressed):void 0}_ensureItemsReady(e,t){const i=this,s=function(){const i=function(t){for(let i=0;i<e.length;i++)e[i].context="node"===t?e[i]:document};i("node"),t(),i()};if(0===e.length)s();else{i._nodesReadyListeners=0;for(let t=0;t<e.length;t++){const n=e[t],a=function(){i._nodesReadyListeners--,0===i._nodesReadyListeners&&(s(),delete i._nodesReadyListeners)}.bind(i);n.isCompleted||(i._nodesReadyListeners++,n._onCompleted=a)}0===i._nodesReadyListeners&&s()}}_focusHandler(e){"focus"===e.type?this.setAttribute("focus",""):this.removeAttribute("focus")}_getTargetItem(e,t,i){const s=this;let n=i?s._items[s._items.length-1]:e[t];for(;n;){if(n instanceof JQX.SplitterItem&&!n.collapsed){if(!n.locked)return n;s._dragDetails&&!s._dragDetails.firstItem&&(s._dragDetails.lockedItemsSize+=n[s._measurements.size]+(n.previousElementSibling instanceof JQX.SplitterBar?n.previousElementSibling[s._measurements.size]:0))}n=n[t]}}_handleSplitterBars(e){const t=this;if(t._items.length<1&&(t._items=e.parentElement?t.items:Array.from(e.children)),t._measurements||t._setMeasurements(),t._items.length<2){const i=t.bars;for(let t=0;t<i.length;t++)e.removeChild(i[t])}let i;t._noItemSizeValidation=!0,e.parentElement||e===t.$.container||(t.$.container.appendChild(e),e=t.$.container),t._noItemSizeValidation=!1;for(let s=0;s<t._items.length;s++){if(i=t._items[s],0===s)for(;e.firstElementChild&&e.firstElementChild!==i;)e.removeChild(e.firstElementChild);i.style[t._measurements.restricredDimension.toLowerCase()]="100%",i.style["max"+t._measurements.restricredDimension]="none",i.size||(i.style[t._measurements.dimension]=i._sizeBeforeCollapse?i._sizeBeforeCollapse+"px":"");const n=i.min,a=i.max;if("string"==typeof n&&n.indexOf("%")>-1&&i._setSize("min",n),"string"==typeof a&&a.indexOf("%")>-1&&i._setSize("max",a),i.style[t._measurements.maxDimension]=i.max?i._sizeLimits[t._measurements.maxDimension]+"px":"",i.nextElementSibling){let e=i.nextElementSibling;if(e instanceof JQX.SplitterItem||"jqx-splitter-item"===e.tagName.toLowerCase())i.parentNode.insertBefore(t._createBar(i,i.nextElementSibling),i.nextElementSibling);else for((e instanceof JQX.SplitterBar||"jqx-splitter-bar"===e.tagName.toLowerCase())&&(e=e.nextElementSibling);e&&(!(e instanceof JQX.SplitterItem)||"jqx-splitter-item"!==e.tagName.toLowerCase());)e.parentNode.removeChild(e),e=e.nextElementSibling}if(i.collapsed){const e=i.collapsible;i.style.minWidth=i.style.minHeight="",i.style[t._measurements.minDimension]="0",i._ignorePropertyValue=!0,i.collapsible=!0,i.collapse(),i.collapsible=e}else i.style[t._measurements.minDimension]=i._sizeLimits&&i.min?i._sizeLimits[t._measurements.minDimension]+"px":""}if(i)for(;e.lastElementChild!==i;)e.removeChild(e.lastElementChild);t._ensureItemsReady(t._items,t._validateItemSize.bind(t))}_keyDownHandler(e){const t=this;if(t.disabled)return;let i=t.enableShadowDOM?t.shadowRoot.activeElement:document.activeElement;if("w"===e.key&&e.altKey){e.preventDefault();const s=t.enableShadowDOM?t.shadowRoot.querySelector("jqx-splitter-bar"):t.querySelector("jqx-splitter-bar");return i!==s&&t._completeResizing(!0),void s.focus()}if(!e.ctrlKey&&t._splitBarDummy&&t._splitBarDummy.parentElement)i=t._splitBarDummy;else if(!(i instanceof JQX.SplitterBar))return;if((t.enableShadowDOM?i.getRootNode().host:i.closest("jqx-splitter"))===t)switch(e.key){case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"ArrowDown":{if(("ArrowUp"===e.key||"ArrowDown"===e.key)&&"vertical"===t.orientation)return;if(("ArrowLeft"===e.key||"ArrowRight"===e.key)&&"horizontal"===t.orientation)return;e.preventDefault();const s="ArrowLeft"===e.key||"ArrowUp"===e.key?-1:1;if(e.ctrlKey){let e,n;return t._completeResizing(!0),s<0?(n=i.previousElementSibling,e=i.nextElementSibling):(e=i.previousElementSibling,n=i.nextElementSibling),void(e.collapsed?e.expand():n.collapse(s>0))}if(i.locked)return;if("none"===t.resizeMode)return;let n;t._keyboardResizing=!0,t._dragDetails?n=t._dragDetails.position+s*t.resizeStep:(t._setDragDetails(i),n=i[t._measurements.offset]+s*t.resizeStep),t._resize({pageX:n,pageY:n});break}case"Enter":t._completeResizing();break;case"Escape":case"Tab":t._completeResizing(!0)}}_mouseEventsHandler(e){"mouseenter"!==e.type||JQX.Utilities.Core.isMobile?this.removeAttribute("hover"):this.setAttribute("hover","")}_recalcItemSize(e,t,i){const s=this;let n,a;if(i||(i=t),e>0)for(let r=0;r<t;r++)a=s._dragDetails.itemProportions[r].item._sizeLimits[s._measurements.minDimension],s._dragDetails.itemProportions[r].currentSize>a&&(n=s._dragDetails.itemProportions[r].currentSize-a<e/i?s._dragDetails.itemProportions[r].currentSize-a:e/i,e-=n,s._dragDetails.itemProportions[r].currentSize=Math.max(a,s._dragDetails.itemProportions[r].currentSize-n),delete s._dragDetails.itemProportions[r]._originalSize),i=Math.max(1,i-1);else{const a=s._dragDetails.splitAreaSize-s._dragDetails.firstItem.currentSize-(t>1?s._dragDetails.secondItemTotalMinSize-s._dragDetails.itemProportions[0].item._sizeLimits[s._measurements.minDimension]:0);let r;for(let o=0;o<t;o++)r=s._dragDetails.itemProportions[o].item._sizeLimits[s._measurements.maxDimension]?Math.min(s._dragDetails.itemProportions[o].item._sizeLimits[s._measurements.maxDimension],a):a,s._dragDetails.itemProportions[o].currentSize<r&&(n=s._dragDetails.itemProportions[o].currentSize-e/i>r?-1*(r-s._dragDetails.itemProportions[o].currentSize):e/i,e-=n,s._dragDetails.itemProportions[o].currentSize=Math.min(r,s._dragDetails.itemProportions[o].currentSize-n),delete s._dragDetails.itemProportions[o]._originalSize),i=Math.max(1,i-1)}Math.abs(e)>.1&&s._recalcItemSize(e,t,i)}_resize(e){const t=this;if(!t._dragDetails)return;let i,s=e[t._measurements.pagePosition]-t._dragDetails.position;const n=Math.sign(s),a=t._dragDetails.firstItem._sizeLimits[t._measurements.minDimension],r=t._dragDetails.firstItem._sizeLimits[t._measurements.maxDimension];let o,l;if(t.hasAttribute("dragged")||t.$.fireEvent("resizeStart",{firstItem:{index:t._items.indexOf(t._dragDetails.firstItem),size:t._dragDetails.firstItem[t._measurements.size]},secondItem:Array.isArray(t._dragDetails.secondItem)?{index:t._dragDetails.secondItem.map((e=>t._items.indexOf(e))),size:t._dragDetails.secondItem.map((e=>e[t._measurements.size]))}:{index:t._items.indexOf(t._dragDetails.secondItem),size:t._dragDetails.secondItem[t._measurements.size]}}),t.setAttribute("dragged",""),Math.abs(s)<t.resizeStep)return;let m=Math.max(t.resizeStep,Math.floor(Math.abs(s)/t.resizeStep)*t.resizeStep);const d=s-n*m;switch(t.resizeMode){case"adjacent":case"end":for(n>0?(o=t._dragDetails.splitAreaSize-t._dragDetails.firstItem.currentSize,l=()=>o-t._dragDetails.secondItemTotalMinSize>=m||r&&t._dragDetails.firstItem.currentSize+t.resizeStep<=r,i=()=>r&&t._dragDetails.firstItem.currentSize===r||o-t.resizeStep<=t._dragDetails.secondItemTotalMinSize):(o=t._dragDetails.firstItem.currentSize,l=()=>o-a>=m||t._dragDetails.secondItemTotalMaxSize&&t._dragDetails.splitAreaSize-t._dragDetails.firstItem.currentSize+t.resizeStep<=t._dragDetails.secondItemTotalMaxSize,i=()=>t._dragDetails.secondItemTotalMaxSize&&t._dragDetails.splitAreaSize-t._dragDetails.firstItem.currentSize===t._dragDetails.secondItemTotalMaxSize||o-t.resizeStep<=a),s=0;m>0;)l()&&(s+=n*t.resizeStep),m-=t.resizeStep;t._resizeItem(e,s,d);break;case"proportional":{const s=t._dragDetails.splitAreaSize-t._dragDetails.firstItem.currentSize;let _,p;for(n>0?(o=Math.abs(s-t._dragDetails.secondItemTotalMinSize),l=()=>o>=m||r&&t._dragDetails.firstItem.currentSize+t.resizeStep<=r,i=()=>r&&t._dragDetails.firstItem.currentSize===r||t._dragDetails.splitAreaSize-t._dragDetails.firstItem.currentSize-t.resizeStep<t._dragDetails.secondItemTotalMinSize):(o=t._dragDetails.firstItem.currentSize,l=()=>o-a>=m&&(!t._dragDetails.secondItemTotalMaxSize||t._dragDetails.splitAreaSize-t._dragDetails.firstItem.currentSize+t.resizeStep<=t._dragDetails.secondItemTotalMaxSize),i=()=>t._dragDetails.secondItemTotalMaxSize&&t._dragDetails.splitAreaSize+t.resizeStep-t._dragDetails.firstItem.currentSize>=t._dragDetails.secondItemTotalMaxSize||t._dragDetails.firstItem.currentSize-t.resizeStep<a);m>0;)l()&&(p=!0,_=Math.min(r?Math.min(r,t._dragDetails.splitAreaSize-t._dragDetails.secondItemTotalMinSize):t._dragDetails.splitAreaSize-t._dragDetails.secondItemTotalMinSize,Math.max(a,t._dragDetails.firstItem.currentSize+n*t.resizeStep)),t._dragDetails.firstItem.currentSize=t._dragDetails.firstItem._sizeBeforeCollapse=Math.floor(_)),m-=t.resizeStep;if(!p)break;const c=t._dragDetails.splitAreaSize-t._dragDetails.firstItem.currentSize,u=t._dragDetails.itemProportions.length;if(t._recalcItemSize(s-c,u),t.liveResize)if(t._dragDetails.firstItem.style[t._measurements.dimension]=t._dragDetails.firstItem.currentSize+t._dragDetails.firstItem._paddings+"px",u>1)for(let e=0;e<u;e++)t._dragDetails.itemProportions[e].item.style[t._measurements.dimension]=t._dragDetails.itemProportions[e].item._sizeBeforeCollapse=t._dragDetails.itemProportions[e].currentSize+t._dragDetails.itemProportions[e].item._paddings+"px";else t._dragDetails.secondItem[0].style[t._measurements.dimension]=(t._dragDetails.secondItem[0]._sizeBeforeCollapse=Math.floor(c+t._dragDetails.itemProportions[0].item._paddings))+"px";else t._splitBarDummy.style[t._measurements.position]=t._dragDetails.firstItem[t._measurements.offset]+t._dragDetails.firstItem.currentSize+t._dragDetails.lockedItemsSize+t._dragDetails.firstItem._paddings+"px";const g=t._dragDetails.firstItem.getBoundingClientRect()["vertical"===t.orientation?"left":"top"]+t._dragDetails.splitBarOffset,f=r&&t._dragDetails.splitAreaSize-r>t._dragDetails.secondItemTotalMinSize?r:t._dragDetails.splitAreaSize-t._dragDetails.secondItemTotalMinSize;t._dragDetails.position=Math.max(g+(t._dragDetails.secondItemTotalMaxSize?Math.max(t._dragDetails.splitAreaSize-t._dragDetails.secondItemTotalMaxSize,a):a)+t._dragDetails.lockedItemsSize+t._dragDetails.firstItem._paddings,Math.min(g+f+t._dragDetails.lockedItemsSize+t._dragDetails.firstItem._paddings,e[t._measurements.pagePosition]-d));break}}t.liveResize||(i()?t._splitBarDummy.classList.add("limit-reached"):t._splitBarDummy.classList.remove("limit-reached")),t._validateBarsSize()}_resizeEventHandler(e){const t=this;if(t._items){if(e&&(t.enableShadowDOM?e.composedPath()[0]:e.target)!==t)return;t._resizeEventFired=!0,t._validateItemSize(),t._resizeEventFired=!1}}_resizeHostItemOnInsert(e,t,i){const s=this;if("proportional"===s.autoFitMode)return void s._autoFitItemsProportionally(t,i);if(!e||e.locked||"overflow"===s.autoFitMode)return;t.size&&(e=function(){let e=t.previousElementSibling;for(;e;){if(e instanceof JQX.SplitterItem&&!e.size)return e;e=e.previousElementSibling}}()||e);const n=e[s._measurements.size]-t[s._measurements.size]-i[s._measurements.size],a=Math.max(e._sizeLimits[s._measurements.minDimension],n);e.style[s._measurements.maxDimension]=e.max?isNaN(parseFloat(e.max))?"":parseFloat(e.max)+typeof e.max=="string"&&e.max.indexOf("%")>-1?"%":"px":"";const r=e.style[s._measurements.maxDimension]?parseFloat(e.style[s._measurements.maxDimension]):0;t.size?e.style[s._measurements.dimension]=(e._sizeBeforeCollapse=r?Math.min(r,a):a)+"px":(e.style[s._measurements.dimension]=e.size?"auto"===e.size?e.size:isNaN(parseFloat(e.size))?0:parseFloat(e.size)+("string"==typeof e.size&&e.size.indexOf("%")>-1?"%":"px"):"",e._sizeBeforeCollapse=e[s._measurements.size])}_resizeItem(e,t,i){const s=this;let n=Math.max(s._dragDetails.firstItem._sizeLimits[s._measurements.minDimension]||0,Math.min(s._dragDetails.splitAreaSize-s._dragDetails.secondItem._sizeLimits[s._measurements.minDimension],s._dragDetails.firstItem._sizeLimits[s._measurements.maxDimension]?Math.min(s._dragDetails.firstItem._sizeLimits[s._measurements.maxDimension],s._dragDetails.firstItem.currentSize+t):s._dragDetails.firstItem.currentSize+t)),a=s._dragDetails.firstItem._sizeLimits[s._measurements.minDimension]||0;s._dragDetails.secondItem._sizeLimits[s._measurements.maxDimension]&&s._dragDetails.splitAreaSize-n>s._dragDetails.secondItem._sizeLimits[s._measurements.maxDimension]&&(a=n=s._dragDetails.splitAreaSize-(s._dragDetails.secondItem._sizeLimits[s._measurements.maxDimension]||0)),s._dragDetails.firstItem.currentSize=n,s.liveResize?(s._dragDetails.firstItem.style[s._measurements.dimension]=(s._dragDetails.firstItem._sizeBeforeCollapse=n+s._dragDetails.firstItem._paddings)+"px",s._dragDetails.secondItem.style[s._measurements.dimension]=(s._dragDetails.secondItem._sizeBeforeCollapse=s._dragDetails.splitAreaSize-n+s._dragDetails.firstItem._paddings)+"px",delete s._dragDetails.firstItem._originalSize,delete s._dragDetails._originalSize):s._splitBarDummy.style[s._measurements.position]=s._dragDetails.firstItem[s._measurements.offset]+n+s._dragDetails.lockedItemsSize+s._dragDetails.firstItem._paddings+"px";const r=s._dragDetails.firstItem.getBoundingClientRect()["vertical"===s.orientation?"left":"top"]+s._dragDetails.splitBarOffset;s._dragDetails.position=Math.max(r+a+s._dragDetails.firstItem._paddings,Math.min(r+s._dragDetails.splitAreaSize-(s._dragDetails.secondItem._sizeLimits[s._measurements.minDimension]||0)+s._dragDetails.lockedItemsSize+s._dragDetails.firstItem._paddings,e[s._measurements.pagePosition]-i)),s._dragDetails.firstItem._sizeLimits[s._measurements.maxDimension]&&(s._dragDetails.position=Math.min(r+s._dragDetails.firstItem._sizeLimits[s._measurements.maxDimension],s._dragDetails.position))}_setFocusable(){const e=this;e.disabled||e.unfocusable?e.removeAttribute("tabindex"):e.tabIndex=e.tabIndex>0?e.tabIndex:0}_setDragDetails(e,t){const i=this;if(i._dragDetails={},i._measurements||i._setMeasurements(),i._dragDetails.scrollAmount=e.parentElement[i._measurements.scroll],i._dragDetails.lockedItemsSize=0,i.setAttribute("show-locked-items",""),!(i._dragDetails.firstItem=i._getTargetItem(e,"previousElementSibling")))return delete i._dragDetails,void i.setAttribute("dragging-not-allowed","");i._dragDetails.firstItem.set("size",""),i._dragDetails.firstItem.currentSize=i._dragDetails.firstItem[i._measurements.size],i._dragDetails.firstItem.originalSize=i._dragDetails.firstItem.currentSize;let s,n=getComputedStyle(i._dragDetails.firstItem);if(i._dragDetails.firstItem._paddings=(parseFloat(n.getPropertyValue("padding-"+i._measurements.position))||0)+(parseFloat(n.getPropertyValue("padding-"+i._measurements.position2))||0),i._dragDetails.firstItem.currentSize-=i._dragDetails.firstItem._paddings,i._dragDetails.splitAreaSize=0,i._dragDetails.secondItemTotalMaxSize=0,i._dragDetails.secondItemTotalMinSize=0,"proportional"===i.resizeMode){if(i._setProportionalDetails())return}else if(i._setAdjacentOrEndDetails(e))return;t&&"object"==typeof t?s=e.getBoundingClientRect()[i._measurements.position]:(t={pageX:e[i._measurements.offset],pageY:e[i._measurements.offset]},s=e[i._measurements.offset]),i._dragDetails.position=t[i._measurements.pagePosition],i._dragDetails.splitBarOffset=i._dragDetails.position-s,i.liveResize||(i._splitBarDummy||(i._splitBarDummy=document.createElement("div"),i._splitBarDummy.classList.add("jqx-splitter-bar-feedback"),i._splitBarDummy.setAttribute(i.orientation,"")),i._splitBarDummy.style.width=e.offsetWidth+"px",i._splitBarDummy.style.height=e.offsetHeight+"px",i._splitBarDummy.style.top=e.offsetTop+"px",i._splitBarDummy.style.left=e.offsetLeft+"px",i._splitBarDummy.setAttribute(i.orientation,""),e.parentElement.appendChild(i._splitBarDummy))}_setAdjacentOrEndDetails(e){const t=this;if(!(t._dragDetails.secondItem="adjacent"===t.resizeMode?t._getTargetItem(e,"nextElementSibling"):t._getTargetItem(e,"previousElementSibling",!0)))return delete t._dragDetails,t.setAttribute("dragging-not-allowed",""),!0;t._dragDetails.secondItem.set("size",""),t._dragDetails.secondItem.currentSize=t._dragDetails.secondItem[t._measurements.size],t._dragDetails.secondItem.originalSize=t._dragDetails.secondItem.currentSize;const i=getComputedStyle(t._dragDetails.secondItem);t._dragDetails.secondItem._paddings=(parseFloat(i.getPropertyValue("padding-"+t._measurements.position))||0)+(parseFloat(i.getPropertyValue("padding-"+t._measurements.position2))||0),t._dragDetails.secondItem.currentSize-=t._dragDetails.secondItem._paddings,t._dragDetails.splitAreaSize=t._dragDetails.firstItem.currentSize+t._dragDetails.secondItem.currentSize,t._dragDetails.secondItemTotalMaxSize=t._dragDetails.secondItem._sizeLimits[t._measurements.maxDimension],t._dragDetails.secondItemTotalMinSize=t._dragDetails.secondItem._sizeLimits[t._measurements.minDimension]}_setMeasurements(){const e=this;e._measurements={},"horizontal"===e.orientation?(e._measurements.dimension="height",e._measurements.minDimension="minHeight",e._measurements.maxDimension="maxHeight",e._measurements.restricredDimension="Width",e._measurements.size="offsetHeight",e._measurements.offset="offsetTop",e._measurements.position="top",e._measurements.position2="bottom",e._measurements.pagePosition="pageY",e._measurements.scroll="scrollTop"):(e._measurements.dimension="width",e._measurements.minDimension="minWidth",e._measurements.maxDimension="maxWidth",e._measurements.restricredDimension="Height",e._measurements.size="offsetWidth",e._measurements.offset="offsetLeft",e._measurements.position="left",e._measurements.position2="right",e._measurements.pagePosition="pageX",e._measurements.scroll="scrollLeft"),e._measurements.overflow=getComputedStyle(e).getPropertyValue("overflow")}_setProportionalDetails(){const e=this;if(e._dragDetails.secondItem=e._items.slice(e._items.indexOf(e._dragDetails.firstItem)+1).filter((e=>!e.collapsed&&!e.locked)),0===e._dragDetails.secondItem.length)return delete e._dragDetails,!0;let t;e._dragDetails.splitAreaSize+=e._dragDetails.firstItem.currentSize,e._dragDetails.itemProportions=[];for(let i=0;i<e._dragDetails.secondItem.length;i++){e._dragDetails.secondItem[i].set("size",""),e._dragDetails.secondItem[i].currentSize=e._dragDetails.secondItem[i][e._measurements.size],e._dragDetails.secondItem[i].originalSize=e._dragDetails.secondItem[i].currentSize;const s=getComputedStyle(e._dragDetails.secondItem[i]);e._dragDetails.secondItem[i]._paddings=(parseFloat(s.getPropertyValue("padding-"+e._measurements.position))||0)+(parseFloat(s.getPropertyValue("padding-"+e._measurements.position2))||0),e._dragDetails.secondItem[i].currentSize-=e._dragDetails.secondItem[i]._paddings,e._dragDetails.splitAreaSize+=e._dragDetails.secondItem[i].currentSize,e._dragDetails.itemProportions.push({item:e._dragDetails.secondItem[i],currentSize:e._dragDetails.secondItem[i].currentSize}),e._dragDetails.secondItem[i]._sizeLimits[e._measurements.maxDimension]||(t=!0),e._dragDetails.secondItemTotalMinSize+=e._dragDetails.secondItem[i]._sizeLimits[e._measurements.minDimension],e._dragDetails.secondItemTotalMaxSize+=e._dragDetails.secondItem[i]._sizeLimits[e._measurements.maxDimension]}t&&(e._dragDetails.secondItemTotalMaxSize=0)}_validateBarsSize(){const e=this;if("100%"!==(getComputedStyle(e).getPropertyValue("--jqx-splitter-bar-fit-size")+"").trim())return void e.bars.forEach((t=>t.style[e._measurements.restricredDimension.toLowerCase()]=null));if(!e._dragDetails&&"vertical"===e.orientation&&e.resizeTrigger){const t=e.offsetHeight;if(e.resizeTrigger.style.display="none",e.offsetHeight===t)return e.resizeTrigger.style.display=null,void e.bars.forEach((t=>t.style[e._measurements.restricredDimension.toLowerCase()]=null));e.resizeTrigger.style.display=null}let t=e._items[0];const i="offset"+e._measurements.restricredDimension,s=e.bars;if(0!==s.length){for(let s=0;s<e._items.length;s++)e._items[s][i]>t[i]&&(t=e._items[s]);t&&t[i]!==s[0][i]&&s.forEach((s=>s.style[e._measurements.restricredDimension.toLowerCase()]=t[i]+"px"))}}_validateItemSize(e){const t=this;if("overflow"===t.autoFitMode)return void t._validateBarsSize();const i=t._items,s=t._measurements.dimension,n="offset"+("width"===s?"Width":"Height"),a=t.$.container[n],r=e=>"string"==typeof e&&e.indexOf("%")>-1;let o=0;for(let e=0;e<i.length;e++){const l=i[e];if(l.min&&r(l.min)&&(l._sizeLimits[t._measurements.minDimension]=parseFloat(l.min)*a/100),l.max&&r(l.max)&&(l._sizeLimits[t._measurements.maxDimension]=parseFloat(l.max)*a/100),!l.collapsed){const e=l.style[s];o+=e&&e.indexOf("%")<-1&&l._sizeBeforeCollapse?l._sizeBeforeCollapse:l[n]}}if(t.keepProportionsOnResize&&t._resizeEventFired)t._keepItemProportionsOnResize();else{if("horizontal"===t.orientation&&t.resizeTrigger){const e=t.offsetHeight;if(t.resizeTrigger.style.display="none",t.offsetHeight!==e)return void(t.resizeTrigger.style.display=null);t.resizeTrigger.style.display=null}let i=o+t.bars.reduce(((e,i)=>e+i[t._measurements.size]),0)-a;i>0?t._validateItemsSizeOverflowing(i,e):i<0&&t._validateItemsSizeUnderflowing(i,e)}if(t._autoFitItems(),t._validateBarsSize(),t._splitterSize=a,t.enableShadowDOM){const e=t.getRootNode().host;e&&e.enableShadowDOM&&e.isCompleted&&e._validateItemSize&&e._validateItemSize()}}_validateNeighbourSizeLimits(e){const t=this;function i(e){e&&(e.min&&e._setSize("min",e.min,!0),e.max&&e._setSize("max",e.max,!0))}if(!t._items||!t._items.length)return;t._noNeighbourValidation=!0;const s=t._items.indexOf(e);i(t._items[s-1]),i(t._items[s+1]),delete t._noNeighbourValidation}_keepItemProportionsOnResize(){const e=this;let t=0,i=[];for(let s=0;s<e._items.length;s++)e._items[s].collapsed||(i.push(e._items[s]),t+=e._items[s]._sizeBeforeCollapse||e._items[s][e._measurements.size]);if(e._splitterSize&&(t=e._splitterSize),1===e._items.length)return;const s=e.$.container.getBoundingClientRect()[e._measurements.dimension];for(let n=0;n<i.length;n++){const a=i[n],r=a.style[e._measurements.dimension],o=a.style[e._measurements.minDimension];if(r.indexOf("%")>-1||o.indexOf("%")>-1){e._validateItemLimits(a,a[e._measurements.size]/t*s);continue}const l=a._sizeBeforeCollapse||a[e._measurements.size],m=l/t*s;if(l!==m){if(a.style[e._measurements.dimension]=m+"px",s!==e.$.container.getBoundingClientRect()[e._measurements.dimension])return void(a.style[e._measurements.dimension]=l+"px");a.style[e._measurements.dimension]=(a._sizeBeforeCollapse=m)+"px",e._validateItemLimits(a,m)}}}_validateItemsSizeOverflowing(e,t){const i=this,s=i._items.length;let n,a,r,o,l=0,m=[],d="offset"+("width"===i._measurements.dimension?"Width":"Height"),_=i.$.container;for(let e=0;e<i._items.length;e++){const t=i._items[e];r=t.style[i._measurements.dimension],r||(r=window.getComputedStyle(i).getPropertyValue("--jqx-splitter-item-size")||""),a=r.indexOf("%")>-1?r:t[i._measurements.size],r||t.size||0===t.size||delete t._originalSize;const s="auto"===a&&t.size&&isNaN(parseFloat(t.size))||"auto"===t.size;t._originalSize=t._originalSize&&!s?t._originalSize:a,m.push(t.locked)}m.indexOf(!1)<0&&(o=i._items[i._items.length-1],o.locked=!1);for(let t=s-1;t>=0;t--){const s=i._items[t];s.collapsed||s.locked||0===e||((s._originalSize+"").indexOf("%")>-1?(n=s.style[i._measurements.dimension]||s[i._measurements.size],"string"==typeof n&&n.indexOf("%")>-1&&(n=parseFloat(n)/100*_[d]),s.style[i._measurements.dimension]=s._originalSize,s._sizeBeforeCollapse=_[d]*parseFloat(s._originalSize)/100,e-=parseFloat(n)-s._sizeBeforeCollapse):(n=s[d],l=n-e,s.style[i._measurements.dimension]=(s._sizeBeforeCollapse=Math.max(s._sizeLimits?s._sizeLimits[i._measurements.minDimension]:0,l))+"px",e-=n-s._sizeBeforeCollapse))}if(e>0)for(let a=s-1;a>=0;a--){const s=i._items[a];if(s.collapsed||s.locked)continue;n=s[d],l=n-e;let r=s._sizeLimits[i._measurements.minDimension]||s.min;r&&(r=(r+"").indexOf("%")>-1?parseFloat(r)/100*s.parentElement[i._measurements.size]:parseFloat(r),r>l&&(s._sizeLimits.ignoreUpdate=!t,s.style[i._measurements.minDimension]=Math.max(0,l)+"px")),0===e&&s._originalSize&&(s._originalSize+"").indexOf("%")>-1||(s._sizeLimits.ignoreUpdate=!t,s.style[i._measurements.dimension]=(s._sizeBeforeCollapse=Math.max(0,l))+"px",e-=n-s._sizeBeforeCollapse)}o&&(o.locked=!0)}_validateItemsSizeUnderflowing(e,t){const i=this,s=i._items.length;let n,a,r=0;e=Math.abs(e),i._items.length>0&&i._items.map((e=>e.locked)).indexOf(!1)<0&&(a=i._items[i._items.length-1],a.locked=!1);for(let a=0;a<s;a++){const s=i._items[a];if(!(s.collapsed||s[i._measurements.size]>=(s._sizeLimits?s._sizeLimits[i._measurements.minDimension]:0))&&(n=s[i._measurements.size],r=s[i._measurements.size]+e,s[i._measurements.size]<s._sizeLimits[i._measurements.minDimension]&&(s._sizeLimits.ignoreUpdate=!t,s.style[i._measurements.minDimension]=(s._sizeBeforeCollapse=Math.max(0,Math.min(s._sizeLimits[i._measurements.minDimension],r)))+"px"),(e-=(s._sizeBeforeCollapse||s[i._measurements.size])-n)<=0))break}const o=i.$.container["offset"+("width"===i._measurements.dimension?"Width":"Height")];if(e>0)for(let t=0;t<s;t++){const s=i._items[t];let n;if(!s.collapsed&&!s.locked&&void 0!==s._originalSize){if((s._originalSize+"").indexOf("%")>-1){const t=parseFloat(s._originalSize)*o/100;r=Math.min(t,s[i._measurements.size]+e),n=r-s[i._measurements.size],s[i._measurements.minDimension]<s._sizeLimits[i._measurements.minDimension]&&(s.style[i._measurements.minDimension]=Math.min(s._sizeLimits[i._measurements.minDimension],r)+"px"),s.style[i._measurements.dimension]=t===r?s._originalSize:r+"px",s._sizeBeforeCollapse=Math.max(0,r),e-=n}else s[i._measurements.size]>=s._originalSize?(e+=s[i._measurements.size]-s._originalSize,s.style[i._measurements.dimension]=(s._sizeBeforeCollapse=s._originalSize)+"px"):(r=Math.min(s._originalSize,s[i._measurements.size]+e),n=r-s[i._measurements.size],s[i._measurements.minDimension]<s._sizeLimits[i._measurements.minDimension]&&(s.style[i._measurements.minDimension]=Math.min(s._sizeLimits[i._measurements.minDimension],r)+"px"),s.style[i._measurements.dimension]=(s._sizeBeforeCollapse=Math.max(0,Math.min(r,s._originalSize)))+"px",e-=n);if(e<=0)break}}a&&(a.locked=!0)}});

/***/ }),

/***/ 5523:
/***/ (() => {

JQX("jqx-table",class extends JQX.ContentElement{static get properties(){return{autoLoadState:{value:!1,type:"boolean"},autoSaveState:{value:!1,type:"boolean"},columnGroups:{value:null,type:"array?"},columnMinWidth:{value:"50px",type:"any"},columnReorder:{value:!1,type:"boolean"},columnResize:{value:!1,type:"boolean"},columnResizeFeedback:{value:!1,type:"boolean"},columnResizeNormalize:{value:!1,type:"boolean"},columns:{value:[],type:"any?",reflectToAttribute:!1},columnSizeMode:{value:"default",allowedValues:["auto","default"],type:"string"},conditionalFormatting:{value:null,type:"array?",reflectToAttribute:!1},conditionalFormattingButton:{value:!1,type:"boolean"},deferredScrollDelay:{value:1,type:"number"},dataRowId:{value:null,type:"string?"},dataSource:{value:null,type:"any?",reflectToAttribute:!1},dataSourceSettings:{value:{autoGenerateColumns:{value:!1,type:"boolean"},sanitizeHTML:{value:"blackList",allowedValues:["all","blackList","none"],type:"string"},sanitizeHTMLRender:{value:"text",allowedValues:["text","html"],type:"string"},root:{value:"",type:"string"},record:{value:"",type:"string"},keyDataField:{value:"",type:"string"},parentDataField:{value:"",type:"string"},childrenDataField:{value:"",type:"string"},groupBy:{value:[],type:"array"},dataFields:{value:[],type:"array"},mapChar:{value:".",type:"string"},id:{value:"",type:"string"},virtualDataSource:{value:null,type:"any"},virtualDataSourceOnExpand:{value:null,type:"any"}},type:"object"},dataTransform:{value:null,type:"function?",reflectToAttribute:!1},editing:{value:!1,type:"boolean"},editMode:{value:"cell",allowedValues:["cell","row"],type:"string"},expandHierarchy:{value:!1,type:"boolean"},filtering:{value:!1,type:"boolean"},columnMenu:{value:!1,type:"boolean"},filterRow:{value:!1,type:"boolean"},filterTemplate:{value:null,type:"string?"},filterOperator:{value:"and",type:"string?"},footerRow:{value:null,type:"string?"},formulas:{value:!1,type:"boolean"},freezeFooter:{value:!1,type:"boolean"},freezeHeader:{value:!1,type:"boolean"},grouping:{value:!1,type:"boolean"},groupFormatFunction:{value:null,type:"any"},headerRow:{value:null,type:"any"},hideSelectionColumn:{value:!1,type:"boolean"},keyboardNavigation:{value:!1,type:"boolean"},loadColumnStateBehavior:{value:"implementationOnly",allowedValues:["stateOnly","implementationOnly","intersection"],type:"string"},messages:{value:{en:{add:"Add condition",all:"All columns",apply:"Apply",between:"Between",cancel:"Cancel",clearFilter:"Clear filter",close:"Close",column:"Column:",condition:"Condition:",conditionalFormatting:"Conditional Formatting",CONTAINS:"contains",CONTAINS_CASE_SENSITIVE:"contains (case sensitive)",DOES_NOT_CONTAIN:"does not contain",DOES_NOT_CONTAIN_CASE_SENSITIVE:"does not contain (case sensitive)",EMPTY:"empty",ENDS_WITH:"ends with",ENDS_WITH_CASE_SENSITIVE:"ends with (case sensitive)",EQUAL:"equal",equal:"Equal To",EQUAL_CASE_SENSITIVE:"equal (case sensitive)",filterCondition:"Filter condition",filterPlaceholder:"Filter",firstButton:"First",fontFamily:"Font family:",fontSize:"Font size:",format:"Format:",formatColumn:"Format Column",GREATER_THAN:"greater than",GREATER_THAN_OR_EQUAL:"greater than or equal",greaterThan:"Greater Than",highlight:"Highlight",invalidValue:"Invalid value",itemsPerPage:"Items per page:",lastButton:"Last",LESS_THAN:"less than",LESS_THAN_OR_EQUAL:"less than or equal",lessThan:"Less Than",nextButton:"Next",NOT_EMPTY:"not empty",NOT_EQUAL:"not equal",NOT_NULL:"not null",notEqual:"Not Equal To",NULL:"null",ok:"OK",previousButton:"Previous",remove:"Remove condition",secondValue:"Second value:",STARTS_WITH:"starts with",STARTS_WITH_CASE_SENSITIVE:"starts with (case sensitive)",summaryPrefix:"of",text:"Text",value:"Value:",with:"with",columnMenuItemSortAsc:"Sort Ascending",columnMenuItemSortDesc:"Sort Descending",columnMenuItemReset:"Reset",columnMenuItemRemoveSort:"Remove Sort",columnMenuItemFilter:"Show rows where:",columnMenuItemRemoveFilter:"Remove Filter",columnMenuItemColumns:"Columns",grouping:"Group field name is not found in the dataFields collection!"}},type:"object",extend:!0},onCellRender:{value:null,type:"function?",reflectToAttribute:!1},onColumnRender:{value:null,type:"function?",reflectToAttribute:!1},onUpdateComplete:{value:null,type:"function?",reflectToAttribute:!1},onInit:{value:null,type:"function?",reflectToAttribute:!1},onLoad:{value:null,type:"function?",reflectToAttribute:!1},pageSize:{value:10,allowedValues:[10,25,50],type:"number"},pageIndex:{value:0,type:"number"},paging:{value:!1,type:"boolean"},rowDetailTemplate:{value:null,type:"string?"},selected:{value:[],type:"array",reflectToAttribute:!1},selection:{value:!1,type:"boolean"},selectionMode:{value:"many",type:"string",allowedValues:["one","many","extended"]},selectionByHierarchy:{value:!0,type:"boolean"},sort:{value:null,type:"function?",reflectToAttribute:!1},sortMode:{value:"none",type:"string",allowedValues:["none","one","many"]},stateSettings:{value:["columns","expanded","filtered","grouped","selected","sorted"],type:"array"},tooltip:{value:!1,type:"boolean"},virtualization:{value:!1,type:"boolean"}}}static get listeners(){return{resize:"_resizeHandler","conditionalFormattingButton.click":"_conditionalFormattingButtonClickHandler","filterInput.keyup":"_filterInputKeyupHandler","pager.change":"_pagerChangeHandler","pager.pageSizeChanged":"_pagerPageSizeChanged","tableContainer.change":"_tableContainerChangeHandler","tableContainer.click":"_tableContainerClickHandler","tableContainer.down":"_tableContainerDownHandler","tableContainer.focus":"_tableContainerFocusHandler","tableContainer.pointerover":"_tableContainerPointeroverHandler","document.down":"_documentDownHandler","document.keydown":"_tableContainerKeydownHandler","document.keyup":"_tableContainerKeyupHandler","document.move":"_documentMoveHandler","document.up":"_documentUpHandler"}}template(){return JQX.Templates[this.nodeName]&&delete JQX.Templates[this.nodeName],this.virtualization?'<div id="container" class="jqx-container" role="presentation">\n                        <div id="header" class="jqx-table-header" role="toolbar">\n                            <jqx-input id="filterInput" class="underlined" animation="[[animation]]" locale="[[locale]]" right-to-left="[[rightToLeft]]" theme="[[theme]]"></jqx-input>\n                            <div id="filterTemplateContainer" class="jqx-table-filter-template-container jqx-hidden"></div>\n                            <jqx-button id="conditionalFormattingButton" class="jqx-table-toolbar-button conditional-formatting" animation="[[animation]]" right-to-left="[[rightToLeft]]" theme="[[theme]]" aria-label="Conditional Formatting"></jqx-button>\n                        </div>\n                        <jqx-scroll-viewer style="opacity: 0.99" id="virtualizationContainer" class="jqx-table-virtualization-container" right-to-left="[[rightToLeft]]" theme="[[theme]]">\n                            <table id="tableContainer" inner-h-t-m-l=\'[[innerHTML]]\' class="jqx-table-container">\n                                <content></content>\n                            </table>\n                        </jqx-scroll-viewer>\n                        <jqx-pager id="pager" animation="[[animation]]" locale="[[locale]]" page-index="[[pageIndex]]" page-size="[[pageSize]]" pages-count="null" show-first-last-navigation-buttons show-page-size-selector show-prev-next-navigation-buttons show-summary right-to-left="[[rightToLeft]]" theme="[[theme]]"></jqx-pager>\n                        <div id="loadingIndicatorContainer" class="jqx-loader-container jqx-hidden" aria-label="Loading">\n                            <span id="loadingIndicator" class="jqx-loader" role="presentation"></span>\n                        </div>\n                    </div>':'<div id="container" class="jqx-container" role="presentation">\n                    <div id="header" class="jqx-table-header" role="toolbar">\n                        <jqx-input id="filterInput" class="underlined" animation="[[animation]]" locale="[[locale]]" right-to-left="[[rightToLeft]]" theme="[[theme]]"></jqx-input>\n                        <div id="filterTemplateContainer" class="jqx-table-filter-template-container jqx-hidden"></div>\n                        <jqx-button id="conditionalFormattingButton" class="jqx-table-toolbar-button conditional-formatting" animation="[[animation]]" right-to-left="[[rightToLeft]]" theme="[[theme]]" aria-label="Conditional Formatting"></jqx-button>\n                    </div>\n                    <table id="tableContainer" inner-h-t-m-l=\'[[innerHTML]]\' class="jqx-table-container">\n                        <content></content>\n                    </table>\n                    <jqx-pager id="pager" animation="[[animation]]" locale="[[locale]]" page-index="[[pageIndex]]" page-size="[[pageSize]]" pages-count="null" show-first-last-navigation-buttons show-page-size-selector show-prev-next-navigation-buttons show-summary right-to-left="[[rightToLeft]]" theme="[[theme]]"></jqx-pager>\n                    <div id="loadingIndicatorContainer" class="jqx-loader-container jqx-hidden" aria-label="Loading">\n                        <span id="loadingIndicator" class="jqx-loader" role="presentation"></span>\n                    </div>\n                </div>'}resetState(e){const t=this;switch(e){case"expanded":t._expandedIds=[],t._expandedIdsAlt=[],t._state.expanded=[];break;case"selected":t._selectedIds=[],t._disabledSelection=[],t._selectableGroupRecords=[],t.set("selected",[]),t._state.selected=[];break;default:t._dblclickObject={numberOfClicks:0},t._expandedIds=[],t._expandedIdsAlt=[],t._selectedIds=[],t._disabledSelection=[],t._selectableGroupRecords=[],t._state={expanded:[],selected:[],sorted:[]},t.set("selected",[])}}render(){this._render(),super.render()}_render(){const e=this,t=getComputedStyle(e);if(e.setAttribute("role","presentation"),e.$.tableContainer.id=e.id+"TableContainer",e._cachedWidth=e.offsetWidth,e._cachedHeight=e.offsetHeight,e._defaults={fontFamily:t.fontFamily,fontSize:t.fontSize,text:e._toHex(t.color),highlight:e._toHex(t.backgroundColor)},e._isMobile=JQX.Utilities.Core.isMobile,e._autoScrollCoefficient=JQX.Utilities.Core.Browser.Firefox?8:JQX.Utilities.Core.Browser.Edge?16:4,e._dblclickObject={numberOfClicks:0},e._expandedIds=[],e._expandedIdsAlt=[],e._selectedIds=[],e._collapsedIds=[],e._disabledSelection=[],e._selectableGroupRecords=[],e._state={expanded:[],selected:[],sorted:[]},e._rowHeight=parseFloat(t.getPropertyValue("--jqx-table-row-height")),e._rowDetailHeight=parseFloat(t.getPropertyValue("--jqx-table-row-detail-height")),e._animation=e.animation,e._setFocusable(),e.selection&&e.$.tableContainer.setAttribute("aria-multiselectable",!0),e.virtualization){const t=e.$.virtualizationContainer,a=e;t&&(t._mouseWheelHandler=function(e){const l=t;if(!l.disabled&&(l.computedHorizontalScrollBarVisibility||l.computedVerticalScrollBarVisibility)){if(e.shiftKey&&l.computedHorizontalScrollBarVisibility){const t=l.scrollLeft;if(0===t&&e.deltaX<0||t===l.scrollHeight&&e.deltaX>0)return;return e.stopPropagation(),e.preventDefault(),void(l.scrollWidth>0&&l.scrollTo(void 0,l.scrollLeft+l._getScrollCoefficient(e,l.offsetWidth)))}if(l.computedVerticalScrollBarVisibility){const t=l.scrollTop;if(0===t&&e.deltaY<0||t===l.scrollHeight&&e.deltaY>0)return;if(e.stopPropagation(),e.preventDefault(),l.scrollHeight>0){let t=3*a._rowHeight;e.deltaY<=0&&(t=-3*a._rowHeight),Math.abs(e.deltaY)>=100?l.scrollTop+=t:l.scrollTop+=e.deltaY}}}},t._verticalScrollbarHandler=function(t){0===e.deferredScrollDelay?e._onVerticalChange(t):(e._verticalScrollTimer&&(clearTimeout(e._verticalScrollTimer),delete e._verticalScrollTimer),e._verticalScrollTimer=setTimeout((()=>{e._onVerticalChange(t),delete e._verticalScrollTimer}),e.deferredScrollDelay))}),t.hasStyleObserver=!1,t.$.verticalScrollBar.hasStyleObserver=!1,t.$.horizontalScrollBar.hasStyleObserver=!1,e.freezeHeader=!0,e.freezeFooter=!0}e.isRendered?e.innerHTML&&e.innerHTML.trim().length>1?e._initDataSourceFromHTML():e._fullRefresh():(e._createElement(),setTimeout((()=>{const t=e.querySelectorAll("tr[row-id]");if(t.length>0){let a=!1;for(let l=0;l<t.length;l++){const i=t[l];e._rowHeight<i.offsetHeight&&(e._rowHeight=i.offsetHeight,a=!0)}a&&(e.style.setProperty("--jqx-table-row-height",e._rowHeight+"px"),e._refreshDataRows())}e.onLoad&&e.onLoad()}),500),e.columnMenu&&(e._initialState=e.getState()),super.render())}_initDataSourceFromHTML(){const e=this,t=e.context;e.context=e,e.hasAttribute("jqx-blazor")&&(e.$.tableContainer.innerHTML="");const a=e.columns;e.dataSource=null,e.rows=null,e.columns=null;const l=e.querySelectorAll("th");let i=[],n=[],r=[];for(let e=0;e<l.length;e++){const t=l[e].innerHTML.trim();let a={label:t,dataField:t,dataType:"string"};i.push(a),n.push(t)}if(0===l.length&&a&&a.length>0)for(let e=0;e<a.length;e++){const t=a[e];let l={label:t.label,dataField:t.dataField,dataType:t.dataType};t.width&&(l.width=t.width),t.allowResize&&(l.allowResize=t.allowResize),t.allowFilter&&(l.allowFilter=t.allowFilter),t.allowSort&&(l.allowSort=t.allowSort),t.allowHide&&(l.allowHide=t.allowHide),t.allowMenu&&(l.allowMenu=t.allowMenu),t.freeze&&(l.freeze=t.freeze),t.responsivePriority&&(l.responsivePriority=t.responsivePriority),t.columnGroup&&(l.columnGroup=t.columnGroup),i.push(l),n.push({name:t.dataField,dataType:t.dataType})}const o=e.querySelectorAll("tr");for(let e=0;e<o.length;e++){const t={},a=o[e].querySelectorAll("td");if(a.length>0){for(let e=0;e<i.length;e++)t[i[e].dataField]=a[e].innerHTML.trim();r.push(t)}}const s=new JQX.DataAdapter({dataSource:r,expandHierarchy:e.expandHierarchy,dataFields:n,id:e.dataRowId});e.$.tableContainer.innerHTML="",e.columns=i,e.context=t,e.dataSource=s}attached(){const e=this;super.attached(),e.isCompleted&&e._dialog&&(e._addDialogHandlers(),e.getShadowRootOrBody().appendChild(e._dialog)),e.isRendered&&e.isCompleted&&e.endUpdate()}detached(){const e=this;if(super.detached(),e._focusedCell&&!e.$.tableContainer.contains(e._focusedCell)&&delete e._focusedCell,!e._dialog)return;e._detachCachedTemplates();const t=e._dialog;t.removeEventListener("change",e._dialogEventHandler),t.removeEventListener("clear",e._dialogEventHandler),t.removeEventListener("click",e._dialogEventHandler),t.removeEventListener("close",e._dialogEventHandler),t.removeEventListener("filter",e._dialogEventHandler),t.remove()}addFilter(e,t){const a=this,l=a.columnByDataField[e];"string"==typeof t?t=a.dataSource._createFilter(l.dataType,[t]):Array.isArray(t)&&(t=a.dataSource._createFilter(l.dataType,t)),l&&!1!==l.allowFilter&&t instanceof JQX.Utilities.FilterGroup!=0&&(e=l.dataField,a._clearSortByRow&&a._clearSortByRow(!0),a._designerFiltersApplied&&a._clearDesignerFilters(),a._filterInfo.appliedFilters||(a._filterInfo.appliedFilters={}),a._filterInfo.appliedFilters[e]=t,a._refreshFilters("add"),l.headerCellElement&&l.headerCellElement.setAttribute("filter",""),a.$.filterInput&&t&&!a.filterRow&&!a.columnMenu&&(a.$.filterInput.value=t.filters[t.filters.length-1].value,a._filterInfo.query=a.$.filterInput.value),a._originalDynamicColumnsOrder&&(a._originalDynamicColumnsOrder=a._dynamicColumns.map((e=>e.id))))}addGroup(e){const t=this;if(!t.grouping)return;const a=t.columnByDataField[e];if(!a||!1===a.allowGroup)return;const l=t.dataSource,i=l.groupBy;e=a.dataField,-1===i.indexOf(e)&&(i.push(e),l.refreshHierarchy(),t._getSelectableGroupRecords(),t._fullRefresh(),t._updateState("grouped"),t._doNotFireEvent||t.$.fireEvent("group",{action:"add",dataField:e}))}beginEdit(e,t){const a=this;if(!a.editing)return;const l=a.columnByDataField[t];if(t=l?l.dataField:void 0,"cell"===a.editMode&&!t||l&&!1===l.allowEdit)return;const i=a.rowById[e];if(!i)return;const n=i.data.$.id;a._editing&&a.endEdit(),a._beginEdit({rowId:n,rowObject:i,dataField:t})}cancelEdit(){const e=this,t=e._editing;if(t){for(let a=0;a<t.cells.length;a++){const l=t.cells[a];l.editor.contains(e.getRootNode().activeElement)&&e._focusCell(l.element),l.editor.remove(),e._setCellContent(l.element,e._formatCellValue(t.row,e.columnByDataField[l.dataField],l.element)),l.element.classList.remove("editing")}delete e._editing}}clearFilters(e=null){const t=this,a=t._filterInfo;(a.inputFilters||a.rowFilters||a.appliedFilters)&&(t._clearFilterInput(),t._clearRowFilters(e),delete t._filterInfo.appliedFilters,t.dataSource.virtualDataSource||t.dataSource.clearFilter(),t._fullRefresh("filter"),t._updateState("filtered"),t._doNotFireEvent||t.$.fireEvent("filter",{action:"remove"}))}clearGrouping(){const e=this,t=e.dataSource;0!==t.groupBy.length&&(t.groupBy=[],t.refreshHierarchy(),e._getSelectableGroupRecords(),e._fullRefresh(),e._updateState("grouped"),e.$.fireEvent("group",{action:"remove"}))}clearSelection(){this._clearSelection(!0)}collapseAllRows(){const e=this;e._isExpandCollapseForbidden()||(function t(a){for(let l=0;l<a.length;l++){const i=a[l];if(!i.leaf&&(i.children&&t(i.children),i.expanded)){if(e.virtualization){const t=i.$.id,a=e.rowById?e.rowById[t]:e.rows.dataItemById[t];(a.data||a).expanded=!1,e._collapsedIds[t]=!0;continue}e.collapseRow(i.$.id)}}}(e["jqx-table"===e.nodeName.toLowerCase()?"dataSource":"rows"].boundHierarchy),e.virtualization&&(e._expandedIds=[],e._expandedIdsAlt=[],e.dataSource.refreshHierarchy(),e._refreshDataRows(),e._updateState("expanded")))}collapseGroup(e){const t=this;if(!t.grouping||0===t.dataSource.groupBy.length)return;const a=t._getGroupByIndex(e);if(!a||!a.expanded)return;const l=t.$.tableContainer.querySelector(`tr[row-id="${a.$.id}"]:not([unused])`);if(!l){a.expanded=!1;let e=a.$.id;return null==e?void t.refresh():e.replace?(e=e.replace("Item","").replace(/_/gi,"."),void t.$.fireEvent("group",{action:"collapse",path:e,dataField:a.groupDataField,label:a.label})):(t.refresh(),void t.$.fireEvent("group",{action:"collapse",path:e,dataField:a.groupDataField,label:a.label}))}if(t._isCollapsed(a))return l.setAttribute("aria-expanded",!1),l.classList.remove("expanded"),void(a.expanded=!1);t._hierarchyArrowClickHandler(l)}collapseRow(e){const t=this;if(t._isExpandCollapseForbidden())return;const a=t.rowById?t.rowById[e]:t.rows.dataItemById[e],l=a.data||a;if(!a||l.leaf||!l.expanded)return;const i=t.$.tableContainer.querySelector(`tr[row-id="${e}"]:not([unused])`);return i?t._isCollapsed(l)?(i.setAttribute("aria-expanded",!1),i.classList.remove("expanded"),l.expanded=!1,t._expandedIds=t._expandedIds.filter((e=>e!==l.$.id)),t._updateState("expanded"),void t.$.fireEvent("collapse",{record:l})):void t._hierarchyArrowClickHandler(i):(l.expanded=!1,t._expandedIds=t._expandedIds.filter((e=>e!==l.$.id)),void t._updateState("expanded"))}collapseRowDetails(e){const t=this;if(!t.rowDetailTemplate)return;const a=t.rowById?t.rowById[e]:t.rows.dataItemById[e],l=a.data||a;if(!a||!l)return;const i=t.$.tableContainer.querySelector(`tr[row-id="${e}"]:not([unused])`);if(!i)return;const n=i.nextElementSibling;n&&n.classList.contains("jqx-table-row-detail")&&!n.classList.contains("collapsed")&&t._toggleRowDetail(i,l.$.id)}collapseAllRowDetails(){const e=this;if(!e.rowDetailTemplate||!e.dataSource)return;let t=e.dataSource.boundSource;t||(t=e.$.tableContainer.querySelectorAll("tr[row-id]:not([unused])"));for(let a=0;a<t.length;a++)e.collapseRowDetails(t[a].$.id)}expandAllRowDetails(){const e=this;if(!e.rowDetailTemplate||!e.dataSource)return;let t=e.dataSource.boundSource;t||(t=e.$.tableContainer.querySelectorAll("tr[row-id]:not([unused])"));for(let a=0;a<t.length;a++)e.expandRowDetails(t[a].$.id)}updateRow(e,t,a){const l=this,i=l.rowById?l.rowById[e]:l.rows.dataItemById[e];if(!i)return;const n=l._selectedIds.slice(0);l._editing=!0,l.__updatedRows=!0;let r=[];l.dataSource&&l.dataSource.groupBy&&l.dataSource.groupBy.toArray&&(r=l.dataSource.groupBy.toArray().slice(0));const o=l.dataSource.boundSource.canNotify;l.dataSource.boundSource.canNotify=!1;const s=e=>{if(i.data[e]=t[e],l.dataSource.id&&i&&i.data&&i.data.$&&(i.data.$.id=t[l.dataSource.id]),i&&i.data.$&&void 0!==i.data.$.index){const a=i.data.$.index,n=l.dataSource.dataSource,o=()=>{const a=t[e];if(null==a){const t=l.columnByDataField[e];return t?"number"===t.dataType?0:"boolean"!==t.dataType&&("date"===t.dataType?new Date:""):""}return a};if(n&&n[a]&&(n[a][e]=o()),l.dataSource[a]){if(r.length>0&&!l._dirtyHierarchy&&l.dataSource[a][e]!==o()&&r.indexOf(e)>=0){const e=l._getExpandedGroups(l.dataSource.boundHierarchy);l._dirtyHierarchy=e}l.dataSource[a][e]=o()}}};for(let e=0;e<l.columns.length;e++){const a=l.columns[e];void 0!==t[a.dataField]&&s(a.dataField)}if(a){const e=l.dataSource.dataFields;if(e)for(let t=0;t<e.length;t++)e[t].map?s(e[t].map):s(e[t].name)}l._editing=!1,l.dataSource.boundSource.canNotify=o,l.__updating||(l.dataSource.refreshHierarchy(),l._fullRefresh(void 0,n,"update"))}addRow(e){const t=this;let a=[];const l=t.dataSource.boundSource.canNotify;if(t.dataSource.boundSource.canNotify=!1,t._editing=!0,t.__updatedRows=!0,t.dataSource&&t.dataSource.groupBy&&t.dataSource.groupBy.toArray&&(a=t.dataSource.groupBy.toArray().slice(0),a.length>0&&t.dataSource.beginUpdate()),a.length>0)t.dataSource?t.dataSource.add(e,!0):t._addNewRow(e,0);else if(t.dataSource)if(t.dataSource.boundHierarchy&&t.$.tableContainer&&"treegrid"===t.$.tableContainer.getAttribute("role")){const a=e[t.dataSource.parentDataField];t.dataSource.add(e,a)}else t.dataSource.add(e,!0);else t._addNewRow(e,0);t.dataSource.boundSource.canNotify=l,t._editing=!1,t._updateSelectAllState(),a.length>0||t.dataSource.boundHierarchy&&t.$.tableContainer&&"treegrid"===t.$.tableContainer.getAttribute("role")?(t._dataSourceUpdatingTimer&&clearTimeout(t._dataSourceUpdatingTimer),t._dataSourceUpdatingTimer=setTimeout((()=>{t._doNotFireEvent=!0;const e=t._getExpandedGroups(t.dataSource.boundHierarchy);a.forEach((e=>t.addGroup(e))),t.dataSource.endUpdate(),t._restoreExpandedGroups(e),t._fullRefresh("update"),t._doNotFireEvent=!1}),50)):(t._dataSourceUpdatingTimer&&clearTimeout(t._dataSourceUpdatingTimer),t._dataSourceUpdatingTimer=setTimeout((()=>{t._doNotFireEvent=!0,t._fullRefresh("update"),t._doNotFireEvent=!1})))}removeRow(e){const t=this,a=t.rowById?t.rowById[e]:t.rows.dataItemById[e];if(!a){if(t.dataSource&&t.dataSource.dataItemById){const a=t.dataSource.dataItemById[e];if(a){const l=void 0!==a.$?a.$.index:0;t.dataSource.removeAt(l),t._selectedIds.indexOf(e)>=0&&(t._selectedIds.splice(t._selectedIds.indexOf(e),1),t._updateSelectAllState(),t._updateState("selected"),t.$.fireEvent("change",{type:"remove"})),t.virtualization&&t.__updating||t._fullRefresh("update")}}return}const l=a.data||a,i=void 0!==l.$?l.$.index:0,n=t.dataSource.boundSource.canNotify;t.dataSource.boundSource.canNotify=!1,t._editing=!0,t.__updatedRows=!0;let r=[];t.dataSource&&t.dataSource.groupBy&&t.dataSource.groupBy.toArray&&(r=t.dataSource.groupBy.toArray().slice(0),r.length>0&&t.dataSource.beginUpdate()),t._doNotFireEvent=!0,t._sortColumns&&t._sortColumns.length?t.dataSource.remove(l):t.dataSource.removeAt(i),t._selectedIds.indexOf(e)>=0&&(t._selectedIds.splice(t._selectedIds.indexOf(e),1),t._updateSelectAllState(),t._updateState("selected"),t.$.fireEvent("change",{type:"remove"})),t._doNotFireEvent=!1,t.dataSource.boundSource.canNotify=n,t._editing=!1,r.length>0&&(t._dataSourceUpdatingTimer&&clearTimeout(t._dataSourceUpdatingTimer),t._dataSourceUpdatingTimer=setTimeout((()=>{const e=t._getExpandedGroups(t.dataSource.boundHierarchy);r.forEach((e=>t.addGroup(e))),t.dataSource.endUpdate(),t._restoreExpandedGroups(e),t._fullRefresh("update")}),50)),t.virtualization&&t.__updating||t._fullRefresh("update")}expandRowDetails(e){const t=this;if(!t.rowDetailTemplate)return;const a=t.rowById?t.rowById[e]:t.rows.dataItemById[e];if(!a)return;const l=a.data||a;if(!a||!l)return;const i=t.$.tableContainer.querySelector(`tr[row-id="${e}"]:not([unused])`);if(!i)return;const n=i.nextElementSibling;!n&&!t.virtualization||n&&n.classList.contains("jqx-table-row-detail")&&!n.classList.contains("collapsed")||t._toggleRowDetail(i,l.$.id)}endEdit(){const e=this,t=e._editing;if(!t)return;const a=t.row,l=a.data,i=[];let n=!0;for(let a=0;a<t.cells.length;a++){const l=t.cells[a],r=e.columnByDataField[l.dataField],o=l.element,s=l.editor;let d;if(r.editor&&r.editor.template?r.editor.getValue&&(d=r.editor.getValue(s)):(d=s.value,s instanceof HTMLInputElement&&("number"===s.type?d=parseFloat(d):"date"===s.type&&(d=new Date(d),isNaN(d.getTime())&&(d=null)))),r.validation){const t=r.validation(d),a=void 0!==t&&!0!==t;if(a){let a;a="object"==typeof t&&t.message?t.message:e.localize("invalidValue"),o.setAttribute("validation-message",a)}else o.removeAttribute("validation-message");o.classList.toggle("invalid",a),n=n&&!a}i.push({column:r,newValue:d})}if(n){if(e.dataSource.virtualDataSource){const a=Object.assign({},l);for(let e=0;e<t.cells.length;e++){const l=t.cells[e],n=i[e],r=n.column;a[l.dataField]=n.newValue,r.transform&&(a[r.dataField]=r.transform(n.newValue))}for(const t of e._columns)a[t.dataField]instanceof Date&&(a[t.dataField]=a[t.dataField].toISOString().slice(0,10));e._editing.row.data=a,e._requestVirtualDataSource("update",(function(t){return t?r(!1,a):(e._editing.row.data=l,e.cancelEdit()),t}))}else r(!0,l);delete e._editing}function r(l,n){for(let r=0;r<t.cells.length;r++){const o=t.cells[r],s=i[r],d=s.column,c=o.editor;c.contains(e.getRootNode().activeElement)&&e._focusCell(o.element),c.remove(),l&&(n[o.dataField]=s.newValue,d.transform&&(n[d.dataField]=d.transform(s.newValue))),e._setCellContent(o.element,e._formatCellValue(a,d,o.element)),o.element.classList.remove("editing"),e.$.fireEvent("cellEndEdit",{id:n.$.id,row:n,value:n[o.dataField],dataField:o.dataField})}e._updateCellsWithFormulas(),"row"===e.editMode&&e.$.fireEvent("rowEndEdit",{id:n.$.id,row:n})}}expandAllRows(){const e=this;if(e._isExpandCollapseForbidden())return;e.beginUpdate();const t=e["jqx-table"===e.nodeName.toLowerCase()?"dataSource":"rows"].boundHierarchy;if(e._collapsedIds=[],t)for(let a=0;a<t.length;a++){const l=t[a],i=t=>{if(!t.leaf&&(t.expanded=!0,e._expandedIds.push(t.$.id),e._expandedIdsAlt[t.$.id]=!0,t.children))for(let e=0;e<t.children.length;e++){const a=t.children[e];i(a)}};i(l)}e.endUpdate()}isGroupExpanded(e){const t=this,a=t.dataSource;if(!t.grouping||0===a.groupBy.length)return;const l=t._getGroupByIndex(e);return!!l&&l.expanded}expandGroup(e){const t=this,a=t.dataSource;if(!t.grouping||0===a.groupBy.length)return;const l=t._getGroupByIndex(e);if(!l)return;const i=t._doNotFireEvent,n=t.animation,r=t.$.tableContainer.querySelector(`tr[row-id="${l.$.id}"]:not([unused])`);let o=!1;if(i&&(t.animation="none"),r){if(t._isCollapsed(l))if(i)o=!0;else{let e=l.parent;e&&!e.expanded&&t.expandGroup(l.parent.$.id.replace("Item","").replace(/_/g,"."))}l.expanded||(o||i?(l.expanded=!0,r.setAttribute("aria-expanded",!0),r.classList.add("expanded")):t._hierarchyArrowClickHandler(r,i)),i&&(l.expanded=!0,r.setAttribute("aria-expanded",!0),r.classList.add("expanded"),requestAnimationFrame((()=>t.animation=n)))}else if(l.expanded=!0,!l.expanded&&!i){let e=l.$.id;e=e.replace("Item","").replace(/_/gi,"."),t.$.fireEvent("group",{action:"expand",path:e,dataField:l.groupDataField,label:l.label})}}expandAllRootGroups(){const e=this;if(!e.grouping)return;e.beginUpdate();const t=e.dataSource.boundHierarchy;if(t)for(let e=0;e<t.length;e++)t[e].expanded=!0;e.endUpdate()}expandAllGroups(){const e=this;if(!e.grouping)return;e.beginUpdate();const t=e.dataSource.boundHierarchy;if(t)for(let e=0;e<t.length;e++){const a=t[e],l=e=>{if(e.expanded=!0,e.children)for(let t=0;t<e.children.length;t++){const a=e.children[t];l(a)}};l(a)}e.endUpdate()}collapseAllGroups(){const e=this;if(!e.grouping)return;e.beginUpdate();const t=e.dataSource.boundHierarchy;if(t)for(let e=0;e<t.length;e++)t[e].expanded=!1;e.endUpdate()}expandRow(e){const t=this;if(t._isExpandCollapseForbidden())return;const a=t.rowById?t.rowById[e]:t.rows.dataItemById[e],l=a.data||a;if(!a||l.leaf)return;const i=t.$.tableContainer.querySelector(`tr[row-id="${e}"]:not([unused])`);if(!i)return l.expanded=!0,-1===t._expandedIds.indexOf(l.$.id)&&t._expandedIds.push(l.$.id),t._expandedIdsAlt[l.$.id]=!0,t._updateState("expanded"),void t.$.fireEvent("expand",{id:l.$.id,record:l});if(t._isCollapsed(l)){let e=l.parent;e&&!e.expanded&&t.expandRow(e.$.id)}l.expanded||t._hierarchyArrowClickHandler(i)}exportData(e,t,a,l){const i=this,n=i._columns.filter((e=>e.visible)),r=i.columnGroups,o=i.dataSource,s=getComputedStyle(i),d=s.borderRightColor,c=new JQX.Utilities.DataExporter(void 0,o.groupBy.toArray()),u={};let f,m=Array.from(i.$.tableContainer.firstElementChild.querySelectorAll("th"));if(o.virtualDataSource){f=[];for(let e=0;e<i.rows.length;e++)f.push(i.rows[e].data)}else o.boundHierarchy&&!i.grouping?(c.hierarchical=!0,f=function e(t){const l=[];return t.forEach((t=>{a&&!1===t.$.filtered||(l.push(t),t.leaf||(t._expanded=t.expanded,t.children&&(t.children=e(t.children),0===t.children.length&&(t._expanded=void 0,t.children=void 0,t.leaf=!0))))})),l}(JSON.parse(JSON.stringify(o.boundHierarchy,((e,t)=>{if("parent"===e)return;const a=i.columnByDataField[e];return a&&"date"===a.dataType&&"string"==typeof t?new Intl.DateTimeFormat(i.locale,{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"}).format(new Date(t)):t}))))):(f=Array.from(o.toArray()),a&&(f=f.filter((e=>!1!==e.$.filtered))));c.style={border:"1px solid "+d,borderCollapse:"collapse",backgroundColor:s.backgroundColor,color:s.color,fontFamily:"Helvetica",header:{border:"1px solid "+d,fontWeight:"bold"},columns:{border:"1px solid "+d}},m=m.filter((e=>!1===e.classList.contains("jqx-table-select-all")));for(let e=0;e<n.length;e++){const t=n[e],a={},l={};let i=m[e].offsetWidth+"px";u[t.dataField]=t.label,"date"===t.dataType&&(l.format="d"),a.width=i,c.style.header[t.dataField]=a,c.style.columns[t.dataField]=l}return r?c.header={columns:n,columngroups:r}:f.unshift(u),c.exportData(f,e,t,l)}getRowIndexById(e){const t=this.rowById[e];return this.dataSource&&t&&t.data&&t.data.$?t.data.$.index:-1}getSelection(){const e=this;return 0===e._selectableGroupRecords.length?e._selectedIds.filter((e=>!(""+e).startsWith("Item"))):e._selectedIds.filter((t=>-1===e._selectableGroupRecords.indexOf(t)&&!(""+t).startsWith("Item")))}getState(){return JSON.parse(this._stringifyState())}getValue(e,t){const a=this,l=a.columnByDataField[t];if(!l)return;let i=a.rowById[e];return i?i.data[l.dataField]:(i=a.dataSource.dataItemById[e],i?i[l.dataField]:void 0)}loadState(e){const t=this;if(!e&&!(e=window.localStorage.getItem("jqxTable"+t.id)))return;const a=t.stateSettings;let l=!1;if(t._loadingState=!0,"string"==typeof e&&(e=JSON.parse(e)),-1!==a.indexOf("columns")){const a=t.loadColumnStateBehavior,i=t._columns,n=[],r=e.columns;for(let e=0;e<r.length;e++){let t=Object.assign({},r[e]);const l=i.find((e=>e.dataField===t.dataField));if(!l){"implementationOnly"!==a&&n.push(t);continue}const o=l.label,s=["editor","formatFunction","templateElement","templateElementSettings","transform","validation"];"stateOnly"!==a&&s.push("label");for(let e in l)-1===s.indexOf(e)&&delete l[e];t=Object.assign(l,t),"stateOnly"!==a&&o&&(t.label=o),n.push(t)}if("stateOnly"!==a)for(let e=0;e<i.length;e++){const t=i[e];n.find((e=>e.dataField===t.dataField))||n.push(t)}t.columns=n,t._initColumns(!0),l=!0,t._formattingPanel&&(t._formattingPanel.columns=t._columns)}if(t.grouping){const a=t.dataSource,i=t.dataSource.groupBy;e.grouped=e.grouped||[],JSON.stringify(i._array)!==JSON.stringify(e.grouped)&&(t.dataSource.groupBy=e.grouped,a.refreshHierarchy(),l=!0)}else t.hasAttribute("hierarchy")&&-1!==a.indexOf("expanded")&&JSON.stringify(t._expandedIds.slice(0).sort())!==JSON.stringify(e.expanded.slice(0).sort())&&(t.collapseAllRows(),t._expandedIds=e.expanded,l=!0);-1!==a.indexOf("selected")&&e.selected.slice&&JSON.stringify(t._selectedIds.slice(0).sort())!==JSON.stringify(e.selected.slice(0).sort())&&(t._selectedIds=e.selected,l=!0),l&&(t._initRows(),t.refresh());e:if(-1!==a.indexOf("filtered")){const a=t.filtering,l=e.filtered;if(t.clearFilters(),!l)break e;if(a&&t.filterRow&&l.rowFilters){const a=t.$.tableContainer.querySelector(".jqx-table-filter-row"),l=Number(t.selection),i=e.filtered.filterRowValues;for(let e=0;e<t._columns.length;e++){const n=i[e];if(!n)continue;const r=t._columns[e].dataType,o=a.children[e+l].firstElementChild,s=t._filterInfo["string"===r?"stringConditions":"numberAndDateConditions"].find((e=>e.value===n.condition));if(-1===["EMPTY","NOT_EMPTY","NULL","NOT_NULL"].indexOf(s.value))if("date"===r){const e=new Date(n.value),t=(e.getMonth()+1).toString(),a=e.getDate().toString();o.children[0].value=`${e.getFullYear()}-${"0".repeat(2-t.length)}${t}-${"0".repeat(2-a.length)}${a}`}else o.children[0].value=n.value;o.children[1].value=s.label,o.children[1].$.input.dataValue=s.value}t._applyRowFilters()}else if(a&&l.inputFilters)t.$.filterInput.value=l.query,t._filterByAll(l.query);else if(l.appliedFilters){t._filterInfo.appliedFilters||(t._filterInfo.appliedFilters={});for(let e in l.appliedFilters){const a=l.appliedFilters[e],i=new window.JQX.Utilities.FilterGroup;a.filters.forEach(((e,t)=>{const l=i.createFilter(e.type.replace("Filter",""),e.value,e.condition);i.addFilter(a.logicalOperators[t],l)})),t._filterInfo.appliedFilters[e]=i}t._refreshFilters("add")}}-1!==a.indexOf("sorted")&&(t.clearSort(),e.sorted.forEach&&e.sorted.forEach((e=>{t.sortBy(e.dataField,e.direction)}))),a.forEach((e=>t._updateState(e,!1))),t.autoSaveState&&window.localStorage.setItem("jqxTable"+t.id,t._stringifyState()),delete t._loadingState}navigateTo(e){const t=this;if(isNaN(e)||null===e)return;const a=t.pageIndex;t.pageIndex=Math.max(Math.min(Math.round(e),t.$.pager.pagesCount-1),0),t.paging&&t.pageIndex!==a&&(t._fullRefresh("pageIndexChange"),t.$.fireEvent("page",{action:"pageIndexChange"}))}removeFilter(e){const t=this,a=t.columnByDataField[e];a&&t.filterRow&&t.clearFilters(e),t._filterInfo.appliedFilters&&a&&(e=a.dataField,t._clearSortByRow&&t._clearSortByRow(!0),t._designerFiltersApplied&&t._clearDesignerFilters(e),delete t._filterInfo.appliedFilters[e],t._refreshFilters("remove"),t._originalDynamicColumnsOrder&&(t._originalDynamicColumnsOrder=t._dynamicColumns.map((e=>e.id))))}removeGroup(e){const t=this,a=t.columnByDataField[e];if(!t.grouping||!a)return;e=a.dataField;const l=t.dataSource,i=l.groupBy,n=i.indexOf(e);-1!==n&&(i.splice(n,1),l.refreshHierarchy(),t._getSelectableGroupRecords(),t._fullRefresh(),t._updateState("grouped"),t.$.fireEvent("group",{action:"remove",dataField:e}))}saveState(){const e=this._stringifyState();return window.localStorage.setItem("jqxTable"+this.id,e),JSON.parse(e)}enableSelect(e){const t=this;t.selection&&t._disabledSelection.indexOf(e)>=0&&(t._disabledSelection.splice(t._disabledSelection.indexOf(e),1),t._fullRefresh("update"))}disableSelect(e){const t=this;t.selection&&(t._disabledSelection.push(e),t._fullRefresh("update"))}select(e){const t=this;t.selection&&(Array.isArray(e)?t._changeSelectionOfMultiple(e,"select"):t._selectSingle(e)&&(t._updateSelectAllState(),t._updateState("selected"),t.$.fireEvent("change",{type:t._interaction?"interaction":"programmatic"})))}setValue(e,t,a){const l=this,i=l.columnByDataField[t];if(!i)return;let n,r=l.rowById[e];if(r)n=r.data;else{if(r=l.dataSource.dataItemById[e],!r)return;n=r}t=i.dataField,l.dataSource._updating=!0,i.transform?(n[i.originalDataField]=a,n[t]=i.transform(a)):n[t]=a;const o=l.$.tableContainer.querySelector(`tr[row-id="${e}"]:not([unused]) td[data-field="${t}"]`);if(o&&(l._setCellContent(o,l._formatCellValue(r,i,o),o.classList.contains("tree-cell")),i.templateElement&&i.templateElementSettings)){const e=o.classList.contains("tree-cell"),t=o,a=e?t.children[0].children[1]:t,r=n.$.id;l._cachedTemplates&&l._cachedTemplates[i.dataField+"_"+r]&&(0===l._cachedTemplates[i.dataField+"_"+r].innerHTML.length?delete l._cachedTemplates[i.dataField+"_"+r]:(a.innerHTML="",a.appendChild(l._cachedTemplates[i.dataField+"_"+r]))),i.templateElementSettings(n[i.dataField],r,a.firstElementChild),l._cachedTemplates||(l._cachedTemplates=[]),l._cachedTemplates[i.dataField+"_"+r]||(l._cachedTemplates[i.dataField+"_"+r]=a.firstElementChild)}l._updateCellsWithFormulas(),delete l.dataSource._updating}unselect(e){const t=this;t.selection&&(Array.isArray(e)?t._changeSelectionOfMultiple(e,"unselect"):t._unselectSingle(e)&&(t._updateSelectAllState(),t._updateState("selected"),t.$.fireEvent("change",{type:t._interaction&&-1===t._disabledSelection.indexOf(e)?"interaction":"programmatic"})))}set scrollTop(e){const t=this;t.isRendered&&(e=parseInt(e),isNaN(e)||((t.virtualization?t.$.virtualizationContainer:t.$.container).scrollTop=e))}get scrollTop(){const e=this;return e.isRendered?(e.virtualization?e.$.virtualizationContainer:e.$.container).scrollTop:0}set scrollLeft(e){const t=this;t.isRendered&&(e=parseInt(e),isNaN(e)||((t.virtualization?t.$.virtualizationContainer:t.$.container).scrollLeft=e))}get scrollLeft(){const e=this;return e.isRendered?(e.virtualization?e.$.virtualizationContainer:e.$.container).scrollLeft:0}clearContent(){const e=this;for(;e.$.tableContainer.firstChild;)e.$.tableContainer.removeChild(e.$.tableContainer.firstChild)}applyContent(){const e=this;if(void 0===e.content)return void(e.content=e.$.tableContainer);if(""===e.content||null===e.content)return void e.clearContent();if(e.content instanceof HTMLElement)return e.clearContent(),void e.$.content.appendChild(e.content);const t=document.createDocumentFragment();let a=document.createElement("div");t.appendChild(a),e.content instanceof HTMLElement?a.appendChild(e.content):a.innerHTML=e.content;let l=Array.from(a.childNodes);a.parentNode.removeChild(a);for(let e=0;e<l.length;e++)t.appendChild(l[e]);e.clearContent(),e.$.tableContainer.appendChild(t)}propertyChangedHandler(e,t,a){const l=this;if(super.propertyChangedHandler(e,t,a),"innerHTML"!==e)switch(e){case"animation":case"theme":if("theme"===e){const e=getComputedStyle(l);l._defaults.text=l._toHex(e.color),l._defaults.highlight=l._toHex(e.backgroundColor)}if(l.filterRow){const t=l.$.tableContainer.querySelector(".jqx-table-filter-row");Array.from(t.querySelectorAll("jqx-input, jqx-button")).forEach((t=>t[e]=a))}i(e,a);break;case"autoSaveState":a&&window.localStorage.setItem("jqxTable"+l.id,l._stringifyState());break;case"columnGroups":a&&(l.columnResize&&(l.columnResize=!1),"auto"===l.columnSizeMode&&(l.removeAttribute("resize-max-reached"),l.columnSizeMode="default")),l.refresh();break;case"columnMinWidth":if(isNaN(parseFloat(a)))return void(l.columnMinWidth=t);l._handleAutoSizeMode(),l._handleFrozenColumnPositions(),l._refreshHorizontalScrollbar();break;case"columnResize":a&&l.columnGroups&&(l.columnResize=!1);break;case"columnResizeNormalize":l._columns&&l._columns.length>0&&""===l._columns[l._columns.length-1].dataField&&(l._columns.pop(),l.columns.pop()),l._initColumns(!0),l.refresh();break;case"columns":{l._conditionalFormatting&&delete l._conditionalFormatting;const e=l._sortColumns,t=l._filterInfo;if(l._clearFilterInput(),l._clearRowFilters(),delete l._filterInfo.appliedFilters,l._sortColumns=[],l._initColumns(!0),l.refresh(),l._formattingPanel&&(l._formattingPanel.columns=l._columns),l.dataSource.dataFields){let a=l.dataSource.dataFields||[];const i=l.columns;let n=!1;if(i.forEach((e=>{if(e.dataType){const t=a.find((t=>t.name===e.dataField));t?t.dataType=e.dataType:e.map?a.find((t=>e.map.indexOf(t.name)>=0?t:null))&&(l.dataSource.dataFields.push({name:e.dataField,map:e.map,dataType:e.dataType}),n=!0):(l.dataSource.dataFields.push({name:e.dataField,dataType:e.dataType}),n=!0)}})),n&&l.dataSource.dataBind){let a=[],i=[];if(l.dataSource&&l.dataSource.groupBy&&l.dataSource.groupBy.toArray&&(a=l.dataSource.groupBy.toArray().slice(0)),a.length>0&&(i=l._getExpandedGroups(l.dataSource.boundHierarchy)),l.dataSource.bindingCompleted=!1,l.dataSource.dataBind(),l._doNotFireEvent=!0,a.length>0&&(a.forEach((e=>l.addGroup(e))),l.dataSource.boundHierarchy&&l.dataSource.refreshHierarchy(),l._restoreExpandedGroups(i)),t.inputFilters?l._filterByAll(t.query):t.rowFilters?l._applyRowFilters():t.appliedFilters&&l._refreshFilters(),e&&(l._sortColumns=[],e.forEach((e=>{l.columnByDataField[e.dataField].sortOrder=null,l.sortBy(e.dataField,e.direction)}))),l._selectedIds.length>0){const e=JSON.stringify(l._selectedIds.slice(0).sort()),t=l.dataSource;l._selectedIds=l._selectedIds.filter((e=>void 0!==t.dataItemById[e]||-1!==l._selectableGroupRecords.indexOf(e))),e!==JSON.stringify(l._selectedIds.slice(0).sort())&&(l._updateSelectAllState(),l._updateState("selected"),l.$.fireEvent("change",{type:"remove"}))}l.virtualization&&setTimeout((()=>{const e=l.columns&&l.columns.length>0?l.columns[0].dataField:"";if(e){const t=l.querySelector('td[data-field="'+e+'"]');t&&l._rowHeight<t.offsetHeight&&(l._rowHeight=t.offsetHeight,l.style.setProperty("--jqx-table-row-height",l._rowHeight+"px"),l._refreshDataRows())}}),300),delete l._doNotFireEvent}else t.inputFilters?l._filterByAll(t.query):t.rowFilters?l._applyRowFilters():t.appliedFilters&&l._refreshFilters(),e&&(l._sortColumns=[],e.forEach((e=>{l.columnByDataField[e.dataField].sortOrder=null,l.sortBy(e.dataField,e.direction)})))}break}case"columnSizeMode":if("auto"===a){if(l.columnGroups)return void(l.columnSizeMode="default");l._handleAutoSizeMode()}else l.removeAttribute("resize-max-reached"),l._columns.forEach((e=>{e.visible&&(e._isResponsive?e.headerCellElement.style.width=e.width||e._manualPercentageWidth?l._getColumnWidth(e.width||e._manualPercentageWidth,!0,e):null:e.headerCellElement.style.width=e.width||e._manualWidth?l._getColumnWidth(e.width||e._manualWidth,!0,e):null)}));l._handleFrozenColumnPositions(),l._refreshHorizontalScrollbar();break;case"conditionalFormatting":l._applyInitialConditionalFormatting(l.dataSource),l._refreshDataRows();break;case"conditionalFormattingButton":l.$.header.classList.toggle("jqx-hidden",(!l.filtering||l.filterRow)&&!a),!a&&l._dialog&&l._dialog.close();break;case"dataSource":case"dataSourceSettings":{const i=l._sortColumns,n=l._filterInfo;if("dataSource"===e&&null===a&&(l.dataSource=[]),"dataSource"===e&&t&&a&&l.virtualization&&!document.hidden&&t instanceof JQX.DataAdapter&&t.length===a.length&&t.length>0&&a.length>0&&!l.dataSourceSettings.parentDataField&&!t.parentDataField){if(l.dataSource=t,l._cachedDataSource===a)return;l.beginUpdate();for(let e=0;e<a.length;e++){const t=a[e],i=l.dataSource[e].$.id;l.updateRow(i,t,!0)}return i?l.endUpdate(!0,!0):l.endUpdate(void 0,!0),void(l._cachedDataSource=a)}const r=l.$.virtualizationContainer?l.$.virtualizationContainer.scrollTop:0,o=void 0!==l.$.virtualizationContainer&&l.$.virtualizationContainer.$?l.$.virtualizationContainer.$.verticalScrollBar:null;o&&o.beginUpdate();let s=[];if(t&&t.groupBy&&t.groupBy.toArray&&(s=t.groupBy.toArray().slice(0)),l._dataBind(!0),l._doNotFireEvent=!0,s.length>0){const e=l._getExpandedGroups(t.boundHierarchy);if(l.__updating=!0,l.dataSource._groupBy&&(l.dataSource._groupBy.canNotify=!1),l._selectedIds.length>0){const e=JSON.stringify(l._selectedIds.slice(0).sort()),t=l.dataSource;l._selectedIds=l._selectedIds.filter((e=>void 0!==t.dataItemById[e]||-1!==l._selectableGroupRecords.indexOf(e))),s.forEach((e=>l.addGroup(e))),e!==JSON.stringify(l._selectedIds.slice(0).sort())&&(l._updateSelectAllState(),l._updateState("selected"),l.$.fireEvent("change",{type:"remove"}))}else s.forEach((e=>l.addGroup(e)));l.dataSource.boundHierarchy&&l.dataSource.refreshHierarchy(),l.dataSource._groupBy&&(l.dataSource._groupBy.canNotify=!0),l.__updating=!1,l._restoreExpandedGroups(e),l._fullRefresh("update")}else if(l.dataSource.boundHierarchy&&l.dataSource.boundHierarchy.length&&t&&t.toArray){const e=t.toArray();for(let t=0;t<e.length;t++){const a=e[t];a.expanded&&(l._expandedIdsAlt[a.$.id]=!0,l._expandedIds.push(a.$.id))}if(l.expandHierarchy){if(l.dataSource&&l.dataSource.toArray){const e=l.dataSource.toArray();for(let t=0;t<e.length;t++){const a=e[t];a.expanded&&(l._expandedIdsAlt[a.$.id]=!0,l._expandedIds.push(a.$.id))}}l._expandedIds=l._expandedIds.filter((e=>!l._collapsedIds||!l._collapsedIds[e])),Object.keys(l._collapsedIds).forEach((e=>{delete l._expandedIdsAlt[e]}))}const a=(e,t,l)=>{const i=this;for(let n=t;n<l;n++){const t=e[n];if(!t)break;t.leaf||(i._expandedIdsAlt[t.$.id]?t.expanded=!0:(t.expanded,t.expanded=!1),t.children.length&&!1!==t.$.filtered&&a(t.children,0,t.children.length))}};a(l.dataSource.boundHierarchy,0,l.dataSource.boundHierarchy.length),l._fullRefresh("update")}if(n.inputFilters?l._filterByAll(n.query):n.rowFilters?l._applyRowFilters():n.appliedFilters&&l._refreshFilters(),i&&(l._sortColumns=[],i.forEach((e=>{l.columnByDataField[e.dataField].sortOrder=null,l.sortBy(e.dataField,e.direction)}))),l._selectedIds.length>0){const e=JSON.stringify(l._selectedIds.slice(0).sort()),t=l.dataSource;l._selectedIds=l._selectedIds.filter((e=>void 0!==t.dataItemById[e]||-1!==l._selectableGroupRecords.indexOf(e))),e!==JSON.stringify(l._selectedIds.slice(0).sort())&&(l._updateSelectAllState(),l._updateState("selected"),l.$.fireEvent("change",{type:"remove"}))}l.virtualization&&(setTimeout((()=>{const e=l.columns&&l.columns.length>0?l.columns[0].dataField:"";if(e){const t=l.querySelector('td[data-field="'+e+'"]');t&&l._rowHeight<t.offsetHeight&&(l._rowHeight=t.offsetHeight,l.style.setProperty("--jqx-table-row-height",l._rowHeight+"px"),l._refreshDataRows())}}),300),l.$.virtualizationContainer.scrollTop=r,o&&(o.endUpdate(),l._onVerticalChange({detail:{value:o.value}},!0))),delete l._doNotFireEvent;break}case"disabled":case"unfocusable":case"keyboardNavigation":l._setFocusable(),i("unfocusable",l.disabled||l.unfocusable||!l.keyboardNavigation),"disabled"===e&&l._dialog&&l._dialog.close();break;case"hideSelectionColumn":l.refresh();break;case"columnMenu":l.$.header.classList.toggle("jqx-hidden",(!l.filtering||l.filterRow||l.columnMenu)&&!l.conditionalFormattingButton),l.columnMenu&&(l._initialState=l.getState()),l.refresh();break;case"editing":a?l.$.tableContainer.removeAttribute("aria-readonly"):l.$.tableContainer.setAttribute("aria-readonly",!0);break;case"filtering":l.columnMenu||l.$.header.classList.toggle("jqx-hidden",(!a||l.filterRow)&&!l.conditionalFormattingButton),a&&l.filterRow?l._createFilterRow():!1===a&&(l.filterRow&&l.$.tableContainer.querySelector(".jqx-table-filter-row").remove(),(l._filterInfo.query||l._filterInfo.rowFilters||l._filterInfo.appliedFilters)&&l.clearFilters()),l.virtualization&&l.refresh();break;case"filterRow":if(l.$.header.classList.toggle("jqx-hidden",(!l.filtering||a)&&!l.conditionalFormattingButton),!l.filtering)return;a?l._createFilterRow():(l.$.tableContainer.querySelector(".jqx-table-filter-row").remove(),l._filterInfo.rowFilters&&l.clearFilters());break;case"filterTemplate":l._applyFilterTemplate();break;case"footerRow":{const e=l.$.tableContainer.querySelector("tfoot");e&&e.remove(),a&&l._createFooterRow();break}case"formulas":a?l._formulaParser=new JQX.FormulaParser(l):delete l._formulaParser,l._updateCellsWithFormulas(!0);break;case"freezeHeader":case"freezeFooter":l.virtualization&&(l[e]=!0);break;case"grouping":a||l.clearGrouping();break;case"headerRow":{const e=Array.from(l.$.tableContainer.firstElementChild.children);for(let t=1;t<e.length;t++)e[t].remove();a&&l._createCustomHeaderRow();break}case"locale":case"messages":{const e=l._dialog;if(l._localize(),l.filterRow){const e=l.$.tableContainer.querySelector(".jqx-table-filter-row"),t=Array.from(e.querySelectorAll("jqx-input.string-filter")),a=Array.from(e.querySelectorAll("jqx-input.num-date-filter")),i=Array.from(e.querySelectorAll("jqx-button"));t.concat(a).forEach((e=>e.title=l.localize("filterCondition"))),t.forEach((e=>{e.dataSource=l._filterInfo.stringConditions,void 0===e.$.input.dataValue?e.value=l.localize("CONTAINS"):e.value=l._filterInfo.stringConditions.find((t=>t.value===e.$.input.dataValue)).label})),a.forEach((e=>{e.dataSource=l._filterInfo.numberAndDateConditions,void 0===e.$.input.dataValue?e.value=l.localize("EQUAL"):e.value=l._filterInfo.numberAndDateConditions.find((t=>t.value===e.$.input.dataValue)).label})),i.forEach((e=>e.title=l.localize("clearFilter")))}e&&(e.$.footer.firstElementChild.innerHTML=l.localize("ok"),e.$.footer.children[1].innerHTML=l.localize("cancel"),e.classList.contains("conditional-formatting")?e.label=l.localize("conditionalFormatting"):e.classList.contains("drill-down")&&(e.label=l.localize("details"))),l._formattingPanel&&(l._formattingPanel.messages=l.messages,l._formattingPanel.locale=l.locale),Array.from(l.$.tableContainer.querySelectorAll(".group-label-value>.placeholder")).forEach((e=>{e.textContent=l.localize("EMPTY")}));break}case"pageIndex":l.pageIndex=Math.max(Math.min(Math.round(a),l.$.pager.pagesCount-1),0),l.paging&&l.pageIndex!==t&&(l._fullRefresh("pageIndexChange"),l.$.fireEvent("page",{action:"pageIndexChange"}));break;case"pageSize":l.paging&&(l._fullRefresh("pageSizeChange"),l.$.fireEvent("page",{action:"pageSizeChange"}));break;case"paging":if(!1===a){if(l.dataSource.virtualDataSource)return void(l.paging=!0);if(1===l.$.pager.pagesCount)return}l._fullRefresh();break;case"rowDetailTemplate":l._fullRefresh();break;case"rightToLeft":Array.from(l.$.tableContainer.querySelectorAll(".freeze-near, .freeze-far")).forEach((e=>{e.style.left=null,e.style.right=null,e.style.zIndex=null})),l._handleFrozenColumnPositions(),i("rightToLeft",a);break;case"selected":{const e=l._selectedIds.slice(0);l._clearSelection(),l._changeSelectionOfMultiple(a,"select","programmatic",e);break}case"selection":if(l.filterRow){const e=l.$.tableContainer.querySelector(".jqx-table-filter-row");a?e.insertBefore(document.createElement("td"),e.firstElementChild):e.firstElementChild.remove()}l.refresh(),a?(l.$.tableContainer.setAttribute("aria-multiselectable",!0),l._updateSelectAllState()):l.$.tableContainer.removeAttribute("aria-multiselectable");break;case"selectionMode":{l.$.tableContainer.classList.remove("jqx-unselectable");const e=l.querySelector(".jqx-table-select-all");e&&("one"===l.selectionMode?e.classList.add("jqx-visibility-hidden"):e.classList.remove("jqx-visibility-hidden"));break}case"sortMode":"none"===a&&l.clearSort();break;case"tooltip":if(!a){const e=l.$.tableContainer.querySelector(".tooltip");e&&(e.classList.remove("tooltip"),e.removeAttribute("title"))}break;case"virtualization":l.virtualization=t}else l._initDataSourceFromHTML();function i(e,t){const a=[];l._dialog&&a.push(l._dialog,l._dialog.$.footer.firstElementChild,l._dialog.$.footer.children[1]),l._formattingPanel&&a.push(l._formattingPanel),a.forEach((a=>a[e]=t))}}_createElement(){const e=this;if(e._expandedRowDetailIds=[],e._editors={},isNaN(parseFloat(e.columnMinWidth))&&(e.columnMinWidth="50px"),e.columnGroups&&(e.columnResize=!1,e.columnSizeMode="default"),e.formulas&&(e._formulaParser=new JQX.FormulaParser(e)),e._setupPagingAndFiltering(),e._localize(),e._selectedIds=e.selected.slice(0),"one"===e.selectionMode){e._selectedIds=e._selectedIds.slice(0,1);const t=e.querySelector(".jqx-table-select-all");t&&t.classList.add("jqx-visibility-hidden")}e._dataBind(),e.editing||e.$.tableContainer.setAttribute("aria-readonly",!0),e.autoLoadState&&e.loadState(),e.autoSaveState&&window.localStorage.setItem("jqxTable"+e.id,e._stringifyState())}_initColumns(e){const t=this,a=t.columns;if(!t.isRendered&&t.dataSource.length>0&&(!a||Array.isArray(a)&&0===a.length)&&(t.columns=t.dataSource.dataFields.map((e=>({label:e.name,dataField:e.name,dataType:e.dataType})))),t._filterInfo.stringDataFields=[],t._columns=[],t.columnByDataField={},t.columns.canNotify=!1,t.columns instanceof JQX.ObservableArray){const e=[];for(let a=0;a<t.columns.length;a++){let l=t.columns[a],i={};for(let e in l)i[e]=l[e];e.push(i)}t.columns=e}for(let a=0;a<t.columns.length;a++){let l=t.columns[a];if("string"==typeof l&&t.dataSource.dataFields){const e=t.dataSource.dataFields.find((e=>{if(e.name===l)return e}));l={label:l,dataField:l,dataType:e&&e.dataType||"string"}}void 0===l.label&&void 0===l.dataField||(void 0===l.label&&(l.label=l.dataField),void 0===l.dataField&&(l.dataField=l.label),l.dataType||(l.dataType="string"),"string"!==l.dataType&&"number"!==l.dataType||!1===l.allowFilter||!l.dataField||t._filterInfo.stringDataFields.push(l.dataField),l.visible=void 0===l.visible||!!l.visible,l.allowResize=void 0===l.allowResize||!!l.allowResize,t._transformColumnDataField(l,e),l.thHierarchy=[],t._columns.push(l),t.columnByDataField[l.dataField]=l)}if("default"===t.columnSizeMode&&t.selection){let e=!0;for(let a=0;a<t._columns.length;a++){const l=t._columns[a];if(!l.width){e=!1,l._isResponsive=!0,l._isFillRemainingWidth=!0;break}}(!t.columnResizeNormalize&&e||t.columnResizeNormalize&&e)&&t._columns.push({dataField:"",label:"",visible:!0,allowResize:!1,allowFilter:!1,allowSort:!1})}else if("default"===t.columnSizeMode&&!t.selection&&t.columnResizeNormalize){let e=!0;for(let a=0;a<t._columns.length;a++){const l=t._columns[a];if(!l.width){e=!1,l._isResponsive=!0,l._isFillRemainingWidth=!0;break}}e&&t._columns.push({dataField:"",label:"",visible:!0,allowResize:!1,allowFilter:!1,allowSort:!1})}t.columns=new JQX.ObservableArray(t._columns),t._updateState("columns"),t.columns.notify((function(e){if(!t.columns.canNotify)return;if("length"===e.action||"update"===e.action&&-1!==["allowGroup","allowSort","sortOrder"].indexOf(e.propertyName))return void t._updateState("columns");const a=e.target;if("update"===e.action){const l=a.dataField;if("allowEdit"===e.propertyName)return Array.from(t.$.tableContainer.querySelectorAll(`td[data-field="${l}"]`)).forEach((t=>{t.classList.toggle("no-edit",!1===e.newValue),!1===e.newValue?t.setAttribute("aria-readonly",!0):t.removeAttribute("aria-readonly")})),void t._updateState("columns");if("allowFilter"===e.propertyName)return"string"!==a.dataType&&"number"!==a.dataType||!l||(!1===e.newValue?t._filterInfo.stringDataFields=t._filterInfo.stringDataFields.filter((e=>e!==l)):!1===e.oldValue&&t._filterInfo.stringDataFields.push(l)),t.filterRow&&t.$.tableContainer.querySelector(`.jqx-table-filter-row td[filter-for="${l}"]`).classList.toggle("no-filter",!1===e.newValue),"jqx-pivot-table"===t.nodeName.toLowerCase()&&t._columnNotify(e),void t._updateState("columns");if("transform"===e.propertyName)a.sortOrder&&t.sortBy(a.dataField,null),t._transformColumnDataField(a,!0);else{if(-1!==["allowPivot","allowRowGroup","pivot","rowGroup","summary"].indexOf(e.propertyName)&&"jqx-pivot-table"===t.nodeName.toLowerCase())return t._columnNotify(e),void t._updateState("columns");if("visible"===e.propertyName){const e=t._expandedRowDetailIds,a=t.$.tableContainer;let l;return t.filterRow&&(l=a.querySelector(".jqx-table-filter-row"),l&&l.remove()),e&&e.length&&!t._columns.some((e=>e.visible))&&e.forEach((e=>t._toggleRowDetail(a.querySelector(`[row-id="${e}"]`),e))),t.$.tableContainer.setAttribute("aria-colcount",t._columns.filter((e=>e.visible)).length+ +t.selection),t.refresh(),void t._updateState("columns")}}}"add"===e.action&&(t.columns[t.columns.length-1].visible=!0),t._columns=t.columns._array,t.columnByDataField=[],t._columns.forEach((e=>{t.columnByDataField[e.dataField]=e,e.originalDataField&&(t.columnByDataField[e.originalDataField]=e)})),t.refresh(!0),t._updateState("columns")})),t.$.tableContainer.setAttribute("aria-colcount",t._columns.filter((e=>e.visible)).length+ +t.selection)}_transformColumnDataField(e,t){const a=this;if("function"==typeof e.transform){if(!a.isRendered||t){const l=a.dataSource,i=a.columns.canNotify;i&&(a.columns.canNotify=!1),t&&e.originalDataField&&(delete a.columnByDataField[e.dataField],e.dataField=e.originalDataField);const n=e.dataField,r=n+"Transformed";a.columnByDataField[n]=e,e.originalDataField=n,e.dataField=r,l.canNotify=!1;for(let t=0;t<l.length;t++){const a=l[t];a[r]=e.transform(a[n])}i&&(a.columns.canNotify=!0),l.canNotify=!0}}else e.transform&&(e.transform=void 0)}_initRows(){const e=this,t=e.dataSource,a=e.context;if(e.context=e,e.rows=[],e.rowById=[],t.virtualDataSource)return e._initRowsVirtualDataSource(),void(e.context=a);if(t.boundHierarchy)return e.$.tableContainer.setAttribute("role","treegrid"),e.setAttribute("hierarchy",""),e._initHierarchicalRows(),void(e.context=a);e.$.tableContainer.setAttribute("role","grid");let l=0,i=t.length,n=!1;if(e.removeAttribute("hierarchy"),e.paging){const a=e.pageSize;if(e._filterInfo.query||e._filterInfo.rowFilters||e._filterInfo.appliedFilters){let e=0;for(let a=0;a<i;a++)!1!==t[a].$.filtered&&e++;i=e,n=!0}const r=Math.max(Math.ceil(i/a),1);e.$.pager.pagesCount=r,e.$.pager.totalRecords=i,e.pageIndex=Math.max(Math.min(e.pageIndex,r-1),0),l=e.pageIndex*a,i=l+a}if(n){let a=-1;for(let n=0;n<t.length;n++){const r=t[n];if(r&&!1!==r.$.filtered){if(a++,a<l)continue;if(a>=i)break;e._addNewRow(r,n)}}}else for(let a=l;a<i;a++){const l=t[a];l&&!1!==l.$.filtered&&e._addNewRow(l,a)}e._observeRows(),e.context=a}_initRowsVirtualDataSource(){const e=this,t=e.dataSource;if(t.boundHierarchy)e.$.tableContainer.setAttribute("role","treegrid"),e.setAttribute("hierarchy",""),e._processHierarchy(t.boundHierarchy,0,t.boundHierarchy.length);else for(let a=0;a<t._dataSource.length;a++){const l=t[a];l&&!1!==l.$.filtered&&e._addNewRow(l,a)}if(e.paging){const a=t.length,l=e.pageSize,i=Math.max(Math.ceil(a/l),1),n=e.$.pager.pagesCount;if(e.$.pager.pagesCount=i,e.$.pager.totalRecords=a,e.pageIndex=Math.max(Math.min(e.pageIndex,i-1),0),null!==n&&n!==i)return void e._fullRefresh()}e._observeRows()}_initHierarchicalRows(){const e=this,t=e.dataSource.boundHierarchy;let a=0,l=t.length,i=!1;if(e.paging){const n=e.pageSize;if(e._filterInfo.query||e._filterInfo.rowFilters||e._filterInfo.appliedFilters){let e=0;for(let a=0;a<l;a++)!1!==t[a].$.filtered&&e++;l=e,i=!0}const r=Math.max(Math.ceil(l/n),1);e.$.pager.pagesCount=r,e.$.pager.totalRecords=l,e.pageIndex=Math.max(Math.min(e.pageIndex,r-1),0),a=e.pageIndex*n,l=a+n}if(i){let i=-1;for(let n=0;n<t.length;n++){const r=t[n];if(r&&!1!==r.$.filtered){if(i++,i<a)continue;if(i>=l)break;e._processHierarchy(t,n,n+1)}}}else e._processHierarchy(t,a,l);e._observeRows()}_processHierarchy(e,t,a){const l=this;for(let i=t;i<a;i++){const t=e[i];if(!t)break;t.leaf?t&&!1!==t.$.filtered&&l._addNewRow(t,i):(l._expandedIdsAlt[t.$.id]?t.expanded=!0:void 0===t.expanded&&(t.expanded=!1),!1!==t.$.filtered&&l._addNewRow(t,i),t.children.length&&!1!==t.$.filtered&&l._processHierarchy(t.children,0,t.children.length))}}_observeRows(){const e=this;e.rows=new JQX.ObservableArray(e.rows),e.rows.notify((function(t){if(!e.rows.canNotify||t.path||!e.dataSource)return;e.rows.canNotify=!1;const a=t.action,l=e._selectedIds.slice(0);switch(e.dataSource.canNotify=!1,a){case"add":{const a={};e.dataSource.dataFields.forEach((e=>a[e.name]=""));const l=Object.assign(a,e.rows[t.index]);e.dataSource.add(e.rows[t.index]),e._editing={row:{data:l}};break}case"update":e.dataSource.update(t.index,e.rows[t.index]),e._editing={row:{data:e.rows[t.index]}};break;case"remove":{const a=t.removed[0].data,l=a.$.id,i=e._selectedIds.indexOf(l);e.dataSource.removeAt(a.$.index),delete e.rowById[l],-1!==i&&e._selectedIds.splice(i,1),e._editing={row:t.removed[0]},e._updateSelectAllState();break}}e._fullRefresh(a,l,a),delete e._editing,e.dataSource.canNotify=!0,e.rows.canNotify=!0}))}beginUpdate(){const e=this;if("jqx-table"!==e.nodeName.toLowerCase())return;e.__updating=!0,e.__updatedRows=!1;const t=window.__karma__||window.karma;document.hidden&&!t||(e._dirtyHierarchy=!1,e.__updatingOldSelectedIds=e._selectedIds.slice(0),e.__updatingSortColumns=e._sortColumns,e.dataSource&&e.dataSource.clearSort&&e.dataSource.clearSort())}endUpdate(e,t){const a=this;if("jqx-table"!==a.nodeName.toLowerCase())return;a.__updating=!1;const l=window.__karma__||window.karma;if(document.hidden&&!l)return;if(!1===e)return;l&&(t=!0);const i=()=>{const t=a.__updatingOldSelectedIds?a.__updatingOldSelectedIds:a._selectedIds.slice(0);a.__updatingOldSelectedIds&&delete a.__updatingOldSelectedIds,a._dirtyHierarchy&&a.dataSource.refreshHierarchy();const l=a._sortColumns,i=a._filterInfo,n=a.dataSource.groupBy._array.slice(0),r=void 0!==a.$.virtualizationContainer&&a.$.virtualizationContainer.$?a.$.virtualizationContainer.$.verticalScrollBar:null;if(r&&r.beginUpdate(),a._doNotFireEvent=!0,a._fullRefresh("update",t,"update"),n.length>0){let e=a._getExpandedGroups(a.dataSource.boundHierarchy);a._dirtyHierarchy&&(e=a._dirtyHierarchy),n.forEach((e=>a.addGroup(e))),a._restoreExpandedGroups(e)}i.inputFilters?a._filterByAll(i.query):i.rowFilters?a._applyRowFilters():i.appliedFilters&&a._refreshFilters(),l&&(a.__updatingSortColumns&&JSON.stringify(a.__updatingSortColumns)!==JSON.stringify(l)||0===n.length||!0===e||!1===a.__updatedRows)&&(a._sortColumns=[],l.forEach((e=>{a.columnByDataField[e.dataField].sortOrder=null,a.sortBy(e.dataField,e.direction)}))),r&&(r.endUpdate(),a._onVerticalChange({detail:{value:r.value}},!0),a._dirtyHierarchy&&(a._rowsInDOM.length<a.rows.length&&0===a.$.virtualizationContainer.$.verticalScrollBar.max&&a._refreshDataRows(),a._dirtyHierarchy=!1)),a.onUpdateComplete&&a.onUpdateComplete(a.rows),delete a._doNotFireEvent};if(a._verticalScrollTimer)return a._scheduleUpdate&&clearInterval(a._scheduleUpdate),void(a._scheduleUpdate=setInterval((function(){a._verticalScrollTimer||(i(),clearInterval(a._scheduleUpdate),delete a._scheduleUpdate)}),100));t?i():requestAnimationFrame((()=>{i()}))}_addNewRow(e,t){const a=this,l=e.$.id,i=new JQX.Observable({data:e,boundIndex:t});-1!==a._disabledSelection.indexOf(l)&&(i.allowSelect=!1),i.canNotify=!0,i.notify((function(t){if(a._editing||a._hierarchyChange)return;const i=a.selection;if("allowSelect"===t.propertyName){const n=a._disabledSelection.indexOf(l);if(a._hierarchyChange=!0,t.newValue||-1!==n)t.newValue&&-1!==n&&function e(t){const l=t.$.id,n=a.$.tableContainer.querySelector(`[row-id="${l}"]:not([unused])`),r=a.rowById[l];if(t.parent&&-1!==a._disabledSelection.indexOf(t.parent.$.id))r.allowSelect=!1;else if(a._disabledSelection.splice(a._disabledSelection.indexOf(l),1),n&&(n.classList.remove("disable-select"),i&&(n.setAttribute("aria-selected",!1),n.firstElementChild.firstElementChild.removeAttribute("aria-disabled"))),r&&(r.allowSelect=!0),t.children)for(let a=0;a<t.children.length;a++)e(t.children[a])}(e);else{const t=[];!function e(t,l){const n=t.$.id,r=a.$.tableContainer.querySelector(`[row-id="${n}"]:not([unused])`),o=a.rowById[n];if(l.push(n),r&&(r.removeAttribute("aria-selected"),r.classList.add("disable-select"),i&&r.firstElementChild.firstElementChild.setAttribute("aria-disabled",!0)),o&&(o.allowSelect=!1),t.children)for(let a=0;a<t.children.length;a++)e(t.children[a],l)}(e,t),a._disabledSelection=a._disabledSelection.concat(t),a.unselect(t)}delete a._hierarchyChange}})),a.rowById[l]=i,a.rows.push(i)}refresh(){const e=this;if(e.__updating)return;const t=e._columns.filter((e=>e.visible)),a=e.$.tableContainer,l=a.querySelector(".jqx-table-filter-row"),i=a.querySelector("tfoot"),n=document.createElement("tbody"),r=e._getFractionOfMax(),o=e.virtualization?e.$.virtualizationContainer:e.$.tableContainer.parentElement,s={top:o.scrollTop,left:o.scrollLeft};for(e.columns.canNotify=!1;a.childNodes.length>0;)a.childNodes[0].remove();e._createTableHeader(),e.isRendered||!e.onInit||e._loadingState||e.onInit(),e._createCustomHeaderRow(),e._createFooterRow(i),e._createDataRows(n),e._createFilterRow(l);const d=a.querySelectorAll("th[data-field]");for(let a=0;a<t.length;a++){const l=t[a];l.headerCellElement=d[a],l.headerCellElement&&(l.headerCellElement.onclick=function(){const t=this.dataField;e.$.fireEvent("columnClick",{dataField:t}),e.closeColumnMenu(),"none"===e.sortMode||!1===l.allowSort||e._preventClickSort||(e._addSortIconContainer(this),e._sortOnClick=!0,this.headerCellElement.sortIconContainerElement.classList.contains("asc")?e.sortBy(t,"desc"):this.headerCellElement.sortIconContainerElement.classList.contains("desc")?e.sortBy(t,null):e.sortBy(t,"asc"),e._sortOnClick=!1)}.bind(l))}if(e._sortColumns&&e._sortColumns.length>0)for(let t=0;t<e._sortColumns.length;t++){const a=e._sortColumns[t],l=e.columnByDataField[a.dataField];e._addSortIconContainer(l,a.direction,t+1)}e._handleAutoSizeMode(),e._handleFrozenColumnPositions(),e._refreshHorizontalScrollbar(),e.isRendered&&(e.selection&&e._updateSelectAllState(),e._setFractionOfMax(r)),[o.scrollTop,o.scrollLeft]=[s.top,s.left],e.columns.canNotify=!0}_createTableHeader(){const e=this,t=e.selection,a=document.createElement("thead"),l=e._columns.filter((e=>e.visible)),i=e._getColumnHeaderStructure(),n=window.innerWidth,r={};for(let o=0;o<i;o++){const s=document.createElement("tr"),d=document.createDocumentFragment();t&&(s.innerHTML=o<i-1?'<th class="empty"></th>':'<th class="jqx-table-select-all freeze-near" scope="col" aria-colindex="1"><div role="checkbox" aria-checked="false" aria-label="Toggle selection of all rows"></div></th>',e.virtualization&&s.querySelector("th").classList.add("sticky")),o<i-1&&s.classList.add("column-groups-header");for(let a=0;a<l.length;a++){const s=l[a];if(0===o&&(s.width&&isNaN(parseFloat(s.width))&&delete s.width,s.responsivePriority&&("number"!=typeof s.responsivePriority&&(s.responsivePriority=1),s.responsivePriority=Math.max(Math.min(Math.round(s.responsivePriority),5),1),i>1&&(r[a]=e._isColumnHidden(s.responsivePriority,n)))),o<i-1){if(r[a])continue;const t=l[a],i=t.headerStructure[o];if(a>0){let r=a-1,s=l[r];for(;s&&e._isColumnHidden(s.responsivePriority,n);)r--,s=l[r];if(s&&i===s.headerStructure[o]&&e._areColumnsWithSameFreezeSettings(t,s))continue}const s=document.createElement("th");if(s.includes=[t],a<l.length-1){let r=1,d=a+1,c=l[d];for(;c;){if(!e._isColumnHidden(c.responsivePriority,n)){if(i!==c.headerStructure[o]||!e._areColumnsWithSameFreezeSettings(t,c))break;r++,s.includes.push(c)}d++,c=l[d]}s.colSpan=r}0!==o&&t.headerStructure[o-1]===i||(s.textContent=i),s.includes.forEach((e=>e.thHierarchy[o]=s)),s.classList.add("column-header"),t.freeze&&s.classList.add("freeze-"+("far"===t.freeze?"far":"near")),e.virtualization&&s.classList.add("sticky"),d.appendChild(s)}else e._setupColumnHeaderCell(t,d,a,s)}s.appendChild(d),a.appendChild(s),e._tableHeader=a}if(e.$.tableContainer.appendChild(a),"default"===e.columnSizeMode){for(let t=0;t<e.columns.length;t++){const l=e.columns[t];if(!l.width){const t=a.querySelector('[data-field="'+l.dataField+'"]');t&&t.offsetWidth<5&&(t.style.width=parseInt(l.minWidth||e.columnMinWidth)+"px")}}if(t){const t=e.columns.filter((e=>e.visible));if(1===t.length){const e=t[0],l=a.querySelector('[data-field="'+e.dataField+'"]');l&&(l.style.width="")}}}}_getColumnHeaderStructure(){const e=this._columns,t=this.columnGroups;if(!t)return 1;let a=1;for(const l of e){let e=l.columnGroup;if(l.headerStructure=[],e&&(e=t.find((t=>t.name===e)),e))for(l.headerStructure.push(e.label||e.name);e.parentGroup&&(e=t.find((t=>t.name===e.parentGroup)),e);)l.headerStructure.unshift(e.label||e.name);l.headerStructure.push(l.label),a=Math.max(a,l.headerStructure.length)}for(const t of e){const e=t.headerStructure,l=e[0];for(;e.length<a;)e.unshift(l)}return a}_isColumnHidden(e,t){return!(!e||1===e||t>1280)&&(t<=640&&2===e||t<=800&&3===e||t<=1024&&4===e||t<=1280&&5===e)}_areColumnsWithSameFreezeSettings(e,t){return!e.freeze&&!t.freeze||e.freeze===t.freeze||!0===e.freeze&&"near"===t.freeze||"near"===e.freeze&&!0===t.freeze}getColumnProperty(e,t){const a=this,l=a.columnByDataField[e];if(!l)return null;switch(t){case"width":return l.width?a._getColumnWidth(l.width,!0,l):l._isResponsive&&l._manualPercentageWidth?a._getColumnWidth(l._manualPercentageWidth+"%",!0,l):a._getColumnWidth(l._manualWidth,!0,l);default:return l[t]}}setColumnProperty(e,t,a){const l=this;if(!l.columnByDataField[e])return null;l.columns.forEach(((i,n)=>{i.dataField===e&&(l.columns[n][t]=a)}))}_getTableRemainingWidth(){const e=this;let t=e.offsetWidth;if(e.selection){const a=e.$.tableContainer.querySelector(".jqx-table-select-all");a&&(t=e.offsetWidth-a.offsetWidth),""===e.columns[e.columns.length-1].dataField&&(t-=parseInt(e.columnMinWidth))}e.virtualization&&e.$.virtualizationContainer&&e.$.virtualizationContainer.computedVerticalScrollBarVisibility&&(t-=20);let a=0;for(let t=0;t<e.columns.length;t++){const l=e.columns[t];l.visible&&l.width&&!(""+l.width).endsWith("%")&&(a+=e._getColumnWidth(l.width))}return t-=a,t}_getColumnWidth(e,t,a){const l=this,i=parseFloat(e);if((e=(e+"").trim()).endsWith("%")){let e=l.offsetWidth;if(l.selection){const t=l.$.tableContainer.querySelector(".jqx-table-select-all");t&&(e=l.offsetWidth-t.offsetWidth),""===l.columns[l.columns.length-1].dataField&&(e-=parseInt(l.columnMinWidth))}l.virtualization&&l.$.virtualizationContainer&&l.$.virtualizationContainer.computedVerticalScrollBarVisibility&&(e-=20);let n=0;for(let e=0;e<l.columns.length;e++){const t=l.columns[e];t.visible&&t.width&&!(""+t.width).endsWith("%")&&(n+=l._getColumnWidth(t.width))}e-=n;const r=a&&a.minWidth||l._getNumericMinWidth(),o=t?i+"%":e*(i/100);return r>o?r:o}return isNaN(i)?"auto":t?i+"px":i}_setupColumnHeaderCell(e,t,a,l){const i=this,n=document.createElement("th");if(n.setAttribute("aria-colindex",a+1+ +e),l.width){let e=l.width;"number"==typeof e&&l.minWidth&&(e=Math.max(e,l.minWidth)),n.style.width=i._getColumnWidth(e,!0,l)}else l._manualWidth&&(l._isResponsive?n.style.width=l._manualPercentageWidth+"%":n.style.width=l._manualWidth+"px");1!==i._columns.length&&l.allowResize||n.setAttribute("locked",""),l.freeze&&n.classList.add("freeze-"+("far"===l.freeze?"far":"near")),l.responsivePriority&&n.classList.add("priority-"+l.responsivePriority),i.virtualization&&n.classList.add("sticky"),n.setAttribute("data-field",l.dataField);let r=l.label;if((/<.+?>/.test(r)||/<./.test(r))&&r.replace&&("all"===i.dataSourceSettings.sanitizeHTML?r=r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;"):"blackList"===i.dataSourceSettings.sanitizeHTML&&(r=window.JQX.Utilities.Core.sanitizeHTML(r))),n.innerHTML=`<div class="wrapper" role="presentation"><div class="label">${r}</div></div>`,l.headerFormatFunction){const e=l.headerFormatFunction(r);e&&("string"==typeof e?n.innerHTML=`<div class="wrapper" role="presentation"><div class="label">${e}</div></div>`:"object"==typeof e&&e instanceof HTMLElement&&(n.innerHTML='<div class="wrapper" role="presentation"><div class="label"></div></div>',n.querySelector(".label").appendChild(e)))}if(i.columnMenu){const e=document.createElement("div");e.classList.add("column-menu"),e.setAttribute("aria-hidden",!0),n.firstElementChild.appendChild(e),e.onclick=e=>{i.activeColumnMenu&&i.activeColumnMenu.dataField===l.dataField?i.closeColumnMenu():i.openColumnMenu(l.dataField),e.preventDefault(),e.stopPropagation()}}i.onColumnRender&&i.onColumnRender(l.dataField,n),t.appendChild(n)}_refreshDataRows(){const e=this,t=window.scrollY,a=window.scrollX,l=e.$.tableContainer.children[1],i=Array.from(l.querySelectorAll("tr:not(.jqx-table-filter-row)"));if(e._clearCachedTemplates(),e.filterRow||e.footerRow||e.headerRow)for(let e=0;e<i.length;e++)i[e].remove();else l.innerHTML="";e._createDataRows(l),e._handleAutoSizeMode(),e._handleFrozenColumnPositions(),e._refreshHorizontalScrollbar(),(a||t)&&window.scroll(a,t)}_createDataRows(e){const t=this;if(t.virtualization)return void t._createVirtualDataRows(e);const a=t.rowDetailTemplate,l=t.selection,i=document.createDocumentFragment(),n=t.hasAttribute("hierarchy");for(let e=0;e<t.rows.length;e++){const r=t.rows[e],o=r.data;o.groupDataField?t._createGroupHeader(o,i):t._createDataRow(r,i,{hierarchical:n,rowDetailTemplate:a,selection:l,virtualization:!1})}if(i.appendChild(t._createLastRow()),e.appendChild(i),t._updateState("expanded"),e.parentElement||t.$.tableContainer.insertBefore(e,t.$.tableContainer.querySelector("tfoot")),t.getRootNode().activeElement===t.$.tableContainer&&t._tableContainerFocusHandler(),t._templateTags.length){const e=t.querySelectorAll("tr");for(let a=0;a<t._templateTags.length;a++){const l=t._templateTags[a],i=l.index,n=l.dataField,r=l.td;if(e[i]){const t=e[i].querySelector('[data-field="'+n+'"]'),a=[...t.querySelectorAll("jqx-button"),...t.querySelectorAll("button"),...t.querySelectorAll("a"),...t.querySelectorAll("span")],l=[...r.querySelectorAll("jqx-button"),...r.querySelectorAll("button"),...r.querySelectorAll("a"),...r.querySelectorAll("span")];for(let e=0;e<a.length;e++)"button"===a[e].nodeName.toLowerCase()&&a[e].classList.contains("jqx-button")||(a[e].onclick=()=>{l[e].click()})}}}}_createDataRow(e,t,a){const l=this,i=l._columns.filter((e=>e.visible)),n=e.data,r=n.$.id,o=document.createElement("tr"),s={row:o,detail:null};let d=0;o.setAttribute("aria-rowindex",n.$.index+1),l._processAndRenderSelection(n,o,a.hierarchical),a.selection&&d++;for(let t=0;t<i.length;t++){const s=document.createElement("td"),c=i[t];s.setAttribute("data-field",c.dataField),s.setAttribute("aria-colindex",t+1+ +a.selection);let u,f=l._formatCellValue(e,c,s);if(c.freeze&&s.classList.add("freeze-"+("far"===c.freeze?"far":"near")),c.responsivePriority&&s.classList.add("priority-"+c.responsivePriority),!1===c.allowEdit&&(s.classList.add("no-edit"),s.setAttribute("aria-readonly",!0)),0===t&&a.hierarchical){const e=l._areChildrenFiltered(n);n.leaf||(s.classList.add("tree-cell"),u=e),n.level&&(s.classList.add("outline-level-"+Math.min(n.level,10)),!n.leaf&&e||s.classList.add("tree-leaf"))}if(a.virtualization&&c.templateElement){const e=c.templateElement+"";u&&l._setCellContent(s,f,u);const t=u?s.children[0].children[1]:s;e.indexOf("{{value}}")>=0?t.innerHTML=e.replace(/{{value}}/gi,'<div class="jqx-table-cell-template">'+n[c.dataField]+"</div>"):t.innerHTML=e,c.templateElementSettings&&(l._cachedTemplates&&l._cachedTemplates[c.dataField+"_"+r]&&(0===l._cachedTemplates[c.dataField+"_"+r].innerHTML.length?delete l._cachedTemplates[c.dataField+"_"+r]:(t.innerHTML="",t.appendChild(l._cachedTemplates[c.dataField+"_"+r]))),c.templateElementSettings(n[c.dataField],r,t.firstElementChild),l._cachedTemplates||(l._cachedTemplates=[]),l._cachedTemplates[c.dataField+"_"+r]||(l._cachedTemplates[c.dataField+"_"+r]=t.firstElementChild))}else""===c.dataField&&void 0===f&&(f=""),l._setCellContent(s,f,u);l.onCellRender&&l.onCellRender(n,c.dataField,n[c.dataField],s),l._applyConditionalFormattingToCell(s,c.dataField,n.$.index),o.appendChild(s),d++}if(o.data=n,o.setAttribute("row-id",r),-1!==l._disabledSelection.indexOf(r)&&(o.removeAttribute("aria-selected"),o.classList.add("disable-select"),a.selection&&o.firstElementChild.firstElementChild.setAttribute("aria-disabled",!0)),n.expanded?(-1===l._expandedIds.indexOf(r)&&l._expandedIds.push(r),l._expandedIdsAlt[r]=!0,o.setAttribute("aria-expanded",!0),o.classList.add("expanded")):!1===n.expanded&&o.setAttribute("aria-expanded",!1),n.level&&l._isCollapsed(n)&&(o.setAttribute("aria-hidden",!0),o.classList.add("collapsed","jqx-hidden")),t.appendChild(o),a.rowDetailTemplate){const i=document.createElement("tr");if(-1===l._expandedRowDetailIds.indexOf(r)){if(a.virtualization)return s;i.setAttribute("aria-hidden",!0),i.classList.add("collapsed")}else s.detail=i;i.data=Object.assign(n,{detail:!0}),i.classList.add("jqx-table-row-detail"),i.innerHTML=`<td colspan="${d}"><div class="jqx-table-detail-container">${l._applyRowDetailTemplate(e)}</div></td>`,t.appendChild(i)}return s}_processAndRenderSelection(e,t,a,l){const i=this,n=e.$.id,r=i._getChildCheckState(e).state;if(a&&i.selectionByHierarchy){const e=i._selectedIds.indexOf(n);!0===r&&-1===e?i._selectedIds.push(n):r||-1===e||i._selectedIds.splice(e,1)}if(!i.selection)return;let o,s;l?(o=t.firstElementChild,s=o.firstElementChild):(o=document.createElement("td"),s=document.createElement("div")),s.className="selection-checkbox",s.setAttribute("role","checkbox"),s.setAttribute("aria-checked",!!r||null===r&&"mixed"),s.setAttribute("aria-label","Toggle row selection"),o.className="jqx-table-select-row freeze-near"+(r?" selected":null===r?" indeterminate":""),o.setAttribute("aria-colindex",1),l||(o.appendChild(s),t.appendChild(o)),t.setAttribute("aria-selected",!0===r)}_applyConditionalFormattingToCell(e,t,a){const l=this;if(l._conditionalFormatting&&l._conditionalFormatting[t]){const i=l._conditionalFormatting[t][a];i&&(e.style.backgroundColor=i.background,e.style.color=i.color,e.style.fontFamily=i.fontFamily,e.style.fontSize=i.fontSize)}}_createLastRow(){const e=document.createElement("tr");e.setAttribute("aria-hidden",!0),e.classList.add("last-visible");try{new ResizeObserver((t=>{try{e.classList.toggle("sized",t[0].contentRect.height>0&&null!==e.previousSibling)}catch(e){}})).observe(e)}catch(e){}return e}_createGroupHeader(e,t,a){const l=this;l.columnByDataField[e.groupDataField]||console.error(l.localize("grouping"));const i=l.columnByDataField[e.groupDataField]?l.columnByDataField[e.groupDataField].label:`${l.localize("EMPTY")}`,n=a||document.createElement("tr"),r=document.createElement("td"),o=document.createElement("div"),s=document.createElement("div"),d=document.createElement("div");let c=e.label;if((/<.+?>/.test(c)||/<./.test(c))&&c.replace&&("all"===l.dataSourceSettings.sanitizeHTML?c=c.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;"):"blackList"===l.dataSourceSettings.sanitizeHTML&&(c=window.JQX.Utilities.Core.sanitizeHTML(c))),""!==c&&c||(c=`<em class="placeholder">${l.localize("EMPTY")}</em>`),n.removeAttribute("aria-rowindex"),n.data=e,s.classList.add("hierarchy-arrow","jqx-arrow","jqx-arrow-down"),s.setAttribute("role","button"),s.setAttribute("aria-label","Toggle row"),d.classList.add("group-label"),d.innerHTML=`<span class="group-label-name">${i}: </span>\n                            <span class="group-label-value">${c}</span>\n                            <span class="group-label-count">(${l._getLeafCount(e)})</span>`,r.colSpan=l._columns.filter((e=>e.visible)).length,r.classList.add("group-header"),e.level&&(r.classList.add("outline-level-"+Math.min(e.level,10)),l._isCollapsed(e)&&(n.setAttribute("aria-hidden",!0),n.classList.add("collapsed","jqx-hidden"))),n.setAttribute("row-id",e.$.id),n.setAttribute("role","group"),n.setAttribute("aria-level",e.level),o.appendChild(s),o.appendChild(d),r.appendChild(o),l._processAndRenderSelection(e,n,!0),n.appendChild(r),n.setAttribute("aria-expanded",e.expanded),n.classList.toggle("expanded",e.expanded),e&&e.$&&!1===e.$.filtered&&n.classList.add("jqx-hidden"),l.groupFormatFunction){const t={value:c,row:e.$.id,column:e.groupDataField,data:e,template:null};l.groupFormatFunction(t),c!==t.value&&(d.innerHTML=`<span class="group-label-name">${i}: </span>\n                <span class="group-label-value">${t.value}</span>\n                <span class="group-label-count">(${l._getLeafCount(e)})</span>`),t.template instanceof HTMLElement&&(d.innerHTML="",d.appendChild(t.template));const a=t.template;let n="";if(a&&a.startsWith("#")){const e=document.querySelector(a);let t=c;if(e&&e instanceof HTMLTemplateElement){const a=e.content.cloneNode(!0),l=document.createElement("div");l.appendChild(a),t=t.toString(),t=t.replace(/'/gi,"\\'"),t=t.replace(/"/gi,'\\"'),n=l.innerHTML.replace(/{{value}}/gi,t),n.indexOf("{{value=")>=0&&(t?(n=n.substring(0,n.indexOf("{{value="))+t+n.substring(n.indexOf("}")),n=n.replace(/}/gi,""),n=n.replace(/{/gi,"")):(n=n.replace(/{{value=/gi,""),n=n.replace(/}}/gi,""))),d.innerHTML=n}}else a&&"string"==typeof a&&(n=a.replace(/{{value}}/gi,c),d.innerHTML=n)}const u=l.selection?1:0;for(let e=0;e<l.columns.length;e++){const t=document.createElement("td"),a=l.columns[e];a.visible&&(t.setAttribute("data-field",a.dataField),t.setAttribute("aria-colindex",e+1+u),t.classList.add("jqx-hidden"),n.appendChild(t))}return a||t.appendChild(n),n}_getLeafCount(e){let t=0;return function e(a){for(const l of a)l.leaf?t++:l.children&&l.children.length>0&&e(l.children)}(e.children),t}_isCollapsed(e){let t=e.parent;for(;t;){if(!t.expanded)return!0;t=t.parent}return!1}_areChildrenFiltered(e){if(!e.leaf){if(0===e.children.length&&this.dataSource.virtualDataSource)return!0;for(let t=0;t<e.children.length;t++)if(!1!==e.children[t].$.filtered)return!0;return!1}}_applyRowDetailTemplate(e){const t=this,a=t.dataSource.dataFields;let l=t.rowDetailTemplate;for(let i=0;i<a.length;i++){const n=a[i].name,r=new RegExp(`{{${n}}}`,"g");let o=t.columnByDataField[n]||{dataField:n};if(r.test(l)){let a=t._formatCellValue(e,o,document.createElement("td"));"string"!=typeof a&&(a=e.data[o.dataField]),l=l.replace(r,a)}}return l}_handleFrozenColumnPositions(){const e=this,t=e.rightToLeft,a=e._columns.filter((e=>e.visible));let l=[],i=[],n=0;function r(t,l,i,r,o){const s=a[l-n],d=[s.headerCellElement];for(const e of s.thHierarchy)e.includes[0].dataField===s.dataField&&d.push(e);Array.from(e.$.tableContainer.querySelectorAll(`td:nth-child(${l+1})`)).concat(d).forEach((e=>{e.style[t]=i+"px",o&&(e.style.zIndex=2+r)}))}e.selection&&(t?i.push(0):l.push(0),n=1);for(let e=0+n;e<a.length+n;e++){const r=a[e-n];r.freeze&&(!t&&"far"===r.freeze||t&&"far"!==r.freeze?i.push(e):l.push(e))}if(l.length<2&&i.length<2)return;const o=[];e.selection&&o.push(40);for(const e of a){let t=e.width;t||(t=e.headerCellElement.offsetWidth),e.minWidth&&(t=Math.max(e.minWidth,t)),o.push(t)}if(t){for(let e=0;e<l.length-1;e++){const t=l[e];let a=0;for(let e=t+1;e<o.length;e++)-1!==l.indexOf(e)&&(a+=o[e]);r("left",t,a,e,!0)}for(let e=1;e<i.length;e++){const t=i[e];let a=0;for(let e=0;e<t;e++)-1!==i.indexOf(e)&&(a+=o[e]);r("right",t,a,e,!1)}}else{for(let e=1;e<l.length;e++){const t=l[e];let a=0;for(let e=0;e<t;e++)-1!==l.indexOf(e)&&(a+=o[e]);r("left",t,a,e,!1)}for(let e=0;e<i.length-1;e++){const t=i[e];let a=0;for(let e=t+1;e<o.length;e++)-1!==i.indexOf(e)&&(a+=o[e]);r("right",t,a,e,!0)}}}_formatCellValue(e,t,a,l){const i=this;let n=e&&e.data?e.data.$.id:e;if(void 0===l&&(l=e.data[t.dataField]),"string"==typeof l&&(l.indexOf(">")>=0||l.indexOf("<")>=0)&&l.replace&&("all"===i.dataSourceSettings.sanitizeHTML?l=l.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;"):"blackList"===i.dataSourceSettings.sanitizeHTML&&(l=window.JQX.Utilities.Core.sanitizeHTML(l))),i._cellsWithFormulas){const e=t.dataField+":"+n;if("string"==typeof l&&/=.+/.test(l)){const t=i._formulaParser;i._cellsWithFormulas[e]=!0,t&&(l=t.parse(l.slice(1)))}else delete i._cellsWithFormulas[e]}if(t.formatFunction){const i={value:l,row:n,column:t.dataField,data:e.data,cell:a,template:null};if(t.formatFunction(i),l=i.value,i.template instanceof HTMLElement)return i.template;if(null===i.template||"string"!=typeof i.template)return l;const r=i.template;let o="";if(r.startsWith("#")){const e=document.querySelector(r);if(e&&e instanceof HTMLTemplateElement){const t=e.content.cloneNode(!0),a=document.createElement("div");return a.appendChild(t),l=(l=(l=l.toString()).replace(/'/gi,"\\'")).replace(/"/gi,'\\"'),o=a.innerHTML.replace(/{{value}}/gi,l),o.indexOf("{{value=")>=0&&(l?(o=o.substring(0,o.indexOf("{{value="))+l+o.substring(o.indexOf("}")),o=o.replace(/}/gi,""),o=o.replace(/{/gi,"")):(o=o.replace(/{{value=/gi,""),o=o.replace(/}}/gi,""))),o}}return o='<div class="jqx-table-cell-template">'+r.replace(/{{value}}/gi,l)+"</div>",o}return"date"===t.dataType&&l instanceof Date?l.toLocaleDateString():l}_setCellContent(e,t,a){if(t instanceof HTMLElement==1){for(;e.childNodes.length>0;)e.childNodes[0].remove();if(a){const a=document.createElement("div");a.innerHTML='<div class="hierarchy-arrow jqx-arrow jqx-arrow-down" role="button" aria-label="Toggle row"></div><div></div>',a.children[1].appendChild(t),e.appendChild(a)}else e.appendChild(t)}else if(a)e.innerHTML=t=`<div>\n                                                <div class="hierarchy-arrow jqx-arrow jqx-arrow-down" role="button" aria-label="Toggle row"></div>\n                                                <div>${t}</div>\n                                            </div>`,e._content=t;else if("string"==typeof t&&t.indexOf(">")>=0)if(/<.+?>/.test(t)||/&\S+;/.test(t)){if(e._content===t)return;e.innerHTML=t,e._content=t}else e.textContent!==t&&(e.textContent=t);else"html"===this.dataSourceSettings.sanitizeHTMLRender?e.innerHTML!==t&&("string"==typeof t&&t.indexOf(" ")>=0&&(t=t.replaceAll(" ","&nbsp;")),void 0===t&&(t=""),e.innerHTML=t):e.textContent!==t&&(e.textContent=t)}_dataBind(e){const t=this;if(t._cellsWithFormulas={},t._templateTags=[],t.dataSource){if(t.dataSource instanceof JQX.DataAdapter==0){const e=t.dataSource;if(Array.isArray(e)){const a=t.columns;let l;if(e.length>0){const t=e[0];l=[];for(let e in t){const a=t[e];"number"==typeof a?l.push({name:e,dataType:"number"}):"boolean"==typeof a?l.push({name:e,dataType:"boolean"}):a instanceof Date?l.push({name:e,dataType:"date"}):a instanceof Object?l.push({name:e,dataType:"any"}):l.push({name:e,dataType:"string"})}}a&&a.length>0&&(l=l||[],a.forEach((e=>{if(e.dataType){const t=l.find((t=>t.name===e.dataField));t?t.dataType=e.dataType:e.map?l.find((t=>e.map.indexOf(t.name)>=0?t:null))&&l.push({name:e.dataField,map:e.map,dataType:e.dataType}):l.push({name:e.dataField,dataType:e.dataType})}}))),t.dataSourceSettings.dataFields&&t.dataSourceSettings.dataFields.length>0?t.dataSource=new JQX.DataAdapter({dataSource:t.dataSource,dataSourceType:t.dataSourceSettings.dataSourceType,dataFields:t.dataSourceSettings.dataFields,keyDataField:t.dataSourceSettings.keyDataField,parentDataField:t.dataSourceSettings.parentDataField,childrenDataField:t.dataSourceSettings.childrenDataField,groupBy:t.dataSourceSettings.groupBy,mapChar:t.dataSourceSettings.mapChar,root:t.dataSourceSettings.root,record:t.dataSourceSettings.record,autoGenerateColumns:t.autoGenerateColumns,id:t.dataSourceSettings.id||t.dataRowId,expandHierarchy:t.expandHierarchy,virtualDataSource:t.dataSourceSettings.virtualDataSource,virtualDataSourceOnExpand:t.dataSourceSettings.virtualDataSourceOnExpand}):t.dataSource=new JQX.DataAdapter({dataSource:t.dataSource,dataFields:l,id:t.dataRowId||t.dataSourceSettings.id,dataSourceType:t.dataSourceSettings.dataSourceType,keyDataField:t.dataSourceSettings.keyDataField,parentDataField:t.dataSourceSettings.parentDataField,childrenDataField:t.dataSourceSettings.childrenDataField,groupBy:t.dataSourceSettings.groupBy,mapChar:t.dataSourceSettings.mapChar,root:t.dataSourceSettings.root,record:t.dataSourceSettings.record,autoGenerateColumns:t.autoGenerateColumns,expandHierarchy:t.expandHierarchy,virtualDataSource:t.dataSourceSettings.virtualDataSource,virtualDataSourceOnExpand:t.dataSourceSettings.virtualDataSourceOnExpand})}else t.dataSource=new JQX.DataAdapter({dataSource:[],id:t.dataRowId,expandHierarchy:t.expandHierarchy})}}else{if(t.dataFields=[],!t.columns||Array.isArray(t.columns)&&0===t.columns.length){t.columns=[];const e=t.querySelectorAll("th");for(let a=0;a<e.length;a++){const l=e[a].innerHTML.trim();let i={label:l,dataField:l,dataType:"string"};t.columns.push(i),t.dataFields.push(l)}}else for(let e=0;e<t.columns.length;e++){const a=t.columns[e];"string"==typeof a?t.dataFields.push(a):"object"==typeof a&&t.dataFields.push(a.dataField+(a.dataType?": "+a.dataType:""))}let e=[];if(!t.rows){const a=t.querySelectorAll("tr");for(let l=0;l<a.length;l++){const i={},n=a[l].querySelectorAll("td");if(n.length>0){for(let e=0;e<t.columns.length;e++){const a=t.columns[e];i[a.dataField]=n[e].innerHTML.trim(),i[a.dataField].indexOf("<")>=0&&t._templateTags.push({index:l,dataField:a.dataField,td:n[e]})}e.push(i)}}t.dataSource=new JQX.DataAdapter({dataSource:e,expandHierarchy:t.expandHierarchy,dataFields:t.dataFields,id:t.dataRowId})}const a=t.$.container.querySelectorAll("table");a.length>1&&a[a.length-1].parentNode.removeChild(a[a.length-1])}t.dataSource.expandHierarchy=t.expandHierarchy,t._transformDataSource(),t._applyInitialConditionalFormatting(t.dataSource),t._initColumns(e),t._initRows(),t.dataSource.notify((function(e){if(t.dataSource._updating)return void delete t.dataSource._updating;if(t._editing)return;const a=e.data,l=t._selectedIds.slice(0);let i=e.action;switch(t.rows.canNotify=!1,e.action){case"add":if(a.length)for(let e=0;e<a.length;e++)t._addNewRow(a[e],t.dataSource.length-a.length+e);else t._addNewRow(a,t.dataSource.length-1);break;case"update":if(a.length)for(let l=0;l<a.length;l++){const i=e.index[l];t.rows[i].data=a[l]}break;case"insert":t._addNewRow(a,e.index);for(let e=0;e<t.rows.length;e++)t.rows[e].dataIndex=e;break;case"remove":case"removeLast":i="remove",function(e){const a=e.$.id,l=t._selectedIds.indexOf(a);delete t.rowById[a],t.rows.splice(e.$.index,1),-1!==l&&t._selectedIds.splice(l,1)}(a);break;case"bindingComplete":if(t.filtering&&t.filterRow){const e=t._filterInfo;e.inputFilters?t._filterByAll(e.query):e.rowFilters?t._applyRowFilters():e.appliedFilters&&t._refreshFilters()}}t.rows.canNotify=!0,this.refreshHierarchy(),t._fullRefresh(void 0,l,i)})),t.refresh(),t.dataSource.virtualDataSource&&(t.paging=!0,t._requestVirtualDataSource("dataBind")),t.$.tableContainer.setAttribute("aria-rowcount",t.dataSource.length)}_requestVirtualDataSource(e,t,a=null){const l=this,i=l.pageSize,n=Math.max(l.pageIndex*i,0),r=n+i,o=[],s=[],d={};let c=null;if(l.dataSource._updating=!0,l._sortColumns&&(l._sortColumns.forEach(((e,t)=>o[e.dataField]={sortOrder:e.direction,sortIndex:t})),o.length=l._sortColumns.length),l._filterInfo.appliedFilters){for(let e in l._filterInfo.appliedFilters)s[e]=l._filterInfo.appliedFilters[e];s.length=Object.keys(l._filterInfo.appliedFilters).length,c="and"}else{const e=l._filterInfo.inputFilters||l._filterInfo.rowFilters;e&&(e.forEach((e=>s[e[0]]=e[1])),s.length=e.length),c=l._filterInfo.inputFilters?"or":"and"}l._editing&&(d.row=l._editing.row.data),l.$.loadingIndicatorContainer.classList.remove("jqx-hidden"),l.setAttribute("loading",""),l.dataSource.onVirtualDataSourceRequested((function(i){let n=!0;-1!==["add","update","remove"].indexOf(e)&&t&&(n=t(i.result)),l.$.loadingIndicatorContainer.classList.add("jqx-hidden"),l.removeAttribute("loading"),n&&(a&&(a.expanded=!0),l._initRows(),l._refreshDataRows())}),{first:n,last:r,sorting:o,filtering:s,filterOperator:c,grouping:[],edit:d,row:a,action:e})}sortBy(e,t){const a=this,l=a.columnByDataField[e];if(l){if(!1===l.allowSort)return;e=l.dataField}if(a._sortBy({column:l,columnDataField:e,sortOrder:t,dataFields:a.dataSource.dataFields,columnByDataField:"columnByDataField"}),null===e){const e=!0===a._sortOnClick?"interaction":"programmatic";a.$.fireEvent("sort",{columns:[],sortDataFields:[],sortOrders:[],sortDataTypes:[],type:e})}}_sortBy(e){const t=this,a=e.column,l=e.columnDataField,i=e.sortOrder,n=e.dataFields,r=e.columnByDataField,o=[],s=[],d=[],c=function(e){t._addSortIconContainer(e),e.headerCellElement&&(e.headerCellElement.removeAttribute("aria-sort"),e.headerCellElement.sortIconContainerElement.classList.remove("desc"),e.headerCellElement.sortIconContainerElement.classList.remove("asc")),e.sortOrder=null},u=function(){if(t._sortColumns&&t._sortColumns.length>0)for(let e=0;e<t._sortColumns.length;e++){const a=t._sortColumns[e],l=t[r][a.dataField];c(l)}t._sortColumns=[]};if(null==a)return void(t._sortColumns&&t._sortColumns.length>0&&(u(),t._sortCallback(o,s,d),t._updateState("sorted")));if("none"===t.sortMode||!t.dataSource)return;if(i&&a.sortOrder===i)return;let f=i||"asc";null===i&&(f=null),c(a),t._sortColumns||(t._sortColumns=[]);let m="string";for(let e=0;e<n.length;e++){const t=n[e];if(t.name===l){m=t.dataType,"any"===m&&(m="number");break}}let h=!0;for(let e=0;e<t._sortColumns.length;e++){const n=t._sortColumns[e];if(n.dataField===l)if(h=!1,null===f&&(n.direction="desc"),"asc"===n.direction)n.direction="desc",f="desc";else if("desc"===n.direction){t._sortColumns.splice(e,1),c(a),f=i;break}}h&&("one"===t.sortMode&&u(),t._sortColumns.push({dataField:l,direction:f,dataType:m})),t._addSortIconContainer(a),null!==f?(a.headerCellElement&&(a.headerCellElement.sortIconContainerElement.classList.remove("asc"),a.headerCellElement.sortIconContainerElement.classList.remove("desc")),a.sortOrder=f,a.headerCellElement&&("desc"===f?(a.headerCellElement.sortIconContainerElement.classList.add("desc"),a.headerCellElement.setAttribute("aria-sort","descending")):(a.headerCellElement.sortIconContainerElement.classList.add("asc"),a.headerCellElement.setAttribute("aria-sort","ascending")))):a.headerCellElement&&(a.headerCellElement.sortIconContainerElement.classList.remove("asc"),a.headerCellElement.sortIconContainerElement.classList.remove("desc"),a.headerCellElement.removeAttribute("aria-sort"));for(let e=0;e<t._sortColumns.length;e++){const a=t._sortColumns[e],l=t[r][a.dataField];o.push(a.dataField),s.push(a.direction),d.push(a.dataType),l.headerCellElement&&l.headerCellElement.sortIconContainerElement.setAttribute("order",e+1)}if(t._sortCallback(o,s,d),t._updateState("sorted"),!t._doNotFireEvent){const e=!0===t._sortOnClick?"interaction":"programmatic";t.$.fireEvent("sort",{columns:t._sortColumns,sortDataFields:o,sortOrders:s,sortDataTypes:d,type:e})}}_addSortIconContainer(e,t,a){const l=e.headerCellElement;if(l&&!l.sortIconContainerElement){const e=document.createElement("div");e.classList.add("sort-by"),e.setAttribute("aria-hidden",!0),t&&e.classList.add(t),l.firstElementChild.appendChild(e),l.sortIconContainerElement=e,"asc"===t?l.setAttribute("aria-sort","ascending"):"desc"===t?l.setAttribute("aria-sort","descending"):l.removeAttribute("aria-sort"),void 0!==a&&e.setAttribute("order",a)}}_sortCallback(e,t,a){const l=this,i=l.dataSource;if(!i.virtualDataSource){let n=null;for(let e=0;e<l.columns.length;e++){const t=l.columns[e];t.sort&&(n||(n={}),n[t.dataField]=t.sort)}i._sort(l.dataSource.boundSource,e,t,a,l.sort,n);let r=[],o=[];if(i.groupBy&&i.groupBy.toArray&&(r=i.groupBy.toArray().slice(0)),r.length>0&&(o=l._getExpandedGroups(i.boundHierarchy)),i.refreshHierarchy(),r.length>0){const e=l._doNotFireEvent;l._doNotFireEvent=!0,l._restoreExpandedGroups(o),l._doNotFireEvent=e}}l._fullRefresh("sort")}clearSort(){this.sortBy(null)}_fullRefresh(e,t,a,l){const i=this;if(i.__updating)return;if(i.dataSource.virtualDataSource)return void i._requestVirtualDataSource(e,l);const n=i._getFractionOfMax();t||(t=i._selectedIds.slice(0)),t=JSON.stringify(t.sort()),i._initRows(),i._refreshDataRows(),i._setFractionOfMax(n),"filter"===e&&(i._updateSelectAllState(),a||(a="filter")),t!==JSON.stringify(i._selectedIds.slice(0).sort())&&("filter"!==e&&i._updateSelectAllState(),i._updateState("selected"),i.$.fireEvent("change",{type:a})),"string"==typeof e&&-1!==e.indexOf("page")&&i._fixFrozenHeaderFirefox()}_pagerChangeHandler(e){const t=this;(t.isInShadowDOM?e.composedPath()[0]:e.target)===t.$.pager&&(t.pageIndex=e.detail.index,t._fullRefresh("pageIndexChange"),t.$.fireEvent("page",{action:"pageIndexChange"}))}_pagerPageSizeChanged(e){const t=this;t.pageSize=e.detail.value,t._fullRefresh("pageSizeChange"),t.$.fireEvent("page",{action:"pageSizeChange"})}_filterInputKeyupHandler(){const e=this;clearTimeout(e._filterInputTimeout),e._filterInputTimeout=setTimeout((function(){if(e._filterInfo&&e.$.filterInput.value!==e._filterInfo.query){const t=e.context;e.context=e,e._filterByAll(e.$.filterInput.value),e.context=t}}),500)}_filterByAll(e){const t=this;if(t._filterInfo.query=e,""===e)return void t.clearFilters();const a=[];t._clearRowFilters(),delete t._filterInfo.appliedFilters,t._filterInfo.stringDataFields.forEach((t=>{const l=new JQX.Utilities.FilterGroup,i=l.createFilter("string",e,"CONTAINS");l.addFilter("or",i),a.push([t,l])})),t.dataSource.virtualDataSource||t.dataSource._filter(a,"or"),t._filterInfo.inputFilters=a,t._fullRefresh("filter"),t._updateState("filtered"),t._doNotFireEvent||t.$.fireEvent("filter",{action:"add",filters:t.hasAttribute("jqx-blazor")?t._getFiltersExpressions(a):a})}_getFiltersExpressions(e){const t=this;let a=[],l=[];for(let i=0;i<e.length;i++){const n=e[i];l.push(n[0]);let r="";const o=t.columnByDataField[n[0]];for(let e=0;e<n[1].filters.length;e++){const t=n[1].filters[e].condition,a=n[1].filters[e].value,l=n[1].logicalOperators[e],i=1===l||"or"===l?"or":"and";"string"===o.dataType?r+=`"${t}" "${a}"`:r+=`"${t}" ${a}`,e<n[1].filters.length-1&&(r+=` ${i} `)}a.push([n[0],r])}return a}_setupPagingAndFiltering(){const e=this;e.$.pager.$.pageSizeSelector.classList.add("underlined"),e.$.pager.$.pageSizeSelector.dropDownAppendTo="body",e._filterInfo={query:""},e._applyFilterTemplate(),e.$.header.classList.toggle("jqx-hidden",(!e.filtering||e.filterRow||e.columnMenu)&&!e.conditionalFormattingButton)}_applyFilterTemplate(){const e=this,t=e.filterTemplate;if(e.$.filterTemplateContainer.innerHTML="",!t)return e.$.filterInput.classList.remove("jqx-hidden"),e.$.filterTemplateContainer.classList.add("jqx-hidden"),void(e.filterTemplate=null);const a=document.getElementById(t);if(a&&a instanceof HTMLTemplateElement){const t=document.importNode(a.content,!0);e.$.filterInput.classList.add("jqx-hidden"),e.$.filterTemplateContainer.classList.remove("jqx-hidden"),e.$.filterTemplateContainer.appendChild(t)}else e.filterTemplate=null,e.$.filterInput.classList.remove("jqx-hidden"),e.$.filterTemplateContainer.classList.add("jqx-hidden")}_refreshFilters(e){const t=this,a=[];for(let e in t._filterInfo.appliedFilters){let l=t._filterInfo.appliedFilters[e];a.push([e,l])}0!==a.length?(t._clearFilterInput(),t._clearRowFilters(),t.dataSource.virtualDataSource||t.dataSource._filter(a,t.filterOperator),t._fullRefresh("filter"),t._updateState("filtered"),e&&!t._doNotFireEvent&&t.$.fireEvent("filter",{action:e,filters:t.hasAttribute("jqx-blazor")?t._getFiltersExpressions(a):a})):t.clearFilters()}_localize(){const e=this,t=e.$.pager;t.messages[e.locale]||(t.messages[e.locale]={}),t.messages[e.locale].pageSizeLabel=e.localize("itemsPerPage"),t.messages[e.locale].summaryPrefix=e.localize("summaryPrefix"),t.messages[e.locale].summarySuffix="",t.$.firstButton.setAttribute("tooltip",e.localize("firstButton")),t.$.previousButton.setAttribute("tooltip",e.localize("previousButton")),t.$.nextButton.setAttribute("tooltip",e.localize("nextButton")),t.$.lastButton.setAttribute("tooltip",e.localize("lastButton")),e.$.filterInput.placeholder=e.localize("filterPlaceholder"),e.$.conditionalFormattingButton.setAttribute("tooltip",e.localize("conditionalFormatting")),e._filterInfo.stringConditions=[{value:"EMPTY",label:e.localize("EMPTY")},{value:"NOT_EMPTY",label:e.localize("NOT_EMPTY")},{value:"CONTAINS",label:e.localize("CONTAINS")},{value:"CONTAINS_CASE_SENSITIVE",label:e.localize("CONTAINS_CASE_SENSITIVE")},{value:"DOES_NOT_CONTAIN",label:e.localize("DOES_NOT_CONTAIN")},{value:"DOES_NOT_CONTAIN_CASE_SENSITIVE",label:e.localize("DOES_NOT_CONTAIN_CASE_SENSITIVE")},{value:"STARTS_WITH",label:e.localize("STARTS_WITH")},{value:"STARTS_WITH_CASE_SENSITIVE",label:e.localize("STARTS_WITH_CASE_SENSITIVE")},{value:"ENDS_WITH",label:e.localize("ENDS_WITH")},{value:"ENDS_WITH_CASE_SENSITIVE",label:e.localize("ENDS_WITH_CASE_SENSITIVE")},{value:"EQUAL",label:e.localize("EQUAL")},{value:"EQUAL_CASE_SENSITIVE",label:e.localize("EQUAL_CASE_SENSITIVE")},{value:"NULL",label:e.localize("NULL")},{value:"NOT_NULL",label:e.localize("NOT_NULL")}],e._filterInfo.numberAndDateConditions=[{value:"EQUAL",label:e.localize("EQUAL")},{value:"NOT_EQUAL",label:e.localize("NOT_EQUAL")},{value:"LESS_THAN",label:e.localize("LESS_THAN")},{value:"LESS_THAN_OR_EQUAL",label:e.localize("LESS_THAN_OR_EQUAL")},{value:"GREATER_THAN",label:e.localize("GREATER_THAN")},{value:"GREATER_THAN_OR_EQUAL",label:e.localize("GREATER_THAN_OR_EQUAL")},{value:"NULL",label:e.localize("NULL")},{value:"NOT_NULL",label:e.localize("NOT_NULL")}]}_createFilterRow(e){const t=this;if(!t.filtering||!t.filterRow)return;if(e)return void t.$.tableContainer.children[1].insertBefore(e,t.$.tableContainer.children[1].firstElementChild);const a=document.createElement("tr"),l=t._columns.filter((e=>e.visible));let i="";a.className="jqx-table-filter-row",t.selection&&(i+='<td style="left: 0px; z-index: 99; position: sticky; background: var(--jqx-background);"></td>');for(let e=0;e<l.length;e++){const a=l[e];i+=t._createFilterRowInput(a)}a.innerHTML=i,t.$.tableContainer.children[1].insertBefore(a,t.$.tableContainer.children[1].firstElementChild)}_createFilterRowInput(e){const t=this,a=` animation="${t.animation}" `,l=t.rightToLeft?" right-to-left":"",i=[];let n,r,o,s;"string"===e.dataType?(n=t._filterInfo.stringConditions,r="string",o="string-filter",s=t.localize("CONTAINS")):(n=t._filterInfo.numberAndDateConditions,r=e.dataType,o="num-date-filter",s=t.localize("EQUAL")),e.freeze&&i.push("freeze-"+("far"===e.freeze?"far":"near")),e.responsivePriority&&i.push("priority-"+e.responsivePriority),!1===e.allowFilter&&i.push("no-filter");const d=`<td${i.length?' class="'+i.join(" ")+'"':""} filter-for="${e.dataField}">\n                            <div>\n                                <input type="${r}" class="filter-value" aria-label="Filter value" />\n                                <jqx-input class="${o}${a}data-source='${JSON.stringify(n)}' drop-down-button-position="right" drop-down-width="auto" readonly${l} value="${s}" title="${t.localize("filterCondition")}" aria-label="Filter condition"></jqx-input>\n                                <jqx-button class="jqx-hidden" title="${t.localize("clearFilter")}"${a}${l} aria-label="Clear filter"></jqx-button>\n                            </div>\n                        </td>`;if(t.onFilterRowInput){const a=t.onFilterRowInput(e,n,d);if(a)return a}return d}_tableContainerChangeHandler(e){const t=this,a=t.isInShadowDOM?e.composedPath()[0]:e.target;a.classList.contains("filter-value")&&("date"===a.type||a instanceof JQX.Input&&(""!==a.previousElementSibling.value||-1!==["EMPTY","NOT_EMPTY","NULL","NOT_NULL"].indexOf(e.detail.value)))&&t._applyRowFilters(),(a.classList.contains("string-filter")||a.classList.contains("num-date-filter"))&&a instanceof JQX.Input&&(""!==a.previousElementSibling.value||-1!==["EMPTY","NOT_EMPTY","NULL","NOT_NULL"].indexOf(e.detail.value))&&t._applyRowFilters()}_tableContainerClickHandler(e){const t=this;if(t._editing)return;const a=t.isInShadowDOM?e.composedPath()[0]:e.target;if(!t.$.tableContainer.contains(a))return;const l=a.closest("tbody tr[row-id], tfoot tr.grand-total");if(l){t.closeColumnMenu();const i=a.closest("td");if(a.classList.contains("hierarchy-arrow")){const e=t.animation;return t.virtualization&&(t._animation="none"),t._hierarchyArrowClickHandler(l,i),void(t.virtualization&&(t._animation=e))}const n=l.getAttribute("row-id");let r;n&&(r=t.rowById?t.rowById[n].data:t.rows.dataItemById[n]);const o=r?r.$.id:void 0,s=i?i.getAttribute("data-field"):void 0;if(!r&&l.classList.contains("grand-total")&&(r=l.data),void 0!==s){const a={};for(let e=0;e<t.columns.length;e++){const l=t.columns[e];a[l.dataField]=r[l.dataField]}t.$.fireEvent("cellClick",{id:n,row:a,dataField:s,value:r[s],originalEvent:e})}if(t._toggleSelection(l,r,e,a),t.editing||t.drillDown){if(!s||i.classList.contains("no-edit"))return;clearTimeout(t._dblclickObject.timeout),t._dblclickObject.numberOfClicks++,2===t._dblclickObject.numberOfClicks?(t._dblclickObject.numberOfClicks=0,t._beginEdit({rowElement:l,cell:i,dataField:s})):t._dblclickObject.timeout=setTimeout((function(){t._dblclickObject.numberOfClicks=0}),300)}return void(t.rowDetailTemplate&&t._toggleRowDetail(l,o))}const i=a.closest(".jqx-table-select-all");if(i){if("one"===t.selectionMode)return;return void t._selectAllCheckboxClickHandler(i)}const n=a.closest(".jqx-table-filter-row jqx-button")||a.closest(".jqx-table-column-menu jqx-button");if(n){const e=n.parentElement.firstElementChild,a=n.parentElement.children[1];return e.value="",-1!==["EMPTY","NOT_EMPTY","NULL","NOT_NULL"].indexOf(a.$.input.dataValue)&&(a.value=t.localize("text"===e.type?"CONTAINS":"EQUAL"),delete a.$.input.dataValue),void t._applyRowFilters()}}_toggleSelection(e,t,a,l){const i=this;if(!i.selection||"cell"===i.selectionMode||e.classList.contains("disable-select")||e.classList.contains("grand-total"))return;function n(){i._selectedIds=[],Array.from(i.$.tableContainer.querySelectorAll(".jqx-table-select-row.selected")).forEach((e=>{e.parentElement.classList.contains("disable-select")||e.parentElement.setAttribute("aria-selected",!1),e.classList.remove("selected","indeterminate"),e.firstElementChild.setAttribute("aria-checked",!1)}))}const r=t.$.id;let o=-1!==i._selectedIds.indexOf(r);if(i._interaction=!0,"one"===i.selectionMode){if(o)return;n(),i.select(r)}if("many"===i.selectionMode)if(o)i.unselect(r);else{if(i._disabledSelection.length>0&&t.children&&t.children.length>0){let e=0,a=0,l=[];if(t.children.forEach((t=>{const n=t.$.id;-1===i._selectedIds.indexOf(n)?e++:l.push(n),-1!==i._disabledSelection.indexOf(n)&&a++})),e===a)return i.unselect(l),void delete i._interaction}i.select(r),i._selectionStart={data:t,element:e}}else{if(i._selectionStart&&a.shiftKey){let t,a,l;if(i.virtualization?(t=i.rows,a=t.findIndex((e=>e.data.$.id===r)),l=t.findIndex((e=>e.data.$.id===i._selectionStart.data.$.id))):(t=Array.from(i.$.tableContainer.querySelectorAll("tr[row-id]:not([unused])")),a=t.indexOf(e),l=t.indexOf(i._selectionStart.element)),a!==l){const e=JSON.stringify(i._selectedIds.slice(0).sort()),r=Math.min(a,l),o=Math.max(a,l);n();const s=[];for(let e=r;e<=o;e++){const a=t[e];s.push(a.data.$.id)}return i._changeSelectionOfMultiple(s,"select","interaction",e),getSelection().removeAllRanges(),void delete i._interaction}if(1===i._selectedIds.length)return void delete i._interaction}const s=!!l&&(l.classList.contains("selection-checkbox")||l.classList.contains("jqx-table-select-row"));let d=!1;if(1===i._selectedIds.length)d=!0;else if(i.hasAttribute("hierarchy")&&i.selectionByHierarchy){const e=[];!function e(t,a){const l=t.$.id;-1!==i._selectedIds.indexOf(l)&&a.push(l),t.children&&t.children.forEach((t=>e(t,a)))}(t,e),i._selectedIds.length===e.length&&(d=!0),t&&t.leaf&&(d=!0),o=i._getChildCheckState(t).maxSelected}else i.hasAttribute("hierarchy")&&!i.selectionByHierarchy&&(d=!0);if(o&&(s||d||a.ctrlKey||a.metaKey))return delete i._selectionStart,i.unselect(r),void delete i._interaction;s||a.ctrlKey||a.metaKey||n(),i.select(r),i._selectionStart={data:t,element:e}}delete i._interaction}_selectAllCheckboxClickHandler(e,t){const a=this;if(void 0===t){const l=a._filterInfo;if(l.inputFilters||l.rowFilters||l.appliedFilters)return void a._selectAllCheckboxClickHandlerFiltering(e);if(t=a.dataSource,a.hasAttribute("hierarchy")&&a._disabledSelection.length>0){const e=t.boundHierarchy,l=a._getChildCheckState({children:e}).maxSelected;return void a._changeSelectionOfMultiple(e.map((e=>e.$.id)),l?"unselect":"select","interaction")}}const l=t.length,i=a._selectedIds.length===l-a._disabledSelection.length+a._selectableGroupRecords.length,n=a._selectedIds.slice(0);if(a._selectedIds=[],i)a._updateCSSOnUnselectAll(e);else{let i,n=0;for(let e=0;e<l;e++){const l=t[e].$.id;-1===a._disabledSelection.indexOf(l)&&(a._selectedIds.push(l),n++)}n===l?i=!0:0===n&&(i=!1),a._updateCSSOnSelectAll(e,i),a._selectableGroupRecords.length>0&&(a._selectedIds=a._selectedIds.concat(a._selectableGroupRecords))}n.length!==a._selectedIds.length&&(a._updateState("selected"),a.$.fireEvent("change",{type:"interaction"}))}_selectAllCheckboxClickHandlerFiltering(e){const t=this,a=t.dataSource,l=t._selectedIds.slice(0),i=[],n=[];let r=0;for(let e=0;e<a.length;e++){const o=a[e];if(!1===o.$.filtered)continue;const s=o.$.id;r++,-1!==l.indexOf(s)&&i.push(s),-1===t._disabledSelection.indexOf(s)&&n.push(s)}const o=i.length===n.length;if(t._selectedIds=t._selectedIds.filter((e=>-1===n.indexOf(e))),o)t._updateCSSOnUnselectAll(e);else{let a;t._selectedIds=t._selectedIds.concat(n),n.length===r?a=!0:0===n.length&&(a=!1),t._updateCSSOnSelectAll(e,a)}l.length!==t._selectedIds.length&&(t._updateState("selected"),t.$.fireEvent("change",{type:"interaction"}))}_updateCSSOnUnselectAll(e){e.classList.remove("indeterminate","selected"),e.firstElementChild.setAttribute("aria-checked",!1),Array.from(this.$.tableContainer.querySelectorAll(".jqx-table-select-row")).forEach((e=>{e.parentElement.classList.contains("disable-select")||e.parentElement.setAttribute("aria-selected",!1),e.classList.remove("selected","indeterminate"),e.firstElementChild.setAttribute("aria-checked",!1)}))}_updateCSSOnSelectAll(e,t){t?(e.classList.remove("indeterminate"),e.classList.add("selected"),e.firstElementChild.setAttribute("aria-checked",!0)):!1===t?(e.classList.remove("indeterminate","selected"),e.firstElementChild.setAttribute("aria-checked",!1)):(e.classList.remove("selected"),e.classList.add("indeterminate"),e.firstElementChild.setAttribute("aria-checked","mixed")),Array.from(this.$.tableContainer.querySelectorAll(".jqx-table-select-row")).forEach((e=>{e.parentElement.classList.contains("disable-select")||(e.parentElement.setAttribute("aria-selected",!0),e.classList.remove("indeterminate"),e.classList.add("selected"),e.firstElementChild.setAttribute("aria-checked",!0))}))}_beginEdit(e){const t=this,a=t.editMode,l=e.dataField;let i=e.rowId,n=e.rowElement,r=e.rowObject,o=e.cell,s=[],d=[];if(t.editing){n||(n=t.$.tableContainer.querySelector(`tr[row-id="${i}"]:not([unused])`)),r||(i=n.getAttribute("row-id"),r=t.rowById[i],i=r.data.$.id),"row"===a?(s=n.querySelectorAll("td[data-field]"),d=t._columns.filter((e=>e.visible)).map((e=>e.dataField)),o||(o=l?n.querySelector(`td[data-field="${l}"`):s[0])):(o||(o=n.querySelector(`td[data-field="${l}"`)),s=[o],d=[l]),t._editing={row:r,cells:[]};for(let e=0;e<d.length;e++){const a=s[e];let l=d[e];const n=t.columnByDataField[l];if(!1===n.allowEdit)continue;n.transform&&(l=n.originalDataField);const c=r.data[l],u=t._initEditor(n,i,l,c);let f=u instanceof HTMLInputElement&&"date"===u.type;if(n.editor&&n.editor.template)n.editor.onRender&&n.editor.onRender(i,l,u,c);else if(f)if(c instanceof Date&&!isNaN(c.getTime())){const e=(c.getMonth()+1).toString(),t=c.getDate().toString();u.value=`${c.getFullYear()}-${"0".repeat(2-e.length)}${e}-${"0".repeat(2-t.length)}${t}`}else u.value="";else u.value=void 0===c?"":c;a.classList.add("editing"),a.innerHTML="",a.appendChild(u),a===o&&u.focus&&(u.focus(),n.editor&&n.editor.template||f||!u.select||u.select()),t._editing.cells.push({dataField:l,editor:u,element:a}),t.$.fireEvent("cellBeginEdit",{id:r.data.$.id,row:r.data,value:r.data[l],dataField:l})}"row"===a&&t.$.fireEvent("rowBeginEdit",{id:r.data.$.id,row:r.data})}}_initEditor(e,t,a,l){let i=this._editors[a];if(i)return i;if(e.editor&&e.editor.template){const n=document.createElement("div");return n.innerHTML=e.editor.template,i=n.firstElementChild,i.className="jqx-table-editor",e.editor.onInit&&e.editor.onInit(t,a,i,l),i}return i=document.createElement("input"),i.className="jqx-table-editor standard","number"===e.dataType?i.type="number":"date"===e.dataType?i.type="date":i.type="text",this._editors[a]=i,i}_toggleRowDetail(e,t){const a=this;if(a.virtualization)return void a._toggleRowDetailVirtualization(e,t);const l=e.nextElementSibling;l.classList.toggle("collapsed"),l.classList.contains("collapsed")?(l.setAttribute("aria-hidden",!0),a._expandedRowDetailIds=a._expandedRowDetailIds.filter((e=>e!==t))):(l.removeAttribute("aria-hidden"),a._expandedRowDetailIds.push(t))}_toggleRowDetailVirtualization(e,t){const a=this;let l=e.nextElementSibling;function i(){let e=a.$.virtualizationContainer.$.verticalScrollBar,t=a.$.virtualizationContainer.$.verticalScrollBar.value;a._ignoreVerticalChange=!0,a._refreshDataRows(),t=Math.min(e.max,t),e.value=t,delete a._ignoreVerticalChange,a._onVerticalChange({detail:{value:t}},!0)}if(l&&l.classList.contains("jqx-table-row-detail")&&!l.classList.contains("collapsed"))return l.setAttribute("aria-hidden",!0),a._expandedRowDetailIds=a._expandedRowDetailIds.filter((e=>e!==t)),l.classList.add("collapsed"),l.remove(),void i();const n=e.data;l=document.createElement("tr"),l.classList.add("collapsed"),a._createRowDetailOnDemand(l,{data:n},n),e.parentElement.insertBefore(l,e.nextElementSibling),a._expandedRowDetailIds.push(t),l.classList.remove("collapsed"),i()}_setFocusable(){const e=this,t="jqx-table"===e.nodeName.toLowerCase();if(!e.keyboardNavigation||e.disabled||e.unfocusable||e.hasAttribute("modal"))return e.$.tableContainer.removeAttribute("tabindex"),t&&(e.$.filterInput.unfocusable=!0,e.$.pager.unfocusable=!0),void(e.$.conditionalFormattingButton.unfocusable=!0);const a=e.$.tableContainer.getAttribute("tabindex");(null===a||a<0)&&e.$.tableContainer.setAttribute("tabindex",0),t&&(e.$.filterInput.unfocusable=!1,e.$.pager.unfocusable=!1),e.$.conditionalFormattingButton.unfocusable=!1}_tableContainerFocusHandler(){const e=this;e._focusedCell&&e.$.tableContainer.contains(e._focusedCell)||e._focusCell(e.$.tableContainer.children[1].querySelector("tr:not([unused]) td[data-field], tr:not([unused]) td.group-header"))}_tableContainerDownHandler(e){const t=this.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;this._focusCell(t.closest("td[data-field], td.group-header")),e.stopPropagation()}_focusCell(e,t){const a=this;if(!e||!e.hasAttribute("data-field")&&!e.classList.contains("group-header")||e.parentElement.classList.contains("grand-total"))return!1;if(a._focusedCell){if(a._focusedCell===e)return!1;a._focusedCell.removeAttribute("focus")}if(a._focusedCell=e,e.setAttribute("focus",""),!t)return;const l=a.$.tableContainer.parentElement,i=a.$.header.offsetHeight,n=a.freezeHeader?a.$.tableContainer.firstElementChild.offsetHeight:0,r=l.scrollTop;let o=e.offsetTop-i-n;if(o<r)l.scrollTop=o;else{const t=a.footerRow&&a.freezeFooter?a.$.tableContainer.lastElementChild.offsetHeight:0,s=a.$.pager.offsetHeight,d=l.clientHeight-(i+n+t+s);o+=e.offsetHeight,o>r+d&&(l.scrollTop=o-d)}if(e.classList.contains("freeze-near")||e.classList.contains("freeze-far"))return;const s=l.scrollLeft,d=a.$.tableContainer.querySelector("tr[row-id]:not([unused])");let c,u=0;if(Array.from(d.children).forEach((e=>{e.classList.contains("freeze-near")&&(u+=e.offsetWidth)})),a.rightToLeft){let t=e.previousElementSibling;for(c=0;t;)t.classList.contains("freeze-near")||(c-=t.offsetWidth),t=t.previousElementSibling;if(c>s)l.scrollLeft=c;else{const t=l.clientWidth;c-=e.offsetWidth,c<s-t&&(l.scrollLeft=c+t-u)}}else if(c=e.offsetLeft-u,c<s)l.scrollLeft=c;else{const t=l.clientWidth;c+=e.offsetWidth+u,c>s+t&&(l.scrollLeft=c-t)}}focus(){const e=this;!e.keyboardNavigation||e.disabled||e.unfocusable||e.hasAttribute("modal")||e.$.tableContainer.focus()}blur(){this.$.tableContainer.blur()}_tableContainerKeydownHandler(e){const t=this,a=t.isInShadowDOM?e.composedPath()[0]:e.target,l=e.key;if("Shift"===l)return void("extended"===t.selectionMode&&t.$.tableContainer.classList.add("jqx-unselectable"));if(!t.contains(a))return;if(a&&"INPUT"===a.nodeName&&!t._editing)return;const i=t._focusedCell;if(!i)return;const n=t.virtualization,r=i.classList.contains("group-header");if(r&&-1!==["ArrowRight","ArrowLeft","Home","End","Escape","F2"].indexOf(l))return void e.preventDefault();if(t._editing){switch(l){case"Enter":t.endEdit();break;case"Escape":t.cancelEdit();break;default:return}return t.$.tableContainer.focus(),void e.preventDefault()}const o=i.parentElement;if(n&&o){const e=t.$.virtualizationContainer.$.verticalScrollBar,a=e.value,i=o.data.$.id;if("ArrowUp"===l&&0===a&&i===t._rowsVirtual[0].data.$.id||"ArrowDown"===l&&a===e.max&&i===t._rowsVirtual[t._rowsVirtual.length-1].data.$.id)return}let s="ArrowRight",d="ArrowLeft";switch(t.rightToLeft&&(s="ArrowLeft",d="ArrowRight"),l){case s:case d:{const a=l===s?"nextElementSibling":"previousElementSibling";let r=i[a];for(;r&&r.classList.contains("jqx-hidden");)r=r[a];t._focusCell(r,!n,e),t._scrollToVirtualization(l===s?"nextArrow":"prevArrow",r);break}case"ArrowUp":case"ArrowDown":{const a="ArrowUp"===l?"previousElementSibling":"nextElementSibling";let s=o[a];for(;s&&(s.classList.contains("jqx-table-row-detail")||s.classList.contains("collapsed"));)s=s[a];s&&(r?t._focusCell(s.querySelector("td[data-field], .group-header"),!n,e):t._focusCell(s.querySelector(`td[data-field="${i.getAttribute("data-field")}"], .group-header`),!n,e),t._scrollToVirtualization(l,s));break}case"Home":t._focusCell(o.querySelector("td[data-field]"),!n,e),t._scrollToVirtualization(l);break;case"End":{const a=o.querySelectorAll("td[data-field]");let i=a.length-1,r=a[i];for(;r.classList.contains("jqx-hidden");)i--,r=a[i];t._focusCell(r,!n,e),t._scrollToVirtualization(l);break}case"PageDown":t._pageDownHandler(i,e);break;case"PageUp":t._pageUpHandler(i,e);break;case"Enter":{const a=o.data;t.dataSource.boundHierarchy&&t._areChildrenFiltered(a)?t._hierarchyArrowClickHandler(o,i,e):t.rowDetailTemplate&&t._toggleRowDetail(o,a.$.id);break}case" ":t._toggleSelection(o,o.data,e);break;case"F2":t.beginEdit(o.data.$.id,i.getAttribute("data-field"));break;default:return}if(e.preventDefault(),t.onKeyboardScroll){const e=n?t.$.virtualizationContainer:t.$.container;t.onKeyboardScroll(l,e.scrollTop,e.scrollLeft)}}_pageDownHandler(e,t){const a=this,l=a.paging;if(!l&&e.parentElement===e.parentElement.parentElement.lastElementChild)return;const i=a.virtualization,n=a.$.tableContainer,r=n.parentElement,o=i?a.$.virtualizationContainer:r;let s=e.getAttribute("data-field");function d(){const e=n.querySelectorAll("tr[row-id]:not([unused])");let t=i?0:a.$.header.offsetHeight+a.$.pager.offsetHeight;a.footerRow&&a.freezeFooter&&(t+=n.lastElementChild.offsetHeight);for(let a=e.length-1;a>=0;a--){const l=e[a];if(!l.classList.contains("collapsed")&&l.offsetTop+l.offsetHeight<=(i?-r.offsetTop:r.scrollTop)+o.clientHeight-t)return l.querySelector(`td[data-field${s}], .group-header`)}}s=s?`="${s}"`:"";let c=d();if(c)if(e===c){const u=(a.freezeHeader?n.firstElementChild.offsetHeight:0)+a._rowHeight;let f;if(i?(f=o.$.verticalScrollBar.value,o.$.verticalScrollBar.value+=o.clientHeight-u):r.scrollTop+=r.clientHeight-u,c=d(),l&&(i&&f===o.$.verticalScrollBar.value||!i&&e===c)){const e=a.pageIndex;a.navigateTo(a.pageIndex+1),a.pageIndex!==e&&(i&&(o.$.verticalScrollBar.value=0),a._focusCell(n.querySelector(`tr[row-id]:not([unused]) td[data-field${s}], tr[row-id]:not([unused]) .group-header`),!i,t))}else a._focusCell(c,void 0,t)}else a._focusCell(c,void 0,t)}_pageUpHandler(e,t){const a=this,l=a.virtualization,i=a.$.tableContainer,n=i.parentElement,r=l?a.$.virtualizationContainer:n;let o=e.getAttribute("data-field");function s(){const e=i.querySelectorAll("tr[row-id]:not([unused])");let t=0;a.freezeHeader&&(t=i.firstElementChild.offsetHeight);for(let a=0;a<e.length;a++){const i=e[a];if(!i.classList.contains("collapsed")&&i.offsetTop>=(l?-n.offsetTop:n.scrollTop)+t)return i.querySelector(`td[data-field${o}], .group-header`)}}o=o?`="${o}"`:"";let d=s();if(d)if(e===d){const c=(a.freezeHeader?i.firstElementChild.offsetHeight:0)+a._rowHeight;let u;if(l?(u=r.$.verticalScrollBar.value,r.$.verticalScrollBar.value-=r.clientHeight-c):n.scrollTop-=n.clientHeight-c,d=s(),a.paging&&(l&&u===r.$.verticalScrollBar.value||!l&&e===d)){const e=a.pageIndex;if(a.navigateTo(a.pageIndex-1),a.pageIndex!==e){l&&(r.$.verticalScrollBar.value=r.$.verticalScrollBar.max);const e=i.querySelectorAll(`tr[row-id]:not([aria-hidden="true"]) td[data-field${o}], tr[row-id]:not([aria-hidden="true"]) .group-header`);a._focusCell(e[e.length-1],!l,t)}}else a._focusCell(d,void 0,t)}else a._focusCell(d,void 0,t)}_tableContainerKeyupHandler(e){const t=this,a=t.isInShadowDOM?e.composedPath()[0]:e.target;if("Shift"===e.key&&"extended"===t.selectionMode&&t.$.tableContainer.classList.remove("jqx-unselectable"),t.contains(a))return a.classList.contains("filter-value")&&"date"!==a.type?(clearTimeout(t._filterRowTimeout),void(t._filterRowTimeout=setTimeout((function(){const e=t.context;t.context=t,t._applyRowFilters(),t.context=e}),500))):void 0}_tableContainerPointeroverHandler(e){const t=this;if(!t.tooltip)return;const a=(t.isInShadowDOM?e.composedPath()[0]:e.target).closest("tbody td[data-field], thead th[data-field]");if(!a)return;const l=t.$.tableContainer.querySelector(".tooltip"),i=t.columnByDataField[a.getAttribute("data-field")],n=t.virtualization;if(l&&(l.classList.remove("tooltip"),l.removeAttribute("title")),"th"!==a.tagName.toLowerCase())(a.classList.contains("tree-cell")&&a.firstElementChild&&a.firstElementChild.children[1].scrollWidth>a.firstElementChild.children[1].offsetWidth||a.scrollWidth>a.offsetWidth)&&(a.classList.add("tooltip"),a.title=n&&i&&i.templateElement?"":a.innerText);else{const e=a.querySelector(".label");e&&e.scrollWidth>e.offsetWidth&&(a.classList.add("tooltip"),a.title=n&&i&&i.templateElement?"":e.innerText)}}_documentDownHandler(e){const t=this,a=t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;function l(){"default"!==t.columnSizeMode&&(t._preventClickSort=!0,clearTimeout(t._dblclickObject.timeout),t._dblclickObject.numberOfClicks++,2===t._dblclickObject.numberOfClicks?(t._dblclickObject.numberOfClicks=0,t._autoResizeColumnOnDblclick()):t._dblclickObject.timeout=setTimeout((function(){t._dblclickObject.numberOfClicks=0}),300))}if(delete t._preventClickSort,t._editing&&!a.closest(".jqx-table-editor")){const e=a.closest(".jqx-drop-down")||a.closest(".jqx-input-drop-down-menu");if(!e)return void t.endEdit();const l=e.ownerElement;if(!l)return void t.endEdit();if(t.$.container.contains(l)&&l.classList.contains("jqx-table-editor"))return;return void t.endEdit()}const i=t.columnReorder,n=t.columnResize;if(i&&!t.columnTotals||n){const r=a.closest("th[data-field]:not(.jqx-pivot-table-total-header)");if(r&&t.$.tableContainer.contains(r)){if(t.$.tableContainer.classList.add("jqx-unselectable"),n&&t._columns.length>1&&!t.hasAttribute("resize-max-reached")){const a=t.rightToLeft,i=r.getBoundingClientRect();let n=null;if(!a&&e.clientX<=i.left+5||a&&e.clientX>=i.right-5){const i=r.previousElementSibling;if(i&&i.hasAttribute("data-field")){if(i.hasAttribute("locked"))return;for(let e=0;e<t.columns.length;e++){const a=t.columns[e];if(a.headerCellElement===i){n=a;break}}const r=i.getBoundingClientRect(),o=n&&n.minWidth||t._getNumericMinWidth();return t._resizeDetails={FeedbackShown:!1,Item:i,ItemStart:r[a?"right":"left"]+window.scrollX,Min:o,StartPosition:{left:e.pageX,top:e.pageY},StartTime:new Date},t._resizeDetails.Max=t._getCurrentResizeMax(),void l()}}if(!a&&e.clientX>=i.right-5||a&&e.clientX<=i.left+5){if(r.hasAttribute("locked"))return;for(let e=0;e<t.columns.length;e++){const a=t.columns[e];if(a.headerCellElement===r){n=a;break}}const o=n&&n.minWidth||t._getNumericMinWidth();return t._resizeDetails={FeedbackShown:!1,Item:r,ItemStart:i[a?"right":"left"]+window.scrollX,Min:o,StartPosition:{left:e.pageX,top:e.pageY},StartTime:new Date},t._resizeDetails.Max=t._getCurrentResizeMax(),void l()}}i&&(t._dragDetails={FeedbackShown:!1,Item:r,StartPosition:{left:e.pageX,top:e.pageY},StartTime:new Date})}}}_documentMoveHandler(e){const t=this,a=t._dragDetails;if(!a)return void(t._resizeDetails&&t._handleResizeOnMove(e));if(!a.FeedbackShown){const l=(new Date).getTime()-a.StartTime.getTime()>500,i=Math.abs(a.StartPosition.left-e.pageX)>5||Math.abs(a.StartPosition.top-e.pageY)>5;if(!i||!(!t._isMobile||t._isMobile&&l))return void(t._isMobile&&i&&!l&&(delete t._dragDetails,t.$.tableContainer.classList.remove("jqx-unselectable")));t._hideBodyOverflow(),a.Feedback=t._addDragFeedback(),a.FeedbackShown=!0,a.Item.classList.add("dragged"),t.classList.add("jqx-unselectable")}const l=t.$.tableContainer.parentElement;a.Feedback.style.left=e.pageX+10+"px",a.Feedback.style.top=e.pageY+10+"px",a.HoveredItem&&(a.HoveredItem.classList.remove("drop-column","left","right"),delete a.HoveredItem),l.offsetWidth<l.scrollWidth&&(clearInterval(t._dragInterval),t._dragInterval=setInterval((function(){const a=l.getBoundingClientRect();a.left<=e.clientX&&a.left+a.width>=e.clientX?e.clientX>=a.left&&e.clientX<=a.left+25?l.scrollLeft-=t._autoScrollCoefficient:e.clientX>=a.left+a.width-25&&e.clientX<=a.left+a.width?l.scrollLeft+=t._autoScrollCoefficient:clearInterval(t._dragInterval):clearInterval(t._dragInterval)}),10));const i=t._getClosestThToHover(e);i&&(i.classList.add("drop-column"),a.HoveredItem=i)}_hideBodyOverflow(){const e=(document.scrollingElement||document.documentElement).scrollHeight>document.documentElement.clientHeight,t=(document.scrollingElement||document.documentElement).scrollWidth>document.documentElement.clientWidth;this._originalBodyOverflow={overflowX:document.body.style.overflowX,overflowY:document.body.style.overflowY,overflow:document.body.style.overflow},document.body.classList.add("jqx-dragging"),document.body.style.overflow=document.body.style.overflowX=document.body.style.overflowY="",e&&!t?document.body.style.overflowX="hidden":t&&!e?document.body.style.overflowY="hidden":t||e||(document.body.style.overflow="hidden")}_addDragFeedback(){const e=this,t=e._dragDetails.Item,a=document.createElement("div");return a.className="jqx-table-feedback",a.setAttribute("parent-table-id",e.id),a.innerHTML=e.columnByDataField[t.getAttribute("data-field")].label,e.theme&&a.setAttribute("theme",e.theme),document.body.appendChild(a),a}_getClosestThToHover(e){const t=e.clientX,a=Array.from(this.$.tableContainer.querySelectorAll("th[data-field]:not(.jqx-pivot-table-total-header)"));let l,i,n;for(let e=0;e<a.length;e++){const r=a[e];if(!r||this._dragDetails.Item===r)continue;const o=r.getBoundingClientRect(),s=Math.abs(t-o.left),d=Math.abs(t-o.right),c=Math.min(s,d);if(!(void 0===i||c<i))break;l=r,i=c,n=s<d?"left":"right"}return l&&l.classList.add(n),l}_handleResizeOnMove(e){const t=this,a=t._resizeDetails;if(!a.FeedbackShown){const l=(new Date).getTime()-a.StartTime.getTime()>500,i=Math.abs(a.StartPosition.left-e.pageX)>=1||Math.abs(a.StartPosition.top-e.pageY)>=1;if(!i||!(!t._isMobile||t._isMobile&&l))return void(t._isMobile&&i&&!l&&(delete t._resizeDetails,t.$.tableContainer.classList.remove("jqx-unselectable","resizing"),document.body.style.cursor=null));a.Feedback=t._addResizeFeedbacks(),a.FeedbackShown=!0,t.classList.add("jqx-unselectable","resizing"),document.body.style.cursor="col-resize"}const l=a.Feedback,i=a.ItemStart;let n;t.rightToLeft?(n=Math.min(a.Max,Math.max(a.Min,Math.round(i-e.pageX))),l.style.left=i-n+"px"):(n=Math.min(a.Max,Math.max(a.Min,Math.round(e.pageX-i))),l.style.left=i+n+"px"),l.classList.toggle("min",n===a.Min),l.classList.toggle("max",n===a.Max),t.columnResizeFeedback&&(l.innerHTML=n+"px"),a.Width=n}_addResizeFeedbacks(){const e=this,t=e._resizeDetails,a=e.$.container.getBoundingClientRect(),l=a.top+window.scrollY+"px",i=a.height+"px",n=document.createElement("div"),r=document.createElement("div");return r.className="jqx-table-resize-feedback static",r.setAttribute("parent-table-id",e.id),r.style.top=l,r.style.left=t.ItemStart+"px",r.style.height=i,e._resizeDetails.StaticFeedback=r,n.className="jqx-table-resize-feedback",n.setAttribute("parent-table-id",e.id),n.style.top=l,n.style.height=i,e.theme&&(r.setAttribute("theme",e.theme),n.setAttribute("theme",e.theme)),document.body.appendChild(n),document.body.appendChild(r),n}_resolveResize(e){const t=this,a=t._resizeDetails;if(delete t._resizeDetails,t.$.tableContainer.classList.remove("jqx-unselectable","resizing"),e){if(!a.FeedbackShown)return;a.StaticFeedback.remove(),a.Feedback.remove()}const l=t._columns.find((e=>e.headerCellElement===a.Item));t.classList.remove("jqx-unselectable","resizing"),document.body.style.cursor=null;let i=a.Width;i<parseInt(t.columnMinWidth)&&(i=parseInt(t.columnMinWidth));const n=t._getTableRemainingWidth();if(l){const e=l._isResponsive||!!(l.width&&l.width.toString().indexOf("%")>=0);if(delete l.width,l.minWidth&&i<l.minWidth&&(i=l.minWidth),l._manualWidth=i,l._manualPercentageWidth=parseFloat(i/n*100),l._isResponsive=e,a.Item.style.width=l._isResponsive?parseFloat(i/n*100)+"%":i+"px",l._isFillRemainingWidth){let e=!0;for(let a=0;a<t._columns.length;a++){const l=t._columns[a];if(!l.width&&!l._manualWidth){e=!1;break}}!t.columnResizeNormalize&&e&&(t.columns.push({dataField:"",label:"",visible:!0,allowResize:!1,allowFilter:!1,allowSort:!1}),t._initColumns(!0),t.refresh())}}else a.Item.style.width=i+"px";t._handleAutoSizeMode(l),t._handleFrozenColumnPositions(),t._refreshHorizontalScrollbar();const r=parseFloat(i/n*100);l&&t.$.fireEvent("columnResize",{dataField:l.dataField,headerCellElement:a.Item,widthInPercentages:r,width:i})}openColumnMenu(e){const t=this,a=t.columnByDataField[e];if(!a)return;const l=a.headerCellElement;if(!l)return;if(a&&!1===a.allowMenu)return;const i=l.querySelector(".column-menu");if(!i)return;const n=()=>{const e=c.getBoundingClientRect(),a=t.activeColumnMenu;t._columnsSettingsMenu.style.top=e.top+window.scrollY+"px",t._columnsSettingsMenu.style.left=e.right+window.scrollX+"px",e.right-i.offsetWidth+window.scrollX+a.offsetWidth>t.getBoundingClientRect().right&&(t._columnsSettingsMenu.style.left=10+e.right-a.offsetWidth-t._columnsSettingsMenu.offsetWidth+window.scrollX+"px")},r=()=>{const e=a.headerCellElement;e.hasAttribute("column-menu-button")||e.setAttribute("column-menu-button","");const l=e.querySelector(".column-menu"),i=l.getBoundingClientRect();o.style.top=i.bottom+10+window.scrollY+"px",o.style.left=i.right-l.offsetWidth+window.scrollX+"px",i.right-l.offsetWidth+window.scrollX+o.offsetWidth>t.getBoundingClientRect().right&&(o.style.left=i.right-o.offsetWidth+window.scrollX+"px");const n=o.querySelector("input");n&&n.focus()};a.columnMenu&&a.columnMenu.remove(),t.closeColumnMenu();const o=document.createElement("div");o.classList.add("jqx-table-column-menu","wrapper"),o.owner=l,o.dataField=e;const s=document.createElement("div");s.innerHTML=`<span class='menu-icon sort-asc'></span><span class="label">${t.localize("columnMenuItemSortAsc")}</span>`,s.classList.add("jqx-table-menu-item");const d=document.createElement("div");d.innerHTML=`<span class='menu-icon sort-desc'></span><span class="label">${t.localize("columnMenuItemSortDesc")}</span>`,d.classList.add("jqx-table-menu-item");const c=document.createElement("div");c.innerHTML=`<span class='menu-icon columns'></span><span class="label">${t.localize("columnMenuItemColumns")}</span>`,c.classList.add("jqx-table-menu-item","columns-item");const u=document.createElement("div");u.innerHTML=`<span class='menu-icon filter-by'></span><span class="label">${t.localize("columnMenuItemFilter")}</span>`,u.classList.add("jqx-table-menu-item","filter-item");const f=document.createElement("div");f.innerHTML=`<span class='menu-icon filter-by-remove'></span><span class="label">${t.localize("columnMenuItemRemoveFilter")}</span>`,f.classList.add("jqx-table-menu-item","remove-filter-item","jqx-hidden");const m=document.createElement("div");m.innerHTML=`<span class='menu-icon sort-remove'></span><span class="label">${t.localize("columnMenuItemRemoveSort")}</span>`,m.classList.add("jqx-table-menu-item","remove-sort-item","jqx-hidden");const h=document.createElement("div");h.innerHTML=`<span class='menu-icon reset'></span><span class="label">${t.localize("columnMenuItemReset")}</span>`,h.classList.add("jqx-table-menu-item","reset-item"),c.onmouseleave=e=>{const a=t._columnsSettingsMenu.getBoundingClientRect();e.pageX>=a.left-20&&e.pageX<=a.right+20&&e.pageY>=a.top-20&&e.pageY<=a.bottom+20||t._columnsSettingsMenu&&t._columnsSettingsMenu.remove()},c.onmouseenter=()=>{t._columnsSettingsMenu=(()=>{t._columnsSettingsMenu&&t._columnsSettingsMenu.remove();const a=document.createElement("div");a.classList.add("jqx-table-column-menu","wrapper","jqx-table-columns-menu");let l=0,i=null;for(let o=0;o<t.columns.length;o++){const s=document.createElement("div");s.innerHTML=`<span class='column-item menu-icon'></span><span class="label">${t.columns[o].label}</span>`,s.classList.add("jqx-table-menu-item"),s.column=t.columns[o],e!==s.column.dataField&&!1!==s.column.allowHide&&(s.column.visible?(l++,i=s):s.firstElementChild.classList.add("off"),s.onpointerdown=e=>{s.column.visible=!s.column.visible,s.column.visible?s.firstElementChild.classList.remove("off"):s.firstElementChild.classList.add("off"),r(),n(),e.stopPropagation(),e.preventDefault()},a.appendChild(s))}return 1===l&&i&&i.classList.add("jqx-disabled"),document.body.appendChild(a),a})(),n()};const p=t._createFilterRowInput(a);if(t.filtering&&!1!==a.allowFilter)if(t.filterRow)o.insertBefore(f,o.firstElementChild);else{o.innerHTML=p,o.insertBefore(u,o.firstElementChild);const e=o.querySelector(".filter-value");e.onkeyup=a=>{"Enter"===a.key&&t.closeColumnMenu(),"Escape"===a.key&&(e.value="")},e.nextElementSibling.onchange=()=>{t._applyRowFilters()}}o.insertBefore(h,o.firstElementChild),o.insertBefore(c,o.firstElementChild),o.insertBefore(m,o.firstElementChild),!1!==a.allowSort&&"none"!==t.sortMode&&(o.insertBefore(d,o.firstElementChild),o.insertBefore(s,o.firstElementChild),a.headerCellElement.hasAttribute("aria-sort")&&(m.classList.remove("jqx-hidden"),"ascending"===a.headerCellElement.getAttribute("aria-sort")?s.classList.add("jqx-disabled"):d.classList.add("jqx-disabled")),m.onclick=()=>{t.sortBy(a.dataField,null),t.closeColumnMenu()},s.onclick=()=>{t.sortBy(a.dataField,"asc"),t.closeColumnMenu()},d.onclick=()=>{t.sortBy(a.dataField,"desc"),t.closeColumnMenu()}),h.onclick=()=>{if(t._initialState){if(t.loadState(t._initialState),t._filterInfo.filterRowValues&&delete t._filterInfo.filterRowValues,t.clearFilters(),t.filterRow){const e=t.$.tableContainer.querySelector(".jqx-table-filter-row");e&&e.remove()}t._initRows(),t.refresh()}t.closeColumnMenu()};const g=t.columns.findIndex((e=>e.dataField===a.dataField));document.body.appendChild(o);const _=o.lastElementChild.children[2];_&&(_.onclick=()=>{const e=_.parentElement.firstElementChild,a=_.parentElement.children[1];e.value="",-1!==["EMPTY","NOT_EMPTY","NULL","NOT_NULL"].indexOf(a.$.input.dataValue)&&(a.value=t.localize("text"===e.type?"CONTAINS":"EQUAL"),delete a.$.input.dataValue),t._applyRowFilters()});const b=t._filterInfo&&t._filterInfo.filterRowValues?t._filterInfo.filterRowValues[g]:null;if(b&&!t.filterRow){const e=o.lastElementChild,l=a.dataType,i=t._filterInfo["string"===l?"stringConditions":"numberAndDateConditions"].find((e=>e.value===b.condition));if(-1===["EMPTY","NOT_EMPTY","NULL","NOT_NULL"].indexOf(i.value))if("date"===l){const t=new Date(b.value),a=(t.getMonth()+1).toString(),l=t.getDate().toString();e.children[0].value=`${t.getFullYear()}-${"0".repeat(2-a.length)}${a}-${"0".repeat(2-l.length)}${l}`}else e.children[0].value=b.value;e.children[1].value=i.label,e.children[1].$.input.dataValue=i.value,e.children[2].classList.remove("jqx-hidden")}a.headerCellElement.hasAttribute("filter")&&f.classList.remove("jqx-hidden"),f.onclick=()=>{t.removeFilter(a.dataField),t.closeColumnMenu()},r(),a.columnMenu=t.activeColumnMenu=o,t.$.fireEvent("openColumnMenu",{dataField:e})}closeColumnMenu(){const e=this;e.activeColumnMenu&&(e.activeColumnMenu.owner.hasAttribute("column-menu-button")&&e.activeColumnMenu.owner.removeAttribute("column-menu-button"),e._columnsSettingsMenu&&e._columnsSettingsMenu.remove(),e.$.fireEvent("closeColumnMenu",{dataField:e.activeColumnMenu.dataField}),e.activeColumnMenu.remove(),delete e.activeColumnMenu)}_documentUpHandler(e){const t=this,a=t._dragDetails;if(t.activeColumnMenu){const a=e.originalEvent?e.originalEvent:e;if(a){let e=!1,l=a.target;for(;l;)if(l=l.parentNode,l===t){e=!0;break}(t.activeColumnMenu.contains(a.target)||t._columnsSettingsMenu&&t._columnsSettingsMenu.contains(a.target))&&(e=!0);const i=t.activeColumnMenu.querySelector("jqx-input");i&&i.$.scrollView.contains(a.target)&&(e=!0),e||t.closeColumnMenu()}}if(t._selectDrag)return t.$.main.classList.remove("prevent-scroll"),void delete t._selectDrag;if(!a)return t._resizeDetails&&t._resolveResize(!0),void t.$.tableContainer.classList.remove("jqx-unselectable");if(delete t._dragDetails,t.$.tableContainer.classList.remove("jqx-unselectable"),!a.FeedbackShown)return;const l=a.HoveredItem;document.body.classList.remove("jqx-dragging"),document.body.style.overflow=t._originalBodyOverflow.overflow,document.body.style.eoverflowX=t._originalBodyOverflow.overflowX,document.body.style.overflowY=t._originalBodyOverflow.overflowY,delete t._originalBodyOverflow,t.classList.remove("jqx-unselectable"),a.Item.classList.remove("dragged"),document.body.removeChild(a.Feedback),clearInterval(t._dragInterval),delete t._dragInterval,l&&t._applyColumnReorder(a,l),t._preventClickSort=!0,requestAnimationFrame((()=>delete t._preventClickSort))}_applyColumnReorder(e,t){const a=this,l=a.rightToLeft,i=a._columns,n=e.Item.getAttribute("data-field"),r=i.find((e=>e.dataField===n)),o=t.getAttribute("data-field"),s=t.classList.contains("right"),d=a._columns.filter((e=>e.dataField!==n)),c=d.findIndex((e=>e.dataField===o));t.classList.remove("drop-column","left","right"),s&&!l||!s&&l?d.splice(c+1,0,r):d.splice(c,0,r),i.map((e=>e.dataField)).join(",")!==d.map((e=>e.dataField)).join(",")&&(a.columns=d,a._initColumns(),a.refresh())}_applyRowFilters(){const e=this;if(!e.filtering||!e.filterRow&&!e.columnMenu)return;const t=e.filterRow?e.$.tableContainer.querySelector(".jqx-table-filter-row"):null,a=Number(e.selection),l=e._columns.filter((e=>e.visible)),i=[],n=[];for(let r=0;r<l.length;r++){const o=l[r].dataField,s=l[r].dataType;if(l[r].headerCellElement&&l[r].headerCellElement.hasAttribute("filter")&&l[r].headerCellElement.removeAttribute("filter"),!e.filterRow&&!l[r].columnMenu){n.push(null);continue}const d=e.filterRow?t.children[r+a].firstElementChild:l[r].columnMenu.lastElementChild,c=d.children[2];let u=d.firstElementChild.value,f=d.children[1].value;"string"===s?f=e._filterInfo.stringConditions.find((e=>e.label===f)).value:(f=e._filterInfo.numberAndDateConditions.find((e=>e.label===f)).value,""!==u&&("number"===s?(u=parseFloat(u),isNaN(u)&&(d.firstElementChild.value="",u="")):"date"===s&&(u=new Date(u),u.setHours(0,0,0))));const m=-1!==["EMPTY","NOT_EMPTY","NULL","NOT_NULL"].indexOf(f);if(""!==u||m){const e=new JQX.Utilities.FilterGroup,t=e.createFilter(s,u,f);e.addFilter("or",t),i.push([o,e]),c.classList.remove("jqx-hidden"),n.push({condition:f,value:u}),l[r].headerCellElement&&l[r].headerCellElement.setAttribute("filter","")}else c.classList.add("jqx-hidden"),n.push(null),l[r].headerCellElement&&l[r].headerCellElement.hasAttribute("filter")&&l[r].headerCellElement.removeAttribute("filter");m?d.firstElementChild.setAttribute("disabled",!0):d.firstElementChild.removeAttribute("disabled")}i.length>0?(e.dataSource.virtualDataSource||e.dataSource._filter(i,e.filterOperator),e._filterInfo.rowFilters=i,e._filterInfo.filterRowValues=n,delete e._filterInfo.appliedFilters,e._fullRefresh("filter"),e._updateState("filtered"),e._doNotFireEvent||e.$.fireEvent("filter",{action:"add",filters:e.hasAttribute("jqx-blazor")?e._getFiltersExpressions(i):i})):e._filterInfo.rowFilters?(e._filterInfo.filterRowValues&&delete e._filterInfo.filterRowValues,e.clearFilters()):e._filterInfo.filterRowValues&&delete e._filterInfo.filterRowValues}_clearFilterInput(){const e=this;e._filterInfo.query="",delete e._filterInfo.inputFilters,e.$.filterInput.value=""}_clearRowFilters(e){const t=this;if(!t._filterInfo.rowFilters)return;const a=t.$.tableContainer.querySelector(".jqx-table-filter-row"),l=t.selection?1:0;let i=t._columns.filter((e=>e.visible));if(e&&(i=t._columns.filter((t=>t.dataField===e))),a)for(let e=0;e<i.length;e++){const t=a.children[e+l]?a.children[e+l].firstElementChild:null;t&&(t.firstElementChild.value="",t.children[2].classList.add("jqx-hidden")),i[e].headerCellElement&&i[e].headerCellElement.hasAttribute("filter")&&i[e].headerCellElement.removeAttribute("filter")}delete t._filterInfo.rowFilters}_createFooterRow(e){const t=this,a=t.footerRow;if(!a)return;if(e)return void t.$.tableContainer.appendChild(e);const l=document.getElementById(a);if(l&&l instanceof HTMLTemplateElement){const e=document.createElement("tfoot"),a=document.importNode(l.content,!0);e.appendChild(a),t.$.tableContainer.appendChild(e)}else t.footerRow=null}_createCustomHeaderRow(){const e=this,t=e.$.tableContainer.firstElementChild;let a=e.headerRow;if(a){if("function"==typeof a)a.call(e,t);else if("string"==typeof a){const e=document.getElementById(a);if(!e)return void(t.innerHTML=`<tr><th>${a}</th></tr>`);a=e}a instanceof HTMLTemplateElement?t.appendChild(document.importNode(a.content,!0)):a.nodeName?t.appendChild(a):e.headerRow=null}}_updateSelectAllState(e){const t=this;if(!t.selection||"cell"===t.selectionMode)return;const a=t.$.tableContainer.querySelector(".jqx-table-select-all");let l;if(void 0===e){const a=t.dataSource,i=t._filterInfo;if(i.inputFilters||i.rowFilters||i.appliedFilters){const i=t._selectedIds;e=0,l=0;for(let t=0;t<a.length;t++){const n=a[t];if(!1===n.$.filtered)continue;const r=n.$.id;e++,-1!==i.indexOf(r)&&l++}}else e=t.dataSource.length}void 0===l&&(l=t._selectedIds.length),0===l||0===e?(a.classList.remove("selected","indeterminate"),a.firstElementChild.setAttribute("aria-checked",!1)):l===e+t._selectableGroupRecords.length?(a.classList.remove("indeterminate"),a.classList.add("selected"),a.firstElementChild.setAttribute("aria-checked",!0)):(a.classList.remove("selected"),a.classList.add("indeterminate"),a.firstElementChild.setAttribute("aria-checked","mixed"))}_resizeHandler(){const e=this;clearTimeout(e._resizeTimeout);const t=()=>{if(JQX.Utilities.Core.Browser.Firefox&&e.virtualization){const t=e.$.virtualizationContainer.$.verticalScrollBar.value;e._onVerticalChange({detail:{value:t}},!0)}};t(),"default"===e.columnSizeMode&&e._handleAutoSizeMode(),e._resizeTimeout=setTimeout((function(){if(e.columnGroups&&e._columns.some((e=>e.responsivePriority&&e.responsivePriority>1)))return void e.refresh();const a=e.offsetWidth,l=e.offsetHeight;if(e.virtualization&&e._cachedHeight!==l){const i=e._getFractionOfMax();return e._refreshDataRows(),e._setFractionOfMax(i),e._cachedWidth=a,e._cachedHeight=l,void t()}e._handleAutoSizeMode(),e._handleFrozenColumnPositions(),e._refreshHorizontalScrollbar(),e._cachedWidth=a,e._cachedHeight=l,t()}),75)}_hierarchyArrowClickHandler(e,t){const a=this,l=!a.grouping,i=e.data;if(a.animation=a._animation,a.expandHierarchy&&(a._collapsedIds||(a._collapsedIds=[]),!0===i.expanded?a._collapsedIds[i.$.id]=!0:delete a._collapsedIds[i.$.id],a.dataSource&&a.expandHierarchy&&(a.dataSource._collapsedIds=a._collapsedIds)),l&&a.dataSource.virtualDataSource&&!i.expanded&&i.children&&0===i.children.length)return a._requestVirtualDataSource("expand",void 0,i),void a.$.fireEvent("expand",{id:i.$.id,record:i});if(a.virtualization)return void a._hierarchyArrowClickHandlerVirtualization(e,t);const n=a.$.tableContainer,r=i.$.id;function o(e){e.forEach((e=>{a._expandSingleChildRow(n.querySelector(`tr[row-id="${e.$.id}"]:not([unused])`)),e.children&&e.expanded&&requestAnimationFrame((()=>o(e.children)))}))}if(i.expanded?function e(t){t.forEach((t=>{a._collapseSingleChildRow(n.querySelector(`tr[row-id="${t.$.id}"]:not([unused])`)),t.children&&e(t.children)}))}(i.children):requestAnimationFrame((()=>o(i.children))),i.expanded=!i.expanded,e.setAttribute("aria-expanded",i.expanded),e.classList.toggle("expanded",i.expanded),l)i.expanded?(-1===a._expandedIds.indexOf(r)&&a._expandedIds.push(r),a._expandedIdsAlt[r]=!0,a.$.fireEvent("expand",{id:i.$.id,record:i})):(a._expandedIds=a._expandedIds.filter((e=>e!==r)),delete a._expandedIdsAlt[r],a.$.fireEvent("collapse",{id:i.$.id,record:i})),a._updateState("expanded");else if(!0!==t){let e=""+i.$.id;e=e.replace("Item","").replace(/_/gi,"."),i.expanded?a.$.fireEvent("group",{action:"expand",path:e,dataField:i.groupDataField,label:i.label}):a.$.fireEvent("group",{action:"collapse",path:e,dataField:i.groupDataField,label:i.label})}}_expandSingleChildRow(e,t=[]){e&&(t.push(!1),"none"!==this.animation?(e.classList.remove("jqx-hidden"),requestAnimationFrame((()=>{e.classList.add("no-height"),e.ontransitionend=function(){e.classList.remove("no-height"),e.ontransitionend=null,t.pop()},e.removeAttribute("aria-hidden"),e.classList.remove("collapsed")}))):(e.removeAttribute("aria-hidden"),e.classList.remove("collapsed","jqx-hidden"),t.pop()))}_collapseSingleChildRow(e,t=[]){e&&(t.push(!1),"none"!==this.animation?e.ontransitionend=function(){e.classList.add("jqx-hidden"),e.ontransitionend=null,t.pop()}:(e.classList.add("jqx-hidden"),t.pop()),e.setAttribute("aria-hidden",!0),e.classList.add("collapsed"))}_getGroupByIndex(e){"number"==typeof e&&(e=e.toString());const t=this.dataSource.boundHierarchy,a=e.split(".");let l=t[a[0]];if(l){for(let e=1;e<a.length;e++)if(l=l.children[a[e]],!l||l.leaf)return;return l}}getGroupChildren(e){"number"==typeof e&&(e=e.toString());const t=this.dataSource.boundHierarchy,a=e.split(".");let l=t[a[0]];if(!l)return[];for(let e=1;e<a.length;e++)if(l=l.children[a[e]],!l||l.leaf)return[];return l.children}_createDialog(){const e=this,t=document.createElement("jqx-window"),a=document.createElement("template"),l=` animation=${e.animation} theme="${e.theme}"${e.rightToLeft?" right-to-left":""}${!e.keyboardNavigation||e.unfocusable?" unfocusable":""}`;a.innerHTML=`<jqx-button class="ok primary"${l}>${e.localize("ok")}</jqx-button>\n<jqx-button class="cancel"${l}>${e.localize("cancel")}</jqx-button>`,t.animation=e.animation,t.footerTemplate=a,t.headerButtons=["close"],t.rightToLeft=e.rightToLeft,t.theme=e.theme,t.unfocusable=!e.keyboardNavigation||e.unfocusable,t.className="jqx-table-window",t.ownerElement=e,e._dialog=t,e._addDialogHandlers(),e.getShadowRootOrBody().appendChild(t),e.setAttribute("aria-owns",t.id)}_addDialogHandlers(){const e=this,t=e._dialog;t.addEventListener("close",e._dialogEventHandler),t.addEventListener("click",e._dialogEventHandler)}_dialogEventHandler(e){const t=this,a=t.ownerElement,l=t.isInShadowDOM?e.composedPath()[0]:e.target,i=e.type,n=a.context;if(a.context=a,"close"===i){if(l!==t)return void(a.context=n);const e=t.classList.contains("conditional-formatting"),i=t.classList.contains("fields");t.ok?(e&&a._applyConditionalFormatting(),delete t.ok):e&&JSON.stringify(a._formattingPanel.items)!==JSON.stringify(a._formattingPanel.getItems())&&(a._formattingPanel.$.itemsContainer.innerHTML="",a._formattingPanel._addDefaultItems()),t.content.innerHTML="",t.classList.remove("conditional-formatting","drill-down","fields"),!a.keyboardNavigation||a.disabled||a.unfocusable||(a.$.tableContainer.setAttribute("tabindex",0),"jqx-table"===a.nodeName.toLowerCase()&&(a.$.filterInput.unfocusable=!1,a.$.pager.unfocusable=!1),a.$.conditionalFormattingButton.unfocusable=!1),a.removeAttribute("modal"),e?a.$.conditionalFormattingButton.focus():i&&a.$.fieldsButton?a.$.fieldsButton.focus():a.$.tableContainer.focus()}else"click"===i&&t.$.footer.contains(l)&&(l.closest(".ok")?(t.ok=!0,t.close()):l.closest(".cancel")&&t.close());a.context=n}_openDialog(e,t,a){const l=this;l._dialog||l._createDialog();const i=l._dialog;i.label=e,i.classList.add(a),i.appendChild(t),l.$.tableContainer.removeAttribute("tabindex"),"jqx-table"===l.nodeName.toLowerCase()&&(l.$.filterInput.unfocusable=!0,l.$.pager.unfocusable=!0),"drill-down"!==a?i.setAttribute("aria-controls",l.$.tableContainer.id):i.removeAttribute("aria-controls"),l.$.conditionalFormattingButton.unfocusable=!0,l.setAttribute("modal",""),i.open()}_conditionalFormattingButtonClickHandler(e,t,a){const l=this;let i;l._formattingPanel?i=l._formattingPanel:(i=document.createElement("jqx-formatting-panel"),i.animation=l.animation,i.columns=t||l._columns,i.dataSource=a||l.dataSource,i.locale=l.locale,i.messages=l.messages,i.rightToLeft=l.rightToLeft,i.theme=l.theme,i.unfocusable=!l.keyboardNavigation||l.unfocusable,i.ownerElement=l,l._formattingPanel=i),l.conditionalFormatting&&(i.items=l.conditionalFormatting.slice(0)),l._openDialog(l.localize("conditionalFormatting"),i,"conditional-formatting")}_transformDataSource(){const e=this;if(!e.isRendered&&e.dataTransform){const t=e.dataSource;for(let a=0;a<t.length;a++)e.dataTransform(t[a])}}_applyInitialConditionalFormatting(e){const t=this,a=t.conditionalFormatting;if(!a||0===a.length)return void(t._conditionalFormatting=null);const l=t._defaults,i=new JQX.Utilities.ConditionalFormatter(e),n=[];let r;if("jqx-pivot-table"===t.nodeName.toLowerCase()){const e=t._dynamicColumns;r=function(t){return"all"===t?e.map((e=>e.id)):e.filter((e=>e.dataFields[e.dataFields.length-1].dataField===t)).map((e=>e.id))}}else r=function(e){return"all"===e?t._columns.map((e=>e.value)):[e]};for(let e=0;e<a.length;e++){a[e]=Object.assign({column:"all",condition:"lessThan",firstValue:0,secondValue:1,fontFamily:l.fontFamily,fontSize:l.fontSize,text:l.text,highlight:l.highlight},a[e]);const t=a[e],o=r(t.column),s=t.condition;i.color=t.highlight,i.comparator=t.firstValue,i.min=t.firstValue,i.max=t.secondValue;const d=i.format(s,o);for(let e in d){const a=d[e];for(let e in a){const l=a[e];l.color=t.text,l.fontFamily=t.fontFamily,l.fontSize=t.fontSize}}n.push(d)}if(t._formattingPanel&&(t._formattingPanel.items=a.slice(0)),0===n.length)return n[0];const o={};for(let e=0;e<n.length;e++){const t=n[e];for(let e in t){const a=t[e];o[e]||(o[e]={});for(let t in a)o[e][t]=Object.assign({},o[e][t],a[t])}}t._conditionalFormatting=o}_toHex(e){if(-1!==e.indexOf("#"))return e;const t=/rgb\((\d+), (\d+), (\d+)\)/g.exec(e);return t?"#"+(parseFloat(t[1]).toString(16).padStart(2,"0")+parseFloat(t[2]).toString(16).padStart(2,"0")+parseFloat(t[3]).toString(16).padStart(2,"0")).toUpperCase():"#FFFFFF"}_applyConditionalFormatting(){const e=this,t=e._conditionalFormatting;e._conditionalFormatting=e._formattingPanel.apply(),e.conditionalFormatting=e._formattingPanel.getItems(),e._conditionalFormatting!==t&&e._refreshDataRows()}_updateState(e,t){const a=this;let l;if("selected"===e&&(l=a.getSelection(),a.selected=l),-1===a.stateSettings.indexOf(e))return;const i=a._state;switch(e){case"columns":i.columns=a._columns;break;case"expanded":i.expanded=a._expandedIds;break;case"filtered":i.filtered=a._filterInfo;break;case"grouped":i.grouped=a.dataSource.groupBy._array.slice(0);break;case"selected":i.selected=l;break;case"sorted":i.sorted=a._sortColumns||[]}a.autoSaveState&&a.isRendered&&!1!==t&&window.localStorage.setItem("jqxTable"+a.id,a._stringifyState())}_stringifyState(){const e=this,t=JSON.parse(JSON.stringify(e._state));return["columns","expanded","filtered","grouped","selected","sorted"].forEach((a=>{-1===e.stateSettings.indexOf(a)&&delete t[a]})),JSON.stringify(t,(function(e,t){if(!("function"==typeof t||t instanceof HTMLElement||"sortOrder"===e||"thHierarchy"===e))return t}))}_handleAutoSizeMode(){const e=this;if("default"===e.columnSizeMode){const t=e._columns.filter((e=>e.visible)),a=[],l=t=>{const a=t.headerCellElement;if(!a)return;const l=parseInt(t.minWidth||e.columnMinWidth);a.offsetWidth<l?a.style.width=l+"px":(a.style.width="",a.offsetWidth<l&&(a.style.width=l+"px"))};t.forEach((t=>{if(t.width||t._manualWidth||(l(t),a.push(t)),t.width&&"string"==typeof t.width&&t.width.endsWith("%")){const a=e._getColumnWidth(t.width,!1,t);!1===t.autoWidth?t.headerCellElement.style.width=t.width:(t.headerCellElement.setAttribute("responsive-width",t.width),t.headerCellElement.style.width=a+"px")}else if(t._manualPercentageWidth)if(t._isResponsive){const a=e._getColumnWidth(t._manualPercentageWidth+"%",!1,t);!1===t.autoWidth?t.headerCellElement.style.width=t.width:(t.headerCellElement.setAttribute("responsive-width",t._manualPercentageWidth+"%"),t.headerCellElement.style.width=a+"px")}else t.headerCellElement.style.width=t._manualWidth+"px"}));for(let e=0;e<a.length;e++)l(a[e]);if(e.columnResizeNormalize&&""===e._columns[e._columns.length-1].dataField){const t=e._columns[e._columns.length-1].headerCellElement.offsetWidth;if(t){let a=[];e._columns.forEach((e=>{e.width&&e.width.indexOf&&e.width.indexOf("%")>=0&&a.push(e)}));let l=t/a.length;a.forEach((e=>{e.width&&e.width.indexOf&&e.width.indexOf("%")>=0&&(e.headerCellElement.style.width=parseInt(e.headerCellElement.style.width)+l+"px")}))}}return}const t=e._columns.filter((e=>e.visible)),a=e._getNumericMinWidth();let l,i;t.forEach((e=>{e.width||e._manualWidth||(l||(l=e),i=e,e.headerCellElement.style.width=null)}));const n=e.$.tableContainer.offsetWidth-(e.selection?e.$.tableContainer.querySelector(".jqx-table-select-all").offsetWidth:0);let r=new Map,o=0,s=0,d=0;e.removeAttribute("resize-max-reached"),e.setAttribute("auto-size",""),l&&(l.headerCellElement.style.width="100%");for(let i=0;i<t.length;i++){const n=t[i];if(n===l){d++;continue}const c=n.headerCellElement;let u,f;n.width?(u=f=e._getColumnWidth(n.width,!1,n),n.minWidth&&u<f&&(u=n.minWidth,f=n.minWidth)):n._manualWidth?(u=n._manualWidth,f=n.minWidth||a,u<f&&(u=f)):(u=Math.max(c.offsetWidth,a),f=n.minWidth||a,d++),o+=u,s+=f,n._isResponsive&&(u=e._getColumnWidth(n._manualPercentageWidth+"%",!1,n),u<f&&(u=f)),r.set(n,{width:u,minWidth:f})}function c(){l.headerCellElement.style.width=null;const e=Math.max(l.headerCellElement.offsetWidth,a),t=l.minWidth||a;r.set(l,{width:e,minWidth:t}),o+=Math.max(e,t),s+=t}if(l)if(l!==i)i.headerCellElement.style.width="100%",c(),i.headerCellElement.style.width=null;else if(t.length>1){const e=t.find((e=>e!==l));e.headerCellElement.style.width="100%",c(),e._isResponsive?e.headerCellElement.style.width=r.get(e).width+"%":e.headerCellElement.style.width=r.get(e).width+"px"}else c();if(n<=s||0===d)t.forEach((t=>{if(t._isResponsive){if(t.headerCellElement.style.width=(t._manualPercentageWidth?t._manualPercentageWidth+"%":r.get(t).minWidth)+"px",t._manualPercentageWidth){const a=e._getColumnWidth(t._manualPercentageWidth+"%",!1,t),l=t.minWidth||e.columnMinWidth;a===l&&(t.headerCellElement.style.width=l+"px")}}else t.headerCellElement.style.width=(t._manualWidth?t._manualWidth:r.get(t).minWidth)+"px"})),n<=s&&e.setAttribute("resize-max-reached","");else if(n>s)if(n<o){const a=[];let l,i=o-n,s=d;for(;i>0&&s>0;)l=Math.ceil(i/s),t.forEach((e=>{if(e.width||e._manualWidth||-1!==a.indexOf(e))return;const t=r.get(e);let n=Math.max(t.width-l,t.minWidth);const o=t.width-n;i-=o,n===t.minWidth&&(s--,a.push(e)),t.width=n}));t.forEach((t=>{if(t._isResponsive){if(t.headerCellElement.style.width=r.get(t).width+"%",t._manualPercentageWidth){const a=e._getColumnWidth(t._manualPercentageWidth+"%",!1,t),l=t.minWidth||e.columnMinWidth;a===l&&(t.headerCellElement.style.width=l+"px")}}else t.headerCellElement.style.width=r.get(t).width+"px"}))}else n===o?t.forEach((e=>{e._isResponsive?e.headerCellElement.style.width=r.get(e).width+"%":e.headerCellElement.style.width=r.get(e).width+"px"})):t.forEach((e=>{const t=r.get(e).width;e.headerCellElement.style.width=e===l?n-o+t+"px":t+"px"}));e.removeAttribute("auto-size")}_getNumericMinWidth(){const e=this,t=e.columnMinWidth;return"string"==typeof t&&-1!==t.indexOf("%")?e.offsetWidth*(parseFloat(t)/100):parseFloat(t)}_getCurrentResizeMax(){const e=this;if("default"===e.columnSizeMode)return 1/0;const t=e._resizeDetails,a=e._columns,l=a.find((e=>e.headerCellElement===t.Item)),i=a.indexOf(l);let n,r=a.length-1;for(let e=a.length-1;e>=0;e--)if(a[e].visible){r=e;break}if(i===r)return t.Item.offsetWidth;for(let t=i+1;t<a.length;t++){const l=a[t];t===r&&l.headerCellElement&&(n=l.headerCellElement.getBoundingClientRect()[e.rightToLeft?"left":"right"]+window.scrollX)}return n}_autoResizeColumnOnDblclick(){const e=this,t=e._resizeDetails,a=t.Item,l=e._columns.find((e=>e.headerCellElement!==a)).headerCellElement,i=l.style.width;e.setAttribute("auto-size",""),a.style.width=null,l.style.width="100%";let n=a.offsetWidth;l.style.width=i,e.removeAttribute("auto-size",""),n=Math.min(t.Max,Math.max(t.Min,n)),t.Width=n,e._resolveResize()}_isExpandCollapseForbidden(){const e=this;return(!e.hasAttribute("hierarchy")||e.grouping)&&"jqx-pivot-table"!==e.nodeName.toLowerCase()}_selectSingle(e){const t=this,a=t.rowById?t.rowById[e]||t.dataSource.dataItemById[e]:t.rows.dataItemById[e];if(!a)return;const l=a.data?a.data.$.id:a.$.id;if(-1!==t._selectedIds.indexOf(l)||-1!==t._disabledSelection.indexOf(l))return;const i=t.$.tableContainer.querySelector(`tr[row-id="${l}"]:not([unused])`);if("one"===t.selectionMode&&(t._clearSelection(),t._selectedIds=[]),t._selectedIds.push(l),i){const e=i.firstElementChild;e.classList.remove("indeterminate"),e.classList.add("selected"),e.firstElementChild.setAttribute("aria-checked",!0),i.setAttribute("aria-selected",!0)}return t._handleHierarchicalSelection(a,!0),!0}_unselectSingle(e){const t=this,a=t.rowById?t.rowById[e]||t.dataSource.dataItemById[e]:t.rows.dataItemById[e];if(!a)return;const l=a.data?a.data.$.id:a.$.id,i=t._selectedIds.indexOf(l),n=t.$.tableContainer.querySelector(`tr[row-id="${l}"]:not([unused])`);if(-1!==i&&t._selectedIds.splice(i,1),n){const e=n.firstElementChild;e.classList.remove("selected","indeterminate"),e.firstElementChild.setAttribute("aria-checked",!1),n.setAttribute("aria-selected",!1)}return t._handleHierarchicalSelection(a,!1),!0}_changeSelectionOfMultiple(e,t,a="programmatic",l){const i=this;l||(l=JSON.stringify(i._selectedIds.slice(0).sort()));for(let a=0;a<e.length;a++)i[`_${t}Single`](e[a]);l!==JSON.stringify(i._selectedIds.slice(0).sort())&&(i._updateSelectAllState(),i._updateState("selected"),i.$.fireEvent("change",{type:a}))}_handleHierarchicalSelection(e,t){const a=this;if(!a.hasAttribute("hierarchy"))return;if(!1===a.selectionByHierarchy)return;const l=e.data;let i=l;for(l&&l.children&&function e(t,l){const i=t.children;let n=0;for(let t=0;t<i.length;t++){const r=i[t];if(!1===r.$.filtered)continue;let o=a._setThreeStateCheckbox(r,l);r.children&&r.children.length>0&&(o=e(r,l)),l&&!1===o&&n++}if(l&&n>0)return a._setThreeStateCheckbox(t,n!==i.length&&null)}(l,t);i&&i.parent;){const e=i.parent,t=a._getChildCheckState(e).state;a._setThreeStateCheckbox(e,t),i=e}}_getChildCheckState(e){const t=this,a=t._selectedIds,l=t._disabledSelection,i=e.children;if(!i||0===i.length||!t.selectionByHierarchy){const t=e.$.id,i=-1!==a.indexOf(t);return{state:i,maxSelected:!!i||-1!==l.indexOf(t)}}let n=!0,r=0,o=0,s=0;for(let e=0;e<i.length;e++){const a=i[e];if(!1===a.$.filtered)continue;const l=t._getChildCheckState(a);r++,l.state?o++:null===l.state?s++:!1===l.maxSelected&&(n=!1)}return 0!==o&&o===r?{state:!0,maxSelected:!0}:0===o&&0===s?{state:!1,maxSelected:n}:{state:null,maxSelected:n}}_setThreeStateCheckbox(e,t){const a=this,l=e.$.id,i=a._selectedIds,n=i.indexOf(l);t&&(-1!==a._disabledSelection.indexOf(l)?t=!1:-1===n&&i.push(l)),t||-1===n||i.splice(n,1);const r=a.$.tableContainer.querySelector(`tr[row-id="${l}"]:not([unused])`);if(!r)return t;const o=r.firstElementChild,s=o.firstElementChild;return t?(o.classList.remove("indeterminate"),o.classList.add("selected"),s.setAttribute("aria-checked",!0),r.setAttribute("aria-selected",!0)):!1===t?(o.classList.remove("selected","indeterminate"),s.setAttribute("aria-checked",!1),r.setAttribute("aria-selected",!1)):(o.classList.remove("selected"),o.classList.add("indeterminate"),s.setAttribute("aria-checked","mixed"),r.setAttribute("aria-selected",!1)),t}_getSelectableGroupRecords(){const e=this,t=e.dataSource,a=t.boundHierarchy;e._selectableGroupRecords=[],a?(function t(a){a.forEach((a=>{a.groupDataField&&(e._selectableGroupRecords.push(a.$.id),t(a.children))}))}(a),e._selectedIds=e._selectedIds.filter((a=>void 0!==t.dataItemById[a]||-1!==e._selectableGroupRecords.indexOf(a)))):e._selectedIds=e._selectedIds.filter((e=>void 0!==t.dataItemById[e]))}_clearSelection(e){const t=this;if(0===t._selectedIds.length)return;const a=t.$.tableContainer.querySelector(".jqx-table-select-all");Array.from(t.$.tableContainer.querySelectorAll(".jqx-table-select-row")).forEach((e=>{e.parentElement.classList.contains("disable-select")||e.parentElement.setAttribute("aria-selected",!1),e.classList.remove("selected","indeterminate"),e.firstElementChild.setAttribute("aria-checked",!1)})),a&&(a.classList.remove("indeterminate","selected"),a.firstElementChild.setAttribute("aria-checked",!1)),t._selectedIds=[],e&&(t._updateState("selected"),t.$.fireEvent("change",{type:"programmatic"}))}_updateCellsWithFormulas(e){const t=this,a=t.formulas,l=t._cellsWithFormulas;if(a||e)for(let e in l){const a=/(.+):(.+)/.exec(e),l=t.columnByDataField[a[1]],i=t.rowById[a[2]];if(!l||!i)continue;const n=t.$.tableContainer.querySelector(`tr[row-id="${i.data.$.id}"]:not([unused]) td[data-field="${l.dataField}"]`);n&&t._setCellContent(n,t._formatCellValue(i,l,n),n.classList.contains("tree-cell"))}}_createVirtualDataRows(e){const t=this,a=t.rowDetailTemplate,l=t.selection,i=t.hasAttribute("hierarchy"),n=document.createDocumentFragment(),r=t.$.virtualizationContainer,o=t.$.tableContainer,s=t._rowHeight;t.isRendered&&(r.scrollWidth=0,r.scrollHeight=0,r.$.scrollViewerContainer.classList.remove("hscroll","vscroll"));const d=r.$.scrollViewerContainer.offsetHeight-o.firstElementChild.offsetHeight-(t.filtering&&t.filterRow?s:0)-(t.footerRow?o.lastElementChild.offsetHeight:0),c=d<5,u=t._getVirtualRecords(i,c),f=u.length;let m=i?2*d:d+3*s,h=s*f,p=0;t._rowsVirtual=u,t._rowsInDOM=[];for(let e=0;e<f;e++){const r=u[e],o=r.data;if(!r.detail){if(o.groupDataField)t._rowsInDOM.push(t._createGroupHeader(o,n));else{const e=t._createDataRow(r,n,{hierarchical:i,rowDetailTemplate:a,selection:l,virtualization:!0});t._rowsInDOM.push(e.row),e.detail&&(t._rowsInDOM.push(e.detail),p+=t._rowDetailHeight,m+=t._rowDetailHeight)}if(p+=s,!c&&p>m)break}}e.appendChild(n),t._updateState("expanded"),e.parentElement||t.$.tableContainer.insertBefore(e,t.$.tableContainer.querySelector("tfoot")),r.refresh(),a&&(h+=t._expandedRowDetailIds.length*(t._rowDetailHeight-s));let g=Math.max(0,h-d);g>0&&r.computedHorizontalScrollBarVisibility&&(g+=r.$.horizontalScrollBar.offsetHeight),r.$.scrollViewerContentContainer.style.top=0,r.$.verticalScrollBar.max=g,t._scrollHeight=h,t._start={view:0,data:0},!c&&t._rowsInDOM.length>0&&r.$.scrollViewerContentContainer.offsetHeight<r.$.scrollViewerContainer.offsetHeight&&t._rowsInDOM[t._rowsInDOM.length-1].classList.add("last-row"),t._fixFrozenHeaderFirefox(),t._focusEquivalentCell()}_getVirtualRecords(e,t){const a=this,l=e&&!t?a.rows.filter((e=>0===e.data.level||!a._isCollapsed(e.data))):a.rows;if(e||!a.rowDetailTemplate)return l;const i=[];return l.forEach((e=>{i.push(e),-1!==a._expandedRowDetailIds.indexOf(e.data.$.id)&&i.push({detail:!0,data:e.data})})),i}_onVerticalChange(e,t){const a=this;if(a._ignoreVerticalChange)return;const l=a.rows,i=a._rowHeight,n=a.$.virtualizationContainer;let r,o,s=e.detail.value;if(JQX.Utilities.Core.Browser.Firefox&&a.virtualization&&(n.$.scrollViewerContentContainer.style.top=null),a.setAttribute("ignore-detail-animation",""),a._rowsInDOM.length===l.length||0===n.$.verticalScrollBar.max){const e=Math.floor(s/i);return a._start={view:e,data:e},n.$.scrollViewerContentContainer.style.top=-s+"px",requestAnimationFrame((()=>a.removeAttribute("ignore-detail-animation"))),void a._fixFrozenHeaderFirefox()}if(a._expandedRowDetailIds.length>0){let e,t=0;r=1;for(let l=0;l<a._rowsVirtual.length;l++){const i=t;if(a._rowsVirtual[l].detail?t+=a._rowDetailHeight:t+=a._rowHeight,void 0===o&&s<=t){o=l,e=s-i;break}}n.computedVerticalScrollBarVisibility?s=e+a._rowHeight:r=0}else{for(s=s%(2*i)+i,s<i&&(s+=i);s+n.$.scrollViewerContainer.offsetHeight>a.$.tableContainer.offsetHeight;)s-=i;r=Math.floor(s/i),o=Math.floor(e.detail.value/i),r<0&&(o-=r,r=0)}n.$.scrollViewerContentContainer.style.top=-s+"px",a._updateVisibleRows(r,o,t||a._expandedRowDetailIds.length>0),a._fixFrozenHeaderFirefox(),requestAnimationFrame((()=>a.removeAttribute("ignore-detail-animation")))}_fixFrozenHeaderFirefox(){const e=this;e.virtualization&&e.$.virtualizationContainer&&e.$.virtualizationContainer.$.scrollViewerContentContainer&&(e._tableHeader.style.top=-parseFloat(e.$.virtualizationContainer.$.scrollViewerContentContainer.style.top)+"px"),JQX.Utilities.Core.Browser.Firefox&&e.virtualization}_focusEquivalentCell(e){const t=this,a=t._focusedCell;if(!e&&!a)return;let l;if(!e){if(!a.parentElement)return;e={rowId:a.parentElement.data.$.id,dataField:a.getAttribute("data-field")}}l=e.dataField?t.$.tableContainer.querySelector(`tr[row-id="${e.rowId}"]:not([unused]) td[data-field="${e.dataField}"]`):t.$.tableContainer.querySelector(`tr[row-id="${e.rowId}"]:not([unused]) td.group-header`),t._focusCell(l)}_detachCachedTemplates(){const e=this;e._cachedTemplates&&(delete e._cachedTemplates,e._tableCachedTemplates&&(e._tableCachedTemplates.remove(),delete e._tableCachedTemplates))}_clearCachedTemplates(){const e=this;if(e._cachedTemplates&&Object.keys(e._cachedTemplates).length>0){e._tableCachedTemplates||(e._tableCachedTemplates=document.createElement("div"),e._tableCachedTemplates.style.display="none",document.body.appendChild(e._tableCachedTemplates));const t=document.createDocumentFragment();for(let a in e._cachedTemplates)t.appendChild(e._cachedTemplates[a]);e._tableCachedTemplates.appendChild(t)}}_updateVisibleRows(e,t,a){const l=this,i=t-e,n=l._rowsVirtual.length,r={hierarchical:l.hasAttribute("hierarchy"),selection:l.selection};let o;if(a=a&&(r.hierarchical||!!l.rowDetailTemplate),r.hierarchical&&!l.grouping&&(a=!0),l._sortColumns&&l._sortColumns.length>0&&(a=!0),l._focusedCell){const e=l._focusedCell.parentElement;e&&(o={rowId:e.data.$.id,dataField:l._focusedCell.getAttribute("data-field")})}for(let t=0;t<e;t++){const e=l._rowsInDOM[t];let n=i+t;n>=0&&(a||e.data.$.index!==n||e.data.detail)&&l._updateVisibleRow(e,n,r),e.setAttribute("unused",""),e.setAttribute("aria-hidden",!0),e.classList.remove("jqx-table-row-detail")}for(let t=e;t<l._rowsInDOM.length;t++){const e=l._rowsInDOM[t],o=i+t;o<n?(e.removeAttribute("unused"),e.removeAttribute("aria-hidden"),(a||e.data.$.index!==o||e.data.parent)&&l._updateVisibleRow(e,o,r)):e.setAttribute("aria-hidden",!0)}l._start={view:e,data:t},l._focusEquivalentCell(o)}_updateVisibleRow(e,t,a){const l=this,i=l._columns.filter((e=>e.visible));if(!i.length)return;const n=l._rowsVirtual[t];if(!n)return;const r=n.data,o=r.$.id,s=Number(a.selection),d=!r.groupDataField&&!e.firstElementChild.classList.contains("group-header")&&!n.detail&&!e.classList.contains("jqx-table-row-detail")&&e.childElementCount>1;if(e.className="",d){const t=e.attributes;for(;t.length>0;)e.removeAttribute(t[0].name)}else e.innerHTML="";if(r.groupDataField)l._createGroupHeader(r,void 0,e);else if(n.detail)l._createRowDetailOnDemand(e,n,r);else{e.setAttribute("aria-rowindex",r.$.index+1),l._processAndRenderSelection(r,e,a.hierarchical,d);for(let t=0;t<i.length;t++){const c=i[t];let u=d?e.children[t+s]:document.createElement("td"),f=!1;if(u&&(l.grouping&&!r.groupDataField||l.dataSource&&l.dataSource.groupBy&&l.dataSource.groupBy.length>0)&&u.removeAttribute("colspan"),!u){if(!d)continue;u=document.createElement("td"),f=!0,e.appendChild(u)}d&&(u.className=""),u.setAttribute("data-field",c.dataField),u.setAttribute("aria-colindex",t+1+s);let m,h=l._formatCellValue(n,c,u);if(f&&l._setCellContent(u,h,m),c.freeze&&u.classList.add("freeze-"+("far"===c.freeze?"far":"near")),c.responsivePriority&&u.classList.add("priority-"+c.responsivePriority),!1===c.allowEdit?(u.classList.add("no-edit"),u.setAttribute("aria-readonly",!0)):u.removeAttribute("aria-readonly"),0===t&&a.hierarchical){const e=l._areChildrenFiltered(r);r.leaf||(u.classList.add("tree-cell"),m=e),r.level&&(u.classList.add("outline-level-"+Math.min(r.level,10)),!r.leaf&&e||u.classList.add("tree-leaf"))}if(c.templateElement){if(f&&l.grouping){const e=c.templateElement+"",t=u;e.indexOf("{{value}}")>=0?t.innerHTML=e.replace(/{{value}}/gi,'<div class="jqx-table-cell-template">'+r[c.dataField]+"</div>"):t.innerHTML=e}else if(a.hierarchical&&l.grouping&&r.leaf){const e=c.templateElement+"",t=u;if((!t.firstElementChild||!(t.firstElementChild.hasAttribute("ng-version")||t.innerHTML.indexOf("ng-version")>=0))&&t.firstElementChild&&!t.firstElementChild.classList.contains(".jqx-table-cell-template")){const a=t.innerHTML;e.substring(e.lastIndexOf("</"))!==a.substring(a.lastIndexOf("</"))&&(e.indexOf("{{value}}")>=0?t.innerHTML=e.replace(/{{value}}/gi,'<div class="jqx-table-cell-template">'+r[c.dataField]+"</div>"):t.innerHTML=e)}}if(m&&!u.querySelector(".hierarchy-arrow")){l._setCellContent(u,h,m);const e=u.children[0].children[1],t=c.templateElement+"";t.indexOf("{{value}}")>=0?e.innerHTML=t.replace(/{{value}}/gi,'<div class="jqx-table-cell-template">'+r[c.dataField]+"</div>"):e.innerHTML=t}else if(a.hierarchical&&!l.grouping&&r.leaf){const e=u;if(!e.firstElementChild||!(e.firstElementChild.hasAttribute("ng-version")||e.innerHTML.indexOf("ng-version")>=0)){l._setCellContent(u,h,!1);const t=c.templateElement+"";t.indexOf("{{value}}")>=0?e.innerHTML=t.replace(/{{value}}/gi,'<div class="jqx-table-cell-template">'+r[c.dataField]+"</div>"):e.innerHTML=t}}if(!d){const e=c.templateElement+"",t=m?u.children[0].children[1]:u;e.indexOf("{{value}}")>=0?t.innerHTML=e.replace(/{{value}}/gi,'<div class="jqx-table-cell-template">'+r[c.dataField]+"</div>"):t.innerHTML=e}let e=m?u.children[0].children[1].firstElementChild:u.firstElementChild;if(!e&&a.hierarchical){l._setCellContent(u,h,!1);const t=u,a=c.templateElement+"";a.indexOf("{{value}}")>=0?t.innerHTML=a.replace(/{{value}}/gi,'<div class="jqx-table-cell-template">'+r[c.dataField]+"</div>"):t.innerHTML=a,e=m?u.children[0].children[1].firstElementChild:u.firstElementChild}c.templateElementSettings?c.templateElementSettings(r[c.dataField],o,e):c.templateElement.indexOf("{{value}}")>=0&&(u.querySelector(".jqx-table-cell-template").textContent=r[c.dataField])}else c.formatFunction,l._setCellContent(u,h,m);l.onCellRender&&l.onCellRender(r,c.dataField,r[c.dataField],u),l._applyConditionalFormattingToCell(u,c.dataField,r.$.index),d||e.appendChild(u)}e.data=r,e.setAttribute("row-id",o),-1!==l._disabledSelection.indexOf(o)&&(e.removeAttribute("aria-selected"),e.classList.add("disable-select"),a.selection&&e.firstElementChild.firstElementChild.setAttribute("aria-disabled",!0)),r.expanded?(-1===l._expandedIds.indexOf(o)&&l._expandedIds.push(o),l._expandedIdsAlt[o]=!0,e.setAttribute("aria-expanded",!0),e.classList.add("expanded")):!1===r.expanded&&e.setAttribute("aria-expanded",!1),r.level&&l._isCollapsed(r)&&(e.setAttribute("aria-hidden",!0),e.classList.add("collapsed","jqx-hidden"))}}_createRowDetailOnDemand(e,t,a){const l=this,i=Number(l.selection)+l._columns.filter((e=>e.visible)).length;e.data=Object.assign(a,{detail:!0}),e.classList.add("jqx-table-row-detail"),e.removeAttribute("aria-rowindex"),e.removeAttribute("row-id"),e.innerHTML=`<td colspan="${i}"><div class="jqx-table-detail-container">${l._applyRowDetailTemplate(t)}</div></td>`}_hierarchyArrowClickHandlerVirtualization(e,t){const a=this,l=!a.grouping,i=a.$.tableContainer,n={nextRow:e.nextElementSibling,tbody:i.children[1]},r=e.data,o=[],s=[],d=Math.ceil((a.$.virtualizationContainer.$.scrollViewerContainer.offsetHeight-i.firstElementChild.offsetHeight)/a._rowHeight);function c(){0===o.length?function(){if(a._ignoreVerticalChange=!0,r.expanded=!r.expanded,l)r.expanded?(-1===a._expandedIds.indexOf(r.$.id)&&a._expandedIds.push(r.$.id),a._expandedIdsAlt[r.$.id]=!0,a.$.fireEvent("expand",{id:r.$.id,record:r})):(a._expandedIds=a._expandedIds.filter((e=>e!==r.$.id)),delete a._expandedIdsAlt[r.$.id],a.$.fireEvent("collapse",{id:r.$.id,record:r})),a._updateState("expanded");else if(!0!==t){const e=t=>{for(let a=0;a<t.length;a++){const l=t[a];if(l.$.id===r.$.id)return l;if(l.children){let t=e(l.children);if(t)return t}}return null},t=e(a.dataSource.boundHierarchy);t&&(t.expanded=r.expanded);let l=""+r.$.id;l=l.replace("Item","").replace(/_/gi,"."),r.expanded?a.$.fireEvent("group",{action:"expand",path:l,dataField:r.groupDataField,label:r.label}):a.$.fireEvent("group",{action:"collapse",path:l,dataField:r.groupDataField,label:r.label})}for(const e of s)e.remove();let e=a.$.virtualizationContainer.$.verticalScrollBar,i=a.$.virtualizationContainer.$.verticalScrollBar.value;a._refreshDataRows(),i=Math.min(e.max,i),e.value=i,delete a._ignoreVerticalChange,a._onVerticalChange({detail:{value:i}},!0)}():requestAnimationFrame((()=>c()))}function u(e){for(const t of e){if(s.length>=d)break;!1!==t.$.filtered&&(s.push(a._expandSingleChildRowVirtualization(t,n,o)),t.children&&t.expanded&&u(t.children))}}r.expanded?function e(t){t.forEach((t=>{a._collapseSingleChildRow(i.querySelector(`tr[row-id="${t.$.id}"]:not([unused])`),o),t.children&&e(t.children)}))}(r.children):requestAnimationFrame((()=>u(r.children))),e.setAttribute("aria-expanded",!r.expanded),e.classList.toggle("expanded",!r.expanded),requestAnimationFrame((()=>c()))}_expandSingleChildRowVirtualization(e,t,a){const l=this,i=l.rowById[e.$.id],n=document.createDocumentFragment();let r;if(i){if(r=i.data.groupDataField?l._createGroupHeader(i.data,n):l._createDataRow(i,n,{virtualization:!0,hierarchical:!0,selection:l.selection}).row,-1===[...t.tbody.children].indexOf(t.nextRow)){let a=!1;e.children&&0===e.children.length&&(a=!0),e.children||(a=!0),l._rowsInDOM&&l._rowsInDOM.length===l.rows.length&&(a=!0),a||t.tbody.appendChild(n)}else t.tbody.insertBefore(n,t.nextRow);return l._expandSingleChildRow(r,a),r}}_getFractionOfMax(){const e=this;return e.isRendered&&e.virtualization?{vertical:function(){const t=e.$.virtualizationContainer.$.verticalScrollBar,a=t.max;return 0===a?0:t.value/a}(),horizontal:function(){const t=e.$.virtualizationContainer.$.horizontalScrollBar,a=t.max;return 0===a?0:t.value/a}()}:null}_setFractionOfMax(e){if(!this.virtualization||null===e)return;const t=this.$.virtualizationContainer,a=t.$.verticalScrollBar,l=t.$.horizontalScrollBar;a.value=a.max*e.vertical,l.value=l.max*e.horizontal}_refreshHorizontalScrollbar(){const e=this.$.virtualizationContainer;if(!e)return;const t=e.$.scrollViewerContainer,a=e.$.horizontalScrollBar,l=e.$.verticalScrollBar,i=e.$.scrollViewerContentContainer.offsetWidth-t.offsetWidth;let n,r;i>0&&!t.classList.contains("hscroll")?(t.classList.add("hscroll"),n="add"):i<=0&&t.classList.contains("hscroll")&&(r=a.offsetHeight,t.classList.remove("hscroll"),n="subtract"),e.scrollWidth!==i&&(e.scrollWidth=i),e.computedVerticalScrollBarVisibility&&("add"===n?(r=a.offsetHeight,l.max+=r):"subtract"===n&&(l.max-=r))}_scrollToVirtualization(e,t){const a=this;if(!a.virtualization)return;const l=a.$.virtualizationContainer,i=l.$.scrollViewerContentContainer,n=l.$.verticalScrollBar,r=l.$.horizontalScrollBar,o=a.$.tableContainer,s=i.offsetLeft,d=i.offsetTop,c=n.value;let u,f;switch(t&&(u=t.offsetLeft,f=t.offsetTop),e){case"nextArrow":{if(!t||!l.computedHorizontalScrollBarVisibility)return;const e=s+u+t.offsetWidth-l.offsetWidth;e>0&&(r.value+=e+n.offsetWidth);break}case"prevArrow":if(!t||!l.computedHorizontalScrollBarVisibility||u>=-s)return;r.value=u-s-r.value;break;case"ArrowUp":{const e=o.firstElementChild.offsetHeight-d-f;if(e<=0)return;let t;if(a._focusedCell){const e=a._focusedCell.parentElement;e&&(t={rowId:e.data.$.id,dataField:a._focusedCell.getAttribute("data-field")})}const l=Math.max(0,c-e);l!==c&&(n.value=l,a._focusEquivalentCell(t));break}case"ArrowDown":{const e=d+f+t.offsetHeight-l.offsetHeight;if(e<=0)return;const a=Math.min(n.max,c+e);a!==c&&(n.value=a);break}case"Home":case"End":if(!l.computedHorizontalScrollBarVisibility)return;r.value="Home"===e?0:r.max}}_getExpandedGroups(e){const t=this,a=[];return e?(function e(l){l.forEach((l=>{l.expanded&&a.push({groupDataField:l.groupDataField,label:l.label,ancestorSignature:t._getGroupAncestorSignature(l)}),l.children&&l.children.length>0&&!1===l.children[0].leaf&&e(l.children)}))}(e),a):[]}_getGroupAncestorSignature(e){const t=[];let a=e.parent;for(;a;)t.push({groupDataField:a.groupDataField,label:a.label}),a=a.parent;return JSON.stringify(t)}_restoreExpandedGroups(e){if(0===e.length)return;const t=this,a=t.dataSource,l=[];!function a(i){i&&i.forEach(((i,n)=>{if(e.some((e=>e.groupDataField===i.groupDataField&&e.label===i.label&&e.ancestorSignature===t._getGroupAncestorSignature(i)))){let e=i.$.id;"string"==typeof e&&(e=e.replace("Item","").replace(/_/g,".")),0===i.level?l.push(n):l.push(e)}i.children&&i.children.length>0&&!1===i.children[0].leaf&&a(i.children)}))}(a.boundHierarchy);const i=t._doNotFireEvent;t._doNotFireEvent=!0,l.forEach((e=>t.expandGroup(e))),t._doNotFireEvent=i}});

/***/ }),

/***/ 9532:
/***/ (() => {

JQX("jqx-tab-item",class extends JQX.ContentElement{static get properties(){return{closeButtonHidden:{value:!1,type:"boolean"},draggable:{value:!0,type:"boolean",reflectToAttribute:!1},index:{value:null,type:"number?"},selected:{value:!1,type:"boolean"},label:{value:"",type:"string"},labelSize:{value:null,type:"number?"}}}get enableShadowDOM(){return!1}render(){this.setAttribute("role","tabpanel"),this.firstElementChild.setAttribute("role","presentation"),super.render()}attached(){const e=this;super.attached(),e.isCompleted&&(e.$.removeClass("right"),e.$.removeClass("left"),e.$.removeClass("top"),e.$.removeClass("bottom"),e.$.removeClass("animate"))}propertyChangedHandler(e,t,o){super.propertyChangedHandler(e,t,o);const n=this;if(n._preventPropertyChangedHandler)delete n._preventPropertyChangedHandler;else switch(e){case"closeButtonHidden":n.$.fireEvent("closeButtonVisibilityChange",{hidden:o});break;case"disabled":{const e=n.tabLabelContainer;e&&(o?e.setAttribute("disabled",""):e.removeAttribute("disabled"));break}case"index":n.$.fireEvent("indexChange",{newIndex:o,oldIndex:t,tabItem:n});break;case"label":{const e=n.closest("jqx-tabs");e?e._updateTabLabel(n,o):n.setAttribute("aria-label",o);break}case"selected":n.tabLabelContainer&&n.tabLabelContainer.setAttribute("aria-selected",o);break;case"labelSize":n.$.fireEvent("labelSizeChange",{size:o})}}appendChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}t.firstElementChild.appendChild(e)}insertBefore(e,t){const o=this;if(!o.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(o,e.concat(Array.prototype.slice.call(arguments)))}o.firstElementChild.insertBefore(e,t)}_setIndex(e){const t=this,o=t.context;t.context=t,t.index=e,t.context=o}}),JQX("jqx-tab-items-group",class extends JQX.ContentElement{static get properties(){return{label:{value:"",type:"string"},labelSize:{value:null,type:"number?"}}}get enableShadowDOM(){return!1}template(){return""}propertyChangedHandler(e,t,o){super.propertyChangedHandler(e,t,o);const n=this;if(n._preventPropertyChangedHandler)delete n._preventPropertyChangedHandler;else switch(e){case"label":{const e=n.closest("jqx-tabs");if(!e)return;const a=e._groups.indexOf(t);if(a<0)break;const r=Array.from(e.$.tabStrip.querySelectorAll(".jqx-tab-group-container")).find((e=>e.group===t));Array.from(n.querySelectorAll("jqx-tab-item")).forEach((e=>e.group=o)),r.querySelector(".jqx-tab-label-text-container").innerHTML=o,r.setAttribute("aria-label",o),r.group=o,e._groups[a]=o;break}case"labelSize":this.$.fireEvent("labelSizeChange",{size:o})}}}),JQX("jqx-tabs",class extends JQX.BaseElement{static get properties(){return{addNewTab:{value:!1,type:"boolean"},addNewTabAutoCreate:{value:!0,type:"boolean"},allowToggle:{value:!1,type:"boolean"},closeButtonMode:{value:"default",allowedValues:["default","selected"],type:"string"},closeButtons:{value:!1,type:"boolean"},collapsed:{value:!1,type:"boolean"},collapsible:{value:!1,type:"boolean"},dataSource:{value:null,type:"array?",reflectToAttribute:!1},enableMouseWheelAction:{value:!1,type:"boolean"},messages:{value:{en:{ambiguousIndexes:"jqx-tabs: Initially set jqx-tab-item indexes are ambiguous and are ignored in favour of the HTML structure.",detailsObjectRequired:'jqx-tabs: The method "insert" requires a details Object to be passed as a second argument.',invalidIndex:'jqx-tabs: "{{method}}" method accepts an index of type number.',referenceNodeNotChild:"jqx-tabs: Passed {{argument}} is not part of this jqx-tabs element.",tabItemRequired:'jqx-tabs: The method "{{method}}" requires a "jqx-tab-item" element to be passed as an argument.'}},type:"object",extend:!0},name:{value:"",type:"string"},overflow:{value:"auto",allowedValues:["auto","hidden","scroll"],type:"string"},reorder:{value:!1,type:"boolean"},resize:{value:!1,type:"boolean"},scrollButtonsPosition:{value:"both",allowedValues:["near","far","both"],type:"string"},scrollMode:{value:"paging",allowedValues:["paging","continuous"],type:"string"},selectedIndex:{value:null,type:"number?"},selectionMode:{value:"click",allowedValues:["click","dblclick","mouseenter","none"],type:"string"},tabLayout:{value:"scroll",allowedValues:["scroll","dropDown","wrap","shrink"],type:"string",defaultReflectToAttribute:!0},tabPosition:{value:"top",allowedValues:["top","bottom","left","right","hidden"],type:"string"},tabTextOrientation:{value:"horizontal",allowedValues:["horizontal","vertical"],type:"string"}}}static get listeners(){return{closeButtonVisibilityChange:"_closeButtonVisibilityChangeHandler",indexChange:"_indexChangeHandler",keydown:"_keydownHandler",labelSizeChange:"_labelSizeChangeHandler",resize:"_applyTabOverflow",styleChanged:"_applyTabOverflow","container.dblclick":"_containerHandler","container.down":"_containerHandler","container.mouseout":"_containerHandler","container.mouseover":"_containerHandler","scrollButtonFar.click":"_scrollButtonClickHandler","scrollButtonNear.click":"_scrollButtonClickHandler","tabContentSection.transitionend":"_tabContentSectionTransitionendHandler","tabsHeaderItems.wheel":"_tabsHeaderItemsWheelHandler","tabStrip.mouseleave":"_tabStripMouseleaveHandler","tabStrip.move":"_tabStripMoveHandler","tabStrip.touchmove":"_tabStripTouchmoveHandler","tabStrip.touchstart":"_tabStripTouchstartHandler","document.move":"_documentMoveHandler","document.selectstart":"_selectStartHandler","document.up":"_documentUpHandler"}}static get requires(){return{"JQX.RepeatButton":"jqx.button.js"}}static get styleUrls(){return["jqx.tabs.css"]}template(){return'<div id="container">\n                    <div id="tabsHeaderSection" class="jqx-header jqx-tabs-header-section">\n                        <div id="tabsHeaderItems" class="jqx-tabs-header-items">\n                            <jqx-repeat-button id="scrollButtonNear" class="jqx-tabs-scroll-button jqx-nav-button jqx-spin-button jqx-hidden" animation="[[animation]]" unfocusable>\n                                <div id="arrowNear" class="jqx-arrow" aria-hidden="true"></div>\n                            </jqx-repeat-button>\n                            <div id="tabStrip" class="jqx-tab-strip"></div>\n                            <jqx-repeat-button id="scrollButtonFar" class="jqx-tabs-scroll-button jqx-nav-button jqx-spin-button jqx-hidden" animation="[[animation]]" unfocusable>\n                                <div id="arrowFar" class="jqx-arrow" aria-hidden="true"></div>\n                            </jqx-repeat-button>\n                            <div id="dropDownButton" class="jqx-drop-down-button" role="button" aria-expanded="false" aria-label="Open tab selection popup">\n                                <div id="dropDownButtonArrow" class="jqx-drop-down-button-arrow jqx-unselectable" aria-hidden="true"></div>\n                            </div>\n                            <span id="tabSelectionBar" class="jqx-tabs-selection-bar" role="presentation"></span>\n                            <div id="resizeToken" class="jqx-tabs-resize-token jqx-hidden" role="presentation"></div>\n                        </div>\n                        <div id="tabHeaderControls" class="jqx-tabs-header-controls"></div>\n                    </div>\n                    <div id="tabContentSection" class="jqx-tabs-content-section">\n                       <content></content>\n                    </div>\n                    <div id="dropDownButtonDropDown" class="jqx-drop-down-button-drop-down jqx-hidden"></div>\n                    <input id="hiddenInput" type="hidden" name="[[name]]">\n                </div>'}attached(){const e=this;super.attached(),e.isCompleted&&e.isRendered&&e._applyTabOverflow()}ready(){super.ready(),this._flexWritingModeNoFullSupport=!0}render(){this._createElement(),super.render()}appendChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e instanceof JQX.TabItem||t.error(t.localize("tabItemRequired",{method:"appendChild"})),t.isRendered?t.insert(t._tabs.length,{node:e}):t.whenRendered((()=>t.insert(t._tabs.length,{node:e})))}collapse(){const e=this;e.collapsible&&!e.collapsed&&(e.collapsed=!0)}ensureVisible(e){const t=this;if(null===e||"wrap"===t.tabLayout||"shrink"===t.tabLayout||"hidden"===t.tabPosition)return;t._validateIndex(e,"ensureVisible"),e=Math.max(0,Math.min(e,t._tabs.length-1));const o=t._tabs[e].group,n=t.$.tabStrip,a=n.getBoundingClientRect(),r=(null===o?t._tabLabelContainers[e]:t._groupLabels[t._groups.indexOf(o)]).getBoundingClientRect();"top"===t.tabPosition||"bottom"===t.tabPosition?(a.left>r.left?n.scrollLeft+=Math.round(r.left-a.left):n.scrollLeft+=Math.round(r.right-a.right),t.addNewTab&&e===t._tabs.length-1&&(n.scrollLeft=n.scrollWidth-n.offsetWidth)):"left"!==t.tabPosition&&"right"!==t.tabPosition||!(a.top>r.top||a.bottom<r.bottom)?(n.scrollLeft=t._getScrollLeft(0),t.$.tabStrip.scrollTop=0):n.scrollTop+=Math.round(r.bottom-n.offsetHeight-a.top),t._updateScrollButtonVisibility(),t.resize&&t._getTabCoordinates()}expand(){const e=this;e.collapsible&&e.collapsed&&(e.collapsed=!1)}getOffsetFromEdgeOfElement(e){const t=this;t._validateIndex(e,"getOffsetFromEdgeOfElement"),e=Math.max(0,Math.min(e,t._tabs.length-1));const o=t._tabs[e],n=t.tabPosition;return"hidden"!==n?Math.abs(o.getBoundingClientRect()[n]-t.getBoundingClientRect()[n]):o.getBoundingClientRect().top-t.getBoundingClientRect().top}getTabs(){const e=this,t=e._tabs;return t?t.slice(0):Array.from(e.shadowRoot?e.shadowRoot.querySelectorAll("jqx-tab-item"):e.getElementsByTagName("jqx-tab-item"))}insert(e,t){const o=this;let n,a;if(o._validateIndex(e,"insert"),(void 0===t||void 0===t.label&&void 0===t.content&&void 0===t.node)&&o.error(o.localize("detailsObjectRequired")),void 0===t.node)n=t.group,a=document.createElement("jqx-tab-item"),a.label=void 0!==t.label?t.label:"",a.labelSize=void 0!==t.labelSize?t.labelSize:null,a.content=t.content;else if(a=t.node,void 0!==a.index&&null!==a.index){const e=a.context;a.context=a,a.index=null,a.context=e}a.$.addClass("jqx-visibility-hidden"),a.group=null;const r=o._addTabLabelContainer(a),s=r.tabLabelContainer,i=r.dropDownLabelContainer;s.tab=a,a.tabLabelContainer=s;const l={index:e,tab:a,tabLabelContainer:s,dropDownLabelContainer:i};if(o._setAriaRelations(a,s,i),0===o._groups.length&&void 0===n)o._insertNoGrouping(l);else if(null!=n){l.group=n;const e=o.$.tabContentSection.querySelector('jqx-tab-items-group[label="'+n+'"]');null!==e?(l.jqxTabItemsGroup=e,o._insertIntoExistingGroup(l)):o._insertIntoNewGroup(l)}else o._insertNearAGroup(l);o._getReorderItems(),null===o.selectedIndex&&!o.allowToggle&&o._tabs.length&&o._select(0,!0),null!==a.group&&null!==a.labelSize&&"shrink"!==o.tabLayout&&s.style.removeProperty([o._orientationSettings.dimension]),o._applyTabOverflow()}insertBefore(e,t){const o=this;if(!o.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(o,e.concat(Array.prototype.slice.call(arguments)))}let n;e instanceof JQX.TabItem&&(null==t||t instanceof JQX.TabItem)||o.error(o.localize("tabItemRequired",{method:"insertBefore"})),o.contains(e)&&(e.selected&&(n=!0),o.removeAt(e.index)),null!=t?(o.contains(t)||o.error(o.localize("referenceNodeNotChild",{argument:"referenceNode"})),o.insert(t.index,{node:e})):o.insert(o._tabs.length,{node:e}),n&&o._select(e.index,!1)}refreshTabHeader(){const e=this;"scroll"===e.tabLayout&&e._checkOverflowScroll(),e._positionTabSelectionBar(e._tabLabelContainers?e._tabLabelContainers[e.selectedIndex]:void 0,!0)}removeAt(e){const t=this,o=t._tabs.length;if(0===o)return;t._validateIndex(e,"remove"),e=Math.max(0,Math.min(e,o-1));const n=t._tabs[e],a=t._tabLabelContainers[e];if(a._lazyRemove?a.classList.add("jqx-hidden"):a.parentElement.removeChild(a),n.parentElement.removeChild(n),null!==n.group){const e=t.$.tabContentSection.querySelector('jqx-tab-items-group[label="'+n.group+'"]');if(0===e.childElementCount){const o=t._groups.indexOf(n.group);t.$.tabStrip.removeChild(t._groupLabels[o]),t._groups.splice(o,1),t.$.container.removeChild(t._groupLabels[0].dropDown),t._groupLabels.splice(o,1),t.$.tabContentSection.removeChild(e)}}if(o>1?e<t.selectedIndex?t.selectedIndex--:e===t.selectedIndex&&(e===o-1?t._select(e-1,!1):(t._select(e+1,!1),t.selectedIndex--)):(t.selectedIndex=null,t.$.tabContentSection.innerHTML=""),t._tabLabelContainers.splice(e,1),t.$.dropDownButtonDropDown.removeChild(t.$.dropDownButtonDropDown.children[e]),t._tabs.splice(e,1),t._focusedItem===n&&(t._focusedItem=t._tabs[t._focusedItem.index]),t._updateTabIndexes(),t._getReorderItems(),t._applyTabOverflow(),t.ensureVisible(t.selectedIndex),t._tabs&&1===t._tabs.length&&t.closeButtons){const e=t.querySelector(".jqx-tab-label-container");e.querySelector(".jqx-tab-close-button").classList.add("jqx-hidden"),e.querySelector(".jqx-tab-label-text-container").classList.remove("jqx-close-button-enabled"),setTimeout((()=>t.refreshTabHeader()),300)}t.$.hiddenInput.value=t.selectedIndex}removeChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e instanceof JQX.TabItem||t.error(t.localize("tabItemRequired",{method:"removeChild"})),t.contains(e)||t.error(t.localize("referenceNodeNotChild",{argument:"node"})),t.removeAt(e.index)}select(e){const t=this;0!==t._tabs.length&&(t._validateIndex(e,"select"),e=Math.max(0,Math.min(e,t._tabs.length-1)),t.ensureVisible(e),t._select(e,!0))}_setFocusable(){const e=this;e.disabled||e.unfocusable?e.removeAttribute("tabindex"):(null===e.getAttribute("tabindex")||e.getAttribute("tabindex")<0)&&e.setAttribute("tabindex",0)}getTabContent(e){const t=this._getTabProperty(e,"content");return t&&t.innerHTML?t.innerHTML:t}getTabLabel(e){return this._getTabProperty(e,"label")}_getTabProperty(e,t){if(0===this._tabs.length)return null;const o=this._tabs[e];return o?o[t]:null}setTabLabel(e,t){const o=this;if(0===o._tabs.length)return;o._validateIndex(e,"update"),e=Math.max(0,Math.min(e,o._tabs.length-1));const n=o._tabs[e];void 0!==t&&n.label!==t&&o._updateTabLabel(n,t)}update(e,t,o){const n=this;if(0===n._tabs.length)return;n._validateIndex(e,"update"),e=Math.max(0,Math.min(e,n._tabs.length-1));const a=n._tabs[e];void 0!==t&&a.label!==t&&n._updateTabLabel(a,t),void 0!==o&&(a.content=o)}_createElement(){const e=this;e.$.dropDownButton.id||(e.$.dropDownButton.id=e.id+"DropDownButton"),e.$.dropDownButtonDropDown.id||(e.$.dropDownButtonDropDown.id=e.id+"DropDown"),e.setAttribute("role","tablist"),e.$.dropDownButton.setAttribute("role","button"),e.$.dropDownButton.setAttribute("aria-haspopup",!0),e.$.dropDownButton.setAttribute("aria-owns",e.$.dropDownButtonDropDown.id),e.$.dropDownButtonDropDown.setAttribute("role","menu"),e.disabled&&(e.$.scrollButtonNear.disabled=!0,e.$.scrollButtonFar.disabled=!0),e.rightToLeft&&(e.$.tabsHeaderItems.removeChild(e.$.dropDownButton),"top"===e.tabPosition||"bottom"===e.tabPosition?e.$.tabsHeaderItems.insertBefore(e.$.dropDownButton,e.$.scrollButtonNear):e.$.tabsHeaderItems.insertBefore(e.$.dropDownButton,e.$.tabSelectionBar)),e._handlePosition(e.tabPosition),e._handleScrollButtonsPosition(e.scrollButtonsPosition,"both"),null!==e.dataSource&&e._processDataSource(),e._setFocusable(),e.collapsed&&!e.collapsible&&(e.collapsed=!1),e.collapsible&&e.allowToggle&&(e.allowToggle=!1),e._processHTML(),null===e.selectedIndex&&e.$.tabContentSection.setAttribute("show-placeholder",""),setTimeout((()=>e.refreshTabHeader()),300),e.$.hiddenInput.value=e.selectedIndex,e.enableShadowDOM&&HTMLElement.prototype.appendChild.apply(e,[e.$.hiddenInput])}propertyChangedHandler(e,t,o){super.propertyChangedHandler(e,t,o);const n=this;switch(e){case"addNewTab":o?n._insertAddNewTab():(n.$.tabStrip.removeChild(n._addNewTab),delete n._addNewTab),n._applyTabOverflow();break;case"allowToggle":o&&n.collapsible?(n.collapsed&&n._toggleCollapsedState(),n.collapsible=!1):o||null!==n.selectedIndex||(n.ensureVisible(n.selectedIndex=0),n._select(n.selectedIndex,!0,null));break;case"closeButtonMode":if("selected"===o){for(let e=0;e<n._tabs.length;e++)n._disableCloseButton(e);n._enableCloseButton(n.selectedIndex)}else{n._disableCloseButton(n.selectedIndex);const e=n._tabLabelContainers;for(let t=0;t<e.length;t++){const o=e[t];o.closeButtonEnabled=!0!==n._tabs[t].closeButtonHidden,n._showCloseButton(o)}}n._applyTabOverflow();break;case"closeButtons":{const e=n._tabLabelContainers,t=o?n._showCloseButton:n._hideCloseButton;for(let o=0;o<e.length;o++)t(e[o]);n._applyTabOverflow();break}case"collapsed":if(!n.collapsible&&o)return void(n.collapsed=!1);break;case"collapsible":!o&&n.collapsed&&(n.collapsed=!1),n.allowToggle=!1,void 0===n.selectedIndex&&n.select(n._focusedItem.index);break;case"dataSource":n.selectedIndex=null;for(let e=0;e<n._groupLabels.length;e++)n.$.container.removeChild(n._groupLabels[e].dropDown);n.$.tabStrip.innerHTML="",n._processDataSource(),n._processHTML();break;case"disabled":n._setFocusable(),n.$.scrollButtonNear.disabled=o,n.$.scrollButtonFar.disabled=o,o||n._updateScrollButtonVisibility(),n._closeDropDownButtonDropDown();break;case"messages":case"scrollMode":case"selectionMode":case"readonly":case"reorder":break;case"overflow":if("scroll"!==n.tabLayout)return;n.$.tabStrip.scrollLeft=n._getScrollLeft(0),n.$.tabStrip.scrollTop=0,"hidden"===o?(n.$tabsHeaderSection.removeClass("scroll-buttons-shown"),n.$scrollButtonNear.addClass("jqx-hidden"),n.$scrollButtonFar.addClass("jqx-hidden")):n._checkOverflowScroll(),n._getTabCoordinates();break;case"tabPosition":n.$.tabSelectionBar.style.transition="none",n._tabPositionChanging=!0,n._closeGroupDropDown(),n._handlePosition(o,t),"shrink"!==n.tabLayout&&n._applyLabelSizes("tabPosition"),n.rightToLeft&&(n.$.tabsHeaderItems.removeChild(n.$.dropDownButton),"top"===n.tabPosition||"bottom"===n.tabPosition?n.$.tabsHeaderItems.insertBefore(n.$.dropDownButton,n.$.scrollButtonNear):n.$.tabsHeaderItems.insertBefore(n.$.dropDownButton,n.$.tabSelectionBar)),n._applyTabOverflow(),delete n._tabPositionChanging,requestAnimationFrame((function(){n.$.tabSelectionBar.style.transition=null}));break;case"resize":o&&n._getTabCoordinates();break;case"rightToLeft":n._positionTabSelectionBar(n._tabLabelContainers[n.selectedIndex],!0),n.$.tabsHeaderItems.removeChild(n.$.dropDownButton),!o||"top"!==n.tabPosition&&"bottom"!==n.tabPosition?n.$.tabsHeaderItems.insertBefore(n.$.dropDownButton,n.$.tabSelectionBar):n.$.tabsHeaderItems.insertBefore(n.$.dropDownButton,n.$.scrollButtonNear),n.ensureVisible(n.selectedIndex);break;case"scrollButtonsPosition":n._handleScrollButtonsPosition(o,t);break;case"selectedIndex":{if(isNaN(o)&&(n.selectedIndex=o=t),!n.allowToggle&&null===o)return void(n.selectedIndex=t);let e=o;null!==o&&(e=Math.max(0,Math.min(o,n._tabs.length-1)),n.ensureVisible(e)),n._select(e,!0,t);break}case"tabLayout":"scroll"===t&&(n.$tabsHeaderSection.removeClass("scroll-buttons-shown"),n.$scrollButtonNear.addClass("jqx-hidden"),n.$scrollButtonFar.addClass("jqx-hidden")),"shrink"===o?n._applyLabelSizes("shrink",!0):"shrink"===t&&n._applyLabelSizes("shrink",!1),n._applyTabOverflow(),"scroll"===o&&n.disabled&&(n.$.scrollButtonNear.disabled=!0,n.$.scrollButtonFar.disabled=!0),n.ensureVisible(n.selectedIndex);break;case"tabTextOrientation":n._applyTabOverflow(),n.ensureVisible(n.selectedIndex);break;case"unfocusable":n._setFocusable()}}_addGroupContainer(e,t){const o=this,n=document.createElement("div"),a=document.createElement("div"),r=document.createElement("div"),s=document.createElement("div"),i=document.createElement("div");return n.className="jqx-tab-group-container jqx-unselectable",n.$=JQX.Utilities.Extend(n),n.setAttribute("role","group"),n.setAttribute("aria-expanded",!1),n.setAttribute("aria-haspopup",!0),n.setAttribute("aria-label",e),a.className="jqx-tab-label-text-wrapper",a.setAttribute("role","presentation"),a.setAttribute("aria-hidden",!0),null!==t&&"shrink"!==o.tabLayout&&(n.style[o._orientationSettings.dimension]=parseInt(t,10)+"px"),r.className="jqx-tab-label-text-container",r.innerHTML=e,s.className="jqx-tab-group-arrow",i.className="jqx-tab-group-drop-down jqx-hidden",i.$=JQX.Utilities.Extend(i),i.id=o.id+"GroupDropDown"+e,i.setAttribute("role","tablist"),i.setAttribute("aria-orientation","vertical"),n.setAttribute("aria-owns",i.id),a.appendChild(r),a.appendChild(s),n.appendChild(a),o.$.container.appendChild(i),n.group=e,n.dropDown=i,i.groupContainer=n,{label:n,dropDown:i}}_addGroupElements(e){const t=this,o=e.groups,n=e.groupLabels,a=e.group,r=o.indexOf(a),s=e.tabLabelContainer;let i;if(-1!==r)i=n[r],i.dropDown.appendChild(s);else{o.push(a);const r=t._addGroupContainer(a,e.jqxTabItemsGroup.labelSize),l=r.dropDown;i=r.label,l.appendChild(s),l.groupContainer=r.label,e.documentFragment.appendChild(i),n.push(i)}t.selectedIndex===e.i&&(t._selectedGroup=i,i.$.addClass("jqx-tab-group-selected"))}_addNewTabHandler(e,t,o){const n=this;if(!n._swiping&&(o?(e.removeAttribute("hover"),n.addNewTabAutoCreate&&(n.insert(n._tabs.length,{label:"New Tab",content:""}),n._select(n._tabs.length-1,!0)),n.$.fireEvent("addNewTabClick")):n._reordering||n._swiping||("mouseover"===t?e.setAttribute("hover",""):"mouseout"===t&&e.removeAttribute("hover")),n.closeButtons&&o)){const e=n._tabLabelContainers;for(let t=0;t<e.length;t++){const o=e[t];t===e.length-1&&(o.closeButtonEnabled=!0),n._showCloseButton(o)}n._applyTabOverflow()}}_addTabLabelContainer(e,t){const o=this,n=document.createElement("div"),a=document.createElement("div"),r=document.createElement("div"),s=document.createElement("div");let i;return e&&(e.disabled?n.setAttribute("disabled",""):n.removeAttribute("disabled")),n.className="jqx-tab-label-container jqx-unselectable",a.className="jqx-tab-label-text-wrapper",r.className="jqx-tab-label-text-container",r.setAttribute("role","presentation"),s.className="jqx-tab-close-button",s.setAttribute("role","button"),s.setAttribute("aria-label","Close"),void 0===t?(o.closeButtons?("default"===o.closeButtonMode&&e.closeButtonHidden||"selected"===o.closeButtonMode&&!e.selected?(s.classList.add("jqx-hidden"),n.closeButtonEnabled=!1):(r.classList.add("jqx-close-button-enabled"),n.closeButtonEnabled=!0),o._tabs&&1===o._tabs.length&&(s.classList.add("jqx-hidden"),n.closeButtonEnabled=!1)):(s.classList.add("jqx-hidden"),n.closeButtonEnabled=!0),i=document.createElement("div"),i.className="jqx-tab-label-container jqx-unselectable",e&&null===e.group&&null!==e.labelSize&&"shrink"!==o.tabLayout&&(n.style[o._orientationSettings.dimension]=parseInt(e.labelSize,10)+"px")):(s.classList.add("jqx-hidden"),n.closeButtonEnabled=!1),o._setLabel(e?e.label:"+",r,i),r.$=JQX.Utilities.Extend(r),s.$=JQX.Utilities.Extend(s),a.appendChild(r),a.appendChild(s),n.appendChild(a),n.$=JQX.Utilities.Extend(n),{tabLabelContainer:n,dropDownLabelContainer:i}}_animateSelection(e,t,o){const n=this;let a="right",r="left";if(n.rightToLeft&&(a="left",a="right"),n._animatedTab=e,n._animatedOldTab=t,n._animatedTab&&n._animatedOldTab){"left"!==n.tabPosition&&"right"!==n.tabPosition||(a="top",r="bottom");for(let e=0;e<n._tabs.length;e++)n._tabs[e].$.removeClass(a),n._tabs[e].$.removeClass(r),n._tabs[e].$.removeClass("animate");if(e===t)return e.$.hasClass("jqx-visibility-hidden")?e.$.removeClass("jqx-visibility-hidden"):e.$.addClass("jqx-visibility-hidden"),void(n._animatedOldTab.classToRemove=a);o?(e.$.addClass(a),e.$.removeClass("jqx-visibility-hidden"),t.$.addClass("jqx-visibility-hidden"),requestAnimationFrame((()=>{t.$.addClass("animate"),e.$.addClass("animate"),requestAnimationFrame((()=>{t.$.addClass(r),e.$.removeClass(a)}))})),n._animatedOldTab.classToRemove=r):(e.$.addClass(r),e.$.removeClass("jqx-visibility-hidden"),t.$.addClass("jqx-visibility-hidden"),requestAnimationFrame((()=>{t.$.addClass("animate"),e.$.addClass("animate"),requestAnimationFrame((()=>{t.$.addClass(a),e.$.removeClass(r)}))})),n._animatedOldTab.classToRemove=a)}}_applyConditionalTabOverflow(){const e=this,t="left"===e.tabPosition||"right"===e.tabPosition,o=e.$.tabStrip;if("scroll"!==e.tabLayout){if(e._flexWritingModeNoFullSupport&&"shrink"===e.tabLayout&&t&&o.scrollHeight>o.offsetHeight){const t=o.children,n=100/t.length+"%";o.$.addClass("shrink-tabs-vertical");for(let e=0;e<t.length;e++)t[e].style.height=n,t[e].firstElementChild.firstElementChild.classList.add("jqx-tab-label-text-container-full-height");e._inlineStyleTabStripChildren=!0}}else e._checkOverflowScroll()}_applyLabelSizes(e,t){const o=this,n=o._orientationSettings.dimension,a="width"===n?"height":"width";for(let r=0;r<o._reorderItems.length;r++){const s=o._reorderItems[r],i=o._getCorrespondingCustomElement(s);null!==i.labelSize&&("tabPosition"===e&&s.style.removeProperty(a),t?s.style.removeProperty(n):s.style[n]=parseInt(i.labelSize,10)+"px")}}refresh(){this._applyTabOverflow()}_applyTabOverflow(){const e=this;if(!e._tabs)return;if(e._removeInlineStyle(),0===e._tabs.length)return void e._toggleNavigationElementsVisibility();const t=e.tabLayout,o=e.tabPosition,n="left"===o||"right"===o,a=e.$.tabStrip;switch(e._closeDropDownButtonDropDown(),t){case"scroll":case"dropDown":e._flexWritingModeNoFullSupport&&"vertical"===e.tabTextOrientation&&n&&e._fixTabStripNotChrome(a);break;case"wrap":if("vertical"===e.tabTextOrientation)if(e._flexWritingModeNoFullSupport)if(n)e._fixTabStripNotChrome(a);else{const t=a.children;let o=t[0].offsetHeight;for(let e=1;e<t.length;e++)o=Math.max(o,t[e].offsetHeight);for(let e=1;e<t.length;e++)t[e].style.height=o+"px";e._inlineStyleTabStripChildren=!0}else n||a.scrollHeight>a.offsetHeight&&(a.style.height=a.scrollHeight+"px",e._inlineStyleTabStrip=!0);else n&&a.scrollWidth>a.offsetWidth&&(a.style.width=a.scrollWidth+"px","right"===o&&(a.style.flexWrap="wrap-reverse"),e._inlineStyleTabStrip=!0);break;case"shrink":if(n){if(e._flexWritingModeNoFullSupport&&"vertical"===e.tabTextOrientation){const t=a.children,o=window.getComputedStyle(t[0].firstElementChild),n=parseInt(o.paddingLeft,10)+parseInt(o.paddingRight,10);let r=0;for(let e=0;e<t.length;e++)r=Math.max(r,t[e].firstElementChild.firstElementChild.offsetWidth);a.style.width=n+r+"px",e._inlineStyleTabStrip=!0;break}}else a.scrollWidth>a.offsetWidth&&a.$.addClass("shrink-tabs")}e._applyConditionalTabOverflow(),e._getTabCoordinates(),e._fixTabStripFlex(t),e._toggleNavigationElementsVisibility(),e._positionTabSelectionBar(e._tabLabelContainers[e.selectedIndex],!0)}_checkOverflowScroll(){const e=this,t=e.$tabsHeaderSection,o=e.$.tabStrip,n=e.overflow;if("hidden"===n)return;let a,r,s;if("left"!==e.tabPosition&&"right"!==e.tabPosition){const t=Math.abs(e._getScrollLeft());a=Math.round(o.scrollWidth)>Math.round(o.offsetWidth),e.rightToLeft?(s=Math.round(t)>0,r=Math.round(o.offsetWidth+t)<Math.round(o.scrollWidth)):(r=Math.round(t)>0,s=Math.round(o.offsetWidth+t)<Math.round(o.scrollWidth))}else a=Math.round(o.scrollHeight)>Math.round(o.offsetHeight),r=Math.round(o.scrollTop)>0,s=Math.round(o.offsetHeight+o.scrollTop)<Math.round(o.scrollHeight);"scroll"===n&&(t.addClass("scroll-buttons-shown"),e.$scrollButtonNear.removeClass("jqx-hidden"),e.$scrollButtonFar.removeClass("jqx-hidden")),a?"auto"===n?(t.hasClass("scroll-buttons-shown")||t.addClass("scroll-buttons-shown"),r?e.$scrollButtonNear.removeClass("jqx-hidden"):e.$scrollButtonNear.addClass("jqx-hidden"),s?e.$scrollButtonFar.removeClass("jqx-hidden"):e.$scrollButtonFar.addClass("jqx-hidden"),!1===(r&&s)?t.addClass("one-button-shown"):t.removeClass("one-button-shown"),e.disabled||(e.$.scrollButtonNear.disabled=!1,e.$.scrollButtonFar.disabled=!1)):(t.removeClass("one-button-shown"),e.disabled?(e.$.scrollButtonNear.disabled=!0,e.$.scrollButtonFar.disabled=!0):(e.$.scrollButtonNear.disabled=!r,e.$.scrollButtonFar.disabled=!s)):!a&&"auto"===n&&t.hasClass("scroll-buttons-shown")?(t.removeClass("scroll-buttons-shown"),t.removeClass("one-button-shown"),e.$scrollButtonNear.addClass("jqx-hidden"),e.$scrollButtonFar.addClass("jqx-hidden")):a||"scroll"!==n||(e.$.scrollButtonNear.disabled=!0,e.$.scrollButtonFar.disabled=!0)}_closeButtonVisibilityChangeHandler(e){const t=this,o=(JQX.EnableShadowDOM?e.composedPath()[0]:e.target).index;"selected"!==t.closeButtonMode?e.detail.hidden?t._disableCloseButton(o):t._enableCloseButton(o):t._tabLabelContainers[o].closeButtonEnabled=e.detail.hidden}_closeDropDownButtonDropDown(){const e=this;e._dropDownButtonDropDownOpened&&(e.$.dropDownButton.setAttribute("aria-expanded",!1),e.$dropDownButtonDropDown.addClass("jqx-hidden"),e._dropDownButtonDropDownOpened=!1)}_closeGroupDropDown(){const e=this;if(!e._openDropDown)return;const t=e._openDropDown.groupContainer;e._openDropDown.rippleInProgress?setTimeout((function(){e._openDropDown&&(t.setAttribute("aria-expanded",!1),e._openDropDown.$.addClass("jqx-hidden"),delete e._openDropDown.rippleInProgress,e._openDropDown=void 0)}),450):(t.setAttribute("aria-expanded",!1),e._openDropDown.$.addClass("jqx-hidden"),e._openDropDown=void 0)}_containerHandler(e){const t=this,o=e.type;if(t.disabled||t.readonly||t._resizing&&"mouseout"!==o||("down"===o||"up"===o)&&1!==e.which&&!JQX.Utilities.Core.isMobile)return;const n=t.shadowRoot||t.isInShadowDOM?(e.originalEvent||e).composedPath()[0]:(e.originalEvent||e).target;t.$.tabContentSection.contains(n)||(t.$.dropDownButton.contains(n)?t._dropDownButtonHandler(n,e):t.$.dropDownButtonDropDown.contains(n)?t._dropDownButtonHandler(n,e,!0):t._tabStripHandler(n,e))}_disableCloseButton(e){const t=this,o=t._tabLabelContainers[e];o.closeButtonEnabled=!1,t.closeButtons&&t._hideCloseButton(o)}_documentMoveHandler(e){const t=this,o=t._orientationSettings;if(t._reordering){t._reorderStartThrown||(t._fireDragEvent(e,"dragStart"),t._reorderStartThrown=!0);const n=e[o.coordinate],a="wrap"!==t.tabLayout?function(e){return n>=e[o.from]&&n<=e[o.to]}:function(t){return e.pageX>=t.fromX&&e.pageX<=t.toX&&e.pageY>=t.fromY&&e.pageY<=t.toY};let r=!1;for(let e=0;e<t._tabCoordinates.length;e++)if(a(t._tabCoordinates[e])){r=e;break}!0!==t._preventReorder&&!1!==r&&r!==t._draggedIndex&&(t._reorderTabs(t._draggedIndex,r),t._closeGroupDropDown(),t._draggedIndex=r,t._getReorderItems(),t._getTabCoordinates());const s=t._tabCoordinates[t._draggedIndex];"wrap"!==t.tabLayout&&(n<s[o.from]||n>s[o.to])||"wrap"===t.tabLayout&&(null!==e.originalEvent.target.closest(".jqx-tab-label-container")||null!==e.originalEvent.target.closest(".jqx-tab-group-container"))&&!(e.pageX>=s.fromX&&e.pageX<=s.toX&&e.pageY>=s.fromY&&e.pageY<=s.toY)?t._preventReorder=!0:t._preventReorder=!1}else t._resizing&&(t.$.resizeToken.style[o.edge]=e[o.coordinate]-t._tabsHeaderSectionCoordinate+"px",t.$resizeToken.removeClass("jqx-hidden"))}_documentUpHandler(e){const t=this;if(!e.originalEvent)return;let o=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;t.$.container.contains(o)&&t._containerHandler(e),t._touchmoveInside?t._endSwiping(e,Date.now()):(delete t._dragStartDetails,delete t._swiping),delete t._touchCoords,delete t._touchmoveInside,!t._openDropDown||t._openDropDown.rippleInProgress||o!==document&&o.closest(".jqx-tab-group-container")===t._openDropDown.groupContainer||"pointercancel"===e.originalEvent.type||t._closeGroupDropDown(),t.$.dropDownButton.contains(o)||"pointercancel"===e.originalEvent.type||t._closeDropDownButtonDropDown(),t._endReordering(e,o),t._resize(e),void 0!==t._tabToResize&&(t._tabToResize=void 0),delete t._downTarget}_dropDownButtonHandler(e,t,o){const n=this,a=t.type;if(o){if(e.classList.contains("jqx-tab-label-container"))switch(a){case"down":n._downTarget=e;break;case"mouseout":e.removeAttribute("hover");break;case"mouseover":e.setAttribute("hover","");break;case"up":e===n._downTarget&&t.originalEvent&&"pointercancel"!==t.originalEvent.type&&(n.select(Array.from(n.$.dropDownButtonDropDown.children).indexOf(e)),n._closeDropDownButtonDropDown())}}else if("down"===a)n._downTarget=n.$.dropDownButton;else if("up"===a&&n._downTarget===n.$.dropDownButton)if(n._dropDownButtonDropDownOpened)n._closeDropDownButtonDropDown();else{const e=n.tabPosition;let t,o;switch(n.$.dropDownButton.setAttribute("aria-expanded",!0),e){case"top":t=n.$.dropDownButton.offsetLeft,o=n.$.tabsHeaderSection.offsetTop+n.$.dropDownButton.offsetHeight;break;case"bottom":t=n.$.dropDownButton.offsetLeft,o=n.$.tabsHeaderSection.offsetTop;break;case"left":t=n.$.dropDownButton.offsetWidth,o=n.$.dropDownButton.offsetTop;break;case"right":t=n.$.tabsHeaderSection.offsetLeft,o=n.$.dropDownButton.offsetTop}n.$.dropDownButtonDropDown.style.left=t+"px",n.$.dropDownButtonDropDown.style.top=o+"px",n.$dropDownButtonDropDown.removeClass("jqx-hidden"),n._dropDownButtonDropDownOpened=!0}}_enableCloseButton(e){const t=this,o=t._tabLabelContainers[e];o.closeButtonEnabled=!0,t.closeButtons&&t._showCloseButton(o)}_endReordering(e,t){const o=this;o._reordering&&(o._draggedHoveredTab&&(o._draggedHoveredTab.contains(t)||o._draggedHoveredTab.removeAttribute("hover"),delete o._draggedHoveredTab),o._reorderedIndex=void 0,o._reordering=!1,o._reorderStartThrown=!1,o.removeAttribute("dragged"),e&&o._fireDragEvent(e,"dragEnd"))}_endSwiping(e,t){const o=this;if(!o._dragStartDetails)return;const n=o._orientationSettings,a=o.$.tabStrip,r=Math.abs(o._dragStartDetails.startTime-t),s=200/r,i=(o._dragStartDetails[n.startCoordinate]-e[n.coordinate])*s;let l=Math.abs(i);const d=function(){if(o.rightToLeft&&"scrollLeft"===n.scrollDirection){const e=Math.abs(o._getScrollLeft());if(i<0&&e===a[n.scrollSize]-a[n.size]||i>0&&0===e)return!1}else if(i>0&&a[n.scrollDirection]===a[n.scrollSize]-a[n.size]||i<0&&0===a[n.scrollDirection])return!1;return!0};let c=.03*Math.abs(i)*s;const b=function(){if(c>5){const e=(l-c)/Math.abs(i);e<.1?c/=1.25:e<.15?c/=1.2:e<.2?c/=1.15:e<.25?c/=1.1:e<.3&&(c/=1.05)}c=Math.round(c);const e=a[n.scrollDirection];o.rightToLeft&&"scrollLeft"===n.scrollDirection?JQX.Utilities.Core.Browser.Chrome?a[n.scrollDirection]=i>0?Math.max(e+c,0):Math.min(e-c,a[n.scrollSize]-a[n.size]):a[n.scrollDirection]=i>0?Math.min(e+c,a[n.scrollSize]-a[n.size]):Math.min(e-c,0):a[n.scrollDirection]=i>0?Math.min(e+c,a[n.scrollSize]-a[n.size]):Math.max(e-c,0),l-=c,o._updateScrollButtonVisibility(!0);const t=d();l>0&&t?o._scrollingAnimationFrame=window.requestAnimationFrame(b):o._wheelInProgress=!1};o._scrollingAnimationFrame&&cancelAnimationFrame(o._scrollingAnimationFrame),r<500&&d()?o._scrollingAnimationFrame=window.requestAnimationFrame(b):o._wheelInProgress=!1,delete o._dragStartDetails,o._swiping&&delete o._swiping}_fireDragEvent(e,t){const o=this,n=o.$.tabStrip.children[o._draggedIndex],a=n.tab;let r,s,i;a?(r=a.selected,s=a.index,i=a.label):i=n.group,o.$.fireEvent(t,{position:{left:e.pageX,top:e.pageY},left:e.pageX,top:e.pageY,target:n,selected:r,index:s,label:i})}_fixTabStripNotChrome(e){const t=this;function o(){const o=[].slice.call(e.children).filter((e=>!e._lazyRemove));let n=o[0].getBoundingClientRect(),a=n.left,r=a+o[0].offsetWidth;for(let e=1;e<o.length;e++)n=o[e].getBoundingClientRect(),a=Math.min(a,n.left),r=Math.max(r,n.left+o[e].offsetWidth);e.style.width=r-a+"px",t._inlineStyleTabStrip=!0}0!==t._tabs.length&&(o(),JQX.Utilities.Core.Browser.Safari&&setTimeout((function(){e.parentElement.classList.add("jqx-hidden"),setTimeout((function(){e.parentElement.classList.remove("jqx-hidden"),o()}),10)}),10),t.$.fireEvent("tabStripResize"))}_fixTabStripFlex(e){const t=this;t._flexWritingModeNoFullSupport||"vertical"!==t.tabTextOrientation||"left"!==t.tabPosition&&"right"!==t.tabPosition||setTimeout((function(){t.$tabsHeaderSection.addClass("jqx-hidden"),setTimeout((function(){t.$tabsHeaderSection.removeClass("jqx-hidden"),t._getTabCoordinates(),"scroll"===e&&t._checkOverflowScroll()}),10)}),10)}_getCorrespondingCustomElement(e){return e.$.hasClass("jqx-tab-label-container")?e.tab:this.$.tabContentSection.querySelector('jqx-tab-items-group[label="'+e.group+'"]')}_getReorderItems(){const e=this;let t;0===e._groups.length?t=e._tabLabelContainers:(t=Array.from(e.$.tabStrip.children),e.addNewTab&&t.pop()),e._reorderItems=t}_getTabCoordinates(){const e=this;if(!e.reorder&&!e.resize||"hidden"===e.tabPosition)return;const t=[],o=window.scrollX||window.pageXOffset,n=window.scrollY||window.pageYOffset;for(let a=0;a<e._reorderItems.length;a++){const r=e._reorderItems[a],s=r.getBoundingClientRect(),i=window.getComputedStyle(r),l=parseFloat(i.marginLeft),d=parseFloat(i.marginRight),c=parseFloat(i.marginTop),b=parseFloat(i.marginBottom);t.push({fromX:s.left-l+o,toX:s.right+d+o,fromY:s.top-c+n,toY:s.bottom+b+n})}e._tabCoordinates=t}_getTabs(){const e=this;let t=e.shadowRoot?e.shadowRoot.querySelectorAll("jqx-tab-item"):e.getElementsByTagName("jqx-tab-item");if(e.querySelector("jqx-tabs")){t=e.shadowRoot?e.shadowRoot.querySelectorAll("jqx-tab-item"):e.getElementsByTagName("jqx-tab-item");let o=[];const n=e.querySelector(".jqx-tabs-content-section");if(n){for(let e=0;e<t.length;e++)t[e].parentNode===n&&o.push(t[e]);t=o}}null!==e.selectedIndex&&(0===t.length?e.selectedIndex=null:e.selectedIndex=Math.max(0,Math.min(e.selectedIndex,t.length-1))),e._tabs=Array.from(t),e.$.hiddenInput.value=e.selectedIndex}_groupContainerHandler(e,t){const o=this,n=e.dropDown;if("down"===t)return o._downTarget=e,void(o.reorder&&o._reorderItems.length>1&&(o._getTabCoordinates(),o._reordering=!0,o.setAttribute("dragged",""),o._draggedIndex=Array.from(o.$.tabStrip.children).indexOf(e)));o._reordering||o._swiping||(n===o._openDropDown||"mouseover"!==t||e.classList.contains("jqx-tab-group-selected")?"mouseout"===t&&e.removeAttribute("hover"):e.setAttribute("hover","")),"up"!==t||o._downTarget!==e||void 0!==o._reorderedIndex||o._swiping||(n===o._openDropDown?(o._closeGroupDropDown(),e.classList.contains("jqx-tab-group-selected")||e.setAttribute("hover","")):o._openGroupDropDown(e))}_handlePosition(e,t){const o=this;if(-1===[void 0,"top","left","hidden"].indexOf(t)||"bottom"!==e&&"right"!==e?"bottom"!==t&&"right"!==t||-1===["top","left","hidden"].indexOf(e)||o.$.container.insertBefore(o.$.tabsHeaderSection,o.$.tabContentSection):o.$.container.insertBefore(o.$.tabContentSection,o.$.tabsHeaderSection),"hidden"===e)return o._orientationSettings={coordinate:"pageY",dimension:"height",edge:"top",from:"fromY",size:"offsetHeight",to:"toY",scrollDirection:"scrollTop",scrollSize:"scrollHeight",startCoordinate:"startY",wheelOffset:35},o.removeAttribute("horizontal"),o.removeAttribute("vertical"),void o.setAttribute("aria-orientation","horizontal");"top"===e||"bottom"===e?(o._orientationSettings={coordinate:"pageX",dimension:"width",edge:"left",from:"fromX",size:"offsetWidth",to:"toX",scrollDirection:"scrollLeft",scrollSize:"scrollWidth",startCoordinate:"startX",wheelOffset:70},o.removeAttribute("vertical"),o.setAttribute("horizontal",""),o.$arrowNear.removeClass("jqx-arrow-up"),o.$arrowNear.addClass("jqx-arrow-left"),o.$arrowFar.removeClass("jqx-arrow-down"),o.$arrowFar.addClass("jqx-arrow-right"),o.setAttribute("aria-orientation","horizontal"),o.$.scrollButtonNear.setAttribute("aria-label","Scroll left"),o.$.scrollButtonFar.setAttribute("aria-label","Scroll right")):(o._orientationSettings={coordinate:"pageY",dimension:"height",edge:"top",from:"fromY",size:"offsetHeight",to:"toY",scrollDirection:"scrollTop",scrollSize:"scrollHeight",startCoordinate:"startY",wheelOffset:35},o.removeAttribute("horizontal"),o.setAttribute("vertical",""),o.$arrowNear.removeClass("jqx-arrow-left"),o.$arrowNear.addClass("jqx-arrow-up"),o.$arrowFar.removeClass("jqx-arrow-right"),o.$arrowFar.addClass("jqx-arrow-down"),o.setAttribute("aria-orientation","vertical"),o.$.scrollButtonNear.setAttribute("aria-label","Scroll up"),o.$.scrollButtonFar.setAttribute("aria-label","Scroll down"))}_handleScrollButtonsPosition(e,t){const o=this,n=o.$.tabsHeaderItems;e!==t&&("both"===e?"near"===t?n.insertBefore(o.$.scrollButtonFar,o.$.dropDownButton):n.insertBefore(o.$.scrollButtonNear,o.$.tabStrip):"near"===e?("far"===t&&n.insertBefore(o.$.scrollButtonNear,o.$.tabStrip),n.insertBefore(o.$.scrollButtonFar,o.$.tabStrip)):("near"===t&&n.insertBefore(o.$.scrollButtonFar,o.$.dropDownButton),n.insertBefore(o.$.scrollButtonNear,o.$.scrollButtonFar)))}_hideCloseButton(e){e.firstElementChild.children[0].$.removeClass("jqx-close-button-enabled"),e.firstElementChild.children[1].$.addClass("jqx-hidden")}_indexChangeHandler(e){const t=this,o=e.detail.oldIndex,n=Math.max(0,Math.min(e.detail.newIndex,t._tabs.length-1));if(o!==n){if(0===t._groups.length)t._reorderTabs(o,n);else{const a=e.detail.tabItem;a._setIndex(o),t.removeAt(o),t.insert(n,{node:a}),t.selectedIndex===o&&t._select(n,!1)}t._reorderedIndex=void 0}}_insertAddNewTab(){const e=this,t=e._addTabLabelContainer(void 0,!0).tabLabelContainer;t.$.addClass("jqx-add-new-tab"),e.$.tabStrip.appendChild(t),e._addNewTab=t}_insertIntoExistingGroup(e){const t=this,o=e.jqxTabItemsGroup,n=e.tab,a=e.tabLabelContainer,r=e.group,s=t._groupLabels[t._groups.indexOf(r)].dropDown;let i=e.index;i=Math.max(0,Math.min(i,o.childElementCount)),s.insertBefore(a,s.children[i]);const l=o.children[i];let d;d=l?l.index:o.children[i-1].index+1,o.insertBefore(n,l),t._tabLabelContainers.splice(d,0,a),t.$.dropDownButtonDropDown.insertBefore(e.dropDownLabelContainer,t.$.dropDownButtonDropDown.children[d]||null),t._tabs.splice(d,0,n),i=d,n.group=r,t._updateIndexes(i)}_insertIntoNewGroup(e){const t=this,o=e.tab,n=e.tabLabelContainer,a=e.group,r=t._addGroupContainer(a),s=r.label;r.dropDown.appendChild(n),t._groups.push(a);let i=Math.max(0,Math.min(e.index,t.$.tabStrip.childElementCount)),l=i;t._addNewTab&&l===t.$.tabStrip.childElementCount&&l--,t.$.tabStrip.insertBefore(s,t.$.tabStrip.children[l]||null),t._groupLabels.push(s);const d=document.createElement("jqx-tab-items-group");d.appendChild(o),t.$.tabContentSection.insertBefore(d,t.$.tabContentSection.children[i]),d.label=a;const c=d.previousElementSibling;let b=0;c&&(c instanceof JQX.TabItem?b=c.index+1:c&&(b=c.lastElementChild.index+1)),t._tabLabelContainers.splice(b,0,n),t.$.dropDownButtonDropDown.insertBefore(e.dropDownLabelContainer,t.$.dropDownButtonDropDown.children[b]||null),t._tabs.splice(b,0,o),i=b,o.group=a,t._updateIndexes(i)}_insertNearAGroup(e){const t=this,o=e.tab,n=e.tabLabelContainer;let a=e.index;a=Math.max(0,Math.min(a,t._tabs.length));const r=t._tabs[a-1],s=t._tabs[a],i=s?s.group:void 0;r&&null!==r.group&&s&&null!==i?(s.tabLabelContainer.parentElement.insertBefore(n,s.tabLabelContainer),s.parentElement.insertBefore(o,s),o.group=i):s?null!==i?(t.$.tabStrip.insertBefore(n,t._groupLabels[t._groups.indexOf(i)]),t.$.tabContentSection.insertBefore(o,t.$.tabContentSection.querySelector('jqx-tab-items-group[label="'+i+'"]'))):(t.$.tabStrip.insertBefore(n,s.tabLabelContainer),t.$.tabContentSection.insertBefore(o,s)):(t.$.tabStrip.insertBefore(n,t._addNewTab||null),t.$.tabContentSection.appendChild(o)),t._tabLabelContainers.splice(a,0,n),t.$.dropDownButtonDropDown.insertBefore(e.dropDownLabelContainer,t.$.dropDownButtonDropDown.children[a]||null),t._tabs.splice(a,0,o),t._updateIndexes(a)}_insertNoGrouping(e){const t=this,o=Math.max(0,Math.min(e.index,t._tabs.length)),n=e.tab,a=e.tabLabelContainer;t.$.tabStrip.insertBefore(a,t._tabLabelContainers[o]||t._addNewTab||null),t.$.tabContentSection.insertBefore(n,t._tabs[o]||null),t._tabLabelContainers.splice(o,0,a),t.$.dropDownButtonDropDown.insertBefore(e.dropDownLabelContainer,t.$.dropDownButtonDropDown.children[o]||null),t._tabs.splice(o,0,n),t._updateIndexes(o)}_keydownHandler(e){const t=this,o=e.key;if((t.isInShadowDOM?t.getRootNode().activeElement:document.activeElement)!==t||-1===["ArrowLeft","ArrowDown","ArrowRight","ArrowUp","End","Home","Enter"," ","Escape"].indexOf(o)||t.disabled||t.readonly||"none"===t.selectionMode||!t.allowToggle&&null===t.selectedIndex||t._reordering||t._swiping)return;e.preventDefault();const n=t._tabs.length-1;let a,r,s,i,l=0;switch(t.rightToLeft?(s="ArrowRight",i="ArrowLeft"):(s="ArrowLeft",i="ArrowRight"),o){case s:case"ArrowUp":if(t.collapsible&&e.ctrlKey)return void(o===s?"right"===t.tabPosition?t.expand():"left"===t.tabPosition&&t.collapse():"ArrowUp"===o&&("bottom"===t.tabPosition?t.expand():"top"===t.tabPosition&&t.collapse()));if(l=-1,0===t.selectedIndex){r=!0;break}a=t.selectedIndex+l;break;case i:case"ArrowDown":if(t.collapsible&&e.ctrlKey)return void(o===i?"right"===t.tabPosition?t.collapse():"left"===t.tabPosition&&t.expand():"ArrowDown"===o&&("bottom"===t.tabPosition?t.collapse():"top"===t.tabPosition&&t.expand()));if(l=1,t.selectedIndex===n){r=!0;break}a=t.selectedIndex+l;break;case"End":if(t.selectedIndex===n){r=!0;break}a=n;break;case"Home":if(0===t.selectedIndex){r=!0;break}a=0;break;case"Enter":case" ":if(!t.allowToggle)return;if(t._focusedItem){t.select(t._focusedItem.index);const e=t._focusedItem.tabLabelContainer.closest(".jqx-tab-group-drop-down");e&&t._openGroupDropDown(e.groupContainer)}return;case"Escape":return void(t._openDropDown&&t._closeGroupDropDown())}if(t.allowToggle&&t._tabs.length>0){t._focusedItem?t._focusedItem.tabLabelContainer.removeAttribute("focus"):t._focusedItem=t._focusedItem||t._tabs[t.selectedIndex]||t._tabs[0],t._focusedItem=t._tabs[Math.min(Math.max(0,t._focusedItem.index+l),n)],t._focusedItem.tabLabelContainer.setAttribute("focus",""),t.ensureVisible(t._focusedItem.index);const e=t._focusedItem.tabLabelContainer.closest(".jqx-tab-group-drop-down");e&&e.groupContainer?(t._openDropDown&&t._openDropDown!==e.dropDown&&t._closeGroupDropDown(),t._openGroupDropDown(e.groupContainer)):t._openDropDown&&t._closeGroupDropDown()}else r||t.select(a)}_labelContainerHandler(e,t,o){const n=this,a="up"===o&&n._downTarget===e;if("down"===o&&(n._downTarget=e,"click"===n.selectionMode&&e!==n._addNewTab))if(JQX.Utilities.Core.isMobile&&null===e.tab.group){const o=n.$.tabStrip[n._orientationSettings.scrollDirection];setTimeout((function(){o===n.$.tabStrip[n._orientationSettings.scrollDirection]&&n._ripple(t,e)&&n._openDropDown&&n._openDropDown.contains(e)&&(n._openDropDown.rippleInProgress=!0)}),100)}else n._ripple(t,e)&&n._openDropDown&&n._openDropDown.contains(e)&&(n._openDropDown.rippleInProgress=!0);if(e===n._addNewTab)return void n._addNewTabHandler(e,o,a);const r=e.tab.index,s=!(n._reordering&&void 0!==n._reorderedIndex);a&&r===n.selectedIndex&&(n._closeGroupDropDown(),s&&null===e.tab.group&&n._toggleCollapsedState()),!n._swiping&&(s&&"click"===n.selectionMode&&a||!n._reordering&&(n.selectionMode===o||"mouseenter"===n.selectionMode&&"mouseover"===o))&&n._select(r,!0),n._reordering||n._swiping||"click"!==n.selectionMode&&"dblclick"!==n.selectionMode||("mouseover"!==o||e.hasAttribute("selected")?"mouseout"===o&&e.removeAttribute("hover"):e.setAttribute("hover","")),n.reorder&&"down"===o&&null===e.tab.group&&n._reorderItems.length>1&&(n._getTabCoordinates(),n._reordering=!0,n.setAttribute("dragged",""),e.hasAttribute("hover")&&(n._draggedHoveredTab=e),0===n._groups.length?n._draggedIndex=e.tab.index:n._draggedIndex=Array.from(n.$.tabStrip.children).indexOf(e))}_labelSizeChangeHandler(e){const t=this,o=e.detail.size;let n;"shrink"!==t.tabLayout&&(n=e.target instanceof JQX.TabItem?e.target.tabLabelContainer:t._groupLabels[t._groups.indexOf(e.target.label)],null!==o?n.style[t._orientationSettings.dimension]=parseInt(o,10)+"px":n.style.removeProperty(t._orientationSettings.dimension),t._applyTabOverflow())}_openGroupDropDown(e){const t=this;e&&(t._openDropDown&&t._openDropDown.$.addClass("jqx-hidden"),e.dropDown.$.removeClass("jqx-hidden"),t._positionGroupDropDown(e),t._openDropDown=e.dropDown,e.removeAttribute("hover"),e.setAttribute("aria-expanded",!0))}_orderTabs(){const e=this,t=[],o=[];let n=!0,a=!1;if(0===e.getElementsByTagName("jqx-tab-items-group").length)for(let r=0;r<e._tabs.length;r++){const s=e._tabs[r],i=s.index;if(n&&null!==i&&(n=!1),-1!==t.indexOf(i||0)&&(a=!0,null!==i))break;t.push(i||0),o.push({tab:s,index:i})}if(!a){const e=t.slice(0).sort((function(e,t){return e-t}));JSON.stringify(t)===JSON.stringify(e)&&(n=!0)}if(n||a){n||e.warn(e.localize("ambiguousIndexes"));for(let t=0;t<e._tabs.length;t++)e._tabs[t]._setIndex(t)}else{o.sort((function(e,t){return e.index-t.index}));for(let t=0;t<o.length;t++){const n=o[t].tab;n._setIndex(t),e.$.tabContentSection.removeChild(n)}for(let t=0;t<o.length;t++){const n=o[t].tab;e.$.tabContentSection.appendChild(n),e._tabs[t]=n}}}_populateTabStrip(){const e=this,t=document.createDocumentFragment(),o=[],n=[],a=[];let r=null;for(let s=0;s<e._tabs.length;s++){const i=e._tabs[s],l=i.parentElement,d=l instanceof JQX.TabItemsGroup?l.label:null;i.group=d;const c=e._addTabLabelContainer(i),b=c.tabLabelContainer,p=c.dropDownLabelContainer;e.selectedIndex===s&&(b.$.addClass("jqx-tab-selected"),b.setAttribute("selected",""),r=b),i.tabLabelContainer=b,b.tab=i,o.push(b),e._setAriaRelations(i,b,p),null===d?t.appendChild(b):e._addGroupElements({documentFragment:t,groups:n,groupLabels:a,i:s,group:d,tabLabelContainer:b,jqxTabItemsGroup:l}),e.$.dropDownButtonDropDown.appendChild(p)}e.$.tabStrip.appendChild(t),e._tabLabelContainers=o,e._groups=n,e._groupLabels=a,e._positionTabSelectionBar(r,!0)}_setAriaRelations(e,t,o){const n=this.id;e.id||(e.id=n+"TabItem"+e.index),t.id||(t.id=n+"TabLabelContainer"+e.index),t.setAttribute("role","tab"),t.setAttribute("aria-controls",e.id),t.setAttribute("aria-label",e.label),t.setAttribute("aria-selected",e.selected),e.setAttribute("aria-label",e.label),o.setAttribute("role","menuitem"),o.setAttribute("aria-controls",e.id)}_positionTabSelectionBar(e,t){const o=this;if(!e)return;const n=o.tabPosition;let a,r,s,i;if(t&&(o.$.tabSelectionBar.style.transition="none"),e.tab.group&&(e=o._groupLabels[o._groups.indexOf(e.tab.group)]),"top"===n||"bottom"===n){if("wrap"===o.tabLayout?(r=e.offsetTop,"top"===n&&(r+=e.offsetHeight-o.$.tabSelectionBar.offsetHeight),r+="px"):r=null,i=null,o.rightToLeft&&"horizontal"===o.tabTextOrientation)if(JQX.Utilities.Core.Browser.Chrome){const t=o.$.tabStrip;a=-(t.scrollLeft-(t.scrollWidth-t.offsetWidth))+e.offsetLeft+"px"}else a=-o.$.tabStrip.scrollLeft+e.offsetLeft+"px";else a=-o.$.tabStrip.scrollLeft+e.offsetLeft+"px";s=e.offsetWidth+"px"}else"left"!==n&&"right"!==n||("wrap"===o.tabLayout?(a=e.offsetLeft,"left"===n&&(a+=e.offsetWidth-o.$.tabSelectionBar.offsetWidth),a+="px"):a=null,s=null,r=-o.$.tabStrip.scrollTop+e.offsetTop+"px",i=e.offsetHeight+"px");function l(){o.$.tabSelectionBar.style.top=r,o.$.tabSelectionBar.style.height=i,o.$.tabSelectionBar.style.left=a,o.$.tabSelectionBar.style.width=s}JQX.Utilities.Core.isMobile&&o.hasAnimation&&!t?requestAnimationFrame((function(){requestAnimationFrame(l)})):l(),t&&!o._tabPositionChanging&&requestAnimationFrame((()=>o.$.tabSelectionBar.style.transition=null))}_positionGroupDropDown(e){const t=this,o=t.tabPosition,n=e.dropDown,a=window.getComputedStyle(t.$.tabsHeaderSection),r=parseFloat(a[t.rightToLeft?"paddingRight":"paddingLeft"]),s=parseFloat(a.paddingTop);if("top"===o||"bottom"===o){const a=!1;if(t.rightToLeft?n.style.left=e.offsetLeft-t._getScrollLeft()-r-n.offsetWidth+e.offsetWidth+"px":n.style.left=e.offsetLeft-t.$.tabStrip.scrollLeft+r+"px","top"===o)a||(n.style.top=e.offsetTop+e.offsetHeight+s+"px");else{let o=e.getBoundingClientRect().top-t.$.container.getBoundingClientRect().top+s;a&&(o+=t.$.tabStrip.offsetHeight),n.style.top=o+"px"}}else n.style.top=e.offsetTop-t.$.tabStrip.scrollTop+s+"px",n.style.left="left"===o?e.offsetLeft+e.offsetWidth+r+"px":e.getBoundingClientRect().left-t.$.container.getBoundingClientRect().left+r+"px"}_processDataSource(){const e=this,t=e.dataSource;function o(e,t){let n;if(Array.isArray(e.items)&&e.items.length>0){n=document.createElement("jqx-tab-items-group");for(let t=0;t<e.items.length;t++)e.items[t].items||o(e.items[t],n)}else n=document.createElement("jqx-tab-item"),!0===e.closeButtonHidden&&(n.closeButtonHidden=!0),void 0!==e.content&&(n.innerHTML=e.content),void 0!==e.index&&(n.index=e.index),!0===e.selected&&(n.selected=e.selected);void 0!==e.label&&(n.label=e.label),void 0!==e.labelSize&&(n.labelSize=e.labelSize),t.appendChild(n)}if(e.$.tabContentSection.innerHTML="",null!==t)for(let n=0;n<t.length;n++)o(t[n],e.$.tabContentSection)}_processHTML(){const e=this;e._getTabs(),e._orderTabs(),e._validateInitialSelection(),e._populateTabStrip(),e.addNewTab&&e._insertAddNewTab(),e._getReorderItems(),e._applyTabOverflow(),e.ensureVisible(e.selectedIndex),e.$.hiddenInput.value=e.selectedIndex}_removeInlineStyle(){const e=this,t=e.$.tabStrip;if(e._inlineStyleTabStripChildren){const o=t.children;for(let e=0;e<o.length;e++)o[e].removeAttribute("style"),o[e].firstElementChild.firstElementChild.classList.remove("jqx-tab-label-text-container-full-height");delete e._inlineStyleTabStripChildren}e._inlineStyleTabStrip&&(t.removeAttribute("style"),delete e._inlineStyleTabStrip),t.$.removeClass("shrink-tabs"),t.$.removeClass("shrink-tabs-vertical")}_reorderTabs(e,t){function o(e,t,o){const n=e[t];e.splice(t,1),e.splice(o,0,n)}const n=this,a=n.$.tabStrip[n._orientationSettings.scrollDirection];if(0===n._groups.length){const a=n._tabs,r=n._tabLabelContainers,s=e>t?t:t+1;let i;n.selectedIndex===e?n.selectedIndex=t:n.selectedIndex<=t&&n.selectedIndex>e?n.selectedIndex--:n.selectedIndex>=t&&n.selectedIndex<e&&n.selectedIndex++,i=r[s]?r[s]:n.addNewTab?n._addNewTab:null,n.$.tabStrip.insertBefore(r[e],i),n.$.dropDownButtonDropDown.insertBefore(n.$.dropDownButtonDropDown.children[e],n.$.dropDownButtonDropDown.children[s]||null),n.$.tabContentSection.insertBefore(a[e],a[s]||null),o(a,e,t),o(r,e,t),n._updateTabIndexes()}else n._reorderTabsGrouping(e,t);n.$.tabStrip[n._orientationSettings.scrollDirection]=a,n.$.fireEvent("reorder",{index:t,oldIndex:e,newIndex:t,originalIndex:e}),n._reorderedIndex=t,n._positionTabSelectionBar(n._tabLabelContainers[n.selectedIndex],!0),n.$.hiddenInput.value=n.selectedIndex}_reorderTabsGrouping(e,t){const o=this,n=o.$.tabStrip.children,a=o.$.tabContentSection.children,r=e>t?t:t+1,s=o._tabs[o.selectedIndex];o.$.tabStrip.insertBefore(n[e],n[r]||null),o.$.tabContentSection.insertBefore(a[e],a[r]||null),o._groupLabels=Array.from(o.$.tabStrip.getElementsByClassName("jqx-tab-group-container")),o._groups=[];for(let e=0;e<o._groupLabels.length;e++)o._groups.push(o._groupLabels[e].group);o._tabs=Array.from(o.$.tabContentSection.getElementsByTagName("jqx-tab-item"));const i=document.createDocumentFragment();let l=[];for(let e=0;e<o._tabs.length;e++)i.appendChild(o.$.dropDownButtonDropDown.children[o._tabs[e].index].cloneNode(!0));o.$.dropDownButtonDropDown.innerHTML="",o.$.dropDownButtonDropDown.appendChild(i);for(let e=0;e<o.$.tabStrip.childElementCount;e++){const t=o.$.tabStrip.children[e];t.$.hasClass("jqx-tab-label-container")&&t!==o._addNewTab?l.push(t):t.$.hasClass("jqx-tab-group-container")&&(l=l.concat(Array.from(t.dropDown.children)))}o._tabLabelContainers=l,o._updateTabIndexes(),s&&(o.selectedIndex=s.index)}_resize(e){const t=this;if(!t._resizing)return;const o=t._orientationSettings,n=e[o.coordinate]-t._resizeFrom,a=t._getCorrespondingCustomElement(t._tabToResize);let r;r=null===a.labelSize?t._tabToResize[o.size]:a.labelSize;const s=Math.max(10,r+n);s!==r&&(a._preventPropertyChangedHandler=!0,a.labelSize=s,t._tabToResize.style[o.dimension]=parseInt(s,10)+"px"),t.$resizeToken.addClass("jqx-hidden"),t._applyTabOverflow(),t._resizing=!1,t.removeAttribute("resizing")}_ripple(e,t){if(this.hasRippleAnimation){const o=document.createElement("div");return o.className="ripple-agent",t.firstElementChild.appendChild(o),setTimeout((function(){t.firstElementChild.removeChild(o)}),1e3),JQX.Utilities.Animation.Ripple.animate(o,e.pageX,e.pageY),!0}}_scrollButtonClickHandler(e){const t=this,o=t.$.tabStrip;let n=e.target.closest("jqx-repeat-button")===t.$.scrollButtonNear?-1:1;if("paging"===t.scrollMode){const a=t._orientationSettings,r={};return t._dragStartDetails={startX:0,startY:0,pageX:0,pageY:0,startTime:Date.now(),target:e.target},t._wheelInProgress=!0,r[a.coordinate]=-n*(o[a.size]/1.1428571428571428),void t._endSwiping(r,t._dragStartDetails.startTime+175)}t.hasAttribute("horizontal")?o.scrollLeft+=10*n:o.scrollTop+=10*n,t._updateScrollButtonVisibility(!0)}_getScrollLeft(e){const t=this,o=t.$.tabStrip;return void 0===e?t.rightToLeft&&JQX.Utilities.Core.Browser.Chrome?o.scrollLeft-(o.scrollWidth-o.offsetWidth):o.scrollLeft:(!t.rightToLeft||"top"!==t.tabPosition&&"bottom"!==t.tabPosition||(JQX.Utilities.Core.Browser.Chrome?e=o.scrollWidth-o.offsetWidth-e:e*=-1),e)}_select(e,t,o){const n=this,a=n.hasAnimation;void 0===o&&(o=n.selectedIndex);const r=n._tabs[e];if(!r||r.disabled||e===o&&(!n.allowToggle||n.allowToggle&&"mouseenter"===n.selectionMode))n.$.hiddenInput.value=n.selectedIndex;else{if(n._focusedItem&&n._focusedItem.tabLabelContainer.removeAttribute("focus"),null!==o){const t=n._tabs[o];a?n._animateSelection(r,t,e>o):t.$.addClass("jqx-visibility-hidden"),t.selected=!1,n._tabLabelContainers[o].$.removeClass("jqx-tab-selected"),n._tabLabelContainers[o].removeAttribute("selected"),n.closeButtons&&"selected"===n.closeButtonMode&&n._disableCloseButton(o)}null!==e&&(n._tabLabelContainers[e].removeAttribute("hover"),n.closeButtons&&"selected"===n.closeButtonMode&&n._enableCloseButton(e)),!n.allowToggle||null!==e&&(void 0!==arguments[2]?o:n.selectedIndex)!==e?(r.selected=!0,n.$.tabContentSection.removeAttribute("show-placeholder"),null!==o&&a||r.$.removeClass("jqx-visibility-hidden"),n.selectedIndex=e,n._focusedItem=n._tabs[e],n._focusedItem.tabLabelContainer.$.addClass("jqx-tab-selected"),n._focusedItem.tabLabelContainer.setAttribute("selected",""),n._positionTabSelectionBar(n._focusedItem.tabLabelContainer,null===o)):(n.selectedIndex=null,n.$.tabContentSection.setAttribute("show-placeholder",""),n.allowToggle&&(n._focusedItem=n._tabs[null===e?o:e],n._focusedItem&&n._focusedItem.tabLabelContainer.setAttribute("focus",""))),t&&(n.$.hiddenInput.value=n.selectedIndex,n.$.fireEvent("change",{index:n.selectedIndex,oldIndex:o})),n._closeGroupDropDown(),r&&null!==r.group?(n._selectedGroup&&n._selectedGroup.$.removeClass("jqx-tab-group-selected"),null!==n.selectedIndex&&(n._selectedGroup=n._groupLabels[n._groups.indexOf(r.group)],n._selectedGroup.$.addClass("jqx-tab-group-selected"))):n._selectedGroup&&(n._selectedGroup.$.removeClass("jqx-tab-group-selected"),delete n._selectedGroup),n.$.hiddenInput.value=n.selectedIndex}}_selectStartHandler(e){(this._reordering||this._resizing)&&e.preventDefault()}_setLabel(e,t,o){const n=e?document.getElementById(e):null;if(null!==n&&"template"===n.tagName.toLowerCase()){const e=document.importNode(n.content,!0);if(t.appendChild(e),o){const e=document.importNode(n.content,!0);o.appendChild(e)}}else""===e&&(e="&nbsp;"),t.innerHTML=e,o&&(o.innerHTML=e)}_showCloseButton(e){e.closeButtonEnabled&&(e.firstElementChild.children[0].$.addClass("jqx-close-button-enabled"),e.firstElementChild.children[1].$.removeClass("jqx-hidden"))}_tabContentSectionTransitionendHandler(e){const t=this,o=e.target;o instanceof JQX.TabItem&&(o===t._animatedOldTab?(o.$.addClass("jqx-hidden"),o.$.removeClass("animate"),o.$.removeClass(t._animatedOldTab.classToRemove),o.$.removeClass("jqx-hidden"),delete t._animatedOldTab):o===t._animatedTab&&(o.$.removeClass("animate"),delete t._animatedTab),o.classList.remove("left"),o.classList.remove("right"),o.classList.remove("top"),o.classList.remove("bottom"))}_tabsHeaderItemsWheelHandler(e){const t=this;if(!t.enableMouseWheelAction||t.disabled)return;const o=t.$.tabStrip,n=t._orientationSettings,a=o[n.size],r=o[n.scrollSize],s=o[n.scrollDirection],i=e.deltaY;if(a===r||0===s&&i<0||s+a===r&&i>0)return;if(e.preventDefault(),t._wheelInProgress)return;t._dragStartDetails={startX:e.pageX,startY:e.pageY,pageX:e.pageX,pageY:e.pageY,startTime:Date.now(),target:e.target},t._wheelInProgress=!0;const l={};l[n.coordinate]=e[n.coordinate]+(e.deltaY>0?-1:1)*n.wheelOffset,t._endSwiping(l,t._dragStartDetails.startTime+100)}_tabStripHandler(e,t){const o=this,n=t.type;if("down"===n&&void 0!==o._tabToResize)return o._resizing=!0,void(o._tabsHeaderSectionCoordinate=o.$.tabsHeaderSection.getBoundingClientRect()[o._orientationSettings.edge]);"down"===n&&JQX.Utilities.Core.isMobile&&(o._dragStartDetails={startX:t.pageX,startY:t.pageY,pageX:t.pageX,pageY:t.pageY,startTime:Date.now(),originalTime:Date.now(),target:t.originalEvent.target});const a=e.closest("jqx-repeat-button");if("up"===n&&a)return o.focus(),void(o.resize&&o._getTabCoordinates());if(e.classList.contains("jqx-tab-close-button"))if("up"===n){if(e===o._downTarget){const t=e.parentElement.parentElement.tab.index;return void(o.$.fireEvent("closing",{index:t}).defaultPrevented||(o.removeAt(t),o.$.fireEvent("close",{index:t})))}}else{if("down"===n)return void(o._downTarget=e);o._reordering||o._swiping||("mouseover"===n?e.setAttribute("hover",""):"mouseout"===n&&e.removeAttribute("hover"))}const r=e.closest(".jqx-tab-label-container");if(null!==r)return void(t.originalEvent&&"pointercancel"===t.originalEvent.type?r.tab.group&&delete r.parentElement.rippleInProgress:o._labelContainerHandler(r,t,n));const s=e.closest(".jqx-tab-group-container");null!==s&&o._groupContainerHandler(s,n)}_tabStripMouseleaveHandler(){const e=this;e.resize&&!e._resizing&&e.hasAttribute("resizing")&&e.removeAttribute("resizing")}_tabStripMoveHandler(e){const t=this;if(t._dragStartDetails&&!t._dragStartDetails.checked&&(Date.now()-t._dragStartDetails.originalTime<500?(t._endReordering(void 0,void 0),t._dragStartDetails.checked=!0):delete t._dragStartDetails),t._dragStartDetails&&(Math.abs(t._dragStartDetails.pageX-e.pageX)>=5||Math.abs(t._dragStartDetails.pageY-e.pageY)>=5)){const o=t._orientationSettings,n=t._dragStartDetails[o.coordinate]-e[o.coordinate],a=t.$.tabStrip[o.scrollDirection];return t.$.tabStrip[o.scrollDirection]+=n,a!==t.$.tabStrip[o.scrollDirection]&&t._updateScrollButtonVisibility(),t._dragStartDetails={startX:t._dragStartDetails.startX,startY:t._dragStartDetails.startY,pageX:e.pageX,pageY:e.pageY,startTime:t._dragStartDetails.startTime,originalTime:t._dragStartDetails.originalTime,target:e.originalEvent.target,checked:t._dragStartDetails.checked},void(t._swiping=!0)}if(!t.resize||t._resizing||t._reordering||"shrink"===t.tabLayout)return;const o=t._orientationSettings,n=e[o.coordinate],a=t._tabCoordinates;let r;for(let e=0;e<a.length;e++){const s=a[e][o.to];if(n>=s-4&&n<=s+4){r=t._reorderItems[e],t._resizeFrom=n;break}}void 0!==r?(t._tabToResize=r,t.setAttribute("resizing","")):(t._tabToResize=void 0,t.removeAttribute("resizing"))}_tabStripTouchmoveHandler(e){const t=this;if(t._touchmoveInside&&e.cancelable)return e.preventDefault(),void e.stopPropagation();const o=t.$.tabStrip,n=t._orientationSettings,a=o[n.size],r=o[n.scrollSize],s=t._touchCoords;if(a===r||!s)return;const i=e.touches[0],l=o[n.scrollDirection],d=i[n.coordinate],c=parseFloat(d.toFixed(5)),b=s["pageY"===n.coordinate?1:0],p=parseFloat(b.toFixed(5));t._touchCoords=[i.pageX,i.pageY],0===l&&c>=p||l+a===r&&c<=p||(d!==b&&(t._touchmoveInside=!0),e.cancelable&&(e.preventDefault(),e.stopPropagation()))}_tabStripTouchstartHandler(e){const t=e.touches[0];this._touchCoords=[t.pageX,t.pageY]}_toggleCollapsedState(){const e=this;e.collapsible&&(e.collapsed?e.expand():e.collapse())}_toggleNavigationElementsVisibility(){const e=this,t=e._tabs.length;let o;if(0===t)o="addClass";else{if(1!==t)return;o="removeClass"}"scroll"===e.tabLayout&&"scroll"===e.overflow?(e.$scrollButtonNear[o]("jqx-hidden"),e.$scrollButtonFar[o]("jqx-hidden")):"dropDown"===e.tabLayout&&e.$dropDownButton[o]("jqx-hidden")}_updateIndexes(e){const t=this;null!==t.selectedIndex&&e<=t.selectedIndex&&t.selectedIndex++,t._updateTabIndexes()}_updateScrollButtonVisibility(e){const t=this;if("scroll"!==t.tabLayout||"hidden"===t.overflow)return void t._positionTabSelectionBar(t._tabLabelContainers[t.selectedIndex],e);const o=t.$tabsHeaderSection,n=t.$.tabStrip,a=t._orientationSettings;let r=!0,s=!0;if(t.rightToLeft&&"scrollLeft"===a.scrollDirection){const e=Math.abs(t._getScrollLeft());0===Math.round(e)&&(s=!1),Math.round(n[a.size]+e)>=Math.round(n[a.scrollSize])-1&&(r=!1)}else 0===Math.round(n[a.scrollDirection])&&(r=!1),Math.round(n[a.size]+n[a.scrollDirection])>=Math.round(n[a.scrollSize])-1&&(s=!1);if("auto"===t.overflow){if(r&&s)return t.$scrollButtonNear.removeClass("jqx-hidden"),t.$scrollButtonFar.removeClass("jqx-hidden"),o.removeClass("one-button-shown"),void(t._tabLabelContainers[t.selectedIndex]&&t._positionTabSelectionBar(t._tabLabelContainers[t.selectedIndex],e));r?t.$scrollButtonNear.removeClass("jqx-hidden"):t.$scrollButtonNear.addClass("jqx-hidden"),s?t.$scrollButtonFar.removeClass("jqx-hidden"):t.$scrollButtonFar.addClass("jqx-hidden"),o.addClass("one-button-shown"),t._getTabCoordinates()}else"scroll"!==t.overflow||t.disabled||(t.$.scrollButtonNear.disabled=!r,t.$.scrollButtonFar.disabled=!s);t._tabLabelContainers[t.selectedIndex]&&t._positionTabSelectionBar(t._tabLabelContainers[t.selectedIndex],e)}_updateTabIndexes(){const e=this;if(e._tabs.length>0)for(let t=0;t<e._tabs.length;t++)e._tabs[t]._setIndex(t);else e.selectedIndex=null;e.$.hiddenInput.value=e.selectedIndex}_updateTabLabel(e,t){const o=this,n=e.index,a=o._tabLabelContainers[n].firstElementChild.children[0],r=o.$.dropDownButtonDropDown.children[n];e.set("label",t),a.innerHTML="",r.innerHTML="",o._setLabel(t,a,r),o._applyTabOverflow(),e.setAttribute("aria-label",t),e.tabLabelContainer&&e.tabLabelContainer.setAttribute("aria-label",t)}_validateIndex(e,t){if(isNaN(parseInt(e,10))||"object"==typeof e){const e=this;e.error(e.localize("invalidIndex",{method:t}))}}_validateInitialSelection(){const e=this;let t=e.selectedIndex;for(let o=0;o<e._tabs.length;o++){const n=e._tabs[o];t===o?(n.selected=!0,n.$.removeClass("jqx-visibility-hidden")):n.selected?null===t?(t=o,n.$.removeClass("jqx-visibility-hidden")):(n.selected=!1,n.$.addClass("jqx-visibility-hidden")):n.$.addClass("jqx-visibility-hidden")}e._tabs.length>0&&null===t&&!e.allowToggle&&(t=0,e._tabs[0].selected=!0,e._tabs[0].$.removeClass("jqx-visibility-hidden")),e.selectedIndex=t,null!==e.selectedIndex&&(e._focusedItem=e._tabs[e.selectedIndex])}});

/***/ }),

/***/ 1419:
/***/ (() => {

JQX("jqx-time-picker",class extends JQX.BaseElement{static get properties(){return{autoSwitchToMinutes:{value:!1,type:"boolean"},footer:{value:!1,type:"boolean"},footerTemplate:{value:null,type:"any?"},format:{value:"12-hour",allowedValues:["12-hour","24-hour"],type:"string"},minuteInterval:{value:1,type:"number"},name:{value:"",type:"string"},selection:{value:"hour",allowedValues:["hour","minute"],type:"string"},value:{value:new Date,type:"any",reflectToAttribute:!1},view:{value:"portrait",allowedValues:["landscape","portrait"],type:"string"}}}static get listeners(){return{keydown:"_keydownHandler",resize:"_resizeHandler","header.click":"_headerClickHandler","picker.down":"_pickerDownHandler","picker.move":"_pickerMoveHandler","document.move":"_documentMoveHandler","document.up":"_documentUpHandler"}}static get requires(){return{"JQX.Utilities.NumericProcessor":"jqx.numeric.js","JQX.Utilities.BigNumber":"jqx.math.js","JQX.Utilities.Draw":"jqx.draw.js"}}static get styleUrls(){return["jqx.timepicker.css"]}template(){return'<div id="container" role="presentation">\n                <div id="header" class="jqx-header jqx-unselectable" role="heading" aria-level="1">\n                    <div id="hourMinuteContainer" class="jqx-hour-minute-container">\n                        <div id="hourContainer" class="jqx-hour-container" role="button"></div>\n                        <div role="presentation">:</div>\n                        <div id="minuteContainer" class="jqx-minute-container" role="button"></div>\n                    </div>\n                    <div id="ampmContainer" class="jqx-am-pm-container" role="presentation">\n                        <div id="amContainer" class="jqx-am-container" role="button">AM</div>\n                        <div id="pmContainer" class="jqx-pm-container" role="button">PM</div>\n                    </div>\n                </div>\n                <div id="main" class="jqx-main-container">\n                    <div id="svgContainer" class="jqx-svg-container">\n                        <div id="picker" class="jqx-svg-picker" role="slider"></div>\n                    </div>\n                    <div id="footer" class="jqx-footer"></div>\n                </div>\n                <input id="hiddenInput" type="hidden" name="[[name]]">\n            </div>'}ready(){super.ready()}render(){this._createElement(),super.render()}setHours(e){const t=this;(e=24===e?0:Math.max(0,Math.min(e,23)))<12?t._selectAmPm("am"):t._selectAmPm("pm"),"12-hour"===t.format&&(0===e?e=12:e>12&&(e-=12)),t._updateHours(e,arguments[1]),"hour"===t.selection&&(t._inInnerCircle="24-hour"===t.format&&(0===e||e>12),t._drawArrow(!0,e,arguments[2]),t.hasAnimation||(t._inInnerCircle=!1))}setMinutes(e){const t=this;e=60===e?0:Math.max(0,Math.min(e,59)),t._updateMinutes(e),"minute"===t.selection&&t._drawArrow(!0,e,arguments[1])}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const n=this;switch(e){case"disabled":case"unfocusable":n._setFocusable();break;case"footer":case"view":n._resizeHandler();break;case"footerTemplate":n._validateFooterTemplate();break;case"format":{let e=n.value.getHours();"12-hour"===a?(n.$ampmContainer.removeClass("jqx-hidden"),n.value.getHours()<12?n._selectAmPm("am"):n._selectAmPm("pm"),0===e?e=12:e>12&&(e-=12)):n.$ampmContainer.addClass("jqx-hidden"),n.$.hourContainer.innerHTML=e,"hour"===n.selection&&(n.$.picker.setAttribute("aria-valuenow",e),n._draw.clear(),n._renderSVG());break}case"minuteInterval":{const e=Math.max(1,Math.min(a,60));e!==a&&(n.minuteInterval=e),"minute"===n.selection&&(n.interval=e);break}case"selection":"hour"===a?n._changeToHourSelection():n._changeToMinuteSelection();break;case"value":{n._oldValue=t,n._validateValue();const e=n.value.getHours()===t.getHours(),a=n.value.getMinutes()===t.getMinutes();e&&a||(a?n.setHours(n.value.getHours()):(e||n.setHours(n.value.getHours(),!0),n.setMinutes(n.value.getMinutes()))),delete n._oldValue;break}}}_applyInitialSettings(){const e=this,t=e.value;let a,n;a=t.getHours(),n=t.getMinutes(),"12-hour"===e.format?a<12?(e._ampm="am",e.$amContainer.addClass("jqx-selected"),0===a&&(a=12)):(e._ampm="pm",e.$pmContainer.addClass("jqx-selected"),a>12&&(a-=12)):e.$ampmContainer.addClass("jqx-hidden"),n=n.toString(),1===n.length&&(n="0"+n),e.$.hourContainer.innerHTML=a,e.$.minuteContainer.innerHTML=n,"hour"===e.selection?(e.$hourContainer.addClass("jqx-selected"),e.$.picker.setAttribute("aria-valuenow",a)):(e.$minuteContainer.addClass("jqx-selected"),e.$.picker.setAttribute("aria-valuenow",n))}_changeSelection(e,t){const a=this,n=e.pageX,r=e.pageY,i=a._getCenterCoordinates(),s=Math.sqrt(Math.pow(i.x-n,2)+Math.pow(i.y-r,2));if(a._measurements.center=i,"down"===e.type){if(s>a._measurements.radius)return void e.stopPropagation();a._dragging=!0}"24-hour"===a.format&&"hour"===a.selection&&s<a._measurements.radius-50?a._inInnerCircle=!0:a._inInnerCircle=!1;let o=-1*Math.atan2(r-i.y,n-i.x)*180/Math.PI;o<0&&(o+=360),a._angle=o;let l=a._numericProcessor.getValueByAngle(a._angle);"hour"===a.selection?("24-hour"===a.format&&a._inInnerCircle?0!==l&&12!==l?l+=12:l=0:0===l&&(l=12),a._updateHours(l)):(60===l&&(l=0),a._updateMinutes(l)),void 0!==a._oldTimePart&&(cancelAnimationFrame(a._animationFrameId),delete a._animationFrameId,a._drawArrow(!0,l,t))}_changeToHourSelection(){const e=this,t=e._centralCircle.parentElement||e._centralCircle.parentNode;let a=e.value.getHours();cancelAnimationFrame(e._animationFrameId),delete e._animationFrameId,e.interval=1,e.$hourContainer.addClass("jqx-selected"),e.$minuteContainer.removeClass("jqx-selected"),t.removeChild(e._centralCircle),t.removeChild(e._arrow),t.removeChild(e._head),e._getMeasurements(),e._numericProcessor.getAngleRangeCoefficient(),e._draw.clear(),t.appendChild(e._centralCircle),t.appendChild(e._arrow),t.appendChild(e._head),e._renderHours(),"24-hour"===e.format&&(0===a||a>12)?e._inInnerCircle=!0:"12-hour"===e.format&&(a%=12,0===a&&(a=12)),e._drawArrow(!0,void 0,!0),e._inInnerCircle=!1,e.$.picker.firstElementChild.setAttribute("aria-hidden",!0),e.$.picker.setAttribute("aria-valuenow",a)}_changeToMinuteSelection(){const e=this,t=e._centralCircle.parentElement||e._centralCircle.parentNode;e._inInnerCircle=!1,cancelAnimationFrame(e._animationFrameId),delete e._animationFrameId,e.interval=e.minuteInterval,e.$hourContainer.removeClass("jqx-selected"),e.$minuteContainer.addClass("jqx-selected"),t.removeChild(e._centralCircle),t.removeChild(e._arrow),t.removeChild(e._head),e._getMeasurements(),e._numericProcessor.getAngleRangeCoefficient(),e._draw.clear(),t.appendChild(e._centralCircle),t.appendChild(e._arrow),t.appendChild(e._head),e._renderMinutes(),e._drawArrow(!0,void 0,!0),e.$.picker.firstElementChild.setAttribute("aria-hidden",!0),e.$.picker.setAttribute("aria-valuenow",e.value.getMinutes())}_computeArrowBodyPoints(e,t,a,n){const r=Math.sin(t),i=Math.cos(t),s=e-a*i+n*r,o=e+a*r+n*i,l=e+a*i+n*r,d=e-a*r+n*i,u="M "+(e+a*i)+","+(e-a*r)+" L "+(e-a*i)+","+(e+a*r)+" L "+s+","+o+" "+l+","+d;return this._headCenter={x:(s+l)/2,y:(o+d)/2},u}_createElement(){const e=this;if(e.setAttribute("role","dialog"),e.value){const t=new Date;let a=e.value;a.calendar&&(a=a.toDate()),a.getFullYear()===t.getFullYear()&&a.getMonth()===t.getMonth()&&a.getHours()===t.getHours()&&a.getMinutes()===t.getMinutes()&&(e.value=new Date)}e.coerce=!0,e.min=0,e._drawMin="0",e.startAngle=-270,e.endAngle=90,e._angleDifference=e.endAngle-e.startAngle,e.ticksVisibility="none",e._tickIntervalHandler={},e._tickIntervalHandler.labelsSize={},e._distance={majorTickDistance:0,minorTickDistance:0,labelDistance:10},e._measurements={},e._validateInitialPropertyValues(),e._applyInitialSettings(),e._numericProcessor=new JQX.Utilities.DecimalNumericProcessor(e),e._draw=new JQX.Utilities.Draw(e.$.picker),e._isVisible()?(e._setPickerSize(),e._getMeasurements(),e._numericProcessor.getAngleRangeCoefficient(),e._renderSVG(),e._setFocusable(),e.$.hiddenInput.value=e.value,e.enableShadowDOM&&e.appendChild(e.$.hiddenInput)):e._renderingSuspended=!0}_documentMoveHandler(e){const t=this;t._dragging&&t._changeSelection(e,!0)}_documentUpHandler(){const e=this;e._dragging?(e._inInnerCircle=!1,e._dragging=!1,e.autoSwitchToMinutes&&"hour"===e.selection&&(e.hasAnimation?function t(){e._animationFrameId?requestAnimationFrame(t):(e.$picker.addClass("animate"),setTimeout((function(){e.selection="minute",e._changeToMinuteSelection()}),250),setTimeout((function(){e.$picker.removeClass("animate")}),550))}():(e.selection="minute",e._changeToMinuteSelection()))):e.hasAttribute("focus")&&(e.$.fireEvent("blur"),e.removeAttribute("focus"))}_drawArrow(e,t,a){const n=this,r="hour"===n.selection,i="12-hour"===n.format;let s,o,l=n._oldTimePart;if(delete n._oldTimePart,void 0===t&&(r?(t=n.value.getHours(),i&&t>12&&(t-=12)):t=n.value.getMinutes()),void 0===l||a||!n.hasAnimation)return void n._drawArrowSVG(e,t);if(r&&!i)return void n._animate24HourView(l,t);r?(s=.2,o=12,t%=o,l%=o):(s=1,o=60);let d=t-l,u=l-t;d<0&&(d+=o),u<0&&(u+=o),u<d&&(s*=-1),function a(){l+=s,l=parseFloat((l%o).toFixed(1)),l<0&&(l+=o),n._drawArrowSVG(e,l),e=!0,l!==t%o?n._animationFrameId=requestAnimationFrame(a):delete n._animationFrameId}()}_animate24HourView(e,t){const a=this;let n=.2;a._inInnerCircle=!1;const r=0===e||e>12,i=0===t||t>12;if(r!==i){if(e=r?Math.abs(e-12):(e+12)%24,a._inInnerCircle=i,a._drawArrowSVG(!0,e),e===t)return}else a._inInnerCircle=i;let s=e,o=t;a._inInnerCircle&&(0===o&&s<18?o=12:0===s&&o<18&&(s=12));let l=o-s,d=s-o;l<0&&(l+=12),d<0&&(d+=12),d<l&&(n*=-1),function r(i){a._inInnerCircle=i,i?((e=parseFloat((e+n).toFixed(1)))<0?e+=24:e<1&&(e+=12),12!==e&&24!==e||(e=0)):(12!==(e+=n)&&(e=parseFloat((e%12).toFixed(1))),e<=0&&(e+=12)),a._drawArrowSVG(!0,e),e!==t?a._animationFrameId=requestAnimationFrame((function(){r(i)})):(delete a._animationFrameId,a._inInnerCircle=!1)}(a._inInnerCircle)}_drawArrowSVG(e,t){const a=this,n=a._measurements,r=a._numericProcessor.getAngleByValue(t);let i;i=a._inInnerCircle?a._computeArrowBodyPoints(n.radius,r,1,n.innerRadius-a._largestLabelSize/2-45):a._computeArrowBodyPoints(n.radius,r,1,n.innerRadius-a._largestLabelSize/2),e?(a._arrow.setAttribute("d",i),a._head.setAttribute("cx",a._headCenter.x),a._head.setAttribute("cy",a._headCenter.y),a._head.setAttribute("r",a._largestLabelSize),a._headRect=a._head.getBoundingClientRect(),t%1==0&&a._highlightLabel(t)):(a._arrow=a._draw.path(i,{class:"jqx-needle"}),a._head=a._draw.circle(a._headCenter.x,a._headCenter.y,a._largestLabelSize,{class:"jqx-needle-central-circle"}),a._headRect=a._head.getBoundingClientRect())}_drawLabel(e,t,a){const n=this,r=n._measurements,i=r.radius,s={class:"jqx-label jqx-unselectable","font-size":r.fontSize,"font-family":r.fontFamily,"font-weight":r.fontWeight,"font-style":r.fontStyle};"hour"===n.selection?n._plotInnerCircle?t>0?t+=12:t="00":0===t&&(t=12):1===t.toString().length&&(t="0"+t);const o=n._draw.measureText(t,0,s),l=i-a-n._largestLabelSize/2,d=i+l*Math.sin(e),u=i+l*Math.cos(e);n._draw.text(t,Math.round(d)-o.width/2,Math.round(u)-o.height/2,o.width,o.height,0,s).setAttribute("value",parseFloat(t))}_getCenterCoordinates(){const e=this.$.picker.getBoundingClientRect(),t=this._measurements.radius,a=document.body.scrollLeft||document.documentElement.scrollLeft,n=document.body.scrollTop||document.documentElement.scrollTop;return{x:e.left+a+t,y:e.top+n+t}}_getMeasurements(){const e=this,t=e._measurements,a=document.createElement("div");let n,r,i,s,o,l;a.className="jqx-label",a.style.position="absolute",a.style.visibility="hidden",e.$.svgContainer.appendChild(a),"hour"===e.selection?(n="1",r="23",e.max=12,e._drawMax="12",e._range=12):(n="00",r="55",e.max=60,e._drawMax="60",e._range=60),a.innerHTML=n,i=a.offsetWidth,o=a.offsetHeight,a.innerHTML=r,s=a.offsetWidth,l=a.offsetHeight,e._largestLabelSize=Math.max(i,o,s,l),e._tickIntervalHandler.labelsSize.minLabelSize=o,e._tickIntervalHandler.labelsSize.maxLabelSize=l;const d=window.getComputedStyle(a);t.fontSize=d.fontSize,t.fontFamily=d.fontFamily,t.fontWeight=d.fontWeight,t.fontStyle=d.fontStyle,e.$.svgContainer.removeChild(a)}_headerClickHandler(e){const t=this;if(!t.disabled&&!t.readonly)switch(e.target){case t.$.hourContainer:"hour"!==t.selection&&(t.selection="hour",t._changeToHourSelection());break;case t.$.minuteContainer:"minute"!==t.selection&&(t.selection="minute",t._changeToMinuteSelection());break;case t.$.amContainer:if(!t.$amContainer.hasClass("jqx-selected")){t._selectAmPm("am");const e=new Date(t.value.getTime());t.value.setHours(t.value.getHours()-12),t.$.hiddenInput.value=t.value,t.$.fireEvent("change",{value:t.value,oldValue:e})}break;case t.$.pmContainer:if(!t.$pmContainer.hasClass("jqx-selected")){t._selectAmPm("pm");const e=new Date(t.value.getTime());t.value.setHours(t.value.getHours()+12),t.$.hiddenInput.value=t.value,t.$.fireEvent("change",{value:t.value,oldValue:e})}}}_highlightLabel(e){const t=this;if(t._highlightedLabel){if(parseFloat(t._highlightedLabel.getAttribute("value"))===e)return;t._highlightedLabel.classList.remove("jqx-selected"),t._highlightedLabel=void 0}let a;"hour"===t.selection?(void 0===e&&(e=t.value.getHours()),"12-hour"===t.format&&(0===e?e=12:e>12&&(e-=12)),a=e):(void 0===e&&(e=t.value.getMinutes()),a=5*Math.round(e/5),60===a&&(a=0));const n=t.$.picker.querySelector('.jqx-label[value="'+a+'"]');n&&(a===e||t._overlapsLabel(n))&&(t._highlightedLabel=n,n.classList.add("jqx-selected"))}_isVisible(){const e=this;return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)}_keydownHandler(e){const t=this;if(t._dragging)return;const a=(t.shadowRoot||t.getRootNode()).activeElement,n=e.key;if(!t.$.header.contains(a)||"Enter"!==n&&" "!==n){if(a===t.$.picker&&!e.altKey){let a;if("ArrowRight"===n||"ArrowUp"===n?a=1:"ArrowLeft"!==n&&"ArrowDown"!==n||(a=-1),a)if(e.preventDefault(),"hour"===t.selection){let e=t.value.getHours();0===e&&-1===a?e=23:23===e&&1===a?e=0:e+=a,"12-hour"===t.format&&(e>=12&&t.$amContainer.hasClass("jqx-selected")?e-=12:e<12&&t.$pmContainer.hasClass("jqx-selected")&&(e+=12)),t.setHours(e,void 0,!0)}else{let e=t.value.getMinutes();a*=t.minuteInterval,e+a>=60?e=0:e<-1*a?e=60%a==0?60+a:60-60%a:e+=a,t.setMinutes(e,!0)}}}else e.preventDefault(),t._headerClickHandler({target:a})}_overlapsLabel(e){const t=this,a=e.getBoundingClientRect();let n=t._headRect;return 0===n.height&&(n=t._headRect=t._head.getBoundingClientRect()),!(a.right-10<n.left||a.left+10>n.right||a.bottom-10<n.top||a.top+10>n.bottom)}_parseDateString(e,t){const a=e.indexOf("Date("),n=e.indexOf(")");let r=e;if(-1!==a&&-1!==n){if(r=e.slice(a+5,n),r=r.replace(/'/g,"").replace(/"/g,"").replace(/^\s+|\s+$|\s+(?=\s)/g,""),""===r.trim())return new Date;if(new RegExp(/(^(\d+)(\s*,\s*\d+)+$)/g).test(r))return r=r.replace(/\s/g,""),r=r.split(","),r.map((function(e,t){r[t]=parseInt(e)})),r.unshift(null),r=new(Function.prototype.bind.apply(Date,r)),r}if(""===r.trim())return t;if(!isNaN(r))return new Date(parseInt(r,10));try{r=new Date(r)}catch(e){r=t}return isNaN(r.getTime())?t:r}_pickerDownHandler(e){const t=this;t.disabled||t.readonly||!JQX.Utilities.Core.isMobile&&1!==e.which||(t._changeSelection(e),t.$.fireEvent("focus"),t.setAttribute("focus",""))}_pickerMoveHandler(e){"touchmove"===e.originalEvent.type&&e.originalEvent.preventDefault()}_renderHours(){const e=this;e._highlightedLabel=void 0,e._majorTicksInterval=1,e._numericProcessor.addGaugeTicksAndLabels(),"24-hour"===e.format?(e._plotInnerCircle=!0,e._distance.labelDistance=55,e._numericProcessor.addGaugeTicksAndLabels(),e._plotInnerCircle=!1,e._distance.labelDistance=10,e.$.picker.setAttribute("aria-valuemin",0),e.$.picker.setAttribute("aria-valuemax",23)):(e.$.picker.setAttribute("aria-valuemin",1),e.$.picker.setAttribute("aria-valuemax",12))}_renderMinutes(){const e=this;e._highlightedLabel=void 0,e._majorTicksInterval=5,e._numericProcessor.addGaugeTicksAndLabels(),e.$.picker.setAttribute("aria-valuemin",0),e.$.picker.setAttribute("aria-valuemax",59)}_renderSVG(){const e=this;if(e._isVisible()&&!e._renderingSuspended){if(e._centralCircle=e._draw.circle(e._measurements.radius,e._measurements.radius,4,{class:"jqx-needle-central-circle"}),"hour"===e.selection&&"24-hour"===e.format&&(0===e.value.getHours()||e.value.getHours()>12)&&(e._inInnerCircle=!0),e._drawArrow(!1),e._inInnerCircle=!1,"hour"===e.selection){e.interval=1,e._renderHours();let t=e.value.getHours();"12-hour"===e.format&&t>12&&(t-=12),e._highlightLabel(t)}else e.interval=e.minuteInterval,e._renderMinutes(),e._highlightLabel(e.value.getMinutes());e.$.picker.firstElementChild.setAttribute("aria-hidden",!0)}else e._renderingSuspended=!0}refresh(){const e=this;let t=!1;e.isRendered&&(e._isVisible()?(e._renderingSuspended=!1,t=!0,e._getMeasurements(),e._numericProcessor.getAngleRangeCoefficient(),e._setPickerSize(),e._sizeChanged||t?(e._draw.clear(),e._renderSVG(),e._sizeChanged=!1):(e._headRect=e._head.getBoundingClientRect(),e._highlightLabel())):e._renderingSuspended=!0)}_resizeHandler(){this.refresh()}_selectAmPm(e){const t=this;"am"===e?(t._ampm="am",t.$pmContainer.removeClass("jqx-selected"),t.$amContainer.addClass("jqx-selected")):(t._ampm="pm",t.$amContainer.removeClass("jqx-selected"),t.$pmContainer.addClass("jqx-selected"))}_setFocusable(){const e=this;if(e.disabled||e.unfocusable)return e.$.hourContainer.removeAttribute("tabindex"),e.$.minuteContainer.removeAttribute("tabindex"),e.$.amContainer.removeAttribute("tabindex"),e.$.pmContainer.removeAttribute("tabindex"),void e.$.picker.removeAttribute("tabindex");const t=e.tabIndex>0?e.tabIndex:0;e.$.hourContainer.tabIndex=t,e.$.minuteContainer.tabIndex=t,e.$.amContainer.tabIndex=t,e.$.pmContainer.tabIndex=t,e.$.picker.tabIndex=t}_setPickerSize(){const e=this,t=e.$.svgContainer.offsetWidth,a=e.$.svgContainer.offsetHeight;let n=.9*Math.min(t,a);void 0!==e._pickerSize&&e._pickerSize!==n?e._sizeChanged=!0:e._sizeChanged=!1,e._pickerSize=n,e._measurements.radius=n/2,e._measurements.innerRadius=e._measurements.radius-10,n+="px",e.$.picker.style.width=n,e.$.picker.style.height=n}_updateHours(e,t){const a=this;let n=e;"12-hour"===a.format?"am"===a._ampm?12===n&&(n=0):n<12&&(n+=12):n=e;const r=void 0!==a._oldValue?a._oldValue:new Date(a.value.getTime()),i=r.getHours();n!==i?(a._oldTimePart=i,void 0===a._oldValue&&a.value.setHours(n),a.$.hourContainer.innerHTML=e,!0!==t&&(a.$.hiddenInput.value=a.value,a.$.fireEvent("change",{value:a.value,oldValue:r})),"hour"===a.selection&&a.$.picker.setAttribute("aria-valuenow",e)):delete a._oldTimePart}_updateMinutes(e){const t=this,a=void 0!==t._oldValue?t._oldValue:new Date(t.value.getTime()),n=a.getMinutes();e!==n?(t._oldTimePart=n,void 0===t._oldValue&&t.value.setMinutes(e),"minute"===t.selection&&t.$.picker.setAttribute("aria-valuenow",e),1===(e=e.toString()).length&&(e="0"+e),t.$.minuteContainer.innerHTML=e,t.$.hiddenInput.value=t.value,t.$.fireEvent("change",{value:t.value,oldValue:a})):delete t._oldTimePart}_validateFooterTemplate(){const e=this,t=e.footerTemplate;if(null===t)return void(e.$.footer.innerHTML="");let a;if(t instanceof HTMLTemplateElement?a=t:"string"==typeof t&&(a=document.getElementById(t),a instanceof HTMLTemplateElement||(a=void 0)),void 0===a)return e.footerTemplate=null,void(e.$.footer.innerHTML="");const n=document.importNode(a.content,!0);if(e.enableShadowDOM)return e.$.footer.innerHTML="<slot></slot>",void e.appendChild(n);e.$.footer.appendChild(n)}_validateInitialPropertyValues(){const e=this;e._validateFooterTemplate(),e.minuteInterval=Math.max(1,Math.min(e.minuteInterval,60)),e._validateValue()}_validateValue(){const e=this,t=e.value,a=void 0!==e._oldValue?this._oldValue:new Date;if(!(t instanceof Date))if("string"==typeof t){if(/^\d{1,2}:\d{1,2}$/.test(t)){const n=t.split(":");return void(e.value=new Date(a.getFullYear(),a.getMonth(),a.getDate(),parseFloat(n[0]),parseFloat(n[1])))}e.value=e._parseDateString(t,a)}else e.value=a}});

/***/ }),

/***/ 6693:
/***/ (() => {

JQX("jqx-tooltip",class extends JQX.ContentElement{static get properties(){return{arrow:{value:!1,type:"boolean"},arrowDirection:{allowedValues:["bottom","top","left","right"],value:"bottom",type:"string"},align:{allowedValues:["left","center","right"],value:"center",type:"string"},delay:{value:0,type:"number"},messages:{extend:!0,value:{en:{invalidSelector:'{{elementType}}: "{{property}}" must be a String, an HTMLElement or null.',htmlTemplateNotSuported:"{{elementType}}: Browser doesn't support HTMLTemplate elements.",invalidTemplate:'{{elementType}}: "{{property}}" property accepts a string that must match the id of an HTMLTemplate element from the DOM.',invalidNode:'{{elementType}}: Invalid parameter "{{node}}" when calling {{method}}.'}},type:"object"},iframeRect:{value:null,type:"object?"},offset:{value:[],type:"array"},openMode:{allowedValues:["click","focus","hover","manual"],value:"hover",type:"string"},position:{allowedValues:["bottom","top","left","right","absolute","auto"],value:"top",type:"string"},selector:{value:null,type:"any?"},tooltipTemplate:{value:null,type:"any"},value:{value:"",type:"string",reflectToAttribute:!1},visible:{value:!1,type:"boolean"}}}static get styleUrls(){return["jqx.tooltip.css"]}template(){return'<div id="container" role="presentation">\n                    <div id="content" class="jqx-tooltip-content" inner-h-t-m-l="[[innerHTML]]" role="presentation">\n                        <content></content>\n                    </div>\n                </div>'}propertyChangedHandler(e,t,n){super.propertyChangedHandler(e,t,n);const o=this;let l;switch(e){case"align":o._applyPosition(n);break;case"openMode":o.close(),o._handleEventListeners(t),o._handleResize();break;case"selector":o._oldOwnerElement=o._ownerElement,o._handleSelector(n,t),o._handleEventListeners();break;case"tooltipTemplate":o._handleTemplate(t);break;case"value":o.tooltipTemplate?o._handleTemplate():o.$.content.innerHTML=o.value;break;case"visible":l=n?"open":"close",o.$.fireEvent(l,{owner:o._ownerElement},o.isInShadowDOM?{composed:!0,bubbles:!0,cancelable:!0}:void 0);break;case"position":return void o._applyPosition(t)}o._applyPosition()}ready(){super.ready()}render(){const e=this;super.render(),e.getAttribute("role")||e.setAttribute("role","tooltip"),e._isParentPositionStatic="static"===window.getComputedStyle(e.parentElement||document.querySelector("body")).position,e._handleSelector(e.selector),e.visible&&e._applyPosition(),e._handleEventListeners(),e._handleResize(),e.value=e.$.content.innerHTML=e.value?e.value:e.innerHTML,e._handleTemplate()}appendChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?(t.$.content.appendChild(e),t._applyPosition()):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"appendChild",node:"node"}))}close(){const e=this;if(e._isOpening&&clearTimeout(e._isOpening),!e.visible)return;const t=e.isInShadowDOM?{composed:!0,bubbles:!0,cancelable:!0}:void 0;e.$.fireEvent("closing",{owner:e._ownerElement},t).defaultPrevented||(e.$.fireEvent("close",{owner:e._ownerElement},t),e.visible=!1)}clear(){const e=this.$.content;if(e)for(;e.childNodes.length;)e.removeChild(e.firstChild)}insertBefore(e,t){const n=this;if(!n.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(n,e.concat(Array.prototype.slice.call(arguments)))}e&&t?(n.$.content.insertBefore(e,t),n._applyPosition()):n.error(n.localize("invalidNode",{elementType:n.nodeName.toLowerCase(),method:"insertBefore",node:"newNode/referenceNode"}))}open(){const e=this;e.disabled||e.readonly||e.visible||(clearTimeout(e._isOpening),e._isOpening=setTimeout((function(){const t=e.isInShadowDOM?{composed:!0,bubbles:!0,cancelable:!0}:void 0;if(e.$.fireEvent("opening",{owner:e._ownerElement},t).defaultPrevented)return void clearTimeout(e._isOpening);e._applyPosition(),e.$.fireEvent("open",{owner:e._ownerElement},t);const n=e.context;e.context=e,e.visible=!0,e.context=n}),e.delay))}removeChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?(t.$.content.removeChild(e),t._applyPosition()):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"removeChild",node:"node"}))}reposition(){const e=this;e.isRendered&&e._applyPosition()}toggle(){const e=this;e.visible?e.close():e.open()}_getDomElementPosition(e){let t=[],n=e.parentElement;for(;n&&"BODY"!==n.nodeName;)t.push(n),n=!this.enableShadowDOM||n.parentElement?n.parentElement:n.getRootNode().host;return t}_getElementAndOwnerRelation(e){const t=this._getDomElementPosition(e||this),n=t.length;let o=null;for(let e=0;e<n;e++)if("static"!==window.getComputedStyle(t[e]).getPropertyValue("position")){o=t[e];break}return o}_applyPosition(e){const t=this;if(!t._ownerElement)return;if(!t.parentElement)return;t._isParentPositionStatic="static"===window.getComputedStyle(t.parentElement).position;const n=t._ownerElement.getBoundingClientRect(),o=t.parentElement?t.parentElement.getBoundingClientRect():{top:0,left:0};let l,i;t.parentElement&&"BODY"===t.parentElement.nodeName.toUpperCase()?(l=n.top+window.scrollY,i=n.left+window.scrollX):(l=n.top-o.top,i=n.left-o.left);const r=t.position,s=t.iframeRect;let a,p={top:n.top,left:n.left,right:n.right,width:n.width,height:n.height,nonStaticParent:t._getElementAndOwnerRelation()};switch(s&&(p.top+=s.top,p.left+=s.left,p.right+=s.right),r){case"auto":case"bottom":case"top":case"left":case"right":{t.style.left="";const e=t["_position"+r.charAt(0).toUpperCase()+r.slice(1)](i,l,p);l=e.top,i=e.left,a=e.translate;break}case"absolute":e?(t.style.top=t.style.left="",l=i=0):(l=parseFloat(t.style.top),i=parseFloat(t.style.left))}const d=t.getAttribute("arrow-direction");a?t.$.container.style.setProperty("--jqx-tooltip-arrow-translate",a+"px"):t.$.container.style.removeProperty("--jqx-tooltip-arrow-translate"),void 0===l||isNaN(l)||(l+=("auto"===r&&"top"===d?-1:1)*parseInt(t.offset[1])||0,t.style.top=l+"px"),void 0===i||isNaN(i)||(i+=("auto"===r&&"left"===d?-1:1)*parseInt(t.offset[0])||0,t.style.left=i+"px")}_positionAuto(e,t,n){const o=this;let l,i,r=o.parentElement;for(;r;){if("hidden"===getComputedStyle(r).getPropertyValue("overflow")){l=r;break}r=r.parentElement}if(l)i=l.getBoundingClientRect();else{const e=document.scrollingElement;let t,n;document.scrollingElement?(t=e.offsetWidth,n=e.offsetHeight):(t=window.innerWidth,n=window.innerHeight),l=document.body,i={width:t,height:n,left:0,top:0,right:t,bottom:n}}const s=parseFloat(window.getComputedStyle(o).getPropertyValue("--jqx-tooltip-arrow-width"))||0;let a=o._positionTop(e,t,n),p=n.nonStaticParent,d=o.offsetWidth/2-s,c=0,f=0,m=a.left,h=i.right-(m+f+o.offsetWidth),u=Math.min(0,h);if(m<=0&&h>0&&(m=Math.min(e,m+h)),u<=0&&(u=Math.sign(u)*(Math.abs(u)+i.right-(e+n.width))),p){const e=p.getBoundingClientRect();c=e.top,f=e.left}return a.top+c>=i.top?(m<=0&&(m=e),t=a.top,{left:e=Math.max(i.left-f,m+u),top:t,translate:Math.max(-d,Math.min(d,a.left-e))}):(a=o._positionBottom(e,t,n),a.top+o.offsetHeight+c<=i.bottom?(m=a.left,m<=0&&(m=e),t=a.top,{left:e=Math.max(i.left-f,m+u),top:t,translate:Math.max(-d,Math.min(d,a.left-e))}):(a=o._positionLeft(e,t,n),t=a.top,d=o.offsetHeight/2-s,t=Math.max(i.top-c,a.top+Math.min(0,i.bottom-(a.top+c+o.offsetHeight))),a.left+f>=i.left?e=a.left:(a=o._positionRight(e,t,n),e=a.left+o.offsetWidth+f<=i.right?a.left:i.right-o.offsetWidth),{left:e,top:t,translate:Math.max(-d,Math.min(d,a.top-t))}))}_getRelativeParentOffset(e){const t=this,n=t._ownerElement;let o=t._getElementAndOwnerRelation(n),l=0,i=0;if(!e)return{left:i,top:l};for(;e&&o&&e!==o;)l+=o.offsetTop,i+=o.offsetLeft,o=t._getElementAndOwnerRelation(o);return{left:i,top:l}}_positionTop(e,t,n){const o=this,l=o._getRelativeParentOffset(n.nonStaticParent);if(o.set("arrowDirection","bottom"),null===n.nonStaticParent)return t=n.top+window.scrollY-o.offsetHeight,{left:(e=o._getAlignmentOffset(n.left,o.offsetWidth,n.width)+window.scrollX)+l.left,top:t+l.top};if(o._isParentPositionStatic){if(t=o._ownerElement.offsetTop-o.offsetHeight,e=o._getAlignmentOffset(o._ownerElement.offsetLeft,o.offsetWidth,n.width),o._ownerElement instanceof SVGElement){const n=o._ownerElement.getBoundingClientRect(),l=o._ownerElement.parentNode.getBoundingClientRect();t=n.top-l.top-o.offsetHeight/2,e=o._getAlignmentOffset(n.left,o.offsetWidth,l.left)}return{left:e+l.left,top:t+l.top}}if(o._ownerElement instanceof SVGElement&&o._ownerElement.parentElement){const n=o._ownerElement.getBoundingClientRect(),i=o._ownerElement.parentNode.getBoundingClientRect();return t=n.top-i.top-o.offsetHeight,{left:(e=o._getAlignmentOffset(n.left-i.left,o.offsetWidth,n.width))+l.left,top:t+l.top}}return t-=o.offsetHeight,{left:(e=o._getAlignmentOffset(e,o.offsetWidth,n.width))+l.left,top:t+l.top}}_positionBottom(e,t,n){const o=this,l=o._getRelativeParentOffset(n.nonStaticParent);return o.set("arrowDirection","top"),null===n.nonStaticParent?(t=n.top+window.scrollY+n.height,{left:(e=o._getAlignmentOffset(n.left,o.offsetWidth,n.width)+window.scrollX)+l.left,top:t+l.top}):o._isParentPositionStatic?(t=o._ownerElement.offsetTop+n.height,{left:(e=o._getAlignmentOffset(o._ownerElement.offsetLeft,o.offsetWidth,n.width))+l.left,top:t+l.top}):(t+=n.height,{left:(e=o._getAlignmentOffset(e,o.offsetWidth,n.width))+l.left,top:t+l.top})}_getAlignmentOffset(e,t,n){switch(this.align){case"left":return e;case"right":return e-t+n;default:return e-t/2+n/2}}_positionLeft(e,t,n){const o=this,l=o._getRelativeParentOffset(n.nonStaticParent);return o.set("arrowDirection","right"),null===n.nonStaticParent?(t=n.top+window.scrollY+n.height/2-o.$.content.offsetHeight/2,{left:(e=n.left+window.scrollX-o.offsetWidth)+l.left,top:t+l.top}):o._isParentPositionStatic?(t=o._ownerElement.offsetTop+n.height/2-o.$.content.offsetHeight/2,{left:(e=o._ownerElement.offsetLeft-o.offsetWidth)+l.left,top:t+l.top}):(t=t+n.height/2-o.$.content.offsetHeight/2,{left:(e-=o.offsetWidth)+l.left,top:t+l.top})}_positionRight(e,t,n){const o=this,l=o._getRelativeParentOffset(n.nonStaticParent);return o.set("arrowDirection","left"),null===n.nonStaticParent?(t=n.top+window.scrollY+n.height/2-o.$.content.offsetHeight/2,{left:(e=n.left+window.scrollX+n.width)+l.left,top:t+l.top}):o._isParentPositionStatic?(t=o._ownerElement.offsetTop+n.height/2-o.$.content.offsetHeight/2,{left:(e=o._ownerElement.offsetLeft+n.width)+l.left,top:t+l.top}):(t=t+n.height/2-o.$.content.offsetHeight/2,{left:(e+=n.width)+l.left,top:t+l.top})}_eventsHandler(e){const t=this;t.disabled||t.readonly||("click"!==e.type?"mouseenter"===e.type||"focus"===e.type?this.open():this.close():t.visible?this.close():this.open())}_handleEventListeners(e){const t=this;if(t._oldOwnerElement&&"manual"!==t.openMode){let e=t._oldOwnerElement.getAttribute("aria-describedby");e&&"tooltip"===t.getAttribute("role")&&(e===t.id?t._oldOwnerElement.removeAttribute("aria-describedby"):(e=e.replace(" "+t.id,""),e=e.replace(t.id+" ",""),t._oldOwnerElement.setAttribute("aria-describedby",e))),t._oldOwnerElement.$.unlisten("mouseenter.tooltip"),t._oldOwnerElement.$.unlisten("mouseleave.tooltip"),t._oldOwnerElement.$.unlisten("focus.tooltip"),t._oldOwnerElement.$.unlisten("blur.tooltip"),t._oldOwnerElement.$.unlisten("click.tooltip"),t._oldOwnerElement=null}if(t._ownerElement){if(e)switch(e){case"hover":t._ownerElement.$.unlisten("mouseenter.tooltip"),t._ownerElement.$.unlisten("mouseleave.tooltip");break;case"focus":t._ownerElement.$.unlisten("focus.tooltip"),t._ownerElement.$.unlisten("blur.tooltip");break;case"click":t._ownerElement.$.unlisten("click.tooltip")}if("manual"!==t.openMode)switch(t._ownerElement instanceof JQX.BaseElement||(t._ownerElement.$=JQX.Utilities.Extend(t._ownerElement)),t.openMode){case"hover":t._ownerElement.$.listen("mouseenter.tooltip",t._eventsHandler.bind(t)),t._ownerElement.$.listen("mouseleave.tooltip",t._eventsHandler.bind(t));break;case"focus":t._ownerElement.$.listen("focus.tooltip",t._eventsHandler.bind(t)),t._ownerElement.$.listen("blur.tooltip",t._eventsHandler.bind(t));break;case"click":t._ownerElement.$.listen("click.tooltip",t._eventsHandler.bind(t))}}}_handleResize(){const e=this;function t(){e._applyPosition()}"click"===e.openMode?window.addEventListener("resize",t):window.removeEventListener("resize",t)}_handleSelector(e,t){const n=this;if(t&&t.removeAttribute&&t.removeAttribute("aria-describedby"),"string"==typeof e)n._ownerElement=e.length>0?document.getElementById(e):void 0;else if(e&&e.nodeType===Node.ELEMENT_NODE)n._ownerElement=e;else{if(null===e)return void(n._ownerElement=void 0);n.error(n.localize("invalidSelector",{elementType:n.nodeName.toLowerCase(),property:"selector"}))}if(!n._ownerElement||"tooltip"!==n.getAttribute("role"))return;if(!n.value)return;const o=n._ownerElement?n._ownerElement.getAttribute("aria-describedby"):null;o?o.indexOf(n.id)<0&&n._ownerElement.setAttribute("aria-describedby",o+" "+n.id):n._ownerElement.setAttribute("aria-describedby",n.id)}_handleTemplate(e){const t=this;let n=t.tooltipTemplate;if(e&&(t.$.content.innerHTML=t.value?t.value:""),null===n||!n)return;if("function"==typeof t.tooltipTemplate)return void t.tooltipTemplate(t.$.content,{value:t.value});if(!("content"in document.createElement("template")))return void t.error(t.localize("htmlTemplateNotSuported",{elementType:t.nodeName.toLowerCase()}));if(n=document.getElementById(n),null===n||!("content"in n))return void t.error(t.localize("invalidTemplate",{elementType:t.nodeName.toLowerCase(),property:"template"}));const o=n.content,l=o.childNodes.length,i=/{{\w+}}/g;let r,s=[];for(let e=0;e<l;e++)for(r=i.exec(o.childNodes[e].innerHTML);r;)s.push({childNodeIndex:e,bindingString:r[0]}),r=i.exec(o.childNodes[e].innerHTML);const a=s.length;let p,d,c=document.importNode(n.content,!0);for(let e=0;e<a;e++){p=c.childNodes[s[e].childNodeIndex],d=s.length;for(let n=0;n<d;n++)p.innerHTML=p.innerHTML.replace(s[e].bindingString,t.value)}t.$.content.innerHTML="";for(let e=0;e<c.childNodes.length;e++)c.childNodes[e].outerHTML&&(t.$.content.innerHTML+=c.childNodes[e].outerHTML)}}),function(){const e=()=>{const e=document.querySelectorAll('[data-toggle="tooltip"');if(e.length>0)for(let t=0;t<e.length;t++){if(!e[t].hasAttribute("data-title"))continue;const n=document.createElement("jqx-tooltip");n.selector=e[t],n.innerHTML=e[t].getAttribute("data-title"),document.body.appendChild(n),e[t].hasAttribute("data-placement")&&(n.position=e[t].getAttribute("data-placement"))}};"complete"===document.readyState?e():(window.removeEventListener("load",e),window.addEventListener("load",e))}();

/***/ }),

/***/ 8466:
/***/ (() => {

JQX("jqx-window",class extends JQX.ContentElement{static get properties(){return{collapsed:{value:!1,type:"boolean"},closeOnMaskClick:{value:!1,type:"boolean"},disableEscape:{value:!1,type:"boolean"},disableFocus:{value:!1,type:"boolean"},disableSnap:{value:!1,type:"boolean"},footerPosition:{value:"bottom",allowedValues:["bottom","none"],type:"string"},footerTemplate:{value:null,type:"any"},headerButtons:{value:["close","maximize","minimize"],type:"array"},headerPosition:{value:"top",allowedValues:["top","bottom","left","right","none"],type:"string"},headerTemplate:{value:null,type:"any"},disableKeyboard:{value:!1,type:"boolean"},label:{value:"",type:"string"},liveResize:{value:!1,type:"boolean"},maximized:{value:!1,type:"boolean"},modal:{value:!1,type:"boolean"},minimized:{value:!1,type:"boolean"},opened:{value:!1,type:"boolean"},pinned:{value:!1,type:"boolean"},resizeIndicator:{value:!1,type:"boolean"},resizeMode:{allowedValues:["none","horizontal","vertical","both","top","bottom","left","right"],value:"none",type:"string"},windowParent:{value:null,type:"any"}}}static get listeners(){return{"document.dragstart":"_dragStartHandler","document.focusin":"_documentFocusInEventHandler","document.move":"_documentMoveHandler","document.up":"_documentUpHandler","document.wheel":"_mouseWheelHandler","document.selectstart":"_documentSelectStartHandler",down:"_downHandler",focus:"_focusHandler",blur:"_focusHandler",move:"_moveHandler",keydown:"_keyDownHandler",keyup:"_keyUpHandler"}}get hasStyleObserver(){return!1}static get styleUrls(){return["jqx.button.css","jqx.window.css"]}template(){return'<div role="presentation">\n                    <div class="jqx-content-container" id="container">\n                        <div id="headerSection" class="jqx-header-section" role="heading" aria-level="1">\n                            <div id="header" class="jqx-header" role="presentation">[[label]]</div>\n                            <div id="buttonsContainer" class="jqx-buttons-container" role="presentation">\n                                <button id="pinButton" class="jqx-button jqx-element jqx-pin-button" aria-label="Pin"></button>\n                                <button id="collapseButton" class="jqx-button jqx-element jqx-collapse-button" aria-label="Collapse"></button>\n                                <button id="minimizeButton" class="jqx-button jqx-element jqx-minimize-button"aria-label="Minimize"></button>\n                                <button id="maximizeButton" class="jqx-button jqx-element jqx-maximize-button" aria-label="Maximize"></button>\n                                <button id="closeButton" class="jqx-button jqx-element jqx-close-button" aria-label="Close"></button>\n                            </div>\n                        </div>\n                        <div class="jqx-content" inner-h-t-m-l="[[innerHTML]]"><content></content></div>\n                        <div id="footer" class="jqx-footer"></div>\n                    </div>\n                </div>'}propertyChangedHandler(e,t,a){const i=this;switch(e){case"collapsed":a?i.collapse(!0):i.expand(!0);break;case"disabled":case"unfocusable":i._setFocusable();break;case"headerTemplate":case"footerTemplate":i._applyLayoutTemplate(i.$[e.split(/[T]/)[0]],a);break;case"headerButtons":i._setHeaderButtons();break;case"headerPosition":{const e=i.minimized;i._preventEventFiring=!0,i.restore(),delete i._preventEventFiring,e&&i.minimize();break}case"label":i.$.header.innerHTML=i.label;break;case"maximized":a?i.maximize(!0):i.restore(e);break;case"modal":i._setModal(),i.setAttribute("aria-modal",a);break;case"minimized":a?i.minimize(!0):i.restore(e);break;case"opened":a?i.open(!0):i.close(!0);break;case"resizeMode":i.$.container.classList.remove("jqx-window-resizing-bottom-right","jqx-window-resizing-top-right","jqx-window-resizing-top-left","jqx-window-resizing-bottom-left","jqx-window-resizing-top","jqx-window-resizing-bottom","jqx-window-resizing-left","jqx-window-resizing-right");break;case"windowParent":i._setElementParent(a);break;default:super.propertyChangedHandler(e,t,a)}}ready(){super.ready(),this._windowParent={initialParent:this.parentElement}}render(){const e=this,t=e.animation;e.$.header.id||(e.$.header.id=e.id+"Header"),e.$.content.id||(e.$.content.id=e.id+"Content"),e.opened||(e.animation="none"),e._windowParent={initialParent:e.parentElement},e.$.addClass("jqx-window"),e._createElement(),e._setElementParent(e.windowParent),e._setHeaderButtons(),e.headerTemplate&&e._applyLayoutTemplate(e.$.header,e.headerTemplate),e.footerTemplate&&e._applyLayoutTemplate(e.$.footer,e.footerTemplate),e.opened?e.open():e.close(),e.maximized&&e.maximize(!0),e.minimized&&e.minimize(!0),e.collapsed&&e.collapse(!0),e.pinned?e.pin():e.unpin(),e._setFocusable(),e.animation=t,e.setAttribute("aria-modal",e.modal),e.setAttribute("aria-labelledby",e.$.header.id),e._setupDismissTargets(),super.render()}refresh(){const e=this;e.headerTemplate&&e._applyLayoutTemplate(e.$.header,e.headerTemplate),e.footerTemplate&&e._applyLayoutTemplate(e.$.footer,e.footerTemplate),e.opened?e.open():e.close(),e.maximized&&e.maximize(!0),e.minimized&&e.minimize(!0),e.collapsed&&e.collapse(!0),e.pinned?e.pin():e.unpin()}static get requires(){return{"JQX.Button":"jqx.button.js"}}_setFocusable(){const e=this;if(e.disabled||e.unfocusable)e.removeAttribute("tabindex");else{let t=e.tabIndex>0?e.tabIndex:0;e.setAttribute("tabindex",t)}}appendChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?t.$.content.appendChild(e):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"appendChild",node:"node"}))}updateLabel(e){this.label=e}updateContent(e){this.content=e}move(e,t){const a=this,i=e=>"number"==typeof e?e+"px":"string"==typeof e?e:void 0;void 0!==e&&(a.style.left=i(e)),void 0!==t&&(a.style.top=i(t))}collapse(e){const t=this;!e&&t.collapsed||(t.collapsed=!0,t.$.fireEvent("collapse"),"left"===t.headerPosition||"right"===t.headerPosition?t.style.width="":t.style.height="")}close(e){const t=this;if(e||!t.$.hasClass("jqx-visibility-hidden")){if(t.isCompleted){if(t.$.fireEvent("closing").defaultPrevented)return;t.$.addClass("jqx-visibility-hidden"),t.opened=!1,t.isRendered&&t.$.fireEvent("close")}else t.$.addClass("jqx-visibility-hidden"),t.opened=!1;t._setModal(),t.removeAttribute("ontop")}}attached(){super.attached();const e=this;e.isRendered,e._windowParent.parent&&e._windowParent.parent!==e.getShadowRootOrBody()&&e._windowParent.parent.querySelectorAll("jqx-window, jqx-dialog-window, jqx-progress-window, jqx-wait-window, jqx-alert-window, jqx-prompt-window, jqx-multiline-prompt-window")&&"static"===window.getComputedStyle(e._windowParent.parent).getPropertyValue("position")&&(e._windowParent.parent.style.position="relative"),e.opened&&e._modal&&e.parentElement.insertBefore(e._modal,e)}bringToFront(){const e=this;if(!e.parentElement)return;const t=e.parentElement.closest(".jqx-window");if(t)return void t.bringToFront();const a=document.body.getElementsByClassName("jqx-window");let i=[];for(let e=0;e<a.length;e++){const t=a[e];t.removeAttribute("ontop"),t.opened&&i.push(t)}1===i.length&&i[0]===e||e.setAttribute("ontop","")}clear(){const e=this;e.isCompleted&&"JQX-WINDOW"===e.nodeName&&(e.innerHTML=e.$.content.innerHTML="")}detached(){super.detached();const e=this;e._windowParent.parent&&!e._windowParent.parent.querySelectorAll("jqx-window, jqx-dialog-window, jqx-progress-window, jqx-wait-window, jqx-alert-window, jqx-prompt-window, jqx-multiline-prompt-window")&&(e._windowParent.parent.style.position=""),e._modal&&e._modal.parentElement&&e._modal.parentElement.removeChild(e._modal),e._resizeDummy&&e._resizeDummy.parentElement&&e._handleWindowResizeDummy(),e._refreshMinimizedWindowsPosition()}expand(e){const t=this;(e||t.collapsed)&&(t.collapsed=!1,t.$.fireEvent("expand"),t.maximized?"left"===t.headerPosition||"right"===t.headerPosition?t.style.width=Math.max(t._windowParent.scrollElement.scrollWidth,t._windowParent.element.clientWidth)-t._windowParent.borderWidth+"px":t.style.height=Math.max(t._windowParent.scrollElement.scrollHeight,t._windowParent.element.clientHeight)-t._windowParent.borderWidth+"px":"left"===t.headerPosition||"right"===t.headerPosition?t.style.width=t.className.indexOf("jqx-window-snapped-")<0&&t._dragDetails?t._dragDetails.width+"px":"":t.style.height=t.className.indexOf("jqx-window-snapped-")<0&&t._dragDetails?t._dragDetails.height+"px":"")}maximize(e){const t=this;if(!e&&t.maximized)return;t.minimized&&t._restoreFromMinimization(e),t._setDragDetails("minimize"),"none"!==t.resizeMode&&t.$.container.classList.remove("jqx-window-resizing-bottom-right","jqx-window-resizing-top-right","jqx-window-resizing-top-left","jqx-window-resizing-bottom-left","jqx-window-resizing-top","jqx-window-resizing-bottom","jqx-window-resizing-left","jqx-window-resizing-right"),t._snapDummy&&t.$.hasClass("jqx-window-snapped-"+t._snapDummy._position)&&t.classList.remove("jqx-window-snapped-"+t._snapDummy._position),t.maximized=!0,t.$.fireEvent("maximize"),t.style.left=t.style.top=0,t.style.maxWidth=t.style.maxHeight="none";const a=t._windowParent.scrollElement.scrollHeight,i=t._windowParent.scrollElement.scrollWidth,n=t._windowParent.element.clientHeight,o=t._windowParent.element.clientWidth,s=Math.max(a,n),r=Math.max(i,o);"top"===t.headerPosition||"bottom"===t.headerPosition?(t.style.width=i>o?r-t._windowParent.borderWidth+"px":"100%",t.collapsed||(t.style.height=a>n?s-t._windowParent.borderWidth+"px":"100%")):(t.collapsed||(t.style.width=i>o?r-t._windowParent.borderWidth+"px":"100%"),t.style.height=a>n?s-t._windowParent.borderWidth+"px":"100%"),"100%"!==t.style.height&&t.addEventListener("transitionend",(function e(){if(!t.maximized||!t.hasAnimation)return;const a=t._windowParent.scrollElement.scrollHeight,i=t._windowParent.element.clientHeight,n=Math.max(a,i);("top"===t.headerPosition||"bottom"===t.headerPosition)&&t.collapsed||(t.style.height=a>i?n-t._windowParent.borderWidth+"px":"100%"),t.removeEventListener("transitionend",e)}))}minimize(e){const t=this;if(!e&&t.minimized)return;t.maximized&&(t._preventEventFiring=!0,t.restore(),delete t._preventEventFiring),t._setDragDetails(),t.minimized=!0,t.$.fireEvent("minimize"),t._snapDummy&&t.$.hasClass("jqx-window-snapped-"+t._snapDummy._position)&&(t.$.removeClass("jqx-window-snapped-"+t._snapDummy._position),t.style.right=t.style.top=t.style.left="");const a=t._getAllMinimizedWindows(t._windowParent.element);if(a.length>0){const e=a[a.length-1];t.style.left=(e.offsetLeft+e.offsetWidth+t._dragDetails.minWidth+10>t._windowParent.element.clientWidth?e.offsetLeft:e.offsetLeft+e.offsetWidth+5)+"px",t.style.top=e.offsetTop+"px"}else t.style.left="5px",t.style.top=t._windowParent.element.clientHeight+t._windowParent.scrollElement.scrollTop-t.$.headerSection.offsetHeight-5+"px";t.style.width="",t.style.height=t.$.headerSection.offsetHeight+"px"}_createElement(){this.setAttribute("role","dialog")}removeChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?t.$.content.removeChild(e):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"removeChild",node:"node"}))}restore(e){const t=this;if("maximized"===e||t.maximized?(t.maximized=!1,t.style.width=t.style.height=t.style.top=t.style.left=""):("minimized"===e||t.minimized)&&t._restoreFromMinimization(e),t._preventEventFiring||t.$.fireEvent("restore"),t.style.maxWidth=t.style.maxHeight="",t._dragDetails){if(t.style.left=Math.max(0,Math.min(t._dragDetails.windowX,t._windowParent.element.clientWidth-t._dragDetails.width))+"px",t.style.top=Math.max(0,Math.min(t._dragDetails.windowY,t._windowParent.scrollElement.scrollHeight-t._dragDetails.height))+"px",t.collapsed)return void("top"===t.headerPosition||"bottom"===t.headerPosition?t.style.width=t._dragDetails.width+"px":t.style.height=t._dragDetails.height+"px");t._dragDetails.resized&&(t.style.width=t._dragDetails.width+"px",t.style.height=t._dragDetails.height+"px")}}toggle(){const e=this;e.opened?e.close():e.open()}openModal(){this.modal=!0,this.open()}open(e){const t=this;if(e||t.$.hasClass("jqx-visibility-hidden")){if(t.isCompleted){if(t.$.fireEvent("opening").defaultPrevented)return;t.$.removeClass("jqx-visibility-hidden"),t.opened=!0,t.$.fireEvent("open")}else t.$.removeClass("jqx-visibility-hidden"),t.opened=!0;t.bringToFront(),t._setModal(),t._handleActiveState(),t.hasAnimation?t.addEventListener("transitionend",a):a()}function a(e){if(!t.hasAnimation||e&&e.target===t){if(t.removeEventListener("transitionend",a),t._onOpenCallback)return void t._onOpenCallback();if(t.disableFocus)return;t.focus()}}}_setupDismissTargets(){const e=this;if(e.querySelector('[data-dismiss="modal"]')){const t=e.querySelectorAll('[data-dismiss="modal"]'),a=()=>{e.close()};for(let e=0;e<t.length;e++)t[e].removeEventListener("click",a,null),t[e].addEventListener("click",a)}}pin(){this.pinned=!0}unpin(){this.pinned=!1}_applyLayoutTemplate(e,t){const a=this;if(!t)return e.innerHTML="",void(e===a.$.header&&a.label&&(e.innerHTML=a.label));if("content"in document.createElement("template")){if(t instanceof HTMLTemplateElement||(t=document.getElementById(t)),t&&!("content"in t))return e.innerHTML="",void e.appendChild(t);null!==t&&"content"in t?(e.innerHTML="",e.appendChild(document.importNode(t.content,!0))):a.error(a.localize("invalidTemplate",{elementType:a.nodeName.toLowerCase(),property:e===a.$.footer?"footerTemplate":"headerTemplate"}))}else a.error(a.localize("htmlTemplateNotSuported",{elementType:a.nodeName.toLowerCase()}))}_cancelDragging(e){const t=this;if(t._dragDetails&&t._dragDetails.started&&"drag"===t._dragDetails.type){if(!e){const a=t.getBoundingClientRect();e={pageX:a.left,pageY:a.top}}t.$.fireEvent("dragEnd",{left:e.pageX,top:e.pageY}),t.removeAttribute("dragged"),t._dragDetails.started=!1,delete t._mouseManipulation}}_documentFocusInEventHandler(e){const t=this;if(t._changingFocus){if(!t.contains(e.target)&&!t.contains(e.composedPath()[0])){if(t.disableFocus)return;t.focus()}delete t._changingFocus}}_downHandler(e){const t=this;let a=JQX.Utilities.Core.isMobile?document.elementFromPoint(e.pageX-window.pageXOffset,e.pageY-window.pageYOffset):e.originalEvent.target;if((t.shadowRoot||t.isInShadowDOM)&&(a=e.originalEvent.composedPath()[0]),e.stopPropagation(),t.disabled||!JQX.Utilities.Core.isMobile&&1!==e.which)return;if(t._tabsWindow&&(t._tabsWindow._isAutoHideWindowClicked=!0),t.hasAttribute("ontop")||t.bringToFront(),a.closest&&a.closest(".jqx-buttons-container")===t.$.buttonsContainer){if(t._buttonPressed=a.closest(".jqx-button"),t._buttonPressed)return}else if(a.getRootNode()&&a.getRootNode().host&&(t._buttonPressed=a.getRootNode().host,t._buttonPressed.closest(".jqx-buttons-container")===t.$.buttonsContainer))return;t._isWindowContentClicked=a.closest(".jqx-content");let i=t.closest("jqx-docking-layout");if(t.isInShadowDOM&&!i){let e=t.getRootNode().host;for(;e&&(i=e.closest("jqx-docking-layout"),!i)&&e.getRootNode();)e=e.getRootNode().host}if(!(t instanceof JQX.TabsWindow&&i&&i.disabled)){if(t._handleActiveState(),!(t instanceof JQX.TabsWindow&&i))return a.closest(".jqx-header-section")===t.$.headerSection&&(void 0===t._dblClickDetails&&(t._dblClickDetails={clicks:0}),clearTimeout(t._dblClickDetails.timeOut),t._dblClickDetails.clicks++,t._dblClickDetails.timeOut=setTimeout((function(){t._dblClickDetails&&(t._dblClickDetails.clicks=0)}),300),2===t._dblClickDetails.clicks)?(t._headerDblCickHandler(e),void(t._dblClickDetails.clicks=0)):void(t.maximized||(JQX.Utilities.Core.isMobile&&t._moveHandler(e),!t.pinned&&!t.minimized&&t.$.container.className.indexOf("jqx-window-resizing")<0&&(a=a.closest(".jqx-header-section"),a&&a===t.$.headerSection&&(t._mouseManipulation=!0,t._setDragDetails("drag",e))),"none"!==t.resizeMode&&t.$.container.className.indexOf("jqx-window-resizing")>-1&&(t._mouseManipulation=!0,t._setDragDetails("resize",e))));t.$.hasClass("jqx-docking-layout-auto-hide-window")&&(JQX.Utilities.Core.isMobile&&t._moveHandler(e),"none"!==t.resizeMode&&t.$.container.className.indexOf("jqx-window-resizing")>-1&&(t._mouseManipulation=!0,t._setDragDetails("resize",e)))}}_documentMoveHandler(e){const t=this;!t._dragDetails||!t._dragDetails.started||t.minimized||!t._mouseManipulation||Math.abs(e.pageX-t._dragDetails.x)<=5&&Math.abs(e.pageY-t._dragDetails.y)<=5||(t.hasAttribute("dragged")||t.hasAttribute("resized")||t.$.fireEvent(t._dragDetails.type+"Start",{left:e.pageX,top:e.pageY,width:t.offsetWidth,height:t.offsetHeight}),e.stopPropagation(),"drag"!==t._dragDetails.type||t.pinned?(t._dragDetails.resized=!0,t._resize(t._dragDetails.side,e),t._dragDetails.x=Math.max(t._windowParent.offsetLeft+t._dragDetails.left,Math.min(t._windowParent.offsetLeft+t._dragDetails.left+(t._dragDetails.side.toLowerCase().indexOf("left")>-1?0:t._dragDetails.newWidth),e.pageX)),t._dragDetails.y=Math.max(t._windowParent.offsetTop+t._dragDetails.top,Math.min(t._windowParent.offsetTop+t._dragDetails.top+(t._dragDetails.side.toLowerCase().indexOf("top")>-1?0:t._dragDetails.newHeight),e.pageY))):(t.setAttribute("dragged",""),t._snapDummy&&t.$.hasClass("jqx-window-snapped-"+t._snapDummy._position)&&(t.$.removeClass("jqx-window-snapped-"+t._snapDummy._position),t.style.right=t.style.top=t.style.left="",t.collapsed||(t.style.height=t._dragDetails.height+"px",t.style.width=t._dragDetails.width+"px")),t._drag(e,"both"),t._dragDetails.x=Math.max(t._windowParent.offsetLeft+t._dragDetails.offsetX-t._windowParent.scrollElement.scrollLeft,Math.min(t._windowParent.offsetLeft+t._windowParent.element.offsetWidth-(t._windowParent.element.offsetWidth-t.offsetLeft)+t._dragDetails.offsetX,e.pageX)),t._dragDetails.y=Math.max(t._windowParent.offsetTop+t._dragDetails.offsetY-t._windowParent.scrollElement.scrollTop,Math.min(t._windowParent.offsetTop+t._windowParent.element.offsetHeight-(t._windowParent.element.offsetHeight-t.offsetTop)+t._dragDetails.offsetY,e.pageY)),e.pageX>=t._windowParent.offsetLeft+t._windowParent.scrollElement.scrollWidth-1?t._handleSnapping("right"):e.pageY<=t._windowParent.offsetTop?t._handleSnapping("top"):e.pageX<=t._windowParent.offsetLeft?t._handleSnapping("left"):t._handleSnapping()))}_documentUpHandler(e){const t=this,a=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;if(t.disabled)return t.removeAttribute("active"),delete t._buttonPressed,void delete t._isWindowContentClicked;if(t._dragDetails&&t._dragDetails.started&&(t.hasAttribute("resized")&&(t.$.fireEvent(t._dragDetails.type+"End",{left:e.pageX,top:e.pageY,width:t._dragDetails.newWidth,height:t._dragDetails.newHeight}),t.removeAttribute("resized"),t._handleWindowResizeDummy(),t.$.container.classList.remove("jqx-window-resizing-bottom-right","jqx-window-resizing-top-right","jqx-window-resizing-top-left","jqx-window-resizing-bottom-left","jqx-window-resizing-top","jqx-window-resizing-bottom","jqx-window-resizing-left","jqx-window-resizing-right")),setTimeout((function(){t.$.removeClass("no-transition")}),20),t.hasAttribute("dragged")&&(t.$.fireEvent(t._dragDetails.type+"End",{left:e.pageX,top:e.pageY}),t.removeAttribute("dragged")),t._dragDetails.started=!1,delete t._mouseManipulation),t._snapDummy&&!t._snapDummy.classList.contains("jqx-visibility-hidden")){switch(t._snapDummy._position){case"left":case"top":t.style.left=t.style.top="0",t.style.right="auto";break;case"right":t.style.left="auto",t.style.top=t.style.right="0"}t.style.width="top"===t._snapDummy._position?"100%":"50%",t.style.height="100%",t.$.addClass("jqx-window-snapped-"+t._snapDummy._position),t._handleSnapping()}t._modal&&a===t._modal&&!t._isWindowContentClicked&&(t.closeOnMaskClick?t.close():t.focus()),t._isWindowButton(a)&&t.focus(),delete t._isWindowContentClicked,delete t._buttonPressed;const i=t.shadowRoot&&t._windowParent.element&&t._windowParent.element.getRootNode()?t._windowParent.element.getRootNode().activeElement:document.activeElement;if(!t.hasAttribute("active")||i===t)return;if(!a.closest)return;let n=a.closest(".jqx-window");for(;n&&n!==t;)n=n.parentElement,n&&(n=n.closest(".jqx-window"));t.opened&&n!==t&&t.removeAttribute("active")}_documentSelectStartHandler(e){this._dragDetails&&this._dragDetails.started&&e.preventDefault()}_drag(e,t){const a=this;if(!e||a.pinned||a.maximized)return;let i,n;a._dragDetails&&a._dragDetails.started||a._setDragDetails("drag",e),a.$.addClass("no-transition"),"object"==typeof e?(i=e.pageX-a._dragDetails.x,n=e.pageY-a._dragDetails.y):i=n=e;const o=Math.max(a._windowParent.element.clientHeight,a._windowParent.scrollElement.scrollHeight),s=Math.max(a._windowParent.element.clientWidth,a._windowParent.scrollElement.scrollWidth);switch(t){case"horizontal":a._dragDetails.windowX=Math.max(0,Math.min(a._dragDetails.windowX+i,s-a.offsetWidth)),a.style.left=a._dragDetails.windowX+"px";break;case"vertical":a._dragDetails.windowY=Math.max(0,Math.min(a._dragDetails.windowY+n,o-a.offsetHeight)),a.style.top=a._dragDetails.windowY+"px";break;case"both":a._dragDetails.windowX=Math.max(0,Math.min(a._dragDetails.windowX+i,s-a.offsetWidth)),a._dragDetails.windowY=Math.max(0,Math.min(a._dragDetails.windowY+n,o-a.offsetHeight)),a.style.left=a._dragDetails.windowX+"px",a.style.top=a._dragDetails.windowY+"px"}a._dragDetails.top=a.offsetTop,a._dragDetails.left=a.offsetLeft}_dragStartHandler(e){this._dragDetails&&this._dragDetails.started&&e.preventDefault()}_focusHandler(e){const t=this;"focus"===e.type?(t.setAttribute("focus",""),t.bringToFront()):t._buttonPressed||(t.removeAttribute("focus"),t._dragDetails&&t._dragDetails.started&&t._handleWindowResizeDummy())}_getAllMinimizedWindows(e){const t=this;let a=[];e||(e=t._windowParent.element);const i=e.querySelectorAll("jqx-window");for(let e=0;e<i.length;e++)i[e]!==t&&i[e].hasAttribute("minimized")&&a.push(i[e]);return a.sort((function(e,t){let a=e.getBoundingClientRect(),i=t.getBoundingClientRect();return a.right-i.right})),a}_handleSnapping(e){const t=this;e?t.disableSnap||t.collapsed||(t._snapDummy||(t._snapDummy=document.createElement("div"),t._snapDummy.addEventListener("transitionend",(function(){t._snapDummy.classList.contains("jqx-visibility-hidden")&&t._snapDummy.parentElement&&t._snapDummy.parentElement.removeChild(t._snapDummy)}))),t._snapDummy.className="jqx-window-snap-"+e+"-feedback",t._snapDummy._position=e,t._snapDummy.parentElement||t._windowParent.element.appendChild(t._snapDummy)):t._snapDummy&&t._snapDummy.parentElement&&t._snapDummy.classList.add("jqx-visibility-hidden")}_headerDblCickHandler(e){const t=this,a=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;a!==t.$.headerSection&&a!==t.$.header||t.$.maximizeButton&&0===t.$.maximizeButton.offsetHeight||(t.maximized?t.restore():t.maximize())}_isWindowButton(e){const t=this;for(;e&&(e.closest&&e.closest(".jqx-buttons-container"))!==t.$.buttonsContainer;)e=e.getRootNode().host;if(!e)return;const a=/jqx-(\w+[-]*\w*)-button/gi;if((e=e.closest(".jqx-button"))&&e===t._buttonPressed)switch(e){case t.$.closeButton:return t.close(),!0;case t.$.collapseButton:return t.collapsed?t.expand():t.collapse(),!0;case t.$.maximizeButton:return t.maximized?t.restore():t.maximize(),!0;case t.$.minimizeButton:return t.minimized?t.restore():t.minimize(),!0;case t.$.pinButton:return t.pinned?t.unpin():t.pin(),!0;default:if(!a.test(e.className))return;return t.$.fireEvent(JQX.Utilities.Core.toCamelCase(e.className.match(a).toString().replace("jqx-","").replace("-button","")),{button:e}),!0}}_keyDownHandler(e){const t=this;if(delete t._changingFocus,t.disabled||(t.hasAttribute("dragged")||t.hasAttribute("resized"))&&t._mouseManipulation)return;const a="ArrowDown"===e.key||"ArrowRight"===e.key?10:-10,i=t.enableShadowDOM&&t._windowParent.element.getRootNode()?t._windowParent.element.getRootNode().activeElement:document.activeElement;if(!t.disableKeyboard)switch(e.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":{if(t.minimized||i!==t)return;let n=e.key.indexOf("Right")>-1||e.key.indexOf("Left")>-1;e.preventDefault();const o=(t.isInShadowDOM?t.getRootNode().host:t).closest("jqx-docking-layout");if(!n&&e.altKey&&!(t instanceof JQX.TabsWindow&&o))return void("ArrowUp"===e.key?t.maximize():t.restore());if(t.maximized)return;if(t.$.addClass("no-transition"),e.ctrlKey&&"none"!==t.resizeMode&&!t.collapsed)return n=-1===["horizontal","vertical","both"].indexOf(t.resizeMode)?t.resizeMode:n?"right":"bottom",t.hasAttribute("dragged")&&t._cancelDragging(e),t.hasAttribute("resized")||t.$.fireEvent("resizeStart",{position:{x:e.pageX,y:e.pageY}}),void t._resize(n,a);t.pinned||(t.hasAttribute("dragged")||(t.setAttribute("dragged",""),t.$.fireEvent("dragStart",{left:e.pageX,top:e.pageY})),t._drag(a,n?"horizontal":"vertical")),t.$.removeClass("no-transition");break}case"Escape":t.disableEscape||t.headerButtons.indexOf("close")>-1&&t.close();break;case"p":e.altKey&&t.headerButtons.indexOf("pin")>-1&&(t.pinned?t.unpin():t.pin());break;case"c":e.altKey&&t.headerButtons.indexOf("collapse")>-1&&(t.collapsed?t.expand():t.collapse());break;case"m":e.altKey&&t.headerButtons.indexOf("minimize")>-1&&(t.minimized?t.restore():t.minimize());break;case"Tab":t.opened&&t.modal&&(t._changingFocus=!0);break;case"Enter":case" ":{let a;if(t.shadowRoot||t.isInShadowDOM?(a=e.composedPath()[0],t._buttonPressed=a.getRootNode().host):(a=e.target.closest&&e.target.closest(".jqx-button"),t._buttonPressed=a),!a)return;t._isWindowButton(a),delete t._buttonPressed;break}}}_keyUpHandler(e){const t=this;if(e.key&&!t.disableKeyboard){if("Control"===e.key&&t._dragDetails&&t.hasAttribute("resized")&&!t._mouseManipulation){if(!t._dragDetails.started)return;"drag"!==t._dragDetails.type&&(t.removeAttribute("resized"),t.$.fireEvent("resizeEnd",{left:e.pageX,top:e.pageY,width:t._dragDetails.newWidth,height:t._dragDetails.newHeight}),t._handleWindowResizeDummy()),t._dragDetails.started=!1}e.key.indexOf("Arrow")>-1&&t.hasAttribute("dragged")&&!t._mouseManipulation&&t._cancelDragging(e)}}_mouseWheelHandler(e){const t=this;!t.disabled&&t._dragDetails&&t._dragDetails.started&&(e.deltaY<0&&t._windowParent.scrollElement.scrollTop+e.deltaY<=0?t.style.top=Math.max(0,t._dragDetails.windowY)+"px":e.deltaY>0&&(t._dragDetails.windowY+t.offsetHeight+e.deltaY>=t._windowParent.scrollElement.scrollHeight||t._windowParent.scrollElement.scrollTop+t._windowParent.element.clientHeight===t._windowParent.scrollElement.scrollHeight)||("drag"===t._dragDetails.type?(t._dragDetails.windowY+=e.deltaY,t.style.top=t._dragDetails.windowY+"px"):(t._dragDetails.height+=e.deltaY,t.style.height=t._dragDetails.height+"px")))}_moveHandler(e){const t=this;if(!(t.disabled||t.collapsed||t.maximized||t.minimized||(JQX.Utilities.Core.isMobile&&navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)&&t.hasAttribute("dragged")&&e.originalEvent.preventDefault(),t._mouseManipulation||(t.$.container.className.indexOf("jqx-window-resizing")>-1&&t.$.container.classList.remove("jqx-window-resizing-bottom-right","jqx-window-resizing-top-right","jqx-window-resizing-top-left","jqx-window-resizing-bottom-left","jqx-window-resizing-top","jqx-window-resizing-bottom","jqx-window-resizing-left","jqx-window-resizing-right"),"none"===t.resizeMode)))){const a=t.getBoundingClientRect(),i=e.clientY<a.top+10,n=e.clientY>a.bottom-10,o=e.clientX>a.right-10,s=e.clientX<a.left+10;switch(t.resizeMode){case"none":break;case"both":if(t.resizeIndicator)return void(n&&o&&t.$.container.classList.add("jqx-window-resizing-bottom-right"));if(s||o)return i?void t.$.container.classList.add("jqx-window-resizing-top-"+(s?"left":"right")):n?void t.$.container.classList.add("jqx-window-resizing-bottom-"+(s?"left":"right")):void t.$.container.classList.add("jqx-window-resizing-"+(s?"left":"right"));if(i||n){if(o)return void t.$.container.classList.add("jqx-window-resizing-"+(i?"top-right":"bottom-right"));if(s)return void t.$.container.classList.add("jqx-window-resizing-"+(i?"top-left":"bottom-left"));t.$.container.classList.add("jqx-window-resizing-"+(i?"top":"bottom"))}break;case"horizontal":if(t.resizeIndicator)return void(n&&o&&t.$.container.classList.add("jqx-window-resizing-right"));if(s)return void t.$.container.classList.add("jqx-window-resizing-left");o&&t.$.container.classList.add("jqx-window-resizing-right");break;case"vertical":if(t.resizeIndicator)return void(n&&o&&t.$.container.classList.add("jqx-window-resizing-bottom"));if(i)return void t.$.container.classList.add("jqx-window-resizing-top");n&&t.$.container.classList.add("jqx-window-resizing-bottom");break;case"top":if(i){if(t.resizeIndicator&&!s)return;t.$.container.classList.add("jqx-window-resizing-top")}break;case"bottom":if(n){if(t.resizeIndicator&&!o)return;t.$.container.classList.add("jqx-window-resizing-bottom")}break;case"left":if(s){if(t.resizeIndicator&&!i)return;t.$.container.classList.add("jqx-window-resizing-left")}break;case"right":if(o){if(t.resizeIndicator&&!n)return;t.$.container.classList.add("jqx-window-resizing-right")}}}}_handleActiveState(){const e=this,t=document.querySelectorAll(".jqx-window");for(let a=0;a<t.length;a++)t[a].contains(e)||e.contains(t[a])||(t[a].removeAttribute("active"),t[a].removeAttribute("focus"));e.setAttribute("active","")}_handleWindowResizeDummy(){const e=this;if(e._resizeDummy||(e._resizeDummy=document.createElement("div"),e._resizeDummy.classList.add("jqx-window-resize-feedback")),!e.hasAttribute("resized"))return e._resizeDummy&&e._resizeDummy.remove(),void(!e.liveResize&&"resize"===e._dragDetails.type&&e._dragDetails.started&&(e.style.top=e._dragDetails.top+"px",e.style.left=e._dragDetails.left+"px",e.style.width=e._dragDetails.newWidth+"px",e.style.height=e._dragDetails.newHeight+"px"));e._resizeDummy.parentElement||e._resizeDummy.getRootNode().host||(e._resizeDummy.style.width=e.offsetWidth+"px",e._resizeDummy.style.height=e.offsetHeight+"px",e._resizeDummy.style.top=e.offsetTop+"px",e._resizeDummy.style.left=e.offsetLeft+"px",e._windowParent.element.appendChild(e._resizeDummy))}_resize(e,t){const a=this;let i;if((!a._dragDetails||a._dragDetails&&"drag"===a._dragDetails.type)&&a._setDragDetails("resize"),!a._dragDetails)return;a._dragDetails.started=!0,a.hasAttribute("resized")||(a.setAttribute("resized",""),a.hasAnimation&&a.$.addClass("no-transition")),a.liveResize||a._handleWindowResizeDummy();const n=a._snapDummy&&a.$.hasClass("jqx-window-snapped-"+a._snapDummy._position)?"snapWindowWidth":"width";switch(e){case"left":i="object"==typeof t?t.pageX-a._dragDetails.x:t,i=i>0?Math.min(i,a._dragDetails[n]-a._dragDetails.minWidth):-1*Math.min(a._dragDetails.maxWidth?a._dragDetails.maxWidth-a._dragDetails[n]:a._dragDetails.left,Math.abs(i)),a._dragDetails[n]=Math.min(a._dragDetails[n]+a._dragDetails.left-a._windowParent.scrollElement.scrollLeft,a._dragDetails[n]-i),a._dragDetails.windowX=Math.max(a._windowParent.scrollElement.scrollLeft,a._dragDetails.windowX+i),"object"!=typeof t&&(a._dragDetails[n]=Math.max(a._dragDetails[n],a._dragDetails.minWidth)),a._dragDetails[n]>=a._dragDetails.minWidth&&(a._dragDetails.left=a._dragDetails.windowX,a._dragDetails.newWidth=a._dragDetails[n]);break;case"right":{const e=a._windowParent.element.clientWidth!==a._windowParent.element.offsetWidth?a._windowParent.borderWidth:0,n=a._snapDummy&&a.$.hasClass("jqx-window-snapped-"+a._snapDummy._position)?"snapWindowWidth":"width";i="object"==typeof t?t.pageX-a._dragDetails.x:t,i>0&&a._dragDetails.maxWidth&&(i=Math.min(a._dragDetails.maxWidth-a._dragDetails[n],i)),a._dragDetails[n]=Math.min(a._windowParent.element.clientWidth+a._windowParent.scrollElement.scrollLeft-a._dragDetails.left-e,Math.max(0,a._dragDetails[n]+i)),"object"!=typeof t&&(a._dragDetails[n]=Math.max(a._dragDetails[n],a._dragDetails.minWidth)),a._dragDetails.left=a.offsetLeft,a._dragDetails.newWidth=Math.max(a._dragDetails.minWidth,a._dragDetails[n]);break}case"top":a._snapDummy&&a.$.hasClass("jqx-window-snapped-"+a._snapDummy._position)&&(a._dragDetails.height=a._dragDetails.snapWindowHeight),i="object"==typeof t?t.pageY-a._dragDetails.y:t,i=i>0?Math.min(i,a._dragDetails.height-a._dragDetails.minHeight):-1*Math.min(a._dragDetails.maxHeight?a._dragDetails.maxHeight-a._dragDetails.height:a._dragDetails.top,Math.abs(i)),a._dragDetails.snapWindowHeight=a._dragDetails.height=Math.min(a._dragDetails.height+a._dragDetails.top-a._windowParent.scrollElement.scrollTop,a._dragDetails.height-i),a._dragDetails.windowY=Math.max(a._windowParent.scrollElement.scrollTop,a._dragDetails.windowY+i),"object"!=typeof t&&(a._dragDetails.snapWindowHeight=a._dragDetails.height=Math.max(a._dragDetails.height,a._dragDetails.minHeight)),a._dragDetails.height>=a._dragDetails.minHeight&&(a._dragDetails.top=a._dragDetails.windowY,a._dragDetails.newHeight=a._dragDetails.height),a._dragDetails.newWidth=Math.max(a._dragDetails[n],a._dragDetails.newWidth);break;case"bottom":a._snapDummy&&a.$.hasClass("jqx-window-snapped-"+a._snapDummy._position)&&(a._dragDetails.height=a._dragDetails.snapWindowHeight),i="object"==typeof t?t.pageY-a._dragDetails.y:t,i>0&&a._dragDetails.maxHeight&&(i=Math.min(a._dragDetails.maxHeight-a._dragDetails.height,i)),a._dragDetails.snapWindowHeight=a._dragDetails.height=Math.min(a._windowParent.element.clientHeight+a._windowParent.scrollElement.scrollTop-a._dragDetails.top-a._windowParent.borderWidth,Math.max(0,a._dragDetails.height+i)),"object"!=typeof t&&(a._dragDetails.snapWindowHeight=a._dragDetails.height=Math.max(a._dragDetails.height,a._dragDetails.minHeight)),a._dragDetails.newHeight=Math.max(a._dragDetails.minHeight,a._dragDetails.height),a._dragDetails.newWidth=Math.max(a._dragDetails[n],a._dragDetails.newWidth);break;case"bottomLeftCorner":a._resize("bottom",t),a._resize("left",t);break;case"bottomRightCorner":a._resize("bottom",t),a._resize("right",t);break;case"topLeftCorner":a._resize("top",t),a._resize("left",t);break;case"topRightCorner":a._resize("top",t),a._resize("right",t)}const o=a.liveResize?a:a._resizeDummy;a._dragDetails.newHeight=Math.max(a._dragDetails.snapWindowHeight,a._dragDetails.newHeight),o.style.top=a._dragDetails.top+"px",o.style.left=a._dragDetails.left+"px",o.style.width=a._dragDetails.newWidth+"px",o.style.height=a._dragDetails.newHeight+"px"}_restoreFromMinimization(){const e=this;e.minimized=!1,e.style.width=e.style.height=e.style.top=e.style.left="",e._refreshMinimizedWindowsPosition()}_refreshMinimizedWindowsPosition(){const e=this,t=e._getAllMinimizedWindows();if(0===t.length)return;let a;t[0].style.left="5px";for(let i=1;i<t.length;i++)parseFloat(t[i-1].style.left)+t[i-1].offsetWidth+t[i].offsetWidth+10<e._windowParent.element.clientWidth?(t[i].style.left=parseFloat(t[i-1].style.left)+t[i-1].offsetWidth+5+"px",t[i].style.top=t[i-1].offsetTop+"px",a=t[i]):(t[i].style.left=parseFloat(a.style.left)+"px",t[i].style.top=a.offsetTop+"px")}_setHeaderButtons(){const e=this,t=e.headerButtons,a=e.$.buttonsContainer.children,i=function(t){const a=e.$.buttonsContainer.getElementsByClassName("jqx-"+(t+"").split(/(?=[A-Z])/).join("-").toLowerCase()+"-button")[0];return a&&a.classList.remove("jqx-hidden"),a};for(let e=0;e<a.length;e++)a[e].classList.add("jqx-hidden");if(t.length>0)for(let a=0;a<t.length;a++){let n=i(t[a]);if(!n){const e=(t[a]+"").split(/(?=[A-Z])/);n=document.createElement("button"),n.setAttribute("aria-label",e.map((e=>e.slice(0,1).toUpperCase()+e.slice(1))).join(" ")),n.classList.add("jqx-"+e.join("-").toLowerCase()+"-button","jqx-button","jqx-element")}e.$.buttonsContainer.insertBefore(n,e.$.buttonsContainer.firstElementChild)}}_setDragDetails(e,t){const a=this;if(a._dragDetails||(a._dragDetails={}),void 0===a._dragDetails.minWidth||void 0===a._dragDetails.minHeight||void 0===a._dragDetails.maxWidth||void 0===a._dragDetails.maxHeight){const e=getComputedStyle(a);a._dragDetails.minWidth=parseFloat(e.getPropertyValue("min-width"))||0,a._dragDetails.minHeight=parseFloat(e.getPropertyValue("min-height"))||0,a._dragDetails.maxWidth=parseFloat(e.getPropertyValue("max-width"))||0,a._dragDetails.maxHeight=parseFloat(e.getPropertyValue("max-height"))||0}a._dragDetails.windowX=a.offsetLeft,a._dragDetails.windowY=a.offsetTop;const i=a.getBoundingClientRect();if(a._snapDummy&&a.$.hasClass("jqx-window-snapped-"+a._snapDummy._position))"right"===a.headerPosition&&a.collapsed&&(a._dragDetails.offsetX=i.left+a.offsetWidth-t.clientX);else{const n=a.parentElement===document.body?document.documentElement.getBoundingClientRect():a.parentElement?a.parentElement.getBoundingClientRect():document.documentElement.getBoundingClientRect(),o=window.scrollX||window.pageXOffset,s=window.scrollY||window.pageYOffset;a._windowParent.offsetLeft=n.left+o,a._windowParent.offsetTop=n.top+s,t&&"object"==typeof t&&(a._dragDetails.offsetX=t.clientX-i.left,a._dragDetails.offsetY=t.clientY-i.top),a.collapsed||(a.hasAnimation&&"minimize"===e?(a._dragDetails.width=a._dragDetails.width?a._dragDetails.width:a.offsetWidth,a._dragDetails.height=a._dragDetails.height?a._dragDetails.height:a.offsetHeight):(a._dragDetails.width=a.offsetWidth,a._dragDetails.height=a.offsetHeight),(a.style.width||a.style.height)&&(a._dragDetails.resized=!0))}if("minimize"!==e&&e&&(a._dragDetails.type=e,a._dragDetails.started=!0,a._dragDetails.snapWindowWidth=a.offsetWidth,a._dragDetails.snapWindowHeight=a.offsetHeight,t&&"object"==typeof t?(a._dragDetails.x=t.pageX,a._dragDetails.y=t.pageY):(a._dragDetails.x=a.offsetLeft,a._dragDetails.y=a.offsetTop),"resize"===e)){if("none"===a.resizeMode)return void delete a._dragDetails;a._dragDetails.top=a.offsetTop,a._dragDetails.left=a.offsetLeft,a._dragDetails.newWidth=a._dragDetails.width,a._dragDetails.newHeight=a._dragDetails.height,a.$container.hasClass("jqx-window-resizing-right")?a._dragDetails.side="right":a.$container.hasClass("jqx-window-resizing-left")?a._dragDetails.side="left":a.$container.hasClass("jqx-window-resizing-top")?a._dragDetails.side="top":a.$container.hasClass("jqx-window-resizing-bottom")?a._dragDetails.side="bottom":a.$container.hasClass("jqx-window-resizing-top-left")?a._dragDetails.side="topLeftCorner":a.$container.hasClass("jqx-window-resizing-bottom-left")?a._dragDetails.side="bottomLeftCorner":a.$container.hasClass("jqx-window-resizing-top-right")?a._dragDetails.side="topRightCorner":a.$container.hasClass("jqx-window-resizing-bottom-right")&&(a._dragDetails.side="bottomRightCorner")}}_setElementParent(e){const t=this;if(t._windowParent.element=void 0,t._windowParent.parent&&!t._windowParent.parent.querySelectorAll("jqx-window, jqx-dialog-window, jqx-progress-window, jqx-wait-window, jqx-alert-window, jqx-prompt-window, jqx-multiline-prompt-window")&&(t._windowParent.parent.style.position=""),e instanceof HTMLElement)t._windowParent.element=e;else if("string"==typeof e)if("body"===e){const e=t.getRootNode();t._windowParent.element=e&&e.host?t.getShadowRootOrBody():document.body}else t._windowParent.element=document.getElementById(e);if(t._windowParent.element||(t._windowParent.initialParent?t._windowParent.element=t._windowParent.initialParent.parentElement?t._windowParent.initialParent:t.getShadowRootOrBody():t._windowParent.element=t.getShadowRootOrBody()),t.parentElement!==t._windowParent.element&&t._windowParent.element.appendChild(t),t._windowParent.element===document.body)t._windowParent.element=document.documentElement,t._windowParent.scrollElement=document.scrollingElement,t._windowParent.parent=document.body,t._windowParent.borderWidth=0;else{if(t.parentElement instanceof JQX.Window&&!t.parentElement.isCompleted)return void t.parentElement.whenRendered((function(){t.parentElement.appendChild(t),t._setElementParent(t.windowParent)}));if(t._windowParent.element instanceof JQX.Window&&(t._windowParent.element=t._windowParent.element.$.content),t.parentElement){const e=getComputedStyle(t.parentElement),a=e.getPropertyValue("position");t._windowParent.borderWidth=2*parseInt(e.getPropertyValue("border-width")||0),t._windowParent.parent=t.parentElement,t._windowParent.scrollElement=t._windowParent.element,"static"===a&&(t.parentElement.style.position="relative")}else t._windowParent.scrollElement=t._windowParent.element}t._setModal(),t.style.left&&t.offsetLeft>t._windowParent.scrollElement.scrollWidth&&(t.style.left=t._windowParent.scrollElement.scrollWidth-t.offsetWidth+"px"),t.style.top&&t.offsetTop>t._windowParent.scrollElement.scrollHeight&&(t.style.top=t._windowParent.scrollElement.scrollHeight-t.offsetHeight+"px")}_setModal(){const e=this;if(e._windowParent&&(delete e._changingFocus,e._windowParent.element))if(e.modal)if(e._modal||(e._modal=document.createElement("div"),e._modal.classList.add("jqx-modal")),e._windowParent.parent!==document.body?e._modal.setAttribute("nested-modal",""):e._modal.removeAttribute("nested-modal"),e._modal._window=e,e.opened&&!e._modal.parentElement){const t=parseInt(getComputedStyle(e).getPropertyValue("z-index"));isNaN(t)||(e._modal.style.zIndex=t-1),e.parentElement.insertBefore(e._modal,e)}else e._modal.parentElement&&e._modal.parentElement.removeChild(e._modal);else e._modal&&e._modal.parentElement&&(e._modal.parentElement.removeChild(e._modal),delete e._modal)}}),JQX("jqx-dialog-window",class extends JQX.Window{static get properties(){return{cancelLabel:{value:"Cancel",type:"string"},confirmLabel:{value:"Ok",type:"string"},disableSnap:{value:!0,readOnly:!0,type:"boolean"},headerButtons:{value:["close"],type:"array"},modal:{value:!0,readOnly:!0,type:"boolean",defaultReflectToAttribute:!0}}}static get listeners(){return{"footer.click":"_footerClickHandler"}}template(){return'<div role="presentation">\n                    <div class="jqx-content-container" id="container">\n                        <div id="headerSection" class="jqx-header-section" role="heading" aria-level="1">\n                            <div id="header" class="jqx-header">[[label]]</div>\n                            <div id="buttonsContainer" class="jqx-buttons-container">\n                                <button id="pinButton" class="jqx-pin-button" aria-label="Pin"></button>\n                                <button id="collapseButton" class="jqx-button jqx-element jqx-collapse-button" aria-label="Collapse"></button>\n                                <button id="minimizeButton" class="jqx-button jqx-element jqx-minimize-button" aria-label="Minimize"></button>\n                                <button id="maximizeButton" class="jqx-button jqx-element jqx-maximize-button" aria-label="Maximize"></button>\n                                <button id="closeButton" class="jqx-button jqx-element jqx-close-button" aria-label="Close"></button>\n                            </div>\n                        </div>\n                        <div class="jqx-content">\n                            <content></content>\n                        </div>\n                        <div id="footer" class="jqx-footer">\n                            <button id="cancelButton" class="jqx-button jqx-element jqx-cancel-button">[[cancelLabel]]</button>\n                            <button id="confirmButton" class="jqx-button jqx-element primary jqx-confirm-button">[[confirmLabel]]</button>\n                        </div>\n                    </div>\n                </div>'}_createElement(){const e=this;e.setAttribute("role","alertdialog"),e.setAttribute("aria-describedby",e.$.content.id)}_footerClickHandler(e){const t=this,a=e.target;a.closest(".jqx-confirm-button")?t.$.fireEvent("confirm"):a.closest(".jqx-cancel-button")&&t.$.fireEvent("cancel")}_keyDownHandler(e){const t=this;if(delete t._changingFocus,t.disabled||(t.hasAttribute("dragged")||t.hasAttribute("resized"))&&t._mouseManipulation)return;if(t.disableKeyboard)return;e.stopPropagation();const a="ArrowDown"===e.key||"ArrowRight"===e.key?10:-10,i=t.enableShadowDOM&&t._windowParent.element.getRootNode()?t._windowParent.element.getRootNode().activeElement:document.activeElement;switch(e.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":{if(t.minimized||i!==t)return;const n=e.key.indexOf("Right")>-1||e.key.indexOf("Left")>-1;if(e.preventDefault(),!n&&e.altKey)return void("ArrowUp"===e.key?t.maximize():t.restore());if(t.$.addClass("no-transition"),t.maximized)return;if(e.ctrlKey&&"none"!==t.resizeMode)return t.hasAttribute("dragged")&&t._cancelDragging(e),t.hasAttribute("resized")||t.$.fireEvent("resizeStart",{position:{x:e.pageX,y:e.pageY}}),void t._resize(n?"right":"bottom",a);t.pinned||(t.hasAttribute("dragged")||(t.setAttribute("dragged",""),t.$.fireEvent("dragStart",{left:e.pageX,top:e.pageY})),t._drag(a,n?"horizontal":"vertical")),t.$.removeClass("no-transition");break}case"Escape":t.disableEscape||t.headerButtons.indexOf("close")>-1&&t.close();break;case"Tab":t.opened&&t.modal&&(t._changingFocus=!0);break;case"Enter":case" ":{let a;if(t.shadowRoot||t.isInShadowDOM?(a=e.composedPath()[0],t._buttonPressed=a.getRootNode().host):(a=e.target.closest&&e.target.closest(".jqx-button"),t._buttonPressed=a),!a)return;t._isWindowButton(a),delete t._buttonPressed;break}}}}),JQX("jqx-alert-window",class extends JQX.DialogWindow{static get properties(){return{headerButtons:{value:[],type:"array"}}}_createElement(){const e=this;e.setAttribute("role","alertdialog"),e.setAttribute("aria-describedby",e.$.content.id)}}),JQX("jqx-prompt-window",class extends JQX.DialogWindow{static get properties(){return{autoComplete:{allowedValues:["none","manual","auto","inline"],type:"string",value:"manual"},confirmLabel:{value:"Ok",type:"string"},cancelLabel:{value:"Cancel",type:"string"},disableSnap:{value:!0,readOnly:!0,type:"boolean"},displayMode:{value:"default",allowedValues:["default","escaped"],type:"string"},headerButtons:{value:["close"],type:"array"},form:{value:"",type:"string"},hint:{value:null,type:"any?"},maxLength:{value:null,type:"number?"},minLength:{value:2,type:"number"},messages:{extend:!0,value:{en:{missingReference:"{{elementType}}: Missing reference to {{files}}."}},type:"object"},modal:{value:!0,readOnly:!0,type:"boolean",defaultReflectToAttribute:!0},name:{value:"",type:"string"},placeholder:{value:"",type:"string"},promptLabel:{value:"",type:"string?"},required:{value:!1,type:"boolean"},requiredMessage:{value:"",type:"string"},selectAllOnFocus:{value:!1,type:"boolean"},value:{value:"",type:"string"}}}template(){return'<div role="presentation">\n                    <div class="jqx-content-container" id="container">\n                        <div id="headerSection" class="jqx-header-section" role="heading" aria-level="1">\n                            <div id="header" class="jqx-header">[[label]]</div>\n                            <div id="buttonsContainer" class="jqx-buttons-container">\n                                <button id="closeButton" class="jqx-button jqx-element jqx-close-button" aria-label="Close"></button>\n                            </div>\n                        </div>\n                        <div class="jqx-content">\n                            <content></content>\n                            <jqx-text-box id="textBox"\n                                animation="[[animation]]"\n                                auto-complete="[[autoComplete]]"\n                                max-length="[[maxLength]]"\n                                value="{{value}}"\n                                form="[[form]]"\n                                label="[[promptLabel]]"\n                                hint="[[hint]]"\n                                display-mode="[[displayMode]]"\n                                max-length="[[maxLength]]"\n                                placeholder="[[placeholder]]"\n                                required="[[required]]"\n                                required-message="[[requiredMessage]]"\n                                select-all-on-focus="[[selectAllOnFocus]]"\n                                theme="[[theme]]"\n                                right-to-left="[[rightToLeft]]">\n                            </jqx-text-box>\n                        </div>\n                        <div id="footer" class="jqx-footer">\n                            <button id="cancelButton" class="jqx-button jqx-element jqx-cancel-button flat">[[cancelLabel]]</button>\n                            <button id="confirmButton" class="jqx-button jqx-element primary jqx-confirm-button flat">[[confirmLabel]]</button>\n                        </div>\n                    </div>\n                </div>'}static get listeners(){return{"footer.click":"_footerClickHandler"}}static get requires(){return{"JQX.TextBox":"jqx.textbox.js"}}_footerClickHandler(e){const t=this,a=e.target;a.closest(".jqx-confirm-button")?t.$.fireEvent("confirm",{value:t.$.textBox.value}):a.closest(".jqx-cancel-button")&&t.$.fireEvent("cancel",{value:t.$.textBox.value})}_keyDownHandler(e){const t=this;function a(){t._dragDetails&&(t._dragDetails.started=!1),t.$.removeClass("no-transition")}if(delete t._changingFocus,t.disabled||t._dragDetails&&t._dragDetails.started)return;if(t.disableKeyboard)return;e.stopPropagation();const i="ArrowDown"===e.key||"ArrowRight"===e.key?10:-10,n=t.enableShadowDOM&&t._windowParent.element.getRootNode()?t._windowParent.element.getRootNode().activeElement:document.activeElement;switch(t.$.removeClass("no-transition"),e.key){case"ArrowUp":case"ArrowDown":if(n!==t)return;if(e.preventDefault(),e.altKey)return"ArrowUp"===e.key?t.maximize():t.restore(),void a();if(t.$.addClass("no-transition"),e.ctrlKey)return t._resize("bottom",i),void a();t._drag(i,"vertical");break;case"ArrowLeft":case"ArrowRight":if(n!==t)return;if(e.preventDefault(),t.$.addClass("no-transition"),e.ctrlKey)return t._resize("right",i),void a();t._drag(i,"horizontal"),t.$.removeClass("no-transition");break;case"Escape":t.disableEscape||t.headerButtons.indexOf("close")>-1&&t.close();break;case"Tab":t.opened&&t.modal&&(t._changingFocus=!0);break;case"Enter":case" ":{let a;if(t.shadowRoot||t.isInShadowDOM?(a=e.composedPath()[0],t._buttonPressed=a.getRootNode().host):(a=e.target.closest&&e.target.closest(".jqx-button"),t._buttonPressed=a),!a)return;t._isWindowButton(a),delete t._buttonPressed;break}}a()}}),JQX("jqx-multiline-prompt-window",class extends JQX.PromptWindow{static get properties(){return{autoCapitalize:{value:"none",allowedValues:["none","words","characters"],type:"string"},autoExpand:{value:!1,type:"boolean"},headerButtons:{value:["close"],type:"array"},horizontalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]},modal:{value:!0,readOnly:!0,type:"boolean",defaultReflectToAttribute:!0},selectionDirection:{value:"none",allowedValues:["forward","backward","none"],type:"string"},selectionEnd:{value:0,reflectToAttribute:!1,type:"number"},selectionStart:{value:0,reflectToAttribute:!1,type:"number"},spellCheck:{value:!1,type:"boolean"},verticalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]},wrap:{value:"soft",allowedValues:["hard","soft","off"],type:"string"}}}template(){return'<div role="presentation">\n                    <div class="jqx-content-container" id="container">\n                        <div id="headerSection" class="jqx-header-section" role="heading" aria-level="1">\n                            <div id="header" class="jqx-header">[[label]]</div>\n                            <div id="buttonsContainer" class="jqx-buttons-container">\n                                <button id="closeButton" class="jqx-button jqx-element jqx-close-button" aria-label="Close"></button>\n                            </div>\n                        </div>\n                        <div class="jqx-content">\n                            <content></content>\n                           <jqx-multiline-text-box id="textBox"\n                                animation="[[animation]]"\n                                horizontal-scroll-bar-visibility= "[[horizontalScrollBarVisibility]]"\n                                vertical-scroll-bar-visibility= "[[verticalScrollBarVisibility]]"\n                                auto-capitalize="[[autoCapitalize]]"\n                                auto-expand = "[[autoExpand]]"\n                                selection-direction= "[[selectionDirection]]"\n                                selection-end= "[[selectionEnd]]"\n                                selection-start="[[selectionStart]]"\n                                spell-check= "[[spellCheck]]"\n                                wrap="[[wrap]]"\n                                max-length="[[maxLength]]"\n                                value="{{value}}"\n                                form="[[form]]"\n                                label="[[promptLabel]]"\n                                hint="[[hint]]"\n                                display-mode="[[displayMode]]"\n                                max-length="[[maxLength]]"\n                                placeholder="[[placeholder]]"\n                                required="[[required]]"\n                                required-message="[[requiredMessage]]"\n                                select-all-on-focus="[[selectAllOnFocus]]"\n                                theme="[[theme]]"\n                                right-to-left="[[rightToLeft]]">\n                           </jqx-multiline-text-box>\n                        </div>\n                        <div id="footer" class="jqx-footer">\n                            <button id="cancelButton" class="jqx-button jqx-element jqx-cancel-button flat">[[cancelLabel]]</button>\n                            <button id="confirmButton" class="jqx-button jqx-element jqx-confirm-button flat">[[confirmLabel]]</button>\n                        </div>\n                    </div>\n                </div>'}static get listeners(){return{"footer.click":"_footerClickHandler"}}static get requires(){return{"JQX.MultilineTextBox":"jqx.multilinetextbox.js"}}_footerClickHandler(e){const t=this,a=e.target;a.closest(".jqx-confirm-button")?t.$.fireEvent("confirm",{value:t.$.textBox.value}):a.closest(".jqx-cancel-button")&&t.$.fireEvent("cancel",{value:t.$.textBox.value})}}),JQX("jqx-progress-window",class extends JQX.Window{static get properties(){return{completeLabel:{value:"Continue",type:"string"},disableSnap:{value:!0,readOnly:!0,type:"boolean"},headerButtons:{value:["close"],type:"array"},indeterminate:{value:!1,type:"boolean"},inverted:{value:!1,type:"boolean"},formatFunction:{value:null,type:"function"},max:{value:100,type:"number"},modal:{value:!0,readOnly:!0,type:"boolean",defaultReflectToAttribute:!0},min:{value:0,type:"number"},showProgressValue:{value:!1,type:"boolean"},value:{value:0,type:"number?"}}}template(){return'<div role="presentation">\n                    <div class="jqx-content-container" id="container">\n                        <div id="headerSection" class="jqx-header-section" role="heading" aria-level="1">\n                            <div id="header" class="jqx-header">[[label]]</div>\n                            <div id="buttonsContainer" class="jqx-buttons-container">\n                                <button id="closeButton" class="jqx-button jqx-element jqx-close-button" aria-label="Close"></button>\n                            </div>\n                        </div>\n                        <div class="jqx-content" inner-h-t-m-l="[[innerHTML]]">\n                            <content></content>\n                        </div>\n                        <div id="footer" class="jqx-footer">\n                            <jqx-progress-bar id="progressBar"\n                                animation="[[animation]]"\n                                min="[[min]]"\n                                max="[[max]]"\n                                indeterminate="[[inditerminate]]"\n                                inverted="[[inverted]]"\n                                format-function="[[formatFunction]]"\n                                show-progress-value="[[showProgressValue]]"\n                                theme="[[theme]]"\n                                right-to-left="[[rightToLeft]]"\n                                value="{{value}}">\n                            </jqx-progress-bar>\n                            <button id="completeButton" class="jqx-button jqx-element jqx-complete-button jqx-visibility-hidden">[[completeLabel]]</button>\n                        </div>\n                    </div>\n                </div>'}static get requires(){return{"JQX.ProgressBar":"jqx.progressbar.js"}}propertyChangedHandler(e,t,a){const i=this;switch(e){case"value":i._handleCompletion();break;default:super.propertyChangedHandler(e,t,a)}}_createElement(){this.setAttribute("role","dialog"),this._handleCompletion()}_handleCompletion(){const e=this;e.$.completeButton&&(e.value>=e.max?(e.$completeButton.removeClass("jqx-visibility-hidden"),e.$progressBar.addClass("jqx-visibility-hidden")):(e.$completeButton.addClass("jqx-visibility-hidden"),e.$progressBar.removeClass("jqx-visibility-hidden")))}_keyDownHandler(e){const t=this;function a(){t._dragDetails&&(t._dragDetails.started=!1),t.$.removeClass("no-transition")}if(delete t._changingFocus,t.disabled||t._dragDetails&&t._dragDetails.started)return;if(t.disableKeyboard)return;e.stopPropagation();const i="ArrowDown"===e.key||"ArrowRight"===e.key?10:-10,n=t.enableShadowDOM&&t._windowParent.element.getRootNode()?t._windowParent.element.getRootNode().activeElement:document.activeElement;switch(t.$.removeClass("no-transition"),e.key){case"ArrowUp":case"ArrowDown":if(n!==t)return;if(e.preventDefault(),e.altKey)return"ArrowUp"===e.key?t.maximize():t.restore(),void a();if(t.$.addClass("no-transition"),e.ctrlKey)return t._resize("bottom",i),void a();t._drag(i,"vertical"),t.$.removeClass("no-transition");break;case"ArrowLeft":case"ArrowRight":if(n!==t)return;if(e.preventDefault(),t.$.addClass("no-transition"),e.ctrlKey)return t._resize("right",i),void a();t._drag(i,"horizontal"),t.$.removeClass("no-transition");break;case"Escape":t.disableEscape||t.headerButtons.indexOf("close")>-1&&t.close();break;case"Tab":t.opened&&t.modal&&(t._changingFocus=!0);break;case"Enter":case" ":{let a;if(t.shadowRoot||t.isInShadowDOM?(a=e.composedPath()[0],t._buttonPressed=a.getRootNode().host):(a=e.target.closest&&e.target.closest(".jqx-button"),t._buttonPressed=a),!a)return;t._isWindowButton(a),delete t._buttonPressed;break}}a()}}),JQX("jqx-tabs-window",class extends JQX.Window{static get properties(){return{disableSnap:{value:!0,readOnly:!0,type:"boolean"},dropPosition:{value:["all"],type:"array"},addNewTab:{value:!1,type:"boolean"},allowToggle:{value:!1,type:"boolean"},autoHide:{value:!1,type:"boolean"},autoHideWindow:{value:null,type:"any"},dataSource:{value:null,type:"array?",reflectToAttribute:!1},tabCloseButtonMode:{value:"default",allowedValues:["default","selected"],type:"string"},tabCloseButtons:{value:!1,type:"boolean"},draggable:{value:!0,type:"boolean",reflectToAttribute:!1},messages:{value:{en:{ambiguousIndexes:"jqx-tabs: Initially set jqx-tab-item indexes are ambiguous and are ignored in favour of the HTML structure.",detailsObjectRequired:'jqx-tabs: The method "insert" requires a details Object to be passed as a second argument.',invalidIndex:'jqx-tabs: "{{method}}" method accepts an index of type number.',referenceNodeNotChild:"jqx-tabs: Passed {{argument}} is not part of this jqx-tabs element.",tabItemRequired:'jqx-tabs: The method "{{method}}" requires a "jqx-tab-item" element to be passed as an argument.'}},type:"object",extend:!0},tabOverflow:{value:"auto",allowedValues:["auto","hidden","scroll"],type:"string"},tabReorder:{value:!1,type:"boolean"},tabResize:{value:!1,type:"boolean"},tabScrollButtonsPosition:{value:"both",allowedValues:["near","far","both"],type:"string"},selectedIndex:{value:null,type:"number?"},selectionMode:{value:"click",allowedValues:["click","dblclick","mouseenter","none"],type:"string"},collapsed:{value:!1,type:"boolean"},collapsible:{value:!1,type:"boolean"},locked:{value:!1,type:"boolean"},max:{value:"",type:"any"},min:{value:"",type:"any"},size:{value:"",type:"any"},tabLayout:{value:"scroll",allowedValues:["scroll","dropdown","wrap","shrink"],type:"string",defaultReflectToAttribute:!0},tabPosition:{value:"top",allowedValues:["top","bottom","left","right","hidden"],type:"string"},tabTextOrientation:{value:"horizontal",allowedValues:["horizontal","vertical"],type:"string"},layout:{value:null,type:"any"}}}static get listeners(){return{"tabsElement.blur":"_tabsFocusHandler","tabsElement.change":"_tabsChangeHandler","tabsElement.focus":"_tabsFocusHandler","autoHideWindow.close":"_autoHideWindowCloseHandler","autoHideWindow.open":"_autoHideWindowOpenHandler"}}template(){return'<div role="presentation">\n                    <div class="jqx-content-container" id="container">\n                        <div id="headerSection" class="jqx-header-section" role="heading" aria-level="1">\n                            <div id="header" class="jqx-header">[[label]]</div>\n                            <div id="buttonsContainer" class="jqx-buttons-container">\n                                <button id="minimizeButton" class="jqx-button jqx-element jqx-minimize-button" aria-label="Minimize"></button>\n                                <button id="maximizeButton" class="jqx-button jqx-element jqx-maximize-button" aria-label="Maximize"></button>\n                                <button id="closeButton" class="jqx-button jqx-element jqx-close-button" aria-label="Close"></button>\n                            </div>\n                        </div>\n                        <div id="contentSection" class="jqx-content">\n                           <jqx-tabs id="tabsElement"\n                                animation="[[animation]]"\n                                add-new-tab="[[addNewTab]]"\n                                allow-toggle="[[allowToggle]]"\n                                close-button-mode="[[tabCloseButtonMode]]"\n                                close-buttons="[[tabCloseButtons]]"\n                                disabled="[[disabled]]"\n                                overflow="[[tabOverflow]]"\n                                reorder="[[tabReorder]]"\n                                resize="[[tabResize]]"\n                                scroll-buttons-position="[[tabScrollButtonsPosition]]"\n                                selected-index="{{selectedIndex}}"\n                                selection-mode="[[selectionMode]]"\n                                tab-layout="[[tabLayout]]"\n                                tab-position="[[tabPosition]]"\n                                tab-text-orientation="[[tabTextOrientation]]"\n                                theme="[[theme]]"\n                                right-to-left="[[rightToLeft]]">\n                                <content></content>\n                            </jqx-tabs>\n                        </div>\n                        <div id="footer" class="jqx-footer jqx-hidden"></div>\n                    </div>\n                </div>'}static get requires(){return{"JQX.Tabs":"jqx.tabs.js"}}appendChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?(e instanceof JQX.TabItem||t.error(t.localize("tabItemRequired",{method:"removeChild"})),t.$.tabsElement.appendChild(e)):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"appendChild",node:"node"}))}insert(e,t){this.$.tabsElement.insert(e,t);const a=this.$.tabsElement._tabs[e];a&&(a.draggable=void 0===t.draggable||t.draggable,a.floatable=void 0===t.floatable||t.floatable)}insertBefore(e,t){this.$.tabsElement.insertBefore(e,t)}removeAt(e){this.$.tabsElement.removeAt(e)}removeChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("jqx-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?(e instanceof JQX.TabItem||t.error(t.localize("tabItemRequired",{method:"removeChild"})),(t.shadowRoot||t).contains(e)||t.error(t.localize("referenceNodeNotChild",{argument:"node"})),t.$.tabsElement.removeChild(e)):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"removeChild",node:"node"}))}refreshTabHeader(){const e=this;e.$.tabsElement&&e.$.tabsElement.isCompleted&&e.$.tabsElement.refreshTabHeader()}refreshTabs(){const e=this;e.$.tabsElement&&e.$.tabsElement.isCompleted&&e.$.tabsElement._applyTabOverflow()}select(e){this.$.tabsElement.select(e)}update(e,t,a){this.$.tabsElement.update(e,t,a)}get items(){return this.isCompleted&&this.$.tabsElement?this.$.tabsElement._tabs:null}get itemLabels(){return this.$?this.$.tabsElement._tabLabelContainers:null}get siblings(){const e=this;let t=[];if(!e.isCompleted)return t;const a=e.closest("jqx-splitter");if(!a||!a.closest("jqx-docking-layout"))return t;const i=a._items;if(!i||!i.length)return t;for(let n=0;n<i.length;n++){const o=i[n];o!==e.closest("jqx-splitter-item")&&o.querySelector("jqx-tabs-window").closest("jqx-splitter")===a&&t.push(o.querySelector("jqx-tabs-window"))}return t}propertyChangedHandler(e,t,a){const i=this;switch("collapsed"!==e&&super.propertyChangedHandler(e,t,a),e){case"theme":""!==t&&(i.$.closeButton.classList.remove(t),i.$.collapseButton.classList.remove(t),i.$.maximizeButton.classList.remove(t),i.$.pinButton.classList.remove(t)),i._applyTheme(a);break;case"autoHideWindow":i._handleAutoHideWindow();break;case"autoHide":a||(null!==i.$.tabsElement.selectedIndex&&(i.$.tabsElement._tabs[i.$.tabsElement.selectedIndex]._autoHideWindowSize=void 0),i._autoHideWindow&&i._autoHideWindow.close());break;case"dataSource":i.$.tabsElement.dataSource=a;break;case"layout":i._handleLayoutProperty();break;case"collapsible":case"collapsed":case"locked":case"max":case"min":case"size":{const n=i.getRootNode(),o=(n&&n.host?n.host:i).closest("jqx-docking-layout"),s=i.closest("jqx-splitter-item");if(!o)return void("collapsed"===e&&super.propertyChangedHandler(e,t,a));s&&(s[e]=a);break}}}_applyTheme(e){if(""!==e){const t=this.$.buttonsContainer.children;for(let a=0;a<t.length;a++)t[a].classList.add(e)}}_autoHideWindowCloseHandler(){const e=this;e.allowToggle&&null!==e.$.tabsElement.selectedIndex&&e.$.tabsElement.select(e.$.tabsElement.selectedIndex),e._autoHideWindow&&e._moveContent(e._autoHideWindow.items[0],e._autoHideWindow._tab)}_autoHideWindowOpenHandler(){const e=this;e.$.tabsElement.selectedIndex&&e._handleAutoHide(e.$.tabsElement.selectedIndex)}_createElement(){const e=this;e.setAttribute("role","dialog"),e.$.tabsElement.$.tabHeaderControls&&!e.$.tabsElement.$.tabHeaderControls.innerHTML&&e.$.tabsElement.$tabHeaderControls.addClass("jqx-hidden"),e.$.tabsElement.dataSource=e.dataSource,e._applyTheme(e.theme),e._handleAutoHideWindow(),e.autoHide&&e._handleAutoHide(e.$.tabsElement.selectedIndex),e.allowToggle||e.selectedIndex||null===e.$.tabsElement.selectedIndex||(e.selectedIndex=e.$.tabsElement.selectedIndex,e.$.tabsElement.setAttribute("selected-index",e.selectedIndex)),e._handleLayoutProperty();const t=(e.isInShadowDOM?e.getRootNode().host:e||e).closest("jqx-docking-layout"),a=e.closest("jqx-splitter-item");t&&a&&(a.collapsible=e.collapsible,a.collapsed=e.collapsed,a.min=e.min,a.max=e.max,a.size=e.size,a.locked=e.locked)}attached(){super.attached();const e=this;e.classList.add("jqx-window"),e.shadowRoot&&e.$.root.classList.add("jqx-window")}_handleLayoutProperty(){const e=this;let t=e.closest("jqx-docking-layout");if(JQX.DockingLayout){if(!e.ownerLayout&&e.getRootNode()){let a=e.getRootNode().host;for(;a;){if(!a.closest)return;if(a.closest("jqx-docking-layout")){t=a.closest("jqx-docking-layout");break}a=a.getRootNode()?a.getRootNode().host:void 0}}t?e.layout=t:e.layout instanceof JQX.DockingLayout||"string"==typeof e.layout&&(e.layout=document.getElementById(e.layout))}}_headerDblCickHandler(e){const t=this,a=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;e.ctrlKey||a!==t.$.headerSection&&a!==t.$.header||t.$.maximizeButton&&0===t.$.maximizeButton.offsetHeight||(t.maximized?t.restore():t.maximize())}_documentUpHandler(e){const t=this;let a=e.originalEvent.target.closest?e.originalEvent.target.closest(".jqx-window"):e.originalEvent.target,i=a===t||a===t._autoHideWindow||t._isAutoHideWindowClicked,n=t.closest("jqx-docking-layout");(t.shadowRoot||t.isInShadowDOM)&&(a=e.originalEvent.composedPath()[0],i=a.getRootNode()===t.shadowRoot||a.closest(".jqx-window")===t||a.closest(".jqx-window")===t._autoHideWindow||t._isAutoHideWindowClicked),n=((t.isInShadowDOM?t.getRootNode().host:t)||t).closest("jqx-docking-layout"),n&&n.disabled?delete t._isWindowContentClicked:(super._documentUpHandler(e),delete t._isAutoHideWindowClicked,t.autoHide&&t._autoHideWindow&&(i&&t._autoHideWindow.opened||(t.selectedIndex=null,t._autoHideWindow.parentElement&&t._autoHideWindow.parentElement.closest(".jqx-window")===t&&t._autoHideWindow.close())))}_handleAutoHide(e){const t=this;if(!t.autoHide||null===e)return;if(t._autoHideWindow||t._handleAutoHideWindow(!0),!t._autoHideWindow)return;t._autoHideWindow._tabsWindow&&t._autoHideWindow._tabsWindow!==t&&(t._autoHideWindow._tabsWindow.selectedIndex=null);const a=t.$.tabsElement._tabs[e];t._autoHideWindow._tab!==a&&t._moveContent(t._autoHideWindow.items[0],t._autoHideWindow._tab),t._autoHideWindow.label=a.label,t._autoHideWindow.draggable=a.draggable,t._autoHideWindow.floatable=a.floatable,t._autoHideWindow._tab=a,t._autoHideWindow.headerButtons=t.headerButtons,t._moveContent(t._autoHideWindow._tab,t._autoHideWindow.items[0]),t._autoHideWindow.bringToFront(),t._setAutoHideWindowSize(e),t._autoHideWindow.open(),t._autoHideWindow._tabsWindow=t,t._autoHideWindow.controlledBy&&t._autoHideWindow.controlledBy.removeAttribute("aria-controls"),t._autoHideWindow.controlledBy=t.$.tabsElement._tabLabelContainers[e],t._autoHideWindow.controlledBy.setAttribute("aria-controls",t._autoHideWindow.id)}_moveHandler(e){const t=this,a=t.closest("jqx-docking-layout");a&&a.items.indexOf(t)>-1||(JQX.Utilities.Core.isMobile&&navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)&&t.layout instanceof JQX.DockingLayout&&t.layout.hasAttribute("dragged")&&e.originalEvent.preventDefault(),super._moveHandler(e))}_setAutoHideWindowSize(e){const t=this;if(!t._autoHideWindow)return;t._autoHideWindow.$.addClass("no-transition"),t._autoHideWindow.style.maxWidth=t._autoHideWindow.style.maxHeight="";const a=t.$.tabsElement._tabs[e],i=(t._autoHideWindow.isInShadowDOM?t._autoHideWindow.getRootNode().host:t._autoHideWindow).closest("jqx-docking-layout")||t._autoHideWindow.parentElement;let n,o;if(a){if("top"===t.tabPosition||"bottom"===t.tabPosition){t._autoHideWindow.resizeMode="top"===t.tabPosition?"bottom":"top",t._autoHideWindow.style.width=t.$.tabsElement.offsetWidth+"px",n=i.getBoundingClientRect(),o=t.$.tabsElement.getBoundingClientRect();let e=a._autoHideWindowSize&&parseFloat(a._autoHideWindowSize)||"";JQX.DockingLayout&&i instanceof JQX.DockingLayout&&(e&&(e=Math.min(i.$.itemsContainer.offsetHeight,e)+"px"),t._autoHideWindow.style.maxHeight=i.$.itemsContainer.offsetHeight+"px"),t._autoHideWindow.style.height=e,t._autoHideWindow.style.left=o.left-n.left+"px",t._autoHideWindow&&("top"===t.tabPosition?t._autoHideWindow.style.top=o.top+-n.top+o.height+"px":t._autoHideWindow.style.top=o.top-n.top-t._autoHideWindow.offsetHeight+"px")}else{t._autoHideWindow.resizeMode="left"===t.tabPosition?"right":"left",t._autoHideWindow.style.height=t.$.tabsElement.offsetHeight+"px";let e=a._autoHideWindowSize&&parseFloat(a._autoHideWindowSize)||"";i instanceof JQX.DockingLayout&&(e&&(e=Math.min(i.$.itemsContainer.offsetWidth,e)+"px"),t._autoHideWindow.style.maxWidth=i.$.itemsContainer.offsetWidth+"px"),t._autoHideWindow.style.width=e,n=i.getBoundingClientRect(),o=t.$.tabsElement.getBoundingClientRect(),t._autoHideWindow.style.top=o.top-n.top+"px","left"===t.tabPosition?t._autoHideWindow.style.left=o.left-n.left+t.$.tabsElement.offsetWidth+"px":t._autoHideWindow.style.left=o.left-n.left-t._autoHideWindow.offsetWidth+"px"}t._autoHideWindow._dragDetails&&(t._autoHideWindow._dragDetails.maxWidth=void 0),t._autoHideWindow._setDragDetails("resize"),t._autoHideWindow._dragDetails.started=!1,t._autoHideWindow.$.removeClass("no-transition")}}_handleAutoHideWindow(e){const t=this;if(t.autoHideWindow){if(t._autoHideWindow&&t._autoHideWindow.parentElement.removeChild(t._autoHideWindow),"string"==typeof t.autoHideWindow)return void(t._autoHideWindow=document.getElementById(t.autoHideWindow));if(t.autoHideWindow instanceof JQX.Window)return void(t._autoHideWindow=t.autoHideWindow)}if(!e||t._autoHideWindow||2===t.$.contentSection.children.length&&t.$.contentSection.children[1]instanceof JQX.Window)return;const a=document.createElement("jqx-window");a.$=JQX.Utilities.Extend(a),a.disableSnap=a.pinned=!0,a.headerButtons=["close"],t.$.contentSection.appendChild(a),t._autoHideWindow=a}_moveContent(e,t){if(!e||!t)return;const a=[].slice.call(e.$.content.childNodes);for(let e=0;e<a.length;e++)t.appendChild(a[e])}_tabsChangeHandler(e){const t=this;if(e.target===t.$.tabsElement&&t.autoHide){if(t._autoHideWindow||t._handleAutoHideWindow(!0),null!==e.detail.oldIndex&&t._autoHideWindow.opened&&(t.$.tabsElement._tabs[e.detail.oldIndex]._autoHideWindowSize=t._autoHideWindow.style["right"===t.$.tabsElement.tabPosition||"left"===t.$.tabsElement.tabPosition?"width":"height"]),!t.autoHide||null===e.detail.index||void 0===e.detail.index)return t._autoHideWindow.setAttribute("active",""),void t._autoHideWindow.close();t._handleAutoHide(e.detail.index)}}_tabsFocusHandler(e){const t=this;"focus"===e.type?(t.bringToFront(),t.setAttribute("focus","")):t.removeAttribute("focus")}}),JQX("jqx-wait-window",class extends JQX.ProgressWindow{static get properties(){return{headerButtons:{value:[],type:"array"},disableSnap:{value:!0,readOnly:!0,type:"boolean"},modal:{value:!0,readOnly:!0,type:"boolean",defaultReflectToAttribute:!0},pinned:{value:!0,type:"boolean",readOnly:!0}}}template(){return'<div role="presentation">\n                    <div class="jqx-content-container" id="container">\n                        <div id="headerSection" class="jqx-header-section" role="heading" aria-level="1">\n                            <div id="header" class="jqx-header">[[label]]</div>\n                            <div id="buttonsContainer" class="jqx-buttons-container">\n                                <button id="closeButton" class="jqx-button jqx-element jqx-close-button" aria-label="Close"></button>\n                            </div>\n                        </div>\n                        <div class="jqx-content">\n                            <content></content>\n                            <jqx-progress-bar id="progressBar" animation="[[animation]]" indeterminate theme="[[theme]]" right-to-left="[[rightToLeft]]"></jqx-progress-bar>\n                        </div>\n                        <div id="footer" class="jqx-footer"></div>\n                    </div>\n                </div>'}_keyDownHandler(e){const t=this;function a(){t._dragDetails&&(t._dragDetails.started=!1),t.$.removeClass("no-transition")}if(delete t._changingFocus,t.disabled||t._dragDetails&&t._dragDetails.started)return;const i=t.shadowRoot||t._windowParent.element.getRootNode()?t._windowParent.element.getRootNode().activeElement:document.activeElement;e.stopPropagation();const n="ArrowDown"===e.key||"ArrowRight"===e.key?10:-10;switch(t.$.removeClass("no-transition"),e.key){case"ArrowUp":case"ArrowDown":if(i!==t)return;if(e.preventDefault(),e.altKey)return"ArrowUp"===e.key?t.maximize():t.restore(),void a();if(t.$.addClass("no-transition"),e.ctrlKey)return t._resize("bottom",n),void a();t._drag(n,"vertical");break;case"ArrowLeft":case"ArrowRight":if(i!==t)return;if(e.preventDefault(),t.$.addClass("no-transition"),e.ctrlKey)return t._resize("right",n),void a();t._drag(n,"horizontal");break;case"Tab":t.opened&&t.modal&&(t._changingFocus=!0);break;case"Enter":case" ":{let a;if(t.shadowRoot||t.isInShadowDOM?(a=e.composedPath()[0],t._buttonPressed=a.getRootNode().host):(a=e.target.closest&&e.target.closest(".jqx-button"),t._buttonPressed=a),!a)return;t._isWindowButton(a),delete t._buttonPressed;break}}a()}});

/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			// no module.id needed
/******/ 			// no module.loaded needed
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/compat get default export */
/******/ 	(() => {
/******/ 		// getDefaultExport function for compatibility with non-harmony modules
/******/ 		__webpack_require__.n = (module) => {
/******/ 			var getter = module && module.__esModule ?
/******/ 				() => (module['default']) :
/******/ 				() => (module);
/******/ 			__webpack_require__.d(getter, { a: getter });
/******/ 			return getter;
/******/ 		};
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/define property getters */
/******/ 	(() => {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = (exports, definition) => {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	(() => {
/******/ 		__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ 	})();
/******/ 	
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
(() => {
"use strict";
/* unused harmony export jqxGanttChart */
/* harmony import */ var _jqx_element_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6321);
/* harmony import */ var _jqx_element_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jqx_element_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _jqx_button_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2612);
/* harmony import */ var _jqx_button_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jqx_button_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _jqx_scrollbar_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9135);
/* harmony import */ var _jqx_scrollbar_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jqx_scrollbar_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _jqx_date_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2052);
/* harmony import */ var _jqx_date_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jqx_date_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _jqx_listbox_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5707);
/* harmony import */ var _jqx_listbox_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jqx_listbox_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _jqx_dropdownlist_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7650);
/* harmony import */ var _jqx_dropdownlist_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jqx_dropdownlist_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var _jqx_draw_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9613);
/* harmony import */ var _jqx_draw_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_jqx_draw_js__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var _jqx_numeric_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2754);
/* harmony import */ var _jqx_numeric_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_jqx_numeric_js__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var _jqx_math_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8687);
/* harmony import */ var _jqx_math_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_jqx_math_js__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var _jqx_tooltip_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(6693);
/* harmony import */ var _jqx_tooltip_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_jqx_tooltip_js__WEBPACK_IMPORTED_MODULE_9__);
/* harmony import */ var _jqx_timepicker_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(1419);
/* harmony import */ var _jqx_timepicker_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_jqx_timepicker_js__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var _jqx_calendar_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(5810);
/* harmony import */ var _jqx_calendar_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_jqx_calendar_js__WEBPACK_IMPORTED_MODULE_11__);
/* harmony import */ var _jqx_datetimepicker_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(7054);
/* harmony import */ var _jqx_datetimepicker_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_jqx_datetimepicker_js__WEBPACK_IMPORTED_MODULE_12__);
/* harmony import */ var _jqx_data_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(6057);
/* harmony import */ var _jqx_data_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_jqx_data_js__WEBPACK_IMPORTED_MODULE_13__);
/* harmony import */ var _jqx_input_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(8588);
/* harmony import */ var _jqx_input_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_jqx_input_js__WEBPACK_IMPORTED_MODULE_14__);
/* harmony import */ var _jqx_filter_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(6170);
/* harmony import */ var _jqx_filter_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_jqx_filter_js__WEBPACK_IMPORTED_MODULE_15__);
/* harmony import */ var _jqx_format_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(2515);
/* harmony import */ var _jqx_format_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_jqx_format_js__WEBPACK_IMPORTED_MODULE_16__);
/* harmony import */ var _jqx_gridpanel_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(3176);
/* harmony import */ var _jqx_gridpanel_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_jqx_gridpanel_js__WEBPACK_IMPORTED_MODULE_17__);
/* harmony import */ var _jqx_pager_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(9362);
/* harmony import */ var _jqx_pager_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_jqx_pager_js__WEBPACK_IMPORTED_MODULE_18__);
/* harmony import */ var _jqx_table_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(5523);
/* harmony import */ var _jqx_table_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_jqx_table_js__WEBPACK_IMPORTED_MODULE_19__);
/* harmony import */ var _jqx_export_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(6802);
/* harmony import */ var _jqx_export_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_jqx_export_js__WEBPACK_IMPORTED_MODULE_20__);
/* harmony import */ var _jqx_splitter_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(1066);
/* harmony import */ var _jqx_splitter_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_jqx_splitter_js__WEBPACK_IMPORTED_MODULE_21__);
/* harmony import */ var _jqx_window_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(8466);
/* harmony import */ var _jqx_window_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_jqx_window_js__WEBPACK_IMPORTED_MODULE_22__);
/* harmony import */ var _jqx_tabs_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(9532);
/* harmony import */ var _jqx_tabs_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_jqx_tabs_js__WEBPACK_IMPORTED_MODULE_23__);
/* harmony import */ var _jqx_ganttchart_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(859);
/* harmony import */ var _jqx_ganttchart_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_jqx_ganttchart_js__WEBPACK_IMPORTED_MODULE_24__);





















class jqxGanttChart extends JQX.Component {
	get name() {
		return 'jqxGanttChart';
	}		
}

delete window.jqxDropDownList;
delete window.jqxGrid;
delete window.jqxButton;
delete window.jqxScrollBar;
delete window.jqxTooltip;
delete window.jqxListBox;
delete window.jqxComboBox;
delete window.jqxWindow;

})();

/******/ })()
;