UNPKG

smart-webcomponents

Version:

Web Components & Custom Elements for Professional Web Applications

34 lines (20 loc) 166 kB
/* Smart UI v22.0.10 (2025-02-10) Copyright (c) 2011-2024 jQWidgets. License: https://htmlelements.com/license/ */ // (function(){ if (typeof document === 'undefined') { return; } /* Smart UI v19.1.1 (2024-June) Copyright (c) 2011-2024 jQWidgets. License: https://htmlelements.com/license/ */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ 1471: /***/ (() => { Smart("smart-accordion-item",class extends Smart.ContentElement{static get properties(){return{dragged:{value:!1,type:"boolean"},expanded:{value:!1,type:"boolean"},focused:{value:!1,type:"boolean"},index:{value:null,type:"number?"},label:{value:"",type:"string"}}}get enableShadowDOM(){return!1}static get listeners(){return{"accordionItemHeader.mouseenter":"_headerMouseEnterHandler","accordionItemHeader.mouseleave":"_headerMouseLeaveHandler","accordionItemHeader.down":"_ripple"}}template(){return'<div id="container" role="presentation">\n <div id="accordionItemHeader" class="smart-accordion-item-header smart-unselectable" role="heading" aria-level="1">\n <span id="arrow" class="smart-arrow" role="presentation" aria-hidden="true"></span>\n <span id="label" class="smart-label" inner-h-t-m-l=\'[[label]]\' role="button"></span>\n </div>\n <div id="accordionItemContent" class="smart-accordion-item-content">\n <div id="contentContainer" class="smart-content-container" role="presentation"><content></content></div>\n </div>\n </div>'}render(){const e=this;let t;t=e.id?e.id+"Content":e.parentElement&&e.parentElement.parentElement&&e.parentElement.parentElement.id?e.parentElement.parentElement.id+Math.floor(1e4*Math.random())+"Content":"accordion"+Math.floor(1e4*Math.random())+"Content",e.$.accordionItemContent.id=t,e.$.label.setAttribute("aria-controls",t),super.render()}propertyChangedHandler(e,t,n){super.propertyChangedHandler(e,t,n);const a=this;if("expanded"===e){a.$.label.setAttribute("aria-expanded",n);const e=a.parentElement&&a.parentElement.parentElement?a.parentElement.parentElement.expandMode:a.shadowParent.expandMode;if("multiple"===e||"toggle"===e)return;return void(n?a.$.label.setAttribute("aria-disabled",!0):a.$.label.removeAttribute("aria-disabled"))}if(t=parseInt(t),n=parseInt(n),"index"!==e||isNaN(t)||isNaN(n))return;const i=a.parentElement.parentElement._items.length;n<0?n=0:n>=i&&(n=i-1),n!==t&&a.$.fireEvent("indexChange",{newIndex:n,oldIndex:t}),a.index=n}_headerMouseEnterHandler(){this.disabled||this.setAttribute("hover","")}_headerMouseLeaveHandler(){this.disabled||this.removeAttribute("hover")}_ripple(e){const t=this;t.disabled||t.hasRippleAnimation&&Smart.Utilities.Animation.Ripple.animate(t.$.container,e.pageX,e.pageY)}_setIndex(e){const t=this,n=t.context;t.context=t,t.index=e,t.context=n}focus(){super.focus(),this.setAttribute("focus","")}blur(){super.blur(),this.removeAttribute("focus")}}),Smart("smart-accordion",class extends Smart.BaseElement{static get properties(){return{dataSource:{value:null,type:"array?",reflectToAttribute:!1},expandedIndexes:{value:[],type:"array"},expandMode:{allowedValues:["single","singleFitHeight","multiple","toggle","none"],value:"singleFitHeight",type:"string"},messages:{extend:!0,value:{en:{accordionItemRequired:'{{elementType}}: "{{method}}" requires an item from type "smart-accordion-item".',indexOutOfBound:'{{elementType}}: Out of bound index/indexes in "{{method}}" method.',invalidSettings:'{{elementType}}: "{{method}}" method accepts a string or an object as it\'s second parameter.',missingReference:"{{elementType}}: Missing reference to {{files}}.",noItems:"{{elementType}}: No child elements found.",overridingProperties:'{{elementType}}: Overriding properties {{property1}} and {{property2}} applied. The "{{property1}}" property is used by default.'}},type:"object"},reorder:{value:!1,type:"boolean"}}}static get listeners(){return{down:"_downHandler",focus:"_focusHandler",indexChange:"_indexChangeHandler",keydown:"_keyDownHandler",move:"_moveHandler",resize:"_resizeHandler",styleChanged:"_resizeHandler","document.up":"_upHandler","container.move":"_containerMoveHandler"}}template(){return'<div id="container" role="presentation">\n <content></content>\n </div>'}static get styleUrls(){return["smart.accordion.css"]}ready(){super.ready()}render(){this._createElement(),super.render()}propertyChangedHandler(e,t,n){const a=this;if("expandedIndexes"===e){if(t.toString()===n.toString())return;let i=[];if(a._items.length>0)for(let e=0;e<n.length;e++){let t=parseInt(n[e]);if(!isNaN(t)){if(a._expandModeIs(["single","singleFitHeight","toggle"])){i.length<1&&t>=0&&t<a._items.length&&i.push(t);break}t>=0&&t<=a._items.length&&-1===i.indexOf(t)&&i.push(t)}}if(0===i.length&&a._expandModeIs(["single","singleFitHeight"]))return n=t.slice(),a.expandedIndexes=n,void super.propertyChangedHandler(e,t,n);n=i;const o=a._compareExpandedIndexes(t,n);return a._toggleItems("collapse",o.collapse),a._toggleItems("expand",o.expand),a.expandedIndexes=n,void super.propertyChangedHandler(e,t,n)}switch(super.propertyChangedHandler(e,t,n),e){case"dataSource":a.render();break;case"disabled":a._setFocusable(),a._enableDisableHandler();break;case"expandMode":{if(0===a._items.length)break;if("multiple"===t&&"none"!==n||"none"===t&&"multiple"!==n){const e=a.expandedIndexes.slice(1);a._toggleItems("collapse",e),0===a.expandedIndexes.length&&a._expandModeIs(["single","singleFitHeight"])&&i()}else"toggle"===t&&a._expandModeIs(["single","singleFitHeight"])&&0===a.expandedIndexes.length&&i();const e=a.expandedIndexes[0];if(void 0===e)return;a._supportCSSVariables&&a._usedCSSVariables||("singleFitHeight"===t?a._items[e].$.accordionItemContent.style.height="":"singleFitHeight"===n&&(a._items[e].$.accordionItemContent.style.height=a._expandedItemsContainerHeight-1+"px")),"multiple"===n||"toggle"===n?a._items[e].$.label.removeAttribute("aria-disabled"):a._items[e].$.label.setAttribute("aria-disabled",!0);break}case"unfocusable":a._setFocusable()}function i(){a._toggleItems("expand",[0]),a.expandedIndexes=[0]}}appendChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&(e.classList.contains("smart-resize-trigger-container")||e.classList.contains("smart-measure-element"))){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e instanceof Smart.AccordionItem||t.error(t.localize("accordionItemRequired",{method:"appendChild"})),t.insert(t._items.length,e)}collapse(e,t){const n=this;e=n._validateItemsIndex(e,"collapse"),isNaN(e)||!n._items[e].expanded||n._expandModeIs(["single","singleFitHeight"])&&n.expandedIndexes.indexOf(e)>-1||n._collapseItem(e,t)}expand(e,t){const n=this;e=n._validateItemsIndex(e,"expand"),isNaN(e)||n._items[e].expanded||(n._expandModeIs(["single","singleFitHeight","toggle"])&&n._toggleItems("collapse",n.expandedIndexes),n._expandItem(e,t))}insert(e,t){const n=this,a=0===n._items.length;let i,o;if(t||("number"==typeof e?t=[{label:"",content:""}]:(t=[{label:e?e.toString():"",content:e?e.toString():""}],e=0)),t instanceof HTMLElement)t instanceof Smart.AccordionItem?i=t:n.error(n.localize("accordionItemRequired",{method:"insert"}));else if(Array.isArray(t)){o=document.createDocumentFragment();for(let e=0;e<t.length;e++){const a=n._createItem(t[e]);o.appendChild(a)}}else i=t instanceof Object?n._createItem(t):"string"==typeof t||"number"==typeof t?n._createItem({label:t.toString(),content:t.toString()}):n._createItem({label:"",content:""});e>n._items.length?i?n.$.container.appendChild(i):n.$.container.appendChild(o):i?n.$.container.insertBefore(i,n._items[e]):n.$.container.insertBefore(o,n._items[e]),i&&(i.tabIndex=n._tabIndex),n._storeItems(),a&&n._expandModeIs(["single","singleFitHeight"])?n._expandItem(0):n.expandedIndexes=n._getExpandedIndexes(),n._updateExpanedContentHeight(),n._updateInlineHeight(),n._storeItemsCoordinates(),n._updateItemsIndexProperty()}insertBefore(e,t){const n=this;if(!n.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(n,e.concat(Array.prototype.slice.call(arguments)))}void 0!==e&&void 0!==t&&e instanceof Smart.AccordionItem&&t instanceof Smart.AccordionItem||n.error(n.localize("accordionItemRequired",{method:"insertBefore"})),null!=t?(n.contains(t)||n.error(n.localize("referenceNodeNotChild",{argument:"referenceNode"})),n.insert(n._items.indexOf(t),e)):n.insert(n._items.indexOf(t),e)}removeAt(e){const t=this;let n;if(e instanceof HTMLElement)e instanceof Smart.AccordionItem?t.contains(e)||t.error(t.localize("referenceNodeNotChild",{argument:"node"})):t.error(t.localize("accordionItemRequired",{method:"remove"})),n=e,e=n.index;else{if(e=t._validateItemsIndex(e,"remove"),isNaN(e))return;n=t._items[e]}n&&(n.parentNode.removeChild(n),t._storeItems(),t._expandModeIs(["singleFitHeight"])&&(t._preventAnimation=!0),t._expandModeIs(["single","singleFitHeight"])&&e===t.expandedIndexes[0]&&t._items.length>0&&(t._expandItem(0),t._selectedItem=t._items[0],t._selectedItemIndex=0,t._itemIsFocussed=!0),t.expandedIndexes=t._getExpandedIndexes(),t._updateExpanedContentHeight(),t._updateInlineHeight(),t._storeItemsCoordinates(),t._updateItemsIndexProperty())}removeChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e instanceof HTMLElement||t.error(t.localize("accordionItemRequired",{method:"removeChild"})),"smart-resize-trigger-container"!==e.className?(e instanceof Smart.AccordionItem||t.error(t.localize("accordionItemRequired",{method:"removeChild"})),t.contains(e)||t.error(t.localize("referenceNodeNotChild",{argument:"node"})),t.removeAt(e)):super.removeChild(e)}_setFocusable(){const e=this;if(e.disabled||e.unfocusable){e.removeAttribute("tabindex");for(let t=0;t<e._items.length;t++)e._items[t].removeAttribute("tabindex")}else{e.tabIndex=e._tabIndex;for(let t=0;t<e._items.length;t++)e._items[t].tabIndex=e._tabIndex}}update(e,t){const n=this;if(e=n._validateItemsIndex(e,"update"),isNaN(e))return;let a=n._items[e];if(t||n.error(n.localize("invalidSettings",{elementType:n.nodeName.toLowerCase(),method:"update"})),a)if(Array.isArray(t)&&(t=0===t.length?{label:"",content:""}:t[0]),"string"==typeof t)a.content=t;else for(let e in t)a[e]=t[e];const i=n._getItemsHeights(e);n._updateExpanedContentLocalHeight(n._items[e],i),n._updateInlineHeight(),n._storeItemsCoordinates()}_adjustHeightValue(e){const t=this,n=t._items.length;let a,i;for(let e=0;e<n&&(t._items[e].expanded?a=t._items[e]:i=t._items[e],!a||!i);e++);if(a||(a=t._items[0]),!a&&!i)return;const o=a.expanded;a.expanded=!0;const r=window.getComputedStyle(a,null),s=!!i&&window.getComputedStyle(i,null),d=parseInt(r.getPropertyValue("margin-top"))+parseInt(r.getPropertyValue("margin-bottom"))+10,l=s?parseInt(s.getPropertyValue("margin-top"))+parseInt(s.getPropertyValue("margin-bottom")):0;return a.expanded=o,e-((n-1)*l+d)}_collapseItem(e,t){const n=this;let a=n._items[e];if(a.expanded&&("none"!==n.expandMode||!t)){if(a.expanded=!1,n.$.fireEvent("collapsing",{index:e,label:a.label,content:a.content.innerHTML}),n.expandedIndexes.indexOf(e)>-1){let t=n.expandedIndexes.indexOf(e),a=n.expandedIndexes.slice();a.splice(t,1),n.expandedIndexes=a}a.$.accordionItemContent.style.height="",n._handleAnimationsDuration(a,e,"collapse")}}_compareExpandedIndexes(e,t){let n=[],a=[],i=[],o=e.length,r=t.length;for(let i=0;i<o;i++)-1===t.indexOf(e[i])?-1===n.indexOf(e[i])&&n.push(e[i]):-1===a.indexOf(e[i])&&a.push(e[i]);for(let e=0;e<r;e++)-1===a.indexOf(t[e])&&i.push(t[e]);return{collapse:n,expand:i}}_processDataSource(){const e=this.dataSource;if(null===e||!e)return;let t="";for(let a=0;a<e.length;a++){const i=e[a];t+=`<smart-accordion-item label="${(n=i).label}">${n.content}</smart-accordion-item>`}var n;this.$.container.innerHTML=t}_createElement(){const e=this;null!==e.dataSource&&e._processDataSource(),e._reorderItemsByIndex(),e._usedCSSVariables=Boolean(window.getComputedStyle(e.$.container).getPropertyValue("--smart-accordion-animation-duration")),e._supportCSSVariables=Smart.Utilities.Core.CSSVariablesSupport(),e._storeItems(),e._enableDisableHandler(),e._expandedIndexesHandler(),e._updateExpanedContentHeight(),e._tabIndex=e.tabIndex<=0?0:e.tabIndex,e._setFocusable(),e._updateItemsIndexProperty(),e._updateInlineHeight();for(let t=0;t<e._items.length;t++)e._items[t].setAttribute("part","smart-accordion-item"),e._items[t].$.arrow.classList.add("smart-animate-trigger")}_createItem(e){const t=this,n=document.createElement("smart-accordion-item");if(e)return n.disabled=t.disabled,t._tabIndex>-1&&(n.tabIndex=t._tabIndex),"string"==typeof e||"number"==typeof e?(n.label=e+"",n.content=e+"",n):(n.label=e.label||"",n.content=e.content||"",n)}_downHandler(e){const t=this;if(t.disabled||t.readonly||"none"===t.expandMode||t._toggled)return;const n=t.enableShadowDOM&&t.shadowRoot?t.shadowRoot.elementFromPoint(e.pageX-window.pageXOffset,e.pageY-window.pageYOffset):e.originalEvent.target,a=n.closest(".smart-accordion-item-header"),i=n.closest("smart-accordion-item");a?(t._pointerPosition=e.pageY-window.pageYOffset,t._selectedItem=i,t._itemIsPressed=t._itemIsFocussed=!0,t._reorderedIndex=t._selectedItemIndex=t._items.indexOf(i),t._storeItemsCoordinates()):i&&(i.focused=!0)}_enableDisableHandler(){const e=this;if(e.disabled)for(let t=0;t<e._items.length;t++)e._items[t].disabled=!0;else for(let t=0;t<e._items.length;t++)e._items[t].disabled=!1}_expandedIndexesHandler(){const e=this;let t=e._getExpandedIndexes("initial"),n=t.length,a=e.expandedIndexes.length;if(0!==e._items.length){if(0===a&&n>0&&(e.expandedIndexes=t,a=n),e._expandModeIs(["multiple","none"])||1===a)return e._toggleItems("expand",e.expandedIndexes),void(e._animationAfterInitialization=!0);switch(e.expandMode){case"single":case"singleFitHeight":0===a?e._toggleItems("expand",[0]):a>1&&(e._toggleItems("collapse",e.expandedIndexes.splice(0,1)),e._toggleItems("expand",e.expandedIndexes));break;case"toggle":a>1&&(e._toggleItems("collapse",e.expandedIndexes.splice(0,1)),e._toggleItems("expand",e.expandedIndexes))}e._animationAfterInitialization=!0}else e._animationAfterInitialization=!0}_expandItem(e,t){const n=this;let a=n._items[e];if(!(a.expanded||"none"===n.expandMode&&t)){if(a.$.container.style.getPropertyValue("--smart-accordion-expanded-content-local-height")||(a.expanded=!0,a.$.container.style.setProperty("--smart-accordion-expanded-content-local-height",a.$.accordionItemContent.scrollHeight+"px"),a.expanded=!1),a.expanded=!0,n.$.fireEvent("expanding",{index:e,label:a.label,content:a.content.innerHTML}),-1===n.expandedIndexes.indexOf(e)){let t=n.expandedIndexes.slice();t.push(e),n.expandedIndexes=t}n._supportCSSVariables&&n._usedCSSVariables||"singleFitHeight"!==n.expandMode||(a.$.accordionItemContent.style.height=n._expandedItemsContainerHeight-1+"px"),n._handleAnimationsDuration(a,e,"expand")}}_expandModeIs(e){return e.indexOf(this.expandMode)>-1}_focusHandler(){const e=this;e.disabled||0===e._items.length||(e._itemIsFocussed?e._selectedItem.focused=!1:e._items[0].focused=!1)}_getExpandedIndexes(e){const t=this,n=[];for(let a=0;a<t._items.length;a++)"initial"===e?t._items[a].hasAttribute("expanded")&&(n.push(a),t._items[a].removeAttribute("expanded")):t._items[a].expanded&&n.push(a);return n.slice()}_getItemsHeights(e){const t=this._items,n=t.length;let a=[];if(0!==n){if(!isNaN(e)&&e>=0&&e<n){const n=t[e];let a=0;return n.expanded?a=n.$.accordionItemContent.scrollHeight:(n.expanded=!0,a=n.$.accordionItemContent.scrollHeight,n.expanded=!1),a+"px"}for(let e=0;e<n;e++){const n=t[e];let i=0;n.expanded?i=n.$.accordionItemContent.scrollHeight:(n.expanded=!0,i=n.$.accordionItemContent.scrollHeight,n.expanded=!1),a.push(i+"px")}return this._heightCalcAfterInitialization=!0,a}}_handleAnimationsDuration(e,t,n){const a=this;if(!a._animationAfterInitialization)return;if(1===a._items.length&&"singleFitHeight"===a.expandMode)return void a.$.fireEvent(n,{index:t,label:e.label,content:e.content.innerHTML});if(!1===a.hasAnimation||!a._supportCSSVariables)return void a.$.fireEvent(n,{index:t,label:e.label,content:e.content.innerHTML});if(a._preventAnimation)return a.$.fireEvent(n,{index:t,label:e.label,content:e.content.innerHTML}),void(a._preventAnimation=!1);a._toggled=!0;let i,o=window.getComputedStyle(a).animationDuration;if(o.indexOf("ms")>-1)o=parseFloat(o.substring(0,o.length-2)),i=isNaN(o)||o<0?0:o-50;else{if(!(o.indexOf("s")>-1))return void a.$.fireEvent(n,{index:t,label:e.label,content:e.content.innerHTML});o=parseFloat(o.substring(0,o.length-1)),i=isNaN(o)||o<0?0:1e3*o-50}e&&(e.$.addClass("smart-toggled-item"),a.$container.addClass("smart-toggling"),setTimeout((function(){e.$.removeClass("smart-toggled-item"),a.$container.removeClass("smart-toggling"),a.$.fireEvent(n,{index:t,label:e.label,content:e.content.innerHTML}),a._toggled=!1}),i))}_indexChangeHandler(e){const t=this,n=t._items,a=n.length,i=e.detail;i.newIndex>=a?t.$.container.appendChild(n[i.oldIndex]):i.newIndex>i.oldIndex?t.$.container.insertBefore(n[i.oldIndex],n[i.newIndex+1]):t.$.container.insertBefore(n[i.oldIndex],n[i.newIndex]);let o=t.enableShadowDOM&&t.shadowRoot?t.shadowRoot.querySelectorAll("smart-accordion-item"):t.getElementsByTagName("smart-accordion-item");t._items=Array.from(o),t._updateItemsIndexProperty()}_keyDownHandler(e){const t=this,n=e.key;if("none"===t.expandMode||t.disabled||t.readonly||t._toggled)return;const a=(t.shadowRoot?t.shadowRoot.activeElement:document.activeElement)||document.activeElement;if(-1===["ArrowLeft","ArrowDown","ArrowRight","ArrowUp","End","Home"," ","Enter","Tab"].indexOf(n)||!(a instanceof Smart.AccordionItem))return;"Tab"!==n&&e.preventDefault();let i,o,r=t._items.length,s=r-1;for(let e=0;e<r;e++){let n=t._items[e];n.focused&&(i=n,o=e)}switch(void 0===o&&t._items[0]&&(o=0,t._items[0].focused=!0),n){case"Tab":e.shiftKey?l("up"):l("down");break;case"ArrowLeft":t.collapse(o);break;case"ArrowDown":l("down");break;case"ArrowRight":t.expand(o);break;case"ArrowUp":l("up");break;case"End":d(s);break;case"Home":d(0);break;case" ":case"Enter":if(i&&i.expanded)return void t.collapse(o);t.expand(o);break;default:return}function d(e){e===o||isNaN(e)||(i&&(i.focused=!1),o=e,i=t._items[o],i&&(i.focused=!0))}function l(e){d("up"!==e?o+1>s?s:o+1:o-1<0?0:o-1)}}_containerMoveHandler(e){"touchmove"===e.originalEvent.type&&e.originalEvent.preventDefault()}_moveHandler(e){const t=this;if(e.stopPropagation(),!(!t._itemIsPressed||!t.reorder||t.readonly||t._items.length<2||!t.$container.hasClass("smart-reordering")&&Math.abs(e.pageY-t._pointerPosition)<5))if(t._dragStart){if(t.$container.hasClass("smart-reordering")||t.$container.addClass("smart-reordering"),!t._dragging){const n=t._selectedItem;t.$.fireEvent("dragStart",{position:{left:e.pageX,top:e.pageY},target:e.originalEvent.target,index:t._selectedItemIndex,label:n.label,content:n.content.innerHTML}),t._selectedItem.dragged=t._dragging=!0}if(t.hasAnimation){const e=t._selectedItem.querySelector(".smart-ripple");e&&(e.style.height=0)}const n=e.clientY;let a=!1;for(let e=0;e<t._itemsCoordinates.length;e++){const i=t._itemsCoordinates[e];if(n>=i.fromY&&n<=i.toY){a=e;break}}const i=t._items[a];if(!1!==a&&i!==t._selectedItem){if(t._lastReorderedItem&&i===t._lastReorderedItem)return;if(t._lastReorderedItem=i,Math.abs(t._reorderedIndex-a)>1){const e=t._reorderedIndex-a<0?-1:1;t._swapItems(t._reorderedIndex,a+e)}return t._swapItems(t._reorderedIndex,a),t._reorderedIndex=a,void t._storeItemsCoordinates()}t._lastReorderedItem=void 0}else t._dragStart=!0}_reorderItemsByIndex(){const e=this;let t=e.enableShadowDOM&&e.shadowRoot?e.shadowRoot.querySelectorAll("smart-accordion-item"):e.$.container.children,n=Array.from(t),a=!1,i=n.map((function(e){return null!==e.index?a=!0:e.index=0,e.index}));if(!a)return;const o=n.length;if(o<2)return;let r=i.slice();if(r.sort((function(e,t){return parseInt(e)-parseInt(t)})),i.toString()!==r.toString())for(let n=0;n<o;n++){let a;for(let e=0;e<o;e++)t[e].index===r[n]&&(a=t[e]);e.$.container.insertBefore(a,t[n])}}_resizeHandler(){this.refresh()}refresh(){const e=this;e._updateExpanedContentHeight(),e._updateInlineHeight(),e._storeItemsCoordinates()}_storeItems(){const e=this,t=e.enableShadowDOM&&e.shadowRoot?e.shadowRoot.querySelectorAll("smart-accordion-item"):e.$.container.children;if(e._items=Array.from(t),0===e._items.length)return void e.$container.addClass("smart-empty");e.$container.removeClass("smart-empty");const n=e._getItemsHeights();for(let t=0;t<e._items.length;t++)e._updateExpanedContentLocalHeight(e._items[t],n[t])}_storeItemsCoordinates(){const e=this;if(e.disabled||!e.reorder)return;const t=[];for(let n=0;n<e._items.length;n++){const a=e._items[n].getBoundingClientRect();t.push({fromY:a.top+(window.scrollY||window.pageYOffset),toY:a.bottom+(window.scrollY||window.pageYOffset)})}e._itemsCoordinates=t}_swapItems(e,t){const n=this,a=Math.min(e,t),i=Math.max(e,t),o=n._items;let r=n.expandedIndexes.slice();if(n._items[e].expanded&&!n._items[t].expanded){const a=r.indexOf(e);r[a]=t,n.expandedIndexes=r.slice()}else if(n._items[t].expanded&&!n._items[e].expanded){const a=r.indexOf(t);r[a]=e,n.expandedIndexes=r.slice()}n.selectedIndex=n.selectedIndex===e?t:e,n.$.container.insertBefore(o[i],o[a]),function(e,t,n){const a=e[n];e[n]=e[t],e[t]=a}(o,e,t),n._items[e].$.removeClass("hovered"),n._reorderedIndex=t}_toggleItems(e,t){const n=this,a=t.length;if(a>0)for(let i=0;i<a;i++)n["_"+e+"Item"](t[i])}_updateExpanedContentHeight(){const e=this;e.$.container.style.setProperty("--smart-accordion-item-header-height","");const t=e._items.length,n=e.$.container.offsetHeight,a=e._items[e.expandedIndexes[0]];let i=0,o=0,r=0,s=0;if(1===t){let t=e._items[0],n=t.expanded;t.expanded=!1,i=t.offsetHeight,o=t.$.accordionItemHeader.offsetHeight,t.expanded=n}else for(;0===i&&s<t;){const t=e._items[s];t instanceof Smart.AccordionItem&&!t.expanded&&(i=t.$.accordionItemHeader.offsetHeight),o=t.$.accordionItemHeader.offsetHeight,s++}t>1&&a instanceof Smart.AccordionItem&&(r=a.$.accordionItemHeader.offsetHeight-o);const d=getComputedStyle(e.$.root);let l=n-i*t-r-parseFloat(d.paddingBottom)-parseFloat(d.paddingTop);"singleFitHeight"===e.expandMode&&(l=e._adjustHeightValue(l)),l=l>=0?l:0,e.$.container.style.setProperty("--smart-accordion-expanded-content-height",l+"px"),e.$.container.style.setProperty("--smart-accordion-item-header-height",o+"px"),e._expandedItemsContainerHeight=l}_updateExpanedContentLocalHeight(e,t){this._supportCSSVariables&&this._usedCSSVariables&&e.$.container.style.setProperty("--smart-accordion-expanded-content-local-height",t)}_updateInlineHeight(){const e=this;e._supportCSSVariables&&e._usedCSSVariables||"singleFitHeight"!==e.expandMode||0===e._items.length||(e._items[e.expandedIndexes[0]].$.accordionItemContent.style.height=e._expandedItemsContainerHeight-1+"px")}_updateItemsIndexProperty(){const e=this;let t=[];for(let n=0;n<e._items.length;n++)e._items[n]._setIndex(n),e._items[n].expanded&&t.push(n);e.expandedIndexes=t.slice()}_upHandler(e){const t=this;if(t._itemIsPressed&&!t.disabled&&!t.readonly){for(let e=0;e<t._items.length;e++)e!==t._selectedItemIndex&&(t._items[e].focused=!1);if(t._selectedItem.focused=!0,t._dragging){const n=t._selectedItem;t.$container.removeClass("smart-reordering"),t.$.fireEvent("dragEnd",{position:{left:e.pageX,top:e.pageY},target:e.originalEvent.target,index:t._selectedItemIndex,label:n.label,content:n.content.innerHTML})}else[...t.$.container.children].indexOf(t._selectedItem)>=0&&(t._selectedItem.expanded?t.collapse(t._selectedItemIndex,!0):t.expand(t._selectedItemIndex,!0));t._reorderedIndex=void 0,t._dragStart=!1,t._dragging=!1,t._itemIsPressed=!1,t._selectedItem.dragged=!1,t._updateItemsIndexProperty()}}_validateItemsIndex(e,t){const n=this;if(!(isNaN(parseInt(e))||e<0||e>n._items.length-1))return parseInt(e);n.log(n.localize("indexOutOfBound",{elementType:n.nodeName.toLowerCase(),method:t}))}}); /***/ }), /***/ 2612: /***/ (() => { Smart("smart-button",class extends Smart.ContentElement{static get properties(){return{value:{type:"string"},name:{type:"string"},type:{value:"button",type:"string"},clickMode:{allowedValues:["hover","press","release","pressAndRelease"],type:"string",value:"release"}}}static get styleUrls(){return["smart.button.css"]}template(){return"<button class=\"smart-button smart-unselectable\" inner-h-t-m-l='[[innerHTML]]' id='button' type='[[type]]' name='[[name]]' value='[[value]]' disabled='[[disabled]]' role=\"presentation\"></button>"}refresh(){}static get listeners(){return{"button.down":"_downHandler","button.mouseenter":"_mouseEnterHandler","button.mouseleave":"_mouseLeaveHandler","button.touchend":"_touchEndHandler","button.click":"_clickHandler","button.up":"_upHandler",up:"_upHandler","button.focus":"_focusHandler","button.blur":"_blurHandler"}}focus(){const e=this;e.$.button?e.$.button.focus():HTMLElement.prototype.focus.call(e)}blur(){const e=this;e.$.button?e.$.button.blur():HTMLElement.prototype.blur.call(e)}_upHandler(e){const t=this;if(e.stopPropagation(),t.$.setAttributeValue("active",!1),t.dataset.target){const n=document.querySelector(t.dataset.target);let a=t.dataset.toggle,r=t.dataset.arguments;const i="smart-window".toLowerCase();if(n&&n.nodeName.toLowerCase()===i&&"modal"===a&&(a="openModal"),"tab"===a||"pill"===a||"list"===a){const e=this.closest(".nav, .list-group"),a='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',r=!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?e.children(".active"):e.querySelectorAll("li > .active");if(e){const n=e.querySelectorAll(a);for(let e=0;e<n.length;e++)n[e].classList.remove("primary");for(let e=0;e<r.length;e++)r[e].classList.remove("active");let i=t.parentNode;for(;i;){if("LI"===i.nodeName){i.classList.add("active");break}i=i.parentNode}t.classList.add("primary")}return n.parentNode.querySelectorAll(".active").forEach((e=>{e.classList.remove("active"),e.classList.add("smart-hidden")})),n.classList.add("active"),void n.classList.remove("smart-hidden")}a&&n&&!n[a]&&"collapse"===a&&(setTimeout((()=>{n.classList.contains("smart-hidden")?n.classList.remove("smart-hidden"):n.classList.add("smart-hidden")})),e.originalEvent.preventDefault()),a&&n&&!n[a]&&"dropdown"===a?(setTimeout((()=>{n.opened=!n.opened})),e.originalEvent.preventDefault()):a&&n&&n[a]&&(setTimeout((()=>{r?n[a](r):n[a]()}),50),e.originalEvent.preventDefault())}}_focusHandler(){this.$.setAttributeValue("focus",!0),this.$.fireEvent("focus")}_blurHandler(){this.$.setAttributeValue("focus",!1),this.$.fireEvent("blur")}_clickHandler(e){const t=this;("release"!==t.clickMode&&"pressAndRelease"!==t.clickMode||t.readonly)&&(e.preventDefault(),e.stopPropagation())}_downHandler(e){const t=this;if(!(t.disabled||(t.hasRippleAnimation&&Smart.Utilities.Animation.Ripple.animate(t,e.pageX,e.pageY),t.$.setAttributeValue("active",!0),"press"!==t.clickMode&&"pressAndRelease"!==t.clickMode||t.readonly))){if(t.hasAttribute("smart-blazor"))return void t.$.dispatchEvent(new Event("click"));const n="buttons"in e?e.buttons:e.which;t.$.fireEvent("click",{buttons:n,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY})}}_mouseEnterHandler(e){const t=this;if(!t.readonly&&(t.$button.setAttributeValue("hover",!0),t.$.setAttributeValue("hover",!0),"hover"===t.clickMode)){const n="buttons"in e?e.buttons:e.which;if(t.hasAttribute("smart-blazor"))return void t.$.dispatchEvent(new Event("click"));t.$.fireEvent("click",{buttons:n,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY})}}_touchEndHandler(){const e=this;setTimeout((function(){e.$button.setAttributeValue("hover",!1),e.$.setAttributeValue("hover",!1)}),300)}_mouseLeaveHandler(){this.$button.setAttributeValue("hover",!1),this.$.setAttributeValue("hover",!1)}propertyChangedHandler(e,t,n){super.propertyChangedHandler(e,t,n);const a=this;"disabled"===e?(a._setFocusable(),a.$button&&a.$button.setAttributeValue("hover",!1),a.$.setAttributeValue("hover",!1),a instanceof Smart.RepeatButton&&a._stopRepeat()):"unfocusable"===e&&a._setFocusable()}_setFocusable(){const e=this,t=e.$.button?e.$.button:e;if(e.disabled||e.unfocusable)return t.removeAttribute("tabindex"),void(t.tabIndex=-1);t.tabIndex=e.tabIndex>0?e.tabIndex:0}ready(){const e=this;super.ready(),e.setAttribute("role","button"),e._setFocusable(),e.enableShadowDOM&&e.$.hiddenInput&&e.appendChild(e.$.hiddenInput)}}),Smart("smart-repeat-button",class extends Smart.Button{static get properties(){return{delay:{value:50,type:"number"},initialDelay:{value:150,type:"number"}}}static get listeners(){return{"button.down":"_startRepeat","button.mouseenter":"_overriddenHandler","button.mouseleave":"_overriddenHandler","button.pointerenter":"_updateInBoundsFlag","button.pointerleave":"_updateInBoundsFlag","button.touchmove":"_touchmoveHandler","document.up":"_stopRepeat"}}_clickHandler(e){const t=this;("release"!==t.clickMode||t.preventDefaultClick||t.readonly||t.disabled)&&(e.preventDefault(),e.stopPropagation(),t.preventDefaultClick=!1)}_updateInBoundsFlag(e){const t=this;-1!==e.type.indexOf("leave")?(t._isPointerInBounds=!1,t.$button.setAttributeValue("hover",!1),t.$.setAttributeValue("hover",!1)):(t._isPointerInBounds=!0,t.$button.setAttributeValue("hover",!0),t.$.setAttributeValue("hover",!0)),1!==("buttons"in e?e.buttons:e.which)&&t._stopRepeat(e)}_startRepeat(e){const t=this;t.setAttribute("active",""),t._initialTimer||t.readonly||(t._initialTimer=setTimeout((function(){t._repeatTimer=setInterval((()=>{if(t._isPointerInBounds){if(t.hasAttribute("smart-blazor"))return t.$.dispatchEvent(new Event("click")),void(t.preventDefaultClick=!0);const n="buttons"in e?e.buttons:e.which;t.$.fireEvent("click",{buttons:n,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY}),t.preventDefaultClick=!0}}),t.delay)}),t.initialDelay))}_stopRepeat(e){const t=this;t.readonly||e&&("pointercancel"===e.type||e.originalEvent&&"pointercancel"===e.originalEvent.type)||(t.$.setAttributeValue("active",!1),t._repeatTimer&&(clearInterval(t._repeatTimer),t._repeatTimer=null),t._initialTimer&&(clearTimeout(t._initialTimer),t._initialTimer=null))}_touchmoveHandler(e){this.preventDefaultClick&&e.cancelable&&(e.preventDefault(),e.stopPropagation())}_overriddenHandler(){}}),Smart("smart-toggle-button",class extends Smart.Button{static get properties(){return{checked:{value:!1,type:"boolean?"},falseContent:{value:"",reflectToAttribute:!1,type:"string"},indeterminateContent:{value:"",reflectToAttribute:!1,type:"string"},indeterminate:{value:!1,type:"boolean"},trueContent:{value:"",reflectToAttribute:!1,type:"string"},indeterminateTemplate:{value:null,type:"any"},trueTemplate:{value:null,type:"any"},falseTemplate:{value:null,type:"any"},type:{value:"toggle",type:"string",defaultReflectToAttribute:!0,readonly:!0}}}static get listeners(){return{keydown:"_keyHandler",keyup:"_keyHandler",dragstart:"_dragStartHandler","button.click":"_buttonClickHandler","button.mouseenter":"_buttonMouseEnterHandler","button.mouseleave":"_buttonMouseLeaveHandler","document.up":"_documentUpHandler"}}ready(){super.ready(),this._setAriaState(),this._updateGroupValue()}_setAriaState(){const e=this,t=e.checked;null!==t?e.setAttribute("aria-pressed",t):e.setAttribute("aria-pressed","mixed")}_buttonClickHandler(){}_buttonMouseLeaveHandler(){this.removeAttribute("hover")}_buttonMouseEnterHandler(){const e=this;e.setAttribute("hover",""),e.disabled||e.readonly||"hover"!==e.clickMode||(e._changeCheckState("pointer"),e.focus(),e._updateHidenInputNameAndValue())}_documentUpHandler(e){const t=this;t._pressed&&(t._pressed=!1,t.disabled||t.readonly||"press"===t.clickMode||"pointercancel"===e.originalEvent.type||(t._changeCheckState("pointer"),t.focus(),t._updateHidenInputNameAndValue()))}_downHandler(e){const t=this;t.disabled||t.readonly||(t.hasRippleAnimation&&Smart.Utilities.Animation.Ripple.animate(t,e.pageX,e.pageY),t._pressed=!0,"press"!==t.clickMode&&"pressAndRelease"!==t.clickMode||(t._changeCheckState("pointer"),t.hasAttribute("smart-blazor")?t.$.dispatchEvent(new Event("click")):t.$.fireEvent("click"),t._updateHidenInputNameAndValue()),"press"===t.clickMode&&(e.preventDefault(),e.stopPropagation()))}_dragStartHandler(e){e.preventDefault()}_keyHandler(e){const t=this;if(!0!==t.disabled&&!t.readonly&&32===e.keyCode){if("keydown"===e.type)return void e.preventDefault();if("none"===t.switchMode)return;t._changeCheckState("keyboard"),t._updateHidenInputNameAndValue()}}_updateGroupValue(){const e=this;if(e.dataset.target){const t=document.querySelector(e.dataset.target);if(t){const n=document.querySelectorAll('[data-target="'+e.dataset.target+'"]'),a=[];if(e.checked){const n=e.dataset.property,a=e.dataset.value;if(n&&void 0!==t[n]){let e=a;"true"===e&&(e=!0),"false"===e&&(e=!1),t[n]=e}}for(let t=0;t<n.length;t++){const r=n[t];r.checked&&(r.name?(a.push(r.name),e.id&&r.setAttribute("data-id",e.id)):e.id&&a.push(e.id))}t.value=a.toString(),e._targetDispatchTimer&&clearTimeout(e._targetDispatchTimer),e._targetDispatchTimer=setTimeout((()=>{t.dispatchEvent(new Event("change"))}),100)}}}_changeCheckState(e){const t=this;let n=null;null===t.checked?t.checked=!0:(n=t.checked,t.checked=!t.checked),t._handleTextSelection(),t.$.fireEvent("change",{value:t.checked,oldValue:n,changeType:e}),t.checked?t.$.fireEvent("checkValue",{changeType:e}):t.$.fireEvent("uncheckValue",{changeType:e}),t._updateGroupValue(),t._setAriaState()}_handleTextSelection(){const e=this;e.$.addClass("smart-unselectable"),e.timer&&clearTimeout(e.timer),e.timer=setTimeout((()=>e.$.removeClass("smart-unselectable")),500)}propertyChangedHandler(e,t,n){super.propertyChangedHandler(e,t,n);const a=this;if("checked"===e)return a.$.fireEvent("change",{value:n,oldValue:t,changeType:"api"}),void a._setAriaState();switch(e){case"trueTemplate":a._handleTemplate(!0);break;case"falseTemplate":a._handleTemplate(!1);break;case"indeterminateTemplate":a._handleTemplate()}}_htmlBindOnInitialization(){const e=this;e._bindContentProperty("trueContent","smart-true-content"),e._bindContentProperty("falseContent","smart-false-content"),e._bindContentProperty("indeterminateContent","smart-indeterminate-content")}_bindContentProperty(e,t){const n=this;if(!n.$[e+"Container"])return;let a=document.createElement("div");a.innerHTML=n.innerHTML;let r,i=a.getElementsByClassName(t);if(i.length>0)for(let e=0;e<i.length;e++)r=i[e];""===n[e]&&(n[e]=void 0===r?"":r.outerHTML),n.$[e+"Container"].innerHTML=n[e]}_updateContentProperties(){const e=this;function t(t){e.$[t+"Container"]&&(e[t]=e.$[t+"Container"].innerHTML)}t("trueContent"),t("falseContent"),t("indeterminateContent")}_updateHidenInputValue(){const e=this;if(!e.$.hiddenInput)return;let t;t=null===e.checked?"null":!1===e.checked?"off":e.value||"on",e.$.hiddenInput.setAttribute("value",t)}_updateHidenInputName(){const e=this;if(!e.$.hiddenInput)return;let t=!1===e.checked?"":e.name||"";e.$.hiddenInput.setAttribute("name",t)}_updateHidenInputNameAndValue(){this._updateHidenInputName(),this._updateHidenInputValue()}_handleTemplate(e,t){const n=this;let a,r,i;if(!0===e?(a=n.trueTemplate,r=n.$.trueContentContainer,i=n.trueContent):!1===e?(a=n.falseTemplate,r=n.$.falseContentContainer,i=n.falseContent):(a=n.indeterminateTemplate,r=n.$.indeterminateContentContainer,i=n.indeterminateContent),t&&(r.innerHTML=i||""),null===a||!a)return;if("function"==typeof a)return void a(r,{value:i});if(!("content"in document.createElement("template")))return void n.error(n.localize("htmlTemplateNotSuported",{elementType:n.nodeName.toLowerCase()}));if(a=document.getElementById(a),null===a||!("content"in a))return void n.error(n.localize("invalidTemplate",{elementType:n.nodeName.toLowerCase(),property:"template"}));const o=a.content,l=o.childNodes.length,s=/{{\w+}}/g;let u,d=[];for(let e=0;e<l;e++)for(u=s.exec(o.childNodes[e].innerHTML);u;)d.push({childNodeIndex:e,bindingString:u[0]}),u=s.exec(o.childNodes[e].innerHTML);const c=d.length;let p,h,m=document.importNode(a.content,!0);for(let e=0;e<c;e++){p=m.childNodes[d[e].childNodeIndex],h=d.length;for(let t=0;t<h;t++)p.innerHTML=p.innerHTML.replace(d[e].bindingString,i)}r.innerHTML="";for(let e=0;e<m.childNodes.length;e++)m.childNodes[e].outerHTML&&(r.innerHTML+=m.childNodes[e].outerHTML)}}); /***/ }), /***/ 6321: /***/ (() => { !function(){if(void 0===typeof window)return;const e="21.0.0",t=[];let n="Smart";if(window[n]&&window[n].Version){if(window[n].Version===e)return;if(window[n].Version!==e)n+=e;else{let e=2;for(;window[n];)n+=e.toString(),e++}}const r=navigator.userAgent.indexOf("Edge")>-1&&navigator.appVersion.indexOf("Edge")>-1;document.elementsFromPoint||(document.elementsFromPoint=document.msElementsFromPoint);class o{static isBoolean(e){return"boolean"==typeof e}static isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)}static isArray(e){return Array.isArray(e)}static isObject(e){return e&&("object"==typeof e||this.isFunction(e))||!1}static isDate(e){return e instanceof Date}static isString(e){return"string"==typeof e}static isNumber(e){return"number"==typeof e}static getType(e){const t=this,n=["Boolean","Number","String","Function","Array","Date","Object"].find((n=>{if(t["is"+n](e))return n}));return n?n.toLowerCase():void 0}}class i{static animate(e,t,r,o){const i=e;if(!i||i instanceof HTMLElement==0)return;if(0===i.getElementsByClassName("smart-ripple").length){const e=document.createElement("span");e.classList.add("smart-ripple"),e.setAttribute("role","presentation");let t=!0,r=null;if(window[n].EnableShadowDOM&&i.enableShadowDOM&&!0!==i.isInShadowDOM){for(let e=0;e<i.shadowRoot.host.shadowRoot.children.length;e++)"link"!==i.shadowRoot.host.shadowRoot.children[e].tagName.toLowerCase()&&(r=i.shadowRoot.host.shadowRoot.children[e]);i.shadowRoot.host.shadowRoot.querySelector(".smart-ripple")&&(t=!1)}else r=i.firstElementChild;t&&(r&&!r.noRipple&&r.offsetHeight>0?r.appendChild(e):i.appendChild(e))}let s=null;if(s=window[n].EnableShadowDOM&&i.shadowRoot?i.shadowRoot.host.shadowRoot.querySelector(".smart-ripple"):i.getElementsByClassName("smart-ripple")[0],!s)return;s.innerHTML="",s.classList.remove("smart-animate"),s.style.height=s.style.width=Math.max(i.offsetHeight,i.offsetWidth)+"px";const a=window.getComputedStyle(s.parentElement),l=parseInt(a.borderLeftWidth)||0,d=parseInt(a.borderTopWidth)||0,c=i.getBoundingClientRect(),u=t-(c.left+window.pageXOffset)-s.offsetWidth/2-l,p=r-(c.top+window.pageYOffset)-s.offsetHeight/2-d;s.style.left=u+"px",s.style.top=p+"px",s.classList.add("smart-animate"),s.addEventListener("animationend",(function e(){s.parentElement&&s.parentElement.removeChild(s),o&&o(),s.removeEventListener("animationend",e),s.removeEventListener("animationcancel",e)})),s.addEventListener("animationcancel",(function e(){s.parentElement&&s.parentElement.removeChild(s),o&&o(),s.removeEventListener("animationcancel",e),s.removeEventListener("animationend",e)}))}}class s{static easeInQuad(e,t,n,r){return n*(e/=r)*e+t}static easeOutQuad(e,t,n,r){return-n*(e/=r)*(e-2)+t}static easeInOutQuad(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t}static easeInCubic(e,t,n,r){return n*(e/=r)*e*e+t}static easeOutCubic(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t}static easeInOutCubic(e,t,n,r){return(e/=r/2)<1?n/2*e*e*e+t:n/2*((e-=2)*e*e+2)+t}static easeInQuart(e,t,n,r){return n*(e/=r)*e*e*e+t}static easeOutQuart(e,t,n,r){return-n*((e=e/r-1)*e*e*e-1)+t}static easeInOutQuart(e,t,n,r){return(e/=r/2)<1?n/2*e*e*e*e+t:-n/2*((e-=2)*e*e*e-2)+t}static easeInQuint(e,t,n,r){return n*(e/=r)*e*e*e*e+t}static easeOutQuint(e,t,n,r){return n*((e=e/r-1)*e*e*e*e+1)+t}static easeInOutQuint(e,t,n,r){return(e/=r/2)<1?n/2*e*e*e*e*e+t:n/2*((e-=2)*e*e*e*e+2)+t}static easeInSine(e,t,n,r){return-n*Math.cos(e/r*(Math.PI/2))+n+t}static easeOutSine(e,t,n,r){return n*Math.sin(e/r*(Math.PI/2))+t}static easeInOutSine(e,t,n,r){return-n/2*(Math.cos(Math.PI*e/r)-1)+t}static easeInExpo(e,t,n,r){return 0===e?t:n*Math.pow(2,10*(e/r-1))+t}static easeOutExpo(e,t,n,r){return e===r?t+n:n*(1-Math.pow(2,-10*e/r))+t}static easeInOutExpo(e,t,n,r){return 0===e?t:e===r?t+n:(e/=r/2)<1?n/2*Math.pow(2,10*(e-1))+t:n/2*(2-Math.pow(2,-10*--e))+t}static easeInCirc(e,t,n,r){return-n*(Math.sqrt(1-(e/=r)*e)-1)+t}static easeOutCirc(e,t,n,r){return n*Math.sqrt(1-(e=e/r-1)*e)+t}static easeInOutCirc(e,t,n,r){return(e/=r/2)<1?-n/2*(Math.sqrt(1-e*e)-1)+t:n/2*(Math.sqrt(1-(e-=2)*e)+1)+t}static easeInElastic(e,t,n,r){let o=1.70158,i=0,s=n;return 0===e?t:1==(e/=r)?t+n:(i||(i=.3*r),s<Math.abs(n)?(s=n,o=i/4):o=i/(2*Math.PI)*Math.asin(n/s),-s*Math.pow(2,10*(e-=1))*Math.sin((e*r-o)*(2*Math.PI)/i)+t)}static easeOutElastic(e,t,n,r){let o=1.70158,i=0,s=n;return 0===e?t:1==(e/=r)?t+n:(i||(i=.3*r),s<Math.abs(n)?(s=n,o=i/4):o=i/(2*Math.PI)*Math.asin(n/s),s*Math.pow(2,-10*e)*Math.sin((e*r-o)*(2*Math.PI)/i)+n+t)}static easeInOutElastic(e,t,n,r){let o=1.70158,i=0,s=n;return 0===e?t:2==(e/=r/2)?t+n:(i||(i=r*(.3*1.5)),s<Math.abs(n)?(s=n,o=i/4):o=i/(2*Math.PI)*Math.asin(n/s),e<1?s*Math.pow(2,10*(e-=1))*Math.sin((e*r-o)*(2*Math.PI)/i)*-.5+t:s*Math.pow(2,-10*(e-=1))*Math.sin((e*r-o)*(2*Math.PI)/i)*.5+n+t)}static easeInBack(e,t,n,r,o){return void 0===o&&(o=1.70158),n*(e/=r)*e*((o+1)*e-o)+t}static easeOutBack(e,t,n,r,o){return void 0===o&&(o=1.70158),n*((e=e/r-1)*e*((o+1)*e+o)+1)+t}static easeInOutBack(e,t,n,r,o){return void 0===o&&(o=1.70158),(e/=r/2)<1?n/2*(e*e*((1+(o*=1.525))*e-o))+t:n/2*((e-=2)*e*((1+(o*=1.525))*e+o)+2)+t}static easeInBounce(e,t,n,r){return n-this.easeOutBounce(r-e,0,n,r)+t}static easeOutBounce(e,t,n,r){return(e/=r)<1/2.75?n*(7.5625*e*e)+t:e<2/2.75?n*(7.5625*(e-=1.5/2.75)*e+.75)+t:e<2.5/2.75?n*(7.5625*(e-=2.25/2.75)*e+.9375)+t:n*(7.5625*(e-=2.625/2.75)*e+.984375)+t}static easeInOutBounce(e,t,n,r){return e<r/2?.5*this.easeInBounce(2*e,0,n,r)+t:.5*this.easeOutBounce(2*e-r,0,n,r)+.5*n+t}}class a{static get isMobile(){const e=/(iphone|ipod|ipad|android|iemobile|blackberry|bada)/.test(window.navigator.userAgent.toLowerCase());return e||["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}static get Browser(){let e;const t=function(t){let n=t.indexOf(e);if(-1===n)return;const r=t.indexOf("rv:");return"Trident"===e&&-1!==r?parseFloat(t.substring(r+3)):parseFloat(t.substring(n+e.length+1))};let n={};return n[function(){const t=[{string:navigator.userAgent,subString:"Edge",identity:"Edge"},{string:navigator.userAgent,subString:"MSIE",identity:"IE"},{string:navigator.userAgent,subString:"Trident",identity:"IE"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.userAgent,subString:"Opera",identity:"Opera"},{string:navigator.userAgent,subString:"OPR",identity:"Opera"},{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"Safari",identity:"Safari"}];for(let n=0;n<t.length;n++){let r=t[n].string;if(e=t[n].subString,-1!==r.indexOf(t[n].subString))return t[n].identity}return"Other"}()]=!0,n.version=t(navigator.userAgent)||t(navigator.appVersion)||"Unknown",n}static toCamelCase(e){return e.replace(/-([a-z])/g,(function(e){return e[1].toUpperCase()}))}static toDash(e){return e.split(/(?=[A-Z])/).join("-").toLowerCase()}static unescapeHTML(e){return(new DOMParser).parseFromString(e,"text/html").documentElement.textContent}static escapeHTML(e){const t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return String(e).replace(/[&<>"'`=\/]/g,(e=>t[e]))}static sanitizeHTML(e){if(e&&(e.indexOf("onclick")>=0||e.indexOf("onload")>=0||e.indexOf("onerror")>=0))return this.escapeHTML(e);const t=new RegExp("<s*(applet|audio|base|bgsound|embed|form|iframe|isindex|keygen|layout|link|meta|object|script|svg|style|template|video)[^>]*>(.*?)<s*/s*(applet|audio|base|bgsound|embed|form|iframe|isindex|keygen|layout|link|meta|object|script|svg|style|template|video)>","ig");return String(e).replace(t,(e=>this.escapeHTML(e)))}static createGUID(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}static getScriptLocation(){return"./"!==window[n].BaseUrl?window[n].BaseUrl:function(){if(document.currentScript){let e=document.currentScript.src,t=e.lastIndexOf("/");return e=e.substring(0,t),e}const e=new Error;let t="(",n=")";if(Smart.Utilities.Core.Browser.Safari&&(t="@",n="\n"),e.fileName)return e.fileName.replace("/smart.element.js","");let r=e.stack.split(t);return r=r[1],r=r.split(n)[0],r=r.split(":"),r.splice(-2,2),r=r.join(":"),r.replace("/smart.element.js","")}()}static CSSVariablesSupport(){return window.CSS&&window.CSS.supports&&window.CSS.supports("(--fake-var: 0)")}static assign(e,t){const n=e=>e&&"object"==typeof e&&!Array.isArray(e)&&null!==e;let r=Object.assign({},e);return n(e)&&n(t)&&Object.keys(t).forEach((o=>{n(t[o])?o in e?r[o]=this.assign(e[o],t[o]):Object.assign(r,{[o]:t[o]}):Object.assign(r,{[o]:t[o]})})),r}static html(e,t){const n=this;let r="",o=e.childNodes;if(!t){for(let e,t=0,i=o.length;t<i&&(e=o[t]);t++){const t=["strong"];if(e instanceof HTMLElement||e.tagName&&t.indexOf(e.tagName.toLowerCase())>=0){const t=e.tagName.toLowerCase(),o=e.attributes;let i="<"+t;for(let e,t=0;e=o[t];t++)i+=" "+e.name+'="'+e.value.replace(/[&\u00A0"]/g,y.Core.escapeHTML)+'"';i+=">",["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"][t]&&(r+=i),r=r+i+n.html(e)+"</"+t+">"}else{if(8===e.nodeType)continue;r+=e.textContent.replace(/[&\u00A0<>]/g,y.Core.escapeHTML)}}return r}{const n=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi;e.innerHTML=t.replace(n,"<$1></$2>")}}}let l=[];class d{static watch(e){switch(e.nodeName.toLowerCase()){case"smart-grid":case"smart-kanban":case"smart-table":case"smart-pivot-table":case"smart-scheduler":case"smart-tabs":case"smart-card-view":case"smart-list-box":case"smart-combo-box":case"smart-drop-down-list":case"smart-calendar":case"smart-gauge":case"smart-numeric-text-box":case"smart-menu":case"smart-tree":l.push(e);break;default:return}d.start()}static start(){d.isStarted||(d.isStarted=!0,d.interval&&clearInterval(d.interval),0===l.length||document.hidden?d.isStarted=!1:d.interval=setInterval((function(){d.observe()}),100))}static stop(){d.isStarted=!1,d.interval&&clearInterval(d.interval)}static observeElement(e){const t=e;if("test"===window.Smart.Mode||document.hidden)return void(d.interval&&clearInterval(d.interval));let n=e._computedStyle||"resize"!==t.hasStyleObserver?document.defaultView.getComputedStyle(t,null):{},r=!0,o="resize"!==t.hasStyleObserver?["paddingLeft","paddingRight","paddingTop","paddingBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","display","visibility","font-size","font-family","font-style","font-weight","max-height","min-height","max-width","min-width","overflow","overflow-x","overflow-y"]:[];if(e.styleProperties&&(o=o.concat(e.styleProperties)),e.observableStyleProperties&&(o=e.observableStyleProperties),!t._styleInfo){t._styleInfo=[];for(let e=0;e<o.length;e++){const r=o[e],i=r.startsWith("--")?n.getPropertyValue(r):n[r];t._styleInfo[r]=i}return}if(e.isHidden||"none"!==n.display&&(0!==e.offsetWidth&&0!==e.offsetHeight||(e.isHidden=!0)),e.isHidden){if(e.visibilityChangedHandler(),e.isHidden)return;r=!1}let i=[];for(let e=0;e<o.length;e++){const r=o[e],s=r.startsWith("--")?n.getPropertyValue(r):n[r];t._styleInfo[r]!==s&&(i[r]={oldValue:t._styleInfo[r],value:s},i.length++),t._styleInfo[r]=s}i.length>0&&(t.$.fireEvent("styleChanged",{styleProperties:i},{bubbles:!1,cancelable:!0}),i.display&&r&&t.$.fireEvent("resize",t,{bubbles:!1,cancelable:!0}))}static observe(){for(let e=0;e<l.length;e++){const t=l[e];this.observeElement(t)}}static unwatch(e){d.stop();const t=l.indexOf(e);-1!==t&&l.splice(t,1),d.start()}}let c=[];const u=[],p=["resize","down","up","move","tap","taphold","swipeleft","swiperight","swipetop","swipebottom"];class h{constructor(e){const t=this;t.target=e,t.$target=new f(e),t.$document=e.$document?e.$document:new f(document),t.id=(Date.now().toString(36)+Math.random().toString(36).substr(2,5)).toUpperCase();let n={handlers:{},boundEventTypes:[],listen:t.listen.bind(t),unlisten:t.unlisten.bind(t)};return t.tapHoldDelay=750,t.swipeMin=10,t.swipeMax=5e3,t.swipeDelay=1e3,t.tapHoldDelay=750,t.inputEventProperties=["clientX","clientY","pageX","pageY","screenX","screenY"],p.forEach((e=>{n[e]=t=>{n.handlers[e]=t},t[e]=e=>{if(!n.handlers[e.type]){if(("mousemove"===e.type||"pointermove"===e.type||"touchmove"===e.type)&&n.handlers.move){const r=t.createEvent(e,"move");n.handlers.move(r)}return!0}return n.handlers[e.type](e)}})),t.listen(),t.handlers=n.handlers,n}listen(e){const t=this;if("resize"===e&&t.target!==document&&t.target!==window&&!1!==t.target.hasResizeObserver)if(Smart.Utilities.Core.Browser.Firefox){if(!t.target.resizeObserver){let e,n,r,o=!1,i=t.target.offsetWidth,s=t.target.offsetHeight;const a=new ResizeObserver((()=>{if(!o)return void(o=!0);const a=new CustomEvent("resize",{bubbles:!1,cancelable:!0});n=t.target.offsetWidth,r=t.target.offsetHeight,e=n!==i||r!==s,t.target.requiresLayout&&(e=!0),e&&(t.resize(a),t.target.requiresLayout=!1,i=n,s=r)}));a.observe(t.target),t.target.resizeObserver=a}}else if(!t.target.resizeTrigger){const e=document.createElement("div");e.className="smart-resize-trigger-container",e.innerHTML='<div class="smart-resize-trigger-container"><div class="smart-resize-trigger"></div></div><div cla