UNPKG

@mescius/wijmo.input

Version:

UI library for pure JS, Angular, React, Vue and more...

14 lines (13 loc) 246 kB
/*! * * Wijmo Library 5.20252.44 * 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",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;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 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="");let n=this._tbx;n.autocomplete="off";n.spellcheck=!1;this._updateSymbols();let l=this.addEventListener.bind(this);l(n,"keypress",this._keypress.bind(this));l(n,"keydown",this._keydown.bind(this));l(n,"input",this._input.bind(this));wijmo_1.isMobile()&&l(n,"beforeinput",this._beforeinput.bind(this));l(n,"blur",()=>{this.text!=this._oldText&&this._setText(this.text)});l(n,"paste",()=>{this._fromKb=!1});l(n,"compositionstart",()=>{this._composing=!0});l(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)})});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(n,"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" 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 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(){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,o=this._chrDec,n=this._rxNeg.test(t),l=this._delKey,a=this.containsFocus();t&&this._rxSym.test(t)&&a&&(t=this.isRequired||!l?(n?"-0":"0")+(t.indexOf(o)>-1?o:""):"");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(o),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,u=wijmo_1.Globalize.format(_,r,!1,e,d);n&&_>=0&&!l&&(u=this._chrNeg+u);if(a&&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}let e=this._tbx,i=e.value.indexOf(this._chrDec);if(i>-1){t.preventDefault();let 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){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),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]){let 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()){let 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(){let t=this._tbx;(this.value<0||this._rxNeg.test(t.value))&&this._flipSign()}_handleMinusSign(){let 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()){let 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{let 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()){let n=t.value,l=n.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&&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&&l>-1?s=l+1:s<=i&&l>-1||i<0&&l<0?s+=n.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)}})}_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;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()});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){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)}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;let 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)});let 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;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());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){let e=this.value,i=(t=wijmo_1.asString(t)).trim(),s=wijmo_1.Color.fromString(i);if(s){let 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){let 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){let t=i.getBoundingClientRect(),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){let 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;let 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});let s=this.getActualTabIndex();for(let o=0;o<this._palette.length;o++){let n=new wijmo_1.Color(this._palette[o]);const l=n.getHsb(),a=this._makePalEntry(n);a.innerHTML="&#8203";a.setAttribute("role","columnheader");a.setAttribute("aria-label",`${wijmo_1.culture.ColorPicker.ariaLabels.baseColor} ${n.toString()}`);if(0===o){this._ePalMainFirst=a;this._ePalMainFirst.setAttribute("tabindex",s)}else a.setAttribute("tabindex","-1");i[0].appendChild(a);for(let n=0;n<5;n++){const a=0===l[1]?wijmo_1.Color.interpolate(t,e,.1*n+(l[2]>.5?.05:.55)):wijmo_1.Color.fromHsb(l[0],.1+.2*n,1-.1*n),h=this._makePalEntry(a);h.setAttribute("role","gridcell");h.setAttribute("aria-label",`${wijmo_1.culture.ColorPicker.ariaLabels.shadeColor} ${a.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){let e=document.createElement("div");e.className="palette-gridcell";wijmo_1.setCss(e,{backgroundColor:t.toString()});return e}_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)");let 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++){let 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){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}getActualTabIndex(){const t=this.tabOrder.toString();return this.keyActionTab===ColorPickerTabKeyAction.All&&!0!==this.isDisabled?t:"-1"}_updateTabIndex(){let 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 e=o-1;e>=0&&(n=i[e])}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="";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)[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){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._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);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,o=-1;if(i){for(let e=0;e<i.length;e++){let n=i[e],l=s?this._pathValue.getValue(n):n;if(l===t||wijmo_1.DateTime.equals(l,t)){o=e;break}if(this.isContentHtml&&wijmo_1.isString(l)&&l.indexOf("<")>-1&&wijmo_1.toPlainText(l)===t){o=e;break}}this.selectedIndex=o}}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),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>