var TcHmi,__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(receiver,state,kind,f){if("a"===kind&&!f)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof state?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===kind?f:"a"===kind?f.call(receiver):f?f.value:state.get(receiver)};!function(TcHmi){!function(Controls){!function(System){var _a,_TcHmiControl_tchmiFQN;
/**
             * Base class for all TwinCAT HMI Controls
             * Check out
             * https://infosys.beckhoff.com/content/1031/te2000_tc3_hmi_engineering/3845361931.html?id=3265481440996758836
             * for an API reference.
             * @preserve (Part of the public API)
             */class TcHmiControl extends TcHmi.Controls.System.baseTcHmiControl{
/**
                 * Constructor of the control
                 * @param element Element from HTML (internal, do not use)
                 * @param pcElement precompiled Element (internal, do not use)
                 * @param attrs Attributes defined in HTML in a special format (internal, do not use)
                 * @preserve (Part of the public API)
                 */
constructor(element,pcElement,attrs){super(element,pcElement,attrs),this.__destroyTriggerAttach=null,this.__destroyTriggerNonAttach=null,this.__resourcesDomEventRegWatchOnMouseRightClick=null,this.__resourcesDomEventRegWatchOnMouseDoubleClick=null,this.__resourcesDomEventRegWatchOnMouseEnter=null,this.__resourcesDomEventRegWatchOnMouseMove=null,this.__resourcesDomEventRegWatchOnMouseOut=null,this.__resourcesDomEventRegWatchOnMouseLeave=null,this.__resourcesDomEventRegWatchOnMouseDown=null,this.__resourcesDomEventRegWatchOnMouseUp=null,this.__resourcesDomEventRegWatchOnMouseOver=null,this.__resourcesDomEventRegWatchOnMouseClick=null,this.__resourcesDomEventRegWatchOnMouseWheel=null,this.__resourcesDomEventRegWatchOnTouchStart=null,this.__resourcesDomEventRegWatchOnTouchMove=null,this.__resourcesDomEventRegWatchOnTouchEnd=null,this.__resourcesDomEventRegWatchOnTouchCancel=null,this.__resourcesEventRegWatchOnPressed=null,this.__resourcesEventRegWatchOnMouseDownLeft=null,this.__resourcesEventRegWatchOnMouseDownRight=null,this.__resourcesEventRegWatchOnMouseUpLeft=null,this.__resourcesEventRegWatchOnMouseUpRight=null,this.__destroyDomEventRegWatchOnMouseRightClick=null,this.__destroyDomEventRegWatchOnMouseDoubleClick=null,this.__destroyDomEventRegWatchOnMouseEnter=null,this.__destroyDomEventRegWatchOnMouseMove=null,this.__destroyDomEventRegWatchOnMouseOut=null,this.__destroyDomEventRegWatchOnMouseLeave=null,this.__destroyDomEventRegWatchOnMouseDown=null,this.__destroyDomEventRegWatchOnMouseUp=null,this.__destroyDomEventRegWatchOnMouseOver=null,this.__destroyDomEventRegWatchOnMouseClick=null,this.__destroyDomEventRegWatchOnMouseWheel=null,this.__destroyDomEventRegWatchOnTouchStart=null,this.__destroyDomEventRegWatchOnTouchMove=null,this.__destroyDomEventRegWatchOnTouchEnd=null,this.__destroyDomEventRegWatchOnTouchCancel=null,this.__destroyEvenRegWatchOnPressed=null,this.__destroyEvenRegWatchOnMouseDownLeft=null,this.__destroyEvenRegWatchOnMouseDownRight=null,this.__destroyEvenRegWatchOnMouseUpLeft=null,this.__destroyEvenRegWatchOnMouseUpRight=null,this.__destroyOnFunctionResultChanged=null,this.__destroyOnPropertyChanged=null,this.__objectResolvers=new Map,this.__intHeight=null,this.__triggerNonAttachList=[],this.__triggerAttachList=[],this.__background={},this.__accessAndEnableState={enabled:void 0,observeDisallowed:!1,operateDisallowed:!1},this.__asyncWorkAnimationFrameId=0,this.__asyncWorkData={"System.TcHmiControl.layoutData":{},"System.TcHmiControl.changedProperties":new Set},this.__renderedSizeCache={left:null,top:null,right:null,bottom:null,width:null,height:null,viewportLeft:null,viewportTop:null},this.__onResolverForClassNamesWatchCallback=data=>{if(!1===this.__isAttached&&this.__suspendObjectResolver("classNames"),data.error!==TcHmi.Errors.NONE)return void(TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=ClassNames] Resolving symbols from object failed with error: "+TcHmi.Log.buildMessage(data.details)));if(!data.value)return;for(let index=0;index<data.value.length;index++)if("string"!=typeof data.value[index])return;if(tchmi_equal(data.value,this.__classNames))return;const valueOld=this.__classNames;this.__classNames=data.value,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"ClassNames"}),TcHmi.EventProvider.raise("System.onControlClassNamesChanged",{control:this,oldClassNames:valueOld,newClassName:data.value}),this.__processClassNames()},this.__onResolverForAccessConfigWatchCallback=data=>{!1===this.__isAttached&&this.__suspendObjectResolver("accessConfig"),data.error===TcHmi.Errors.NONE?data.value&&(tchmi_equal(data.value,this.__accessConfig)||(this.__accessConfig=data.value,TcHmi.EventProvider.raise("System.AccessConfigChanged",this),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"AccessConfig"}),this.__processAccessConfig())):TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=AccessConfig] Resolving symbols from object failed with error: "+TcHmi.Log.buildMessage(data.details))},this.__onResolverForVirtualControlRightMappingsWatchCallback=data=>{!1===this.__isAttached&&this.__suspendObjectResolver("virtualControlRightMappings"),data.error===TcHmi.Errors.NONE?data.value&&(tchmi_equal(data.value,this.__virtualControlRightMappings)||(this.__virtualControlRightMappings=data.value,TcHmi.EventProvider.raise("System.AccessConfigChanged",this),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"VirtualControlRightMappings"}),this.__processVirtualControlRightMappings())):TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=VirtualControlRightMappings] Resolving symbols from object failed with error: "+TcHmi.Log.buildMessage(data.details))},this.__onResolverForTransformWatchCallback=data=>{!1===this.__isAttached&&this.__suspendObjectResolver("transform"),data.error===TcHmi.Errors.NONE?tchmi_equal(data.value,this.__transform)||(this.__transform=data.value,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Transform"}),this.__processTransform()):TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=Transform] Resolving symbols from object failed with error: "+TcHmi.Log.buildMessage(data.details))},this.__onResolverForBackgroundColorWatchCallback=data=>{!1===this.__isAttached&&this.__suspendObjectResolver("backgroundColor"),data.error===TcHmi.Errors.NONE?tchmi_equal(data.value,this.__background.color)||(this.__background.color=data.value,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BackgroundColor"}),this.__processBackgroundColor()):TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=BackgroundColor] Resolving symbols from object failed with error: "+TcHmi.Log.buildMessage(data.details))},this.__onResolverForBackgroundImagePaddingWatchCallback=data=>{!1===this.__isAttached&&this.__suspendObjectResolver("backgroundImagePadding"),data.error===TcHmi.Errors.NONE?tchmi_equal(data.value,this.__background.imagePadding)||(this.__background.imagePadding=data.value,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BackgroundImagePadding"}),this.__processBackgroundImagePadding()):TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=BackgroundImagePadding] Resolving symbols from object failed with error: "+TcHmi.Log.buildMessage(data.details))},this.__onResolverForBorderColorWatchCallback=data=>{!1===this.__isAttached&&this.__suspendObjectResolver("borderColor"),data.error===TcHmi.Errors.NONE?tchmi_equal(data.value,this.__borderColor)||(this.__borderColor=data.value,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BorderColor"}),this.__processBorderColor()):TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=BorderColor] Resolving symbols from object failed with error: "+TcHmi.Log.buildMessage(data.details))},this.__onResolverForBorderWidthWatchCallback=data=>{!1===this.__isAttached&&this.__suspendObjectResolver("borderWidth"),data.error===TcHmi.Errors.NONE?tchmi_equal(data.value,this.__borderWidth)||(this.__borderWidth=data.value,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BorderWidth"}),this.__processBorderWidth(),"Content"===this.getWidthMode()&&this.__processWidth(),"Content"===this.getHeightMode()&&this.__processHeight(),TcHmi.EventProvider.raise(this.__id+".onResized",this)):TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=BorderWidth] Resolving symbols from object failed with error: "+TcHmi.Log.buildMessage(data.details))},this.__onResolverForBorderRadiusWatchCallback=data=>{!1===this.__isAttached&&this.__suspendObjectResolver("borderRadius"),data.error===TcHmi.Errors.NONE?tchmi_equal(data.value,this.__borderRadius)||(this.__borderRadius=data.value,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BorderRadius"}),this.__processBorderRadius()):TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=BorderRadius] Resolving symbols from object failed with error: "+TcHmi.Log.buildMessage(data.details))},this.__onResolverForBorderStyleWatchCallback=data=>{!1===this.__isAttached&&this.__suspendObjectResolver("borderStyle"),data.error===TcHmi.Errors.NONE?tchmi_equal(data.value,this.__borderStyle)||(this.__borderStyle=data.value,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BorderStyle"}),this.__processBorderStyle(),"Content"===this.getWidthMode()&&this.__processWidth(),"Content"===this.getHeightMode()&&this.__processHeight(),TcHmi.EventProvider.raise(this.__id+".onResized",this)):TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=BorderStyle] Resolving symbols from object failed with error: "+TcHmi.Log.buildMessage(data.details))},this.__onResolverForBoxShadowWatchCallback=data=>{!1===this.__isAttached&&this.__suspendObjectResolver("boxShadow"),data.error===TcHmi.Errors.NONE?tchmi_equal(data.value,this.__boxShadow)||(this.__boxShadow=data.value,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BoxShadow"}),this.__processBoxShadow()):TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=BoxShadow] Resolving symbols from object failed with error: "+TcHmi.Log.buildMessage(data.details))},this.__element=element,this.__attrs=attrs,this.__pcElement=pcElement,this.__parent=null,this.__children=[];let attrType=attrs["data-tchmi-type"].value,module=TcHmi.System.Data.Modules.controls.map.get(attrType);if(!module)throw new Error("Unknown control type: "+attrType);if(module.error!==TcHmi.Errors.NONE)throw new Error('Control type: "'+attrType+'" module contains errors: '+TcHmi.Log.buildMessage(module.errorDetails));let descr=module.description;if(!descr)throw new Error('Control type "'+attrType+'" module contains no description.');this.__type=TcHmi.System.resolveQualifiedName(descr.name,descr.namespace),this.version=descr.version,this.__id=attrs.id.value,this.__isInitialized=!1,this.__isDestroyed=!1,this.__isAttached=!1,this.__attributesInitialized=!1,this.__isContainerControl=!1,this.__keepAlive=!1,this.__accessConfig=[],this.__virtualControlRightMappings=[];const itypes=TcHmi.System.Services.controlManager.getDescriptionTypes(this.__type);this.__element[0].className+=" tchmi-box "+itypes.join(" ").replace(/\./g,"_"),this.__localization=new TcHmi.Locale.ControlLocalization(this.__type),this.__destroyOnFunctionResultChanged=TcHmi.EventProvider.register(this.__id+".onFunctionResultChanged",this.__onFunctionResultChanged()),this.__destroyOnPropertyChanged=TcHmi.EventProvider.register(this.__id+".onPropertyChanged",this.__onPropertyChanged())}__setLifeCycleState(newState){switch(newState){case 15:this.__attributesInitialized=!0;break;case 30:this.__isAttached=!0;break;case 40:this.__isAttached=!1}}
/**
                 * Is raised before control attribute setters are called to allow initialization based on current attribute values.
                 * @preserve (Part of the public API)
                 */__previnit(){}
