@mescius/wijmo.input
Version:
UI library for pure JS, Angular, React, Vue and more...
14 lines (13 loc) • 225 kB
JavaScript
/*!
*
* Wijmo Library 5.20251.40
* https://developer.mescius.com/wijmo
*
* Copyright(c) MESCIUS inc. All rights reserved.
*
* Licensed under the End-User License Agreement For MESCIUS Wijmo Software.
* us.sales@mescius.com
* https://developer.mescius.com/wijmo/licensing
*
*/
"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"};exports.InputDateRangeClsNames={hostElement:"wj-inputdaterange"};exports.InputDateTimeClsNames={hostElement:"wj-inputdatetime"};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"};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;let 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();let n=wijmo_1.culture.InputNumber.ariaLabels;wijmo_1.setAriaLabel(this._btnUp.querySelector("button"),n.incVal);wijmo_1.setAriaLabel(this._btnDn.querySelector("button"),n.decVal);this._tbx.type.match(/number/i)&&(this.inputType="");let o=this._tbx;o.autocomplete="off";o.spellcheck=!1;this._updateSymbols();let l=this.addEventListener.bind(this);l(o,"keypress",this._keypress.bind(this));l(o,"keydown",this._keydown.bind(this));l(o,"input",this._input.bind(this));l(o,"blur",()=>{this.text!=this._oldText&&this._setText(this.text)});l(o,"paste",()=>{this._fromKb=!1});l(o,"compositionstart",()=>{this._composing=!0});l(o,"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)})});let a=this._clickSpinner.bind(this);l(this._btnUp,"click",a);l(this._btnDn,"click",a);this._rptUp=new wijmo_1._ClickRepeater(this._btnUp.querySelector("button"));this._rptDn=new wijmo_1._ClickRepeater(this._btnDn.querySelector("button"));l(o,"wheel",t=>{if(this.handleWheel&&!t.defaultPrevented&&!t.ctrlKey&&this._isEditable()&&this.containsFocus()){let 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" inputmode="numeric" 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)){let 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(){let 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()){let t=this.clamp(this.value);if(t==this.value||this.onInvalidInput(new wijmo_1.CancelEventArgs)){let 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();let t=wijmo_1.Globalize.format(this.value,this.format);this._setText(t)}}_isEditable(){return!this.isReadOnly&&!this.isDisabled}_updateSymbols(){let 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 n=0;n<i.length;n++)if(this._isNumeric(i[n],t)){if(!s){e[0]=n;s=!0}e[1]=n+1}return e}_flipSign(){let 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){let 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){let 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(){let 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;let s=this._tbx,n=this._chrDec,o=this._rxNeg.test(t),l=this._delKey,a=this.containsFocus();t&&this._rxSym.test(t)&&a&&(t=this.isRequired||!l?(o?"-0":"0")+(t.indexOf(n)>-1?n:""):"");this._delKey=!1;l&&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"}let h=t.indexOf(n),r=this._format||(h>-1?"n2":"n0"),_=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=a&&h>-1?2:null,m=wijmo_1.Globalize.format(_,r,!1,e,d);o&&_>=0&&!l&&(m=this._chrNeg+m);a&&h>-1&&"g"==this._fmtSpc&&0!=this._fmtPrc&&(m=t).indexOf(n)<0&&(m+=n);if(s.value!=m){s.value=m;_=wijmo_1.Globalize.parseFloat(m,r)}if(this.text!=this._oldText){this._oldText=this.text;this.onTextChanged()}if(_!=this._value){this._value=_;this.onValueChanged()}this._updateBtn();this._updateState()}_keypress(t){if(!t.defaultPrevented&&!this._composing&&this._isEditable()&&t.charCode&&!t.ctrlKey&&!t.metaKey&&t.keyCode!=wijmo_1.Key.Enter){let e=this._tbx,i=String.fromCharCode(t.charCode);if(this._isNumeric(i,!1)){let i=e.maxLength;if(i>-1&&e.value.length>=i&&e.selectionEnd==e.selectionStart){t.preventDefault();return}let s=this._getInputRange(!0),n=e.selectionStart,o=e.selectionEnd;if(n<s[0]&&o<e.value.length){o=Math.max(o,s[0]);wijmo_1.setSelectionRange(e,s[0],o)}if(n>=s[1]){let i=null!=this._fmtPrc?this._fmtPrc:2,s=e.value.indexOf(this._chrDec);s>-1&&n-s>i&&t.preventDefault()}}else t.preventDefault();switch(i){case"-":case this._chrNeg:if(this.clamp(-1)>=0)this.value<0&&this._flipSign();else if(this.value&&e.selectionStart==e.selectionEnd)this._flipSign();else if(this.clamp(-1)<0){e.value=this._chrNeg;wijmo_1.setSelectionRange(e,1)}t.preventDefault();break;case"+":case this._chrPls:this.value<0&&this._flipSign();t.preventDefault();break;case".":case this._chrDec:if(0==this._fmtPrc)t.preventDefault();else{let i=e.value.indexOf(this._chrDec);if(i>-1){e.selectionStart<=i&&i++;wijmo_1.setSelectionRange(e,i);t.preventDefault()}}}if(!t.defaultPrevented&&wijmo_1.isIE()){let s=e.value,n=e.selectionStart,o=e.selectionEnd;if(n==o){e.value=s.substr(0,n)+i+s.substr(o);wijmo_1.setSelectionRange(e,n+1);t.preventDefault();this._input()}}}}_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,n=i.selectionStart,o=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(o-n<2&&this._isEditable()){let e=s[o-1];if(e==this._chrDec||e==this._chrPct||e==this._chrTho||")"==e){setTimeout(()=>{o=e==this._chrPct?this._getInputRange(!0)[1]:o-1;wijmo_1.setSelectionRange(i,o)});t.preventDefault()}}break;case wijmo_1.Key.Delete:this._delKey=!0;if(o-n<2&&this._isEditable())if("0"==s&&1==n)wijmo_1.setSelectionRange(i,0);else{let e=s[n];if(e==this._chrDec||e==this._chrPct){setTimeout(()=>{wijmo_1.setSelectionRange(i,n+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,n=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()){let o=t.value,l=o.indexOf(this._chrDec),a=this._getInputRange(!0);if(e==this._chrNeg+this._chrDec&&l>-1){wijmo_1.setSelectionRange(t,l+1);return}if(e[0]==this._chrNeg&&o[0]!=this._chrNeg){1==o.length?wijmo_1.setSelectionRange(t,1):this._setSelStartDigits(n);return}e?e==this._chrDec&&l>-1?s=l+1:s<=i&&l>-1||i<0&&l<0?s+=o.length-e.length:i<0&&l>-1&&(s=l):s=l>-1?l:a[1];s=wijmo_1.clamp(s,a[0],a[1]);wijmo_1.setSelectionRange(t,s)}})}_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;!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.InputNumber.ariaLabels.inputNumber}}InputNumber._ctrlTemplate="";exports.InputNumber=InputNumber;wijmo_1._addCultureInfo("InputMask",{ariaLabels:{inputMask:"Input Mask"}});class InputMask extends wijmo_1.Control{constructor(t,e){super(t);this._fullEdit=!1;this.valueChanged=new wijmo_1.Event;let i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${exports.InputMaskClsNames.hostElement}`,i,{_tbx:"input"},"input");if("INPUT"==this._orgTag){let 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()})}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){let e=this.value;this._msk.mask=wijmo_1.asString(t);this.value!=e&&this.onValueChanged()}get promptChar(){return this._msk.promptChar}set promptChar(t){let 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(){let 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)}getAriaLabelForScreenReader(){return wijmo_1.culture.InputMask.ariaLabels.inputMask}}InputMask._ctrlTemplate="";exports.InputMask=InputMask;class ColorPicker extends wijmo_1.Control{constructor(t,e){super(t);this._hsb=[.5,1,1];this._alpha=1;this.valueChanged=new wijmo_1.Event;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);let s=this.addEventListener.bind(this),n=this.removeEventListener.bind(this),o=document;s(this.hostElement,"mousedown",t=>{s(o,"mousemove",mouseMove);s(o,"mouseup",mouseUp);this._mouseDown(t)});s(this.hostElement,"touchstart",t=>{s(o,"touchmove",mouseMove);s(o,"touchend",mouseUp);this._mouseDown(t)});let mouseMove=t=>{this._mouseMove(t)},mouseUp=t=>{n(o,"mousemove",mouseMove);n(o,"mouseup",mouseUp);n(o,"touchmove",mouseMove);n(o,"touchend",mouseUp);this._mouseUp(t)};s(this.hostElement,"click",t=>{let e=t.target;if(e&&"DIV"==e.tagName&&wijmo_1.contains(this._ePal,e)){let t=e.style.backgroundColor;t&&(this.value=new wijmo_1.Color(t).toString())}});this.value="#ffffff";this.initialize(e);this._updatePanels()}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"}get value(){return this._value}set value(t){if(t!=this.value){t=(t=wijmo_1.asString(t)).trim();let e=wijmo_1.Color.fromString(t);if(e){this._value=t;this._eText.innerText=t;let i=e.getHsb();if(this._hsb[0]!=i[0]||this._hsb[1]!=i[1]||this._hsb[2]!=i[2]||this._alpha!=e.a){if(0==i[2]){i[0]=this._hsb[0];i[1]=this._hsb[1]}else 0==i[1]&&(i[0]=this._hsb[0]);this._hsb=i;this._alpha=e.a;this._updatePanels();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()}}onValueChanged(t){this._updatePanels();this.valueChanged.raise(this,t)}_mouseDown(t){this._htDown=this._getTargetPanel(t);if(this._htDown){t.preventDefault();this.focus();this._mouseMove(t)}}_mouseMove(t){var e=t.touches?t.touches[0]:t,i=this._htDown;if(i){let t=i.getBoundingClientRect(),s=this._hsb;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&&(this._alpha=wijmo_1.clamp((e.clientX-t.left)/t.width,0,1));this._updateColor()}}_mouseUp(t){this._htDown=null}_updateColor(){let t=wijmo_1.Color.fromHsb(this._hsb[0],this._hsb[1],this._hsb[2],this._alpha);this.value=t.toString();this._updatePanels()}_updatePalette(){let t=new wijmo_1.Color("#fff"),e=new wijmo_1.Color("#000");this._ePal.innerHTML="";for(let i=0;i<this._palette.length;i++){let s=wijmo_1.createElement('<div style="float:left;width:10%;box-sizing:border-box;padding:1px">'),n=new wijmo_1.Color(this._palette[i]),o=n.getHsb();s.appendChild(this._makePalEntry(n,4));for(let i=0;i<5;i++){if(0==o[1]){let s=.1*i+(o[2]>.5?.05:.55);n=wijmo_1.Color.interpolate(t,e,s)}else n=wijmo_1.Color.fromHsb(o[0],.1+.2*i,1-.1*i);s.appendChild(this._makePalEntry(n,0))}this._ePal.appendChild(s)}}_makePalEntry(t,e){let i=document.createElement("div");wijmo_1.setCss(i,{cursor:"pointer",backgroundColor:t.toString(),marginBottom:e||""});i.innerHTML=" ";return i}_updatePanels(){let 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)");this._ePreview.style.backgroundColor=this.value;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)+"%"}_getTargetPanel(t){let 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}}ColorPicker._ctrlTemplate="";ColorPicker._tplCursor='<div style="position:absolute;left:50%;top:50%;width:7px;height:7px;transform:translate(-50%,-50%);border:2px solid #f0f0f0;border-radius:50px;box-shadow:0px 0px 4px 2px #0f0f0f"></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="";let 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(){let t=this._e;t&&t.offsetHeight&&(this.isDisabled||wijmo_1.moveFocus(t,0)||this._txtCurr.tabIndex>=0&&this._txtCurr.focus())}_update(){let 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){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._btnFirst,this._btnPrev,this._btnNext,this._btnLast].forEach(t=>{t.firstElementChild.disabled?t.firstElementChild.setAttribute("tabindex","-1"):t.firstElementChild.setAttribute("tabindex",this._orgTabIndex.toString())});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){let 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(){let 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){let 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){let e=this._e;if(e){this._isDisabled=t;wijmo_1.toggleClass(e,wijmo_1.ControlStateClsNames.disabled,t);[this._btnFirst,this._btnPrev,this._btnNext,this._btnLast].forEach(e=>{if(t){e.firstElementChild.setAttribute("disabled","");e.firstElementChild.setAttribute("tabindex","-1")}else{e.firstElementChild.removeAttribute("disabled");e.firstElementChild.setAttribute("tabindex",this._orgTabIndex.toString())}wijmo_1.toggleClass(e,wijmo_1.ControlStateClsNames.disabled,t)});this._txtCurr.tabIndex=t?-1:this._orgTabIndex;wijmo_1.toggleClass(this._txtCurr,wijmo_1.ControlStateClsNames.disabled,t)}}}}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.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);let 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){let 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];let 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,n=-1;if(i){for(let e=0;e<i.length;e++){let o=i[e],l=s?this._pathValue.getValue(o):o;if(l===t||wijmo_1.DateTime.equals(l,t)){n=e;break}if(this.isContentHtml&&wijmo_1.isString(l)&&l.indexOf("<")>-1&&wijmo_1.toPlainText(l)===t){n=e;break}}this.selectedIndex=n}}get maxHeight(){let t=this.hostElement,e=t?parseFloat(t.style.maxHeight):null;return isNaN(e)?null:e}set maxHeight(t){let 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),n=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?n=this._getBoundingClientRect(s):this._children.length>0&&(n=this._getBoundingClientRect(this._getChild(0)));let o=this._getBoundingClientRect(e),l=0;if(this._shGroups){l=this._itemHeight;if(!this._isVirtual){let t=i[0];t&&t.offsetHeight&&wijmo_1.hasClass(t,exports.ListBoxClsNames.header)&&(l=t.offsetHeight)}}n.bottom>o.bottom?e.scrollTop+=n.bottom-o.bottom:n.top<o.top+l&&(e.scrollTop-=o.top+l-n.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){let 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));let 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){let 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){let n=e.sourceCollection;if(n&&n.length){wijmo_1.isObject(n[0])||(i=null);t.forEach(t=>s.set(t,!0));this._checking=!0;let e=[];n.forEach(t=>{let n=s.has(t);n&&e.push(t);i&&i.setValue(t,n)});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);let 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);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);{let 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){let e=this._children;for(let i=0;i<=t&&i<e.length;i++){let s=e[i];wijmo_1.hasClass(s,exports.ListBoxClsNames.header)&&t++}}return t}_setItemChecked(t,e,i=!0){let s=this._cv.items[t],n=this._pathChecked,o=!1,l=this.selectedIndex,a=this._checking;if(wijmo_1.isObject(s)&&n.path){if(!!n.getValue(s)!=e){let t=wijmo_1.tryCast(this._cv,"IEditableCollectionView");o=!0;this._checking=!0;if(t){t.editItem(s);n.setValue(s,e);t.commitEdit()}else{n.setValue(s,e);t.refresh()}this._checking=a}}else if(i){let t=this._findArrayItem(this._checkedItems,s);(e&&t<0||!e&&t>=0)&&(o=!0)}this._setCheckboxState(t,e);if(i){if(o){this._checkedItems=this._checkedItemsUpdate(s,e);this.onItemChecked();this.onCheckedItemsChanged()}l!=this.selectedIndex&&this.onSelectedIndexChanged()}return o}_checkedItemsUpdate(t,e){let i=this._cv.sourceCollection,s=this._checkedItems,n=0;if(e){for(var o=0;o<i.length;o++){let e=i[o];if(n<s.length&&this._isEqual(e,s[n]))n++;else if(this._isEqual(e,t))return s.slice(0,n).concat([t]).concat(s.slice(n))}return s}{let 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(var i=0;i<t.length;i++)if(Number.isNaN(t[i]))return i;return-1}_cvCollectionChanged(){if(!this._checking){this._populateList();this.onItemsChanged()}}_cvCurrentChanged(){if(!this._checking){this.showSelection();this._ignoredItemChangedEvents||this.onSelectedIndexChanged()}}_populateList(){let 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();let n=this._children=[];t.textContent="";if(e){let s,o=0,l=[];this._ignoreItemFormatterTextArray=[];if(this._shGroups&&e.groups&&e.groups.length){i={};for(let t=0;t<e.groups.length;t++){let n=e.groups[t];i[o]=n;s=this._createHeaderItem(n,t);l.push(s);for(let e=0;e<n.items.length;e++,o++){s=this._createItem(o,t);l.push(s)}}}else for(let t=0;t<e.items.length;t++,o++){s=this._createItem(o);l.push(s)}let a=this._isVirtual?document.createElement("div"):t,h=0;a.innerHTML=l.join("");for(let t=0;t<a.children.length;t++){let i=a.children[t];h==e.currentPosition&&(this._oldSel=i);i[ListBox._DIDX_KEY]=i.className.indexOf(exports.ListBoxClsNames.header)<0?h++:-1;n.push(i)}}if(this.formatItem.hasHandlers&&e){let t=0,s=e.items,o=new FormatItemEventArgs(0,null,null);for(let e=0;e<n.length;e++){o._item=n[e];if(this._shGroups&&wijmo_1.hasClass(o._item,exports.ListBoxClsNames.header)){o._index=-1;o._data=i[t]}else{o._index=t;o._data=s[t++]}this.onFormatItem(o)}}if(this._isVirtual){let e=this._getCanvasContext(),i=null,s=0;for(let t=0;t<n.length;t++){let o=n[t],l=e.measureText(o.textContent);if(l.width>s){i=o;s=l.width}}if(i){let e=!1,s=t.style.display,o=t.style.position;if(!t.parentElement){e=!0;(this._container||document.body).appendChild(t);wijmo_1.setCss(t,{display:"",position:"absolute"})}t.appendChild(i);let l=i.style.whiteSpace;i.style.whiteSpace="nowrap";this._ePadTop.style.width=i.offsetWidth+"px";this._itemHeight=i.offsetHeight||this._itemHeight;i.style.whiteSpace=l;this._eSizer.style.height=n.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:o})}wijmo_1.removeChild(i)}else this._ePadTop.style.width="";this._updateViewRange()}this.checkedItems=this._getCheckedItems();let o=this._getSelectedElement(!0);if(s){(o||t).focus()}else o&&this.showSelection();t.tabIndex=o?-1:this._orgTabIndex;this.onLoadedItems()}}_getCanvasContext(){let 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;let t=this.hostElement;if(t){let e=getComputedStyle(t);if(parseInt(e.columnCount)>1||e.display.indexOf("flex")>-1||e.display.indexOf("grid")>-1)return!1}ret