"use strict";vis.binds.materialdesign.helper={vibrate:function(e){try{"vibrate"in navigator&&window.navigator.vibrate(e)}catch(e){console.error(`vibrate [${data.wid}]: error: ${e.message}, stack: ${e.stack}`)}},waitForElement:function(e,t,a,o,l,r=0,i=!1){r<100?setTimeout(function(){e.find(t).length?l():(i&&console.log(`[${o} ${a}] wait for elements`),r++,vis.binds.materialdesign.helper.waitForElement(e,t,a,o,l,r))},50):(i&&console.log(`[${o} ${a}] stop waiting after 100 retries`),l())},waitForRealWidth:function(e,t,a,o,l=0,r=!1){l<100?setTimeout(function(){let i=window.getComputedStyle(e,null).width;i.includes("px")?o():(r&&console.log(`[${a} ${t}] wait for real width`),l++,vis.binds.materialdesign.helper.waitForRealWidth(e,t,a,o,l))},50):(r&&console.log(`[${a} ${t}] stop waiting for real width after 100 retries`),o())},installedVersion:function(e,t){setTimeout(function(){let t='version: "0.2.77"';console.log(t),$(e).find("#versionNumber").text(t.replace('version: "',"").replace('"',""))},1)},getValueFromData:function(e,t,a="",o=""){try{return Array.isArray(e)?e.length>0?e:t:null==e||""===e?t:a+e+o}catch(e){return console.error(`[Helper] getValueFromData: ${e.message}`),"Error"}},getBooleanFromData:function(e,t){try{return null==e||""===e?t:!0===e||"true"===e||1===e||"1"===e}catch(e){return console.error(`[Helper] getBooleanFromData: ${e.message}`),"Error"}},getNumberFromData:function(e,t){try{return null==e||""===e||isNaN(e)?t:parseFloat(e)}catch(e){return console.error(`[Helper] getNumberFromData: ${e.message}`),"Error"}},getStringFromNumberData:function(e,t,a="",o=""){try{return null==e||""===e||isNaN(e)?t:a+parseFloat(e)+o}catch(e){return console.error(`[Helper] getStringFromNumberData: ${e.message}`),"Error"}},getFontSize:function(e){let t=vis.binds.materialdesign.helper.getValueFromData(e,null);return null!==t?t.includes("headline")||t.includes("subtitle")||t.includes("body")||t.includes("caption")||t.includes("button")||t.includes("overline")?{class:`mdc-typography--${t}`,style:""}:isNaN(t)?{class:"",style:`font-size: ${t};`}:{class:"",style:`font-size: ${t}px;`}:{class:"",style:""}},getListItemHeader:function(e,t){return null!==e&&""!==e?`

\n ${e}\n

`:""},getListItemTextElement:function(e,t,a,o,l="left"){let r="flex-start";return"center"===l?r="center":"right"===l&&(r="flex-end"),` \n ${e}\n ${t}\n `},getListItemImage:function(e,t){return""!=e?``:""},getListItem:function(e,t,a,o,l=!1,r="",i="",n="",s=""){return"standard"===e?`
`:`
`},getListItemLabel:function(e,t,a,o,l,r,i,n,s=!1,d="left"){let c="";if(o&&(c=``),"standard"===e){let e=`\n ${a}\n `;return e+c}return`
\n \n ${a}\n \n ${c}\n
`},getListItemDivider:function(e,t){return!0===e||"true"===e?"standard"===t?'
':`
`:""},getIconElement:function(e,t,a,o="",l="",r=""){let i=`materialdesign-icon-image ${r}`,n=myMdwHelper.getValueFromData(e,null),s=myMdwHelper.getValueFromData(o,"");return null!==n?myMdwHelper.getAllowedImageFileExtensions().some(e=>n.includes(e))?``:``:""},getListIcon:function(e,t,a,o="",l=""){return myMdwHelper.getIconElement(e,t,a,o,`padding-top: 8px; padding-bottom: 8px;${l}`,"mdc-list-item__graphic")},changeIconElement:function(e,t,a,o,l="",r="",i=""){let n=`materialdesign-icon-image ${i}`.trim(),s=e.find("."+n.replace(/\s/g,".")),d=myMdwHelper.getValueFromData(t,null),c=myMdwHelper.getValueFromData(l,"");null!==d&&(myMdwHelper.getAllowedImageFileExtensions().some(e=>d.includes(e))?s.is("img")?s.attr("src",d):s.replaceWith(``):s.replaceWith(``))},changeListIconElement:function(e,t,a,o,l="",r=""){myMdwHelper.changeIconElement(e,t,a,o,l,`padding-top: 8px; padding-bottom: 8px;${r}`,"mdc-list-item__graphic")},getAllowedImageFileExtensions:function(){return["gif","png","bmp","jpg","jpeg","tif","svg"]},getVisibility:function(e,t,a,o){var l=t,r=a;if(!l)return"not exist"===r;if(null==e&&(e=vis.states.attr(l+".val")),null==e)return"not exist"===r;var i=o;if(!r||null==i)return"not exist"===r;if("null"===e&&"exist"!==r&&"not exist"!==r)return!1;var n=typeof e;switch("boolean"===n||"false"===e||"true"===e?i="true"===i||!0===i||1===i||"1"===i:"number"===n?i=parseFloat(i):"object"===n&&(e=JSON.stringify(e)),r){case"==":return i=i.toString(),e=e.toString(),"1"===e&&(e="true"),"1"===i&&(i="true"),"0"===e&&(e="false"),"0"===i&&(i="false"),i!==e;case"!=":return i=i.toString(),e=e.toString(),"1"===e&&(e="true"),"1"===i&&(i="true"),"0"===e&&(e="false"),"0"===i&&(i="false"),i===e;case">=":return ei;case">":return e<=i;case"<":return e>=i;case"consist":return i=i.toString(),e=e.toString(),-1===e.toString().indexOf(i);case"not consist":return i=i.toString(),e=e.toString(),-1!==e.toString().indexOf(i);case"exist":return"null"===e;case"not exist":return"null"!==e;default:return console.log("Unknown visibility condition: "+r),!1}},getViewOfWidget(e){for(var t in vis.views)if(vis.views[t].widgets&&vis.views[t].widgets[e])return t},oidNeedSubscribe(e,t,a,o,l=!1,r=!1){let i=vis.binds.materialdesign.helper.getViewOfWidget(t);return void 0===e||vis.editMode||vis.subscribing.byViews[i].includes(e)?o:(vis.subscribing.byViews[i].push(e),l?r&&console.log(`[oidNeedSubscribe] ${a} (${t}): binding '${e}' need subscribe`):r&&console.log(`[oidNeedSubscribe] ${a} (${t}): oid '${e}' need subscribe`),!0)},bindingNeedSubscribe(e,t,a,o){let l={bindingTokenList:[],oidNeedSubscribe:o},r=vis.extractBinding(e);if("null"!==r&&null!==r&&r.length>0)for(var i=0;i<=r.length-1;i++)l.bindingTokenList.push(r[i].token),!1===vis.bindings.hasOwnProperty([r[i].systemOid])&&(l.oidNeedSubscribe=vis.binds.materialdesign.helper.oidNeedSubscribe(r[i].systemOid,t,a,o,!0),vis.bindings[[r[i].systemOid]]=[{visOid:r[i].visOid,systemOid:r[i].visOid,token:r[i].visOid,format:r[i].format,isSeconds:r[i].isSeconds,operations:r[i].operations,type:"data",attr:r[i].systemOid,view:vis.binds.materialdesign.helper.getViewOfWidget(t),widget:t}]);return l},subscribeStatesAtRuntime(e,t,a,o=!1){o&&console.log(`[subscribeStatesAtRuntime] ${t} (${e}) subscribe states at runtime`);let l=vis.binds.materialdesign.helper.getViewOfWidget(e);if(l&&!vis.editMode){vis.subscribing.activeViews.includes(l)||vis.subscribing.activeViews.push(l),vis.subscribing.byViews[l]=vis.subscribing.byViews[l]||[];for(var r=[],i=0;iisNaN(parseFloat(e))||"number"!=typeof e?e:(e=parseFloat(e),void 0!==t&&""!==t&&void 0!==a&&""!==a?e.toLocaleString(void 0,{minimumFractionDigits:t,maximumFractionDigits:a}):void 0!==t&&""!==t?e.toLocaleString(void 0,{minimumFractionDigits:t}):void 0!==a&&""!==a?e.toLocaleString(void 0,{maximumFractionDigits:a}):e.toLocaleString())};let myMdwHelper=vis.binds.materialdesign.helper;vis.binds.materialdesign.vueHelper={input:{getConstructor:function(e){let t=myMdwHelper.getValueFromData(e.inputLayout,"regular"),a=!1,o=!1;return"regular"===t?t="":t.includes("shaped")?(t=t.replace("-shaped",""),a=!0):t.includes("rounded")&&(t=t.replace("-rounded",""),o=!0),`\n ${t}\n :height="height"\n :label="label"\n :type="type" \n :hint="messages"\n :counter="counter"\n hide-details="auto"\n :prefix="prefix"\n :suffix="suffix"\n :placeholder="placeholder"\n ${e.showInputMessageAlways?"persistent-hint":""}\n ${a?"shaped":""}\n ${o?"rounded":""}\n dense\n ${e.clearIconShow?"clearable":""}\n :clear-icon="clearIcon"\n \n @change="changeEvent"\n `},getTemplates:function(e){return`\n ${null!==myMdwHelper.getValueFromData(e.prepandIcon,null)?'':""}\n\n ${null!==myMdwHelper.getValueFromData(e.prepandInnerIcon,null)?'':""}\n\n ${null!==myMdwHelper.getValueFromData(e.appendOuterIcon,null)?'':""} \n `},getData:function(e,t,a=""){return{height:t,label:myMdwHelper.getValueFromData(e.inputLabelText,""),type:myMdwHelper.getValueFromData(e.inputType,"text"),messages:myMdwHelper.getValueFromData(e.inputMessage,""),counter:e.showInputCounter,prefix:myMdwHelper.getValueFromData(e.inputPrefix,""),suffix:myMdwHelper.getValueFromData(e.inputSuffix,""),placeholder:a,clearIcon:myMdwHelper.getValueFromData(e.clearIcon,"mdi-close","mdi-"),prepandIcon:myMdwHelper.getAllowedImageFileExtensions().some(t=>myMdwHelper.getValueFromData(e.prepandIcon,"").includes(t))?void 0:myMdwHelper.getValueFromData(e.prepandIcon,void 0,"mdi-"),prepandImage:myMdwHelper.getAllowedImageFileExtensions().some(t=>myMdwHelper.getValueFromData(e.prepandIcon,"").includes(t))?myMdwHelper.getValueFromData(e.prepandIcon,void 0):void 0,prepandInnerIcon:myMdwHelper.getAllowedImageFileExtensions().some(t=>myMdwHelper.getValueFromData(e.prepandInnerIcon,"").includes(t))?void 0:myMdwHelper.getValueFromData(e.prepandInnerIcon,void 0,"mdi-"),prepandInnerImage:myMdwHelper.getAllowedImageFileExtensions().some(t=>myMdwHelper.getValueFromData(e.prepandInnerIcon,"").includes(t))?myMdwHelper.getValueFromData(e.prepandInnerIcon,void 0):void 0,appendOuterIcon:myMdwHelper.getAllowedImageFileExtensions().some(t=>myMdwHelper.getValueFromData(e.appendOuterIcon,"").includes(t))?void 0:myMdwHelper.getValueFromData(e.appendOuterIcon,void 0,"mdi-"),appendOuterImage:myMdwHelper.getAllowedImageFileExtensions().some(t=>myMdwHelper.getValueFromData(e.appendOuterIcon,"").includes(t))?myMdwHelper.getValueFromData(e.appendOuterIcon,void 0):void 0}},setStyles:function(e,t){t.inputLayout.includes("filled")?(e.context.style.setProperty("--vue-text-field-background-color",myMdwHelper.getValueFromData(t.inputLayoutBackgroundColor,"")),e.context.style.setProperty("--vue-text-field-background-hover-color",myMdwHelper.getValueFromData(t.inputLayoutBackgroundColorHover,myMdwHelper.getValueFromData(t.inputLayoutBackgroundColor,""))),e.context.style.setProperty("--vue-text-field-background-after-color",myMdwHelper.getValueFromData(t.inputLayoutBackgroundColorSelected,myMdwHelper.getValueFromData(t.inputLayoutBackgroundColor,"")))):(e.context.style.setProperty("--vue-text-field-background-color",myMdwHelper.getValueFromData(t.inputLayoutBackgroundColor,"transparent")),e.context.style.setProperty("--vue-text-field-background-hover-color",myMdwHelper.getValueFromData(t.inputLayoutBackgroundColorHover,myMdwHelper.getValueFromData(t.inputLayoutBackgroundColor,"transparent"))),e.context.style.setProperty("--vue-text-field-background-after-color",myMdwHelper.getValueFromData(t.inputLayoutBackgroundColorSelected,myMdwHelper.getValueFromData(t.inputLayoutBackgroundColor,"transparent")))),e.context.style.setProperty("--vue-text-field-before-color",myMdwHelper.getValueFromData(t.inputLayoutBorderColor,"")),e.context.style.setProperty("--vue-text-field-hover-color",myMdwHelper.getValueFromData(t.inputLayoutBorderColorHover,"")),e.context.style.setProperty("--vue-text-field-after-color",myMdwHelper.getValueFromData(t.inputLayoutBorderColorSelected,"")),e.context.style.setProperty("--vue-text-field-label-before-color",myMdwHelper.getValueFromData(t.inputLabelColor,"")),e.context.style.setProperty("--vue-text-field-label-after-color",myMdwHelper.getValueFromData(t.inputLabelColorSelected,"")),e.context.style.setProperty("--vue-text-field-label-font-family",myMdwHelper.getValueFromData(t.inputLabelFontFamily,"")),e.context.style.setProperty("--vue-text-field-label-font-size",myMdwHelper.getNumberFromData(t.inputLabelFontSize,"16")+"px"),e.context.style.setProperty("--vue-text-field-input-text-color",myMdwHelper.getValueFromData(t.inputTextColor,"")),e.context.style.setProperty("--vue-text-field-input-text-font-size",myMdwHelper.getNumberFromData(t.inputTextFontSize,"16")+"px"),e.context.style.setProperty("--vue-text-field-input-text-font-family",myMdwHelper.getValueFromData(t.inputTextFontFamily,"")),e.context.style.setProperty("--vue-text-field-appendix-color",myMdwHelper.getValueFromData(t.inputAppendixColor,myMdwHelper.getValueFromData(t.inputTextColor,""))),e.context.style.setProperty("--vue-text-field-appendix-font-size",myMdwHelper.getNumberFromData(t.inputAppendixFontSize,myMdwHelper.getNumberFromData(t.inputTextFontSize,"16"))+"px"),e.context.style.setProperty("--vue-text-field-appendix-font-family",myMdwHelper.getValueFromData(t.inputAppendixFontFamily,myMdwHelper.getValueFromData(t.inputTextFontFamily,""))),e.context.style.setProperty("--vue-text-field-message-color",myMdwHelper.getValueFromData(t.inputMessageColor,"")),e.context.style.setProperty("--vue-text-field-message-font-size",myMdwHelper.getNumberFromData(t.inputMessageFontSize,"12")+"px"),e.context.style.setProperty("--vue-text-field-message-font-family",myMdwHelper.getValueFromData(t.inputMessageFontFamily,"")),e.context.style.setProperty("--vue-text-field-counter-color",myMdwHelper.getValueFromData(t.inputCounterColor,"")),e.context.style.setProperty("--vue-text-field-counter-font-size",myMdwHelper.getNumberFromData(t.inputCounterFontSize,"12")+"px"),e.context.style.setProperty("--vue-text-field-counter-font-family",myMdwHelper.getValueFromData(t.inputCounterFontFamily,"")),e.context.style.setProperty("--vue-text-field-translate-x",myMdwHelper.getNumberFromData(t.inputTranslateX,0)+"px"),e.context.style.setProperty("--vue-text-field-translate-y",myMdwHelper.getNumberFromData(t.inputTranslateY,-16)+"px"),e.context.style.setProperty("--vue-text-icon-clear-size",myMdwHelper.getNumberFromData(t.clearIconSize,16)+"px"),e.context.style.setProperty("--vue-text-icon-clear-color",myMdwHelper.getValueFromData(t.clearIconColor,"")),e.context.style.setProperty("--vue-text-icon-append-outer-size",myMdwHelper.getNumberFromData(t.appendOuterIconSize,16)+"px"),e.context.style.setProperty("--vue-text-icon-append-outer-color",myMdwHelper.getValueFromData(t.appendOuterIconColor,"")),e.context.style.setProperty("--vue-text-icon-prepand-size",myMdwHelper.getNumberFromData(t.prepandIconSize,16)+"px"),e.context.style.setProperty("--vue-text-icon-prepand-color",myMdwHelper.getValueFromData(t.prepandIconColor,"")),e.context.style.setProperty("--vue-text-icon-prepand-inner-size",myMdwHelper.getNumberFromData(t.prepandInnerIconSize,16)+"px"),e.context.style.setProperty("--vue-text-icon-prepand-inner-color",myMdwHelper.getValueFromData(t.prepandInnerIconColor,""))}},select:{getConstructor:function(e){let t=myMdwHelper.getValueFromData(e.listPosition,"auto"),a=`{offsetY: ${myMdwHelper.getValueFromData(e.listPositionOffset,"false")}}`;return"top"===t?a=`{top: true, offsetY: ${myMdwHelper.getValueFromData(e.listPositionOffset,"false")}}`:"bottom"===t&&(a=`{bottom: true, offsetY: ${myMdwHelper.getValueFromData(e.listPositionOffset,"false")}}`),`\n ${vis.binds.materialdesign.vueHelper.input.getConstructor(e)}\n\n v-model="item"\n item-text="text"\n item-value="value"\n \n :items="items"\n :menu-props="${a}"\n \n :append-icon="collapseIcon"\n\n no-data-text="nur der smarte ioBrokler wird bestehen"\n\n @focus="focusEvent"\n @click:clear="clearEvent"\n `},getTemplates:function(e){return`\n ${vis.binds.materialdesign.vueHelper.input.getTemplates(e)}\n\n ${"no"!==e.showSelectedIcon?`\n \n `:""}\n \n \n `},getData:function(e,t,a,o="",l=""){let r=vis.binds.materialdesign.vueHelper.input.getData(e,t),i=vis.binds.materialdesign.vueHelper.getObjectByValue(vis.states.attr(e.oid+".val"),a,o);return r.item=i,r.items=a,r.icon=i.icon,r.image=i.image,r.collapseIcon=myMdwHelper.getValueFromData(e.collapseIcon,void 0,"mdi-"),r},setStyles:function(e,t){vis.binds.materialdesign.vueHelper.input.setStyles(e,t),e.context.style.setProperty("--vue-text-icon-append-size",myMdwHelper.getNumberFromData(t.collapseIconSize,16)+"px"),e.context.style.setProperty("--vue-text-icon-append-color",myMdwHelper.getValueFromData(t.collapseIconColor,"")),e.context.style.setProperty("--vue-text-icon-append-cursor","pointer")},setMenuStyles:function(e,t,a,o){let l=e.find(".v-input__slot").attr("aria-owns");a.length>0&&myMdwHelper.waitForElement(o,"#"+l,t.wid,"Select",function(){let e=o.find(`#${l} .v-list`).get(0);e.style.setProperty("--vue-list-item-height",myMdwHelper.getStringFromNumberData(t.listItemHeight,"auto","","px")),e.style.setProperty("--vue-list-item-background-color",myMdwHelper.getValueFromData(t.listItemBackgroundColor,"inherit")),e.style.setProperty("--vue-list-item-background-hover-color",myMdwHelper.getValueFromData(t.listItemBackgroundHoverColor,"")),e.style.setProperty("--vue-list-item-background-selected-color",myMdwHelper.getValueFromData(t.listItemBackgroundSelectedColor,"")),e.style.setProperty("--vue-ripple-effect-color",myMdwHelper.getValueFromData(t.listItemRippleEffectColor,"")),e.style.setProperty("--vue-list-item-font-size",myMdwHelper.getStringFromNumberData(t.listItemFontSize,"inherit","","px")),e.style.setProperty("--vue-list-item-font-family",myMdwHelper.getValueFromData(t.listItemFont,"inherit"));let a=myMdwHelper.getValueFromData(t.listItemFontColor,"inherit");e.style.setProperty("--vue-list-item-font-color",a),e.style.setProperty("--vue-list-item-font-color-hover",myMdwHelper.getValueFromData(t.listItemFontHoverColor,a)),e.style.setProperty("--vue-list-item-font-color-selected",myMdwHelper.getValueFromData(t.listItemFontSelectedColor,a)),e.style.setProperty("--vue-list-item-subtitle-font-size",myMdwHelper.getStringFromNumberData(t.listItemSubFontSize,"inherit","","px")),e.style.setProperty("--vue-list-item-subtitle-font-family",myMdwHelper.getValueFromData(t.listItemSubFont,"inherit"));let r=myMdwHelper.getValueFromData(t.listItemSubFontColor,"");e.style.setProperty("--vue-list-item-subtitle-font-color",r),e.style.setProperty("--vue-list-item-subtitle-font-color-hover",myMdwHelper.getValueFromData(t.listItemSubFontHoverColor,r)),e.style.setProperty("--vue-list-item-subtitle-font-color-selected",myMdwHelper.getValueFromData(t.listItemSubFontSelectedColor,r)),e.style.setProperty("--vue-list-item-value-font-size",myMdwHelper.getStringFromNumberData(t.listItemValueFontSize,"inherit","","px")),e.style.setProperty("--vue-list-item-value-font-family",myMdwHelper.getValueFromData(t.listItemValueFont,"inherit"));let i=myMdwHelper.getValueFromData(t.listItemValueFontColor,"");e.style.setProperty("--vue-list-item-value-font-color",i),e.style.setProperty("--vue-list-item-value-font-color-hover",myMdwHelper.getValueFromData(t.listItemValueFontHoverColor,i)),e.style.setProperty("--vue-list-item-value-font-color-selected",myMdwHelper.getValueFromData(t.listItemValueFontSelectedColor,i));let n=myMdwHelper.getValueFromData(t.listIconColor,"#44739e");e.style.setProperty("--vue-list-item-icon-size",myMdwHelper.getStringFromNumberData(t.listIconSize,"20px","","px")),e.style.setProperty("--vue-list-item-icon-color",n),e.style.setProperty("--vue-list-item-icon-color-hover",myMdwHelper.getValueFromData(t.listIconHoverColor,n)),e.style.setProperty("--vue-list-item-icon-color-selected",myMdwHelper.getValueFromData(t.listIconSelectedColor,n))})},generateItemList(e){let t=[];if("inputPerEditor"===e.listDataMethod)for(var a=0;a<=e.countSelectItems;a++){let o=myMdwHelper.getValueFromData(e.attr("value"+a),null);if(null!==o){let l=vis.binds.materialdesign.vueHelper.getIconOrImage(myMdwHelper.getValueFromData(e.attr("listIcon"+a),null));t.push({text:myMdwHelper.getValueFromData(e.attr("label"+a),o),subText:myMdwHelper.getValueFromData(e.attr("subLabel"+a),""),value:myMdwHelper.getValueFromData(e.attr("value"+a),""),icon:l.icon,image:l.image})}}else if("jsonStringObject"===e.listDataMethod){let o=null;try{o=JSON.parse(e.jsonStringObject)}catch(e){console.error(`[jsonStringObject] cannot parse json string! Error: ${e.message}`)}if(o)for(a=0;a<=o.length-1;a++){let e=o[a];if(null!==e.value){let a=vis.binds.materialdesign.vueHelper.getIconOrImage(e.icon);t.push({text:myMdwHelper.getValueFromData(e.text,e.value),subText:e.subText,value:e.value,icon:a.icon,image:a.image})}}}else if("valueList"===e.listDataMethod&&e.valueList){let o=myMdwHelper.getValueFromData(e.valueList,"").split(","),l=myMdwHelper.getValueFromData(e.valueListLabels,"").split(","),r=myMdwHelper.getValueFromData(e.valueListIcons,"").split(",");for(a=0;a<=o.length-1;a++){let e=o[a];if(e){let o=vis.binds.materialdesign.vueHelper.getIconOrImage(r[a]);t.push({text:myMdwHelper.getValueFromData(l[a],e),subText:"",value:e,icon:o.icon,image:o.image})}}}return t},setIoBrokerBinding(e,t,a,o=""){vis.states.bind(e.oid+".val",function(e,l,r){let i=vis.binds.materialdesign.vueHelper.getObjectByValue(l,a,o);t.item=i,t.icon=i.icon,t.image=i.image})},getMethods:function(e,t,a,o,l=""){return{changeEvent(t){if(t)t.value?vis.setValue(e.oid,t.value):vis.setValue(e.oid,t);else{let t=vis.binds.materialdesign.vueHelper.getObjectByValue(vis.states.attr(e.oid+".val"),a,l);this.item=t,this.icon=t.icon,this.image=t.image}},focusEvent(l){vis.binds.materialdesign.vueHelper.select.setMenuStyles(t,e,a,o)},clearEvent(t){vis.conn._socket.emit("getObject",e.oid,function(t,a){a&&a.common&&a.common.type?"string"===a.common.type?a.common.def?vis.setValue(e.oid,a.common.def):vis.setValue(e.oid,""):"number"===a.common.type?a.common.def?vis.setValue(e.oid,a.common.def):vis.setValue(e.oid,0):(console.warn(`[Vue Helper Select] no clear value for ${a.common.type} defined!`),vis.setValue(e.oid,void 0)):vis.setValue(e.oid,void 0)})}}}},alerts:{generateElement:function(e,t,a,o){let l=`${a}${o}`,r="";"none"!==myMdwHelper.getValueFromData(e.alertBorderLayout,"none")&&(r=`border="${e.alertBorderLayout}"`),t.append(`\n \n \n\n \n\n \n \n `)},getVuetifyElement:function(e,t,a,o,l){let r=vis.binds.materialdesign.vueHelper.getIconOrImage(t.icon),i=myMdwHelper.getNumberFromData(l.showMaxAlerts,0),n=new Vue({el:e.find(`#${a}${o}`).get(0),vuetify:new Vuetify,data:()=>({showAlert:!1,icon:r.icon,image:r.image,text:t.text})});i>0?o0&&(t[parseInt(a.attr("index"))].showAlert=!0)},300)})}},getObjectByValue:function(e,t,a=""){if(null!=e){var o=t.filter(t=>t.value.toString()===e.toString()||!isNaN(parseFloat(t.value))&&"number"==typeof t.value&&parseFloat(t.value)===parseFloat(e));return 1===o.length?o[0]:o.length>1?(console.warn("[Vuetify AutoComplete]: more than one result found!"),o[0]):"combobox"?{text:e,value:e}:null}return{text:"",value:""}},getIconOrImage:function(e){let t={icon:"",image:""};return e&&(null!==e&&myMdwHelper.getAllowedImageFileExtensions().some(t=>e.includes(t))?t.image=e:t.icon="mdi-"+e),t}};var myMdwAlertClearButtonClicked=!1;vis.binds.materialdesign.alerts=function(e,t){try{ let r=$(e),i="alerts_",n=vis.binds.materialdesign.vueHelper.alerts,s=[],d=null;try{d=JSON.parse(vis.states.attr(t.oid+".val")),vis.editMode&&0===d.length&&(d=l())}catch(e){d=o(),console.error(`[Vuetify Alerts 1] cannot parse json string! Error: ${e.message}`)}if(null!==d){for(var a=0;a<=d.length-1;a++)n.generateElement(t,r,i,a);myMdwHelper.waitForElement($("body"),"#materialdesign-vuetify-container",t.wid,"Alerts",function(){for(var e=0;e<=d.length-1;e++){let a=d[e];a.id=`${i}${e}`,s.push(n.getVuetifyElement(r,a,i,e,t))}let a=r.find(".materialdesign-icon-button");for(var o=0;o<=a.length-1;o++)new mdc.iconButton.MDCIconButtonToggle(r.find(".materialdesign-icon-button").get(o));n.initializeClearButtonEvent(r,s,t,d,i)})}function o(){return[{text:_("Error in JSON string"),borderColor:"red",icon:"alert-box",iconColor:"red"}]}function l(){return[{text:_("example that is only displayed in the editor"),borderColor:"blue",icon:"home",iconColor:"blue"},{text:_("no alert messages currently available"),borderColor:"orange",icon:"information",iconColor:"orange"}]}vis.states.bind(t.oid+".val",function(e,a,l){if(!myMdwAlertClearButtonClicked){r.find(".v-alert").remove(),s=[];try{d=JSON.parse(vis.states.attr(t.oid+".val"))}catch(e){d=o(),console.error(`[Vuetify Alerts 2] cannot parse json string! Error: ${e.message}`)}if(null!==d){for(var c=0;c<=d.length-1;c++){let e=d[c];e.id=`${i}${c}`,n.generateElement(t,r,i,c),s.push(n.getVuetifyElement(r,e,i,c,t))}let e=r.find(".materialdesign-icon-button");for(var u=0;u<=e.length-1;u++)new mdc.iconButton.MDCIconButtonToggle(r.find(".materialdesign-icon-button").get(u));n.initializeClearButtonEvent(r,s,t,d,i)}}myMdwAlertClearButtonClicked=!1}),r.context.style.setProperty("--vue-alerts-button-close-color",myMdwHelper.getValueFromData(t.closeIconColor,"")),r.context.style.setProperty("--mdc-theme-primary",myMdwHelper.getValueFromData(t.closeIconPressColor,"")),r.context.style.setProperty("--vue-alerts-text-font-family",myMdwHelper.getValueFromData(t.alertFontFamily,"inherit")),r.context.style.setProperty("--vue-alerts-text-size",myMdwHelper.getNumberFromData(t.alertFontSize,"16")+"px"),r.context.style.setProperty("--vue-alerts-icon-size",myMdwHelper.getNumberFromData(t.alertIconSize,"24")+"px"),r.context.style.setProperty("--vue-alerts-bottom-margin",myMdwHelper.getNumberFromData(t.alertMarginBottom,"16")+"px"),$(window).width()l.getData(t,a,s,n),methods:l.getMethods(t,o,s,e,n)});l.setStyles(o,t),l.setIoBrokerBinding(t,i,s,n)})})}o.append(`\n
\n \n\n ${l.getTemplates(t)}\n\n \n
`),myMdwHelper.oidNeedSubscribe(t.oid,t.wid,i,!1)?myMdwHelper.subscribeStatesAtRuntime(t.wid,i,function(){a()}):a()}catch(e){console.error(`[Vuetify AutoComplete]: error: ${e.message}, stack: ${e.stack} `)}},vis.binds.materialdesign.button={initializeButton:function(e,t=!1){try{let a=[],o="";myMdwHelper.getValueFromData(e.labelWidth,0)>0&&(o=`style="width: ${e.labelWidth}%;"`);let l="";t?!0===myMdwHelper.getBooleanFromData(e.lockEnabled)&&(l=``):!0===myMdwHelper.getBooleanFromData(e.lockEnabled)&&(l=``);let r="";"text"!==e.buttonStyle&&(r="materialdesign-button--"+e.buttonStyle),a.push('
');let i=myMdwHelper.getIconElement(e.image,"auto",myMdwHelper.getValueFromData(e.iconHeight,"auto","","px"),e.imageColor),n="";return null==myMdwHelper.getValueFromData(e.buttontext,null)||t||(n=`\n ${e.buttontext}\n `),"left"===e.iconPosition?a.push(`${i} ${n} ${l}
`):a.push(`${l} ${n} ${i}
`),{button:a.join(""),style:r}}catch(t){console.error(`[Button - ${e.wid}] initialize: error: ${t.message}, stack: ${t.stack}`)}},initializeVerticalButton:function(e){try{let t=[],a="";!0===myMdwHelper.getBooleanFromData(e.lockEnabled)&&(a=``);let o="";"text"!==e.buttonStyle&&(o="materialdesign-button--"+e.buttonStyle),t.push('
');let l=myMdwHelper.getIconElement(e.image,"auto",myMdwHelper.getValueFromData(e.iconHeight,"auto","","px"),e.imageColor),r="";return null!=myMdwHelper.getValueFromData(e.buttontext,null)&&(r=`\n ${e.buttontext}\n `),"top"===e.iconPosition?t.push(`${l}${r}${a}
`):t.push(`${r}${l}${a}
`),{button:t.join(""),style:o}}catch(t){console.error(`[Button - ${e.wid}] vertical initialize: error: ${t.message}, stack: ${t.stack}`)}},handleLink:function(e,t){$(e).click(function(){!vis.editMode&&t.href&&(t.openNewWindow?window.open(t.href):window.location.href=t.href)})},handleNavigation:function(e,t){if(!vis.editMode&&t.nav_view){var a=$(e),o=!1;a.on("click touchend",function(e){vis.detectBounce(this)||o||vis.changeView(t.nav_view,t.nav_view)}).on("touchmove",function(){o=!0}).on("touchstart",function(){o=!1})}},handleAddition:function(e,t){try{let a=$(e);a.on("click touchend",function(e){let a=vis.states.attr(t.oid+".val");t.minmax&&a==t.minmax||vis.setValue(t.oid,parseFloat(a)+parseFloat(t.value))})}catch(e){console.error(`[Button - ${t.wid}] handleAddition: error:: ${e.message}, stack: ${e.stack}`)}},handleState:function(e,t){try{var a=$(e),o=t.value;if("true"===o&&(o=!0),"false"===o&&(o=!1),"true"===a.attr("isLocked")&&a.css("filter",`grayscale(${myMdwHelper.getNumberFromData(t.lockFilterGrayscale,0)}%)`),!vis.editMode){var l=!1;function r(){a.find(".materialdesign-lock-icon").fadeOut(),a.attr("isLocked",!1),a.css("filter","grayscale(0%)"),setTimeout(function(){a.attr("isLocked",!0),a.find(".materialdesign-lock-icon").show(),a.css("filter",`grayscale(${myMdwHelper.getNumberFromData(t.lockFilterGrayscale,0)}%)`)},1e3*myMdwHelper.getNumberFromData(t.autoLockAfter,10))}a.on("click touchend",function(e){if(!vis.detectBounce(this)&&!l)if("false"===a.attr("isLocked")||void 0===a.attr("isLocked")){var o=t.oid;if(o){var i=t.value;null==i&&(i=!1),"true"===i&&(i=!0),"false"===i&&(i=!1),parseFloat(i).toString()==i&&(i=parseFloat(i)),o&&vis.setValue(o,i)}}else r()}).on("touchmove",function(){l=!0}).on("touchstart",function(){l=!1})}}catch(e){console.error(`[Button - ${t.wid}] handleState: error:: ${e.message}, stack: ${e.stack}`)}},handleToggle:function(e,t){try{var a=$(e);"true"===a.parent().attr("isLocked")&&a.parent().css("filter",`grayscale(${myMdwHelper.getNumberFromData(t.lockFilterGrayscale,0)}%)`);let r=myMdwHelper.getValueFromData(t.colorBgFalse,""),i=myMdwHelper.getValueFromData(t.colorBgTrue,r),n=myMdwHelper.getValueFromData(t.labelColorBgFalse,""),s=myMdwHelper.getValueFromData(t.labelColorBgTrue,n),d=myMdwHelper.getValueFromData(t.buttontext,""),c=myMdwHelper.getValueFromData(t.labelTrue,d),u=myMdwHelper.getValueFromData(t.labelColorFalse,""),m=myMdwHelper.getValueFromData(t.labelColorTrue,u);function o(){var e=vis.states.attr(t.oid+".val");let o=!1;"boolean"===t.toggleType?o=e:e===parseInt(t.valueOn)||e===t.valueOn?o=!0:e!==parseInt(t.valueOn)&&e!==t.valueOn&&e!==parseInt(t.valueOff)&&e!==t.valueOff&&"on"===t.stateIfNotTrueValue&&(o=!0),o?(a.parent().attr("toggled",!0),a.parent().css("background",i),myMdwHelper.changeIconElement(a.parent(),myMdwHelper.getValueFromData(t.imageTrue,myMdwHelper.getValueFromData(t.image,"")),"auto",myMdwHelper.getValueFromData(t.iconHeight,"auto","","px"),myMdwHelper.getValueFromData(t.imageTrueColor,myMdwHelper.getValueFromData(t.imageColor,""))),a.parent().find(".materialdesign-button__label").html(c).css("color",m),a.find(".labelRowContainer").css("background",s)):(a.parent().attr("toggled",!1),a.parent().css("background",r),myMdwHelper.changeIconElement(a.parent(),t.image,"auto",myMdwHelper.getValueFromData(t.iconHeight,"auto","","px"),t.imageColor),a.parent().find(".materialdesign-button__label").html(d).css("color",u),a.find(".labelRowContainer").css("background",n))}function l(){a.parent().find(".materialdesign-lock-icon").fadeOut(),a.parent().attr("isLocked",!1),a.parent().css("filter","grayscale(0%)"),setTimeout(function(){a.parent().attr("isLocked",!0),a.parent().find(".materialdesign-lock-icon").show(),a.parent().css("filter",`grayscale(${myMdwHelper.getNumberFromData(t.lockFilterGrayscale,0)}%)`)},1e3*myMdwHelper.getNumberFromData(t.autoLockAfter,10))}o(),t.readOnly&&!vis.editMode&&a.parent().css("pointer-events","none"),vis.states.bind(t.oid+".val",function(e,t,a){o()}),vis.editMode||(!1===myMdwHelper.getBooleanFromData(t.pushButton,!1)?a.parent().click(function(){"false"===a.parent().attr("isLocked")||void 0===a.parent().attr("isLocked")?"boolean"===t.toggleType?vis.setValue(t.oid,!vis.states.attr(t.oid+".val")):!0===a.parent().attr("toggled")||"true"===a.parent().attr("toggled")?vis.setValue(t.oid,t.valueOff):vis.setValue(t.oid,t.valueOn):l()}):(a.parent().on("mousedown touchstart",function(e){"false"===a.parent().attr("isLocked")||void 0===a.parent().attr("isLocked")?"boolean"===t.toggleType?vis.setValue(t.oid,!0):vis.setValue(t.oid,t.valueOn):l()}),a.parent().on("mouseup touchend",function(e){"boolean"===t.toggleType?vis.setValue(t.oid,!1):vis.setValue(t.oid,t.valueOff)})))}catch(e){console.error(`[Button - ${t.wid}] handleToggle: error:: ${e.message}, stack: ${e.stack}`)}}},vis.binds.materialdesign.calendar=function(e,t){try{let n=$(e),s="materialdesign-vuetify-calendar",d="";"text"!==t.controlButtonLayout&&(d="materialdesign-button--"+t.controlButtonLayout);let c=a(),u="";function a(){let e=[];try{let a=vis.states.attr(t.oid+".val");a?(e=JSON.parse(a),e.length>0&&(i(e)||(e=r()))):e=t.oid?[]:o()}catch(t){e=l(t),console.error(`[Vuetify Calendar] cannot parse json string! Error: ${t.message}`)}return e}function o(){return[{name:_("noObjectIdSpecified"),color:"#e6ae25",colorText:"",start:moment().add(-30,"days").format("YYYY-MM-DD"),end:moment().add(30,"days").format("YYYY-MM-DD")}]}function l(e){return[{name:_("Error in JSON string: ")+e.message,color:"#FF0000",colorText:"#FFFFFF",start:moment().add(-30,"days").format("YYYY-MM-DD"),end:moment().add(30,"days").format("YYYY-MM-DD")}]}function r(){return[{name:_("calendarJsonStringWrong"),color:"#FF0000",colorText:"#FFFFFF",start:moment().add(-30,"days").format("YYYY-MM-DD"),end:moment().add(30,"days").format("YYYY-MM-DD")}]}function i(e){let t=["name","start","end"],a=Object.getOwnPropertyNames(e[0]);for(var o=0;o<=t.length-1;o++)if(!a.includes(t[o]))return!1;return!0}"stretch"===t.controlPosition?n.context.style.setProperty("--vue-calendar-control-button-container-flex",1):(n.context.style.setProperty("--vue-calendar-control-button-container-flex",0),n.context.style.setProperty("--vue-calendar-control-button-container-min-width",myMdwHelper.getStringFromNumberData(t.controlMinWidth,"initial","","px")),u="center"===t.controlPosition?' style="justify-content: center;"':"left"===t.controlPosition?' style="justify-content: flex-start;"':' style="justify-content: flex-end;"'),n.append(`\n
\n \n ${"true"===myMdwHelper.getValueFromData(t.controlShow,!1)?`\n
\n
\n
\n \n ${"true"===myMdwHelper.getValueFromData(t.controlShowLabel,!1)?`${_("calendarControlPrev")}`:""}\n
\n
\n\n
\n
\n \n ${"true"===myMdwHelper.getValueFromData(t.controlShowLabel,!1)?`${_("calendarControlToday")}`:""}\n
\n
\n\n
\n
\n \n ${"true"===myMdwHelper.getValueFromData(t.controlShowLabel,!1)?`${_("calendarControlMonth")}`:""}\n
\n
\n\n
\n
\n \n ${"true"===myMdwHelper.getValueFromData(t.controlShowLabel,!1)?`${_("calendarControlWeek")}`:""}\n
\n
\n\n
\n
\n \n ${"true"===myMdwHelper.getValueFromData(t.controlShowLabel,!1)?`${_("calendarControlDay")}`:""}\n
\n
\n\n
\n
\n \n ${"true"===myMdwHelper.getValueFromData(t.controlShowLabel,!1)?`${_("calendarControlNext")}`:""}\n
\n
\n
\n `:""}\n\n \n \n
`),n.context.style.setProperty("--vue-calendar-border-color",myMdwHelper.getValueFromData(t.calendarBorderColor,"")),n.context.style.setProperty("--vue-calendar-background-color",myMdwHelper.getValueFromData(t.calendarDayBackgroundColor,"")),n.context.style.setProperty("--vue-calender-background-outside-color",myMdwHelper.getValueFromData(t.calendarDayBackgroundOutsideColor,"")),n.context.style.setProperty("--vue-calender-header-background-color",myMdwHelper.getValueFromData(t.calendarHeaderBackground,"")),n.context.style.setProperty("--vue-calendar-time-axis-background-color",myMdwHelper.getValueFromData(t.calendarTimeAxisBackgroundColor,"")),n.context.style.setProperty("--vue-calendar-time-axis-header-background-color",myMdwHelper.getValueFromData(t.calendarTimeAxisHeaderBackgroundColor,"")),n.context.style.setProperty("--vue-calendar-time-axis-text-size",myMdwHelper.getStringFromNumberData(t.calendarTimeAxisFontSize,"12px","","px")),n.context.style.setProperty("--vue-calendar-time-axis-text-font",myMdwHelper.getValueFromData(t.calendarTimeAxisFont,"inherit")),n.context.style.setProperty("--vue-calendar-time-axis-text-color",myMdwHelper.getValueFromData(t.calendarTimeAxisFontColor,"")),n.context.style.setProperty("--vue-btn-background-color-before",myMdwHelper.getValueFromData(t.calendarDayButtonColor,"")),n.context.style.setProperty("--vue-calendar-day-button-today-color",myMdwHelper.getValueFromData(t.calendarDayButtonTodayColor,"")),n.context.style.setProperty("--vue-ripple-effect-color",myMdwHelper.getValueFromData(t.calendarDayButtonRippleEffectColor,"")),n.context.style.setProperty("--vue-calendar-day-button-font-size",myMdwHelper.getStringFromNumberData(t.calendarDayButtonFontSize,"inherit","","px")),n.context.style.setProperty("--vue-calendar-day-button-font-family",myMdwHelper.getValueFromData(t.calendarDayButtonFontFamily,"inherit")),n.context.style.setProperty("--vue-calendar-day-button-font-color",myMdwHelper.getValueFromData(t.calendarDayButtonFontColor,"")),n.context.style.setProperty("--vue-calendar-day-button-today-font-size",myMdwHelper.getStringFromNumberData(t.calendarDayButtonTodayFontSize,"inherit","","px")),n.context.style.setProperty("--vue-calendar-day-button-today-font-family",myMdwHelper.getValueFromData(t.calendarDayButtonTodayFontFamily,"inherit")),n.context.style.setProperty("--vue-calendar-day-button-today-font-color",myMdwHelper.getValueFromData(t.calendarDayButtonTodayFontColor,"#fff")),n.context.style.setProperty("--vue-calendar-day-label-font-size",myMdwHelper.getStringFromNumberData(t.calendarDayLabelFontSize,"12px","","px")),n.context.style.setProperty("--vue-calendar-day-label-font-family",myMdwHelper.getValueFromData(t.calendarDayLabelFontFamily,"inherit")),n.context.style.setProperty("--vue-calendar-day-label-font-color",myMdwHelper.getValueFromData(t.calendarDayLabelFontColor,"")),n.context.style.setProperty("--vue-calendar-day-label-previous-font-color",myMdwHelper.getValueFromData(t.calendarDayLabelPreviousFontColor,"")),n.context.style.setProperty("--vue-calendar-day-label-today-font-size",myMdwHelper.getStringFromNumberData(t.calendarDayLabelTodayFontSize,"12px","","px")),n.context.style.setProperty("--vue-calendar-day-label-today-font-family",myMdwHelper.getValueFromData(t.calendarDayLabelTodayFontFamily,"inherit")),n.context.style.setProperty("--vue-calendar-day-label-today-font-color",myMdwHelper.getValueFromData(t.calendarDayLabelTodayFontColor,"")),n.context.style.setProperty("--vue-calendar-control-button-icon-size",myMdwHelper.getStringFromNumberData(t.controlIconSize,"24px","","px")),n.context.style.setProperty("--vue-calendar-control-button-icon-color",myMdwHelper.getValueFromData(t.controlIconColor,"")),n.context.style.setProperty("--vue-calendar-control-button-text-size",myMdwHelper.getStringFromNumberData(t.controlTextSize,"12px","","px")),n.context.style.setProperty("--vue-calendar-control-button-text-font",myMdwHelper.getValueFromData(t.controlTextFont,"inherit")),n.context.style.setProperty("--vue-calendar-control-button-text-color",myMdwHelper.getValueFromData(t.controlTextColor,"")),n.context.style.setProperty("--mdc-theme-primary",myMdwHelper.getValueFromData(t.controlButtonRippelEffectColor,"")),n.context.style.setProperty("--mdc-theme-on-primary",myMdwHelper.getValueFromData(t.controlButtonRippelEffectColor,"")),n.context.style.setProperty("--vue-aclendar-event-font-size",myMdwHelper.getStringFromNumberData(t.calendarEventFontSize,"12px","","px")),n.context.style.setProperty("--vue-aclendar-event-font",myMdwHelper.getValueFromData(t.calendarEventFont,"inherit")),myMdwHelper.waitForElement(n,`.${s}`,t.wid,"Calendar",function(){myMdwHelper.waitForElement($("body"),"#materialdesign-vuetify-container",t.wid,"Calendar",function(){let e=myMdwHelper.getNumberFromData(t.calendarTimeAxisStartTime,0),o=myMdwHelper.getNumberFromData(t.calendarTimeAxisEndTime,24),l=myMdwHelper.getNumberFromData(t.calendarTimeAxisIntervalMinutes,60),r=new Vue({el:n.find(`.${s}`).get(0),vuetify:new Vuetify,data:()=>({focus:moment().format("YYYY-MM-DD"),type:t.calendarView,btnTodayColor:myMdwHelper.getValueFromData(t.calendarDayButtonTodayColor,"#44739e"),shortWeekdays:"true"===myMdwHelper.getValueFromData(t.calendarShortWeekdays,!1),intervalWidth:myMdwHelper.getNumberFromData(t.calendarTimeAxisWidth,60),intervalHeight:myMdwHelper.getNumberFromData(t.calendarTimeAxisHeight,48),shortIntervals:"true"===myMdwHelper.getValueFromData(t.calendarTimeAxisShortIntervals,!1),locale:vis.language,weekdays:myMdwHelper.getValueFromData(t.calendarWeekdays,"1,2,3,4,5,6,0").split(",").map(Number),firstInterval:60*e/l,intervalCount:60*o/l-60*e/l,intervalMinutes:l,events:c,eventHeight:myMdwHelper.getNumberFromData(t.calendarEventHeight,20),eventOverlapMode:t.calendarEventOverlapMode}),methods:{getEventColor:e=>e.color,getEventTextColor:e=>e.colorText,viewDay({date:e}){vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),this.focus=e,"month"===this.type?this.type=t.calendarDayButtonMonthViewGoTo:"week"===this.type?this.type=t.calendarDayButtonWeekViewGoTo:"day"===this.type&&(this.type=t.calendarDayButtonDayViewGoTo)},swipe(e){this.swipeDirection=e,"Left"===e?this.$refs.calendar.prev():"Right"===e&&this.$refs.calendar.next()}},mounted(){this.$refs.calendar.scrollToTime(moment(this.now).format("HH:mm"))}}),i=n.find(".materialdesign-vuetify-calendar-control-button");for(var d=0;d<=i.length-1;d++)mdc.ripple.MDCRipple.attachTo(i.get(d));n.find("#control-prev").click(function(){vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),r.$refs.calendar.prev()}),n.find("#control-today").click(function(){vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),r.focus=r.now}),n.find("#control-month").click(function(){vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),r.type="month"}),n.find("#control-week").click(function(){vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),r.type="week"}),n.find("#control-day").click(function(){vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),r.type="day"}),n.find("#control-next").click(function(){vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),r.$refs.calendar.next()}),vis.states.bind(t.oid+".val",function(e,t,o){c=a(),r.events=c})})})}catch(e){console.error(`[Vuetify Calendar]: error: ${e.message}, stack: ${e.stack}`)}},vis.binds.materialdesign.card={initialize:function(e){try{let t="",a="";"default"!==e.cardStyle&&(a="mdc-card--outlined");let o=myMdwHelper.getFontSize(e.titleLayout),l=myMdwHelper.getFontSize(e.subtitleLayout),r=myMdwHelper.getFontSize(e.textFontSize),i=myMdwHelper.getValueFromData(e.labelTextHeight,"","height: ","px;"),n=myMdwHelper.getValueFromData(e.labelSubTextHeight,"","height: ","px;"),s="display: none;";null!==myMdwHelper.getValueFromData(e.image,null)&&(s="");let d="display: none;";null==myMdwHelper.getValueFromData(e.title,null)&&null==myMdwHelper.getValueFromData(e.subtitle,null)||(d="");let c="";return c="custom"===e.htmlLayout?"card-custom-body":"mdc-typography mdc-typography--"+e.htmlLayout,"Basic"===e.cardLayout?t=`
\n
\n
${e.title}
\n
${e.subtitle}
\n
\n
\n
${e.html}
\n
`:"BasicHeader"===e.cardLayout?t=`
\n
${e.title}
\n
${e.subtitle}
\n
\n
\n
\n
${e.html}
\n
`:"BasicHeaderOverlay"===e.cardLayout?t=`
\n
\n
\n
${e.title}
\n
${e.subtitle}
\n
\n
\n
\n
\n
${e.html}
\n
`:"Horizontal"===e.cardLayout&&(t=`
\n
\n
\n
\n
${e.title}
\n
${e.subtitle}
\n
\n
\n
${e.html}
\n
\n
\n
`),{card:t,style:a}}catch(e){console.error(`[Card] initialize: error:: ${e.message}, stack: ${e.stack}`)}},handler:function(e,t){try{let a=$(e),o=a.context,l=myMdwHelper.getValueFromData(t.colorBackground,"");o.style.setProperty("--materialdesign-color-card-background",l), o.style.setProperty("--materialdesign-color-card-title-section-background",myMdwHelper.getValueFromData(t.colorTitleSectionBackground,l)),o.style.setProperty("--materialdesign-color-card-text-section-background",myMdwHelper.getValueFromData(t.colorTextSectionBackground,l)),o.style.setProperty("--materialdesign-color-card-title",myMdwHelper.getValueFromData(t.colorTitle,"")),o.style.setProperty("--materialdesign-color-card-sub-title",myMdwHelper.getValueFromData(t.colorSubtitle,""))}catch(e){console.error(`[Card] handler: error: ${e.message}, stack: ${e.stack}`)}}},vis.binds.materialdesign.chart={bar:function(e,t){try{setTimeout(function(){let a=vis.binds.materialdesign.chart.helper;a.registerChartAreaPlugin();$(e);var o=$(e).find(".materialdesign-chart-container").get(0);$(e).find(".materialdesign-chart-container").css("background-color",myMdwHelper.getValueFromData(t.backgroundColor,""));let l=myMdwHelper.getValueFromData(t.globalColor,"#44739e"),r=myMdwHelper.getValueFromData(t.colorScheme,null);if(null!==r&&(r=vis.binds.materialdesign.colorScheme.get(t.colorScheme,t.dataCount)),null!=o&&""!==o){var i=o.getContext("2d");Chart.defaults.global.defaultFontColor="#44739e",Chart.defaults.global.defaultFontSize=15,Chart.defaults.global.animation.duration=myMdwHelper.getNumberFromData(t.animationDuration,1e3),Chart.plugins.unregister(ChartDataLabels);let e=[],p=[],g=[],b=[],y=myMdwHelper.getValueFromData(t.valuesFontColor,"black"),h=[],f=0,w=null;if("jsonStringObject"===t.chartDataMethod){try{w=JSON.parse(vis.states.attr(t.oid+".val")),f=w.length-1}catch(e){console.error(`[Bar Chart ${t.wid}] cannot parse json string! Error: ${e.message}`)}vis.states.bind(t.oid+".val",u)}else f=t.dataCount;for(var n=0;n<=f;n++){null!==r&&(l=r[n]);let o=m(n,t,w,l,y);e.push(o.value),p.push(o.label),g.push(o.dataColor),null===myMdwHelper.getValueFromData(t.hoverColor,null)?b.push(a.addOpacityToColor(o.dataColor,80)):b.push(t.hoverColor),h.push(o.valueColor),vis.states.bind(t.attr("oid"+n)+".val",u)}var s={labels:p,datasets:[Object.assign(a.getDataset(e,g,b,void 0,t.hoverBorderColor,void 0,t.hoverBorderWidth),{label:myMdwHelper.getValueFromData(t.barLabelText,""),categoryPercentage:myMdwHelper.getNumberFromData(t.barWidth,80)/100,barPercentage:myMdwHelper.getNumberFromData(t.barWidth,80)/100})]},d={responsive:!0,maintainAspectRatio:!1,layout:a.getLayout(t),legend:a.getLegend(t),chartArea:{backgroundColor:myMdwHelper.getValueFromData(t.chartAreaBackgroundColor,"")},scales:{yAxes:[a.get_Y_AxisObject(t.chartType,t.yAxisPosition,t.yAxisTitle,t.yAxisTitleColor,t.yAxisTitleFontFamily,t.yAxisTitleFontSize,t.yAxisShowAxisLabels,t.axisValueMin,t.axisValueMax,t.axisValueStepSize,t.axisMaxLabel,t.axisLabelAutoSkip,t.axisValueAppendText,t.yAxisValueLabelColor,t.yAxisValueFontFamily,t.yAxisValueFontSize,t.yAxisValueDistanceToAxis,t.yAxisGridLinesColor,t.yAxisGridLinesWitdh,t.yAxisShowAxis,t.yAxisShowGridLines,t.yAxisShowTicks,t.yAxisTickLength,t.yAxisZeroLineWidth,t.yAxisZeroLineColor,t.axisValueMinDigits,t.axisValueMaxDigits)],xAxes:[a.get_X_AxisObject(t.chartType,t.xAxisPosition,t.xAxisTitle,t.xAxisTitleColor,t.xAxisTitleFontFamily,t.xAxisTitleFontSize,t.xAxisShowAxisLabels,t.axisValueMin,t.axisValueMax,t.axisValueStepSize,t.axisMaxLabel,t.axisLabelAutoSkip,t.axisValueAppendText,t.xAxisValueLabelColor,t.xAxisValueFontFamily,t.xAxisValueFontSize,t.xAxisValueDistanceToAxis,t.xAxisGridLinesColor,t.xAxisGridLinesWitdh,t.xAxisShowAxis,t.xAxisShowGridLines,t.xAxisShowTicks,t.xAxisTickLength,t.xAxisZeroLineWidth,t.xAxisZeroLineColor,t.xAxisOffsetGridLines,t.axisValueMinDigits,t.axisValueMaxDigits,t.xAxisMinRotation,t.xAxisMaxRotation)]},tooltips:{enabled:t.showTooltip,backgroundColor:myMdwHelper.getValueFromData(t.tooltipBackgroundColor,"black"),caretSize:myMdwHelper.getNumberFromData(t.tooltipArrowSize,5),caretPadding:myMdwHelper.getNumberFromData(t.tooltipDistanceToBar,2),cornerRadius:myMdwHelper.getNumberFromData(t.tooltipBoxRadius,4),displayColors:t.tooltipShowColorBox,xPadding:myMdwHelper.getNumberFromData(t.tooltipXpadding,10),yPadding:myMdwHelper.getNumberFromData(t.tooltipYpadding,10),titleFontColor:myMdwHelper.getValueFromData(t.tooltipTitleFontColor,"white"),titleFontFamily:myMdwHelper.getValueFromData(t.tooltipTitleFontFamily,void 0),titleFontSize:myMdwHelper.getNumberFromData(t.tooltipTitleFontSize,void 0),titleMarginBottom:myMdwHelper.getNumberFromData(t.tooltipTitleMarginBottom,6),bodyFontColor:myMdwHelper.getValueFromData(t.tooltipBodyFontColor,"white"),bodyFontFamily:myMdwHelper.getValueFromData(t.tooltipBodyFontFamily,void 0),bodyFontSize:myMdwHelper.getNumberFromData(t.tooltipBodyFontSize,void 0),callbacks:{label:function(e,a){return e&&e.value?`${a.datasets[0].label}: ${myMdwHelper.formatNumber(e.value,t.tooltipValueMinDecimals,t.tooltipValueMaxDecimals)}${myMdwHelper.getValueFromData(t.tooltipBodyAppend,"")}`.split("\\n"):""}}},plugins:{datalabels:{anchor:t.valuesPositionAnchor,align:t.valuesPositionAlign,clamp:!0,offset:myMdwHelper.getNumberFromData(t.valuesPositionOffset,0),rotation:myMdwHelper.getNumberFromData(t.valuesRotation,void 0),formatter:function(e,a){if((e||0===e)&&a.dataIndex%myMdwHelper.getNumberFromData(t.valuesSteps,1)==0){let o=m(a.dataIndex,t,w,l,y,e);return`${o.valueText}${o.valueAppendix}`.split("\\n")}return null},font:{family:myMdwHelper.getValueFromData(t.valuesFontFamily,void 0),size:myMdwHelper.getNumberFromData(t.valuesFontSize,void 0)},color:h,textAlign:t.valuesTextAlign}}};t.disableHoverEffects&&(d.hover={mode:null});var c=new Chart(i,{type:"vertical"===t.chartType?"bar":"horizontalBar",data:s,options:d,plugins:t.showValues?[ChartDataLabels]:void 0});function u(e,o,i){if("inputPerEditor"===t.chartDataMethod){let a=e.type.substr(0,e.type.lastIndexOf("."));for(var n=0;n<=t.dataCount;n++)if(a===t.attr("oid"+n)){let e=n;c.data.datasets[0].data[e]=o,c.update()}}else try{let e=JSON.parse(o);for(n=0;n<=e.length-1;n++){null!==r&&(l=r[n]);let o=m(n,t,e,l,y);c.data.datasets[0].data[n]=o.value,c.data.datasets[0].backgroundColor[n]=o.dataColor,c.data.labels[n]=o.label,null===myMdwHelper.getValueFromData(t.hoverColor,null)?c.data.datasets[0].hoverBackgroundColor[n]=a.addOpacityToColor(o.dataColor,80):c.data.datasets[0].hoverBackgroundColor[n]=t.hoverColor,c.options.plugins.datalabels.color[n]=o.valueColor,c.options.plugins.datalabels.formatter=function(a,o){if(a){let r=m(o.dataIndex,t,e,l,y,a);return`${r.valueText}${r.valueAppendix}`.split("\\n")}return""}}c.update()}catch(e){console.error(`[Bar Chart ${t.wid}] onChange: cannot parse json string! Error: ${e.message}`)}}function m(e,t,a,o,l,r=0){return"inputPerEditor"===t.chartDataMethod?{label:myMdwHelper.getValueFromData(t.attr("label"+e),"").split("\\n"),value:vis.states.attr(t.attr("oid"+e)+".val"),dataColor:myMdwHelper.getValueFromData(t.attr("dataColor"+e),o),valueText:myMdwHelper.getValueFromData(t.attr("valueText"+e),`${myMdwHelper.formatNumber(r,t.valuesMinDecimals,t.valuesMaxDecimals)}${myMdwHelper.getValueFromData(t.valuesAppendText,"")}`),valueColor:myMdwHelper.getValueFromData(t.attr("valueTextColor"+e),l),valueAppendix:myMdwHelper.getValueFromData(t.attr("labelValueAppend"+e),"")}:{label:myMdwHelper.getValueFromData(a[e].label,"").split("\\n"),value:a[e].value,dataColor:myMdwHelper.getValueFromData(a[e].dataColor,o),valueText:myMdwHelper.getValueFromData(a[e].valueText,`${myMdwHelper.formatNumber(r,t.valuesMinDecimals,t.valuesMaxDecimals)}${myMdwHelper.getValueFromData(t.valuesAppendText,"")}`),valueColor:myMdwHelper.getValueFromData(a[e].valueColor,l),valueAppendix:myMdwHelper.getValueFromData(a[e].valueAppendix,"")}}}},1)}catch(e){console.error(`[Bar Chart ${t.wid}] error: ${e.message}, stack: ${e.stack}`)}},lineHistory:function(e,t){try{let a=myMdwHelper.getBooleanFromData(t.mdwDebug,!1);a&&console.log(`[Line History Chart ${t.wid}] widget setting: ${JSON.stringify(t)}`),setTimeout(function(){function o(e,o,i){e&&e.type&&!e.type.includes(t.manualRefreshTrigger)&&!e.type.includes(t.time_interval_oid)&&(a&&console.log(`[Line History Chart ${t.wid}] ************************************************************** onChange - Data changed **************************************************************`),a&&console.log(`[Line History Chart ${t.wid}] data changed for '${e.type}'`));let n=!0;if(e&&e.type&&e.type.includes(t.manualRefreshTrigger)&&(moment(o).diff(moment(i))<2e3?(a&&console.log(`[Line History Chart ${t.wid}] trigger '${e.type}' - you have to wait 2 seconds until next refresh!: ${moment(o).diff(moment(i))} ms`),n=!1):(a&&console.log(`[Line History Chart ${t.wid}] ************************************************************** onChange - OID Refresh Trigger **************************************************************`),a&&console.log(`[Line History Chart ${t.wid}] time diff since last refresh from '${e.type}': ${moment(o).diff(moment(i))} ms`))),r&&n){s.show();let o=t.timeIntervalToShow;if(c=(new Date).getTime()-l.intervals[o],null!==myMdwHelper.getValueFromData(t.time_interval_oid,null)){let r=vis.states.attr(t.time_interval_oid+".val");e&&e.type&&e.type.includes(t.time_interval_oid)&&(a&&console.log(`[Line History Chart ${t.wid}] ************************************************************** onChange - OID TimeInterval **************************************************************`),a&&console.log(`[Line History Chart ${t.wid}] time interval changed by '${t.time_interval_oid}' to: ${r}`)),"string"==typeof r&&void 0!==l.intervals[r]?(c=(new Date).getTime()-l.intervals[r],o=vis.states.attr(t.time_interval_oid+".val")):c=r}let i=[];for(var d=0;d<=t.dataCount;d++)null!==myMdwHelper.getValueFromData(t.attr("oid"+d),null)&&i.push(l.getTaskForHistoryData(t.attr("oid"+d),t,c,a));Promise.all(i).then(e=>{a&&console.log(`[Line History Chart ${t.wid}] promise all datasets - count: ${e.length}`);for(var o=0;o<=e.length-1;o++){let i=l.getPreparedData(e[o],t,o,a);r.data.datasets[o].data=i}r.update(),s.hide()})}}let l=vis.binds.materialdesign.chart.helper;var r;l.registerChartAreaPlugin();let i=$(e);var n=i.find(".materialdesign-chart-container").get(0),s=i.find(".material-progress-circular-container");s.show();let d=t.timeIntervalToShow,c=(new Date).getTime()-l.intervals[d];if(null!==myMdwHelper.getValueFromData(t.time_interval_oid,null)){let e=vis.states.attr(t.time_interval_oid+".val");"string"==typeof e&&void 0!==l.intervals[e]?(c=(new Date).getTime()-l.intervals[e],d=vis.states.attr(t.time_interval_oid+".val")):c=e,vis.states.bind(t.time_interval_oid+".val",o)}i.find(".materialdesign-chart-container").css("background-color",myMdwHelper.getValueFromData(t.backgroundColor,""));let u=myMdwHelper.getValueFromData(t.globalColor,"#44739e"),m=myMdwHelper.getValueFromData(t.colorScheme,null);if(null!==m&&(m=vis.binds.materialdesign.colorScheme.get(t.colorScheme,t.dataCount)),null!==myMdwHelper.getValueFromData(t.manualRefreshTrigger,null)&&vis.states.bind(t.manualRefreshTrigger+".ts",o),"timeInterval"===t.refreshMethod&&setInterval(function(){a&&console.log(`[Line History Chart ${t.wid}] ************************************************************** onChange - TimeInterval by Editor **************************************************************`),o()},l.intervals[t.refreshTimeInterval]),null!=n&&""!==n){var p=n.getContext("2d");if(Chart.defaults.global.defaultFontColor="#44739e",Chart.defaults.global.defaultFontSize=15,Chart.defaults.global.animation.duration=myMdwHelper.getNumberFromData(t.animationDuration,1e3),Chart.plugins.unregister(ChartDataLabels),null!==myMdwHelper.getValueFromData(t.historyAdapterInstance,null)){let e=[];for(var g=0;g<=t.dataCount;g++)null!==myMdwHelper.getValueFromData(t.attr("oid"+g),null)&&(e.push(l.getTaskForHistoryData(t.attr("oid"+g),t,c,a)),"realtime"===t.refreshMethod&&vis.states.bind(t.attr("oid"+g)+".val",o));Promise.all(e).then(e=>{a&&console.log(`[Line History Chart ${t.wid}] promise all datasets - count: ${e.length}`);let o=[],i=[];for(var n=0;n<=e.length-1;n++){let r=l.getPreparedData(e[n],t,n,a);o.push({data:r,lineTension:myMdwHelper.getNumberFromData(t.attr("lineTension"+n),.4),borderWidth:myMdwHelper.getNumberFromData(t.attr("lineThikness"+n),2),label:myMdwHelper.getValueFromData(t.attr("legendText"+n),""),borderColor:myMdwHelper.getValueFromData(t.attr("dataColor"+n),m?myMdwHelper.getValueFromData(m[n],u):u),pointBackgroundColor:myMdwHelper.getValueFromData(t.attr("dataColor"+n),m?myMdwHelper.getValueFromData(m[n],u):u),fill:myMdwHelper.getBooleanFromData(t.attr("useFillColor"+n),!1),backgroundColor:myMdwHelper.getValueFromData(t.attr("fillColor"+n),l.addOpacityToColor(myMdwHelper.getValueFromData(t.attr("dataColor"+n),m?myMdwHelper.getValueFromData(m[n],u):u),10)),pointRadius:myMdwHelper.getNumberFromData(t.pointSize,3),pointHoverRadius:myMdwHelper.getNumberFromData(t.pointSizeHover,4),pointStyle:myMdwHelper.getValueFromData(t.pointStyle,"circle"),pointHoverBorderColor:myMdwHelper.getValueFromData(t.attr("pointHoverColor"+n),myMdwHelper.getValueFromData(t.attr("dataColor"+n),m?myMdwHelper.getValueFromData(m[n],u):u)),pointHoverBackgroundColor:myMdwHelper.getValueFromData(t.attr("pointHoverColor"+n),myMdwHelper.getValueFromData(t.attr("dataColor"+n),m?myMdwHelper.getValueFromData(m[n],u):u)),yAxisID:"yAxis_id_"+myMdwHelper.getNumberFromData(t.attr("commonYAxis"+n),n),spanGaps:t.attr("lineSpanGaps"+n),datalabels:{display:t.attr("showValues"+n),anchor:t.attr("valuesPositionAnchor"+n),align:t.attr("valuesPositionAlign"+n),offset:myMdwHelper.getNumberFromData(t.attr("valuesPositionOffset"+n),0),clamp:!0,rotation:myMdwHelper.getNumberFromData(t.attr("valuesRotation"+n),void 0),formatter:function(e,a){return!e.y&&0!==e.y||a.dataIndex%myMdwHelper.getNumberFromData(t.attr("valuesSteps"+a.datasetIndex),1)!=0?null:`${myMdwHelper.formatNumber(e.y,t.attr("valuesMinDecimals"+a.datasetIndex),t.attr("valuesMaxDecimals"+a.datasetIndex))}${myMdwHelper.getValueFromData(t.attr("valuesAppendText"+a.datasetIndex),"")}`.split("\\n")},font:{family:myMdwHelper.getValueFromData(t.attr("valuesFontFamily"+n),void 0),size:myMdwHelper.getNumberFromData(t.attr("valuesFontSize"+n),void 0)},color:myMdwHelper.getValueFromData(t.attr("valuesFontColor"+n),myMdwHelper.getValueFromData(t.attr("dataColor"+n),m?myMdwHelper.getValueFromData(m[n],u):u)),textAlign:t.attr("valuesTextAlign"+n)}}),i.push({id:"yAxis_id_"+n,type:"linear",position:t.attr("yAxisPosition"+n),display:myMdwHelper.getNumberFromData(t.attr("commonYAxis"+n),n)===n&&t.attr("showYAxis"+n),scaleLabel:{display:null!==myMdwHelper.getValueFromData(t.attr("yAxisTitle"+n),null),labelString:myMdwHelper.getValueFromData(t.attr("yAxisTitle"+n),""),fontColor:myMdwHelper.getValueFromData(t.yAxisTitleColor,void 0),fontFamily:myMdwHelper.getValueFromData(t.yAxisTitleFontFamily,void 0),fontSize:myMdwHelper.getNumberFromData(t.yAxisTitleFontSize,void 0)},ticks:{min:myMdwHelper.getNumberFromData(t.attr("yAxisMinValue"+n),void 0),max:myMdwHelper.getNumberFromData(t.attr("yAxisMaxValue"+n),void 0),stepSize:myMdwHelper.getNumberFromData(t.attr("yAxisStep"+n),void 0),autoSkip:!0,maxTicksLimit:myMdwHelper.getNumberFromData(t.attr("yAxisMaxLabel"+n),void 0),fontColor:myMdwHelper.getValueFromData(t.attr("yAxisValueColor"+n),myMdwHelper.getValueFromData(t.yAxisValueLabelColor,void 0)),fontFamily:myMdwHelper.getValueFromData(t.yAxisValueFontFamily,void 0),fontSize:myMdwHelper.getNumberFromData(t.yAxisValueFontSize,void 0),padding:myMdwHelper.getNumberFromData(t.yAxisValueDistanceToAxis,0),callback:function(e,a,o){let l=this.id.replace("yAxis_id_","");return`${myMdwHelper.formatNumber(e,t.attr("yAxisValueMinDigits"+l),t.attr("yAxisValueMaxDigits"+l))}${myMdwHelper.getValueFromData(t.attr("yAxisValueAppendText"+l),"")}`.split("\\n")}},gridLines:{display:!0,color:myMdwHelper.getValueFromData(t.attr("yAxisGridLinesColor"+n),"black"),lineWidth:myMdwHelper.getNumberFromData(t.attr("yAxisGridLinesWitdh"+n),.1),drawBorder:t.attr("yAxisShowAxisBorder"+n),drawOnChartArea:t.attr("yAxisShowGridLines"+n),drawTicks:t.attr("yAxisShowTicks"+n),tickMarkLength:myMdwHelper.getNumberFromData(t.attr("yAxisTickLength"+n),5),zeroLineWidth:myMdwHelper.getNumberFromData(t.attr("yAxisZeroLineWidth"+n),1),zeroLineColor:myMdwHelper.getValueFromData(t.attr("yAxisZeroLineColor"+n),"rgba(0, 0, 0, 0.25)")}})}var d={datasets:o};let c=l.defaultTimeFormats();try{c=JSON.parse(t.xAxisTimeFormats)}catch(e){var g=vis.states.attr(t.xAxisTimeFormats.replace("{","").replace("}","")+".val");if(g&&null!==g&&"null"!==g)try{c=JSON.parse(g)}catch(e){console.error(`[Line History Chart] (${t.wid}): parsing Binding for xaxis time format failed! error in json syntax: ${e.message}`)}else console.error(`[Line History Chart] (${t.wid}): xaxis time format parsing failed! error in json syntax: ${e.message}`)}var b={responsive:!0,maintainAspectRatio:!1,layout:l.getLayout(t),chartArea:{backgroundColor:myMdwHelper.getValueFromData(t.chartAreaBackgroundColor,"")},hover:{mode:"nearest"},legend:Object.assign(l.getLegend(t),l.getLegendClickEvent(i)),scales:{xAxes:[{type:"time",bounds:"axisTicks"===myMdwHelper.getValueFromData(t.xAxisBounds,"")?"ticks":"data",time:{displayFormats:c,tooltipFormat:"ll"},position:t.xAxisPosition,scaleLabel:{display:null!==myMdwHelper.getValueFromData(t.xAxisTitle,null),labelString:myMdwHelper.getValueFromData(t.xAxisTitle,""),fontColor:myMdwHelper.getValueFromData(t.xAxisTitleColor,void 0),fontFamily:myMdwHelper.getValueFromData(t.xAxisTitleFontFamily,void 0),fontSize:myMdwHelper.getNumberFromData(t.xAxisTitleFontSize,void 0)},ticks:{display:t.xAxisShowAxisLabels,autoSkip:!0,autoSkipPadding:10,maxTicksLimit:myMdwHelper.getNumberFromData(t.xAxisMaxLabel,void 0),minRotation:t.xAxisMinRotation,maxRotation:t.xAxisMaxRotation,callback:function(e,a,o){return`${e}${myMdwHelper.getValueFromData(t.axisValueAppendText,"")}`.split("\\n")},fontColor:myMdwHelper.getValueFromData(t.xAxisValueLabelColor,void 0),fontFamily:myMdwHelper.getValueFromData(t.xAxisValueFontFamily,void 0),fontSize:myMdwHelper.getNumberFromData(t.xAxisValueFontSize,void 0),padding:myMdwHelper.getNumberFromData(t.xAxisValueDistanceToAxis,0)},gridLines:{display:!0,color:myMdwHelper.getValueFromData(t.xAxisGridLinesColor,"black"),lineWidth:myMdwHelper.getNumberFromData(t.xAxisGridLinesWitdh,.1),drawBorder:t.xAxisShowAxis,drawOnChartArea:t.xAxisShowGridLines,drawTicks:t.xAxisShowTicks,tickMarkLength:myMdwHelper.getNumberFromData(t.xAxisTickLength,5),zeroLineWidth:myMdwHelper.getNumberFromData(t.xAxisZeroLineWidth,1),zeroLineColor:myMdwHelper.getValueFromData(t.xAxisZeroLineColor,"rgba(0, 0, 0, 0.25)"),offsetGridLines:myMdwHelper.getBooleanFromData(t.xAxisOffsetGridLines,!1)}}],yAxes:i},tooltips:{mode:"nearest",enabled:t.showTooltip,backgroundColor:myMdwHelper.getValueFromData(t.tooltipBackgroundColor,"black"),caretSize:myMdwHelper.getNumberFromData(t.tooltipArrowSize,5),caretPadding:myMdwHelper.getNumberFromData(t.tooltipDistanceToBar,2),cornerRadius:myMdwHelper.getNumberFromData(t.tooltipBoxRadius,4),displayColors:t.tooltipShowColorBox,xPadding:myMdwHelper.getNumberFromData(t.tooltipXpadding,10),yPadding:myMdwHelper.getNumberFromData(t.tooltipYpadding,10),titleFontColor:myMdwHelper.getValueFromData(t.tooltipTitleFontColor,"white"),titleFontFamily:myMdwHelper.getValueFromData(t.tooltipTitleFontFamily,void 0),titleFontSize:myMdwHelper.getNumberFromData(t.tooltipTitleFontSize,void 0),titleMarginBottom:myMdwHelper.getNumberFromData(t.tooltipTitleMarginBottom,6),bodyFontColor:myMdwHelper.getValueFromData(t.tooltipBodyFontColor,"white"),bodyFontFamily:myMdwHelper.getValueFromData(t.tooltipBodyFontFamily,void 0),bodyFontSize:myMdwHelper.getNumberFromData(t.tooltipBodyFontSize,void 0),callbacks:{title:function(e,a){let o=e[0].datasetIndex,r=e[0].index,i=Object.keys(a.datasets[o]._meta)[0],n=a.datasets[o]._meta[i].controller._xScale._unit,s=moment(a.datasets[o].data[r].t),d=null!==myMdwHelper.getValueFromData(t.tooltipTimeFormats,null)?JSON.parse(t.tooltipTimeFormats):l.defaultToolTipTimeFormats();return s.format(d[n])},label:function(e,a){return e&&e.value?`${a.datasets[e.datasetIndex].label}: ${myMdwHelper.formatNumber(e.value,t.tooltipValueMinDecimals,t.tooltipValueMaxDecimals)}${myMdwHelper.getValueFromData(t.tooltipBodyAppend,"")}`.split("\\n"):""}}}};t.disableHoverEffects&&(b.hover={mode:null}),r=new Chart(p,{type:"line",data:d,options:b,plugins:[ChartDataLabels]}),s.hide()})}}},1)}catch(e){console.error(`[Line History Chart ${t.wid}] error: ${e.message}, stack: ${e.stack}`)}},pie:function(e,t){try{setTimeout(function(){let a=vis.binds.materialdesign.chart.helper;a.registerChartAreaPlugin();$(e);var o=$(e).find(".materialdesign-chart-container").get(0);$(e).find(".materialdesign-chart-container").css("background-color",myMdwHelper.getValueFromData(t.backgroundColor,""));let l=myMdwHelper.getValueFromData(t.globalColor,"#44739e"),r=myMdwHelper.getValueFromData(t.colorScheme,null);if(null!==r&&(r=vis.binds.materialdesign.colorScheme.get(t.colorScheme,t.dataCount)),null!=o&&""!==o){var i=o.getContext("2d");Chart.defaults.global.defaultFontColor="#44739e",Chart.defaults.global.defaultFontSize=15,Chart.defaults.global.animation.duration=myMdwHelper.getNumberFromData(t.animationDuration,1e3),Chart.plugins.unregister(ChartDataLabels);let e=[],m=[],p=[],g=[],b=myMdwHelper.getValueFromData(t.valuesFontColor,"black"),y=[];for(var n=0;n<=t.dataCount;n++){e.push(vis.states.attr(t.attr("oid"+n)+".val")),m.push(myMdwHelper.getValueFromData(t.attr("label"+n),"").split("\\n")),null!==r&&(l=r[n]);let o=myMdwHelper.getValueFromData(t.attr("dataColor"+n),l);p.push(o),null===myMdwHelper.getValueFromData(t.hoverColor,null)?g.push(a.addOpacityToColor(o,80)):g.push(t.hoverColor),y.push(myMdwHelper.getValueFromData(t.attr("valueTextColor"+n),b)),vis.states.bind(t.attr("oid"+n)+".val",u)}var s={labels:m,datasets:[Object.assign(a.getDataset(e,p,g,t.borderColor,t.hoverBorderColor,t.borderWidth,t.hoverBorderWidth),{borderAlign:"inner"})]},d={responsive:!0,maintainAspectRatio:!1,layout:a.getLayout(t),legend:a.getLegend(t),cutoutPercentage:"doughnut"===t.chartType?myMdwHelper.getNumberFromData(t.doughnutCutOut,50):0,chartArea:{backgroundColor:myMdwHelper.getValueFromData(t.chartAreaBackgroundColor,"")},tooltips:{enabled:t.showTooltip,backgroundColor:myMdwHelper.getValueFromData(t.tooltipBackgroundColor,"black"),caretSize:myMdwHelper.getNumberFromData(t.tooltipArrowSize,5),caretPadding:myMdwHelper.getNumberFromData(t.tooltipDistanceToBar,2),cornerRadius:myMdwHelper.getNumberFromData(t.tooltipBoxRadius,4),displayColors:t.tooltipShowColorBox,xPadding:myMdwHelper.getNumberFromData(t.tooltipXpadding,10),yPadding:myMdwHelper.getNumberFromData(t.tooltipYpadding,10),titleFontColor:myMdwHelper.getValueFromData(t.tooltipTitleFontColor,"white"),titleFontFamily:myMdwHelper.getValueFromData(t.tooltipTitleFontFamily,void 0),titleFontSize:myMdwHelper.getNumberFromData(t.tooltipTitleFontSize,void 0),titleMarginBottom:myMdwHelper.getNumberFromData(t.tooltipTitleMarginBottom,6),bodyFontColor:myMdwHelper.getValueFromData(t.tooltipBodyFontColor,"white"),bodyFontFamily:myMdwHelper.getValueFromData(t.tooltipBodyFontFamily,void 0),bodyFontSize:myMdwHelper.getNumberFromData(t.tooltipBodyFontSize,void 0),callbacks:{label:function(e,a){return e?`${m[e.index]}: ${myMdwHelper.formatNumber(a.datasets[0].data[e.index],t.tooltipValueMinDecimals,t.tooltipValueMaxDecimals)}${myMdwHelper.getValueFromData(t.tooltipBodyAppend,"")}`.split("\\n"):""}}},plugins:{datalabels:{anchor:t.valuesPositionAnchor,align:t.valuesPositionAlign,clamp:!0,offset:myMdwHelper.getNumberFromData(t.valuesPositionOffset,0),rotation:myMdwHelper.getNumberFromData(t.valuesRotation,void 0),formatter:function(e,a){return!e&&0!==e||a.dataIndex%myMdwHelper.getNumberFromData(t.valuesSteps,1)!=0?null:`${myMdwHelper.formatNumber(e,t.valuesMinDecimals,t.valuesMaxDecimals)}${myMdwHelper.getValueFromData(t.valuesAppendText,"")}${myMdwHelper.getValueFromData(t.attr("labelValueAppend"+a.dataIndex),"")}`.split("\\n")},font:{family:myMdwHelper.getValueFromData(t.valuesFontFamily,void 0),size:myMdwHelper.getNumberFromData(t.valuesFontSize,void 0)},color:y,textAlign:t.valuesTextAlign}}};t.disableHoverEffects&&(d.hover={mode:null});var c=new Chart(i,{type:"pie"===t.chartType?"pie":"doughnut",data:s,options:d,plugins:t.showValues?[ChartDataLabels]:void 0});function u(e,a,o){let l=e.type.substr(0,e.type.lastIndexOf("."));for(var r=0;r<=t.dataCount;r++)if(l===t.attr("oid"+r)){let e=r;c.data.datasets[0].data[e]=a,c.update()}}}},1)}catch(e){console.error(`[Pie Chart ${t.wid}] error: ${e.message}, stack: ${e.stack}`)}},json:function(e,t){try{let a=myMdwHelper.getBooleanFromData(t.mdwDebug,!1);a&&console.log(`[JSON Chart ${t.wid}] widget setting: ${JSON.stringify(t)}`),setTimeout(function(){let o=vis.binds.materialdesign.chart.helper;o.registerChartAreaPlugin();let l=$(e);var r=l.find(".materialdesign-chart-container").get(0),i=l.find(".material-progress-circular-container");if(i.show(),l.find(".materialdesign-chart-container").css("background-color",myMdwHelper.getValueFromData(t.backgroundColor,"")),null!=r&&""!==r){var n=r.getContext("2d"),s=new Chart(n,{type:myMdwHelper.getValueFromData(t.chartType,"bar"),plugins:[ChartDataLabels,o.getMyGradientPlugin()]});if(Chart.defaults.global.defaultFontColor="#44739e",Chart.defaults.global.defaultFontSize=15,Chart.defaults.global.animation.duration=myMdwHelper.getNumberFromData(t.animationDuration,1e3),Chart.plugins.unregister(ChartDataLabels),vis.states.attr(t.oid+".val")&&"null"!==vis.states.attr(t.oid+".val")){let e=d(vis.states.attr(t.oid+".val"));a&&console.log(`[JSON Chart ${t.wid}] mydata: ${JSON.stringify(e)}`),s.type=myMdwHelper.getValueFromData(t.chartType,"bar"),s.data.labels=e.labels,s.data.datasets=e.datasets,s.options=e.options,s.update(),i.hide(),vis.states.bind(t.oid+".val",c)}else s.options.title={display:!0,text:`${_("datapoint '{0}' not exist!").replace("{0}",t.oid)}`,fontColor:"red"},s.update(),i.hide(),console.error(`[JSON Chart ${t.wid}] ${_("datapoint '{0}' not exist!").replace("{0}",t.oid)}`);function d(e){let l=[],r=[],i=[],n={},s=[],d={},c=myMdwHelper.getValueFromData(t.globalColor,"#44739e"),u=void 0;try{u=JSON.parse(e),a&&console.log(`[JSON Chart ${t.wid}] json: ${JSON.stringify(u)}`)}catch(e){return d={title:{display:!0,text:`${_("Error in JSON string")}
${e.message}`.split("
"),fontColor:"red"}},console.error(`[JSON Chart ${t.wid}] cannot parse json string! Error: ${e.message}`),{labels:[],datasets:[],options:d}}if(u&&Object.keys(u).length>0){s=u.axisLabels?u.axisLabels:[];let e=myMdwHelper.getValueFromData(t.colorScheme,null);null!==e&&(e=vis.binds.materialdesign.colorScheme.get(t.colorScheme,t.dataCount));for(const s of Object.keys(u.graphs)){let d=u.graphs[s],m=!1;if(a&&console.log(`[JSON Chart ${t.wid}] graph[${s}]: ${JSON.stringify(d)}`),d){let p=myMdwHelper.getValueFromData(d.color,e?myMdwHelper.getValueFromData(e[s],c):c),g=o.addOpacityToColor(p,20);null!==myMdwHelper.getValueFromData(d.line_FillColor,null)&&(g=d.line_FillColor);let b=o.addOpacityToColor(p,80);if(null!==myMdwHelper.getValueFromData(d.barColorHover,null)&&(b=d.barColorHover),d.data&&d.data.length>0&&"object"==typeof d.data[0]&&(m=!0,a&&console.log(`[JSON Chart ${t.wid}] graph[${s}].data is data object -> using time axis`)),d.data){a&&console.log(`[JSON Chart ${t.wid}] graph[${s}].data length: ${d.data.length}`);let e={data:m?d.data:d.data.map(Number,null),label:d.legendText,type:d.type,order:myMdwHelper.getNumberFromData(d.displayOrder,s),yAxisID:`yAxis_id_${myMdwHelper.getNumberFromData(d.yAxis_id,s)}`,datalabels:{display:myMdwHelper.getBooleanFromData(d.datalabel_show,!0),anchor:myMdwHelper.getValueFromData(d.datalabel_anchor,"end"),align:myMdwHelper.getValueFromData(d.datalabel_align,"top"),textAlign:myMdwHelper.getValueFromData(d.datalabel_text_align,"center"),offset:myMdwHelper.getNumberFromData(d.datalabel_offset,0),clamp:!0,rotation:myMdwHelper.getNumberFromData(d.datalabel_rotation,void 0),formatter:function(e,t){if(m){if((e.y||0===e.y)&&t.dataIndex%myMdwHelper.getNumberFromData(d.datalabel_steps,1)==0)return`${myMdwHelper.formatNumber(e.y,d.datalabel_minDigits,d.datalabel_maxDigits)}${myMdwHelper.getValueFromData(d.datalabel_append,"")}`.split("\\n")}else if((e||0===e)&&t.dataIndex%myMdwHelper.getNumberFromData(d.datalabel_steps,1)==0)return`${myMdwHelper.formatNumber(e,d.datalabel_minDigits,d.datalabel_maxDigits)}${myMdwHelper.getValueFromData(d.datalabel_append,"")}`.split("\\n");return null},font:{family:myMdwHelper.getValueFromData(d.datalabel_fontFamily,void 0),size:myMdwHelper.getNumberFromData(d.datalabel_fontSize,void 0)},color:myMdwHelper.getValueFromData(d.datalabel_color,p),backgroundColor:myMdwHelper.getValueFromData(d.datalabel_backgroundColor,void 0),borderColor:myMdwHelper.getValueFromData(d.datalabel_borderColor,void 0),borderWidth:myMdwHelper.getNumberFromData(d.datalabel_borderWidth,0),borderRadius:myMdwHelper.getNumberFromData(d.datalabel_borderRadius,0)},myGradientColors:{useGradientColor:myMdwHelper.getBooleanFromData(d.use_gradient_color,!1),gradientColors:myMdwHelper.getBooleanFromData(d.use_gradient_color,!1)?myMdwHelper.getValueFromData(d.gradient_color,void 0):p,useGradientFillColor:myMdwHelper.getBooleanFromData(d.use_line_gradient_fill_color,!1),gradientFillColors:myMdwHelper.getBooleanFromData(d.use_line_gradient_fill_color,!1)?myMdwHelper.getValueFromData(d.line_gradient_fill_color,void 0):"line"===d.type?g:b}};if(d.type&&"line"===d.type){let t=myMdwHelper.getValueFromData(d.line_FillBetweenLines,void 0);Object.assign(e,{borderColor:p,pointStyle:myMdwHelper.getValueFromData(d.line_pointStyle,"circle"),pointRadius:myMdwHelper.getNumberFromData(d.line_pointSize,3),pointHoverRadius:myMdwHelper.getNumberFromData(d.line_pointSizeHover,4),pointBackgroundColor:myMdwHelper.getValueFromData(d.line_PointColor,p),pointBorderColor:myMdwHelper.getValueFromData(d.line_PointColorBorder,p),pointHoverBackgroundColor:myMdwHelper.getValueFromData(d.line_PointColorHover,p),pointHoverBorderColor:myMdwHelper.getValueFromData(d.line_PointColorBorderHover,p),spanGaps:myMdwHelper.getBooleanFromData(d.line_spanGaps,!0),lineTension:myMdwHelper.getNumberFromData(d.line_Tension,.4),borderWidth:myMdwHelper.getNumberFromData(d.line_Thickness,2),fill:t||(myMdwHelper.getBooleanFromData(d.line_UseFillColor,!1)||myMdwHelper.getBooleanFromData(d.use_line_gradient_fill_color,!1)),backgroundColor:g})}else Object.assign(e,{backgroundColor:p,hoverBackgroundColor:b,borderColor:myMdwHelper.getValueFromData(d.barBorderColor,"white"),borderWidth:myMdwHelper.getNumberFromData(d.barBorderWidth,void 0),hoverBorderColor:myMdwHelper.getValueFromData(d.barBorderColorHover,void 0),hoverBorderWidth:myMdwHelper.getNumberFromData(d.barBorderWidthHover,void 0),categoryPercentage:myMdwHelper.getNumberFromData(t.barWidth,80)/100,barPercentage:myMdwHelper.getNumberFromData(t.barWidth,80)/100});l.push(e),i.push({id:`yAxis_id_${myMdwHelper.getNumberFromData(d.yAxis_id,s)}`,type:"linear",position:myMdwHelper.getValueFromData(d.yAxis_position,"left"),display:myMdwHelper.getBooleanFromData(d.yAxis_show,!0),scaleLabel:{display:""!==myMdwHelper.getValueFromData(d.yAxis_title_text,""),labelString:myMdwHelper.getValueFromData(d.yAxis_title_text,""),fontColor:myMdwHelper.getValueFromData(d.yAxis_title_color,myMdwHelper.getValueFromData(t.yAxisTitleColor,void 0)),fontFamily:myMdwHelper.getValueFromData(d.yAxis_title_fontFamily,myMdwHelper.getValueFromData(t.yAxisTitleFontFamily,void 0)),fontSize:myMdwHelper.getNumberFromData(d.yAxis_title_fontSize,myMdwHelper.getNumberFromData(t.yAxisTitleFontSize,void 0))},ticks:{min:myMdwHelper.getNumberFromData(d.yAxis_min,void 0),max:myMdwHelper.getNumberFromData(d.yAxis_max,void 0),stepSize:myMdwHelper.getNumberFromData(d.yAxis_step,void 0),autoSkip:!0,maxTicksLimit:myMdwHelper.getNumberFromData(d.yAxis_maxSteps,void 0), fontColor:myMdwHelper.getValueFromData(d.yAxis_color,myMdwHelper.getValueFromData(t.yAxisValueLabelColor,void 0)),fontFamily:myMdwHelper.getValueFromData(d.yAxis_fontFamily,myMdwHelper.getValueFromData(t.yAxisValueFontFamily,void 0)),fontSize:myMdwHelper.getNumberFromData(d.yAxis_fontSize,myMdwHelper.getNumberFromData(t.yAxisValueFontSize,void 0)),padding:myMdwHelper.getNumberFromData(d.yAxis_distance,myMdwHelper.getNumberFromData(t.yAxisValueDistanceToAxis,0)),callback:function(e,t,a){let o=this.id.replace("yAxis_id_","");return`${myMdwHelper.formatNumber(e,u.graphs[o].yAxis_minimumDigits,u.graphs[o].yAxis_maximumDigits)}${myMdwHelper.getValueFromData(u.graphs[o].yAxis_appendix,"")}`.split("\\n")}},gridLines:{display:!0,color:myMdwHelper.getValueFromData(d.yAxis_gridLines_color,"black"),lineWidth:myMdwHelper.getNumberFromData(d.yAxis_gridLines_lineWidth,.1),drawBorder:myMdwHelper.getBooleanFromData(d.yAxis_gridLines_border_show,!0),drawOnChartArea:myMdwHelper.getBooleanFromData(d.yAxis_gridLines_show,!0),drawTicks:myMdwHelper.getBooleanFromData(d.yAxis_gridLines_ticks_show,!0),tickMarkLength:myMdwHelper.getNumberFromData(d.yAxis_gridLines_ticks_length,5),zeroLineWidth:myMdwHelper.getNumberFromData(d.yAxis_zeroLineWidth,1),zeroLineColor:myMdwHelper.getValueFromData(d.yAxis_zeroLineColor,"rgba(0, 0, 0, 0.25)")}}),n={id:s,display:!(s>0)},m&&(n=Object.assign(n,{type:"time",bounds:"data"===d.xAxis_bounds?"data":"ticks",time:{displayFormats:d.xAxis_timeFormats?d.xAxis_timeFormats:o.defaultTimeFormats(),tooltipFormat:d.xAxis_tooltip_timeFormats?d.xAxis_tooltip_timeFormats:"lll"}})),r.push(Object.assign(o.get_X_AxisObject(t.chartType,t.xAxisPosition,t.xAxisTitle,t.xAxisTitleColor,t.xAxisTitleFontFamily,t.xAxisTitleFontSize,t.xAxisShowAxisLabels,t.axisValueMin,t.axisValueMax,t.axisValueStepSize,t.xAxisMaxLabel,t.axisLabelAutoSkip,t.axisValueAppendText,t.xAxisValueLabelColor,t.xAxisValueFontFamily,t.xAxisValueFontSize,t.xAxisValueDistanceToAxis,t.xAxisGridLinesColor,t.xAxisGridLinesWitdh,t.xAxisShowAxis,t.xAxisShowGridLines,t.xAxisShowTicks,t.xAxisTickLength,t.xAxisZeroLineWidth,t.xAxisZeroLineColor,t.xAxisOffsetGridLines,void 0,void 0,t.xAxisMinRotation,t.xAxisMaxRotation),n))}else console.error(`[JSON Chart ${t.wid}] graph[${s}].data is null! Check json string input!`)}else console.error(`[JSON Chart ${t.wid}] graph[${s}] is null! Check json string input!`)}d={responsive:!0,maintainAspectRatio:!1,layout:o.getLayout(t),hover:myMdwHelper.getBooleanFromData(t.disableHoverEffects,!1)?{mode:null}:{mode:"nearest"},chartArea:{backgroundColor:myMdwHelper.getValueFromData(t.chartAreaBackgroundColor,"")},scales:{xAxes:r,yAxes:i},legend:Object.assign(o.getLegend(t),o.getLegendClickEvent(i)),tooltips:{mode:t.tooltipMode,enabled:t.showTooltip,backgroundColor:myMdwHelper.getValueFromData(t.tooltipBackgroundColor,"black"),caretSize:myMdwHelper.getNumberFromData(t.tooltipArrowSize,5),caretPadding:myMdwHelper.getNumberFromData(t.tooltipDistanceToBar,2),cornerRadius:myMdwHelper.getNumberFromData(t.tooltipBoxRadius,4),displayColors:t.tooltipShowColorBox,xPadding:myMdwHelper.getNumberFromData(t.tooltipXpadding,10),yPadding:myMdwHelper.getNumberFromData(t.tooltipYpadding,10),titleFontColor:myMdwHelper.getValueFromData(t.tooltipTitleFontColor,"white"),titleFontFamily:myMdwHelper.getValueFromData(t.tooltipTitleFontFamily,void 0),titleFontSize:myMdwHelper.getNumberFromData(t.tooltipTitleFontSize,void 0),titleMarginBottom:myMdwHelper.getNumberFromData(t.tooltipTitleMarginBottom,6),bodyFontColor:myMdwHelper.getValueFromData(t.tooltipBodyFontColor,"white"),bodyFontFamily:myMdwHelper.getValueFromData(t.tooltipBodyFontFamily,void 0),bodyFontSize:myMdwHelper.getNumberFromData(t.tooltipBodyFontSize,void 0),callbacks:{label:function(e,t){return e&&e.value?`${t.datasets[e.datasetIndex].label}: ${myMdwHelper.formatNumber(e.value,u.graphs[e.datasetIndex].tooltip_MinDigits,u.graphs[e.datasetIndex].tooltip_MaxDigits)}${myMdwHelper.getValueFromData(u.graphs[e.datasetIndex].tooltip_AppendText,"")}`.split("\\n"):""}}}}}else console.error(`[JSON Chart ${t.wid}] ${_("datapoint '{0}' has no data!").replace("{0}",t.oid)}`);return l.length>0?{labels:s,datasets:l,options:d}:(console.error(`[JSON Chart ${t.wid}] ${_("datapoint '{0}' has no datasets!").replace("{0}",t.oid)}`),{labels:[],datasets:[],options:[]})}function c(e,o,l){try{a&&console.log(`[JSON Chart ${t.wid}] ************************************************************** onChange **************************************************************`),i.show();let e=d(o),l=!1;myUnderscore.isEqual(s.data.labels,e.labels)||(a&&console.log(`[JSON Chart ${t.wid}] [onChange]: chart 'labels' changed`),s.data.labels=e.labels,l=!0);let u=e.datasets.length;s.data.datasets.length>u&&(u=s.data.datasets.length);for(var r=0;r<=u-1;r++)if(s.data.datasets[r]&&e.datasets[r]){if(!myUnderscore.isEqual(s.data.datasets[r],e.datasets[r]))for(var n in e.datasets[r])if(!myUnderscore.isEqual(s.data.datasets[r][n],e.datasets[r][n])){if(a)if(Array.isArray(e.datasets[r][n])||"object"!=typeof e.datasets[r][n])console.log(`[JSON Chart ${t.wid}] [onChange]: chart graph '${e.datasets[r].label} (${r})' '${n}' changed`);else for(var c in e.datasets[r][n])myUnderscore.isEqual(s.data.datasets[r][n][c],e.datasets[r][n][c])||console.log(`[JSON Chart ${t.wid}] [onChange]: chart graph '${e.datasets[r].label} (${r})' '${n}.${c}' changed`);s.data.datasets[r][n]=e.datasets[r][n],l=!0}}else e.datasets[r]?(a&&console.log(`[JSON Chart ${t.wid}] [onChange]: chart new graph '${e.datasets[r].label} (${r})' added`),s.data.datasets.push(e.datasets[r]),l=!0):(a&&console.log(`[JSON Chart ${t.wid}] [onChange]: chart graph '${s.data.datasets[r].label} (${r})' removed`),s.data.datasets.splice(r),l=!0);if(!myUnderscore.isEqual(s.options,e.options))for(var n in e.options)if(!myUnderscore.isEqual(s.options[n],e.options[n])){if(a)if(Array.isArray(e.options[n])||"object"!=typeof e.options[n])console.log(`[JSON Chart ${t.wid}] [onChange]: chart option '${n}' changed`);else for(var c in e.options[n])myUnderscore.isEqual(s.options[n][c],e.options[n][c])||console.log(`[JSON Chart ${t.wid}] [onChange]: chart option '${n}.${c}' changed`);s.options[n]=e.options[n],l=!0}l&&(a&&console.log(`[JSON Chart ${t.wid}] [onChange]: chart updated`),s.update(),i.hide())}catch(e){console.error(`[JSON Chart ${t.wid}] [onChange] error: ${e.message}, stack: ${e.stack}`)}}}},1)}catch(e){console.error(`[JSON Chart ${t.wid}] error: ${e.message}, stack: ${e.stack}`)}}},vis.binds.materialdesign.chart.helper={addOpacityToColor:function(e,t){return chroma(e).alpha(t/100).hex()},get_Y_AxisObject:function(e,t,a,o,l,r,i,n,s,d,c,u,m,p,g,b,y,h,f,w,v,x,k,F,M,D,H){return{position:t,scaleLabel:{display:null!==myMdwHelper.getValueFromData(a,null),labelString:myMdwHelper.getValueFromData(a,""),fontColor:myMdwHelper.getValueFromData(o,void 0),fontFamily:myMdwHelper.getValueFromData(l,void 0),fontSize:myMdwHelper.getNumberFromData(r,void 0)},ticks:{display:i,min:myMdwHelper.getNumberFromData(n,void 0),max:myMdwHelper.getNumberFromData(s,void 0),stepSize:myMdwHelper.getNumberFromData(d,void 0),autoSkip:"horizontal"===e&&myMdwHelper.getNumberFromData(c,void 0)>0||myMdwHelper.getBooleanFromData(u,!1),maxTicksLimit:"horizontal"===e?myMdwHelper.getNumberFromData(c,void 0):void 0,callback:function(e,t,a){return`${myMdwHelper.formatNumber(e,D,H)}${myMdwHelper.getValueFromData(m,"")}`.split("\\n")},fontColor:myMdwHelper.getValueFromData(p,void 0),fontFamily:myMdwHelper.getValueFromData(g,void 0),fontSize:myMdwHelper.getNumberFromData(b,void 0),padding:myMdwHelper.getNumberFromData(y,0)},gridLines:{display:!0,color:myMdwHelper.getValueFromData(h,"black"),lineWidth:myMdwHelper.getNumberFromData(f,.1),drawBorder:w,drawOnChartArea:v,drawTicks:x,tickMarkLength:myMdwHelper.getNumberFromData(k,5),zeroLineWidth:myMdwHelper.getNumberFromData(F,1),zeroLineColor:myMdwHelper.getValueFromData(M,"rgba(0, 0, 0, 0.25)")}}},get_X_AxisObject:function(e,t,a,o,l,r,i,n,s,d,c,u,m,p,g,b,y,h,f,w,v,x,k,F,M,D,H,$,V,C){return{position:t,scaleLabel:{display:null!==myMdwHelper.getValueFromData(a,null),labelString:myMdwHelper.getValueFromData(a,""),fontColor:myMdwHelper.getValueFromData(o,void 0),fontFamily:myMdwHelper.getValueFromData(l,void 0),fontSize:myMdwHelper.getNumberFromData(r,void 0)},ticks:{display:i,min:myMdwHelper.getNumberFromData(n,void 0),max:myMdwHelper.getNumberFromData(s,void 0),stepSize:myMdwHelper.getNumberFromData(d,void 0),autoSkip:"vertical"===e&&myMdwHelper.getNumberFromData(c,void 0)>0||myMdwHelper.getBooleanFromData(u,!1),autoSkipPadding:10,minRotation:myMdwHelper.getNumberFromData(V,0),maxRotation:myMdwHelper.getNumberFromData(C,0),maxTicksLimit:myMdwHelper.getNumberFromData(c,void 0),callback:function(e,t,a){return`${myMdwHelper.formatNumber(e,H,$)}${myMdwHelper.getValueFromData(m,"")}`.split("\\n")},fontColor:myMdwHelper.getValueFromData(p,void 0),fontFamily:myMdwHelper.getValueFromData(g,void 0),fontSize:myMdwHelper.getNumberFromData(b,void 0),padding:myMdwHelper.getNumberFromData(y,0)},gridLines:{display:!0,color:myMdwHelper.getValueFromData(h,"black"),lineWidth:myMdwHelper.getNumberFromData(f,.1),drawBorder:w,drawOnChartArea:v,drawTicks:x,tickMarkLength:myMdwHelper.getNumberFromData(k,5),zeroLineWidth:myMdwHelper.getNumberFromData(F,1),zeroLineColor:myMdwHelper.getValueFromData(M,"rgba(0, 0, 0, 0.25)"),offsetGridLines:myMdwHelper.getBooleanFromData(D,!1)}}},getDataset:function(e,t,a,o,l,r,i){return{data:e,backgroundColor:t,hoverBackgroundColor:a,borderColor:myMdwHelper.getValueFromData(o,"white"),hoverBorderColor:myMdwHelper.getValueFromData(l,void 0),borderWidth:myMdwHelper.getNumberFromData(r,void 0),hoverBorderWidth:myMdwHelper.getNumberFromData(i,void 0)}},getLegend:function(e){return{display:e.showLegend,position:e.legendPosition,labels:{fontColor:myMdwHelper.getValueFromData(e.legendFontColor,void 0),fontFamily:myMdwHelper.getValueFromData(e.legendFontFamily,void 0),fontSize:myMdwHelper.getNumberFromData(e.legendFontSize,void 0),boxWidth:myMdwHelper.getNumberFromData(e.legendBoxWidth,10),usePointStyle:e.legendPointStyle,padding:myMdwHelper.getNumberFromData(e.legendPadding,10),filter:function(e,t){if(e&&e.text)return e.text}}}},getLegendClickEvent:function(e){return{onClick:function(t,a){function o(){let e=null;for(var t=0;t<=r.data.datasets.length-1;t++)if(r.data.datasets[t].yAxisID===r.data.datasets[l].yAxisID&&(e=null===r.getDatasetMeta(t).hidden,e))return e;return e}var l=a.datasetIndex,r=this.chart,i=r.getDatasetMeta(l);i.hidden=null===i.hidden?!r.data.datasets[l].hidden:null;let n=o();for(var s=0;s<=r.options.scales.yAxes.length-1;s++)r.options.scales.yAxes[s].id===r.data.datasets[l].yAxisID&&e[l].display&&(r.options.scales.yAxes[s].display=n);r.update()}}},getLayout:function(e){return{padding:{top:myMdwHelper.getValueFromData(e.chartPaddingTop,0),left:myMdwHelper.getValueFromData(e.chartPaddingLeft,0),right:myMdwHelper.getValueFromData(e.chartPaddingRight,0),bottom:myMdwHelper.getValueFromData(e.chartPaddingBottom,0)}}},roundNumber:(e,t)=>+(Math.round(e+"e+"+t)+"e-"+t),intervals:{"30 seconds":3e4,"1 minute":6e4,"2 minutes":12e4,"5 minutes":3e5,"10 minutes":6e5,"30 minutes":18e5,"1 hour":36e5,"2 hours":72e5,"4 hours":144e5,"8 hours":288e5,"12 hours":432e5,"1 day":864e5,"2 days":1728e5,"3 days":2592e5,"7 days":6048e5,"14 days":12096e5,"1 month":2628e6,"2 months":5256e6,"3 months":7884e6,"6 months":15768e6,"1 year":31536e6,"2 years":63072e6},defaultTimeFormats:function(){return JSON.parse('\n {\n "millisecond": "H:mm:ss.SSS",\n "second": "H:mm:ss",\n "minute": "H:mm",\n "hour": "H",\n "day": "ddd DD.",\n "week": "ll",\n "month": "MMM YYYY",\n "quarter": "[Q]Q - YYYY",\n "year": "YYYY"\n }\n ')},defaultToolTipTimeFormats:function(){return JSON.parse('\n {\n "millisecond": "lll:ss",\n "second": "lll:ss",\n "minute": "lll",\n "hour": "lll",\n "day": "lll",\n "week": "lll",\n "month": "lll",\n "quarter": "lll",\n "year": "lll"\n }\n ')},getTaskForHistoryData:function(e,t,a,o=!1){return new Promise((l,r)=>{try{vis.getHistory(e,{instance:t.historyAdapterInstance,count:parseInt(myMdwHelper.getNumberFromData(t.maxDataPoints,100)),step:1e3*parseInt(myMdwHelper.getNumberFromData(t.minTimeInterval,0)),aggregate:t.aggregate||"average",start:a,end:(new Date).getTime(),timeout:2e3},function(a,r){!a&&r?(o&&console.log(`[getTaskForHistoryData ${t.wid}] history data '${e}' length: ${r.length}`),o&&console.log(`[getTaskForHistoryData ${t.wid}] history data '${e}': ${JSON.stringify(r)}`),l({id:e,data:r})):(o&&console.error(`[getTaskForHistoryData ${t.wid}] result error: ${a}`),l({id:e,data:null}))})}catch(a){console.error(`[getTaskForHistoryData ${t.wid}] error: ${a.message}, stack: ${a.stack}`),l({id:e,data:null})}})},getPreparedData:function(e,t,a,o=!1){let l=[];try{e.data&&(o&&console.log(`[getPreparedData ${t.wid}] prepare data for '${e.id}' length: ${e.data.length}`),l=e.data.map(e=>({t:null!==e.ts&&void 0!==e.ts?e.ts:null,y:null!==e.val&&void 0!==e.val?e.val*myMdwHelper.getNumberFromData(t.attr("multiply"+a),1):null})))}catch(e){console.error(`[getPreparedData ${t.wid}] error: ${e.message}, stack: ${e.stack}`)}return l},registerChartAreaPlugin:function(){Chart.pluginService.register({beforeDraw:function(e,t){if(e.config.options.chartArea&&e.config.options.chartArea.backgroundColor){Chart.helpers;var a=e.chart.ctx,o=e.chartArea;a.save(),a.fillStyle=e.config.options.chartArea.backgroundColor,a.fillRect(o.left,o.top,o.right-o.left,o.bottom-o.top),a.restore()}}})},getMyGradientPlugin(){const e="myGradientColors",t=(t,a)=>{if(t.chartArea.bottom&&!isNaN(t.chartArea.bottom)&&t.chartArea.top&&!isNaN(t.chartArea.top)){const a=t.ctx.createLinearGradient(0,t.chartArea.bottom,0,t.chartArea.top);for(var o=0;o<=t.data.datasets.length-1;o++){let r=t.data.datasets[o];if(r[e]&&r[e].useGradientColor){if(r[e].gradientColors&&r[e].gradientColors.length>0){let a=l(t,r,r[e].gradientColors);"line"===r.type?r.borderColor=a:"bar"===r.type&&(r.backgroundColor=a)}}else r.borderColor=r[e].gradientColors;if("line"===r.type)if(r[e]&&r[e].useGradientFillColor){if(r[e].gradientFillColors&&r[e].gradientFillColors.length>0){let a=l(t,r,r[e].gradientFillColors);r.backgroundColor=a}}else r.backgroundColor=r[e].gradientFillColors;function l(e,t,o){const l=e.scales[t.yAxisID];return o.forEach(e=>{const t=l.getPixelForValue(e.value),o=Math.max(l.getDecimalForPixel(t),0);o<=1&&a.addColorStop(o,e.color)}),a}}}};return{id:e,beforeDatasetsUpdate:t,resize:(e,a,o)=>t(e,o)}}},vis.binds.materialdesign.checkbox=function(e,t){try{let o=$(e),l=o.find(".mdc-checkbox").get(0);const r=new mdc.formField.MDCFormField(o.context),i=new mdc.checkbox.MDCCheckbox(l);function a(){var e=vis.states.attr(t.oid+".val");let a=!1;"boolean"===t.toggleType?a=e:e===parseInt(t.valueOn)||e===t.valueOn?a=!0:e!==parseInt(t.valueOn)&&e!==t.valueOn&&e!==parseInt(t.valueOff)&&e!==t.valueOff&&"on"===t.stateIfNotTrueValue&&(a=!0),i.checked=a;let l=o.find('label[id="label"]');a?(l.css("color",myMdwHelper.getValueFromData(t.labelColorTrue,"")),l.text(myMdwHelper.getValueFromData(t.labelTrue,""))):(l.css("color",myMdwHelper.getValueFromData(t.labelColorFalse,"")),l.text(myMdwHelper.getValueFromData(t.labelFalse,"")))}r.input=i,i.disabled=t.readOnly,l.style.setProperty("--mdc-theme-secondary",myMdwHelper.getValueFromData(t.colorCheckBox,"")),a(),vis.editMode||o.find(".mdc-checkbox").click(function(){vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),"boolean"===t.toggleType?vis.setValue(t.oid,i.checked):!0==!i.checked?vis.setValue(t.oid,t.valueOff):vis.setValue(t.oid,t.valueOn),a()}),vis.states.bind(t.oid+".val",function(e,t,o){a()})}catch(e){console.error(`[Checkbox]: error: ${e.message}, stack: ${e.stack}`)}},vis.binds.materialdesign.colorScheme={get:function(e,t=1){try{let o={"scrounger.pie":["#44739e","#6dd600","#ff9800","#8e24aa","#ffeb3b","#d32f2f","#a65628"]};if(o["material.red"]=["#ffebee","#ffcdd2","#ef9a9a","#e57373","#ef5350","#f44336","#e53935","#d32f2f","#c62828","#b71c1c"].reverse(),o["material.pink"]=["#fce4ec","#f8bbd0","#f48fb1","#f06292","#ec407a","#e91e63","#d81b60","#c2185b","#ad1457","#880e4f"].reverse(),o["material.purple"]=["#f3e5f5","#e1bee7","#ce93d8","#ba68c8","#ab47bc","#9c27b0","#8e24aa","#7b1fa2","#6a1b9a","#4a148c"].reverse(),o["material.deeppurple"]=["#ede7f6","#d1c4e9","#b39ddb","#9575cd","#7e57c2","#673ab7","#5e35b1","#512da8","#4527a0","#311b92"].reverse(),o["material.indigo"]=["#e8eaf6","#c5cae9","#9fa8da","#7986cb","#5c6bc0","#3f51b5","#3949ab","#303f9f","#283593","#1a237e"].reverse(),o["material.blue"]=["#e3f2fd","#bbdefb","#90caf9","#64b5f6","#42a5f5","#2196f3","#1e88e5","#1976d2","#1565c0","#0d47a1"].reverse(),o["material.lightblue"]=["#e1f5fe","#b3e5fc","#81d4fa","#4fc3f7","#29b6f6","#03a9f4","#039be5","#0288d1","#0277bd","#01579b"].reverse(),o["material.cyan"]=["#e0f7fa","#b2ebf2","#80deea","#4dd0e1","#26c6da","#00bcd4","#00acc1","#0097a7","#00838f","#006064"].reverse(),o["material.teal"]=["#e0f2f1","#b2dfdb","#80cbc4","#4db6ac","#26a69a","#009688","#00897b","#00796b","#00695c","#004d40"].reverse(),o["material.green"]=["#e8f5e9","#c8e6c9","#a5d6a7","#81c784","#66bb6a","#4caf50","#43a047","#388e3c","#2e7d32","#1b5e20"].reverse(),o["material.lightgreen"]=["#f1f8e9","#dcedc8","#c5e1a5","#aed581","#9ccc65","#8bc34a","#7cb342","#689f38","#558b2f","#33691e"].reverse(),o["material.lime"]=["#f9fbe7","#f0f4c3","#e6ee9c","#dce775","#d4e157","#cddc39","#c0ca33","#afb42b","#9e9d24","#827717"].reverse(),o["material.yellow"]=["#fffde7","#fff9c4","#fff59d","#fff176","#ffee58","#ffeb3b","#fdd835","#fbc02d","#f9a825","#f57f17"].reverse(),o["material.amber"]=["#fff8e1","#ffecb3","#ffe082","#ffd54f","#ffca28","#ffc107","#ffb300","#ffa000","#ff8f00","#ff6f00"].reverse(),o["material.orange"]=["#fff3e0","#ffe0b2","#ffcc80","#ffb74d","#ffa726","#ff9800","#fb8c00","#f57c00","#ef6c00","#e65100"].reverse(),o["material.deeporange"]=["#fbe9e7","#ffccbc","#ffab91","#ff8a65","#ff7043","#ff5722","#f4511e","#e64a19","#d84315","#bf360c"].reverse(),o["material.brown"]=["#efebe9","#d7ccc8","#bcaaa4","#a1887f","#8d6e63","#795548","#6d4c41","#5d4037","#4e342e","#3e2723"].reverse(),o["material.grey"]=["#fafafa","#f5f5f5","#eeeeee","#e0e0e0","#bdbdbd","#9e9e9e","#757575","#616161","#424242","#212121"].reverse(),o["material.bluegrey"]=["#eceff1","#cfd8dc","#b0bec5","#90a4ae","#78909c","#607d8b","#546e7a","#455a64","#37474f","#263238"].reverse(),o["material.setOne"]=["#b71c1c","#0d47a1","#1b5e20","#4a148c","#e65100","#f57f17","#3e2723"],o["material.setTwo"]=["#c62828","#1565c0","#2e7d32","#6a1b9a","#ef6c00","#9e9d24","#4e342e"],o["material.setThree"]=["#d32f2f","#1976d2","#388e3c","#7b1fa2","#f57c00","#fbc02d","#5d4037"],o["brewer.SetOne"]=["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],o["brewer.SetTwo"]=["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],o["brewer.SetThree"]=["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],null!=myMdwHelper.getValueFromData(e,null)){let l=[],r=o[e],i=Math.ceil(t+1/r.length);for(var a=0;a<=i-1;a++)l=l.concat(r);return l}return o}catch(e){console.error(`get: error: ${e.message}, stack: ${e.stack}`)}},preview:function(e){try{let e=vis.binds.materialdesign.colorScheme.get(),o=[];for(var t in e)if(e.hasOwnProperty(t)){let l=`
\n `;for(var a=0;a<=e[t].length;a++)l+=`
`;o.push(l+"
")}return o.join("")}catch(e){console.error(`preview: error: ${e.message}, stack: ${e.stack}`)}},editorSelector:function(e){try{let t=vis.binds.materialdesign.colorScheme.get();return{input:'',init:function(e,a){$(this).autocomplete({minLength:0,source:function(e,a){var o=$.grep(Object.keys(t),function(t){return t.toLowerCase().includes(e.term.toLowerCase())});a(o)},select:function(e,t){$(this).val(t.item.value),$(this).trigger("change",t.item.value)}}).focus(function(){$(this).autocomplete("search","")}).autocomplete("instance")._renderItem=function(e,a){let o=t[a.label],l='
';for(var r=0;r<=o.length;r++)l+=`
`;return l+="
",$("
  • ").append(""+a.label+"").append(l).appendTo(e)}}}}catch(e){console.error(`editorSelector: error: ${e.message}, stack: ${e.stack}`)}}},vis.binds.materialdesign.dialog={initialize:function(e,t=!1){try{let a=myMdwHelper.getValueFromData(e.title,""),o=myMdwHelper.getFontSize(e.titleTextSize),l=myMdwHelper.getValueFromData(e.buttonText,"");return`
    \n
    \n
    \n \n

    ${myMdwHelper.getValueFromData(e.title,"")}
    Will be removed in next Version! Please use the new Dialog Widget!

    \n
    \n ${vis.editMode&&!t?`
    `:""}\n \n \n ${t?``:""}\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    `}catch(e){console.error(`[Dialog] initialize: error: ${e.message}, stack: ${e.stack}`)}},handle:function(e,t,a=!1){try{setTimeout(function(){var o=$(e);let l=o.find(".mdc-dialog"),r=window.getComputedStyle(o.context,null).width,i=window.getComputedStyle(o.context,null).height;l.get(0).style.setProperty("--materialdesign-color-dialog-background",myMdwHelper.getValueFromData(t.colorBackground,"")),l.get(0).style.setProperty("--materialdesign-color-dialog-title-background",myMdwHelper.getValueFromData(t.colorTitleBackground,"")),l.get(0).style.setProperty("--materialdesign-color-dialog-title",myMdwHelper.getValueFromData(t.colorTitle,"")),l.get(0).style.setProperty("--materialdesign-color-dialog-button-background",myMdwHelper.getValueFromData(t.colorButtonBackground,"")),l.get(0).style.setProperty("--materialdesign-color-dialog-button-text",myMdwHelper.getValueFromData(t.colorButtonText,"")),l.get(0).style.setProperty("--materialdesign-color-dialog-button-hover",myMdwHelper.getValueFromData(t.colorButtonHover,""));const n=new mdc.dialog.MDCDialog(l.get(0));mdc.ripple.MDCRipple.attachTo(l.find(".mdc-button").get(0));n.escapeKeyAction="",n.scrimClickAction="",vis.editMode&&t.showInEditor?(l.find(".mdc-dialog__container").css("width","100%").css("height","100%"),l.find(".mdc-dialog__surface").css("width","100%").css("height","100%"),l.css("position","relative"),l.find(".mdc-dialog__scrim").hide(),n.open()):vis.editMode||(l.find(".mdc-dialog__container").css("width",r.replace("px","")).css("height",i.replace("px","")),l.find(".mdc-dialog__surface").css("width","100%").css("height","100%"),t.showInCenterOfScreen||l.css("position","absolute"),vis.states.bind(t.showDialogOid+".ts",function(e,a,o){let l=vis.states.attr(t.showDialogOid+".val");n.isOpen||!0!==l&&"true"!==l?!n.isOpen||!1!==l&&"false"!==l||n.close():n.open()}),vis.editMode||n.listen("MDCDialog:closing",function(){vis.setValue(t.showDialogOid,!1),vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices)}),n.listen("MDCDialog:opened",()=>{if(a)vis.binds.basic.iframeRefresh(l,t,this.view);else{let e=t.contains_view;vis.views[e]&&vis.renderView(e,e,!0,function(e){$("#visview_"+e).css("position","relative").appendTo(l.find(".mdc-dialog__content")).show().data("persistent",!0)})}}))},1)}catch(e){console.error(`[Dialog] handle: error: ${e.message}, stack: ${e.stack}`)}},vue:function(e,t){try{let a=$(e),o="materialdesign-vuetify-dialog",l=0,r=!1;vis.editMode&&$("body").find(`#dialog_card_${t.wid}`).parent().remove(),a.append(`\n
    \n \n\n \n\n \n \n \n mdi-${myMdwHelper.getValueFromData(t.fullscreenCloseIcon,"close")}\n \n \n\n ${myMdwHelper.getBooleanFromData(t.showTitle,!1)?``:""} \n\n \n\n \n \n \n `),myMdwHelper.waitForElement(a,`.${o}`,t.wid,"Dialog",function(){myMdwHelper.waitForElement($("body"),"#materialdesign-vuetify-container",t.wid,"Dialog",function(){function e(e){i(),s.showDialog=e,myMdwHelper.waitForElement($("body"),`#dialog_card_${t.wid}`,t.wid,"Dialog",function(){let e=$("body").find(`#dialog_card_${t.wid}`);e.get(0).style.setProperty("--vue-dialog-view-container-distance-to-border",myMdwHelper.getNumberFromData(t.viewDistanceToBorder,24)+"px"),e.get(0).style.setProperty("--vue-dialog-title-font-size",myMdwHelper.getNumberFromData(t.titleFontSize,20)+"px"),e.get(0).style.setProperty("--vue-dialog-title-font-color",myMdwHelper.getValueFromData(t.titleColor,"")),e.get(0).style.setProperty("--vue-dialog-title-font-family",myMdwHelper.getValueFromData(t.titleFont,"inherit")),e.get(0).style.setProperty("--vue-dialog-footer-background-color",myMdwHelper.getValueFromData(t.footerBackgroundColor,"")),$("body").find(".v-overlay__scrim").css("opacity",myMdwHelper.getValueFromData(t.overlayOpacity,.46)),$("body").find(".v-overlay__scrim").css("background",myMdwHelper.getValueFromData(t.overlayColor,"rgb(33, 33, 33)")),n();let a=t.contains_view;e.find("#visview_"+a).length<1&&vis.views[a]&&vis.renderView(a,a,!0,function(a){$("#visview_"+a).css("position","relative").css("height",l+"px").appendTo(e.find(`#viewContainer_${t.wid}`)).show().data("persistent",!0)})})}function i(){r=$(window).width()<=myMdwHelper.getNumberFromData(t.fullscreenResolutionLower,0),s.showToolbar=r,s.fullscreen=r,s.transition=r?"dialog-bottom-transition":"dialog-transition",n()}function n(){let e=$("body").find(`#dialog_card_${t.wid}`);if(l=myMdwHelper.getNumberFromData(t.viewHeight,5e3),r){let t=e.find(".v-toolbar__content").height();l=Math.floor($(window).height()-t-1)}else{let t=e.find(".v-card__title").outerHeight(),a=e.find(".v-dialog-footer").height();(l>.9*$(window).height()||l+t+a>.9*$(window).height())&&(l=Math.floor(.9*$(window).height()-a-t-5))}r?(e.get(0).style.setProperty("--vue-toolbar-background-color",myMdwHelper.getValueFromData(t.headerBackgroundColor,"#44739e")),e.get(0).style.setProperty("--vue-ripple-effect-color",myMdwHelper.getValueFromData(t.pressColor,"#ffffff"))):(e.get(0).style.setProperty("--vue-toolbar-background-color",myMdwHelper.getValueFromData(t.headerBackgroundColor,"initial")),e.get(0).style.setProperty("--vue-ripple-effect-color",myMdwHelper.getValueFromData(t.pressColor,""))),e.find("#visview_"+t.contains_view).css("height",l+"px")}let s=new Vue({el:a.find(`.${o}`).get(0),vuetify:new Vuetify,data:()=>(r=$(window).width()<=myMdwHelper.getNumberFromData(t.fullscreenResolutionLower,0),{showDialog:!1,title:myMdwHelper.getValueFromData(t.title,myMdwHelper.getValueFromData(t.contains_view,"")), closeText:myMdwHelper.getValueFromData(t.buttonText,_("close")),showToolbar:r,fullscreen:r,transition:r?"dialog-bottom-transition":"dialog-transition"}),methods:{closeButton(e){vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),this.showDialog=!1}},watch:{showDialog(e){"datapoint"===t.showDialogMethod&&vis.setValue(t.showDialogOid,e)}}});if("button"===t.showDialogMethod){let o=a;a.context.style.setProperty("--mdc-theme-primary",myMdwHelper.getValueFromData(t.colorPress,"")),"icon"===t.buttonStyle?mdc.iconButton.MDCIconButtonToggle.attachTo(o.get(0)):mdc.ripple.MDCRipple.attachTo(o.get(0)),o.click(function(){vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),s.showDialog||e(!0)})}else vis.states.bind(t.showDialogOid+".ts",function(a,o,l){let r=vis.states.attr(t.showDialogOid+".val");s.showDialog||!0!==r&&"true"!==r?!s.showDialog||!1!==r&&"false"!==r||e(!1):e(!0)});$(window).resize(function(){i()})})})}catch(e){console.error(`[Vuetify Dialog ${t.wid}] initialize: error: ${e.message}, stack: ${e.stack}`)}}},vis.binds.materialdesign.drawer={initializeTopAppBar:function(e){try{let t="",a="",o="",l="";"standard"===e.topAppBarLayout?l="mdc-top-app-bar--fixed-adjust":"dense"===e.topAppBarLayout?(t="mdc-top-app-bar--dense",l="mdc-top-app-bar--dense-fixed-adjust"):"short"===e.topAppBarLayout&&(t="mdc-top-app-bar--short mdc-top-app-bar--short-collapsed",l="mdc-top-app-bar--short-fixed-adjust");let r=myMdwHelper.getValueFromData(e.topAppBarZ_index,"","z-index: ",";");return a=vis.editMode?`style="position: absolute;${r}"`:`style="position: fixed;${r}"`,"modal"!==e.drawerLayout&&"dismissible"!==e.drawerLayout||(o=``),{headerLayout:t,headerStyle:a,contentLayout:l,headerButtonShow:o}}catch(t){console.error(`initializeTopAppBar [${e.wid}]: error:: ${t.message}, stack: ${t.stack}`)}},initializeDrawer:function(e){try{let l=[],r=[],i="",n="",s="",d="";return t(),a(),o(),{viewsList:l,drawerItemList:r.join(""),drawerHeader:i,drawerLayout:n,drawerStyle:s,drawerModalScrim:d};function t(){let t=myMdwHelper.getValueFromData(e.drawerWidth,"","width: ","px;"),a="",o="";void 0!==e.z_index&&null!==e.z_index&&""!==e.z_index&&(a=`z-index: ${e.z_index};`,o=`z-index: ${e.z_index-1};`);let l="";"modal"===e.drawerLayout?(n="mdc-drawer--modal",vis.editMode?l="position: absolute;":d=`
    `):vis.editMode?(n="mdc-drawer--dismissible mdc-drawer--open",l="position: absolute;"):(n="mdc-drawer--dismissible mdc-drawer--open",l="position: fixed;"),s=`style="${t}${a}${l}"`}function a(){!0!==e.attr("showHeader")&&"true"!==e.attr("showHeader")||(i=`
    \n ${e.headerLabel}\n
    `)}function o(){let t=myMdwHelper.getFontSize(e.listItemHeaderTextSize),a=myMdwHelper.getValueFromData(e.drawerIconHeight,"","height: ","px !important;"),o=myMdwHelper.getValueFromData(e.drawerSubItemIconHeight,a,"height: ","px !important;"),i=myMdwHelper.getFontSize(e.listItemTextSize),n=myMdwHelper.getFontSize(e.listSubItemTextSize),s=e.showLabels?"":"display: none;",d=e.showSubItemsLabels?"":"display: none;",c=myMdwHelper.getValueFromData(e.backdropLabelBackgroundHeight,"height: auto;","height: ","%;"),u=myMdwHelper.getValueFromData(e.backdropSubLabelBackgroundHeight,c,"height: ","%;"),m=0;for(var p=0;p<=e.count;p++){let b=myMdwHelper.getValueFromData(e.attr("headers"+p),null),y=myMdwHelper.getValueFromData(e.attr("labels"+p),e.attr("contains_view_"+p)),h=myMdwHelper.getValueFromData(e.attr("iconDrawer"+p),""),f="",w=!1,v="",x="";if(e.attr("contains_view_"+p)&&e.attr("contains_view_"+p).includes("|")){if(l.push(""),f=e.attr("contains_view_"+p).split("|"),f.length>0){w=!0;let t=myMdwHelper.getValueFromData(e.attr("labels"+p),null);if(null===t)y=e.attr("contains_view_"+p);else try{v=JSON.parse(t),y=v.itemText}catch(e){v="",y="Error: wrong format!"}let a=myMdwHelper.getValueFromData(e.attr("iconDrawer"+p),null);if(null!==a)try{x=JSON.parse(a),h=x.itemImage}catch(e){x=""}}}else l.push(e.attr("contains_view_"+p));let k=myMdwHelper.getListItemHeader(b,t);r.push(k);let F=myMdwHelper.getListItem(e.drawerItemLayout,m,h,w,!1,a),M="";"standard"===e.drawerItemLayout&&(M=myMdwHelper.getListItemImage(h,a));let D=myMdwHelper.getListItemLabel(e.drawerItemLayout,m,y,w,i,s,e.colorSubItemToggleIcon,c,!1,e.listItemAlignment);if(r.push(`${F}${M}${D}
    `),w){r.push('")}r.push(myMdwHelper.getListItemDivider(e.attr("dividers"+p),e.listItemDividerStyle)),m++}}}catch(t){console.error(`initializeDrawer [${e.wid}]: error:: ${t.message}, stack: ${t.stack}`)}},handler:function(e,t){try{let r=$(e),i=r.parent().parent().get(0),n=r.context,s=r.parent().find(".mdc-top-app-bar").get(0),d=r.parent().find(".mdc-list").get(0);setTimeout(function(){if(r.parent().parent().css("left","0px"),r.parent().parent().css("top","0px"),"modal"===t.drawerLayout){let e=window.getComputedStyle(i,null).width;"short"!==t.topAppBarLayout&&r.parent().find(".mdc-top-app-bar").css("width",e)}else{let e=window.getComputedStyle(i,null).width,a=window.getComputedStyle(n,null).width,o=e.replace("px","")-a.replace("px","");"short"!==t.topAppBarLayout?r.parent().find(".mdc-top-app-bar").css("width",o):vis.editMode||r.parent().find(".mdc-top-app-bar").css("left",a),r.parent().find(".drawer-frame-app-content").css("left",a)}},1);let c=myMdwHelper.getValueFromData(t.colorDrawerBackground,"");n.style.setProperty("--materialdesign-color-drawer-background",c),d.style.setProperty("--materialdesign-color-drawer-sub-background",myMdwHelper.getValueFromData(t.colorDrawerSubBackground,c));let u=myMdwHelper.getValueFromData(t.colorDrawerItemBackground,c);d.style.setProperty("--materialdesign-color-list-item-background",u),d.style.setProperty("--materialdesign-color-sub-list-item-background",myMdwHelper.getValueFromData(t.colorDrawerSubItemBackground,u));let m=myMdwHelper.getValueFromData(t.colorListItemSelected,"");d.style.setProperty("--materialdesign-color-list-item-selected",m),d.style.setProperty("--materialdesign-color-sub-list-item-selected",myMdwHelper.getValueFromData(t.colorListSubItemSelected,m));let p=myMdwHelper.getValueFromData(t.colorListItemHover,"");d.style.setProperty("--materialdesign-color-list-item-hover",p),d.style.setProperty("--materialdesign-color-sub-list-item-hover",myMdwHelper.getValueFromData(t.colorListSubItemHover,p));let g=myMdwHelper.getValueFromData(t.colorListItemText,"");d.style.setProperty("--materialdesign-color-list-item-text",g),d.style.setProperty("--materialdesign-color-sub-list-item-text",myMdwHelper.getValueFromData(t.colorListSubItemText,g));let b=myMdwHelper.getValueFromData(t.colorListItemTextSelected,"");d.style.setProperty("--materialdesign-color-list-item-text-activated",b),d.style.setProperty("--materialdesign-color-sub-list-item-text-activated",myMdwHelper.getValueFromData(t.colorListSubItemTextSelected,b)),d.style.setProperty("--materialdesign-color-list-item-header",myMdwHelper.getValueFromData(t.colorListItemHeaders,"")),d.style.setProperty("--materialdesign-color-list-item-divider",myMdwHelper.getValueFromData(t.colorListItemDivider,""));let y=myMdwHelper.getValueFromData(t.colorDrawerbackdropLabelBackground,"");d.style.setProperty("--materialdesign-color-list-item-backdrop",y),d.style.setProperty("--materialdesign-color-sub-list-item-backdrop",myMdwHelper.getValueFromData(t.colorDrawerbackdropSubLabelBackground,y));let h=myMdwHelper.getValueFromData(t.colorDrawerbackdropLabelBackgroundActive,"");d.style.setProperty("--materialdesign-color-list-item-backdrop-activated",h),d.style.setProperty("--materialdesign-color-sub-list-item-backdrop-activated",myMdwHelper.getValueFromData(t.colorDrawerbackdropSubLabelBackgroundActive,h)),s.style.setProperty("--mdc-theme-primary",myMdwHelper.getValueFromData(t.colorTopAppBarBackground,""));const f=new mdc.drawer.MDCDrawer(n),w=new mdc.topAppBar.MDCTopAppBar(s),v=new mdc.list.MDCList(d);v.listElements.map(e=>new mdc.ripple.MDCRipple(e));w.setScrollTarget(r.parent().find(".mdc-top-app-bar-content").get(0)),w.listen("MDCTopAppBar:nav",()=>{if(vis.binds.materialdesign.helper.vibrate(t.vibrateTopAppBarOnMobilDevices),"dismissible"===t.drawerLayout)if(f.open){let e=window.getComputedStyle(i,null).width;window.getComputedStyle(n,null).width;"short"!==t.topAppBarLayout?r.parent().find(".mdc-top-app-bar").css("width",e):vis.editMode||r.parent().find(".mdc-top-app-bar").css("left","0px"),r.parent().find(".drawer-frame-app-content").css("left","0px"),f.open=!f.open}else{let e=window.getComputedStyle(i,null).width,a=window.getComputedStyle(n,null).width,o=e.replace("px","")-a.replace("px","");f.open=!f.open,setTimeout(function(){"short"!==t.topAppBarLayout?r.parent().find(".mdc-top-app-bar").css("width",o):vis.editMode||r.parent().find(".mdc-top-app-bar").css("left",a),r.parent().find(".drawer-frame-app-content").css("left",a)},250)}else f.open=!f.open});var a=vis.states.attr(t.oid+".val");function o(){if(t.showSelectedItemAsTitle){let e=r.parent().find(`span[id="listItem_${v.selectedIndex}"]`).text();r.parent().find(".mdc-top-app-bar__title").text(e)}}function l(e){let t=r.find(`.mdc-list-item[id="listItem_${e}"]`);if(t.hasClass("isSubItem")){let e=t.parent().prev(".hasSubItems");e.hasClass("toggled")||(e.addClass("toggled"),e.find(".toggleIcon").html("keyboard_arrow_up"),e.next("nav.mdc-sub-list").toggle())}}l(a),v.selectedIndex=a,o(),vis.states.bind(t.oid+".val",function(e,t,a){l(t),v.selectedIndex=t,o()}),r.find(".mdc-list-item").click(function(){let e=parseInt($(this).eq(0).attr("id").replace("listItem_",""));vis.binds.materialdesign.helper.vibrate(t.vibrateDrawerOnMobilDevices),$(this).hasClass("hasSubItems")?($(this).hasClass("toggled")?($(this).removeClass("toggled"),$(this).find(".toggleIcon").html("keyboard_arrow_down")):($(this).addClass("toggled"),$(this).find(".toggleIcon").html("keyboard_arrow_up")),$(this).next("nav.mdc-sub-list").toggle(),v.selectedIndex=e):(a=vis.states.attr(t.oid+".val"),a!=e&&(vis.setValue(t.oid,e),o(),setTimeout(function(){window.scrollTo({top:0,left:0})},50)),"modal"===t.drawerLayout&&(f.open=!1))})}catch(e){console.error(`mdcTopAppBarWithDrawer [${t.wid}]: error:: ${e.message}, stack: ${e.stack}`)}}},vis.binds.materialdesign.iconlist=function(e,t){try{let s=$(e),d="IconList",c=[],u=null,m=0,p="materialdesign-icon-list-container",g=!1,b=[];s.context.style.setProperty("--materialdesign-icon-list-items-per-row",myMdwHelper.getNumberFromData(t.maxItemsperRow,1)),s.context.style.setProperty("--materialdesign-icon-list-items-min-width",myMdwHelper.getNumberFromData(t.iconItemMinWidth,50)+"px"),s.context.style.setProperty("--materialdesign-icon-list-items-gaps",myMdwHelper.getNumberFromData(t.itemGaps,4)+"px"),s.context.style.setProperty("--materialdesign-icon-list-items-text-font-size",myMdwHelper.getNumberFromData(t.labelFontSize,14)+"px"),s.context.style.setProperty("--materialdesign-icon-list-items-text-font-family",myMdwHelper.getValueFromData(t.labelFontFamily,"inherit")),s.context.style.setProperty("--materialdesign-icon-list-items-text-font-color",myMdwHelper.getValueFromData(t.labelFontColor,"")),s.context.style.setProperty("--materialdesign-icon-list-items-subText-font-size",myMdwHelper.getNumberFromData(t.subLabelFontSize,12)+"px"),s.context.style.setProperty("--materialdesign-icon-list-items-subText-font-family",myMdwHelper.getValueFromData(t.subLabelFontFamily,"inherit")),s.context.style.setProperty("--materialdesign-icon-list-items-subText-font-color",myMdwHelper.getValueFromData(t.subLabelFontColor,"")),s.context.style.setProperty("--materialdesign-icon-list-items-value-font-size",myMdwHelper.getNumberFromData(t.valueFontSize,12)+"px"),s.context.style.setProperty("--materialdesign-icon-list-items-value-font-family",myMdwHelper.getValueFromData(t.valueFontFamily,"inherit")),s.context.style.setProperty("--materialdesign-icon-list-items-value-font-color",myMdwHelper.getValueFromData(t.valueFontColor,"")),s.context.style.setProperty("--materialdesign-icon-list-item-layout-horizontal-image-container-width",myMdwHelper.getStringFromNumberData(t.horizontalIconContainerWidth,"auto","","px")),s.context.style.setProperty("--materialdesign-icon-list-item-layout-vertical-image-container-height",myMdwHelper.getStringFromNumberData(t.verticalIconContainerHeight,"auto","","px"));let y=myMdwHelper.getNumberFromData(t.iconHeight,24);function a(){if(c=[],b=[],g=!1,"jsonStringObject"===t.listItemDataMethod)if(vis.states.attr(t.json_string_oid+".val")&&"null"!==vis.states.attr(t.json_string_oid+".val"))try{u=JSON.parse(vis.states.attr(t.json_string_oid+".val")),m=u.length-1}catch(e){u=[{text:`${_("Error in JSON string")}`,subText:``}],m=u.length-1,console.error(`[IconList ${t.wid}] cannot parse json string! Error: ${e.message}`)}else u=[{text:`${_("datapoint '{0}' not exist!").replace("{0}",t.json_string_oid)}`}],m=u.length-1,console.error(`[IconList ${t.wid}] ${_("datapoint '{0}' not exist!").replace("{0}",t.json_string_oid)}`);else m=t.countListItems;for(var e=0;e<=m;e++){let a=n(e,t,u),o="materialdesign-icon-list-item-standard";"card"===t.listLayout?o="full"===t.buttonLayout&&"text"!==a.listType?"materialdesign-icon-list-item-card-layout-full":"materialdesign-icon-list-item-card":"cardOutlined"===t.listLayout&&(o="full"===t.buttonLayout&&"text"!==a.listType?"materialdesign-icon-list-item-card-layout-full materialdesign-icon-list-item-card--outlined":"materialdesign-icon-list-item-card materialdesign-icon-list-item-card--outlined");let l="";if("text"===a.listType)l=myMdwHelper.getIconElement(a.image,"auto",y+"px",a.imageColor);else if("round"===t.buttonLayout){let o=myMdwHelper.getNumberFromData(t.buttonHeight,1.5*y);l=`
    \n
    \n
    \n ${myMdwHelper.getIconElement(a.image,"auto",y+"px",a.imageColor)}\n
    \n
    \n
    `}else{let o=myMdwHelper.getNumberFromData(t.buttonHeight,0)>0?t.buttonHeight+"px":"100%";l=`
    \n
    \n
    \n ${myMdwHelper.getIconElement(a.image,"auto",y+"px",a.imageColor)}\n
    \n
    \n
    `}let r="";"text"!==a.listType&&!0===a.lockEnabled&&(r=``);let i="",s=vis.states.attr(a.objectId+".val");i="vertical"===t.itemLayout?"full"===t.buttonLayout&&"text"!==a.listType?`\n
    \n
    \n
    \n
    \n \n ${""!==a.text?``:""}\n
    \n ${myMdwHelper.getIconElement(a.image,"auto",y+"px",a.imageColor)}\n ${r}\n
    \n ${!0!==a.showValueLabel&&"true"!==a.showValueLabel||!a.listType.includes("buttonToggle")&&"buttonState"!==a.listType?"":``}\n ${""!==a.subText?``:""}\n
    \n
    \n
    \n
    \n
    \n `:`\n
    \n ${""!==a.text?``:""}\n
    \n ${l}\n ${r}\n
    \n ${!0!==a.showValueLabel&&"true"!==a.showValueLabel||!a.listType.includes("buttonToggle")&&"buttonState"!==a.listType?"":``}\n ${""!==a.subText?``:""}\n
    \n
    \n `:"full"===t.buttonLayout&&"text"!==a.listType?`\n
    \n
    \n
    \n
    \n\n
    \n ${myMdwHelper.getIconElement(a.image,"auto",y+"px",a.imageColor)}\n ${r}\n
    \n
    \n ${""!==a.text?``:""}\n ${""!==a.subText?``:""}\n ${!0!==a.showValueLabel&&"true"!==a.showValueLabel||!a.listType.includes("buttonToggle")&&"buttonState"!==a.listType?"":``}\n
    \n
    \n
    \n
    \n
    \n
    \n `:`\n
    \n
    \n ${l}\n ${r}\n
    \n
    \n ${""!==a.text?``:""}\n ${""!==a.subText?``:""}\n ${!0!==a.showValueLabel&&"true"!==a.showValueLabel||!a.listType.includes("buttonToggle")&&"buttonState"!==a.listType?"":``}\n
    \n
    \n
    \n `,g=myMdwHelper.oidNeedSubscribe(a.objectId,t.wid,d,g);let m=myMdwHelper.bindingNeedSubscribe(i,t.wid,d,g);g=m.oidNeedSubscribe,b=b.concat(m.bindingTokenList),c.push(i)}}function o(e=!1,a=0,o=0){let l=c.join("");if(b.length>0)for(var r=0;r<=b.length-1;r++)l=l.replace(b[r],vis.formatBinding(b[r]));e?s.find(`.${p}`).replaceWith(`\n
    \n ${l}\n
    \n `):s.append(`\n
    \n ${l}\n
    \n `),s.scrollTop(a),s.scrollLeft(o)}function l(){let e=s.find(".materialdesign-iconList-button");for(var a=0;a<=e.length-1;a++){let o=n(a,t,u);if("round"===t.buttonLayout?new mdc.iconButton.MDCIconButtonToggle(e.get(a)):new mdc.ripple.MDCRipple(e.get(a)),e.get(a).style.setProperty("--mdc-theme-primary",myMdwHelper.getValueFromData(t.buttonColorPress,"")),e.eq(a).click(function(){let e=$(this).attr("index"),a=s.find(`#icon-list-item${e}`);if(o=n(e,t,u),"text"!==o.listType&&vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),"buttonToggle"===o.listType)if(console.log(a.attr("isLocked")),"false"===a.attr("isLocked")||void 0===a.attr("isLocked")){let t=vis.states.attr(o.objectId+".val");vis.setValue(o.objectId,!t),r(e,!t,o)}else i(a);else if("buttonState"===o.listType)if("false"===a.attr("isLocked")||void 0===a.attr("isLocked")){let t=o.buttonStateValue;vis.setValue(o.objectId,t),r(e,vis.states.attr(o.objectId+".val"),o)}else i(a);else if("buttonToggleValueTrue"===o.listType)if("false"===a.attr("isLocked")||void 0===a.attr("isLocked")){let t=vis.states.attr(o.objectId+".val");t===o.buttonToggleValueTrue||parseFloat(t)===parseFloat(o.buttonToggleValueTrue)?vis.setValue(o.objectId,o.buttonToggleValueFalse):vis.setValue(o.objectId,o.buttonToggleValueTrue),r(e,vis.states.attr(o.objectId+".val"),o)}else i(a);else if("buttonToggleValueFalse"===o.listType)if("false"===a.attr("isLocked")||void 0===a.attr("isLocked")){let t=vis.states.attr(o.objectId+".val");t===o.buttonToggleValueFalse||parseFloat(t)===parseFloat(o.buttonToggleValueFalse)?vis.setValue(o.objectId,o.buttonToggleValueTrue):vis.setValue(o.objectId,o.buttonToggleValueFalse),r(e,vis.states.attr(o.objectId+".val"),o)}else i(a);else"buttonNav"===o.listType?vis.changeView(o.buttonNavView):"buttonLink"===o.listType&&window.open(o.buttonLink)}),o.listType.includes("buttonToggle")||"buttonState"===o.listType){let e=vis.states.attr(o.objectId+".val");r(a,e,o),vis.states.bind(o.objectId+".val",function(e,a,l){let i=s.find('div[data-oid="'+e.type.substr(0,e.type.lastIndexOf("."))+'"]');i.each(function(e){let l=parseInt(i.eq(e).attr("id").replace("icon-list-item",""));o=n(l,t,u),r(l,a,o)})})}}}function r(e,a,o){let l=s.find(`#icon-list-item${e}`);l.find(".materialdesign-icon-list-item-value").text(`${a}${o.valueAppendix}`),"buttonState"===o.listType?a=a===o.buttonStateValue||parseFloat(a)===parseFloat(o.buttonStateValue):"buttonToggleValueTrue"===o.listType?a=a===o.buttonToggleValueTrue||parseFloat(a)===parseFloat(o.buttonToggleValueTrue):"buttonToggleValueFalse"===o.listType&&(a=a!==o.buttonToggleValueFalse&&parseFloat(a)!==parseFloat(o.buttonToggleValueFalse)),!0===a||"true"===a?(l.find(".materialdesign-iconList-button").css("background",o.buttonBackgroundActiveColor),myMdwHelper.changeIconElement(l,o.imageActive,"auto",y+"px",o.imageActiveColor)):(l.find(".materialdesign-iconList-button").css("background",o.buttonBackgroundColor),myMdwHelper.changeIconElement(l,o.image,"auto",y+"px",o.imageColor)),"true"===l.attr("isLocked")&&(!0===myMdwHelper.getBooleanFromData(t.lockApplyOnlyOnImage,!1)?l.find(".materialdesign-iconList-button").css("filter",`grayscale(${myMdwHelper.getNumberFromData(t.lockFilterGrayscale,0)}%)`):l.css("filter",`grayscale(${myMdwHelper.getNumberFromData(t.lockFilterGrayscale,0)}%)`)),s.find(`#icon-list-item${e}`).show(),s.find(`#icon-list-item${e}`).css("display","flex")}function i(e){e.find(".materialdesign-lock-icon").fadeOut(),e.attr("isLocked",!1),e.css("filter","grayscale(0%)"),!0===myMdwHelper.getBooleanFromData(t.lockApplyOnlyOnImage,!1)?e.find(".materialdesign-iconList-button").css("filter","grayscale(0%)"):e.css("filter","grayscale(0%)"),setTimeout(function(){e.attr("isLocked",!0),e.find(".materialdesign-lock-icon").show(),!0===myMdwHelper.getBooleanFromData(t.lockApplyOnlyOnImage,!1)?e.find(".materialdesign-iconList-button").css("filter",`grayscale(${myMdwHelper.getNumberFromData(t.lockFilterGrayscale,0)}%)`):e.css("filter",`grayscale(${myMdwHelper.getNumberFromData(t.lockFilterGrayscale,0)}%)`)},1e3*myMdwHelper.getNumberFromData(t.autoLockAfter,10))}function n(e,t,a){return"inputPerEditor"===t.listItemDataMethod?{background:myMdwHelper.getValueFromData(t.attr("itemBackgroundColor"+e),myMdwHelper.getValueFromData(t.itemBackgroundColor,"")),text:myMdwHelper.getValueFromData(t.attr("label"+e),""),subText:myMdwHelper.getValueFromData(t.attr("subLabel"+e),""),image:myMdwHelper.getValueFromData(t.attr("listImage"+e),""),imageColor:myMdwHelper.getValueFromData(t.attr("listImageColor"+e),"#44739e"),imageActive:myMdwHelper.getValueFromData(t.attr("listImageActive"+e),myMdwHelper.getValueFromData(t.attr("listImage"+e),"")),imageActiveColor:myMdwHelper.getValueFromData(t.attr("listImageActiveColor"+e),myMdwHelper.getValueFromData(t.attr("listImageColor"+e),"#44739e")),buttonBackgroundColor:myMdwHelper.getValueFromData(t.attr("buttonBgColor"+e),""),buttonBackgroundActiveColor:myMdwHelper.getValueFromData(t.attr("buttonBgColorActive"+e),myMdwHelper.getValueFromData(t.attr("buttonBgColor"+e),"")),listType:myMdwHelper.getValueFromData(t.attr("listType"+e),"text"),objectId:t.attr("oid"+e),buttonStateValue:t.attr("listTypeButtonStateValue"+e),buttonNavView:t.attr("listTypeButtonNav"+e),buttonLink:t.attr("listTypeButtonLink"+e),buttonToggleValueTrue:t.attr("typeButtonToggleValueTrue"+e),buttonToggleValueFalse:t.attr("typeButtonToggleValueFalse"+e),valueAppendix:myMdwHelper.getValueFromData(t.attr("valueAppendix"+e),""), showValueLabel:myMdwHelper.getBooleanFromData(t.attr("showValueLabel"+e),!0),statusBarColor:myMdwHelper.getValueFromData(t.attr("statusBarColor"+e),"transparent"),lockEnabled:myMdwHelper.getBooleanFromData(t.attr("lockEnabled"+e),!1)}:{background:myMdwHelper.getValueFromData(a[e].background,myMdwHelper.getValueFromData(t.itemBackgroundColor,"")),text:myMdwHelper.getValueFromData(a[e].text,""),subText:myMdwHelper.getValueFromData(a[e].subText,""),image:myMdwHelper.getValueFromData(a[e].image,""),imageColor:myMdwHelper.getValueFromData(a[e].imageColor,"#44739e"),imageActive:myMdwHelper.getValueFromData(a[e].imageActive,myMdwHelper.getValueFromData(a[e].image,"")),imageActiveColor:myMdwHelper.getValueFromData(a[e].imageActiveColor,myMdwHelper.getValueFromData(a[e].imageColor,"#44739e")),buttonBackgroundColor:myMdwHelper.getValueFromData(a[e].buttonBackgroundColor,""),buttonBackgroundActiveColor:myMdwHelper.getValueFromData(a[e].buttonBackgroundActiveColor,myMdwHelper.getValueFromData(a[e].buttonBackgroundColor,"")),listType:myMdwHelper.getValueFromData(a[e].listType,"text"),objectId:a[e].objectId,buttonStateValue:a[e].buttonStateValue,buttonNavView:a[e].buttonNavView,buttonLink:a[e].buttonLink,buttonToggleValueTrue:a[e].buttonToggleValueTrue,buttonToggleValueFalse:a[e].buttonToggleValueFalse,valueAppendix:myMdwHelper.getValueFromData(a[e].valueAppendix,""),showValueLabel:myMdwHelper.getBooleanFromData(a[e].showValueLabel,!0),statusBarColor:myMdwHelper.getValueFromData(a[e].statusBarColor,"transparent"),lockEnabled:myMdwHelper.getBooleanFromData(a[e].lockEnabled,!1)}}a(),g?myMdwHelper.subscribeStatesAtRuntime(t.wid,d,function(){o(),l()}):(o(),l()),vis.states.bind(t.json_string_oid+".val",function(e,r,i){let n=s.scrollTop(),c=s.scrollLeft();a(),g?myMdwHelper.subscribeStatesAtRuntime(t.wid,d,function(){o(!0,n,c),l()}):(o(!0,n,c),l())})}catch(e){console.error(`[IconList ${t.wid}] initialize: error: ${e.message}, stack: ${e.stack}`)}},vis.binds.materialdesign.list={initialize:function(e){try{let a=null,o=0;if("jsonStringObject"===e.listItemDataMethod)try{a=JSON.parse(e.jsonStringObject),o=a.length-1}catch(e){a=[{text:`${_("Error in JSON string")}`,subText:``}],console.error(`[List] cannot parse json string! Error: ${e.message}`)}else o=e.countListItems;let l=myMdwHelper.getValueFromData(e.listItemHeight,"","height: ","px !important;");"buttonToggle_readonly"!==e.listType&&"checkbox_readonly"!==e.listType&&"switch_readonly"!==e.listType||(l+="cursor: default; pointer-events: none;");let r=myMdwHelper.getFontSize(e.listItemHeaderTextSize),i=myMdwHelper.getFontSize(e.listItemTextSize),n=myMdwHelper.getFontSize(e.listItemSubTextSize),s=myMdwHelper.getFontSize(e.listItemTextRightSize),d=myMdwHelper.getFontSize(e.listItemSubTextRightSize),c=myMdwHelper.getValueFromData(e.distanceBetweenTextAndImage,"","margin-right: ","px;"),u=myMdwHelper.getValueFromData(e.rightTextWidth,"","","px"),m="",p="";"text"===e.listType?m=" mdc-list--non-interactive":"checkbox"!==e.listType&&"checkbox_readonly"!==e.listType&&"switch"!==e.listType&&"switch_readonly"!==e.listType||(p='role="checkbox"');let g=[],b="";if("card"===e.listLayout?b="materialdesign-list-card":"cardOutlined"===e.listLayout&&(b="materialdesign-list-card materialdesign-list-card--outlined"),"jsonStringObject"===e.listItemDataMethod&&null!==a||"inputPerEditor"===e.listItemDataMethod)for(var t=0;t<=o;t++){let o=vis.binds.materialdesign.list.getListItemObj(t,e,a);g.push(myMdwHelper.getListItemHeader(o.header,r));let m=myMdwHelper.getListItem("standard",t,"",!1,!1,l,`data-oid="${o.objectId}"`,p).replace(" mdc-list-item--activated",""),b="";b=""===o.subText?myMdwHelper.getListItemLabel("standard",t,o.text,!1,i,"","","",!1,e.listItemAlignment):myMdwHelper.getListItemTextElement(o.text,o.subText,i,n,e.listItemAlignment);let y="";""===o.rightSubText?(y=myMdwHelper.getListItemLabel("standard",t,o.rightText,!1,s,"","",""),y=$($.parseHTML(y)),y.addClass("materialdesign-list-item-text-right").addClass("mdc-list-item__meta")):(y=myMdwHelper.getListItemTextElement(o.rightText,o.rightSubText,s,d,"right"),y=$($.parseHTML(y)),y.addClass("mdc-list-item__meta"),y.find(".mdc-list-item__primary-text").css("justify-content","flex-end").css("width","auto").addClass("materialdesign-list-item-text-right"),y.find(".mdc-list-item__secondary-text").addClass("materialdesign-list-item-text-right")),y.css("text-align","right").css("width",u);let h=myMdwHelper.getListIcon(o.image,"auto",myMdwHelper.getValueFromData(e.listImageHeight,"","","px !important;"),o.imageColor,c),f="";"checkbox"===e.listType||"checkbox_readonly"===e.listType?f=`
    \n \n
    \n \n \n \n
    \n
    `:"switch"!==e.listType&&"switch_readonly"!==e.listType||(f=`
    \n
    \n
    \n
    \n \n
    \n
    \n
    `),g.push(`${m}${h}${b}${f}${y.get(0).outerHTML}`),g.push(myMdwHelper.getListItemDivider(o.showDivider,e.listItemDividerStyle))}return{itemList:g.join(""),listLayout:b,nonInteractive:m}}catch(e){console.error(`[List] initialize: error:: ${e.message}, stack: ${e.stack}`)}},handler:function(e,t){try{let l=$(e),r=l.context,i=null;if("jsonStringObject"===t.listItemDataMethod)try{i=JSON.parse(t.jsonStringObject)}catch(e){i=null,console.error(`[List] cannot parse json string! Error: ${e.message}`)}let n=myMdwHelper.getValueFromData(t.distanceBetweenTextAndImage,"","margin-right: ","px;");const s=new mdc.list.MDCList(r),d=s.getDefaultFoundation().adapter_;s.listElements.map(e=>new mdc.ripple.MDCRipple(e));r.style.setProperty("--materialdesign-color-list-item-background",myMdwHelper.getValueFromData(t.listItemBackground,"")),r.style.setProperty("--materialdesign-color-list-item-hover",myMdwHelper.getValueFromData(t.colorListItemHover,"")),r.style.setProperty("--materialdesign-color-list-item-selected",myMdwHelper.getValueFromData(t.colorListItemSelected,"")),r.style.setProperty("--materialdesign-color-list-item-text",myMdwHelper.getValueFromData(t.colorListItemText,"")),r.style.setProperty("--materialdesign-color-list-item-text-activated",myMdwHelper.getValueFromData(t.colorListItemText,"")),r.style.setProperty("--materialdesign-color-list-item-text-secondary",myMdwHelper.getValueFromData(t.colorListItemTextSecondary,"")),r.style.setProperty("--materialdesign-color-list-item-text-right",myMdwHelper.getValueFromData(t.colorListItemTextRight,"")),r.style.setProperty("--materialdesign-color-list-item-text-secondary-right",myMdwHelper.getValueFromData(t.colorListItemTextSecondaryRight,"")),r.style.setProperty("--materialdesign-color-list-item-header",myMdwHelper.getValueFromData(t.colorListItemHeaders,"")),r.style.setProperty("--materialdesign-color-list-item-divider",myMdwHelper.getValueFromData(t.colorListItemDivider,"")),r.style.setProperty("--materialdesign-color-switch-on",myMdwHelper.getValueFromData(t.colorSwitchTrue,"")),r.style.setProperty("--materialdesign-color-switch-off",myMdwHelper.getValueFromData(t.colorSwitchThumb,"")),r.style.setProperty("--materialdesign-color-switch-track",myMdwHelper.getValueFromData(t.colorSwitchTrack,"")),r.style.setProperty("--materialdesign-color-switch-off-hover",myMdwHelper.getValueFromData(t.colorSwitchHover,"")),vis.editMode||s.listen("MDCList:action",function(e){let a=e.detail.index,l=vis.binds.materialdesign.list.getListItemObj(a,t,i);if("text"!==t.listType&&vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),"checkbox"===t.listType||"switch"===t.listType){let e=d.isCheckboxCheckedAtIndex(a);vis.setValue(l.objectId,e),o(a,e,l)}else if("buttonToggle"===t.listType){let e=vis.states.attr(l.objectId+".val");vis.setValue(l.objectId,!e),o(a,!e,l)}else if("buttonState"===t.listType){let e=l.buttonStateValue;vis.setValue(l.objectId,e)}else"buttonNav"===t.listType?vis.changeView(l.buttonNavView):"buttonLink"===t.listType&&window.open(l.buttonLink)});let c="switch"===t.listType||"switch_readonly"===t.listType?l.find(".mdc-switch").length:s.listElements.length;for(var a=0;a<=c-1;a++){let e=vis.binds.materialdesign.list.getListItemObj(a,t,i);if("checkbox"===t.listType||"checkbox_readonly"===t.listType||"switch"===t.listType||"switch_readonly"===t.listType){if("switch"!==t.listType&&"switch_readonly"!==t.listType||new mdc.switchControl.MDCSwitch(l.find(".mdc-switch").get(a)),"checkbox"===t.listType||"checkbox_readonly"===t.listType){let e=new mdc.checkbox.MDCCheckbox(l.find(".mdc-checkbox").get(a));l.find(".mdc-checkbox").get(a).style.setProperty("--mdc-theme-secondary",myMdwHelper.getValueFromData(t.colorCheckBox,"")),"checkbox_readonly"===t.listType&&(e.disabled=!0)}let r=vis.states.attr(e.objectId+".val");d.setCheckedCheckboxOrRadioAtIndex(a,r),o(a,r,e),vis.states.bind(e.objectId+".val",function(a,r,n){let s=l.find('input[data-oid="'+a.type.substr(0,a.type.lastIndexOf("."))+'"]');s.each(function(a){let l=s.eq(a).attr("itemindex");e=vis.binds.materialdesign.list.getListItemObj(l,t,i),d.setCheckedCheckboxOrRadioAtIndex(l,r),o(l,r,e)})})}else if("buttonToggle"===t.listType||"buttonToggle_readonly"===t.listType){let r=vis.states.attr(e.objectId+".val");o(a,r,e),vis.states.bind(e.objectId+".val",function(a,r,n){let s=l.parent().find('div[data-oid="'+a.type.substr(0,a.type.lastIndexOf("."))+'"]');s.each(function(a){let l=parseInt(s.eq(a).attr("id").replace("listItem_",""));e=vis.binds.materialdesign.list.getListItemObj(l,t,i),o(l,r,e)})})}}function o(e,a,o){let r=l.find(`div[id="listItem_${e}"]`);!0===a?(r.css("background",myMdwHelper.getValueFromData(t.listItemBackgroundActive,"")),myMdwHelper.changeListIconElement(r,o.imageActive,"auto",myMdwHelper.getValueFromData(t.listImageHeight,"","","px !important;"),o.imageActiveColor,n)):(r.css("background",myMdwHelper.getValueFromData(t.listItemBackground,"")),myMdwHelper.changeListIconElement(r,o.image,"auto",myMdwHelper.getValueFromData(t.listImageHeight,"","","px !important;"),o.imageColor,n))}}catch(e){console.error(`[List] handler: error: ${e.message}, stack: ${e.stack}`)}},getListItemObj:function(e,t,a){return"inputPerEditor"===t.listItemDataMethod?{text:myMdwHelper.getValueFromData(t.attr("label"+e),`Item ${e}`),subText:myMdwHelper.getValueFromData(t.attr("subLabel"+e),""),rightText:myMdwHelper.getValueFromData(t.attr("rightLabel"+e),""),rightSubText:myMdwHelper.getValueFromData(t.attr("rightSubLabel"+e),""),image:myMdwHelper.getValueFromData(t.attr("listImage"+e),""),imageColor:myMdwHelper.getValueFromData(t.attr("listImageColor"+e),"#44739e"),imageActive:myMdwHelper.getValueFromData(t.attr("listImageActive"+e),myMdwHelper.getValueFromData(t.attr("listImage"+e),"")),imageActiveColor:myMdwHelper.getValueFromData(t.attr("listImageActiveColor"+e),myMdwHelper.getValueFromData(t.attr("listImageColor"+e),"#44739e")),header:myMdwHelper.getValueFromData(t.attr("groupHeader"+e),""),showDivider:t.attr("dividers"+e),objectId:t.attr("oid"+e),buttonStateValue:t.attr("listTypeButtonStateValue"+e),buttonNavView:t.attr("listTypeButtonNav"+e),buttonLink:t.attr("listTypeButtonLink"+e)}:{text:myMdwHelper.getValueFromData(a[e].text,""),subText:myMdwHelper.getValueFromData(a[e].subText,""),rightText:myMdwHelper.getValueFromData(a[e].rightText,""),rightSubText:myMdwHelper.getValueFromData(a[e].rightSubText,""),image:myMdwHelper.getValueFromData(a[e].image,""),imageColor:myMdwHelper.getValueFromData(a[e].imageColor,"#44739e"),imageActive:myMdwHelper.getValueFromData(a[e].imageActive,myMdwHelper.getValueFromData(a[e].image,"")),imageActiveColor:myMdwHelper.getValueFromData(a[e].imageActiveColor,myMdwHelper.getValueFromData(a[e].imageColor,"#44739e")),header:myMdwHelper.getValueFromData(a[e].header,""),showDivider:a[e].showDivider,objectId:a[e].objectId,buttonStateValue:a[e].buttonStateValue,buttonNavView:a[e].buttonNavView,buttonLink:a[e].buttonLink}}},vis.binds.materialdesign.materialdesignicons={initialize:function(e,t){try{let a=$(e);a.append(myMdwHelper.getIconElement(myMdwHelper.getValueFromData(t.mdwIcon,"material-design"),"auto",myMdwHelper.getNumberFromData(t.mdwIconSize,50)+"px",myMdwHelper.getValueFromData(t.mdwIconColor,"#44739e")))}catch(e){console.error(`[MaterialDesignIcon ${t.wid}] initialize: error: ${e.message}, stack: ${e.stack}`)}},getList:function(){ return["ab-testing","abjad-arabic","abjad-hebrew","abugida-devanagari","abugida-thai","access-point","access-point-network","access-point-network-off","account","account-alert","account-alert-outline","account-arrow-left","account-arrow-left-outline","account-arrow-right","account-arrow-right-outline","account-box","account-box-multiple","account-box-multiple-outline","account-box-outline","account-cancel","account-cancel-outline","account-cash","account-cash-outline","account-check","account-check-outline","account-child","account-child-circle","account-child-outline","account-circle","account-circle-outline","account-clock","account-clock-outline","account-cog","account-cog-outline","account-convert","account-convert-outline","account-cowboy-hat","account-details","account-details-outline","account-edit","account-edit-outline","account-group","account-group-outline","account-hard-hat","account-heart","account-heart-outline","account-key","account-key-outline","account-lock","account-lock-outline","account-minus","account-minus-outline","account-multiple","account-multiple-check","account-multiple-check-outline","account-multiple-minus","account-multiple-minus-outline","account-multiple-outline","account-multiple-plus","account-multiple-plus-outline","account-multiple-remove","account-multiple-remove-outline","account-music","account-music-outline","account-network","account-network-outline","account-off","account-off-outline","account-outline","account-plus","account-plus-outline","account-question","account-question-outline","account-remove","account-remove-outline","account-search","account-search-outline","account-settings","account-settings-outline","account-star","account-star-outline","account-supervisor","account-supervisor-circle","account-supervisor-outline","account-switch","account-switch-outline","account-tie","account-tie-outline","account-tie-voice","account-tie-voice-off","account-tie-voice-off-outline","account-tie-voice-outline","account-voice","adjust","adobe","adobe-acrobat","air-conditioner","air-filter","air-horn","air-humidifier","air-purifier","airbag","airballoon","airballoon-outline","airplane","airplane-landing","airplane-off","airplane-takeoff","airport","alarm","alarm-bell","alarm-check","alarm-light","alarm-light-outline","alarm-multiple","alarm-note","alarm-note-off","alarm-off","alarm-plus","alarm-snooze","album","alert","alert-box","alert-box-outline","alert-circle","alert-circle-check","alert-circle-check-outline","alert-circle-outline","alert-decagram","alert-decagram-outline","alert-octagon","alert-octagon-outline","alert-octagram","alert-octagram-outline","alert-outline","alert-rhombus","alert-rhombus-outline","alien","alien-outline","align-horizontal-center","align-horizontal-left","align-horizontal-right","align-vertical-bottom","align-vertical-center","align-vertical-top","all-inclusive","allergy","alpha","alpha-a","alpha-a-box","alpha-a-box-outline","alpha-a-circle","alpha-a-circle-outline","alpha-b","alpha-b-box","alpha-b-box-outline","alpha-b-circle","alpha-b-circle-outline","alpha-c","alpha-c-box","alpha-c-box-outline","alpha-c-circle","alpha-c-circle-outline","alpha-d","alpha-d-box","alpha-d-box-outline","alpha-d-circle","alpha-d-circle-outline","alpha-e","alpha-e-box","alpha-e-box-outline","alpha-e-circle","alpha-e-circle-outline","alpha-f","alpha-f-box","alpha-f-box-outline","alpha-f-circle","alpha-f-circle-outline","alpha-g","alpha-g-box","alpha-g-box-outline","alpha-g-circle","alpha-g-circle-outline","alpha-h","alpha-h-box","alpha-h-box-outline","alpha-h-circle","alpha-h-circle-outline","alpha-i","alpha-i-box","alpha-i-box-outline","alpha-i-circle","alpha-i-circle-outline","alpha-j","alpha-j-box","alpha-j-box-outline","alpha-j-circle","alpha-j-circle-outline","alpha-k","alpha-k-box","alpha-k-box-outline","alpha-k-circle","alpha-k-circle-outline","alpha-l","alpha-l-box","alpha-l-box-outline","alpha-l-circle","alpha-l-circle-outline","alpha-m","alpha-m-box","alpha-m-box-outline","alpha-m-circle","alpha-m-circle-outline","alpha-n","alpha-n-box","alpha-n-box-outline","alpha-n-circle","alpha-n-circle-outline","alpha-o","alpha-o-box","alpha-o-box-outline","alpha-o-circle","alpha-o-circle-outline","alpha-p","alpha-p-box","alpha-p-box-outline","alpha-p-circle","alpha-p-circle-outline","alpha-q","alpha-q-box","alpha-q-box-outline","alpha-q-circle","alpha-q-circle-outline","alpha-r","alpha-r-box","alpha-r-box-outline","alpha-r-circle","alpha-r-circle-outline","alpha-s","alpha-s-box","alpha-s-box-outline","alpha-s-circle","alpha-s-circle-outline","alpha-t","alpha-t-box","alpha-t-box-outline","alpha-t-circle","alpha-t-circle-outline","alpha-u","alpha-u-box","alpha-u-box-outline","alpha-u-circle","alpha-u-circle-outline","alpha-v","alpha-v-box","alpha-v-box-outline","alpha-v-circle","alpha-v-circle-outline","alpha-w","alpha-w-box","alpha-w-box-outline","alpha-w-circle","alpha-w-circle-outline","alpha-x","alpha-x-box","alpha-x-box-outline","alpha-x-circle","alpha-x-circle-outline","alpha-y","alpha-y-box","alpha-y-box-outline","alpha-y-circle","alpha-y-circle-outline","alpha-z","alpha-z-box","alpha-z-box-outline","alpha-z-circle","alpha-z-circle-outline","alphabet-aurebesh","alphabet-cyrillic","alphabet-greek","alphabet-latin","alphabet-piqad","alphabet-tengwar","alphabetical","alphabetical-off","alphabetical-variant","alphabetical-variant-off","altimeter","amazon","amazon-alexa","ambulance","ammunition","ampersand","amplifier","amplifier-off","anchor","android","android-auto","android-debug-bridge","android-messages","android-studio","angle-acute","angle-obtuse","angle-right","angular","angularjs","animation","animation-outline","animation-play","animation-play-outline","ansible","antenna","anvil","apache-kafka","api","api-off","apple","apple-airplay","apple-finder","apple-icloud","apple-ios","apple-keyboard-caps","apple-keyboard-command","apple-keyboard-control","apple-keyboard-option","apple-keyboard-shift","apple-safari","application","application-export","application-import","approximately-equal","approximately-equal-box","apps","apps-box","arch","archive","archive-arrow-down","archive-arrow-down-outline","archive-arrow-up","archive-arrow-up-outline","archive-outline","arm-flex","arm-flex-outline","arrange-bring-forward","arrange-bring-to-front","arrange-send-backward","arrange-send-to-back","arrow-all","arrow-bottom-left","arrow-bottom-left-bold-outline","arrow-bottom-left-thick","arrow-bottom-right","arrow-bottom-right-bold-outline","arrow-bottom-right-thick","arrow-collapse","arrow-collapse-all","arrow-collapse-down","arrow-collapse-horizontal","arrow-collapse-left","arrow-collapse-right","arrow-collapse-up","arrow-collapse-vertical","arrow-decision","arrow-decision-auto","arrow-decision-auto-outline","arrow-decision-outline","arrow-down","arrow-down-bold","arrow-down-bold-box","arrow-down-bold-box-outline","arrow-down-bold-circle","arrow-down-bold-circle-outline","arrow-down-bold-hexagon-outline","arrow-down-bold-outline","arrow-down-box","arrow-down-circle","arrow-down-circle-outline","arrow-down-drop-circle","arrow-down-drop-circle-outline","arrow-down-thick","arrow-expand","arrow-expand-all","arrow-expand-down","arrow-expand-horizontal","arrow-expand-left","arrow-expand-right","arrow-expand-up","arrow-expand-vertical","arrow-horizontal-lock","arrow-left","arrow-left-bold","arrow-left-bold-box","arrow-left-bold-box-outline","arrow-left-bold-circle","arrow-left-bold-circle-outline","arrow-left-bold-hexagon-outline","arrow-left-bold-outline","arrow-left-box","arrow-left-circle","arrow-left-circle-outline","arrow-left-drop-circle","arrow-left-drop-circle-outline","arrow-left-right","arrow-left-right-bold","arrow-left-right-bold-outline","arrow-left-thick","arrow-right","arrow-right-bold","arrow-right-bold-box","arrow-right-bold-box-outline","arrow-right-bold-circle","arrow-right-bold-circle-outline","arrow-right-bold-hexagon-outline","arrow-right-bold-outline","arrow-right-box","arrow-right-circle","arrow-right-circle-outline","arrow-right-drop-circle","arrow-right-drop-circle-outline","arrow-right-thick","arrow-split-horizontal","arrow-split-vertical","arrow-top-left","arrow-top-left-bold-outline","arrow-top-left-bottom-right","arrow-top-left-bottom-right-bold","arrow-top-left-thick","arrow-top-right","arrow-top-right-bold-outline","arrow-top-right-bottom-left","arrow-top-right-bottom-left-bold","arrow-top-right-thick","arrow-up","arrow-up-bold","arrow-up-bold-box","arrow-up-bold-box-outline","arrow-up-bold-circle","arrow-up-bold-circle-outline","arrow-up-bold-hexagon-outline","arrow-up-bold-outline","arrow-up-box","arrow-up-circle","arrow-up-circle-outline","arrow-up-down","arrow-up-down-bold","arrow-up-down-bold-outline","arrow-up-drop-circle","arrow-up-drop-circle-outline","arrow-up-thick","arrow-vertical-lock","artstation","aspect-ratio","assistant","asterisk","at","atlassian","atm","atom","atom-variant","attachment","audio-video","audio-video-off","augmented-reality","auto-download","auto-fix","auto-upload","autorenew","av-timer","aws","axe","axis","axis-arrow","axis-arrow-lock","axis-lock","axis-x-arrow","axis-x-arrow-lock","axis-x-rotate-clockwise","axis-x-rotate-counterclockwise","axis-x-y-arrow-lock","axis-y-arrow","axis-y-arrow-lock","axis-y-rotate-clockwise","axis-y-rotate-counterclockwise","axis-z-arrow","axis-z-arrow-lock","axis-z-rotate-clockwise","axis-z-rotate-counterclockwise","babel","baby","baby-bottle","baby-bottle-outline","baby-buggy","baby-carriage","baby-carriage-off","baby-face","baby-face-outline","backburger","backspace","backspace-outline","backspace-reverse","backspace-reverse-outline","backup-restore","bacteria","bacteria-outline","badge-account","badge-account-alert","badge-account-alert-outline","badge-account-horizontal","badge-account-horizontal-outline","badge-account-outline","badminton","bag-carry-on","bag-carry-on-check","bag-carry-on-off","bag-checked","bag-personal","bag-personal-off","bag-personal-off-outline","bag-personal-outline","baguette","balloon","ballot","ballot-outline","ballot-recount","ballot-recount-outline","bandage","bandcamp","bank","bank-minus","bank-outline","bank-plus","bank-remove","bank-transfer","bank-transfer-in","bank-transfer-out","barcode","barcode-off","barcode-scan","barley","barley-off","barn","barrel","baseball","baseball-bat","bash","basket","basket-fill","basket-outline","basket-unfill","basketball","basketball-hoop","basketball-hoop-outline","bat","battery","battery-10","battery-10-bluetooth","battery-20","battery-20-bluetooth","battery-30","battery-30-bluetooth","battery-40","battery-40-bluetooth","battery-50","battery-50-bluetooth","battery-60","battery-60-bluetooth","battery-70","battery-70-bluetooth","battery-80","battery-80-bluetooth","battery-90","battery-90-bluetooth","battery-alert","battery-alert-bluetooth","battery-alert-variant","battery-alert-variant-outline","battery-bluetooth","battery-bluetooth-variant","battery-charging","battery-charging-10","battery-charging-100","battery-charging-20","battery-charging-30","battery-charging-40","battery-charging-50","battery-charging-60","battery-charging-70","battery-charging-80","battery-charging-90","battery-charging-high","battery-charging-low","battery-charging-medium","battery-charging-outline","battery-charging-wireless","battery-charging-wireless-10","battery-charging-wireless-20","battery-charging-wireless-30","battery-charging-wireless-40","battery-charging-wireless-50","battery-charging-wireless-60","battery-charging-wireless-70","battery-charging-wireless-80","battery-charging-wireless-90","battery-charging-wireless-alert","battery-charging-wireless-outline","battery-heart","battery-heart-outline","battery-heart-variant","battery-high","battery-low","battery-medium","battery-minus","battery-negative","battery-off","battery-off-outline","battery-outline","battery-plus","battery-positive","battery-unknown","battery-unknown-bluetooth","battlenet","beach","beaker","beaker-alert","beaker-alert-outline","beaker-check","beaker-check-outline","beaker-minus","beaker-minus-outline","beaker-outline","beaker-plus","beaker-plus-outline","beaker-question","beaker-question-outline","beaker-remove","beaker-remove-outline","bed","bed-double","bed-double-outline","bed-empty","bed-king","bed-king-outline","bed-outline","bed-queen","bed-queen-outline","bed-single","bed-single-outline","bee","bee-flower","beehive-outline","beer","beer-outline","bell","bell-alert","bell-alert-outline","bell-cancel","bell-cancel-outline","bell-check","bell-check-outline","bell-circle","bell-circle-outline","bell-minus","bell-minus-outline","bell-off","bell-off-outline","bell-outline","bell-plus","bell-plus-outline","bell-remove","bell-remove-outline","bell-ring","bell-ring-outline","bell-sleep","bell-sleep-outline","beta","betamax","biathlon","bicycle","bicycle-basket","bike","bike-fast","billboard","billiards","billiards-rack","binoculars","bio","biohazard","bitbucket","bitcoin","black-mesa","blender","blender-software","blinds","blinds-open","block-helper","blogger","blood-bag","bluetooth","bluetooth-audio","bluetooth-connect","bluetooth-off","bluetooth-settings","bluetooth-transfer","blur","blur-linear","blur-off","blur-radial","bolnisi-cross","bolt","bomb","bomb-off","bone","book","book-account","book-account-outline","book-alphabet","book-cross","book-information-variant","book-lock","book-lock-open","book-minus","book-minus-multiple","book-minus-multiple-outline","book-multiple","book-multiple-outline","book-music","book-open","book-open-outline","book-open-page-variant","book-open-variant","book-outline","book-play","book-play-outline","book-plus","book-plus-multiple","book-plus-multiple-outline","book-remove","book-remove-multiple","book-remove-multiple-outline","book-search","book-search-outline","book-variant","book-variant-multiple","bookmark","bookmark-check","bookmark-check-outline","bookmark-minus","bookmark-minus-outline","bookmark-multiple","bookmark-multiple-outline","bookmark-music","bookmark-music-outline","bookmark-off","bookmark-off-outline","bookmark-outline","bookmark-plus","bookmark-plus-outline","bookmark-remove","bookmark-remove-outline","bookshelf","boom-gate","boom-gate-alert","boom-gate-alert-outline","boom-gate-down","boom-gate-down-outline","boom-gate-outline","boom-gate-up","boom-gate-up-outline","boombox","boomerang","bootstrap","border-all","border-all-variant","border-bottom","border-bottom-variant","border-color","border-horizontal","border-inside","border-left","border-left-variant","border-none","border-none-variant","border-outside","border-right","border-right-variant","border-style","border-top","border-top-variant","border-vertical","bottle-soda","bottle-soda-classic","bottle-soda-classic-outline","bottle-soda-outline","bottle-tonic","bottle-tonic-outline","bottle-tonic-plus","bottle-tonic-plus-outline","bottle-tonic-skull","bottle-tonic-skull-outline","bottle-wine","bottle-wine-outline","bow-tie","bowl","bowl-mix","bowl-mix-outline","bowl-outline","bowling","box","box-cutter","box-cutter-off","box-shadow","boxing-glove","braille","brain","bread-slice","bread-slice-outline","bridge","briefcase","briefcase-account","briefcase-account-outline","briefcase-check","briefcase-check-outline","briefcase-clock","briefcase-clock-outline","briefcase-download","briefcase-download-outline","briefcase-edit","briefcase-edit-outline","briefcase-minus","briefcase-minus-outline","briefcase-outline","briefcase-plus","briefcase-plus-outline","briefcase-remove","briefcase-remove-outline","briefcase-search","briefcase-search-outline","briefcase-upload","briefcase-upload-outline","brightness-1","brightness-2","brightness-3","brightness-4","brightness-5","brightness-6","brightness-7","brightness-auto","brightness-percent","broom","brush","buddhism","buffer","buffet","bug","bug-check","bug-check-outline","bug-outline","bugle","bulldozer","bullet","bulletin-board","bullhorn","bullhorn-outline","bullseye","bullseye-arrow","bulma","bunk-bed","bunk-bed-outline","bus","bus-alert","bus-articulated-end","bus-articulated-front","bus-clock","bus-double-decker","bus-marker","bus-multiple","bus-school","bus-side","bus-stop","bus-stop-covered","bus-stop-uncovered","cable-data","cached","cactus","cake","cake-layered","cake-variant","calculator","calculator-variant","calendar","calendar-account","calendar-account-outline","calendar-alert","calendar-arrow-left","calendar-arrow-right","calendar-blank","calendar-blank-multiple","calendar-blank-outline","calendar-check","calendar-check-outline","calendar-clock","calendar-edit","calendar-export","calendar-heart","calendar-import","calendar-minus","calendar-month","calendar-month-outline","calendar-multiple","calendar-multiple-check","calendar-multiselect","calendar-outline","calendar-plus","calendar-question","calendar-range","calendar-range-outline","calendar-refresh","calendar-refresh-outline","calendar-remove","calendar-remove-outline","calendar-search","calendar-star","calendar-sync","calendar-sync-outline","calendar-text","calendar-text-outline","calendar-today","calendar-week","calendar-week-begin","calendar-weekend","calendar-weekend-outline","call-made","call-merge","call-missed","call-received","call-split","camcorder","camcorder-off","camera","camera-account","camera-burst","camera-control","camera-enhance","camera-enhance-outline","camera-front","camera-front-variant","camera-gopro","camera-image","camera-iris","camera-metering-center","camera-metering-matrix","camera-metering-partial","camera-metering-spot","camera-off","camera-outline","camera-party-mode","camera-plus","camera-plus-outline","camera-rear","camera-rear-variant","camera-retake","camera-retake-outline","camera-switch","camera-switch-outline","camera-timer","camera-wireless","camera-wireless-outline","campfire","cancel","candle","candycane","cannabis","caps-lock","car","car-2-plus","car-3-plus","car-arrow-left","car-arrow-right","car-back","car-battery","car-brake-abs","car-brake-alert","car-brake-hold","car-brake-parking","car-brake-retarder","car-child-seat","car-clutch","car-cog","car-connected","car-convertible","car-coolant-level","car-cruise-control","car-defrost-front","car-defrost-rear","car-door","car-door-lock","car-electric","car-esp","car-estate","car-hatchback","car-info","car-key","car-light-dimmed","car-light-fog","car-light-high","car-limousine","car-multiple","car-off","car-parking-lights","car-pickup","car-seat","car-seat-cooler","car-seat-heater","car-settings","car-shift-pattern","car-side","car-sports","car-tire-alert","car-traction-control","car-turbocharger","car-wash","car-windshield","car-windshield-outline","caravan","card","card-account-details","card-account-details-outline","card-account-details-star","card-account-details-star-outline","card-account-mail","card-account-mail-outline","card-account-phone","card-account-phone-outline","card-bulleted","card-bulleted-off","card-bulleted-off-outline","card-bulleted-outline","card-bulleted-settings","card-bulleted-settings-outline","card-outline","card-plus","card-plus-outline","card-search","card-search-outline","card-text","card-text-outline","cards","cards-club","cards-diamond","cards-diamond-outline","cards-heart","cards-outline","cards-playing-outline","cards-spade","cards-variant","carrot","cart","cart-arrow-down","cart-arrow-right","cart-arrow-up","cart-minus","cart-off","cart-outline","cart-plus","cart-remove","case-sensitive-alt","cash","cash-100","cash-marker","cash-minus","cash-multiple","cash-plus","cash-refund","cash-register","cash-remove","cash-usd","cash-usd-outline","cassette","cast","cast-audio","cast-connected","cast-education","cast-off","castle","cat","cctv","ceiling-light","cellphone","cellphone-android","cellphone-arrow-down","cellphone-basic","cellphone-charging","cellphone-cog","cellphone-dock","cellphone-erase","cellphone-information","cellphone-iphone","cellphone-key","cellphone-link","cellphone-link-off","cellphone-lock","cellphone-message","cellphone-message-off","cellphone-nfc","cellphone-nfc-off","cellphone-off","cellphone-play","cellphone-screenshot","cellphone-settings","cellphone-sound","cellphone-text","cellphone-wireless","celtic-cross","centos","certificate","certificate-outline","chair-rolling","chair-school","charity","chart-arc","chart-areaspline","chart-areaspline-variant","chart-bar","chart-bar-stacked","chart-bell-curve","chart-bell-curve-cumulative","chart-bubble","chart-donut","chart-donut-variant","chart-gantt","chart-histogram","chart-line","chart-line-stacked","chart-line-variant","chart-multiline","chart-multiple","chart-pie","chart-ppf","chart-sankey","chart-sankey-variant","chart-scatter-plot","chart-scatter-plot-hexbin","chart-timeline","chart-timeline-variant","chart-tree","chat","chat-alert","chat-alert-outline","chat-outline","chat-processing","chat-processing-outline","chat-sleep","chat-sleep-outline","check","check-all","check-bold","check-box-multiple-outline","check-box-outline","check-circle","check-circle-outline","check-decagram","check-network","check-network-outline","check-outline","check-underline","check-underline-circle","check-underline-circle-outline","checkbook","checkbox-blank","checkbox-blank-circle","checkbox-blank-circle-outline","checkbox-blank-off","checkbox-blank-off-outline","checkbox-blank-outline","checkbox-intermediate","checkbox-marked","checkbox-marked-circle","checkbox-marked-circle-outline","checkbox-marked-outline","checkbox-multiple-blank","checkbox-multiple-blank-circle","checkbox-multiple-blank-circle-outline","checkbox-multiple-blank-outline","checkbox-multiple-marked","checkbox-multiple-marked-circle","checkbox-multiple-marked-circle-outline","checkbox-multiple-marked-outline","checkerboard","checkerboard-minus","checkerboard-plus","checkerboard-remove","cheese","chef-hat","chemical-weapon","chess-bishop","chess-king","chess-knight","chess-pawn","chess-queen","chess-rook","chevron-double-down","chevron-double-left","chevron-double-right","chevron-double-up","chevron-down","chevron-down-box","chevron-down-box-outline","chevron-down-circle","chevron-down-circle-outline","chevron-left","chevron-left-box","chevron-left-box-outline","chevron-left-circle","chevron-left-circle-outline","chevron-right","chevron-right-box","chevron-right-box-outline","chevron-right-circle","chevron-right-circle-outline","chevron-triple-down","chevron-triple-left","chevron-triple-right","chevron-triple-up","chevron-up","chevron-up-box","chevron-up-box-outline","chevron-up-circle","chevron-up-circle-outline","chili-hot","chili-medium","chili-mild","chip","christianity","christianity-outline","church","cigar","circle","circle-double","circle-edit-outline","circle-expand","circle-half","circle-half-full","circle-medium","circle-multiple","circle-multiple-outline","circle-off-outline","circle-outline","circle-slice-1","circle-slice-2","circle-slice-3","circle-slice-4","circle-slice-5","circle-slice-6","circle-slice-7","circle-slice-8","circle-small","circular-saw","city","city-variant","city-variant-outline","clipboard","clipboard-account","clipboard-account-outline","clipboard-alert","clipboard-alert-outline","clipboard-arrow-down","clipboard-arrow-down-outline","clipboard-arrow-left","clipboard-arrow-left-outline","clipboard-arrow-right","clipboard-arrow-right-outline","clipboard-arrow-up","clipboard-arrow-up-outline","clipboard-check","clipboard-check-multiple","clipboard-check-multiple-outline","clipboard-check-outline","clipboard-file","clipboard-file-outline","clipboard-flow","clipboard-flow-outline","clipboard-list","clipboard-list-outline","clipboard-multiple","clipboard-multiple-outline","clipboard-outline","clipboard-play","clipboard-play-multiple","clipboard-play-multiple-outline","clipboard-play-outline","clipboard-plus","clipboard-plus-outline","clipboard-pulse","clipboard-pulse-outline","clipboard-text","clipboard-text-multiple","clipboard-text-multiple-outline","clipboard-text-outline","clipboard-text-play","clipboard-text-play-outline","clippy","clock","clock-alert","clock-alert-outline","clock-check","clock-check-outline","clock-digital","clock-end","clock-fast","clock-in","clock-out","clock-outline","clock-start","close","close-box","close-box-multiple","close-box-multiple-outline","close-box-outline","close-circle","close-circle-multiple","close-circle-multiple-outline","close-circle-outline","close-network","close-network-outline","close-octagon","close-octagon-outline","close-outline","close-thick","closed-caption","closed-caption-outline","cloud","cloud-alert","cloud-braces","cloud-check","cloud-check-outline","cloud-circle","cloud-download","cloud-download-outline","cloud-lock","cloud-lock-outline","cloud-off-outline","cloud-outline","cloud-print","cloud-print-outline","cloud-question","cloud-refresh","cloud-search","cloud-search-outline","cloud-sync","cloud-sync-outline","cloud-tags","cloud-upload","cloud-upload-outline","clover","coach-lamp","coat-rack","code-array","code-braces","code-braces-box","code-brackets","code-equal","code-greater-than","code-greater-than-or-equal","code-json","code-less-than","code-less-than-or-equal","code-not-equal","code-not-equal-variant","code-parentheses","code-parentheses-box","code-string","code-tags","code-tags-check","codepen","coffee","coffee-maker","coffee-off","coffee-off-outline","coffee-outline","coffee-to-go","coffee-to-go-outline","coffin","cog","cog-box","cog-clockwise","cog-counterclockwise","cog-off","cog-off-outline","cog-outline","cog-transfer","cog-transfer-outline","cogs","collage","collapse-all","collapse-all-outline","color-helper","comma","comma-box","comma-box-outline","comma-circle","comma-circle-outline","comment","comment-account","comment-account-outline","comment-alert","comment-alert-outline","comment-arrow-left","comment-arrow-left-outline","comment-arrow-right","comment-arrow-right-outline","comment-check","comment-check-outline","comment-edit","comment-edit-outline","comment-eye","comment-eye-outline","comment-multiple","comment-multiple-outline","comment-outline","comment-plus","comment-plus-outline","comment-processing","comment-processing-outline","comment-question","comment-question-outline","comment-quote","comment-quote-outline","comment-remove","comment-remove-outline","comment-search","comment-search-outline","comment-text","comment-text-multiple","comment-text-multiple-outline","comment-text-outline","compare","compass","compass-off","compass-off-outline","compass-outline","compass-rose","concourse-ci","console","console-line","console-network","console-network-outline","consolidate","contactless-payment","contactless-payment-circle","contactless-payment-circle-outline","contacts","contacts-outline","contain","contain-end","contain-start","content-copy","content-cut","content-duplicate","content-paste","content-save","content-save-alert","content-save-alert-outline","content-save-all","content-save-all-outline","content-save-edit","content-save-edit-outline","content-save-move","content-save-move-outline","content-save-outline","content-save-settings","content-save-settings-outline","contrast","contrast-box","contrast-circle","controller-classic","controller-classic-outline","cookie","coolant-temperature","copyright","cordova","corn","counter","cow","cpu-32-bit","cpu-64-bit","crane","creation","creative-commons","credit-card","credit-card-check","credit-card-check-outline","credit-card-clock","credit-card-clock-outline","credit-card-marker","credit-card-marker-outline","credit-card-minus","credit-card-minus-outline","credit-card-multiple","credit-card-multiple-outline","credit-card-off","credit-card-off-outline","credit-card-outline","credit-card-plus","credit-card-plus-outline","credit-card-refund","credit-card-refund-outline","credit-card-remove","credit-card-remove-outline","credit-card-scan","credit-card-scan-outline","credit-card-settings","credit-card-settings-outline","credit-card-wireless","credit-card-wireless-off","credit-card-wireless-off-outline","credit-card-wireless-outline","cricket","crop","crop-free","crop-landscape","crop-portrait","crop-rotate","crop-square","crosshairs","crosshairs-gps","crosshairs-off","crosshairs-question","crown","crown-outline","cryengine","crystal-ball","cube","cube-outline","cube-scan","cube-send","cube-unfolded","cup","cup-off","cup-off-outline","cup-outline","cup-water","cupboard","cupboard-outline","cupcake","curling","currency-bdt","currency-brl","currency-btc","currency-cny","currency-eth","currency-eur","currency-eur-off","currency-gbp","currency-ils","currency-inr","currency-jpy","currency-krw","currency-kzt","currency-ngn","currency-php","currency-rial","currency-rub","currency-sign","currency-try","currency-twd","currency-usd","currency-usd-circle","currency-usd-circle-outline","currency-usd-off","current-ac","current-dc","cursor-default","cursor-default-click","cursor-default-click-outline","cursor-default-gesture","cursor-default-gesture-outline","cursor-default-outline","cursor-move","cursor-pointer","cursor-text","database","database-check","database-edit","database-export","database-import","database-lock","database-marker","database-minus","database-plus","database-refresh","database-remove","database-search","database-settings","database-sync","death-star","death-star-variant","deathly-hallows","debian","debug-step-into","debug-step-out","debug-step-over","decagram","decagram-outline","decimal","decimal-comma","decimal-comma-decrease","decimal-comma-increase","decimal-decrease","decimal-increase","delete","delete-alert","delete-alert-outline","delete-circle","delete-circle-outline","delete-empty","delete-empty-outline","delete-forever","delete-forever-outline","delete-off","delete-off-outline","delete-outline","delete-restore","delete-sweep","delete-sweep-outline","delete-variant","delta","desk","desk-lamp","deskphone","desktop-classic","desktop-mac","desktop-mac-dashboard","desktop-tower","desktop-tower-monitor","details","dev-to","developer-board","deviantart","devices","diabetes","dialpad","diameter","diameter-outline","diameter-variant","diamond","diamond-outline","diamond-stone","dice-1","dice-1-outline","dice-2","dice-2-outline","dice-3","dice-3-outline","dice-4","dice-4-outline","dice-5","dice-5-outline","dice-6","dice-6-outline","dice-d10","dice-d10-outline","dice-d12","dice-d12-outline","dice-d20","dice-d20-outline","dice-d4","dice-d4-outline","dice-d6","dice-d6-outline","dice-d8","dice-d8-outline","dice-multiple","dice-multiple-outline","digital-ocean","dip-switch","directions","directions-fork","disc","disc-alert","disc-player","discord","dishwasher","dishwasher-alert","dishwasher-off","disqus","distribute-horizontal-center","distribute-horizontal-left","distribute-horizontal-right","distribute-vertical-bottom","distribute-vertical-center","distribute-vertical-top","diving-flippers","diving-helmet","diving-scuba","diving-scuba-flag","diving-scuba-tank","diving-scuba-tank-multiple","diving-snorkel","division","division-box","dlna","dna","dns","dns-outline","do-not-disturb","do-not-disturb-off","dock-bottom","dock-left","dock-right","dock-window","docker","doctor","dog","dog-service","dog-side","dolby","dolly","domain","domain-off","domain-plus","domain-remove","domino-mask","donkey","door","door-closed","door-closed-lock","door-open","doorbell","doorbell-video","dot-net","dots-horizontal","dots-horizontal-circle","dots-horizontal-circle-outline","dots-vertical","dots-vertical-circle","dots-vertical-circle-outline","douban","download","download-lock","download-lock-outline","download-multiple","download-network","download-network-outline","download-off","download-off-outline","download-outline","drag","drag-horizontal","drag-horizontal-variant","drag-variant","drag-vertical","drag-vertical-variant","drama-masks","draw","drawing","drawing-box","dresser","dresser-outline","drone","dropbox","drupal","duck","dumbbell","dump-truck","ear-hearing","ear-hearing-off","earth","earth-arrow-right","earth-box","earth-box-off","earth-off","egg","egg-easter","eight-track","eject","eject-outline","electric-switch","electric-switch-closed","electron-framework","elephant","elevation-decline","elevation-rise","elevator","elevator-down","elevator-passenger","elevator-up","ellipse","ellipse-outline","email","email-alert","email-alert-outline","email-box","email-check","email-check-outline","email-edit","email-edit-outline","email-lock","email-mark-as-unread","email-minus","email-minus-outline","email-multiple","email-multiple-outline","email-newsletter","email-off","email-off-outline","email-open","email-open-multiple","email-open-multiple-outline","email-open-outline","email-outline","email-plus","email-plus-outline","email-receive","email-receive-outline","email-search","email-search-outline","email-send","email-send-outline","email-sync","email-sync-outline","email-variant","ember","emby","emoticon","emoticon-angry","emoticon-angry-outline","emoticon-confused","emoticon-confused-outline","emoticon-cool","emoticon-cool-outline","emoticon-cry","emoticon-cry-outline","emoticon-dead","emoticon-dead-outline","emoticon-devil","emoticon-devil-outline","emoticon-excited","emoticon-excited-outline","emoticon-frown","emoticon-frown-outline","emoticon-happy","emoticon-happy-outline","emoticon-kiss","emoticon-kiss-outline","emoticon-lol","emoticon-lol-outline","emoticon-neutral","emoticon-neutral-outline","emoticon-outline","emoticon-poop","emoticon-poop-outline","emoticon-sad","emoticon-sad-outline","emoticon-tongue","emoticon-tongue-outline","emoticon-wink","emoticon-wink-outline","engine","engine-off","engine-off-outline","engine-outline","epsilon","equal","equal-box","equalizer","equalizer-outline","eraser","eraser-variant","escalator","escalator-box","escalator-down","escalator-up","eslint","et","ethereum","ethernet","ethernet-cable","ethernet-cable-off","ev-station","evernote","excavator","exclamation","exclamation-thick","exit-run","exit-to-app","expand-all","expand-all-outline","expansion-card","expansion-card-variant","exponent","exponent-box","export","export-variant","eye","eye-check","eye-check-outline","eye-circle","eye-circle-outline","eye-minus","eye-minus-outline","eye-off","eye-off-outline","eye-outline","eye-plus","eye-plus-outline","eye-settings","eye-settings-outline","eyedropper","eyedropper-minus","eyedropper-off","eyedropper-plus","eyedropper-remove","eyedropper-variant","face","face-agent","face-outline","face-profile","face-profile-woman","face-recognition","face-woman","face-woman-outline","facebook","facebook-messenger","facebook-workplace","factory","fan","fan-off","fast-forward","fast-forward-10","fast-forward-30","fast-forward-5","fast-forward-outline","fax","feather","feature-search","feature-search-outline","fedora","ferris-wheel","ferry","file","file-account","file-account-outline","file-alert","file-alert-outline","file-cabinet","file-cad","file-cad-box","file-cancel","file-cancel-outline","file-certificate","file-certificate-outline","file-chart","file-chart-outline","file-check","file-check-outline","file-clock","file-clock-outline","file-cloud","file-cloud-outline","file-code","file-code-outline","file-cog","file-cog-outline","file-compare","file-delimited","file-delimited-outline","file-document","file-document-edit","file-document-edit-outline","file-document-outline","file-download","file-download-outline","file-edit","file-edit-outline","file-excel","file-excel-box","file-excel-box-outline","file-excel-outline","file-export","file-export-outline","file-eye","file-eye-outline","file-find","file-find-outline","file-hidden","file-image","file-image-outline","file-import","file-import-outline","file-key","file-key-outline","file-link","file-link-outline","file-lock","file-lock-outline","file-move","file-move-outline","file-multiple","file-multiple-outline","file-music","file-music-outline","file-outline","file-pdf","file-pdf-box","file-pdf-box-outline","file-pdf-outline","file-percent","file-percent-outline","file-phone","file-phone-outline","file-plus","file-plus-outline","file-powerpoint","file-powerpoint-box","file-powerpoint-box-outline","file-powerpoint-outline","file-presentation-box","file-question","file-question-outline","file-refresh","file-refresh-outline","file-remove","file-remove-outline","file-replace","file-replace-outline","file-restore","file-restore-outline","file-search","file-search-outline","file-send","file-send-outline","file-settings","file-settings-outline","file-star","file-star-outline","file-swap","file-swap-outline","file-sync","file-sync-outline","file-table","file-table-box","file-table-box-multiple","file-table-box-multiple-outline","file-table-box-outline","file-table-outline","file-tree","file-tree-outline","file-undo","file-undo-outline","file-upload","file-upload-outline","file-video","file-video-outline","file-word","file-word-box","file-word-box-outline","file-word-outline","film","filmstrip","filmstrip-box","filmstrip-box-multiple","filmstrip-off","filter","filter-menu","filter-menu-outline","filter-minus","filter-minus-outline","filter-outline","filter-plus","filter-plus-outline","filter-remove","filter-remove-outline","filter-variant","filter-variant-minus","filter-variant-plus","filter-variant-remove","finance","find-replace","fingerprint","fingerprint-off","fire","fire-extinguisher","fire-hydrant","fire-hydrant-alert","fire-hydrant-off","fire-truck","firebase","firefox","fireplace","fireplace-off","firework","fish","fishbowl","fishbowl-outline","fit-to-page","fit-to-page-outline","flag","flag-checkered","flag-minus","flag-minus-outline","flag-outline","flag-plus","flag-plus-outline","flag-remove","flag-remove-outline","flag-triangle","flag-variant","flag-variant-outline","flare","flash","flash-alert","flash-alert-outline","flash-auto","flash-circle","flash-off","flash-outline","flash-red-eye","flashlight","flashlight-off","flask","flask-empty","flask-empty-minus","flask-empty-minus-outline","flask-empty-outline","flask-empty-plus","flask-empty-plus-outline","flask-empty-remove","flask-empty-remove-outline","flask-minus","flask-minus-outline","flask-outline","flask-plus","flask-plus-outline","flask-remove","flask-remove-outline","flask-round-bottom","flask-round-bottom-empty","flask-round-bottom-empty-outline","flask-round-bottom-outline","fleur-de-lis","flip-horizontal","flip-to-back","flip-to-front","flip-vertical","floor-lamp","floor-lamp-dual","floor-lamp-variant","floor-plan","floppy","floppy-variant","flower","flower-outline","flower-poppy","flower-tulip","flower-tulip-outline","focus-auto","focus-field","focus-field-horizontal","focus-field-vertical","folder","folder-account","folder-account-outline","folder-alert","folder-alert-outline","folder-clock","folder-clock-outline","folder-cog","folder-cog-outline","folder-download","folder-download-outline","folder-edit","folder-edit-outline","folder-google-drive","folder-heart","folder-heart-outline","folder-home","folder-home-outline","folder-image","folder-information","folder-information-outline","folder-key","folder-key-network","folder-key-network-outline","folder-key-outline","folder-lock","folder-lock-open","folder-marker","folder-marker-outline","folder-move","folder-move-outline","folder-multiple","folder-multiple-image","folder-multiple-outline","folder-music","folder-music-outline","folder-network","folder-network-outline","folder-open","folder-open-outline","folder-outline","folder-plus","folder-plus-outline","folder-pound","folder-pound-outline","folder-refresh","folder-refresh-outline","folder-remove","folder-remove-outline","folder-search","folder-search-outline","folder-settings","folder-settings-outline","folder-star","folder-star-multiple","folder-star-multiple-outline","folder-star-outline","folder-swap","folder-swap-outline","folder-sync","folder-sync-outline","folder-table","folder-table-outline","folder-text","folder-text-outline","folder-upload","folder-upload-outline","folder-zip","folder-zip-outline","font-awesome","food","food-apple","food-apple-outline","food-croissant","food-fork-drink","food-off","food-variant","food-variant-off","foot-print","football","football-australian","football-helmet","forklift","format-align-bottom","format-align-center","format-align-justify","format-align-left","format-align-middle","format-align-right","format-align-top","format-annotation-minus","format-annotation-plus","format-bold","format-clear","format-color-fill","format-color-highlight","format-color-marker-cancel","format-color-text","format-columns","format-float-center","format-float-left","format-float-none","format-float-right","format-font","format-font-size-decrease","format-font-size-increase","format-header-1","format-header-2","format-header-3","format-header-4","format-header-5","format-header-6","format-header-decrease","format-header-equal","format-header-increase","format-header-pound","format-horizontal-align-center","format-horizontal-align-left","format-horizontal-align-right","format-indent-decrease","format-indent-increase","format-italic","format-letter-case","format-letter-case-lower","format-letter-case-upper","format-letter-ends-with","format-letter-matches","format-letter-starts-with","format-line-spacing","format-line-style","format-line-weight","format-list-bulleted","format-list-bulleted-square","format-list-bulleted-triangle","format-list-bulleted-type","format-list-checkbox","format-list-checks","format-list-numbered","format-list-numbered-rtl","format-list-text","format-overline","format-page-break","format-paint","format-paragraph","format-pilcrow","format-quote-close","format-quote-close-outline","format-quote-open","format-quote-open-outline","format-rotate-90","format-section","format-size","format-strikethrough","format-strikethrough-variant","format-subscript","format-superscript","format-text","format-text-rotation-angle-down","format-text-rotation-angle-up","format-text-rotation-down","format-text-rotation-down-vertical","format-text-rotation-none","format-text-rotation-up","format-text-rotation-vertical","format-text-variant","format-text-wrapping-clip","format-text-wrapping-overflow","format-text-wrapping-wrap","format-textbox","format-textdirection-l-to-r","format-textdirection-r-to-l","format-title","format-underline","format-vertical-align-bottom","format-vertical-align-center","format-vertical-align-top","format-wrap-inline","format-wrap-square","format-wrap-tight","format-wrap-top-bottom","forum","forum-outline","forward","forwardburger","fountain","fountain-pen","fountain-pen-tip","freebsd","frequently-asked-questions","fridge","fridge-alert","fridge-alert-outline","fridge-bottom","fridge-off","fridge-off-outline","fridge-outline","fridge-top","fruit-cherries","fruit-citrus","fruit-grapes","fruit-grapes-outline","fruit-pineapple","fruit-watermelon","fuel","fullscreen","fullscreen-exit","function","function-variant","furigana-horizontal","furigana-vertical","fuse","fuse-blade","gamepad","gamepad-circle","gamepad-circle-down","gamepad-circle-left","gamepad-circle-outline","gamepad-circle-right","gamepad-circle-up","gamepad-down","gamepad-left","gamepad-right","gamepad-round","gamepad-round-down","gamepad-round-left","gamepad-round-outline","gamepad-round-right","gamepad-round-up","gamepad-square","gamepad-square-outline","gamepad-up","gamepad-variant","gamepad-variant-outline","gamma","gantry-crane","garage","garage-alert","garage-alert-variant","garage-open","garage-open-variant","garage-variant","gas-cylinder","gas-station","gas-station-outline","gate","gate-and","gate-arrow-right","gate-nand","gate-nor","gate-not","gate-open","gate-or","gate-xnor","gate-xor","gatsby","gauge","gauge-empty","gauge-full","gauge-low","gavel","gender-female","gender-male","gender-male-female","gender-male-female-variant","gender-non-binary","gender-transgender","gentoo","gesture","gesture-double-tap","gesture-pinch","gesture-spread","gesture-swipe","gesture-swipe-down","gesture-swipe-horizontal","gesture-swipe-left","gesture-swipe-right","gesture-swipe-up","gesture-swipe-vertical","gesture-tap","gesture-tap-box","gesture-tap-button","gesture-tap-hold","gesture-two-double-tap","gesture-two-tap","ghost","ghost-off","gif","gift","gift-outline","git","github","gitlab","glass-cocktail","glass-flute","glass-mug","glass-mug-variant","glass-pint-outline","glass-stange","glass-tulip","glass-wine","glasses","globe-light","globe-model","gmail","gnome","go-kart","go-kart-track","gog","gold","golf","golf-cart","golf-tee","gondola","goodreads","google","google-ads","google-analytics","google-assistant","google-cardboard","google-chrome","google-circles","google-circles-communities","google-circles-extended","google-circles-group","google-classroom","google-cloud","google-controller","google-controller-off","google-downasaur","google-drive","google-earth","google-fit","google-glass","google-hangouts","google-home","google-keep","google-lens","google-maps","google-my-business","google-nearby","google-photos","google-play","google-plus","google-podcast","google-spreadsheet","google-street-view","google-translate","gradient","grain","graph","graph-outline","graphql","grave-stone","grease-pencil","greater-than","greater-than-or-equal","grid","grid-large","grid-off","grill","grill-outline","group","guitar-acoustic","guitar-electric","guitar-pick","guitar-pick-outline","guy-fawkes-mask","hail","hair-dryer","hair-dryer-outline","halloween","hamburger","hammer","hammer-screwdriver","hammer-wrench","hand","hand-heart","hand-left","hand-okay","hand-peace","hand-peace-variant","hand-pointing-down","hand-pointing-left","hand-pointing-right","hand-pointing-up","hand-right","hand-saw","hand-water","handball","handcuffs","handshake","hanger","hard-hat","harddisk","harddisk-plus","harddisk-remove","hat-fedora","hazard-lights","hdr","hdr-off","head","head-alert","head-alert-outline","head-check","head-check-outline","head-cog","head-cog-outline","head-dots-horizontal","head-dots-horizontal-outline","head-flash","head-flash-outline","head-heart","head-heart-outline","head-lightbulb","head-lightbulb-outline","head-minus","head-minus-outline","head-outline","head-plus","head-plus-outline","head-question","head-question-outline","head-remove","head-remove-outline","head-snowflake","head-snowflake-outline","head-sync","head-sync-outline","headphones","headphones-bluetooth","headphones-box","headphones-off","headphones-settings","headset","headset-dock","headset-off","heart","heart-box","heart-box-outline","heart-broken","heart-broken-outline","heart-circle","heart-circle-outline","heart-flash","heart-half","heart-half-full","heart-half-outline","heart-multiple","heart-multiple-outline","heart-off","heart-outline","heart-pulse","helicopter","help","help-box","help-circle","help-circle-outline","help-network","help-network-outline","help-rhombus","help-rhombus-outline","hexadecimal","hexagon","hexagon-multiple","hexagon-multiple-outline","hexagon-outline","hexagon-slice-1","hexagon-slice-2","hexagon-slice-3","hexagon-slice-4","hexagon-slice-5","hexagon-slice-6","hexagram","hexagram-outline","high-definition","high-definition-box","highway","hiking","hinduism","history","hockey-puck","hockey-sticks","hololens","home","home-account","home-alert","home-analytics","home-assistant","home-automation","home-circle","home-circle-outline","home-city","home-city-outline","home-currency-usd","home-edit","home-edit-outline","home-export-outline","home-flood","home-floor-0","home-floor-1","home-floor-2","home-floor-3","home-floor-a","home-floor-b","home-floor-g","home-floor-l","home-floor-negative-1","home-group","home-heart","home-import-outline","home-lightbulb","home-lightbulb-outline","home-lock","home-lock-open","home-map-marker","home-minus","home-minus-outline","home-modern","home-outline","home-plus","home-plus-outline","home-remove","home-remove-outline","home-roof","home-search","home-search-outline","home-thermometer","home-thermometer-outline","home-variant","home-variant-outline","hook","hook-off","hops","horizontal-rotate-clockwise","horizontal-rotate-counterclockwise","horseshoe","hospital","hospital-box","hospital-box-outline","hospital-building","hospital-marker","hot-tub","hubspot","hulu","human","human-baby-changing-table","human-child","human-female","human-female-boy","human-female-female","human-female-girl","human-greeting","human-handsdown","human-handsup","human-male","human-male-boy","human-male-child","human-male-female","human-male-girl","human-male-height","human-male-height-variant","human-male-male","human-pregnant","human-wheelchair","humble-bundle","hvac","hydraulic-oil-level","hydraulic-oil-temperature","hydro-power","ice-cream","ice-cream-off","ice-pop","id-card","identifier","ideogram-cjk","ideogram-cjk-variant","iframe","iframe-array","iframe-array-outline","iframe-braces","iframe-braces-outline","iframe-outline","iframe-parentheses","iframe-parentheses-outline","iframe-variable","iframe-variable-outline","image","image-album","image-area","image-area-close","image-auto-adjust","image-broken","image-broken-variant","image-edit","image-edit-outline","image-filter-black-white","image-filter-center-focus","image-filter-center-focus-strong","image-filter-center-focus-strong-outline","image-filter-center-focus-weak","image-filter-drama","image-filter-frames","image-filter-hdr","image-filter-none","image-filter-tilt-shift","image-filter-vintage","image-frame","image-move","image-multiple","image-multiple-outline","image-off","image-off-outline","image-outline","image-plus","image-search","image-search-outline","image-size-select-actual","image-size-select-large","image-size-select-small","import","inbox","inbox-arrow-down","inbox-arrow-down-outline","inbox-arrow-up","inbox-arrow-up-outline","inbox-full","inbox-full-outline","inbox-multiple","inbox-multiple-outline","inbox-outline","incognito","incognito-off","infinity","information","information-outline","information-variant","instagram","instrument-triangle","invert-colors","invert-colors-off","iobroker","ip","ip-network","ip-network-outline","ipod","islam","island","iv-bag","jabber","jeepney","jellyfish","jellyfish-outline","jira","jquery","jsfiddle","judaism","jump-rope","kabaddi","karate","keg","kettle","kettle-alert","kettle-alert-outline","kettle-off","kettle-off-outline","kettle-outline","kettle-steam","kettle-steam-outline","kettlebell","key","key-arrow-right","key-change","key-link","key-minus","key-outline","key-plus","key-remove","key-star","key-variant","key-wireless","keyboard","keyboard-backspace","keyboard-caps","keyboard-close","keyboard-esc","keyboard-f1","keyboard-f10","keyboard-f11","keyboard-f12","keyboard-f2","keyboard-f3","keyboard-f4","keyboard-f5","keyboard-f6","keyboard-f7","keyboard-f8","keyboard-f9","keyboard-off","keyboard-off-outline","keyboard-outline","keyboard-return","keyboard-settings","keyboard-settings-outline","keyboard-space","keyboard-tab","keyboard-variant","khanda","kickstarter","klingon","knife","knife-military","kodi","kubernetes","label","label-multiple","label-multiple-outline","label-off","label-off-outline","label-outline","label-percent","label-percent-outline","label-variant","label-variant-outline","ladybug","lambda","lamp","lan","lan-check","lan-connect","lan-disconnect","lan-pending","language-c","language-cpp","language-csharp","language-css3","language-fortran","language-go","language-haskell","language-html5","language-java","language-javascript","language-kotlin","language-lua","language-markdown","language-markdown-outline","language-php","language-python","language-r","language-ruby","language-ruby-on-rails","language-swift","language-typescript","language-xaml","laptop","laptop-chromebook","laptop-mac","laptop-off","laptop-windows","laravel","lasso","lastpass","latitude","launch","lava-lamp","layers","layers-minus","layers-off","layers-off-outline","layers-outline","layers-plus","layers-remove","layers-search","layers-search-outline","layers-triple","layers-triple-outline","lead-pencil","leaf","leaf-maple","leaf-maple-off","leaf-off","leak","leak-off","led-off","led-on","led-outline","led-strip","led-strip-variant","led-variant-off","led-variant-on","led-variant-outline","leek","less-than","less-than-or-equal","library","library-shelves","license","lifebuoy","light-switch","lightbulb","lightbulb-cfl","lightbulb-cfl-off","lightbulb-cfl-spiral","lightbulb-cfl-spiral-off","lightbulb-group","lightbulb-group-off","lightbulb-group-off-outline","lightbulb-group-outline","lightbulb-multiple","lightbulb-multiple-off","lightbulb-multiple-off-outline","lightbulb-multiple-outline","lightbulb-off","lightbulb-off-outline","lightbulb-on","lightbulb-on-outline","lightbulb-outline","lighthouse","lighthouse-on","link","link-box","link-box-outline","link-box-variant","link-box-variant-outline","link-lock","link-off","link-plus","link-variant","link-variant-minus","link-variant-off","link-variant-plus","link-variant-remove","linkedin","linux","linux-mint","lipstick","litecoin","loading","location-enter","location-exit","lock","lock-alert","lock-check","lock-clock","lock-open","lock-open-alert","lock-open-check","lock-open-outline","lock-open-variant","lock-open-variant-outline","lock-outline","lock-pattern","lock-plus","lock-question","lock-reset","lock-smart","locker","locker-multiple","login","login-variant","logout","logout-variant","longitude","looks","loupe","lumx","lungs","magnet","magnet-on","magnify","magnify-close","magnify-minus","magnify-minus-cursor","magnify-minus-outline","magnify-plus","magnify-plus-cursor","magnify-plus-outline","magnify-remove-cursor","magnify-remove-outline","magnify-scan","mail","mailbox","mailbox-open","mailbox-open-outline","mailbox-open-up","mailbox-open-up-outline","mailbox-outline","mailbox-up","mailbox-up-outline","map","map-check","map-check-outline","map-clock","map-clock-outline","map-legend","map-marker","map-marker-alert","map-marker-alert-outline","map-marker-check","map-marker-check-outline","map-marker-circle","map-marker-distance","map-marker-down","map-marker-left","map-marker-left-outline","map-marker-minus","map-marker-minus-outline","map-marker-multiple","map-marker-multiple-outline","map-marker-off","map-marker-off-outline","map-marker-outline","map-marker-path","map-marker-plus","map-marker-plus-outline","map-marker-question","map-marker-question-outline","map-marker-radius","map-marker-radius-outline","map-marker-remove","map-marker-remove-outline","map-marker-remove-variant","map-marker-right","map-marker-right-outline","map-marker-up","map-minus","map-outline","map-plus","map-search","map-search-outline","mapbox","margin","marker","marker-cancel","marker-check","mastodon","material-design","material-ui","math-compass","math-cos","math-integral","math-integral-box","math-log","math-norm","math-norm-box","math-sin","math-tan","matrix","medal","medal-outline","medical-bag","meditation","memory","menu","menu-down","menu-down-outline","menu-left","menu-left-outline","menu-open","menu-right","menu-right-outline","menu-swap","menu-swap-outline","menu-up","menu-up-outline","merge","message","message-alert","message-alert-outline","message-arrow-left","message-arrow-left-outline","message-arrow-right","message-arrow-right-outline","message-bulleted","message-bulleted-off","message-cog","message-cog-outline","message-draw","message-image","message-image-outline","message-lock","message-lock-outline","message-minus","message-minus-outline","message-outline","message-plus","message-plus-outline","message-processing","message-processing-outline","message-reply","message-reply-text","message-settings","message-settings-outline","message-text","message-text-clock","message-text-clock-outline","message-text-lock","message-text-lock-outline","message-text-outline","message-video","meteor","metronome","metronome-tick","micro-sd","microphone","microphone-minus","microphone-off","microphone-outline","microphone-plus","microphone-settings","microphone-variant","microphone-variant-off","microscope","microsoft","microsoft-access","microsoft-azure","microsoft-azure-devops","microsoft-bing","microsoft-dynamics-365","microsoft-edge","microsoft-edge-legacy","microsoft-excel","microsoft-internet-explorer","microsoft-office","microsoft-onedrive","microsoft-onenote","microsoft-outlook","microsoft-powerpoint","microsoft-sharepoint","microsoft-teams","microsoft-visual-studio","microsoft-visual-studio-code","microsoft-windows","microsoft-windows-classic","microsoft-word","microsoft-xbox","microsoft-xbox-controller","microsoft-xbox-controller-battery-alert","microsoft-xbox-controller-battery-charging","microsoft-xbox-controller-battery-empty","microsoft-xbox-controller-battery-full","microsoft-xbox-controller-battery-low","microsoft-xbox-controller-battery-medium","microsoft-xbox-controller-battery-unknown","microsoft-xbox-controller-menu","microsoft-xbox-controller-off","microsoft-xbox-controller-view","microsoft-yammer","microwave","middleware","middleware-outline","midi","midi-port","mine","minecraft","mini-sd","minidisc","minus","minus-box","minus-box-multiple","minus-box-multiple-outline","minus-box-outline","minus-circle","minus-circle-multiple","minus-circle-multiple-outline","minus-circle-outline","minus-network","minus-network-outline","mirror","mixed-martial-arts","mixed-reality","mixer","molecule","monitor","monitor-cellphone","monitor-cellphone-star","monitor-clean","monitor-dashboard","monitor-edit","monitor-eye","monitor-lock","monitor-multiple","monitor-off","monitor-screenshot","monitor-speaker","monitor-speaker-off","monitor-star","moon-first-quarter","moon-full","moon-last-quarter","moon-new","moon-waning-crescent","moon-waning-gibbous","moon-waxing-crescent","moon-waxing-gibbous","moped","more","mother-heart","mother-nurse","motion-sensor","motorbike","mouse","mouse-bluetooth","mouse-off","mouse-variant","mouse-variant-off","move-resize","move-resize-variant","movie","movie-edit","movie-edit-outline","movie-filter","movie-filter-outline","movie-open","movie-open-outline","movie-outline","movie-roll","movie-search","movie-search-outline","muffin","multiplication","multiplication-box","mushroom","mushroom-outline","music","music-accidental-double-flat","music-accidental-double-sharp","music-accidental-flat","music-accidental-natural","music-accidental-sharp","music-box","music-box-multiple","music-box-multiple-outline","music-box-outline","music-circle","music-circle-outline","music-clef-alto","music-clef-bass","music-clef-treble","music-note","music-note-bluetooth","music-note-bluetooth-off","music-note-eighth","music-note-eighth-dotted","music-note-half","music-note-half-dotted","music-note-off","music-note-off-outline","music-note-outline","music-note-plus","music-note-quarter","music-note-quarter-dotted","music-note-sixteenth","music-note-sixteenth-dotted","music-note-whole","music-note-whole-dotted","music-off","music-rest-eighth","music-rest-half","music-rest-quarter","music-rest-sixteenth","music-rest-whole","nail","nas","nativescript","nature","nature-people","navigation","near-me","necklace","needle","netflix","network","network-off","network-off-outline","network-outline","network-strength-1","network-strength-1-alert","network-strength-2","network-strength-2-alert","network-strength-3","network-strength-3-alert","network-strength-4","network-strength-4-alert","network-strength-off","network-strength-off-outline","network-strength-outline","new-box","newspaper","newspaper-minus","newspaper-plus","newspaper-variant","newspaper-variant-multiple","newspaper-variant-multiple-outline","newspaper-variant-outline","nfc","nfc-search-variant","nfc-tap","nfc-variant","nfc-variant-off","ninja","nintendo-game-boy","nintendo-switch","nintendo-wii","nintendo-wiiu","nix","nodejs","noodles","not-equal","not-equal-variant","note","note-multiple","note-multiple-outline","note-outline","note-plus","note-plus-outline","note-text","note-text-outline","notebook","notebook-multiple","notebook-outline","notification-clear-all","npm","nuke","null","numeric","numeric-0","numeric-0-box","numeric-0-box-multiple","numeric-0-box-multiple-outline","numeric-0-box-outline","numeric-0-circle","numeric-0-circle-outline","numeric-1","numeric-1-box","numeric-1-box-multiple","numeric-1-box-multiple-outline","numeric-1-box-outline","numeric-1-circle","numeric-1-circle-outline","numeric-10","numeric-10-box","numeric-10-box-multiple","numeric-10-box-multiple-outline","numeric-10-box-outline","numeric-10-circle","numeric-10-circle-outline","numeric-2","numeric-2-box","numeric-2-box-multiple","numeric-2-box-multiple-outline","numeric-2-box-outline","numeric-2-circle","numeric-2-circle-outline","numeric-3","numeric-3-box","numeric-3-box-multiple","numeric-3-box-multiple-outline","numeric-3-box-outline","numeric-3-circle","numeric-3-circle-outline","numeric-4","numeric-4-box","numeric-4-box-multiple","numeric-4-box-multiple-outline","numeric-4-box-outline","numeric-4-circle","numeric-4-circle-outline","numeric-5","numeric-5-box","numeric-5-box-multiple","numeric-5-box-multiple-outline","numeric-5-box-outline","numeric-5-circle","numeric-5-circle-outline","numeric-6","numeric-6-box","numeric-6-box-multiple","numeric-6-box-multiple-outline","numeric-6-box-outline","numeric-6-circle","numeric-6-circle-outline","numeric-7","numeric-7-box","numeric-7-box-multiple","numeric-7-box-multiple-outline","numeric-7-box-outline","numeric-7-circle","numeric-7-circle-outline","numeric-8","numeric-8-box","numeric-8-box-multiple","numeric-8-box-multiple-outline","numeric-8-box-outline","numeric-8-circle","numeric-8-circle-outline","numeric-9","numeric-9-box","numeric-9-box-multiple","numeric-9-box-multiple-outline","numeric-9-box-outline","numeric-9-circle","numeric-9-circle-outline","numeric-9-plus","numeric-9-plus-box","numeric-9-plus-box-multiple","numeric-9-plus-box-multiple-outline","numeric-9-plus-box-outline","numeric-9-plus-circle","numeric-9-plus-circle-outline","numeric-negative-1","nut","nutrition","nuxt","oar","ocarina","oci","ocr","octagon","octagon-outline","octagram","octagram-outline","odnoklassniki","offer","office-building","oil","oil-lamp","oil-level","oil-temperature","omega","one-up","onepassword","opacity","open-in-app","open-in-new","open-source-initiative","openid","opera","orbit","order-alphabetical-ascending","order-alphabetical-descending","order-bool-ascending","order-bool-ascending-variant","order-bool-descending","order-bool-descending-variant","order-numeric-ascending","order-numeric-descending","origin","ornament","ornament-variant","outdoor-lamp","overscan","owl","pac-man","package","package-down","package-up","package-variant","package-variant-closed","page-first","page-last","page-layout-body","page-layout-footer","page-layout-header","page-layout-header-footer","page-layout-sidebar-left","page-layout-sidebar-right","page-next","page-next-outline","page-previous","page-previous-outline","palette","palette-advanced","palette-outline","palette-swatch","palette-swatch-outline","palm-tree","pan","pan-bottom-left","pan-bottom-right","pan-down","pan-horizontal","pan-left","pan-right","pan-top-left","pan-top-right","pan-up","pan-vertical","panda","pandora","panorama","panorama-fisheye","panorama-horizontal","panorama-vertical","panorama-wide-angle","paper-cut-vertical","paper-roll","paper-roll-outline","paperclip","parachute","parachute-outline","parking","party-popper","passport","passport-biometric","pasta","patio-heater","patreon","pause","pause-circle","pause-circle-outline","pause-octagon","pause-octagon-outline","paw","paw-off","pdf-box","peace","peanut","peanut-off","peanut-off-outline","peanut-outline","pen","pen-lock","pen-minus","pen-off","pen-plus","pen-remove","pencil","pencil-box","pencil-box-multiple","pencil-box-multiple-outline","pencil-box-outline","pencil-circle","pencil-circle-outline","pencil-lock","pencil-lock-outline","pencil-minus","pencil-minus-outline","pencil-off","pencil-off-outline","pencil-outline","pencil-plus","pencil-plus-outline","pencil-remove","pencil-remove-outline","pencil-ruler","penguin","pentagon","pentagon-outline","percent","percent-outline","periodic-table","periodic-table-co","periodic-table-co2","perspective-less","perspective-more","pharmacy","phone","phone-alert","phone-alert-outline","phone-bluetooth","phone-bluetooth-outline","phone-cancel","phone-cancel-outline","phone-check","phone-check-outline","phone-classic","phone-classic-off","phone-forward","phone-forward-outline","phone-hangup","phone-hangup-outline","phone-in-talk","phone-in-talk-outline","phone-incoming","phone-incoming-outline","phone-lock","phone-lock-outline","phone-log","phone-log-outline","phone-message","phone-message-outline","phone-minus","phone-minus-outline","phone-missed","phone-missed-outline","phone-off","phone-off-outline","phone-outgoing","phone-outgoing-outline","phone-outline","phone-paused","phone-paused-outline","phone-plus","phone-plus-outline","phone-return","phone-return-outline","phone-ring","phone-ring-outline","phone-rotate-landscape","phone-rotate-portrait","phone-settings","phone-settings-outline","phone-voip","pi","pi-box","pi-hole","piano","pickaxe","picture-in-picture-bottom-right","picture-in-picture-bottom-right-outline","picture-in-picture-top-right","picture-in-picture-top-right-outline","pier","pier-crane","pig","pig-variant","piggy-bank","pill","pillar","pin","pin-off","pin-off-outline","pin-outline","pine-tree","pine-tree-box","pinterest","pinwheel","pinwheel-outline","pipe","pipe-disconnected","pipe-leak","pipe-wrench","pirate","pistol","piston","pizza","play","play-box","play-box-multiple","play-box-multiple-outline","play-box-outline","play-circle","play-circle-outline","play-network","play-network-outline","play-outline","play-pause","play-protected-content","play-speed","playlist-check","playlist-edit","playlist-minus","playlist-music","playlist-music-outline","playlist-play","playlist-plus","playlist-remove","playlist-star","plex","plus","plus-box","plus-box-multiple","plus-box-multiple-outline","plus-box-outline","plus-circle","plus-circle-multiple","plus-circle-multiple-outline","plus-circle-outline","plus-minus","plus-minus-box","plus-network","plus-network-outline","plus-one","plus-outline","plus-thick","podcast","podium","podium-bronze","podium-gold","podium-silver","point-of-sale","pokeball","pokemon-go","poker-chip","polaroid","police-badge","police-badge-outline","poll","poll-box","poll-box-outline","polymer","pool","popcorn","post","post-outline","postage-stamp","pot","pot-mix","pot-mix-outline","pot-outline","pot-steam","pot-steam-outline","pound","pound-box","pound-box-outline","power","power-cycle","power-off","power-on","power-plug","power-plug-off","power-settings","power-sleep","power-socket","power-socket-au","power-socket-de","power-socket-eu","power-socket-fr","power-socket-jp","power-socket-uk","power-socket-us","power-standby","powershell","prescription","presentation","presentation-play","printer","printer-3d","printer-3d-nozzle","printer-3d-nozzle-alert","printer-3d-nozzle-alert-outline","printer-3d-nozzle-outline","printer-alert","printer-check","printer-off","printer-pos","printer-settings","printer-wireless","priority-high","priority-low","professional-hexagon","progress-alert","progress-check","progress-clock","progress-close","progress-download","progress-upload","progress-wrench","projector","projector-screen","propane-tank","propane-tank-outline","protocol","publish","pulse","pumpkin","purse","purse-outline","puzzle","puzzle-outline","qi","qqchat","qrcode","qrcode-edit","qrcode-minus","qrcode-plus","qrcode-remove","qrcode-scan","quadcopter","quality-high","quality-low","quality-medium","quora","rabbit","racing-helmet","racquetball","radar","radiator","radiator-disabled","radiator-off","radio","radio-am","radio-fm","radio-handheld","radio-off","radio-tower","radioactive","radioactive-off","radiobox-blank","radiobox-marked","radius","radius-outline","railroad-light","raspberry-pi","ray-end","ray-end-arrow","ray-start","ray-start-arrow","ray-start-end","ray-vertex","react","read","receipt","record","record-circle","record-circle-outline","record-player","record-rec","rectangle","rectangle-outline","recycle","recycle-variant","reddit","redhat","redo","redo-variant","reflect-horizontal","reflect-vertical","refresh","refresh-circle","regex","registered-trademark","relative-scale","reload","reload-alert","reminder","remote","remote-desktop","remote-off","remote-tv","remote-tv-off","rename-box","reorder-horizontal","reorder-vertical","repeat","repeat-off","repeat-once","replay","reply","reply-all","reply-all-outline","reply-circle","reply-outline","reproduction","resistor","resistor-nodes","resize","resize-bottom-right","responsive","restart","restart-alert","restart-off","restore","restore-alert","rewind","rewind-10","rewind-30","rewind-5","rewind-outline","rhombus","rhombus-medium","rhombus-outline","rhombus-split","ribbon","rice","ring","rivet","road","road-variant","robber","robot","robot-industrial","robot-mower","robot-mower-outline","robot-vacuum","robot-vacuum-variant","rocket","rocket-outline","rodent","roller-skate","roller-skate-off","rollerblade","rollerblade-off","rollupjs","roman-numeral-1","roman-numeral-10","roman-numeral-2","roman-numeral-3","roman-numeral-4","roman-numeral-5","roman-numeral-6","roman-numeral-7","roman-numeral-8","roman-numeral-9","room-service","room-service-outline","rotate-3d","rotate-3d-variant","rotate-left","rotate-left-variant","rotate-orbit","rotate-right","rotate-right-variant","rounded-corner","router","router-network","router-wireless","router-wireless-settings","routes","routes-clock","rowing","rss","rss-box","rss-off","rugby","ruler","ruler-square","ruler-square-compass","run","run-fast","rv-truck","sack","sack-percent","safe","safe-square","safe-square-outline","safety-goggles","sail-boat","sale","salesforce","sass","satellite","satellite-uplink","satellite-variant","sausage","saw-blade","saxophone","scale","scale-balance","scale-bathroom","scale-off","scan-helper","scanner","scanner-off","scatter-plot","scatter-plot-outline","school","school-outline","scissors-cutting","scooter","scoreboard","scoreboard-outline","screen-rotation","screen-rotation-lock","screw-flat-top","screw-lag","screw-machine-flat-top","screw-machine-round-top","screw-round-top","screwdriver","script","script-outline","script-text","script-text-outline","sd","seal","seal-variant","search-web","seat","seat-flat","seat-flat-angled","seat-individual-suite","seat-legroom-extra","seat-legroom-normal","seat-legroom-reduced","seat-outline","seat-passenger","seat-recline-extra","seat-recline-normal","seatbelt","security","security-network","seed","seed-outline","segment","select","select-all","select-color","select-compare","select-drag","select-group","select-inverse","select-marker","select-multiple","select-multiple-marker","select-off","select-place","select-search","selection","selection-drag","selection-ellipse","selection-ellipse-arrow-inside","selection-marker","selection-multiple-marker","selection-mutliple","selection-off","selection-search","semantic-web","send","send-check","send-check-outline","send-circle","send-circle-outline","send-clock","send-clock-outline","send-lock","send-lock-outline","send-outline","serial-port","server","server-minus","server-network","server-network-off","server-off","server-plus","server-remove","server-security","set-all","set-center","set-center-right","set-left","set-left-center","set-left-right","set-none","set-right","set-top-box","settings-helper","shaker","shaker-outline","shape","shape-circle-plus","shape-outline","shape-oval-plus","shape-plus","shape-polygon-plus","shape-rectangle-plus","shape-square-plus","share","share-all","share-all-outline","share-circle","share-off","share-off-outline","share-outline","share-variant","sheep","shield","shield-account","shield-account-outline","shield-airplane","shield-airplane-outline","shield-alert","shield-alert-outline","shield-bug","shield-bug-outline","shield-car","shield-check","shield-check-outline","shield-cross","shield-cross-outline","shield-edit","shield-edit-outline","shield-half","shield-half-full","shield-home","shield-home-outline","shield-key","shield-key-outline","shield-link-variant","shield-link-variant-outline","shield-lock","shield-lock-outline","shield-off","shield-off-outline","shield-outline","shield-plus","shield-plus-outline","shield-refresh","shield-refresh-outline","shield-remove","shield-remove-outline","shield-search","shield-star","shield-star-outline","shield-sun","shield-sun-outline","shield-sync","shield-sync-outline","ship-wheel","shoe-formal","shoe-heel","shoe-print","shopping","shopping-music","shopping-outline","shopping-search","shovel","shovel-off","shower","shower-head","shredder","shuffle","shuffle-disabled","shuffle-variant","shuriken","sigma","sigma-lower","sign-caution","sign-direction","sign-direction-minus","sign-direction-plus","sign-direction-remove","sign-real-estate","sign-text","signal","signal-2g","signal-3g","signal-4g","signal-5g","signal-cellular-1","signal-cellular-2","signal-cellular-3","signal-cellular-outline","signal-distance-variant","signal-hspa","signal-hspa-plus","signal-off","signal-variant","signature","signature-freehand","signature-image","signature-text","silo","silverware","silverware-clean","silverware-fork","silverware-fork-knife","silverware-spoon","silverware-variant","sim","sim-alert","sim-off","simple-icons","sina-weibo","sitemap","size-l","size-m","size-s","size-xl","size-xs","size-xxl","size-xxs","size-xxxl","skate","skew-less","skew-more","ski","ski-cross-country","ski-water","skip-backward","skip-backward-outline","skip-forward","skip-forward-outline","skip-next","skip-next-circle","skip-next-circle-outline","skip-next-outline","skip-previous","skip-previous-circle","skip-previous-circle-outline","skip-previous-outline","skull","skull-crossbones","skull-crossbones-outline","skull-outline","skype","skype-business","slack","slash-forward","slash-forward-box","sleep","sleep-off","slope-downhill","slope-uphill","slot-machine","slot-machine-outline","smart-card","smart-card-outline","smart-card-reader","smart-card-reader-outline","smog","smoke-detector","smoking","smoking-off","snapchat","snowboard","snowflake","snowflake-alert","snowflake-melt","snowflake-variant","snowman","soccer","soccer-field","sofa","solar-panel","solar-panel-large","solar-power","soldering-iron","solid","sony-playstation","sort","sort-alphabetical-ascending","sort-alphabetical-ascending-variant","sort-alphabetical-descending","sort-alphabetical-descending-variant","sort-alphabetical-variant","sort-ascending","sort-bool-ascending","sort-bool-ascending-variant","sort-bool-descending","sort-bool-descending-variant","sort-descending","sort-numeric-ascending","sort-numeric-ascending-variant","sort-numeric-descending","sort-numeric-descending-variant","sort-numeric-variant","sort-reverse-variant","sort-variant","sort-variant-lock","sort-variant-lock-open","sort-variant-remove","soundcloud","source-branch","source-commit","source-commit-end","source-commit-end-local","source-commit-local","source-commit-next-local","source-commit-start","source-commit-start-next-local","source-fork","source-merge","source-pull","source-repository","source-repository-multiple","soy-sauce","spa","spa-outline","space-invaders","space-station","spade","speaker","speaker-bluetooth","speaker-multiple","speaker-off","speaker-wireless","speedometer","speedometer-medium","speedometer-slow","spellcheck","spider","spider-thread","spider-web","spotify","spotlight","spotlight-beam","spray","spray-bottle","sprinkler","sprinkler-variant","sprout","sprout-outline","square","square-edit-outline","square-medium","square-medium-outline","square-off","square-off-outline","square-outline","square-root","square-root-box","square-small","squeegee","ssh","stack-exchange","stack-overflow","stackpath","stadium","stadium-variant","stairs","stairs-box","stairs-down","stairs-up","stamper","standard-definition","star","star-box","star-box-multiple","star-box-multiple-outline","star-box-outline","star-circle","star-circle-outline","star-face","star-four-points","star-four-points-outline","star-half","star-half-full","star-off","star-outline","star-three-points","star-three-points-outline","state-machine","steam","steering","steering-off","step-backward","step-backward-2","step-forward","step-forward-2","stethoscope","sticker","sticker-alert","sticker-alert-outline","sticker-check","sticker-check-outline","sticker-circle-outline","sticker-emoji","sticker-minus","sticker-minus-outline","sticker-outline","sticker-plus","sticker-plus-outline","sticker-remove","sticker-remove-outline","stocking","stomach","stop","stop-circle","stop-circle-outline","store","store-24-hour","store-outline","storefront","storefront-outline","stove","strategy","stretch-to-page","stretch-to-page-outline","string-lights","string-lights-off","subdirectory-arrow-left","subdirectory-arrow-right","subtitles","subtitles-outline","subway","subway-alert-variant","subway-variant","summit","sunglasses","surround-sound","surround-sound-2-0","surround-sound-3-1","surround-sound-5-1","surround-sound-7-1","svg","swap-horizontal","swap-horizontal-bold","swap-horizontal-circle","swap-horizontal-circle-outline","swap-horizontal-variant","swap-vertical","swap-vertical-bold","swap-vertical-circle","swap-vertical-circle-outline","swap-vertical-variant","swim","switch","sword","sword-cross","syllabary-hangul","syllabary-hiragana","syllabary-katakana","syllabary-katakana-half-width","symfony","sync","sync-alert","sync-circle","sync-off","tab","tab-minus","tab-plus","tab-remove","tab-unselected","table","table-account","table-alert","table-arrow-down","table-arrow-left","table-arrow-right","table-arrow-up","table-border","table-cancel","table-chair","table-check","table-clock","table-cog","table-column","table-column-plus-after","table-column-plus-before","table-column-remove","table-column-width","table-edit","table-eye","table-eye-off","table-furniture","table-headers-eye","table-headers-eye-off","table-heart","table-key","table-large","table-large-plus","table-large-remove","table-lock","table-merge-cells","table-minus","table-multiple","table-network","table-of-contents","table-off","table-plus","table-refresh","table-remove","table-row","table-row-height","table-row-plus-after","table-row-plus-before","table-row-remove","table-search","table-settings","table-star","table-sync","table-tennis","tablet","tablet-android","tablet-cellphone","tablet-dashboard","tablet-ipad","taco","tag","tag-faces","tag-heart","tag-heart-outline","tag-minus","tag-minus-outline","tag-multiple","tag-multiple-outline","tag-off","tag-off-outline","tag-outline","tag-plus","tag-plus-outline","tag-remove","tag-remove-outline","tag-text","tag-text-outline","tank","tanker-truck","tape-measure","target","target-account","target-variant","taxi","tea","tea-outline","teach","teamviewer","telegram","telescope","television","television-ambient-light","television-box","television-classic","television-classic-off","television-clean","television-guide","television-off","television-pause","television-play","television-stop","temperature-celsius","temperature-fahrenheit","temperature-kelvin","tennis","tennis-ball","tent","terraform","terrain","test-tube","test-tube-empty","test-tube-off","text","text-box","text-box-check","text-box-check-outline","text-box-minus","text-box-minus-outline","text-box-multiple","text-box-multiple-outline","text-box-outline","text-box-plus","text-box-plus-outline","text-box-remove","text-box-remove-outline","text-box-search","text-box-search-outline","text-recognition","text-search","text-shadow","text-short","text-subject","text-to-speech","text-to-speech-off","textarea","textbox","textbox-lock","textbox-password","texture","texture-box","theater","theme-light-dark","thermometer","thermometer-alert","thermometer-chevron-down","thermometer-chevron-up","thermometer-high","thermometer-lines","thermometer-low","thermometer-minus","thermometer-plus","thermostat","thermostat-box","thought-bubble","thought-bubble-outline","thumb-down","thumb-down-outline","thumb-up","thumb-up-outline","thumbs-up-down","ticket","ticket-account","ticket-confirmation","ticket-confirmation-outline","ticket-outline","ticket-percent","tie","tilde","timelapse","timeline","timeline-alert","timeline-alert-outline","timeline-clock","timeline-clock-outline","timeline-help","timeline-help-outline","timeline-outline","timeline-plus","timeline-plus-outline","timeline-text","timeline-text-outline","timer","timer-10","timer-3","timer-off","timer-off-outline","timer-outline","timer-sand","timer-sand-empty","timer-sand-full","timetable","toaster","toaster-off","toaster-oven","toggle-switch","toggle-switch-off","toggle-switch-off-outline","toggle-switch-outline","toilet","toolbox","toolbox-outline","tools","tooltip","tooltip-account","tooltip-edit","tooltip-edit-outline","tooltip-image","tooltip-image-outline","tooltip-outline","tooltip-plus","tooltip-plus-outline","tooltip-text","tooltip-text-outline","tooth","tooth-outline","toothbrush","toothbrush-electric","toothbrush-paste","tortoise","toslink","tournament","tow-truck","tower-beach","tower-fire","toy-brick","toy-brick-marker","toy-brick-marker-outline","toy-brick-minus","toy-brick-minus-outline","toy-brick-outline","toy-brick-plus","toy-brick-plus-outline","toy-brick-remove","toy-brick-remove-outline","toy-brick-search","toy-brick-search-outline","track-light","trackpad","trackpad-lock","tractor","trademark","traffic-cone","traffic-light","train","train-car","train-variant","tram","tram-side","transcribe","transcribe-close","transfer","transfer-down","transfer-left","transfer-right","transfer-up","transit-connection","transit-connection-variant","transit-detour","transit-transfer","transition","transition-masked","translate","translate-off","transmission-tower","trash-can","trash-can-outline","tray","tray-alert","tray-full","tray-minus","tray-plus","tray-remove","treasure-chest","tree","tree-outline","trello","trending-down","trending-neutral","trending-up","triangle","triangle-outline","triforce","trophy","trophy-award","trophy-broken","trophy-outline","trophy-variant","trophy-variant-outline","truck","truck-check","truck-check-outline","truck-delivery","truck-delivery-outline","truck-fast","truck-fast-outline","truck-outline","truck-trailer","trumpet","tshirt-crew","tshirt-crew-outline","tshirt-v","tshirt-v-outline","tumble-dryer","tumble-dryer-alert","tumble-dryer-off","tune","tune-vertical","turnstile","turnstile-outline","turtle","twitch","twitter","twitter-retweet","two-factor-authentication","typewriter","ubisoft","ubuntu","ufo","ufo-outline","ultra-high-definition","umbraco","umbrella","umbrella-closed","umbrella-closed-outline","umbrella-closed-variant","umbrella-outline","undo","undo-variant","unfold-less-horizontal","unfold-less-vertical","unfold-more-horizontal","unfold-more-vertical","ungroup","unicode","unity","unreal","untappd","update","upload","upload-lock","upload-lock-outline","upload-multiple","upload-network","upload-network-outline","upload-off","upload-off-outline","upload-outline","usb","usb-flash-drive","usb-flash-drive-outline","usb-port","valve","valve-closed","valve-open","van-passenger","van-utility","vanish","vanity-light","variable","variable-box","vector-arrange-above","vector-arrange-below","vector-bezier","vector-circle","vector-circle-variant","vector-combine","vector-curve","vector-difference","vector-difference-ab","vector-difference-ba","vector-ellipse","vector-intersection","vector-line","vector-link","vector-point","vector-polygon","vector-polyline","vector-polyline-edit","vector-polyline-minus","vector-polyline-plus","vector-polyline-remove","vector-radius","vector-rectangle","vector-selection","vector-square","vector-triangle","vector-union","vhs","vibrate","vibrate-off","video","video-3d","video-3d-off","video-3d-variant","video-4k-box","video-account","video-box","video-box-off","video-check","video-check-outline","video-image","video-input-antenna","video-input-component","video-input-hdmi","video-input-scart","video-input-svideo","video-minus","video-minus-outline","video-off","video-off-outline","video-outline","video-plus","video-plus-outline","video-stabilization","video-switch","video-switch-outline","video-vintage","video-wireless","video-wireless-outline","view-agenda","view-agenda-outline","view-array","view-carousel","view-column","view-comfy","view-compact","view-compact-outline","view-dashboard","view-dashboard-outline","view-dashboard-variant","view-day","view-grid","view-grid-outline","view-grid-plus","view-grid-plus-outline","view-headline","view-list","view-module","view-parallel","view-quilt","view-sequential","view-split-horizontal","view-split-vertical","view-stream","view-week","vimeo","violin","virtual-reality","virus","virus-outline","vk","vlc","voice-off","voicemail","volleyball","volume-high","volume-low","volume-medium","volume-minus","volume-mute","volume-off","volume-plus","volume-source","volume-variant-off","volume-vibrate","vote","vote-outline","vpn","vuejs","vuetify","walk","wall","wall-sconce","wall-sconce-flat","wall-sconce-flat-variant","wall-sconce-round","wall-sconce-round-variant","wallet","wallet-giftcard","wallet-membership","wallet-outline","wallet-plus","wallet-plus-outline","wallet-travel","wallpaper","wan","wardrobe","wardrobe-outline","warehouse","washing-machine","washing-machine-alert","washing-machine-off","watch","watch-export","watch-export-variant","watch-import","watch-import-variant","watch-variant","watch-vibrate","watch-vibrate-off","water","water-boiler","water-boiler-alert","water-boiler-off","water-off","water-outline","water-percent","water-polo","water-pump","water-pump-off","water-well","water-well-outline","watermark","wave","waves","waze","weather-cloudy","weather-cloudy-alert","weather-cloudy-arrow-right","weather-fog","weather-hail","weather-hazy","weather-hurricane","weather-lightning","weather-lightning-rainy","weather-night","weather-night-partly-cloudy","weather-partly-cloudy","weather-partly-lightning","weather-partly-rainy","weather-partly-snowy","weather-partly-snowy-rainy","weather-pouring","weather-rainy","weather-snowy","weather-snowy-heavy","weather-snowy-rainy","weather-sunny","weather-sunny-alert","weather-sunset","weather-sunset-down","weather-sunset-up","weather-tornado","weather-windy","weather-windy-variant","web","web-box","web-clock","webcam","webhook","webpack","webrtc","wechat","weight","weight-gram","weight-kilogram","weight-lifter","weight-pound","whatsapp","wheelchair-accessibility","whistle","whistle-outline","white-balance-auto","white-balance-incandescent","white-balance-iridescent","white-balance-sunny","widgets","widgets-outline","wifi","wifi-off","wifi-star","wifi-strength-1","wifi-strength-1-alert","wifi-strength-1-lock","wifi-strength-2","wifi-strength-2-alert","wifi-strength-2-lock","wifi-strength-3","wifi-strength-3-alert","wifi-strength-3-lock","wifi-strength-4","wifi-strength-4-alert","wifi-strength-4-lock","wifi-strength-alert-outline","wifi-strength-lock-outline","wifi-strength-off","wifi-strength-off-outline","wifi-strength-outline","wikipedia","wind-turbine","window-close","window-closed","window-closed-variant","window-maximize","window-minimize","window-open","window-open-variant","window-restore","window-shutter","window-shutter-alert","window-shutter-open","wiper","wiper-wash","wordpress","wrap","wrap-disabled","wrench","wrench-outline","xamarin","xamarin-outline","xing","xml","xmpp","y-combinator","yahoo","yeast","yin-yang","yoga","youtube","youtube-gaming","youtube-studio","youtube-subscription","youtube-tv","z-wave","zend","zigbee","zip-box","zip-box-outline","zip-disk","zodiac-aquarius","zodiac-aries","zodiac-cancer","zodiac-capricorn","zodiac-gemini","zodiac-leo","zodiac-libra","zodiac-pisces","zodiac-sagittarius","zodiac-scorpio","zodiac-taurus","zodiac-virgo"] }},vis.binds.materialdesign.progress=function(e,t){try{let a=$(e),o=a.context;a.attr("data-oid");const l=new mdc.linearProgress.MDCLinearProgress(o);setTimeout(function(){function e(){var e=vis.states.attr(t.oid+".val");void 0===e&&(e=t.oid),!0!==e&&"true"!==e||(e=r),!1!==e&&"false"!==e||(e=o);let p=parseFloat(e);isNaN(p)&&(p=o),pr&&(p=r);let g=100,b=r-o,y=g/b;p=Math.floor((p-o)*y),l.progress=p/100;let h=Math.round(e*Math.pow(10,n))/Math.pow(10,n);a.parents(".materialdesign.vis-widget-body").find(".labelValue").html(" "+h+i+" "),h>d&&h<=u?a.find(".mdc-linear-progress__bar-inner").css("border-top-color",c):h>u?a.find(".mdc-linear-progress__bar-inner").css("border-top-color",m):a.find(".mdc-linear-progress__bar-inner").css("border-top-color",s)}var o=myMdwHelper.getValueFromData(t.min,0),r=myMdwHelper.getValueFromData(t.max,1),i=myMdwHelper.getValueFromData(t.valueLabelUnit,""),n=myMdwHelper.getValueFromData(t.valueMaxDecimals,0);l.reverse=t.reverse;var s=myMdwHelper.getValueFromData(t.colorProgress,""),d=myMdwHelper.getValueFromData(t.colorOneCondition,0),c=myMdwHelper.getValueFromData(t.colorOne,""),u=myMdwHelper.getValueFromData(t.colorTwoCondition,0),m=myMdwHelper.getValueFromData(t.colorTwo,"");""===c&&(c=s),""===m&&(m=s),e(),vis.states.bind(t.oid+".val",function(t,a,o){e()})},1)}catch(e){console.error(`[Progress]: error: ${e.message}, stack: ${e.stack}`)}},vis.binds.materialdesign.roundslider=function(e,t){try{let o=$(e),l=o.attr("data-oid-working"),r=vis.binds.materialdesign.helper,i=vis.states.attr(t.oid+".val"),n=myMdwHelper.getNumberFromData(t.min,0),s=myMdwHelper.getValueFromData(t.valueLabelMin,null),d=myMdwHelper.getNumberFromData(t.max,100),c=myMdwHelper.getValueFromData(t.valueLabelMax,null),u=myMdwHelper.getValueFromData(t.valueLabelUnit,""),m=myMdwHelper.getNumberFromData(t.valueLessThan,n),p=myMdwHelper.getValueFromData(t.textForValueLessThan,null),g=myMdwHelper.getNumberFromData(t.valueGreaterThan,d),b=myMdwHelper.getValueFromData(t.textForValueGreaterThan,null),y=0;!0!==t.showValueLabel&&"true"!==t.showValueLabel||(y=t.valueLabelWidth),o.append(`\n \n \n ${t.showValueLabel?``:""}\n `);let h=o.find(".materialdesign-round-slider-element");function a(e=!0,a=0){!1!==vis.states.attr(l+".val")&&"false"!==vis.states.attr(l+".val")&&vis.states.attr(l+".val")||(e&&(a=vis.states.attr(t.oid+".val"),h.attr("value",a)),a<=n&&null!=s?o.find(".labelValue").html(s):a>n&&a<=m&&null!=p?o.find(".labelValue").html(p):a>=g&&a=d&&null!=c?o.find(".labelValue").html(c):o.find(".labelValue").html(`${a} ${u}`))}h.get(0).style.setProperty("--round-slider-path-width",myMdwHelper.getNumberFromData(t.sliderWidth,3)),h.get(0).style.setProperty("background",myMdwHelper.getValueFromData(t.colorSliderBg,"")),h.get(0).style.setProperty("--round-slider-path-color",myMdwHelper.getValueFromData(t.colorAfterThumb,"")),h.get(0).style.setProperty("--round-slider-bar-color",myMdwHelper.getValueFromData(t.colorBeforeThumb,"#44739e")),h.get(0).style.setProperty("--round-slider-handle-color",myMdwHelper.getValueFromData(t.colorThumb,"")),a(),vis.states.bind(t.oid+".val",function(e,t,o){a()}),vis.states.bind(l+".val",function(e,t,o){a()}),h.bind("value-changing",function(e){a(!1,e.target.__value)}),h.bind("value-changed",function(e){let o=parseFloat(e.target.__value);!1!==vis.states.attr(l+".val")&&"false"!==vis.states.attr(l+".val")&&vis.states.attr(l+".val")||(vis.setValue(t.oid,o),a())}),o.find(".materialdesign-round-slider-element").on("touchstart mousedown",function(e){r.vibrate(t.vibrateOnMobilDevices)})}catch(e){console.error(`[Round Slider] error: ${e.message}, stack: ${e.stack}`)}},vis.binds.materialdesign.select=function(e,t){try{let a=$(e),o=vis.binds.materialdesign.vueHelper.select,l="materialdesign-vuetify-select",r=o.generateItemList(t);a.append(`\n
    \n \n \n ${o.getTemplates(t)}\n\n \n
    `),myMdwHelper.waitForElement(a,`.${l}`,t.wid,"Select",function(){myMdwHelper.waitForElement($("body"),"#materialdesign-vuetify-container",t.wid,"Select",function(){let e=$("body").find("#materialdesign-vuetify-container"),i=window.getComputedStyle(a.context,null).height.replace("px",""),n=new Vue({el:a.find(`.${l}`).get(0),vuetify:new Vuetify,data:()=>o.getData(t,i,r),methods:o.getMethods(t,a,r,e)});o.setStyles(a,t),o.setIoBrokerBinding(t,n,r)})})}catch(e){console.error(`[Vuetify Select]: error: ${e.message}, stack: ${e.stack} `)}},vis.binds.materialdesign.slider={vuetifySlider:function(e,t){try{let a=$(e),o=a.attr("data-oid-working"),l="#44739e",r=myMdwHelper.getValueFromData(t.min,0),i=myMdwHelper.getValueFromData(t.valueLabelMin,null),n=myMdwHelper.getValueFromData(t.max,100),s=myMdwHelper.getValueFromData(t.valueLabelMax,null),d=myMdwHelper.getValueFromData(t.valueLabelUnit,""),c=myMdwHelper.getValueFromData(t.valueLessThan,r),u=myMdwHelper.getValueFromData(t.textForValueLessThan,null),m=myMdwHelper.getValueFromData(t.valueGreaterThan,n),p=myMdwHelper.getValueFromData(t.textForValueGreaterThan,null);a.append(`\n
    \n
    \n \n \n ${t.showValueLabel?`0`:""}\n
    \n
    `);let g=!1;"yes"===myMdwHelper.getValueFromData(t.showTicks,"no")&&(g=!0),"always"===myMdwHelper.getValueFromData(t.showTicks,"no")&&(g="always");let b=!1;"yes"===myMdwHelper.getValueFromData(t.showThumbLabel,"no")&&(b=!0),"always"===myMdwHelper.getValueFromData(t.showThumbLabel,"no")&&(b="always"),myMdwHelper.waitForElement(a,".materialdesign-vuetifySlider",t.wid,"Slider",function(){myMdwHelper.waitForElement($("body"),"#materialdesign-vuetify-container",t.wid,"Slider",function(){function e(e=!0,l=0){!1!==vis.states.attr(o+".val")&&"false"!==vis.states.attr(o+".val")&&vis.states.attr(o+".val")||(e&&(l=vis.states.attr(t.oid+".val"),y.value=l),l<=r&&null!=i?(a.find(".slider-value").html(i),t.useLabelRules&&a.find(".v-slider__thumb-label").find("span").html(i)):l>r&&l<=c&&null!=u?(a.find(".slider-value").html(u),t.useLabelRules&&a.find(".v-slider__thumb-label").find("span").html(u)):l>=m&&l=n&&null!=s?(a.find(".slider-value").html(s),t.useLabelRules&&a.find(".v-slider__thumb-label").find("span").html(s)):(a.find(".slider-value").html(`${l} ${d}`),t.useLabelRules&&a.find(".v-slider__thumb-label").find("span").html(`${l} ${d}`)))}let y=new Vue({el:a.find(".materialdesign-vuetifySlider").get(0),vuetify:new Vuetify({rtl:t.reverseSlider}),data:()=>({value:vis.states.attr(t.oid+".val"),vertical:"horizontal"!==myMdwHelper.getValueFromData(t.orientation,"horizontal"),min:r,max:n,step:myMdwHelper.getNumberFromData(t.step,1),ticks:g,tickSize:myMdwHelper.getNumberFromData(t.tickSize,1),tickLabels:null!==myMdwHelper.getValueFromData(t.tickLabels,null)?t.tickLabels.split(","):[],thumbLabel:b,thumbSize:myMdwHelper.getNumberFromData(t.thumbSize,32),loaderHeight:"30px",trackFillColor:myMdwHelper.getValueFromData(t.colorBeforeThumb,l),thumbColor:myMdwHelper.getValueFromData(t.colorThumb,l),trackColor:myMdwHelper.getValueFromData(t.colorAfterThumb,"rgba(161, 161, 161, 0.26)")}),mounted:function(){},methods:{changeEvent(a){!1!==vis.states.attr(o+".val")&&"false"!==vis.states.attr(o+".val")&&vis.states.attr(o+".val")||vis.setValue(t.oid,a),e()},inputEvent(t){e(!1,t)}}});if(a.find(".materialdesign-vuetifySlider").on("touchstart mousedown",function(){myMdwHelper.vibrate(t.vibrateOnMobilDevices)}),"vertical"===myMdwHelper.getValueFromData(t.orientation,"horizontal")){let e=window.getComputedStyle(a.context,null).height.replace("px",""),t=a.find(".v-slider--vertical");e=e-t.css("margin-top").replace("px","")-t.css("margin-bottom").replace("px",""),t.css("height",e+"px")}a.context.style.setProperty("--vue-slider-thumb-label-font-color",myMdwHelper.getValueFromData(t.thumbFontColor,"")),a.context.style.setProperty("--vue-slider-thumb-label-font-family",myMdwHelper.getValueFromData(t.thumbFontFamily,"")),a.context.style.setProperty("--vue-slider-thumb-label-font-size",myMdwHelper.getValueFromData(t.thumbFontSize,"12","","px")),a.find(".v-slider__thumb-label").css("background-color",myMdwHelper.getValueFromData(t.thumbBackgroundColor,myMdwHelper.getValueFromData(t.colorThumb,l))),a.context.style.setProperty("--vue-slider-tick-before-color",myMdwHelper.getValueFromData(t.tickColorBefore,"")),a.context.style.setProperty("--vue-slider-tick-after-color",myMdwHelper.getValueFromData(t.tickColorAfter,"")),a.context.style.setProperty("--vue-text-field-label-before-color",myMdwHelper.getValueFromData(t.prepandTextColor,"")),a.context.style.setProperty("--vue-text-field-label-font-family",myMdwHelper.getValueFromData(t.prepandTextFontFamily,"")),a.context.style.setProperty("--vue-text-field-label-font-size",myMdwHelper.getNumberFromData(t.prepandTextFontSize,"16")+"px"),a.context.style.setProperty("--vue-text-field-label-width",myMdwHelper.getStringFromNumberData(t.prepandTextWidth,"inherit","","px")),a.find(".v-slider__thumb-container").css("height","0px"),"knobMedium"===t.knobSize&&a.find(".v-slider__thumb").addClass("medium-size"),"knobBig"===t.knobSize&&a.find(".v-slider__thumb").addClass("big-size"),e(),vis.states.bind(t.oid+".val",function(t,a,o){e()}),vis.states.bind(o+".val",function(t,a,o){e()})})})}catch(e){console.error(`[Vuetify Slider]: error: ${e.message}, stack: ${e.stack}`)}}},vis.binds.materialdesign.switch=function(e,t){try{var a=$(e),o=a.data("oid");let r=a.find(".mdc-switch").get(0);const i=new mdc.formField.MDCFormField(a.context),n=new mdc.switchControl.MDCSwitch(r);function l(){var e=vis.states.attr(o+".val");let l=!1;"boolean"===t.toggleType?l=e:e===parseInt(t.valueOn)||e===t.valueOn?l=!0:e!==parseInt(t.valueOn)&&e!==t.valueOn&&e!==parseInt(t.valueOff)&&e!==t.valueOff&&"on"===t.stateIfNotTrueValue&&(l=!0),n.checked=l;let r=a.find('label[id="label"]');l?(r.css("color",myMdwHelper.getValueFromData(t.labelColorTrue,"")),r.text(myMdwHelper.getValueFromData(t.labelTrue,""))):(r.css("color",myMdwHelper.getValueFromData(t.labelColorFalse,"")),r.text(myMdwHelper.getValueFromData(t.labelFalse,"")))}i.input=n,n.disabled=t.readOnly,r.style.setProperty("--materialdesign-color-switch-on",myMdwHelper.getValueFromData(t.colorSwitchTrue,"")),r.style.setProperty("--materialdesign-color-switch-off",myMdwHelper.getValueFromData(t.colorSwitchThumb,"")),r.style.setProperty("--materialdesign-color-switch-track",myMdwHelper.getValueFromData(t.colorSwitchTrack,"")),r.style.setProperty("--materialdesign-color-switch-off-hover",myMdwHelper.getValueFromData(t.colorSwitchHover,"")),l(),vis.editMode||a.find(".mdc-switch").click(function(){vis.binds.materialdesign.helper.vibrate(t.vibrateOnMobilDevices),"boolean"===t.toggleType?vis.setValue(t.oid,n.checked):!0==!n.checked?vis.setValue(t.oid,t.valueOff):vis.setValue(t.oid,t.valueOn),l()}),vis.states.bind(o+".val",function(e,t,a){l()})}catch(e){console.error(`[Switch]: error: ${e.message}, stack: ${e.stack}`)}},vis.binds.materialdesign.table={initialize:function(e){try{let a=[],o=myMdwHelper.getFontSize(e.headerTextSize),l="";if("card"===e.tableLayout?l="materialdesign-list-card":"cardOutlined"===e.tableLayout&&(l="materialdesign-list-card materialdesign-list-card--outlined"),a.push(`
    \n `),a.push(`\n `),e.showHeader)for(var t=0;t<=e.countCols;t++)e.attr("showColumn"+t)&&a.push(``);return a.push("\n "),a.push(''),null!==myMdwHelper.getValueFromData(e.oid,null)?a.push(vis.binds.materialdesign.table.getContentElements(vis.states.attr(e.oid+".val"),e)):a.push(vis.binds.materialdesign.table.getContentElements(e.dataJson,e)),a.push(""),a.push("
    \n ${myMdwHelper.getValueFromData(e.attr("label"+t),"col "+t)}\n
    \n
    "),a.join("")}catch(e){console.error(`[Table] initialize: error: ${e.message}, stack: ${e.stack}`)}},handle:function(e,t){try{setTimeout(function(){let a=$(e),o=a.find(".mdc-data-table").get(0);o.style.setProperty("--materialdesign-color-table-background",myMdwHelper.getValueFromData(t.colorBackground,"")),o.style.setProperty("--materialdesign-color-table-border",myMdwHelper.getValueFromData(t.borderColor,"")),o.style.setProperty("--materialdesign-color-table-header-row-background",myMdwHelper.getValueFromData(t.colorHeaderRowBackground,"")),o.style.setProperty("--materialdesign-color-table-header-row-text-color",myMdwHelper.getValueFromData(t.colorHeaderRowText,"")),o.style.setProperty("--materialdesign-color-table-row-background",myMdwHelper.getValueFromData(t.colorRowBackground,"")),o.style.setProperty("--materialdesign-color-table-row-text-color",myMdwHelper.getValueFromData(t.colorRowText,"")),o.style.setProperty("--materialdesign-color-table-row-divider",myMdwHelper.getValueFromData(t.dividers,""));new mdc.dataTable.MDCDataTable(o);vis.states.bind(t.oid+".val",function(e,o,l){a.find(".mdc-data-table__content").empty(),a.find(".mdc-data-table__content").append(vis.binds.materialdesign.table.getContentElements(o,t))}),a.find(".mdc-data-table__header-cell").click(function(e){function o(e,t,a){return e.sort(function(e,o){var l=e[t],r=o[t];return a?lr?1:0:l>r?-1:l`),a[l]){let e=Object.keys(a[l]).length-1>t.countCols?t.countCols:Object.keys(a[l]).length-1;for(var r=0;r<=e;r++)if(t.attr("showColumn"+r)){let e=myMdwHelper.getFontSize(t.attr("colTextSize"+r));o.push(i(r,Object.values(a[l])[r],e,a[l]))}}o.push("")}function i(e,a,o,l=null){let r=myMdwHelper.getValueFromData(t.attr("prefix"+e),""),i=myMdwHelper.getValueFromData(t.attr("suffix"+e),"");if(null!=l){function n(e,t){let a=e.match(/(#\[obj\..*?\])/g);if(a&&a.length>0)for(var o=0;o<=a.length-1;o++){let l=a[o].replace("#[obj.","").replace("]","");e=l&&t[l]?e.replace(a[o],t[l]):e.replace(a[o],"")}return e}""!==r&&(r=n(r,l)),""!==i&&(i=n(i,l))}return"image"===t.attr("colType"+e)&&(a=``),`\n ${r}${a}${i}\n `}return o.join("")}},getJsonData:function(e,t){let a=[];if(e&&"string"==typeof e)try{a=JSON.parse(e)}catch(t){console.error(`input: ${e}, error: ${t.message}`)}else if(a=e,!Array.isArray(a)){a=Object.keys(a).map(function(e){return a[e]});let e=[];for(var o=0;o<=Object.keys(a).length-1;o++)a[o]._data&&e.push(a[o]._data);a=e}return a}},vis.binds.materialdesign.textfield=function(e,t){try{let o=$(e),l=vis.binds.materialdesign.vueHelper.input,r="materialdesign-vuetify-textField",i="TextField",n=myMdwHelper.getValueFromData(t.inputType,"text"),s="",d="";function a(){myMdwHelper.waitForElement(o,`.${r}`,t.wid,"TextField",function(){myMdwHelper.waitForElement($("body"),"#materialdesign-vuetify-container",t.wid,"TextField",function(){let e=window.getComputedStyle(o.context,null).height.replace("px","");Vue.use(VueTheMask);let a=new Vue({el:o.find(`.${r}`).get(0),vuetify:new Vuetify,data(){let a=l.getData(t,e,d);return a.value=vis.states.attr(t.oid+".val"),a.type=n,a.maxlength=myMdwHelper.getNumberFromData(t.inputMaxLength,""),a.appendIcon=myMdwHelper.getAllowedImageFileExtensions().some(e=>myMdwHelper.getValueFromData(t.appendIcon,"").includes(e))?void 0:myMdwHelper.getValueFromData(t.appendIcon,void 0,"mdi-"),a.appendImage=myMdwHelper.getAllowedImageFileExtensions().some(e=>myMdwHelper.getValueFromData(t.appendIcon,"").includes(e))?myMdwHelper.getValueFromData(t.appendIcon,void 0):void 0,a},methods:{changeEvent(e){"number"!==n?vis.setValue(t.oid,e):e?vis.setValue(t.oid,e):this.value=vis.states.attr(t.oid+".val")}}});l.setStyles(o,t),o.context.style.setProperty("--vue-text-icon-append-size",myMdwHelper.getNumberFromData(t.appendIconSize,16)+"px"),o.context.style.setProperty("--vue-text-icon-append-color",myMdwHelper.getValueFromData(t.appendIconColor,"")),vis.states.bind(t.oid+".val",function(e,t,o){a.value=t})})})}"mask"===n&&(n="text",s=`v-mask="'${myMdwHelper.getValueFromData(t.inputMask,"")}'"`,d=myMdwHelper.getValueFromData(t.inputMask,"")),o.append(`\n
    \n \n ${l.getTemplates(t)}\n\n ${null!==myMdwHelper.getValueFromData(t.appendIcon,null)?'':""} \n\n \n
    `),myMdwHelper.oidNeedSubscribe(t.oid,t.wid,i,!1)?myMdwHelper.subscribeStatesAtRuntime(t.wid,i,function(){a()}):a()}catch(e){console.error(`[Vuetify TextField]: error: ${e.message}, stack: ${e.stack} `)}},vis.binds.materialdesign.topappbarnav={initializeTopAppBar:function(e){try{let t="",a=myMdwHelper.getValueFromData(e.topAppBarZ_index,"","z-index: ",";"),o=`style="${a}"`,l="",r="";return"standard"===e.topAppBarLayout?r="mdc-top-app-bar--fixed-adjust":"dense"===e.topAppBarLayout?(t="mdc-top-app-bar--dense",r="mdc-top-app-bar--dense-fixed-adjust"):"short"===e.topAppBarLayout&&(t="mdc-top-app-bar--short mdc-top-app-bar--short-collapsed",r="mdc-top-app-bar--short-fixed-adjust"),"modal"===e.drawerLayout&&(l=``),{headerLayout:t,headerStyle:o,contentLayout:r,headerButtonShow:l}}catch(t){console.error(`initializeTopAppBar [${e.wid}]: error:: ${t.message}, stack: ${t.stack}`)}},initializeDrawer:function(e){try{let l=[],r=[],i="",n="",s="",d="";return t(),a(),o(),{viewsList:l,drawerItemList:r.join(""),drawerHeader:i,drawerLayout:n,drawerStyle:s,drawerModalScrim:d};function t(){let t=myMdwHelper.getValueFromData(e.drawerWidth,"","width: ","px;"),a="",o="";void 0!==e.z_index&&null!==e.z_index&&""!==e.z_index&&(a=`z-index: ${e.z_index};`,o=`z-index: ${e.z_index-1};`),"modal"===e.drawerLayout?(n="mdc-drawer--modal",d=`
    `):n="mdc-drawer--dismissible mdc-drawer--open",s=`style="${t}${a}"`}function a(){!0!==e.attr("showHeader")&&"true"!==e.attr("showHeader")||(i=`
    \n ${e.headerLabel}\n
    `)}function o(){let t=myMdwHelper.getFontSize(e.listItemHeaderTextSize),a=myMdwHelper.getValueFromData(e.drawerIconHeight,"","height: ","px !important;"),o=myMdwHelper.getValueFromData(e.drawerSubItemIconHeight,a,"height: ","px !important;"),l=myMdwHelper.getFontSize(e.listItemTextSize),i=myMdwHelper.getFontSize(e.listSubItemTextSize),n=e.showLabels?"":"display: none;",s=e.showSubItemsLabels?"":"display: none;",d=myMdwHelper.getValueFromData(e.backdropLabelBackgroundHeight,"height: auto;","height: ","%;"),c=myMdwHelper.getValueFromData(e.backdropSubLabelBackgroundHeight,d,"height: ","%;"),u=0;for(var m=0;m<=e.navItemCount;m++){let g=myMdwHelper.getValueFromData(e.attr("headers"+m),null),b=myMdwHelper.getValueFromData(e.attr("labels"+m),"Menu Item"),y=myMdwHelper.getValueFromData(e.attr("iconDrawer"+m),""),h=myMdwHelper.getNumberFromData(e.attr("submenuCounts_"+m),0),f=!1,w="",v="";if(h>0){f=!0;let t=myMdwHelper.getValueFromData(e.attr("labels"+m),null);if(null===t)b="Menu Item";else try{w=JSON.parse(t),b=w.itemText}catch(e){w="",b="Error: wrong format!"}let a=myMdwHelper.getValueFromData(e.attr("iconDrawer"+m),null);if(null!==a)try{v=JSON.parse(a),y=v.itemImage}catch(e){v=""}}let x=myMdwHelper.getListItemHeader(g,t);r.push(x);let k=myMdwHelper.getListItem(e.drawerItemLayout,u,y,f,!1,a),F="";"standard"===e.drawerItemLayout&&(F=myMdwHelper.getListIcon(y,"auto",myMdwHelper.getValueFromData(e.drawerIconHeight,"","","px !important;"),e.attr("iconDrawerColor"+m))),e.showIndexNum&&(b=`[${u}] ${b}`);let M=myMdwHelper.getListItemLabel(e.drawerItemLayout,u,b,f,l,n,e.colorSubItemToggleIcon,d,!1,e.listItemAlignment);if(r.push(`${k}${F}${M}`),f){r.push('")}r.push(myMdwHelper.getListItemDivider(e.attr("dividers"+m),e.listItemDividerStyle)),u++}}}catch(t){console.error(`initializeDrawer [${e.wid}]: error:: ${t.message}, stack: ${t.stack}`)}},handler:function(e,t){try{let r=$(e),i=r.parent().parent().get(0),n=r.context,s=r.parent().find(".mdc-top-app-bar").get(0),d=r.parent().find(".mdc-list").get(0);myMdwHelper.waitForElement(r.parent().parent(),".mdc-top-app-bar__navigation-icon",t.wid,"TopAppBar",function(){if(r.parent().parent().css("left","0px"),r.parent().parent().css("top","0px"),r.parent().parent().css("z-index",""),"modal"===t.drawerLayout){let e=window.getComputedStyle(i,null).width;"short"!==t.topAppBarLayout?r.parent().find(".mdc-top-app-bar").css("width",e):vis.editMode&&r.parent().find(".mdc-top-app-bar").css("position","relative")}else{let e=window.getComputedStyle(i,null).width,a=window.getComputedStyle(n,null).width,o=e.replace("px","")-a.replace("px","");"short"!==t.topAppBarLayout?r.parent().find(".mdc-top-app-bar").css("width",o):vis.editMode?r.parent().find(".mdc-top-app-bar").css("position","relative"):r.parent().find(".mdc-top-app-bar").css("left",a),r.parent().find(".drawer-frame-app-content").css("left",a)}});let c=myMdwHelper.getValueFromData(t.colorDrawerBackground,"");n.style.setProperty("--materialdesign-color-drawer-background",c),d.style.setProperty("--materialdesign-color-drawer-sub-background",myMdwHelper.getValueFromData(t.colorDrawerSubBackground,c));let u=myMdwHelper.getValueFromData(t.colorDrawerItemBackground,c);d.style.setProperty("--materialdesign-color-list-item-background",u),d.style.setProperty("--materialdesign-color-sub-list-item-background",myMdwHelper.getValueFromData(t.colorDrawerSubItemBackground,u));let m=myMdwHelper.getValueFromData(t.colorListItemSelected,"");d.style.setProperty("--materialdesign-color-list-item-selected",m),d.style.setProperty("--materialdesign-color-sub-list-item-selected",myMdwHelper.getValueFromData(t.colorListSubItemSelected,m));let p=myMdwHelper.getValueFromData(t.colorListItemHover,"");d.style.setProperty("--materialdesign-color-list-item-hover",p),d.style.setProperty("--materialdesign-color-sub-list-item-hover",myMdwHelper.getValueFromData(t.colorListSubItemHover,p));let g=myMdwHelper.getValueFromData(t.colorListItemText,"");d.style.setProperty("--materialdesign-color-list-item-text",g),d.style.setProperty("--materialdesign-color-sub-list-item-text",myMdwHelper.getValueFromData(t.colorListSubItemText,g));let b=myMdwHelper.getValueFromData(t.colorListItemTextSelected,"");d.style.setProperty("--materialdesign-color-list-item-text-activated",b),d.style.setProperty("--materialdesign-color-sub-list-item-text-activated",myMdwHelper.getValueFromData(t.colorListSubItemTextSelected,b)),d.style.setProperty("--materialdesign-color-list-item-header",myMdwHelper.getValueFromData(t.colorListItemHeaders,"")),d.style.setProperty("--materialdesign-color-list-item-divider",myMdwHelper.getValueFromData(t.colorListItemDivider,""));let y=myMdwHelper.getValueFromData(t.colorDrawerbackdropLabelBackground,"");d.style.setProperty("--materialdesign-color-list-item-backdrop",y),d.style.setProperty("--materialdesign-color-sub-list-item-backdrop",myMdwHelper.getValueFromData(t.colorDrawerbackdropSubLabelBackground,y));let h=myMdwHelper.getValueFromData(t.colorDrawerbackdropLabelBackgroundActive,"");d.style.setProperty("--materialdesign-color-list-item-backdrop-activated",h),d.style.setProperty("--materialdesign-color-sub-list-item-backdrop-activated",myMdwHelper.getValueFromData(t.colorDrawerbackdropSubLabelBackgroundActive,h)), s.style.setProperty("--mdc-theme-primary",myMdwHelper.getValueFromData(t.colorTopAppBarBackground,""));const f=new mdc.drawer.MDCDrawer(n),w=new mdc.topAppBar.MDCTopAppBar(s),v=new mdc.list.MDCList(d);v.listElements.map(e=>new mdc.ripple.MDCRipple(e));w.setScrollTarget(r.parent().find(".mdc-top-app-bar-content").get(0)),w.listen("MDCTopAppBar:nav",()=>{if(vis.binds.materialdesign.helper.vibrate(t.vibrateTopAppBarOnMobilDevices),"dismissible"===t.drawerLayout)if(f.open){let e=window.getComputedStyle(i,null).width;window.getComputedStyle(n,null).width;"short"!==t.topAppBarLayout?r.parent().find(".mdc-top-app-bar").css("width",e):vis.editMode||r.parent().find(".mdc-top-app-bar").css("left","0px"),r.parent().find(".drawer-frame-app-content").css("left","0px"),f.open=!f.open}else{let e=window.getComputedStyle(i,null).width,a=window.getComputedStyle(n,null).width,o=e.replace("px","")-a.replace("px","");f.open=!f.open,setTimeout(function(){"short"!==t.topAppBarLayout?r.parent().find(".mdc-top-app-bar").css("width",o):vis.editMode||r.parent().find(".mdc-top-app-bar").css("left",a),r.parent().find(".drawer-frame-app-content").css("left",a)},250)}else f.open=!f.open});var a=vis.states.attr(t.oid+".val");function o(){if(t.showSelectedItemAsTitle){let e=r.parent().find(`span[id="listItem_${v.selectedIndex}"]`).text();r.parent().find(".mdc-top-app-bar__title").text(e)}}function l(e){let t=r.find(`.mdc-list-item[id="listItem_${e}"]`);if(t.hasClass("isSubItem")){let e=t.parent().prev(".hasSubItems");e.hasClass("toggled")||(e.addClass("toggled"),e.find(".toggleIcon").removeClass("mdi-menu-down"),e.find(".toggleIcon").addClass("mdi-menu-up"),e.next("nav.mdc-sub-list").toggle())}}l(a),v.selectedIndex=a,o(),vis.states.bind(t.oid+".val",function(e,t,a){l(t),v.selectedIndex=t,o()}),r.find(".mdc-list-item").click(function(){let e=parseInt($(this).eq(0).attr("id").replace("listItem_",""));vis.binds.materialdesign.helper.vibrate(t.vibrateDrawerOnMobilDevices),$(this).hasClass("hasSubItems")?($(this).hasClass("toggled")?($(this).removeClass("toggled"),$(this).find(".toggleIcon").removeClass("mdi-menu-up"),$(this).find(".toggleIcon").addClass("mdi-menu-down")):($(this).addClass("toggled"),$(this).find(".toggleIcon").removeClass("mdi-menu-down"),$(this).find(".toggleIcon").addClass("mdi-menu-up")),$(this).next("nav.mdc-sub-list").toggle(),v.selectedIndex=e):(a=vis.states.attr(t.oid+".val"),a!=e&&(vis.setValue(t.oid,e),o(),setTimeout(function(){window.scrollTo({top:0,left:0})},50)),"modal"===t.drawerLayout&&(f.open=!1))})}catch(e){console.error(`[Top App Bar Navigation Drawer]: error:: ${e.message}, stack: ${e.stack}`)}}},vis.binds.materialdesign.views={masonry:function(e,t){try{let r=$(e),i="Masonry",n=[],s=!1;for(var a=0;a<=t.countViews;a++){let e=myMdwHelper.getValueFromData(t.attr("viewsWidth"+a),"");e=""!==e&&(e.endsWith("%")||e.endsWith("px")||e.includes("calc"))?`width: ${e};`:isNaN(e)||""===e?"":`width: ${e}px;`;let o=myMdwHelper.getValueFromData(t.attr("viewAlignment"+a),"center");"left"===o&&(o="flex-start"),"right"===o&&(o="flex-end"),n.push(`\n
    \n ${vis.editMode?`
    `:""}\n
    \n
    \n
    \n `),s=myMdwHelper.oidNeedSubscribe(t.attr("visibilityOid"+a),t.wid,i,s),vis.states.bind(t.attr("visibilityOid"+a)+".val",function(e,t,a){let o=r.find('.materialdesign-masonry-item[visibilityOid="'+e.type.substr(0,e.type.lastIndexOf("."))+'"]');o.each(function(e){let a=o.eq(e).attr("itemindex");l(a,t)})})}let d=`\n
    \n
    \n
    \n
    ${_("Resolution assistant")}
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n `;function o(){myMdwHelper.waitForElement(r,"#masonry_item_0",t.wid,"Masonry",function(){myMdwHelper.waitForRealWidth(r.context,t.wid,"Masonry",function(){function e(){t.showResolutionAssistant&&r.find(".masonry-helper-resolution-width").text(o+" px"),o<=s?(r.context.style.setProperty("--materialdesign-masonry-column-count",d),r.context.style.setProperty("--materialdesign-masonry-gaps",c+"px"),t.showResolutionAssistant&&(r.find(".masonry-helper-columns").text(d),r.find(".masonry-helper-gaps").text(c+" px"),r.find(".masonry-helper-rule").text(_("mobil phone")+" "+_("portrait")))):o>s&&o<=u?(r.context.style.setProperty("--materialdesign-masonry-column-count",m),r.context.style.setProperty("--materialdesign-masonry-gaps",p+"px"),t.showResolutionAssistant&&(r.find(".masonry-helper-columns").text(m),r.find(".masonry-helper-gaps").text(p+" px"),r.find(".masonry-helper-rule").text(_("mobil phone")+" "+_("landscape")))):o>u&&o<=g?(r.context.style.setProperty("--materialdesign-masonry-column-count",b),r.context.style.setProperty("--materialdesign-masonry-gaps",y+"px"),t.showResolutionAssistant&&(r.find(".masonry-helper-columns").text(b),r.find(".masonry-helper-gaps").text(y+" px"),r.find(".masonry-helper-rule").text(_("tablet")+" "+_("portrait")))):o>g&&o<=h?(r.context.style.setProperty("--materialdesign-masonry-column-count",f),r.context.style.setProperty("--materialdesign-masonry-gaps",w+"px"),t.showResolutionAssistant&&(r.find(".masonry-helper-columns").text(f),r.find(".masonry-helper-gaps").text(w+" px"),r.find(".masonry-helper-rule").text(_("tablet")+" "+_("landscape")))):o>h&&(r.context.style.setProperty("--materialdesign-masonry-column-count",i),r.context.style.setProperty("--materialdesign-masonry-gaps",n+"px"),t.showResolutionAssistant&&(r.find(".masonry-helper-columns").text(i),r.find(".masonry-helper-gaps").text(n+" px"),r.find(".masonry-helper-rule").text("-")))}function a(){for(var e=0;e<=t.countViews;e++){let a=myMdwHelper.getNumberFromData(t.attr("visibleResolutionLessThan"+e),5e4),l=myMdwHelper.getNumberFromData(t.attr("visibleResolutionGreaterThan"+e),0);o=l&&o<=a?r.find(`#masonry_item_${e}`).show():o>a?r.find(`#masonry_item_${e}`).hide():r.find(`#masonry_item_${e}`).show()}}var o=r.width();myMdwHelper.calcChecker(getComputedStyle(r.context).width,t.wid,"Masonry"),$(window).resize(function(){var t=r.width();o!==t&&(o=t,e(),a(),l())});let i=myMdwHelper.getNumberFromData(t.countCols,3),n=myMdwHelper.getNumberFromData(t.desktopGaps,0),s=myMdwHelper.getNumberFromData(t.handyPortraitWidth,360),d=myMdwHelper.getNumberFromData(t.handyPortraitCols,1),c=myMdwHelper.getNumberFromData(t.handyPortraitGaps,n),u=myMdwHelper.getNumberFromData(t.handyLandscapeWidth,672),m=myMdwHelper.getNumberFromData(t.handyLandscapeCols,2),p=myMdwHelper.getNumberFromData(t.handyLandscapeGaps,n),g=myMdwHelper.getNumberFromData(t.tabletPortraitWidth,768),b=myMdwHelper.getNumberFromData(t.tabletPortraitCols,2),y=myMdwHelper.getNumberFromData(t.tabletPortraitGaps,n),h=myMdwHelper.getNumberFromData(t.tabletLandscapeWidth,1024),f=myMdwHelper.getNumberFromData(t.tabletLandscapeCols,3),w=myMdwHelper.getNumberFromData(t.tabletLandscapeGaps,n);e(),a(),l()})})}function l(){for(var e=0;e<=t.countViews;e++){let a=vis.states.attr(t.attr("visibilityOid"+e)+".val"),o=myMdwHelper.getVisibility(a,"visibilityOid"+e,t.attr("visibilityCondition"+e),t.attr("visibilityConditionValue"+e));o?r.find(`#masonry_item_${e}`).hide():r.find(`#masonry_item_${e}`).show()}}n.sort(function(e,t){let a=parseInt($(e).attr("sortOrder")),o=parseInt($(t).attr("sortOrder"));return a==o?0:+(a>o)||-1}),r.append(`\n
    \n ${t.showResolutionAssistant?d:""}\n ${n.join("")}\n
    \n `),s?myMdwHelper.subscribeStatesAtRuntime(t.wid,i,function(){o()}):o()}catch(e){console.error(`[Masonry Views ${t.wid}] error: ${e.message}, stack: ${e.stack}`)}},grid:function(e,t){try{let r=$(e),i="Grid",n=[],s=!1,d="materialdesign-grid";for(var a=0;a<=t.countViews;a++){let e=myMdwHelper.getNumberFromData(t.attr("viewColSpan"+a),myMdwHelper.getNumberFromData(t.viewColSpan,6));e>12&&(e=12);let o=myMdwHelper.getValueFromData(t.attr("View"+a),void 0);n.push(`\n \n `),s=myMdwHelper.oidNeedSubscribe(t.attr("visibilityOid"+a),t.wid,i,s),vis.states.bind(t.attr("visibilityOid"+a)+".val",function(e,t,a){let o=r.find('.col[visibilityOid="'+e.type.substr(0,e.type.lastIndexOf("."))+'"]');o.each(function(e){let a=o.eq(e).attr("itemindex");l(a,t)})})}let c=`\n
    \n
    \n
    \n
    ${_("Resolution assistant")}
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n `;function o(){myMdwHelper.waitForElement(r,"#grid-item0",t.wid,"Grid ",function(){myMdwHelper.waitForRealWidth(r.context,t.wid,"Grid",function(){function e(){if(t.showResolutionAssistant&&r.find(".grid-helper-resolution-width").text(o+" px"),o<=n){r.context.style.setProperty("--materialdesign-grid-gaps",s+"px"),t.showResolutionAssistant&&(r.find(".grid-helper-gaps").text(s+" px"),r.find(".grid-helper-rule").text(_("mobil phone")+" "+_("portrait")),r.find("#resAssistent").removeClass().addClass("col col-12"));for(var e=0;e<=t.countViews;e++){let a=myMdwHelper.getNumberFromData(t.attr("handyGridPortraitColSpan"+e),myMdwHelper.getNumberFromData(t.handyGridPortraitColSpan,12));a>12&&(a=12),r.find(`#grid-item${e}`).removeClass().addClass(`col col-${a}`)}}else if(o>n&&o<=d){r.context.style.setProperty("--materialdesign-grid-gaps",c+"px"),t.showResolutionAssistant&&(r.find(".grid-helper-gaps").text(c+" px"),r.find(".grid-helper-rule").text(_("mobil phone")+" "+_("landscape")),r.find("#resAssistent").removeClass().addClass("col col-12"));for(e=0;e<=t.countViews;e++){let a=myMdwHelper.getNumberFromData(t.attr("handyGridLandscapeColSpan"+e),myMdwHelper.getNumberFromData(t.handyGridLandscapeColSpan,6));a>12&&(a=12),r.find(`#grid-item${e}`).removeClass().addClass(`col col-${a}`)}}else if(o>d&&o<=u){r.context.style.setProperty("--materialdesign-grid-gaps",m+"px"),t.showResolutionAssistant&&(r.find(".grid-helper-gaps").text(m+" px"),r.find(".grid-helper-rule").text(_("tablet")+" "+_("portrait")),r.find("#resAssistent").removeClass().addClass("col col-12"));for(e=0;e<=t.countViews;e++){let a=myMdwHelper.getNumberFromData(t.attr("tabletGridPortraitColSpan"+e),myMdwHelper.getNumberFromData(t.tabletGridPortraitColSpan,4));a>12&&(a=12),r.find(`#grid-item${e}`).removeClass().addClass(`col col-${a}`)}}else if(o>u&&o<=p){r.context.style.setProperty("--materialdesign-grid-gaps",g+"px"),t.showResolutionAssistant&&(r.find(".grid-helper-gaps").text(g+" px"),r.find(".grid-helper-rule").text(_("tablet")+" "+_("landscape")),r.find("#resAssistent").removeClass().addClass("col col-12"));for(e=0;e<=t.countViews;e++){let a=myMdwHelper.getNumberFromData(t.attr("tabletGridLandscapeColSpan"+e),myMdwHelper.getNumberFromData(t.tabletGridLandscapeColSpan,3));a>12&&(a=12),r.find(`#grid-item${e}`).removeClass().addClass(`col col-${a}`)}}else if(o>p){r.context.style.setProperty("--materialdesign-grid-gaps",i+"px"),t.showResolutionAssistant&&(r.find(".grid-helper-gaps").text(i+" px"),r.find(".grid-helper-rule").text("-"),r.find("#resAssistent").removeClass().addClass("col col-12"));for(e=0;e<=t.countViews;e++){let a=myMdwHelper.getNumberFromData(t.attr("viewColSpan"+e),myMdwHelper.getNumberFromData(t.viewColSpan,3));a>12&&(a=12),r.find(`#grid-item${e}`).removeClass().addClass(`col col-${a}`)}}}function a(){for(var e=0;e<=t.countViews;e++){let a=myMdwHelper.getNumberFromData(t.attr("visibleResolutionLessThan"+e),5e4),l=myMdwHelper.getNumberFromData(t.attr("visibleResolutionGreaterThan"+e),0);o=l&&o<=a?r.find(`#grid-item${e}`).show():o>a?r.find(`#grid-item${e}`).hide():r.find(`#grid-item${e}`).show()}}var o=r.width();myMdwHelper.calcChecker(getComputedStyle(r.context).width,t.wid,"Grid"),$(window).resize(function(){var t=r.width();o!==t&&(o=t,e(),a(),l())});let i=myMdwHelper.getNumberFromData(t.desktopGaps,0),n=myMdwHelper.getNumberFromData(t.handyPortraitWidth,360),s=myMdwHelper.getNumberFromData(t.handyPortraitGaps,i),d=myMdwHelper.getNumberFromData(t.handyLandscapeWidth,672),c=myMdwHelper.getNumberFromData(t.handyLandscapeGaps,i),u=myMdwHelper.getNumberFromData(t.tabletPortraitWidth,768),m=myMdwHelper.getNumberFromData(t.tabletPortraitGaps,i),p=myMdwHelper.getNumberFromData(t.tabletLandscapeWidth,1024),g=myMdwHelper.getNumberFromData(t.tabletLandscapeGaps,i);e(),a(),l()})})}function l(){for(var e=0;e<=t.countViews;e++){let a=vis.states.attr(t.attr("visibilityOid"+e)+".val"),o=myMdwHelper.getVisibility(a,"visibilityOid"+e,t.attr("visibilityCondition"+e),t.attr("visibilityConditionValue"+e));o?r.find(`#grid-item${e}`).hide():r.find(`#grid-item${e}`).show()}}n.sort(function(e,t){let a=parseInt($(e).attr("sortOrder")),o=parseInt($(t).attr("sortOrder"));return a==o?0:+(a>o)||-1}),r.append(`\n
    \n
    \n
    \n ${t.showResolutionAssistant?c:""}\n ${n.join("")}\n
    \n
    \n
    `),s?myMdwHelper.subscribeStatesAtRuntime(t.wid,i,function(){o()}):o()}catch(e){console.error(`[Grid Views ${t.wid}] error: ${e.message}, stack: ${e.stack}`)}}};let myMdwMaterialDesignIconsList=[];vis.binds.materialdesign.viseditor={manualLink:function(e,t){try{let e="https://github.com/Scrounger/ioBroker.vis-materialdesign#iobrokervis-materialdesign";return t&&("card"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#card"),"topAppBar"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#top-app-bar-with-navigation-drawer"),"topAppBarSubMenu"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#submenu"),"lineHistoryChart"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#line-history-chart"),"jsonChart"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#json-chart"),"list"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#list"),"iconList"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#iconList"),"progress"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#progress"),"slider"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#slider"),"switch"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#switch"),"select"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#select"),"autocomplete"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#autocomplete"),"table"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#table"),"columnViews"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#column-views"),"alerts"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#alerts"),"masonry"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#masonry-views"),"grid"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#grid-views"),"calendar"===t[1]&&(e="https://github.com/Scrounger/ioBroker.vis-materialdesign#calendar")),{input:`${_("readme")}`}}catch(e){console.error(`[manualLink]: error: ${e.message}, stack: ${e.stack}`)}},questionsAndAnswers:function(e,t){let a="https://github.com/Scrounger/ioBroker.vis-materialdesign#questions-and-answers-about-the-widgets";return"de"===vis.language&&("alerts"===t[1]&&(a="https://forum.iobroker.net/topic/29663/material-design-widgets-alerts-widget"),"buttons"===t[1]&&(a="https://forum.iobroker.net/topic/29664/material-design-widgets-buttons-widget"),"calendar"===t[1]&&(a="https://forum.iobroker.net/topic/29600/material-design-widgets-calendar-widget"),"checkboxSwitch"===t[1]&&(a="https://forum.iobroker.net/topic/29667/material-design-widgets-checkbox-switch-widget"),"input"===t[1]&&(a="https://forum.iobroker.net/topic/29666/material-design-widgets-input-select-autocompl"),"lineHistoryChart"===t[1]&&(a="https://forum.iobroker.net/topic/29662/material-design-widgets-line-history-chart-widget"),"list"===t[1]&&(a="https://forum.iobroker.net/topic/29665/material-design-widgets-list-widget"),"iconList"===t[1]&&(a="https://forum.iobroker.net/topic/30331/material-design-widgets-iconlist-widget"),"masonry"===t[1]&&(a="https://forum.iobroker.net/topic/29621/material-design-widgets-masonry-views-widget"),"slider"===t[1]&&(a="https://forum.iobroker.net/topic/29661/material-design-widgets-slider-widget"),"table"===t[1]&&(a="https://forum.iobroker.net/topic/29658/material-design-widgets-table-widget"),"topAppBar"===t[1]&&(a="https://forum.iobroker.net/topic/29660/material-design-widgets-top-app-bar-widget"),"grid"===t[1]&&(a="https://forum.iobroker.net/topic/29916/material-design-widgets-grid-views-widget"),"dialogView"===t[1]&&(a="https://forum.iobroker.net/topic/31870/material-design-widgets-dialog-view-widget"),"jsonChart"===t[1]&&(a="https://forum.iobroker.net/topic/31871/material-design-widgets-json-chart-widget")),{input:`${_("readme")}`}},bmc:function(e){return{input:`${_("buymeacoffee")}`}},onlineExample:function(e){return{input:`${_("linkOnlineExampleProject")}`}},visibilityCondition:function(e){return vis.editSelect(e,["==","!=","<=",">=","<",">","consist","not consist","exist","not exist"],!0)},imagesAndMaterialDesignIcons:function(e){try{var t=vis;let a={input:'',init:function(e,t){$(this).autocomplete({minLength:0,source:function(e,t){vis.editMode&&0===myMdwMaterialDesignIconsList.length&&(myMdwMaterialDesignIconsList=vis.binds.materialdesign.materialdesignicons.getList());var a=$.grep(myMdwMaterialDesignIconsList,function(t){return t.toLowerCase().includes(e.term.toLowerCase())});t(a)},select:function(e,t){$(this).val(t.item.value),$(this).trigger("change",t.item.value)}}).focus(function(){$(this).autocomplete("search","")}).autocomplete("instance")._renderItem=function(e,t){return $("
  • ").append(`\n
    \n \n \n
    \n `).appendTo(e)}}};return $.fm&&(a.button={icon:"ui-icon-note",text:!1,title:_("Select image"),click:function(){var e=$(this).data("wdata"),a="/"+(t.conn.namespace?t.conn.namespace+"/":"")+t.projectPrefix+"img/",o=t.widgets[e.widgets[0]].data[e.attr];o&&"img/"===o.substring(0,4)&&(o="/vis/"+o),$.fm({lang:t.language,defaultPath:a,path:o||a,uploadDir:"/"+(t.conn.namespace?t.conn.namespace+"/":""),fileFilter:myMdwHelper.getAllowedImageFileExtensions(),folderFilter:!1,mode:"open",view:"prev",userArg:e,conn:t.conn,zindex:1001},function(t,a){var o=t.path+t.file;$("#inspect_"+e.attr).val(o).trigger("change")})}}),a}catch(e){console.error(`imagesAndMaterialDesignIcons: error: ${e.message}, stack: ${e.stack}`)}},materialDesignIcons:function(e){try{vis;let t={input:'',init:function(e,t){$(this).autocomplete({minLength:0,source:function(e,t){vis.editMode&&0===myMdwMaterialDesignIconsList.length&&(myMdwMaterialDesignIconsList=vis.binds.materialdesign.materialdesignicons.getList());var a=$.grep(myMdwMaterialDesignIconsList,function(t){return t.toLowerCase().includes(e.term.toLowerCase())});t(a)},select:function(e,t){$(this).val(t.item.value),$(this).trigger("change",t.item.value)}}).focus(function(){$(this).autocomplete("search","")}).autocomplete("instance")._renderItem=function(e,t){return $("
  • ").append(`\n
    \n \n \n
    \n `).appendTo(e)}}};return t}catch(e){console.error(`materialDesignIcons: error: ${e.message}, stack: ${e.stack}`)}}},vis.editMode&&(myMdwMaterialDesignIconsList=vis.binds.materialdesign.materialdesignicons.getList());