/**
                 * Is raised after control attribute setters have been called to allow initialization based on current attribute values.
                 * @preserve (Part of the public API)
                 */__init(){0===this.__accessConfig.length&&this.__processAccessConfig(),this.__processAllBackground();let __this=this;const activeEventOptions={passive:!1,capture:!1};__this.__destroyDomEventRegWatchOnMouseRightClick=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onMouseRightClick",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"contextmenu",listener:__this.__onElementMouseRightClick.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!(!data.event.options||!data.event.options.capture)&&data.event.options.capture}};__this.__resourcesDomEventRegWatchOnMouseRightClick||(__this.__resourcesDomEventRegWatchOnMouseRightClick=new Map),__this.__resourcesDomEventRegWatchOnMouseRightClick.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnMouseRightClick)break;let entry=__this.__resourcesDomEventRegWatchOnMouseRightClick.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnMouseRightClick.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnMouseDoubleClick=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onMouseDoubleClick",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"dblclick",listener:__this.__onElementMouseDoubleClick.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!(!data.event.options||!data.event.options.capture)&&data.event.options.capture}};__this.__resourcesDomEventRegWatchOnMouseDoubleClick||(__this.__resourcesDomEventRegWatchOnMouseDoubleClick=new Map),__this.__resourcesDomEventRegWatchOnMouseDoubleClick.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnMouseDoubleClick)break;let entry=__this.__resourcesDomEventRegWatchOnMouseDoubleClick.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnMouseDoubleClick.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnMouseEnter=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onMouseEnter",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"mouseenter",listener:__this.__onElementMouseEnter.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!(!data.event.options||!data.event.options.capture)&&data.event.options.capture}};__this.__resourcesDomEventRegWatchOnMouseEnter||(__this.__resourcesDomEventRegWatchOnMouseEnter=new Map),__this.__resourcesDomEventRegWatchOnMouseEnter.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnMouseEnter)break;let entry=__this.__resourcesDomEventRegWatchOnMouseEnter.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnMouseEnter.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnMouseMove=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onMouseMove",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"mousemove",listener:__this.__onElementMouseMove.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!(!data.event.options||!data.event.options.capture)&&data.event.options.capture}};__this.__resourcesDomEventRegWatchOnMouseMove||(__this.__resourcesDomEventRegWatchOnMouseMove=new Map),__this.__resourcesDomEventRegWatchOnMouseMove.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnMouseMove)break;let entry=__this.__resourcesDomEventRegWatchOnMouseMove.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnMouseMove.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnMouseOut=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onMouseOut",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"mouseout",listener:__this.__onElementMouseOut.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!(!data.event.options||!data.event.options.capture)&&data.event.options.capture}};__this.__resourcesDomEventRegWatchOnMouseOut||(__this.__resourcesDomEventRegWatchOnMouseOut=new Map),__this.__resourcesDomEventRegWatchOnMouseOut.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnMouseOut)break;let entry=__this.__resourcesDomEventRegWatchOnMouseOut.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnMouseOut.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnMouseLeave=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onMouseLeave",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"mouseleave",listener:__this.__onElementMouseLeave.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!(!data.event.options||!data.event.options.capture)&&data.event.options.capture}};__this.__resourcesDomEventRegWatchOnMouseLeave||(__this.__resourcesDomEventRegWatchOnMouseLeave=new Map),__this.__resourcesDomEventRegWatchOnMouseLeave.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnMouseLeave)break;let entry=__this.__resourcesDomEventRegWatchOnMouseLeave.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnMouseLeave.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnMouseDown=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onMouseDown",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"mousedown",listener:__this.__onElementMouseDown.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!(!data.event.options||!data.event.options.capture)&&data.event.options.capture}};__this.__resourcesDomEventRegWatchOnMouseDown||(__this.__resourcesDomEventRegWatchOnMouseDown=new Map),__this.__resourcesDomEventRegWatchOnMouseDown.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnMouseDown)break;let entry=__this.__resourcesDomEventRegWatchOnMouseDown.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnMouseDown.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnMouseUp=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onMouseUp",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"mouseup",listener:__this.__onElementMouseUp.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!(!data.event.options||!data.event.options.capture)&&data.event.options.capture}};__this.__resourcesDomEventRegWatchOnMouseUp||(__this.__resourcesDomEventRegWatchOnMouseUp=new Map),__this.__resourcesDomEventRegWatchOnMouseUp.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnMouseUp)break;let entry=__this.__resourcesDomEventRegWatchOnMouseUp.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnMouseUp.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnMouseOver=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onMouseOver",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"mouseover",listener:__this.__onElementMouseOver.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!(!data.event.options||!data.event.options.capture)&&data.event.options.capture}};__this.__resourcesDomEventRegWatchOnMouseOver||(__this.__resourcesDomEventRegWatchOnMouseOver=new Map),__this.__resourcesDomEventRegWatchOnMouseOver.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnMouseOver)break;let entry=__this.__resourcesDomEventRegWatchOnMouseOver.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnMouseOver.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnMouseClick=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onMouseClick",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"click",listener:__this.__onElementMouseClick.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!(!data.event.options||!data.event.options.capture)&&data.event.options.capture}};__this.__resourcesDomEventRegWatchOnMouseClick||(__this.__resourcesDomEventRegWatchOnMouseClick=new Map),__this.__resourcesDomEventRegWatchOnMouseClick.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnMouseClick)break;let entry=__this.__resourcesDomEventRegWatchOnMouseClick.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnMouseClick.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnMouseWheel=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onMouseWheel",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"wheel",listener:__this.__onElementMouseWheel.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!data.event.options||!data.event.options.capture||data.event.options.capture}};__this.__resourcesDomEventRegWatchOnMouseWheel||(__this.__resourcesDomEventRegWatchOnMouseWheel=new Map),__this.__resourcesDomEventRegWatchOnMouseWheel.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnMouseWheel)break;let entry=__this.__resourcesDomEventRegWatchOnMouseWheel.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnMouseWheel.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnTouchStart=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onTouchStart",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"touchstart",listener:__this.__onElementTouchStart.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!data.event.options||!data.event.options.capture||data.event.options.capture}};__this.__resourcesDomEventRegWatchOnTouchStart||(__this.__resourcesDomEventRegWatchOnTouchStart=new Map),__this.__resourcesDomEventRegWatchOnTouchStart.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnTouchStart)break;let entry=__this.__resourcesDomEventRegWatchOnTouchStart.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnTouchStart.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnTouchMove=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onTouchMove",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"touchmove",listener:__this.__onElementTouchMove.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!data.event.options||!data.event.options.capture||data.event.options.capture}};__this.__resourcesDomEventRegWatchOnTouchMove||(__this.__resourcesDomEventRegWatchOnTouchMove=new Map),__this.__resourcesDomEventRegWatchOnTouchMove.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnTouchMove)break;let entry=__this.__resourcesDomEventRegWatchOnTouchMove.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnTouchMove.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnTouchEnd=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onTouchEnd",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"touchend",listener:__this.__onElementTouchEnd.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!data.event.options||!data.event.options.capture||data.event.options.capture}};__this.__resourcesDomEventRegWatchOnTouchEnd||(__this.__resourcesDomEventRegWatchOnTouchEnd=new Map),__this.__resourcesDomEventRegWatchOnTouchEnd.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnTouchEnd)break;let entry=__this.__resourcesDomEventRegWatchOnTouchEnd.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnTouchEnd.delete(data.event.id)}}}})),__this.__destroyDomEventRegWatchOnTouchCancel=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onTouchCancel",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let entry={event:data.event,domEventListener:{eventName:"touchcancel",listener:__this.__onElementTouchCancel.call(__this,data.event),options:TCHMI_EVENT_OPTION_OBJECT_SUPPORTED?data.event.options?data.event.options:activeEventOptions:!data.event.options||!data.event.options.capture||data.event.options.capture}};__this.__resourcesDomEventRegWatchOnTouchCancel||(__this.__resourcesDomEventRegWatchOnTouchCancel=new Map),__this.__resourcesDomEventRegWatchOnTouchCancel.set(data.event.id,entry);let list=entry.domEventListener;__this.getElement()[0].addEventListener(list.eventName,list.listener,list.options)}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesDomEventRegWatchOnTouchCancel)break;let entry=__this.__resourcesDomEventRegWatchOnTouchCancel.get(data.event.id);if(entry){let list=entry.domEventListener;list&&__this.getElement()[0].removeEventListener(list.eventName,list.listener,list.options),__this.__resourcesDomEventRegWatchOnTouchCancel.delete(data.event.id)}}}})),__this.__destroyEvenRegWatchOnPressed=TcHmi.EventProvider.watchEventRegistration(this.getId()+".onPressed",(function(data){if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:{let destroyMouseClick=null;destroyMouseClick=TcHmi.EventProvider.register(__this.getId()+".onMouseClick",(function(e,data2){TcHmi.EventProvider.raiseEx(data.event)}),data.event.options);let destroy=()=>{destroyMouseClick&&(destroyMouseClick(),destroyMouseClick=null)};__this.__resourcesEventRegWatchOnPressed||(__this.__resourcesEventRegWatchOnPressed=new Map),__this.__resourcesEventRegWatchOnPressed.set(data.event.id,{event:data.event,destroy:destroy})}break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesEventRegWatchOnPressed)return;let entry=__this.__resourcesEventRegWatchOnPressed.get(data.event.id);entry&&entry.destroy&&(entry.destroy(),__this.__resourcesEventRegWatchOnPressed.delete(data.event.id))}}})),__this.__destroyEvenRegWatchOnMouseDownLeft=TcHmi.EventProvider.watchEventRegistration(__this.getId()+".onMouseDownLeft",(function(data){let destroy=null;if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:destroy=TcHmi.EventProvider.register(__this.getId()+".onMouseDown",(function(e,data2){1===data2.which&&TcHmi.EventProvider.raiseEx(data.event,data2)}),data.event.options),__this.__resourcesEventRegWatchOnMouseDownLeft||(__this.__resourcesEventRegWatchOnMouseDownLeft=new Map),__this.__resourcesEventRegWatchOnMouseDownLeft.set(data.event.id,{event:data.event,destroy:destroy});break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesEventRegWatchOnMouseDownLeft)return;let entry=__this.__resourcesEventRegWatchOnMouseDownLeft.get(data.event.id);entry&&entry.destroy&&(entry.destroy(),__this.__resourcesEventRegWatchOnMouseDownLeft.delete(data.event.id))}}})),__this.__destroyEvenRegWatchOnMouseDownRight=TcHmi.EventProvider.watchEventRegistration(__this.getId()+".onMouseDownRight",(function(data){let destroy=null;if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:destroy=TcHmi.EventProvider.register(__this.getId()+".onMouseDown",(function(e,data2){3===data2.which&&TcHmi.EventProvider.raiseEx(data.event,data2)}),data.event.options),__this.__resourcesEventRegWatchOnMouseDownRight||(__this.__resourcesEventRegWatchOnMouseDownRight=new Map),__this.__resourcesEventRegWatchOnMouseDownRight.set(data.event.id,{event:data.event,destroy:destroy});break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesEventRegWatchOnMouseDownRight)return;let entry=__this.__resourcesEventRegWatchOnMouseDownRight.get(data.event.id);entry&&entry.destroy&&(entry.destroy(),__this.__resourcesEventRegWatchOnMouseDownRight.delete(data.event.id))}}})),__this.__destroyEvenRegWatchOnMouseUpLeft=TcHmi.EventProvider.watchEventRegistration(__this.getId()+".onMouseUpLeft",(function(data){let destroy=null;if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:destroy=TcHmi.EventProvider.register(__this.getId()+".onMouseUp",(function(e,data2){1===data2.which&&TcHmi.EventProvider.raiseEx(data.event,data2)}),data.event.options),__this.__resourcesEventRegWatchOnMouseUpLeft||(__this.__resourcesEventRegWatchOnMouseUpLeft=new Map),__this.__resourcesEventRegWatchOnMouseUpLeft.set(data.event.id,{event:data.event,destroy:destroy});break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesEventRegWatchOnMouseUpLeft)return;let entry=__this.__resourcesEventRegWatchOnMouseUpLeft.get(data.event.id);entry&&entry.destroy&&(entry.destroy(),__this.__resourcesEventRegWatchOnMouseUpLeft.delete(data.event.id))}}})),__this.__destroyEvenRegWatchOnMouseUpRight=TcHmi.EventProvider.watchEventRegistration(__this.getId()+".onMouseUpRight",(function(data){let destroy=null;if(data.error===TcHmi.Errors.NONE)switch(data.type){case TcHmi.EventProvider.EventRegWatchType.REGISTER:destroy=TcHmi.EventProvider.register(__this.getId()+".onMouseUp",(function(e,data2){3===data2.which&&TcHmi.EventProvider.raiseEx(data.event,data2)}),data.event.options),__this.__resourcesEventRegWatchOnMouseUpRight||(__this.__resourcesEventRegWatchOnMouseUpRight=new Map),__this.__resourcesEventRegWatchOnMouseUpRight.set(data.event.id,{event:data.event,destroy:destroy});break;case TcHmi.EventProvider.EventRegWatchType.DESTROY:{if(!__this.__resourcesEventRegWatchOnMouseUpRight)return;let entry=__this.__resourcesEventRegWatchOnMouseUpRight.get(data.event.id);entry&&entry.destroy&&(entry.destroy(),__this.__resourcesEventRegWatchOnMouseUpRight.delete(data.event.id))}}})),this.__isInitialized=!0,TcHmi.EventProvider.raise("System.onControlInitialized",this),TcHmi.EventProvider.raise(this.__id+".System.onInitialized",this),TcHmi.EventProvider.raise("onControlInitialized",this),TcHmi.EventProvider.raise(this.__id+".onInitialized",this)}
