@mescius/wijmo.input 5.20261.45-nightly.d20260105.t163143 → 5.20261.45-nightly.d20260106.t072437

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20261.45-nightly.d20260105.t163143
3
+ * Wijmo Library 5.20261.45-nightly.d20260106.t072437
4
4
  * https://developer.mescius.com/wijmo
5
5
  *
6
6
  * Copyright(c) MESCIUS inc. All rights reserved.
@@ -11,4 +11,4 @@
11
11
  *
12
12
  */
13
13
 
14
- "use strict";var __importStar=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.hasOwnProperty.call(t,i)&&(e[i]=t[i]);e.default=t;return e};Object.defineProperty(exports,"__esModule",{value:!0});const wijmo_1=require("@mescius/wijmo"),selfModule=__importStar(require("@mescius/wijmo.input"));exports.AutoCompleteClsNames={hostElement:"wj-autocomplete"};exports.CalendarClsNames={buttonsOutside:"wj-btns-outside",calendarHeader:"wj-calendar-header",calendarMonth:"wj-calendar-month",calendarMultiMonth:"wj-calendar-multimonth",calendarOuter:"wj-calendar-outer",calendarYear:"wj-calendar-year",dayOtherMonth:"wj-day-othermonth",dayToday:"wj-day-today",dayWeekend:"wj-day-weekend",header:"wj-header",hostElement:"wj-calendar",monthSelect:"wj-month-select",weekAfter:"wj-week-after",weekBefore:"wj-week-before",yearPicker:"wj-yearpicker",focused:"wj-state-focus",selectedYear:"wj-select-year",confirmationButtonContainer:"wj-calendar-confirmation-button-container",button:"wj-calendar-button"};exports.CollectionViewNavigatorClsNames={hostElement:"wj-collectionview-navigator",pager:"wj-pager"};exports.ColorPickerClsNames={colorBox:"wj-colorbox",hostElement:"wj-colorpicker"};exports.ComboBoxClsNames={hostElement:"wj-combobox",stateMatch:"wj-state-match"};exports.DropDownClsNames={dropDownPanel:"wj-dropdown-panel",hostElement:"wj-dropdown"};exports.InputClsNames={input:"wj-input",inputBtnVisible:"wj-input-btn-visible",inputGroup:"wj-input-group",inputGroupBtn:"wj-input-group-btn"};exports.InputColorClsNames={hostElement:"wj-inputcolor",inputColorBox:"wj-inputcolorbox"};exports.InputDateClsNames={hostElement:"wj-inputdate",inputDateDropDown:"wj-inputdate-dropdown",inputDateDropDownContainer:"wj-inputdate-dropdown-container"};exports.InputDateRangeClsNames={hostElement:"wj-inputdaterange"};exports.InputDateTimeClsNames={hostElement:"wj-inputdatetime",showDropDownButton:"wj-show-dropdown-button"};exports.InputMaskClsNames={hostElement:"wj-inputmask"};exports.InputNumberClsNames={hostElement:"wj-inputnumber",numeric:"wj-numeric",showSpinner:"wj-input-show-spinner"};exports.InputTimeClsNames={hostElement:"wj-inputtime"};exports.ListBoxClsNames={header:"wj-header",hostElement:"wj-listbox",listBoxItem:"wj-listbox-item"};exports.MenuClsNames={hostElement:"wj-menu",menuItems:"wj-menu-items",subItems:"wj-subitems"};exports.MultiAutoCompleteClsNames={hostElement:"wj-multi-autocomplete",token:"wj-token",tokenActive:"wj-token-active",tokenClose:"wj-token-close",tokenHelper:"wj-token-helper",tokenLabel:"wj-token-label",screenReaderOnly:"wj-sr-only"};exports.MultiSelectClsNames={hostElement:"wj-multiselect"};exports.MultiSelectListBoxClsNames={header:"wj-header",hostElement:"wj-multiselectlistbox",selectAll:"wj-select-all"};exports.PopupClsNames={dialogHeader:"wj-dialog-header",hostElement:"wj-popup",popupBackDrop:"wj-popup-backdrop",dialogBody:"wj-dialog-body",dialogFooter:"wj-dialog-footer"};wijmo_1._addCultureInfo("InputNumber",{ariaLabels:{incVal:"Increase Value",decVal:"Decrease Value",inputNumberInput:"InputNumber Input",inputNumber:"Input Number"}});class InputNumber extends wijmo_1.Control{constructor(t,e){super(t);this._value=null;this._min=null;this._max=null;this._format="";this._step=null;this._showBtn=!0;this._readOnly=!1;this._handleWheel=!0;this._oldText="";this._fromKb=!0;this._inputElementAriaLabel=wijmo_1.culture.InputNumber.ariaLabels.inputNumberInput;this._ariaLabelledby=null;this.textChanged=new wijmo_1.Event;this.valueChanged=new wijmo_1.Event;const i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.InputNumberClsNames.hostElement}`,i,{_tbx:"input",_btnUp:"btn-inc",_btnDn:"btn-dec"},"input");const s=this.inputElement;this.hostElement;wijmo_1.setAttribute(s,"role","spinbutton",!0);this._updateInputAriaLabel();const o=wijmo_1.culture.InputNumber.ariaLabels;wijmo_1.setAriaLabel(this._btnUp.querySelector("button"),o.incVal);wijmo_1.setAriaLabel(this._btnDn.querySelector("button"),o.decVal);this._tbx.type.match(/number/i)&&(this.inputType="");const n=this._tbx;n.autocomplete="off";n.spellcheck=!1;this._updateSymbols();const a=this.addEventListener.bind(this);a(n,"keypress",this._keypress.bind(this));a(n,"keydown",this._keydown.bind(this));a(n,"input",this._input.bind(this));wijmo_1.isMobile()&&a(n,"beforeinput",this._beforeinput.bind(this));a(n,"blur",()=>{this.text!=this._oldText&&this._setText(this.text)});a(n,"paste",()=>{this._fromKb=!1});a(n,"compositionstart",()=>{this._composing=!0});a(n,"compositionend",()=>{this._composing=!1;setTimeout(()=>{let t=this.text,e=this._oldText,i=this._chrPct;e&&e.indexOf(i)>-1&&t.indexOf(i)<0&&(t+=i);this._setText(t)})});const l=this._clickSpinner.bind(this);a(this._btnUp,"click",l);a(this._btnDn,"click",l);this._rptUp=new wijmo_1._ClickRepeater(this._btnUp.querySelector("button"));this._rptDn=new wijmo_1._ClickRepeater(this._btnDn.querySelector("button"));a(n,"wheel",t=>{if(this.handleWheel&&!t.defaultPrevented&&!t.ctrlKey&&this._isEditable()&&this.containsFocus()){const e=wijmo_1.clamp(-t.deltaY,-1,1);this._increment((this.step||1)*e);setTimeout(()=>this.selectAll());t.preventDefault()}});this.value=0;this.isRequired=!0;this.initialize(e)}static get controlTemplate(){InputNumber._ctrlTemplate||(InputNumber._ctrlTemplate=`<div class="${wijmo_1.ControlClsNames.template}"><div class="${exports.InputClsNames.input}"><div class="${exports.InputClsNames.inputGroup}"><span wj-part="btn-dec" class="${exports.InputClsNames.inputGroupBtn}" tabindex="-1"><button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1">-</button></span><input type="tel" wj-part="input" class="${wijmo_1.InputFormElementsClsNames.formControl} ${exports.InputNumberClsNames.numeric}"/><span wj-part="btn-inc" class="${exports.InputClsNames.inputGroupBtn}" tabindex="-1"><button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1">+</button></span></div></div></div>`);return InputNumber._ctrlTemplate}static set controlTemplate(t){InputNumber._ctrlTemplate=t}get inputElement(){return this._tbx}get inputType(){return this._tbx.type}set inputType(t){this._tbx.type=wijmo_1.asString(t)}get value(){return this._value}set value(t){if(t!=this._value)if(null==(t=wijmo_1.asNumber(t,!this.isRequired||null==t&&null==this._value)))this._setText("");else if(!isNaN(t)){const e=wijmo_1.Globalize.format(t,this.format);this._setText(e)}}get isRequired(){return this._tbx.required}set isRequired(t){this._tbx.required=wijmo_1.asBoolean(t)}get isReadOnly(){return this._readOnly}set isReadOnly(t){this._readOnly=wijmo_1.asBoolean(t);this.inputElement.readOnly=this._readOnly;wijmo_1.toggleClass(this.hostElement,wijmo_1.ControlStateClsNames.readOnly,this.isReadOnly)}get handleWheel(){return this._handleWheel}set handleWheel(t){this._handleWheel=wijmo_1.asBoolean(t)}get min(){return this._min}set min(t){if(t!=this._min){this._min=wijmo_1.asNumber(t,!0);this._updateAria()}}get max(){return this._max}set max(t){if(t!=this._max){this._max=wijmo_1.asNumber(t,!0);this._updateAria()}}get step(){return this._step}set step(t){this._step=wijmo_1.asNumber(t,!0);this._updateBtn()}get format(){return this._format}set format(t){if(t!=this.format){this._format=wijmo_1.asString(t);this.refresh()}}get text(){return this._tbx.value}set text(t){if(t!=this.text){this._oldText=this.text;this._setText(t)}}get placeholder(){return this._tbx.placeholder}set placeholder(t){this._tbx.placeholder=t}get showSpinner(){return this._showBtn}set showSpinner(t){this._showBtn=wijmo_1.asBoolean(t);this._updateBtn()}get repeatButtons(){return!this._rptUp.disabled}set repeatButtons(t){this._rptUp.disabled=this._rptDn.disabled=!wijmo_1.asBoolean(t)}get ariaLabelledBy(){return this._ariaLabelledby}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this._tbx,t,this._updateInputAriaLabel.bind(this))}selectAll(){const t=this._tbx;wijmo_1.setSelectionRange(t,0,t.value.length)}clamp(t){return wijmo_1.clamp(t,this.min,this.max)}onTextChanged(t){this.textChanged.raise(this,t);this._updateState()}onValueChanged(t){this._updateAria();this.valueChanged.raise(this,t)}dispose(){this._rptUp.element=null;this._rptDn.element=null;super.dispose()}onGotFocus(t){this._oldValue=this.value;if(!this.isTouching){this._tbx.focus();this.selectAll()}super.onGotFocus(t)}onLostFocus(t){if(this._composing){this._composing=!1;this._setText(this.text)}if(this._isEditable()){const t=this.clamp(this.value);if(t==this.value||this.onInvalidInput(new wijmo_1.CancelEventArgs)){const e=wijmo_1.Globalize.format(t,this.format);this._setText(e)}}super.onLostFocus(t)}refresh(t=!0){super.refresh(t);if(this.hostElement){this._updateSymbols();const t=wijmo_1.Globalize.format(this.value,this.format);this._setText(t)}}_isEditable(){return!this.isReadOnly&&!this.isDisabled}_updateSymbols(){const t=wijmo_1.culture.Globalize.numberFormat,e=wijmo_1.Globalize._parseNumericFormat(this.format);this._chrDec=t["."]||".";this._chrTho=t[","]||",";this._chrNeg=t["-"]||"-";this._chrPls=t["+"]||"+";this._chrPct=t["%"]||"%";this._chrCur=e.curr||t.currency.symbol||"$";this._fmtSpc=e.spec;this._fmtPrc=e.prec;this._rxSym=new RegExp("^[%+\\-() \\"+this._chrDec+"\\"+this._chrCur+"\\"+this._chrNeg+"\\"+this._chrPls+"\\"+this._chrPct+"]*$");this._rxNeg=new RegExp(`^\\s*(\\-|\\${this._chrNeg})|([^e](\\-|\\${this._chrNeg})|\\()`)}_isNumeric(t,e){let i=t==this._chrDec||t>="0"&&t<="9",s="x"==this._fmtSpc;!i&&s&&(i=t>="a"&&t<="f"||t>="A"&&t<="F");i||e||s||(i=t==this._chrPls||t==this._chrNeg||"("==t||")"==t);return i}_getInputRange(t){let e=[0,0],i=this.text,s=!1;for(let o=0;o<i.length;o++)if(this._isNumeric(i[o],t)){if(!s){e[0]=o;s=!0}e[1]=o+1}return e}_flipSign(){const t=this._getSelStartDigits();this.value*=-1;this._setSelStartDigits(t)}_getSelStartDigits(){let t=0,e=this._tbx.selectionStart,i=this._tbx.value;for(let s=0;s<i.length&&s<e;s++)this._isNumeric(i[s],!0)&&t++;return t}_setSelStartDigits(t){const e=this._tbx.value;for(let i=0;i<e.length&&t>=0;i++)if(this._isNumeric(e[i],!0)){if(!t){wijmo_1.setSelectionRange(this._tbx,i);break}t--}else if(!t){wijmo_1.setSelectionRange(this._tbx,i);break}}_increment(t){if(t){const e=this.clamp(wijmo_1.isNumber(this.value)?this.value+t:0),i=wijmo_1.Globalize.format(e,this.format,!1,!1);this._setText(i)}}_updateBtn(){const t=this.showSpinner&&!!this.step,e=t;wijmo_1.setCss([this._btnUp,this._btnDn],{display:t?"":"none"});wijmo_1.toggleClass(this.hostElement,exports.InputNumberClsNames.showSpinner,t);wijmo_1.enable(this._btnUp,e);wijmo_1.enable(this._btnDn,e);this._updateAria()}_setText(t,e=!1,i=!1){if(this._composing)return;const s=this._tbx,o=this._chrDec,n=this._rxNeg.test(t),a=this._delKey,l=this.containsFocus();t&&this._rxSym.test(t)&&l&&(t=this.isRequired||!a?(n?"-0":"0")+(t.indexOf(o)>-1?o:""):"");this._delKey=!1;a&&0==this.value&&!this.isRequired&&(t="");if(!t){if(!this.isRequired||i){s.value="";if(this._oldText){this._oldText=t;this.onTextChanged()}if(null!=this._value){this._value=null;this.onValueChanged()}this._updateBtn();return}t="0"}const h=t.indexOf(o),r=this._format||(h>-1?"n2":"n0");let _=wijmo_1.Globalize.parseFloat(t,r);isFinite(_)||(_=this.clamp(_));if(isNaN(_)){if(this.onInvalidInput(new wijmo_1.CancelEventArgs))s.value=this._oldText;else{s.value=t;this.focus()}return}let d=l&&h>-1?2:null,u=wijmo_1.Globalize.format(_,r,!1,e,d);n&&_>=0&&!a&&(u=this._chrNeg+u);if(l&&h>-1&&"g"==this._fmtSpc&&0!=this._fmtPrc){u=t;u.indexOf(o)<0&&(u+=o)}if(s.value!=u){s.value=u;_=wijmo_1.Globalize.parseFloat(u,r)}if(this.text!=this._oldText){this._oldText=this.text;this.onTextChanged()}if(_!=this._value){this._value=_;this.onValueChanged()}this._updateBtn();this._updateState()}_handleDecimalInput(t){if(0===this._fmtPrc){t.preventDefault();return!0}const e=this._tbx,i=e.value.indexOf(this._chrDec);if(i>-1){t.preventDefault();const s=e.selectionStart<=i?i+1:i;wijmo_1.setSelectionRange(e,s);return!0}return!1}_beforeinput(t){if(t.defaultPrevented||this._composing||!this._isEditable())return;switch(t.data){case".":case this._chrDec:this._handleDecimalInput(t);return;case"+":case this._chrPls:this._handlePlusSign();t.preventDefault();return;case"-":case this._chrNeg:this._handleMinusSign();t.preventDefault();return}}_keypress(t){if(!t.defaultPrevented&&!this._composing&&this._isEditable()&&t.charCode&&!t.ctrlKey&&!t.metaKey&&t.keyCode!=wijmo_1.Key.Enter){const e=this._tbx,i=String.fromCharCode(t.charCode);if(this._isNumeric(i,!1)){const i=e.maxLength;if(i>-1&&e.value.length>=i&&e.selectionEnd==e.selectionStart){t.preventDefault();return}let s=this._getInputRange(!0),o=e.selectionStart,n=e.selectionEnd;if(o<s[0]&&n<e.value.length){n=Math.max(n,s[0]);wijmo_1.setSelectionRange(e,s[0],n)}if(o>=s[1]){const i=null!=this._fmtPrc?this._fmtPrc:2,s=e.value.indexOf(this._chrDec);s>-1&&o-s>i&&t.preventDefault()}}else t.preventDefault();switch(i){case"-":case this._chrNeg:this._handleMinusSign();t.preventDefault();break;case"+":case this._chrPls:this._handlePlusSign();t.preventDefault();break;case".":case this._chrDec:this._handleDecimalInput(t)}if(!t.defaultPrevented&&wijmo_1.isIE()){const s=e.value,o=e.selectionStart,n=e.selectionEnd;if(o==n){e.value=s.substr(0,o)+i+s.substr(n);wijmo_1.setSelectionRange(e,o+1);t.preventDefault();this._input()}}}}_handlePlusSign(){const t=this._tbx;(this.value<0||this._rxNeg.test(t.value))&&this._flipSign()}_handleMinusSign(){const t=this._tbx;if(this.clamp(-1)>=0)this.value<0&&this._flipSign();else if(this.value&&t.selectionStart===t.selectionEnd)this._flipSign();else if(this.clamp(-1)<0){t.value=this._chrNeg;wijmo_1.setSelectionRange(t,1)}}_keydown(t){this._delKey=!1;if(t.defaultPrevented||this._composing)return;var e=wijmo_1.hasClass(this._tbx,"wj-grid-ime");if(e&&t.keyCode!=wijmo_1.Key.Back&&t.keyCode!=wijmo_1.Key.Delete)return;let i=this._tbx,s=i.value,o=i.selectionStart,n=i.selectionEnd;switch(t.keyCode){case 65:if(t.ctrlKey){setTimeout(()=>{this.selectAll()});t.preventDefault()}break;case wijmo_1.Key.Up:case wijmo_1.Key.Down:if(this.step&&this._isEditable()){this._increment(this.step*(t.keyCode==wijmo_1.Key.Up?1:-1));setTimeout(()=>{this.selectAll()});t.preventDefault()}break;case wijmo_1.Key.Back:this._delKey=!0;if(n-o<2&&this._isEditable()){const e=s[n-1];if(e==this._chrDec||e==this._chrPct||e==this._chrTho||")"==e){setTimeout(()=>{n=e==this._chrPct?this._getInputRange(!0)[1]:n-1;wijmo_1.setSelectionRange(i,n)});t.preventDefault()}}break;case wijmo_1.Key.Delete:this._delKey=!0;if(n-o<2&&this._isEditable())if("0"==s&&1==o)wijmo_1.setSelectionRange(i,0);else{const e=s[o];if(e==this._chrDec||e==this._chrPct){setTimeout(()=>{wijmo_1.setSelectionRange(i,o+1)});t.preventDefault()}}break;case wijmo_1.Key.Escape:this.value=this._oldValue;this.selectAll()}e&&this._delKey&&this._isEditable()&&this._setText(null,!1,!0)}_input(){this._composing?this._fromKb=!0:setTimeout(()=>{let t=this._tbx,e=t.value,i=e.indexOf(this._chrDec),s=t.selectionStart,o=this._getSelStartDigits();"p"==this._fmtSpc&&e.length&&e.indexOf(this._chrPct)<0&&(e+=this._chrPct);this._setText(e,this._fromKb);this._fromKb=!0;if(this.containsFocus()){const n=t.value,a=n.indexOf(this._chrDec),l=this._getInputRange(!0);if(e==this._chrNeg+this._chrDec&&a>-1){wijmo_1.setSelectionRange(t,a+1);return}if(e[0]==this._chrNeg&&n[0]!=this._chrNeg){if(1==n.length)wijmo_1.setSelectionRange(t,1);else{"c"===this._fmtSpc&&this._isNegativeCurrencyByParenthesis(e)&&(o-=1);this._setSelStartDigits(o)}return}e?e==this._chrDec&&a>-1?s=a+1:s<=i&&a>-1||i<0&&a<0?s+=n.length-e.length:i<0&&a>-1&&(s=a):s=a>-1?a:l[1];s=wijmo_1.clamp(s,l[0],l[1]);wijmo_1.setSelectionRange(t,s)}})}_isNegativeCurrencyByParenthesis(t){return t.length>1&&t[1]===this._chrCur}_clickSpinner(t){if(!t.defaultPrevented&&this._isEditable()&&this.step){this._increment(this.step*(wijmo_1.contains(this._btnUp,t.target)?1:-1));if(!this.isTouching){wijmo_1.Control.sharedState.InvalidScroll=wijmo_1.isEdge();setTimeout(()=>this.selectAll())}}}_updateAria(){const t=this.inputElement;if(this.hostElement){wijmo_1.setAttribute(t,"aria-valuemin",this.min);wijmo_1.setAttribute(t,"aria-valuemax",this.max);wijmo_1.setAttribute(t,"aria-valuenow",this.value);wijmo_1.setAttribute(t,"aria-valuetext",this.text);wijmo_1.setAttribute(t,"step",this.step);wijmo_1.enable(this._btnDn,null==this.min||this.value>this.min);wijmo_1.enable(this._btnUp,null==this.max||this.value<this.max)}}_updateInputAriaLabel(){const t=this.inputElement;this._ariaLabelledby?wijmo_1.setAttribute(t,"aria-label",null):wijmo_1.setAttribute(t,"aria-label",this._inputElementAriaLabel)}getAriaLabelForScreenReader(){return wijmo_1.culture.InputNumber.ariaLabels.inputNumber}}InputNumber._ctrlTemplate="";exports.InputNumber=InputNumber;wijmo_1._addCultureInfo("InputMask",{ariaLabels:{inputMaskInput:"InputMask Input",inputMask:"Input Mask"}});class InputMask extends wijmo_1.Control{constructor(t,e){super(t);this._fullEdit=!1;this._inputElementAriaLabel=wijmo_1.culture.InputMask.ariaLabels.inputMaskInput;this._ariaLabelledby=null;this.valueChanged=new wijmo_1.Event;const i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.InputMaskClsNames.hostElement}`,i,{_tbx:"input"},"input");if("INPUT"==this._orgTag){const t=this._tbx.getAttribute("value");t&&(this.value=t)}this._msk=new wijmo_1._MaskProvider(this._tbx);this.isRequired=!0;this.initialize(e);this.addEventListener(this._tbx,"input",()=>{this.onValueChanged()});this.addEventListener(this._tbx,"blur",this._commitText.bind(this));this.addEventListener(this._tbx,"keydown",t=>{t.keyCode==wijmo_1.Key.Enter&&this._commitText()});this._updateInputAriaLabel()}static get controlTemplate(){InputMask._ctrlTemplate||(InputMask._ctrlTemplate=`<div class="${exports.InputClsNames.input}"><div class="${exports.InputClsNames.inputGroup}"><input wj-part="input" class="${wijmo_1.InputFormElementsClsNames.formControl}"/></div></div>`);return InputMask._ctrlTemplate}static set controlTemplate(t){InputMask._ctrlTemplate=t}get inputElement(){return this._tbx}get inputType(){return this._tbx.type}set inputType(t){this._tbx.type=wijmo_1.asString(t)}get value(){return this._tbx.value}set value(t){if(t!=this.value){this._tbx.value=wijmo_1.asString(t);t=this._msk._applyMask();this._tbx.value=t;this.onValueChanged()}}get rawValue(){return this._msk.getRawValue()}set rawValue(t){t!=this.rawValue&&(this.value=wijmo_1.asString(t))}get mask(){return this._msk.mask||""}set mask(t){const e=this.value;this._msk.mask=wijmo_1.asString(t);this.value!=e&&this.onValueChanged()}get promptChar(){return this._msk.promptChar}set promptChar(t){const e=this.value;this._msk.promptChar=t;this.value!=e&&this.onValueChanged()}get overwriteMode(){return this._msk.overwriteMode}set overwriteMode(t){this._msk.overwriteMode=wijmo_1.asBoolean(t)}get placeholder(){return this._tbx.placeholder}set placeholder(t){this._tbx.placeholder=t}get maskFull(){return this._msk.maskFull}get isRequired(){return this._tbx.required}set isRequired(t){this._tbx.required=wijmo_1.asBoolean(t)}get isReadOnly(){return this._tbx.readOnly}set isReadOnly(t){this._tbx.readOnly=wijmo_1.asBoolean(t);wijmo_1.toggleClass(this.hostElement,wijmo_1.ControlStateClsNames.readOnly,this.isReadOnly)}selectAll(){const t=this._msk.getMaskRange();wijmo_1.setSelectionRange(this._tbx,t[0],t[1]+1)}onValueChanged(t){if(this.value!=this._oldValue){this._oldValue=this.value;this.valueChanged.raise(this,t)}this._updateState()}_commitText(){(this.rawValue||this.isRequired)&&(this.maskFull||this.onInvalidInput(new wijmo_1.CancelEventArgs));this._updateState()}dispose(){this._msk.input=null;super.dispose()}refresh(t=!0){super.refresh(t);this.hostElement&&this._msk.refresh()}onGotFocus(t){this.selectAll();super.onGotFocus(t)}get ariaLabelledBy(){return this._ariaLabelledby}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this._tbx,t,this._updateInputAriaLabel.bind(this))}_updateInputAriaLabel(){const t=this.inputElement;!t||t.id||this._ariaLabelledby?wijmo_1.setAttribute(t,"aria-label",null):wijmo_1.setAttribute(t,"aria-label",this._inputElementAriaLabel)}getAriaLabelForScreenReader(){return wijmo_1.culture.InputMask.ariaLabels.inputMask}}InputMask._ctrlTemplate="";exports.InputMask=InputMask;wijmo_1._addCultureInfo("ColorPicker",{ariaLabels:{colorPicker:"Color Picker",satAndBrightnessPanel:"Color saturation and brightness panel",huePanel:"Color hue panel",opacityPanel:"Color opacity panel",palettePanel:"Color palette panel",saturation:"Saturation:",hue:"Hue:",opacity:"Opacity:",degrees:"degrees",brightness:"Brightness:",baseColor:"Base color:",shadeColor:"Shade color:"}});var ColorPickerTabKeyAction,DateSelectionMode,ShowMonthPicker,CalendarTabKeyAction,ClickAction,KeyAction,TabKeyAction,PopupTrigger,_Edges;!function(t){t[t.None=0]="None";t[t.All=1]="All"}(ColorPickerTabKeyAction=exports.ColorPickerTabKeyAction||(exports.ColorPickerTabKeyAction={}));class ColorPicker extends wijmo_1.Control{constructor(t,e){super(t);this._hsb=[.5,1,1];this._alpha=1;this._ariaLabel=wijmo_1.culture.ColorPicker.ariaLabels.colorPicker;this.valueChanged=new wijmo_1.Event;this.hostElement.setAttribute("role","application");this.hostElement.setAttribute("aria-label",wijmo_1.culture.ColorPicker.ariaLabels.colorPicker);let i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.ColorPickerClsNames.hostElement}`,i,{_eSB:"div-sb",_eHue:"div-hue",_eAlpha:"div-alpha",_ePreview:"div-pv",_ePal:"div-pal",_eText:"div-text"});this._palette="#FFF,#000,#F00,#FFC000,#FFFF00,#92D050,#00B050,#00B0F0,#0070C0,#7030A0".split(",");this._updatePalette();this._eHue.style.backgroundImage="url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD4CAIAAACi6hsPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAAGvSURBVDhPXdBPaM9xHMfxz4pWaxcmtoOhpdXSVpiyHWxqmVpDjaU5rK34XfypjTJ/p+ZPay6jhsOsRrKwaJElf9IQq03WIkv4FeMwMq221tfje1ByeFzfvd7PEKWGEKWTQRZLySWfVRRTQjmVbKWGOhLsZT+HaeY0bbTTQSfdXOcWffTzmAFeMcwoYyT5ygS/mA5hNgphip98J8kHRnnNSwZ4yH1uc4OrdHGR87RximYO0cgedlLLdqqoYAPrWMtKVrCcJSxiPmnMJUQp/Bsyk2xyyKOAQooopYwKtlDNDur5G7SBJo7RQiv/B+2hl3s84CkvGGKEOOYnxolj/mYmhBmDJ5ngCx95xxsGecYj4pB3iENeoZMO2mmlhaMcpIE4ZII6aqhmM3HMMkooopB88sghm0wySCeVlCjMCVFIYx4LWUwOeRSwhmLWU84mqqihll3sppEmjnOSs5zjEl1c4yZ99POE5wwxwns+840fTDFLFKaZZIJxkozxlmEGGSC+GF++Sy89dHOZC8Rr4lVnOMERDrCPBPXEX22jko2UEn+/mnxyWUYWC0gnNUQh/AEc0HJs6cex0gAAAABJRU5ErkJggg==)";this._eHue.style.backgroundSize="contain";if(navigator.appVersion.indexOf("MSIE 9")>-1){this._eSB.children[0].style.filter="progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff,endColorstr=#00ffffff,GradientType=1)";this._eSB.children[1].style.filter="progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000,endColorstr=#ff000000,GradientType=0)"}i=ColorPicker._tplCursor;this._cSB=wijmo_1.createElement(i);this._cHue=wijmo_1.createElement(i);this._cHue.style.width="100%";this._cAlpha=wijmo_1.createElement(i);this._cAlpha.style.height="100%";this._eSB.appendChild(this._cSB);this._eHue.appendChild(this._cHue);this._eAlpha.appendChild(this._cAlpha);this._keyActionTab=ColorPickerTabKeyAction.None;const s=this.addEventListener.bind(this),o=this.removeEventListener.bind(this),n=document;s(this.hostElement,"mousedown",t=>{s(n,"mousemove",mouseMove);s(n,"mouseup",mouseUp);this._mouseDown(t)});s(this.hostElement,"touchstart",t=>{s(n,"touchmove",mouseMove);s(n,"touchend",mouseUp);this._mouseDown(t)});const mouseMove=t=>{this._mouseMove(t)},mouseUp=t=>{o(n,"mousemove",mouseMove);o(n,"mouseup",mouseUp);o(n,"touchmove",mouseMove);o(n,"touchend",mouseUp);this._mouseUp(t)};s(this.hostElement,"click",t=>{if(this.isDisabled)return;const e=t.target;if(e&&"DIV"==e.tagName&&wijmo_1.contains(this._ePal,e)){const t=e.style.backgroundColor;t&&(this.value=new wijmo_1.Color(t).toString());e.focus()}});s(this.hostElement,"keydown",t=>{this.isDisabled||this._keydown(t)});this.value="#ffffff";this.initialize(e);this._updatePanels();this._eSB.setAttribute("role","slider");this._eSB.setAttribute("aria-label",wijmo_1.culture.ColorPicker.ariaLabels.satAndBrightnessPanel);this._eSB.setAttribute("aria-valuemin","0");this._eSB.setAttribute("aria-valuemax","100");this._eHue.setAttribute("role","slider");this._eHue.setAttribute("aria-label",wijmo_1.culture.ColorPicker.ariaLabels.huePanel);this._eHue.setAttribute("aria-valuemin","0");this._eHue.setAttribute("aria-valuemax","360");this._eAlpha.setAttribute("role","slider");this._eAlpha.setAttribute("aria-label",wijmo_1.culture.ColorPicker.ariaLabels.opacityPanel);this._eAlpha.setAttribute("aria-valuemin","0");this._eAlpha.setAttribute("aria-valuemax","100");this._ePal.setAttribute("role","grid");this._ePal.setAttribute("aria-label",wijmo_1.culture.ColorPicker.ariaLabels.palettePanel);this._updateTabIndex()}static get controlTemplate(){ColorPicker._ctrlTemplate||(ColorPicker._ctrlTemplate=`<div style="position:relative;width:100%;height:100%"><div style="float:left;width:50%;height:100%;box-sizing:border-box;padding:2px"><div wj-part="div-pal"><div style="float:left;width:10%;box-sizing:border-box;padding:2px"><div style="background-color:black;width:100%"></div><div style="height:6px"></div></div></div><div wj-part="div-text" style="position:absolute;bottom:0px;display:none"></div></div><div style="float:left;width:50%;height:100%;box-sizing:border-box;padding:2px"><div wj-part="div-sb" class="${exports.ColorPickerClsNames.colorBox}" style="float:left;width:89%;height:89%"><div style="position:absolute;width:100%;height:100%;background:linear-gradient(to right, white 0%,transparent 100%)"></div><div style="position:absolute;width:100%;height:100%;background:linear-gradient(to top, black 0%,transparent 100%)"></div></div><div style="float:left;width:1%;height:89%"></div><div style="float:left;width:10%;height:89%"><div wj-part="div-hue" class="${exports.ColorPickerClsNames.colorBox}"></div></div><div style="float:left;width:89%;height:1%"></div><div style="float:left;width:89%;height:10%"><div style="width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAAAcSURBVBhXY/iPBBYgAWpKQGkwgMqDAdUk/v8HAM7Mm6GatDUYAAAAAElFTkSuQmCC)"><div wj-part="div-alpha" class="${exports.ColorPickerClsNames.colorBox}"></div></div></div><div style="float:left;width:1%;height:10%"></div><div style="float:left;width:10%;height:10%"><div wj-part="div-pv" class="${exports.ColorPickerClsNames.colorBox}" style="position:static"></div></div></div></div>`);return ColorPicker._ctrlTemplate}static set controlTemplate(t){ColorPicker._ctrlTemplate=t}get showAlphaChannel(){return"none"!=this._eAlpha.parentElement.style.display}set showAlphaChannel(t){this._eAlpha.parentElement.style.display=wijmo_1.asBoolean(t)?"":"none"}get showColorString(){return"none"!=this._eText.style.display}set showColorString(t){this._eText.style.display=wijmo_1.asBoolean(t)?"":"none";if(wijmo_1.asBoolean(t)){this._eText.setAttribute("role","status");this._eText.setAttribute("aria-live","polite")}}get value(){return this._value}set value(t){if(t!=this.value){const e=this.value,i=(t=wijmo_1.asString(t)).trim(),s=wijmo_1.Color.fromString(i);if(s){const t=s.getHsb();this._value=i;this._eText.innerText=i;if(this._hsb[0]!=t[0]||this._hsb[1]!=t[1]||this._hsb[2]!=t[2]||this._alpha!=s.a){if(0==t[2]){t[0]=this._hsb[0];t[1]=this._hsb[1]}else 0==t[1]&&(t[0]=this._hsb[0]);this._hsb=t;this._alpha=s.a;this.onValueChanged()}else""===e&&this.onValueChanged()}else if(""===i){const e=new wijmo_1.Color(t);this._hsb=e.getHsb();this._alpha=e.a;this._value=t;this._eText.innerText=i;this.onValueChanged()}}}get palette(){return this._palette}set palette(t){if((t=(t=wijmo_1.asArray(t)).slice(0,10)).every(t=>null!=wijmo_1.Color.fromString(t))){this._palette=t;this._updatePalette()}}get ariaLabel(){return this._ariaLabel}set ariaLabel(t){if(t!=this._ariaLabel){this._ariaLabel=t;wijmo_1.setAttribute(this.hostElement,"aria-label",this._ariaLabel)}}get keyActionTab(){return this._keyActionTab}set keyActionTab(t){this._keyActionTab=t;if(t==ColorPickerTabKeyAction.All){this.tabOrder=0;this.hostElement.setAttribute("tabindex","-1")}this._updateTabIndex()}_setTabOrder(t){super._setTabOrder(t);this.isDisabled||this._updateTabIndex()}onValueChanged(t){this._refreshSelection();this.valueChanged.raise(this,t)}_mouseDown(t){this._htDown=this._getTargetPanel(t);if(this._htDown){t.preventDefault();this._htDown.focus();this._mouseMove(t)}}_mouseMove(t){if(!this.isDisabled){var e=t.touches?t.touches[0]:t,i=this._htDown;if(i){const t=i.getBoundingClientRect();let s=[...this._hsb],o=this._alpha;if(i==this._eHue)s[0]=wijmo_1.clamp((e.clientY-t.top)/t.height,0,.99);else if(i==this._eSB){s[1]=wijmo_1.clamp((e.clientX-t.left)/t.width,0,1);s[2]=wijmo_1.clamp(1-(e.clientY-t.top)/t.height,0,1)}else i==this._eAlpha&&(o=wijmo_1.clamp((e.clientX-t.left)/t.width,0,1));this._updateColor(s,o)}}}_mouseUp(t){this._htDown=null}_updateColor(t=this._hsb,e=this._alpha){const i=this._hsb[0]!==t[0]||this._hsb[1]!==t[1]||this._hsb[2]!==t[2],s=this._alpha!==e;if(i||s){this._hsb=t;this._alpha=e;const i=wijmo_1.Color.fromHsb(t[0],t[1],t[2],e);this._value=i.toString();this._eText.innerText=this._value;this.onValueChanged()}}_updatePalette(){const t=new wijmo_1.Color("#fff"),e=new wijmo_1.Color("#000");this._ePal.innerHTML="";this._ePal.className="palette-grid";const i=Array.from({length:6},()=>{const t=document.createElement("div");t.className="palette-row";t.setAttribute("role","row");return t}),s=this.getActualTabIndex();for(let o=0;o<this._palette.length;o++){const n=new wijmo_1.Color(this._palette[o]),a=n.getHsb(),l=this._makePalEntry(n);l.innerHTML="&#8203";l.setAttribute("role","columnheader");l.setAttribute("aria-label",`${wijmo_1.culture.ColorPicker.ariaLabels.baseColor} ${n.toString()}`);if(0===o){this._ePalMainFirst=l;this._ePalMainFirst.setAttribute("tabindex",s)}else l.setAttribute("tabindex","-1");i[0].appendChild(l);for(let n=0;n<5;n++){const l=0===a[1]?wijmo_1.Color.interpolate(t,e,.1*n+(a[2]>.5?.05:.55)):wijmo_1.Color.fromHsb(a[0],.1+.2*n,1-.1*n),h=this._makePalEntry(l);h.setAttribute("role","gridcell");h.setAttribute("aria-label",`${wijmo_1.culture.ColorPicker.ariaLabels.shadeColor} ${l.toString()}`);if(0===o&&0===n){this._ePalShadeFirst=h;this._ePalShadeFirst.setAttribute("tabindex",s)}else wijmo_1.setAttribute(h,"tabindex","-1");i[n+1].appendChild(h)}}i.forEach(t=>{this._ePal.appendChild(t)})}_makePalEntry(t){const e=document.createElement("div");e.className="palette-gridcell";wijmo_1.setCss(e,{backgroundColor:t.toString()});return e}_updatePanels(){const t=wijmo_1.Color.fromHsb(this._hsb[0],1,1,1),e=wijmo_1.Color.fromHsb(this._hsb[0],this._hsb[1],this._hsb[2],1);this._eSB.style.backgroundColor=t.toString();this._eAlpha.style.background=`linear-gradient(to right, transparent 0%, ${e.toString()} 100%)`;navigator.appVersion.indexOf("MSIE 9")>-1&&(this._eAlpha.style.filter=`progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000,endColorstr=${e.toString()}, GradientType = 1)`);const i=this.value.trim();this._ePreview.style.backgroundColor=i;this._cHue.style.top=(100*this._hsb[0]).toFixed(0)+"%";this._cSB.style.left=(100*this._hsb[1]).toFixed(0)+"%";this._cSB.style.top=(100-100*this._hsb[2]).toFixed(0)+"%";this._cAlpha.style.left=(100*this._alpha).toFixed(0)+"%";const s=this.getColorsDiv(),o=wijmo_1.getActiveElement();if(this.keyActionTab===ColorPickerTabKeyAction.All&&!this.hostElement.contains(o)){if(this.isDisabled)return;let t=!1;for(let e=0;e<s.length;e++){const o=s[e].style.backgroundColor;if(wijmo_1.Color.fromString(i).equals(wijmo_1.Color.fromString(o))){s[e].focus();t=!0;break}}t||s[0].focus()}}getColorsDiv(){const t=Array.from(this._ePal.querySelectorAll('[role="columnheader"]')),e=Array.from(this._ePal.querySelectorAll('[role="gridcell"]'));return t.concat(e)}_getTargetPanel(t){const e=t.target;return wijmo_1.contains(this._eSB,e)?this._eSB:wijmo_1.contains(this._eHue,e)?this._eHue:wijmo_1.contains(this._eAlpha,e)?this._eAlpha:null}getActualTabIndex(){const t=this.tabOrder.toString();return this.keyActionTab===ColorPickerTabKeyAction.All&&!0!==this.isDisabled?t:"-1"}_updateTabIndex(){const t=this.getActualTabIndex();this._eSB.setAttribute("tabindex",t);this._eHue.setAttribute("tabindex",t);this._eAlpha.setAttribute("tabindex",t);this._ePalMainFirst.setAttribute("tabindex",t);this._ePalShadeFirst.setAttribute("tabindex",t)}_setIsDisabled(t){super._setIsDisabled(t);this._updateTabIndex()}_updateAriaValues(){const t=this._hsb;this._eSB.setAttribute("aria-valuenow",(100*t[1]).toString());this._eSB.setAttribute("aria-valuetext",`${wijmo_1.culture.ColorPicker.ariaLabels.saturation} ${Math.round(100*t[1])}%, ${wijmo_1.culture.ColorPicker.ariaLabels.brightness} ${Math.round(100*t[2])}%`);this._eHue.setAttribute("aria-valuenow",(360*t[0]).toString());this._eHue.setAttribute("aria-valuetext",`${wijmo_1.culture.ColorPicker.ariaLabels.hue} ${Math.round(360*t[0])} ${wijmo_1.culture.ColorPicker.ariaLabels.degrees}`);this._eAlpha.setAttribute("aria-valuenow",(100*this._alpha).toString());this._eAlpha.setAttribute("aria-valuetext",`${wijmo_1.culture.ColorPicker.ariaLabels.opacity} ${Math.round(100*this._alpha)}%`)}_keydown(t){const e=t.target;this._isInColorPalette(e)?this._handleColorNavigation(t,e):e!==this._eSB?e!==this._eHue?e!==this._eAlpha||this._handleAlphaNavigation(t):this._handleHSBNavigation(t,"hue"):this._handleHSBNavigation(t,"sb")}_isInColorPalette(t){return t&&"DIV"===t.tagName&&wijmo_1.contains(this._ePal,t)}_handleColorNavigation(t,e){const i=this.getColorsDiv(),s=this.palette.length,o=i.findIndex(t=>t===e);let n=null;switch(t.key){case"ArrowDown":o<i.length-1&&(n=i[o+s]);break;case"ArrowUp":o>0&&(n=i[o-s]);break;case"ArrowRight":{const t=o+1;t<i.length&&(n=i[t]);break}case"ArrowLeft":{const t=o-1;t>=0&&(n=i[t]);break}}if(n){const e=n.style.backgroundColor;e&&(this.value=new wijmo_1.Color(e).toString());n.focus();t.preventDefault()}}_handleHSBNavigation(t,e){let i=[...this._hsb];i=i.map(t=>wijmo_1.roundTo(t,2));const adjust=(t,e,s)=>{const o=Math.round(100*i[t]);i[t]=wijmo_1.clamp((o+e)/100,0,s)};switch(t.key){case"ArrowLeft":"sb"===e&&adjust(1,-1,1);break;case"ArrowRight":"sb"===e&&adjust(1,1,1);break;case"ArrowUp":"sb"===e?adjust(2,1,1):adjust(0,-1,.99);break;case"ArrowDown":"sb"===e?adjust(2,-1,1):adjust(0,1,.99)}if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(t.key)){this._updateColor(i,void 0);t.preventDefault()}}_refreshSelection(){this._updatePanels();this._updateAriaValues()}_handleAlphaNavigation(t){let e=this._alpha;switch(t.key){case"ArrowLeft":e=wijmo_1.clamp(e-.01,0,1);break;case"ArrowRight":e=wijmo_1.clamp(e+.01,0,1);break;default:return}this._updateColor(void 0,e);t.preventDefault()}}ColorPicker._ctrlTemplate="";ColorPicker._tplCursor='<div class="wj-colorpicker-cursor"></div>';exports.ColorPicker=ColorPicker;wijmo_1._addCultureInfo("CollectionViewNavigator",{ariaLabels:{byPage:{btnFirst:"Navigate to first page",btnPrev:"Navigate to previous page",btnNext:"Navigate to next page",btnLast:"Navigate to last page"},byItem:{btnFirst:"Navigate to first item",btnPrev:"Navigate to previous item",btnNext:"Navigate to next item",btnLast:"Navigate to last item"}}});class CollectionViewNavigator extends wijmo_1.Control{constructor(t,e){super(t);this._view=null;this._byPage=!1;this._fmt="{current:n0} / {count:n0}";this._liveRegionON=!1;this._ariaLabel="";const i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.CollectionViewNavigatorClsNames.pager} ${exports.CollectionViewNavigatorClsNames.hostElement}`,i,{_btnFirst:"btn-first",_btnPrev:"btn-prev",_txtCurr:"txt-curr",_btnNext:"btn-next",_btnLast:"btn-last"},"input");this.hostElement.tabIndex=-1;this._updateAriaLabels();const s=wijmo_1.uidGenerator();this._txtCurr.id=s;[this._btnFirst,this._btnPrev,this._btnNext,this._btnLast].forEach(t=>{wijmo_1.setAttribute(t.firstElementChild,"aria-controls",this._txtCurr.id)});wijmo_1.setAttribute(this.hostElement.firstElementChild,"role","group");wijmo_1.setAttribute(this._txtCurr,"role","status");this._rptNext=new wijmo_1._ClickRepeater(this._btnNext.querySelector("button"));this._rptPrev=new wijmo_1._ClickRepeater(this._btnPrev.querySelector("button"));this.addEventListener(this.hostElement,"click",this._click.bind(this));this.addEventListener(this.hostElement,"keydown",this._keydown.bind(this));wijmo_1.setAttribute(this.hostElement,"role","navigation");this._addA11yRelatedHandlers();this.initialize(e);this._update()}static get controlTemplate(){CollectionViewNavigator._ctrlTemplate||(CollectionViewNavigator._ctrlTemplate=`<div class="${exports.InputClsNames.inputGroup}"><span wj-part="btn-first" class="${exports.InputClsNames.inputGroupBtn}"><button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}"><span class="${wijmo_1.GlyphClsNames.stepBackward}"></span></button></span><span wj-part="btn-prev" class="${exports.InputClsNames.inputGroupBtn}"> <button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}"><span class="${wijmo_1.GlyphClsNames.left}"></span> </button></span><span wj-part="txt-curr" tabIndex="0"></span><span wj-part="btn-next" class="${exports.InputClsNames.inputGroupBtn}"><button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}"><span class="${wijmo_1.GlyphClsNames.right}"></span></button></span><span wj-part="btn-last" class="${exports.InputClsNames.inputGroupBtn}"><button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}"><span class="${wijmo_1.GlyphClsNames.stepForward}"></span></button></span></div>`);return CollectionViewNavigator._ctrlTemplate}static set controlTemplate(t){CollectionViewNavigator._ctrlTemplate=t}get cv(){return this._view}set cv(t){if(t!=this._view){let e=this._view;if(e){e.collectionChanged.removeHandler(this._collectionChanged);e.currentChanged.removeHandler(this._currentChanged)}e=this._view=wijmo_1.asType(t,"ICollectionView",!0);this._update();if(e){e.collectionChanged.addHandler(this._collectionChanged,this);e.currentChanged.addHandler(this._currentChanged,this)}}}get byPage(){return this._byPage}set byPage(t){if(t!=this._byPage){this._byPage=wijmo_1.asBoolean(t);this._update();this._updateAriaLabels()}}get headerFormat(){return this._fmt}set headerFormat(t){if(t!=this._fmt){this._fmt=wijmo_1.asString(t);this._update()}}get repeatButtons(){return!this._rptNext.disabled}set repeatButtons(t){this._rptNext.disabled=this._rptPrev.disabled=!wijmo_1.asBoolean(t)}get ariaLabel(){if(this.hostElement){const t=this.hostElement.getAttribute("aria-label");if(t)return t}return this._ariaLabel}set ariaLabel(t){if(this.ariaLabel!==t){this._ariaLabel=t;this.hostElement&&wijmo_1.setAttribute(this.hostElement,"aria-label",t)}}get isDisabled(){return this._isDisabled}set isDisabled(t){this._setIsDisabled(t)}focus(){const t=this._e;t&&t.offsetHeight&&(this.isDisabled||wijmo_1.moveFocus(t,0)||this._txtCurr.tabIndex>=0&&this._txtCurr.focus())}_update(){const t=this._view,e=this._byPage,i=t?e?t.pageIndex:t.currentPosition:0,s=t?e?t.pageCount:t.itemCount:0;if(this.isDisabled)[this._btnFirst,this._btnPrev,this._btnNext,this._btnLast].forEach(t=>{wijmo_1.enable(t,!1)});else{wijmo_1.enable(this._btnFirst,t&&i>0);wijmo_1.enable(this._btnPrev,t&&i>0);wijmo_1.enable(this._txtCurr,null!=t);wijmo_1.enable(this._btnNext,t&&i<s-1);wijmo_1.enable(this._btnLast,t&&i<s-1)}this._updateTabIndex();this._txtCurr.textContent=wijmo_1.format(this._fmt,{current:t?i+1:0,count:t?s:0,currentItem:t?t.currentPosition+1:0,itemCount:t?t.itemCount:0,currentPage:t?t.pageIndex+1:0,pageCount:t?t.pageCount:0})}_currentChanged(){this._update()}_collectionChanged(){this._update()}_click(t){const e=t.target,i=this._view,s=this._byPage;if(i){wijmo_1.contains(this._btnFirst,e)?s?i.moveToFirstPage():i.moveCurrentToFirst():wijmo_1.contains(this._btnPrev,e)?s?i.moveToPreviousPage():i.moveCurrentToPrevious():wijmo_1.contains(this._btnNext,e)?s?i.moveToNextPage():i.moveCurrentToNext():wijmo_1.contains(this._btnLast,e)&&(s?i.moveToLastPage():i.moveCurrentToLast());(this.byPage?i.pageIndex>=i.pageCount-1||i.pageIndex<=0:i.currentPosition>=i.itemCount-1||i.currentPosition<=0)&&!this.isDisabled&&this._txtCurr.tabIndex>=0&&this._txtCurr.focus();t.preventDefault()}}_updateAriaLabels(){const t=wijmo_1.culture.CollectionViewNavigator.ariaLabels[this._byPage?"byPage":"byItem"];wijmo_1.setAttribute(this._btnFirst.firstElementChild,"aria-label",t.btnFirst);wijmo_1.setAttribute(this._btnPrev.firstElementChild,"aria-label",t.btnPrev);wijmo_1.setAttribute(this._btnNext.firstElementChild,"aria-label",t.btnNext);wijmo_1.setAttribute(this._btnLast.firstElementChild,"aria-label",t.btnLast)}_addA11yRelatedHandlers(){this.addEventListener(this._txtCurr,"focus",t=>{if(this._txtCurr===document.activeElement){wijmo_1.setAttribute(this._txtCurr,"aria-live","off");wijmo_1.setAttribute(this._txtCurr,"aria-label",this._txtCurr.textContent);this._liveRegionON=!1}});this.addEventListener(this._txtCurr,"blur",t=>{this._txtCurr!==document.activeElement&&this._txtCurr.removeAttribute("aria-label")});[this._btnFirst.firstElementChild,this._btnPrev.firstElementChild,this._btnNext.firstElementChild,this._btnLast.firstElementChild].forEach(t=>{this.addEventListener(t,"focus",t=>{setTimeout(()=>{if(!this._liveRegionON){const t=wijmo_1._isMacOS()?"polite":"assertive";wijmo_1.setAttribute(this._txtCurr,"aria-live",t);this._liveRegionON=!0}})})})}_setTabOrder(t){const e=this._e,i=null!=this._txtCurr.getAttribute("disabled");this._orgTabIndex=t;if(this.isDisabled||i){e.tabIndex=-1;this._txtCurr.tabIndex=-1}else i||(this._txtCurr.tabIndex=this._orgTabIndex)}_keydown(t){if(wijmo_1.contains(this._txtCurr,t.target)&&(t.ctrlKey||t.metaKey)&&("A"===t.key||"a"===t.key)){t.preventDefault();const e=document.createRange();e.selectNodeContents(this._txtCurr);const i=window.getSelection();i.removeAllRanges();i.addRange(e)}}_setIsDisabled(t){if((t=!!wijmo_1.asBoolean(t,!0))!=this.isDisabled){const e=this._e;if(e){this._isDisabled=t;wijmo_1.toggleClass(e,wijmo_1.ControlStateClsNames.disabled,t);this._update();this._txtCurr.tabIndex=t?-1:this._orgTabIndex}}}_updateTabIndex(){[this._btnFirst,this._btnPrev,this._btnNext,this._btnLast].forEach(t=>{if(this._isDisabled)t.firstElementChild.setAttribute("tabindex","-1");else{t.firstElementChild.disabled?t.firstElementChild.setAttribute("tabindex","-1"):t.firstElementChild.setAttribute("tabindex",this._orgTabIndex.toString())}})}}CollectionViewNavigator._ctrlTemplate="";exports.CollectionViewNavigator=CollectionViewNavigator;wijmo_1._addCultureInfo("Listbox",{ariaLabels:{listBox:"list box"}});class ListBox extends wijmo_1.Control{constructor(t,e){super(t,null,!0);this._cv=null;this._itemFormatter=null;this._pathDisplay=new wijmo_1.Binding("");this._pathValue=new wijmo_1.Binding("");this._pathChecked=new wijmo_1.Binding("");this._html=!1;this._shGroups=!1;this._checkedItems=[];this._itemRole="option";this._caseSensitive=!1;this._addMode=!1;this._isShiftDown=!1;this._shouldClearOnShift=!0;this._vThreshold=ListBox._VTHRESH;this._isVirtual=!1;this._children=[];this._ignoreItemFormatterTextArray=[];this._itemFormatterHelper=document.createElement("div");this._clientHeight=-1;this._itemHeight=30;this._itemsAbove=-1;this._itemsBelow=-1;this._eSizer=document.createElement("div");this._ePadTop=document.createElement("div");this._ePadBot=document.createElement("div");this._checking=!1;this._ignoredItemChangedEvents=!1;this._search="";this._fmtItemHandlers=0;this._itemCount=0;this._oldSel=null;this._container=null;this._oldSelectedIndex=-1;this._ariaLabel=wijmo_1.culture.Listbox.ariaLabels.listBox;this._isNeedUpdateBnd=!0;this.selectedIndexChanged=new wijmo_1.Event;this.itemsChanged=new wijmo_1.Event;this.loadingItems=new wijmo_1.Event;this.loadedItems=new wijmo_1.Event;this.itemChecked=new wijmo_1.Event;this.checkedItemsChanged=new wijmo_1.Event;this.formatItem=new wijmo_1.Event(()=>{this.invalidate()});this._handleKeyUp=t=>{if("Shift"===t.key){this._isShiftDown=!1;this._shouldClearOnShift=!0}};this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.ListBoxClsNames.hostElement}`,null,null);const i=this.hostElement;wijmo_1.setAttribute(i,"role","listbox",!0);this._updateAriaLabel();"SELECT"==this._orgTag&&this._initFromSelect(this.hostElement);this.addEventListener(i,"click",this._click.bind(this));this.addEventListener(i,"keydown",this._keydown.bind(this));this.addEventListener(i,"keypress",this._keypress.bind(this));this.addEventListener(i,"keyup",this._handleKeyUp.bind(this));this.addEventListener(i,"wheel",t=>{if(i.scrollHeight>i.offsetHeight&&(t.deltaY<0&&0==i.scrollTop||t.deltaY>0&&i.scrollTop+i.offsetHeight>=i.scrollHeight)){t.preventDefault();t.stopPropagation();t.stopImmediatePropagation()}});[this._eSizer,this._ePadTop,this._ePadBot].forEach(t=>{t.tabIndex=-1;wijmo_1.setAttribute(t,"aria-hidden",!0);wijmo_1.setCss(t,{pointerEvents:"none",opacity:"0"})});this.initialize(e);this._updateViewRange();this.addEventListener(this.hostElement,"scroll",t=>{this._updateViewRange()})}get ariaLabelledBy(){return this.hostElement.getAttribute("aria-labelledby")}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this.hostElement,t,this._updateAriaLabel.bind(this))}get itemsSource(){return this._items}set itemsSource(t){if(this._items!=t){if(this._cv){this._cv.currentChanged.removeHandler(this._cvCurrentChanged,this);this._cv.collectionChanged.removeHandler(this._cvCollectionChanged,this);this._cv=null}this._items=t;this._cv=wijmo_1.asCollectionView(t);if(null!=this._cv){this._cv.currentChanged.addHandler(this._cvCurrentChanged,this);this._cv.collectionChanged.addHandler(this._cvCollectionChanged,this)}this._populateList();this.onItemsChanged();this.onSelectedIndexChanged()}}get collectionView(){return this._cv}get virtualizationThreshold(){return this._vThreshold}set virtualizationThreshold(t){if(t!=this._vThreshold){const e=this._getVirtual();this._vThreshold=wijmo_1.asNumber(t,!1,!0);e!=this._getVirtual()&&this._populateList()}}get showGroups(){return this._shGroups}set showGroups(t){if(t!=this._shGroups){this._shGroups=wijmo_1.asBoolean(t);this._populateList()}}get isContentHtml(){return this._html}set isContentHtml(t){if(t!=this._html){this._html=wijmo_1.asBoolean(t);this._populateList()}}get itemFormatter(){return this._itemFormatter}set itemFormatter(t){if(t!=this._itemFormatter){this._itemFormatter=wijmo_1.asFunction(t);this._populateList()}}get displayMemberPath(){return this._pathDisplay.path}set displayMemberPath(t){if(t!=this.displayMemberPath){this._pathDisplay.path=wijmo_1.asString(t);this._populateList()}}get selectedValuePath(){return this._pathValue.path}set selectedValuePath(t){this._pathValue.path=wijmo_1.asString(t)}get checkedMemberPath(){return this._pathChecked.path}set checkedMemberPath(t){if(t!=this.checkedMemberPath){this._pathChecked.path=wijmo_1.asString(t);wijmo_1.setAttribute(this.hostElement,"aria-multiselectable",""!==this.checkedMemberPath?"true":"false");this._populateList()}}get caseSensitiveSearch(){return this._caseSensitive}set caseSensitiveSearch(t){this._caseSensitive=wijmo_1.asBoolean(t)}get itemRole(){return this._itemRole}set itemRole(t){if(t!=this.itemRole){this._itemRole=wijmo_1.asString(t);this._populateList()}}getDisplayValue(t,e){let i=null;if(t>-1&&wijmo_1.hasItems(this._cv)){i=this._cv.items[t];this.displayMemberPath&&(i=this._pathDisplay.getValue(i))}let s=null!=i?i.toString():"";this._itemFormatter&&!e&&(s=this._itemFormatter(t,s));return s}getDisplayText(t){return this._getDisplayText(t)}_getDisplayText(t,e){if(e&&this._ignoreItemFormatterTextArray[t])return this._ignoreItemFormatterTextArray[t];const i=this._getChild(t);return null!=i?i.textContent:""}isItemEnabled(t){var e=this._getChild(t);return null!=e&&!e.hasAttribute("disabled")&&!wijmo_1.hasClass(e,wijmo_1.ControlStateClsNames.disabled)&&!wijmo_1.hasClass(e,wijmo_1.UtilitesClsNames.separator)}get selectedIndex(){return this._cv?this._cv.currentPosition:-1}set selectedIndex(t){if(this._cv){this._oldSelectedIndex=this._cv.currentPosition;this._cv.moveCurrentToPosition(wijmo_1.asNumber(t))}}get selectedItem(){return this._cv?this._cv.currentItem:null}set selectedItem(t){this._cv&&this._cv.moveCurrentTo(t)}get selectedValue(){let t=this.selectedItem;t&&this.selectedValuePath&&(t=this._pathValue.getValue(t));return t}set selectedValue(t){let e=this._cv,i=e?e.items:null,s=this.selectedValuePath,o=-1;if(i){for(let e=0;e<i.length;e++){const n=i[e],a=s?this._pathValue.getValue(n):n;if(a===t||wijmo_1.DateTime.equals(a,t)){o=e;break}if(this.isContentHtml&&wijmo_1.isString(a)&&a.indexOf("<")>-1&&wijmo_1.toPlainText(a)===t){o=e;break}}this.selectedIndex=o}}get maxHeight(){const t=this.hostElement,e=t?parseFloat(t.style.maxHeight):null;return isNaN(e)?null:e}set maxHeight(t){const e=this.hostElement;if(e){t=wijmo_1.asNumber(t,!0);e.style.maxHeight=null==t?"":t+"px"}}showSelection(t=this.containsFocus()){let e=this.hostElement,i=this._children,s=this._getSelectedElement(!1),o=new wijmo_1.Rect(0,0,0,0);if(s!=this._oldSel){this._updateItemAttributes(s,!0);this._updateItemAttributes(this._oldSel,!1);this._oldSel=s}s instanceof HTMLElement?o=this._getBoundingClientRect(s):this._children.length>0&&(o=this._getBoundingClientRect(this._getChild(0)));let n=this._getBoundingClientRect(e),a=0;if(this._shGroups){a=this._itemHeight;if(!this._isVirtual){const t=i[0];t&&t.offsetHeight&&wijmo_1.hasClass(t,exports.ListBoxClsNames.header)&&(a=t.offsetHeight)}}o.bottom>n.bottom?e.scrollTop+=o.bottom-n.bottom:o.top<n.top+a&&(e.scrollTop-=n.top+a-o.top);this._updateViewRange();s=this._getSelectedElement(!0);wijmo_1.setAttribute(e,"aria-activedescendant",s?s.id:null);if(t){(s&&!wijmo_1.contains(s,wijmo_1.getActiveElement())?s:e).focus()}e.tabIndex=s?-1:this._orgTabIndex}loadList(){this._populateList()}getItemChecked(t){const e=this._cv.items[t],i=this._pathChecked;return wijmo_1.isObject(e)&&i.path?i.getValue(e):this._getCheckboxState(t)}setItemChecked(t,e){this._setItemChecked(t,e,!0)}toggleItemChecked(t){this.setItemChecked(t,!this.getItemChecked(t))}get checkedItems(){return this._checkedItems}set checkedItems(t){t=Array.from(new Set(t));const e=wijmo_1.asArray(t,!1);if(!this._arrayEquals(e,this._checkedItems)){this._updateCheckedList(e);if(!this._arrayEquals(e,this._checkedItems)){this._checkedItems=e;this.onCheckedItemsChanged()}}}indexOf(t){return(t=wijmo_1.closest(t,"."+exports.ListBoxClsNames.listBoxItem))?t[ListBox._DIDX_KEY]:-1}onSelectedIndexChanged(t){this.selectedIndexChanged.raise(this,t)}onItemsChanged(t){this.itemsChanged.raise(this,t)}onLoadingItems(t){this.loadingItems.raise(this,t)}onLoadedItems(t){this.loadedItems.raise(this,t)}onItemChecked(t){this.itemChecked.raise(this,t)}onCheckedItemsChanged(t){this.checkedItemsChanged.raise(this,t)}onFormatItem(t){this.formatItem.raise(this,t)}refresh(t=!0){super.refresh(t);if(this.hostElement){const t=this._cv?this._cv.items.length:0,e=this.formatItem.handlerCount;if(t!=this._itemCount||e!=this._fmtItemHandlers){this._fmtItemHandlers=e;this._populateList()}else this._updateViewRange()}}_updateAriaLabel(){this.hostElement&&(this.ariaLabelledBy?wijmo_1.setAriaLabel(this.hostElement,null):wijmo_1.setAriaLabel(this.hostElement,this._ariaLabel))}_updateCheckedList(t){let e=this._cv,i=this._pathChecked,s=new Map;if(i&&e){const o=e.sourceCollection;if(o&&o.length){wijmo_1.isObject(o[0])||(i=null);t.forEach(t=>{s.set(t,!0)});this._checking=!0;const e=[];o.forEach(t=>{const o=s.has(t);o&&e.push(t);i&&this._isNeedUpdateBnd&&i.setValue(t,o)});this._checking=!1;t=e}e.items.forEach((t,e)=>{this._setItemChecked(e,s.has(t),!1)})}}_getBoundingClientRect(t){if(!t.offsetHeight){let e=this.indexOf(t),i=this.hostElement;if(e>-1&&i){e=this._getElementIndex(e);const t=i.getBoundingClientRect();return new wijmo_1.Rect(0,t.top-i.scrollTop+e*this._itemHeight,t.width,this._itemHeight)}}return wijmo_1.Rect.fromBoundingRect(t.getBoundingClientRect())}_updateItemAttributes(t,e){if(t){const i=this.checkedMemberPath?"true"===t.getAttribute("aria-selected"):null;wijmo_1.toggleClass(t,wijmo_1.ControlStateClsNames.selected,e);this._isMenuItem()||wijmo_1.setAttribute(t,"aria-selected",this._getAriaSelected(e,i));t.tabIndex=e?this._orgTabIndex:-1}}_getCheckedItems(){let t=this._cv,e=this._pathChecked,i=[];t&&e&&e.path&&(i=t.sourceCollection.filter((i,s)=>{if(t.filter&&!t.filter(i))return!!this._addMode&&e.getValue(i);if(wijmo_1.isObject(i))return e.getValue(i);{const e=t.items[s]==i?s:t.items.indexOf(i);return this.getItemChecked(e)}}));return i}_arrayEquals(t,e){if(t==e)return!0;if(!t||!e||t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(!this._isEqual(t[i],e[i]))return!1;return!0}_getChild(t){t=this._getElementIndex(t);return this._children[t]}_getElementIndex(t){if(this._shGroups){const e=this._children;for(let i=0;i<=t&&i<e.length;i++){const s=e[i];wijmo_1.hasClass(s,exports.ListBoxClsNames.header)&&t++}}return t}_setItemChecked(t,e,i=!0){let s=this._cv.items[t],o=this._pathChecked,n=!1,a=this.selectedIndex,l=this._checking;if(wijmo_1.isObject(s)&&o.path){if(!!o.getValue(s)!=e){const t=wijmo_1.tryCast(this._cv,"IEditableCollectionView");n=!0;this._checking=!0;if(t){t.editItem(s);o.setValue(s,e);t.commitEdit()}else{o.setValue(s,e);t.refresh()}this._checking=l}}else if(i){const t=this._findArrayItem(this._checkedItems,s);(e&&t<0||!e&&t>=0)&&(n=!0)}this._setCheckboxState(t,e);if(i){if(n){this._checkedItems=this._checkedItemsUpdate(s,e);this.onItemChecked();this.onCheckedItemsChanged()}a!=this.selectedIndex&&this.onSelectedIndexChanged()}return n}_checkedItemsUpdate(t,e){const i=this._cv.sourceCollection,s=this._checkedItems;let o=0;if(e){for(let e=0;e<i.length;e++){const n=i[e];if(o<s.length&&this._isEqual(n,s[o]))o++;else if(this._isEqual(n,t))return s.slice(0,o).concat([t]).concat(s.slice(o))}return s}{const e=this._findArrayItem(s,t);return s.slice(0,e).concat(s.slice(e+1))}}_isEqual(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}_findArrayItem(t,e){if(!Number.isNaN(e))return t.indexOf(e);for(let e=0;e<t.length;e++)if(Number.isNaN(t[e]))return e;return-1}_cvCollectionChanged(){if(!this._checking){this._populateList();this.onItemsChanged()}}_cvCurrentChanged(){if(!this._checking){this.showSelection();this._ignoredItemChangedEvents||this.onSelectedIndexChanged()}}_populateList(){const t=this.hostElement,e=this._cv;this._itemCount=e?e.items.length:0;this._isVirtual=this._getVirtual();this._oldSel=null;this._itemsAbove=-1;this._itemsBelow=-1;if(t){let i,s=this.containsFocus();this.onLoadingItems();this._children=[];const o=this._children;t.textContent="";if(e){let s,n=0,a=[];this._ignoreItemFormatterTextArray=[];if(this._shGroups&&e.groups&&e.groups.length){i={};for(let t=0;t<e.groups.length;t++){const o=e.groups[t];i[n]=o;s=this._createHeaderItem(o,t);a.push(s);for(let e=0;e<o.items.length;e++,n++){s=this._createItem(n,t);a.push(s)}}}else for(let t=0;t<e.items.length;t++,n++){s=this._createItem(n);a.push(s)}let l=this._isVirtual?document.createElement("div"):t,h=0;wijmo_1.setInnerHTMLSafe(l,a.join(""));for(let t=0;t<l.children.length;t++){const i=l.children[t];h==e.currentPosition&&(this._oldSel=i);i[ListBox._DIDX_KEY]=i.className.indexOf(exports.ListBoxClsNames.header)<0?h++:-1;o.push(i)}}if(this.formatItem.hasHandlers&&e){let t=0,s=e.items,n=new FormatItemEventArgs(0,null,null);for(let e=0;e<o.length;e++){n._item=o[e];if(this._shGroups&&wijmo_1.hasClass(n._item,exports.ListBoxClsNames.header)){n._index=-1;n._data=i[t]}else{n._index=t;n._data=s[t++]}this.onFormatItem(n)}}if(this._isVirtual){let e=this._getCanvasContext(),i=null,s=0;for(let t=0;t<o.length;t++){const n=o[t],a=e.measureText(n.textContent);if(a.width>s){i=n;s=a.width}}if(i){let e=!1,s=t.style.display,n=t.style.position;if(!t.parentElement){e=!0;(this._container||document.body).appendChild(t);wijmo_1.setCss(t,{display:"",position:"absolute"})}t.appendChild(i);const a=i.style.whiteSpace;i.style.whiteSpace="nowrap";this._ePadTop.style.width=i.offsetWidth+"px";this._itemHeight=i.offsetHeight||this._itemHeight;i.style.whiteSpace=a;this._eSizer.style.height=o.length*this._itemHeight+"px";t.appendChild(this._eSizer);this._clientHeight=t.clientHeight;wijmo_1.removeChild(this._eSizer);if(e){wijmo_1.removeChild(t);wijmo_1.setCss(t,{display:s,position:n})}wijmo_1.removeChild(i)}else this._ePadTop.style.width="";this._updateViewRange()}this.checkedItems=this._getCheckedItems();const n=this._getSelectedElement(!0);if(s){(n||t).focus()}else n&&this.showSelection();t.tabIndex=n?-1:this._orgTabIndex;this.onLoadedItems()}}_getCanvasContext(){const t=document.createElement("canvas").getContext("2d"),e=getComputedStyle(this.hostElement);e.fontSize&&e.fontFamily&&(t.font=`${e.fontSize} ${e.fontFamily.split(",")[0]}`);return t}_getVirtual(){if(this._itemCount<=this._vThreshold)return!1;const t=this.hostElement;if(t){const e=getComputedStyle(t);if(parseInt(e.columnCount)>1||e.display.indexOf("flex")>-1||e.display.indexOf("grid")>-1)return!1}return!0}_getMaxSupportedCssHeight(){let t=265e5;wijmo_1.isIE()?t=15e5:wijmo_1.isFirefox()&&(t=175e5);return t}_updateViewRange(){const t=this.hostElement,e=this._itemHeight,i=this._children;if(!(t&&t.parentElement&&this._isVirtual&&i))return!1;const s=t.scrollTop;wijmo_1.assert(e*i.length<this._getMaxSupportedCssHeight(),`The number of items (${i.length}) exceeds the maximum number of items (${Math.floor(this._getMaxSupportedCssHeight()/e)}) allowed for this browser.`);const o=Math.max(t.clientHeight,this._clientHeight),n=Math.floor(s/e),a=Math.min(i.length,Math.ceil((s+o)/e)-n),l=Math.max(0,i.length-n-a);if(n==this._itemsAbove&&l==this._itemsBelow)return!1;this._itemsAbove=n;this._itemsBelow=l;const h=document.createDocumentFragment(),r=this.containsFocus();this._ePadTop.style.height=n*e+"px";h.appendChild(this._ePadTop);if(this.showGroups&&!wijmo_1.hasClass(i[n],exports.ListBoxClsNames.header))for(let t=n;t>=0;t--)if(wijmo_1.hasClass(i[t],exports.ListBoxClsNames.header)){h.appendChild(i[t]);break}for(let t=n;t<=n+a&&t<i.length;t++)h.appendChild(i[t]);this._ePadBot.style.height=l*e+"px";h.appendChild(this._ePadBot);t.textContent="";t.appendChild(h);const _=(n+a+l)*e-t.scrollHeight;this._ePadBot.style.height=this._ePadBot.offsetHeight-_+"px";const d=this._getSelectedElement(!0);if(r){(d||t).focus({preventScroll:!0})}t.tabIndex=d?-1:this._orgTabIndex;return!0}_getSelectedElement(t){let e=this.selectedIndex,i=this._getElementIndex(e),s=i>-1?this._children[i]:null;t&&s&&!s.offsetHeight&&(s=null);return s}_handleResize(){this._updateViewRange()}_createItem(t,e){const i=this._cv.items[t],s=t==this._cv.currentPosition;let o=this.getDisplayValue(t),n=this.getDisplayValue(t,void 0!==this.itemFormatter);if(1!=this._html){o=wijmo_1.escapeHtml(o);n=wijmo_1.escapeHtml(n)}n=n.replace(/\bstyle\s*=/gi,"data-style=");this._itemFormatterHelper.innerHTML=n;n=this._itemFormatterHelper.textContent;this._ignoreItemFormatterTextArray.push(n);let a=null;if(this.checkedMemberPath){a=!1;wijmo_1.isObject(i)?a=!!this._pathChecked.getValue(i):this._checkedItems&&(a=this._checkedItems.indexOf(i)>-1);o='<label class="wj-checklist-item"><span class="wj-checklist-base" role="checkbox" aria-hidden="true"><span class="wj-checklist-mark"></span></span><span class="wj-checklist-caption">'+o+"</span></label>"}let l=exports.ListBoxClsNames.listBoxItem;s&&(l+=" "+wijmo_1.ControlStateClsNames.selected);a&&(l+=" "+wijmo_1.ControlStateClsNames.checked);if(this._html){const t=[wijmo_1.UtilitesClsNames.separator,wijmo_1.ControlStateClsNames.disabled];if(o.indexOf(t[0])>-1||o.indexOf(t[1])>-1){const e=wijmo_1.createElement(o);t.forEach(t=>{wijmo_1.hasClass(e,t)&&(l+=" "+t)})}}const h="aria-describedby = listGroup-"+e;return`<div id="${"listitem-"+t}" class="${l}" \n role="${this.itemRole}" \n ${void 0!==e?h:""}\n ${this._getAriaSelected(s,a)&&!this._isMenuItem()?'aria-selected="true"':""} \n tabindex="${s&&!this.isDisabled?this._orgTabIndex:-1}">${o}</div>`}_getAriaSelected(t,e){return!!(null!=e?e:t)||null}_createHeaderItem(t,e){const i=wijmo_1.escapeHtml(t.name);return`<div id="${"listGroup-"+e}" class="${exports.ListBoxClsNames.listBoxItem} ${exports.ListBoxClsNames.header} ${wijmo_1.ControlStateClsNames.disabled}" role="group" tabindex="-1">`+i+"</div>"}_click(t){if(0==t.button&&!t.defaultPrevented){const e=this.indexOf(t.target);if(e>-1){this.selectedIndex=e;if(this.checkedMemberPath){const i=this._getCheckbox(e);if(i){const s=wijmo_1.closest(i,".wj-listbox-item");if(t.target==i||t.target==s){s.focus({preventScroll:!0});this.setItemChecked(e,i.checked)}}else{const t=this._children[this._getElementIndex(e)];if(t){t.focus({preventScroll:!0});this.setItemChecked(e,"true"!==t.getAttribute("aria-selected"))}}}else{wijmo_1.closest(t.target,"."+exports.ListBoxClsNames.listBoxItem).focus({preventScroll:!0})}}}}_keydown(t){const e=this.selectedIndex;if(!t.defaultPrevented){if(65==t.keyCode&&(t.ctrlKey||t.metaKey)){const e=this.collectionView;if(this.checkedMemberPath&&wijmo_1.hasItems(e)){const i=this._children,s=[];let o=!0;for(let t=0;t<i.length;t++){if(wijmo_1.hasClass(i[t],wijmo_1._CLS_STATE_DISABLED))continue;const n=e.items[t];s.push(n);o&&!this.checkedItems.includes(n)&&(o=!1)}s.length!==e.items.length?this.checkedItems=o?this.checkedItems.filter(t=>!s.includes(t)):[...this.checkedItems,...s]:this.checkedItems=this.checkedItems.length!=e.items.length?e.items:[];t.preventDefault();return}}if(!t.altKey&&!t.metaKey){t.shiftKey&&(this._isShiftDown=!0);switch(t.keyCode){case wijmo_1.Key.Down:t.preventDefault();this._selectNext(t.shiftKey);break;case wijmo_1.Key.Up:t.preventDefault();this._selectPrev(t.shiftKey);break;case wijmo_1.Key.Home:t.preventDefault();t.ctrlKey&&t.shiftKey?this._selectRange(0):this._selectFirst();break;case wijmo_1.Key.End:t.preventDefault();t.ctrlKey&&t.shiftKey?this._selectRange(this._children.length-1):this._selectLast();break;case wijmo_1.Key.PageDown:t.preventDefault();this._selectNextPage();break;case wijmo_1.Key.PageUp:t.preventDefault();this._selectPrevPage();break;case wijmo_1.Key.Space:if(this.checkedMemberPath&&e>-1){const i=this._children[this._getElementIndex(e)];if(i&&this.isItemEnabled(e)&&!i.hasAttribute("disabled")){const s="true"===i.getAttribute("aria-selected");this.setItemChecked(e,!s);t.preventDefault()}}}}}}_getCheckboxState(t){const e=this._children[this._getElementIndex(t)];if(e)return"true"===e.getAttribute("aria-selected")}_setCheckboxState(t,e){const i=this._getElementIndex(t),s=this._children[i];if(s){if(s.querySelector(".wj-checklist-mark")){s.setAttribute("aria-selected",e.toString());wijmo_1.toggleClass(s,wijmo_1.ControlStateClsNames.checked,e)}else{const t=this._getCheckbox(i);if(t){t.checked=e;const i=wijmo_1.closest(t,"."+exports.ListBoxClsNames.listBoxItem);if(i){wijmo_1.toggleClass(i,wijmo_1.ControlStateClsNames.checked,e);wijmo_1.setAttribute(i,"aria-selected",!!e||null)}}}}}_getCheckbox(t){const e=this._children;return this.hostElement&&t>-1&&t<e.length?e[t].querySelector("input[type=checkbox]"):null}_keypress(t){if(!t.defaultPrevented&&!(t.target instanceof HTMLInputElement)&&(t.charCode>32||32==t.charCode&&this._search)){t.preventDefault();this._search+=String.fromCharCode(t.charCode);this._toSearch&&clearTimeout(this._toSearch);this._toSearch=setTimeout(()=>{this._toSearch=null;this._search=""},wijmo_1.Control._SEARCH_DELAY);let e=this._findNext();if(e<0&&this._search.length>1){this._search=this._search[this._search.length-1];e=this._findNext()}e>-1&&(this.selectedIndex=e)}}_selectNext(t=!1){const e=this.selectedIndex,i=this._findNextEnabled(e+1);if(i>-1){t&&this._selectRange(i);this.selectedIndex=i}return i>-1}_selectPrev(t=!1){const e=this.selectedIndex,i=this._findPrevEnabled(e-1);if(i>-1){t&&this._selectRange(i);this.selectedIndex=i}return i>-1}_findNextEnabled(t){for(let e=t;e<this._children.length;e++)if(this.isItemEnabled(e))return e;return-1}_findPrevEnabled(t){for(let e=t;e>=0;e--)if(this.isItemEnabled(e))return e;return-1}_selectFirst(){for(let t=0;t<this._children.length;t++)if(this.isItemEnabled(t)){this.selectedIndex=t;return!0}return!1}_selectLast(){for(let t=this._children.length-1;t>=0;t--)if(this.isItemEnabled(t)){this.selectedIndex=t;return!0}return!1}_selectNextPage(){let t=this.hostElement.offsetHeight,e=this._children,i=this._cv?this._cv.items.length:0,s=0;if(t>0)for(let o=this.selectedIndex+1;o<i;o++){const i=e[o].scrollHeight||this._itemHeight;if(s+i>t&&this.isItemEnabled(o)){this.selectedIndex=o;return!0}s+=i}return this._selectLast()}_selectPrevPage(){let t=this.hostElement.offsetHeight,e=this._children,i=0;if(t>0)for(let s=this.selectedIndex-1;s>0;s--){const o=e[s].scrollHeight||this._itemHeight;if(i+o>t&&this.isItemEnabled(s)){this.selectedIndex=s;return!0}i+=o}return this._selectFirst()}_findNext(){if(this.hostElement){let t=this._children.length,e=this.selectedIndex;(e<0||1==this._search.length)&&e++;let i=this._search,s=this.caseSensitiveSearch;s||(i=i.toLowerCase());for(let o=0;o<t;o++){const n=(e+o)%t;if(this.isItemEnabled(n)){let t=this.getDisplayText(n).trim();s||(t=t.toLowerCase());if(0==t.indexOf(i))return n}}}return-1}_initFromSelect(t){let e=t.children,i=[],s=-1;for(let o=0;o<e.length;o++){const n=e[o];if("OPTION"==n.tagName){n.hasAttribute("selected")&&(s=i.length);n.innerHTML?i.push({hdr:n.innerHTML,val:n.getAttribute("value"),cmdParam:n.getAttribute("cmd-param")}):i.push({hdr:`<div class="${wijmo_1.UtilitesClsNames.separator}"></div>`});t.removeChild(n);o--}}if(i){this.displayMemberPath="hdr";this.selectedValuePath="val";this.itemsSource=i;this.selectedIndex=s}}_setIsDisabled(t){super._setIsDisabled(t);this._updateTabIndex()}_setTabOrder(t){super._setTabOrder(t);this.isDisabled||this._updateTabIndex()}_isMenuItem(){return"menuitem"===this.itemRole||"menuitemcheckbox"===this.itemRole||"menuitemradio"===this.itemRole}_updateTabIndex(){const t=this.hostElement,e=this._getSelectedElement(!0);if(e){e.tabIndex=this.isDisabled?-1:this._orgTabIndex;t.tabIndex=-1}else t.tabIndex=this.isDisabled?-1:this._orgTabIndex}_selectRange(t){if(-1===this.selectedIndex)return;if(this._shouldClearOnShift&&this._isShiftDown){this.checkedItems=[];this._shouldClearOnShift=!1}const e=Math.min(this.selectedIndex,t),i=Math.max(this.selectedIndex,t),s=this.collectionView.items.slice(e,i+1);this.checkedItems=Array.from(new Set([...this.checkedItems,...s]))}dispose(){if(this._cv){this._cv.collectionChanged.removeHandler(this._cvCollectionChanged,this);this._cv.currentChanged.removeHandler(this._cvCurrentChanged,this);this._cv=null}this._items=null;if(this._toSearch){clearTimeout(this._toSearch);this._toSearch=null}this._children=null;this._eSizer=null;this._ePadTop=null;this._ePadBot=null;this._itemFormatterHelper=null;this._ignoreItemFormatterTextArray=null;this._checkedItems=null;super.dispose()}}ListBox._DIDX_KEY="$WJ-DIDX";ListBox._VTHRESH=Number.MAX_VALUE/2;exports.ListBox=ListBox;class FormatItemEventArgs extends wijmo_1.EventArgs{constructor(t,e,i){super();this._index=wijmo_1.asNumber(t);this._data=e;this._item=wijmo_1.asType(i,HTMLElement,!0)}get index(){return this._index}get data(){return this._data}get item(){return this._item}}exports.FormatItemEventArgs=FormatItemEventArgs;wijmo_1._addCultureInfo("MultiSelectListBox",{filterPlaceholder:"Filter",selectAll:"Select All",ariaLabels:{multiSelectListBox:"Multi select list box"}});class MultiSelectListBox extends wijmo_1.Control{constructor(t,e){super(t);this._ariaLabel=wijmo_1.culture.MultiSelectListBox.ariaLabels.multiSelectListBox;this._selectAllLabel=null;this._filterPlaceholder=null;this._filterText="";this._checkOnFilter=!0;this._delay=wijmo_1.Control._SEARCH_DELAY;this.checkedItemsChanged=new wijmo_1.Event;this.selectedIndexChanged=new wijmo_1.Event;const i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.MultiSelectListBoxClsNames.hostElement}`,i,{_selectAll:"select-all",_filter:"filter",_lbHost:"list-box"});this._selectAll.style.display="none";this._filter.style.display="none";this._lbx=new ListBox(this._lbHost,{checkedMemberPath:MultiSelectListBox._DEF_CHECKED_PATH,loadedItems:()=>this._updateCheckAllCheckbox(),checkedItemsChanged:t=>this.onCheckedItemsChanged(t),selectedIndexChanged:()=>this.onSelectedIndexChanged()});this._cbSelectAll=this._selectAll.querySelector("input[type=checkbox]");this._spSelectAll=this._selectAll.querySelector("label>span");const s=wijmo_1.culture.MultiSelectListBox;wijmo_1.setText(this._spSelectAll,s.selectAll);this._filter.placeholder=s.filterPlaceholder;this.initialize(e);this.addEventListener(this._filter,"input",()=>{if(this._filter.value!=this._filterText){this._filterText=this._filter.value;this._toSearch&&clearTimeout(this._toSearch);this._toSearch=setTimeout(()=>{this._toSearch=null;this._applyFilter()},this.delay)}});this.addEventListener(this._cbSelectAll,"click",t=>{const e=this._lbx.collectionView;wijmo_1.hasItems(e)&&(this.checkedItems=t.target.checked?e.items:[])});this.addEventListener(this.hostElement,"keydown",t=>{const e=this.showFilterInput?this._filter:null,i=this._lbx;if(e&&t.keyCode==wijmo_1.Key.F3){wijmo_1.setSelectionRange(e,0,e.value.length);t.preventDefault()}if(wijmo_1.getActiveElement()==e){let e=!t.altKey;switch(t.keyCode){case wijmo_1.Key.Escape:case wijmo_1.Key.F4:case wijmo_1.Key.Tab:e=!1}e&&t.stopPropagation()}if(!i.containsFocus())switch(t.keyCode){case wijmo_1.Key.Up:case wijmo_1.Key.Down:this._lbx.focus();if(!t.altKey){const e=i.selectedIndex+(t.keyCode==wijmo_1.Key.Up?-1:1);i.selectedIndex=Math.max(0,e)}t.preventDefault()}},!0);this.hostElement.tabIndex=-1;this._lbx.tabOrder=this._orgTabIndex;this._updateAriaLabel()}static get controlTemplate(){MultiSelectListBox._ctrlTemplate||(MultiSelectListBox._ctrlTemplate=`<div class="${wijmo_1.ControlClsNames.template} ${exports.ListBoxClsNames.hostElement}"><input wj-part="filter" class="${wijmo_1.InputFormElementsClsNames.formControl}" tabindex="-1"><div wj-part="select-all" class="${exports.MultiSelectListBoxClsNames.header} ${exports.MultiSelectListBoxClsNames.selectAll} ${exports.ListBoxClsNames.listBoxItem}"><label><input type="checkbox" tabindex="-1"> <span></span></label></div><div wj-part="list-box"/></div>`);return MultiSelectListBox._ctrlTemplate}static set controlTemplate(t){MultiSelectListBox._ctrlTemplate=t}get itemsSource(){return this._lbx.itemsSource}set itemsSource(t){this._lbx.itemsSource=t}get collectionView(){return this._lbx.collectionView}get virtualizationThreshold(){return this._lbx.virtualizationThreshold}set virtualizationThreshold(t){this._lbx.virtualizationThreshold=t}get displayMemberPath(){return this._lbx.displayMemberPath}set displayMemberPath(t){this._lbx.displayMemberPath=t}get isContentHtml(){return this._lbx.isContentHtml}set isContentHtml(t){this._lbx.isContentHtml=t}get caseSensitiveSearch(){return this._lbx.caseSensitiveSearch}set caseSensitiveSearch(t){this._lbx.caseSensitiveSearch=t}get delay(){return this._delay}set delay(t){this._delay=wijmo_1.asNumber(t,!1,!0)}get showGroups(){return this._lbx.showGroups}set showGroups(t){this._lbx.showGroups=t}get checkOnFilter(){return this._checkOnFilter}set checkOnFilter(t){if(t!=this.checkOnFilter){this._checkOnFilter=wijmo_1.asBoolean(t);this.checkedItems=[]}}get selectedIndex(){return this._lbx.selectedIndex}set selectedIndex(t){this._lbx.selectedIndex=t}get listBox(){return this._lbx}get showFilterInput(){return""==this._filter.style.display}set showFilterInput(t){if(t!=this.showFilterInput){this._filter.style.display=wijmo_1.asBoolean(t)?"":"none";if(!this.showFilterInput){this._filter.value="";this._applyFilter()}}}get filterInputPlaceholder(){return this._filterPlaceholder}set filterInputPlaceholder(t){if(t!=this._filterPlaceholder){this._filterPlaceholder=wijmo_1.asString(t);this.refresh()}}get showSelectAllCheckbox(){return""==this._selectAll.style.display}set showSelectAllCheckbox(t){this._selectAll.style.display=wijmo_1.asBoolean(t)?"":"none"}get selectAllLabel(){return this._selectAllLabel}set selectAllLabel(t){if(t!=this._selectAllLabel){this._selectAllLabel=wijmo_1.asString(t);this.refresh()}}get checkedMemberPath(){const t=this.listBox.checkedMemberPath;return t!=MultiSelectListBox._DEF_CHECKED_PATH?t:null}set checkedMemberPath(t){t=wijmo_1.asString(t);this.listBox.checkedMemberPath=t||MultiSelectListBox._DEF_CHECKED_PATH}get checkedItems(){return this.listBox.checkedItems}set checkedItems(t){this.listBox.checkedItems=wijmo_1.asArray(t)}get ariaLabelledBy(){return this.hostElement.getAttribute("aria-labelledby")}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this.hostElement,t,this._updateAriaLabel.bind(this))}_updateAriaLabel(){const t=wijmo_1.culture.MultiSelectListBox;wijmo_1.setAriaLabel(this._selectAll,t.selectAll);wijmo_1.setAriaLabel(this._filter,t.filterPlaceholder);this.hostElement&&(this.ariaLabelledBy?wijmo_1.setAriaLabel(this.hostElement,null):wijmo_1.setAriaLabel(this.hostElement,this._ariaLabel))}onCheckedItemsChanged(t){this._updateCheckAllCheckbox();this.checkedItemsChanged.raise(this,t);t._items&&"object"==typeof t._items[0]&&(this.checkedMemberPath||MultiSelectListBox._DEF_CHECKED_PATH)in t._items[0]&&setTimeout(()=>{this._lbx._updateCheckedList(this.checkedItems)},0)}onSelectedIndexChanged(t){this.selectedIndexChanged.raise(this,t)}refresh(t=!0){super.refresh(t);if(this.hostElement){const t=wijmo_1.culture.MultiSelectListBox;this._filter.placeholder=null!=this._filterPlaceholder?this._filterPlaceholder:t.filterPlaceholder;this._spSelectAll&&wijmo_1.setText(this._spSelectAll,null!=this._selectAllLabel?this._selectAllLabel:t.selectAll);this._updateCheckAllCheckbox()}}dispose(){this.listBox.dispose();super.dispose()}_applyFilter(){const t=this._lbx,e=t.collectionView,i=this._filter.value,s=i?new RegExp(wijmo_1.escapeRegExp(i),t.caseSensitiveSearch?"":"i"):null,o=this.displayMemberPath,n=o?new wijmo_1.Binding(o):null,a=this.checkOnFilter?null:this.checkedItems;e.filter=t=>{if(null!=s){if(a&&a.indexOf(t)>-1)return!0;n&&(t=n.getValue(t));this.isContentHtml&&(t=wijmo_1.toPlainText(t));return null!=t&&s.test(t.toString())}return!0};t.selectedIndex=Math.max(0,t.selectedIndex);this._checkOnFilter&&(this.checkedItems=s?e.items:[])}_updateCheckAllCheckbox(){const t=this._lbx.collectionView,e=this._cbSelectAll;if(wijmo_1.hasItems(t)){const i=t.items.length,s=this.checkedItems.length;wijmo_1.setChecked(e,s==i||0!=s&&null);e.disabled=!1}else{wijmo_1.setChecked(e,!1);e.checked=!1;e.disabled=!0}}_setIsDisabled(t){super._setIsDisabled(t);this.hostElement.tabIndex=-1;this.isDisabled?this._lbx.tabOrder=-1:this._lbx.tabOrder=this._orgTabIndex}_setTabOrder(t){this._orgTabIndex=t;this._lbx.tabOrder=t}tryForceClearDelayAndFilter(){if(this._toSearch){const t=this._delay;this._filterText=this._filter.value;this._toSearch&&clearTimeout(this._toSearch);this._toSearch=setTimeout(()=>{this._toSearch=null;this._applyFilter()},0);this._delay=t}}onLostFocus(){this.tryForceClearDelayAndFilter();super.onLostFocus()}}MultiSelectListBox._DEF_CHECKED_PATH="$checked";MultiSelectListBox._ctrlTemplate="";exports.MultiSelectListBox=MultiSelectListBox;wijmo_1._addCultureInfo("Calendar",{ariaLabels:{calendar:"Calendar",chooseDate:"Choose Date",chooseMonth:"Choose Month",monthView:"Month View",yearView:"Year View",selectYear:"Select Year",prvMo:"Previous Month",today:"Select Today",nxtMo:"Next Month",prvYr:"Previous Year",currMo:"Current Month",nxtYr:"Next Year"},buttons:{ok:"OK",cancel:"Cancel"}});!function(t){t[t.None=0]="None";t[t.Day=1]="Day";t[t.Month=2]="Month";t[t.Range=3]="Range"}(DateSelectionMode=exports.DateSelectionMode||(exports.DateSelectionMode={}));!function(t){t[t.None=0]="None";t[t.FirstMonth=1]="FirstMonth";t[t.LastMonth=2]="LastMonth";t[t.FirstAndLastMonths=3]="FirstAndLastMonths";t[t.AllMonths=4]="AllMonths";t[t.Outside=5]="Outside"}(ShowMonthPicker=exports.ShowMonthPicker||(exports.ShowMonthPicker={}));!function(t){t[t.None=0]="None";t[t.All=1]="All"}(CalendarTabKeyAction=exports.CalendarTabKeyAction||(exports.CalendarTabKeyAction={}));class Calendar extends wijmo_1.Control{constructor(t,e){super(t);this._yrPicker=!0;this._mtPicker=ShowMonthPicker.FirstMonth;this._wksBefore=0;this._wksAfter=0;this._rngMin=0;this._rngMax=0;this._min=null;this._max=null;this._readOnly=!1;this._handleWheel=!0;this._fdw=null;this._selMode=DateSelectionMode.Day;this._ariaLabel=wijmo_1.culture.Calendar.ariaLabels.calendar;this._tmYrHidden=0;this._fmtYrMo="y";this._fmtYr="yyyy";this._fmtDayHdr="ddd";this._fmtDay="d ";this._fmtMonths="MMM";this._fmtDayTitle="dddd";this.valueChanged=new wijmo_1.Event;this.rangeEndChanged=new wijmo_1.Event;this.rangeChanged=new wijmo_1.Event;this.displayMonthChanged=new wijmo_1.Event;this.formatItem=new wijmo_1.Event(()=>{this.invalidate()});this._updateCellFocus=(t,e)=>{wijmo_1.toggleClass(t,exports.CalendarClsNames.focused,e);wijmo_1.setAttribute(t,"tabIndex",e?"0":"-1");e&&this.containsFocus()&&!this._isButtonFocused()&&t.focus()};this.cancelButtonClicked=new wijmo_1.Event;this.OKButtonClicked=new wijmo_1.Event;this._enterKeyDownToSetValue=new wijmo_1.Event;this._value=this._rngEnd=wijmo_1.DateTime.newDate();this._month=this._getMonth(this._value);this._cals=[this];this._createChildren();this._createYearPicker();const i=this.hostElement,s=this.addEventListener.bind(this);s(i,"keydown",this._keydown.bind(this));s(i,"click",this._click.bind(this));this._focusValue=wijmo_1.DateTime.newDate();wijmo_1.setAttribute(i,"role","application");wijmo_1.setAttribute(this.hostElement,"aria-label",this._ariaLabel);this._keyActionTab=CalendarTabKeyAction.None;this._rptUp=new wijmo_1._ClickRepeater(this._btnPrv);this._rptDn=new wijmo_1._ClickRepeater(this._btnNxt);this.addEventListener(i,"wheel",t=>{if(this.handleWheel&&!t.defaultPrevented&&!this.isReadOnly&&this.containsFocus()){t.deltaY<0?this._btnPrv.click():this._btnNxt.click();t.preventDefault()}});this.initialize(e);this.refresh(!0)}static get controlTemplate(){Calendar._ctrlTemplate||(Calendar._ctrlTemplate=`<div class="${wijmo_1.ControlClsNames.content} ${exports.CalendarClsNames.calendarOuter}"><div wj-part="tbl-header" class=${exports.CalendarClsNames.calendarHeader}><div wj-part="btn-month" class=${exports.CalendarClsNames.monthSelect} role="button" aria-live="polite"><span wj-part="span-month"></span> <span class=${wijmo_1.GlyphClsNames.down}></span></div><div class="${wijmo_1.InputFormElementsClsNames.btnGroup}"><button wj-part="btn-prev" class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1"><span class=${wijmo_1.GlyphClsNames.left}></span></button><button wj-part="btn-today" class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1"><span class=${wijmo_1.GlyphClsNames.circle}></span></button><button wj-part="btn-next" class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1"><span class=${wijmo_1.GlyphClsNames.right}></span></button></div></div><table wj-part="tbl-month" class=${exports.CalendarClsNames.calendarMonth} role="grid"></table><table wj-part="tbl-year" class=${exports.CalendarClsNames.calendarYear} role="grid"></table></div>`);return Calendar._ctrlTemplate}static set controlTemplate(t){Calendar._ctrlTemplate=t}get value(){return this._value}set value(t){if((!wijmo_1.DateTime.sameDate(t,this._value)||!wijmo_1.DateTime.sameTime(t,this._value))&&(!(this.showConfirmationButtons&&wijmo_1.DateTime.sameDate(t,this.rangeEnd)&&wijmo_1.DateTime.sameTime(t,this.rangeEnd))||this._isSpaceDownForSetValue)){this._clearingRangeEnd=!wijmo_1.DateTime.equals(this._value,t);this.rangeEnd=null;this._clearingRangeEnd=!1;t=wijmo_1.asDate(t,!0);t=this._clamp(t);if(this._valid(t)||null==t){this.ensureVisible(t||new Date);if(!wijmo_1.DateTime.equals(this._value,t)){this._value=t;this.focusMode&&(this._focusValue=t);this.invalidate(!1);this.onValueChanged()}}if(!this.value){const t=this.min,e=this.max,i=this.displayMonth;e&&e<i?this.ensureVisible(e):t&&t>i&&this.ensureVisible(t)}}}get focusValue(){return this._focusValue}set focusValue(t){t=wijmo_1.asDate(t,!0);t=this._clamp(t);if(this._valid(t)||null==t){this.ensureVisible(t||new Date);this._focusValue=t;this._getCalendars().forEach(e=>{e._focusValue=t});this.invalidate(!1)}}get rangeEnd(){return this._rngEnd}set rangeEnd(t){t=wijmo_1.asDate(t,!0);if((t=this._clamp(t))&&this._value&&this._rngMode()){t<this._value&&(t=this._value);const e=this._rngMin,i=this._rngMax;if(e&&e>0||i&&i>0){const s=this._value,o=Math.ceil((t.getTime()-s.getTime())/864e5)+1;e&&e>0&&o<e&&(t=wijmo_1.DateTime.addDays(s,e-1));i&&i>0&&o>i&&(t=wijmo_1.DateTime.addDays(s,i-1))}}if((this._valid(t)||null==t)&&!wijmo_1.DateTime.equals(this._rngEnd,t)){this._rngEnd=t;this.ensureVisible(t);this.invalidate(!1);this._clearingRangeEnd||this.onRangeEndChanged()}}get rangeMin(){return this._rngMin}set rangeMin(t){if((t=wijmo_1.asNumber(t,!0,!0))!=this._rngMin){this._rngMin=t;this._syncProp(this,"rangeMin");this._rngMode()&&this._rngEnd&&(this.rangeEnd=this._rngEnd)}}get rangeMax(){return this._rngMax}set rangeMax(t){if((t=wijmo_1.asNumber(t,!0,!0))!=this._rngMax){this._rngMax=t;this._syncProp(this,"rangeMax");this._rngMode()&&this._rngEnd&&(this.rangeEnd=this._rngEnd)}}get min(){return this._min}set min(t){if((t=wijmo_1.asDate(t,!0))!=this.min){this._min=t;this._syncProp(this,"min");this.refresh();!this.value&&t&&t>this.displayMonth&&this.ensureVisible(t)}}get max(){return this._max}set max(t){if((t=wijmo_1.asDate(t,!0))!=this.max){this._max=t;this._syncProp(this,"max");this.refresh();!this.value&&t&&t<this.displayMonth&&this.ensureVisible(t)}}get selectionMode(){return this._selMode}set selectionMode(t){const e=DateSelectionMode;if((t=wijmo_1.asEnum(t,e))!=this._selMode){this._selMode=t;this._mthMode()&&(this.monthView=!1);t!=e.Range||this._rngEnd||(this._rngEnd=this._value);this.refresh();this._syncProp(this,"selectionMode")}}get isReadOnly(){return this._readOnly}set isReadOnly(t){this._readOnly=wijmo_1.asBoolean(t);wijmo_1.toggleClass(this.hostElement,wijmo_1.ControlStateClsNames.readOnly,this.isReadOnly);this._syncProp(this,"isReadOnly")}get handleWheel(){return this._handleWheel}set handleWheel(t){if(this._handleWheel!=t){this._handleWheel=wijmo_1.asBoolean(t);this._syncProp(this,"handleWheel")}}get repeatButtons(){return!this._rptUp.disabled}set repeatButtons(t){this._rptUp.disabled=this._rptDn.disabled=!wijmo_1.asBoolean(t);this._syncProp(this,"repeatButtons")}get showYearPicker(){return this._yrPicker}set showYearPicker(t){if(t!=this._yrPicker){this._yrPicker=wijmo_1.asBoolean(t);this._syncProp(this,"showYearPicker")}}get showMonthPicker(){return this._mtPicker}set showMonthPicker(t){if(t!=this._mtPicker){const e=ShowMonthPicker;wijmo_1.isBoolean(t)&&(t=t?e.FirstMonth:e.None);this._mtPicker=wijmo_1.asEnum(t,e);wijmo_1.toggleClass(this.hostElement,wijmo_1.InputFormElementsClsNames.btnsOutside,this._getShowMonthPicker()==e.Outside);this.refresh();this._syncProp(this,"showMonthPicker")}}get firstDayOfWeek(){return this._fdw}set firstDayOfWeek(t){if(t!=this._fdw){if((t=wijmo_1.asNumber(t,!0))&&(t>6||t<0))throw"firstDayOfWeek must be between 0 and 6 (Sunday to Saturday).";this._fdw=t;this.refresh();this._syncProp(this,"firstDayOfWeek")}}get displayMonth(){return this._month}set displayMonth(t){t=wijmo_1.asDate(t);t=this._getMonth(t);const e=this._getDisplayMonthRange();e.to&&t>e.to&&(t=e.to);e.from&&t<e.from&&(t=e.from);if(!wijmo_1.DateTime.equals(this.displayMonth,t)){this._month=t;this.invalidate(!0);this.onDisplayMonthChanged()}}get monthCount(){const t=this.hostElement;return t?t.querySelectorAll("."+exports.CalendarClsNames.hostElement).length+1:0}set monthCount(t){const e=this.hostElement;if(t!=this.monthCount&&e){const i=e.querySelectorAll("."+exports.CalendarClsNames.hostElement);t=wijmo_1.asInt(t,!1);wijmo_1.assert(t>0,"monthCount must be >= 1.");wijmo_1.assert(1==t||!wijmo_1.closest(e.parentElement,"."+exports.CalendarClsNames.hostElement),"Only top-level calendars can set monthCount.");for(let t=0;t<i.length;t++){const e=i[t];wijmo_1.removeChild(e);this._getCalendar(e).dispose()}this._cals=[this];for(let i=1;i<t;i++){const t=new Calendar(document.createElement("div"),{itemFormatter:this.itemFormatter,itemValidator:this.itemValidator,formatItem:(t,e)=>this.onFormatItem(e)});t._selMode=this._selMode;t._value=this._value;t._rngEnd=this._rngEnd;for(const e in this)if(!/^(_.*|constructor|displayMonth|monthCount|hostElement|rightToLeft|isUpdating|isTouching|keyActionTab)$/.test(e)){const i=this[e];wijmo_1.isFunction(i)||i instanceof wijmo_1.Event||(t[e]=i)}this._cals.push(t);e.appendChild(t.hostElement)}this.updateCalendarsTabindex();wijmo_1.toggleClass(e,exports.CalendarClsNames.calendarMultiMonth,t>1);this._syncProp(this,"displayMonth")}}get formatYearMonth(){return this._fmtYrMo}set formatYearMonth(t){if(t!=this._fmtYrMo){this._fmtYrMo=wijmo_1.asString(t);this._syncProp(this,"formatYearMonth");this.invalidate()}}get formatDayHeaders(){return this._fmtDayHdr}set formatDayHeaders(t){if(t!=this._fmtDayHdr){this._fmtDayHdr=wijmo_1.asString(t);this._syncProp(this,"formatDayHeaders");this.invalidate()}}get formatDays(){return this._fmtDay}set formatDays(t){if(t!=this._fmtDay){this._fmtDay=wijmo_1.asString(t);this._syncProp(this,"formatDays");this.invalidate()}}get formatYear(){return this._fmtYr}set formatYear(t){if(t!=this._fmtYr){this._fmtYr=wijmo_1.asString(t);this._syncProp(this,"formatYear");this.invalidate()}}get formatMonths(){return this._fmtMonths}set formatMonths(t){if(t!=this._fmtMonths){this._fmtMonths=wijmo_1.asString(t);this._syncProp(this,"formatMonths");this.invalidate()}}get showHeader(){return"none"!=this._tbHdr.style.display}set showHeader(t){if(t!=this.showHeader){this._tbHdr.style.display=wijmo_1.asBoolean(t)?"":"none";this._syncProp(this,"showHeader")}}get monthView(){return"none"!=this._tbMth.style.display}set monthView(t){if(t!=this.monthView){this._tbMth.style.display=t?"":"none";this._tbYr.style.display=t?"none":"";if(!t&&this.isThisMainCalendar()){const t=this.focusValue.getDate(),e=wijmo_1.DateTime.clone(this.displayMonth);e.setDate(t);this.focusValue=e}this.refresh();const e=wijmo_1.culture.Calendar.ariaLabels;wijmo_1.setAriaLabel(this._btnPrv,t?e.prvMo:e.prvYr);wijmo_1.setAriaLabel(this._btnTdy,t?e.today:e.currMo);wijmo_1.setAriaLabel(this._btnNxt,t?e.nxtMo:e.nxtYr);wijmo_1.setAriaLabel(this._btnMth,t?e.monthView:e.yearView);this._updateMonthButtonAria();this._syncProp(this,"monthView")}}get weeksBefore(){return this._wksBefore}set weeksBefore(t){if(t!=this._wksBefore){this._wksBefore=Math.floor(wijmo_1.asNumber(t,!1,!0));this._syncProp(this,"weeksBefore");this.invalidate()}}get weeksAfter(){return this._wksAfter}set weeksAfter(t){if(t!=this._wksAfter){this._wksAfter=Math.floor(wijmo_1.asNumber(t,!1,!0));this._syncProp(this,"weeksAfter");this.invalidate()}}get itemFormatter(){return this._itemFormatter}set itemFormatter(t){if(t!=this._itemFormatter){this._itemFormatter=wijmo_1.asFunction(t);this._syncProp(this,"itemFormatter");this.invalidate()}}get itemValidator(){return this._itemValidator}set itemValidator(t){if(t!=this._itemValidator){this._itemValidator=wijmo_1.asFunction(t);this._syncProp(this,"itemValidator");this.invalidate()}}hitTest(t){const e=t instanceof MouseEvent?t.target:t instanceof Element?t:null;wijmo_1.assert(null!=e,"MouseEvent or Element expected");return e?e[Calendar._DATE_KEY]:null}ensureVisible(t){if(null!=t){const e=this._getCalendars(),i=e.indexOf(this),s=e[0],o=e[e.length-1];t<s.displayMonth||!this.monthView&&this.focusMode?this.displayMonth=wijmo_1.DateTime.addMonths(this._getMonth(t),i):t>o.displayMonth&&(this.displayMonth=wijmo_1.DateTime.addMonths(this._getMonth(t),i-e.length+1))}}onValueChanged(t){this.valueChanged.raise(this,t);this._syncProp(this,"value")}onRangeEndChanged(t){this.rangeEndChanged.raise(this,t);this._syncProp(this,"rangeEnd");this._value&&this._rngEnd&&this.onRangeChanged(t)}onRangeChanged(t){this.rangeChanged.raise(this,t)}onDisplayMonthChanged(t){this.displayMonthChanged.raise(this,t);this._syncProp(this,"displayMonth")}onFormatItem(t){this.formatItem.raise(this,t)}_containsFocusImpl(t){return super._containsFocusImpl(t)||this._lbYears._containsFocusImpl(t)}dispose(){this._rptUp.element=null;this._rptDn.element=null;this._lbYears.dispose();super.dispose()}refresh(t=!0){const e=this.hostElement,i=this.containsFocus();if(!e)return;super.refresh(t);t&&this._updateContent();this._updateSelection();const s=this._getDisplayMonthRange(),o=this.displayMonth,n=null==s.from||o>s.from,a=null==s.to||o<s.to;wijmo_1.enable(this._btnPrv,n);wijmo_1.enable(this._btnNxt,a);n&&a||this.containsFocus()||this.focus();let l=!0;const h=wijmo_1.DateTime.newDate(),r=this._min&&this._min>h,_=this._max&&this._max<h;(r||_)&&(l=!1);wijmo_1.enable(this._btnTdy,l);if(i&&!this._isButtonFocused()){const t=(this.monthView?this._tbMth:this._tbYr).querySelector("td."+wijmo_1.ControlStateClsNames.selected)||e;t&&!this.focusMode&&t.focus()}const d=this._getCalendars();d.length>1&&this.isThisMainCalendar()&&d.forEach((e,i)=>{i>0&&e.refresh(t)})}_getShowMonthPicker(){const t=ShowMonthPicker,e=this._getCalendars(),i=e.indexOf(this),s=this.showMonthPicker;switch(s){case t.FirstMonth:case t.Outside:return 0==i?s:0;case t.LastMonth:return i==e.length-1?s:0;case t.FirstAndLastMonths:return 0==i||i==e.length-1?s:0;case t.AllMonths:return s}return 0}_getDisplayMonthRange(){const t={from:null,to:null};if(this.min||this.max){const e=this._getCalendars(),i=e.indexOf(this),s=this._mthMode()?wijmo_1.DateTime.addYears:wijmo_1.DateTime.addMonths;this.min&&(t.from=s(this._getMonth(this.min),i));this.max&&(t.to=s(this._getMonth(this.max),i-e.length+1))}return t}_getCalendar(t){return wijmo_1.Control.getControl(t)}_getCalendars(){const t=wijmo_1.closest(this.hostElement,"."+exports.CalendarClsNames.calendarMultiMonth);return(t?this._getCalendar(t):this)._cals}_syncProp(t,e){if(!this._syncing){const i=this._getCalendars();if(i&&i.length>1){let s=t[e],o=this._mthMode()?wijmo_1.DateTime.addYears:wijmo_1.DateTime.addMonths;"displayMonth"==e&&(s=o(s,-i.indexOf(t)));i[0].deferUpdate(()=>{this._syncing=!0;i.forEach((i,n)=>{if(i!=t){const t=i.displayMonth;i[e]="displayMonth"==e?o(s,n):s;if("value"==e){i.displayMonth=t;this._rngMode()&&(i.rangeEnd=null)}}});this._syncing=!1})}}}_updateContent(){const t=this.displayMonth,e=wijmo_1.Globalize.format,i=wijmo_1.DateTime,s=this._getShowMonthPicker();wijmo_1.setText(this._spMth,e(t,this._fmtYrMo));const o=this._btnMth.querySelector("."+wijmo_1.GlyphClsNames.down);o&&(o.style.display=this._mthMode()||!s?"none":"");const n=wijmo_1.closest(this._btnTdy,"."+wijmo_1.InputFormElementsClsNames.btnGroup);n&&(n.style.display=s?"":"none");const a=null!=this._fdw?this._fdw:wijmo_1.Globalize.getFirstDayOfWeek(),l=i.addDays(t,-(t.getDay()-a+7)%7),h=i.monthLast(t);let r=this._tbMth.querySelectorAll("th");this._updateMonthButtonAria();for(let t=0;t<7&&t<r.length;t++){const s=i.addDays(l,t);wijmo_1.setText(r[t],e(s,this._fmtDayHdr));wijmo_1.setAttribute(r[t],"tabIndex","-1");wijmo_1.setAttribute(r[t],"abbr",e(s,this._fmtDayTitle))}let _=!1;this._dateViewContainsFocus()&&(_=!0);const d=this._tbMth.querySelectorAll("tr");for(let t=1;t<d.length;t++)wijmo_1.removeChild(d[t]);_&&this.focus();let u=i.addDays(l,-7*this._wksBefore);for(let t=0;t<this._wksBefore;t++)u=this._addWeek(u,exports.CalendarClsNames.weekBefore);for(;u<=h;)u=this._addWeek(u);for(let t=0;t<this._wksAfter;t++)u=this._addWeek(u,exports.CalendarClsNames.weekAfter);r=this._tbYr.querySelectorAll("td");const m=this._tbYr.querySelectorAll("th");m.length&&wijmo_1.setText(m[0],e(t,this._fmtYr));for(let s=0;s<r.length;s++){u=i.newDate(t.getFullYear(),s,1);const o=r[s],n=!this._monthInValidRange(u);o[Calendar._DATE_KEY]=u;const a=wijmo_1.Globalize.format(u,"MMMM yyyy");wijmo_1.setText(o,e(u,this._fmtMonths));wijmo_1.toggleClass(o,wijmo_1.ControlStateClsNames.disabled,n);wijmo_1.setAriaLabel(o,a);wijmo_1.setAttribute(o,"tabIndex","-1");wijmo_1.setAttribute(o,"abbr",a)}this._confirmationButtonContainer&&(this._confirmationButtonContainer.style.display=this.showConfirmationButtons?"":"none");this._updateButtonTabIndex()}_updateSelection(){const t=Calendar._DATE_KEY,e=wijmo_1.DateTime;let i=this._tbMth.querySelectorAll("td");for(let s=0;s<i.length;s++){let o=this.rangeEnd;this._rngMode()||(o=null);const n=i[s],a=n[t],l=this.value,h=this._selMode&&null!=l&&e.sameDate(a,l),r=this._selMode&&null!=l&&e.sameDate(a,o),_=this._selMode&&null!=l&&a>l&&null!=o&&a<=o;wijmo_1.toggleClass(n,wijmo_1.ControlStateClsNames.selected,h);wijmo_1.toggleClass(n,wijmo_1.ControlStateClsNames.multiSelected,_);wijmo_1.toggleClass(n,wijmo_1.ControlStateClsNames.lastSelected,r);wijmo_1.setAttribute(n,"aria-selected",!!h||null);this._customizeCell(s,a,n)}i=this._tbYr.querySelectorAll("td");for(let e=0;e<i.length;e++){const s=i[e],o=s[t],n=this._sameMonth(o,this.value);wijmo_1.toggleClass(s,wijmo_1.ControlStateClsNames.selected,n);wijmo_1.setAttribute(s,"aria-selected",!!n||null)}this.focusMode&&!0!==this.isDisabled&&-1!==this.tabOrder&&this._updateFocusInAccessibilityMode()}_updateFocusInAccessibilityMode(){const t=Calendar._DATE_KEY,e=wijmo_1.DateTime,i=this._getCalendars();for(let s=0;s<i.length;s++){const o=i[s]._tbMth.querySelectorAll("td");for(let i=0;i<o.length;i++){const s=o[i],n=s[t],a=this._selMode&&null!=this.focusValue&&e.sameDate(n,this.focusValue)&&!wijmo_1.hasClass(s,exports.CalendarClsNames.dayOtherMonth);this._updateCellFocus(s,a)}}const s=i[0]._tbYr.querySelectorAll("td");for(let e=0;e<s.length;e++){const i=s[e],o=i[t],n=null!=this.focusValue&&this._sameMonth(o,this.focusValue);this._updateCellFocus(i,n)}}_addWeek(t,e){const i=this._createElement("tr",this._tbMth,e),s=wijmo_1.DateTime;for(let e=0;e<7;e++){const o=this._createElement("td",i),n=s.addDays(t,e);o[Calendar._DATE_KEY]=n;wijmo_1.setText(o,wijmo_1.Globalize.format(n,this._fmtDay));wijmo_1.setAriaLabel(o,wijmo_1.Globalize.format(n,"D"));const a=!this._valid(n),l=n.getDay(),h=n.getMonth()!=this.displayMonth.getMonth();wijmo_1.toggleClass(o,exports.CalendarClsNames.dayToday,s.sameDate(n,s.newDate()));wijmo_1.toggleClass(o,exports.CalendarClsNames.dayWeekend,0==l||6==l);wijmo_1.toggleClass(o,exports.CalendarClsNames.dayOtherMonth,h);wijmo_1.toggleClass(o,wijmo_1.ControlStateClsNames.invalid,a||!this._inValidRange(n));wijmo_1.setAttribute(o,"aria-disabled",a||!this._inValidRange(n))}return s.addDays(t,7)}_customizeCell(t,e,i){wijmo_1.isFunction(this.itemFormatter)&&this.itemFormatter(e,i);if(this.formatItem.hasHandlers){const s=new FormatItemEventArgs(t,e,i);this.onFormatItem(s)}}_canChangeValue(){return!this._readOnly&&this._selMode!=DateSelectionMode.None}_valid(t){return!(!wijmo_1.isDate(t)||!wijmo_1.DateTime.sameDate(t,this._clamp(t)))&&(!wijmo_1.isFunction(this.itemValidator)||this.itemValidator(t))}_inValidRange(t){const e=wijmo_1.DateTime.fromDateTime;return!(this.min&&t<e(this.min,t))&&!(this.max&&t>e(this.max,t))}_monthInValidRange(t){if(this.min||this.max){const e=t.getFullYear(),i=t.getMonth(),s=wijmo_1.DateTime,o=s.newDate(e,i,1),n=s.newDate(e,i+1,0);if(this.min&&this.min>n)return!1;if(this.max&&this.max<o)return!1}return!0}_sameMonth(t,e){return wijmo_1.isDate(t)&&wijmo_1.isDate(e)&&t.getMonth()==e.getMonth()&&t.getFullYear()==e.getFullYear()}_getValidDate(t,e){if(wijmo_1.isDate(t)){let i=t.getFullYear(),s=t.getMonth()+(e?0:1),o=e?1:0,n=wijmo_1.DateTime,a=n.newDate(i,s,o),l=e?1:-1;for(let t=0;t<31;t++){if(this._valid(a))return a;a=n.addDays(a,l)}}return null}_clamp(t){if(t){const e=wijmo_1.DateTime.fromDateTime;if(this.min){const i=e(this.min,t);t<i&&(t=i)}if(this.max){const i=e(this.max,t);t>i&&(t=i)}}return t}_createChildren(){const t=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${exports.CalendarClsNames.hostElement}`,t,{_tbHdr:"tbl-header",_btnMth:"btn-month",_spMth:"span-month",_btnPrv:"btn-prev",_btnTdy:"btn-today",_btnNxt:"btn-next",_tbMth:"tbl-month",_tbYr:"tbl-year"});this._tbYr.style.display="none";const e=wijmo_1.culture.Calendar.ariaLabels;wijmo_1.setAriaLabel(this._tbMth,e.chooseDate);wijmo_1.setAriaLabel(this._tbYr,e.chooseMonth);wijmo_1.setAriaLabel(this._btnPrv,e.calendar);wijmo_1.setAriaLabel(this._btnMth,e.monthView);wijmo_1.setAriaLabel(this._btnPrv,e.prvMo);wijmo_1.setAriaLabel(this._btnTdy,e.today);wijmo_1.setAriaLabel(this._btnNxt,e.nxtMo);let i=this._createElement("tr",this._tbMth,exports.CalendarClsNames.header);for(let t=0;t<7;t++){this._createElement("th",i).setAttribute("scope","col")}i=this._createElement("tr",this._tbYr,exports.CalendarClsNames.header);this._showYearListBoxButton=this._createElement("th",i);this._showYearListBoxButton.setAttribute("colspan","4");this._showYearListBoxButton.setAttribute("scope","col");wijmo_1.setAriaLabel(this._showYearListBoxButton,e.selectYear);wijmo_1.toggleClass(this._showYearListBoxButton,exports.CalendarClsNames.selectedYear);this._showYearListBoxButton.setAttribute("role","button");this._showYearListBoxButton.setAttribute("tabIndex","-1");for(let t=0;t<3;t++){i=this._createElement("tr",this._tbYr);for(let t=0;t<4;t++)this._createElement("td",i)}}_createYearPicker(){const t=this.hostElement,e=this._createElement("div",null,`${exports.DropDownClsNames.dropDownPanel} ${exports.CalendarClsNames.yearPicker}`);e.tabIndex=this._orgTabIndex;this._lbYears=new ListBox(e,{lostFocus:t=>{wijmo_1.hidePopup(e);this._tmYrHidden=Date.now();this.removeEventListener(window,"touchstart");if(t.selectedIndex>-1){const e=wijmo_1.DateTime.clone(this.displayMonth);e.setFullYear(t.selectedIndex+t.itemsSource[0]);this.displayMonth=e;this.focusMode&&(this.focusValue=e)}this.keyActionTab===CalendarTabKeyAction.All&&this._showYearListBoxButton.focus()}});wijmo_1.setAriaLabel(this._lbYears.hostElement,wijmo_1.culture.Calendar.ariaLabels.selectYear);this.addEventListener(e,"keydown",e=>{switch(e.keyCode){case wijmo_1.Key.Enter:t.focus();break;case wijmo_1.Key.Space:t.focus();e.preventDefault();break;case wijmo_1.Key.Escape:this._lbYears.selectedIndex=-1;t.focus()}e.defaultPrevented&&e.stopPropagation()});this.addEventListener(e,"click",e=>{t.focus()})}_createElement(t,e,i){const s=document.createElement(t);i&&wijmo_1.addClass(s,i);e&&e.appendChild(s);return s}_click(t){if(!t.defaultPrevented&&0==t.button){let e=!1,i=t.target;if(wijmo_1.contains(this._btnMth,i)&&!this._mthMode()&&this._getShowMonthPicker()){this.monthView=!this.monthView;e=!0}else if(wijmo_1.contains(this._btnPrv,i)){this._navigate(-1);if(this.focusMode){const t=wijmo_1.DateTime.addMonths(this.focusValue,-1);this.focusValue=t}e=!0}else if(wijmo_1.contains(this._btnNxt,i)){this._navigate(1);if(this.focusMode){const t=wijmo_1.DateTime.addMonths(this.focusValue,1);this.focusValue=t}e=!0}else if(wijmo_1.contains(this._btnTdy,i)){this._navigate(0);this.focusMode&&(this.focusValue=this.value);e=!0}if(i&&!e&&this._yrPicker&&wijmo_1.contains(this._tbYr,i)&&wijmo_1.closest(i,"."+exports.CalendarClsNames.header)){this._showYearPickerAction(t);return}if(i&&!e){const t=wijmo_1.closest(i,"td");if(t){const i=this.hitTest(t),s=wijmo_1.DateTime.fromDateTime;if(this.monthView){if(i&&this._canChangeValue()){const t=s(i,this._value);this._inValidRange(t)&&this._valid(t)&&(this._rngMode()&&this.value&&!this.rangeEnd&&t>=this.value?this.rangeEnd=t:this.value=t);e=!0}}else if(i){this.displayMonth=i;if(this._mthMode()){if(this._canChangeValue()){const t=s(this.displayMonth,this.value);this._inValidRange(t)&&(this.value=t)}}else this.monthView=!0;e=!0}}}if(e){t.preventDefault();this.focusMode||0===t.detail||this.focus()}}}_keydown(t){this._isSpaceDownForSetValue=!1;if(t.defaultPrevented)return;if(t.altKey)switch(t.keyCode){case wijmo_1.Key.Up:case wijmo_1.Key.Down:return;case wijmo_1.Key.End:this._navigate(0);t.preventDefault();return}const e=t.target;if(("Enter"===t.key||"Space"===t.code)&&e&&this.keyActionTab===CalendarTabKeyAction.All){if(wijmo_1.contains(this._btnMth,e)&&!this._mthMode()&&this._getShowMonthPicker()){this.monthView=!this.monthView;"Space"===t.code&&t.preventDefault();return}if(this._yrPicker&&wijmo_1.contains(this._tbYr,e)&&wijmo_1.closest(e,"."+exports.CalendarClsNames.header)){this._showYearPickerAction(t);return}}if(this.focusMode){if(("Enter"===t.key||"Space"===t.code)&&e.classList.contains(exports.CalendarClsNames.focused)){const i=wijmo_1.closest(e,"td");if(i){const e=this.hitTest(i);this._isSpaceDownForSetValue="Space"===t.code;this.setFocusModeValue(e,t)}"Space"===t.code&&t.preventDefault();return}if(!wijmo_1.contains(this._tbMth,t.target)&&(!wijmo_1.contains(this._tbYr,t.target)||wijmo_1.contains(this._tbYr.firstElementChild,t.target)))return;if("Tab"===t.key&&this.monthView){const e=this._getCalendars();if(this!==e[t.shiftKey?0:e.length-1]){const e=wijmo_1.DateTime.addMonths(this.focusValue,t.shiftKey?-1:1);this.focusValue=e;t.preventDefault()}}}if(t.ctrlKey||t.metaKey||t.shiftKey&&!this._rngMode())return;let i=this._getKeyCode(t),s=0,o=0,n=!0;if(this.monthView)switch(i){case wijmo_1.Key.Left:s=-1;break;case wijmo_1.Key.Right:s=1;break;case wijmo_1.Key.Up:s=-7;break;case wijmo_1.Key.Down:s=7;break;case wijmo_1.Key.PageDown:o=t.altKey?12:1;break;case wijmo_1.Key.PageUp:o=t.altKey?-12:-1;break;case wijmo_1.Key.Home:case wijmo_1.Key.End:if(this._canChangeValue()&&!t.shiftKey){const t=this.value||this.displayMonth,e=this._getValidDate(t,i==wijmo_1.Key.Home);if(e){this.value=wijmo_1.DateTime.fromDateTime(e,this.value);this._rngEnd=null}}break;default:n=!1}else switch(i){case wijmo_1.Key.Left:o=-1;break;case wijmo_1.Key.Right:o=1;break;case wijmo_1.Key.Up:o=-4;break;case wijmo_1.Key.Down:o=4;break;case wijmo_1.Key.PageDown:o=t.altKey?120:12;break;case wijmo_1.Key.PageUp:o=t.altKey?-120:-12;break;case wijmo_1.Key.Home:o=this.value?-this.value.getMonth():0;break;case wijmo_1.Key.End:o=this.value?11-this.value.getMonth():0;break;case wijmo_1.Key.Enter:this._mthMode()?n=!1:this.monthView=!0;break;default:n=!1}if(this._canChangeValue()&&(s||o)){let e=t.shiftKey&&null!=this.rangeEnd?this.rangeEnd:this.focusMode?this.focusValue:this.value;const i=wijmo_1.DateTime;if(e){e=i.addDays(e,s);e=i.addMonths(e,o)}else e=this._getValidDate(new Date,!0);if(o&&!this._valid(e)){const t=e.getMonth();for(let s=1;s<31&&!this._valid(e);s++){const o=i.addDays(e,+s),n=i.addDays(e,-s);this._valid(o)&&o.getMonth()==t?e=o:this._valid(n)&&n.getMonth()==t&&(e=n)}}for(let t=0;t<31&&!this._valid(e);t++)e=i.addDays(e,s>0||o>0?1:-1);t.shiftKey&&this._rngMode()&&e>this.value?this.rangeEnd=e:this.focusMode?this.focusValue=e:this.value=e}n&&t.preventDefault()}_getMonth(t){const e=wijmo_1.DateTime;t=t||e.newDate();return e.newDate(t.getFullYear(),t.getMonth(),1)}_mthMode(){return this.selectionMode==DateSelectionMode.Month}_rngMode(){return this.selectionMode==DateSelectionMode.Range}_navigate(t){let e=this.monthView,i=this.displayMonth,s=wijmo_1.DateTime;switch(t){case 0:{const t=s.newDate();this._canChangeValue()&&(this.value=e?s.fromDateTime(t,this.value):this._getMonth(t));i=this._getMonth(t);break}case 1:i=s.addMonths(i,e?1:12);break;case-1:i=s.addMonths(i,e?-1:-12)}this.displayMonth=i}_setTabOrder(t){super._setTabOrder(t);this._lbYears.tabOrder=this._orgTabIndex;this._getCalendars().forEach(e=>{e.tabOrder!=t&&(e.tabOrder=t)});this.updateCalendarsTabindex()}_showYearPickerAction(t){const e=t.target;if(Date.now()-this._tmYrHidden<600){t.preventDefault();return}var i=this.displayMonth.getFullYear(),s=this.min?this.min.getFullYear():i-100,o=this.max?this.max.getFullYear():i+100,n=[];for(let t=s;t<=o;t++)n.push(t);const a=this._lbYears,l=a.hostElement,h=wijmo_1.closest(e,"."+exports.CalendarClsNames.header),r=this.hostElement,_=wijmo_1.closest(r,"."+exports.InputDateClsNames.inputDateDropDown)||r;a.itemsSource=n;a.selectedIndex=i-n[0];wijmo_1.setAttribute(l,"dir",this.rightToLeft?"rtl":null);wijmo_1.setCss(l,{minWidth:"",width:h.offsetWidth});wijmo_1.showPopup(l,h,!1,!1,_);requestAnimationFrame(()=>{a.showSelection(!0)});this.addEventListener(window,"touchstart",t=>{if(!wijmo_1.contains(l,t.target)){wijmo_1.hidePopup(l);this._tmYrHidden=Date.now();this.removeEventListener(window,"touchstart")}});t.preventDefault()}get focusMode(){return this._focusMode}set focusMode(t){this._focusMode=t;this._getCalendars().forEach(e=>{e.focusMode!==t&&(e.focusMode=t)});this.updateCalendarsTabindex();this.invalidate()}get keyActionTab(){return this._keyActionTab}set keyActionTab(t){this._keyActionTab=t;this._updateButtonTabIndex()}_isButtonFocused(){const t=wijmo_1.getActiveElement();if(!t)return!1;const e=t.getAttribute("role"),i=t.type;return e&&"button"===e.toLowerCase()||i&&"button"===i.toLowerCase()}_isSameMonth(t,e){return t.getMonth()===e.getMonth()}_dateViewContainsFocus(){const t=this._tbYr.querySelectorAll("td"),e=Array.from(t).find(t=>t===wijmo_1.getActiveElement());return this._tbMth.contains(wijmo_1.getActiveElement())||void 0!==e}_updateMonthButtonAria(){const t=wijmo_1.culture.Calendar.ariaLabels,e=this.monthView?t.monthView:t.yearView;wijmo_1.setAriaLabel(this._btnMth,`${e}, ${wijmo_1.Globalize.format(this.displayMonth,this._fmtYrMo)}`)}_isDayValid(t){return this._valid(t)&&this._inValidRange(t)}cancelButtonClick(t){this.cancelButtonClicked.raise(this,t)}oneCancelButtonClick(t){this.cancelButtonClick(t)}OKButtonClick(t){this.OKButtonClicked.raise(this,t)}onOkButtonClick(t){this.OKButtonClick(t);this.setFocusModeValue(this.focusValue)}get ariaLabel(){return this._ariaLabel}set ariaLabel(t){if(this.ariaLabel!==t&&this.hostElement){this._ariaLabel=t;wijmo_1.setAttribute(this.hostElement,"aria-label",t)}}_updateButtonTabIndex(){const t=this.tabOrder.toString();if(this.keyActionTab===CalendarTabKeyAction.All&&!0!==this.isDisabled){wijmo_1.setAttribute(this._btnMth,"tabindex",t);wijmo_1.setAttribute(this._btnPrv,"tabindex",t);wijmo_1.setAttribute(this._btnTdy,"tabindex",t);wijmo_1.setAttribute(this._btnNxt,"tabindex",t);wijmo_1.setAttribute(this._showYearListBoxButton,"tabindex",t)}else{wijmo_1.setAttribute(this._btnMth,"tabindex","-1");wijmo_1.setAttribute(this._btnPrv,"tabindex","-1");wijmo_1.setAttribute(this._btnTdy,"tabindex","-1");wijmo_1.setAttribute(this._btnNxt,"tabindex","-1");wijmo_1.setAttribute(this._showYearListBoxButton,"tabindex","-1")}wijmo_1.setAttribute(this._btnOK,"tabindex",t);wijmo_1.setAttribute(this._btnCancel,"tabindex",t)}_onEnterKeyDownToSetValue(t){this._enterKeyDownToSetValue.raise(this,t)}get showConfirmationButtons(){return this._showConfirmationButtons}set showConfirmationButtons(t){this._showConfirmationButtons=t;this._getCalendars().forEach(e=>{e._showConfirmationButtons=t})}_setIsDisabled(t){super._setIsDisabled(t);this._updateButtonTabIndex()}updateCalendarsTabindex(){const t=this.focusMode||-1===this.tabOrder?-1:0;this._getCalendarsHostElements().forEach(e=>{e.tabIndex=t})}setFocusModeValue(t,e){const i=wijmo_1.DateTime.fromDateTime;if(this.monthView){if(t&&this._canChangeValue()){const s=i(t,this._value);if(this._inValidRange(s)&&this._valid(s))if(this._rngMode()&&this.value&&!this.rangeEnd&&s>=this.value)this.rangeEnd=s;else{e&&this._enterKeyDownToSetValue.raise(this,e);this.value=s}}}else if(t){this.displayMonth=t;if(this._mthMode()){if(this._canChangeValue()){const t=i(this.displayMonth,this.value);this._inValidRange(t)&&(this.value=t)}}else this.monthView=!0}}_getCalendarsHostElements(){return this._getCalendars().filter((t,e)=>e>0).map(t=>t.hostElement)}updateConfirmationButtons(t){if(!this._confirmationButtonContainer){const e=`<div class="${exports.CalendarClsNames.confirmationButtonContainer}"></div>`;this._confirmationButtonContainer=wijmo_1.createElement(e);this._btnOK=wijmo_1.createElement(`<button wj-part="btn-ok" class="${wijmo_1.InputFormElementsClsNames.btn} ${exports.CalendarClsNames.button}"></button>`);this._btnCancel=wijmo_1.createElement(`<button wj-part="btn-cancel" class="${wijmo_1.InputFormElementsClsNames.btn} ${exports.CalendarClsNames.button}"></button>`);const i=wijmo_1.culture.Calendar.buttons;wijmo_1.setText(this._btnOK,i.ok);wijmo_1.setText(this._btnCancel,i.cancel);const s=this.addEventListener.bind(this);s(this._btnCancel,"click",this.oneCancelButtonClick.bind(this));s(this._btnOK,"click",this.onOkButtonClick.bind(this));this._confirmationButtonContainer.appendChild(this._btnOK);this._confirmationButtonContainer.appendChild(this._btnCancel);t.appendChild(this._confirmationButtonContainer)}}setFocusValueToFirstOrLastCalendar(t){const e=this._getCalendars();let i;i=this.monthView?t?e[0].displayMonth:e[e.length-1].displayMonth:e[0].displayMonth;const s=this.focusValue.getDate(),o=new Date(i.getFullYear(),i.getMonth()+1,0).getDate(),n=new Date(i.getFullYear(),i.getMonth(),Math.min(s,o));this.focusValue=n}isCalendarDateCell(t){return!wijmo_1.isNullOrUndefined(t[Calendar._DATE_KEY])&&"td"===t.tagName.toLowerCase()}isThisMainCalendar(){return this==this._getCalendars()[0]}}Calendar._DATE_KEY="$WJ-DATE";Calendar._ctrlTemplate="";exports.Calendar=Calendar;function softTouch(){return wijmo_1._getModule("wijmo.touch")}exports.softTouch=softTouch;function getDragDropTouch(){var t=softTouch();return t&&t.DragDropTouch&&t.DragDropTouch.getInstance?t.DragDropTouch.getInstance():null}exports.getDragDropTouch=getDragDropTouch;wijmo_1._addCultureInfo("DropDown",{ariaLabels:{tgl:"Toggle Dropdown"}});!function(t){t[t.Select=0]="Select";t[t.Open=1]="Open";t[t.Toggle=2]="Toggle"}(ClickAction=exports.ClickAction||(exports.ClickAction={}));!function(t){t[t.ChangeSelectionOnly=0]="ChangeSelectionOnly";t[t.OpenDropdown=1]="OpenDropdown"}(KeyAction=exports.KeyAction||(exports.KeyAction={}));!function(t){t[t.CloseAndKeepFocus=0]="CloseAndKeepFocus";t[t.CloseAndMoveFocus=1]="CloseAndMoveFocus"}(TabKeyAction=exports.TabKeyAction||(exports.TabKeyAction={}));class DropDown extends wijmo_1.Control{constructor(t,e){super(t);this._clickAction=ClickAction.Select;this._showBtn=!0;this._autoExpand=!0;this._animate=!1;this._internalSettingText=!1;this._oldText="";this._keyActionDownArrow=KeyAction.ChangeSelectionOnly;this._keyActionUpArrow=KeyAction.ChangeSelectionOnly;this._keyActionTab=TabKeyAction.CloseAndMoveFocus;this._touchMove=!1;this._isDropdownOpened=!1;this.textChanged=new wijmo_1.Event;this.isDroppedDownChanging=new wijmo_1.Event;this.isDroppedDownChanged=new wijmo_1.Event;const i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.DropDownClsNames.hostElement}`,i,{_tbx:"input",_btn:"btn",_dropDown:"dropdown"},"input");let s;this.hostElement&&this.hostElement.id&&(s=this.hostElement.id);s&&this._dropDown&&this._dropDown.setAttribute("dropdown-id",s);this._dropDown.style.display="none";const o=wijmo_1.culture.DropDown.ariaLabels;wijmo_1.setAriaLabel(this._btn.querySelector("button"),o.tgl);this._elRef=this._tbx;const n=this._tbx;wijmo_1.disableAutoComplete(n);this._createDropDown();this._updateTbxAriaHaspopup();this._updateBtn();this._updateTbx();const a=this.hostElement;wijmo_1.addClass(a,wijmo_1.ControlStateClsNames.collapsed);this.addEventListener(window,"resize",()=>{this.isDroppedDown&&this.invalidate()});const l=this.dropDown,h=this.addEventListener.bind(this),r=this._updateFocusState.bind(this);h(l,"blur",r,!0);h(l,"focus",r);const _=this._keydown.bind(this);h(a,"keydown",_);h(l,"keydown",_);const d=this._keypress.bind(this);h(a,"keypress",d,!0);h(l,"keypress",d,!0);const u=this._input.bind(this);h(n,"input",u);h(n,"beforeinput",t=>{"historyUndo"!==t.inputType&&"historyRedo"!==t.inputType||t.preventDefault()});h(n,"blur",()=>{this._commitText(!0,!1)},!0);h(n,"click",()=>{this._autoExpand&&this._expandSelection()});h(n,"touchstart",()=>{this.isTouching&&"none"===n.getAttribute("inputmode")&&n.removeAttribute("inputmode")});h(n,"mousedown",t=>{if(this._isTouchMoved())t.preventDefault();else switch(this._clickAction){case ClickAction.Open:if(!this.isDroppedDown){t.preventDefault();this.focus();this.isDroppedDown=!0}break;case ClickAction.Toggle:t.preventDefault();this.focus();this.isDroppedDown=!this.isDroppedDown}});h(this._btn,"mousedown",t=>{this._isTouchMoved()||this._btnclick(t)});wijmo_1.removeChild(l);wijmo_1.isIE()&&this._elRef==this._tbx&&h(a,"mouseup",t=>{if(!t.defaultPrevented&&0==t.button&&wijmo_1.hasClass(t.target,wijmo_1.InputFormElementsClsNames.btn)){const e=wijmo_1.getActiveElement();e&&e!=t.target&&setTimeout(()=>{e.focus()})}});wijmo_1.isIE9()&&h(n,"keyup",()=>{this._setText(this.text,!1)});h(l,"click",this._dropDownClick.bind(this))}static get controlTemplate(){DropDown._ctrlTemplate||(DropDown._ctrlTemplate=`<div class="${wijmo_1.ControlClsNames.template}"><div class="${exports.InputClsNames.input}"><div class="${exports.InputClsNames.inputGroup} ${exports.InputClsNames.inputBtnVisible}"><input wj-part="input" type="text" class="${wijmo_1.InputFormElementsClsNames.formControl}"><span wj-part="btn" class="${exports.InputClsNames.inputGroupBtn}"><button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1"><span class=${wijmo_1.GlyphClsNames.down}></span></button></span></div></div><div wj-part="dropdown" class="${wijmo_1.ControlClsNames.content} ${exports.DropDownClsNames.dropDownPanel}"></div></div>`);return DropDown._ctrlTemplate}static set controlTemplate(t){DropDown._ctrlTemplate=t}_isTouchMoved(){const t=getDragDropTouch();return t&&t.isDragging}get text(){return this._tbx.value}set text(t){if(t!=this.text){this._setText(t,!0);this._commitText()}}get inputElement(){return this._tbx}get inputType(){return this._tbx.type}set inputType(t){this._tbx.type=wijmo_1.asString(t)}get isReadOnly(){return this._tbx.readOnly}set isReadOnly(t){this._tbx.readOnly=wijmo_1.asBoolean(t);wijmo_1.toggleClass(this.hostElement,wijmo_1.ControlStateClsNames.readOnly,this.isReadOnly);this.isReadOnly&&this._toggleDropDown(!1)}get isRequired(){return this._tbx.required}set isRequired(t){this._tbx.required=wijmo_1.asBoolean("boolean"==typeof t?t:this.isRequired)}get placeholder(){return this._tbx.placeholder}set placeholder(t){this._tbx.placeholder=t}get clickAction(){return this._clickAction}set clickAction(t){this._clickAction=wijmo_1.asEnum(t,ClickAction)}get isDroppedDown(){const t=this._dropDown;return t&&"none"!=t.style.display}set isDroppedDown(t){const e=this.hostElement,i=this._dropDown,s=this.containsFocus(),o=new Set(["InputDateTime","WjInputDateTime"]);if(!e||!i)return;let n=!this.isReadOnly;this.isTouching&&(n=!0);t=wijmo_1.asBoolean(t)&&!this.isDisabled&&n&&e.offsetWidth>0;this.isDroppedDown&&!t&&this.isDisabled&&(t=this.isDroppedDown);if(t||"INPUT"!=wijmo_1.getActiveElement().tagName||this.inputElement===wijmo_1.getActiveElement()||!this._isInvalidInputCancelled){if(t!=this.isDroppedDown&&(o.has(this.constructor.name)||!this._isInvalidInputCancelled||!this.isDroppedDown&&this._isInvalidInputCancelled)&&this.onIsDroppedDownChanging(new wijmo_1.CancelEventArgs)){this._toggleDropDown(t);s&&(this.isTouching&&this.showDropDownButton?e.focus():this.selectAll());this._updateFocusState();this._updateBtn();this._updateTbx();wijmo_1.toggleClass(e,wijmo_1.ControlStateClsNames.collapsed,!this.isDroppedDown);this.onIsDroppedDownChanged()}}else{this._isDropdownOpened=this.isDroppedDown;this._toggleDropDown(t)}}_toggleDropDown(t){const e=this.hostElement,i=this._dropDown;if(t){this._minWidthDropdown=i.style.minWidth;i.style.display="";this._updateDropDown();this.addEventListener(window,"touchstart",t=>{const i=wijmo_1.Control._touching;for(let i=t.target;i;){if(i==e)return;i=i[wijmo_1.Control._OWNR_KEY]||i.parentNode}wijmo_1.Control._touching=!0;this.isDroppedDown=!1;wijmo_1.Control._touching=i})}else{this.removeEventListener(window,"touchstart");wijmo_1.hidePopup(i);i.style.minWidth=this._minWidthDropdown}}get dropDown(){return this._dropDown}get dropDownCssClass(){return this._cssClass}set dropDownCssClass(t){if(t!=this._cssClass){wijmo_1.removeClass(this._dropDown,this._cssClass);this._cssClass=wijmo_1.asString(t);wijmo_1.addClass(this._dropDown,this._cssClass)}}get showDropDownButton(){return this._showBtn}set showDropDownButton(t){this._showBtn=wijmo_1.asBoolean(t);this._updateBtn()}get autoExpandSelection(){return this._autoExpand}set autoExpandSelection(t){this._autoExpand=wijmo_1.asBoolean(t)}get isAnimated(){return this._animate}set isAnimated(t){this._animate=wijmo_1.asBoolean(t)}get keyActionDownArrow(){return this._keyActionDownArrow}set keyActionDownArrow(t){this._keyActionDownArrow=wijmo_1.asEnum(t,KeyAction)}get keyActionUpArrow(){return this._keyActionUpArrow}set keyActionUpArrow(t){this._keyActionUpArrow=wijmo_1.asEnum(t,KeyAction)}get keyActionTab(){return this._keyActionTab}set keyActionTab(t){this._keyActionTab=wijmo_1.asEnum(t,TabKeyAction)}selectAll(){const t=this._tbx;this._elRef==t&&wijmo_1.setSelectionRange(t,0,this.text.length);this.containsFocus()||this.focus()}onTextChanged(t){this.textChanged.raise(this,t);this._updateState()}onIsDroppedDownChanging(t){this.isDroppedDownChanging.raise(this,t);return!t.cancel}onIsDroppedDownChanged(t){this.isDroppedDownChanged.raise(this,t)}onGotFocus(t){this.isTouching||wijmo_1.contains(this._dropDown,wijmo_1.getActiveElement())||this.selectAll();super.onGotFocus(t)}onLostFocus(t){this._commitText();this.isDroppedDown=!1;super.onLostFocus(t)}_containsFocusImpl(t){return super._containsFocusImpl(t)||this.isDroppedDown&&wijmo_1.contains(this._dropDown,t)}dispose(){this.isDroppedDown=!1;const t=this._dropDown;if(t){this._dropDown=null;wijmo_1.removeChild(t);const e=wijmo_1.Control.getControl(t);e&&e.dispose()}super.dispose()}refresh(t=!0){super.refresh(t);const e=this.hostElement;if(e&&e.offsetHeight&&this.isDroppedDown){const t=wijmo_1.getActiveElement();this.isAnimated&&""!=this._dropDown.style.opacity||wijmo_1.showPopup(this._dropDown,e,!1,!1,null==this.dropDownCssClass);t instanceof HTMLElement&&t!=wijmo_1.getActiveElement()&&t.focus()}}_handleResize(){this.isDroppedDown&&this.refresh()}_dropDownClick(t){t.stopPropagation()}_expandSelection(){let t=this._tbx,e=t.value,i=t.selectionStart,s=t.selectionEnd;if(e&&i==s){const o=this._getCharType(e,i);if(o>-1){for(;s<e.length&&this._getCharType(e,s)==o;s++);for(;i>0&&this._getCharType(e,i-1)==o;i--);i!=s&&wijmo_1.setSelectionRange(t,i,s)}}}_getCharType(t,e){const i=t[e];return i>="0"&&i<="9"?0:i>="a"&&i<="z"||i>="A"&&i<="Z"?1:-1}_keydown(t){if(!t.defaultPrevented&&!this._isHiddenEditor()){switch(t.keyCode){case wijmo_1.Key.Escape:case wijmo_1.Key.Enter:if(this.isDroppedDown){this.isDroppedDown=!1;this.containsFocus()||this.focus();t.preventDefault()}break;case wijmo_1.Key.F4:this.toggleDropDown(t);break;case wijmo_1.Key.Up:this.handleUpArrowKey(t);break;case wijmo_1.Key.Down:this.handleDownArrowKey(t)}if(!t.defaultPrevented&&t.keyCode==wijmo_1.Key.Escape&&wijmo_1.isIE()){const e=this._tbx;if(t.target==e){const t=e.value;e.value=t+" ";e.value=t}}}}toggleDropDown(t){if(this.isHostVisible()){this.isDroppedDown=!this.isDroppedDown;t.preventDefault()}}handleUpArrowKey(t){t.altKey?this.toggleDropDown(t):this.keyActionUpArrow!==KeyAction.OpenDropdown||this.isDroppedDown||this.openDropDown(t)}handleDownArrowKey(t){if(t.altKey)this.toggleDropDown(t);else if(this.keyActionDownArrow===KeyAction.OpenDropdown&&!this.isDroppedDown){this.openDropDown(t);this._afterOpenDropdownByDownArrow()}}_afterOpenDropdownByDownArrow(){}openDropDown(t){if(this.isHostVisible()){this.isDroppedDown=!0;t.preventDefault()}}isHostVisible(){const t=this.hostElement;return!(!t||!t.offsetHeight)}_isHiddenEditor(){return wijmo_1.hasClass(this._tbx,"wj-grid-ime")}_keypress(t){"AltLeft"!=t.code&&"AltRight"!=t.code||t.preventDefault()}_input(t){this._setText(this.text,!1)}_btnclick(t){if(!t.defaultPrevented&&0==t.button){this._isInvalidInputCancelled=!1;t.preventDefault();if(this.isTouching){this._tbx.getAttribute("inputmode");this._tbx.setAttribute("inputmode","none");this.isDroppedDown=!this.isDroppedDown;this.selectAll()}else{this.focus();this.isDroppedDown=!this.isDroppedDown}}}_setText(t,e,i,s){let o=!1;if((t=(t||"").toString())!=this._tbx.value){this._tbx.value=t;if(i||!t){this.onTextChanged();o=!0}}if(t!=this._oldText){this._oldText=t;this._internalSettingText||o||this.onTextChanged()}s&&(this._tbx.value=this._tbx.value.trim());this._updateState()}_updateBtn(){this._btn.style.display=this._showBtn?"":"none";this._updateBtnAria()}_updateBtnAria(){const t=this._btn.querySelector("button"),e=this.isDroppedDown,i=this.dropDown?this.dropDown.id:null;wijmo_1.setAttribute(t,"aria-expanded",!!e);wijmo_1.setAttribute(t,"aria-controls",e?i:null)}_updateTbx(){this._updateTbxAria()}_updateTbxAria(){const t=this._tbx,e=this.isDroppedDown,i=this.dropDown?this.dropDown.id:null;wijmo_1.setAttribute(t,"aria-controls",e?i:null);wijmo_1.setAttribute(t,"aria-expanded",e)}_updateTbxAriaHaspopup(){const t=this._tbx,e=this.dropDown&&this.dropDown.getAttribute("role");wijmo_1.setAttribute(t,"aria-haspopup",e)}_createDropDown(){}_commitText(t,e){}_updateDropDown(){if(this.isDroppedDown){this._commitText();const t=this.dropDown;wijmo_1.setAttribute(t,"dir",this.rightToLeft?"rtl":null);wijmo_1.showPopup(t,this.hostElement,!1,this._animate,null==this.dropDownCssClass)}}_shouldRaiseInvalidInput(t){return wijmo_1.isNullOrUndefined(t)?!this._containsFocus():t}}DropDown._ctrlTemplate="";exports.DropDown=DropDown;wijmo_1._addCultureInfo("Popup",{ariaLabels:{close:"close",backdrop:"backdrop",isDraggable:"draggable",isResizable:"resizable",popupVisible:"visible",popupHide:"hidden",popup:"popup"}});!function(t){t[t.None=0]="None";t[t.ClickOwner=1]="ClickOwner";t[t.ClickPopup=2]="ClickPopup";t[t.Click=3]="Click";t[t.BlurOwner=4]="BlurOwner";t[t.BlurPopup=8]="BlurPopup";t[t.Blur=12]="Blur";t[t.ClickOrBlur=15]="ClickOrBlur";t[t.DownOwner=16]="DownOwner";t[t.DownPopup=32]="DownPopup";t[t.Down=48]="Down";t[t.EnterOwner=64]="EnterOwner";t[t.EnterPopup=128]="EnterPopup";t[t.Enter=192]="Enter";t[t.LeaveOwner=256]="LeaveOwner";t[t.LeavePopup=512]="LeavePopup";t[t.Leave=768]="Leave"}(PopupTrigger=exports.PopupTrigger||(exports.PopupTrigger={}));!function(t){t[t.None=0]="None";t[t.Left=1]="Left";t[t.Top=2]="Top";t[t.Right=4]="Right";t[t.Bottom=8]="Bottom";t[t.LeftTop=3]="LeftTop";t[t.RightTop=6]="RightTop";t[t.RightBottom=12]="RightBottom";t[t.LeftBottom=9]="LeftBottom"}(_Edges||(_Edges={}));class Popup extends wijmo_1.Control{constructor(t,e){super(t);this._owner=null;this._ariaLabel=wijmo_1.culture.Popup.ariaLabels.popup;this._modal=!1;this._position=wijmo_1.PopupPosition.BelowLeft;this._showTrigger=PopupTrigger.ClickOwner;this._hideTrigger=PopupTrigger.Blur;this._hideAnim=[];this._fadeIn=!0;this._fadeOut=!0;this._removeOnHide=!0;this._draggable=!1;this._resizable=!1;this._result=null;this._resultEnter=null;this._resultSubmit=null;this._callback=null;this._visible=!1;this._ownerClickBnd=this._ownerClick.bind(this);this._ownerDownBnd=this._ownerDown.bind(this);this._ownerBlurBnd=this._ownerBlur.bind(this);this._ownerEnterBnd=this._ownerEnter.bind(this);this._ownerLeaveBnd=this._ownerLeave.bind(this);this._mousedownBnd=this._mousedown.bind(this);this._mousemoveBnd=this._mousemove.bind(this);this._mousedragBnd=this._mousedrag.bind(this);this._mouseupBnd=this._mouseup.bind(this);this._hideBnd=this.hide.bind(this);this._lastShow=0;this._initialOwner=null;this._activeEdge=_Edges.None;this.showing=new wijmo_1.Event;this.shown=new wijmo_1.Event;this.hiding=new wijmo_1.Event;this.hidden=new wijmo_1.Event;this.resizing=new wijmo_1.Event;this.resized=new wijmo_1.Event;this.dragging=new wijmo_1.Event;this.dragged=new wijmo_1.Event;this.sizeChanging=new wijmo_1.Event;this.sizeChanged=new wijmo_1.Event;this.positionChanging=new wijmo_1.Event;this.positionChanged=new wijmo_1.Event;const i=this.hostElement;Popup._PopupInstanceCount++;wijmo_1.addClass(i,`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.PopupClsNames.hostElement}`);if(this.hostElement){this._initialOwner=this.hostElement.parentElement;wijmo_1.setAttribute(this.hostElement,"role","dialog")}i.getAttribute("tabindex")||(i.tabIndex=0);wijmo_1.hidePopup(i,!1);const s=this.addEventListener.bind(this);s(i,"compositionstart",()=>{this._composing=!0});s(i,"compositionend",()=>{this._composing=!1});s(window,"resize",()=>{!this.isVisible||this._dragged||this.isTouching||this.invalidate()});s(i,"keydown",t=>{if(!t.defaultPrevented){const e=10,s=t.ctrlKey&&t.altKey&&!t.shiftKey,o=t.ctrlKey&&t.shiftKey&&!t.altKey;if(s||o){const i=this.hostElement.getBoundingClientRect(),n=wijmo_1.Rect.fromBoundingRect(i);if(s&&this.isDraggable){t.preventDefault();switch(t.keyCode){case wijmo_1.Key.Left:n.left=Math.max(0,n.left-e);break;case wijmo_1.Key.Right:n.left=Math.min(window.innerWidth-n.width,n.left+e);break;case wijmo_1.Key.Up:n.top=Math.max(0,n.top-e);break;case wijmo_1.Key.Down:n.top=Math.min(window.innerHeight-n.height,n.top+e)}const i=new PopupBoundsChangingEventArgs(n);if(this.onPositionChanging(i)){wijmo_1.setCss(this.hostElement,{left:n.left+window.scrollX,top:n.top+window.scrollY,transform:"none"});this.onPositionChanged()}}else if(o&&this.isResizable){t.preventDefault();const e=10,i=window.getComputedStyle(this.hostElement),s=Math.max(parseInt(i.minWidth)||0,Popup._SZ_MIN),o=Math.max(parseInt(i.minHeight)||0,Popup._SZ_MIN);if(this._activeEdge===_Edges.None)switch(t.keyCode){case wijmo_1.Key.Up:this._activeEdge=_Edges.Top;break;case wijmo_1.Key.Down:this._activeEdge=_Edges.Bottom;break;case wijmo_1.Key.Left:this._activeEdge=_Edges.Left;break;case wijmo_1.Key.Right:this._activeEdge=_Edges.Right}const a=this._activeEdge===_Edges.Top||this._activeEdge===_Edges.Bottom,l=this._activeEdge===_Edges.Left||this._activeEdge===_Edges.Right;if(a&&![wijmo_1.Key.Up,wijmo_1.Key.Down].includes(t.keyCode)||l&&![wijmo_1.Key.Left,wijmo_1.Key.Right].includes(t.keyCode))return;if(this._activeEdge!==_Edges.None){let i=0;switch(t.keyCode){case wijmo_1.Key.Up:case wijmo_1.Key.Left:i=-e;break;case wijmo_1.Key.Down:case wijmo_1.Key.Right:i=e}switch(this._activeEdge){case _Edges.Top:{const t=Math.min(Math.max(n.top+i,0),n.bottom-o);n.height=n.bottom-t;n.top=t;break}case _Edges.Bottom:{const t=Math.min(Math.max(n.bottom+i,n.top+o),window.innerHeight);n.height=t-n.top;break}case _Edges.Left:{const t=Math.min(Math.max(n.left+i,0),n.right-s);n.width=n.right-t;n.left=t;break}case _Edges.Right:{const t=Math.min(Math.max(n.right+i,n.left+s),window.innerWidth);n.width=t-n.left;break}}n.left=Math.max(0,Math.min(n.left,window.innerWidth-n.width));n.top=Math.max(0,Math.min(n.top,window.innerHeight-n.height));const a=new PopupBoundsChangingEventArgs(n);if(this.onSizeChanging(a)){wijmo_1.setCss(this.hostElement,{left:n.left+window.scrollX,top:n.top+window.scrollY,width:n.width,height:n.height,transform:"none"});this.onSizeChanged()}}}}if(t.keyCode==wijmo_1.Key.Escape&&!this._composing){t.preventDefault();this.hide()}if(t.keyCode==wijmo_1.Key.Enter&&!this._composing){const e=this.dialogResultEnter;if(e){t.preventDefault();this._validateAndHide(e)}}if(t.keyCode==wijmo_1.Key.Tab&&this.modal){t.preventDefault();wijmo_1.moveFocus(i,t.shiftKey?-1:1)}}});s(document,"keyup",t=>{t.ctrlKey||t.shiftKey||this._activeEdge===_Edges.None||(this._activeEdge=_Edges.None)});s(i,"click",t=>{const e=t.target;if(e instanceof HTMLElement){if(e instanceof HTMLButtonElement&&"submit"==e.type){const e=this.hostElement,i=this.dialogResultSubmit;if(e instanceof HTMLFormElement&&i&&e.reportValidity()){t.preventDefault();this.hide(i)}}const i=e.className.match(/\bwj-hide[\S]*\b/);if(i&&i.length>0){t.preventDefault();t.stopPropagation();this.hide(i[0])}}});const o=this._toggle.bind(this),n=PopupTrigger;this.addEventListener(i,"click",t=>{this._ignoreClick||o(t,n.ClickPopup)},!0);this.addEventListener(i,"mousedown",t=>{this._ignoreClick=!1;o(t,n.DownPopup)},!0);this.addEventListener(i,"mouseenter",t=>{t.target==i&&o(t,n.EnterPopup)},!0);this.addEventListener(i,"mouseleave",t=>{t.target==i&&o(t,n.LeavePopup)},!0);this.addEventListener(i,"blur",t=>{this.containsFocus()||o(t,n.BlurPopup)},!0);s(document,"wheel",t=>{if(this.isVisible&&this._modal){for(let e=t.target;e&&e!=document.body;e=e.parentElement)if(e.scrollHeight>e.clientHeight)return;t.preventDefault()}});this.initialize(e);this._updateAriaLabel()}get ariaLabelledBy(){return this.hostElement.getAttribute("aria-labelledby")}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this.hostElement,t,this._updateAriaLabel.bind(this))}get owner(){return this._owner}set owner(t){let e=this._owner;if(e){this.removeEventListener(e,"click");this.removeEventListener(e,"mousedown");this.removeEventListener(e,"mouseenter");this.removeEventListener(e,"mouseleave");this.removeEventListener(e,"blur")}e=this._owner=null!=t?wijmo_1.getElement(t):null;if(e){this.addEventListener(e,"click",this._ownerClickBnd,!0);this.addEventListener(e,"mousedown",this._ownerDownBnd,!0);this.addEventListener(e,"mouseenter",this._ownerEnterBnd,!0);this.addEventListener(e,"mouseleave",this._ownerLeaveBnd,!0);this.addEventListener(e,"blur",this._ownerBlurBnd,!0)}}get position(){return this._position}set position(t){this._position=wijmo_1.asEnum(t,wijmo_1.PopupPosition)}get content(){return this.hostElement.firstElementChild}set content(t){if(t!=this.content){this.hostElement.innerHTML="";t instanceof HTMLElement&&this.hostElement.appendChild(t)}}get showTrigger(){return this._showTrigger}set showTrigger(t){this._showTrigger=wijmo_1.asEnum(t,PopupTrigger)}get hideTrigger(){return this._hideTrigger}set hideTrigger(t){this._hideTrigger=wijmo_1.asEnum(t,PopupTrigger)}get fadeIn(){return this._fadeIn}set fadeIn(t){this._fadeIn=wijmo_1.asBoolean(t)}get fadeOut(){return this._fadeOut}set fadeOut(t){this._fadeOut=wijmo_1.asBoolean(t)}get removeOnHide(){return this._removeOnHide}set removeOnHide(t){if((t=wijmo_1.asBoolean(t))!=this.removeOnHide){this._removeOnHide=t;if(!this.isVisible){const e=this.hostElement;if(t)wijmo_1.removeChild(e);else if(e&&document.body){e.style.display="none";document.body.appendChild(e)}}}}get modal(){return this._modal}set modal(t){this._modal=wijmo_1.asBoolean(t);wijmo_1.setAttribute(this.hostElement,"aria-modal",t?"true":null)}get isDraggable(){return this._draggable}set isDraggable(t){this._draggable=wijmo_1.asBoolean(t);this._updateAriaLabel()}get isResizable(){return this._resizable}set isResizable(t){this._resizable=wijmo_1.asBoolean(t);this._updateAriaLabel()}get dialogResult(){return this._result}set dialogResult(t){this._result=t}get dialogResultEnter(){return this._resultEnter}set dialogResultEnter(t){this._resultEnter=t}get dialogResultSubmit(){return this._resultSubmit}set dialogResultSubmit(t){this._resultSubmit=wijmo_1.asString(t)}get isVisible(){const t=this.hostElement;return this._visible&&null!=t&&t.offsetHeight>0}show(t,e){this._lastShow=Date.now();if(!this.isVisible){const i=this.hostElement;this.dialogResult=null;this._callback=null;this._oldFocus=null;this._myFocus=null;this._hideAnim.forEach(t=>{clearInterval(t)});if(this._hideAnim.length>0){this._hideAnim.length=0;if(this._bkDrop){wijmo_1.hidePopup(this._bkDrop,this.removeOnHide);this._bkDrop.style.opacity=""}wijmo_1.hidePopup(i,this.removeOnHide);i.style.opacity=""}const s=new wijmo_1.CancelEventArgs;if(this.onShowing(s)){null!=t&&(this.modal=wijmo_1.asBoolean(t));null!=e&&(this._callback=wijmo_1.asFunction(e));this._oldFocus=wijmo_1.getActiveElement();wijmo_1.showPopup(i,this._owner,this._position,this._fadeIn,!1,this._hideBnd);this._modal&&this._showBackdrop();wijmo_1.setAttribute(this._oldFocus,"aria-expanded","true");this._composing=!1;this._visible=!0;this.onShown(s);this._updateAriaLabel();this._clearTimeouts();if(this.modal){this.addEventListener(window,"focus",()=>{if(!this.containsFocus()){const t=this._myFocus;t&&t.offsetHeight?t.focus():wijmo_1.moveFocus(i,0)}});this.addEventListener(i,"focusin",()=>{const t=wijmo_1.getActiveElement();t&&wijmo_1.contains(i,t)&&(t.tabIndex>-1||!this._myFocus)&&(this._myFocus=t)})}this._resized=this._dragged=this._ignoreClick=!1;this._handleDragResize(!0);this.addEventListener(window,"touchstart",t=>{this._hideTrigger&PopupTrigger.Blur&&!wijmo_1.contains(i,t.target,!0)&&this.hide()});this._toHidePopupTimer=setTimeout(()=>{this.addEventListener(window,"click",t=>{this._hideTrigger&PopupTrigger.BlurPopup&&this.isDisabled&&!wijmo_1.contains(i,t.target,!0)&&this.hide()})});this._toGetFocusTimer=setTimeout(()=>{if(!this.isDisabled&&!this.containsFocus()&&!this.isTouching){const t=i.querySelector("[autofocus]");if(t&&t.clientHeight>0&&!t.disabled&&t.tabIndex>-1&&!wijmo_1.closest(t,"[disabled],."+wijmo_1.ControlStateClsNames.disabled)){t.focus();wijmo_1.isFunction(t.select)&&t.select()}else wijmo_1.moveFocus(i,0)}if(!this.isDisabled&&!this.containsFocus()){i.tabIndex=0;i.focus()}},100)}}}hide(t){this.removeEventListener(window,"touchstart");this.removeEventListener(window,"click");if(this.isVisible){wijmo_1.isUndefined(t)||(this.dialogResult=t);const e=new wijmo_1.CancelEventArgs,i=this.hostElement;if(this.onHiding(e)){this._handleDragResize(!1);const t=this.containsFocus()?this._oldFocus:null,s=i.querySelectorAll(`.${wijmo_1.ControlClsNames.hostElement}.${exports.DropDownClsNames.hostElement}`);for(let t=0;t<s.length;t++){const e=wijmo_1.Control.getControl(s[t]);e instanceof DropDown&&(e.isDroppedDown=!1)}const o=this.removeOnHide,n=this.fadeOut;this._hideTimer=setTimeout(()=>{this._updateState();this.onHidden(e);this._callback&&this._callback(this);if(this.hideTrigger&PopupTrigger.LeavePopup){const t=wijmo_1.Control.getControl(wijmo_1.closest(this.owner,"."+exports.PopupClsNames.hostElement));if(t instanceof Popup&&0!=(t.hideTrigger&PopupTrigger.Leave)){let e=Popup._evtHover,i=e?document.elementFromPoint(e.clientX,e.clientY):null,s=wijmo_1.Control.getControl(wijmo_1.closest(i,"."+exports.PopupClsNames.hostElement));s instanceof Popup&&!s.isVisible&&(i=null);i&&wijmo_1.contains(t.hostElement,i,!0)||t.hide()}}},wijmo_1.Control._FOCUS_INTERVAL+50);this._bkDrop&&this._hideAnim.push(wijmo_1.hidePopup(this._bkDrop,o,n));this._hideAnim.push(wijmo_1.hidePopup(i,o,n));wijmo_1.setAttribute(this._oldFocus,"aria-expanded","false");this._visible=!1;this._oldFocus=null;this._myFocus=null;this._updateAriaLabel();this.removeEventListener(window,"focus");this.removeEventListener(i,"focusin");this.containsFocus()&&wijmo_1.getActiveElement().blur();this._clearTimeouts();!this.isVisible&&t&&t.offsetHeight&&t.focus()}}}onShowing(t){this.showing.raise(this,t);return!t.cancel}onShown(t){this.shown.raise(this,t)}onHiding(t){this.hiding.raise(this,t);return!t.cancel}onHidden(t){this._wasVisible=!1;this.hidden.raise(this,t)}onResizing(t){this.resizing.raise(this,t);return!t.cancel}onResized(t){this.resized.raise(this,t)}onDragging(t){this.dragging.raise(this,t);return!t.cancel}onDragged(t){this.dragged.raise(this,t)}onSizeChanging(t){this.sizeChanging.raise(this,t);return!t.cancel}onSizeChanged(t){this.sizeChanged.raise(this,t)}onPositionChanging(t){this.positionChanging.raise(this,t);return!t.cancel}onPositionChanged(t){this.positionChanged.raise(this,t)}onLostFocus(t){super.onLostFocus(t);if(this._hideTrigger&PopupTrigger.BlurPopup&&!this.containsFocus()){const t=document.createEvent("Event");t.initEvent("blur",!0,!0);this._toggle(t,PopupTrigger.BlurPopup)}}refresh(t=!0){const e=this.hostElement;super.refresh(t);if(this.isVisible&&!this._refreshing&&e){this._refreshing=!0;const t=wijmo_1.getActiveElement(),i=this._owner?this._owner.getBoundingClientRect():null,s=[],o=e.querySelectorAll("."+exports.DropDownClsNames.hostElement);for(let t=0;t<o.length;t++){const e=wijmo_1.Control.getControl(o[t]);if(e instanceof DropDown&&e.isDroppedDown){s.push(e);e.dropDown.style.display="none"}}wijmo_1.showPopup(e,i,this._position);s.forEach(t=>{t.dropDown.style.display="";t._updateDropDown()});this._modal&&t instanceof HTMLElement&&t!=wijmo_1.getActiveElement()&&t.focus();this._refreshing=!1}}_clearTimeouts(){if(this._toShow){clearTimeout(this._toShow);this._toShow=null}if(this._toHideLeave){clearTimeout(this._toHideLeave);this._toHideLeave=null}if(this._toHideBlur){clearTimeout(this._toHideBlur);this._toHideBlur=null}}_handleDragResize(t){const e=this.hostElement,i=this._draggable?this._getHeaderElement():null,s=this.addEventListener.bind(this),o=this.removeEventListener.bind(this),n=this._mousemoveBnd,a=this._mousedownBnd;if(t){s(e,"mousemove",n);s(e,"mousedown",a);s(e,"touchstart",a);i&&(i.style.touchAction="none")}else{this._mousedownEvt=null;this._rcBounds=null;o(e,"mousemove",n);o(e,"mousedown",a);o(e,"touchstart",a);o(document,"mousemove",this._mousedragBnd);o(document,"mouseup",this._mouseupBnd);i&&(i.style.touchAction="")}}_mousemove(t){if(!this._mousedownEvt){let e=this.hostElement,i=this._getEdges(e,t),s="",o=_Edges;this._edges=i;this._resizable&&(i==o.LeftTop||i==o.RightBottom?s="nwse-resize":i==o.LeftBottom||i==o.RightTop?s="nesw-resize":i==o.Left||i==o.Right?s="ew-resize":i!=o.Top&&i!=o.Bottom||(s="ns-resize"));this._draggable&&!s&&this._getClosestHeader(t.target)&&(s="move");e.style.cursor=s}}_mousedown(t){if(!t.defaultPrevented){const e=t.touches&&t.touches.length>0?t.touches[0]:t;this._edges=this._getEdges(this.hostElement,e);if(this._edges||this._draggable&&this._getClosestHeader(t.target)){const t=new wijmo_1.CancelEventArgs;if(this._edges?this.onResizing(t):this.onDragging(t)){this._mousedownEvt=e;this._rcBounds=this.hostElement.getBoundingClientRect();const t=this.addEventListener.bind(this),i=document,s=this._mousedragBnd,o=this._mouseupBnd;t(i,"mousemove",s);t(i,"touchmove",s);t(i,"mouseup",o);t(i,"touchend",o)}}this._ignoreClick=!1}}_mouseup(){this._mousedownEvt=null;this._rcBounds=null;this._activeEdge=_Edges.None;const t=this.removeEventListener.bind(this),e=document,i=this._mousedragBnd,s=this._mouseupBnd;t(e,"mousemove",i);t(e,"touchmove",i);t(e,"mouseup",s);t(e,"touchend",s);this._resized?this.onResized():this._dragged&&this.onDragged();this._resized=this._dragged=this._ignoreClick=!1}_mousedrag(t){if(!t.defaultPrevented){const e=this.hostElement,i=this._mousedownEvt,s=t.touches&&t.touches.length>0?t.touches[0]:t,o=s.clientX-i.clientX,n=s.clientY-i.clientY,a=this._rcBounds,l=this._edges,h=Popup._SZ_MIN,r=wijmo_1.Rect.fromBoundingRect(a);if(l){const t=window.getComputedStyle(e),i=parseInt(t.getPropertyValue("min-width"))||h,s=parseInt(t.getPropertyValue("min-height"))||h;if(l&_Edges.Left){const t=r.right-i;r.left=Math.min(r.left+o,t);r.width=Math.max(r.width-o,i)}else l&_Edges.Right&&(r.width=Math.max(r.width+o,i));if(l&_Edges.Top){const t=r.bottom-s;r.top=Math.min(r.top+n,t);r.height=Math.max(r.height-n,s)}else l&_Edges.Bottom&&(r.height=Math.max(r.height+n,s));if(this.onSizeChanging(new PopupBoundsChangingEventArgs(r))){wijmo_1.setCss(e,{left:r.left+window.scrollX,top:r.top+window.scrollY,width:r.width,height:r.height,transform:"none"});this._resized=this._dragged=this._ignoreClick=!0;this.onSizeChanged()}if(!window.ResizeObserver){const t=this.hostElement.children;for(let e=0;e<t.length;e++)wijmo_1.Control.invalidateAll(t[e])}}else if(this._draggable){"touchmove"===t.type&&wijmo_1.isiOS()&&t.preventDefault();if(this._dragged||Math.abs(o)+Math.abs(n)>Popup._DRAG_THRESHOLD){r.left=Math.max(a.left+o+(s.pageX-s.clientX),50-a.width);r.top=Math.max(a.top+n+(s.pageY-s.clientY),0);if(this.onPositionChanging(new PopupBoundsChangingEventArgs(r))){wijmo_1.setCss(e,{left:r.left,top:r.top,width:r.width,height:r.height,transform:"none"});this._dragged=this._ignoreClick=!0;this.onPositionChanged()}}}}}_getEdges(t,e){let i=0;if(this._resizable){const s=t.getBoundingClientRect(),o=Popup._SZ_EDGE;e.clientX-s.left<o&&(i|=_Edges.Left);e.clientY-s.top<o&&(i|=_Edges.Top);s.right-e.clientX<o&&(i|=_Edges.Right);s.bottom-e.clientY<o&&(i|=_Edges.Bottom)}return i}_ownerClick(t){this._toggle(t,PopupTrigger.ClickOwner)}_ownerDown(t){this._wasVisible=this.isVisible;this._toggle(t,PopupTrigger.DownOwner)}_ownerBlur(t){wijmo_1.contains(this._owner,wijmo_1.getActiveElement())||this._toggle(t,PopupTrigger.BlurOwner)}_ownerEnter(t){t.target==this._owner&&this._toggle(t,PopupTrigger.EnterOwner)}_ownerLeave(t){t.target==this._owner&&this._toggle(t,PopupTrigger.LeaveOwner)}_toggle(t,e){t instanceof MouseEvent&&(Popup._evtHover=t);if(!("mouseenter"==t.type&&Date.now()-this._lastShow<300||t.defaultPrevented)){const t=0!=(this._hideTrigger&e),i=0!=(this._showTrigger&e),s=PopupTrigger;(t||i)&&this._clearTimeouts();t&&this.isVisible&&(e&s.Leave?this._toHideLeave=setTimeout(()=>{const t=Popup._evtHover,e=t?document.elementFromPoint(t.clientX,t.clientY):null;e&&wijmo_1.contains(this.hostElement,e,!0)||this.hide()},wijmo_1.Control._LEAVE_DELAY):e&s.Blur?this._toHideBlur=setTimeout(()=>{this.containsFocus()||wijmo_1.contains(this._owner,wijmo_1.getActiveElement())||this.hide()},wijmo_1.Control._FOCUS_INTERVAL+50):this.hide());i&&e!=s.ClickPopup&&(this._wasVisible||(e&s.Enter?this._toShow=setTimeout(()=>{this.show()},wijmo_1.Control._HOVER_DELAY):this.show()))}}_getHeaderElement(){const t=this.hostElement;return t.querySelector("."+exports.PopupClsNames.dialogHeader)||t.querySelector(".modal-header")}_getClosestHeader(t){return wijmo_1.closest(t,"."+exports.PopupClsNames.dialogHeader)||wijmo_1.closest(t,".modal-header")}_showBackdrop(){if(!this._bkDrop){this._bkDrop=document.createElement("div");this._bkDrop.tabIndex=-1;wijmo_1.setAttribute(this._bkDrop,"role","presentation");wijmo_1.setAttribute(this._bkDrop,"aria-hidden","true");wijmo_1.setAttribute(this._bkDrop,"aria-label",wijmo_1.culture.Popup.ariaLabels.backdrop);wijmo_1.addClass(this._bkDrop,exports.PopupClsNames.popupBackDrop);this.addEventListener(this._bkDrop,"mousedown",t=>{t.preventDefault();t.stopPropagation();this.hostElement.focus();this.hideTrigger&PopupTrigger.Blur&&this.hide()})}wijmo_1.setCss(this._bkDrop,{zIndex:wijmo_1.Control._POPUP_ZINDEX,display:""});const t=this.hostElement;t.parentElement.insertBefore(this._bkDrop,t)}_validateAndHide(t){const e=this.hostElement;if(e instanceof HTMLFormElement)e.reportValidity()&&this.hide(t);else{const e=this.hostElement.querySelector(":invalid");e?e.focus():this.hide(t)}}_updateAriaLabel(){this.hostElement&&(this.ariaLabelledBy?this._updateAriaLabelImp(""):this._updateAriaLabelImp(this._ariaLabel))}_updateAriaLabelImp(t){const e=[];this.isDraggable&&e.push(wijmo_1.culture.Popup.ariaLabels.isDraggable);this.isResizable&&e.push(wijmo_1.culture.Popup.ariaLabels.isResizable);this.isVisible?e.push(wijmo_1.culture.Popup.ariaLabels.popupVisible):e.push(wijmo_1.culture.Popup.ariaLabels.popupHide);const i=e.join(",");wijmo_1.setAttribute(this.hostElement,"aria-label",t?`${t} ${i}`:i)}dispose(){Popup._PopupInstanceCount--;0===Popup._PopupInstanceCount&&Popup._evtHover&&(Popup._evtHover=null);this._clearTimeouts();if(this._toHidePopupTimer){clearTimeout(this._toHidePopupTimer);this._toHidePopupTimer=null}if(this._toGetFocusTimer){clearTimeout(this._toGetFocusTimer);this._toGetFocusTimer=null}if(this._hideTimer){clearTimeout(this._hideTimer);this._hideTimer=null}this._hideAnim.forEach(t=>{clearInterval(t)});this._hideAnim=[];const t=this.hostElement;if(t){const e=t.querySelectorAll("."+exports.DropDownClsNames.hostElement);for(let t=0;t<e.length;t++){const i=wijmo_1.Control.getControl(e[t]);i&&i instanceof DropDown&&i.dispose()}}if(this._initialOwner){this._initialOwner.appendChild(this.hostElement);this._initialOwner=null}this.owner=null;if(this._bkDrop){this._bkDrop.remove();this._bkDrop=null}this._callback=null;super.dispose()}}Popup._DRAG_THRESHOLD=6;Popup._SZ_EDGE=10;Popup._SZ_MIN=40;Popup._PopupInstanceCount=0;exports.Popup=Popup;class PopupBoundsChangingEventArgs extends wijmo_1.CancelEventArgs{constructor(t){super();this._rc=t}get bounds(){return this._rc}}exports.PopupBoundsChangingEventArgs=PopupBoundsChangingEventArgs;wijmo_1._addCultureInfo("InputDate",{ariaLabels:{inputDateInput:"InputDate Input",inputDate:"Input Date",button:"Choose Date",dialog:"Calendar"}});class InputDateEventArgs extends wijmo_1.CancelEventArgs{constructor(t){super();this._isUserInput=t}get isUserInput(){return this._isUserInput}}exports.InputDateEventArgs=InputDateEventArgs;class InputDate extends DropDown{constructor(t,e){super(t);this._fmt=wijmo_1.Globalize.DefaultDateFormat;this._sep=" - ";this._rngs=null;this._showCal=!1;this._clsOnSel=!0;this._handleWheel=!0;this._preserveCalendarNavigation=!0;this._isTriggered=!1;this._rangeChanged=!1;this._textInitialized=!1;this._previousText="";this._keepInvalidText=!1;this._inputAriaLabel=wijmo_1.culture.InputDate.ariaLabels.inputDateInput;this._currentInput="";this._ariaLabelledby=null;this.valueChanged=new wijmo_1.Event;this.rangeEndChanged=new wijmo_1.Event;this.rangeChanged=new wijmo_1.Event;wijmo_1.addClass(this.hostElement,exports.InputDateClsNames.hostElement);const i=wijmo_1.culture.InputDate.ariaLabels;wijmo_1.setAttribute(this._btn.querySelector("button"),"aria-haspopup","dialog");wijmo_1.setAttribute(this._dropDown,"role","dialog");wijmo_1.setAriaLabel(this._dropDown,i.dialog);wijmo_1.setAttribute(this._dropDown,"aria-modal",!0);wijmo_1.setAttribute(this._tbx,"role","combobox");wijmo_1.setAttribute(this._tbx,"aria-haspopup","dialog");wijmo_1.setAriaLabel(this._btn.querySelector("button"),i.button);this.dropDown.id=wijmo_1.getUniqueId(this.hostElement.id+"_dropdown");this._msk=new wijmo_1._MaskProvider(this._tbx);const s=this.addEventListener.bind(this);wijmo_1.isIE9()||(this.inputType="tel");this._tbx.type.match(/^(tel|text|)$/i)||(this.inputType="text");const o=this._mouseWheel.bind(this);s(this.hostElement,"wheel",o);this._lbx=new ListBox(document.createElement("div"),{displayMemberPath:"name",selectedIndexChanged:t=>{const e=t.selectedItem,i=wijmo_1.DateTime.fromDateTime,s=wijmo_1.DateTime.sameDate;if(e&&e.from&&e.to){if(!s(e.from,this.value)||!s(e.to,this.rangeEnd)){const t=this.value;this.value=i(e.from,t);this.rangeEnd=i(e.to,t)}this._selectAll()}else this._cal.hostElement.style.display=""}});const n=this._lbx;this._cal=new Calendar(document.createElement("div"));const a=this._cal,l=this._dropDown;wijmo_1.addClass(l,exports.InputDateClsNames.inputDateDropDown);const h=document.createElement("div");wijmo_1.addClass(h,exports.InputDateClsNames.inputDateDropDownContainer);h.appendChild(n.hostElement);h.appendChild(a.hostElement);l.appendChild(h);this.addEventListener(l,"click",()=>{this._isTriggered=!0;setTimeout(()=>{this._isTriggered=!1},50)},!0);this.addEventListener(l,"keydown",t=>{if("Enter"===t.key){this._isTriggered=!0;setTimeout(()=>{this._isTriggered=!1},50)}},!0);if("INPUT"==this._orgTag){const t=this._tbx.getAttribute("value");t&&(a.value=a.rangeEnd=wijmo_1.Globalize.parseDate(t,"yyyy-MM-dd"))}this.isRequired=!0;this._tbx.value=this._oldText=this._getText();this.initialize(e);const r=wijmo_1.isNullOrUndefined(this.tabOrder)?0:this.tabOrder;a.tabOrder=-1!==r&&this.showConfirmationButtons?r:-1;n.tabOrder=r;if(this._textInitialized||this._tbx.value!==this._oldText){this._oldText=this._tbx.value;this._currentInput="text";this._textInitialized=!0;this._commitText();this.onTextChanged()}this._updateState();a.valueChanged.addHandler((t,e)=>{this._refreshText();this.onValueChanged(e)});a.rangeEndChanged.addHandler((t,e)=>{if(a._rngMode()){this.onRangeEndChanged(e);this._closeOnChange();a._clearingRangeEnd||this._refreshText()}});a.cancelButtonClicked.addHandler((t,e)=>{this.isDroppedDown=!1});a.OKButtonClicked.addHandler((t,e)=>{this._closeOnChange();this._refreshText()});a._enterKeyDownToSetValue.addHandler((t,e)=>{this._closeOnChange()});a.addEventListener(a.hostElement,"click",t=>{if(a.selectionMode&&!a._rngMode()){const e=t.target,i=a.hitTest(e);if(wijmo_1.DateTime.sameDate(this.value,i)||wijmo_1.closest(e,"[wj-part=btn-today]")){this._closeOnChange();this._refreshText()}}});this._updateInputAriaLabel()}static get controlTemplate(){InputDate._ctrlTemplate||(InputDate._ctrlTemplate=DropDown.controlTemplate);return InputDate._ctrlTemplate}static set controlTemplate(t){InputDate._ctrlTemplate=t}_mouseWheel(t){if(this.handleWheel&&!t.defaultPrevented&&!this.isDroppedDown&&this.containsFocus()&&null!=this.value&&this._canChangeValue()){let e=this._tbx,i=e.selectionStart,s=e.selectionEnd,o=wijmo_1.clamp(-t.deltaY,-1,1),n=this.value,a=wijmo_1.Globalize.getFullFormat(this.format||wijmo_1.Globalize.DefaultDateFormat);null==a&&(a=this.format);const l=a.match(wijmo_1.getSpecialCharsRegex());if(s-i===e.value.length&&null!=l||this.selectionMode==DateSelectionMode.Range){for(let t=1;;t++){n=this.selectionMode==DateSelectionMode.Month?wijmo_1.DateTime.addMonths(this.value,t*o):wijmo_1.DateTime.addDays(this.value,t*o);if(this._isValidDate(n)||!(null===this.max||n<this.max)||!(null===this.min||n>this.min))break}this.value=n;const t=this._getText();wijmo_1.setSelectionRange(e,0,t.length)}else this._updateDateTimeValue(o,l,a);t.preventDefault()}}get value(){return this._cal.value}set value(t){this._cal.value=t;(this.text||this.isRequired)&&this._refreshText()}get rangeEnd(){return this._cal.rangeEnd}set rangeEnd(t){this._cal.rangeEnd=t;(this.text||this.isRequired)&&this._refreshText()}get rangeMin(){return this._cal.rangeMin}set rangeMin(t){this._cal.rangeMin=t}get rangeMax(){return this._cal.rangeMax}set rangeMax(t){this._cal.rangeMax=t}get keepInvalidText(){return this._keepInvalidText}set keepInvalidText(t){if(new Set(["InputDateTime","WjInputDateTime"]).has(this.constructor.name)){this._keepInvalidText=!1;throw"keepInvalidText property cannot be used with InputDateTime control"}this._keepInvalidText=t}get text(){return this._tbx.value}set text(t){const e=(t||"").toString();if(e!=this.text){e!=this._tbx.value&&(this._tbx.value=e);if(e!=this._oldText){this._oldText=e;this._previousText=e}if(wijmo_1.isEmpty(this._currentInput)){this._textInitialized=!0;this._currentInput="text";this._commitText()}this.onTextChanged();this._currentInput=""}}get format(){return this._fmt}set format(t){if(t!=this.format){this._fmt=wijmo_1.asString(t);this._refreshText()}}get separator(){return this._sep}set separator(t){if(t!=this._sep){this._sep=wijmo_1.asString(t,!1);this.invalidate()}}get mask(){return this._msk.mask}set mask(t){this._msk.mask=wijmo_1.asString(t)}get closeOnSelection(){return this._clsOnSel}set closeOnSelection(t){this._clsOnSel=wijmo_1.asBoolean(t)}get handleWheel(){return this._handleWheel}set handleWheel(t){t=wijmo_1.asBoolean(t);this._handleWheel=t;t||(this.calendar.handleWheel=t)}get predefinedRanges(){return this._rngs}set predefinedRanges(t){if(this._rngs!=t){wijmo_1.assert(null==t||wijmo_1.isObject(t),"Object expected");this._rngs=t;this._lbx.itemsSource=this._getRanges(t);this.invalidate()}}get alwaysShowCalendar(){return this._showCal}set alwaysShowCalendar(t){this._showCal=wijmo_1.asBoolean(t)}get min(){return this._cal.min}set min(t){this._cal.min=wijmo_1.asDate(t,!0)}get max(){return this._cal.max}set max(t){this._cal.max=wijmo_1.asDate(t,!0)}get repeatButtons(){return this._cal.repeatButtons}set repeatButtons(t){this._cal.repeatButtons=wijmo_1.asBoolean(t)}get showYearPicker(){return this._cal.showYearPicker}set showYearPicker(t){this._cal.showYearPicker=wijmo_1.asBoolean(t)}get showMonthPicker(){return this._cal.showMonthPicker}set showMonthPicker(t){this._cal.showMonthPicker=t}get showHeader(){return this._cal.showHeader}set showHeader(t){this._cal.showHeader=t}get weeksBefore(){return this._cal.weeksBefore}set weeksBefore(t){this._cal.weeksBefore=t}get weeksAfter(){return this._cal.weeksAfter}set weeksAfter(t){this._cal.weeksAfter=t}get selectionMode(){return this._cal.selectionMode}set selectionMode(t){if(t!=this.selectionMode){this._cal.selectionMode=t;this._refreshText()}}get monthCount(){return this._cal.monthCount}set monthCount(t){this._cal.monthCount=t}get calendar(){return this._cal}get inputElement(){return this._tbx}get inputType(){return this._tbx.type}set inputType(t){t.match(/^(tel|text|)$/i)?this._tbx.type=wijmo_1.asString(t):console.warn(`invalid input type '${t}', don't use any input types other than 'tel' or 'text'`)}get preserveCalendarNavigation(){return this._preserveCalendarNavigation}set preserveCalendarNavigation(t){this._preserveCalendarNavigation=t}get itemValidator(){return this._cal.itemValidator}set itemValidator(t){if(t!=this.itemValidator){this._cal.itemValidator=wijmo_1.asFunction(t);this.invalidate()}}get itemFormatter(){return this._cal.itemFormatter}set itemFormatter(t){this._cal.itemFormatter=wijmo_1.asFunction(t)}onValueChanged(t){this.valueChanged.raise(this,t)}onRangeEndChanged(t){this.rangeEndChanged.raise(this,t);this.rangeEnd&&(this.isDroppedDown?this._rangeChanged=!0:this.onRangeChanged(t))}onRangeChanged(t){this._rangeChanged=!1;this.rangeChanged.raise(this,t)}_getParsedValue(){const t=this._tbx.value,e=this._fmt,i=(0,wijmo_1.Globalize.parseDate)(t,e,this.value);if(i&&wijmo_1.DateTime.sameDate(i,this._clamp(i)))return this._fromDateTime(i)}refresh(t=!0){super.refresh(t);if(this.hostElement){this._msk&&this._msk.refresh();this._cal&&this._cal.refresh();this._refreshText()}}onIsDroppedDownChanging(t){if(this.isDroppedDown);else{const t=this._lbx,e=this._cal,i=t.collectionView,s=t.hostElement.style,o=e.hostElement.style;if(e._rngMode()&&wijmo_1.hasItems(i)){const t=this._updateRangeSelection();s.display="";o.display=!this._showCal&&t&&t.from&&i.items.some(t=>!t.to)?"none":""}else{s.display="none";o.display=""}e._mthMode()||(e.monthView=!0);e.value&&!this.preserveCalendarNavigation&&(e.displayMonth=e.value);this.showConfirmationButtons&&(e.focusValue=e.value)}return super.onIsDroppedDownChanging(t)}onIsDroppedDownChanged(t){super.onIsDroppedDownChanged(t);const e=this.containsFocus();if(this.isDroppedDown){e&&(this._tryFocus(this._cal)||this._tryFocus(this._lbx)||this.dropDown.focus());this._lbx.showSelection();this._cal.refresh()}else{this._commitText();this._rangeChanged&&this.onRangeChanged()}}_updateDropDown(){this._commitText();const t=getComputedStyle(this.hostElement);this._dropDown.style.minWidth=18*parseFloat(t.fontSize)+"px";this._cal.refresh();super._updateDropDown()}onGotFocus(t){const e=this._tbx;this._elRef==e&&(this.isDroppedDown?this.dropDown.focus():this.selectAll());this.containsFocus()||this.focus();this.gotFocus.raise(this,t)}_keydown(t){if(!(t.defaultPrevented||t.altKey||t.ctrlKey||t.metaKey)){this._isInvalidInputCancelled=!1;if(this._isHiddenEditor())return;const e=wijmo_1.getActiveElement();switch(t.keyCode){case wijmo_1.Key.Enter:if(this.showConfirmationButtons&&e!==this._tbx)return;this._currentInput="user";this._textInitialized=!1;this._commitText(!1,!0);break;case wijmo_1.Key.Escape:this.text=this._getText();this.selectAll();break;case wijmo_1.Key.Tab:if(this.showConfirmationButtons&&e!==this._tbx){const i=wijmo_1._getFocusableElements(this._dropDown).filter(t=>!(t.classList.contains("wj-control")&&t.classList.contains("wj-calendar"))),s=i[0],o=i[i.length-1],n=i.indexOf(t.target),a=i[t.shiftKey?(n-1+i.length)%i.length:(n+1)%i.length];let l=!1;a&&(l=this.calendar.isCalendarDateCell(a));if(l){t.preventDefault();this.calendar.focus();this.calendar.setFocusValueToFirstOrLastCalendar(!t.shiftKey)}else if(t.shiftKey){if(e===s){t.preventDefault();o.focus()}}else if(e===o){t.preventDefault();s.focus()}}else if(this.isDroppedDown){this.isDroppedDown=!1;this.containsFocus()||this.focus();this.keyActionTab===TabKeyAction.CloseAndKeepFocus&&t.preventDefault()}this._currentInput="user";this._textInitialized=!1;this._commitText(!0);break;case wijmo_1.Key.Up:case wijmo_1.Key.Down:if(t.keyCode===wijmo_1.Key.Up&&this.keyActionUpArrow===KeyAction.OpenDropdown||t.keyCode===wijmo_1.Key.Down&&this.keyActionDownArrow===KeyAction.OpenDropdown)break;if(!this.isDroppedDown&&this.value&&this._canChangeValue()){this._currentInput="user";this._textInitialized=!1;const e=this._tbx,i=e.selectionStart,s=e.selectionEnd,o=(e.value,t.keyCode==wijmo_1.Key.Up?1:-1);let n=this.value,a=wijmo_1.Globalize.getFullFormat(this.format||wijmo_1.Globalize.DefaultDateFormat);if("g"==this.format&&a.includes("г")){const t=/"г." /;a=a.replace(t,"")}null==a&&(a=this.format);const l=a.match(wijmo_1.getSpecialCharsRegex());if(s-i===e.value.length&&null!=l||this.selectionMode==DateSelectionMode.Range){for(let t=1;;t++){n=this.selectionMode==DateSelectionMode.Month?wijmo_1.DateTime.addMonths(this.value,t*o):wijmo_1.DateTime.addDays(this.value,t*o);if(this._isValidDate(n)||!(null===this.max||n<this.max)||!(null===this.min||n>this.min))break}this.value=n;const t=this._getText();wijmo_1.setSelectionRange(e,0,t.length)}else this._updateDateTimeValue(o,l,a);t.preventDefault()}}}super._keydown(t)}_expandSelection(){if(this._cal._rngMode()){const t=this._tbx,e=t.value,i=t.selectionStart,s=t.selectionEnd,o=this._sep,n=e.indexOf(o);n>-1&&i==s&&(s<=n?wijmo_1.setSelectionRange(t,0,n):i>=n+o.length&&wijmo_1.setSelectionRange(t,n+o.length,t.value.length))}else super._expandSelection()}_updateDateTimeValue(t,e,i){const s=this._tbx,o=s.selectionStart,n=s.value;let a=this.value,l={},h={},r=0,_=0,d=0,u=[],m=[];const c=s.value.match(wijmo_1.getSpecialCharsRegex());if(null==e||null==c){u=[this.format];m=["0"];e=[""]}else{e.forEach((t,s)=>{const o=t.replaceAll('"',""),a=i.substring(r),d=n.substring(_),u=a.indexOf(t);let m=d.indexOf(o);if(-1==m){const t=c[s];m=d.indexOf(t)}let p=a.substring(0,u);if(""!=p){l[p]=r;h[p]=_}r=r+u+t.length;_=_+m+o.length;if(s==e.length-1){p=i.substring(r);l[p]=r;h[p]=_}});u=Object.keys(l);m=Object.values(h)}const p=m.filter(t=>o>=parseInt(t.toString()));p.length>0&&(d=p.length-1);const w=u[d];for(let e=1;;e++){-1!=w.indexOf("d")?a=wijmo_1.DateTime.addDays(this.value,e*t):-1!=w.indexOf("M")?a=wijmo_1.DateTime.addMonths(this.value,e*t):-1!=w.indexOf("y")&&(a=wijmo_1.DateTime.addYears(this.value,e*t));if(this._isValidDate(a)||!(null===this.max||a<this.max)||!(null===this.min||a>this.min))break}this.value=a;this._reselectText(e,d)}_reselectText(t,e){const i=this._getText(),s=this._tbx;let o=0,n=-1,a=-1;if(1==t.length&&""==t[0]){n=0;a=i.length}else{const l=s.value.match(wijmo_1.getSpecialCharsRegex());t.forEach((t,s)=>{const h=t.replaceAll('"',"");let r=i.substring(o);if(r.startsWith("г.")){r=r.replace("г. ","");o+="г. ".length}let _=r.indexOf(h);0==_&&e++;if(-1==_){const t=l[s];_=r.indexOf(t)}const d=-1===_?r:r.substring(0,_);if(s==e&&-1==n){n=o;a=n+d.length}o=o+_+h.length})}if(-1==n){n=o;a=s.value.length}wijmo_1.setSelectionRange(s,n,a)}_refreshText(){const t=this._getText();if(t!=this.text||t!==this._oldText){this._tbx.value=this._oldText=this._previousText=t;this.onTextChanged()}}_selectAll(){this.isDroppedDown||!this.containsFocus()||this.isTouching||this.selectAll()}_closeOnChange(){if(this._clsOnSel&&this._isTriggered){const t=this._cal;(!t._rngMode()||t.value&&t.rangeEnd)&&setTimeout(()=>{this._isInvalidInputCancelled=!1;this.isDroppedDown=!1})}}_tryFocus(t){const e=t.hostElement;if(e&&e.offsetHeight){e.focus();return!0}return!1}_clamp(t){return this._cal._clamp(t)}_getText(){let t=wijmo_1.Globalize.format,e=this._fmt,i=t(this.value,e);this._cal._rngMode()&&i&&(this.rightToLeft?i=t(this.rangeEnd,e)+this._sep+i:i+=this._sep+t(this.rangeEnd,e));return i}_commitText(t,e){const i=this._tbx.value;this._isInvalidInputCancelled=!1;if(wijmo_1.isEmpty(this._currentInput)){this._textInitialized=!1;this._currentInput="user"}let s=!1,o=this._fmt,n=this._cal,a=wijmo_1.Globalize.parseDate;const l=new InputDateEventArgs(!this._textInitialized);if(i)if(n._rngMode()){const t=i.split(this._sep),h=this.rightToLeft?t[1]:t[0];if(2==t.length&&h){const i=a(h,o,this.value);if(i){const h=a(this.rightToLeft?t[0]:t[1],o,this.value);if(wijmo_1.DateTime.sameDate(i,this._clamp(i)))s=!0;else if(this._shouldRaiseInvalidInput(e)&&this.onInvalidInput(l))this._textInitialized&&this._keepInvalidText||(s=!0);else{this._selectAll();s=!1}if(s)if(h){n.value=this._fromDateTime(i);if(wijmo_1.DateTime.sameDate(h,this._clamp(h))){n.rangeEnd=h&&h>=i?this._fromDateTime(h):i;this.text=this._getText()}else this._triggerInvalidInputEvent(l,i,h,e)}else if(this._shouldRaiseInvalidInput(e)&&this.onInvalidInput(l)){if(!this._textInitialized||!this._keepInvalidText){n.value=this._fromDateTime(i);n.rangeEnd=i;this.text=this._getText()}}else{this._isInvalidInputCancelled=!0;this._selectAll()}}else this._nullValueInvalidInput(l,e)}else this._nullValueInvalidInput(l,e)}else{const t=a(i,o,this.value);t?wijmo_1.DateTime.sameDate(t,this._clamp(t))?this.value=this._fromDateTime(t):this._triggerInvalidInputEvent(l,t,null,e):this._nullValueInvalidInput(l,e)}else if(this.isRequired){const t=a(i,o,this.value);t?this.value=this._fromDateTime(t):this.containsFocus()||(this.text=this._getText())}else this.value=this.rangeEnd=null;this._currentInput="";t||this._selectAll()}_triggerInvalidInputEvent(t,e,i,s){if(this._shouldRaiseInvalidInput(s)&&this.onInvalidInput(t)){if(!this._textInitialized||!this._keepInvalidText){this.value=this._fromDateTime(e);this.calendar._rngMode()&&(this.calendar.rangeEnd=i&&i>=e?this._fromDateTime(i):e)}}else{this.isDroppedDown||!this.containsFocus()||this.isTouching||this.focus();this._isInvalidInputCancelled=!0;this._selectAll()}}_nullValueInvalidInput(t,e){if(this._shouldRaiseInvalidInput(e)&&this.onInvalidInput(t))this._textInitialized&&this._keepInvalidText||(this.text=this._getText());else{this.isDroppedDown||!this.containsFocus()||this.isTouching||this.focus();this._isInvalidInputCancelled=!0;this._selectAll()}}_fromDateTime(t){return wijmo_1.DateTime.fromDateTime(t,this.value)}_canChangeValue(){return!this.isReadOnly&&!this.isDisabled&&this.selectionMode!=DateSelectionMode.None}_isValidDate(t){if(t){if(this._clamp(t)!=t)return!1;if(this.itemValidator&&!this.itemValidator(t))return!1}return!0}_getRanges(t){const e=[];if(wijmo_1.isObject(t))for(const i in t){const s=t[i];e.push({name:i,from:s?s[0]:null,to:s?s[1]:null})}return new wijmo_1.CollectionView(e,{currentItem:null})}_updateRangeSelection(){let t=this._lbx,e=-1;if(wijmo_1.hasItems(t.collectionView)){const t=this._lbx.collectionView.items,i=wijmo_1.DateTime.sameDate;for(let s=0;s<t.length;s++){const o=t[s];if(o.from){if(i(o.from,this.value)&&i(o.to,this.rangeEnd)){e=s;break}}else e=s}}t.selectedIndex=e;return t.selectedItem}_copy(t,e){if("text"===t){const t=(e||"").toString();if(t!==this.text){this._tbx.value=t;this._textInitialized=!0}return!0}return!1}get showConfirmationButtons(){return this._showConfirmationButtons}set showConfirmationButtons(t){this._showConfirmationButtons=t;this._cal.focusMode=t;this._cal.showConfirmationButtons=t;this._cal.updateConfirmationButtons(this.dropDown);const e=wijmo_1.isNullOrUndefined(this.tabOrder)?0:this.tabOrder;this._cal.tabOrder=t?e:-1;this._cal.keyActionTab=t?CalendarTabKeyAction.All:CalendarTabKeyAction.None}get ariaLabelledBy(){return this._ariaLabelledby}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this._tbx,t,this._updateInputAriaLabel.bind(this))}_updateInputAriaLabel(){this._tbx&&(this._tbx.id||this.ariaLabelledBy?wijmo_1.setAriaLabel(this._tbx,null):wijmo_1.setAriaLabel(this._tbx,this._inputAriaLabel))}getAriaLabelForScreenReader(){return wijmo_1.culture.InputDate.ariaLabels.inputDate}}InputDate._ctrlTemplate="";exports.InputDate=InputDate;wijmo_1._addCultureInfo("InputDateRange",{ariaLabels:{inputDateRangeInput:"InputDateRange Input"}});class InputDateRange extends InputDate{constructor(t,e){super(t,Object.assign({selectionMode:DateSelectionMode.Range,showMonthPicker:"Outside",monthCount:2},getInputDateOptions(e)));this._inputAriaLabel=wijmo_1.culture.InputDateRange.ariaLabels.inputDateRangeInput;wijmo_1.addClass(this.hostElement,exports.InputDateRangeClsNames.hostElement);this._tbx.value=this._oldText=this._getText();this.initialize(e);if(this._tbx.value!==this._oldText){this._oldText=this._tbx.value;this._currentInput="text";this._commitText()}this._updateInputAriaLabel()}static get controlTemplate(){InputDateRange._ctrlTemplate||(InputDateRange._ctrlTemplate=InputDate.controlTemplate);return InputDateRange._ctrlTemplate}static set controlTemplate(t){InputDateRange._ctrlTemplate=t}get selectionMode(){return this.calendar.selectionMode}set selectionMode(t){t=wijmo_1.asEnum(t,DateSelectionMode);wijmo_1.assert(t==DateSelectionMode.Range,'InputDateRange.selectionMode must be "Range"');this.calendar.selectionMode=t}_mouseWheel(t){if(!t.defaultPrevented&&!this.isDroppedDown&&this.containsFocus()&&null!=this.value&&this._canChangeValue()){const e=wijmo_1.clamp(-t.deltaY,-1,1),i=this.value;this.value=this.selectionMode==DateSelectionMode.Month?wijmo_1.DateTime.addMonths(i,e):wijmo_1.DateTime.addDays(i,e);this.selectAll();t.preventDefault()}}onGotFocus(t){const e=this._tbx;this._elRef!=e||this.isDroppedDown||this.selectAll();this.containsFocus()||this.focus();this.gotFocus.raise(this,t)}_keydown(t){if(!(t.defaultPrevented||t.altKey||t.ctrlKey||t.metaKey)){this._isInvalidInputCancelled=!1;if(this._isHiddenEditor())return;switch(t.keyCode){case wijmo_1.Key.Up:case wijmo_1.Key.Down:if(t.keyCode===wijmo_1.Key.Up&&this.keyActionUpArrow===KeyAction.OpenDropdown||t.keyCode===wijmo_1.Key.Down&&this.keyActionDownArrow===KeyAction.OpenDropdown)break;if(!this.isDroppedDown&&this.value&&this._canChangeValue()){const e=t.keyCode==wijmo_1.Key.Up?1:-1,i=this.selectionMode==DateSelectionMode.Month?wijmo_1.DateTime.addMonths(this.value,e):wijmo_1.DateTime.addDays(this.value,e);this.value=this._fromDateTime(i);this.selectAll();t.preventDefault()}}}super._keydown(t)}}InputDateRange._ctrlTemplate="";exports.InputDateRange=InputDateRange;function getInputDateOptions(t){const e={};if(!wijmo_1.isNullOrUndefined(t)){wijmo_1.isNullOrUndefined(t.showConfirmationButtons)||(e.showConfirmationButtons=t.showConfirmationButtons);wijmo_1.isNullOrUndefined(t.tabOrder)||(e.tabOrder=t.tabOrder)}return e}wijmo_1._addCultureInfo("InputColor",{ariaLabels:{inputColor:"Input Color",inputColorInput:"InputColor Input",button:"Choose Color",dialog:"ColorPicker"}});class InputColor extends DropDown{constructor(t,e){super(t);this._textInitialized=!1;this._ariaLabelledby=null;this._inputAriaLabel=wijmo_1.culture.InputColor.ariaLabels.inputColorInput;this.valueChanged=new wijmo_1.Event;wijmo_1.addClass(this.hostElement,exports.InputColorClsNames.hostElement);wijmo_1.setAttribute(this._dropDown,"role","dialog");wijmo_1.setAriaLabel(this._dropDown,wijmo_1.culture.InputColor.ariaLabels.dialog);wijmo_1.setAttribute(this._dropDown,"aria-modal",!0);wijmo_1.setAttribute(this._tbx,"role","combobox");wijmo_1.setAttribute(this._tbx,"aria-haspopup","dialog");wijmo_1.setAttribute(this._btn.querySelector("button"),"aria-haspopup","dialog");wijmo_1.setAriaLabel(this._btn.querySelector("button"),wijmo_1.culture.InputColor.ariaLabels.button);this.dropDown.id=wijmo_1.getUniqueId(this.hostElement.id+"_dropdown");const i=`<div class="${exports.InputColorClsNames.inputColorBox}"></div>`;this._ePreview=wijmo_1.createElement(i,this.hostElement.firstElementChild);if("INPUT"==this._orgTag){this._tbx.type="";this._commitText()}this.value="#ffffff";this.isRequired=!0;this._tbx.value=this._oldText=this.value;this.initialize(e);if(this._textInitialized&&this._tbx.value!==this._oldText){this._oldText=this._tbx.value;this.onTextChanged();this._commitText();this._textInitialized=!1}this.addEventListener(this._colorPicker.hostElement,"click",t=>{const e=t.target;if(e&&"DIV"==e.tagName&&(wijmo_1.closest(e,'[wj-part="div-pal"]')||wijmo_1.closest(e,'[wj-part="div-pv"]'))){e.style.backgroundColor&&(this.isDroppedDown=!1)}});const s=!e||-1!==e.tabOrder&&e.colorPickerKeyActionTab!==ColorPickerTabKeyAction.None?0:-1;this._colorPicker.tabOrder=s;this._updateInputAriaLabel()}static get controlTemplate(){InputColor._ctrlTemplate||(InputColor._ctrlTemplate=DropDown.controlTemplate);return InputColor._ctrlTemplate}static set controlTemplate(t){InputColor._ctrlTemplate=t}get value(){return this._value}set value(t){this.text=t}get text(){return this._tbx.value}set text(t){if((t=wijmo_1.asString(t))!=this.text&&(t||!this.isRequired)&&(!t||wijmo_1.Color.fromString(t.replace(/\s+/g,"")))){this._setText(t,!0);this._commitText()}}get inputType(){return this._tbx.type}set inputType(t){t.match(/^(tel|text|)$/i)?this._tbx.type=wijmo_1.asString(t):console.warn(`invalid input type '${t}', don't use any input types other than 'tel' or 'text'`)}get showAlphaChannel(){return this._colorPicker.showAlphaChannel}set showAlphaChannel(t){this._colorPicker.showAlphaChannel=t}get showColorString(){return this._colorPicker.showColorString}set showColorString(t){this._colorPicker.showColorString=t}get palette(){return this._colorPicker.palette}set palette(t){this._colorPicker.palette=t}get colorPicker(){return this._colorPicker}get ariaLabelledBy(){return this._ariaLabelledby}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this._tbx,t,this._updateInputAriaLabel.bind(this))}get colorPickerKeyActionTab(){return this.colorPicker.keyActionTab}set colorPickerKeyActionTab(t){this.colorPicker.keyActionTab=t}onValueChanged(t){this.valueChanged.raise(this,t)}onIsDroppedDownChanged(t){super.onIsDroppedDownChanged(t);if(this.isDroppedDown&&!this.isTouching){this.colorPicker._refreshSelection();const t=this._tbx;this._elRef==t&&wijmo_1.setSelectionRange(t,0,this.text.length,!1);this.containsFocus()||this.focus()}}_createDropDown(){this._colorPicker=new ColorPicker(this._dropDown);wijmo_1.setCss(this._dropDown,{minWidth:420,minHeight:200});this._colorPicker.valueChanged.addHandler(()=>{this.value=this._colorPicker.value})}_keydown(t){if(!t.defaultPrevented)switch(t.keyCode){case wijmo_1.Key.Enter:this._commitText();this.selectAll();break;case wijmo_1.Key.Escape:this.text=this.value;this.selectAll();break;case wijmo_1.Key.Tab:{const e=wijmo_1.getActiveElement();if(this.colorPicker.keyActionTab===ColorPickerTabKeyAction.All&&e!==this._tbx){const i=wijmo_1._getFocusableElements(this.colorPicker.hostElement),s=i[0],o=i[i.length-1];if(t.shiftKey){if(e===s){t.preventDefault();o.focus()}}else if(e===o){t.preventDefault();s.focus()}}else if(this.isDroppedDown){this.isDroppedDown=!1;this.containsFocus()||this.focus();this.keyActionTab===TabKeyAction.CloseAndKeepFocus&&t.preventDefault()}break}}super._keydown(t)}_commitText(){if(this._value!=this.text){const t=!this.text||!this.text.trim();if(!this.isRequired&&t){this._changeAllValue();this._ePreview.style.backgroundColor="";return}if(wijmo_1.Color.fromString(this.text.replace(/\s+/g,""))){if(this.text&&this.text!==this.text.replace(/\s+/g,"")){this.text=this.text.replace(/\s+/g,"");return}this._changeAllValue()}else this.onInvalidInput(new wijmo_1.CancelEventArgs)&&(this.text=this._value?this._value:"")}}_changeAllValue(){const t=this._colorPicker;t.value=this.text;this._value=t.value;this._ePreview.style.backgroundColor=this.value;this.onValueChanged()}_copy(t,e){if("text"===t){const t=(e||"").toString();if(t!==this.text){this._tbx.value=t;this._textInitialized=!0}return!0}return!1}getAriaLabelForScreenReader(){return wijmo_1.culture.InputColor.ariaLabels.inputColor}_updateInputAriaLabel(){this._tbx&&(this._tbx.id||this.ariaLabelledBy?wijmo_1.setAriaLabel(this._tbx,null):wijmo_1.setAriaLabel(this._tbx,this._inputAriaLabel))}}InputColor._ctrlTemplate="";exports.InputColor=InputColor;wijmo_1._addCultureInfo("ComboBox",{ariaLabels:{comboBoxInput:"ComboBox Input",comboBox:"Combo Box"}});class ComboBox extends DropDown{constructor(t,e){super(t);this._editable=!1;this._trimText=!0;this._handleWheel=!0;this._delKey=0;this._draggingText=!1;this._textIsComposing="";this._pathHdr=new wijmo_1.Binding(null);this._bsCollapse=!0;this._fmtItemHandlers=0;this._emptyValueAction=!1;this._oldIndexToBeRestoredOnBlur=null;this._restoreComboboxTbxVal=!1;this._isWheel=!1;this._selItems=null;this._oldFilter=null;this._keyActionPrintCharacters=KeyAction.OpenDropdown;this._inputElementAriaLabel=wijmo_1.culture.ComboBox.ariaLabels.comboBoxInput;this._ariaLabelledby=null;this.itemsSourceChanged=new wijmo_1.Event;this.selectedIndexChanged=new wijmo_1.Event;const i=this.hostElement;wijmo_1.addClass(i,exports.ComboBoxClsNames.hostElement);this.dropDown.id=wijmo_1.getUniqueId(i.id+"_dropdown");this.autoExpandSelection=!1;const s=this._tbx;this.addEventListener(s,"compositionstart",()=>{this._composing=!0});this.addEventListener(s,"compositionend",()=>{this._textIsComposing=this.text;this._composing=!1;this._setText(this._textIsComposing,!0);if(!this._textIsComposing&&this.isRequired){this._oldText="";this._oldIndexToBeRestoredOnBlur=null}setTimeout(()=>{this._textIsComposing=""})});this.addEventListener(s,"drag",()=>{this._draggingText=!0});this.addEventListener(i,"wheel",this._wheel.bind(this));"SELECT"==this._orgTag&&this._lbx._initFromSelect(i);const o=this._lbx;o.loadedItems.addHandler(t=>{this.selectedIndex>-1&&(this.selectedIndex=o.selectedIndex)});o.tabOrder=-1;this.isRequired=!0;this.initialize(e);this._updateTbxAriaHaspopup();this._updateInputAriaLabel()}static get controlTemplate(){ComboBox._ctrlTemplate||(ComboBox._ctrlTemplate=DropDown.controlTemplate);return ComboBox._ctrlTemplate}static set controlTemplate(t){ComboBox._ctrlTemplate=t}get itemsSource(){return this._lbx.itemsSource}set itemsSource(t){if(this._lbx.itemsSource!=t){this._lbx.itemsSource=t;this.onItemsSourceChanged()}this._updateBtn()}get collectionView(){return this._lbx.collectionView}get virtualizationThreshold(){return this._lbx.virtualizationThreshold}set virtualizationThreshold(t){this._lbx.virtualizationThreshold=t}get showGroups(){return this._lbx.showGroups}set showGroups(t){this._lbx.showGroups=t}get displayMemberPath(){return this._lbx.displayMemberPath}set displayMemberPath(t){if(this.displayMemberPath===t)return;this._lbx.displayMemberPath=t;const e=this._getDisplayText(void 0,void 0,!0);this.text!=e&&this._setText(e,!0)}get headerPath(){return this._pathHdr.path}set headerPath(t){this._pathHdr.path=wijmo_1.asString(t);const e=this._getDisplayText(void 0,void 0,!0);this.text!=e&&this._setText(e,!0)}get selectedValuePath(){return this._lbx.selectedValuePath}set selectedValuePath(t){this._lbx.selectedValuePath=t}get isContentHtml(){return this._lbx.isContentHtml}set isContentHtml(t){if(t!=this.isContentHtml){this._lbx.isContentHtml=wijmo_1.asBoolean(t);const e=this._getDisplayText(void 0,void 0,!0);this.text!=e&&this._setText(e,!0)}}get caseSensitiveSearch(){return this._lbx.caseSensitiveSearch}set caseSensitiveSearch(t){this._lbx.caseSensitiveSearch=wijmo_1.asBoolean(t)}get trimText(){return this._trimText}set trimText(t){if(t!=this._trimText){this._trimText=wijmo_1.asBoolean(t);this.invalidate()}}get itemFormatter(){return this._lbx.itemFormatter}set itemFormatter(t){this._lbx.itemFormatter=wijmo_1.asFunction(t);this.selectedIndex=this._lbx.selectedIndex}get formatItem(){return this._lbx.formatItem}get selectedIndex(){return this._lbx.selectedIndex}set selectedIndex(t){t!=this.selectedIndex&&wijmo_1.isNumber(t)&&(this._lbx.selectedIndex=t);const e=this._lbx._oldSelectedIndex!=this.selectedIndex;t=this.selectedIndex;const i=this._getDisplayText(t,void 0,!0);if(this.text!=i||e){const t=this._internalSettingText;this._internalSettingText=this._lbx._ignoredItemChangedEvents;this._setText(i,!0);""!=this.text&&(this._emptyValueAction=!1);this._internalSettingText=t}}get selectedItem(){return this._lbx.selectedItem}set selectedItem(t){this._lbx.selectedItem=t}get selectedValue(){return this.collectionView?this._lbx.selectedValue:this.text}set selectedValue(t){this.collectionView?this._lbx.selectedValue=t:null!=t&&(this.text=t.toString())}get isEditable(){return this._editable}set isEditable(t){this._editable=wijmo_1.asBoolean(t)}get handleWheel(){return this._handleWheel}set handleWheel(t){this._handleWheel=wijmo_1.asBoolean(t)}get maxDropDownHeight(){return this._lbx.maxHeight}set maxDropDownHeight(t){this._lbx.maxHeight=t}get maxDropDownWidth(){const t=this._dropDown,e=t?parseInt(t.style.maxWidth):null;return isNaN(e)?null:e}set maxDropDownWidth(t){const e=this._dropDown.style;t=wijmo_1.asNumber(t,!0);e.maxWidth=null==t?"":t+"px";e.minWidth=""}get keyActionPrintCharacters(){return this._keyActionPrintCharacters}set keyActionPrintCharacters(t){this._keyActionPrintCharacters=wijmo_1.asEnum(t,KeyAction)}get ariaLabelledBy(){return this._ariaLabelledby}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this._tbx,t,this._updateInputAndListBoxAriaLabel.bind(this))}_updateInputAndListBoxAriaLabel(){this._updateInputAriaLabel()}getDisplayText(t=this.selectedIndex,e=this._trimText){return this._getDisplayText(t,e)}_getDisplayText(t=this.selectedIndex,e=this._trimText,i){let s,o=this.collectionView;if(this.headerPath&&t>-1&&wijmo_1.hasItems(o)){const e=o.items[t];s=e?this._pathHdr.getValue(e):null;s=null!=s?s.toString():"";this.isContentHtml&&(s=wijmo_1.toPlainText(s))}else s=this._lbx._getDisplayText(t,i&&void 0!==this.itemFormatter&&!this._hasCustomFormatItem());return e?s.trim():s}_hasCustomFormatItem(){return this.formatItem.hasHandlers}indexOf(t,e,i=!1){const s=this.collectionView,o=this.caseSensitiveSearch;if(wijmo_1.hasItems(s)&&null!=t){t=t.toString();o||(t=t.toLowerCase());if(this._trimText&&!i){-1!==this.indexOf(t,!1,!0)||(t=t.trim())}let n=this.selectedIndex,a=this._getDisplayText(n,void 0,!0);if(e){o||(a=a.toLowerCase());if(t==a)return n}else if(!t&&""==a)return n;for(let i=0;i<s.items.length;i++)if(this._lbx.isItemEnabled(i)){a=this._getDisplayText(i,void 0,!0);this.trimText&&(a=a.trim());o||(a=a.toLowerCase());if(e){if(a==t&&!1===this._emptyValueAction)return i}else if(t&&0==a.indexOf(t)||!t&&""==a&&!1===this._emptyValueAction)return i}}return-1}get listBox(){return this._lbx}onItemsSourceChanged(t){this.itemsSourceChanged.raise(this,t)}onSelectedIndexChanged(t){this._updateBtn();this.selectedIndexChanged.raise(this,t)}refresh(t=!0){super.refresh(t);if(this.hostElement&&wijmo_1.hasItems(this.collectionView)){this._lbx.refresh();this.selectedIndex>-1&&(this.selectedIndex=this._lbx.selectedIndex)}}onLostFocus(t,e,i){this._trimText&&(this.text=this.text.trim());if(this._composing){this._composing=!1;if(!this.text&&this.isRequired){this._oldText="";this._oldIndexToBeRestoredOnBlur=null}this._setText(this.text,!0)}if((!this.text&&this.isRequired&&!(Array.isArray(this._selItems)&&this._selItems.length>0)||i)&&wijmo_1.hasItems(this.collectionView)&&!(this.isRequired&&!this.isEditable&&this.text&&this.indexOf(this.text,!1)>-1&&this.indexOf(this.text,!0)<0)){void 0!==e&&(this.selectedIndex=-1!==e?e:0);null!==this._oldIndexToBeRestoredOnBlur?this.selectedIndex=-1!==this._oldIndexToBeRestoredOnBlur?this._oldIndexToBeRestoredOnBlur:0:null==this.collectionView.currentItem&&(this.selectedIndex=0)}const s=this.text,o=this.collectionView?this.collectionView.items.length:0,n=this.selectedIndex;super.onLostFocus(t);const a=this.collectionView?this.collectionView.items.length:0,l=this.selectedIndex,h=this.text,r=this._oldFilter;this._oldFilter=null;if(n===l&&s===h){r&&(this.collectionView.filter=r);this._trySelectionUpdateOnItemsSourceChanged(a!==o,s)}}onIsDroppedDownChanging(t){if(!this.isDroppedDown&&!this._hasItems()){t.cancel=!0;return!1}return super.onIsDroppedDownChanging(t)}onIsDroppedDownChanged(t){super.onIsDroppedDownChanged(t);if(this.isDroppedDown){this._fmtItemHandlers=this.formatItem.handlerCount;this._lbx.showSelection()}this._updateTbxAria()}_trySelectionUpdateOnItemsSourceChanged(t,e){if(t&&e){let t=this.indexOf(e,!0);t<0&&(t=this.indexOf(e,!1));this.selectedIndex=t}}_setIsDisabled(t){super._setIsDisabled(t);this._updateBtn()}_updateBtn(){const t=this.collectionView,e=this._tbx,i=this._hasItems();super._updateBtn();this._btn.style.display=this._showBtn&&null!=t?"":"none";wijmo_1.enable(this._btn,i&&!this.isDisabled);wijmo_1.setAttribute(e,"role",i?"combobox":null);wijmo_1.setAttribute(e,"aria-autocomplete",i?"both":null);this._updateTbxAria()}_hasItems(){return wijmo_1.hasItems(this.collectionView)}_updateTbxAria(){super._updateTbxAria();const t=this._tbx,e=this.isDroppedDown,i=this.dropDown?this.dropDown.id:null,s=i&&wijmo_1.hasItems(this.collectionView),o=this._lbx,n=o.selectedIndex,a=o.hostElement?o.hostElement.children:null,l=o._getElementIndex(n),h=l>-1&&a&&l<a.length?a[l].id:null;wijmo_1.setAttribute(t,"aria-controls",s&&e?i:null);wijmo_1.setAttribute(t,"aria-expanded",s?e:null);wijmo_1.setAttribute(t,"aria-activedescendant",this.isDroppedDown&&h&&h.length?h:null)}_updateInputAriaLabel(){const t=this._tbx;t&&(t.id||this._ariaLabelledby?wijmo_1.setAttribute(t,"aria-label",null):wijmo_1.setAttribute(t,"aria-label",this._inputElementAriaLabel))}_createDropDown(){if(!this._lbx){this._lbx=new ListBox(this._dropDown);this._lbx._container=this.hostElement}this._lbx.maxHeight=200;this._lbx.selectedIndexChanged.addHandler(()=>{this._updateBtn();const t=this._lbx.selectedIndex;this.selectedIndex=t;this.onSelectedIndexChanged()});this._lbx.itemsChanged.addHandler(()=>{this._updateBtn()})}_wheel(t){this._isWheel=!0;if(this.handleWheel&&!t.defaultPrevented&&!this.isDroppedDown&&!this.isReadOnly&&this.containsFocus()&&this.selectedIndex>-1){const e=this._findNext("",t.deltaY>0?1:-1);e>-1&&(this.selectedIndex=e);t.preventDefault()}this._isWheel=!1}_dropDownClick(t){t.defaultPrevented||t.target!=this._dropDown&&(this.isDroppedDown=!1);this._restoreComboboxTbxVal&&(this._tbx.value=this._getDisplayText(this.selectedIndex,void 0,!0));super._dropDownClick(t)}_setText(t,e,i=!1){if(this._composing||this._settingText)return;this._settingText=!0;if(this.containsFocus()){const t=this.formatItem.handlerCount;if(this._fmtItemHandlers!=t){this._fmtItemHandlers=t;this._lbx.loadList()}}t=[null,void 0,NaN].includes(t)?"":t.toString();let s=this.selectedIndex,o=this.collectionView,n=this._getSelStart(),a=-1,l=!0;if(this.isEditable&&(this._delKey||this._getSelEnd()<t.length||!this.containsFocus())){e=!0;l=!1}s=this.indexOf(t,e);if(l){s<0&&e&&(s=this.indexOf(t,!1));s<0&&n>0&&!i&&(s=this.indexOf(t.substr(0,n),!1));if(!e){const e=this.indexOf(t,!0);e>-1&&s>-1&&e!=s&&(s=e)}}s<0&&this._delKey&&(s=this.indexOf(t,e));if(s<0&&!this.isEditable&&wijmo_1.hasItems(o)&&(t&&this.isRequired||this.containsFocus()&&(t||this.isRequired))){const e=this._oldText||"";s=Math.max(0,this.indexOf(e,!1));n=0;for(let i=0;i<t.length&&i<e.length;i++)if(t[i]!=e[i]){n=i;break}}if((!this._delKey||!this.isEditable||this._delKey&&this.isEditable&&t==this._getDisplayText(s,void 0,!0))&&(!this._pristine||this._pristine&&!this.isEditable)||this._isWheel||this._delKey&&""==t&&s>-1){if(s>-1){a=n;t=this._getDisplayText(s,void 0,!0)}const e=this._tbx;t!=e.value&&(e.value=t);a>-1&&this.containsFocus()&&!this.isTouching&&this._updateInputSelection(a)}if(o){if(!t||this.trimText&&""==t.trim()&&!this.containsFocus()&&this.isEditable)if(s>-1)this._oldIndexToBeRestoredOnBlur=s;else{this._oldIndexToBeRestoredOnBlur=this.indexOf(this._oldText,!0);this._oldIndexToBeRestoredOnBlur=this._oldIndexToBeRestoredOnBlur<0?this.indexOf(this._oldText,!1):this._oldIndexToBeRestoredOnBlur}this._restoreComboboxTbxVal=t&&s>-1;o.moveCurrentToPosition(s)}this.containsFocus()||this.isEditable||this.isRequired||t!=t.trim()||!this.trimText||(this._tbx.value=this._getDisplayText(s,this.trimText,!0));!this.containsFocus()&&s>-1&&this.isEditable&&(t=this._getDisplayText(s,this.trimText,!0));!this.containsFocus()&&this._hasItems()&&s<0&&!this.isEditable&&!this.isRequired&&(t="");let h=!1;!t&&s<0&&this.isRequired&&!this.containsFocus()&&(h=!0);this.trimText&&!this.containsFocus()&&this.isEditable&&(this.isRequired&&""==t.trim()?h=!0:t=t.trim());if(h){this.selectedIndex=this._oldIndexToBeRestoredOnBlur;this.selectedIndex<0&&(this.selectedIndex=0)}const r=!this.containsFocus()&&!this.isEditable&&this.trimText;r&&(this._tbx.value=this._getDisplayText(s,!0,!0));this._delKey=0;this._settingText=!1;super._setText(h?this._getDisplayText(this.selectedIndex,void 0,!0):t,e,h,r)}_findNext(t,e,i=this.selectedIndex){const s=this.collectionView,o=s?s.items.length:0,n=this._lbx,a=this.caseSensitiveSearch;if(s&&o&&e){a||(t=t.toLowerCase());this.trimText&&(t=t.trim());for(let s=i+e;s>-1&&s<o;s+=e){let e=this._getDisplayText(s,void 0,!0);a||(e=e.toLowerCase());if(0==e.indexOf(t)){if(!this.dropDown.children[s]||n.isItemEnabled(s))return s}}}return i}_findNextWhenIsEditableFalse(t,e,i=this.selectedIndex){const s=this._findNext(t,e,i);return s!==i?s:-1}_keydown(t){super._keydown(t);if(t.defaultPrevented||this.isReadOnly)return;if(t.altKey)return;if(!wijmo_1.hasItems(this.collectionView))return;if(this._elRef!=this._tbx)return;if(this._isHiddenEditor())return;this._delKey=0;let e=this._getSelStart();const i=this._getSelEnd();switch(t.keyCode){case wijmo_1.Key.Tab:if(this.isDroppedDown){this.isDroppedDown=!1;this.keyActionTab===TabKeyAction.CloseAndKeepFocus&&t.preventDefault()}break;case wijmo_1.Key.Back:case wijmo_1.Key.Delete:case 88:if(!t.ctrlKey&&!t.metaKey&&88==t.keyCode)break;if(this._bsCollapse&&!this.isEditable&&e>0&&i==this._tbx.value.length&&wijmo_1.hasItems(this.collectionView)){this._setSelRange(e-1,i);e-=1}this._delKey=t.keyCode;break;case wijmo_1.Key.Up:case wijmo_1.Key.Down:e==this.text.length&&(e=0);this.selectedIndex=this._findNext(this.text.substr(0,e),t.keyCode==wijmo_1.Key.Up?-1:1);this._setSelRange(e,this.text.length);t.preventDefault();break;case wijmo_1.Key.PageUp:this._lbx._selectPrevPage();this.selectAll();t.preventDefault();break;case wijmo_1.Key.PageDown:this._lbx._selectNextPage();this.selectAll();t.preventDefault();break;case wijmo_1.Key.Home:case wijmo_1.Key.End:{const t=this._tbx;wijmo_1.setAttribute(t,"aria-activedescendant",null);break}}this.text.length>0&&["Backspace","Delete","x"].includes(t.key)&&0===e&&i===this.text.length||this._delKey&&1===this.text.length?this._emptyValueAction=!0:this._composing||(this._emptyValueAction=!1)}_afterOpenDropdownByDownArrow(){if(-1===this.selectedIndex){this.selectedIndex=0;this.selectAll()}}_input(t){this._handleDragTextState();this._updateDropDownWhenInput();this._updateComponentText();this._updateEmptyValueFlag();this._resetDragState()}_handleDragTextState(){this._draggingText&&(this._emptyValueAction=""===this.text)}_shouldOpenDropdown(){return this.keyActionPrintCharacters===KeyAction.OpenDropdown}_handleIsEditableFalseInput(){const t=this.text;let e=this.text.length,i=this._findNextWhenIsEditableFalse(t,1,this.selectedIndex-1);if(-1===i){i=this._findNextWhenIsEditableFalse(t,1,-1);if(-1===i){const s=t[t.length-1];i=this._findNextWhenIsEditableFalse(s,1);e=1;-1===i&&(i=this._findNextWhenIsEditableFalse(s,1,-1))}}-1!==i?this._updateSelection(i,e):this._updateComponentText()}_updateSelection(t,e){this._tbx.value=this._getDisplayText(t,void 0,!0);this._updateInputSelection(e);const i=this.collectionView;i&&i.moveCurrentToPosition(t)}_updateComponentText(){const t=this._textIsComposing||this.text;this._setText(t,!1)}_updateEmptyValueFlag(){this.text&&(this._emptyValueAction=!1)}_controlDropdownVisibility(){this.text&&!this.isDroppedDown&&(this.isDroppedDown=!0)}_resetDragState(){this._draggingText=!1}_updateInputSelection(t){const e=this._tbx;this._elRef==e&&this._setSelRange(t,e.value.length)}_getSelStart(){const t=this._tbx;return t&&t.value?t.selectionStart:0}_getSelEnd(){const t=this._tbx;return t&&t.value?t.selectionEnd:0}_setSelRange(t,e){const i=this._tbx;this._elRef!=i||i.readOnly||wijmo_1.setSelectionRange(i,t,e)}getAriaLabelForScreenReader(){return wijmo_1.culture.ComboBox.ariaLabels.comboBox}_updateDropDownWhenInput(){if(this._shouldOpenDropdown()){const t=this._getSelStart(),e=this._getSelEnd(),i=this._delKey,s=this.text;this._controlDropdownVisibility();this._tbx.value=s;this._setSelRange(t,e);this._delKey=i}}}ComboBox._ctrlTemplate="";exports.ComboBox=ComboBox;wijmo_1._addCultureInfo("MultiSelect",{itemsSelected:"{count:n0} items selected",selectAll:"Select All",ariaLabels:{multiSelectInput:"MultiSelect Input",multiSelect:"Multi Select"}});class MultiSelect extends ComboBox{constructor(t,e){super(t);this._maxHdrItems=2;this._readOnly=!1;this._hdrFmt=null;this._inputElementAriaLabel=wijmo_1.culture.MultiSelect.ariaLabels.multiSelectInput;this.checkedItemsChanged=new wijmo_1.Event;wijmo_1.addClass(this.hostElement,exports.MultiSelectClsNames.hostElement);this._tbx.readOnly=!0;this.checkedMemberPath=null;this.removeEventListener(this.dropDown,"click");this._lbx.itemsChanged.addHandler(()=>{this._updateHeader(!1)});this._lbx.checkedItemsChanged.addHandler(()=>{this._updateHeader(!1);this.onCheckedItemsChanged()});this.clickAction=ClickAction.Toggle;this.initialize(e);this._updateInputAriaLabel()}static get controlTemplate(){MultiSelect._ctrlTemplate||(MultiSelect._ctrlTemplate=ComboBox.controlTemplate);return MultiSelect._ctrlTemplate}static set controlTemplate(t){MultiSelect._ctrlTemplate=t}get showSelectAllCheckbox(){return this._msLbx.showSelectAllCheckbox}set showSelectAllCheckbox(t){this._msLbx.showSelectAllCheckbox=wijmo_1.asBoolean(t)}get showFilterInput(){return this._msLbx.showFilterInput}set showFilterInput(t){this._msLbx.showFilterInput=wijmo_1.asBoolean(t)}get delay(){return this._msLbx.delay}set delay(t){this._msLbx.delay=t}get caseSensitiveSearch(){return this._msLbx.caseSensitiveSearch}set caseSensitiveSearch(t){this._msLbx.caseSensitiveSearch=t}get filterInputPlaceholder(){return this._msLbx.filterInputPlaceholder}set filterInputPlaceholder(t){this._msLbx.filterInputPlaceholder=wijmo_1.asString(t)}get checkOnFilter(){return this._msLbx.checkOnFilter}set checkOnFilter(t){if(t!=this.checkOnFilter){this._msLbx.checkOnFilter=wijmo_1.asBoolean(t);this.checkedItems=[]}}get selectAllLabel(){return this._msLbx.selectAllLabel}set selectAllLabel(t){this._msLbx.selectAllLabel=wijmo_1.asString(t)}get checkedMemberPath(){return this._msLbx.checkedMemberPath}set checkedMemberPath(t){this._msLbx.checkedMemberPath=wijmo_1.asString(t)}get maxHeaderItems(){return this._maxHdrItems}set maxHeaderItems(t){if(this._maxHdrItems!=t){this._maxHdrItems=wijmo_1.asNumber(t);this._updateHeader()}}get headerFormat(){return this._hdrFmt}set headerFormat(t){if(t!=this._hdrFmt){this._hdrFmt=wijmo_1.asString(t);this._updateHeader()}}get headerFormatter(){return this._hdrFormatter}set headerFormatter(t){if(t!=this._hdrFormatter){this._hdrFormatter=wijmo_1.asFunction(t);this._updateHeader()}}get checkedItems(){return this._msLbx.checkedItems}set checkedItems(t){this._msLbx.checkedItems=null==t?[]:wijmo_1.asArray(t);this._updateHeader()}onCheckedItemsChanged(t){this.checkedItemsChanged.raise(this,t)}dispose(){this._lbx.dispose();super.dispose()}onIsDroppedDownChanged(t){super.onIsDroppedDownChanged(t);setTimeout(()=>{if(this.isDroppedDown&&this.containsFocus())if(this.showFilterInput&&!this.isTouching)this._msLbx._filter.focus();else{const t=this.listBox;if(t.selectedIndex<0){let e=0,i=t.checkedItems;i.length&&(e=t.collectionView.items.indexOf(i[0]));t.selectedIndex=Math.max(0,e)}t.showSelection(!0);t.focus()}})}onLostFocus(){this._msLbx.onLostFocus();this.isDroppedDown=!1;super.onLostFocus()}_createDropDown(){const t=wijmo_1.createElement("<div></div>",this._dropDown);this._msLbx=new MultiSelectListBox(t);this._lbx=this._msLbx.listBox;const e=this.hostElement;this._lbx.hostElement.id=wijmo_1.getUniqueId(e.id+"_listbox");this._lbx.itemsChanged.addHandler(()=>{this.isDroppedDown&&this.refresh()});super._createDropDown()}_updateBtnAria(){const t=this._btn.querySelector("button"),e=this.isDroppedDown,i=this._lbx?this._lbx.hostElement:null,s=i?i.id:null;wijmo_1.setAttribute(t,"aria-expanded",e);wijmo_1.setAttribute(t,"aria-controls",e?s:null)}_updateTbxAria(){const t=this._tbx,e=this.isDroppedDown,i=this._lbx?this._lbx.hostElement:null,s=i?i.id:null;wijmo_1.setAttribute(t,"aria-expanded",e);wijmo_1.setAttribute(t,"aria-controls",e?s:null)}get isReadOnly(){return this._readOnly}set isReadOnly(t){this._readOnly=wijmo_1.asBoolean(t);wijmo_1.toggleClass(this.hostElement,wijmo_1.ControlStateClsNames.readOnly,this.isReadOnly)}refresh(t=!0){super.refresh(t);this.hostElement&&this._updateHeader()}_setText(t,e){}_keydown(t){const e=t.altKey&&(38===t.keyCode||40===t.keyCode);if(this.isDroppedDown&&e&&this.showFilterInput){this.isDroppedDown=!1;t.preventDefault()}else{super._keydown(t);wijmo_1.hasClass(this._tbx,"wj-grid-ime")||!t.defaultPrevented&&wijmo_1.hasItems(this.collectionView)&&t.keyCode>32&&123!==t.keyCode&&(this.isDroppedDown=!0)}}_hasItems(){const t=this.collectionView,e=t?t.sourceCollection:null;return wijmo_1.hasItems(t)||e&&e.length&&this.showFilterInput}_updateHeader(t=!0,e=!0){let i="";if(wijmo_1.isFunction(this._hdrFormatter))i=this._hdrFormatter(this);else{let t=this.checkedItems,e=[];if(this.displayMemberPath){const i=new wijmo_1.Binding(this.displayMemberPath);e=t.reduce((t,e)=>{(e.binding?t.find(t=>t.binding===e.binding):t.find(t=>i.getValue(t)===i.getValue(e)))||t.push(e);return t},[]);t=e}if(t.length>0)if(t.length<=this._maxHdrItems){if(this.headerPath){const e=new wijmo_1.Binding(this.headerPath);t=t.map(t=>e.getValue(t))}else if(this.displayMemberPath){const e=new wijmo_1.Binding(this.displayMemberPath);t=t.map(t=>e.getValue(t))}this.isContentHtml&&(t=t.map(t=>wijmo_1.toPlainText(t)));this.trimText&&(t=t.map(t=>t?t.toString().trim():""));i=t.join(", ")}else i=wijmo_1.format(this.headerFormat||wijmo_1.culture.MultiSelect.itemsSelected,{count:t.length})}const s=this.inputElement;if(i!=s.value){s.value=i;this.onTextChanged()}t&&this._lbx._updateCheckedList(this.checkedItems);this._updateState()}getAriaLabelForScreenReader(){return wijmo_1.culture.MultiSelect.ariaLabels.multiSelect}}MultiSelect._DEF_CHECKED_PATH="$checked";MultiSelect._ctrlTemplate="";exports.MultiSelect=MultiSelect;wijmo_1._addCultureInfo("Menu",{ariaLabels:{menuButton:"Menu"}});class Menu extends ComboBox{constructor(t,e){super(t);this._closing=!1;this._cmd=null;this._cmdPath=null;this._cmdParamPath=null;this._subPath=null;this._owner=null;this._isButton=!1;this._keepOpen=!1;this._openOnHover=!1;this._closeOnLeave=!0;this._subMenu=null;this._hoverEnterBnd=this._hoverEnter.bind(this);this._hoverLeaveBnd=this._hoverLeave.bind(this);this._hoverOverBnd=this._hoverOver.bind(this);this._ariaLabel=wijmo_1.culture.Menu.ariaLabels.menuButton;this._aFEnabledItem=!1;this._parentMenu=null;this.itemClicked=new wijmo_1.Event;Menu._MenuInstanceCount++;const i=this.hostElement,s=this._tbx,o=this._lbx,n=this.dropDown;wijmo_1.addClass(i,exports.MenuClsNames.hostElement);s.style.display="none";const a=`<div wj-part="header" class="${wijmo_1.InputFormElementsClsNames.formControl}"/>`;this._hdr=this._elRef=wijmo_1.createElement(a);s.parentElement.insertBefore(this._hdr,s);wijmo_1.removeChild(s);this.isRequired=!1;if("SELECT"==this._orgTag){this.header=i.getAttribute("header");this._lbx.itemsSource&&(this.commandParameterPath="cmdParam")}this.isContentHtml=!0;this.maxDropDownHeight=500;this.addEventListener(this._hdr,"click",t=>{if(!t.defaultPrevented){this._clearHover(t);if(this._isButton){this.isDroppedDown=!1;this._raiseCommand()}else this.isDroppedDown=!this.isDroppedDown}});this.addEventListener(this._hdr,"mousedown",t=>{t.defaultPrevented||this._clearHover(t)});o.lostFocus.addHandler(()=>{this.containsFocus()||(this.isDroppedDown=!1)});wijmo_1.addClass(n,exports.MenuClsNames.menuItems);o.formatItem.addHandler(this._formatMenuItem.bind(this));this.initialize(e);wijmo_1.setAttribute(n,"role","menu");this._updateBtnAria();this._updateHdrAria();o.tabOrder=0;this._updateLbxAria()}static get controlTemplate(){Menu._ctrlTemplate||(Menu._ctrlTemplate=ComboBox.controlTemplate);return Menu._ctrlTemplate}static set controlTemplate(t){Menu._ctrlTemplate=t}_updateBtnAria(){const t=this._btn.querySelector("button"),e=this.dropDown;wijmo_1.setAttribute(t,"aria-expanded",this.isDroppedDown);wijmo_1.setAttribute(t,"aria-haspopup","menu");wijmo_1.setAttribute(t,"aria-owns",e.id);wijmo_1.setAttribute(t,"aria-controls",e.id)}_updateHdrAria(){const t=this.dropDown,e=this.isDisabled?-1:this._orgTabIndex;wijmo_1.setAttribute(this._hdr,"role","button");wijmo_1.setAttribute(this._hdr,"tabindex",e);wijmo_1.setAttribute(this._hdr,"aria-label",this._ariaLabel);if(this.isButton){wijmo_1.setAttribute(this._hdr,"aria-expanded");wijmo_1.setAttribute(this._hdr,"aria-haspopup");wijmo_1.setAttribute(this._hdr,"aria-owns");wijmo_1.setAttribute(this._hdr,"aria-controls")}else{wijmo_1.setAttribute(this._hdr,"aria-expanded",this.isDroppedDown);wijmo_1.setAttribute(this._hdr,"aria-haspopup","menu");wijmo_1.setAttribute(this._hdr,"aria-owns",t.id);wijmo_1.setAttribute(this._hdr,"aria-controls",t.id)}}_updateLbxAria(){const t=this._lbx,e=this.isDisabled?-1:t.tabOrder;t.itemRole="menuitem";t.tabOrder=e}get ariaLabel(){return this._ariaLabel}set ariaLabel(t){if(t!=this._ariaLabel){this._ariaLabel=t;wijmo_1.setAttribute(this._hdr,"aria-label",this._ariaLabel)}}get autoSelectOnFocus(){return this._aFEnabledItem}set autoSelectOnFocus(t){this._aFEnabledItem=t}get header(){return this._hdr.innerHTML}set header(t){this._hdr.innerHTML=wijmo_1.asString(t)}get command(){return this._cmd}set command(t){this._cmd=t}get commandPath(){return this._cmdPath}set commandPath(t){this._cmdPath=wijmo_1.asString(t)}get commandParameterPath(){return this._cmdParamPath}set commandParameterPath(t){this._cmdParamPath=wijmo_1.asString(t)}get subItemsPath(){return this._subPath}set subItemsPath(t){if(t!=this._subPath){this._subPath=t;this.refresh(!0)}}get openOnHover(){return this._openOnHover}set openOnHover(t){this._openOnHover=wijmo_1.asBoolean(t);this._updateHoverEvents()}get closeOnLeave(){return this._closeOnLeave}set closeOnLeave(t){this._closeOnLeave=wijmo_1.asBoolean(t);this._updateHoverEvents()}get isButton(){return this._isButton}set isButton(t){this._isButton=wijmo_1.asBoolean(t);this._updateHdrAria()}get keepOpen(){return this._keepOpen}set keepOpen(t){this._keepOpen=wijmo_1.asBoolean(t)}get owner(){return this._owner}set owner(t){this._owner=wijmo_1.asType(t,HTMLElement,!0);this._enableDisableItems()}show(t){if(!this.isDroppedDown){const e=this._lbx._ignoredItemChangedEvents;this._lbx._ignoredItemChangedEvents=!0;this.selectedIndex=-1;this._lbx._ignoredItemChangedEvents=e;if(this.onIsDroppedDownChanging(new wijmo_1.CancelEventArgs)){let e=this.dropDown,i=this.owner;!i&&t instanceof MouseEvent&&(i=t.target);i instanceof HTMLElement&&(e[wijmo_1.Control._OWNR_KEY]=i);if(t instanceof MouseEvent&&this.openOnHover&&this.closeOnLeave){const e=2;t=new wijmo_1.Point(t.pageX-pageXOffset-e,t.pageY-pageYOffset-e)}wijmo_1.showPopup(e,t,!1,this.isAnimated);this.onIsDroppedDownChanged()}}}hide(){if(this.isDroppedDown&&this.onIsDroppedDownChanging(new wijmo_1.CancelEventArgs)){wijmo_1.hidePopup(this.dropDown);this.onIsDroppedDownChanged()}}onItemClicked(t){this.itemClicked.raise(this,t)}refresh(t=!0){super.refresh(t);this.hostElement&&this._enableDisableItems()}onIsDroppedDownChanged(t){super.onIsDroppedDownChanged(t);this._updateBtnAria();this._updateHdrAria();if(this.isDroppedDown){this._closing=!0;const t=this._lbx._ignoredItemChangedEvents;this._lbx._ignoredItemChangedEvents=!0;this._defaultItem=this.selectedItem;this.isRequired=!1;this.selectedIndex=-1;this._enableDisableItems();this._closing=!1;this._lbx._ignoredItemChangedEvents=t;if(this._aFEnabledItem){const t=this.dropDown.children;for(let e=0;e<t.length;e++)if(!t[e].classList.contains(wijmo_1.ControlStateClsNames.disabled)){this.selectedIndex=e;t[e].focus();break}}else this.dropDown.focus()}else{this._restoreSelectedItem();const t=this._subMenu;t&&(t.isDroppedDown=!1)}}_restoreSelectedItem(){if(!this.selectedItem){const t=this._lbx._checking;this._lbx._checking=!0;this.selectedItem=this._defaultItem;this._lbx._checking=t}}_updateHoverEvents(){const t=this.hostElement,e=this.dropDown,i=this.addEventListener.bind(this),s=this.removeEventListener.bind(this),o="mouseleave";s(t,"mouseenter",this._hoverEnterBnd);s(t,o,this._hoverLeaveBnd);s(e,"mouseover",this._hoverOverBnd);s(e,o,this._hoverLeaveBnd);if(this._openOnHover){i(t,"mouseenter",this._hoverEnterBnd);i(e,"mouseover",this._hoverOverBnd);if(this._closeOnLeave){i(t,o,this._hoverLeaveBnd);i(e,o,this._hoverLeaveBnd)}}}_getSubItems(t){const e=this.subItemsPath,i=t&&e?t[e]:null;return wijmo_1.isArray(i)&&i.length?i:null}_formatMenuItem(t,e){const i=e.item;if(this._getSubItems(e.data)){wijmo_1.addClass(i,exports.MenuClsNames.subItems);wijmo_1.setAttribute(i,"aria-expanded",!1)}else if("-"==i.innerHTML){i.innerHTML="";wijmo_1.addClass(i,wijmo_1.UtilitesClsNames.separator);wijmo_1.setAttribute(i,"role","separator");wijmo_1.setAttribute(i,"tabindex")}}_keydown(t){if(!t.defaultPrevented){const e=this._getKeyCode(t);if(this.isDroppedDown)switch(e){case wijmo_1.Key.Tab:this.isDroppedDown=!1;this._parentMenu&&this._parentMenu.focus();this.keyActionTab===TabKeyAction.CloseAndKeepFocus&&t.preventDefault();break;case wijmo_1.Key.Enter:case wijmo_1.Key.Right:if(this._showSubMenu()){t.preventDefault();return}break;case wijmo_1.Key.Left:if(this._closeSubMenuAndFocusOwner()){t.preventDefault();return}break;case wijmo_1.Key.Escape:this.isDroppedDown=!1;this.focus();this._focusMenuOwner();if(this._parentMenu){this._parentMenu.focus();this._parentMenu.isDroppedDown=!1}t.preventDefault()}if(e==wijmo_1.Key.Enter){if(this._isButton){this._restoreSelectedItem();this._raiseCommand();t.preventDefault();return}if(this.isDroppedDown){if(this.selectedIndex>-1){this._raiseCommand();if(this.keepOpen){t.preventDefault();return}}if(this.keepOpen&&this._closeSubMenuAndFocusOwner()){t.preventDefault();return}}else{this.isDroppedDown=!0;t.preventDefault()}}}super._keydown(t)}_afterOpenDropdownByDownArrow(){}_dropDownClick(t){if(!t.defaultPrevented&&t.target!=this.dropDown){this._clearHover(t);if(this._showSubMenu()){t.preventDefault();return}if(this.selectedIndex>-1){this._raiseCommand();if(this.keepOpen){t.preventDefault();return}}}super._dropDownClick(t)}_closeSubMenuAndFocusOwner(){const t=wijmo_1.Control.getControl(this.owner);if(!(t instanceof Menu))return!1;const e=t.dropDown,i=t.selectedIndex,s=i>-1?e.children[i]:e;wijmo_1.setAttribute(s,"aria-expanded",!1);wijmo_1.setAttribute(s,"aria-owns");s.focus();return!0}_showSubMenu(){const t=this._getSubItems(this.selectedItem);if(!t)return null;const e=this.dropDown.children[this.selectedIndex],i=e.getBoundingClientRect(),s=new wijmo_1.Point(i.right,i.top);if(0==i.height)return null;const o=this.rightToLeft||"rtl"==this.dropDown.getAttribute("dir");o&&(s.x=i.left);let n=this._subMenu;n&&(n.isDroppedDown=!1);n=new Menu(document.createElement("div"),{owner:this.hostElement,itemsSource:t,autoSelectOnFocus:this._aFEnabledItem,keepOpen:this.keepOpen,itemClicked:(t,e)=>{this.itemClicked.raise(t,e)},formatItem:(t,e)=>{this.formatItem.raise(t,e)}});n._parentMenu=this._parentMenu||this;if(e){wijmo_1.setAttribute(e,"aria-expanded",!0);wijmo_1.setAttribute(e,"aria-owns",n.dropDown.id)}const a=this.collectionView,l=n.collectionView;a&&a.filter&&l&&!l.filter&&(l.filter=a.filter);"displayMemberPath,selectedValuePath,isContentHtml,command,commandPath,commandParameterPath,maxDropDownWidth,maxDropDownHeight,dropDownCssClass,isAnimated,subItemsPath,openOnHover,closeOnLeave".split(",").forEach(t=>{n[t]=this[t]});const h=n.dropDown;wijmo_1.setAttribute(h,"dir",o?"rtl":null);n.show(s);n._rtlDir=o;h[wijmo_1.Control._OWNR_KEY]=this.dropDown;return n}_raiseCommand(t){const e=this.selectedItem,i=this._getSubItems(e),s=this._getCommand(e);if(s&&!i){const t=this._getCommandParm(e);if(!this._canExecuteCommand(s,t))return;this._executeCommand(s,t)}const o=this.headerPath;if(o){let t=new wijmo_1.Binding(o).getValue(e);t=null==t?"":t.toString();this.header=this.isContentHtml?t:wijmo_1.escapeHtml(t)}this.onItemClicked(t);if(this.containsFocus()){let t=this;for(;t&&t.owner;){const e=wijmo_1.Control.getControl(t.owner);if(!(e instanceof Menu))break;t=e}if(this.keepOpen){this._enableDisableItems();this._lbx.focus()}else{t.isDroppedDown=!1;t.focus();this._focusMenuOwner()}}}_focusMenuOwner(){let t=this.owner;!t&&this.dropDown&&(t=this.dropDown[wijmo_1.Control._OWNR_KEY]);if(!this.containsFocus()&&t instanceof HTMLElement&&t.offsetHeight)if(wijmo_1.isIE){const e=document.documentElement,i=e.scrollLeft,s=e.scrollTop;t.focus();e.scrollLeft=i;e.scrollTop=s}else t.focus()}_getCommand(t){const e=t&&this._cmdPath?t[this._cmdPath]:null;return e||this._cmd}_getCommandParm(t){const e=this._cmdParamPath;return t&&e?t[e]:t}_executeCommand(t,e){t&&!wijmo_1.isFunction(t)&&(t=t.executeCommand);wijmo_1.isFunction(t)&&t(e)}_canExecuteCommand(t,e){if(t){const i=t.canExecuteCommand;if(wijmo_1.isFunction(i))return i(e)}return!0}_enableDisableItems(){if(this.collectionView&&(this._cmd||this._cmdPath)){const t=this.collectionView.items;for(let e=0;e<t.length;e++){const i=t[e],s=this._getCommand(i);if(s){const t=this._lbx.hostElement.children[e],o=this._getCommandParm(i);wijmo_1.toggleClass(t,wijmo_1.ControlStateClsNames.disabled,!this._canExecuteCommand(s,o))}}}}_clearHover(t){this._toHover&&clearTimeout(this._toHover);this._toHover=null;Menu._evtHover=t}_isTargetDisabled(t){return wijmo_1.hasClass(t.target,wijmo_1.ControlStateClsNames.disabled)}_hoverEnter(t){this._clearHover(t);this._toHover=setTimeout(()=>{this._toHover=null;this.isDroppedDown=!0},wijmo_1.Control._HOVER_DELAY)}_hoverOver(t){this._clearHover(t);this._toHover=setTimeout(()=>{this._toHover=null;const e=this.listBox.indexOf(t.target);if(e>-1&&!wijmo_1.hasClass(t.target,wijmo_1.ControlStateClsNames.disabled)){this.selectedIndex=e;this._subMenu=this._showSubMenu()}},wijmo_1.Control._HOVER_DELAY)}_hoverLeave(t){this._clearHover(t);this.isDroppedDown&&(this._toHover=setTimeout(()=>{const e=(t=Menu._evtHover)?document.elementFromPoint(t.clientX,t.clientY):null,i=wijmo_1.closest(e,`.${exports.ListBoxClsNames.hostElement}.${exports.MenuClsNames.menuItems}`),s=this._subMenu;if(!i&&!wijmo_1.contains(this.hostElement,e,!0)){this.isDroppedDown=!1;s&&(s.isDroppedDown=!1)}},wijmo_1.Control._LEAVE_DELAY))}_setIsDisabled(t){super._setIsDisabled(t);wijmo_1.setAttribute(this.hostElement,"tabindex",-1);this._updateHdrAria();this._updateLbxAria()}_setTabOrder(t){super._setTabOrder(t);wijmo_1.setAttribute(this.hostElement,"tabindex",-1);this._updateHdrAria();this._updateLbxAria()}_getRtlStates(){const t=this.hostElement;return t&&t.isConnected?super._getRtlStates():null!=this._rtlDir&&this._rtlDir}dispose(){if(this._subMenu){this._subMenu.dispose();this._subMenu=null}Menu._MenuInstanceCount--;0===Menu._MenuInstanceCount&&Menu._evtHover&&(Menu._evtHover=null);const t=this._lbx;if(t){t.lostFocus.removeHandler(()=>{this.containsFocus()||(this.isDroppedDown=!1)});t.formatItem&&t.formatItem.removeHandler(this._formatMenuItem)}if(this._toHover){clearTimeout(this._toHover);this._toHover=null}this._cmd=null;this._owner=null;this._defaultItem=null;this._hoverEnterBnd=null;this._hoverLeaveBnd=null;this._hoverOverBnd=null;super.dispose()}}Menu._MenuInstanceCount=0;Menu._ctrlTemplate="";exports.Menu=Menu;wijmo_1._addCultureInfo("InputTime",{ariaLabels:{inputTime:"Input Time",inputTimeInput:"InputTime Input"}});class InputTime extends ComboBox{constructor(t,e){super(t);this._format="t";this._inputElementAriaLabel=wijmo_1.culture.InputTime.ariaLabels.inputTimeInput;this.valueChanged=new wijmo_1.Event;wijmo_1.addClass(this.hostElement,exports.InputTimeClsNames.hostElement);this.isEditable=!0;this._value=wijmo_1.DateTime.newDate();this._min=this._max=null;this._msk=new wijmo_1._MaskProvider(this._tbx);wijmo_1.isIE9()||(this._tbx.type="tel");if("INPUT"==this._orgTag){const t=this._tbx.getAttribute("value");t&&(this.value=wijmo_1.Globalize.parseDate(t,"HH:mm:ss"))}this.step=15;this.autoExpandSelection=!0;this.initialize(e);this._commitText();this._updateInputAriaLabel()}static get controlTemplate(){InputTime._ctrlTemplate||(InputTime._ctrlTemplate=ComboBox.controlTemplate);return InputTime._ctrlTemplate}static set controlTemplate(t){InputTime._ctrlTemplate=t}get inputElement(){return this._tbx}get inputType(){return this._tbx.type}set inputType(t){this._tbx.type=wijmo_1.asString(t)}get value(){return this._value}set value(t){(t=wijmo_1.asDate(t,!this.isRequired))&&(t=this._clamp(t));this._setText(t?wijmo_1.Globalize.format(t,this.format):"",!0,!0);this.selectedItem&&this.selectedItem.value&&(t=wijmo_1.DateTime.fromDateTime(t,this.selectedItem.value));if(t!=this._value&&!wijmo_1.DateTime.equals(t,this._value)){this._value=t;this.onValueChanged()}}get text(){return this._tbx.value}set text(t){if(t!=this.text&&(this.text||!this.isRequired)){this._setText(t,!0);this._commitText()}!this.text&&this.isRequired&&(this.selectedIndex=this._oldIndexToBeRestoredOnBlur<0?0:this._oldIndexToBeRestoredOnBlur)}get min(){return this._min}set min(t){this._min=wijmo_1.asDate(t,!0);this.isDroppedDown=!1;this._updateItems()}get max(){return this._max}set max(t){this._max=wijmo_1.asDate(t,!0);this.isDroppedDown=!1;this._updateItems()}get step(){return this._step}set step(t){if(t!=this.step){this._step=wijmo_1.asNumber(t,!0);this.isDroppedDown=!1;this._updateItems()}}get format(){return this._format}set format(t){if(t!=this.format){this._format=wijmo_1.asString(t);this._tbx.value=wijmo_1.Globalize.format(this.value,this.format);wijmo_1.hasItems(this.collectionView)&&this._updateItems()}}get mask(){return this._msk.mask}set mask(t){this._msk.mask=wijmo_1.asString(t)}onLostFocus(){super.onLostFocus()}onValueChanged(t){this.valueChanged.raise(this,t)}onItemsSourceChanged(t){super.onItemsSourceChanged(t);this._hasCustomItems=null!=this.itemsSource}refresh(t=!0){super.refresh(t);if(this.hostElement){this._msk.refresh();this._tbx.value=wijmo_1.Globalize.format(this.value,this.format);this._updateItems()}}onSelectedIndexChanged(t){if(this.selectedIndex>-1&&!this._settingText){const t=this.value?this.value:wijmo_1.DateTime.newDate(),e=null!=this.selectedItem.value?this.selectedItem.value:wijmo_1.Globalize.parseDate(this.text,this.format,this.value);this.value=wijmo_1.DateTime.fromDateTime(t,e)}super.onSelectedIndexChanged(t)}_clamp(t){null!=this._min&&this._getTime(t)<this._getTime(this._min)&&(t=wijmo_1.DateTime.fromDateTime(t,this._min));null!=this._max&&this._getTime(t)>this._getTime(this._max)&&(t=wijmo_1.DateTime.fromDateTime(t,this._max));return t}_wheel(t){if(this.handleWheel&&!t.defaultPrevented&&!this.isDroppedDown&&this.value&&this._canChangeValue()&&this.containsFocus()&&this.isEditable){let e=this._tbx,i=e.selectionStart,s=e.selectionEnd,o=wijmo_1.clamp(-t.deltaY,-1,1),n=(this.value,wijmo_1.culture.Globalize.calendar.patterns[this.format]);null==n&&(n=this.format);const a=n.match(wijmo_1.getSpecialCharsRegex());if(s-i===e.value.length&&wijmo_1.isNumber(this.step)&&this.step>0){let t=wijmo_1.DateTime.addMinutes(this.value,this.step*-o);t=this._clamp(t);this.value=t;this.selectAll()}else this._updateTimeValue(o,a,n);t.preventDefault()}super._wheel(t)}_updateInputSelection(t){if(this._delKey)super._updateInputSelection(t);else{const e=this._tbx.value;for(;t<e.length&&!e[t].match(/[a-z0-9]/i);)t++;wijmo_1.setSelectionRange(this._tbx,t,this._tbx.value.length)}}_updateItems(){if(this._hasCustomItems)return;const t=[],e=new Date,i=new Date(e.getFullYear(),e.getMonth(),e.getDate()),s=new Date(e.getFullYear(),e.getMonth(),e.getDate(),23,59,59),o=this.step;this.min&&i.setHours(this.min.getHours(),this.min.getMinutes(),this.min.getSeconds());this.max&&s.setHours(this.max.getHours(),this.max.getMinutes(),this.max.getSeconds());if(wijmo_1.isNumber(o)&&o>=1)for(let e=i;e<=s;e=wijmo_1.DateTime.addMinutes(e,o))t.push({value:e,text:wijmo_1.Globalize.format(e,this.format)});const n=this.value;this._settingText=!0;this.displayMemberPath="text";this.selectedValuePath="text";this.itemsSource=t;this._hasCustomItems=!1;this._settingText=!1;!n&&this.isRequired||(this.value=n)}_getTime(t){return 3600*t.getHours()+60*t.getMinutes()+t.getSeconds()}_getText(){const t=wijmo_1.Globalize.format,e=this._format;return t(this.value,e)}_canChangeValue(){return!this.isReadOnly&&!this.isDisabled}getSeconds(t){return 3600*t.getHours()+60*t.getMinutes()+t.getSeconds()}_keydown(t){if(!(t.defaultPrevented||t.altKey||t.ctrlKey||t.metaKey)){if(this._isHiddenEditor())return;switch(t.keyCode){case wijmo_1.Key.Enter:this._commitText(void 0,!0);this.selectAll();break;case wijmo_1.Key.Escape:this.text=wijmo_1.Globalize.format(this.value,this.format);this.selectAll();break;case wijmo_1.Key.Up:case wijmo_1.Key.Down:if(!this.isDroppedDown&&this.value&&this._canChangeValue()&&this.isEditable){const e=this._tbx,i=e.selectionStart,s=e.selectionEnd,o=t.keyCode==wijmo_1.Key.Up?1:-1;let n=wijmo_1.culture.Globalize.calendar.patterns[this.format];null==n&&(n=this.format);const a=n.match(wijmo_1.getSpecialCharsRegex());if(s-i==e.value.length)super._keydown(t);else{if(!(1==o&&(null===this.max||this.getSeconds(this.value)<this.getSeconds(this.max))||-1==o&&(null===this.min||this.getSeconds(this.value)>this.getSeconds(this.min))))return;this._updateTimeValue(o,a,n)}t.preventDefault()}}}super._keydown(t)}_updateTimeValue(t,e,i){const s=this._tbx,o=s.selectionStart,n=s.value;let a=this.value,l={},h={},r=0,_=0,d=0,u=[],m=[];const c=s.value.match(wijmo_1.getSpecialCharsRegex());if(null==e||null==c){u=[this.format];m=["0"];e=[""]}else{e.forEach((t,s)=>{const o=t.replaceAll('"',""),a=i.substring(r),d=n.substring(_),u=a.indexOf(t),m=d.indexOf(o);let c=a.substring(0,u);l[c]=r;h[c]=_;r=r+u+t.length;_=_+m+o.length;if(s==e.length-1&&-1!=m){c=i.substring(r);l[c]=r;h[c]=_}});u=Object.keys(l);m=Object.values(h)}const p=m.filter(t=>o>=parseInt(t.toString()));p.length>0&&(d=p.length-1);const w=u[d];-1!=w.indexOf("h")||-1!=w.indexOf("H")?a=wijmo_1.DateTime.addHours(this.value,t):-1!=w.indexOf("m")?a=wijmo_1.DateTime.addMinutes(this.value,t):-1!=w.indexOf("s")?a=wijmo_1.DateTime.addSeconds(this.value,t):-1!=w.indexOf("t")&&(a=this.value.getHours()>=12?wijmo_1.DateTime.addHours(this.value,-12):wijmo_1.DateTime.addHours(this.value,12));a.getDate()!=(new Date).getDate()&&(a=wijmo_1.DateTime.fromDateTime(new Date,a));this.value=a;this._reselectText(e,d)}_reselectText(t,e){const i=this._getText(),s=this._tbx;let o=0,n=-1,a=-1;t.forEach((t,s)=>{const l=t.replaceAll('"',""),h=i.substring(o),r=h.indexOf(l),_=h.substring(0,r),d=""==_?h.length:_.length;if(s==e&&-1==n){n=o;a=n+d}o=o+r+l.length});if(-1==n){n=o;a=s.value.length}wijmo_1.setSelectionRange(s,n,a)}_commitText(t,e){if(this.text||this.isRequired){const t=this.value?wijmo_1.Globalize.format(this.value,this.format):"";if(this.text!=t){const i=this.selectedItem&&this.selectedItem.value?this.selectedItem.value:wijmo_1.Globalize.parseDate(this.text,this.format,this.value),s=this._shouldRaiseInvalidInput(e);if(i){!wijmo_1.DateTime.sameTime(i,this._clamp(i))?s&&this.onInvalidInput(new wijmo_1.CancelEventArgs)&&(this.value=wijmo_1.DateTime.fromDateTime(this.value,i)):this.value=wijmo_1.DateTime.fromDateTime(this.value,i)}else s&&this.onInvalidInput(new wijmo_1.CancelEventArgs)&&(this.text=t)}}else this.value=null}_copy(t,e){if("text"===t){(e||"").toString()!==this.text&&this._setText(e,!0);return!0}return!1}getAriaLabelForScreenReader(){return wijmo_1.culture.InputTime.ariaLabels.inputTime}_input(t){this._draggingText&&(""===this.text?this._emptyValueAction=!0:this._emptyValueAction=!1);this._updateDropDownWhenInput();this._setText(""!=this._textIsComposing?this._textIsComposing:this.text,!1);""!=this.text&&(this._emptyValueAction=!1);this._draggingText=!1}}InputTime._ctrlTemplate="";exports.InputTime=InputTime;wijmo_1._addCultureInfo("InputDateTime",{ariaLabels:{inputDateTimeInput:"InputDateTime Input",tglDate:"Toggle Calendar",tglTime:"Toggle Time List"}});class InputDateTime extends InputDate{constructor(t,e){super(t);this._inputAriaLabel=wijmo_1.culture.InputDateTime.ariaLabels.inputDateTimeInput;wijmo_1.addClass(this.hostElement,exports.InputDateTimeClsNames.hostElement);const i=wijmo_1.culture.InputDateTime.ariaLabels;wijmo_1.setAriaLabel(this._btn,i.tglDate);wijmo_1.setAttribute(this._btn,"aria-haspopup","dialog");wijmo_1.setAttribute(this._btn,"aria-expanded",!1);this._updateInputAriaLabel();this.value=new Date;this.format="g";this.isDroppedDownChanged.addHandler(this.inputDateTimeIsDroppedDownChanged,this);this._inputTime=new InputTime(document.createElement("div"),{valueChanged:t=>{const e=this.rangeEnd;this.value=wijmo_1.DateTime.fromDateTime(this.value,t.value);this.calendar._rngMode()&&e&&(this.rangeEnd=wijmo_1.DateTime.fromDateTime(e,t.value))},isDroppedDownChanged:t=>{t.listBox.containsFocus()&&this.inputElement.focus();this._selectAll();this._updateTbxAria();this.inputDateTimeIsDroppedDownChanged()},keyActionPrintCharacters:0,keyActionTab:0});this._inputTime.dropDown.id=wijmo_1.getUniqueId(this.hostElement.id+"_dropdown");const s=this.addEventListener.bind(this);this._btnTm=this.hostElement.querySelector('[wj-part="btn-tm"]');s(this._btnTm,"mousedown",t=>{this._isTouchMoved()||this._btnclick(t)});wijmo_1.setAriaLabel(this._btnTm,i.tglTime);wijmo_1.setAttribute(this._btnTm,"aria-haspopup","listbox");wijmo_1.setAttribute(this._btnTm,"aria-expanded",!1);this._ddDate=this._dropDown;this._ddTime=this._inputTime.dropDown;const o=this._ddTime;s(o,"keydown",this._keydown.bind(this),!0);s(o,"blur",()=>{this._updateFocusState()},!0);s(o,"click",t=>{t.defaultPrevented||t.target!=o&&this.hostElement.focus()},!0);this.initialize(e);this._tbx.value!==this._oldText&&this._commitText()}static get controlTemplate(){InputDateTime._ctrlTemplate||(InputDateTime._ctrlTemplate=`<div class="${wijmo_1.ControlClsNames.template}"><div class="${exports.InputClsNames.input}"><div class="${exports.InputClsNames.inputGroup} ${exports.InputClsNames.inputBtnVisible}"><input wj-part="input" type="text" class="${wijmo_1.InputFormElementsClsNames.formControl}"/><span class="${exports.InputClsNames.inputGroupBtn}"><button wj-part="btn" class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1"><span class=${wijmo_1.GlyphClsNames.calendar}></span></button><button wj-part="btn-tm" class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1"><span class=${wijmo_1.GlyphClsNames.clock}></span></button></span></div></div><div wj-part="dropdown" class="${wijmo_1.ControlClsNames.content} ${exports.DropDownClsNames.dropDownPanel}"></div></div>`);return InputDateTime._ctrlTemplate}static set controlTemplate(t){InputDateTime._ctrlTemplate=t}get timeMin(){return this._inputTime.min}set timeMin(t){this._inputTime.min=t}get timeMax(){return this._inputTime.max}set timeMax(t){this._inputTime.max=t}get timeFormat(){return this._inputTime.format}set timeFormat(t){this._inputTime.format=t}get timeStep(){return this._inputTime.step}set timeStep(t){this._inputTime.step=t;this._btnTm.style.display=wijmo_1.isNumber(t)&&t>0?"":"none"}get inputTime(){return this._inputTime}_fromDateTime(t){return t}_btnclick(t){this._setDropDownByEvent(t);super._btnclick(t)}dispose(){this._setDropdown(this._ddDate);super.dispose();this._inputTime.dispose()}refresh(t=!0){this._inputTime.refresh();super.refresh(t)}_updateBtn(){super._updateBtn();if(this._btnTm){this._btnTm.tabIndex=this._btn.tabIndex;this._btnTm.parentElement.style.display=this._btn.style.display}}_setDropdown(t){if(this._dropDown==t)return!1;this.isDroppedDown&&(this.isDroppedDown=!1);var e=this.dropDownCssClass;this.dropDownCssClass="";this._dropDown=t;this.dropDownCssClass=e;return!0}_updateDropDown(){const t=this._inputTime;if(this._dropDown==t.dropDown){this._commitText();super._updateDropDown();t.isRequired=this.isRequired&&null!=this.value;t.value=this.value;this.isDroppedDown&&t.listBox.showSelection()}else super._updateDropDown()}_mouseWheel(t){if(this.handleWheel&&!t.defaultPrevented&&!this.isDroppedDown&&this.containsFocus()&&null!=this.value&&this._canChangeValue()){let e=this._tbx,i=e.selectionStart,s=e.selectionEnd,o=wijmo_1.clamp(-t.deltaY,-1,1),n=this.value,a=wijmo_1.Globalize.getFullFormat(this.format||wijmo_1.Globalize.DefaultDateFormat);null==a&&(a=this.format);const l=a.match(wijmo_1.getSpecialCharsRegex());if(s-i===e.value.length&&null!=l||this.selectionMode==DateSelectionMode.Range){n=this.selectionMode==DateSelectionMode.Month?wijmo_1.DateTime.addMonths(this.value,o):wijmo_1.DateTime.addDays(this.value,o);this.value=n;const t=this._getText();wijmo_1.setSelectionRange(e,0,t.length)}else(1==o&&(null===this.max||this.value<this.max)||-1==o&&(null===this.min||this.value>this.min))&&this._updateDateTimeValue(o,l,a);t.preventDefault()}}_keydown(t){if(!(t.defaultPrevented||t.altKey||t.ctrlKey||t.metaKey)){if(this._isHiddenEditor())return;switch(t.keyCode){case wijmo_1.Key.Up:case wijmo_1.Key.Down:if(t.keyCode===wijmo_1.Key.Up&&this.keyActionUpArrow===KeyAction.OpenDropdown||t.keyCode===wijmo_1.Key.Down&&this.keyActionDownArrow===KeyAction.OpenDropdown)break;if(!this.isDroppedDown&&this.value&&this._canChangeValue()){const e=this._tbx,i=e.selectionStart,s=e.selectionEnd,o=(e.value,t.keyCode==wijmo_1.Key.Up?1:-1);let n=this.value,a=wijmo_1.Globalize.getFullFormat(this.format||wijmo_1.Globalize.DefaultDateFormat);if("g"==this.format&&a.includes("г")){const t=/"г." /;a=a.replace(t,"")}null==a&&(a=this.format);const l=a.match(wijmo_1.getSpecialCharsRegex());if(s-i===e.value.length&&null!=l||this.selectionMode==DateSelectionMode.Range){n=this.selectionMode==DateSelectionMode.Month?wijmo_1.DateTime.addMonths(this.value,o):wijmo_1.DateTime.addDays(this.value,o);this.value=n;const t=this._getText();wijmo_1.setSelectionRange(e,0,t.length)}else(1==o&&(null===this.max||this.value<this.max)||-1==o&&(null===this.min||this.value>this.min))&&this._updateDateTimeValue(o,l,a);t.preventDefault()}break;case wijmo_1.Key.Enter:case wijmo_1.Key.Space:{const e=t.target;if(e===this._btn||e===this._btnTm){this._setDropDownByEvent(t);this.isDroppedDown=!0;t.preventDefault()}}}}if(!t.defaultPrevented&&t.altKey&&this.isDroppedDown&&("ArrowUp"===t.key||"ArrowDown"===t.key)){const e=this.dropDown===this._ddDate?this._ddTime:this._ddDate;this._setDropdown(e);this.isDroppedDown=!0;t.preventDefault()}super._keydown(t)}_updateDateTimeValue(t,e,i){const s=this._tbx,o=s.selectionStart,n=s.value;let a=this.value,l={},h={},r=0,_=0,d=0,u=[],m=[];const c=s.value.match(wijmo_1.getSpecialCharsRegex());if(null==e||null==c){u=[this.format];m=["0"];e=[""]}else{e.forEach((t,s)=>{const o=t.replaceAll('"',""),a=i.substring(r);let d=n.substring(_);if(d.startsWith("г.")){d=d.replace("г. ","");_+="г. ".length}const u=a.indexOf(t);let m=d.indexOf(o);if(-1==m){const t=c[s];m=d.indexOf(t)}let p=a.substring(0,u);if(""!=p){l[p]=r;h[p]=_}r=r+u+t.length;_=_+m+o.length;if(s==e.length-1&&-1!==m){p=i.substring(r);l[p]=r;h[p]=_}});u=Object.keys(l);m=Object.values(h)}const p=m.filter(t=>o>=parseInt(t.toString()));p.length>0&&(d=p.length-1);let w=new Date,g=new Date;null!==this.timeMax&&(w=new Date(this.value.getFullYear(),this.value.getMonth(),this.value.getDate(),this.timeMax.getHours(),this.timeMax.getMinutes(),this.timeMax.getSeconds()));null!==this.timeMin&&(g=new Date(this.value.getFullYear(),this.value.getMonth(),this.value.getDate(),this.timeMin.getHours(),this.timeMin.getMinutes(),this.timeMin.getSeconds()));const b=u[d];if(-1!=b.indexOf("d"))a=wijmo_1.DateTime.addDays(this.value,t);else if(-1!=b.indexOf("M"))a=wijmo_1.DateTime.addMonths(this.value,t);else if(-1!=b.indexOf("y"))a=wijmo_1.DateTime.addYears(this.value,t);else if(1==t&&(null===this.timeMax||this.value<w)||-1==t&&(null===this.timeMin||this.value>g)){-1!=b.indexOf("h")||-1!=b.indexOf("H")?a=wijmo_1.DateTime.addHours(this.value,t):-1!=b.indexOf("m")?a=wijmo_1.DateTime.addMinutes(this.value,t):-1!=b.indexOf("s")?a=wijmo_1.DateTime.addSeconds(this.value,t):-1!=b.indexOf("t")&&(a=this.value.getHours()>=12?wijmo_1.DateTime.addHours(this.value,-12):wijmo_1.DateTime.addHours(this.value,12));(this.timeMax&&a>w||this.timeMin&&a<g)&&(a=this.value)}this.value=a;this._reselectText(e,d)}_commitText(t,e){let i=this._tbx.value,s=wijmo_1.Globalize.parseDate(i,this.format,this.value),o=new Date,n=new Date;if(s){null!==this.timeMax&&(o=new Date(s.getFullYear(),s.getMonth(),s.getDate(),this.timeMax.getHours(),this.timeMax.getMinutes(),this.timeMax.getSeconds()));null!==this.timeMin&&(n=new Date(s.getFullYear(),s.getMonth(),s.getDate(),this.timeMin.getHours(),this.timeMin.getMinutes(),this.timeMin.getSeconds()));(this.timeMax&&s>o||this.timeMin&&s<n)&&(this.value=wijmo_1.DateTime.fromDateTime(s,this.value));super._commitText(t,e)}else super._commitText(t,e)}_updateTbxAria(){super._updateTbxAria();if(!this._inputTime)return;const t=this._tbx,e=this._inputTime._lbx,i=e.selectedIndex,s=e.hostElement?e.hostElement.children:null,o=i>-1&&i<s.length?s[i].id:null;wijmo_1.setAttribute(t,"aria-activedescendant",this.isDroppedDown&&this.dropDown===this._ddTime&&o&&o.length?o:null);wijmo_1.setAttribute(t,"aria-haspopup",this.inputTime.isDroppedDown?"listbox":"dialog")}get keyActionTab(){return this._keyActionTab}set keyActionTab(t){const e=wijmo_1.asEnum(t,TabKeyAction);this._keyActionTab=e;this.inputTime.keyActionTab=e}_setDropDownByEvent(t){const e=wijmo_1.closest(t.target,"button")==this._btn?this._ddDate:this._ddTime;this._setDropdown(e)}_updateBtnAria(){const t=this._btn,e=this.isDroppedDown,i=this.dropDown?this.dropDown.id:null,s=this._btnTm,o=e&&this.dropDown===this._ddDate,n=e&&this.dropDown===this._ddTime;wijmo_1.setAttribute(t,"aria-expanded",!!o);wijmo_1.setAttribute(t,"aria-controls",o?i:null);wijmo_1.setAttribute(s,"aria-expanded",!!n);wijmo_1.setAttribute(s,"aria-controls",n?i:null)}inputDateTimeIsDroppedDownChanged(){const t=this.dropDown===this._ddDate?this._btn:this._btnTm;wijmo_1.toggleClass(t,exports.InputDateTimeClsNames.showDropDownButton,this.isDroppedDown)}}InputDateTime._ctrlTemplate="";exports.InputDateTime=InputDateTime;wijmo_1._addCultureInfo("AutoComplete",{ariaLabels:{autoCompleteInput:"AutoComplete Input",autoComplete:"Auto Complete"}});class AutoComplete extends ComboBox{constructor(t,e){super(t);this._cssMatch=exports.ComboBoxClsNames.stateMatch;this._minLength=2;this._maxItems=6;this._itemCount=0;this._beginsWith=!1;this._delay=wijmo_1.Control._SEARCH_DELAY;this._selItems=null;this._query="";this._inCallback=!1;this._srchProps=[];this._oldSelectedIndex=-1;this._inputElementAriaLabel=wijmo_1.culture.AutoComplete.ariaLabels.autoCompleteInput;this._isBlurInput=!1;wijmo_1.addClass(this.hostElement,exports.AutoCompleteClsNames.hostElement);this._bsCollapse=!1;this.isEditable=!0;this.isRequired=!1;this.listBox.formatItem.addHandler(this._formatListItem,this);this._itemsSourceFnCallbackBnd=this._itemSourceFunctionCallback.bind(this);this.initialize(e);this._updateInputAriaLabel()}static get controlTemplate(){AutoComplete._ctrlTemplate||(AutoComplete._ctrlTemplate=ComboBox.controlTemplate);return AutoComplete._ctrlTemplate}static set controlTemplate(t){AutoComplete._ctrlTemplate=t}get minLength(){return this._minLength}set minLength(t){this._minLength=wijmo_1.asNumber(t,!1,!0)}get beginsWithSearch(){return this._beginsWith}set beginsWithSearch(t){this._beginsWith=wijmo_1.asBoolean(t)}get maxItems(){return this._maxItems}set maxItems(t){this._maxItems=wijmo_1.asNumber(t,!1,!0)}get delay(){return this._delay}set delay(t){this._delay=wijmo_1.asNumber(t,!1,!0)}get searchMemberPath(){return this._srchProp}set searchMemberPath(t){this._srchProp=wijmo_1.asString(t);this._srchProps=t?t.trim().split(/\s*,\s*/):[]}get itemsSourceFunction(){return this._itemsSourceFn}set itemsSourceFunction(t){if(this._itemsSourceFn!==t){this._itemsSourceFn=wijmo_1.asFunction(t);wijmo_1.isFunction(this._itemsSourceFn)&&this.itemsSourceFunction(this.text,this.maxItems,this._itemsSourceFnCallbackBnd)}}get cssMatch(){return this._cssMatch}set cssMatch(t){this._cssMatch=wijmo_1.asString(t)}onSelectedIndexChanged(t){this._settingText||super.onSelectedIndexChanged(t)}_updateTbxAria(){super._updateTbxAria();const t=this._tbx;wijmo_1.setAttribute(t,"aria-autocomplete","list")}_keydown(t){if(!this._isHiddenEditor()){if(!t.defaultPrevented&&this.isDroppedDown)switch(t.keyCode){case wijmo_1.Key.Up:case wijmo_1.Key.Down:this.selectAll()}super._keydown(t)}}_input(t){this._handleDragTextState();this._updateComponentText();this._updateEmptyValueFlag();this._resetDragState()}_commitText(t){if(t&&this._composing&&this.isDroppedDown&&!wijmo_1.isFirefox()&&!wijmo_1.isSafari()&&""==this._textIsComposing){this._isBlurInput=!0;this.isDroppedDown=!1;setTimeout(()=>{this.onLostFocus()},this.delay+1)}t&&!this._composing&&(wijmo_1.isFirefox()||wijmo_1.isSafari())&&wijmo_1.getActiveElement()==this.inputElement&&this.onLostFocus()}_setText(t){if(this._isBlurInput&&0==this.text.length){this._tbx.value=t;this._isBlurInput=!1}this.trimText&&!this.containsFocus()&&"string"==typeof t&&(t=t.trim());if(this._composing&&t!=this._oldText){this._oldText=t;this.onTextChanged()}if(!(this._inCallback||this._settingText||(wijmo_1.isFirefox()||wijmo_1.isSafari())&&this._composing)){this._toSearch||(this._oldSelectedIndex=this.selectedIndex);if(this.selectedIndex>-1&&this._getDisplayText(void 0,void 0,!0)!=t){this._settingText=!0;this.selectedIndex=-1;this._settingText=!1}this._toSearch&&clearTimeout(this._toSearch);if(t!=this._oldText||t!=this.text){"string"!=typeof t&&(t="");const e=this._tbx,i=this._tbx.selectionStart;e.value!=t&&(e.value=t);this._isWheel&&this.containsFocus()&&this._updateInputSelection(i);this._oldText=t;this.onTextChanged();const s=this.collectionView;if(!t&&s){(this._query||this.selectedIndex<0)&&(this.isDroppedDown=!1);this._query=this._rxHighlight=null;s.filter=null;const t=this.itemsSourceFunction;if(wijmo_1.isFunction(t)){this.isDroppedDown=!1;t(this._query,this.maxItems,this._itemsSourceFnCallbackBnd)}if(this.isRequired&&!this.containsFocus()&&!Array.isArray(this._selItems)){const t=this._oldSelectedIndex>-1?this._oldSelectedIndex:0;this.selectedIndex=t}-1==this.selectedIndex&&-1!=this._oldSelectedIndex&&this.onSelectedIndexChanged();return}}if(t!=this._getDisplayText(void 0,void 0,!0)){if(!this.containsFocus()&&this.trimText)if(this.isRequired&&!this.text.trim().length){const t=this._oldSelectedIndex>-1?this._oldSelectedIndex:0;this.selectedIndex=t}else this._tbx.value=this._tbx.value.trim();const e=!this.containsFocus()&&t.length<this.minLength;this.collectionView&&!this.containsFocus()&&(this.collectionView.filter=null);const i=this.indexOf(t,!0),s=this.indexOf(t,!1);if(e)return;if(!this.containsFocus()&&(!t||this.trimText&&!this.text.trim().length||null!=this.collectionView&&i<0&&s<0)&&this.isRequired&&!this.isEditable){const t=this._oldSelectedIndex>-1?this._oldSelectedIndex:wijmo_1.hasItems(this.collectionView)?0:-1;t!=this.selectedIndex&&(this.selectedIndex=t)}else if((Array.isArray(this.itemsSource)||"function"==typeof this.itemsSourceFunction)&&!this.containsFocus()&&t&&i<0&&(s<0||s!=i)&&!this.isRequired&&!this.isEditable){this._tbx.value="";this.selectedIndex=-1;this.onSelectedIndexChanged()}else{const e=this._delay>0?setTimeout:(t,e)=>t();this._pendingSearchFn=()=>{this._toSearch=null;let e=this.text;if(!this._composing&&e.trim().length>=this._minLength&&e!=this._query){this._query=e.trim();e=wijmo_1.escapeRegExp(e);const t=wijmo_1.escapeHtml(e.trim());let i=this.caseSensitiveSearch?"":"i";this._beginsWith||(i+="g");this._rxSrch=this._beginsWith?new RegExp(`^${e}.*`,i):new RegExp(`(?=.*${e.replace(/ /g,")(?=.*")})`,i);this._rxHighlight=this._beginsWith?new RegExp("^"+e,i):new RegExp(`(${t.replace(/\s+/g,"|")})`,i);const s=this.itemsSourceFunction;wijmo_1.isFunction(s)?s(this._query,this.maxItems,this._itemsSourceFnCallbackBnd):this._updateItems()}!t.trim().length&&!this.isEditable&&this.indexOf(t,!0)<0&&(this.selectedIndex=-1);-1==this.selectedIndex&&-1!=this._oldSelectedIndex&&this.onSelectedIndexChanged()};this._toSearch=e(this._pendingSearchFn,this._delay)}}else""===this._tbx.value&&t&&(this._tbx.value=t)}}onLostFocus(t){let e=!1;if(this.isRequired&&!this.isEditable&&this.text&&this.text.length>=this.minLength){e=!0;let t=this.indexOf(this.text,!0);t<0&&(t=this.indexOf(this.text,!1));t>-1&&(this._oldSelectedIndex=t);t<0&&(this._oldSelectedIndex=0)}if(this._toSearch){clearTimeout(this._toSearch);this.text!==this._getDisplayText(void 0,void 0,!0)&&this._pendingSearchFn&&this._pendingSearchFn();e=!1}const i=this.collectionView;if(i&&0===i.items.length){this._oldFilter=i.filter;i.filter=null}super.onLostFocus(t,this._oldSelectedIndex,e)}onGotFocus(t){this._toSearch||(this._oldSelectedIndex=this.selectedIndex);super.onGotFocus(t)}reset(){this._oldSelectedIndex=-1}_itemSourceFunctionCallback(t){this._inCallback=!0;const e=wijmo_1.asCollectionView(t||[]);e.moveCurrentToPosition(-1);this.itemsSource=e;this._inCallback=!1;if(this.containsFocus()){const t=this._tbx,e=t.selectionStart,i=t.selectionEnd,s=this.collectionView;this.isDroppedDown=null!=s&&s.items.length>0;wijmo_1.setSelectionRange(t,e,i);this.refresh()}}onIsDroppedDownChanged(t){super.onIsDroppedDownChanged(t);if(this.containsFocus()&&!this.isTouching){const t=this.collectionView;if(this.selectedIndex<0&&t){const e=t.items,i=this.text;1==e.length&&e[0]==i?this.selectedIndex=0:wijmo_1.setSelectionRange(this._tbx,i.length)}}this._query=""}_updateItems(){const t=this.collectionView;if(t){this._inCallback=!0;t.beginUpdate();this._itemCount=0;t.filter=this._filter.bind(this);t.moveCurrentToPosition(-1);t.endUpdate();this._inCallback=!1;let e=t.items.length,i=this._tbx,s=i.selectionStart,o=i.selectionEnd;this.text.trim()||(e=0);this.isDroppedDown=e>0&&this.containsFocus();e||this.isEditable||(this.selectedIndex=-1);if(1==e&&this.selectedIndex<0){let e=this._getItemText(t.items[0],!1),s=i.value;if(!this.caseSensitiveSearch){e=e.toLowerCase();s=s.toLowerCase()}(e==s||this.trimText&&e.trim()==s)&&(this.selectedIndex=0)}this.isDroppedDown&&wijmo_1.setSelectionRange(i,s,o);this.refresh()}}_filter(t){if(this._itemCount>=this._maxItems&&this._query)return!1;let e=[this._getItemText(t,!1)];this._srchProps&&this._srchProps.forEach(i=>{const s=t[i];null!=s&&e.push(s)});this.isContentHtml&&(e=e.map(t=>t.replace(/(<[^>]*>|&[^;]*;)/g,"")));for(let t=0;t<e.length;t++)if(this._rxSrch.test(e[t])){this._itemCount++;return!0}return!1}_getItemText(t,e){let i=t?t.toString():"",s=e&&this.headerPath?this._pathHdr:this._lbx._pathDisplay;if(s){i=s.getValue(t);i=null!=i?i.toString():""}return i}_formatListItem(t,e){this._cssMatch&&this._rxHighlight&&this._query&&(e.item.innerHTML=e.item.innerHTML.replace(this._rxHighlight,(t,e,i,s)=>this._enclosed(s,i,"<",">")||this._enclosed(s,i,"&",";")?t:`<spanclass="${this._cssMatch}">${t}</span>`))}_enclosed(t,e,i,s){for(let o=e;o>=0&&t[o]!=s;o--)if(t[o]==i)for(let o=e;o<t.length&&t[o]!=i;o++)if(t[o]==s)return!0;return!1}_wheel(t){super._wheel(t)}getAriaLabelForScreenReader(){return wijmo_1.culture.AutoComplete.ariaLabels.autoComplete}_hasCustomFormatItem(){return this.formatItem.getHandler.length>1}}AutoComplete._ctrlTemplate="";exports.AutoComplete=AutoComplete;wijmo_1._addCultureInfo("MultiAutoComplete",{ariaLabels:{multiAutoCompleteInput:"MultiAutoComplete Input",multiAutoComplete:"MultiAutoComplete",multiAutoCompleteHelperInput:"MultiAutoComplete Helper Input",remove:"Remove"}});class MultiAutoComplete extends AutoComplete{constructor(t,e){super(t);this._maxSelItems=null;this._lastInputValue="";this._selPath=new wijmo_1.Binding(null);this._notAddItm=!1;this._inputElementAriaLabel=wijmo_1.culture.MultiAutoComplete.ariaLabels.multiAutoCompleteInput;this._helperInputElementAriaLabel=wijmo_1.culture.MultiAutoComplete.ariaLabels.multiAutoCompleteHelperInput;this._ariaLabelledby=null;this.selectedItemsChanged=new wijmo_1.Event;wijmo_1.addClass(this.hostElement,exports.MultiAutoCompleteClsNames.hostElement);this._wjTpl=this.hostElement.querySelector("."+wijmo_1.ControlClsNames.template);this._wjInput=this.hostElement.querySelector("."+exports.InputClsNames.input);this.showDropDownButton=!1;this._selItems=[];this.initialize(e);this.addEventListener(this.hostElement,"keyup",this._keyup.bind(this),!0);this.addEventListener(window,"resize",this._adjustInputWidth.bind(this));this.addEventListener(this._tbx,"focus",()=>{this._itemOff()});this._addHelperInput();this._addScreenReaderHelper();this._initSeltems();this.listBox.itemsChanged.addHandler(()=>{if(-1===this.selectedIndex)return;const t=this.collectionView;(t&&("CollectionView"==t.constructor.name||"ODataVirtualCollectionView"==t.constructor.name)||t.virtualization)&&(this.selectedIndex=-1)});this._refreshHeader();this._updateTabIndex();this._updateInputAriaLabel()}static get controlTemplate(){MultiAutoComplete._ctrlTemplate||(MultiAutoComplete._ctrlTemplate=AutoComplete.controlTemplate);return MultiAutoComplete._ctrlTemplate}static set controlTemplate(t){MultiAutoComplete._ctrlTemplate=t}set showDropDownButton(t){this._showBtn=!1}get maxSelectedItems(){return this._maxSelItems}set maxSelectedItems(t){if(this._maxSelItems!=t){this._maxSelItems=wijmo_1.asNumber(t,!0);this._updateMaxItems();this._refreshHeader();this._clearSelIndex()}}get selectedMemberPath(){return this._selPath.path}set selectedMemberPath(t){if((t=wijmo_1.asString(t))!==this.selectedMemberPath){this._selPath.path=t;this._initSeltems();this._refreshHeader();this.onSelectedItemsChanged()}}get selectedItems(){return this._selItems}set selectedItems(t){t=Array.from(new Set(t));let e=this._selItems===t;e||null==this._selItems||null==t||this._selItems.length!==t.length||(e=this._selItems.every((e,i)=>e===t[i]));this._selItems=wijmo_1.asArray(t);if(!e){if(this.selectedMemberPath&&""!==this.selectedMemberPath&&this._selItems)for(let t=0;t<this._selItems.length;t++){const e=this._selItems[t];this._setSelItem(e,!1)}this._updateMaxItems();this.onSelectedItemsChanged();this._refreshHeader();this._clearSelIndex()}}get ariaLabelledBy(){return this._ariaLabelledby}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this._tbx,t,this._updateInputAndListBoxAriaLabel.bind(this))}onSelectedItemsChanged(t){this.selectedItemsChanged.raise(this,t)}onIsDroppedDownChanged(t){!this.isDroppedDown&&this.selectedIndex>-1&&!this._notAddItm&&this._addItem(!0);this._notAddItm=!1;super.onIsDroppedDownChanged(t)}refresh(t=!0){super.refresh(t);if(this.hostElement){this._initSeltems();this.isDroppedDown||this._refreshHeader()}}_keydown(t){if(!this.isReadOnly){if(!t.defaultPrevented)switch(t.keyCode){case wijmo_1.Key.Back:this._lastInputValue=this._tbx.value;break;case wijmo_1.Key.Enter:this._itemOff();this._addItem(!0);wijmo_1.isIE()&&wijmo_1.setSelectionRange(this._tbx,this._tbx.textContent.length,this._tbx.textContent.length);break;case wijmo_1.Key.Tab:if(this.isDroppedDown){this._addItem(!1);this._tbx.value="";this._lbx.selectedIndex=-1;this.isDroppedDown=!1;this.containsFocus()||this.focus();t.preventDefault()}else this._updateFocus();break;case wijmo_1.Key.Space:if(""!==this._tbx.value)return;if(!this.isDroppedDown&&!this._tbx.disabled){this.isDroppedDown=!0;this._clearSelIndex()}break;case wijmo_1.Key.Escape:this.isDroppedDown&&(this._notAddItm=!0);break;case wijmo_1.Key.Left:this._itemOn(!this.rightToLeft);break;case wijmo_1.Key.Right:this._itemOn(!!this.rightToLeft);break;case wijmo_1.Key.Up:case wijmo_1.Key.Down:const e=wijmo_1.getActiveElement();if(t.altKey){if(this._tbx==e){this.isDroppedDown=!this.isDroppedDown;this.isDroppedDown||this._tbx.focus();t.preventDefault();return}}else if(this._tbx!==e)return;default:if(t.keyCode===wijmo_1.Key.Back||t.keyCode===wijmo_1.Key.Delete)return;this._itemOff();null!=this._maxSelItems&&this._selItems.length>=this._maxSelItems&&t.preventDefault()}this._tbx.disabled||super._keydown(t)}}_updateState(){super._updateState();this._wjTpl&&(wijmo_1.hasClass(this.hostElement,wijmo_1.ControlStateClsNames.focused)||this._itemOff())}_keyup(t){if(!this.isReadOnly&&!t.defaultPrevented)switch(t.keyCode){case wijmo_1.Key.Back:0===this._tbx.value.length&&0===this._lastInputValue.length&&this._delItem(!1);break;case wijmo_1.Key.Delete:this._delItem(!0)}}_addHelperInput(){const t=document.createElement("input");t.type="text";t.tabIndex=-1;t.className=exports.MultiAutoCompleteClsNames.tokenHelper;t.readOnly=!0;wijmo_1.setAttribute(t,"aria-label",this._helperInputElementAriaLabel);wijmo_1.setAttribute(t,"role","textbox");this._wjTpl.insertBefore(t,this._wjInput);this._helperInput=t}_addScreenReaderHelper(){const t=document.createElement("div");t.tabIndex=-1;t.className=exports.MultiAutoCompleteClsNames.screenReaderOnly;wijmo_1.setAttribute(t,"aria-live","polite");this._wjTpl.insertBefore(t,this._wjInput);this._screenReaderHelper=t}_refreshHeader(){const t=this.hostElement.querySelectorAll("."+exports.MultiAutoCompleteClsNames.token);for(let e=0;e<t.length;e++)this._wjTpl.removeChild(t[e]);const e=this.selectedItems;if(e&&0!==e.length){for(let t=0;t<e.length;t++)this._insertToken(e[t]);this._wjInput.style.cssFloat=this.rightToLeft?"right":"left";this._adjustInputWidth()}else{this._wjInput.style.cssFloat=this.rightToLeft?"right":"left";this._adjustInputWidth()}}_insertToken(t){let e=this._getItemText(t,!0);this.isContentHtml||(e=wijmo_1.escapeHtml(e));this._wjTpl.insertBefore(this._createItem(e),this._wjInput)}_updateMaxItems(){null!=this._maxSelItems&&this._selItems&&this._selItems.length>this._maxSelItems&&(this._selItems=this._selItems.slice(0,this._maxSelItems))}_updateFocus(){const t=this._wjTpl.querySelector("."+MultiAutoComplete._clsActive);if(t){wijmo_1.removeClass(t,MultiAutoComplete._clsActive);setTimeout(()=>{this._tbx.focus()})}else this._clearSelIndex()}_addItem(t){if(this.selectedItems.indexOf(this.selectedItem)>-1)this._clearSelIndex();else if(this.selectedIndex>-1){this._updateSelItems(this.selectedItem,!0);this._refreshHeader();t&&this._clearSelIndex();this._disableInput(!0)}}_delItem(t){const e=this._wjTpl.querySelector("."+MultiAutoComplete._clsActive);let i,s,o=!1;if(t&&!e)return;if(e){s=this._getItemIndex(e);if(s>-1){i=this._selItems[s];o=!0}}else if(this._selItems.length>0){i=this._selItems[this._selItems.length-1];o=!0}const n=this._getItemText(i,!0),a=wijmo_1.culture.MultiAutoComplete.ariaLabels.remove;this._screenReaderHelper.textContent=`${a} ${n}`;if(o){this._updateSelItems(i,!1);this._refreshHeader();this._clearSelIndex();this._disableInput(!1)}this._tbx.focus()}_updateSelItems(t,e){if(e){this._selItems&&0!==this._selItems.length||(this._selItems=[]);if(null!=this._maxSelItems&&this._selItems.length>=this._maxSelItems)return;this._selItems.push(t)}else{const e=this._selItems.indexOf(t);this._selItems.splice(e,1)}this._hasSelectedMemeberPath()&&this._setSelItem(t,e);this.onSelectedItemsChanged()}_createItem(t){const e=document.createElement("div"),i=document.createElement("span"),s=document.createElement("span");e.appendChild(i);e.appendChild(s);e.id=wijmo_1.getSafeUniqueId(t);wijmo_1.setAttribute(e,"aria-label",t);wijmo_1.setAttribute(e,"role","button");e.className=exports.MultiAutoCompleteClsNames.token;i.className=exports.MultiAutoCompleteClsNames.tokenLabel;i.innerHTML=t;s.className=exports.MultiAutoCompleteClsNames.tokenClose;s.tabIndex=-1;s.innerHTML="×";e.style.cssFloat=this.rightToLeft?"right":"left";this.addEventListener(e,"click",t=>{this._helperInput.focus();wijmo_1.setAttribute(this._helperInput,"aria-activedescendant",e.id);const i=this._wjTpl.querySelector("."+MultiAutoComplete._clsActive);i&&wijmo_1.removeClass(i,MultiAutoComplete._clsActive);wijmo_1.addClass(e,MultiAutoComplete._clsActive);t.stopPropagation();t.preventDefault()});this.addEventListener(s,"click",t=>{if(this.isReadOnly)return;const i=this._getItemIndex(e);if(i>-1){const t=this._selItems[i];this._updateSelItems(t,!1)}this._wjTpl.removeChild(e);this._adjustInputWidth();this._disableInput(!1);this._tbx.focus();t.stopPropagation()});return e}_itemOn(t){const e=wijmo_1.getActiveElement();let i,s,o;if(this._tbx!=e||0===this._tbx.value.length){i=this._wjTpl.querySelectorAll("."+exports.MultiAutoCompleteClsNames.token);if(0!==i.length){s=this._wjTpl.querySelector("."+MultiAutoComplete._clsActive);o=this._getItemIndex(s);if(t){if(0===o)return;if(-1===o){wijmo_1.addClass(i[i.length-1],MultiAutoComplete._clsActive);this._helperInput.focus();wijmo_1.setAttribute(this._helperInput,"aria-activedescendant",i[i.length-1].id)}else{wijmo_1.removeClass(s,MultiAutoComplete._clsActive);wijmo_1.addClass(i[o-1],MultiAutoComplete._clsActive);this._helperInput.focus();wijmo_1.setAttribute(this._helperInput,"aria-activedescendant",i[o-1].id)}}else if(!t){if(-1===o)return;if(o!==i.length-1){wijmo_1.removeClass(s,MultiAutoComplete._clsActive);wijmo_1.addClass(i[o+1],MultiAutoComplete._clsActive);this._helperInput.focus();wijmo_1.setAttribute(this._helperInput,"aria-activedescendant",i[o+1].id)}else{wijmo_1.removeClass(s,MultiAutoComplete._clsActive);this._tbx.focus();wijmo_1.setAttribute(this._helperInput,"aria-activedescendant")}}}}}_itemOff(){const t=this._wjTpl.querySelector("."+MultiAutoComplete._clsActive);t&&wijmo_1.removeClass(t,MultiAutoComplete._clsActive)}_initSeltems(){if(this.selectedMemberPath){this._selItems.splice(0,this._selItems.length);const t=this.collectionView;if(t)for(let e=0;e<t.sourceCollection.length;e++)this._getSelItem(e)&&this._selItems.push(t.sourceCollection[e])}}_getSelItem(t){const e=this.collectionView,i=e?e.sourceCollection[t]:null;return!(!wijmo_1.isObject(i)||!this.selectedMemberPath)&&this._selPath.getValue(i)}_setSelItem(t,e){this.itemsSource;wijmo_1.isObject(t)&&this._selPath.getValue(t)!=e&&this._selPath.setValue(t,e)}_clearSelIndex(){this.selectedIndex=-1}_hasSelectedMemeberPath(){return this.selectedMemberPath&&""!==this.selectedMemberPath}_disableInput(t){if(null!=this._maxSelItems)if(this._selItems.length<this._maxSelItems){this._tbx.disabled=!1;this._tbx.focus()}else{this._tbx.disabled=!0;this.hostElement.focus()}}_adjustInputWidth(){this._tbx.style.width="60px";let t,e=wijmo_1.getElementRect(this.hostElement),i=wijmo_1.getElementRect(this._tbx),s=getComputedStyle(this._tbx),o=parseInt(s.paddingLeft,10),n=parseInt(s.paddingRight,10);t=this.rightToLeft?i.left+i.width-e.left-o-n-8:e.left+e.width-i.left-o-n-8;this._tbx.style.width=t+"px";this._tbx.placeholder?this._tbx.style.minWidth="max-content":this._tbx.style.minWidth=""}_getItemIndex(t){const e=this.hostElement.querySelectorAll("."+exports.MultiAutoCompleteClsNames.token);for(let i=0;i<e.length;i++)if(t===e[i])return i;return-1}_setIsDisabled(t){super._setIsDisabled(t);this._updateTabIndex()}_setTabOrder(t){this._orgTabIndex=t;this._updateTabIndex()}_updateTabIndex(){const t=this.hostElement;this._tbx.tabIndex=this.isDisabled?-1:this._orgTabIndex;t.tabIndex=-1}}MultiAutoComplete._clsActive=exports.MultiAutoCompleteClsNames.tokenActive;MultiAutoComplete._ctrlTemplate="";exports.MultiAutoComplete=MultiAutoComplete;wijmo_1._registerModule("wijmo.input",selfModule);
14
+ "use strict";var __importStar=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.hasOwnProperty.call(t,i)&&(e[i]=t[i]);e.default=t;return e};Object.defineProperty(exports,"__esModule",{value:!0});const wijmo_1=require("@mescius/wijmo"),selfModule=__importStar(require("@mescius/wijmo.input"));exports.AutoCompleteClsNames={hostElement:"wj-autocomplete"};exports.CalendarClsNames={buttonsOutside:"wj-btns-outside",calendarHeader:"wj-calendar-header",calendarMonth:"wj-calendar-month",calendarMultiMonth:"wj-calendar-multimonth",calendarOuter:"wj-calendar-outer",calendarYear:"wj-calendar-year",dayOtherMonth:"wj-day-othermonth",dayToday:"wj-day-today",dayWeekend:"wj-day-weekend",header:"wj-header",hostElement:"wj-calendar",monthSelect:"wj-month-select",weekAfter:"wj-week-after",weekBefore:"wj-week-before",yearPicker:"wj-yearpicker",focused:"wj-state-focus",selectedYear:"wj-select-year",confirmationButtonContainer:"wj-calendar-confirmation-button-container",button:"wj-calendar-button"};exports.CollectionViewNavigatorClsNames={hostElement:"wj-collectionview-navigator",pager:"wj-pager"};exports.ColorPickerClsNames={colorBox:"wj-colorbox",hostElement:"wj-colorpicker"};exports.ComboBoxClsNames={hostElement:"wj-combobox",stateMatch:"wj-state-match"};exports.DropDownClsNames={dropDownPanel:"wj-dropdown-panel",hostElement:"wj-dropdown"};exports.InputClsNames={input:"wj-input",inputBtnVisible:"wj-input-btn-visible",inputGroup:"wj-input-group",inputGroupBtn:"wj-input-group-btn"};exports.InputColorClsNames={hostElement:"wj-inputcolor",inputColorBox:"wj-inputcolorbox"};exports.InputDateClsNames={hostElement:"wj-inputdate",inputDateDropDown:"wj-inputdate-dropdown",inputDateDropDownContainer:"wj-inputdate-dropdown-container"};exports.InputDateRangeClsNames={hostElement:"wj-inputdaterange"};exports.InputDateTimeClsNames={hostElement:"wj-inputdatetime",showDropDownButton:"wj-show-dropdown-button"};exports.InputMaskClsNames={hostElement:"wj-inputmask"};exports.InputNumberClsNames={hostElement:"wj-inputnumber",numeric:"wj-numeric",showSpinner:"wj-input-show-spinner"};exports.InputTimeClsNames={hostElement:"wj-inputtime"};exports.ListBoxClsNames={header:"wj-header",hostElement:"wj-listbox",listBoxItem:"wj-listbox-item"};exports.MenuClsNames={hostElement:"wj-menu",menuItems:"wj-menu-items",subItems:"wj-subitems"};exports.MultiAutoCompleteClsNames={hostElement:"wj-multi-autocomplete",token:"wj-token",tokenActive:"wj-token-active",tokenClose:"wj-token-close",tokenHelper:"wj-token-helper",tokenLabel:"wj-token-label",screenReaderOnly:"wj-sr-only"};exports.MultiSelectClsNames={hostElement:"wj-multiselect"};exports.MultiSelectListBoxClsNames={header:"wj-header",hostElement:"wj-multiselectlistbox",selectAll:"wj-select-all"};exports.PopupClsNames={dialogHeader:"wj-dialog-header",hostElement:"wj-popup",popupBackDrop:"wj-popup-backdrop",dialogBody:"wj-dialog-body",dialogFooter:"wj-dialog-footer"};wijmo_1._addCultureInfo("InputNumber",{ariaLabels:{incVal:"Increase Value",decVal:"Decrease Value",inputNumberInput:"InputNumber Input",inputNumber:"Input Number"}});class InputNumber extends wijmo_1.Control{constructor(t,e){super(t);this._value=null;this._min=null;this._max=null;this._format="";this._step=null;this._showBtn=!0;this._readOnly=!1;this._handleWheel=!0;this._oldText="";this._fromKb=!0;this._inputElementAriaLabel=wijmo_1.culture.InputNumber.ariaLabels.inputNumberInput;this._ariaLabelledby=null;this.textChanged=new wijmo_1.Event;this.valueChanged=new wijmo_1.Event;const i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.InputNumberClsNames.hostElement}`,i,{_tbx:"input",_btnUp:"btn-inc",_btnDn:"btn-dec"},"input");const s=this.inputElement;this.hostElement;wijmo_1.setAttribute(s,"role","spinbutton",!0);this._updateInputAriaLabel();const o=wijmo_1.culture.InputNumber.ariaLabels;wijmo_1.setAriaLabel(this._btnUp.querySelector("button"),o.incVal);wijmo_1.setAriaLabel(this._btnDn.querySelector("button"),o.decVal);this._tbx.type.match(/number/i)&&(this.inputType="");const n=this._tbx;n.autocomplete="off";n.spellcheck=!1;this._updateSymbols();const a=this.addEventListener.bind(this);a(n,"keypress",this._keypress.bind(this));a(n,"keydown",this._keydown.bind(this));a(n,"input",this._input.bind(this));wijmo_1.isMobile()&&a(n,"beforeinput",this._beforeinput.bind(this));a(n,"blur",()=>{this.text!=this._oldText&&this._setText(this.text)});a(n,"paste",()=>{this._fromKb=!1});a(n,"compositionstart",()=>{this._composing=!0});a(n,"compositionend",()=>{this._composing=!1;setTimeout(()=>{let t=this.text,e=this._oldText,i=this._chrPct;e&&e.indexOf(i)>-1&&t.indexOf(i)<0&&(t+=i);this._setText(t)})});const l=this._clickSpinner.bind(this);a(this._btnUp,"click",l);a(this._btnDn,"click",l);this._rptUp=new wijmo_1._ClickRepeater(this._btnUp.querySelector("button"));this._rptDn=new wijmo_1._ClickRepeater(this._btnDn.querySelector("button"));a(n,"wheel",t=>{if(this.handleWheel&&!t.defaultPrevented&&!t.ctrlKey&&this._isEditable()&&this.containsFocus()){const e=wijmo_1.clamp(-t.deltaY,-1,1);this._increment((this.step||1)*e);setTimeout(()=>this.selectAll());t.preventDefault()}});this.value=0;this.isRequired=!0;this.initialize(e)}static get controlTemplate(){InputNumber._ctrlTemplate||(InputNumber._ctrlTemplate=`<div class="${wijmo_1.ControlClsNames.template}"><div class="${exports.InputClsNames.input}"><div class="${exports.InputClsNames.inputGroup}"><span wj-part="btn-dec" class="${exports.InputClsNames.inputGroupBtn}" tabindex="-1"><button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1">-</button></span><input type="tel" wj-part="input" class="${wijmo_1.InputFormElementsClsNames.formControl} ${exports.InputNumberClsNames.numeric}"/><span wj-part="btn-inc" class="${exports.InputClsNames.inputGroupBtn}" tabindex="-1"><button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1">+</button></span></div></div></div>`);return InputNumber._ctrlTemplate}static set controlTemplate(t){InputNumber._ctrlTemplate=t}get inputElement(){return this._tbx}get inputType(){return this._tbx.type}set inputType(t){this._tbx.type=wijmo_1.asString(t)}get value(){return this._value}set value(t){if(t!=this._value)if(null==(t=wijmo_1.asNumber(t,!this.isRequired||null==t&&null==this._value)))this._setText("");else if(!isNaN(t)){const e=wijmo_1.Globalize.format(t,this.format);this._setText(e)}}get isRequired(){return this._tbx.required}set isRequired(t){this._tbx.required=wijmo_1.asBoolean(t)}get isReadOnly(){return this._readOnly}set isReadOnly(t){this._readOnly=wijmo_1.asBoolean(t);this.inputElement.readOnly=this._readOnly;wijmo_1.toggleClass(this.hostElement,wijmo_1.ControlStateClsNames.readOnly,this.isReadOnly)}get handleWheel(){return this._handleWheel}set handleWheel(t){this._handleWheel=wijmo_1.asBoolean(t)}get min(){return this._min}set min(t){if(t!=this._min){this._min=wijmo_1.asNumber(t,!0);this._updateAria()}}get max(){return this._max}set max(t){if(t!=this._max){this._max=wijmo_1.asNumber(t,!0);this._updateAria()}}get step(){return this._step}set step(t){this._step=wijmo_1.asNumber(t,!0);this._updateBtn()}get format(){return this._format}set format(t){if(t!=this.format){this._format=wijmo_1.asString(t);this.refresh()}}get text(){return this._tbx.value}set text(t){if(t!=this.text){this._oldText=this.text;this._setText(t)}}get placeholder(){return this._tbx.placeholder}set placeholder(t){this._tbx.placeholder=t}get showSpinner(){return this._showBtn}set showSpinner(t){this._showBtn=wijmo_1.asBoolean(t);this._updateBtn()}get repeatButtons(){return!this._rptUp.disabled}set repeatButtons(t){this._rptUp.disabled=this._rptDn.disabled=!wijmo_1.asBoolean(t)}get ariaLabelledBy(){return this._ariaLabelledby}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this._tbx,t,this._updateInputAriaLabel.bind(this))}selectAll(){const t=this._tbx;wijmo_1.setSelectionRange(t,0,t.value.length)}clamp(t){return wijmo_1.clamp(t,this.min,this.max)}onTextChanged(t){this.textChanged.raise(this,t);this._updateState()}onValueChanged(t){this._updateAria();this.valueChanged.raise(this,t)}dispose(){this._rptUp.element=null;this._rptDn.element=null;super.dispose()}onGotFocus(t){this._oldValue=this.value;if(!this.isTouching){this._tbx.focus();this.selectAll()}super.onGotFocus(t)}onLostFocus(t){if(this._composing){this._composing=!1;this._setText(this.text)}if(this._isEditable()){const t=this.clamp(this.value);if(t==this.value||this.onInvalidInput(new wijmo_1.CancelEventArgs)){const e=wijmo_1.Globalize.format(t,this.format);this._setText(e)}}super.onLostFocus(t)}refresh(t=!0){super.refresh(t);if(this.hostElement){this._updateSymbols();const t=wijmo_1.Globalize.format(this.value,this.format);this._setText(t)}}_isEditable(){return!this.isReadOnly&&!this.isDisabled}_updateSymbols(){const t=wijmo_1.culture.Globalize.numberFormat,e=wijmo_1.Globalize._parseNumericFormat(this.format);this._chrDec=t["."]||".";this._chrTho=t[","]||",";this._chrNeg=t["-"]||"-";this._chrPls=t["+"]||"+";this._chrPct=t["%"]||"%";this._chrCur=e.curr||t.currency.symbol||"$";this._fmtSpc=e.spec;this._fmtPrc=e.prec;this._rxSym=new RegExp("^[%+\\-() \\"+this._chrDec+"\\"+this._chrCur+"\\"+this._chrNeg+"\\"+this._chrPls+"\\"+this._chrPct+"]*$");this._rxNeg=new RegExp(`^\\s*(\\-|\\${this._chrNeg})|([^e](\\-|\\${this._chrNeg})|\\()`)}_isNumeric(t,e){let i=t==this._chrDec||t>="0"&&t<="9",s="x"==this._fmtSpc;!i&&s&&(i=t>="a"&&t<="f"||t>="A"&&t<="F");i||e||s||(i=t==this._chrPls||t==this._chrNeg||"("==t||")"==t);return i}_getInputRange(t){let e=[0,0],i=this.text,s=!1;for(let o=0;o<i.length;o++)if(this._isNumeric(i[o],t)){if(!s){e[0]=o;s=!0}e[1]=o+1}return e}_flipSign(){const t=this._getSelStartDigits();this.value*=-1;this._setSelStartDigits(t)}_getSelStartDigits(){let t=0,e=this._tbx.selectionStart,i=this._tbx.value;for(let s=0;s<i.length&&s<e;s++)this._isNumeric(i[s],!0)&&t++;return t}_setSelStartDigits(t){const e=this._tbx.value;for(let i=0;i<e.length&&t>=0;i++)if(this._isNumeric(e[i],!0)){if(!t){wijmo_1.setSelectionRange(this._tbx,i);break}t--}else if(!t){wijmo_1.setSelectionRange(this._tbx,i);break}}_increment(t){if(t){const e=this.clamp(wijmo_1.isNumber(this.value)?this.value+t:0),i=wijmo_1.Globalize.format(e,this.format,!1,!1);this._setText(i)}}_updateBtn(){const t=this.showSpinner&&!!this.step,e=t;wijmo_1.setCss([this._btnUp,this._btnDn],{display:t?"":"none"});wijmo_1.toggleClass(this.hostElement,exports.InputNumberClsNames.showSpinner,t);wijmo_1.enable(this._btnUp,e);wijmo_1.enable(this._btnDn,e);this._updateAria()}_setText(t,e=!1,i=!1){if(this._composing)return;const s=this._tbx,o=this._chrDec,n=this._rxNeg.test(t),a=this._delKey,l=this.containsFocus();t&&this._rxSym.test(t)&&l&&(t=this.isRequired||!a?(n?"-0":"0")+(t.indexOf(o)>-1?o:""):"");this._delKey=!1;a&&0==this.value&&!this.isRequired&&(t="");if(!t){if(!this.isRequired||i){s.value="";if(this._oldText){this._oldText=t;this.onTextChanged()}if(null!=this._value){this._value=null;this.onValueChanged()}this._updateBtn();return}t="0"}const h=t.indexOf(o),r=this._format||(h>-1?"n2":"n0");let _=wijmo_1.Globalize.parseFloat(t,r);isFinite(_)||(_=this.clamp(_));if(isNaN(_)){if(this.onInvalidInput(new wijmo_1.CancelEventArgs))s.value=this._oldText;else{s.value=t;this.focus()}return}let d=l&&h>-1?2:null,u=wijmo_1.Globalize.format(_,r,!1,e,d);n&&_>=0&&!a&&(u=this._chrNeg+u);if(l&&h>-1&&"g"==this._fmtSpc&&0!=this._fmtPrc){u=t;u.indexOf(o)<0&&(u+=o)}if(s.value!=u){s.value=u;_=wijmo_1.Globalize.parseFloat(u,r)}if(this.text!=this._oldText){this._oldText=this.text;this.onTextChanged()}if(_!=this._value){this._value=_;this.onValueChanged()}this._updateBtn();this._updateState()}_handleDecimalInput(t){if(0===this._fmtPrc){t.preventDefault();return!0}const e=this._tbx,i=e.value.indexOf(this._chrDec);if(i>-1){t.preventDefault();const s=e.selectionStart<=i?i+1:i;wijmo_1.setSelectionRange(e,s);return!0}return!1}_beforeinput(t){if(t.defaultPrevented||this._composing||!this._isEditable())return;switch(t.data){case".":case this._chrDec:this._handleDecimalInput(t);return;case"+":case this._chrPls:this._handlePlusSign();t.preventDefault();return;case"-":case this._chrNeg:this._handleMinusSign();t.preventDefault();return}}_keypress(t){if(!t.defaultPrevented&&!this._composing&&this._isEditable()&&t.charCode&&!t.ctrlKey&&!t.metaKey&&t.keyCode!=wijmo_1.Key.Enter){const e=this._tbx,i=String.fromCharCode(t.charCode);if(this._isNumeric(i,!1)){const i=e.maxLength;if(i>-1&&e.value.length>=i&&e.selectionEnd==e.selectionStart){t.preventDefault();return}let s=this._getInputRange(!0),o=e.selectionStart,n=e.selectionEnd;if(o<s[0]&&n<e.value.length){n=Math.max(n,s[0]);wijmo_1.setSelectionRange(e,s[0],n)}if(o>=s[1]){const i=null!=this._fmtPrc?this._fmtPrc:2,s=e.value.indexOf(this._chrDec);s>-1&&o-s>i&&t.preventDefault()}}else t.preventDefault();switch(i){case"-":case this._chrNeg:this._handleMinusSign();t.preventDefault();break;case"+":case this._chrPls:this._handlePlusSign();t.preventDefault();break;case".":case this._chrDec:this._handleDecimalInput(t)}if(!t.defaultPrevented&&wijmo_1.isIE()){const s=e.value,o=e.selectionStart,n=e.selectionEnd;if(o==n){e.value=s.substr(0,o)+i+s.substr(n);wijmo_1.setSelectionRange(e,o+1);t.preventDefault();this._input()}}}}_handlePlusSign(){const t=this._tbx;(this.value<0||this._rxNeg.test(t.value))&&this._flipSign()}_handleMinusSign(){const t=this._tbx;if(this.clamp(-1)>=0)this.value<0&&this._flipSign();else if(this.value&&t.selectionStart===t.selectionEnd)this._flipSign();else if(this.clamp(-1)<0){t.value=this._chrNeg;wijmo_1.setSelectionRange(t,1)}}_keydown(t){this._delKey=!1;if(t.defaultPrevented||this._composing)return;var e=wijmo_1.hasClass(this._tbx,"wj-grid-ime");if(e&&t.keyCode!=wijmo_1.Key.Back&&t.keyCode!=wijmo_1.Key.Delete)return;let i=this._tbx,s=i.value,o=i.selectionStart,n=i.selectionEnd;switch(t.keyCode){case 65:if(t.ctrlKey){setTimeout(()=>{this.selectAll()});t.preventDefault()}break;case wijmo_1.Key.Up:case wijmo_1.Key.Down:if(this.step&&this._isEditable()){this._increment(this.step*(t.keyCode==wijmo_1.Key.Up?1:-1));setTimeout(()=>{this.selectAll()});t.preventDefault()}break;case wijmo_1.Key.Back:this._delKey=!0;if(n-o<2&&this._isEditable()){const e=s[n-1];if(e==this._chrDec||e==this._chrPct||e==this._chrTho||")"==e){setTimeout(()=>{n=e==this._chrPct?this._getInputRange(!0)[1]:n-1;wijmo_1.setSelectionRange(i,n)});t.preventDefault()}}break;case wijmo_1.Key.Delete:this._delKey=!0;if(n-o<2&&this._isEditable())if("0"==s&&1==o)wijmo_1.setSelectionRange(i,0);else{const e=s[o];if(e==this._chrDec||e==this._chrPct){setTimeout(()=>{wijmo_1.setSelectionRange(i,o+1)});t.preventDefault()}}break;case wijmo_1.Key.Escape:this.value=this._oldValue;this.selectAll()}e&&this._delKey&&this._isEditable()&&this._setText(null,!1,!0)}_input(){this._composing?this._fromKb=!0:setTimeout(()=>{let t=this._tbx,e=t.value,i=e.indexOf(this._chrDec),s=t.selectionStart,o=this._getSelStartDigits();"p"==this._fmtSpc&&e.length&&e.indexOf(this._chrPct)<0&&(e+=this._chrPct);this._setText(e,this._fromKb);this._fromKb=!0;if(this.containsFocus()){const n=t.value,a=n.indexOf(this._chrDec),l=this._getInputRange(!0);if(e==this._chrNeg+this._chrDec&&a>-1){wijmo_1.setSelectionRange(t,a+1);return}if(e[0]==this._chrNeg&&n[0]!=this._chrNeg){if(1==n.length)wijmo_1.setSelectionRange(t,1);else{"c"===this._fmtSpc&&this._isNegativeCurrencyByParenthesis(e)&&(o-=1);this._setSelStartDigits(o)}return}e?e==this._chrDec&&a>-1?s=a+1:s<=i&&a>-1||i<0&&a<0?s+=n.length-e.length:i<0&&a>-1&&(s=a):s=a>-1?a:l[1];s=wijmo_1.clamp(s,l[0],l[1]);wijmo_1.setSelectionRange(t,s)}})}_isNegativeCurrencyByParenthesis(t){return t.length>1&&t[1]===this._chrCur}_clickSpinner(t){if(!t.defaultPrevented&&this._isEditable()&&this.step){this._increment(this.step*(wijmo_1.contains(this._btnUp,t.target)?1:-1));if(!this.isTouching){wijmo_1.Control.sharedState.InvalidScroll=wijmo_1.isEdge();setTimeout(()=>this.selectAll())}}}_updateAria(){const t=this.inputElement;if(this.hostElement){wijmo_1.setAttribute(t,"aria-valuemin",this.min);wijmo_1.setAttribute(t,"aria-valuemax",this.max);wijmo_1.setAttribute(t,"aria-valuenow",this.value);wijmo_1.setAttribute(t,"aria-valuetext",this.text);wijmo_1.setAttribute(t,"step",this.step);wijmo_1.enable(this._btnDn,null==this.min||this.value>this.min);wijmo_1.enable(this._btnUp,null==this.max||this.value<this.max)}}_updateInputAriaLabel(){const t=this.inputElement;this._ariaLabelledby?wijmo_1.setAttribute(t,"aria-label",null):wijmo_1.setAttribute(t,"aria-label",this._inputElementAriaLabel)}getAriaLabelForScreenReader(){return wijmo_1.culture.InputNumber.ariaLabels.inputNumber}}InputNumber._ctrlTemplate="";exports.InputNumber=InputNumber;wijmo_1._addCultureInfo("InputMask",{ariaLabels:{inputMaskInput:"InputMask Input",inputMask:"Input Mask"}});class InputMask extends wijmo_1.Control{constructor(t,e){super(t);this._fullEdit=!1;this._inputElementAriaLabel=wijmo_1.culture.InputMask.ariaLabels.inputMaskInput;this._ariaLabelledby=null;this.valueChanged=new wijmo_1.Event;const i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.InputMaskClsNames.hostElement}`,i,{_tbx:"input"},"input");if("INPUT"==this._orgTag){const t=this._tbx.getAttribute("value");t&&(this.value=t)}this._msk=new wijmo_1._MaskProvider(this._tbx);this.isRequired=!0;this.initialize(e);this.addEventListener(this._tbx,"input",()=>{this.onValueChanged()});this.addEventListener(this._tbx,"blur",this._commitText.bind(this));this.addEventListener(this._tbx,"keydown",t=>{t.keyCode==wijmo_1.Key.Enter&&this._commitText()});this._updateInputAriaLabel()}static get controlTemplate(){InputMask._ctrlTemplate||(InputMask._ctrlTemplate=`<div class="${exports.InputClsNames.input}"><div class="${exports.InputClsNames.inputGroup}"><input wj-part="input" class="${wijmo_1.InputFormElementsClsNames.formControl}"/></div></div>`);return InputMask._ctrlTemplate}static set controlTemplate(t){InputMask._ctrlTemplate=t}get inputElement(){return this._tbx}get inputType(){return this._tbx.type}set inputType(t){this._tbx.type=wijmo_1.asString(t)}get value(){return this._tbx.value}set value(t){if(t!=this.value){this._tbx.value=wijmo_1.asString(t);t=this._msk._applyMask();this._tbx.value=t;this.onValueChanged()}}get rawValue(){return this._msk.getRawValue()}set rawValue(t){t!=this.rawValue&&(this.value=wijmo_1.asString(t))}get mask(){return this._msk.mask||""}set mask(t){const e=this.value;this._msk.mask=wijmo_1.asString(t);this.value!=e&&this.onValueChanged()}get promptChar(){return this._msk.promptChar}set promptChar(t){const e=this.value;this._msk.promptChar=t;this.value!=e&&this.onValueChanged()}get overwriteMode(){return this._msk.overwriteMode}set overwriteMode(t){this._msk.overwriteMode=wijmo_1.asBoolean(t)}get placeholder(){return this._tbx.placeholder}set placeholder(t){this._tbx.placeholder=t}get maskFull(){return this._msk.maskFull}get isRequired(){return this._tbx.required}set isRequired(t){this._tbx.required=wijmo_1.asBoolean(t)}get isReadOnly(){return this._tbx.readOnly}set isReadOnly(t){this._tbx.readOnly=wijmo_1.asBoolean(t);wijmo_1.toggleClass(this.hostElement,wijmo_1.ControlStateClsNames.readOnly,this.isReadOnly)}selectAll(){const t=this._msk.getMaskRange();wijmo_1.setSelectionRange(this._tbx,t[0],t[1]+1)}onValueChanged(t){if(this.value!=this._oldValue){this._oldValue=this.value;this.valueChanged.raise(this,t)}this._updateState()}_commitText(){(this.rawValue||this.isRequired)&&(this.maskFull||this.onInvalidInput(new wijmo_1.CancelEventArgs));this._updateState()}dispose(){this._msk.input=null;super.dispose()}refresh(t=!0){super.refresh(t);this.hostElement&&this._msk.refresh()}onGotFocus(t){this.selectAll();super.onGotFocus(t)}get ariaLabelledBy(){return this._ariaLabelledby}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this._tbx,t,this._updateInputAriaLabel.bind(this))}_updateInputAriaLabel(){const t=this.inputElement;!t||t.id||this._ariaLabelledby?wijmo_1.setAttribute(t,"aria-label",null):wijmo_1.setAttribute(t,"aria-label",this._inputElementAriaLabel)}getAriaLabelForScreenReader(){return wijmo_1.culture.InputMask.ariaLabels.inputMask}}InputMask._ctrlTemplate="";exports.InputMask=InputMask;wijmo_1._addCultureInfo("ColorPicker",{ariaLabels:{colorPicker:"Color Picker",satAndBrightnessPanel:"Color saturation and brightness panel",huePanel:"Color hue panel",opacityPanel:"Color opacity panel",palettePanel:"Color palette panel",saturation:"Saturation:",hue:"Hue:",opacity:"Opacity:",degrees:"degrees",brightness:"Brightness:",baseColor:"Base color:",shadeColor:"Shade color:"}});var ColorPickerTabKeyAction,DateSelectionMode,ShowMonthPicker,CalendarTabKeyAction,ClickAction,KeyAction,TabKeyAction,PopupTrigger,_Edges;!function(t){t[t.None=0]="None";t[t.All=1]="All"}(ColorPickerTabKeyAction=exports.ColorPickerTabKeyAction||(exports.ColorPickerTabKeyAction={}));class ColorPicker extends wijmo_1.Control{constructor(t,e){super(t);this._hsb=[.5,1,1];this._alpha=1;this._ariaLabel=wijmo_1.culture.ColorPicker.ariaLabels.colorPicker;this.valueChanged=new wijmo_1.Event;this.hostElement.setAttribute("role","application");this.hostElement.setAttribute("aria-label",wijmo_1.culture.ColorPicker.ariaLabels.colorPicker);let i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.ColorPickerClsNames.hostElement}`,i,{_eSB:"div-sb",_eHue:"div-hue",_eAlpha:"div-alpha",_ePreview:"div-pv",_ePal:"div-pal",_eText:"div-text"});this._palette="#FFF,#000,#F00,#FFC000,#FFFF00,#92D050,#00B050,#00B0F0,#0070C0,#7030A0".split(",");this._updatePalette();this._eHue.style.backgroundImage="url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD4CAIAAACi6hsPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAAGvSURBVDhPXdBPaM9xHMfxz4pWaxcmtoOhpdXSVpiyHWxqmVpDjaU5rK34XfypjTJ/p+ZPay6jhsOsRrKwaJElf9IQq03WIkv4FeMwMq221tfje1ByeFzfvd7PEKWGEKWTQRZLySWfVRRTQjmVbKWGOhLsZT+HaeY0bbTTQSfdXOcWffTzmAFeMcwoYyT5ygS/mA5hNgphip98J8kHRnnNSwZ4yH1uc4OrdHGR87RximYO0cgedlLLdqqoYAPrWMtKVrCcJSxiPmnMJUQp/Bsyk2xyyKOAQooopYwKtlDNDur5G7SBJo7RQiv/B+2hl3s84CkvGGKEOOYnxolj/mYmhBmDJ5ngCx95xxsGecYj4pB3iENeoZMO2mmlhaMcpIE4ZII6aqhmM3HMMkooopB88sghm0wySCeVlCjMCVFIYx4LWUwOeRSwhmLWU84mqqihll3sppEmjnOSs5zjEl1c4yZ99POE5wwxwns+840fTDFLFKaZZIJxkozxlmEGGSC+GF++Sy89dHOZC8Rr4lVnOMERDrCPBPXEX22jko2UEn+/mnxyWUYWC0gnNUQh/AEc0HJs6cex0gAAAABJRU5ErkJggg==)";this._eHue.style.backgroundSize="contain";if(navigator.appVersion.indexOf("MSIE 9")>-1){this._eSB.children[0].style.filter="progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff,endColorstr=#00ffffff,GradientType=1)";this._eSB.children[1].style.filter="progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000,endColorstr=#ff000000,GradientType=0)"}i=ColorPicker._tplCursor;this._cSB=wijmo_1.createElement(i);this._cHue=wijmo_1.createElement(i);this._cHue.style.width="100%";this._cAlpha=wijmo_1.createElement(i);this._cAlpha.style.height="100%";this._eSB.appendChild(this._cSB);this._eHue.appendChild(this._cHue);this._eAlpha.appendChild(this._cAlpha);this._keyActionTab=ColorPickerTabKeyAction.None;const s=this.addEventListener.bind(this),o=this.removeEventListener.bind(this),n=document;s(this.hostElement,"mousedown",t=>{s(n,"mousemove",mouseMove);s(n,"mouseup",mouseUp);this._mouseDown(t)});s(this.hostElement,"touchstart",t=>{s(n,"touchmove",mouseMove);s(n,"touchend",mouseUp);this._mouseDown(t)});const mouseMove=t=>{this._mouseMove(t)},mouseUp=t=>{o(n,"mousemove",mouseMove);o(n,"mouseup",mouseUp);o(n,"touchmove",mouseMove);o(n,"touchend",mouseUp);this._mouseUp(t)};s(this.hostElement,"click",t=>{if(this.isDisabled)return;const e=t.target;if(e&&"DIV"==e.tagName&&wijmo_1.contains(this._ePal,e)){const t=e.style.backgroundColor;t&&(this.value=new wijmo_1.Color(t).toString());e.focus()}});s(this.hostElement,"keydown",t=>{this.isDisabled||this._keydown(t)});this.value="#ffffff";this.initialize(e);this._updatePanels();this._eSB.setAttribute("role","slider");this._eSB.setAttribute("aria-label",wijmo_1.culture.ColorPicker.ariaLabels.satAndBrightnessPanel);this._eSB.setAttribute("aria-valuemin","0");this._eSB.setAttribute("aria-valuemax","100");this._eHue.setAttribute("role","slider");this._eHue.setAttribute("aria-label",wijmo_1.culture.ColorPicker.ariaLabels.huePanel);this._eHue.setAttribute("aria-valuemin","0");this._eHue.setAttribute("aria-valuemax","360");this._eAlpha.setAttribute("role","slider");this._eAlpha.setAttribute("aria-label",wijmo_1.culture.ColorPicker.ariaLabels.opacityPanel);this._eAlpha.setAttribute("aria-valuemin","0");this._eAlpha.setAttribute("aria-valuemax","100");this._ePal.setAttribute("role","grid");this._ePal.setAttribute("aria-label",wijmo_1.culture.ColorPicker.ariaLabels.palettePanel);this._updateTabIndex()}static get controlTemplate(){ColorPicker._ctrlTemplate||(ColorPicker._ctrlTemplate=`<div style="position:relative;width:100%;height:100%"><div style="float:left;width:50%;height:100%;box-sizing:border-box;padding:2px"><div wj-part="div-pal"><div style="float:left;width:10%;box-sizing:border-box;padding:2px"><div style="background-color:black;width:100%"></div><div style="height:6px"></div></div></div><div wj-part="div-text" style="position:absolute;bottom:0px;display:none"></div></div><div style="float:left;width:50%;height:100%;box-sizing:border-box;padding:2px"><div wj-part="div-sb" class="${exports.ColorPickerClsNames.colorBox}" style="float:left;width:89%;height:89%"><div style="position:absolute;width:100%;height:100%;background:linear-gradient(to right, white 0%,transparent 100%)"></div><div style="position:absolute;width:100%;height:100%;background:linear-gradient(to top, black 0%,transparent 100%)"></div></div><div style="float:left;width:1%;height:89%"></div><div style="float:left;width:10%;height:89%"><div wj-part="div-hue" class="${exports.ColorPickerClsNames.colorBox}"></div></div><div style="float:left;width:89%;height:1%"></div><div style="float:left;width:89%;height:10%"><div style="width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAAAcSURBVBhXY/iPBBYgAWpKQGkwgMqDAdUk/v8HAM7Mm6GatDUYAAAAAElFTkSuQmCC)"><div wj-part="div-alpha" class="${exports.ColorPickerClsNames.colorBox}"></div></div></div><div style="float:left;width:1%;height:10%"></div><div style="float:left;width:10%;height:10%"><div wj-part="div-pv" class="${exports.ColorPickerClsNames.colorBox}" style="position:static"></div></div></div></div>`);return ColorPicker._ctrlTemplate}static set controlTemplate(t){ColorPicker._ctrlTemplate=t}get showAlphaChannel(){return"none"!=this._eAlpha.parentElement.style.display}set showAlphaChannel(t){this._eAlpha.parentElement.style.display=wijmo_1.asBoolean(t)?"":"none"}get showColorString(){return"none"!=this._eText.style.display}set showColorString(t){this._eText.style.display=wijmo_1.asBoolean(t)?"":"none";if(wijmo_1.asBoolean(t)){this._eText.setAttribute("role","status");this._eText.setAttribute("aria-live","polite")}}get value(){return this._value}set value(t){if(t!=this.value){const e=this.value,i=(t=wijmo_1.asString(t)).trim(),s=wijmo_1.Color.fromString(i);if(s){const t=s.getHsb();this._value=i;this._eText.innerText=i;if(this._hsb[0]!=t[0]||this._hsb[1]!=t[1]||this._hsb[2]!=t[2]||this._alpha!=s.a){if(0==t[2]){t[0]=this._hsb[0];t[1]=this._hsb[1]}else 0==t[1]&&(t[0]=this._hsb[0]);this._hsb=t;this._alpha=s.a;this.onValueChanged()}else""===e&&this.onValueChanged()}else if(""===i){const e=new wijmo_1.Color(t);this._hsb=e.getHsb();this._alpha=e.a;this._value=t;this._eText.innerText=i;this.onValueChanged()}}}get palette(){return this._palette}set palette(t){if((t=(t=wijmo_1.asArray(t)).slice(0,10)).every(t=>null!=wijmo_1.Color.fromString(t))){this._palette=t;this._updatePalette()}}get ariaLabel(){return this._ariaLabel}set ariaLabel(t){if(t!=this._ariaLabel){this._ariaLabel=t;wijmo_1.setAttribute(this.hostElement,"aria-label",this._ariaLabel)}}get keyActionTab(){return this._keyActionTab}set keyActionTab(t){this._keyActionTab=t;if(t==ColorPickerTabKeyAction.All){this.tabOrder=0;this.hostElement.setAttribute("tabindex","-1")}this._updateTabIndex()}_setTabOrder(t){super._setTabOrder(t);this.isDisabled||this._updateTabIndex()}onValueChanged(t){this._refreshSelection();this.valueChanged.raise(this,t)}_mouseDown(t){this._htDown=this._getTargetPanel(t);if(this._htDown){t.preventDefault();this._htDown.focus();this._mouseMove(t)}}_mouseMove(t){if(!this.isDisabled){var e=t.touches?t.touches[0]:t,i=this._htDown;if(i){const t=i.getBoundingClientRect();let s=[...this._hsb],o=this._alpha;if(i==this._eHue)s[0]=wijmo_1.clamp((e.clientY-t.top)/t.height,0,.99);else if(i==this._eSB){s[1]=wijmo_1.clamp((e.clientX-t.left)/t.width,0,1);s[2]=wijmo_1.clamp(1-(e.clientY-t.top)/t.height,0,1)}else i==this._eAlpha&&(o=wijmo_1.clamp((e.clientX-t.left)/t.width,0,1));this._updateColor(s,o)}}}_mouseUp(t){this._htDown=null}_updateColor(t=this._hsb,e=this._alpha){const i=this._hsb[0]!==t[0]||this._hsb[1]!==t[1]||this._hsb[2]!==t[2],s=this._alpha!==e;if(i||s){this._hsb=t;this._alpha=e;const i=wijmo_1.Color.fromHsb(t[0],t[1],t[2],e);this._value=i.toString();this._eText.innerText=this._value;this.onValueChanged()}}_updatePalette(){const t=new wijmo_1.Color("#fff"),e=new wijmo_1.Color("#000");this._ePal.innerHTML="";this._ePal.className="palette-grid";const i=Array.from({length:6},()=>{const t=document.createElement("div");t.className="palette-row";t.setAttribute("role","row");return t}),s=this.getActualTabIndex();for(let o=0;o<this._palette.length;o++){const n=new wijmo_1.Color(this._palette[o]),a=n.getHsb(),l=this._makePalEntry(n);l.innerHTML="&#8203";l.setAttribute("role","columnheader");l.setAttribute("aria-label",`${wijmo_1.culture.ColorPicker.ariaLabels.baseColor} ${n.toString()}`);if(0===o){this._ePalMainFirst=l;this._ePalMainFirst.setAttribute("tabindex",s)}else l.setAttribute("tabindex","-1");i[0].appendChild(l);for(let n=0;n<5;n++){const l=0===a[1]?wijmo_1.Color.interpolate(t,e,.1*n+(a[2]>.5?.05:.55)):wijmo_1.Color.fromHsb(a[0],.1+.2*n,1-.1*n),h=this._makePalEntry(l);h.setAttribute("role","gridcell");h.setAttribute("aria-label",`${wijmo_1.culture.ColorPicker.ariaLabels.shadeColor} ${l.toString()}`);if(0===o&&0===n){this._ePalShadeFirst=h;this._ePalShadeFirst.setAttribute("tabindex",s)}else wijmo_1.setAttribute(h,"tabindex","-1");i[n+1].appendChild(h)}}i.forEach(t=>{this._ePal.appendChild(t)})}_makePalEntry(t){const e=document.createElement("div");e.className="palette-gridcell";wijmo_1.setCss(e,{backgroundColor:t.toString()});return e}_updatePanels(){const t=wijmo_1.Color.fromHsb(this._hsb[0],1,1,1),e=wijmo_1.Color.fromHsb(this._hsb[0],this._hsb[1],this._hsb[2],1);this._eSB.style.backgroundColor=t.toString();this._eAlpha.style.background=`linear-gradient(to right, transparent 0%, ${e.toString()} 100%)`;navigator.appVersion.indexOf("MSIE 9")>-1&&(this._eAlpha.style.filter=`progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000,endColorstr=${e.toString()}, GradientType = 1)`);const i=this.value.trim();this._ePreview.style.backgroundColor=i;this._cHue.style.top=(100*this._hsb[0]).toFixed(0)+"%";this._cSB.style.left=(100*this._hsb[1]).toFixed(0)+"%";this._cSB.style.top=(100-100*this._hsb[2]).toFixed(0)+"%";this._cAlpha.style.left=(100*this._alpha).toFixed(0)+"%";const s=this.getColorsDiv(),o=wijmo_1.getActiveElement();if(this.keyActionTab===ColorPickerTabKeyAction.All&&!this.hostElement.contains(o)){if(this.isDisabled)return;let t=!1;for(let e=0;e<s.length;e++){const o=s[e].style.backgroundColor;if(wijmo_1.Color.fromString(i).equals(wijmo_1.Color.fromString(o))){s[e].focus();t=!0;break}}t||s[0].focus()}}getColorsDiv(){const t=Array.from(this._ePal.querySelectorAll('[role="columnheader"]')),e=Array.from(this._ePal.querySelectorAll('[role="gridcell"]'));return t.concat(e)}_getTargetPanel(t){const e=t.target;return wijmo_1.contains(this._eSB,e)?this._eSB:wijmo_1.contains(this._eHue,e)?this._eHue:wijmo_1.contains(this._eAlpha,e)?this._eAlpha:null}getActualTabIndex(){const t=this.tabOrder.toString();return this.keyActionTab===ColorPickerTabKeyAction.All&&!0!==this.isDisabled?t:"-1"}_updateTabIndex(){const t=this.getActualTabIndex();this._eSB.setAttribute("tabindex",t);this._eHue.setAttribute("tabindex",t);this._eAlpha.setAttribute("tabindex",t);this._ePalMainFirst.setAttribute("tabindex",t);this._ePalShadeFirst.setAttribute("tabindex",t)}_setIsDisabled(t){super._setIsDisabled(t);this._updateTabIndex()}_updateAriaValues(){const t=this._hsb;this._eSB.setAttribute("aria-valuenow",(100*t[1]).toString());this._eSB.setAttribute("aria-valuetext",`${wijmo_1.culture.ColorPicker.ariaLabels.saturation} ${Math.round(100*t[1])}%, ${wijmo_1.culture.ColorPicker.ariaLabels.brightness} ${Math.round(100*t[2])}%`);this._eHue.setAttribute("aria-valuenow",(360*t[0]).toString());this._eHue.setAttribute("aria-valuetext",`${wijmo_1.culture.ColorPicker.ariaLabels.hue} ${Math.round(360*t[0])} ${wijmo_1.culture.ColorPicker.ariaLabels.degrees}`);this._eAlpha.setAttribute("aria-valuenow",(100*this._alpha).toString());this._eAlpha.setAttribute("aria-valuetext",`${wijmo_1.culture.ColorPicker.ariaLabels.opacity} ${Math.round(100*this._alpha)}%`)}_keydown(t){const e=t.target;this._isInColorPalette(e)?this._handleColorNavigation(t,e):e!==this._eSB?e!==this._eHue?e!==this._eAlpha||this._handleAlphaNavigation(t):this._handleHSBNavigation(t,"hue"):this._handleHSBNavigation(t,"sb")}_isInColorPalette(t){return t&&"DIV"===t.tagName&&wijmo_1.contains(this._ePal,t)}_handleColorNavigation(t,e){const i=this.getColorsDiv(),s=this.palette.length,o=i.findIndex(t=>t===e);let n=null;switch(t.key){case"ArrowDown":o<i.length-1&&(n=i[o+s]);break;case"ArrowUp":o>0&&(n=i[o-s]);break;case"ArrowRight":{const t=o+1;t<i.length&&(n=i[t]);break}case"ArrowLeft":{const t=o-1;t>=0&&(n=i[t]);break}}if(n){const e=n.style.backgroundColor;e&&(this.value=new wijmo_1.Color(e).toString());n.focus();t.preventDefault()}}_handleHSBNavigation(t,e){let i=[...this._hsb];i=i.map(t=>wijmo_1.roundTo(t,2));const adjust=(t,e,s)=>{const o=Math.round(100*i[t]);i[t]=wijmo_1.clamp((o+e)/100,0,s)};switch(t.key){case"ArrowLeft":"sb"===e&&adjust(1,-1,1);break;case"ArrowRight":"sb"===e&&adjust(1,1,1);break;case"ArrowUp":"sb"===e?adjust(2,1,1):adjust(0,-1,.99);break;case"ArrowDown":"sb"===e?adjust(2,-1,1):adjust(0,1,.99)}if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(t.key)){this._updateColor(i,void 0);t.preventDefault()}}_refreshSelection(){this._updatePanels();this._updateAriaValues()}_handleAlphaNavigation(t){let e=this._alpha;switch(t.key){case"ArrowLeft":e=wijmo_1.clamp(e-.01,0,1);break;case"ArrowRight":e=wijmo_1.clamp(e+.01,0,1);break;default:return}this._updateColor(void 0,e);t.preventDefault()}}ColorPicker._ctrlTemplate="";ColorPicker._tplCursor='<div class="wj-colorpicker-cursor"></div>';exports.ColorPicker=ColorPicker;wijmo_1._addCultureInfo("CollectionViewNavigator",{ariaLabels:{byPage:{btnFirst:"Navigate to first page",btnPrev:"Navigate to previous page",btnNext:"Navigate to next page",btnLast:"Navigate to last page"},byItem:{btnFirst:"Navigate to first item",btnPrev:"Navigate to previous item",btnNext:"Navigate to next item",btnLast:"Navigate to last item"}}});class CollectionViewNavigator extends wijmo_1.Control{constructor(t,e){super(t);this._view=null;this._byPage=!1;this._fmt="{current:n0} / {count:n0}";this._liveRegionON=!1;this._ariaLabel="";const i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.CollectionViewNavigatorClsNames.pager} ${exports.CollectionViewNavigatorClsNames.hostElement}`,i,{_btnFirst:"btn-first",_btnPrev:"btn-prev",_txtCurr:"txt-curr",_btnNext:"btn-next",_btnLast:"btn-last"},"input");this.hostElement.tabIndex=-1;this._updateAriaLabels();const s=wijmo_1.uidGenerator();this._txtCurr.id=s;[this._btnFirst,this._btnPrev,this._btnNext,this._btnLast].forEach(t=>{wijmo_1.setAttribute(t.firstElementChild,"aria-controls",this._txtCurr.id)});wijmo_1.setAttribute(this.hostElement.firstElementChild,"role","group");wijmo_1.setAttribute(this._txtCurr,"role","status");this._rptNext=new wijmo_1._ClickRepeater(this._btnNext.querySelector("button"));this._rptPrev=new wijmo_1._ClickRepeater(this._btnPrev.querySelector("button"));this.addEventListener(this.hostElement,"click",this._click.bind(this));this.addEventListener(this.hostElement,"keydown",this._keydown.bind(this));wijmo_1.setAttribute(this.hostElement,"role","navigation");this._addA11yRelatedHandlers();this.initialize(e);this._update()}static get controlTemplate(){CollectionViewNavigator._ctrlTemplate||(CollectionViewNavigator._ctrlTemplate=`<div class="${exports.InputClsNames.inputGroup}"><span wj-part="btn-first" class="${exports.InputClsNames.inputGroupBtn}"><button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}"><span class="${wijmo_1.GlyphClsNames.stepBackward}"></span></button></span><span wj-part="btn-prev" class="${exports.InputClsNames.inputGroupBtn}"> <button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}"><span class="${wijmo_1.GlyphClsNames.left}"></span> </button></span><span wj-part="txt-curr" tabIndex="0"></span><span wj-part="btn-next" class="${exports.InputClsNames.inputGroupBtn}"><button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}"><span class="${wijmo_1.GlyphClsNames.right}"></span></button></span><span wj-part="btn-last" class="${exports.InputClsNames.inputGroupBtn}"><button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}"><span class="${wijmo_1.GlyphClsNames.stepForward}"></span></button></span></div>`);return CollectionViewNavigator._ctrlTemplate}static set controlTemplate(t){CollectionViewNavigator._ctrlTemplate=t}get cv(){return this._view}set cv(t){if(t!=this._view){let e=this._view;if(e){e.collectionChanged.removeHandler(this._collectionChanged);e.currentChanged.removeHandler(this._currentChanged)}e=this._view=wijmo_1.asType(t,"ICollectionView",!0);this._update();if(e){e.collectionChanged.addHandler(this._collectionChanged,this);e.currentChanged.addHandler(this._currentChanged,this)}}}get byPage(){return this._byPage}set byPage(t){if(t!=this._byPage){this._byPage=wijmo_1.asBoolean(t);this._update();this._updateAriaLabels()}}get headerFormat(){return this._fmt}set headerFormat(t){if(t!=this._fmt){this._fmt=wijmo_1.asString(t);this._update()}}get repeatButtons(){return!this._rptNext.disabled}set repeatButtons(t){this._rptNext.disabled=this._rptPrev.disabled=!wijmo_1.asBoolean(t)}get ariaLabel(){if(this.hostElement){const t=this.hostElement.getAttribute("aria-label");if(t)return t}return this._ariaLabel}set ariaLabel(t){if(this.ariaLabel!==t){this._ariaLabel=t;this.hostElement&&wijmo_1.setAttribute(this.hostElement,"aria-label",t)}}get isDisabled(){return this._isDisabled}set isDisabled(t){this._setIsDisabled(t)}focus(){const t=this._e;t&&t.offsetHeight&&(this.isDisabled||wijmo_1.moveFocus(t,0)||this._txtCurr.tabIndex>=0&&this._txtCurr.focus())}_update(){const t=this._view,e=this._byPage,i=t?e?t.pageIndex:t.currentPosition:0,s=t?e?t.pageCount:t.itemCount:0;if(this.isDisabled)[this._btnFirst,this._btnPrev,this._btnNext,this._btnLast].forEach(t=>{wijmo_1.enable(t,!1)});else{wijmo_1.enable(this._btnFirst,t&&i>0);wijmo_1.enable(this._btnPrev,t&&i>0);wijmo_1.enable(this._txtCurr,null!=t);wijmo_1.enable(this._btnNext,t&&i<s-1);wijmo_1.enable(this._btnLast,t&&i<s-1)}this._updateTabIndex();this._txtCurr.textContent=wijmo_1.format(this._fmt,{current:t?i+1:0,count:t?s:0,currentItem:t?t.currentPosition+1:0,itemCount:t?t.itemCount:0,currentPage:t?t.pageIndex+1:0,pageCount:t?t.pageCount:0})}_currentChanged(){this._update()}_collectionChanged(){this._update()}_click(t){const e=t.target,i=this._view,s=this._byPage;if(i){wijmo_1.contains(this._btnFirst,e)?s?i.moveToFirstPage():i.moveCurrentToFirst():wijmo_1.contains(this._btnPrev,e)?s?i.moveToPreviousPage():i.moveCurrentToPrevious():wijmo_1.contains(this._btnNext,e)?s?i.moveToNextPage():i.moveCurrentToNext():wijmo_1.contains(this._btnLast,e)&&(s?i.moveToLastPage():i.moveCurrentToLast());(this.byPage?i.pageIndex>=i.pageCount-1||i.pageIndex<=0:i.currentPosition>=i.itemCount-1||i.currentPosition<=0)&&!this.isDisabled&&this._txtCurr.tabIndex>=0&&this._txtCurr.focus();t.preventDefault()}}_updateAriaLabels(){const t=wijmo_1.culture.CollectionViewNavigator.ariaLabels[this._byPage?"byPage":"byItem"];wijmo_1.setAttribute(this._btnFirst.firstElementChild,"aria-label",t.btnFirst);wijmo_1.setAttribute(this._btnPrev.firstElementChild,"aria-label",t.btnPrev);wijmo_1.setAttribute(this._btnNext.firstElementChild,"aria-label",t.btnNext);wijmo_1.setAttribute(this._btnLast.firstElementChild,"aria-label",t.btnLast)}_addA11yRelatedHandlers(){this.addEventListener(this._txtCurr,"focus",t=>{if(this._txtCurr===document.activeElement){wijmo_1.setAttribute(this._txtCurr,"aria-live","off");wijmo_1.setAttribute(this._txtCurr,"aria-label",this._txtCurr.textContent);this._liveRegionON=!1}});this.addEventListener(this._txtCurr,"blur",t=>{this._txtCurr!==document.activeElement&&this._txtCurr.removeAttribute("aria-label")});[this._btnFirst.firstElementChild,this._btnPrev.firstElementChild,this._btnNext.firstElementChild,this._btnLast.firstElementChild].forEach(t=>{this.addEventListener(t,"focus",t=>{setTimeout(()=>{if(!this._liveRegionON){const t=wijmo_1._isMacOS()?"polite":"assertive";wijmo_1.setAttribute(this._txtCurr,"aria-live",t);this._liveRegionON=!0}})})})}_setTabOrder(t){const e=this._e,i=null!=this._txtCurr.getAttribute("disabled");this._orgTabIndex=t;if(this.isDisabled||i){e.tabIndex=-1;this._txtCurr.tabIndex=-1}else i||(this._txtCurr.tabIndex=this._orgTabIndex)}_keydown(t){if(wijmo_1.contains(this._txtCurr,t.target)&&(t.ctrlKey||t.metaKey)&&("A"===t.key||"a"===t.key)){t.preventDefault();const e=document.createRange();e.selectNodeContents(this._txtCurr);const i=window.getSelection();i.removeAllRanges();i.addRange(e)}}_setIsDisabled(t){if((t=!!wijmo_1.asBoolean(t,!0))!=this.isDisabled){const e=this._e;if(e){this._isDisabled=t;wijmo_1.toggleClass(e,wijmo_1.ControlStateClsNames.disabled,t);this._update();this._txtCurr.tabIndex=t?-1:this._orgTabIndex}}}_updateTabIndex(){[this._btnFirst,this._btnPrev,this._btnNext,this._btnLast].forEach(t=>{if(this._isDisabled)t.firstElementChild.setAttribute("tabindex","-1");else{t.firstElementChild.disabled?t.firstElementChild.setAttribute("tabindex","-1"):t.firstElementChild.setAttribute("tabindex",this._orgTabIndex.toString())}})}}CollectionViewNavigator._ctrlTemplate="";exports.CollectionViewNavigator=CollectionViewNavigator;wijmo_1._addCultureInfo("Listbox",{ariaLabels:{listBox:"list box"}});class ListBox extends wijmo_1.Control{constructor(t,e){super(t,null,!0);this._cv=null;this._itemFormatter=null;this._pathDisplay=new wijmo_1.Binding("");this._pathValue=new wijmo_1.Binding("");this._pathChecked=new wijmo_1.Binding("");this._html=!1;this._shGroups=!1;this._checkedItems=[];this._itemRole="option";this._caseSensitive=!1;this._addMode=!1;this._isShiftDown=!1;this._shouldClearOnShift=!0;this._vThreshold=ListBox._VTHRESH;this._isVirtual=!1;this._children=[];this._ignoreItemFormatterTextArray=[];this._itemFormatterHelper=document.createElement("div");this._clientHeight=-1;this._itemHeight=30;this._itemsAbove=-1;this._itemsBelow=-1;this._eSizer=document.createElement("div");this._ePadTop=document.createElement("div");this._ePadBot=document.createElement("div");this._checking=!1;this._ignoredItemChangedEvents=!1;this._search="";this._fmtItemHandlers=0;this._itemCount=0;this._oldSel=null;this._container=null;this._oldSelectedIndex=-1;this._ariaLabel=wijmo_1.culture.Listbox.ariaLabels.listBox;this._isNeedUpdateBnd=!0;this.selectedIndexChanged=new wijmo_1.Event;this.itemsChanged=new wijmo_1.Event;this.loadingItems=new wijmo_1.Event;this.loadedItems=new wijmo_1.Event;this.itemChecked=new wijmo_1.Event;this.checkedItemsChanged=new wijmo_1.Event;this.formatItem=new wijmo_1.Event(()=>{this.invalidate()});this._handleKeyUp=t=>{if("Shift"===t.key){this._isShiftDown=!1;this._shouldClearOnShift=!0}};this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.ListBoxClsNames.hostElement}`,null,null);const i=this.hostElement;wijmo_1.setAttribute(i,"role","listbox",!0);this._updateAriaLabel();"SELECT"==this._orgTag&&this._initFromSelect(this.hostElement);this.addEventListener(i,"click",this._click.bind(this));this.addEventListener(i,"keydown",this._keydown.bind(this));this.addEventListener(i,"keypress",this._keypress.bind(this));this.addEventListener(i,"keyup",this._handleKeyUp.bind(this));this.addEventListener(i,"wheel",t=>{if(i.scrollHeight>i.offsetHeight&&(t.deltaY<0&&0==i.scrollTop||t.deltaY>0&&i.scrollTop+i.offsetHeight>=i.scrollHeight)){t.preventDefault();t.stopPropagation();t.stopImmediatePropagation()}});[this._eSizer,this._ePadTop,this._ePadBot].forEach(t=>{t.tabIndex=-1;wijmo_1.setAttribute(t,"aria-hidden",!0);wijmo_1.setCss(t,{pointerEvents:"none",opacity:"0"})});this.initialize(e);this._updateViewRange();this.addEventListener(this.hostElement,"scroll",t=>{this._updateViewRange()})}get ariaLabelledBy(){return this.hostElement.getAttribute("aria-labelledby")}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this.hostElement,t,this._updateAriaLabel.bind(this))}get itemsSource(){return this._items}set itemsSource(t){if(this._items!=t){if(this._cv){this._cv.currentChanged.removeHandler(this._cvCurrentChanged,this);this._cv.collectionChanged.removeHandler(this._cvCollectionChanged,this);this._cv=null}this._items=t;this._cv=wijmo_1.asCollectionView(t);if(null!=this._cv){this._cv.currentChanged.addHandler(this._cvCurrentChanged,this);this._cv.collectionChanged.addHandler(this._cvCollectionChanged,this)}this._populateList();this.onItemsChanged();this.onSelectedIndexChanged()}}get collectionView(){return this._cv}get virtualizationThreshold(){return this._vThreshold}set virtualizationThreshold(t){if(t!=this._vThreshold){const e=this._getVirtual();this._vThreshold=wijmo_1.asNumber(t,!1,!0);e!=this._getVirtual()&&this._populateList()}}get showGroups(){return this._shGroups}set showGroups(t){if(t!=this._shGroups){this._shGroups=wijmo_1.asBoolean(t);this._populateList()}}get isContentHtml(){return this._html}set isContentHtml(t){if(t!=this._html){this._html=wijmo_1.asBoolean(t);this._populateList()}}get itemFormatter(){return this._itemFormatter}set itemFormatter(t){if(t!=this._itemFormatter){this._itemFormatter=wijmo_1.asFunction(t);this._populateList()}}get displayMemberPath(){return this._pathDisplay.path}set displayMemberPath(t){if(t!=this.displayMemberPath){this._pathDisplay.path=wijmo_1.asString(t);this._populateList()}}get selectedValuePath(){return this._pathValue.path}set selectedValuePath(t){this._pathValue.path=wijmo_1.asString(t)}get checkedMemberPath(){return this._pathChecked.path}set checkedMemberPath(t){if(t!=this.checkedMemberPath){this._pathChecked.path=wijmo_1.asString(t);wijmo_1.setAttribute(this.hostElement,"aria-multiselectable",""!==this.checkedMemberPath?"true":"false");this._populateList()}}get caseSensitiveSearch(){return this._caseSensitive}set caseSensitiveSearch(t){this._caseSensitive=wijmo_1.asBoolean(t)}get itemRole(){return this._itemRole}set itemRole(t){if(t!=this.itemRole){this._itemRole=wijmo_1.asString(t);this._populateList()}}getDisplayValue(t,e){let i=null;if(t>-1&&wijmo_1.hasItems(this._cv)){i=this._cv.items[t];this.displayMemberPath&&(i=this._pathDisplay.getValue(i))}let s=null!=i?i.toString():"";this._itemFormatter&&!e&&(s=this._itemFormatter(t,s));return s}getDisplayText(t){return this._getDisplayText(t)}_getDisplayText(t,e){if(e&&this._ignoreItemFormatterTextArray[t])return this._ignoreItemFormatterTextArray[t];const i=this._getChild(t);return null!=i?i.textContent:""}isItemEnabled(t){var e=this._getChild(t);return null!=e&&!e.hasAttribute("disabled")&&!wijmo_1.hasClass(e,wijmo_1.ControlStateClsNames.disabled)&&!wijmo_1.hasClass(e,wijmo_1.UtilitesClsNames.separator)}get selectedIndex(){return this._cv?this._cv.currentPosition:-1}set selectedIndex(t){if(this._cv){this._oldSelectedIndex=this._cv.currentPosition;this._cv.moveCurrentToPosition(wijmo_1.asNumber(t))}}get selectedItem(){return this._cv?this._cv.currentItem:null}set selectedItem(t){this._cv&&this._cv.moveCurrentTo(t)}get selectedValue(){let t=this.selectedItem;t&&this.selectedValuePath&&(t=this._pathValue.getValue(t));return t}set selectedValue(t){let e=this._cv,i=e?e.items:null,s=this.selectedValuePath,o=-1;if(i){for(let e=0;e<i.length;e++){const n=i[e],a=s?this._pathValue.getValue(n):n;if(a===t||wijmo_1.DateTime.equals(a,t)){o=e;break}if(this.isContentHtml&&wijmo_1.isString(a)&&a.indexOf("<")>-1&&wijmo_1.toPlainText(a)===t){o=e;break}}this.selectedIndex=o}}get maxHeight(){const t=this.hostElement,e=t?parseFloat(t.style.maxHeight):null;return isNaN(e)?null:e}set maxHeight(t){const e=this.hostElement;if(e){t=wijmo_1.asNumber(t,!0);e.style.maxHeight=null==t?"":t+"px"}}showSelection(t=this.containsFocus()){let e=this.hostElement,i=this._children,s=this._getSelectedElement(!1),o=new wijmo_1.Rect(0,0,0,0);if(s!=this._oldSel){this._updateItemAttributes(s,!0);this._updateItemAttributes(this._oldSel,!1);this._oldSel=s}s instanceof HTMLElement?o=this._getBoundingClientRect(s):this._children.length>0&&(o=this._getBoundingClientRect(this._getChild(0)));let n=this._getBoundingClientRect(e),a=0;if(this._shGroups){a=this._itemHeight;if(!this._isVirtual){const t=i[0];t&&t.offsetHeight&&wijmo_1.hasClass(t,exports.ListBoxClsNames.header)&&(a=t.offsetHeight)}}o.bottom>n.bottom?e.scrollTop+=o.bottom-n.bottom:o.top<n.top+a&&(e.scrollTop-=n.top+a-o.top);this._updateViewRange();s=this._getSelectedElement(!0);wijmo_1.setAttribute(e,"aria-activedescendant",s?s.id:null);if(t){(s&&!wijmo_1.contains(s,wijmo_1.getActiveElement())?s:e).focus()}e.tabIndex=s?-1:this._orgTabIndex}loadList(){this._populateList()}getItemChecked(t){const e=this._cv.items[t],i=this._pathChecked;return wijmo_1.isObject(e)&&i.path?i.getValue(e):this._getCheckboxState(t)}setItemChecked(t,e){this._setItemChecked(t,e,!0)}toggleItemChecked(t){this.setItemChecked(t,!this.getItemChecked(t))}get checkedItems(){return this._checkedItems}set checkedItems(t){t=Array.from(new Set(t));const e=wijmo_1.asArray(t,!1);if(!this._arrayEquals(e,this._checkedItems)){this._updateCheckedList(e);if(!this._arrayEquals(e,this._checkedItems)){this._checkedItems=e;this.onCheckedItemsChanged()}}}indexOf(t){return(t=wijmo_1.closest(t,"."+exports.ListBoxClsNames.listBoxItem))?t[ListBox._DIDX_KEY]:-1}onSelectedIndexChanged(t){this.selectedIndexChanged.raise(this,t)}onItemsChanged(t){this.itemsChanged.raise(this,t)}onLoadingItems(t){this.loadingItems.raise(this,t)}onLoadedItems(t){this.loadedItems.raise(this,t)}onItemChecked(t){this.itemChecked.raise(this,t)}onCheckedItemsChanged(t){this.checkedItemsChanged.raise(this,t)}onFormatItem(t){this.formatItem.raise(this,t)}refresh(t=!0){super.refresh(t);if(this.hostElement){const t=this._cv?this._cv.items.length:0,e=this.formatItem.handlerCount;if(t!=this._itemCount||e!=this._fmtItemHandlers){this._fmtItemHandlers=e;this._populateList()}else this._updateViewRange()}}_updateAriaLabel(){this.hostElement&&(this.ariaLabelledBy?wijmo_1.setAriaLabel(this.hostElement,null):wijmo_1.setAriaLabel(this.hostElement,this._ariaLabel))}_updateCheckedList(t){let e=this._cv,i=this._pathChecked,s=new Map;if(i&&e){const o=e.sourceCollection;if(o&&o.length){wijmo_1.isObject(o[0])||(i=null);t.forEach(t=>{s.set(t,!0)});this._checking=!0;const e=[];o.forEach(t=>{const o=s.has(t);o&&e.push(t);i&&this._isNeedUpdateBnd&&i.setValue(t,o)});this._checking=!1;t=e}e.items.forEach((t,e)=>{this._setItemChecked(e,s.has(t),!1)})}}_getBoundingClientRect(t){if(!t.offsetHeight){let e=this.indexOf(t),i=this.hostElement;if(e>-1&&i){e=this._getElementIndex(e);const t=i.getBoundingClientRect();return new wijmo_1.Rect(0,t.top-i.scrollTop+e*this._itemHeight,t.width,this._itemHeight)}}return wijmo_1.Rect.fromBoundingRect(t.getBoundingClientRect())}_updateItemAttributes(t,e){if(t){const i=this.checkedMemberPath?"true"===t.getAttribute("aria-selected"):null;wijmo_1.toggleClass(t,wijmo_1.ControlStateClsNames.selected,e);this._isMenuItem()||wijmo_1.setAttribute(t,"aria-selected",this._getAriaSelected(e,i));t.tabIndex=e?this._orgTabIndex:-1}}_getCheckedItems(){let t=this._cv,e=this._pathChecked,i=[];t&&e&&e.path&&(i=t.sourceCollection.filter((i,s)=>{if(t.filter&&!t.filter(i))return!!this._addMode&&e.getValue(i);if(wijmo_1.isObject(i))return e.getValue(i);{const e=t.items[s]==i?s:t.items.indexOf(i);return this.getItemChecked(e)}}));return i}_arrayEquals(t,e){if(t==e)return!0;if(!t||!e||t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(!this._isEqual(t[i],e[i]))return!1;return!0}_getChild(t){t=this._getElementIndex(t);return this._children[t]}_getElementIndex(t){if(this._shGroups){const e=this._children;for(let i=0;i<=t&&i<e.length;i++){const s=e[i];wijmo_1.hasClass(s,exports.ListBoxClsNames.header)&&t++}}return t}_setItemChecked(t,e,i=!0){let s=this._cv.items[t],o=this._pathChecked,n=!1,a=this.selectedIndex,l=this._checking;if(wijmo_1.isObject(s)&&o.path){if(!!o.getValue(s)!=e){const t=wijmo_1.tryCast(this._cv,"IEditableCollectionView");n=!0;this._checking=!0;if(t){t.editItem(s);o.setValue(s,e);t.commitEdit()}else{o.setValue(s,e);t.refresh()}this._checking=l}}else if(i){const t=this._findArrayItem(this._checkedItems,s);(e&&t<0||!e&&t>=0)&&(n=!0)}this._setCheckboxState(t,e);if(i){if(n){this._checkedItems=this._checkedItemsUpdate(s,e);this.onItemChecked();this.onCheckedItemsChanged()}a!=this.selectedIndex&&this.onSelectedIndexChanged()}return n}_checkedItemsUpdate(t,e){const i=this._cv.sourceCollection,s=this._checkedItems;let o=0;if(e){for(let e=0;e<i.length;e++){const n=i[e];if(o<s.length&&this._isEqual(n,s[o]))o++;else if(this._isEqual(n,t))return s.slice(0,o).concat([t]).concat(s.slice(o))}return s}{const e=this._findArrayItem(s,t);return s.slice(0,e).concat(s.slice(e+1))}}_isEqual(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}_findArrayItem(t,e){if(!Number.isNaN(e))return t.indexOf(e);for(let e=0;e<t.length;e++)if(Number.isNaN(t[e]))return e;return-1}_cvCollectionChanged(){if(!this._checking){this._populateList();this.onItemsChanged()}}_cvCurrentChanged(){if(!this._checking){this.showSelection();this._ignoredItemChangedEvents||this.onSelectedIndexChanged()}}_populateList(){const t=this.hostElement,e=this._cv;this._itemCount=e?e.items.length:0;this._isVirtual=this._getVirtual();this._oldSel=null;this._itemsAbove=-1;this._itemsBelow=-1;if(t){let i,s=this.containsFocus();this.onLoadingItems();this._children=[];const o=this._children;t.textContent="";if(e){let s,n=0,a=[];this._ignoreItemFormatterTextArray=[];if(this._shGroups&&e.groups&&e.groups.length){i={};for(let t=0;t<e.groups.length;t++){const o=e.groups[t];i[n]=o;s=this._createHeaderItem(o,t);a.push(s);for(let e=0;e<o.items.length;e++,n++){s=this._createItem(n,t);a.push(s)}}}else for(let t=0;t<e.items.length;t++,n++){s=this._createItem(n);a.push(s)}let l=this._isVirtual?document.createElement("div"):t,h=0;wijmo_1.setInnerHTMLSafe(l,a.join(""));for(let t=0;t<l.children.length;t++){const i=l.children[t];h==e.currentPosition&&(this._oldSel=i);i[ListBox._DIDX_KEY]=i.className.indexOf(exports.ListBoxClsNames.header)<0?h++:-1;o.push(i)}}if(this.formatItem.hasHandlers&&e){let t=0,s=e.items,n=new FormatItemEventArgs(0,null,null);for(let e=0;e<o.length;e++){n._item=o[e];if(this._shGroups&&wijmo_1.hasClass(n._item,exports.ListBoxClsNames.header)){n._index=-1;n._data=i[t]}else{n._index=t;n._data=s[t++]}this.onFormatItem(n)}}if(this._isVirtual){let e=this._getCanvasContext(),i=null,s=0;for(let t=0;t<o.length;t++){const n=o[t],a=e.measureText(n.textContent);if(a.width>s){i=n;s=a.width}}if(i){let e=!1,s=t.style.display,n=t.style.position;if(!t.parentElement){e=!0;(this._container||document.body).appendChild(t);wijmo_1.setCss(t,{display:"",position:"absolute"})}t.appendChild(i);const a=i.style.whiteSpace;i.style.whiteSpace="nowrap";this._ePadTop.style.width=i.offsetWidth+"px";this._itemHeight=i.offsetHeight||this._itemHeight;i.style.whiteSpace=a;this._eSizer.style.height=o.length*this._itemHeight+"px";t.appendChild(this._eSizer);this._clientHeight=t.clientHeight;wijmo_1.removeChild(this._eSizer);if(e){wijmo_1.removeChild(t);wijmo_1.setCss(t,{display:s,position:n})}wijmo_1.removeChild(i)}else this._ePadTop.style.width="";this._updateViewRange()}this.checkedItems=this._getCheckedItems();const n=this._getSelectedElement(!0);if(s){(n||t).focus()}else n&&this.showSelection();t.tabIndex=n?-1:this._orgTabIndex;this.onLoadedItems()}}_getCanvasContext(){const t=document.createElement("canvas").getContext("2d"),e=getComputedStyle(this.hostElement);e.fontSize&&e.fontFamily&&(t.font=`${e.fontSize} ${e.fontFamily.split(",")[0]}`);return t}_getVirtual(){if(this._itemCount<=this._vThreshold)return!1;const t=this.hostElement;if(t){const e=getComputedStyle(t);if(parseInt(e.columnCount)>1||e.display.indexOf("flex")>-1||e.display.indexOf("grid")>-1)return!1}return!0}_getMaxSupportedCssHeight(){let t=265e5;wijmo_1.isIE()?t=15e5:wijmo_1.isFirefox()&&(t=175e5);return t}_updateViewRange(){const t=this.hostElement,e=this._itemHeight,i=this._children;if(!(t&&t.parentElement&&this._isVirtual&&i))return!1;const s=t.scrollTop;wijmo_1.assert(e*i.length<this._getMaxSupportedCssHeight(),`The number of items (${i.length}) exceeds the maximum number of items (${Math.floor(this._getMaxSupportedCssHeight()/e)}) allowed for this browser.`);const o=Math.max(t.clientHeight,this._clientHeight),n=Math.floor(s/e),a=Math.min(i.length,Math.ceil((s+o)/e)-n),l=Math.max(0,i.length-n-a);if(n==this._itemsAbove&&l==this._itemsBelow)return!1;this._itemsAbove=n;this._itemsBelow=l;const h=document.createDocumentFragment(),r=this.containsFocus();this._ePadTop.style.height=n*e+"px";h.appendChild(this._ePadTop);if(this.showGroups&&!wijmo_1.hasClass(i[n],exports.ListBoxClsNames.header))for(let t=n;t>=0;t--)if(wijmo_1.hasClass(i[t],exports.ListBoxClsNames.header)){h.appendChild(i[t]);break}for(let t=n;t<=n+a&&t<i.length;t++)h.appendChild(i[t]);this._ePadBot.style.height=l*e+"px";h.appendChild(this._ePadBot);t.textContent="";t.appendChild(h);const _=(n+a+l)*e-t.scrollHeight;this._ePadBot.style.height=this._ePadBot.offsetHeight-_+"px";const d=this._getSelectedElement(!0);if(r){(d||t).focus({preventScroll:!0})}t.tabIndex=d?-1:this._orgTabIndex;return!0}_getSelectedElement(t){let e=this.selectedIndex,i=this._getElementIndex(e),s=i>-1?this._children[i]:null;t&&s&&!s.offsetHeight&&(s=null);return s}_handleResize(){this._updateViewRange()}_createItem(t,e){const i=this._cv.items[t],s=t==this._cv.currentPosition;let o=this.getDisplayValue(t),n=this.getDisplayValue(t,void 0!==this.itemFormatter);if(1!=this._html){o=wijmo_1.escapeHtml(o);n=wijmo_1.escapeHtml(n)}n=n.replace(/\bstyle\s*=/gi,"data-style=");this._itemFormatterHelper.innerHTML=n;n=this._itemFormatterHelper.textContent;this._ignoreItemFormatterTextArray.push(n);let a=null;if(this.checkedMemberPath){a=!1;wijmo_1.isObject(i)?a=!!this._pathChecked.getValue(i):this._checkedItems&&(a=this._checkedItems.indexOf(i)>-1);o='<label class="wj-checklist-item"><span class="wj-checklist-base" role="checkbox" aria-hidden="true"><span class="wj-checklist-mark"></span></span><span class="wj-checklist-caption">'+o+"</span></label>"}let l=exports.ListBoxClsNames.listBoxItem;s&&(l+=" "+wijmo_1.ControlStateClsNames.selected);a&&(l+=" "+wijmo_1.ControlStateClsNames.checked);if(this._html){const t=[wijmo_1.UtilitesClsNames.separator,wijmo_1.ControlStateClsNames.disabled];if(o.indexOf(t[0])>-1||o.indexOf(t[1])>-1){const e=wijmo_1.createElement(o);t.forEach(t=>{wijmo_1.hasClass(e,t)&&(l+=" "+t)})}}const h="aria-describedby = listGroup-"+e;return`<div id="${"listitem-"+t}" class="${l}" \n role="${this.itemRole}" \n ${void 0!==e?h:""}\n ${this._getAriaSelected(s,a)&&!this._isMenuItem()?'aria-selected="true"':""} \n tabindex="${s&&!this.isDisabled?this._orgTabIndex:-1}">${o}</div>`}_getAriaSelected(t,e){return!!(null!=e?e:t)||null}_createHeaderItem(t,e){const i=wijmo_1.escapeHtml(t.name);return`<div id="${"listGroup-"+e}" class="${exports.ListBoxClsNames.listBoxItem} ${exports.ListBoxClsNames.header} ${wijmo_1.ControlStateClsNames.disabled}" role="group" tabindex="-1">`+i+"</div>"}_click(t){if(0==t.button&&!t.defaultPrevented){const e=this.indexOf(t.target);if(e>-1){this.selectedIndex=e;if(this.checkedMemberPath){const i=this._getCheckbox(e);if(i){const s=wijmo_1.closest(i,".wj-listbox-item");if(t.target==i||t.target==s){s.focus({preventScroll:!0});this.setItemChecked(e,i.checked)}}else{const t=this._children[this._getElementIndex(e)];if(t){t.focus({preventScroll:!0});this.setItemChecked(e,"true"!==t.getAttribute("aria-selected"))}}}else{wijmo_1.closest(t.target,"."+exports.ListBoxClsNames.listBoxItem).focus({preventScroll:!0})}}}}_keydown(t){const e=this.selectedIndex;if(!t.defaultPrevented){if(65==t.keyCode&&(t.ctrlKey||t.metaKey)){const e=this.collectionView;if(this.checkedMemberPath&&wijmo_1.hasItems(e)){const i=this._children,s=[];let o=!0;for(let t=0;t<i.length;t++){if(wijmo_1.hasClass(i[t],wijmo_1._CLS_STATE_DISABLED))continue;const n=e.items[t];s.push(n);o&&!this.checkedItems.includes(n)&&(o=!1)}s.length!==e.items.length?this.checkedItems=o?this.checkedItems.filter(t=>!s.includes(t)):[...this.checkedItems,...s]:this.checkedItems=this.checkedItems.length!=e.items.length?e.items:[];t.preventDefault();return}}if(!t.altKey&&!t.metaKey){t.shiftKey&&(this._isShiftDown=!0);switch(t.keyCode){case wijmo_1.Key.Down:t.preventDefault();this._selectNext(t.shiftKey);break;case wijmo_1.Key.Up:t.preventDefault();this._selectPrev(t.shiftKey);break;case wijmo_1.Key.Home:t.preventDefault();t.ctrlKey&&t.shiftKey?this._selectRange(0):this._selectFirst();break;case wijmo_1.Key.End:t.preventDefault();t.ctrlKey&&t.shiftKey?this._selectRange(this._children.length-1):this._selectLast();break;case wijmo_1.Key.PageDown:t.preventDefault();this._selectNextPage();break;case wijmo_1.Key.PageUp:t.preventDefault();this._selectPrevPage();break;case wijmo_1.Key.Space:if(this.checkedMemberPath&&e>-1){const i=this._children[this._getElementIndex(e)];if(i&&this.isItemEnabled(e)&&!i.hasAttribute("disabled")){const s="true"===i.getAttribute("aria-selected");this.setItemChecked(e,!s);t.preventDefault()}}}}}}_getCheckboxState(t){const e=this._children[this._getElementIndex(t)];if(e)return"true"===e.getAttribute("aria-selected")}_setCheckboxState(t,e){const i=this._getElementIndex(t),s=this._children[i];if(s){if(s.querySelector(".wj-checklist-mark")){s.setAttribute("aria-selected",e.toString());wijmo_1.toggleClass(s,wijmo_1.ControlStateClsNames.checked,e)}else{const t=this._getCheckbox(i);if(t){t.checked=e;const i=wijmo_1.closest(t,"."+exports.ListBoxClsNames.listBoxItem);if(i){wijmo_1.toggleClass(i,wijmo_1.ControlStateClsNames.checked,e);wijmo_1.setAttribute(i,"aria-selected",!!e||null)}}}}}_getCheckbox(t){const e=this._children;return this.hostElement&&t>-1&&t<e.length?e[t].querySelector("input[type=checkbox]"):null}_keypress(t){if(!t.defaultPrevented&&!(t.target instanceof HTMLInputElement)&&(t.charCode>32||32==t.charCode&&this._search)){t.preventDefault();this._search+=String.fromCharCode(t.charCode);this._toSearch&&clearTimeout(this._toSearch);this._toSearch=setTimeout(()=>{this._toSearch=null;this._search=""},wijmo_1.Control._SEARCH_DELAY);let e=this._findNext();if(e<0&&this._search.length>1){this._search=this._search[this._search.length-1];e=this._findNext()}e>-1&&(this.selectedIndex=e)}}_selectNext(t=!1){const e=this.selectedIndex,i=this._findNextEnabled(e+1);if(i>-1){t&&this._selectRange(i);this.selectedIndex=i}return i>-1}_selectPrev(t=!1){const e=this.selectedIndex,i=this._findPrevEnabled(e-1);if(i>-1){t&&this._selectRange(i);this.selectedIndex=i}return i>-1}_findNextEnabled(t){for(let e=t;e<this._children.length;e++)if(this.isItemEnabled(e))return e;return-1}_findPrevEnabled(t){for(let e=t;e>=0;e--)if(this.isItemEnabled(e))return e;return-1}_selectFirst(){for(let t=0;t<this._children.length;t++)if(this.isItemEnabled(t)){this.selectedIndex=t;return!0}return!1}_selectLast(){for(let t=this._children.length-1;t>=0;t--)if(this.isItemEnabled(t)){this.selectedIndex=t;return!0}return!1}_selectNextPage(){let t=this.hostElement.offsetHeight,e=this._children,i=this._cv?this._cv.items.length:0,s=0;if(t>0)for(let o=this.selectedIndex+1;o<i;o++){const i=e[o].scrollHeight||this._itemHeight;if(s+i>t&&this.isItemEnabled(o)){this.selectedIndex=o;return!0}s+=i}return this._selectLast()}_selectPrevPage(){let t=this.hostElement.offsetHeight,e=this._children,i=0;if(t>0)for(let s=this.selectedIndex-1;s>0;s--){const o=e[s].scrollHeight||this._itemHeight;if(i+o>t&&this.isItemEnabled(s)){this.selectedIndex=s;return!0}i+=o}return this._selectFirst()}_findNext(){if(this.hostElement){let t=this._children.length,e=this.selectedIndex;(e<0||1==this._search.length)&&e++;let i=this._search,s=this.caseSensitiveSearch;s||(i=i.toLowerCase());for(let o=0;o<t;o++){const n=(e+o)%t;if(this.isItemEnabled(n)){let t=this.getDisplayText(n).trim();s||(t=t.toLowerCase());if(0==t.indexOf(i))return n}}}return-1}_initFromSelect(t){let e=t.children,i=[],s=-1;for(let o=0;o<e.length;o++){const n=e[o];if("OPTION"==n.tagName){n.hasAttribute("selected")&&(s=i.length);n.innerHTML?i.push({hdr:n.innerHTML,val:n.getAttribute("value"),cmdParam:n.getAttribute("cmd-param")}):i.push({hdr:`<div class="${wijmo_1.UtilitesClsNames.separator}"></div>`});t.removeChild(n);o--}}if(i){this.displayMemberPath="hdr";this.selectedValuePath="val";this.itemsSource=i;this.selectedIndex=s}}_setIsDisabled(t){super._setIsDisabled(t);this._updateTabIndex()}_setTabOrder(t){super._setTabOrder(t);this.isDisabled||this._updateTabIndex()}_isMenuItem(){return"menuitem"===this.itemRole||"menuitemcheckbox"===this.itemRole||"menuitemradio"===this.itemRole}_updateTabIndex(){const t=this.hostElement,e=this._getSelectedElement(!0);if(e){e.tabIndex=this.isDisabled?-1:this._orgTabIndex;t.tabIndex=-1}else t.tabIndex=this.isDisabled?-1:this._orgTabIndex}_selectRange(t){if(-1===this.selectedIndex)return;if(this._shouldClearOnShift&&this._isShiftDown){this.checkedItems=[];this._shouldClearOnShift=!1}const e=Math.min(this.selectedIndex,t),i=Math.max(this.selectedIndex,t),s=this.collectionView.items.slice(e,i+1);this.checkedItems=Array.from(new Set([...this.checkedItems,...s]))}dispose(){if(this._cv){this._cv.collectionChanged.removeHandler(this._cvCollectionChanged,this);this._cv.currentChanged.removeHandler(this._cvCurrentChanged,this);this._cv=null}this._items=null;if(this._toSearch){clearTimeout(this._toSearch);this._toSearch=null}this._children=null;this._eSizer=null;this._ePadTop=null;this._ePadBot=null;this._itemFormatterHelper=null;this._ignoreItemFormatterTextArray=null;this._checkedItems=null;super.dispose()}}ListBox._DIDX_KEY="$WJ-DIDX";ListBox._VTHRESH=Number.MAX_VALUE/2;exports.ListBox=ListBox;class FormatItemEventArgs extends wijmo_1.EventArgs{constructor(t,e,i){super();this._index=wijmo_1.asNumber(t);this._data=e;this._item=wijmo_1.asType(i,HTMLElement,!0)}get index(){return this._index}get data(){return this._data}get item(){return this._item}}exports.FormatItemEventArgs=FormatItemEventArgs;wijmo_1._addCultureInfo("MultiSelectListBox",{filterPlaceholder:"Filter",selectAll:"Select All",ariaLabels:{multiSelectListBox:"Multi select list box"}});class MultiSelectListBox extends wijmo_1.Control{constructor(t,e){super(t);this._ariaLabel=wijmo_1.culture.MultiSelectListBox.ariaLabels.multiSelectListBox;this._selectAllLabel=null;this._filterPlaceholder=null;this._filterText="";this._checkOnFilter=!0;this._delay=wijmo_1.Control._SEARCH_DELAY;this.checkedItemsChanged=new wijmo_1.Event;this.selectedIndexChanged=new wijmo_1.Event;const i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.MultiSelectListBoxClsNames.hostElement}`,i,{_selectAll:"select-all",_filter:"filter",_lbHost:"list-box"});this._selectAll.style.display="none";this._filter.style.display="none";this._lbx=new ListBox(this._lbHost,{checkedMemberPath:MultiSelectListBox._DEF_CHECKED_PATH,loadedItems:()=>this._updateCheckAllCheckbox(),checkedItemsChanged:t=>this.onCheckedItemsChanged(t),selectedIndexChanged:()=>this.onSelectedIndexChanged()});this._cbSelectAll=this._selectAll.querySelector("input[type=checkbox]");this._spSelectAll=this._selectAll.querySelector("label>span");const s=wijmo_1.culture.MultiSelectListBox;wijmo_1.setText(this._spSelectAll,s.selectAll);this._filter.placeholder=s.filterPlaceholder;this.initialize(e);this.addEventListener(this._filter,"input",()=>{if(this._filter.value!=this._filterText){this._filterText=this._filter.value;this._toSearch&&clearTimeout(this._toSearch);this._toSearch=setTimeout(()=>{this._toSearch=null;this._applyFilter()},this.delay)}});this.addEventListener(this._cbSelectAll,"click",t=>{const e=this._lbx.collectionView;wijmo_1.hasItems(e)&&(this.checkedItems=t.target.checked?e.items:[])});this.addEventListener(this.hostElement,"keydown",t=>{const e=this.showFilterInput?this._filter:null,i=this._lbx;if(e&&t.keyCode==wijmo_1.Key.F3){wijmo_1.setSelectionRange(e,0,e.value.length);t.preventDefault()}if(wijmo_1.getActiveElement()==e){let e=!t.altKey;switch(t.keyCode){case wijmo_1.Key.Escape:case wijmo_1.Key.F4:case wijmo_1.Key.Tab:e=!1}e&&t.stopPropagation()}if(!i.containsFocus())switch(t.keyCode){case wijmo_1.Key.Up:case wijmo_1.Key.Down:this._lbx.focus();if(!t.altKey){const e=i.selectedIndex+(t.keyCode==wijmo_1.Key.Up?-1:1);i.selectedIndex=Math.max(0,e)}t.preventDefault()}},!0);this.hostElement.tabIndex=-1;this._lbx.tabOrder=this._orgTabIndex;this._updateAriaLabel()}static get controlTemplate(){MultiSelectListBox._ctrlTemplate||(MultiSelectListBox._ctrlTemplate=`<div class="${wijmo_1.ControlClsNames.template} ${exports.ListBoxClsNames.hostElement}"><input wj-part="filter" class="${wijmo_1.InputFormElementsClsNames.formControl}" tabindex="-1"><div wj-part="select-all" class="${exports.MultiSelectListBoxClsNames.header} ${exports.MultiSelectListBoxClsNames.selectAll} ${exports.ListBoxClsNames.listBoxItem}"><label><input type="checkbox" tabindex="-1"> <span></span></label></div><div wj-part="list-box"/></div>`);return MultiSelectListBox._ctrlTemplate}static set controlTemplate(t){MultiSelectListBox._ctrlTemplate=t}get itemsSource(){return this._lbx.itemsSource}set itemsSource(t){this._lbx.itemsSource=t}get collectionView(){return this._lbx.collectionView}get virtualizationThreshold(){return this._lbx.virtualizationThreshold}set virtualizationThreshold(t){this._lbx.virtualizationThreshold=t}get displayMemberPath(){return this._lbx.displayMemberPath}set displayMemberPath(t){this._lbx.displayMemberPath=t}get isContentHtml(){return this._lbx.isContentHtml}set isContentHtml(t){this._lbx.isContentHtml=t}get caseSensitiveSearch(){return this._lbx.caseSensitiveSearch}set caseSensitiveSearch(t){this._lbx.caseSensitiveSearch=t}get delay(){return this._delay}set delay(t){this._delay=wijmo_1.asNumber(t,!1,!0)}get showGroups(){return this._lbx.showGroups}set showGroups(t){this._lbx.showGroups=t}get checkOnFilter(){return this._checkOnFilter}set checkOnFilter(t){if(t!=this.checkOnFilter){this._checkOnFilter=wijmo_1.asBoolean(t);this.checkedItems=[]}}get selectedIndex(){return this._lbx.selectedIndex}set selectedIndex(t){this._lbx.selectedIndex=t}get listBox(){return this._lbx}get showFilterInput(){return""==this._filter.style.display}set showFilterInput(t){if(t!=this.showFilterInput){this._filter.style.display=wijmo_1.asBoolean(t)?"":"none";if(!this.showFilterInput){this._filter.value="";this._applyFilter()}}}get filterInputPlaceholder(){return this._filterPlaceholder}set filterInputPlaceholder(t){if(t!=this._filterPlaceholder){this._filterPlaceholder=wijmo_1.asString(t);this.refresh()}}get showSelectAllCheckbox(){return""==this._selectAll.style.display}set showSelectAllCheckbox(t){this._selectAll.style.display=wijmo_1.asBoolean(t)?"":"none"}get selectAllLabel(){return this._selectAllLabel}set selectAllLabel(t){if(t!=this._selectAllLabel){this._selectAllLabel=wijmo_1.asString(t);this.refresh()}}get checkedMemberPath(){const t=this.listBox.checkedMemberPath;return t!=MultiSelectListBox._DEF_CHECKED_PATH?t:null}set checkedMemberPath(t){t=wijmo_1.asString(t);this.listBox.checkedMemberPath=t||MultiSelectListBox._DEF_CHECKED_PATH}get checkedItems(){return this.listBox.checkedItems}set checkedItems(t){this.listBox.checkedItems=wijmo_1.asArray(t)}get ariaLabelledBy(){return this.hostElement.getAttribute("aria-labelledby")}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this.hostElement,t,this._updateAriaLabel.bind(this))}_updateAriaLabel(){const t=wijmo_1.culture.MultiSelectListBox;wijmo_1.setAriaLabel(this._selectAll,t.selectAll);wijmo_1.setAriaLabel(this._filter,t.filterPlaceholder);this.hostElement&&(this.ariaLabelledBy?wijmo_1.setAriaLabel(this.hostElement,null):wijmo_1.setAriaLabel(this.hostElement,this._ariaLabel))}onCheckedItemsChanged(t){this._updateCheckAllCheckbox();this.checkedItemsChanged.raise(this,t);t._items&&"object"==typeof t._items[0]&&(this.checkedMemberPath||MultiSelectListBox._DEF_CHECKED_PATH)in t._items[0]&&setTimeout(()=>{this._lbx._updateCheckedList(this.checkedItems)},0)}onSelectedIndexChanged(t){this.selectedIndexChanged.raise(this,t)}refresh(t=!0){super.refresh(t);if(this.hostElement){const t=wijmo_1.culture.MultiSelectListBox;this._filter.placeholder=null!=this._filterPlaceholder?this._filterPlaceholder:t.filterPlaceholder;this._spSelectAll&&wijmo_1.setText(this._spSelectAll,null!=this._selectAllLabel?this._selectAllLabel:t.selectAll);this._updateCheckAllCheckbox()}}dispose(){this.listBox.dispose();super.dispose()}_applyFilter(){const t=this._lbx,e=t.collectionView,i=this._filter.value,s=i?new RegExp(wijmo_1.escapeRegExp(i),t.caseSensitiveSearch?"":"i"):null,o=this.displayMemberPath,n=o?new wijmo_1.Binding(o):null,a=this.checkOnFilter?null:this.checkedItems;e.filter=t=>{if(null!=s){if(a&&a.indexOf(t)>-1)return!0;n&&(t=n.getValue(t));this.isContentHtml&&(t=wijmo_1.toPlainText(t));return null!=t&&s.test(t.toString())}return!0};t.selectedIndex=Math.max(0,t.selectedIndex);this._checkOnFilter&&(this.checkedItems=s?e.items:[])}_updateCheckAllCheckbox(){const t=this._lbx.collectionView,e=this._cbSelectAll;if(wijmo_1.hasItems(t)){const i=t.items.length,s=this.checkedItems.length;wijmo_1.setChecked(e,s==i||0!=s&&null);e.disabled=!1}else{wijmo_1.setChecked(e,!1);e.checked=!1;e.disabled=!0}}_setIsDisabled(t){super._setIsDisabled(t);this.hostElement.tabIndex=-1;this.isDisabled?this._lbx.tabOrder=-1:this._lbx.tabOrder=this._orgTabIndex}_setTabOrder(t){this._orgTabIndex=t;this._lbx.tabOrder=t}tryForceClearDelayAndFilter(){if(this._toSearch){const t=this._delay;this._filterText=this._filter.value;this._toSearch&&clearTimeout(this._toSearch);this._toSearch=setTimeout(()=>{this._toSearch=null;this._applyFilter()},0);this._delay=t}}onLostFocus(){this.tryForceClearDelayAndFilter();super.onLostFocus()}}MultiSelectListBox._DEF_CHECKED_PATH="$checked";MultiSelectListBox._ctrlTemplate="";exports.MultiSelectListBox=MultiSelectListBox;wijmo_1._addCultureInfo("Calendar",{ariaLabels:{calendar:"Calendar",chooseDate:"Choose Date",chooseMonth:"Choose Month",monthView:"Month View",yearView:"Year View",selectYear:"Select Year",prvMo:"Previous Month",today:"Select Today",nxtMo:"Next Month",prvYr:"Previous Year",currMo:"Current Month",nxtYr:"Next Year"},buttons:{ok:"OK",cancel:"Cancel"}});!function(t){t[t.None=0]="None";t[t.Day=1]="Day";t[t.Month=2]="Month";t[t.Range=3]="Range"}(DateSelectionMode=exports.DateSelectionMode||(exports.DateSelectionMode={}));!function(t){t[t.None=0]="None";t[t.FirstMonth=1]="FirstMonth";t[t.LastMonth=2]="LastMonth";t[t.FirstAndLastMonths=3]="FirstAndLastMonths";t[t.AllMonths=4]="AllMonths";t[t.Outside=5]="Outside"}(ShowMonthPicker=exports.ShowMonthPicker||(exports.ShowMonthPicker={}));!function(t){t[t.None=0]="None";t[t.All=1]="All"}(CalendarTabKeyAction=exports.CalendarTabKeyAction||(exports.CalendarTabKeyAction={}));class Calendar extends wijmo_1.Control{constructor(t,e){super(t);this._yrPicker=!0;this._mtPicker=ShowMonthPicker.FirstMonth;this._wksBefore=0;this._wksAfter=0;this._rngMin=0;this._rngMax=0;this._min=null;this._max=null;this._readOnly=!1;this._handleWheel=!0;this._fdw=null;this._selMode=DateSelectionMode.Day;this._ariaLabel=wijmo_1.culture.Calendar.ariaLabels.calendar;this._tmYrHidden=0;this._fmtYrMo="y";this._fmtYr="yyyy";this._fmtDayHdr="ddd";this._fmtDay="d ";this._fmtMonths="MMM";this._fmtDayTitle="dddd";this.valueChanged=new wijmo_1.Event;this.rangeEndChanged=new wijmo_1.Event;this.rangeChanged=new wijmo_1.Event;this.displayMonthChanged=new wijmo_1.Event;this.formatItem=new wijmo_1.Event(()=>{this.invalidate()});this._updateCellFocus=(t,e)=>{wijmo_1.toggleClass(t,exports.CalendarClsNames.focused,e);wijmo_1.setAttribute(t,"tabIndex",e?"0":"-1");e&&this.containsFocus()&&!this._isButtonFocused()&&t.focus()};this.cancelButtonClicked=new wijmo_1.Event;this.OKButtonClicked=new wijmo_1.Event;this._enterKeyDownToSetValue=new wijmo_1.Event;this._value=this._rngEnd=wijmo_1.DateTime.newDate();this._month=this._getMonth(this._value);this._cals=[this];this._createChildren();this._createYearPicker();const i=this.hostElement,s=this.addEventListener.bind(this);s(i,"keydown",this._keydown.bind(this));s(i,"click",this._click.bind(this));this._focusValue=wijmo_1.DateTime.newDate();wijmo_1.setAttribute(i,"role","application");wijmo_1.setAttribute(this.hostElement,"aria-label",this._ariaLabel);this._keyActionTab=CalendarTabKeyAction.None;this._rptUp=new wijmo_1._ClickRepeater(this._btnPrv);this._rptDn=new wijmo_1._ClickRepeater(this._btnNxt);this.addEventListener(i,"wheel",t=>{if(this.handleWheel&&!t.defaultPrevented&&!this.isReadOnly&&this.containsFocus()){t.deltaY<0?this._btnPrv.click():this._btnNxt.click();t.preventDefault()}});this.initialize(e);this.refresh(!0)}static get controlTemplate(){Calendar._ctrlTemplate||(Calendar._ctrlTemplate=`<div class="${wijmo_1.ControlClsNames.content} ${exports.CalendarClsNames.calendarOuter}"><div wj-part="tbl-header" class=${exports.CalendarClsNames.calendarHeader}><div wj-part="btn-month" class=${exports.CalendarClsNames.monthSelect} role="button" aria-live="polite"><span wj-part="span-month"></span> <span class=${wijmo_1.GlyphClsNames.down}></span></div><div class="${wijmo_1.InputFormElementsClsNames.btnGroup}"><button wj-part="btn-prev" class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1"><span class=${wijmo_1.GlyphClsNames.left}></span></button><button wj-part="btn-today" class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1"><span class=${wijmo_1.GlyphClsNames.circle}></span></button><button wj-part="btn-next" class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1"><span class=${wijmo_1.GlyphClsNames.right}></span></button></div></div><table wj-part="tbl-month" class=${exports.CalendarClsNames.calendarMonth} role="grid"></table><table wj-part="tbl-year" class=${exports.CalendarClsNames.calendarYear} role="grid"></table></div>`);return Calendar._ctrlTemplate}static set controlTemplate(t){Calendar._ctrlTemplate=t}get value(){return this._value}set value(t){if((!wijmo_1.DateTime.sameDate(t,this._value)||!wijmo_1.DateTime.sameTime(t,this._value))&&(!(this.showConfirmationButtons&&wijmo_1.DateTime.sameDate(t,this.rangeEnd)&&wijmo_1.DateTime.sameTime(t,this.rangeEnd))||this._isSpaceDownForSetValue)){this._clearingRangeEnd=!wijmo_1.DateTime.equals(this._value,t);this.rangeEnd=null;this._clearingRangeEnd=!1;t=wijmo_1.asDate(t,!0);t=this._clamp(t);if(this._valid(t)||null==t){this.ensureVisible(t||new Date);if(!wijmo_1.DateTime.equals(this._value,t)){this._value=t;this.focusMode&&(this._focusValue=t);this.invalidate(!1);this.onValueChanged()}}if(!this.value){const t=this.min,e=this.max,i=this.displayMonth;e&&e<i?this.ensureVisible(e):t&&t>i&&this.ensureVisible(t)}}}get focusValue(){return this._focusValue}set focusValue(t){t=wijmo_1.asDate(t,!0);t=this._clamp(t);if(this._valid(t)||null==t){this.ensureVisible(t||new Date);this._focusValue=t;this._getCalendars().forEach(e=>{e._focusValue=t});this.invalidate(!1)}}get rangeEnd(){return this._rngEnd}set rangeEnd(t){t=wijmo_1.asDate(t,!0);if((t=this._clamp(t))&&this._value&&this._rngMode()){t<this._value&&(t=this._value);const e=this._rngMin,i=this._rngMax;if(e&&e>0||i&&i>0){const s=this._value,o=Math.ceil((t.getTime()-s.getTime())/864e5)+1;e&&e>0&&o<e&&(t=wijmo_1.DateTime.addDays(s,e-1));i&&i>0&&o>i&&(t=wijmo_1.DateTime.addDays(s,i-1))}}if((this._valid(t)||null==t)&&!wijmo_1.DateTime.equals(this._rngEnd,t)){this._rngEnd=t;this.ensureVisible(t);this.invalidate(!1);this._clearingRangeEnd||this.onRangeEndChanged()}}get rangeMin(){return this._rngMin}set rangeMin(t){if((t=wijmo_1.asNumber(t,!0,!0))!=this._rngMin){this._rngMin=t;this._syncProp(this,"rangeMin");this._rngMode()&&this._rngEnd&&(this.rangeEnd=this._rngEnd)}}get rangeMax(){return this._rngMax}set rangeMax(t){if((t=wijmo_1.asNumber(t,!0,!0))!=this._rngMax){this._rngMax=t;this._syncProp(this,"rangeMax");this._rngMode()&&this._rngEnd&&(this.rangeEnd=this._rngEnd)}}get min(){return this._min}set min(t){if((t=wijmo_1.asDate(t,!0))!=this.min){this._min=t;this._syncProp(this,"min");this.refresh();!this.value&&t&&t>this.displayMonth&&this.ensureVisible(t)}}get max(){return this._max}set max(t){if((t=wijmo_1.asDate(t,!0))!=this.max){this._max=t;this._syncProp(this,"max");this.refresh();!this.value&&t&&t<this.displayMonth&&this.ensureVisible(t)}}get selectionMode(){return this._selMode}set selectionMode(t){const e=DateSelectionMode;if((t=wijmo_1.asEnum(t,e))!=this._selMode){this._selMode=t;this._mthMode()&&(this.monthView=!1);t!=e.Range||this._rngEnd||(this._rngEnd=this._value);this.refresh();this._syncProp(this,"selectionMode")}}get isReadOnly(){return this._readOnly}set isReadOnly(t){this._readOnly=wijmo_1.asBoolean(t);wijmo_1.toggleClass(this.hostElement,wijmo_1.ControlStateClsNames.readOnly,this.isReadOnly);this._syncProp(this,"isReadOnly")}get handleWheel(){return this._handleWheel}set handleWheel(t){if(this._handleWheel!=t){this._handleWheel=wijmo_1.asBoolean(t);this._syncProp(this,"handleWheel")}}get repeatButtons(){return!this._rptUp.disabled}set repeatButtons(t){this._rptUp.disabled=this._rptDn.disabled=!wijmo_1.asBoolean(t);this._syncProp(this,"repeatButtons")}get showYearPicker(){return this._yrPicker}set showYearPicker(t){if(t!=this._yrPicker){this._yrPicker=wijmo_1.asBoolean(t);this._syncProp(this,"showYearPicker")}}get showMonthPicker(){return this._mtPicker}set showMonthPicker(t){if(t!=this._mtPicker){const e=ShowMonthPicker;wijmo_1.isBoolean(t)&&(t=t?e.FirstMonth:e.None);this._mtPicker=wijmo_1.asEnum(t,e);wijmo_1.toggleClass(this.hostElement,wijmo_1.InputFormElementsClsNames.btnsOutside,this._getShowMonthPicker()==e.Outside);this.refresh();this._syncProp(this,"showMonthPicker")}}get firstDayOfWeek(){return this._fdw}set firstDayOfWeek(t){if(t!=this._fdw){if((t=wijmo_1.asNumber(t,!0))&&(t>6||t<0))throw"firstDayOfWeek must be between 0 and 6 (Sunday to Saturday).";this._fdw=t;this.refresh();this._syncProp(this,"firstDayOfWeek")}}get displayMonth(){return this._month}set displayMonth(t){t=wijmo_1.asDate(t);t=this._getMonth(t);const e=this._getDisplayMonthRange();e.to&&t>e.to&&(t=e.to);e.from&&t<e.from&&(t=e.from);if(!wijmo_1.DateTime.equals(this.displayMonth,t)){this._month=t;this.invalidate(!0);this.onDisplayMonthChanged()}}get monthCount(){const t=this.hostElement;return t?t.querySelectorAll("."+exports.CalendarClsNames.hostElement).length+1:0}set monthCount(t){const e=this.hostElement;if(t!=this.monthCount&&e){const i=e.querySelectorAll("."+exports.CalendarClsNames.hostElement);t=wijmo_1.asInt(t,!1);wijmo_1.assert(t>0,"monthCount must be >= 1.");wijmo_1.assert(1==t||!wijmo_1.closest(e.parentElement,"."+exports.CalendarClsNames.hostElement),"Only top-level calendars can set monthCount.");for(let t=0;t<i.length;t++){const e=i[t];wijmo_1.removeChild(e);this._getCalendar(e).dispose()}this._cals=[this];for(let i=1;i<t;i++){const t=new Calendar(document.createElement("div"),{itemFormatter:this.itemFormatter,itemValidator:this.itemValidator,formatItem:(t,e)=>this.onFormatItem(e)});t._selMode=this._selMode;t._value=this._value;t._rngEnd=this._rngEnd;for(const e in this)if(!/^(_.*|constructor|displayMonth|monthCount|hostElement|rightToLeft|isUpdating|isTouching|keyActionTab)$/.test(e)){const i=this[e];wijmo_1.isFunction(i)||i instanceof wijmo_1.Event||(t[e]=i)}this._cals.push(t);e.appendChild(t.hostElement)}this.updateCalendarsTabindex();wijmo_1.toggleClass(e,exports.CalendarClsNames.calendarMultiMonth,t>1);this._syncProp(this,"displayMonth")}}get formatYearMonth(){return this._fmtYrMo}set formatYearMonth(t){if(t!=this._fmtYrMo){this._fmtYrMo=wijmo_1.asString(t);this._syncProp(this,"formatYearMonth");this.invalidate()}}get formatDayHeaders(){return this._fmtDayHdr}set formatDayHeaders(t){if(t!=this._fmtDayHdr){this._fmtDayHdr=wijmo_1.asString(t);this._syncProp(this,"formatDayHeaders");this.invalidate()}}get formatDays(){return this._fmtDay}set formatDays(t){if(t!=this._fmtDay){this._fmtDay=wijmo_1.asString(t);this._syncProp(this,"formatDays");this.invalidate()}}get formatYear(){return this._fmtYr}set formatYear(t){if(t!=this._fmtYr){this._fmtYr=wijmo_1.asString(t);this._syncProp(this,"formatYear");this.invalidate()}}get formatMonths(){return this._fmtMonths}set formatMonths(t){if(t!=this._fmtMonths){this._fmtMonths=wijmo_1.asString(t);this._syncProp(this,"formatMonths");this.invalidate()}}get showHeader(){return"none"!=this._tbHdr.style.display}set showHeader(t){if(t!=this.showHeader){this._tbHdr.style.display=wijmo_1.asBoolean(t)?"":"none";this._syncProp(this,"showHeader")}}get monthView(){return"none"!=this._tbMth.style.display}set monthView(t){if(t!=this.monthView){this._tbMth.style.display=t?"":"none";this._tbYr.style.display=t?"none":"";if(!t&&this.isThisMainCalendar()){const t=this.focusValue.getDate(),e=wijmo_1.DateTime.clone(this.displayMonth);e.setDate(t);this.focusValue=e}this.refresh();const e=wijmo_1.culture.Calendar.ariaLabels;wijmo_1.setAriaLabel(this._btnPrv,t?e.prvMo:e.prvYr);wijmo_1.setAriaLabel(this._btnTdy,t?e.today:e.currMo);wijmo_1.setAriaLabel(this._btnNxt,t?e.nxtMo:e.nxtYr);wijmo_1.setAriaLabel(this._btnMth,t?e.monthView:e.yearView);this._updateMonthButtonAria();this._syncProp(this,"monthView")}}get weeksBefore(){return this._wksBefore}set weeksBefore(t){if(t!=this._wksBefore){this._wksBefore=Math.floor(wijmo_1.asNumber(t,!1,!0));this._syncProp(this,"weeksBefore");this.invalidate()}}get weeksAfter(){return this._wksAfter}set weeksAfter(t){if(t!=this._wksAfter){this._wksAfter=Math.floor(wijmo_1.asNumber(t,!1,!0));this._syncProp(this,"weeksAfter");this.invalidate()}}get itemFormatter(){return this._itemFormatter}set itemFormatter(t){if(t!=this._itemFormatter){this._itemFormatter=wijmo_1.asFunction(t);this._syncProp(this,"itemFormatter");this.invalidate()}}get itemValidator(){return this._itemValidator}set itemValidator(t){if(t!=this._itemValidator){this._itemValidator=wijmo_1.asFunction(t);this._syncProp(this,"itemValidator");this.invalidate()}}hitTest(t){const e=t instanceof MouseEvent?t.target:t instanceof Element?t:null;wijmo_1.assert(null!=e,"MouseEvent or Element expected");return e?e[Calendar._DATE_KEY]:null}ensureVisible(t){if(null!=t){const e=this._getCalendars(),i=e.indexOf(this),s=e[0],o=e[e.length-1];t<s.displayMonth||!this.monthView&&this.focusMode?this.displayMonth=wijmo_1.DateTime.addMonths(this._getMonth(t),i):t>o.displayMonth&&(this.displayMonth=wijmo_1.DateTime.addMonths(this._getMonth(t),i-e.length+1))}}onValueChanged(t){this.valueChanged.raise(this,t);this._syncProp(this,"value")}onRangeEndChanged(t){this.rangeEndChanged.raise(this,t);this._syncProp(this,"rangeEnd");this._value&&this._rngEnd&&this.onRangeChanged(t)}onRangeChanged(t){this.rangeChanged.raise(this,t)}onDisplayMonthChanged(t){this.displayMonthChanged.raise(this,t);this._syncProp(this,"displayMonth")}onFormatItem(t){this.formatItem.raise(this,t)}_containsFocusImpl(t){return super._containsFocusImpl(t)||this._lbYears._containsFocusImpl(t)}dispose(){this._rptUp.element=null;this._rptDn.element=null;this._lbYears.dispose();super.dispose()}refresh(t=!0){const e=this.hostElement,i=this.containsFocus();if(!e)return;super.refresh(t);t&&this._updateContent();this._updateSelection();const s=this._getDisplayMonthRange(),o=this.displayMonth,n=null==s.from||o>s.from,a=null==s.to||o<s.to;wijmo_1.enable(this._btnPrv,n);wijmo_1.enable(this._btnNxt,a);n&&a||this.containsFocus()||this.focus();let l=!0;const h=wijmo_1.DateTime.newDate(),r=this._min&&this._min>h,_=this._max&&this._max<h;(r||_)&&(l=!1);wijmo_1.enable(this._btnTdy,l);if(i&&!this._isButtonFocused()){const t=(this.monthView?this._tbMth:this._tbYr).querySelector("td."+wijmo_1.ControlStateClsNames.selected)||e;t&&!this.focusMode&&t.focus()}const d=this._getCalendars();d.length>1&&this.isThisMainCalendar()&&d.forEach((e,i)=>{i>0&&e.refresh(t)})}_getShowMonthPicker(){const t=ShowMonthPicker,e=this._getCalendars(),i=e.indexOf(this),s=this.showMonthPicker;switch(s){case t.FirstMonth:case t.Outside:return 0==i?s:0;case t.LastMonth:return i==e.length-1?s:0;case t.FirstAndLastMonths:return 0==i||i==e.length-1?s:0;case t.AllMonths:return s}return 0}_getDisplayMonthRange(){const t={from:null,to:null};if(this.min||this.max){const e=this._getCalendars(),i=e.indexOf(this),s=this._mthMode()?wijmo_1.DateTime.addYears:wijmo_1.DateTime.addMonths;this.min&&(t.from=s(this._getMonth(this.min),i));this.max&&(t.to=s(this._getMonth(this.max),i-e.length+1))}return t}_getCalendar(t){return wijmo_1.Control.getControl(t)}_getCalendars(){const t=wijmo_1.closest(this.hostElement,"."+exports.CalendarClsNames.calendarMultiMonth);return(t?this._getCalendar(t):this)._cals}_syncProp(t,e){if(!this._syncing){const i=this._getCalendars();if(i&&i.length>1){let s=t[e],o=this._mthMode()?wijmo_1.DateTime.addYears:wijmo_1.DateTime.addMonths;"displayMonth"==e&&(s=o(s,-i.indexOf(t)));i[0].deferUpdate(()=>{this._syncing=!0;i.forEach((i,n)=>{if(i!=t){const t=i.displayMonth;i[e]="displayMonth"==e?o(s,n):s;if("value"==e){i.displayMonth=t;this._rngMode()&&(i.rangeEnd=null)}}});this._syncing=!1})}}}_updateContent(){const t=this.displayMonth,e=wijmo_1.Globalize.format,i=wijmo_1.DateTime,s=this._getShowMonthPicker();wijmo_1.setText(this._spMth,e(t,this._fmtYrMo));const o=this._btnMth.querySelector("."+wijmo_1.GlyphClsNames.down);o&&(o.style.display=this._mthMode()||!s?"none":"");const n=wijmo_1.closest(this._btnTdy,"."+wijmo_1.InputFormElementsClsNames.btnGroup);n&&(n.style.display=s?"":"none");const a=null!=this._fdw?this._fdw:wijmo_1.Globalize.getFirstDayOfWeek(),l=i.addDays(t,-(t.getDay()-a+7)%7),h=i.monthLast(t);let r=this._tbMth.querySelectorAll("th");this._updateMonthButtonAria();for(let t=0;t<7&&t<r.length;t++){const s=i.addDays(l,t);wijmo_1.setText(r[t],e(s,this._fmtDayHdr));wijmo_1.setAttribute(r[t],"tabIndex","-1");wijmo_1.setAttribute(r[t],"abbr",e(s,this._fmtDayTitle))}let _=!1;this._dateViewContainsFocus()&&(_=!0);const d=this._tbMth.querySelectorAll("tr");for(let t=1;t<d.length;t++)wijmo_1.removeChild(d[t]);_&&this.focus();let u=i.addDays(l,-7*this._wksBefore);for(let t=0;t<this._wksBefore;t++)u=this._addWeek(u,exports.CalendarClsNames.weekBefore);for(;u<=h;)u=this._addWeek(u);for(let t=0;t<this._wksAfter;t++)u=this._addWeek(u,exports.CalendarClsNames.weekAfter);r=this._tbYr.querySelectorAll("td");const m=this._tbYr.querySelectorAll("th");m.length&&wijmo_1.setText(m[0],e(t,this._fmtYr));for(let s=0;s<r.length;s++){u=i.newDate(t.getFullYear(),s,1);const o=r[s],n=!this._monthInValidRange(u);o[Calendar._DATE_KEY]=u;const a=wijmo_1.Globalize.format(u,"MMMM yyyy");wijmo_1.setText(o,e(u,this._fmtMonths));wijmo_1.toggleClass(o,wijmo_1.ControlStateClsNames.disabled,n);wijmo_1.setAriaLabel(o,a);wijmo_1.setAttribute(o,"tabIndex","-1");wijmo_1.setAttribute(o,"abbr",a)}this._confirmationButtonContainer&&(this._confirmationButtonContainer.style.display=this.showConfirmationButtons?"":"none");this._updateButtonTabIndex()}_updateSelection(){const t=Calendar._DATE_KEY,e=wijmo_1.DateTime;let i=this._tbMth.querySelectorAll("td");for(let s=0;s<i.length;s++){let o=this.rangeEnd;this._rngMode()||(o=null);const n=i[s],a=n[t],l=this.value,h=this._selMode&&null!=l&&e.sameDate(a,l),r=this._selMode&&null!=l&&e.sameDate(a,o),_=this._selMode&&null!=l&&a>l&&null!=o&&a<=o;wijmo_1.toggleClass(n,wijmo_1.ControlStateClsNames.selected,h);wijmo_1.toggleClass(n,wijmo_1.ControlStateClsNames.multiSelected,_);wijmo_1.toggleClass(n,wijmo_1.ControlStateClsNames.lastSelected,r);wijmo_1.setAttribute(n,"aria-selected",!!h||null);this._customizeCell(s,a,n)}i=this._tbYr.querySelectorAll("td");for(let e=0;e<i.length;e++){const s=i[e],o=s[t],n=this._sameMonth(o,this.value);wijmo_1.toggleClass(s,wijmo_1.ControlStateClsNames.selected,n);wijmo_1.setAttribute(s,"aria-selected",!!n||null)}this.focusMode&&!0!==this.isDisabled&&-1!==this.tabOrder&&this._updateFocusInAccessibilityMode()}_updateFocusInAccessibilityMode(){const t=Calendar._DATE_KEY,e=wijmo_1.DateTime,i=this._getCalendars();for(let s=0;s<i.length;s++){const o=i[s]._tbMth.querySelectorAll("td");for(let i=0;i<o.length;i++){const s=o[i],n=s[t],a=this._selMode&&null!=this.focusValue&&e.sameDate(n,this.focusValue)&&!wijmo_1.hasClass(s,exports.CalendarClsNames.dayOtherMonth);this._updateCellFocus(s,a)}}const s=i[0]._tbYr.querySelectorAll("td");for(let e=0;e<s.length;e++){const i=s[e],o=i[t],n=null!=this.focusValue&&this._sameMonth(o,this.focusValue);this._updateCellFocus(i,n)}}_addWeek(t,e){const i=this._createElement("tr",this._tbMth,e),s=wijmo_1.DateTime;for(let e=0;e<7;e++){const o=this._createElement("td",i),n=s.addDays(t,e);o[Calendar._DATE_KEY]=n;wijmo_1.setText(o,wijmo_1.Globalize.format(n,this._fmtDay));wijmo_1.setAriaLabel(o,wijmo_1.Globalize.format(n,"D"));const a=!this._valid(n),l=n.getDay(),h=n.getMonth()!=this.displayMonth.getMonth();wijmo_1.toggleClass(o,exports.CalendarClsNames.dayToday,s.sameDate(n,s.newDate()));wijmo_1.toggleClass(o,exports.CalendarClsNames.dayWeekend,0==l||6==l);wijmo_1.toggleClass(o,exports.CalendarClsNames.dayOtherMonth,h);wijmo_1.toggleClass(o,wijmo_1.ControlStateClsNames.invalid,a||!this._inValidRange(n));wijmo_1.setAttribute(o,"aria-disabled",a||!this._inValidRange(n))}return s.addDays(t,7)}_customizeCell(t,e,i){wijmo_1.isFunction(this.itemFormatter)&&this.itemFormatter(e,i);if(this.formatItem.hasHandlers){const s=new FormatItemEventArgs(t,e,i);this.onFormatItem(s)}}_canChangeValue(){return!this._readOnly&&this._selMode!=DateSelectionMode.None}_valid(t){return!(!wijmo_1.isDate(t)||!wijmo_1.DateTime.sameDate(t,this._clamp(t)))&&(!wijmo_1.isFunction(this.itemValidator)||this.itemValidator(t))}_inValidRange(t){const e=wijmo_1.DateTime.fromDateTime;return!(this.min&&t<e(this.min,t))&&!(this.max&&t>e(this.max,t))}_monthInValidRange(t){if(this.min||this.max){const e=t.getFullYear(),i=t.getMonth(),s=wijmo_1.DateTime,o=s.newDate(e,i,1),n=s.newDate(e,i+1,0);if(this.min&&this.min>n)return!1;if(this.max&&this.max<o)return!1}return!0}_sameMonth(t,e){return wijmo_1.isDate(t)&&wijmo_1.isDate(e)&&t.getMonth()==e.getMonth()&&t.getFullYear()==e.getFullYear()}_getValidDate(t,e){if(wijmo_1.isDate(t)){let i=t.getFullYear(),s=t.getMonth()+(e?0:1),o=e?1:0,n=wijmo_1.DateTime,a=n.newDate(i,s,o),l=e?1:-1;for(let t=0;t<31;t++){if(this._valid(a))return a;a=n.addDays(a,l)}}return null}_clamp(t){if(t){const e=wijmo_1.DateTime.fromDateTime;if(this.min){const i=e(this.min,t);t<i&&(t=i)}if(this.max){const i=e(this.max,t);t>i&&(t=i)}}return t}_createChildren(){const t=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${exports.CalendarClsNames.hostElement}`,t,{_tbHdr:"tbl-header",_btnMth:"btn-month",_spMth:"span-month",_btnPrv:"btn-prev",_btnTdy:"btn-today",_btnNxt:"btn-next",_tbMth:"tbl-month",_tbYr:"tbl-year"});this._tbYr.style.display="none";const e=wijmo_1.culture.Calendar.ariaLabels;wijmo_1.setAriaLabel(this._tbMth,e.chooseDate);wijmo_1.setAriaLabel(this._tbYr,e.chooseMonth);wijmo_1.setAriaLabel(this._btnPrv,e.calendar);wijmo_1.setAriaLabel(this._btnMth,e.monthView);wijmo_1.setAriaLabel(this._btnPrv,e.prvMo);wijmo_1.setAriaLabel(this._btnTdy,e.today);wijmo_1.setAriaLabel(this._btnNxt,e.nxtMo);let i=this._createElement("tr",this._tbMth,exports.CalendarClsNames.header);for(let t=0;t<7;t++){this._createElement("th",i).setAttribute("scope","col")}i=this._createElement("tr",this._tbYr,exports.CalendarClsNames.header);this._showYearListBoxButton=this._createElement("th",i);this._showYearListBoxButton.setAttribute("colspan","4");this._showYearListBoxButton.setAttribute("scope","col");wijmo_1.setAriaLabel(this._showYearListBoxButton,e.selectYear);wijmo_1.toggleClass(this._showYearListBoxButton,exports.CalendarClsNames.selectedYear);this._showYearListBoxButton.setAttribute("role","button");this._showYearListBoxButton.setAttribute("tabIndex","-1");for(let t=0;t<3;t++){i=this._createElement("tr",this._tbYr);for(let t=0;t<4;t++)this._createElement("td",i)}}_createYearPicker(){const t=this.hostElement,e=this._createElement("div",null,`${exports.DropDownClsNames.dropDownPanel} ${exports.CalendarClsNames.yearPicker}`);e.tabIndex=this._orgTabIndex;this._lbYears=new ListBox(e,{lostFocus:t=>{wijmo_1.hidePopup(e);this._tmYrHidden=Date.now();this.removeEventListener(window,"touchstart");if(t.selectedIndex>-1){const e=wijmo_1.DateTime.clone(this.displayMonth);e.setFullYear(t.selectedIndex+t.itemsSource[0]);this.displayMonth=e;this.focusMode&&(this.focusValue=e)}this.keyActionTab===CalendarTabKeyAction.All&&this._showYearListBoxButton.focus()}});wijmo_1.setAriaLabel(this._lbYears.hostElement,wijmo_1.culture.Calendar.ariaLabels.selectYear);this.addEventListener(e,"keydown",e=>{switch(e.keyCode){case wijmo_1.Key.Enter:t.focus();break;case wijmo_1.Key.Space:t.focus();e.preventDefault();break;case wijmo_1.Key.Escape:this._lbYears.selectedIndex=-1;t.focus()}e.defaultPrevented&&e.stopPropagation()});this.addEventListener(e,"click",e=>{t.focus()})}_createElement(t,e,i){const s=document.createElement(t);i&&wijmo_1.addClass(s,i);e&&e.appendChild(s);return s}_click(t){if(!t.defaultPrevented&&0==t.button){let e=!1,i=t.target;if(wijmo_1.contains(this._btnMth,i)&&!this._mthMode()&&this._getShowMonthPicker()){this.monthView=!this.monthView;e=!0}else if(wijmo_1.contains(this._btnPrv,i)){this._navigate(-1);if(this.focusMode){const t=wijmo_1.DateTime.addMonths(this.focusValue,-1);this.focusValue=t}e=!0}else if(wijmo_1.contains(this._btnNxt,i)){this._navigate(1);if(this.focusMode){const t=wijmo_1.DateTime.addMonths(this.focusValue,1);this.focusValue=t}e=!0}else if(wijmo_1.contains(this._btnTdy,i)){this._navigate(0);this.focusMode&&(this.focusValue=this.value);e=!0}if(i&&!e&&this._yrPicker&&wijmo_1.contains(this._tbYr,i)&&wijmo_1.closest(i,"."+exports.CalendarClsNames.header)){this._showYearPickerAction(t);return}if(i&&!e){const t=wijmo_1.closest(i,"td");if(t){const i=this.hitTest(t),s=wijmo_1.DateTime.fromDateTime;if(this.monthView){if(i&&this._canChangeValue()){const t=s(i,this._value);this._inValidRange(t)&&this._valid(t)&&(this._rngMode()&&this.value&&!this.rangeEnd&&t>=this.value?this.rangeEnd=t:this.value=t);e=!0}}else if(i){this.displayMonth=i;if(this._mthMode()){if(this._canChangeValue()){const t=s(this.displayMonth,this.value);this._inValidRange(t)&&(this.value=t)}}else this.monthView=!0;e=!0}}}if(e){t.preventDefault();this.focusMode||0===t.detail||this.focus()}}}_keydown(t){this._isSpaceDownForSetValue=!1;if(t.defaultPrevented)return;if(t.altKey)switch(t.keyCode){case wijmo_1.Key.Up:case wijmo_1.Key.Down:return;case wijmo_1.Key.End:this._navigate(0);t.preventDefault();return}const e=t.target;if(("Enter"===t.key||"Space"===t.code)&&e&&this.keyActionTab===CalendarTabKeyAction.All){if(wijmo_1.contains(this._btnMth,e)&&!this._mthMode()&&this._getShowMonthPicker()){this.monthView=!this.monthView;"Space"===t.code&&t.preventDefault();return}if(this._yrPicker&&wijmo_1.contains(this._tbYr,e)&&wijmo_1.closest(e,"."+exports.CalendarClsNames.header)){this._showYearPickerAction(t);return}}if(this.focusMode){if(("Enter"===t.key||"Space"===t.code)&&e.classList.contains(exports.CalendarClsNames.focused)){const i=wijmo_1.closest(e,"td");if(i){const e=this.hitTest(i);this._isSpaceDownForSetValue="Space"===t.code;this.setFocusModeValue(e,t)}"Space"===t.code&&t.preventDefault();return}if(!wijmo_1.contains(this._tbMth,t.target)&&(!wijmo_1.contains(this._tbYr,t.target)||wijmo_1.contains(this._tbYr.firstElementChild,t.target)))return;if("Tab"===t.key&&this.monthView){const e=this._getCalendars();if(this!==e[t.shiftKey?0:e.length-1]){const e=wijmo_1.DateTime.addMonths(this.focusValue,t.shiftKey?-1:1);this.focusValue=e;t.preventDefault()}}}if(t.ctrlKey||t.metaKey||t.shiftKey&&!this._rngMode())return;let i=this._getKeyCode(t),s=0,o=0,n=!0;if(this.monthView)switch(i){case wijmo_1.Key.Left:s=-1;break;case wijmo_1.Key.Right:s=1;break;case wijmo_1.Key.Up:s=-7;break;case wijmo_1.Key.Down:s=7;break;case wijmo_1.Key.PageDown:o=t.altKey?12:1;break;case wijmo_1.Key.PageUp:o=t.altKey?-12:-1;break;case wijmo_1.Key.Home:case wijmo_1.Key.End:if(this._canChangeValue()&&!t.shiftKey){const t=this.value||this.displayMonth,e=this._getValidDate(t,i==wijmo_1.Key.Home);if(e){this.value=wijmo_1.DateTime.fromDateTime(e,this.value);this._rngEnd=null}}break;default:n=!1}else switch(i){case wijmo_1.Key.Left:o=-1;break;case wijmo_1.Key.Right:o=1;break;case wijmo_1.Key.Up:o=-4;break;case wijmo_1.Key.Down:o=4;break;case wijmo_1.Key.PageDown:o=t.altKey?120:12;break;case wijmo_1.Key.PageUp:o=t.altKey?-120:-12;break;case wijmo_1.Key.Home:o=this.value?-this.value.getMonth():0;break;case wijmo_1.Key.End:o=this.value?11-this.value.getMonth():0;break;case wijmo_1.Key.Enter:this._mthMode()?n=!1:this.monthView=!0;break;default:n=!1}if(this._canChangeValue()&&(s||o)){let e=t.shiftKey&&null!=this.rangeEnd?this.rangeEnd:this.focusMode?this.focusValue:this.value;const i=wijmo_1.DateTime;if(e){e=i.addDays(e,s);e=i.addMonths(e,o)}else e=this._getValidDate(new Date,!0);if(o&&!this._valid(e)){const t=e.getMonth();for(let s=1;s<31&&!this._valid(e);s++){const o=i.addDays(e,+s),n=i.addDays(e,-s);this._valid(o)&&o.getMonth()==t?e=o:this._valid(n)&&n.getMonth()==t&&(e=n)}}for(let t=0;t<31&&!this._valid(e);t++)e=i.addDays(e,s>0||o>0?1:-1);t.shiftKey&&this._rngMode()&&e>this.value?this.rangeEnd=e:this.focusMode?this.focusValue=e:this.value=e}n&&t.preventDefault()}_getMonth(t){const e=wijmo_1.DateTime;t=t||e.newDate();return e.newDate(t.getFullYear(),t.getMonth(),1)}_mthMode(){return this.selectionMode==DateSelectionMode.Month}_rngMode(){return this.selectionMode==DateSelectionMode.Range}_navigate(t){let e=this.monthView,i=this.displayMonth,s=wijmo_1.DateTime;switch(t){case 0:{const t=s.newDate();this._canChangeValue()&&(this.value=e?s.fromDateTime(t,this.value):this._getMonth(t));i=this._getMonth(t);break}case 1:i=s.addMonths(i,e?1:12);break;case-1:i=s.addMonths(i,e?-1:-12)}this.displayMonth=i}_setTabOrder(t){super._setTabOrder(t);this._lbYears.tabOrder=this._orgTabIndex;this._getCalendars().forEach(e=>{e.tabOrder!=t&&(e.tabOrder=t)});this.updateCalendarsTabindex()}_showYearPickerAction(t){const e=t.target;if(Date.now()-this._tmYrHidden<600){t.preventDefault();return}var i=this.displayMonth.getFullYear(),s=this.min?this.min.getFullYear():i-100,o=this.max?this.max.getFullYear():i+100,n=[];for(let t=s;t<=o;t++)n.push(t);const a=this._lbYears,l=a.hostElement,h=wijmo_1.closest(e,"."+exports.CalendarClsNames.header),r=this.hostElement,_=wijmo_1.closest(r,"."+exports.InputDateClsNames.inputDateDropDown)||r;a.itemsSource=n;a.selectedIndex=i-n[0];wijmo_1.setAttribute(l,"dir",this.rightToLeft?"rtl":null);wijmo_1.setCss(l,{minWidth:"",width:h.offsetWidth});wijmo_1.showPopup(l,h,!1,!1,_);requestAnimationFrame(()=>{a.showSelection(!0)});this.addEventListener(window,"touchstart",t=>{if(!wijmo_1.contains(l,t.target)){wijmo_1.hidePopup(l);this._tmYrHidden=Date.now();this.removeEventListener(window,"touchstart")}});t.preventDefault()}get focusMode(){return this._focusMode}set focusMode(t){this._focusMode=t;this._getCalendars().forEach(e=>{e.focusMode!==t&&(e.focusMode=t)});this.updateCalendarsTabindex();this.invalidate()}get keyActionTab(){return this._keyActionTab}set keyActionTab(t){this._keyActionTab=t;this._updateButtonTabIndex()}_isButtonFocused(){const t=wijmo_1.getActiveElement();if(!t)return!1;const e=t.getAttribute("role"),i=t.type;return e&&"button"===e.toLowerCase()||i&&"button"===i.toLowerCase()}_isSameMonth(t,e){return t.getMonth()===e.getMonth()}_dateViewContainsFocus(){const t=this._tbYr.querySelectorAll("td"),e=Array.from(t).find(t=>t===wijmo_1.getActiveElement());return this._tbMth.contains(wijmo_1.getActiveElement())||void 0!==e}_updateMonthButtonAria(){const t=wijmo_1.culture.Calendar.ariaLabels,e=this.monthView?t.monthView:t.yearView;wijmo_1.setAriaLabel(this._btnMth,`${e}, ${wijmo_1.Globalize.format(this.displayMonth,this._fmtYrMo)}`)}_isDayValid(t){return this._valid(t)&&this._inValidRange(t)}cancelButtonClick(t){this.cancelButtonClicked.raise(this,t)}oneCancelButtonClick(t){this.cancelButtonClick(t)}OKButtonClick(t){this.OKButtonClicked.raise(this,t)}onOkButtonClick(t){this.OKButtonClick(t);this.setFocusModeValue(this.focusValue)}get ariaLabel(){return this._ariaLabel}set ariaLabel(t){if(this.ariaLabel!==t&&this.hostElement){this._ariaLabel=t;wijmo_1.setAttribute(this.hostElement,"aria-label",t)}}_updateButtonTabIndex(){const t=this.tabOrder.toString();if(this.keyActionTab===CalendarTabKeyAction.All&&!0!==this.isDisabled){wijmo_1.setAttribute(this._btnMth,"tabindex",t);wijmo_1.setAttribute(this._btnPrv,"tabindex",t);wijmo_1.setAttribute(this._btnTdy,"tabindex",t);wijmo_1.setAttribute(this._btnNxt,"tabindex",t);wijmo_1.setAttribute(this._showYearListBoxButton,"tabindex",t)}else{wijmo_1.setAttribute(this._btnMth,"tabindex","-1");wijmo_1.setAttribute(this._btnPrv,"tabindex","-1");wijmo_1.setAttribute(this._btnTdy,"tabindex","-1");wijmo_1.setAttribute(this._btnNxt,"tabindex","-1");wijmo_1.setAttribute(this._showYearListBoxButton,"tabindex","-1")}wijmo_1.setAttribute(this._btnOK,"tabindex",t);wijmo_1.setAttribute(this._btnCancel,"tabindex",t)}_onEnterKeyDownToSetValue(t){this._enterKeyDownToSetValue.raise(this,t)}get showConfirmationButtons(){return this._showConfirmationButtons}set showConfirmationButtons(t){this._showConfirmationButtons=t;this._getCalendars().forEach(e=>{e._showConfirmationButtons=t})}_setIsDisabled(t){super._setIsDisabled(t);this._updateButtonTabIndex()}updateCalendarsTabindex(){const t=this.focusMode||-1===this.tabOrder?-1:0;this._getCalendarsHostElements().forEach(e=>{e.tabIndex=t})}setFocusModeValue(t,e){const i=wijmo_1.DateTime.fromDateTime;if(this.monthView){if(t&&this._canChangeValue()){const s=i(t,this._value);if(this._inValidRange(s)&&this._valid(s))if(this._rngMode()&&this.value&&!this.rangeEnd&&s>=this.value)this.rangeEnd=s;else{e&&this._enterKeyDownToSetValue.raise(this,e);this.value=s}}}else if(t){this.displayMonth=t;if(this._mthMode()){if(this._canChangeValue()){const t=i(this.displayMonth,this.value);this._inValidRange(t)&&(this.value=t)}}else this.monthView=!0}}_getCalendarsHostElements(){return this._getCalendars().filter((t,e)=>e>0).map(t=>t.hostElement)}updateConfirmationButtons(t){if(!this._confirmationButtonContainer){const e=`<div class="${exports.CalendarClsNames.confirmationButtonContainer}"></div>`;this._confirmationButtonContainer=wijmo_1.createElement(e);this._btnOK=wijmo_1.createElement(`<button wj-part="btn-ok" class="${wijmo_1.InputFormElementsClsNames.btn} ${exports.CalendarClsNames.button}"></button>`);this._btnCancel=wijmo_1.createElement(`<button wj-part="btn-cancel" class="${wijmo_1.InputFormElementsClsNames.btn} ${exports.CalendarClsNames.button}"></button>`);const i=wijmo_1.culture.Calendar.buttons;wijmo_1.setText(this._btnOK,i.ok);wijmo_1.setText(this._btnCancel,i.cancel);const s=this.addEventListener.bind(this);s(this._btnCancel,"click",this.oneCancelButtonClick.bind(this));s(this._btnOK,"click",this.onOkButtonClick.bind(this));this._confirmationButtonContainer.appendChild(this._btnOK);this._confirmationButtonContainer.appendChild(this._btnCancel);t.appendChild(this._confirmationButtonContainer)}}setFocusValueToFirstOrLastCalendar(t){const e=this._getCalendars();let i;i=this.monthView?t?e[0].displayMonth:e[e.length-1].displayMonth:e[0].displayMonth;const s=this.focusValue.getDate(),o=new Date(i.getFullYear(),i.getMonth()+1,0).getDate(),n=new Date(i.getFullYear(),i.getMonth(),Math.min(s,o));this.focusValue=n}isCalendarDateCell(t){return!wijmo_1.isNullOrUndefined(t[Calendar._DATE_KEY])&&"td"===t.tagName.toLowerCase()}isThisMainCalendar(){return this==this._getCalendars()[0]}}Calendar._DATE_KEY="$WJ-DATE";Calendar._ctrlTemplate="";exports.Calendar=Calendar;function softTouch(){return wijmo_1._getModule("wijmo.touch")}exports.softTouch=softTouch;function getDragDropTouch(){var t=softTouch();return t&&t.DragDropTouch&&t.DragDropTouch.getInstance?t.DragDropTouch.getInstance():null}exports.getDragDropTouch=getDragDropTouch;wijmo_1._addCultureInfo("DropDown",{ariaLabels:{tgl:"Toggle Dropdown"}});!function(t){t[t.Select=0]="Select";t[t.Open=1]="Open";t[t.Toggle=2]="Toggle"}(ClickAction=exports.ClickAction||(exports.ClickAction={}));!function(t){t[t.ChangeSelectionOnly=0]="ChangeSelectionOnly";t[t.OpenDropdown=1]="OpenDropdown"}(KeyAction=exports.KeyAction||(exports.KeyAction={}));!function(t){t[t.CloseAndKeepFocus=0]="CloseAndKeepFocus";t[t.CloseAndMoveFocus=1]="CloseAndMoveFocus"}(TabKeyAction=exports.TabKeyAction||(exports.TabKeyAction={}));class DropDown extends wijmo_1.Control{constructor(t,e){super(t);this._clickAction=ClickAction.Select;this._showBtn=!0;this._autoExpand=!0;this._animate=!1;this._internalSettingText=!1;this._oldText="";this._keyActionDownArrow=KeyAction.ChangeSelectionOnly;this._keyActionUpArrow=KeyAction.ChangeSelectionOnly;this._keyActionTab=TabKeyAction.CloseAndMoveFocus;this._touchMove=!1;this._isDropdownOpened=!1;this.textChanged=new wijmo_1.Event;this.isDroppedDownChanging=new wijmo_1.Event;this.isDroppedDownChanged=new wijmo_1.Event;const i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.DropDownClsNames.hostElement}`,i,{_tbx:"input",_btn:"btn",_dropDown:"dropdown"},"input");let s;this.hostElement&&this.hostElement.id&&(s=this.hostElement.id);s&&this._dropDown&&this._dropDown.setAttribute("dropdown-id",s);this._dropDown.style.display="none";const o=wijmo_1.culture.DropDown.ariaLabels;wijmo_1.setAriaLabel(this._btn.querySelector("button"),o.tgl);this._elRef=this._tbx;const n=this._tbx;wijmo_1.disableAutoComplete(n);this._createDropDown();this._updateTbxAriaHaspopup();this._updateBtn();this._updateTbx();const a=this.hostElement;wijmo_1.addClass(a,wijmo_1.ControlStateClsNames.collapsed);this.addEventListener(window,"resize",()=>{this.isDroppedDown&&this.invalidate()});const l=this.dropDown,h=this.addEventListener.bind(this),r=this._updateFocusState.bind(this);h(l,"blur",r,!0);h(l,"focus",r);const _=this._keydown.bind(this);h(a,"keydown",_);h(l,"keydown",_);const d=this._keypress.bind(this);h(a,"keypress",d,!0);h(l,"keypress",d,!0);const u=this._input.bind(this);h(n,"input",u);h(n,"beforeinput",t=>{"historyUndo"!==t.inputType&&"historyRedo"!==t.inputType||t.preventDefault()});h(n,"blur",()=>{this._commitText(!0,!1)},!0);h(n,"click",()=>{this._autoExpand&&this._expandSelection()});h(n,"touchstart",()=>{this.isTouching&&"none"===n.getAttribute("inputmode")&&n.removeAttribute("inputmode")});h(n,"mousedown",t=>{if(this._isTouchMoved())t.preventDefault();else switch(this._clickAction){case ClickAction.Open:if(!this.isDroppedDown){t.preventDefault();this.focus();this.isDroppedDown=!0}break;case ClickAction.Toggle:t.preventDefault();this.focus();this.isDroppedDown=!this.isDroppedDown}});h(this._btn,"mousedown",t=>{this._isTouchMoved()||this._btnclick(t)});wijmo_1.removeChild(l);wijmo_1.isIE()&&this._elRef==this._tbx&&h(a,"mouseup",t=>{if(!t.defaultPrevented&&0==t.button&&wijmo_1.hasClass(t.target,wijmo_1.InputFormElementsClsNames.btn)){const e=wijmo_1.getActiveElement();e&&e!=t.target&&setTimeout(()=>{e.focus()})}});wijmo_1.isIE9()&&h(n,"keyup",()=>{this._setText(this.text,!1)});h(l,"click",this._dropDownClick.bind(this))}static get controlTemplate(){DropDown._ctrlTemplate||(DropDown._ctrlTemplate=`<div class="${wijmo_1.ControlClsNames.template}"><div class="${exports.InputClsNames.input}"><div class="${exports.InputClsNames.inputGroup} ${exports.InputClsNames.inputBtnVisible}"><input wj-part="input" type="text" class="${wijmo_1.InputFormElementsClsNames.formControl}"><span wj-part="btn" class="${exports.InputClsNames.inputGroupBtn}"><button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1"><span class=${wijmo_1.GlyphClsNames.down}></span></button></span></div></div><div wj-part="dropdown" class="${wijmo_1.ControlClsNames.content} ${exports.DropDownClsNames.dropDownPanel}"></div></div>`);return DropDown._ctrlTemplate}static set controlTemplate(t){DropDown._ctrlTemplate=t}_isTouchMoved(){const t=getDragDropTouch();return t&&t.isDragging}get text(){return this._tbx.value}set text(t){if(t!=this.text){this._setText(t,!0);this._commitText()}}get inputElement(){return this._tbx}get inputType(){return this._tbx.type}set inputType(t){this._tbx.type=wijmo_1.asString(t)}get isReadOnly(){return this._tbx.readOnly}set isReadOnly(t){this._tbx.readOnly=wijmo_1.asBoolean(t);wijmo_1.toggleClass(this.hostElement,wijmo_1.ControlStateClsNames.readOnly,this.isReadOnly);this.isReadOnly&&this._toggleDropDown(!1)}get isRequired(){return this._tbx.required}set isRequired(t){this._tbx.required=wijmo_1.asBoolean("boolean"==typeof t?t:this.isRequired)}get placeholder(){return this._tbx.placeholder}set placeholder(t){this._tbx.placeholder=t}get clickAction(){return this._clickAction}set clickAction(t){this._clickAction=wijmo_1.asEnum(t,ClickAction)}get isDroppedDown(){const t=this._dropDown;return t&&"none"!=t.style.display}set isDroppedDown(t){const e=this.hostElement,i=this._dropDown,s=this.containsFocus(),o=new Set(["InputDateTime","WjInputDateTime"]);if(!e||!i)return;let n=!this.isReadOnly;this.isTouching&&(n=!0);t=wijmo_1.asBoolean(t)&&!this.isDisabled&&n&&e.offsetWidth>0;this.isDroppedDown&&!t&&this.isDisabled&&(t=this.isDroppedDown);if(t||"INPUT"!=wijmo_1.getActiveElement().tagName||this.inputElement===wijmo_1.getActiveElement()||!this._isInvalidInputCancelled){if(t!=this.isDroppedDown&&(o.has(this.constructor.name)||!this._isInvalidInputCancelled||!this.isDroppedDown&&this._isInvalidInputCancelled)&&this.onIsDroppedDownChanging(new wijmo_1.CancelEventArgs)){this._toggleDropDown(t);s&&(this.isTouching&&this.showDropDownButton?e.focus():this.selectAll());this._updateFocusState();this._updateBtn();this._updateTbx();wijmo_1.toggleClass(e,wijmo_1.ControlStateClsNames.collapsed,!this.isDroppedDown);this.onIsDroppedDownChanged()}}else{this._isDropdownOpened=this.isDroppedDown;this._toggleDropDown(t)}}_toggleDropDown(t){const e=this.hostElement,i=this._dropDown;if(t){this._minWidthDropdown=i.style.minWidth;i.style.display="";this._updateDropDown();this.addEventListener(window,"touchstart",t=>{const i=wijmo_1.Control._touching;for(let i=t.target;i;){if(i==e)return;i=i[wijmo_1.Control._OWNR_KEY]||i.parentNode}wijmo_1.Control._touching=!0;this.isDroppedDown=!1;wijmo_1.Control._touching=i})}else{this.removeEventListener(window,"touchstart");wijmo_1.hidePopup(i);i.style.minWidth=this._minWidthDropdown}}get dropDown(){return this._dropDown}get dropDownCssClass(){return this._cssClass}set dropDownCssClass(t){if(t!=this._cssClass){wijmo_1.removeClass(this._dropDown,this._cssClass);this._cssClass=wijmo_1.asString(t);wijmo_1.addClass(this._dropDown,this._cssClass)}}get showDropDownButton(){return this._showBtn}set showDropDownButton(t){this._showBtn=wijmo_1.asBoolean(t);this._updateBtn()}get autoExpandSelection(){return this._autoExpand}set autoExpandSelection(t){this._autoExpand=wijmo_1.asBoolean(t)}get isAnimated(){return this._animate}set isAnimated(t){this._animate=wijmo_1.asBoolean(t)}get keyActionDownArrow(){return this._keyActionDownArrow}set keyActionDownArrow(t){this._keyActionDownArrow=wijmo_1.asEnum(t,KeyAction)}get keyActionUpArrow(){return this._keyActionUpArrow}set keyActionUpArrow(t){this._keyActionUpArrow=wijmo_1.asEnum(t,KeyAction)}get keyActionTab(){return this._keyActionTab}set keyActionTab(t){this._keyActionTab=wijmo_1.asEnum(t,TabKeyAction)}selectAll(){const t=this._tbx;this._elRef==t&&wijmo_1.setSelectionRange(t,0,this.text.length);this.containsFocus()||this.focus()}onTextChanged(t){this.textChanged.raise(this,t);this._updateState()}onIsDroppedDownChanging(t){this.isDroppedDownChanging.raise(this,t);return!t.cancel}onIsDroppedDownChanged(t){this.isDroppedDownChanged.raise(this,t)}onGotFocus(t){this.isTouching||wijmo_1.contains(this._dropDown,wijmo_1.getActiveElement())||this.selectAll();super.onGotFocus(t)}onLostFocus(t){this._commitText();this.isDroppedDown=!1;super.onLostFocus(t)}_containsFocusImpl(t){return super._containsFocusImpl(t)||this.isDroppedDown&&wijmo_1.contains(this._dropDown,t)}dispose(){this.isDroppedDown=!1;const t=this._dropDown;if(t){this._dropDown=null;wijmo_1.removeChild(t);const e=wijmo_1.Control.getControl(t);e&&e.dispose()}super.dispose()}refresh(t=!0){super.refresh(t);const e=this.hostElement;if(e&&e.offsetHeight&&this.isDroppedDown){const t=wijmo_1.getActiveElement();this.isAnimated&&""!=this._dropDown.style.opacity||wijmo_1.showPopup(this._dropDown,e,!1,!1,null==this.dropDownCssClass);t instanceof HTMLElement&&t!=wijmo_1.getActiveElement()&&t.focus()}}_handleResize(){this.isDroppedDown&&this.refresh()}_dropDownClick(t){t.stopPropagation()}_expandSelection(){let t=this._tbx,e=t.value,i=t.selectionStart,s=t.selectionEnd;if(e&&i==s){const o=this._getCharType(e,i);if(o>-1){for(;s<e.length&&this._getCharType(e,s)==o;s++);for(;i>0&&this._getCharType(e,i-1)==o;i--);i!=s&&wijmo_1.setSelectionRange(t,i,s)}}}_getCharType(t,e){const i=t[e];return i>="0"&&i<="9"?0:i>="a"&&i<="z"||i>="A"&&i<="Z"?1:-1}_keydown(t){if(!t.defaultPrevented&&!this._isHiddenEditor()){switch(t.keyCode){case wijmo_1.Key.Escape:case wijmo_1.Key.Enter:if(this.isDroppedDown){this.isDroppedDown=!1;this.containsFocus()||this.focus();t.preventDefault()}break;case wijmo_1.Key.F4:this.toggleDropDown(t);break;case wijmo_1.Key.Up:this.handleUpArrowKey(t);break;case wijmo_1.Key.Down:this.handleDownArrowKey(t)}if(!t.defaultPrevented&&t.keyCode==wijmo_1.Key.Escape&&wijmo_1.isIE()){const e=this._tbx;if(t.target==e){const t=e.value;e.value=t+" ";e.value=t}}}}toggleDropDown(t){if(this.isHostVisible()){this.isDroppedDown=!this.isDroppedDown;t.preventDefault()}}handleUpArrowKey(t){t.altKey?this.toggleDropDown(t):this.keyActionUpArrow!==KeyAction.OpenDropdown||this.isDroppedDown||this.openDropDown(t)}handleDownArrowKey(t){if(t.altKey)this.toggleDropDown(t);else if(this.keyActionDownArrow===KeyAction.OpenDropdown&&!this.isDroppedDown){this.openDropDown(t);this._afterOpenDropdownByDownArrow()}}_afterOpenDropdownByDownArrow(){}openDropDown(t){if(this.isHostVisible()){this.isDroppedDown=!0;t.preventDefault()}}isHostVisible(){const t=this.hostElement;return!(!t||!t.offsetHeight)}_isHiddenEditor(){return wijmo_1.hasClass(this._tbx,"wj-grid-ime")}_keypress(t){"AltLeft"!=t.code&&"AltRight"!=t.code||t.preventDefault()}_input(t){this._setText(this.text,!1)}_btnclick(t){if(!t.defaultPrevented&&0==t.button){this._isInvalidInputCancelled=!1;t.preventDefault();if(this.isTouching){this._tbx.getAttribute("inputmode");this._tbx.setAttribute("inputmode","none");this.isDroppedDown=!this.isDroppedDown;this.selectAll()}else{this.focus();this.isDroppedDown=!this.isDroppedDown}}}_setText(t,e,i,s){let o=!1;if((t=(t||"").toString())!=this._tbx.value){this._tbx.value=t;if(i||!t){this.onTextChanged();o=!0}}if(t!=this._oldText){this._oldText=t;this._internalSettingText||o||this.onTextChanged()}s&&(this._tbx.value=this._tbx.value.trim());this._updateState()}_updateBtn(){this._btn.style.display=this._showBtn?"":"none";this._updateBtnAria()}_updateBtnAria(){const t=this._btn.querySelector("button"),e=this.isDroppedDown,i=this.dropDown?this.dropDown.id:null;wijmo_1.setAttribute(t,"aria-expanded",!!e);wijmo_1.setAttribute(t,"aria-controls",e?i:null)}_updateTbx(){this._updateTbxAria()}_updateTbxAria(){const t=this._tbx,e=this.isDroppedDown,i=this.dropDown?this.dropDown.id:null;wijmo_1.setAttribute(t,"aria-controls",e?i:null);wijmo_1.setAttribute(t,"aria-expanded",e)}_updateTbxAriaHaspopup(){const t=this._tbx,e=this.dropDown&&this.dropDown.getAttribute("role");wijmo_1.setAttribute(t,"aria-haspopup",e)}_createDropDown(){}_commitText(t,e){}_updateDropDown(){if(this.isDroppedDown){this._commitText();const t=this.dropDown;wijmo_1.setAttribute(t,"dir",this.rightToLeft?"rtl":null);wijmo_1.showPopup(t,this.hostElement,!1,this._animate,null==this.dropDownCssClass)}}_shouldRaiseInvalidInput(t){return wijmo_1.isNullOrUndefined(t)?!this._containsFocus():t}}DropDown._ctrlTemplate="";exports.DropDown=DropDown;wijmo_1._addCultureInfo("Popup",{ariaLabels:{close:"close",backdrop:"backdrop",isDraggable:"draggable",isResizable:"resizable",popupVisible:"visible",popupHide:"hidden",popup:"popup"}});!function(t){t[t.None=0]="None";t[t.ClickOwner=1]="ClickOwner";t[t.ClickPopup=2]="ClickPopup";t[t.Click=3]="Click";t[t.BlurOwner=4]="BlurOwner";t[t.BlurPopup=8]="BlurPopup";t[t.Blur=12]="Blur";t[t.ClickOrBlur=15]="ClickOrBlur";t[t.DownOwner=16]="DownOwner";t[t.DownPopup=32]="DownPopup";t[t.Down=48]="Down";t[t.EnterOwner=64]="EnterOwner";t[t.EnterPopup=128]="EnterPopup";t[t.Enter=192]="Enter";t[t.LeaveOwner=256]="LeaveOwner";t[t.LeavePopup=512]="LeavePopup";t[t.Leave=768]="Leave"}(PopupTrigger=exports.PopupTrigger||(exports.PopupTrigger={}));!function(t){t[t.None=0]="None";t[t.Left=1]="Left";t[t.Top=2]="Top";t[t.Right=4]="Right";t[t.Bottom=8]="Bottom";t[t.LeftTop=3]="LeftTop";t[t.RightTop=6]="RightTop";t[t.RightBottom=12]="RightBottom";t[t.LeftBottom=9]="LeftBottom"}(_Edges||(_Edges={}));class Popup extends wijmo_1.Control{constructor(t,e){super(t);this._owner=null;this._ariaLabel=wijmo_1.culture.Popup.ariaLabels.popup;this._modal=!1;this._position=wijmo_1.PopupPosition.BelowLeft;this._showTrigger=PopupTrigger.ClickOwner;this._hideTrigger=PopupTrigger.Blur;this._hideAnim=[];this._fadeIn=!0;this._fadeOut=!0;this._removeOnHide=!0;this._draggable=!1;this._resizable=!1;this._result=null;this._resultEnter=null;this._resultSubmit=null;this._callback=null;this._visible=!1;this._ownerClickBnd=this._ownerClick.bind(this);this._ownerDownBnd=this._ownerDown.bind(this);this._ownerBlurBnd=this._ownerBlur.bind(this);this._ownerEnterBnd=this._ownerEnter.bind(this);this._ownerLeaveBnd=this._ownerLeave.bind(this);this._mousedownBnd=this._mousedown.bind(this);this._mousemoveBnd=this._mousemove.bind(this);this._mousedragBnd=this._mousedrag.bind(this);this._mouseupBnd=this._mouseup.bind(this);this._hideBnd=this.hide.bind(this);this._lastShow=0;this._initialOwner=null;this._activeEdge=_Edges.None;this.showing=new wijmo_1.Event;this.shown=new wijmo_1.Event;this.hiding=new wijmo_1.Event;this.hidden=new wijmo_1.Event;this.resizing=new wijmo_1.Event;this.resized=new wijmo_1.Event;this.dragging=new wijmo_1.Event;this.dragged=new wijmo_1.Event;this.sizeChanging=new wijmo_1.Event;this.sizeChanged=new wijmo_1.Event;this.positionChanging=new wijmo_1.Event;this.positionChanged=new wijmo_1.Event;const i=this.hostElement;Popup._PopupInstanceCount++;wijmo_1.addClass(i,`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.PopupClsNames.hostElement}`);if(this.hostElement){this._initialOwner=this.hostElement.parentElement;wijmo_1.setAttribute(this.hostElement,"role","dialog")}i.getAttribute("tabindex")||(i.tabIndex=0);wijmo_1.hidePopup(i,!1);const s=this.addEventListener.bind(this);s(i,"compositionstart",()=>{this._composing=!0});s(i,"compositionend",()=>{this._composing=!1});s(window,"resize",()=>{!this.isVisible||this._dragged||this.isTouching||this.invalidate()});s(i,"keydown",t=>{if(!t.defaultPrevented){const e=10,s=t.ctrlKey&&t.altKey&&!t.shiftKey,o=t.ctrlKey&&t.shiftKey&&!t.altKey;if(s||o){const i=this.hostElement.getBoundingClientRect(),n=wijmo_1.Rect.fromBoundingRect(i);if(s&&this.isDraggable){t.preventDefault();switch(t.keyCode){case wijmo_1.Key.Left:n.left=Math.max(0,n.left-e);break;case wijmo_1.Key.Right:n.left=Math.min(window.innerWidth-n.width,n.left+e);break;case wijmo_1.Key.Up:n.top=Math.max(0,n.top-e);break;case wijmo_1.Key.Down:n.top=Math.min(window.innerHeight-n.height,n.top+e)}const i=new PopupBoundsChangingEventArgs(n);if(this.onPositionChanging(i)){wijmo_1.setCss(this.hostElement,{left:n.left+window.scrollX,top:n.top+window.scrollY,transform:"none"});this.onPositionChanged()}}else if(o&&this.isResizable){t.preventDefault();const e=10,i=window.getComputedStyle(this.hostElement),s=Math.max(parseInt(i.minWidth)||0,Popup._SZ_MIN),o=Math.max(parseInt(i.minHeight)||0,Popup._SZ_MIN);if(this._activeEdge===_Edges.None)switch(t.keyCode){case wijmo_1.Key.Up:this._activeEdge=_Edges.Top;break;case wijmo_1.Key.Down:this._activeEdge=_Edges.Bottom;break;case wijmo_1.Key.Left:this._activeEdge=_Edges.Left;break;case wijmo_1.Key.Right:this._activeEdge=_Edges.Right}const a=this._activeEdge===_Edges.Top||this._activeEdge===_Edges.Bottom,l=this._activeEdge===_Edges.Left||this._activeEdge===_Edges.Right;if(a&&![wijmo_1.Key.Up,wijmo_1.Key.Down].includes(t.keyCode)||l&&![wijmo_1.Key.Left,wijmo_1.Key.Right].includes(t.keyCode))return;if(this._activeEdge!==_Edges.None){let i=0;switch(t.keyCode){case wijmo_1.Key.Up:case wijmo_1.Key.Left:i=-e;break;case wijmo_1.Key.Down:case wijmo_1.Key.Right:i=e}switch(this._activeEdge){case _Edges.Top:{const t=Math.min(Math.max(n.top+i,0),n.bottom-o);n.height=n.bottom-t;n.top=t;break}case _Edges.Bottom:{const t=Math.min(Math.max(n.bottom+i,n.top+o),window.innerHeight);n.height=t-n.top;break}case _Edges.Left:{const t=Math.min(Math.max(n.left+i,0),n.right-s);n.width=n.right-t;n.left=t;break}case _Edges.Right:{const t=Math.min(Math.max(n.right+i,n.left+s),window.innerWidth);n.width=t-n.left;break}}n.left=Math.max(0,Math.min(n.left,window.innerWidth-n.width));n.top=Math.max(0,Math.min(n.top,window.innerHeight-n.height));const a=new PopupBoundsChangingEventArgs(n);if(this.onSizeChanging(a)){wijmo_1.setCss(this.hostElement,{left:n.left+window.scrollX,top:n.top+window.scrollY,width:n.width,height:n.height,transform:"none"});this.onSizeChanged()}}}}if(t.keyCode==wijmo_1.Key.Escape&&!this._composing){t.preventDefault();this.hide()}if(t.keyCode==wijmo_1.Key.Enter&&!this._composing){const e=this.dialogResultEnter;if(e){t.preventDefault();this._validateAndHide(e)}}if(t.keyCode==wijmo_1.Key.Tab&&this.modal){t.preventDefault();wijmo_1.moveFocus(i,t.shiftKey?-1:1)}}});s(document,"keyup",t=>{t.ctrlKey||t.shiftKey||this._activeEdge===_Edges.None||(this._activeEdge=_Edges.None)});s(i,"click",t=>{const e=t.target;if(e instanceof HTMLElement){if(e instanceof HTMLButtonElement&&"submit"==e.type){const e=this.hostElement,i=this.dialogResultSubmit;if(e instanceof HTMLFormElement&&i&&e.reportValidity()){t.preventDefault();this.hide(i)}}const i=e.className.match(/\bwj-hide[\S]*\b/);if(i&&i.length>0){t.preventDefault();t.stopPropagation();this.hide(i[0])}}});const o=this._toggle.bind(this),n=PopupTrigger;this.addEventListener(i,"click",t=>{this._ignoreClick||o(t,n.ClickPopup)},!0);this.addEventListener(i,"mousedown",t=>{this._ignoreClick=!1;o(t,n.DownPopup)},!0);this.addEventListener(i,"mouseenter",t=>{t.target==i&&o(t,n.EnterPopup)},!0);this.addEventListener(i,"mouseleave",t=>{t.target==i&&o(t,n.LeavePopup)},!0);this.addEventListener(i,"blur",t=>{this.containsFocus()||o(t,n.BlurPopup)},!0);s(document,"wheel",t=>{if(this.isVisible&&this._modal){for(let e=t.target;e&&e!=document.body;e=e.parentElement)if(e.scrollHeight>e.clientHeight)return;t.preventDefault()}});this.initialize(e);this._updateAriaLabel()}get ariaLabelledBy(){return this.hostElement.getAttribute("aria-labelledby")}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this.hostElement,t,this._updateAriaLabel.bind(this))}get owner(){return this._owner}set owner(t){let e=this._owner;if(e){this.removeEventListener(e,"click");this.removeEventListener(e,"mousedown");this.removeEventListener(e,"mouseenter");this.removeEventListener(e,"mouseleave");this.removeEventListener(e,"blur")}e=this._owner=null!=t?wijmo_1.getElement(t):null;if(e){this.addEventListener(e,"click",this._ownerClickBnd,!0);this.addEventListener(e,"mousedown",this._ownerDownBnd,!0);this.addEventListener(e,"mouseenter",this._ownerEnterBnd,!0);this.addEventListener(e,"mouseleave",this._ownerLeaveBnd,!0);this.addEventListener(e,"blur",this._ownerBlurBnd,!0)}}get position(){return this._position}set position(t){this._position=wijmo_1.asEnum(t,wijmo_1.PopupPosition)}get content(){return this.hostElement.firstElementChild}set content(t){if(t!=this.content){this.hostElement.innerHTML="";t instanceof HTMLElement&&this.hostElement.appendChild(t)}}get showTrigger(){return this._showTrigger}set showTrigger(t){this._showTrigger=wijmo_1.asEnum(t,PopupTrigger)}get hideTrigger(){return this._hideTrigger}set hideTrigger(t){this._hideTrigger=wijmo_1.asEnum(t,PopupTrigger)}get fadeIn(){return this._fadeIn}set fadeIn(t){this._fadeIn=wijmo_1.asBoolean(t)}get fadeOut(){return this._fadeOut}set fadeOut(t){this._fadeOut=wijmo_1.asBoolean(t)}get removeOnHide(){return this._removeOnHide}set removeOnHide(t){if((t=wijmo_1.asBoolean(t))!=this.removeOnHide){this._removeOnHide=t;if(!this.isVisible){const e=this.hostElement;if(t)wijmo_1.removeChild(e);else if(e&&document.body){e.style.display="none";document.body.appendChild(e)}}}}get modal(){return this._modal}set modal(t){this._modal=wijmo_1.asBoolean(t);wijmo_1.setAttribute(this.hostElement,"aria-modal",t?"true":null)}get isDraggable(){return this._draggable}set isDraggable(t){this._draggable=wijmo_1.asBoolean(t);this._updateAriaLabel()}get isResizable(){return this._resizable}set isResizable(t){this._resizable=wijmo_1.asBoolean(t);this._updateAriaLabel()}get dialogResult(){return this._result}set dialogResult(t){this._result=t}get dialogResultEnter(){return this._resultEnter}set dialogResultEnter(t){this._resultEnter=t}get dialogResultSubmit(){return this._resultSubmit}set dialogResultSubmit(t){this._resultSubmit=wijmo_1.asString(t)}get isVisible(){const t=this.hostElement;return this._visible&&null!=t&&t.offsetHeight>0}show(t,e){this._lastShow=Date.now();if(!this.isVisible){const i=this.hostElement;this.dialogResult=null;this._callback=null;this._oldFocus=null;this._myFocus=null;this._hideAnim.forEach(t=>{clearInterval(t)});if(this._hideAnim.length>0){this._hideAnim.length=0;if(this._bkDrop){wijmo_1.hidePopup(this._bkDrop,this.removeOnHide);this._bkDrop.style.opacity=""}wijmo_1.hidePopup(i,this.removeOnHide);i.style.opacity=""}const s=new wijmo_1.CancelEventArgs;if(this.onShowing(s)){null!=t&&(this.modal=wijmo_1.asBoolean(t));null!=e&&(this._callback=wijmo_1.asFunction(e));this._oldFocus=wijmo_1.getActiveElement();wijmo_1.showPopup(i,this._owner,this._position,this._fadeIn,!1,this._hideBnd);this._modal&&this._showBackdrop();wijmo_1.setAttribute(this._oldFocus,"aria-expanded","true");this._composing=!1;this._visible=!0;this.onShown(s);this._updateAriaLabel();this._clearTimeouts();if(this.modal){this.addEventListener(window,"focus",()=>{if(!this.containsFocus()){const t=this._myFocus;t&&t.offsetHeight?t.focus():wijmo_1.moveFocus(i,0)}});this.addEventListener(i,"focusin",()=>{const t=wijmo_1.getActiveElement();t&&wijmo_1.contains(i,t)&&(t.tabIndex>-1||!this._myFocus)&&(this._myFocus=t)})}this._resized=this._dragged=this._ignoreClick=!1;this._handleDragResize(!0);this.addEventListener(window,"touchstart",t=>{this._hideTrigger&PopupTrigger.Blur&&!wijmo_1.contains(i,t.target,!0)&&this.hide()});this._toHidePopupTimer=setTimeout(()=>{this.addEventListener(window,"click",t=>{this._hideTrigger&PopupTrigger.BlurPopup&&this.isDisabled&&!wijmo_1.contains(i,t.target,!0)&&this.hide()})});this._toGetFocusTimer=setTimeout(()=>{if(!this.isDisabled&&!this.containsFocus()&&!this.isTouching){const t=i.querySelector("[autofocus]");if(t&&t.clientHeight>0&&!t.disabled&&t.tabIndex>-1&&!wijmo_1.closest(t,"[disabled],."+wijmo_1.ControlStateClsNames.disabled)){t.focus();wijmo_1.isFunction(t.select)&&t.select()}else wijmo_1.moveFocus(i,0)}if(!this.isDisabled&&!this.containsFocus()){i.tabIndex=0;i.focus()}},100)}}}hide(t){this.removeEventListener(window,"touchstart");this.removeEventListener(window,"click");if(this.isVisible){wijmo_1.isUndefined(t)||(this.dialogResult=t);const e=new wijmo_1.CancelEventArgs,i=this.hostElement;if(this.onHiding(e)){this._handleDragResize(!1);const t=this.containsFocus()?this._oldFocus:null,s=i.querySelectorAll(`.${wijmo_1.ControlClsNames.hostElement}.${exports.DropDownClsNames.hostElement}`);for(let t=0;t<s.length;t++){const e=wijmo_1.Control.getControl(s[t]);e instanceof DropDown&&(e.isDroppedDown=!1)}const o=this.removeOnHide,n=this.fadeOut;this._hideTimer=setTimeout(()=>{this._updateState();this.onHidden(e);this._callback&&this._callback(this);if(this.hideTrigger&PopupTrigger.LeavePopup){const t=wijmo_1.Control.getControl(wijmo_1.closest(this.owner,"."+exports.PopupClsNames.hostElement));if(t instanceof Popup&&0!=(t.hideTrigger&PopupTrigger.Leave)){let e=Popup._evtHover,i=e?document.elementFromPoint(e.clientX,e.clientY):null,s=wijmo_1.Control.getControl(wijmo_1.closest(i,"."+exports.PopupClsNames.hostElement));s instanceof Popup&&!s.isVisible&&(i=null);i&&wijmo_1.contains(t.hostElement,i,!0)||t.hide()}}},wijmo_1.Control._FOCUS_INTERVAL+50);this._bkDrop&&this._hideAnim.push(wijmo_1.hidePopup(this._bkDrop,o,n));this._hideAnim.push(wijmo_1.hidePopup(i,o,n));wijmo_1.setAttribute(this._oldFocus,"aria-expanded","false");this._visible=!1;this._oldFocus=null;this._myFocus=null;this._updateAriaLabel();this.removeEventListener(window,"focus");this.removeEventListener(i,"focusin");this.containsFocus()&&wijmo_1.getActiveElement().blur();this._clearTimeouts();!this.isVisible&&t&&t.offsetHeight&&t.focus()}}}onShowing(t){this.showing.raise(this,t);return!t.cancel}onShown(t){this.shown.raise(this,t)}onHiding(t){this.hiding.raise(this,t);return!t.cancel}onHidden(t){this._wasVisible=!1;this.hidden.raise(this,t)}onResizing(t){this.resizing.raise(this,t);return!t.cancel}onResized(t){this.resized.raise(this,t)}onDragging(t){this.dragging.raise(this,t);return!t.cancel}onDragged(t){this.dragged.raise(this,t)}onSizeChanging(t){this.sizeChanging.raise(this,t);return!t.cancel}onSizeChanged(t){this.sizeChanged.raise(this,t)}onPositionChanging(t){this.positionChanging.raise(this,t);return!t.cancel}onPositionChanged(t){this.positionChanged.raise(this,t)}onLostFocus(t){super.onLostFocus(t);if(this._hideTrigger&PopupTrigger.BlurPopup&&!this.containsFocus()){const t=document.createEvent("Event");t.initEvent("blur",!0,!0);this._toggle(t,PopupTrigger.BlurPopup)}}refresh(t=!0){const e=this.hostElement;super.refresh(t);if(this.isVisible&&!this._refreshing&&e){this._refreshing=!0;const t=wijmo_1.getActiveElement(),i=this._owner?this._owner.getBoundingClientRect():null,s=[],o=e.querySelectorAll("."+exports.DropDownClsNames.hostElement);for(let t=0;t<o.length;t++){const e=wijmo_1.Control.getControl(o[t]);if(e instanceof DropDown&&e.isDroppedDown){s.push(e);e.dropDown.style.display="none"}}wijmo_1.showPopup(e,i,this._position);s.forEach(t=>{t.dropDown.style.display="";t._updateDropDown()});this._modal&&t instanceof HTMLElement&&t!=wijmo_1.getActiveElement()&&t.focus();this._refreshing=!1}}_clearTimeouts(){if(this._toShow){clearTimeout(this._toShow);this._toShow=null}if(this._toHideLeave){clearTimeout(this._toHideLeave);this._toHideLeave=null}if(this._toHideBlur){clearTimeout(this._toHideBlur);this._toHideBlur=null}}_handleDragResize(t){const e=this.hostElement,i=this._draggable?this._getHeaderElement():null,s=this.addEventListener.bind(this),o=this.removeEventListener.bind(this),n=this._mousemoveBnd,a=this._mousedownBnd;if(t){s(e,"mousemove",n);s(e,"mousedown",a);s(e,"touchstart",a);i&&(i.style.touchAction="none")}else{this._mousedownEvt=null;this._rcBounds=null;o(e,"mousemove",n);o(e,"mousedown",a);o(e,"touchstart",a);o(document,"mousemove",this._mousedragBnd);o(document,"mouseup",this._mouseupBnd);i&&(i.style.touchAction="")}}_mousemove(t){if(!this._mousedownEvt){let e=this.hostElement,i=this._getEdges(e,t),s="",o=_Edges;this._edges=i;this._resizable&&(i==o.LeftTop||i==o.RightBottom?s="nwse-resize":i==o.LeftBottom||i==o.RightTop?s="nesw-resize":i==o.Left||i==o.Right?s="ew-resize":i!=o.Top&&i!=o.Bottom||(s="ns-resize"));this._draggable&&!s&&this._getClosestHeader(t.target)&&(s="move");e.style.cursor=s}}_mousedown(t){if(!t.defaultPrevented){const e=t.touches&&t.touches.length>0?t.touches[0]:t;this._edges=this._getEdges(this.hostElement,e);if(this._edges||this._draggable&&this._getClosestHeader(t.target)){const t=new wijmo_1.CancelEventArgs;if(this._edges?this.onResizing(t):this.onDragging(t)){this._mousedownEvt=e;this._rcBounds=this.hostElement.getBoundingClientRect();const t=this.addEventListener.bind(this),i=document,s=this._mousedragBnd,o=this._mouseupBnd;t(i,"mousemove",s);t(i,"touchmove",s);t(i,"mouseup",o);t(i,"touchend",o)}}this._ignoreClick=!1}}_mouseup(){this._mousedownEvt=null;this._rcBounds=null;this._activeEdge=_Edges.None;const t=this.removeEventListener.bind(this),e=document,i=this._mousedragBnd,s=this._mouseupBnd;t(e,"mousemove",i);t(e,"touchmove",i);t(e,"mouseup",s);t(e,"touchend",s);this._resized?this.onResized():this._dragged&&this.onDragged();this._resized=this._dragged=this._ignoreClick=!1}_mousedrag(t){if(!t.defaultPrevented){const e=this.hostElement,i=this._mousedownEvt,s=t.touches&&t.touches.length>0?t.touches[0]:t,o=s.clientX-i.clientX,n=s.clientY-i.clientY,a=this._rcBounds,l=this._edges,h=Popup._SZ_MIN,r=wijmo_1.Rect.fromBoundingRect(a);if(l){const t=window.getComputedStyle(e),i=parseInt(t.getPropertyValue("min-width"))||h,s=parseInt(t.getPropertyValue("min-height"))||h;if(l&_Edges.Left){const t=r.right-i;r.left=Math.min(r.left+o,t);r.width=Math.max(r.width-o,i)}else l&_Edges.Right&&(r.width=Math.max(r.width+o,i));if(l&_Edges.Top){const t=r.bottom-s;r.top=Math.min(r.top+n,t);r.height=Math.max(r.height-n,s)}else l&_Edges.Bottom&&(r.height=Math.max(r.height+n,s));if(this.onSizeChanging(new PopupBoundsChangingEventArgs(r))){wijmo_1.setCss(e,{left:r.left+window.scrollX,top:r.top+window.scrollY,width:r.width,height:r.height,transform:"none"});this._resized=this._dragged=this._ignoreClick=!0;this.onSizeChanged()}if(!window.ResizeObserver){const t=this.hostElement.children;for(let e=0;e<t.length;e++)wijmo_1.Control.invalidateAll(t[e])}}else if(this._draggable){"touchmove"===t.type&&wijmo_1.isiOS()&&t.preventDefault();if(this._dragged||Math.abs(o)+Math.abs(n)>Popup._DRAG_THRESHOLD){r.left=Math.max(a.left+o+(s.pageX-s.clientX),50-a.width);r.top=Math.max(a.top+n+(s.pageY-s.clientY),0);if(this.onPositionChanging(new PopupBoundsChangingEventArgs(r))){wijmo_1.setCss(e,{left:r.left,top:r.top,width:r.width,height:r.height,transform:"none"});this._dragged=this._ignoreClick=!0;this.onPositionChanged()}}}}}_getEdges(t,e){let i=0;if(this._resizable){const s=t.getBoundingClientRect(),o=Popup._SZ_EDGE;e.clientX-s.left<o&&(i|=_Edges.Left);e.clientY-s.top<o&&(i|=_Edges.Top);s.right-e.clientX<o&&(i|=_Edges.Right);s.bottom-e.clientY<o&&(i|=_Edges.Bottom)}return i}_ownerClick(t){this._toggle(t,PopupTrigger.ClickOwner)}_ownerDown(t){this._wasVisible=this.isVisible;this._toggle(t,PopupTrigger.DownOwner)}_ownerBlur(t){wijmo_1.contains(this._owner,wijmo_1.getActiveElement())||this._toggle(t,PopupTrigger.BlurOwner)}_ownerEnter(t){t.target==this._owner&&this._toggle(t,PopupTrigger.EnterOwner)}_ownerLeave(t){t.target==this._owner&&this._toggle(t,PopupTrigger.LeaveOwner)}_toggle(t,e){t instanceof MouseEvent&&(Popup._evtHover=t);if(!("mouseenter"==t.type&&Date.now()-this._lastShow<300||t.defaultPrevented)){const t=0!=(this._hideTrigger&e),i=0!=(this._showTrigger&e),s=PopupTrigger;(t||i)&&this._clearTimeouts();t&&this.isVisible&&(e&s.Leave?this._toHideLeave=setTimeout(()=>{const t=Popup._evtHover,e=t?document.elementFromPoint(t.clientX,t.clientY):null;e&&wijmo_1.contains(this.hostElement,e,!0)||this.hide()},wijmo_1.Control._LEAVE_DELAY):e&s.Blur?this._toHideBlur=setTimeout(()=>{this.containsFocus()||wijmo_1.contains(this._owner,wijmo_1.getActiveElement())||this.hide()},wijmo_1.Control._FOCUS_INTERVAL+50):this.hide());i&&e!=s.ClickPopup&&(this._wasVisible||(e&s.Enter?this._toShow=setTimeout(()=>{this.show()},wijmo_1.Control._HOVER_DELAY):this.show()))}}_getHeaderElement(){const t=this.hostElement;return t.querySelector("."+exports.PopupClsNames.dialogHeader)||t.querySelector(".modal-header")}_getClosestHeader(t){return wijmo_1.closest(t,"."+exports.PopupClsNames.dialogHeader)||wijmo_1.closest(t,".modal-header")}_showBackdrop(){if(!this._bkDrop){this._bkDrop=document.createElement("div");this._bkDrop.tabIndex=-1;wijmo_1.setAttribute(this._bkDrop,"role","presentation");wijmo_1.setAttribute(this._bkDrop,"aria-hidden","true");wijmo_1.setAttribute(this._bkDrop,"aria-label",wijmo_1.culture.Popup.ariaLabels.backdrop);wijmo_1.addClass(this._bkDrop,exports.PopupClsNames.popupBackDrop);this.addEventListener(this._bkDrop,"mousedown",t=>{t.preventDefault();t.stopPropagation();this.hostElement.focus();this.hideTrigger&PopupTrigger.Blur&&this.hide()})}wijmo_1.setCss(this._bkDrop,{zIndex:wijmo_1.Control._POPUP_ZINDEX,display:""});const t=this.hostElement;t.parentElement.insertBefore(this._bkDrop,t)}_validateAndHide(t){const e=this.hostElement;if(e instanceof HTMLFormElement)e.reportValidity()&&this.hide(t);else{const e=this.hostElement.querySelector(":invalid");e?e.focus():this.hide(t)}}_updateAriaLabel(){this.hostElement&&(this.ariaLabelledBy?this._updateAriaLabelImp(""):this._updateAriaLabelImp(this._ariaLabel))}_updateAriaLabelImp(t){const e=[];this.isDraggable&&e.push(wijmo_1.culture.Popup.ariaLabels.isDraggable);this.isResizable&&e.push(wijmo_1.culture.Popup.ariaLabels.isResizable);this.isVisible?e.push(wijmo_1.culture.Popup.ariaLabels.popupVisible):e.push(wijmo_1.culture.Popup.ariaLabels.popupHide);const i=e.join(",");wijmo_1.setAttribute(this.hostElement,"aria-label",t?`${t} ${i}`:i)}dispose(){Popup._PopupInstanceCount--;0===Popup._PopupInstanceCount&&Popup._evtHover&&(Popup._evtHover=null);this._clearTimeouts();if(this._toHidePopupTimer){clearTimeout(this._toHidePopupTimer);this._toHidePopupTimer=null}if(this._toGetFocusTimer){clearTimeout(this._toGetFocusTimer);this._toGetFocusTimer=null}if(this._hideTimer){clearTimeout(this._hideTimer);this._hideTimer=null}this._hideAnim.forEach(t=>{clearInterval(t)});this._hideAnim=[];const t=this.hostElement;if(t){const e=t.querySelectorAll("."+exports.DropDownClsNames.hostElement);for(let t=0;t<e.length;t++){const i=wijmo_1.Control.getControl(e[t]);i&&i instanceof DropDown&&i.dispose()}}if(this._initialOwner){this._initialOwner.appendChild(this.hostElement);this._initialOwner=null}this.owner=null;if(this._bkDrop){this._bkDrop.remove();this._bkDrop=null}this._callback=null;super.dispose()}}Popup._DRAG_THRESHOLD=6;Popup._SZ_EDGE=10;Popup._SZ_MIN=40;Popup._PopupInstanceCount=0;exports.Popup=Popup;class PopupBoundsChangingEventArgs extends wijmo_1.CancelEventArgs{constructor(t){super();this._rc=t}get bounds(){return this._rc}}exports.PopupBoundsChangingEventArgs=PopupBoundsChangingEventArgs;wijmo_1._addCultureInfo("InputDate",{ariaLabels:{inputDateInput:"InputDate Input",inputDate:"Input Date",button:"Choose Date",dialog:"Calendar"}});class InputDateEventArgs extends wijmo_1.CancelEventArgs{constructor(t){super();this._isUserInput=t}get isUserInput(){return this._isUserInput}}exports.InputDateEventArgs=InputDateEventArgs;class InputDate extends DropDown{constructor(t,e){super(t);this._fmt=wijmo_1.Globalize.DefaultDateFormat;this._sep=" - ";this._rngs=null;this._showCal=!1;this._clsOnSel=!0;this._handleWheel=!0;this._preserveCalendarNavigation=!0;this._isTriggered=!1;this._rangeChanged=!1;this._textInitialized=!1;this._previousText="";this._keepInvalidText=!1;this._inputAriaLabel=wijmo_1.culture.InputDate.ariaLabels.inputDateInput;this._currentInput="";this._ariaLabelledby=null;this.valueChanged=new wijmo_1.Event;this.rangeEndChanged=new wijmo_1.Event;this.rangeChanged=new wijmo_1.Event;wijmo_1.addClass(this.hostElement,exports.InputDateClsNames.hostElement);const i=wijmo_1.culture.InputDate.ariaLabels;wijmo_1.setAttribute(this._btn.querySelector("button"),"aria-haspopup","dialog");wijmo_1.setAttribute(this._dropDown,"role","dialog");wijmo_1.setAriaLabel(this._dropDown,i.dialog);wijmo_1.setAttribute(this._dropDown,"aria-modal",!0);wijmo_1.setAttribute(this._tbx,"role","combobox");wijmo_1.setAttribute(this._tbx,"aria-haspopup","dialog");wijmo_1.setAriaLabel(this._btn.querySelector("button"),i.button);this.dropDown.id=wijmo_1.getUniqueId(this.hostElement.id+"_dropdown");this._msk=new wijmo_1._MaskProvider(this._tbx);const s=this.addEventListener.bind(this);wijmo_1.isIE9()||(this.inputType="tel");this._tbx.type.match(/^(tel|text|)$/i)||(this.inputType="text");const o=this._mouseWheel.bind(this);s(this.hostElement,"wheel",o);this._lbx=new ListBox(document.createElement("div"),{displayMemberPath:"name",selectedIndexChanged:t=>{const e=t.selectedItem,i=wijmo_1.DateTime.fromDateTime,s=wijmo_1.DateTime.sameDate;if(e&&e.from&&e.to){if(!s(e.from,this.value)||!s(e.to,this.rangeEnd)){const t=this.value;this.value=i(e.from,t);this.rangeEnd=i(e.to,t)}this._selectAll()}else this._cal.hostElement.style.display=""}});const n=this._lbx;this._cal=new Calendar(document.createElement("div"));const a=this._cal,l=this._dropDown;wijmo_1.addClass(l,exports.InputDateClsNames.inputDateDropDown);const h=document.createElement("div");wijmo_1.addClass(h,exports.InputDateClsNames.inputDateDropDownContainer);h.appendChild(n.hostElement);h.appendChild(a.hostElement);l.appendChild(h);this.addEventListener(l,"click",()=>{this._isTriggered=!0;setTimeout(()=>{this._isTriggered=!1},50)},!0);this.addEventListener(l,"keydown",t=>{if("Enter"===t.key){this._isTriggered=!0;setTimeout(()=>{this._isTriggered=!1},50)}},!0);if("INPUT"==this._orgTag){const t=this._tbx.getAttribute("value");t&&(a.value=a.rangeEnd=wijmo_1.Globalize.parseDate(t,"yyyy-MM-dd"))}this.isRequired=!0;this._tbx.value=this._oldText=this._getText();this.initialize(e);const r=wijmo_1.isNullOrUndefined(this.tabOrder)?0:this.tabOrder;a.tabOrder=-1!==r&&this.showConfirmationButtons?r:-1;n.tabOrder=r;if(this._textInitialized||this._tbx.value!==this._oldText){this._oldText=this._tbx.value;this._currentInput="text";this._textInitialized=!0;this._commitText();this.onTextChanged()}this._updateState();a.valueChanged.addHandler((t,e)=>{this._refreshText();this.onValueChanged(e)});a.rangeEndChanged.addHandler((t,e)=>{if(a._rngMode()){this.onRangeEndChanged(e);this._closeOnChange();a._clearingRangeEnd||this._refreshText()}});a.cancelButtonClicked.addHandler((t,e)=>{this.isDroppedDown=!1});a.OKButtonClicked.addHandler((t,e)=>{this._closeOnChange();this._refreshText()});a._enterKeyDownToSetValue.addHandler((t,e)=>{this._closeOnChange()});a.addEventListener(a.hostElement,"click",t=>{if(a.selectionMode&&!a._rngMode()){const e=t.target,i=a.hitTest(e);if(wijmo_1.DateTime.sameDate(this.value,i)||wijmo_1.closest(e,"[wj-part=btn-today]")){this._closeOnChange();this._refreshText()}}});this._updateInputAriaLabel()}static get controlTemplate(){InputDate._ctrlTemplate||(InputDate._ctrlTemplate=DropDown.controlTemplate);return InputDate._ctrlTemplate}static set controlTemplate(t){InputDate._ctrlTemplate=t}_mouseWheel(t){if(this.handleWheel&&!t.defaultPrevented&&!this.isDroppedDown&&this.containsFocus()&&null!=this.value&&this._canChangeValue()){let e=this._tbx,i=e.selectionStart,s=e.selectionEnd,o=wijmo_1.clamp(-t.deltaY,-1,1),n=this.value,a=wijmo_1.Globalize.getFullFormat(this.format||wijmo_1.Globalize.DefaultDateFormat);null==a&&(a=this.format);const l=a.match(wijmo_1.getSpecialCharsRegex());if(s-i===e.value.length&&null!=l||this.selectionMode==DateSelectionMode.Range){for(let t=1;;t++){n=this.selectionMode==DateSelectionMode.Month?wijmo_1.DateTime.addMonths(this.value,t*o):wijmo_1.DateTime.addDays(this.value,t*o);if(this._isValidDate(n)||!(null===this.max||n<this.max)||!(null===this.min||n>this.min))break}this.value=n;const t=this._getText();wijmo_1.setSelectionRange(e,0,t.length)}else this._updateDateTimeValue(o,l,a);t.preventDefault()}}get value(){return this._cal.value}set value(t){this._cal.value=t;(this.text||this.isRequired)&&this._refreshText()}get rangeEnd(){return this._cal.rangeEnd}set rangeEnd(t){this._cal.rangeEnd=t;(this.text||this.isRequired)&&this._refreshText()}get rangeMin(){return this._cal.rangeMin}set rangeMin(t){this._cal.rangeMin=t}get rangeMax(){return this._cal.rangeMax}set rangeMax(t){this._cal.rangeMax=t}get keepInvalidText(){return this._keepInvalidText}set keepInvalidText(t){if(new Set(["InputDateTime","WjInputDateTime"]).has(this.constructor.name)){this._keepInvalidText=!1;throw"keepInvalidText property cannot be used with InputDateTime control"}this._keepInvalidText=t}get text(){return this._tbx.value}set text(t){const e=(t||"").toString();if(e!=this.text){e!=this._tbx.value&&(this._tbx.value=e);if(e!=this._oldText){this._oldText=e;this._previousText=e}if(wijmo_1.isEmpty(this._currentInput)){this._textInitialized=!0;this._currentInput="text";this._commitText()}this.onTextChanged();this._currentInput=""}}get format(){return this._fmt}set format(t){if(t!=this.format){this._fmt=wijmo_1.asString(t);this._refreshText()}}get separator(){return this._sep}set separator(t){if(t!=this._sep){this._sep=wijmo_1.asString(t,!1);this.invalidate()}}get mask(){return this._msk.mask}set mask(t){this._msk.mask=wijmo_1.asString(t)}get closeOnSelection(){return this._clsOnSel}set closeOnSelection(t){this._clsOnSel=wijmo_1.asBoolean(t)}get handleWheel(){return this._handleWheel}set handleWheel(t){t=wijmo_1.asBoolean(t);this._handleWheel=t;t||(this.calendar.handleWheel=t)}get predefinedRanges(){return this._rngs}set predefinedRanges(t){if(this._rngs!=t){wijmo_1.assert(null==t||wijmo_1.isObject(t),"Object expected");this._rngs=t;this._lbx.itemsSource=this._getRanges(t);this.invalidate()}}get alwaysShowCalendar(){return this._showCal}set alwaysShowCalendar(t){this._showCal=wijmo_1.asBoolean(t)}get min(){return this._cal.min}set min(t){this._cal.min=wijmo_1.asDate(t,!0)}get max(){return this._cal.max}set max(t){this._cal.max=wijmo_1.asDate(t,!0)}get repeatButtons(){return this._cal.repeatButtons}set repeatButtons(t){this._cal.repeatButtons=wijmo_1.asBoolean(t)}get showYearPicker(){return this._cal.showYearPicker}set showYearPicker(t){this._cal.showYearPicker=wijmo_1.asBoolean(t)}get showMonthPicker(){return this._cal.showMonthPicker}set showMonthPicker(t){this._cal.showMonthPicker=t}get showHeader(){return this._cal.showHeader}set showHeader(t){this._cal.showHeader=t}get weeksBefore(){return this._cal.weeksBefore}set weeksBefore(t){this._cal.weeksBefore=t}get weeksAfter(){return this._cal.weeksAfter}set weeksAfter(t){this._cal.weeksAfter=t}get selectionMode(){return this._cal.selectionMode}set selectionMode(t){if(t!=this.selectionMode){this._cal.selectionMode=t;this._refreshText()}}get monthCount(){return this._cal.monthCount}set monthCount(t){this._cal.monthCount=t}get calendar(){return this._cal}get inputElement(){return this._tbx}get inputType(){return this._tbx.type}set inputType(t){t.match(/^(tel|text|)$/i)?this._tbx.type=wijmo_1.asString(t):console.warn(`invalid input type '${t}', don't use any input types other than 'tel' or 'text'`)}get preserveCalendarNavigation(){return this._preserveCalendarNavigation}set preserveCalendarNavigation(t){this._preserveCalendarNavigation=t}get itemValidator(){return this._cal.itemValidator}set itemValidator(t){if(t!=this.itemValidator){this._cal.itemValidator=wijmo_1.asFunction(t);this.invalidate()}}get itemFormatter(){return this._cal.itemFormatter}set itemFormatter(t){this._cal.itemFormatter=wijmo_1.asFunction(t)}onValueChanged(t){this.valueChanged.raise(this,t)}onRangeEndChanged(t){this.rangeEndChanged.raise(this,t);this.rangeEnd&&(this.isDroppedDown?this._rangeChanged=!0:this.onRangeChanged(t))}onRangeChanged(t){this._rangeChanged=!1;this.rangeChanged.raise(this,t)}_getParsedValue(){const t=this._tbx.value,e=this._fmt,i=(0,wijmo_1.Globalize.parseDate)(t,e,this.value);if(i&&wijmo_1.DateTime.sameDate(i,this._clamp(i)))return this._fromDateTime(i)}refresh(t=!0){super.refresh(t);if(this.hostElement){this._msk&&this._msk.refresh();this._cal&&this._cal.refresh();this._refreshText()}}onIsDroppedDownChanging(t){if(this.isDroppedDown);else{const t=this._lbx,e=this._cal,i=t.collectionView,s=t.hostElement.style,o=e.hostElement.style;if(e._rngMode()&&wijmo_1.hasItems(i)){const t=this._updateRangeSelection();s.display="";o.display=!this._showCal&&t&&t.from&&i.items.some(t=>!t.to)?"none":""}else{s.display="none";o.display=""}e._mthMode()||(e.monthView=!0);e.value&&!this.preserveCalendarNavigation&&(e.displayMonth=e.value);this.showConfirmationButtons&&(e.focusValue=e.value)}return super.onIsDroppedDownChanging(t)}onIsDroppedDownChanged(t){super.onIsDroppedDownChanged(t);const e=this.containsFocus();if(this.isDroppedDown){e&&(this._tryFocus(this._cal)||this._tryFocus(this._lbx)||this.dropDown.focus());this._lbx.showSelection();this._cal.refresh()}else{this._commitText();this._rangeChanged&&this.onRangeChanged()}}_updateDropDown(){this._commitText();const t=getComputedStyle(this.hostElement);this._dropDown.style.minWidth=18*parseFloat(t.fontSize)+"px";this._cal.refresh();super._updateDropDown()}onGotFocus(t){const e=this._tbx;this._elRef==e&&(this.isDroppedDown?this.dropDown.focus():this.selectAll());this.containsFocus()||this.focus();this.gotFocus.raise(this,t)}_keydown(t){if(!(t.defaultPrevented||t.altKey||t.ctrlKey||t.metaKey)){this._isInvalidInputCancelled=!1;if(this._isHiddenEditor())return;const e=wijmo_1.getActiveElement();switch(t.keyCode){case wijmo_1.Key.Enter:if(this.showConfirmationButtons&&e!==this._tbx)return;this._currentInput="user";this._textInitialized=!1;this._commitText(!1,!0);break;case wijmo_1.Key.Escape:this.text=this._getText();this.selectAll();break;case wijmo_1.Key.Tab:if(this.showConfirmationButtons&&e!==this._tbx){const i=wijmo_1._getFocusableElements(this._dropDown).filter(t=>!(t.classList.contains("wj-control")&&t.classList.contains("wj-calendar"))),s=i[0],o=i[i.length-1],n=i.indexOf(t.target),a=i[t.shiftKey?(n-1+i.length)%i.length:(n+1)%i.length];let l=!1;a&&(l=this.calendar.isCalendarDateCell(a));if(l){t.preventDefault();this.calendar.focus();this.calendar.setFocusValueToFirstOrLastCalendar(!t.shiftKey)}else if(t.shiftKey){if(e===s){t.preventDefault();o.focus()}}else if(e===o){t.preventDefault();s.focus()}}else if(this.isDroppedDown){this.isDroppedDown=!1;this.containsFocus()||this.focus();this.keyActionTab===TabKeyAction.CloseAndKeepFocus&&t.preventDefault()}this._currentInput="user";this._textInitialized=!1;this._commitText(!0);break;case wijmo_1.Key.Up:case wijmo_1.Key.Down:if(t.keyCode===wijmo_1.Key.Up&&this.keyActionUpArrow===KeyAction.OpenDropdown||t.keyCode===wijmo_1.Key.Down&&this.keyActionDownArrow===KeyAction.OpenDropdown)break;if(!this.isDroppedDown&&this.value&&this._canChangeValue()){this._currentInput="user";this._textInitialized=!1;const e=this._tbx,i=e.selectionStart,s=e.selectionEnd,o=(e.value,t.keyCode==wijmo_1.Key.Up?1:-1);let n=this.value,a=wijmo_1.Globalize.getFullFormat(this.format||wijmo_1.Globalize.DefaultDateFormat);if("g"==this.format&&a.includes("г")){const t=/"г." /;a=a.replace(t,"")}null==a&&(a=this.format);const l=a.match(wijmo_1.getSpecialCharsRegex());if(s-i===e.value.length&&null!=l||this.selectionMode==DateSelectionMode.Range){for(let t=1;;t++){n=this.selectionMode==DateSelectionMode.Month?wijmo_1.DateTime.addMonths(this.value,t*o):wijmo_1.DateTime.addDays(this.value,t*o);if(this._isValidDate(n)||!(null===this.max||n<this.max)||!(null===this.min||n>this.min))break}this.value=n;const t=this._getText();wijmo_1.setSelectionRange(e,0,t.length)}else this._updateDateTimeValue(o,l,a);t.preventDefault()}}}super._keydown(t)}_expandSelection(){if(this._cal._rngMode()){const t=this._tbx,e=t.value,i=t.selectionStart,s=t.selectionEnd,o=this._sep,n=e.indexOf(o);n>-1&&i==s&&(s<=n?wijmo_1.setSelectionRange(t,0,n):i>=n+o.length&&wijmo_1.setSelectionRange(t,n+o.length,t.value.length))}else super._expandSelection()}_updateDateTimeValue(t,e,i){const s=this._tbx,o=s.selectionStart,n=s.value;let a=this.value,l={},h={},r=0,_=0,d=0,u=[],m=[];const c=s.value.match(wijmo_1.getSpecialCharsRegex());if(null==e||null==c){u=[this.format];m=["0"];e=[""]}else{e.forEach((t,s)=>{const o=t.replaceAll('"',""),a=i.substring(r),d=n.substring(_),u=a.indexOf(t);let m=d.indexOf(o);if(-1==m){const t=c[s];m=d.indexOf(t)}let p=a.substring(0,u);if(""!=p){l[p]=r;h[p]=_}r=r+u+t.length;_=_+m+o.length;if(s==e.length-1){p=i.substring(r);l[p]=r;h[p]=_}});u=Object.keys(l);m=Object.values(h)}const p=m.filter(t=>o>=parseInt(t.toString()));p.length>0&&(d=p.length-1);const w=u[d];for(let e=1;;e++){-1!=w.indexOf("d")?a=wijmo_1.DateTime.addDays(this.value,e*t):-1!=w.indexOf("M")?a=wijmo_1.DateTime.addMonths(this.value,e*t):-1!=w.indexOf("y")&&(a=wijmo_1.DateTime.addYears(this.value,e*t));if(this._isValidDate(a)||!(null===this.max||a<this.max)||!(null===this.min||a>this.min))break}this.value=a;this._reselectText(e,d)}_reselectText(t,e){const i=this._getText(),s=this._tbx;let o=0,n=-1,a=-1;if(1==t.length&&""==t[0]){n=0;a=i.length}else{const l=s.value.match(wijmo_1.getSpecialCharsRegex());t.forEach((t,s)=>{const h=t.replaceAll('"',"");let r=i.substring(o);if(r.startsWith("г.")){r=r.replace("г. ","");o+="г. ".length}let _=r.indexOf(h);0==_&&e++;if(-1==_){const t=l[s];_=r.indexOf(t)}const d=-1===_?r:r.substring(0,_);if(s==e&&-1==n){n=o;a=n+d.length}o=o+_+h.length})}if(-1==n){n=o;a=s.value.length}wijmo_1.setSelectionRange(s,n,a)}_refreshText(){const t=this._getText();if(t!=this.text||t!==this._oldText){this._tbx.value=this._oldText=this._previousText=t;this.onTextChanged()}}_selectAll(){this.isDroppedDown||!this.containsFocus()||this.isTouching||this.selectAll()}_closeOnChange(){if(this._clsOnSel&&this._isTriggered){const t=this._cal;(!t._rngMode()||t.value&&t.rangeEnd)&&setTimeout(()=>{this._isInvalidInputCancelled=!1;this.isDroppedDown=!1})}}_tryFocus(t){const e=t.hostElement;if(e&&e.offsetHeight){e.focus();return!0}return!1}_clamp(t){return this._cal._clamp(t)}_getText(){let t=wijmo_1.Globalize.format,e=this._fmt,i=t(this.value,e);this._cal._rngMode()&&i&&(this.rightToLeft?i=t(this.rangeEnd,e)+this._sep+i:i+=this._sep+t(this.rangeEnd,e));return i}_commitText(t,e){const i=this._tbx.value;this._isInvalidInputCancelled=!1;if(wijmo_1.isEmpty(this._currentInput)){this._textInitialized=!1;this._currentInput="user"}let s=!1,o=this._fmt,n=this._cal,a=wijmo_1.Globalize.parseDate;const l=new InputDateEventArgs(!this._textInitialized);if(i)if(n._rngMode()){const t=i.split(this._sep),h=this.rightToLeft?t[1]:t[0];if(2==t.length&&h){const i=a(h,o,this.value);if(i){const h=a(this.rightToLeft?t[0]:t[1],o,this.value);if(wijmo_1.DateTime.sameDate(i,this._clamp(i)))s=!0;else if(this._shouldRaiseInvalidInput(e)&&this.onInvalidInput(l))this._textInitialized&&this._keepInvalidText||(s=!0);else{this._selectAll();s=!1}if(s)if(h){n.value=this._fromDateTime(i);if(wijmo_1.DateTime.sameDate(h,this._clamp(h))){n.rangeEnd=h&&h>=i?this._fromDateTime(h):i;this.text=this._getText()}else this._triggerInvalidInputEvent(l,i,h,e)}else if(this._shouldRaiseInvalidInput(e)&&this.onInvalidInput(l)){if(!this._textInitialized||!this._keepInvalidText){n.value=this._fromDateTime(i);n.rangeEnd=i;this.text=this._getText()}}else{this._isInvalidInputCancelled=!0;this._selectAll()}}else this._nullValueInvalidInput(l,e)}else this._nullValueInvalidInput(l,e)}else{const t=a(i,o,this.value);t?wijmo_1.DateTime.sameDate(t,this._clamp(t))?this.value=this._fromDateTime(t):this._triggerInvalidInputEvent(l,t,null,e):this._nullValueInvalidInput(l,e)}else if(this.isRequired){const t=a(i,o,this.value);t?this.value=this._fromDateTime(t):this.containsFocus()||(this.text=this._getText())}else this.value=this.rangeEnd=null;this._currentInput="";t||this._selectAll()}_triggerInvalidInputEvent(t,e,i,s){if(this._shouldRaiseInvalidInput(s)&&this.onInvalidInput(t)){if(!this._textInitialized||!this._keepInvalidText){this.value=this._fromDateTime(e);this.calendar._rngMode()&&(this.calendar.rangeEnd=i&&i>=e?this._fromDateTime(i):e)}}else{this.isDroppedDown||!this.containsFocus()||this.isTouching||this.focus();this._isInvalidInputCancelled=!0;this._selectAll()}}_nullValueInvalidInput(t,e){if(this._shouldRaiseInvalidInput(e)&&this.onInvalidInput(t))this._textInitialized&&this._keepInvalidText||(this.text=this._getText());else{this.isDroppedDown||!this.containsFocus()||this.isTouching||this.focus();this._isInvalidInputCancelled=!0;this._selectAll()}}_fromDateTime(t){return wijmo_1.DateTime.fromDateTime(t,this.value)}_canChangeValue(){return!this.isReadOnly&&!this.isDisabled&&this.selectionMode!=DateSelectionMode.None}_isValidDate(t){if(t){if(this._clamp(t)!=t)return!1;if(this.itemValidator&&!this.itemValidator(t))return!1}return!0}_getRanges(t){const e=[];if(wijmo_1.isObject(t))for(const i in t){const s=t[i];e.push({name:i,from:s?s[0]:null,to:s?s[1]:null})}return new wijmo_1.CollectionView(e,{currentItem:null})}_updateRangeSelection(){let t=this._lbx,e=-1;if(wijmo_1.hasItems(t.collectionView)){const t=this._lbx.collectionView.items,i=wijmo_1.DateTime.sameDate;for(let s=0;s<t.length;s++){const o=t[s];if(o.from){if(i(o.from,this.value)&&i(o.to,this.rangeEnd)){e=s;break}}else e=s}}t.selectedIndex=e;return t.selectedItem}_copy(t,e){if("text"===t){const t=(e||"").toString();if(t!==this.text){this._tbx.value=t;this._textInitialized=!0}return!0}return!1}get showConfirmationButtons(){return this._showConfirmationButtons}set showConfirmationButtons(t){this._showConfirmationButtons=t;this._cal.focusMode=t;this._cal.showConfirmationButtons=t;this._cal.updateConfirmationButtons(this.dropDown);const e=wijmo_1.isNullOrUndefined(this.tabOrder)?0:this.tabOrder;this._cal.tabOrder=t?e:-1;this._cal.keyActionTab=t?CalendarTabKeyAction.All:CalendarTabKeyAction.None}get ariaLabelledBy(){return this._ariaLabelledby}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this._tbx,t,this._updateInputAriaLabel.bind(this))}_updateInputAriaLabel(){this._tbx&&(this._tbx.id||this.ariaLabelledBy?wijmo_1.setAriaLabel(this._tbx,null):wijmo_1.setAriaLabel(this._tbx,this._inputAriaLabel))}getAriaLabelForScreenReader(){return wijmo_1.culture.InputDate.ariaLabels.inputDate}}InputDate._ctrlTemplate="";exports.InputDate=InputDate;wijmo_1._addCultureInfo("InputDateRange",{ariaLabels:{inputDateRangeInput:"InputDateRange Input"}});class InputDateRange extends InputDate{constructor(t,e){super(t,Object.assign({selectionMode:DateSelectionMode.Range,showMonthPicker:"Outside",monthCount:2},getInputDateOptions(e)));this._inputAriaLabel=wijmo_1.culture.InputDateRange.ariaLabels.inputDateRangeInput;wijmo_1.addClass(this.hostElement,exports.InputDateRangeClsNames.hostElement);this._tbx.value=this._oldText=this._getText();this.initialize(e);if(this._tbx.value!==this._oldText){this._oldText=this._tbx.value;this._currentInput="text";this._commitText()}this._updateInputAriaLabel()}static get controlTemplate(){InputDateRange._ctrlTemplate||(InputDateRange._ctrlTemplate=InputDate.controlTemplate);return InputDateRange._ctrlTemplate}static set controlTemplate(t){InputDateRange._ctrlTemplate=t}get selectionMode(){return this.calendar.selectionMode}set selectionMode(t){t=wijmo_1.asEnum(t,DateSelectionMode);wijmo_1.assert(t==DateSelectionMode.Range,'InputDateRange.selectionMode must be "Range"');this.calendar.selectionMode=t}_mouseWheel(t){if(!t.defaultPrevented&&!this.isDroppedDown&&this.containsFocus()&&null!=this.value&&this._canChangeValue()){const e=wijmo_1.clamp(-t.deltaY,-1,1),i=this.value;this.value=this.selectionMode==DateSelectionMode.Month?wijmo_1.DateTime.addMonths(i,e):wijmo_1.DateTime.addDays(i,e);this.selectAll();t.preventDefault()}}onGotFocus(t){const e=this._tbx;this._elRef!=e||this.isDroppedDown||this.selectAll();this.containsFocus()||this.focus();this.gotFocus.raise(this,t)}_keydown(t){if(!(t.defaultPrevented||t.altKey||t.ctrlKey||t.metaKey)){this._isInvalidInputCancelled=!1;if(this._isHiddenEditor())return;switch(t.keyCode){case wijmo_1.Key.Up:case wijmo_1.Key.Down:if(t.keyCode===wijmo_1.Key.Up&&this.keyActionUpArrow===KeyAction.OpenDropdown||t.keyCode===wijmo_1.Key.Down&&this.keyActionDownArrow===KeyAction.OpenDropdown)break;if(!this.isDroppedDown&&this.value&&this._canChangeValue()){const e=t.keyCode==wijmo_1.Key.Up?1:-1,i=this.selectionMode==DateSelectionMode.Month?wijmo_1.DateTime.addMonths(this.value,e):wijmo_1.DateTime.addDays(this.value,e);this.value=this._fromDateTime(i);this.selectAll();t.preventDefault()}}}super._keydown(t)}}InputDateRange._ctrlTemplate="";exports.InputDateRange=InputDateRange;function getInputDateOptions(t){const e={};if(!wijmo_1.isNullOrUndefined(t)){wijmo_1.isNullOrUndefined(t.showConfirmationButtons)||(e.showConfirmationButtons=t.showConfirmationButtons);wijmo_1.isNullOrUndefined(t.tabOrder)||(e.tabOrder=t.tabOrder)}return e}wijmo_1._addCultureInfo("InputColor",{ariaLabels:{inputColor:"Input Color",inputColorInput:"InputColor Input",button:"Choose Color",dialog:"ColorPicker"}});class InputColor extends DropDown{constructor(t,e){super(t);this._textInitialized=!1;this._ariaLabelledby=null;this._inputAriaLabel=wijmo_1.culture.InputColor.ariaLabels.inputColorInput;this.valueChanged=new wijmo_1.Event;wijmo_1.addClass(this.hostElement,exports.InputColorClsNames.hostElement);wijmo_1.setAttribute(this._dropDown,"role","dialog");wijmo_1.setAriaLabel(this._dropDown,wijmo_1.culture.InputColor.ariaLabels.dialog);wijmo_1.setAttribute(this._dropDown,"aria-modal",!0);wijmo_1.setAttribute(this._tbx,"role","combobox");wijmo_1.setAttribute(this._tbx,"aria-haspopup","dialog");wijmo_1.setAttribute(this._btn.querySelector("button"),"aria-haspopup","dialog");wijmo_1.setAriaLabel(this._btn.querySelector("button"),wijmo_1.culture.InputColor.ariaLabels.button);this.dropDown.id=wijmo_1.getUniqueId(this.hostElement.id+"_dropdown");const i=`<div class="${exports.InputColorClsNames.inputColorBox}"></div>`;this._ePreview=wijmo_1.createElement(i,this.hostElement.firstElementChild);if("INPUT"==this._orgTag){this._tbx.type="";this._commitText()}this.value="#ffffff";this.isRequired=!0;this._tbx.value=this._oldText=this.value;this.initialize(e);if(this._textInitialized&&this._tbx.value!==this._oldText){this._oldText=this._tbx.value;this.onTextChanged();this._commitText();this._textInitialized=!1}this.addEventListener(this._colorPicker.hostElement,"click",t=>{const e=t.target;if(e&&"DIV"==e.tagName&&(wijmo_1.closest(e,'[wj-part="div-pal"]')||wijmo_1.closest(e,'[wj-part="div-pv"]'))){e.style.backgroundColor&&(this.isDroppedDown=!1)}});const s=!e||-1!==e.tabOrder&&e.colorPickerKeyActionTab!==ColorPickerTabKeyAction.None?0:-1;this._colorPicker.tabOrder=s;this._updateInputAriaLabel()}static get controlTemplate(){InputColor._ctrlTemplate||(InputColor._ctrlTemplate=DropDown.controlTemplate);return InputColor._ctrlTemplate}static set controlTemplate(t){InputColor._ctrlTemplate=t}get value(){return this._value}set value(t){this.text=t}get text(){return this._tbx.value}set text(t){if((t=wijmo_1.asString(t))!=this.text&&(t||!this.isRequired)&&(!t||wijmo_1.Color.fromString(t.replace(/\s+/g,"")))){this._setText(t,!0);this._commitText()}}get inputType(){return this._tbx.type}set inputType(t){t.match(/^(tel|text|)$/i)?this._tbx.type=wijmo_1.asString(t):console.warn(`invalid input type '${t}', don't use any input types other than 'tel' or 'text'`)}get showAlphaChannel(){return this._colorPicker.showAlphaChannel}set showAlphaChannel(t){this._colorPicker.showAlphaChannel=t}get showColorString(){return this._colorPicker.showColorString}set showColorString(t){this._colorPicker.showColorString=t}get palette(){return this._colorPicker.palette}set palette(t){this._colorPicker.palette=t}get colorPicker(){return this._colorPicker}get ariaLabelledBy(){return this._ariaLabelledby}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this._tbx,t,this._updateInputAriaLabel.bind(this))}get colorPickerKeyActionTab(){return this.colorPicker.keyActionTab}set colorPickerKeyActionTab(t){this.colorPicker.keyActionTab=t}onValueChanged(t){this.valueChanged.raise(this,t)}onIsDroppedDownChanged(t){super.onIsDroppedDownChanged(t);if(this.isDroppedDown&&!this.isTouching){this.colorPicker._refreshSelection();const t=this._tbx;this._elRef==t&&wijmo_1.setSelectionRange(t,0,this.text.length,!1);this.containsFocus()||this.focus()}}_createDropDown(){this._colorPicker=new ColorPicker(this._dropDown);wijmo_1.setCss(this._dropDown,{minWidth:420,minHeight:200});this._colorPicker.valueChanged.addHandler(()=>{this.value=this._colorPicker.value})}_keydown(t){if(!t.defaultPrevented)switch(t.keyCode){case wijmo_1.Key.Enter:this._commitText();this.selectAll();break;case wijmo_1.Key.Escape:this.text=this.value;this.selectAll();break;case wijmo_1.Key.Tab:{const e=wijmo_1.getActiveElement();if(this.colorPicker.keyActionTab===ColorPickerTabKeyAction.All&&e!==this._tbx){const i=wijmo_1._getFocusableElements(this.colorPicker.hostElement),s=i[0],o=i[i.length-1];if(t.shiftKey){if(e===s){t.preventDefault();o.focus()}}else if(e===o){t.preventDefault();s.focus()}}else if(this.isDroppedDown){this.isDroppedDown=!1;this.containsFocus()||this.focus();this.keyActionTab===TabKeyAction.CloseAndKeepFocus&&t.preventDefault()}break}}super._keydown(t)}_commitText(){if(this._value!=this.text){const t=!this.text||!this.text.trim();if(!this.isRequired&&t){this._changeAllValue();this._ePreview.style.backgroundColor="";return}if(wijmo_1.Color.fromString(this.text.replace(/\s+/g,""))){if(this.text&&this.text!==this.text.replace(/\s+/g,"")){this.text=this.text.replace(/\s+/g,"");return}this._changeAllValue()}else this.onInvalidInput(new wijmo_1.CancelEventArgs)&&(this.text=this._value?this._value:"")}}_changeAllValue(){const t=this._colorPicker;t.value=this.text;this._value=t.value;this._ePreview.style.backgroundColor=this.value;this.onValueChanged()}_copy(t,e){if("text"===t){const t=(e||"").toString();if(t!==this.text){this._tbx.value=t;this._textInitialized=!0}return!0}return!1}getAriaLabelForScreenReader(){return wijmo_1.culture.InputColor.ariaLabels.inputColor}_updateInputAriaLabel(){this._tbx&&(this._tbx.id||this.ariaLabelledBy?wijmo_1.setAriaLabel(this._tbx,null):wijmo_1.setAriaLabel(this._tbx,this._inputAriaLabel))}}InputColor._ctrlTemplate="";exports.InputColor=InputColor;wijmo_1._addCultureInfo("ComboBox",{ariaLabels:{comboBoxInput:"ComboBox Input",comboBox:"Combo Box"}});class ComboBox extends DropDown{constructor(t,e){super(t);this._editable=!1;this._trimText=!0;this._handleWheel=!0;this._delKey=0;this._draggingText=!1;this._textIsComposing="";this._pathHdr=new wijmo_1.Binding(null);this._bsCollapse=!0;this._fmtItemHandlers=0;this._emptyValueAction=!1;this._oldIndexToBeRestoredOnBlur=null;this._restoreComboboxTbxVal=!1;this._isWheel=!1;this._selItems=null;this._oldFilter=null;this._keyActionPrintCharacters=KeyAction.OpenDropdown;this._inputElementAriaLabel=wijmo_1.culture.ComboBox.ariaLabels.comboBoxInput;this._ariaLabelledby=null;this.itemsSourceChanged=new wijmo_1.Event;this.selectedIndexChanged=new wijmo_1.Event;const i=this.hostElement;wijmo_1.addClass(i,exports.ComboBoxClsNames.hostElement);this.dropDown.id=wijmo_1.getUniqueId(i.id+"_dropdown");this.autoExpandSelection=!1;const s=this._tbx;this.addEventListener(s,"compositionstart",()=>{this._composing=!0});this.addEventListener(s,"compositionend",()=>{this._textIsComposing=this.text;this._composing=!1;this._setText(this._textIsComposing,!0);if(!this._textIsComposing&&this.isRequired){this._oldText="";this._oldIndexToBeRestoredOnBlur=null}setTimeout(()=>{this._textIsComposing=""})});this.addEventListener(s,"drag",()=>{this._draggingText=!0});this.addEventListener(i,"wheel",this._wheel.bind(this));"SELECT"==this._orgTag&&this._lbx._initFromSelect(i);const o=this._lbx;o.loadedItems.addHandler(t=>{this.selectedIndex>-1&&(this.selectedIndex=o.selectedIndex)});o.tabOrder=-1;this.isRequired=!0;this.initialize(e);this._updateTbxAriaHaspopup();this._updateInputAriaLabel()}static get controlTemplate(){ComboBox._ctrlTemplate||(ComboBox._ctrlTemplate=DropDown.controlTemplate);return ComboBox._ctrlTemplate}static set controlTemplate(t){ComboBox._ctrlTemplate=t}get itemsSource(){return this._lbx.itemsSource}set itemsSource(t){if(this._lbx.itemsSource!=t){this._lbx.itemsSource=t;this.onItemsSourceChanged()}this._updateBtn()}get collectionView(){return this._lbx.collectionView}get virtualizationThreshold(){return this._lbx.virtualizationThreshold}set virtualizationThreshold(t){this._lbx.virtualizationThreshold=t}get showGroups(){return this._lbx.showGroups}set showGroups(t){this._lbx.showGroups=t}get displayMemberPath(){return this._lbx.displayMemberPath}set displayMemberPath(t){if(this.displayMemberPath===t)return;this._lbx.displayMemberPath=t;const e=this._getDisplayText(void 0,void 0,!0);this.text!=e&&this._setText(e,!0)}get headerPath(){return this._pathHdr.path}set headerPath(t){this._pathHdr.path=wijmo_1.asString(t);const e=this._getDisplayText(void 0,void 0,!0);this.text!=e&&this._setText(e,!0)}get selectedValuePath(){return this._lbx.selectedValuePath}set selectedValuePath(t){this._lbx.selectedValuePath=t}get isContentHtml(){return this._lbx.isContentHtml}set isContentHtml(t){if(t!=this.isContentHtml){this._lbx.isContentHtml=wijmo_1.asBoolean(t);const e=this._getDisplayText(void 0,void 0,!0);this.text!=e&&this._setText(e,!0)}}get caseSensitiveSearch(){return this._lbx.caseSensitiveSearch}set caseSensitiveSearch(t){this._lbx.caseSensitiveSearch=wijmo_1.asBoolean(t)}get trimText(){return this._trimText}set trimText(t){if(t!=this._trimText){this._trimText=wijmo_1.asBoolean(t);this.invalidate()}}get itemFormatter(){return this._lbx.itemFormatter}set itemFormatter(t){this._lbx.itemFormatter=wijmo_1.asFunction(t);this.selectedIndex=this._lbx.selectedIndex}get formatItem(){return this._lbx.formatItem}get selectedIndex(){return this._lbx.selectedIndex}set selectedIndex(t){t!=this.selectedIndex&&wijmo_1.isNumber(t)&&(this._lbx.selectedIndex=t);const e=this._lbx._oldSelectedIndex!=this.selectedIndex;t=this.selectedIndex;const i=this._getDisplayText(t,void 0,!0);if(this.text!=i||e){const t=this._internalSettingText;this._internalSettingText=this._lbx._ignoredItemChangedEvents;this._setText(i,!0);""!=this.text&&(this._emptyValueAction=!1);this._internalSettingText=t}}get selectedItem(){return this._lbx.selectedItem}set selectedItem(t){this._lbx.selectedItem=t}get selectedValue(){return this.collectionView?this._lbx.selectedValue:this.text}set selectedValue(t){this.collectionView?this._lbx.selectedValue=t:null!=t&&(this.text=t.toString())}get isEditable(){return this._editable}set isEditable(t){this._editable=wijmo_1.asBoolean(t)}get handleWheel(){return this._handleWheel}set handleWheel(t){this._handleWheel=wijmo_1.asBoolean(t)}get maxDropDownHeight(){return this._lbx.maxHeight}set maxDropDownHeight(t){this._lbx.maxHeight=t}get maxDropDownWidth(){const t=this._dropDown,e=t?parseInt(t.style.maxWidth):null;return isNaN(e)?null:e}set maxDropDownWidth(t){const e=this._dropDown.style;t=wijmo_1.asNumber(t,!0);e.maxWidth=null==t?"":t+"px";e.minWidth=""}get keyActionPrintCharacters(){return this._keyActionPrintCharacters}set keyActionPrintCharacters(t){this._keyActionPrintCharacters=wijmo_1.asEnum(t,KeyAction)}get ariaLabelledBy(){return this._ariaLabelledby}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this._tbx,t,this._updateInputAndListBoxAriaLabel.bind(this))}_updateInputAndListBoxAriaLabel(){this._updateInputAriaLabel()}getDisplayText(t=this.selectedIndex,e=this._trimText){return this._getDisplayText(t,e)}_getDisplayText(t=this.selectedIndex,e=this._trimText,i){let s,o=this.collectionView;if(this.headerPath&&t>-1&&wijmo_1.hasItems(o)){const e=o.items[t];s=e?this._pathHdr.getValue(e):null;s=null!=s?s.toString():"";this.isContentHtml&&(s=wijmo_1.toPlainText(s))}else s=this._lbx._getDisplayText(t,i&&void 0!==this.itemFormatter&&!this._hasCustomFormatItem());return e?s.trim():s}_hasCustomFormatItem(){return this.formatItem.hasHandlers}indexOf(t,e,i=!1){const s=this.collectionView,o=this.caseSensitiveSearch;if(wijmo_1.hasItems(s)&&null!=t){t=t.toString();o||(t=t.toLowerCase());if(this._trimText&&!i){-1!==this.indexOf(t,!1,!0)||(t=t.trim())}let n=this.selectedIndex,a=this._getDisplayText(n,void 0,!0);if(e){o||(a=a.toLowerCase());if(t==a)return n}else if(!t&&""==a)return n;for(let i=0;i<s.items.length;i++)if(this._lbx.isItemEnabled(i)){a=this._getDisplayText(i,void 0,!0);this.trimText&&(a=a.trim());o||(a=a.toLowerCase());if(e){if(a==t&&!1===this._emptyValueAction)return i}else if(t&&0==a.indexOf(t)||!t&&""==a&&!1===this._emptyValueAction)return i}}return-1}get listBox(){return this._lbx}onItemsSourceChanged(t){this.itemsSourceChanged.raise(this,t)}onSelectedIndexChanged(t){this._updateBtn();this.selectedIndexChanged.raise(this,t)}refresh(t=!0){super.refresh(t);if(this.hostElement&&wijmo_1.hasItems(this.collectionView)){this._lbx.refresh();this.selectedIndex>-1&&(this.selectedIndex=this._lbx.selectedIndex)}}onLostFocus(t,e,i){this._trimText&&(this.text=this.text.trim());if(this._composing){this._composing=!1;if(!this.text&&this.isRequired){this._oldText="";this._oldIndexToBeRestoredOnBlur=null}this._setText(this.text,!0)}if((!this.text&&this.isRequired&&!(Array.isArray(this._selItems)&&this._selItems.length>0)||i)&&wijmo_1.hasItems(this.collectionView)&&!(this.isRequired&&!this.isEditable&&this.text&&this.indexOf(this.text,!1)>-1&&this.indexOf(this.text,!0)<0)){void 0!==e&&(this.selectedIndex=-1!==e?e:0);null!==this._oldIndexToBeRestoredOnBlur?this.selectedIndex=-1!==this._oldIndexToBeRestoredOnBlur?this._oldIndexToBeRestoredOnBlur:0:null==this.collectionView.currentItem&&(this.selectedIndex=0)}const s=this.text,o=this.collectionView?this.collectionView.items.length:0,n=this.selectedIndex;super.onLostFocus(t);const a=this.collectionView?this.collectionView.items.length:0,l=this.selectedIndex,h=this.text,r=this._oldFilter;this._oldFilter=null;if(n===l&&s===h){r&&(this.collectionView.filter=r);this._trySelectionUpdateOnItemsSourceChanged(a!==o,s)}}onIsDroppedDownChanging(t){if(!this.isDroppedDown&&!this._hasItems()){t.cancel=!0;return!1}return super.onIsDroppedDownChanging(t)}onIsDroppedDownChanged(t){super.onIsDroppedDownChanged(t);if(this.isDroppedDown){this._fmtItemHandlers=this.formatItem.handlerCount;this._lbx.showSelection()}this._updateTbxAria()}_trySelectionUpdateOnItemsSourceChanged(t,e){if(t&&e){let t=this.indexOf(e,!0);t<0&&(t=this.indexOf(e,!1));this.selectedIndex=t}}_setIsDisabled(t){super._setIsDisabled(t);this._updateBtn()}_updateBtn(){const t=this.collectionView,e=this._tbx,i=this._hasItems();super._updateBtn();this._btn.style.display=this._showBtn&&null!=t?"":"none";wijmo_1.enable(this._btn,i&&!this.isDisabled);wijmo_1.setAttribute(e,"role",i?"combobox":null);wijmo_1.setAttribute(e,"aria-autocomplete",i?"both":null);this._updateTbxAria()}_hasItems(){return wijmo_1.hasItems(this.collectionView)}_updateTbxAria(){super._updateTbxAria();const t=this._tbx,e=this.isDroppedDown,i=this.dropDown?this.dropDown.id:null,s=i&&wijmo_1.hasItems(this.collectionView),o=this._lbx,n=o.selectedIndex,a=o.hostElement?o.hostElement.children:null,l=o._getElementIndex(n),h=l>-1&&a&&l<a.length?a[l].id:null;wijmo_1.setAttribute(t,"aria-controls",s&&e?i:null);wijmo_1.setAttribute(t,"aria-expanded",s?e:null);wijmo_1.setAttribute(t,"aria-activedescendant",this.isDroppedDown&&h&&h.length?h:null)}_updateInputAriaLabel(){const t=this._tbx;t&&(t.id||this._ariaLabelledby?wijmo_1.setAttribute(t,"aria-label",null):wijmo_1.setAttribute(t,"aria-label",this._inputElementAriaLabel))}_createDropDown(){if(!this._lbx){this._lbx=new ListBox(this._dropDown);this._lbx._container=this.hostElement}this._lbx.maxHeight=200;this._lbx.selectedIndexChanged.addHandler(()=>{this._updateBtn();const t=this._lbx.selectedIndex;this.selectedIndex=t;this.onSelectedIndexChanged()});this._lbx.itemsChanged.addHandler(()=>{this._updateBtn()})}_wheel(t){this._isWheel=!0;if(this.handleWheel&&!t.defaultPrevented&&!this.isDroppedDown&&!this.isReadOnly&&this.containsFocus()&&this.selectedIndex>-1){const e=this._findNext("",t.deltaY>0?1:-1);e>-1&&(this.selectedIndex=e);t.preventDefault()}this._isWheel=!1}_dropDownClick(t){t.defaultPrevented||t.target!=this._dropDown&&(this.isDroppedDown=!1);this._restoreComboboxTbxVal&&(this._tbx.value=this._getDisplayText(this.selectedIndex,void 0,!0));super._dropDownClick(t)}_setText(t,e,i=!1){if(this._composing||this._settingText)return;this._settingText=!0;if(this.containsFocus()){const t=this.formatItem.handlerCount;if(this._fmtItemHandlers!=t){this._fmtItemHandlers=t;this._lbx.loadList()}}t=[null,void 0,NaN].includes(t)?"":t.toString();let s=this.selectedIndex,o=this.collectionView,n=this._getSelStart(),a=-1,l=!0;if(this.isEditable&&(this._delKey||this._getSelEnd()<t.length||!this.containsFocus())){e=!0;l=!1}s=this.indexOf(t,e);if(l){s<0&&e&&(s=this.indexOf(t,!1));s<0&&n>0&&!i&&(s=this.indexOf(t.substr(0,n),!1));if(!e){const e=this.indexOf(t,!0);e>-1&&s>-1&&e!=s&&(s=e)}}s<0&&this._delKey&&(s=this.indexOf(t,e));if(s<0&&!this.isEditable&&wijmo_1.hasItems(o)&&(t&&this.isRequired||this.containsFocus()&&(t||this.isRequired))){const e=this._oldText||"";s=Math.max(0,this.indexOf(e,!1));n=0;for(let i=0;i<t.length&&i<e.length;i++)if(t[i]!=e[i]){n=i;break}}if((!this._delKey||!this.isEditable||this._delKey&&this.isEditable&&t==this._getDisplayText(s,void 0,!0))&&(!this._pristine||this._pristine&&!this.isEditable)||this._isWheel||this._delKey&&""==t&&s>-1){if(s>-1){a=n;t=this._getDisplayText(s,void 0,!0)}const e=this._tbx;t!=e.value&&(e.value=t);a>-1&&this.containsFocus()&&!this.isTouching&&this._updateInputSelection(a)}if(o){if(!t||this.trimText&&""==t.trim()&&!this.containsFocus()&&this.isEditable)if(s>-1)this._oldIndexToBeRestoredOnBlur=s;else{this._oldIndexToBeRestoredOnBlur=this.indexOf(this._oldText,!0);this._oldIndexToBeRestoredOnBlur=this._oldIndexToBeRestoredOnBlur<0?this.indexOf(this._oldText,!1):this._oldIndexToBeRestoredOnBlur}this._restoreComboboxTbxVal=t&&s>-1;o.moveCurrentToPosition(s)}this.containsFocus()||this.isEditable||this.isRequired||t!=t.trim()||!this.trimText||(this._tbx.value=this._getDisplayText(s,this.trimText,!0));!this.containsFocus()&&s>-1&&this.isEditable&&(t=this._getDisplayText(s,this.trimText,!0));!this.containsFocus()&&this._hasItems()&&s<0&&!this.isEditable&&!this.isRequired&&(t="");let h=!1;!t&&s<0&&this.isRequired&&!this.containsFocus()&&(h=!0);this.trimText&&!this.containsFocus()&&this.isEditable&&(this.isRequired&&""==t.trim()?h=!0:t=t.trim());if(h){this.selectedIndex=this._oldIndexToBeRestoredOnBlur;this.selectedIndex<0&&(this.selectedIndex=0)}const r=!this.containsFocus()&&!this.isEditable&&this.trimText;r&&(this._tbx.value=this._getDisplayText(s,!0,!0));this._delKey=0;this._settingText=!1;super._setText(h?this._getDisplayText(this.selectedIndex,void 0,!0):t,e,h,r)}_findNext(t,e,i=this.selectedIndex){const s=this.collectionView,o=s?s.items.length:0,n=this._lbx,a=this.caseSensitiveSearch;if(s&&o&&e){a||(t=t.toLowerCase());this.trimText&&(t=t.trim());for(let s=i+e;s>-1&&s<o;s+=e){let e=this._getDisplayText(s,void 0,!0);a||(e=e.toLowerCase());if(0==e.indexOf(t)){if(!this.dropDown.children[s]||n.isItemEnabled(s))return s}}}return i}_findNextWhenIsEditableFalse(t,e,i=this.selectedIndex){const s=this._findNext(t,e,i);return s!==i?s:-1}_keydown(t){super._keydown(t);if(t.defaultPrevented||this.isReadOnly)return;if(t.altKey)return;if(!wijmo_1.hasItems(this.collectionView))return;if(this._elRef!=this._tbx)return;if(this._isHiddenEditor())return;this._delKey=0;let e=this._getSelStart();const i=this._getSelEnd();switch(t.keyCode){case wijmo_1.Key.Tab:if(this.isDroppedDown){this.isDroppedDown=!1;this.keyActionTab===TabKeyAction.CloseAndKeepFocus&&t.preventDefault()}break;case wijmo_1.Key.Back:case wijmo_1.Key.Delete:case 88:if(!t.ctrlKey&&!t.metaKey&&88==t.keyCode)break;if(this._bsCollapse&&!this.isEditable&&e>0&&i==this._tbx.value.length&&wijmo_1.hasItems(this.collectionView)){this._setSelRange(e-1,i);e-=1}this._delKey=t.keyCode;break;case wijmo_1.Key.Up:case wijmo_1.Key.Down:e==this.text.length&&(e=0);this.selectedIndex=this._findNext(this.text.substr(0,e),t.keyCode==wijmo_1.Key.Up?-1:1);this._setSelRange(e,this.text.length);t.preventDefault();break;case wijmo_1.Key.PageUp:this._lbx._selectPrevPage();this.selectAll();t.preventDefault();break;case wijmo_1.Key.PageDown:this._lbx._selectNextPage();this.selectAll();t.preventDefault();break;case wijmo_1.Key.Home:case wijmo_1.Key.End:{const t=this._tbx;wijmo_1.setAttribute(t,"aria-activedescendant",null);break}}this.text.length>0&&["Backspace","Delete","x"].includes(t.key)&&0===e&&i===this.text.length||this._delKey&&1===this.text.length?this._emptyValueAction=!0:this._composing||(this._emptyValueAction=!1)}_afterOpenDropdownByDownArrow(){if(-1===this.selectedIndex){this.selectedIndex=0;this.selectAll()}}_input(t){this._handleDragTextState();this._updateDropDownWhenInput();this._updateComponentText();this._updateEmptyValueFlag();this._resetDragState()}_handleDragTextState(){this._draggingText&&(this._emptyValueAction=""===this.text)}_shouldOpenDropdown(){return this.keyActionPrintCharacters===KeyAction.OpenDropdown}_handleIsEditableFalseInput(){const t=this.text;let e=this.text.length,i=this._findNextWhenIsEditableFalse(t,1,this.selectedIndex-1);if(-1===i){i=this._findNextWhenIsEditableFalse(t,1,-1);if(-1===i){const s=t[t.length-1];i=this._findNextWhenIsEditableFalse(s,1);e=1;-1===i&&(i=this._findNextWhenIsEditableFalse(s,1,-1))}}-1!==i?this._updateSelection(i,e):this._updateComponentText()}_updateSelection(t,e){this._tbx.value=this._getDisplayText(t,void 0,!0);this._updateInputSelection(e);const i=this.collectionView;i&&i.moveCurrentToPosition(t)}_updateComponentText(){const t=this._textIsComposing||this.text;this._setText(t,!1)}_updateEmptyValueFlag(){this.text&&(this._emptyValueAction=!1)}_controlDropdownVisibility(){this.text&&!this.isDroppedDown&&(this.isDroppedDown=!0)}_resetDragState(){this._draggingText=!1}_updateInputSelection(t){const e=this._tbx;this._elRef==e&&this._setSelRange(t,e.value.length)}_getSelStart(){const t=this._tbx;return t&&t.value?t.selectionStart:0}_getSelEnd(){const t=this._tbx;return t&&t.value?t.selectionEnd:0}_setSelRange(t,e){const i=this._tbx;this._elRef!=i||i.readOnly||wijmo_1.setSelectionRange(i,t,e)}getAriaLabelForScreenReader(){return wijmo_1.culture.ComboBox.ariaLabels.comboBox}_updateDropDownWhenInput(){if(this._shouldOpenDropdown()){const t=this._getSelStart(),e=this._getSelEnd(),i=this._delKey,s=this.text;this._controlDropdownVisibility();this._tbx.value=s;this._setSelRange(t,e);this._delKey=i}}}ComboBox._ctrlTemplate="";exports.ComboBox=ComboBox;wijmo_1._addCultureInfo("MultiSelect",{itemsSelected:"{count:n0} items selected",selectAll:"Select All",ariaLabels:{multiSelectInput:"MultiSelect Input",multiSelect:"Multi Select"}});class MultiSelect extends ComboBox{constructor(t,e){super(t);this._maxHdrItems=2;this._readOnly=!1;this._hdrFmt=null;this._inputElementAriaLabel=wijmo_1.culture.MultiSelect.ariaLabels.multiSelectInput;this.checkedItemsChanged=new wijmo_1.Event;wijmo_1.addClass(this.hostElement,exports.MultiSelectClsNames.hostElement);this._tbx.readOnly=!0;this.checkedMemberPath=null;this.removeEventListener(this.dropDown,"click");this._lbx.itemsChanged.addHandler(()=>{this._updateHeader(!1)});this._lbx.checkedItemsChanged.addHandler(()=>{this._updateHeader(!1);this.onCheckedItemsChanged()});this.clickAction=ClickAction.Toggle;this.initialize(e);this._updateInputAriaLabel()}static get controlTemplate(){MultiSelect._ctrlTemplate||(MultiSelect._ctrlTemplate=ComboBox.controlTemplate);return MultiSelect._ctrlTemplate}static set controlTemplate(t){MultiSelect._ctrlTemplate=t}get showSelectAllCheckbox(){return this._msLbx.showSelectAllCheckbox}set showSelectAllCheckbox(t){this._msLbx.showSelectAllCheckbox=wijmo_1.asBoolean(t)}get showFilterInput(){return this._msLbx.showFilterInput}set showFilterInput(t){this._msLbx.showFilterInput=wijmo_1.asBoolean(t)}get delay(){return this._msLbx.delay}set delay(t){this._msLbx.delay=t}get caseSensitiveSearch(){return this._msLbx.caseSensitiveSearch}set caseSensitiveSearch(t){this._msLbx.caseSensitiveSearch=t}get filterInputPlaceholder(){return this._msLbx.filterInputPlaceholder}set filterInputPlaceholder(t){this._msLbx.filterInputPlaceholder=wijmo_1.asString(t)}get checkOnFilter(){return this._msLbx.checkOnFilter}set checkOnFilter(t){if(t!=this.checkOnFilter){this._msLbx.checkOnFilter=wijmo_1.asBoolean(t);this.checkedItems=[]}}get selectAllLabel(){return this._msLbx.selectAllLabel}set selectAllLabel(t){this._msLbx.selectAllLabel=wijmo_1.asString(t)}get checkedMemberPath(){return this._msLbx.checkedMemberPath}set checkedMemberPath(t){this._msLbx.checkedMemberPath=wijmo_1.asString(t)}get maxHeaderItems(){return this._maxHdrItems}set maxHeaderItems(t){if(this._maxHdrItems!=t){this._maxHdrItems=wijmo_1.asNumber(t);this._updateHeader()}}get headerFormat(){return this._hdrFmt}set headerFormat(t){if(t!=this._hdrFmt){this._hdrFmt=wijmo_1.asString(t);this._updateHeader()}}get headerFormatter(){return this._hdrFormatter}set headerFormatter(t){if(t!=this._hdrFormatter){this._hdrFormatter=wijmo_1.asFunction(t);this._updateHeader()}}get checkedItems(){return this._msLbx.checkedItems}set checkedItems(t){this._msLbx.checkedItems=null==t?[]:wijmo_1.asArray(t);this._updateHeader()}onCheckedItemsChanged(t){this.checkedItemsChanged.raise(this,t)}dispose(){this._lbx.dispose();super.dispose()}onIsDroppedDownChanged(t){super.onIsDroppedDownChanged(t);setTimeout(()=>{if(this.isDroppedDown&&this.containsFocus())if(this.showFilterInput&&!this.isTouching)this._msLbx._filter.focus();else{const t=this.listBox;if(t.selectedIndex<0){let e=0,i=t.checkedItems;i.length&&(e=t.collectionView.items.indexOf(i[0]));t.selectedIndex=Math.max(0,e)}t.showSelection(!0);t.focus()}})}onLostFocus(){this._msLbx.onLostFocus();this.isDroppedDown=!1;super.onLostFocus()}_createDropDown(){const t=wijmo_1.createElement("<div></div>",this._dropDown);this._msLbx=new MultiSelectListBox(t);this._lbx=this._msLbx.listBox;const e=this.hostElement;this._lbx.hostElement.id=wijmo_1.getUniqueId(e.id+"_listbox");this._lbx.itemsChanged.addHandler(()=>{this.isDroppedDown&&this.refresh()});super._createDropDown()}_updateBtnAria(){const t=this._btn.querySelector("button"),e=this.isDroppedDown,i=this._lbx?this._lbx.hostElement:null,s=i?i.id:null;wijmo_1.setAttribute(t,"aria-expanded",e);wijmo_1.setAttribute(t,"aria-controls",e?s:null)}_updateTbxAria(){const t=this._tbx,e=this.isDroppedDown,i=this._lbx?this._lbx.hostElement:null,s=i?i.id:null;wijmo_1.setAttribute(t,"aria-expanded",e);wijmo_1.setAttribute(t,"aria-controls",e?s:null)}get isReadOnly(){return this._readOnly}set isReadOnly(t){this._readOnly=wijmo_1.asBoolean(t);wijmo_1.toggleClass(this.hostElement,wijmo_1.ControlStateClsNames.readOnly,this.isReadOnly)}refresh(t=!0){super.refresh(t);this.hostElement&&this._updateHeader()}_setText(t,e){}_keydown(t){const e=t.altKey&&(38===t.keyCode||40===t.keyCode);if(this.isDroppedDown&&e&&this.showFilterInput){this.isDroppedDown=!1;t.preventDefault()}else{super._keydown(t);wijmo_1.hasClass(this._tbx,"wj-grid-ime")||!t.defaultPrevented&&wijmo_1.hasItems(this.collectionView)&&t.keyCode>32&&123!==t.keyCode&&(this.isDroppedDown=!0)}}_hasItems(){const t=this.collectionView,e=t?t.sourceCollection:null;return wijmo_1.hasItems(t)||e&&e.length&&this.showFilterInput}_updateHeader(t=!0,e=!0){let i="";if(wijmo_1.isFunction(this._hdrFormatter))i=this._hdrFormatter(this);else{let t=this.checkedItems,e=[];if(this.displayMemberPath){const i=new wijmo_1.Binding(this.displayMemberPath);e=t.reduce((t,e)=>{(e.binding?t.find(t=>t.binding===e.binding):t.find(t=>i.getValue(t)===i.getValue(e)))||t.push(e);return t},[]);t=e}if(t.length>0)if(t.length<=this._maxHdrItems){if(this.headerPath){const e=new wijmo_1.Binding(this.headerPath);t=t.map(t=>e.getValue(t))}else if(this.displayMemberPath){const e=new wijmo_1.Binding(this.displayMemberPath);t=t.map(t=>e.getValue(t))}this.isContentHtml&&(t=t.map(t=>wijmo_1.toPlainText(t)));this.trimText&&(t=t.map(t=>t?t.toString().trim():""));i=t.join(", ")}else i=wijmo_1.format(this.headerFormat||wijmo_1.culture.MultiSelect.itemsSelected,{count:t.length})}const s=this.inputElement;if(i!=s.value){s.value=i;this.onTextChanged()}t&&this._lbx._updateCheckedList(this.checkedItems);this._updateState()}getAriaLabelForScreenReader(){return wijmo_1.culture.MultiSelect.ariaLabels.multiSelect}}MultiSelect._DEF_CHECKED_PATH="$checked";MultiSelect._ctrlTemplate="";exports.MultiSelect=MultiSelect;wijmo_1._addCultureInfo("Menu",{ariaLabels:{menuButton:"Menu"}});class Menu extends ComboBox{constructor(t,e){super(t);this._closing=!1;this._cmd=null;this._cmdPath=null;this._cmdParamPath=null;this._subPath=null;this._owner=null;this._isButton=!1;this._keepOpen=!1;this._openOnHover=!1;this._closeOnLeave=!0;this._subMenu=null;this._hoverEnterBnd=this._hoverEnter.bind(this);this._hoverLeaveBnd=this._hoverLeave.bind(this);this._hoverOverBnd=this._hoverOver.bind(this);this._ariaLabel=wijmo_1.culture.Menu.ariaLabels.menuButton;this._aFEnabledItem=!1;this._parentMenu=null;this.itemClicked=new wijmo_1.Event;Menu._MenuInstanceCount++;const i=this.hostElement,s=this._tbx,o=this._lbx,n=this.dropDown;wijmo_1.addClass(i,exports.MenuClsNames.hostElement);s.style.display="none";const a=`<div wj-part="header" class="${wijmo_1.InputFormElementsClsNames.formControl}"/>`;this._hdr=this._elRef=wijmo_1.createElement(a);s.parentElement.insertBefore(this._hdr,s);wijmo_1.removeChild(s);this.isRequired=!1;if("SELECT"==this._orgTag){this.header=i.getAttribute("header");this._lbx.itemsSource&&(this.commandParameterPath="cmdParam")}this.isContentHtml=!0;this.maxDropDownHeight=500;this.addEventListener(this._hdr,"click",t=>{if(!t.defaultPrevented){this._clearHover(t);if(this._isButton){this.isDroppedDown=!1;this._raiseCommand()}else this.isDroppedDown=!this.isDroppedDown}});this.addEventListener(this._hdr,"mousedown",t=>{t.defaultPrevented||this._clearHover(t)});o.lostFocus.addHandler(()=>{this.containsFocus()||(this.isDroppedDown=!1)});wijmo_1.addClass(n,exports.MenuClsNames.menuItems);o.formatItem.addHandler(this._formatMenuItem.bind(this));this.initialize(e);wijmo_1.setAttribute(n,"role","menu");this._updateBtnAria();this._updateHdrAria();o.tabOrder=0;this._updateLbxAria()}static get controlTemplate(){Menu._ctrlTemplate||(Menu._ctrlTemplate=ComboBox.controlTemplate);return Menu._ctrlTemplate}static set controlTemplate(t){Menu._ctrlTemplate=t}_updateBtnAria(){const t=this._btn.querySelector("button"),e=this.dropDown;wijmo_1.setAttribute(t,"aria-expanded",this.isDroppedDown);wijmo_1.setAttribute(t,"aria-haspopup","menu");wijmo_1.setAttribute(t,"aria-owns",e.id);wijmo_1.setAttribute(t,"aria-controls",e.id)}_updateHdrAria(){const t=this.dropDown,e=this.isDisabled?-1:this._orgTabIndex;wijmo_1.setAttribute(this._hdr,"role","button");wijmo_1.setAttribute(this._hdr,"tabindex",e);wijmo_1.setAttribute(this._hdr,"aria-label",this._ariaLabel);if(this.isButton){wijmo_1.setAttribute(this._hdr,"aria-expanded");wijmo_1.setAttribute(this._hdr,"aria-haspopup");wijmo_1.setAttribute(this._hdr,"aria-owns");wijmo_1.setAttribute(this._hdr,"aria-controls")}else{wijmo_1.setAttribute(this._hdr,"aria-expanded",this.isDroppedDown);wijmo_1.setAttribute(this._hdr,"aria-haspopup","menu");wijmo_1.setAttribute(this._hdr,"aria-owns",t.id);wijmo_1.setAttribute(this._hdr,"aria-controls",t.id)}}_updateLbxAria(){const t=this._lbx,e=this.isDisabled?-1:t.tabOrder;t.itemRole="menuitem";t.tabOrder=e}get ariaLabel(){return this._ariaLabel}set ariaLabel(t){if(t!=this._ariaLabel){this._ariaLabel=t;wijmo_1.setAttribute(this._hdr,"aria-label",this._ariaLabel)}}get autoSelectOnFocus(){return this._aFEnabledItem}set autoSelectOnFocus(t){this._aFEnabledItem=t}get header(){return this._hdr.innerHTML}set header(t){this._hdr.innerHTML=wijmo_1.asString(t)}get command(){return this._cmd}set command(t){this._cmd=t}get commandPath(){return this._cmdPath}set commandPath(t){this._cmdPath=wijmo_1.asString(t)}get commandParameterPath(){return this._cmdParamPath}set commandParameterPath(t){this._cmdParamPath=wijmo_1.asString(t)}get subItemsPath(){return this._subPath}set subItemsPath(t){if(t!=this._subPath){this._subPath=t;this.refresh(!0)}}get openOnHover(){return this._openOnHover}set openOnHover(t){this._openOnHover=wijmo_1.asBoolean(t);this._updateHoverEvents()}get closeOnLeave(){return this._closeOnLeave}set closeOnLeave(t){this._closeOnLeave=wijmo_1.asBoolean(t);this._updateHoverEvents()}get isButton(){return this._isButton}set isButton(t){this._isButton=wijmo_1.asBoolean(t);this._updateHdrAria()}get keepOpen(){return this._keepOpen}set keepOpen(t){this._keepOpen=wijmo_1.asBoolean(t)}get owner(){return this._owner}set owner(t){this._owner=wijmo_1.asType(t,HTMLElement,!0);this._enableDisableItems()}show(t){if(!this.isDroppedDown){const e=this._lbx._ignoredItemChangedEvents;this._lbx._ignoredItemChangedEvents=!0;this.selectedIndex=-1;this._lbx._ignoredItemChangedEvents=e;if(this.onIsDroppedDownChanging(new wijmo_1.CancelEventArgs)){let e=this.dropDown,i=this.owner;!i&&t instanceof MouseEvent&&(i=t.target);i instanceof HTMLElement&&(e[wijmo_1.Control._OWNR_KEY]=i);if(t instanceof MouseEvent&&this.openOnHover&&this.closeOnLeave){const e=2;t=new wijmo_1.Point(t.pageX-pageXOffset-e,t.pageY-pageYOffset-e)}wijmo_1.showPopup(e,t,!1,this.isAnimated);this.onIsDroppedDownChanged()}}}hide(){if(this.isDroppedDown&&this.onIsDroppedDownChanging(new wijmo_1.CancelEventArgs)){wijmo_1.hidePopup(this.dropDown);this.onIsDroppedDownChanged()}}onItemClicked(t){this.itemClicked.raise(this,t)}refresh(t=!0){super.refresh(t);this.hostElement&&this._enableDisableItems()}onIsDroppedDownChanged(t){super.onIsDroppedDownChanged(t);this._updateBtnAria();this._updateHdrAria();if(this.isDroppedDown){this._closing=!0;const t=this._lbx._ignoredItemChangedEvents;this._lbx._ignoredItemChangedEvents=!0;this._defaultItem=this.selectedItem;this.isRequired=!1;this.selectedIndex=-1;this._enableDisableItems();this._closing=!1;this._lbx._ignoredItemChangedEvents=t;if(this._aFEnabledItem){const t=this.dropDown.children;for(let e=0;e<t.length;e++)if(!t[e].classList.contains(wijmo_1.ControlStateClsNames.disabled)){this.selectedIndex=e;t[e].focus();break}}else this.dropDown.focus()}else{this._restoreSelectedItem();const t=this._subMenu;t&&(t.isDroppedDown=!1)}}_restoreSelectedItem(){if(!this.selectedItem){const t=this._lbx._checking;this._lbx._checking=!0;this.selectedItem=this._defaultItem;this._lbx._checking=t}}_updateHoverEvents(){const t=this.hostElement,e=this.dropDown,i=this.addEventListener.bind(this),s=this.removeEventListener.bind(this),o="mouseleave";s(t,"mouseenter",this._hoverEnterBnd);s(t,o,this._hoverLeaveBnd);s(e,"mouseover",this._hoverOverBnd);s(e,o,this._hoverLeaveBnd);if(this._openOnHover){i(t,"mouseenter",this._hoverEnterBnd);i(e,"mouseover",this._hoverOverBnd);if(this._closeOnLeave){i(t,o,this._hoverLeaveBnd);i(e,o,this._hoverLeaveBnd)}}}_getSubItems(t){const e=this.subItemsPath,i=t&&e?t[e]:null;return wijmo_1.isArray(i)&&i.length?i:null}_formatMenuItem(t,e){const i=e.item;if(this._getSubItems(e.data)){wijmo_1.addClass(i,exports.MenuClsNames.subItems);wijmo_1.setAttribute(i,"aria-expanded",!1)}else if("-"==i.innerHTML){i.innerHTML="";wijmo_1.addClass(i,wijmo_1.UtilitesClsNames.separator);wijmo_1.setAttribute(i,"role","separator");wijmo_1.setAttribute(i,"tabindex")}}_keydown(t){if(!t.defaultPrevented){const e=this._getKeyCode(t);if(this.isDroppedDown)switch(e){case wijmo_1.Key.Tab:this.isDroppedDown=!1;this._parentMenu&&this._parentMenu.focus();this.keyActionTab===TabKeyAction.CloseAndKeepFocus&&t.preventDefault();break;case wijmo_1.Key.Enter:case wijmo_1.Key.Right:if(this._showSubMenu()){t.preventDefault();return}break;case wijmo_1.Key.Left:if(this._closeSubMenuAndFocusOwner()){t.preventDefault();return}break;case wijmo_1.Key.Escape:this.isDroppedDown=!1;this.focus();this._focusMenuOwner();if(this._parentMenu){this._parentMenu.focus();this._parentMenu.isDroppedDown=!1}t.preventDefault()}if(e==wijmo_1.Key.Enter){if(this._isButton){this._restoreSelectedItem();this._raiseCommand();t.preventDefault();return}if(this.isDroppedDown){if(this.selectedIndex>-1){this._raiseCommand();if(this.keepOpen){t.preventDefault();return}}if(this.keepOpen&&this._closeSubMenuAndFocusOwner()){t.preventDefault();return}}else{this.isDroppedDown=!0;t.preventDefault()}}}super._keydown(t)}_afterOpenDropdownByDownArrow(){}_dropDownClick(t){if(!t.defaultPrevented&&t.target!=this.dropDown){this._clearHover(t);if(this._showSubMenu()){t.preventDefault();return}if(this.selectedIndex>-1){this._raiseCommand();if(this.keepOpen){t.preventDefault();return}}}super._dropDownClick(t)}_closeSubMenuAndFocusOwner(){const t=wijmo_1.Control.getControl(this.owner);if(!(t instanceof Menu))return!1;const e=t.dropDown,i=t.selectedIndex,s=i>-1?e.children[i]:e;wijmo_1.setAttribute(s,"aria-expanded",!1);wijmo_1.setAttribute(s,"aria-owns");s.focus();return!0}_showSubMenu(){const t=this._getSubItems(this.selectedItem);if(!t)return null;const e=this.dropDown.children[this.selectedIndex],i=e.getBoundingClientRect(),s=new wijmo_1.Point(i.right,i.top);if(0==i.height)return null;const o=this.rightToLeft||"rtl"==this.dropDown.getAttribute("dir");o&&(s.x=i.left);let n=this._subMenu;n&&(n.isDroppedDown=!1);n=new Menu(document.createElement("div"),{owner:this.hostElement,itemsSource:t,autoSelectOnFocus:this._aFEnabledItem,keepOpen:this.keepOpen,itemClicked:(t,e)=>{this.itemClicked.raise(t,e)},formatItem:(t,e)=>{this.formatItem.raise(t,e)}});n._parentMenu=this._parentMenu||this;if(e){wijmo_1.setAttribute(e,"aria-expanded",!0);wijmo_1.setAttribute(e,"aria-owns",n.dropDown.id)}const a=this.collectionView,l=n.collectionView;a&&a.filter&&l&&!l.filter&&(l.filter=a.filter);"displayMemberPath,selectedValuePath,isContentHtml,command,commandPath,commandParameterPath,maxDropDownWidth,maxDropDownHeight,dropDownCssClass,isAnimated,subItemsPath,openOnHover,closeOnLeave".split(",").forEach(t=>{n[t]=this[t]});const h=n.dropDown;wijmo_1.setAttribute(h,"dir",o?"rtl":null);n.show(s);n._rtlDir=o;h[wijmo_1.Control._OWNR_KEY]=this.dropDown;return n}_raiseCommand(t){const e=this.selectedItem,i=this._getSubItems(e),s=this._getCommand(e);if(s&&!i){const t=this._getCommandParm(e);if(!this._canExecuteCommand(s,t))return;this._executeCommand(s,t)}const o=this.headerPath;if(o){let t=new wijmo_1.Binding(o).getValue(e);t=null==t?"":t.toString();this.header=this.isContentHtml?t:wijmo_1.escapeHtml(t)}this.onItemClicked(t);if(this.containsFocus()){let t=this;for(;t&&t.owner;){const e=wijmo_1.Control.getControl(t.owner);if(!(e instanceof Menu))break;t=e}if(this.keepOpen){this._enableDisableItems();this._lbx.focus()}else{t.isDroppedDown=!1;t.focus();this._focusMenuOwner()}}}_focusMenuOwner(){let t=this.owner;!t&&this.dropDown&&(t=this.dropDown[wijmo_1.Control._OWNR_KEY]);if(!this.containsFocus()&&t instanceof HTMLElement&&t.offsetHeight)if(wijmo_1.isIE){const e=document.documentElement,i=e.scrollLeft,s=e.scrollTop;t.focus();e.scrollLeft=i;e.scrollTop=s}else t.focus()}_getCommand(t){const e=t&&this._cmdPath?t[this._cmdPath]:null;return e||this._cmd}_getCommandParm(t){const e=this._cmdParamPath;return t&&e?t[e]:t}_executeCommand(t,e){t&&!wijmo_1.isFunction(t)&&(t=t.executeCommand);wijmo_1.isFunction(t)&&t(e)}_canExecuteCommand(t,e){if(t){const i=t.canExecuteCommand;if(wijmo_1.isFunction(i))return i(e)}return!0}_enableDisableItems(){if(this.collectionView&&(this._cmd||this._cmdPath)){const t=this.collectionView.items;for(let e=0;e<t.length;e++){const i=t[e],s=this._getCommand(i);if(s){const t=this._lbx.hostElement.children[e],o=this._getCommandParm(i);wijmo_1.toggleClass(t,wijmo_1.ControlStateClsNames.disabled,!this._canExecuteCommand(s,o))}}}}_clearHover(t){this._toHover&&clearTimeout(this._toHover);this._toHover=null;Menu._evtHover=t}_isTargetDisabled(t){return wijmo_1.hasClass(t.target,wijmo_1.ControlStateClsNames.disabled)}_hoverEnter(t){this._clearHover(t);this._toHover=setTimeout(()=>{this._toHover=null;this.isDroppedDown=!0},wijmo_1.Control._HOVER_DELAY)}_hoverOver(t){this._clearHover(t);this._toHover=setTimeout(()=>{this._toHover=null;const e=this.listBox.indexOf(t.target);if(e>-1&&!wijmo_1.hasClass(t.target,wijmo_1.ControlStateClsNames.disabled)){this.selectedIndex=e;this._subMenu=this._showSubMenu()}},wijmo_1.Control._HOVER_DELAY)}_hoverLeave(t){this._clearHover(t);this.isDroppedDown&&(this._toHover=setTimeout(()=>{const e=(t=Menu._evtHover)?document.elementFromPoint(t.clientX,t.clientY):null,i=wijmo_1.closest(e,`.${exports.ListBoxClsNames.hostElement}.${exports.MenuClsNames.menuItems}`),s=this._subMenu;if(!i&&!wijmo_1.contains(this.hostElement,e,!0)){this.isDroppedDown=!1;s&&(s.isDroppedDown=!1)}},wijmo_1.Control._LEAVE_DELAY))}_setIsDisabled(t){super._setIsDisabled(t);wijmo_1.setAttribute(this.hostElement,"tabindex",-1);this._updateHdrAria();this._updateLbxAria()}_setTabOrder(t){super._setTabOrder(t);wijmo_1.setAttribute(this.hostElement,"tabindex",-1);this._updateHdrAria();this._updateLbxAria()}_getRtlStates(){const t=this.hostElement;return t&&t.isConnected?super._getRtlStates():null!=this._rtlDir&&this._rtlDir}dispose(){if(this._subMenu){this._subMenu.dispose();this._subMenu=null}Menu._MenuInstanceCount--;0===Menu._MenuInstanceCount&&Menu._evtHover&&(Menu._evtHover=null);const t=this._lbx;if(t){t.lostFocus.removeHandler(()=>{this.containsFocus()||(this.isDroppedDown=!1)});t.formatItem&&t.formatItem.removeHandler(this._formatMenuItem)}if(this._toHover){clearTimeout(this._toHover);this._toHover=null}this._cmd=null;this._owner=null;this._defaultItem=null;this._hoverEnterBnd=null;this._hoverLeaveBnd=null;this._hoverOverBnd=null;super.dispose()}}Menu._MenuInstanceCount=0;Menu._ctrlTemplate="";exports.Menu=Menu;wijmo_1._addCultureInfo("InputTime",{ariaLabels:{inputTime:"Input Time",inputTimeInput:"InputTime Input"}});class InputTime extends ComboBox{constructor(t,e){super(t);this._format="t";this._inputElementAriaLabel=wijmo_1.culture.InputTime.ariaLabels.inputTimeInput;this.valueChanged=new wijmo_1.Event;wijmo_1.addClass(this.hostElement,exports.InputTimeClsNames.hostElement);this.isEditable=!0;this._value=wijmo_1.DateTime.newDate();this._min=this._max=null;this._msk=new wijmo_1._MaskProvider(this._tbx);wijmo_1.isIE9()||(this._tbx.type="tel");if("INPUT"==this._orgTag){const t=this._tbx.getAttribute("value");t&&(this.value=wijmo_1.Globalize.parseDate(t,"HH:mm:ss"))}this.step=15;this.autoExpandSelection=!0;this.initialize(e);this._commitText();this._updateInputAriaLabel()}static get controlTemplate(){InputTime._ctrlTemplate||(InputTime._ctrlTemplate=ComboBox.controlTemplate);return InputTime._ctrlTemplate}static set controlTemplate(t){InputTime._ctrlTemplate=t}get inputElement(){return this._tbx}get inputType(){return this._tbx.type}set inputType(t){this._tbx.type=wijmo_1.asString(t)}get value(){return this._value}set value(t){(t=wijmo_1.asDate(t,!this.isRequired))&&(t=this._clamp(t));this._setText(t?wijmo_1.Globalize.format(t,this.format):"",!0,!0);this.selectedItem&&this.selectedItem.value&&(t=wijmo_1.DateTime.fromDateTime(t,this.selectedItem.value));if(t!=this._value&&!wijmo_1.DateTime.equals(t,this._value)){this._value=t;this.onValueChanged()}}get text(){return this._tbx.value}set text(t){if(t!=this.text&&(this.text||!this.isRequired)){this._setText(t,!0);this._commitText()}!this.text&&this.isRequired&&(this.selectedIndex=this._oldIndexToBeRestoredOnBlur<0?0:this._oldIndexToBeRestoredOnBlur)}get min(){return this._min}set min(t){this._min=wijmo_1.asDate(t,!0);this.isDroppedDown=!1;this._updateItems()}get max(){return this._max}set max(t){this._max=wijmo_1.asDate(t,!0);this.isDroppedDown=!1;this._updateItems()}get step(){return this._step}set step(t){if(t!=this.step){this._step=wijmo_1.asNumber(t,!0);this.isDroppedDown=!1;this._updateItems()}}get format(){return this._format}set format(t){if(t!=this.format){this._format=wijmo_1.asString(t);this._tbx.value=wijmo_1.Globalize.format(this.value,this.format);wijmo_1.hasItems(this.collectionView)&&this._updateItems()}}get mask(){return this._msk.mask}set mask(t){this._msk.mask=wijmo_1.asString(t)}onLostFocus(){super.onLostFocus()}onValueChanged(t){this.valueChanged.raise(this,t)}onItemsSourceChanged(t){super.onItemsSourceChanged(t);this._hasCustomItems=null!=this.itemsSource}refresh(t=!0){super.refresh(t);if(this.hostElement){this._msk.refresh();this._tbx.value=wijmo_1.Globalize.format(this.value,this.format);this._updateItems()}}onSelectedIndexChanged(t){if(this.selectedIndex>-1&&!this._settingText){const t=this.value?this.value:wijmo_1.DateTime.newDate(),e=null!=this.selectedItem.value?this.selectedItem.value:wijmo_1.Globalize.parseDate(this.text,this.format,this.value);this.value=wijmo_1.DateTime.fromDateTime(t,e)}super.onSelectedIndexChanged(t)}_clamp(t){null!=this._min&&this._getTime(t)<this._getTime(this._min)&&(t=wijmo_1.DateTime.fromDateTime(t,this._min));null!=this._max&&this._getTime(t)>this._getTime(this._max)&&(t=wijmo_1.DateTime.fromDateTime(t,this._max));return t}_wheel(t){if(this.handleWheel&&!t.defaultPrevented&&!this.isDroppedDown&&this.value&&this._canChangeValue()&&this.containsFocus()&&this.isEditable){let e=this._tbx,i=e.selectionStart,s=e.selectionEnd,o=wijmo_1.clamp(-t.deltaY,-1,1),n=(this.value,wijmo_1.culture.Globalize.calendar.patterns[this.format]);null==n&&(n=this.format);const a=n.match(wijmo_1.getSpecialCharsRegex());if(s-i===e.value.length&&wijmo_1.isNumber(this.step)&&this.step>0){let t=wijmo_1.DateTime.addMinutes(this.value,this.step*-o);t=this._clamp(t);this.value=t;this.selectAll()}else this._updateTimeValue(o,a,n);t.preventDefault()}super._wheel(t)}_updateInputSelection(t){if(this._delKey)super._updateInputSelection(t);else{const e=this._tbx.value;for(;t<e.length&&!e[t].match(/[a-z0-9]/i);)t++;wijmo_1.setSelectionRange(this._tbx,t,this._tbx.value.length)}}_updateItems(){if(this._hasCustomItems)return;const t=[],e=new Date,i=new Date(e.getFullYear(),e.getMonth(),e.getDate()),s=new Date(e.getFullYear(),e.getMonth(),e.getDate(),23,59,59),o=this.step;this.min&&i.setHours(this.min.getHours(),this.min.getMinutes(),this.min.getSeconds());this.max&&s.setHours(this.max.getHours(),this.max.getMinutes(),this.max.getSeconds());if(wijmo_1.isNumber(o)&&o>=1)for(let e=i;e<=s;e=wijmo_1.DateTime.addMinutes(e,o))t.push({value:e,text:wijmo_1.Globalize.format(e,this.format)});const n=this.value;this._settingText=!0;this.displayMemberPath="text";this.selectedValuePath="text";this.itemsSource=t;this._hasCustomItems=!1;this._settingText=!1;!n&&this.isRequired||(this.value=n)}_getTime(t){return 3600*t.getHours()+60*t.getMinutes()+t.getSeconds()}_getText(){const t=wijmo_1.Globalize.format,e=this._format;return t(this.value,e)}_canChangeValue(){return!this.isReadOnly&&!this.isDisabled}getSeconds(t){return 3600*t.getHours()+60*t.getMinutes()+t.getSeconds()}_keydown(t){if(!(t.defaultPrevented||t.altKey||t.ctrlKey||t.metaKey)){if(this._isHiddenEditor())return;switch(t.keyCode){case wijmo_1.Key.Enter:this._commitText(void 0,!0);this.selectAll();break;case wijmo_1.Key.Escape:this.text=wijmo_1.Globalize.format(this.value,this.format);this.selectAll();break;case wijmo_1.Key.Up:case wijmo_1.Key.Down:if(!this.isDroppedDown&&this.value&&this._canChangeValue()&&this.isEditable){const e=this._tbx,i=e.selectionStart,s=e.selectionEnd,o=t.keyCode==wijmo_1.Key.Up?1:-1;let n=wijmo_1.culture.Globalize.calendar.patterns[this.format];null==n&&(n=this.format);const a=n.match(wijmo_1.getSpecialCharsRegex());if(s-i==e.value.length)super._keydown(t);else{if(!(1==o&&(null===this.max||this.getSeconds(this.value)<this.getSeconds(this.max))||-1==o&&(null===this.min||this.getSeconds(this.value)>this.getSeconds(this.min))))return;this._updateTimeValue(o,a,n)}t.preventDefault()}}}super._keydown(t)}_updateTimeValue(t,e,i){const s=this._tbx,o=s.selectionStart,n=s.value;let a=this.value,l={},h={},r=0,_=0,d=0,u=[],m=[];const c=s.value.match(wijmo_1.getSpecialCharsRegex());if(null==e||null==c){u=[this.format];m=["0"];e=[""]}else{e.forEach((t,s)=>{const o=t.replaceAll('"',""),a=i.substring(r),d=n.substring(_),u=a.indexOf(t),m=d.indexOf(o);let c=a.substring(0,u);l[c]=r;h[c]=_;r=r+u+t.length;_=_+m+o.length;if(s==e.length-1&&-1!=m){c=i.substring(r);l[c]=r;h[c]=_}});u=Object.keys(l);m=Object.values(h)}const p=m.filter(t=>o>=parseInt(t.toString()));p.length>0&&(d=p.length-1);const w=u[d];-1!=w.indexOf("h")||-1!=w.indexOf("H")?a=wijmo_1.DateTime.addHours(this.value,t):-1!=w.indexOf("m")?a=wijmo_1.DateTime.addMinutes(this.value,t):-1!=w.indexOf("s")?a=wijmo_1.DateTime.addSeconds(this.value,t):-1!=w.indexOf("t")&&(a=this.value.getHours()>=12?wijmo_1.DateTime.addHours(this.value,-12):wijmo_1.DateTime.addHours(this.value,12));a.getDate()!=(new Date).getDate()&&(a=wijmo_1.DateTime.fromDateTime(new Date,a));this.value=a;this._reselectText(e,d)}_reselectText(t,e){const i=this._getText(),s=this._tbx;let o=0,n=-1,a=-1;t.forEach((t,s)=>{const l=t.replaceAll('"',""),h=i.substring(o),r=h.indexOf(l),_=h.substring(0,r),d=""==_?h.length:_.length;if(s==e&&-1==n){n=o;a=n+d}o=o+r+l.length});if(-1==n){n=o;a=s.value.length}wijmo_1.setSelectionRange(s,n,a)}_commitText(t,e){if(this.text||this.isRequired){const t=this.value?wijmo_1.Globalize.format(this.value,this.format):"";if(this.text!=t){const i=this.selectedItem&&this.selectedItem.value?this.selectedItem.value:wijmo_1.Globalize.parseDate(this.text,this.format,this.value),s=this._shouldRaiseInvalidInput(e);if(i){!wijmo_1.DateTime.sameTime(i,this._clamp(i))?s&&this.onInvalidInput(new wijmo_1.CancelEventArgs)&&(this.value=wijmo_1.DateTime.fromDateTime(this.value,i)):this.value=wijmo_1.DateTime.fromDateTime(this.value,i)}else s&&this.onInvalidInput(new wijmo_1.CancelEventArgs)&&(this.text=t)}}else this.value=null}_copy(t,e){if("text"===t){(e||"").toString()!==this.text&&this._setText(e,!0);return!0}return!1}getAriaLabelForScreenReader(){return wijmo_1.culture.InputTime.ariaLabels.inputTime}_input(t){this._draggingText&&(""===this.text?this._emptyValueAction=!0:this._emptyValueAction=!1);this._updateDropDownWhenInput();this._setText(""!=this._textIsComposing?this._textIsComposing:this.text,!1);""!=this.text&&(this._emptyValueAction=!1);this._draggingText=!1}}InputTime._ctrlTemplate="";exports.InputTime=InputTime;wijmo_1._addCultureInfo("InputDateTime",{ariaLabels:{inputDateTimeInput:"InputDateTime Input",tglDate:"Toggle Calendar",tglTime:"Toggle Time List"}});class InputDateTime extends InputDate{constructor(t,e){super(t);this._inputAriaLabel=wijmo_1.culture.InputDateTime.ariaLabels.inputDateTimeInput;wijmo_1.addClass(this.hostElement,exports.InputDateTimeClsNames.hostElement);const i=wijmo_1.culture.InputDateTime.ariaLabels;wijmo_1.setAriaLabel(this._btn,i.tglDate);wijmo_1.setAttribute(this._btn,"aria-haspopup","dialog");wijmo_1.setAttribute(this._btn,"aria-expanded",!1);this._updateInputAriaLabel();this.value=new Date;this.format="g";this.isDroppedDownChanged.addHandler(this.inputDateTimeIsDroppedDownChanged,this);this._inputTime=new InputTime(document.createElement("div"),{valueChanged:t=>{const e=this.rangeEnd;this.value=wijmo_1.DateTime.fromDateTime(this.value,t.value);this.calendar._rngMode()&&e&&(this.rangeEnd=wijmo_1.DateTime.fromDateTime(e,t.value))},isDroppedDownChanged:t=>{t.listBox.containsFocus()&&this.inputElement.focus();this._selectAll();this._updateTbxAria();this.inputDateTimeIsDroppedDownChanged()},keyActionPrintCharacters:0,keyActionTab:0});this._inputTime.dropDown.id=wijmo_1.getUniqueId(this.hostElement.id+"_dropdown");const s=this.addEventListener.bind(this);this._btnTm=this.hostElement.querySelector('[wj-part="btn-tm"]');s(this._btnTm,"mousedown",t=>{this._isTouchMoved()||this._btnclick(t)});wijmo_1.setAriaLabel(this._btnTm,i.tglTime);wijmo_1.setAttribute(this._btnTm,"aria-haspopup","listbox");wijmo_1.setAttribute(this._btnTm,"aria-expanded",!1);this._ddDate=this._dropDown;this._ddTime=this._inputTime.dropDown;const o=this._ddTime;s(o,"keydown",this._keydown.bind(this),!0);s(o,"blur",()=>{this._updateFocusState()},!0);s(o,"click",t=>{t.defaultPrevented||t.target!=o&&this.hostElement.focus()},!0);this.initialize(e);this._tbx.value!==this._oldText&&this._commitText()}static get controlTemplate(){InputDateTime._ctrlTemplate||(InputDateTime._ctrlTemplate=`<div class="${wijmo_1.ControlClsNames.template}"><div class="${exports.InputClsNames.input}"><div class="${exports.InputClsNames.inputGroup} ${exports.InputClsNames.inputBtnVisible}"><input wj-part="input" type="text" class="${wijmo_1.InputFormElementsClsNames.formControl}"/><span class="${exports.InputClsNames.inputGroupBtn}"><button wj-part="btn" class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1"><span class=${wijmo_1.GlyphClsNames.calendar}></span></button><button wj-part="btn-tm" class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.InputFormElementsClsNames.btnDefault}" tabindex="-1"><span class=${wijmo_1.GlyphClsNames.clock}></span></button></span></div></div><div wj-part="dropdown" class="${wijmo_1.ControlClsNames.content} ${exports.DropDownClsNames.dropDownPanel}"></div></div>`);return InputDateTime._ctrlTemplate}static set controlTemplate(t){InputDateTime._ctrlTemplate=t}get timeMin(){return this._inputTime.min}set timeMin(t){this._inputTime.min=t}get timeMax(){return this._inputTime.max}set timeMax(t){this._inputTime.max=t}get timeFormat(){return this._inputTime.format}set timeFormat(t){this._inputTime.format=t}get timeStep(){return this._inputTime.step}set timeStep(t){this._inputTime.step=t;this._btnTm.style.display=wijmo_1.isNumber(t)&&t>0?"":"none"}get inputTime(){return this._inputTime}_fromDateTime(t){return t}_btnclick(t){this._setDropDownByEvent(t);super._btnclick(t)}dispose(){this._setDropdown(this._ddDate);super.dispose();this._inputTime.dispose()}refresh(t=!0){this._inputTime.refresh();super.refresh(t)}_updateBtn(){super._updateBtn();if(this._btnTm){this._btnTm.tabIndex=this._btn.tabIndex;this._btnTm.parentElement.style.display=this._btn.style.display}}_setDropdown(t){if(this._dropDown==t)return!1;this.isDroppedDown&&(this.isDroppedDown=!1);var e=this.dropDownCssClass;this.dropDownCssClass="";this._dropDown=t;this.dropDownCssClass=e;return!0}_updateDropDown(){const t=this._inputTime;if(this._dropDown==t.dropDown){this._commitText();super._updateDropDown();t.isRequired=this.isRequired&&null!=this.value;t.value=this.value;this.isDroppedDown&&t.listBox.showSelection()}else super._updateDropDown()}_mouseWheel(t){if(this.handleWheel&&!t.defaultPrevented&&!this.isDroppedDown&&this.containsFocus()&&null!=this.value&&this._canChangeValue()){let e=this._tbx,i=e.selectionStart,s=e.selectionEnd,o=wijmo_1.clamp(-t.deltaY,-1,1),n=this.value,a=wijmo_1.Globalize.getFullFormat(this.format||wijmo_1.Globalize.DefaultDateFormat);null==a&&(a=this.format);const l=a.match(wijmo_1.getSpecialCharsRegex());if(s-i===e.value.length&&null!=l||this.selectionMode==DateSelectionMode.Range){n=this.selectionMode==DateSelectionMode.Month?wijmo_1.DateTime.addMonths(this.value,o):wijmo_1.DateTime.addDays(this.value,o);this.value=n;const t=this._getText();wijmo_1.setSelectionRange(e,0,t.length)}else(1==o&&(null===this.max||this.value<this.max)||-1==o&&(null===this.min||this.value>this.min))&&this._updateDateTimeValue(o,l,a);t.preventDefault()}}_keydown(t){if(!(t.defaultPrevented||t.altKey||t.ctrlKey||t.metaKey)){if(this._isHiddenEditor())return;switch(t.keyCode){case wijmo_1.Key.Up:case wijmo_1.Key.Down:if(t.keyCode===wijmo_1.Key.Up&&this.keyActionUpArrow===KeyAction.OpenDropdown||t.keyCode===wijmo_1.Key.Down&&this.keyActionDownArrow===KeyAction.OpenDropdown)break;if(!this.isDroppedDown&&this.value&&this._canChangeValue()){const e=this._tbx,i=e.selectionStart,s=e.selectionEnd,o=(e.value,t.keyCode==wijmo_1.Key.Up?1:-1);let n=this.value,a=wijmo_1.Globalize.getFullFormat(this.format||wijmo_1.Globalize.DefaultDateFormat);if("g"==this.format&&a.includes("г")){const t=/"г." /;a=a.replace(t,"")}null==a&&(a=this.format);const l=a.match(wijmo_1.getSpecialCharsRegex());if(s-i===e.value.length&&null!=l||this.selectionMode==DateSelectionMode.Range){n=this.selectionMode==DateSelectionMode.Month?wijmo_1.DateTime.addMonths(this.value,o):wijmo_1.DateTime.addDays(this.value,o);this.value=n;const t=this._getText();wijmo_1.setSelectionRange(e,0,t.length)}else(1==o&&(null===this.max||this.value<this.max)||-1==o&&(null===this.min||this.value>this.min))&&this._updateDateTimeValue(o,l,a);t.preventDefault()}break;case wijmo_1.Key.Enter:case wijmo_1.Key.Space:{const e=t.target;if(e===this._btn||e===this._btnTm){this._setDropDownByEvent(t);this.isDroppedDown=!0;t.preventDefault()}}}}if(!t.defaultPrevented&&t.altKey&&this.isDroppedDown&&("ArrowUp"===t.key||"ArrowDown"===t.key)){const e=this.dropDown===this._ddDate?this._ddTime:this._ddDate;this._setDropdown(e);this.isDroppedDown=!0;t.preventDefault()}super._keydown(t)}_updateDateTimeValue(t,e,i){const s=this._tbx,o=s.selectionStart,n=s.value;let a=this.value,l={},h={},r=0,_=0,d=0,u=[],m=[];const c=s.value.match(wijmo_1.getSpecialCharsRegex());if(null==e||null==c){u=[this.format];m=["0"];e=[""]}else{e.forEach((t,s)=>{const o=t.replaceAll('"',""),a=i.substring(r);let d=n.substring(_);if(d.startsWith("г.")){d=d.replace("г. ","");_+="г. ".length}const u=a.indexOf(t);let m=d.indexOf(o);if(-1==m){const t=c[s];m=d.indexOf(t)}let p=a.substring(0,u);if(""!=p){l[p]=r;h[p]=_}r=r+u+t.length;_=_+m+o.length;if(s==e.length-1&&-1!==m){p=i.substring(r);l[p]=r;h[p]=_}});u=Object.keys(l);m=Object.values(h)}const p=m.filter(t=>o>=parseInt(t.toString()));p.length>0&&(d=p.length-1);let w=new Date,g=new Date;null!==this.timeMax&&(w=new Date(this.value.getFullYear(),this.value.getMonth(),this.value.getDate(),this.timeMax.getHours(),this.timeMax.getMinutes(),this.timeMax.getSeconds()));null!==this.timeMin&&(g=new Date(this.value.getFullYear(),this.value.getMonth(),this.value.getDate(),this.timeMin.getHours(),this.timeMin.getMinutes(),this.timeMin.getSeconds()));const b=u[d];if(-1!=b.indexOf("d"))a=wijmo_1.DateTime.addDays(this.value,t);else if(-1!=b.indexOf("M"))a=wijmo_1.DateTime.addMonths(this.value,t);else if(-1!=b.indexOf("y"))a=wijmo_1.DateTime.addYears(this.value,t);else if(1==t&&(null===this.timeMax||this.value<w)||-1==t&&(null===this.timeMin||this.value>g)){-1!=b.indexOf("h")||-1!=b.indexOf("H")?a=wijmo_1.DateTime.addHours(this.value,t):-1!=b.indexOf("m")?a=wijmo_1.DateTime.addMinutes(this.value,t):-1!=b.indexOf("s")?a=wijmo_1.DateTime.addSeconds(this.value,t):-1!=b.indexOf("t")&&(a=this.value.getHours()>=12?wijmo_1.DateTime.addHours(this.value,-12):wijmo_1.DateTime.addHours(this.value,12));(this.timeMax&&a>w||this.timeMin&&a<g)&&(a=this.value)}this.value=a;this._reselectText(e,d)}_commitText(t,e){let i=this._tbx.value,s=wijmo_1.Globalize.parseDate(i,this.format,this.value),o=new Date,n=new Date;if(s){null!==this.timeMax&&(o=new Date(s.getFullYear(),s.getMonth(),s.getDate(),this.timeMax.getHours(),this.timeMax.getMinutes(),this.timeMax.getSeconds()));null!==this.timeMin&&(n=new Date(s.getFullYear(),s.getMonth(),s.getDate(),this.timeMin.getHours(),this.timeMin.getMinutes(),this.timeMin.getSeconds()));(this.timeMax&&s>o||this.timeMin&&s<n)&&(this.value=wijmo_1.DateTime.fromDateTime(s,this.value));super._commitText(t,e)}else super._commitText(t,e)}_updateTbxAria(){super._updateTbxAria();if(!this._inputTime)return;const t=this._tbx,e=this._inputTime._lbx,i=e.selectedIndex,s=e.hostElement?e.hostElement.children:null,o=i>-1&&i<s.length?s[i].id:null;wijmo_1.setAttribute(t,"aria-activedescendant",this.isDroppedDown&&this.dropDown===this._ddTime&&o&&o.length?o:null);wijmo_1.setAttribute(t,"aria-haspopup",this.inputTime.isDroppedDown?"listbox":"dialog")}get keyActionTab(){return this._keyActionTab}set keyActionTab(t){const e=wijmo_1.asEnum(t,TabKeyAction);this._keyActionTab=e;this.inputTime.keyActionTab=e}_setDropDownByEvent(t){const e=wijmo_1.closest(t.target,"button")==this._btn?this._ddDate:this._ddTime;this._setDropdown(e)}_updateBtnAria(){const t=this._btn,e=this.isDroppedDown,i=this.dropDown?this.dropDown.id:null,s=this._btnTm,o=e&&this.dropDown===this._ddDate,n=e&&this.dropDown===this._ddTime;wijmo_1.setAttribute(t,"aria-expanded",!!o);wijmo_1.setAttribute(t,"aria-controls",o?i:null);wijmo_1.setAttribute(s,"aria-expanded",!!n);wijmo_1.setAttribute(s,"aria-controls",n?i:null)}inputDateTimeIsDroppedDownChanged(){const t=this.dropDown===this._ddDate?this._btn:this._btnTm;wijmo_1.toggleClass(t,exports.InputDateTimeClsNames.showDropDownButton,this.isDroppedDown)}}InputDateTime._ctrlTemplate="";exports.InputDateTime=InputDateTime;wijmo_1._addCultureInfo("AutoComplete",{ariaLabels:{autoCompleteInput:"AutoComplete Input",autoComplete:"Auto Complete"}});class AutoComplete extends ComboBox{constructor(t,e){super(t);this._cssMatch=exports.ComboBoxClsNames.stateMatch;this._minLength=2;this._maxItems=6;this._itemCount=0;this._beginsWith=!1;this._delay=wijmo_1.Control._SEARCH_DELAY;this._selItems=null;this._query="";this._inCallback=!1;this._srchProps=[];this._oldSelectedIndex=-1;this._inputElementAriaLabel=wijmo_1.culture.AutoComplete.ariaLabels.autoCompleteInput;this._isBlurInput=!1;wijmo_1.addClass(this.hostElement,exports.AutoCompleteClsNames.hostElement);this._bsCollapse=!1;this.isEditable=!0;this.isRequired=!1;this.listBox.formatItem.addHandler(this._formatListItem,this);this._itemsSourceFnCallbackBnd=this._itemSourceFunctionCallback.bind(this);this.initialize(e);this._updateInputAriaLabel()}static get controlTemplate(){AutoComplete._ctrlTemplate||(AutoComplete._ctrlTemplate=ComboBox.controlTemplate);return AutoComplete._ctrlTemplate}static set controlTemplate(t){AutoComplete._ctrlTemplate=t}get minLength(){return this._minLength}set minLength(t){this._minLength=wijmo_1.asNumber(t,!1,!0)}get beginsWithSearch(){return this._beginsWith}set beginsWithSearch(t){this._beginsWith=wijmo_1.asBoolean(t)}get maxItems(){return this._maxItems}set maxItems(t){this._maxItems=wijmo_1.asNumber(t,!1,!0)}get delay(){return this._delay}set delay(t){this._delay=wijmo_1.asNumber(t,!1,!0)}get searchMemberPath(){return this._srchProp}set searchMemberPath(t){this._srchProp=wijmo_1.asString(t);this._srchProps=t?t.trim().split(/\s*,\s*/):[]}get itemsSourceFunction(){return this._itemsSourceFn}set itemsSourceFunction(t){if(this._itemsSourceFn!==t){this._itemsSourceFn=wijmo_1.asFunction(t);wijmo_1.isFunction(this._itemsSourceFn)&&this.itemsSourceFunction(this.text,this.maxItems,this._itemsSourceFnCallbackBnd)}}get cssMatch(){return this._cssMatch}set cssMatch(t){this._cssMatch=wijmo_1.asString(t)}onSelectedIndexChanged(t){this._settingText||super.onSelectedIndexChanged(t)}_updateTbxAria(){super._updateTbxAria();const t=this._tbx;wijmo_1.setAttribute(t,"aria-autocomplete","list")}_keydown(t){if(!this._isHiddenEditor()){if(!t.defaultPrevented&&this.isDroppedDown)switch(t.keyCode){case wijmo_1.Key.Up:case wijmo_1.Key.Down:this.selectAll()}super._keydown(t)}}_input(t){this._handleDragTextState();this._updateComponentText();this._updateEmptyValueFlag();this._resetDragState()}_commitText(t){if(t&&this._composing&&this.isDroppedDown&&!wijmo_1.isFirefox()&&!wijmo_1.isSafari()&&""==this._textIsComposing){this._isBlurInput=!0;this.isDroppedDown=!1;setTimeout(()=>{this.onLostFocus()},this.delay+1)}t&&!this._composing&&(wijmo_1.isFirefox()||wijmo_1.isSafari())&&wijmo_1.getActiveElement()==this.inputElement&&this.onLostFocus()}_setText(t){if(this._isBlurInput&&0==this.text.length){this._tbx.value=t;this._isBlurInput=!1}this.trimText&&!this.containsFocus()&&"string"==typeof t&&(t=t.trim());if(this._composing&&t!=this._oldText){this._oldText=t;this.onTextChanged()}if(!(this._inCallback||this._settingText||(wijmo_1.isFirefox()||wijmo_1.isSafari())&&this._composing)){this._toSearch||(this._oldSelectedIndex=this.selectedIndex);if(this.selectedIndex>-1&&this._getDisplayText(void 0,void 0,!0)!=t){this._settingText=!0;this.selectedIndex=-1;this._settingText=!1}this._toSearch&&clearTimeout(this._toSearch);if(t!=this._oldText||t!=this.text){"string"!=typeof t&&(t="");const e=this._tbx,i=this._tbx.selectionStart;e.value!=t&&(e.value=t);this._isWheel&&this.containsFocus()&&this._updateInputSelection(i);this._oldText=t;this.onTextChanged();const s=this.collectionView;if(!t&&s){(this._query||this.selectedIndex<0)&&(this.isDroppedDown=!1);this._query=this._rxHighlight=null;s.filter=null;const t=this.itemsSourceFunction;if(wijmo_1.isFunction(t)){this.isDroppedDown=!1;t(this._query,this.maxItems,this._itemsSourceFnCallbackBnd)}if(this.isRequired&&!this.containsFocus()&&!Array.isArray(this._selItems)){const t=this._oldSelectedIndex>-1?this._oldSelectedIndex:0;this.selectedIndex=t}-1==this.selectedIndex&&-1!=this._oldSelectedIndex&&this.onSelectedIndexChanged();return}}if(t!=this._getDisplayText(void 0,void 0,!0)){if(!this.containsFocus()&&this.trimText)if(this.isRequired&&!this.text.trim().length){const t=this._oldSelectedIndex>-1?this._oldSelectedIndex:0;this.selectedIndex=t}else this._tbx.value=this._tbx.value.trim();const e=!this.containsFocus()&&t.length<this.minLength;this.collectionView&&!this.containsFocus()&&(this.collectionView.filter=null);const i=this.indexOf(t,!0),s=this.indexOf(t,!1);if(e)return;if(!this.containsFocus()&&(!t||this.trimText&&!this.text.trim().length||null!=this.collectionView&&i<0&&s<0)&&this.isRequired&&!this.isEditable){const t=this._oldSelectedIndex>-1?this._oldSelectedIndex:wijmo_1.hasItems(this.collectionView)?0:-1;t!=this.selectedIndex&&(this.selectedIndex=t)}else if((Array.isArray(this.itemsSource)||"function"==typeof this.itemsSourceFunction)&&!this.containsFocus()&&t&&i<0&&(s<0||s!=i)&&!this.isRequired&&!this.isEditable){this._tbx.value="";this.selectedIndex=-1;this.onSelectedIndexChanged()}else{const e=this._delay>0?setTimeout:(t,e)=>t();this._pendingSearchFn=()=>{this._toSearch=null;let e=this.text;if(!this._composing&&e.trim().length>=this._minLength&&e!=this._query){this._query=e.trim();e=wijmo_1.escapeRegExp(e);const t=wijmo_1.escapeHtml(e.trim());let i=this.caseSensitiveSearch?"":"i";this._beginsWith||(i+="g");this._rxSrch=this._beginsWith?new RegExp(`^${e}.*`,i):new RegExp(`(?=.*${e.replace(/ /g,")(?=.*")})`,i);this._rxHighlight=this._beginsWith?new RegExp("^"+e,i):new RegExp(`(${t.replace(/\s+/g,"|")})`,i);const s=this.itemsSourceFunction;wijmo_1.isFunction(s)?s(this._query,this.maxItems,this._itemsSourceFnCallbackBnd):this._updateItems()}!t.trim().length&&!this.isEditable&&this.indexOf(t,!0)<0&&(this.selectedIndex=-1);-1==this.selectedIndex&&-1!=this._oldSelectedIndex&&this.onSelectedIndexChanged()};this._toSearch=e(this._pendingSearchFn,this._delay)}}else""===this._tbx.value&&t&&(this._tbx.value=t)}}onLostFocus(t){let e=!1;if(this.isRequired&&!this.isEditable&&this.text&&this.text.length>=this.minLength){e=!0;let t=this.indexOf(this.text,!0);t<0&&(t=this.indexOf(this.text,!1));t>-1&&(this._oldSelectedIndex=t);t<0&&(this._oldSelectedIndex=0)}if(this._toSearch){clearTimeout(this._toSearch);this.text!==this._getDisplayText(void 0,void 0,!0)&&this._pendingSearchFn&&this._pendingSearchFn();e=!1}const i=this.collectionView;if(i&&0===i.items.length){this._oldFilter=i.filter;i.filter=null}super.onLostFocus(t,this._oldSelectedIndex,e)}onGotFocus(t){this._toSearch||(this._oldSelectedIndex=this.selectedIndex);super.onGotFocus(t)}reset(){this._oldSelectedIndex=-1}_itemSourceFunctionCallback(t){this._inCallback=!0;const e=wijmo_1.asCollectionView(t||[]);e.moveCurrentToPosition(-1);this.itemsSource=e;this._inCallback=!1;if(this.containsFocus()){const t=this._tbx,e=t.selectionStart,i=t.selectionEnd,s=this.collectionView;this.isDroppedDown=null!=s&&s.items.length>0;wijmo_1.setSelectionRange(t,e,i);this.refresh()}}onIsDroppedDownChanged(t){super.onIsDroppedDownChanged(t);if(this.containsFocus()&&!this.isTouching){const t=this.collectionView;if(this.selectedIndex<0&&t){const e=t.items,i=this.text;1==e.length&&e[0]==i?this.selectedIndex=0:wijmo_1.setSelectionRange(this._tbx,i.length)}}this._query=""}_updateItems(){const t=this.collectionView;if(t){this._inCallback=!0;t.beginUpdate();this._itemCount=0;t.filter=this._filter.bind(this);t.moveCurrentToPosition(-1);t.endUpdate();this._inCallback=!1;let e=t.items.length,i=this._tbx,s=i.selectionStart,o=i.selectionEnd;this.text.trim()||(e=0);this.isDroppedDown=e>0&&this.containsFocus();e||this.isEditable||(this.selectedIndex=-1);if(1==e&&this.selectedIndex<0){let e=this._getItemText(t.items[0],!1),s=i.value;if(!this.caseSensitiveSearch){e=e.toLowerCase();s=s.toLowerCase()}(e==s||this.trimText&&e.trim()==s)&&(this.selectedIndex=0)}this.isDroppedDown&&wijmo_1.setSelectionRange(i,s,o);this.refresh()}}_filter(t){if(this._itemCount>=this._maxItems&&this._query)return!1;let e=[this._getItemText(t,!1)];this._srchProps&&this._srchProps.forEach(i=>{const s=t[i];null!=s&&e.push(s)});this.isContentHtml&&(e=e.map(t=>t.replace(/(<[^>]*>|&[^;]*;)/g,"")));for(let t=0;t<e.length;t++)if(this._rxSrch.test(e[t])){this._itemCount++;return!0}return!1}_getItemText(t,e){let i=t?t.toString():"",s=e&&this.headerPath?this._pathHdr:this._lbx._pathDisplay;if(s){i=s.getValue(t);i=null!=i?i.toString():""}return i}_formatListItem(t,e){this._cssMatch&&this._rxHighlight&&this._query&&(e.item.innerHTML=e.item.innerHTML.replace(this._rxHighlight,(t,e,i,s)=>this._enclosed(s,i,"<",">")||this._enclosed(s,i,"&",";")?t:`<span class="${this._cssMatch}">${t}</span>`))}_enclosed(t,e,i,s){for(let o=e;o>=0&&t[o]!=s;o--)if(t[o]==i)for(let o=e;o<t.length&&t[o]!=i;o++)if(t[o]==s)return!0;return!1}_wheel(t){super._wheel(t)}getAriaLabelForScreenReader(){return wijmo_1.culture.AutoComplete.ariaLabels.autoComplete}_hasCustomFormatItem(){return this.formatItem.getHandler.length>1}}AutoComplete._ctrlTemplate="";exports.AutoComplete=AutoComplete;wijmo_1._addCultureInfo("MultiAutoComplete",{ariaLabels:{multiAutoCompleteInput:"MultiAutoComplete Input",multiAutoComplete:"MultiAutoComplete",multiAutoCompleteHelperInput:"MultiAutoComplete Helper Input",remove:"Remove"}});class MultiAutoComplete extends AutoComplete{constructor(t,e){super(t);this._maxSelItems=null;this._lastInputValue="";this._selPath=new wijmo_1.Binding(null);this._notAddItm=!1;this._inputElementAriaLabel=wijmo_1.culture.MultiAutoComplete.ariaLabels.multiAutoCompleteInput;this._helperInputElementAriaLabel=wijmo_1.culture.MultiAutoComplete.ariaLabels.multiAutoCompleteHelperInput;this._ariaLabelledby=null;this.selectedItemsChanged=new wijmo_1.Event;wijmo_1.addClass(this.hostElement,exports.MultiAutoCompleteClsNames.hostElement);this._wjTpl=this.hostElement.querySelector("."+wijmo_1.ControlClsNames.template);this._wjInput=this.hostElement.querySelector("."+exports.InputClsNames.input);this.showDropDownButton=!1;this._selItems=[];this.initialize(e);this.addEventListener(this.hostElement,"keyup",this._keyup.bind(this),!0);this.addEventListener(window,"resize",this._adjustInputWidth.bind(this));this.addEventListener(this._tbx,"focus",()=>{this._itemOff()});this._addHelperInput();this._addScreenReaderHelper();this._initSeltems();this.listBox.itemsChanged.addHandler(()=>{if(-1===this.selectedIndex)return;const t=this.collectionView;(t&&("CollectionView"==t.constructor.name||"ODataVirtualCollectionView"==t.constructor.name)||t.virtualization)&&(this.selectedIndex=-1)});this._refreshHeader();this._updateTabIndex();this._updateInputAriaLabel()}static get controlTemplate(){MultiAutoComplete._ctrlTemplate||(MultiAutoComplete._ctrlTemplate=AutoComplete.controlTemplate);return MultiAutoComplete._ctrlTemplate}static set controlTemplate(t){MultiAutoComplete._ctrlTemplate=t}set showDropDownButton(t){this._showBtn=!1}get maxSelectedItems(){return this._maxSelItems}set maxSelectedItems(t){if(this._maxSelItems!=t){this._maxSelItems=wijmo_1.asNumber(t,!0);this._updateMaxItems();this._refreshHeader();this._clearSelIndex()}}get selectedMemberPath(){return this._selPath.path}set selectedMemberPath(t){if((t=wijmo_1.asString(t))!==this.selectedMemberPath){this._selPath.path=t;this._initSeltems();this._refreshHeader();this.onSelectedItemsChanged()}}get selectedItems(){return this._selItems}set selectedItems(t){t=Array.from(new Set(t));let e=this._selItems===t;e||null==this._selItems||null==t||this._selItems.length!==t.length||(e=this._selItems.every((e,i)=>e===t[i]));this._selItems=wijmo_1.asArray(t);if(!e){if(this.selectedMemberPath&&""!==this.selectedMemberPath&&this._selItems)for(let t=0;t<this._selItems.length;t++){const e=this._selItems[t];this._setSelItem(e,!1)}this._updateMaxItems();this.onSelectedItemsChanged();this._refreshHeader();this._clearSelIndex()}}get ariaLabelledBy(){return this._ariaLabelledby}set ariaLabelledBy(t){wijmo_1._setAriaLabelBy(this,this._tbx,t,this._updateInputAndListBoxAriaLabel.bind(this))}onSelectedItemsChanged(t){this.selectedItemsChanged.raise(this,t)}onIsDroppedDownChanged(t){!this.isDroppedDown&&this.selectedIndex>-1&&!this._notAddItm&&this._addItem(!0);this._notAddItm=!1;super.onIsDroppedDownChanged(t)}refresh(t=!0){super.refresh(t);if(this.hostElement){this._initSeltems();this.isDroppedDown||this._refreshHeader()}}_keydown(t){if(!this.isReadOnly){if(!t.defaultPrevented)switch(t.keyCode){case wijmo_1.Key.Back:this._lastInputValue=this._tbx.value;break;case wijmo_1.Key.Enter:this._itemOff();this._addItem(!0);wijmo_1.isIE()&&wijmo_1.setSelectionRange(this._tbx,this._tbx.textContent.length,this._tbx.textContent.length);break;case wijmo_1.Key.Tab:if(this.isDroppedDown){this._addItem(!1);this._tbx.value="";this._lbx.selectedIndex=-1;this.isDroppedDown=!1;this.containsFocus()||this.focus();t.preventDefault()}else this._updateFocus();break;case wijmo_1.Key.Space:if(""!==this._tbx.value)return;if(!this.isDroppedDown&&!this._tbx.disabled){this.isDroppedDown=!0;this._clearSelIndex()}break;case wijmo_1.Key.Escape:this.isDroppedDown&&(this._notAddItm=!0);break;case wijmo_1.Key.Left:this._itemOn(!this.rightToLeft);break;case wijmo_1.Key.Right:this._itemOn(!!this.rightToLeft);break;case wijmo_1.Key.Up:case wijmo_1.Key.Down:const e=wijmo_1.getActiveElement();if(t.altKey){if(this._tbx==e){this.isDroppedDown=!this.isDroppedDown;this.isDroppedDown||this._tbx.focus();t.preventDefault();return}}else if(this._tbx!==e)return;default:if(t.keyCode===wijmo_1.Key.Back||t.keyCode===wijmo_1.Key.Delete)return;this._itemOff();null!=this._maxSelItems&&this._selItems.length>=this._maxSelItems&&t.preventDefault()}this._tbx.disabled||super._keydown(t)}}_updateState(){super._updateState();this._wjTpl&&(wijmo_1.hasClass(this.hostElement,wijmo_1.ControlStateClsNames.focused)||this._itemOff())}_keyup(t){if(!this.isReadOnly&&!t.defaultPrevented)switch(t.keyCode){case wijmo_1.Key.Back:0===this._tbx.value.length&&0===this._lastInputValue.length&&this._delItem(!1);break;case wijmo_1.Key.Delete:this._delItem(!0)}}_addHelperInput(){const t=document.createElement("input");t.type="text";t.tabIndex=-1;t.className=exports.MultiAutoCompleteClsNames.tokenHelper;t.readOnly=!0;wijmo_1.setAttribute(t,"aria-label",this._helperInputElementAriaLabel);wijmo_1.setAttribute(t,"role","textbox");this._wjTpl.insertBefore(t,this._wjInput);this._helperInput=t}_addScreenReaderHelper(){const t=document.createElement("div");t.tabIndex=-1;t.className=exports.MultiAutoCompleteClsNames.screenReaderOnly;wijmo_1.setAttribute(t,"aria-live","polite");this._wjTpl.insertBefore(t,this._wjInput);this._screenReaderHelper=t}_refreshHeader(){const t=this.hostElement.querySelectorAll("."+exports.MultiAutoCompleteClsNames.token);for(let e=0;e<t.length;e++)this._wjTpl.removeChild(t[e]);const e=this.selectedItems;if(e&&0!==e.length){for(let t=0;t<e.length;t++)this._insertToken(e[t]);this._wjInput.style.cssFloat=this.rightToLeft?"right":"left";this._adjustInputWidth()}else{this._wjInput.style.cssFloat=this.rightToLeft?"right":"left";this._adjustInputWidth()}}_insertToken(t){let e=this._getItemText(t,!0);this.isContentHtml||(e=wijmo_1.escapeHtml(e));this._wjTpl.insertBefore(this._createItem(e),this._wjInput)}_updateMaxItems(){null!=this._maxSelItems&&this._selItems&&this._selItems.length>this._maxSelItems&&(this._selItems=this._selItems.slice(0,this._maxSelItems))}_updateFocus(){const t=this._wjTpl.querySelector("."+MultiAutoComplete._clsActive);if(t){wijmo_1.removeClass(t,MultiAutoComplete._clsActive);setTimeout(()=>{this._tbx.focus()})}else this._clearSelIndex()}_addItem(t){if(this.selectedItems.indexOf(this.selectedItem)>-1)this._clearSelIndex();else if(this.selectedIndex>-1){this._updateSelItems(this.selectedItem,!0);this._refreshHeader();t&&this._clearSelIndex();this._disableInput(!0)}}_delItem(t){const e=this._wjTpl.querySelector("."+MultiAutoComplete._clsActive);let i,s,o=!1;if(t&&!e)return;if(e){s=this._getItemIndex(e);if(s>-1){i=this._selItems[s];o=!0}}else if(this._selItems.length>0){i=this._selItems[this._selItems.length-1];o=!0}const n=this._getItemText(i,!0),a=wijmo_1.culture.MultiAutoComplete.ariaLabels.remove;this._screenReaderHelper.textContent=`${a} ${n}`;if(o){this._updateSelItems(i,!1);this._refreshHeader();this._clearSelIndex();this._disableInput(!1)}this._tbx.focus()}_updateSelItems(t,e){if(e){this._selItems&&0!==this._selItems.length||(this._selItems=[]);if(null!=this._maxSelItems&&this._selItems.length>=this._maxSelItems)return;this._selItems.push(t)}else{const e=this._selItems.indexOf(t);this._selItems.splice(e,1)}this._hasSelectedMemeberPath()&&this._setSelItem(t,e);this.onSelectedItemsChanged()}_createItem(t){const e=document.createElement("div"),i=document.createElement("span"),s=document.createElement("span");e.appendChild(i);e.appendChild(s);e.id=wijmo_1.getSafeUniqueId(t);wijmo_1.setAttribute(e,"aria-label",t);wijmo_1.setAttribute(e,"role","button");e.className=exports.MultiAutoCompleteClsNames.token;i.className=exports.MultiAutoCompleteClsNames.tokenLabel;i.innerHTML=t;s.className=exports.MultiAutoCompleteClsNames.tokenClose;s.tabIndex=-1;s.innerHTML="×";e.style.cssFloat=this.rightToLeft?"right":"left";this.addEventListener(e,"click",t=>{this._helperInput.focus();wijmo_1.setAttribute(this._helperInput,"aria-activedescendant",e.id);const i=this._wjTpl.querySelector("."+MultiAutoComplete._clsActive);i&&wijmo_1.removeClass(i,MultiAutoComplete._clsActive);wijmo_1.addClass(e,MultiAutoComplete._clsActive);t.stopPropagation();t.preventDefault()});this.addEventListener(s,"click",t=>{if(this.isReadOnly)return;const i=this._getItemIndex(e);if(i>-1){const t=this._selItems[i];this._updateSelItems(t,!1)}this._wjTpl.removeChild(e);this._adjustInputWidth();this._disableInput(!1);this._tbx.focus();t.stopPropagation()});return e}_itemOn(t){const e=wijmo_1.getActiveElement();let i,s,o;if(this._tbx!=e||0===this._tbx.value.length){i=this._wjTpl.querySelectorAll("."+exports.MultiAutoCompleteClsNames.token);if(0!==i.length){s=this._wjTpl.querySelector("."+MultiAutoComplete._clsActive);o=this._getItemIndex(s);if(t){if(0===o)return;if(-1===o){wijmo_1.addClass(i[i.length-1],MultiAutoComplete._clsActive);this._helperInput.focus();wijmo_1.setAttribute(this._helperInput,"aria-activedescendant",i[i.length-1].id)}else{wijmo_1.removeClass(s,MultiAutoComplete._clsActive);wijmo_1.addClass(i[o-1],MultiAutoComplete._clsActive);this._helperInput.focus();wijmo_1.setAttribute(this._helperInput,"aria-activedescendant",i[o-1].id)}}else if(!t){if(-1===o)return;if(o!==i.length-1){wijmo_1.removeClass(s,MultiAutoComplete._clsActive);wijmo_1.addClass(i[o+1],MultiAutoComplete._clsActive);this._helperInput.focus();wijmo_1.setAttribute(this._helperInput,"aria-activedescendant",i[o+1].id)}else{wijmo_1.removeClass(s,MultiAutoComplete._clsActive);this._tbx.focus();wijmo_1.setAttribute(this._helperInput,"aria-activedescendant")}}}}}_itemOff(){const t=this._wjTpl.querySelector("."+MultiAutoComplete._clsActive);t&&wijmo_1.removeClass(t,MultiAutoComplete._clsActive)}_initSeltems(){if(this.selectedMemberPath){this._selItems.splice(0,this._selItems.length);const t=this.collectionView;if(t)for(let e=0;e<t.sourceCollection.length;e++)this._getSelItem(e)&&this._selItems.push(t.sourceCollection[e])}}_getSelItem(t){const e=this.collectionView,i=e?e.sourceCollection[t]:null;return!(!wijmo_1.isObject(i)||!this.selectedMemberPath)&&this._selPath.getValue(i)}_setSelItem(t,e){this.itemsSource;wijmo_1.isObject(t)&&this._selPath.getValue(t)!=e&&this._selPath.setValue(t,e)}_clearSelIndex(){this.selectedIndex=-1}_hasSelectedMemeberPath(){return this.selectedMemberPath&&""!==this.selectedMemberPath}_disableInput(t){if(null!=this._maxSelItems)if(this._selItems.length<this._maxSelItems){this._tbx.disabled=!1;this._tbx.focus()}else{this._tbx.disabled=!0;this.hostElement.focus()}}_adjustInputWidth(){this._tbx.style.width="60px";let t,e=wijmo_1.getElementRect(this.hostElement),i=wijmo_1.getElementRect(this._tbx),s=getComputedStyle(this._tbx),o=parseInt(s.paddingLeft,10),n=parseInt(s.paddingRight,10);t=this.rightToLeft?i.left+i.width-e.left-o-n-8:e.left+e.width-i.left-o-n-8;this._tbx.style.width=t+"px";this._tbx.placeholder?this._tbx.style.minWidth="max-content":this._tbx.style.minWidth=""}_getItemIndex(t){const e=this.hostElement.querySelectorAll("."+exports.MultiAutoCompleteClsNames.token);for(let i=0;i<e.length;i++)if(t===e[i])return i;return-1}_setIsDisabled(t){super._setIsDisabled(t);this._updateTabIndex()}_setTabOrder(t){this._orgTabIndex=t;this._updateTabIndex()}_updateTabIndex(){const t=this.hostElement;this._tbx.tabIndex=this.isDisabled?-1:this._orgTabIndex;t.tabIndex=-1}}MultiAutoComplete._clsActive=exports.MultiAutoCompleteClsNames.tokenActive;MultiAutoComplete._ctrlTemplate="";exports.MultiAutoComplete=MultiAutoComplete;wijmo_1._registerModule("wijmo.input",selfModule);