UNPKG

@grapecity/wijmo

Version:

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

14 lines (13 loc) 131 kB
/*! * * Wijmo Library 5.20252.42 * 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 * */ import*as selfModule from"@grapecity/wijmo";export class Binding{constructor(e){this.path=e}get path(){return this._path}set path(e){this._path=e;this._parts=e?e.split("."):[];for(let e=0;e<this._parts.length;e++){let t=this._parts[e],i=t.indexOf("[");if(i>-1){this._parts[e]=t.substr(0,i);this._parts.splice(++e,0,parseInt(t.substr(i+1)))}}this._key=1==this._parts.length?this._parts[0]:null}getValue(e){if(e){if(this._key)return e[this._key];if(this._path&&this._path in e)return e[this._path];for(let t=0;t<this._parts.length&&e;t++)e=e[this._parts[t]]}return e}setValue(e,t){if(e)try{let i=this._path;if(i in e){e[i]=t;return e[i]==t}for(let t=0;t<this._parts.length-1;t++)if(null==(e=e[this._parts[t]]))return!1;e[i=this._parts[this._parts.length-1]]=t;return e[i]==t}catch(e){return!1}return!1}}class EventHandler{constructor(e,t){this.handler=e;this.self=t}}export class Event{constructor(e){this._handlers=[];this._handlersChanged=e}addHandler(e,t){e=asFunction(e);this._handlers.push(new EventHandler(e,t));isFunction(this._handlersChanged)&&this._handlersChanged()}getHandler(e=0){const t=this._handlers[e];if(t)return t.handler}removeHandler(e,t){let i=!1;e=asFunction(e);for(let s=0;s<this._handlers.length;s++){let n=this._handlers[s];if(!(n.handler!=e&&null!=e||n.self!=t&&null!=t)){this._handlers.splice(s--,1);i=!0;if(e&&t)break}}i&&isFunction(this._handlersChanged)&&this._handlersChanged()}removeAllHandlers(){let e=this._handlers.length>0;this._handlers.length=0;e&&isFunction(this._handlersChanged)&&this._handlersChanged()}raise(e,t=EventArgs.empty){let i=this._handlers;for(let s=0;s<i.length;s++){let n=i[s];n.handler.call(n.self,e,t);i[s]!==n&&s--}}get hasHandlers(){return this._handlers.length>0}get handlerCount(){return this._handlers.length}}export class EventArgs{}EventArgs.empty=new EventArgs;export class CancelEventArgs extends EventArgs{constructor(){super(...arguments);this.cancel=!1}}export class PropertyChangedEventArgs extends EventArgs{constructor(e,t,i){super();this._name=e;this._oldVal=t;this._newVal=i}get propertyName(){return this._name}get oldValue(){return this._oldVal}get newValue(){return this._newVal}}export class RequestErrorEventArgs extends CancelEventArgs{constructor(e,t){super();this._xhr=e;this._msg=t}get request(){return this._xhr}get message(){return this._msg}set message(e){this._msg=e}}export var NotifyCollectionChangedAction;!function(e){e[e.Add=0]="Add";e[e.Remove=1]="Remove";e[e.Change=2]="Change";e[e.Reset=3]="Reset"}(NotifyCollectionChangedAction||(NotifyCollectionChangedAction={}));export class NotifyCollectionChangedEventArgs extends EventArgs{constructor(e=NotifyCollectionChangedAction.Reset,t=null,i=-1){super();this.action=e;this.item=t;this.index=i}}NotifyCollectionChangedEventArgs.reset=new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset);export class SortDescription{constructor(e,t){this._bnd=new Binding(e);this._asc=t}get property(){return this._bnd.path}get ascending(){return this._asc}}export class PageChangingEventArgs extends CancelEventArgs{constructor(e){super();this.newPageIndex=e}}export class GroupDescription{groupNameFromItem(e,t){return""}namesMatch(e,t){return e===t}}export class PropertyGroupDescription extends GroupDescription{constructor(e,t){super();this._bnd=new Binding(e);this._converter=t}get propertyName(){return this._bnd.path}groupNameFromItem(e,t){return this._converter?this._converter(e,this.propertyName):this._bnd.getValue(e)}namesMatch(e,t){return e===t}}export const empty={};export const ClipboardClsNames={clipboard:"wj-clipboard"};export const ControlClsNames={content:"wj-content",hostElement:"wj-control",template:"wj-template"};export const ControlStateClsNames={active:"wj-state-active",checked:"wj-state-checked",collapsed:"wj-state-collapsed",collapsing:"wj-state-collapsing",disabled:"wj-state-disabled",dragSrc:"wj-state-dragsrc",empty:"wj-state-empty",focus:"wj-state-focus",focused:"wj-state-focused",invalid:"wj-state-invalid",lastSelected:"wj-state-last-selected",loading:"wj-state-loading",match:"wj-state-match",exactMatchSpace:"wj-state-exact-match-space",measuring:"wj-state-measuring",multiSelected:"wj-state-multi-selected",pinned:"wj-state-pinned",readOnly:"wj-state-readonly",selected:"wj-state-selected",sticky:"wj-state-sticky",updating:"wj-state-updating",labeledInput:".wj-labeled-input",wjError:".wj-error",errorVisible:"wj-error-visible"};export const GlyphClsNames={backward:"wj-glyph-backward",btnGlyph:"wj-btn-glyph",calendar:"wj-glyph-calendar",circle:"wj-glyph-circle",clock:"wj-glyph-clock",down:"wj-glyph-down",downLeft:"wj-glyph-down-left",drag:"wj-glyph-drag",file:"wj-glyph-file",filter:"wj-glyph-filter",forward:"wj-glyph-forward",glyph:"wj-glyph",left:"wj-glyph-left",minus:"wj-glyph-minus",plus:"wj-glyph-plus",right:"wj-glyph-right",stepBackward:"wj-glyph-step-backward",stepForward:"wj-glyph-step-forward",up:"wj-glyph-up"};export const InputFormElementsClsNames={btn:"wj-btn",btnDefault:"wj-btn-default",btnGroup:"wj-btn-group",btnGroupVertical:"wj-btn-group-vertical",btnsOutside:"wj-btns-outside",formControl:"wj-form-control",svgBtn:"wj-svg-btn"};export const PrintDocumentClsNames={printDocument:"wj-printdocument"};export const TooltipClsNames={hostElement:"wj-tooltip"};export const UtilitesClsNames={align:"wj-align",alignVCenter:"wj-align-vcenter",animated:"wj-animated",centerVert:"wj-center-vert",close:"wj-close",hide:"wj-hide",hideOk:"wj-hide-ok",remove:"wj-remove",right:"wj-right",rtl:"wj-rtl",separator:"wj-separator"};export const ForeignClsNames={InputClsNames:{input:"wj-input",inputBtnVisible:"wj-input-btn-visible",inputGroup:"wj-input-group",inputGroupBtn:"wj-input-group-btn"},SelectorClsNames:{columnSelector:"wj-column-selector",columnSelectorGroup:"wj-column-selector-group"}};const _agent="undefined"!=typeof navigator?navigator.userAgent:"";export function isMobile(){const e=_agent.toLowerCase(),t=["android","webos","iphone","ipad","ipod","blackberry","windows phone","mobile","mobi","tablet"].some(t=>e.includes(t)),i="ontouchstart"in window||navigator.maxTouchPoints>0;return t||i}const _isiOS=null!=_agent.match(/iPad|iPhone|iPod/i);export function isiOS(){return _isiOS}const _isFF=null!=_agent.match(/Firefox\//);export function isFirefox(){return _isFF}const _isSafari=null!=_agent.match(/^((?!Chrome|Android).)*safari/i);export function isSafari(){return _isSafari}const _isEdge=null!=_agent.match(/Edge\/|Edg\//);export function isEdge(){return _isEdge}const _isIE=null!=_agent.match(/MSIE |Trident\/|Edge\//);export function isIE(){return _isIE}let _isIE9=!1;export function isIE9(){return _isIE9}let _isIE10=!1;export function isIE10(){return _isIE10}let _isChromiumBased=null;export function isChromiumBased(){if(null!=_isChromiumBased)return _isChromiumBased;{_isChromiumBased=!1;const e="undefined"!=typeof navigator?navigator.userAgentData:null;if(e&&e.brands)for(let t of e.brands)if("Chromium"==t.brand){_isChromiumBased=!0;break}return _isChromiumBased}}let _supportsPassive=!1;"undefined"!=typeof document&&document.addEventListener("test",e=>{},{get passive(){_supportsPassive=!0;return!0}});export function getEventOptions(e,t){return _supportsPassive?{capture:e,passive:t}:e}var _supportsFocusOptions=!1;"undefined"!=typeof document&&document.createElement("div").focus({get preventScroll(){_supportsFocusOptions=!0;return!0}});export function supportsFocusOptions(){return _supportsFocusOptions}export function _startDrag(e,t){e.effectAllowed=t;isFirefox()&&e.setData("text","")}if("undefined"!=typeof document&&document.doctype){navigator.appVersion.indexOf("MSIE 10")>-1&&(_isIE10=!0);if(navigator.appVersion.indexOf("MSIE 9")>-1){_isIE9=!0;document.addEventListener("mousemove",e=>{if(1==e.which){let t=closest(e.target,`.${ControlClsNames.hostElement}`);if(t&&!t.style.cursor)for(let t=e.target;t;t=t.parentElement)if(t.attributes&&t.attributes.draggable){t.dragDrop();return!1}}})}}if("undefined"!=typeof window){let e="requestAnimationFrame",t="cancelAnimationFrame";if(!window[e]){let i=0;window[e]=e=>{let t=Date.now(),s=16-(t-i),n=s>0?s:0;i=t+n;return setTimeout(()=>{e(i)},n)};window[t]=clearTimeout}if(!window.atob){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t=new RegExp("[^"+e+"]");window.atob=i=>{let s,n,r,o,l=[],a=0,h=i.length;if(t.test(i)||/=/.test(i)&&(/=[^=]/.test(i)||/={3}/.test(i)))throw new Error("Invalid base64 data");h%4>0&&(h=(i+=Array(4-h%4+1).join("=")).length);for(;a<h;){for(n=[],o=a;a<o+4;)n.push(e.indexOf(i.charAt(a++)));r=[((s=(n[0]<<18)+(n[1]<<12)+((63&n[2])<<6)+(63&n[3]))&255<<16)>>16,64===n[2]?-1:(65280&s)>>8,64===n[3]?-1:255&s];for(o=0;o<3;++o)(r[o]>=0||0===o)&&l.push(String.fromCharCode(r[o]))}return l.join("")};window.btoa=t=>{let i,s,n=[],r=0,o=t.length;for(;r<o;){i=((s=[t.charCodeAt(r++),t.charCodeAt(r++),t.charCodeAt(r++)])[0]<<16)+((s[1]||0)<<8)+(s[2]||0);n.push(e.charAt((i&63<<18)>>18),e.charAt((258048&i)>>12),e.charAt(isNaN(s[1])?64:(4032&i)>>6),e.charAt(isNaN(s[2])?64:63&i))}return n.join("")}}}export class _FocusService{constructor(){this._hasDoc="undefined"!=typeof Document;this._ae=this._nativeAe();let e=window,t=this._onBlur.bind(this),i=this._onFocus.bind(this);e.addEventListener("focusout",t,!0);e.addEventListener("focusin",i,!0);if(!isIE()){e.addEventListener("blur",t,!0);e.addEventListener("focus",i,!0)}}get activeElement(){let e=this._ae,t=this._nativeAe();e===_FocusService._noAe?e=this._ae=t:e!=t&&(this._isSpecialRoot(e)||document.body.contains(e)||(e=this._ae=t));return e!==_FocusService._noAe?e:null}_onBlur(e){if(e.isTrusted){let t=e.relatedTarget;this._ae=this._isSpecialRoot(t)?this._nativeAe():t}}_onFocus(e){e.isTrusted&&(this._ae=this._nativeAe())}_isSpecialRoot(e){return null==e||e===document.body||this._hasDoc&&e instanceof Document}_nativeAe(){let e;try{e="unknown"!=typeof document.activeElement?document.activeElement:_FocusService._noAe}catch(t){e=_FocusService._noAe}return e}dispose(){if(!isIE()){window.removeEventListener("blur",this._onBlur,!0);window.removeEventListener("focus",this._onFocus,!0)}window.removeEventListener("focusout",this._onBlur,!0);window.removeEventListener("focusin",this._onFocus,!0)}}_FocusService._noAe={};const _getProxyTarget="undefined"!=typeof window&&window.Symbol?Symbol("_getProxyTarget"):"\t_get\tProxy\tTarget\t";export function _getCalculatedArray(e,t,i){let s=new WeakMap;if(!i){let t={};if(e.length){let s=e[0];for(let e in s){let i=typeof s[e];t[e]="string"==i?"":"number"==i?0:null}i=t}}return new Proxy(e,{get(e,n){if(n===_getProxyTarget)return e;if("string"==typeof n||"number"==typeof n){if("indexOf"==n)return(t,i)=>{let s=e.indexOf(t,i);s<0&&t&&(t=t[_getProxyTarget])&&(s=e.indexOf(t,i));return s};let r=parseInt(n);if(!isNaN(r)){let n=e[r];if(n&&!n[_getProxyTarget]){let e=s.get(n);if(!e){e=_createItemProxy(n,t,i);s.set(n,e)}n=e}return n}}return Reflect.get(e,n)}})}function _createItemProxy(e,t,i){if(!e[_getProxyTarget]){if(isIE())for(let i in t)e[i]=null;let s={get:(e,s,n)=>{if(s===_getProxyTarget)return e;if("constructor"===s)return()=>Object.assign({},i||{});let r=t[s];if(r)switch(typeof r){case"function":return r(n);case"string":return _eval(r,n)}return e[s]}};if(!isIE()){s.ownKeys=e=>Object.keys(e).concat(Object.keys(t));s.getOwnPropertyDescriptor=(e,i)=>i in t?{enumerable:!0,configurable:!0,writable:!1}:Reflect.getOwnPropertyDescriptor(e,i)}e=new Proxy(e,s)}return e}export function _getTargetObject(e){return(e?e[_getProxyTarget]:null)||e}function _eval(e,t){let i=[t];return new Function(...["$"],"return "+e)(...i)}var _VERSION="5.20252.42";export const _CLS_STATE_DISABLED=ControlStateClsNames.disabled;export function getVersion(){return _VERSION}export function setLicenseKey(e){Control._licKey=e}export var Key;!function(e){e[e.Back=8]="Back";e[e.Tab=9]="Tab";e[e.Enter=13]="Enter";e[e.Escape=27]="Escape";e[e.Space=32]="Space";e[e.PageUp=33]="PageUp";e[e.PageDown=34]="PageDown";e[e.End=35]="End";e[e.Home=36]="Home";e[e.Left=37]="Left";e[e.Up=38]="Up";e[e.Right=39]="Right";e[e.Down=40]="Down";e[e.Delete=46]="Delete";e[e.X=88]="X";e[e.F1=112]="F1";e[e.F2=113]="F2";e[e.F3=114]="F3";e[e.F4=115]="F4";e[e.F5=116]="F5";e[e.F6=117]="F6";e[e.F7=118]="F7";e[e.F8=119]="F8";e[e.F9=120]="F9";e[e.F10=121]="F10";e[e.F11=122]="F11";e[e.F12=123]="F12";e[e.PlusKey=107]="PlusKey";e[e.EqualPlusKey=187]="EqualPlusKey";e[e.MinusKey=109]="MinusKey";e[e.HyphenMinusKey=189]="HyphenMinusKey";e[e.S=83]="S";e[e.P=80]="P";e[e.F=70]="F"}(Key||(Key={}));export var DataType;!function(e){e[e.Object=0]="Object";e[e.String=1]="String";e[e.Number=2]="Number";e[e.Boolean=3]="Boolean";e[e.Date=4]="Date";e[e.Array=5]="Array"}(DataType||(DataType={}));export function tryCast(e,t){return null==e?null:isString(t)?isFunction(e.implementsInterface)&&e.implementsInterface(t)?e:null:e instanceof t?e:null}export function isPrimitive(e){return isString(e)||isNumber(e)||isBoolean(e)||isDate(e)}export function isString(e){return"string"==typeof e}export function isNullOrWhiteSpace(e){return!e||!/\S/.test(e)}export function isNumber(e){return"number"==typeof e}export function isInt(e){return isNumber(e)&&e==Math.round(e)}export function isBoolean(e){return"boolean"==typeof e}export function isFunction(e){return"function"==typeof e}export function isUndefined(e){return void 0===e}export function isNullOrUndefined(e){return null==e}export function isDate(e){return(e instanceof Date||"[object Date]"===Object.prototype.toString.call(e))&&!isNaN(e.getTime())}export function isArray(e){return e instanceof Array||Array.isArray(e)||"[object Array]"===Object.prototype.toString.call(e)}export function _isPlainArray(e){return Array.isArray(e)}export function isObject(e){return null!=e&&"object"==typeof e&&!isDate(e)&&!isArray(e)}export function isEmpty(e){for(var t in e)return!1;return!0}export function _areObjectsEqual(e,t){const i=Object.entries(e),s=Object.entries(t);if(i.length!==s.length)return!1;for(const[e,s]of i)if(!t.hasOwnProperty(e)||t[e]!==s)return!1;return!0}export function getUniqueId(e){let t=e;for(let i=0;null!=document.getElementById(t);i++)t=e+i;return t}export function getSafeUniqueId(e,t="wj",i){let s=e;(s=(s=(s=s.trim().toLowerCase()).replace(/[^a-z0-9_-]+/g,"-")).replace(/-+/g,"-").replace(/^-|-$/g,""))?/^[a-z]/.test(s)&&!i||(s=`${t}-${s}`):s=`${t}-${Date.now()}`;for(let e=0;null!=document.getElementById(s);e++)s+=e;return s}export function uidGenerator(){for(var e="",t="0123456789abcdef".split(""),i=0;i<32;i++){var s=Math.floor(16*Math.random());switch(i){case 8:e+="-";break;case 12:s=4;e+="-";break;case 16:s=3&s|8;e+="-";break;case 20:e+="-"}e+=t[s]}return e}export function mouseToPage(e){if(e instanceof Point)return e;e&&e.touches&&e.touches.length>0&&(e=e.touches[0]);if(isNumber(e.clientX)&&isNumber(e.clientY))return new Point(e.clientX+pageXOffset,e.clientY+pageYOffset);throw"Mouse or touch event expected."}export function getType(e){return isNumber(e)?DataType.Number:isBoolean(e)?DataType.Boolean:isDate(e)?DataType.Date:isString(e)?DataType.String:isArray(e)?DataType.Array:DataType.Object}export function getTypes(e,t=1e3){if(!e)return[];const i=e.length;(t<=0||i<t)&&(t=i);const s=[];if(t){const i=Object.keys(e[0]),n={},r=[...i];for(let i=0;i<t;i++){const t=e[i];for(let s=r.length-1;s>=0;s--){const o=r[s],l=t[o];if(isPrimitive(l)){let t=Object.getOwnPropertyDescriptor(e[i],o);n[o]={binding:o,dataType:getType(l),isReadOnly:t&&!t.writable&&!t.set};r.splice(s,1)}}if(!r.length)break}for(let e=0;e<i.length;e++){const t=n[i[e]];t&&s.push(t)}}return s}export function changeType(e,t,i,s){if(null!=e){let n=DataType;if(isString(e))switch(t){case n.Number:let t=Globalize.parseFloat(e,i);return isNaN(t)?e:t;case n.Date:let r=Globalize.parseDate(e,i,isDate(s)?s:null);r||i||!e||(r=new Date(e));return r&&isFinite(r.getTime())?r:e;case n.Boolean:switch(e.toLowerCase()){case"true":return!0;case"false":return!1}return e;case n.Array:try{let t=e.split(",").map(e=>(e=e.trim()).match(/^(\+|\-)?\d+\.?\d*$/)?e:'"'+e+'"');return JSON.parse("["+t.join(",")+"]")}catch(e){}}if(t==DataType.String)return Globalize.format(e,i)}return e}export function toFixed(e,t,i){if(i){let i=e.toString(),s=i.indexOf("e"),n=i.indexOf(".");if(s>-1){if("-"===i[s+1]){let r=parseFloat(i.substr(s+2)),o=i.substr(0,s);n>-1&&(o=o.substr(0,n)+o.substr(n+1));i="0."+(Array(r).join("0")+o).substr(0,t);e=parseFloat(i)}}else if(n>-1){i=i.substr(0,n+1+t);e=parseFloat(i)}}else{let i=Math.pow(10,t);e=Math.round(e*i)/i}return e}export function format(e,t,i){if((e=asString(e)).match(/\{.*"count".*:.*"when".*:.*\}/))try{let i=JSON.parse(e);if(isString(i.count)){let s=t[i.count],n=i.when;if(isNumber(s)&&isObject(n)){let t=n[s]||n.other;isString(t)&&(e=t)}}}catch(e){}return e.replace(/\{(.*?)(:(.*?))?\}/g,(e,s,n,r)=>{let o=e;if(s&&"{"!=s[0]&&t){o=new Binding(s).getValue(t);r&&(o=Globalize.format(o,r));i&&(o=i(t,s,r,o))}return null==o?"":o})}export function glbz(...e){let t=[],i=-1;e[0].forEach((s,n)=>{if(n>0&&n!=i){let r=e[n],o=s.match(/^:([a-z][0-9]*\b)/i)||s.match(/^:'(.+?)'/)||s.match(/^:"(.+?)"/);if(o){r=Globalize.format(r,o[1]);s=s.substr(o[0].length)}else if(":"==s&&n<e.length-1&&(isNumber(r)||isDate(r))){r=Globalize.format(r,e[n+1]);s="";i=n+1}t.push(r)}s&&t.push(s)});return t.join("")}export function evalTemplate(e,t){if(isIE()){let i=/:\${([^}]*)}/g,s=/\${([^}]*)}(:(([A-Za-z]\d*)|"([^"]+)"|'([^']+)'))?/g;return(e=e.replace(i,(e,i)=>":"+_evalExpression(i,t))).replace(s,(e,i,s,n,r,o,l)=>{let a=_evalExpression(i,t);return n?Globalize.format(a,r||o||l):a})}return _evalExpression(e,t)}function _evalExpression(e,t){(t=t||{}).glbz=glbz;const i=parseTpl(e,t);return isIE()?i:glbz`${i}`}function get(e,t,i=`\${${e}}`){return e.split(".").reduce((e,t)=>null!=e&&null!=e[t]?e[t]:i,t)}function parseTpl(e,t,i){return e.replace(/\$\{.+?}/g,e=>{return get(e.substr(2,e.length-3).trim(),t,i)})}export function clamp(e,t,i){if(null!=e){null!=i&&e>i&&(e=i);null!=t&&e<t&&(e=t)}return e}export function copy(e,t,i=!0,s=!1){if(t)for(let n in t)if("_"!=n[0]){assert(n in e,'Unknown property "'+n+'".');let r=t[n];if(!e._copy||!e._copy(n,r)){const t=e[n];e[n]instanceof Event?isFunction(r)&&e[n].addHandler(r):!i||!isObject(r)||"undefined"!=typeof Element&&r instanceof Element||!t||!isObject(t)||Object.getPrototypeOf(t).constructor==Object.prototype.constructor&&isWritable(e,n)||"itemsSource"==n?s&&isObject(r)&&Object.getPrototypeOf(r).isPrototypeOf(Object)&&isObject(t)&&!Object.getPrototypeOf(t).isPrototypeOf(Object)?copy(t,r):e[n]=r:copy(t,r)}}return e}export function _isPlainObject(e){return isObject(e)&&Object.getPrototypeOf(e).isPrototypeOf(Object)}export function isWritable(e,t){const i=Object.getOwnPropertyDescriptor(e,t)||Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),t)||{};return!!i.writable||isFunction(i.set)}export function deepClone(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e)){return e.map(e=>deepClone(e))}const t={};for(const i in e)e.hasOwnProperty(i)&&(t[i]=deepClone(e[i]));return t}export function assert(e,t,i=!0){if(!e){t="** Assertion failed in Wijmo: "+t;let e=new Error;isString(e.stack)&&i&&(t+=" "+e.stack);throw t}}export function _deprecated(e,t){console.error('** WARNING: "'+e+'" has been deprecated; please use "'+t+'" instead.')}export function _warning(e){console.error('** WARNING: "'+e)}export function asString(e,t=!0){isUndefined(e)&&(e=null);assert(t&&null==e||isString(e),"String expected.");return e}export function asNumber(e,t=!1,i=!1){assert(t&&null==e||isNumber(e),"Number expected.");if(i&&e&&e<0)throw"Positive number expected.";return e}export function asInt(e,t=!1,i=!1){assert(t&&null==e||isInt(e),"Integer expected.");if(i&&e&&e<0)throw"Positive integer expected.";return e}export function asBoolean(e,t=!1){assert(t&&null==e||isBoolean(e),"Boolean expected.");return e}export function asDate(e,t=!1){if(isString(e)){let t=changeType(e,DataType.Date,"r");isDate(t)&&(e=t)}assert(t&&null==e||isDate(e),"Date expected.");return e}export function asFunction(e,t=!0){assert(t&&null==e||isFunction(e),"Function expected.");return e}export function asArray(e,t=!0){assert(t&&null==e||isArray(e),"Array expected.");return e}export function asType(e,t,i=!1){e=tryCast(e,t);assert(i||null!=e,t+" expected.");return e}export function asEnum(e,t,i=!1){if(null==e&&i)return null;let s=isString(e)?t[e]:e;assert(null!=s,'Invalid enum value: "'+e+'"');return isNumber(s)?s:e}export function asCollectionView(e,t=!0){if(null==e&&t)return null;let i=tryCast(e,"ICollectionView");if(null!=i)return i;isArray(e)||assert(!1,"Array or ICollectionView expected.");return new CollectionView(e)}export function hasItems(e){return null!=e&&null!=e.items&&e.items.length>0}export function toHeaderCase(e){return e&&e.length?e[0].toUpperCase()+e.substr(1).replace(/([a-z])([A-Z])/g,"$1 $2"):""}export function escapeHtml(e){e&&isString(e)&&(e=e.replace(/[&<>]/g,e=>_ENTITYMAP[e]));return null!=e?e.toString():""}const _ENTITYMAP={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"},_specialCharsRegex=/"(.*?)"|[^\w]|_/g;export function getSpecialCharsRegex(){return _specialCharsRegex}export function escapeRegExp(e){return e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}export function toPlainText(e){let t=asString(e);if(isString(t)&&t.indexOf("<")>-1){_plainText||(_plainText=document.createElement("div"));_plainText.innerHTML=t;t=_plainText.textContent}return t}var _plainText;export function hasClass(e,t){if(e&&t){if(e instanceof HTMLElement&&e.classList&&!isIE9())return e.classList.contains(t);if(e.getAttribute){let i=new RegExp("(\\s|^)"+t+"(\\s|$)");return e&&i.test(e.getAttribute("class"))}}return!1}export function addClass(e,t=""){if(e&&t){let i=t.trim();if(e instanceof HTMLElement&&e.classList&&!isIE9()){i.indexOf(" ")<0?e.classList.add(i):i.split(" ").forEach(t=>{t.length>0&&e.classList.add(t)});return}e.setAttribute&&i.split(" ").forEach(t=>{if(t.length>0&&!hasClass(e,t)){let i=e.getAttribute("class");e.setAttribute("class",i?i+" "+t:t)}})}}export function removeClass(e,t){if(e&&t){let i=t.trim();if(e instanceof HTMLElement&&e.classList&&!isIE9()){i.indexOf(" ")<0?e.classList.remove(i):i.split(" ").forEach(t=>{t.length>0&&e.classList.remove(t)});0===e.classList.length&&e.removeAttribute("class");return}e.setAttribute&&i.split(" ").forEach(t=>{if(hasClass(e,t)){let i=new RegExp("((\\s|^)"+t+"(\\s|$))","g"),s=e.getAttribute("class");(s=s.replace(i," ").replace(/ +/g," ").trim())?e.setAttribute("class",s):e.removeAttribute("class")}})}}export function toggleClass(e,t,i){null==i&&(i=!hasClass(e,t));i?addClass(e,t):removeClass(e,t)}export function setAttribute(e,t,i,s){e&&(null!=i?s&&e.getAttribute(t)||e.setAttribute(t,i.toString()):e.removeAttribute(t))}export function setChecked(e,t){let i=null==t;e.checked=isIE()?t||i:t;e.indeterminate=i}export function setAriaLabel(e,t){setAttribute(e,"aria-label",t)}export function setSelectionRange(e,t,i=t,s=!0){assert(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement,"INPUT or TEXTAREA element expected");if(contains(document.body,e)&&!e.disabled&&e.offsetHeight){try{e.setSelectionRange(t,i,"backward")}catch(e){}if(s)try{e.focus();return!0}catch(e){}}return!1}export function disableAutoComplete(e){let t="autocomplete",i=e.getAttribute(t);i&&"on"!=i||e.setAttribute(t,"off");"autocorrect,autocapitalize,spellcheck".split(",").forEach(t=>{e.setAttribute(t,"spellcheck"==t?"false":"off")})}export function removeChild(e){return e&&e.parentNode?e.parentNode.removeChild(e):null}export function getActiveElement(){let e=document.activeElement;if(e){let t=e.shadowRoot;t&&t.activeElement&&(e=t.activeElement)}return e}export function _getActiveElement(e){let t=e;if(t){let e=t.shadowRoot;e&&e.activeElement&&(t=e.activeElement)}return t}export function moveFocus(e,t){let i=_getFocusableElements(e,t<0),s=0;if(t){let e=i.indexOf(getActiveElement());e>-1&&(s=(e+t+i.length)%i.length)}if(s<i.length){let e=i[s];e.focus();e instanceof HTMLInputElement&&e.select();return!0}return!1}export function _getFocusableElements(e,t=!1){let i=[],s=Array.prototype.slice.call(e.querySelectorAll("input,select,textarea,button,a,div,label,[tabindex]")),n={};s=s.filter(e=>-1!==e.tabIndex);const isRb=e=>e instanceof HTMLInputElement&&"radio"===e.type;s.forEach(e=>{isRb(e)&&e.checked&&(n[e.name||""]=!0)});(s=s.filter(e=>!isRb(e)||e.checked||!n[e.name||""])).sort((e,t)=>e.tabIndex===t.tabIndex?0:0===e.tabIndex?1:0===t.tabIndex?-1:e.tabIndex-t.tabIndex);for(let e=0;e<s.length;e++){let n=s[e];if(n.offsetHeight>0&&n.tabIndex>-1&&!n.disabled&&"hidden"!==window.getComputedStyle(n).visibility&&!closest(n,`[disabled],.${ControlStateClsNames.disabled}`)){if(n instanceof HTMLAnchorElement&&!n.hasAttribute("href"))continue;if(isIE()&&!n.hasAttribute("tabindex")){if(n instanceof HTMLDivElement)continue;let e=Control.getControl(closest(n,".wj-flexgrid"));if(e&&0==e.keyActionTab)continue}if("radio"===n.type&&!n.checked&&i.length>0){let e=i[i.length-1],s=getActiveElement();if("radio"===e.type&&e.name===n.name){t&&e!=s&&(i[i.length-1]=n);continue}}(Control.getControl(n)||!_getFocusableElements(n).length||n.classList.contains("wj-detail"))&&i.push(n)}}return i}export function saveFile(e,t,i="text/plain"){let s=e instanceof Blob;s||!i.match(/\bcsv\b/i)&&!t.match(/\.csv$/i)||(e="\ufeff"+e);let n=s?e:new Blob([e],{type:i});const r=navigator;if(isFunction(r.msSaveOrOpenBlob))r.msSaveOrOpenBlob(n,t);else{var o=document.createElement("a"),click=e=>{let t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null);e.dispatchEvent(t)};if("download"in o){let e=window.URL||window.webkitURL,i=e.createObjectURL(n);o.href=i;o.target="_blank";o.download=t;click(o);o=null;window.setTimeout(()=>{e.revokeObjectURL(i)},3e4)}else{let e=new FileReader;e.onloadend=()=>{o.href=e.result;o.download=t;click(o);o=null};e.readAsDataURL(n)}}}export function getElement(e){if(e instanceof Element||e&&e.appendChild&&e.appendChild instanceof Function)return e;if(isString(e))try{return document.querySelector(e)}catch(e){}return e&&e.jquery?e[0]:null}function processStyleProperty(e){let t=(e=e.replace(";base64,","_wj_")).split(";"),i=[];t.forEach(e=>{let t=[];e.indexOf("_wj_")>-1?2==(t=(e=e.replace("_wj_",";base64,").replace("data:image","_wjimg_")).split(":")).length&&(t[1]=t[1].replace("_wjimg_","data:image")):t=e.split(":");i.push(t)});return i}export function createElement(e,t,i){e=e.replace(/\bstyle\s*=\s*"/g,'_wj-style="');let s=document.createElement("div");s.innerHTML=e;if(e.indexOf("_wj-style")>-1){const e=s.querySelectorAll("[_wj-style]");for(let t=0;t<e.length;t++){let i=e[t],s=i.getAttribute("_wj-style"),n=[];if(s.indexOf(";base64,")>-1)n=processStyleProperty(s);else{s.split(";").forEach(e=>{n.push(e.split(":"))})}n.forEach(e=>{2==e.length&&(i.style[e[0].trim()]=e[1].trim())});i.removeAttribute("_wj-style")}}1==s.children.length&&(s=s.children[0]);i&&setCss(s,i);t&&(t=getElement(t)).appendChild(s);return s}export function setText(e,t){e.textContent=t||""}export function contains(e,t,i){for(let s=t;s&&e;){if(s===e)return!0;s=(i?s[Control._OWNR_KEY]:null)||s.parentNode||s.host}return!1}export function closest(e,t){if(e){if(isFunction(e.closest))return e.closest(t);let i=e.matches||e.webkitMatchesSelector||e.msMatchesSelector||e.mozMatchesSelector;if(i)for(;e&&1===e.nodeType;e=e.parentElement||e.parentNode)if(i.call(e,t))return e}return null}export function closestClass(e,t){return closest(e,"."+t)}export function enable(e,t){let i=!t,s="disabled";toggleClass(e,ControlStateClsNames.disabled,i);setAttribute(e,s,i?s:null);let n=e.querySelectorAll("input,button");for(let e=0;e<n.length;e++)setAttribute(n[e],s,i?s:null)}export function getElementRect(e){let t=e.getBoundingClientRect();return new Rect(t.left+pageXOffset,t.top+pageYOffset,t.width,t.height)}export function setCss(e,t){assert(isObject(t),"css parameter should be an object");if(e instanceof Array)for(let i=0;i<e.length;i++)setCss(e[i],t);else if(e&&e.style){let i=e.style;for(let e in t){let s=t[e];"number"==typeof s&&e.match(/width|height|left|top|right|bottom|size|padding|margin'/i)&&(s+="px");i[e]!==s&&(i[e]=s)}}}export function animate(e,t,i){null==t&&(t=Control._ANIM_DEF_DURATION);null==i&&(i=Control._ANIM_DEF_STEP);e=asFunction(e);t=asNumber(t,!1,!0);i=asNumber(i,!1,!0);let s,n=Date.now(),r=setInterval(()=>{let i=Math.min(1,(Date.now()-n)/t);i=Math.sin(i*Math.PI/2);i*=i;s&&cancelAnimationFrame(s);s=requestAnimationFrame(()=>{s=null;e(i)});i>=1&&clearInterval(r)},i);return r}export class Point{constructor(e=0,t=0){this.x=asNumber(e);this.y=asNumber(t)}equals(e,t=0,i=0){return e instanceof Point&&Math.abs(this.x-e.x)<=t&&Math.abs(this.y-e.y)<=i}clone(){return new Point(this.x,this.y)}}export class Size{constructor(e=0,t=0){this.width=asNumber(e);this.height=asNumber(t)}equals(e){return e instanceof Size&&this.width==e.width&&this.height==e.height}clone(){return new Size(this.width,this.height)}}export class Rect{constructor(e,t,i,s){this.left=asNumber(e);this.top=asNumber(t);this.width=asNumber(i);this.height=asNumber(s)}get right(){return this.left+this.width}get bottom(){return this.top+this.height}equals(e){return e instanceof Rect&&this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height}clone(){return new Rect(this.left,this.top,this.width,this.height)}static fromBoundingRect(e){if(null!=e.left)return new Rect(e.left,e.top,e.width,e.height);if(null!=e.x)return new Rect(e.x,e.y,e.width,e.height);assert(!1,"Invalid source rectangle.")}static union(e,t){let i=Math.min(e.left,t.left),s=Math.min(e.top,t.top),n=Math.max(e.right,t.right),r=Math.max(e.bottom,t.bottom);return new Rect(i,s,n-i,r-s)}static intersection(e,t){let i=Math.max(e.left,t.left),s=Math.max(e.top,t.top),n=Math.min(e.right,t.right),r=Math.min(e.bottom,t.bottom);return new Rect(i,s,n-i,r-s)}contains(e){if(e instanceof Point)return e.x>=this.left&&e.x<=this.right&&e.y>=this.top&&e.y<=this.bottom;if(e instanceof Rect){let t=e;return t.left>=this.left&&t.right<=this.right&&t.top>=this.top&&t.bottom<=this.bottom}assert(!1,"Point or Rect expected.")}inflate(e,t,i,s){return null!=i&&null!=s?new Rect(this.left-e,this.top-t,this.width+e+i,this.height+t+s):new Rect(this.left-e,this.top-t,this.width+2*e,this.height+2*t)}}export class DateTime{static addDays(e,t){(e=new Date(e.getTime())).setDate(e.getDate()+t);return e}static addMonths(e,t){var i=(e=new Date(e.getTime())).getDate();e.setMonth(e.getMonth()+t);e.getDate()!=i&&e.setDate(0);return e}static addYears(e,t){(e=new Date(e.getTime())).setFullYear(e.getFullYear()+t);return e}static addHours(e,t){(e=new Date(e.getTime())).setHours(e.getHours()+t);return e}static addMinutes(e,t){(e=new Date(e.getTime())).setMinutes(e.getMinutes()+t);return e}static addSeconds(e,t){(e=new Date(e.getTime())).setSeconds(e.getSeconds()+t);return e}static weekFirst(e,t=Globalize.getFirstDayOfWeek()){return DateTime.addDays(e,-(e.getDay()-t))}static weekLast(e,t=Globalize.getFirstDayOfWeek()){e=DateTime.weekFirst(e,t);return DateTime.addDays(e,6)}static monthFirst(e){return DateTime.addDays(e,1-e.getDate())}static monthLast(e){e=DateTime.monthFirst(e);e=DateTime.addMonths(e,1);return DateTime.addDays(e,-1)}static yearFirst(e){return new Date(e.getFullYear(),0,1)}static yearLast(e){return new Date(e.getFullYear(),11,31)}static sameDate(e,t){return isDate(e)&&isDate(t)&&e.getFullYear()==t.getFullYear()&&e.getMonth()==t.getMonth()&&e.getDate()==t.getDate()}static sameTime(e,t){return isDate(e)&&isDate(t)&&e.getHours()==t.getHours()&&e.getMinutes()==t.getMinutes()&&e.getSeconds()==t.getSeconds()&&e.getMilliseconds()==t.getMilliseconds()}static equals(e,t){return null==e&&null==t||isDate(e)&&isDate(t)&&e.getTime()==t.getTime()}static fromDateTime(e,t){if(!e&&!t)return null;e||(e=t);t||(t=e);return DateTime.newDate(e.getFullYear(),e.getMonth(),e.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}static toFiscal(e,t){let i=culture.Globalize.calendar;return isArray(i.fiscalYearOffsets)?DateTime.addMonths(e,-i.fiscalYearOffsets[t?0:1]):e}static fromFiscal(e,t){let i=culture.Globalize.calendar;return isArray(i.fiscalYearOffsets)?DateTime.addMonths(e,+i.fiscalYearOffsets[t?0:1]):e}static newDate(e,t,i,s,n,r,o){if(null==e||null==t||null==i){let s=new Date;null==e&&(e=s.getFullYear());null==t&&(t=s.getMonth());null==i&&(i=s.getDate())}null==s&&(s=0);null==n&&(n=0);null==r&&(r=0);null==o&&(o=0);let l=new Date(e,t,i,s,n,r,o),a=l.getFullYear();e<100&&a>=1900&&l.setFullYear(l.getFullYear()-1900);return l}static clone(e){return DateTime.fromDateTime(e,e)}}export function httpRequest(e,t){let i=t||{},s=i.method?asString(i.method).toUpperCase():"GET",n=null==i.async||asBoolean(i.async),r=i.data;if(null!=r&&"GET"==s){let t=[];for(let e in r){let i=r[e];isDate(i)&&(i=i.toJSON());t.push(e+"="+encodeURIComponent(i))}if(t.length){let i=e.indexOf("?")<0?"?":"&";e+=i+t.join("&")}r=null}let o=new XMLHttpRequest;o.URL_DEBUG=e;let l=!1;if(null!=r&&!isString(r)){l=isObject(r);r=JSON.stringify(r)}o.onload=function(){if(4==o.readyState){o.status<300?i.success&&asFunction(i.success)(o):i.error&&asFunction(i.error)(o);i.complete&&asFunction(i.complete)(o)}};o.onerror=function(){if(!isFunction(i.error))throw"HttpRequest Error: "+o.status+" "+o.statusText;i.error(o)};o.open(s,e,n,i.user,i.password);i.user&&i.password&&o.setRequestHeader("Authorization","Basic "+btoa(i.user+":"+i.password));l&&(()=>{for(let e in i.requestHeaders)if("content-type"===e.toLowerCase())return!1;return!0})()&&o.setRequestHeader("Content-Type","application/json");if(i.requestHeaders)for(let e in i.requestHeaders)o.setRequestHeader(e,i.requestHeaders[e]);isNumber(i.timeout)&&(o.timeout=i.timeout);isFunction(i.beforeSend)&&i.beforeSend(o);o.send(r);return o}let _modules={};export function _registerModule(e,t){_modules[e]=t;if("wijmo"===e){let e="undefined"!=typeof window?window:"undefined"!=typeof self?self:null;e&&(e.wijmo=t)}}export function _getModule(e){return _modules[e]}export function focusFirst(e,t){const i=e.querySelectorAll(t||'button, [href], input, [tabindex]:not([tabindex="-1"])'),s=Array.from(i).filter(e=>e.offsetWidth>0&&e.offsetHeight>0&&!e.hasAttribute("disabled")&&e.tabIndex>=0);if(s.length>0){s[0].focus();return!0}return!1}export const cellCoordinateParserRegex=new RegExp(/(\'?\w+\'?\!)?(\$?[A-Za-z]+)(\$?\d+)/,"g");export function getScrollableParent(e){const t=document.scrollingElement;let i="absolute"==getComputedStyle(e).position?e.offsetParent:e.parentElement;for(;i&&i!=t;){if(i.clientHeight!=i.scrollHeight)return i;e=i="absolute"==getComputedStyle(i).position?i.offsetParent:i.parentElement}return t}export function getOffsetFromAncestor(e,t){let i=0,s=0,n=0,r=0;for(;e;){s+=e.offsetLeft;i+=e.offsetTop;e=e.offsetParent}for(;t;){r+=t.offsetLeft;n+=t.offsetTop;t=t.offsetParent}return{top:i-n,left:s-r}}export function _isMacOS(){return-1!==navigator.userAgent.indexOf("Mac")}export function _setAriaLabelBy(e,t,i,s){let n=""===i?null:i;if(n!==e.ariaLabelledBy){e._ariaLabelledby=n;setAttribute(t,"aria-labelledby",n);s&&s()}}export function deepElementFromPoint(e,t){let i=document.elementFromPoint(e,t);for(;i&&i.shadowRoot;){const s=i.shadowRoot.elementFromPoint(e,t);if(!s||s===i)break;i=s}return i}export function roundTo(e,t){const i=Math.pow(10,t);return Math.round(e*i)/i}export function addAttributeValueToElement(e,t,i){const s=e.getAttribute(t);if(s){if(!s.split(/\s+/).includes(i)){setAttribute(e,t,s+" "+i)}}else setAttribute(e,t,i)}export function removeAttributeValueFromElement(e,t,i){const s=e.getAttribute(t);if(!s)return;const n=i.toString(),r=s.split(/\s+/).filter(e=>e!==n);r.length>0?e.setAttribute(t,r.join(" ")):e.removeAttribute(t)}export function replaceItems(e,t){const i=new Map(t.map(e=>[`${e.value}`,e]));return e.map(e=>{const t=`${e.value}`;return i.has(t)?i.get(t):e})}export class _Map{constructor(e=!0){if(e)this._h={};else{let e=_getGlobal(),t=e&&e.Map;this._m=t&&new Map||new _ArrayMap}}get isPojoHash(){return null!=this._h}get size(){return this._h&&Object.keys(this._h).length||this._m.size}clear(){this._h?this._h={}:this._m.clear()}delete(e){this._h?delete this._h[e]:this._m.delete(e)}get(e){return this._h?this._h[e]:this._m.get(e)}has(e){return this._h?e in this._h:this._m.has(e)}set(e,t){this._h?this._h[e]=t:this._m.set(e,t);return this}}class _ArrayMap{constructor(){this._d=[]}get size(){return this._d.length}clear(){this._d=[]}delete(e){let t=this._kIdx(e);if(t>-1){this._d.splice(t,1);return!0}return!1}get(e){let t=this._kIdx(e);return t>-1?this._d[t].v:void 0}has(e){return this._kIdx(e)>-1}set(e,t){let i=this._kIdx(e);i>-1?this._d[i].v=t:this._d.push({k:e,v:t});return this}_kIdx(e){let t=this._d,i=t.length;if(e==e){for(let s=0;s<i;s++)if(t[s].k===e)return s}else for(let e=0;e<i;e++){let i=t[e].k;if(i!=i)return e}return-1}}function _getGlobal(){let e=null;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self);return e}export class Color{constructor(e){this._r=0;this._g=0;this._b=0;this._a=1;e&&this._parse(e)}get r(){return this._r}set r(e){this._r=clamp(asNumber(e),0,255)}get g(){return this._g}set g(e){this._g=clamp(asNumber(e),0,255)}get b(){return this._b}set b(e){this._b=clamp(asNumber(e),0,255)}get a(){return this._a}set a(e){this._a=clamp(asNumber(e),0,1)}equals(e){return e instanceof Color&&this.r==e.r&&this.g==e.g&&this.b==e.b&&this.a==e.a}toString(){let e=Math.round(100*this.a);return e>99?"#"+((1<<24)+(this.r<<16)+(this.g<<8)+this.b).toString(16).slice(1):"rgba("+this.r+","+this.g+","+this.b+","+e/100+")"}static fromRgba(e,t,i,s=1){let n=new Color(null);n.r=Math.round(clamp(asNumber(e),0,255));n.g=Math.round(clamp(asNumber(t),0,255));n.b=Math.round(clamp(asNumber(i),0,255));n.a=clamp(asNumber(s),0,1);return n}static fromHsb(e,t,i,s=1){let n=Color._hsbToRgb(clamp(asNumber(e),0,1),clamp(asNumber(t),0,1),clamp(asNumber(i),0,1));return Color.fromRgba(n[0],n[1],n[2],s)}static fromHsl(e,t,i,s=1){let n=Color._hslToRgb(clamp(asNumber(e),0,1),clamp(asNumber(t),0,1),clamp(asNumber(i),0,1));return Color.fromRgba(n[0],n[1],n[2],s)}static fromString(e){let t=new Color(null);return t._parse(asString(e))?t:null}getHsb(){return Color._rgbToHsb(this.r,this.g,this.b)}getHsl(){return Color._rgbToHsl(this.r,this.g,this.b)}static interpolate(e,t,i){i=clamp(asNumber(i),0,1);let s=Color._rgbToHsl(e.r,e.g,e.b),n=Color._rgbToHsl(t.r,t.g,t.b),r=1-i,o=e.a*r+t.a*i,l=[s[0]*r+n[0]*i,s[1]*r+n[1]*i,s[2]*r+n[2]*i],a=Color._hslToRgb(l[0],l[1],l[2]);return Color.fromRgba(a[0],a[1],a[2],o)}static toOpaque(e,t){if(1==(e=isString(e)?Color.fromString(e):asType(e,Color)).a)return e;t=null==t?Color.fromRgba(255,255,255,1):isString(t)?Color.fromString(t):asType(t,Color);let i=e.a,s=1-i;return Color.fromRgba(e.r*i+t.r*s,e.g*i+t.g*s,e.b*i+t.b*s)}_parse(e){if("transparent"==(e=e.toLowerCase())){this._r=this._g=this._b=this._a=0;return!0}if(e&&0!=e.indexOf("#")&&0!=e.indexOf("rgb")&&0!=e.indexOf("hsl")){let t=document.createElement("div");t.style.color=e;let i=t.style.color;if(i==e&&!(i=window.getComputedStyle(t).color)){document.body.appendChild(t);i=window.getComputedStyle(t).color;removeChild(t)}e=i.toLowerCase()}if(0==e.indexOf("#")){if(this._isValidHexColor(e)){if(4==e.length){this.r=parseInt(e[1]+e[1],16);this.g=parseInt(e[2]+e[2],16);this.b=parseInt(e[3]+e[3],16);this.a=1;return!0}if(7==e.length){this.r=parseInt(e.substr(1,2),16);this.g=parseInt(e.substr(3,2),16);this.b=parseInt(e.substr(5,2),16);this.a=1;return!0}}return!1}if(0==e.indexOf("rgb")){let t=e.indexOf("("),i=e.indexOf(")");if(t>-1&&i>-1){let s=e.substr(t+1,i-(t+1)).split(",");if(s.length>2){this.r=parseInt(s[0]);this.g=parseInt(s[1]);this.b=parseInt(s[2]);this.a=s.length>3?parseFloat(s[3]):1;return!0}}}if(0==e.indexOf("hsl")){let t=e.indexOf("("),i=e.indexOf(")");if(t>-1&&i>-1){let s=e.substr(t+1,i-(t+1)).split(",");if(s.length>2){let e=parseInt(s[0])/360,t=parseInt(s[1]),i=parseInt(s[2]);s[1].indexOf("%")>-1&&(t/=100);s[2].indexOf("%")>-1&&(i/=100);let n=Color._hslToRgb(e,t,i);this.r=n[0];this.g=n[1];this.b=n[2];this.a=s.length>3?parseFloat(s[3]):1;return!0}}}return!1}_isValidHexColor(e){return/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/.test(e)}static _hslToRgb(e,t,i){assert(e>=0&&e<=1&&t>=0&&t<=1&&i>=0&&i<=1,"bad HSL values");let s,n,r;if(0==t)s=n=r=i;else{let o=i<.5?i*(1+t):i+t-i*t,l=2*i-o;s=Color._hue2rgb(l,o,e+1/3);n=Color._hue2rgb(l,o,e);r=Color._hue2rgb(l,o,e-1/3)}return[Math.round(255*s),Math.round(255*n),Math.round(255*r)]}static _hue2rgb(e,t,i){i<0&&(i+=1);i>1&&(i-=1);return i<1/6?e+6*(t-e)*i:i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static _rgbToHsl(e,t,i){assert(e>=0&&e<=255&&t>=0&&t<=255&&i>=0&&i<=255,"bad RGB values");e/=255,t/=255,i/=255;let s,n,r=Math.max(e,t,i),o=Math.min(e,t,i),l=(r+o)/2;if(r==o)s=n=0;else{let a=r-o;n=l>.5?a/(2-r-o):a/(r+o);switch(r){case e:s=(t-i)/a+(t<i?6:0);break;case t:s=(i-e)/a+2;break;case i:s=(e-t)/a+4}s/=6}return[s,n,l]}static _rgbToHsb(e,t,i){assert(e>=0&&e<=255&&t>=0&&t<=255&&i>=0&&i<=255,"bad RGB values");let s=Color._rgbToHsl(e,t,i);return Color._hslToHsb(s[0],s[1],s[2])}static _hsbToRgb(e,t,i){let s=Color._hsbToHsl(e,t,i);return Color._hslToRgb(s[0],s[1],s[2])}static _hsbToHsl(e,t,i){assert(e>=0&&e<=1&&t>=0&&t<=1&&i>=0&&i<=1,"bad HSB values");let s=clamp(i*(2-t)/2,0,1),n=1-Math.abs(2*s-1),r=clamp(n>0?i*t/n:t,0,1);assert(!isNaN(s)&&!isNaN(r),"bad conversion to HSL");return[e,r,s]}static _hslToHsb(e,t,i){assert(e>=0&&e<=1&&t>=0&&t<=1&&i>=0&&i<=1,"bad HSL values");let s=clamp(1==i?1:(2*i+t*(1-Math.abs(2*i-1)))/2,0,1),n=clamp(s>0?2*(s-i)/s:t,0,1);assert(!isNaN(s)&&!isNaN(n),"bad conversion to HSB");return[e,n,s]}}export var culture="undefined"!=typeof window&&window.wijmo&&window.wijmo.culture||{Globalize:{numberFormat:{".":".",",":",","-":"-","+":"+","%":"%",percent:{pattern:["-n%","n%"]},currency:{decimals:2,symbol:"$",pattern:["($n)","$n"]}},calendar:{"/":"/",":":":",firstDay:0,days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],am:["AM","A"],pm:["PM","P"],eras:["A.D.","B.C."],patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",t:"h:mm tt",T:"h:mm:ss tt",M:"MMMM d",m:"MMMM d",Y:"MMMM, yyyy",y:"MMMM, yyyy",g:"M/d/yyyy h:mm tt",G:"M/d/yyyy h:mm:ss tt",s:'yyyy"-"MM"-"dd"T"HH":"mm":"ss',o:'yyyy"-"MM"-"dd"T"HH":"mm":"ss"."fffffffK',O:'yyyy"-"MM"-"dd"T"HH":"mm":"ss"."fffffffK',U:"dddd, MMMM dd, yyyy h:mm:ss tt"},fiscalYearOffsets:[-3,-3]}}};export class Globalize{static format(e,t,i,s,n){if(isString(e))return e;if(isNumber(e)){t=t||(e==Math.round(e)?"n0":"n2");return Globalize.formatNumber(e,t,i,s,n)}if(isDate(e)){t=t||"d";return Globalize.formatDate(e,t)}return null!=e?e.toString():""}static formatNumber(e,t,i,s,n){e=asNumber(e);t=asString(t);let r,o=culture.Globalize.numberFormat,l=Globalize._parseNumericFormat(t),a=l.spec,h=l.prec,u=o["."]||".",c=o[","]||",",d=o["-"]||"-",p=Math;null==h&&(h=null!=n?n:"c"==a?o.currency.decimals:"e"==a?6:"r"==a?15:e==p.round(e)?0:2);l.scale&&(e/=p.pow(10,l.scale));if("d"==a||"x"==a){r=(s?p.floor:p.round)(p.abs(e)).toString("d"==a?10:16);for(;r.length<h;)r="0"+r;e<0&&(r=d+r);return"X"==l.specRaw?r.toUpperCase():r}s&&"p"!=a&&"e"!=a&&(e=toFixed(e,h,!0));switch(a){case"e":r=e.toExponential(h);"E"==l.specRaw&&(r=r.replace("e","E"));break;case"c":r=Globalize._toFixedStr(p.abs(e),h);break;case"p":e=Globalize._shiftDecimal(e,2,14);s&&(e=toFixed(e,h,s));r=Globalize._toFixedStr(p.abs(e),h);break;default:"-"!=(r=Globalize._toFixedStr(e,h))[0]||r.match(/[1-9]/)||(r=r.substr(1))}(i||"g"==a||"r"==a)&&r.indexOf(".")>-1&&(r=r.replace(/(\.\d*?)0+$/g,"$1").replace(/\.$/,""));"."!=u&&(r=r.replace(".",u));"-"!=d&&(r=r.replace("-",d));if(c&&("n"==a||"c"==a||"p"==l.specRaw||"F"==l.specRaw||"G"==l.specRaw)){let e=r.indexOf(u),t=/\B(?=(\d\d\d)+(?!\d))/g;r=e>-1?r.substr(0,e).replace(t,c)+r.substr(e):r.replace(t,c)}if("c"==a){let t=e<0&&r.match(/[1-9]/)?0:1,i=o.currency.pattern[t],s=l.curr||o.currency.symbol;"​"==s&&(s="");r=i.replace("n",r).replace("$",s)}if("p"==a){let t=e<0&&r.match(/[1-9]/)?0:1,i=o.percent.pattern[t],s=o["%"]||"%";r=i.replace("n",r);"%"!=s&&(r=r.replace("%",s));"-"!=d&&0==t&&(r=r.replace("-",d))}return l.prefix||l.suffix?l.prefix+r+l.suffix:r}static formatDate(e,t){e=asDate(e);switch(t){case"r":case"R":return e.toUTCString();case"u":return e.toISOString().replace(/\.\d{3}/,"")}t=Globalize._expandFormat(t);return Globalize._parseDateFormat(t).map(i=>Globalize._formatDatePart(e,t,i)).join("")}static parseInt(e,t){return Math.round(Globalize.parseFloat(e,t))}static parseFloat(e,t){let i=Globalize._parseNumericFormat(t),s=i.prefix;s&&0==e.indexOf(s)&&(e=e.substring(s.length));let n=i.suffix;if(n){let t=e.lastIndexOf(n);t>-1&&t==e.length-n.length&&(e=e.substring(0,e.length-n.length))}let r=culture.Globalize.numberFormat,o=r["."]||".",l=r[","]||",",a=r["-"]||"-",h=r["%"]||"%",u=i.curr||r.currency.symbol||"$",c=e.indexOf(h)>-1,d=e.indexOf("(")>-1&&e.indexOf(")")>-1,p=0;if("x"==i.spec)p=parseInt(e,16);else{[u,h,"(",")"].forEach(t=>{e=e.replace(t,"")});/\s/.test(l)&&(e=e.replace(/\s+/g,""));let t=(e=e.replace(new RegExp("\\"+l,"g"),"").replace(new RegExp("\\"+a,"g"),"-").replace(/(\+|\-)\s+/g,"$1").replace(o,".").trim()).length;if(!d&&t&&"-"==e[t-1]){d=!0;e=e.substring(0,t-1)}p=/^\s*(\+|\-)?\d*(\.\d*)?(\s*E(\+|\-)?\d+)?\s*$/i.test(e)?parseFloat(e):Number.NaN}if(!isNaN(p)){d=d||p<0;p=Math.abs(p);c&&(p=Globalize._shiftDecimal(p,-2));d&&(p=-p);i.scale&&(p*=Math.pow(10,i.scale))}return p}static parseDate(e,t,i){if(!(e=asString(e)))return null;if("u"==t)return new Date(e);let s;if("R"==t||"r"==t){let t=/((\d+)\-(\d+)\-(\d+))?\s?((\d+):(\d+)(:(\d+))?)?/,i=e.match(t);if(i[1]||i[5]){s=i[1]?new Date(parseInt(i[2]),parseInt(i[3])-1,parseInt(i[4])):new Date;if(i[5]){s.setHours(parseInt(i[6]));s.setMinutes(parseInt(i[7]));s.setSeconds(i[8]?parseInt(i[9]):0)}}else s=new Date(e);return isNaN(s.getTime())?null:s}t=Globalize._expandFormat(t||"d");let n=culture.Globalize.calendar,r=Globalize._CJK,o=new RegExp("(\\"+n["/"]+")|(\\"+n[":"]+")|(\\d+)|(["+r+"\\.]{2,})|(["+r+"]+)","gi"),l=e.match(o),a=Globalize._parseDateFormat(t),h=0;if(!(l&&l.length&&a&&a.length))return null;let u,c,d,p,g,f=-1,_=0,m=1,b=0,C=0,w=0,y=0,v=-1,x=null;if(i=asDate(i,!0)){_=i.getMonth();m=i.getDate();b=i.getHours();C=i.getMinutes();w=i.getSeconds();y=i.getMilliseconds()}for(let e=0;e<a.length&&l;e++){let t=e-h,i=t>-1&&t<l.length?l[t]:"",s=a[e].length;switch(a[e]){case"EEEE":case"EEE":case"EE":case"E":case"eeee":case"eee":case"ee":case"e":g=a[e];case"yyyy":case"yyy":case"yy":case"y":if(s>1&&i.length>s){l[t]=i.substr(s);i=i.substr(0,s);h++}f=parseInt(i);p=4==i.length;break;case"MMMM":case"MMM":d=!0;_=-1;let r=i.toLowerCase(),o="MMMM"==a[e]?n.months:n.monthsAbbr;for(let e=0;e<12;e++)if(0==o[e].toLowerCase().indexOf(r)){_=e;break}if(_>-1)break;case"MM":case"M":d=!0;if(s>1&&i.length>s){l[t]=i.substr(s);i=i.substr(0,s);h++}_=parseInt(i)-1;break;case"dddd":case"ddd":u=!0;break;case"dd":case"d":if(s>1&&i.length>s){l[t]=i.substr(s);i=i.substr(0,s);h++}m=parseInt(i);c=!0;break;case"hh":case"h":if(s>1&&i.length>s){l[t]=i.substr(s);i=i.substr(0,s);h++}b=12==(b=parseInt(i))?0:b;break;case"HH":if(s>1&&i.length>s){l[t]=i.substr(s);i=i.substr(0,s);h++}b=parseInt(i);break;case"H":b=parseInt(i);break;case"mm":case"m":if(s>1&&i.length>s){l[t]=i.substr(s);i=i.substr(0,s);h++}C=parseInt(i);break;case"ss":case"s":if(s>1&&i.length>s){l[t]=i.substr(s);i=i.substr(0,s);h++}w=parseInt(i);break;case"fffffff":case"FFFFFFF":case"ffffff":case"FFFFFF":case"fffff":case"FFFFF":case"ffff":case"FFFF":case"fff":case"FFF":case"ff":case"FF":case"f":case"F":y=parseInt(i)/Math.pow(10,s-3);break;case"tt":case"t":i=i.toUpperCase();b<12&&n.pm.indexOf(i)>-1&&(b+=12);break;case"q":case"Q":case"u":case"U":v=parseInt(i);break;case"ggg":case"gg":case"g":case'"г."':x=n.eras.length>1?Globalize._getEra(i,n):n.eras.length>0?n.eras[0]:null;if(n.eras.length>0&&!x)return null;break;case"/":case":":if(i&&i!=n[a[e]])return null;break;case n["/"]:case n[":"]:if(i&&i!=a[e])return null;break;case"K":break;default:Globalize._unquote(a[e]).trim()!=i.trim()&&h++}}if(d&&c){isNaN(b)&&(b=0);isNaN(C)&&(C=0);isNaN(w)&&(w=0)}if(_<0||_>11||isNaN(_)||m<1||m>31||isNaN(m)||b<0||b>=24||isNaN(b)||C<0||C>=60||isNaN(C)||w<0||w>=60||isNaN(w))return null;if(l.length+h>a.length)return null;if(g){if(!d)return null;let e=culture.Globalize.calendar;if(isArray(e.fiscalYearOffsets)){let t="E"==g[0],i=_-e.fiscalYearOffsets[t?0:1];f+=i>11?-1:i<0?1:0}}if(u&&!c)return null;!d&&v>=1&&v<=4&&(_=3*(v-1));if(isNaN(f)||f<0)f=i?i.getFullYear():(new Date).getFullYear();else if(x&&x.start)f=f+x.start.getFullYear()-1;else if(f<100&&!p){let e=isNumber(n.twoDigitYearMax)?n.twoDigitYearMax:2029;e>99&&(f+=f+2e3<=e?2e3:1900)}return(s=DateTime.newDate(f,_,m,b,C+0,w,y)).getMonth()!=_||s.getDate()!=m?null:isNaN(s.getTime())?null:s}static getFullFormat(e){return Globalize._expandFormat(e)}static getFirstDayOfWeek(){let e=culture.Globalize.calendar.firstDay;return e||0}static getNumberDecimalSeparator(){let e=culture.Globalize.numberFormat["."];return e||"."}static _toFixedStr(e,t){let i=e.toString(),s=i.indexOf("."),n=t-(i.length-s)+1,r=i.indexOf("e")>-1;if(!r&&s>-1&&n>=0)return i+Array(n+1).join("0");if(s>-1&&!r&&"5"==i[i.length-1]){e=+(Math.round(+(Math.abs(e)+"e"+t))+"e"+-t)*(e<0?-1:1)}return e.toFixed(t)}static _unquote(e){return e.length>1&&e[0]==e[e.leng