/**
                 * Is called of control is attached to the dom.
                 * @preserve (Part of the public API)
                 */__attach(){TCHMI_DESIGNER||this.__parent||"TcHmi.Controls.System.TcHmiView"===this.__type||this.__element[0].classList.contains("tchmi-in-topmostlayer")||TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+"] Missing logical parent.\nIf the control was dynamically generated by help of the TcHmi.ControlFactory on application level make sure to use the API addChild()/removeChild() from the parent control.\nIf the control was dynamically generated by help of the TcHmi.ControlFactory on control level make sure to forward a reference of the parent control while creating the control.");for(const resolverInfo of this.__objectResolvers.values())resolverInfo.watchDestroyer||(resolverInfo.watchDestroyer=resolverInfo.resolver.watch(resolverInfo.watchCallback));this.__destroyTriggerAttach=TcHmi.System.Services.triggerManager.register(this.__triggerAttachList),TcHmi.EventProvider.raise("System.onControlAttached",this),TcHmi.EventProvider.raise(this.__id+".System.onAttached",this),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"IsAttached"}),TcHmi.EventProvider.raise("onControlAttached",this),TcHmi.EventProvider.raise(this.__id+".onAttached",this)}
/**
                 * Is called if control is detached from the dom.
                 * @preserve (Part of the public API)
                 */__detach(){for(const resolverInfo of this.__objectResolvers.values())resolverInfo.watchDestroyer&&(resolverInfo.watchDestroyer(),resolverInfo.watchDestroyer=null);TcHmi.EventProvider.raise("System.onControlDetached",this),TcHmi.EventProvider.raise(this.__id+".System.onDetached",this),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"IsAttached"}),TcHmi.EventProvider.raise("onControlDetached",this),TcHmi.EventProvider.raise(this.__id+".onDetached",this),this.__destroyTriggerAttach&&(this.__destroyTriggerAttach(),this.__destroyTriggerAttach=null)}
/**
                 * Destroy the current control instance.
                 * Will be called automatically if system destroys control!
                 * @preserve (Part of the public API)
                 */destroy(){if(this.__keepAlive)return;if(this.__isDestroyed)return;if(this.__destroyOnFunctionResultChanged&&(this.__destroyOnFunctionResultChanged(),this.__destroyOnFunctionResultChanged=null),this.__destroyOnPropertyChanged&&(this.__destroyOnPropertyChanged(),this.__destroyOnPropertyChanged=null),this.__isAttached){this.__element.detach(),this.__parent&&(this.__parent.__removeChild(this),this.__parent=null),this.__setLifeCycleState(40),TcHmi.EventProvider.raise("System.onPrevControlDetached",this),TcHmi.EventProvider.raise(this.__id+".System.onPrevDetached",this);try{this.__detach()}catch(e){TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+"] An uncaught exception occurred while detaching the control:\n",e)}TcHmi.EventProvider.raise("System.onPrevControlsDetached",[this])}else this.__parent&&(this.__parent.__removeChild(this),this.__parent=null);for(const resolverInfo of this.__objectResolvers.values())resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy();this.__asyncWorkAnimationFrameId&&(window.cancelAnimationFrame(this.__asyncWorkAnimationFrameId),this.__asyncWorkAnimationFrameId=0),this.__objectResolvers.clear(),this.__resourcesDomEventRegWatchOnMouseRightClick&&this.__resourcesDomEventRegWatchOnMouseRightClick.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnMouseDoubleClick&&this.__resourcesDomEventRegWatchOnMouseDoubleClick.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnMouseEnter&&this.__resourcesDomEventRegWatchOnMouseEnter.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnMouseMove&&this.__resourcesDomEventRegWatchOnMouseMove.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnMouseOut&&this.__resourcesDomEventRegWatchOnMouseOut.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnMouseLeave&&this.__resourcesDomEventRegWatchOnMouseLeave.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnMouseDown&&this.__resourcesDomEventRegWatchOnMouseDown.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnMouseUp&&this.__resourcesDomEventRegWatchOnMouseUp.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnMouseOver&&this.__resourcesDomEventRegWatchOnMouseOver.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnMouseClick&&this.__resourcesDomEventRegWatchOnMouseClick.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnMouseWheel&&this.__resourcesDomEventRegWatchOnMouseWheel.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnTouchStart&&this.__resourcesDomEventRegWatchOnTouchStart.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnTouchMove&&this.__resourcesDomEventRegWatchOnTouchMove.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnTouchEnd&&this.__resourcesDomEventRegWatchOnTouchEnd.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesDomEventRegWatchOnTouchCancel&&this.__resourcesDomEventRegWatchOnTouchCancel.forEach(((entry,key)=>{let list=entry.domEventListener;this.__element[0].removeEventListener(list.eventName,list.listener,list.options)})),this.__resourcesEventRegWatchOnPressed&&this.__resourcesEventRegWatchOnPressed.forEach(((entry,key)=>{entry.destroy()})),this.__resourcesEventRegWatchOnMouseDownLeft&&this.__resourcesEventRegWatchOnMouseDownLeft.forEach(((entry,key)=>{entry.destroy()})),this.__resourcesEventRegWatchOnMouseDownRight&&this.__resourcesEventRegWatchOnMouseDownRight.forEach(((entry,key)=>{entry.destroy()})),this.__resourcesEventRegWatchOnMouseUpLeft&&this.__resourcesEventRegWatchOnMouseUpLeft.forEach(((entry,key)=>{entry.destroy()})),this.__resourcesEventRegWatchOnMouseUpRight&&this.__resourcesEventRegWatchOnMouseUpRight.forEach(((entry,key)=>{entry.destroy()})),this.__destroyDomEventRegWatchOnMouseRightClick&&(this.__destroyDomEventRegWatchOnMouseRightClick(),this.__destroyDomEventRegWatchOnMouseRightClick=null),this.__destroyDomEventRegWatchOnMouseDoubleClick&&(this.__destroyDomEventRegWatchOnMouseDoubleClick(),this.__destroyDomEventRegWatchOnMouseDoubleClick=null),this.__destroyDomEventRegWatchOnMouseEnter&&(this.__destroyDomEventRegWatchOnMouseEnter(),this.__destroyDomEventRegWatchOnMouseEnter=null),this.__destroyDomEventRegWatchOnMouseMove&&(this.__destroyDomEventRegWatchOnMouseMove(),this.__destroyDomEventRegWatchOnMouseMove=null),this.__destroyDomEventRegWatchOnMouseOut&&(this.__destroyDomEventRegWatchOnMouseOut(),this.__destroyDomEventRegWatchOnMouseOut=null),this.__destroyDomEventRegWatchOnMouseLeave&&(this.__destroyDomEventRegWatchOnMouseLeave(),this.__destroyDomEventRegWatchOnMouseLeave=null),this.__destroyDomEventRegWatchOnMouseDown&&(this.__destroyDomEventRegWatchOnMouseDown(),this.__destroyDomEventRegWatchOnMouseDown=null),this.__destroyDomEventRegWatchOnMouseUp&&(this.__destroyDomEventRegWatchOnMouseUp(),this.__destroyDomEventRegWatchOnMouseUp=null),this.__destroyDomEventRegWatchOnMouseOver&&(this.__destroyDomEventRegWatchOnMouseOver(),this.__destroyDomEventRegWatchOnMouseOver=null),this.__destroyDomEventRegWatchOnMouseClick&&(this.__destroyDomEventRegWatchOnMouseClick(),this.__destroyDomEventRegWatchOnMouseClick=null),this.__destroyDomEventRegWatchOnMouseWheel&&(this.__destroyDomEventRegWatchOnMouseWheel(),this.__destroyDomEventRegWatchOnMouseWheel=null),this.__destroyDomEventRegWatchOnTouchStart&&(this.__destroyDomEventRegWatchOnTouchStart(),this.__destroyDomEventRegWatchOnTouchStart=null),this.__destroyDomEventRegWatchOnTouchMove&&(this.__destroyDomEventRegWatchOnTouchMove(),this.__destroyDomEventRegWatchOnTouchMove=null),this.__destroyDomEventRegWatchOnTouchEnd&&(this.__destroyDomEventRegWatchOnTouchEnd(),this.__destroyDomEventRegWatchOnTouchEnd=null),this.__destroyDomEventRegWatchOnTouchCancel&&(this.__destroyDomEventRegWatchOnTouchCancel(),this.__destroyDomEventRegWatchOnTouchCancel=null),this.__destroyEvenRegWatchOnPressed&&(this.__destroyEvenRegWatchOnPressed(),this.__destroyEvenRegWatchOnPressed=null),this.__destroyEvenRegWatchOnMouseDownLeft&&(this.__destroyEvenRegWatchOnMouseDownLeft(),this.__destroyEvenRegWatchOnMouseDownLeft=null),this.__destroyEvenRegWatchOnMouseDownRight&&(this.__destroyEvenRegWatchOnMouseDownRight(),this.__destroyEvenRegWatchOnMouseDownRight=null),this.__destroyEvenRegWatchOnMouseUpLeft&&(this.__destroyEvenRegWatchOnMouseUpLeft(),this.__destroyEvenRegWatchOnMouseUpLeft=null),this.__destroyEvenRegWatchOnMouseUpRight&&(this.__destroyEvenRegWatchOnMouseUpRight(),this.__destroyEvenRegWatchOnMouseUpRight=null);let cicount=0;for(;this.__children.length>0;){if(cicount++,cicount>=32768){TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+"] Maximum loop iteration reached! Breaking loop!");break}try{this.__children[0].getIsDestroyed()||this.__children[0].destroy()}catch(e){TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+"] An uncaught exception occurred while destroying the control:\n",e)}}TcHmi.EventProvider.raise(this.__id+"onPrevDestroyed",this),TcHmi.EventProvider.raise("System.onPrevControlDestroyed",this),TcHmi.EventProvider.raise("onPrevControlDestroyed",this);let bindings=TcHmi.System.Services.bindingManager.getBindingsByControl(this);if(void 0!==bindings)for(const propertyName of bindings.keys())TcHmi.System.Services.bindingManager.removeBinding(propertyName,this,!1);TcHmi.System.Services.controlManager.destruct(this),this.__isDestroyed=!0,TcHmi.EventProvider.raise("System.onControlDestroyed",this),TcHmi.EventProvider.raise("onControlDestroyed",this),TcHmi.EventProvider.raise(this.__id+".onDestroyed",this),this.__destroyTriggerNonAttach&&(this.__destroyTriggerNonAttach(),this.__destroyTriggerNonAttach=null),this.__destroyTriggerAttach&&(this.__destroyTriggerAttach(),this.__destroyTriggerAttach=null)}__suspendObjectResolver(key){let resolverInfo=this.__objectResolvers.get(key);resolverInfo&&resolverInfo.watchDestroyer&&(resolverInfo.watchDestroyer(),resolverInfo.watchDestroyer=null)}
/**
                 * Returns the configured defaultInternalValue of the control property
                 * @param propertyName
                 * @template T Type of the default value
                 * @preserve (Part of the public API)
                 */getAttributeDefaultValueInternal(propertyName){if(!propertyName)return null;const attr=TcHmi.System.Services.controlManager.getDescriptionAttributeByPropertyName(this.__type,propertyName);if(!attr)return null;if(void 0===attr.defaultValueInternal){let schema=TcHmi.Type.getSchema(attr.type);return schema?TcHmi.Type.Schema.resolveDefault(schema):null}return tchmi_clone_object(attr.defaultValueInternal)}__onFunctionResultChanged(){return(e,data,dataEx)=>{if(dataEx)for(let i=0,ii=dataEx.length;i<ii;i++){let d=dataEx[i];d&&!0!==d.noLegacyForwarding&&(TcHmi.EventProvider.count(this.__id+".onPropertyChanged")>1&&TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:d.propertyName,noLegacyForwarding:!0}),TcHmi.EventProvider.has(this.__id+".onPropertyChanged<"+d.propertyName+">")&&TcHmi.EventProvider.raise(this.__id+".onPropertyChanged<"+d.propertyName+">",d.dirtyPaths&&d.dirtyPaths.length>0?{propertyName:d.propertyName,dirtyPaths:d.dirtyPaths,noLegacyForwarding:!0}:{propertyName:d.propertyName,noLegacyForwarding:!0}))}else if(data)for(let i=0,ii=data.length;i<ii;i++){let d=data[i];if(!d)continue;let attr=TcHmi.System.Services.controlManager.getAttributeByPropertyGetterName(this,d);attr&&(TcHmi.EventProvider.count(this.__id+".onPropertyChanged")>1&&TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:attr.propertyName,noLegacyForwarding:!0}),TcHmi.EventProvider.has(this.__id+".onPropertyChanged<"+attr.propertyName+">")&&TcHmi.EventProvider.raise(this.__id+".onPropertyChanged<"+attr.propertyName+">",{propertyName:attr.propertyName,noLegacyForwarding:!0}))}}}__onPropertyChanged(){return(e,data)=>{if(data&&!0!==data.noLegacyForwarding&&(TcHmi.EventProvider.raise(this.__id+".onPropertyChanged<"+data.propertyName+">",data),TcHmi.EventProvider.count(this.__id+".onFunctionResultChanged")>1)){let attr=TcHmi.System.Services.controlManager.getAttributeByPropertyName(this,data.propertyName);attr&&TcHmi.EventProvider.raise(this.__id+".onFunctionResultChanged",[attr.propertyGetterName],data.dirtyPaths&&data.dirtyPaths.length>0?[{propertyName:attr.propertyName,noLegacyForwarding:!0,dirtyPaths:data.dirtyPaths}]:[{propertyName:attr.propertyName,noLegacyForwarding:!0}])}}}__onElementMouseOver(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementMouseEnter(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementMouseDown(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementMouseMove(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementMouseUp(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementMouseClick(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementMouseRightClick(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementMouseDoubleClick(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementMouseOut(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementMouseLeave(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementMouseWheel(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementTouchStart(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementTouchMove(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementTouchEnd(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}__onElementTouchCancel(event){return e=>{!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&TcHmi.EventProvider.raiseEx(event,e)}}
/**
                 * Control Id
                 * @preserve (Part of the public API)
                 */
getId(){return this.__id}
/**
                 * Type of the control
                 * @preserve (Part of the public API)
                 */getType(){return this.__type}
/**
                 * Main HTML Element of the Control as jQuery object.
                 * @preserve (Part of the public API)
                 */getElement(){return this.__element}
/**
                 * Precompiled copy of main JQuery element defining this control.
                 * @preserve (Part of the public API)
                 */getPcElement(){return this.__pcElement}__setPcElement(value){this.__pcElement=$(value)}
/**
                 * List of attributes defined in html.
                 * @preserve (Part of the public API)
                 */getAttrs(){return this.__attrs}
/**
                 * Returns a boolean determining if the control was already destroyed.
                 * @preserve (Part of the public API)
                 */getIsDestroyed(){return this.__isDestroyed}
/**
                 * List of classes of the control.
                 * @preserve (Part of the public API)
                 */getClassNames(){return this.__classNames}setClassNames(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);if(null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("ClassNames")),!Array.isArray(convertedValue))return void(TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=ClassNames] Non array value is not supported."));let resolverInfo=this.__objectResolvers.get("classNames");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,this);this.__objectResolvers.set("classNames",{resolver:resolver,watchCallback:this.__onResolverForClassNamesWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForClassNamesWatchCallback)})}__processClassNames(){let oldClassArray=Array.from(this.__element[0].classList);for(const iterClassName of oldClassArray)iterClassName.startsWith("tchmi-class-")&&this.__element[0].classList.remove(iterClassName);if(this.__classNames)for(const newClassName of this.__classNames)this.__element[0].classList.add("tchmi-class-"+newClassName)}
/**
                 * AccessConfig
                 * @preserve (Part of the public API)
                 */getAccessConfig(){return this.__accessConfig}
/**
                 * Sets the new AccessConfig
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setAccessConfig(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);if(null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("AccessConfig")),!Array.isArray(convertedValue))return void(TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=AccessConfig] Non array values are not supported."));let resolverInfo=this.__objectResolvers.get("accessConfig");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,this);this.__objectResolvers.set("accessConfig",{resolver:resolver,watchCallback:this.__onResolverForAccessConfigWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForAccessConfigWatchCallback)})}__processAccessConfig(){if(!this.__parent){if(!this.__element||0===this.__element.length)return;if(this.__element[0].classList.contains("tchmi-in-topmostlayer"));else if(TCHMI_DESIGNER&&"TcHmi.Controls.System.TcHmiContent"===this.__type);else if(TCHMI_DESIGNER&&"TcHmi.Controls.System.TcHmiUserControl"===this.__type);else if("TcHmi.Controls.System.TcHmiView"!==this.__type)return}!0===TcHmi.Access.checkAccess(this,"observe")?(!1!==this.__accessAndEnableState.observeDisallowed&&(this.__element[0].classList.remove("TcHmi_Controls_System_TcHmiControl-observe-disallowed","tchmi-control-observe-disallowed"),this.__accessAndEnableState.observeDisallowed=!1,this.__processWidth(this),this.__processHeight(this)),!0===TcHmi.Access.checkAccess(this,"operate")?!1!==this.__accessAndEnableState.operateDisallowed&&(this.__element[0].classList.remove("TcHmi_Controls_System_TcHmiControl-operate-disallowed","tchmi-control-operate-disallowed"),this.__accessAndEnableState.operateDisallowed=!1):!0!==this.__accessAndEnableState.operateDisallowed&&(this.__element[0].classList.add("TcHmi_Controls_System_TcHmiControl-operate-disallowed","tchmi-control-operate-disallowed"),this.__accessAndEnableState.operateDisallowed=!0)):!0!==this.__accessAndEnableState.observeDisallowed&&(this.__element[0].classList.add("TcHmi_Controls_System_TcHmiControl-observe-disallowed","tchmi-control-observe-disallowed"),this.__accessAndEnableState.observeDisallowed=!0);for(let i=0,ii=this.__children.length;i<ii;i++)try{this.__children[i].__processAccessConfig()}catch(e){TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=AccessConfig] An uncaught exception occurred while processing attribute=AccessConfig of child control with id="+this.__children[i].getId(),e)}}setTrigger(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);if(null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Trigger")),!tchmi_equal(convertedValue,this.__trigger)){if(this.__destroyTriggerAttach&&(this.__destroyTriggerAttach(),this.__destroyTriggerAttach=null),this.__destroyTriggerNonAttach&&(this.__destroyTriggerNonAttach(),this.__destroyTriggerNonAttach=null),this.__trigger=convertedValue,this.__triggerNonAttachList=[],this.__triggerAttachList=[],this.__trigger){const nonAttachEventList=[this.__id+".onInitialized",this.__id+".onDestroyed"];for(const triggerEntry of this.__trigger)nonAttachEventList.includes(triggerEntry.event)?this.__triggerNonAttachList.push(triggerEntry):this.__triggerAttachList.push(triggerEntry)}TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Trigger"}),this.__processTrigger()}}getTrigger(){return this.__trigger}__processTrigger(){this.__destroyTriggerNonAttach=TcHmi.System.Services.triggerManager.register(this.__triggerNonAttachList),this.__isAttached&&(this.__destroyTriggerAttach=TcHmi.System.Services.triggerManager.register(this.__triggerAttachList))}
/**
                 * Returns the VirtualControlRightMapping so it can react on parent control virtual rights.
                 * @preserve (Part of the public API)
                 */getVirtualControlRightMappings(){return this.__virtualControlRightMappings}
/**
                 * Sets the new VirtualControlRightMapping so it can react on parent control virtual rights.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setVirtualControlRightMappings(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);if(null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("VirtualControlRightMappings")),!Array.isArray(convertedValue))return void(TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=VirtualControlRightMappings] Non array values are not supported."));let resolverInfo=this.__objectResolvers.get("virtualControlRightMappings");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,this);this.__objectResolvers.set("virtualControlRightMappings",{resolver:resolver,watchCallback:this.__onResolverForVirtualControlRightMappingsWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForVirtualControlRightMappingsWatchCallback)})}__processVirtualControlRightMappings(){this.__processAccessConfig()}getIsEnabled(){const enabled=this.__accessAndEnableState.enabled;return void 0!==enabled&&enabled}
/**
                 * Sets the isEnabled attribute and calls the associated process function (processIsEnabled).
                 * @preserve (Part of the public API)
                 */setIsEnabled(valueNew){let convertedValue=TcHmi.ValueConverter.toBoolean(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("IsEnabled")),convertedValue!==this.__isEnabled&&(this.__isEnabled=convertedValue,this.__processIsEnabled())}__processIsEnabled(){if(!this.__parent){if(!this.__element||0===this.__element.length)return;if(this.__element[0].classList.contains("tchmi-in-topmostlayer"));else if(TCHMI_DESIGNER&&"TcHmi.Controls.System.TcHmiContent"===this.__type);else if(TCHMI_DESIGNER&&"TcHmi.Controls.System.TcHmiUserControl"===this.__type);else if("TcHmi.Controls.System.TcHmiView"!==this.__type)return}const oldEnabled=this.__accessAndEnableState.enabled;this.__accessAndEnableState.enabled=this.__isEnabled;let iteratorParentControl=this;do{if(this.__accessAndEnableState.enabled=iteratorParentControl.getIsEnabled(),!this.__accessAndEnableState.enabled)break;iteratorParentControl=iteratorParentControl.getParent()}while(iteratorParentControl);oldEnabled!==this.__accessAndEnableState.enabled&&TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"IsEnabled"}),this.__accessAndEnableState.enabled?(this.__element[0].classList.contains("TcHmi_Controls_System_TcHmiControl-disabled")&&this.__element[0].classList.remove("TcHmi_Controls_System_TcHmiControl-disabled"),this.__element[0].classList.contains("tchmi-control-disabled")&&this.__element[0].classList.remove("tchmi-control-disabled")):(this.__element[0].classList.contains("TcHmi_Controls_System_TcHmiControl-disabled")||this.__element[0].classList.add("TcHmi_Controls_System_TcHmiControl-disabled"),this.__element[0].classList.contains("tchmi-control-disabled")||this.__element[0].classList.add("tchmi-control-disabled"));for(let i=0,ii=this.__children.length;i<ii;i++)try{this.__children[i].__processIsEnabled()}catch(e){TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=IsEnabled] An uncaught exception occurred while processing attribute=IsEnabled of child control with id="+this.__children[i].getId(),e)}}
/**
                 * Returns the Row index of the Control inside a TcHmiGrid Container.
                 * @preserve (Part of the public API)
                 */getGridRowIndex(){return this.__gridRowIndex}
/**
                 * Sets a new GridRow index
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setGridRowIndex(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("GridRowIndex")),convertedValue!==this.__gridRowIndex&&(this.__gridRowIndex=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"GridRowIndex"}),TcHmi.EventProvider.raise("System.onControlGridRowIndexChanged",this),this.__processGridRowIndex())}__processGridRowIndex(){}
/**
                 * Returns the Column index of the Control inside a TcHmiGrid Container.
                 * @preserve (Part of the public API)
                 */getGridColumnIndex(){return this.__gridColumnIndex}
/**
                 * Sets a new GridColumn index
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setGridColumnIndex(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("GridColumnIndex")),convertedValue!==this.__gridColumnIndex&&(this.__gridColumnIndex=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"GridColumnIndex"}),TcHmi.EventProvider.raise("System.onControlGridColumnIndexChanged",this),this.__processGridColumnIndex())}__processGridColumnIndex(){}
/**
                 * Returns a boolean determining if the control is initialized.
                 * @preserve (Part of the public API)
                 */getIsInitialized(){return this.__isInitialized}
/**
                 * Returns a boolean determining if the control is attached to the dom.
                 * @preserve (Part of the public API)
                 */getIsAttached(){return this.__isAttached}
/**
                 * Returns a boolean determining if the control should not be destroyed.
                 * @preserve (Part of the public API)
                 */getKeepAlive(){return this.__keepAlive}__setKeepAlive(value){this.__keepAlive=value}__getKeepAlive(){return this.__keepAlive}
/**
                 * Returns a boolean determining if the control is a container control.
                 * @preserve (Part of the public API)
                 */getIsContainerControl(){return this.__isContainerControl}
/**
                 * Parent control or null if there is (till now?) no parent control.
                 * @preserve (Part of the public API)
                 */getParent(){return this.__parent}__setParent(value){this.__parent=value,TcHmi.EventProvider.raise("System.ParentChanged",this),this.__attributesInitialized&&(this.__processIsEnabled(),this.__processAccessConfig())}__addChild(control,pos){this.__children.includes(control)||(control.__setParent(this),null==pos||pos<0?this.__children.push(control):this.__children.splice(pos,0,control),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Children"}))}__removeChild(control){let pos=null;for(let i=0,ii=this.__children.length;i<ii;i++)if(this.__children[i].getId()===control.getId()){pos=i;break}null!==pos&&(control.getElement().detach(),this.__children[pos].__setParent(null),this.__children.splice(pos,1),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Children"}))}
/**
                 * Returns the current width of the Control.
                 * @preserve (Part of the public API)
                 */
getWidth(){return this.__width}
/**
                 * Returns the current width unit of the Control.
                 * @preserve (Part of the public API)
                 */getWidthUnit(){return this.__widthUnit}
/**
                 * Returns the current width mode of the control.
                 * @preserve (Part of the public API)
                 */getWidthMode(){return this.__widthMode}
/**
                 * Returns if inner widths depends on child controls.
                 * @preserve (Part of the public API)
                 */innerWidthDependsOnChilds(){return!1}
/**
                 * Updates the inner dimension depending on child controls.
                 * @preserve (Part of the public API)
                 */updateInnerWidthDependingOnChilds(){}
/**
                 * Returns the current height of the Control.
                 * @preserve (Part of the public API)
                 */getHeight(){return this.__height}
/**
                 * Returns the current height mode of the control.
                 * @preserve (Part of the public API)
                 */getHeightMode(){return this.__heightMode}
/**
                 * Returns if inner heights depends on child controls.
                 * @preserve (Part of the public API)
                 */innerHeightDependsOnChilds(){return!1}
/**
                 * Updates the inner dimension depending on child controls.
                 * @preserve (Part of the public API)
                 */updateInnerHeightDependingOnChilds(){}getHeightUnit(){return this.__heightUnit}
/**
                 * Returns the current top coordinate of the Control.
                 * @preserve (Part of the public API)
                 */getTop(){return this.__top}
/**
                 * Returns the current top coordinate unit of the Control.
                 * @preserve (Part of the public API)
                 */getTopUnit(){return this.__topUnit}
/**
                 * Returns the current left coordinate of the Control.
                 * @preserve (Part of the public API)
                 */getLeft(){return this.__left}
/**
                 * Returns the current left coordinate unit of the Control.
                 * @preserve (Part of the public API)
                 */getLeftUnit(){return this.__leftUnit}
/**
                 * Returns the current bottom coordinate of the Control.
                 * @preserve (Part of the public API)
                 */getBottom(){return this.__bottom}
/**
                 * Returns the current bottom coordinate unit of the Control.
                 * @preserve (Part of the public API)
                 */getBottomUnit(){return this.__bottomUnit}
/**
                 * Returns the current right coordinate of the Control.
                 * @preserve (Part of the public API)
                 */getRight(){return this.__right}
/**
                 * Returns the current right coordinate unit of the Control.
                 * @preserve (Part of the public API)
                 */getRightUnit(){return this.__rightUnit}
/**
                 * Returns the current minwidth value.
                 * @preserve (Part of the public API)
                 */getMinWidth(){return this.__minWidth}
/**
                 * Returns the current minwidth unit.
                 * @preserve (Part of the public API)
                 */getMinWidthUnit(){return this.__minWidthUnit}
/**
                 * Returns the current minheight value.
                 * @preserve (Part of the public API)
                 */getMinHeight(){return this.__minHeight}
/**
                 * Returns the current minheight unit.
                 * @preserve (Part of the public API)
                 */getMinHeightUnit(){return this.__minHeightUnit}
/**
                 * Returns the current maxwidth value.
                 * @preserve (Part of the public API)
                 */getMaxWidth(){return this.__maxWidth}
/**
                 * Returns the current maxwidth unit.
                 * @preserve (Part of the public API)
                 */getMaxWidthUnit(){return this.__maxWidthUnit}
/**
                 * Returns the current maxheight value.
                 * @preserve (Part of the public API)
                 */getMaxHeight(){return this.__maxHeight}
/**
                 * Returns the current maxheight unit.
                 * @preserve (Part of the public API)
                 */getMaxHeightUnit(){return this.__maxHeightUnit}
/**
                 * Returns the current rendered left value in pixel. Value is relative to parent element.
                 * @preserve (Part of the public API)
                 */getRenderedLeft(){return TcHmi.System.Services.controlManager.checkControlGeometryByControl(this),this.__renderedSizeCache.left}
/**
                 * Returns the current rendered top value in pixel. Value is relative to parent element.
                 * @preserve (Part of the public API)
                 */getRenderedTop(){return TcHmi.System.Services.controlManager.checkControlGeometryByControl(this),this.__renderedSizeCache.top}
/**
                 * Returns the current rendered right value in pixel. Value is relative to parent element.
                 * @preserve (Part of the public API)
                 */getRenderedRight(){return TcHmi.System.Services.controlManager.checkControlGeometryByControl(this),this.__renderedSizeCache.right}
/**
                 * Returns the current rendered bottom value in pixel. Value is relative to parent element.
                 * @preserve (Part of the public API)
                 */getRenderedBottom(){return TcHmi.System.Services.controlManager.checkControlGeometryByControl(this),this.__renderedSizeCache.bottom}
/**
                 * Returns the current rendered width value in pixel.
                 * @preserve (Part of the public API)
                 */getRenderedWidth(){return TcHmi.System.Services.controlManager.checkControlGeometryByControl(this),this.__renderedSizeCache.width}
/**
                 * Returns the current rendered height value in pixel.
                 * @preserve (Part of the public API)
                 */getRenderedHeight(){return TcHmi.System.Services.controlManager.checkControlGeometryByControl(this),this.__renderedSizeCache.height}__injectRenderedDimensions(layoutData){let changedProperties=this.__asyncWorkData["System.TcHmiControl.changedProperties"];this.__asyncWorkData["System.TcHmiControl.layoutData"]=layoutData,this.__renderedSizeCache.viewportLeft=layoutData.bounds.leftGlobal,this.__renderedSizeCache.viewportTop=layoutData.bounds.topGlobal;for(const currentStyleName in layoutData.computedStyles){const renderedDimension=layoutData.computedStyles[currentStyleName];let pixelValue=null;renderedDimension&&renderedDimension.includes("px")&&(pixelValue=parseFloat(renderedDimension),isNaN(pixelValue)&&(pixelValue=null)),pixelValue!==this.__renderedSizeCache[currentStyleName]&&(this.__renderedSizeCache[currentStyleName]=pixelValue,changedProperties.add(currentStyleName))}changedProperties.size&&this.__requestAsyncWork()}__doAsyncWork(){if(this.__isDestroyed)return;if(!this.__isAttached)return void this.__asyncWorkData["System.TcHmiControl.changedProperties"].clear();let changedPropertiesSet=this.__asyncWorkData["System.TcHmiControl.changedProperties"];for(const currentStyleName of changedPropertiesSet){let propertyName="Rendered"+currentStyleName.charAt(0).toUpperCase()+currentStyleName.slice(1);TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:propertyName})}changedPropertiesSet.clear()}__requestAsyncWork(){0===this.__asyncWorkAnimationFrameId&&(this.__asyncWorkAnimationFrameId=window.requestAnimationFrame((()=>{this.__doAsyncWork();let layoutData=this.__asyncWorkData["System.TcHmiControl.layoutData"];layoutData.resized=!1,layoutData.moved=!1,layoutData.movedLocal=!1,this.__asyncWorkAnimationFrameId=0})))}
/**
                 * Sets the value of the width attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setWidth(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Width")),convertedValue!==this.__width&&(this.__width=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Width"}),this.__processWidth())}__processWidth(callerControl){const widthMode=this.getWidthMode();null!==this.__width&&void 0!==this.__width&&void 0!==this.__widthUnit&&"Value"===widthMode?this.__element[0].style.width=this.__width+this.__widthUnit:"Value"!==widthMode&&"Parent"!==widthMode||(this.__element[0].style.width=""),null===this.__parent||callerControl&&this.__parent===callerControl||(this.__parent.innerWidthDependsOnChilds()&&this.__parent.updateInnerWidthDependingOnChilds(),"Content"===this.__parent.getWidthMode()&&this.__parent.__processWidth(this))}
/**
                 * Sets the unit of the width attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setWidthUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toDimensionUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("WidthUnit")),convertedValue!==this.__widthUnit&&(this.__widthUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"WidthUnit"}),this.__processWidthUnit())}__processWidthUnit(){this.__processWidth()}
/**
                 * Sets the value of the width mode attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setWidthMode(valueNew){let convertedValue=TcHmi.ValueConverter.toSizeMode(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("WidthMode")),convertedValue!==this.__widthMode&&(this.__widthMode=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"WidthMode"}),this.__processWidthMode())}__processWidthMode(){this.__processWidth()}
/**
                 * Sets the value of the height attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setHeight(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Height")),convertedValue!==this.__height&&(this.__height=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Height"}),this.__processHeight())}__processHeight(callerControl){const heightMode=this.getHeightMode();null!==this.__height&&void 0!==this.__height&&void 0!==this.__heightUnit&&"Value"===heightMode?this.__intHeight=this.__height+this.__heightUnit:"Value"!==heightMode&&"Parent"!==heightMode||(this.__intHeight=null),null!==this.__intHeight?(this.__element[0].style.height=this.__intHeight,this.__element[0].removeAttribute("data-tchmi-control-height-forced")):"Content"!==heightMode&&"Parent"!==heightMode||null!==this.__top&&null!==this.__bottom?(this.__element[0].style.height="",this.__element[0].removeAttribute("data-tchmi-control-height-forced")):(this.__element[0].style.height="0",this.__element[0].setAttribute("data-tchmi-control-height-forced","true")),null===this.__parent||callerControl&&this.__parent===callerControl||(this.__parent.innerHeightDependsOnChilds()&&this.__parent.updateInnerHeightDependingOnChilds(),"Content"===this.__parent.getHeightMode()&&this.__parent.__processHeight(this))}
/**
                 * Sets the value of the height mode attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setHeightMode(valueNew){let convertedValue=TcHmi.ValueConverter.toSizeMode(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("HeightMode")),convertedValue!==this.__heightMode&&(this.__heightMode=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"HeightMode"}),this.__processHeightMode())}__processHeightMode(){this.__processHeight()}
/**
                 * Sets the unit of the height attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setHeightUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toDimensionUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("HeightUnit")),convertedValue!==this.__heightUnit&&(this.__heightUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"HeightUnit"}),this.__processHeightUnit())}__processHeightUnit(){this.__processHeight()}__getContentWidth(){if("Collapsed"===this.__visibility)return null;if(!0===this.__accessAndEnableState.observeDisallowed)return null;let currentWidth=null,currentMaxWidth=null,currentMinWidth=null;return"px"===this.__minWidthUnit&&(currentMinWidth=this.__minWidth??null),"px"===this.__maxWidthUnit&&(currentMaxWidth=this.__maxWidth??null),null!==this.__width&&void 0!==this.__width&&"px"===this.__widthUnit&&"Value"===this.getWidthMode()&&(currentWidth=this.__width),null!==currentWidth?currentMinWidth&&currentWidth<currentMinWidth?currentMinWidth:currentMaxWidth&&currentWidth>currentMaxWidth?currentMaxWidth:currentWidth:currentMinWidth}__getContentHeight(){if("Collapsed"===this.__visibility)return null;if(!0===this.__accessAndEnableState.observeDisallowed)return null;let currentHeight=null,currentMaxHeight=null,currentMinHeight=null;return"px"===this.__minHeightUnit&&(currentMinHeight=this.__minHeight??null),"px"===this.__maxHeightUnit&&(currentMaxHeight=this.__maxHeight??null),null!==this.__height&&void 0!==this.__height&&"px"===this.__heightUnit&&"Value"===this.getHeightMode()&&(currentHeight=this.__height),null!==currentHeight?currentMinHeight&&currentHeight<currentMinHeight?currentMinHeight:currentMaxHeight&&currentHeight>currentMaxHeight?currentMaxHeight:currentHeight:currentMinHeight}
/**
                 * Sets the value of the top attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setTop(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Top")),convertedValue!==this.__top&&(this.__top=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Top"}),this.__processTop())}__processTop(){null!==this.__top&&void 0!==this.__top&&void 0!==this.__topUnit?this.__element[0].style.top=this.__top+this.__topUnit:this.__element[0].style.top="",this.__processHeight(),null!==this.__parent&&(this.__parent.innerHeightDependsOnChilds()&&this.__parent.updateInnerHeightDependingOnChilds(),"Content"===this.__parent.getHeightMode()&&this.__parent.__processHeight())}
/**
                 * Sets the unit of the top attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setTopUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toDimensionUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("TopUnit")),convertedValue!==this.__topUnit&&(this.__topUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"TopUnit"}),this.__processTopUnit())}__processTopUnit(){this.__processTop()}
/**
                 * Sets the value of the left attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setLeft(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Left")),convertedValue!==this.__left&&(this.__left=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Left"}),this.__processLeft())}__processLeft(){null!==this.__left&&void 0!==this.__left&&void 0!==this.__leftUnit?this.__element[0].style.left=this.__left+this.__leftUnit:this.__element[0].style.left="",null!==this.__parent&&(this.__parent.innerWidthDependsOnChilds()&&this.__parent.updateInnerWidthDependingOnChilds(),"Content"===this.__parent.getWidthMode()&&this.__parent.__processWidth())}
/**
                 * Sets the unit of the left attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setLeftUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toDimensionUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("LeftUnit")),convertedValue!==this.__leftUnit&&(this.__leftUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"LeftUnit"}),this.__processLeftUnit())}__processLeftUnit(){this.__processLeft()}
/**
                 * Sets the value of the bottom attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBottom(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Bottom")),convertedValue!==this.__bottom&&(this.__bottom=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Bottom"}),this.__processBottom())}__processBottom(){null!==this.__bottom&&void 0!==this.__bottom&&void 0!==this.__bottomUnit?this.__element[0].style.bottom=this.__bottom+this.__bottomUnit:this.__element[0].style.bottom="",this.__processHeight(),null!==this.__parent&&(this.__parent.innerHeightDependsOnChilds()&&this.__parent.updateInnerHeightDependingOnChilds(),"Content"===this.__parent.getHeightMode()&&this.__parent.__processHeight())}
/**
                 * Sets the unit of the bottom attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBottomUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toDimensionUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BottomUnit")),convertedValue!==this.__bottomUnit&&(this.__bottomUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BottomUnit"}),this.__processBottomUnit())}__processBottomUnit(){this.__processBottom()}
/**
                 * Sets the value of the right attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setRight(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Right")),convertedValue!==this.__right&&(this.__right=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Right"}),this.__processRight())}__processRight(){null!==this.__right&&void 0!==this.__right&&void 0!==this.__rightUnit?this.__element[0].style.right=this.__right+this.__rightUnit:this.__element[0].style.right="",null!==this.__parent&&(this.__parent.innerWidthDependsOnChilds()&&this.__parent.updateInnerWidthDependingOnChilds(),"Content"===this.__parent.getWidthMode()&&this.__parent.__processWidth())}
/**
                 * Sets the unit of the right attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setRightUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toDimensionUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("RightUnit")),convertedValue!==this.__rightUnit&&(this.__rightUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"RightUnit"}),this.__processRightUnit())}__processRightUnit(){this.__processRight()}
/**
                 * Sets the value of the minwidth attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setMinWidth(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("MinWidth")),convertedValue!==this.__minWidth&&(this.__minWidth=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"MinWidth"}),this.__processMinWidth())}__processMinWidth(){null!==this.__minWidth&&void 0!==this.__minWidth&&void 0!==this.__minWidthUnit?this.__element[0].style.minWidth=this.__minWidth+this.__minWidthUnit:this.__element[0].style.minWidth=""}
/**
                 * Sets the unit of the minwidth attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setMinWidthUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toDimensionUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("MinWidthUnit")),convertedValue!==this.__minWidthUnit&&(this.__minWidthUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"MinWidthUnit"}),this.__processMinWidthUnit())}__processMinWidthUnit(){this.__processMinWidth()}
/**
                 * Sets the value of the minheight attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setMinHeight(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("MinHeight")),convertedValue!==this.__minHeight&&(this.__minHeight=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"MinHeight"}),this.__processMinHeight())}__processMinHeight(){null!==this.__minHeight&&void 0!==this.__minHeight&&void 0!==this.__minHeightUnit?this.__element[0].style.minHeight=this.__minHeight+this.__minHeightUnit:this.__element[0].style.minHeight="",this.__processHeight()}
/**
                 * Sets the unit of the minheight attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setMinHeightUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toDimensionUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("MinHeightUnit")),convertedValue!==this.__minHeightUnit&&(this.__minHeightUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"MinHeightUnit"}),this.__processMinHeightUnit())}__processMinHeightUnit(){this.__processMinHeight()}
/**
                 * Sets the value of the maxwidth attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setMaxWidth(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("MaxWidth")),convertedValue!==this.__maxWidth&&(this.__maxWidth=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"MaxWidth"}),this.__processMaxWidth())}__processMaxWidth(){null!==this.__maxWidth&&void 0!==this.__maxWidth&&void 0!==this.__maxWidthUnit?this.__element[0].style.maxWidth=this.__maxWidth+this.__maxWidthUnit:this.__element[0].style.maxWidth=""}
/**
                 * Sets the unit of the maxwidth attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setMaxWidthUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toDimensionUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("MaxWidthUnit")),convertedValue!==this.__maxWidthUnit&&(this.__maxWidthUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"MaxWidthUnit"}),this.__processMaxWidthUnit())}__processMaxWidthUnit(){this.__processMaxWidth()}
/**
                 * Sets the value of the maxheight attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setMaxHeight(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("MaxHeight")),convertedValue!==this.__maxHeight&&(this.__maxHeight=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"MaxHeight"}),this.__processMaxHeight())}__processMaxHeight(){null!==this.__maxHeight&&void 0!==this.__maxHeight&&void 0!==this.__maxHeightUnit?this.__element[0].style.maxHeight=this.__maxHeight+this.__maxHeightUnit:this.__element[0].style.maxHeight=""}
/**
                 * Sets the unit of the maxheight attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setMaxHeightUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toDimensionUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("MaxHeightUnit")),convertedValue!==this.__maxHeightUnit&&(this.__maxHeightUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"MaxHeightUnit"}),this.__processMaxHeightUnit())}__processMaxHeightUnit(){this.__processMaxHeight()}getZindex(){return this.__zindex}
/**
                 * Sets the value of the zindex attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setZindex(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Zindex")),convertedValue!==this.__zindex&&(this.__zindex=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Zindex"}),this.__processZindex())}__processZindex(){null===this.__zindex||void 0===this.__zindex||this.__zindex<0?this.__element[0].style.zIndex="0":this.__element[0].style.zIndex=this.__zindex.toString()}
/**
                 * Returns the current opacity value.
                 * Sets the value of the zindex attribute.
                 * @preserve (Part of the public API)
                 */getOpacity(){return this.__opacity}
/**
                 * Sets the value of the opacity attribute. The value must be between 0 (0%) and 1 (100%).
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setOpacity(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Opacity")),convertedValue!==this.__opacity&&(this.__opacity=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Opacity"}),this.__processOpacity())}__processOpacity(){"Hidden"!==this.__visibility&&(null===this.__opacity||void 0===this.__opacity||this.__opacity>=1?this.__element[0].style.opacity="":this.__element[0].style.opacity=this.__opacity.toString())}setVisibility(valueNew){let convertedValue=TcHmi.ValueConverter.toVisibility(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Visibility")),convertedValue!==this.__visibility&&(this.__visibility=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Visibility"}),TcHmi.EventProvider.raise("System.onControlVisibilityChanged",this),this.__processVisibility(),null!==this.__parent&&(this.__parent.innerHeightDependsOnChilds()&&this.__parent.updateInnerHeightDependingOnChilds(),"Content"===this.__parent.getHeightMode()&&this.__parent.__processHeight(),this.__parent.innerWidthDependsOnChilds()&&this.__parent.updateInnerWidthDependingOnChilds(),"Content"===this.__parent.getWidthMode()&&this.__parent.__processWidth()))}getVisibility(){return this.__visibility}__processVisibility(){switch(this.__visibility){case"Collapsed":this.__element[0].style.display="none",this.__element[0].style.opacity="";break;case"Hidden":this.__element[0].style.display="",this.__element[0].style.opacity="0";break;default:this.__element[0].style.display="",null===this.__opacity||void 0===this.__opacity||this.__opacity>=1?this.__element[0].style.opacity="":this.__element[0].style.opacity=this.__opacity.toString()}}
/**
                 * Returns the current transform value.
                 * @preserve (Part of the public API)
                 */getTransform(){return this.__transform}
/**
                 * Sets the value of the transform attribute.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setTransform(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);if(null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Transform")),convertedValue&&!Array.isArray(convertedValue))return void(TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=Transform] Non array values are not supported."));let resolverInfo=this.__objectResolvers.get("transform");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,this);this.__objectResolvers.set("transform",{resolver:resolver,watchCallback:this.__onResolverForTransformWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForTransformWatchCallback)})}__processTransform(){TcHmi.StyleProvider.processTransform(this.__element,this.__transform)}__processAllBackground(){this.__attributesInitialized&&TcHmi.StyleProvider.processBackground(this.__element,this.__background)}
/**
                 * Returns the current background value.
                 * @preserve (Part of the public API)
                 */getBackgroundColor(){return this.__background.color}
/**
                 * Sets the background value and calls the associated process function (processBackground).
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBackgroundColor(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BackgroundColor"));let resolverInfo=this.__objectResolvers.get("backgroundColor");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,this);this.__objectResolvers.set("backgroundColor",{resolver:resolver,watchCallback:this.__onResolverForBackgroundColorWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForBackgroundColorWatchCallback)})}__processBackgroundColor(){this.__processAllBackground()}
/**
                 * Returns the current value of the member variable backgroundImage.
                 * @preserve (Part of the public API)
                 */getBackgroundImage(){return this.__background.image}
/**
                 * Sets the value of the member variable "backgroundImage" if the new value is not equal to the current value.
                 * and calls the associated process function (processBackgroundImage) after that.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBackgroundImage(valueNew){let convertedValue=TcHmi.ValueConverter.toString(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BackgroundImage")),convertedValue!==this.__background.image&&(this.__background.image=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BackgroundImage"}),this.__processBackgroundImage())}__processBackgroundImage(){this.__processAllBackground()}
/**
                 * Returns the current value of the member variable backgroundImagePadding.
                 * @preserve (Part of the public API)
                 */getBackgroundImagePadding(){return this.__background.imagePadding}
/**
                 * Sets the value of the member variable "backgroundImagePadding" if the new value is not equal to the current value
                 * and calls the associated process function (processBackgroundImagePadding) after that.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBackgroundImagePadding(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BackgroundImagePadding"));let resolverInfo=this.__objectResolvers.get("backgroundImagePadding");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,this);this.__objectResolvers.set("backgroundImagePadding",{resolver:resolver,watchCallback:this.__onResolverForBackgroundImagePaddingWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForBackgroundImagePaddingWatchCallback)})}__processBackgroundImagePadding(){this.__processAllBackground()}
/**
                 * Returns the current value of the member variable backgroundImageWidth.
                 * @preserve (Part of the public API)
                 */getBackgroundImageWidth(){return this.__background.imageWidth}
/**
                 * Sets the value of the member variable "backgroundImageWidth" if the new value is not equal to the current value.
                 * and calls the associated process function (processBackgroundImageWidth) after that.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBackgroundImageWidth(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BackgroundImageWidth")),convertedValue!==this.__background.imageWidth&&(this.__background.imageWidth=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BackgroundImageWidth"}),this.__processBackgroundImageWidth())}__processBackgroundImageWidth(){this.__processAllBackground()}
/**
                 * Returns the current value of the member variable backgroundImageWidthUnit.
                 * @preserve (Part of the public API)
                 */getBackgroundImageWidthUnit(){return this.__background.imageWidthUnit}
/**
                 * Sets the value of the member variable "backgroundImageWidthUnit" if the new value is not equal to the current value.
                 * and calls the associated process function (processBackgroundImageWidthUnit) after that.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBackgroundImageWidthUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toDimensionUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BackgroundImageWidthUnit")),convertedValue!==this.__background.imageWidthUnit&&(this.__background.imageWidthUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BackgroundImageWidthUnit"}),this.__processBackgroundImageWidthUnit())}__processBackgroundImageWidthUnit(){this.__processBackgroundImageWidth()}
/**
                 * Returns the current value of the member variable backgroundImageHeight.
                 * @preserve (Part of the public API)
                 */getBackgroundImageHeight(){return this.__background.imageHeight}
/**
                 * Sets the value of the member variable "backgroundImageHeight" if the new value is not equal to the current value.
                 * and calls the associated process function (processBackgroundImageHeight) after that.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBackgroundImageHeight(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BackgroundImageHeight")),convertedValue!==this.__background.imageHeight&&(this.__background.imageHeight=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BackgroundImageHeight"}),this.__processBackgroundImageHeight())}__processBackgroundImageHeight(){this.__processAllBackground()}
/**
                 * Returns the current value of the member variable backgroundImageHeightUnit.
                 * @preserve (Part of the public API)
                 */getBackgroundImageHeightUnit(){return this.__background.imageHeightUnit}
/**
                 * Sets the value of the member variable "backgroundImageHeightUnit" if the new value is not equal to the current value.
                 * and calls the associated process function (processBackgroundImageHeightUnit) after that.
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBackgroundImageHeightUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toDimensionUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BackgroundImageHeightUnit")),convertedValue!==this.__background.imageHeightUnit&&(this.__background.imageHeightUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BackgroundImageHeightUnit"}),this.__processBackgroundImageHeightUnit())}__processBackgroundImageHeightUnit(){this.__processBackgroundImageHeight()}
/**
                 * Returns the current value of horizontalBackgroundImageAligment.
                 * @preserve (Part of the public API)
                 */getBackgroundImageHorizontalAlignment(){return this.__background.imageHorizontalAlignment}
/**
                 * Sets the backgroundImageHorizontalAlignment value and calls the associated process function (processBackgroundImageHorizontalAlignment).
                 * @preserve (Part of the public API)
                 */setBackgroundImageHorizontalAlignment(valueNew){let convertedValue=TcHmi.ValueConverter.toHorizontalAlignment(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BackgroundImageHorizontalAlignment")),convertedValue!==this.__background.imageHorizontalAlignment&&(this.__background.imageHorizontalAlignment=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BackgroundImageHorizontalAlignment"}),this.__processBackgroundImageHorizontalAlignment())}__processBackgroundImageHorizontalAlignment(){this.__processAllBackground()}
/**
                 * Returns the current value of backgroundImageVerticalAlignment.
                 * @preserve (Part of the public API)
                 */getBackgroundImageVerticalAlignment(){return this.__background.imageVerticalAlignment}
/**
                 * Sets the backgroundImageVerticalAlignment value and calls the associated process function (processBackgroundImageVerticalAlignment).
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBackgroundImageVerticalAlignment(valueNew){let convertedValue=TcHmi.ValueConverter.toVerticalAlignment(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BackgroundImageVerticalAlignment")),convertedValue!==this.__background.imageVerticalAlignment&&(this.__background.imageVerticalAlignment=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"BackgroundImageVerticalAlignment"}),this.__processBackgroundImageVerticalAlignment())}__processBackgroundImageVerticalAlignment(){this.__processAllBackground()}
/**
                 * Returns the current border-color value.
                 * @preserve (Part of the public API)
                 */
getBorderColor(){return this.__borderColor}
/**
                 * Sets the border-color attribute value and calls the associated process function (processBorderColor).
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBorderColor(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BorderColor"));let resolverInfo=this.__objectResolvers.get("borderColor");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,this);this.__objectResolvers.set("borderColor",{resolver:resolver,watchCallback:this.__onResolverForBorderColorWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForBorderColorWatchCallback)})}__processBorderColor(){TcHmi.StyleProvider.processBorderColor(this.__element,this.__borderColor)}
/**
                 * Returns the current border-width value.
                 * @preserve (Part of the public API)
                 */getBorderWidth(){return this.__borderWidth}
/**
                 * Sets the border-width attribute value and calls the associated process function (processBorderWidth).
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBorderWidth(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BorderWidth"));let resolverInfo=this.__objectResolvers.get("borderWidth");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,this);this.__objectResolvers.set("borderWidth",{resolver:resolver,watchCallback:this.__onResolverForBorderWidthWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForBorderWidthWatchCallback)})}__processBorderWidth(){TcHmi.StyleProvider.processBorderWidth(this.__element,this.__borderWidth)}
/**
                 * Returns the current border-radius value.
                 * @preserve (Part of the public API)
                 */getBorderRadius(){return this.__borderRadius}
/**
                 * Sets the border-radius attribute value and calls the associated process function (processBorderRadius).
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBorderRadius(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BorderRadius"));let resolverInfo=this.__objectResolvers.get("borderRadius");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,this);this.__objectResolvers.set("borderRadius",{resolver:resolver,watchCallback:this.__onResolverForBorderRadiusWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForBorderRadiusWatchCallback)})}__processBorderRadius(){TcHmi.StyleProvider.processBorderRadius(this.__element,this.__borderRadius)}
/**
                 * Returns the current border-style value.
                 * @preserve (Part of the public API)
                 */getBorderStyle(){return this.__borderStyle}
/**
                 * Internal reference to the attribute "data-tchmi-border-type".
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setBorderStyle(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BorderStyle"));let resolverInfo=this.__objectResolvers.get("borderStyle");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,this);this.__objectResolvers.set("borderStyle",{resolver:resolver,watchCallback:this.__onResolverForBorderStyleWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForBorderStyleWatchCallback)})}__processBorderStyle(){TcHmi.StyleProvider.processBorderStyle(this.__element,this.__borderStyle)}
/**
                 * Sets the internal reference to the attribute "data-tchmi-box-shadow".
                 * @preserve (Part of the public API)
                 */
setBoxShadow(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);if(null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("BoxShadow")),convertedValue&&!Array.isArray(convertedValue))return void(TCHMI_CONSOLE_LOG_LEVEL>=1&&TcHmi.Log.errorEx("[Source=Control, Module="+this.__type+(__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN)!==this.__type?", Origin="+__classPrivateFieldGet(TcHmiControl,_a,"f",_TcHmiControl_tchmiFQN):"")+", Id="+this.getId()+", Attribute=BoxShadow] Non array values are not supported."));let resolverInfo=this.__objectResolvers.get("boxShadow");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,this);this.__objectResolvers.set("boxShadow",{resolver:resolver,watchCallback:this.__onResolverForBoxShadowWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForBoxShadowWatchCallback)})}
/**
                 * Returns the current box-shadow value.
                 * @preserve (Part of the public API)
                 */getBoxShadow(){return this.__boxShadow}__processBoxShadow(){TcHmi.StyleProvider.processBoxShadow(this.__element,this.__boxShadow)}
/**
                 * Returns the current value of tooltip.
                 * @preserve (Part of the public API)
                 */getTooltip(){return this.__tooltip}
/**
                 * Sets the tooltip attribute and calls the associated process function (processTooltip).
                 * @param valueNew
                 * @preserve (Part of the public API)
                 */setTooltip(valueNew){let convertedValue=TcHmi.ValueConverter.toString(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Tooltip")),convertedValue!==this.__tooltip&&(this.__tooltip=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Tooltip"}),this.__processTooltip())}__processTooltip(){this.__tooltip?this.__element[0].setAttribute("title",tchmi_decode_control_characters(this.__tooltip)):this.__element[0].removeAttribute("title")}}_TcHmiControl_tchmiFQN={value:"TcHmi.Controls.System."+(_a=TcHmiControl).name},System.TcHmiControl=TcHmiControl}(Controls.System||(Controls.System={}))}(TcHmi.Controls||(TcHmi.Controls={}))}(TcHmi||(TcHmi={})),TcHmi.Controls.registerEx("TcHmiControl","TcHmi.Controls.System",TcHmi.Controls.System.TcHmiControl);