Alle Baukasten-Dinge für die Distribution an die Server (Konfigurationen und Client-Build)
dh_heyart
vor 8 Std. b34327e4f293210d02e2598f7842f3720f59f961
new build of client, removed config folder since theme.json now is part of the configuration json (layout1.json and layout2.json)
6 Dateien geändert
5 Dateien gelöscht
424 ■■■■ Geänderte Dateien
client/config/theme.json 200 ●●●●● Patch | Ansicht | Raw | Blame | Historie
client/fv.DeOhu3H1.js 1 ●●●● Patch | Ansicht | Raw | Blame | Historie
client/fv.DeOhu3H1.js.map 1 ●●●● Patch | Ansicht | Raw | Blame | Historie
client/vendor/dh.chunk.js 3 ●●●● Patch | Ansicht | Raw | Blame | Historie
client/vendor/dh.chunk.js.map 1 ●●●● Patch | Ansicht | Raw | Blame | Historie
client/vendor/vendor.chunk.js 1 ●●●● Patch | Ansicht | Raw | Blame | Historie
client/vendor/vendor.chunk.js.map 1 ●●●● Patch | Ansicht | Raw | Blame | Historie
client/vendor/wui.chunk.js 3 ●●●● Patch | Ansicht | Raw | Blame | Historie
client/vendor/wui.chunk.js.map 1 ●●●● Patch | Ansicht | Raw | Blame | Historie
configurations/14243/public/layout1.json 202 ●●●●● Patch | Ansicht | Raw | Blame | Historie
configurations/14243/public/layout2.json 10 ●●●●● Patch | Ansicht | Raw | Blame | Historie
client/config/theme.json
Datei wurde gelöscht
client/fv.DeOhu3H1.js
@@ -1,2 +1 @@
import"./vendor/dh.chunk.js";import{h as e,y as t}from"./vendor/wui.chunk.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),document.addEventListener(`readystatechange`,async()=>{await e.Initialized,await t.IsAppReady;let n=document.querySelector(`.catalog-content`);document.body.classList.toggle(`catalog-hidden`,n.childElementCount===0)});
//# sourceMappingURL=fv.DeOhu3H1.js.map
client/fv.DeOhu3H1.js.map
Datei wurde gelöscht
client/vendor/dh.chunk.js
@@ -14450,7 +14450,7 @@
      </div>
    `}};Ui.styles=o`
    ${g(zi)}
  `,Hi([c({type:Boolean,attribute:`open`,reflect:!0})],Ui.prototype,`open`,2),Hi([c({type:String,attribute:`button-variant`,reflect:!0})],Ui.prototype,`btnVariant`,2),Hi([a(`#menu-container`)],Ui.prototype,`menuContainer`,2),Hi([M({bubbles:!0,cancelable:!0,composed:!0},`sidebarOpen`)],Ui.prototype,`sidebarOpen`,2),Ui=Hi([p(`dh-sidebar`)],Ui),Ae(!0);var Wi=!0;try{Wi=!1}catch{}Wi&&(console.log=()=>{},console.debug=()=>{},console.info=()=>{});var R=new class{constructor(){this._components=new Map}get(e){let t=this._components.get(e.toUpperCase());return t===void 0?[]:t}valid(e,t){return e&&e.matches(t)}isElement(e){for(let[t,n]of this._components)for(let t of n)if(t==e)return!0;return!1}register(e){let t=this.get(e.tagName);t??=[],t.includes(e)==0&&t.push(e),this._components.set(e.tagName.toUpperCase(),t)}findAll(e,t=``){let n=this.get(e);if(t.length<1)return n;let r=[];return n.forEach(e=>{this.valid(e,t)&&r.push(e)}),r}find(e,t=``){let n=this.get(e);return t.length<1&&n.length>0?n[0]:n.find(e=>!!(e&&e.matches(t)))}findScrollableParent(e){if(e==null)return;let t=getComputedStyle(e).getPropertyValue(`overflow`);if((e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth)&&!t.includes(`hidden`)&&!t.includes(`visible`)||t.includes(`auto`)||t.includes(`scroll`))return e;let n=this.getParent(e);if(n)return this.findScrollableParent(n)}getParent(e){if(e==null)return;if(e.assignedSlot)return this.getParent(e.assignedSlot);if(e.parentElement)return e.parentElement;let t=e.getRootNode();if(t&&t.host)return t.host}getParentComponent(e){let t=this.getParent(e);if(t!=null)return this.isElement(t)?t:this.getParentComponent(t)}isPartOfHiddenSubtree(e){return e==null?!1:e.hideElement?!0:this.isPartOfHiddenSubtree(this.getParentComponent(e))}doActionRecursiveOnChildren(e,t){for(let r=0;r<e.children.length;++r){let i=e.children.item(r);i&&(i instanceof n&&t(i),this.doActionRecursiveOnChildren(i,t))}if(e instanceof n&&e.renderRoot&&e.renderRoot.children)for(let r=0;r<e.renderRoot.children.length;++r){let i=e.renderRoot.children.item(r);i&&(i instanceof n&&t(i),this.doActionRecursiveOnChildren(i,t))}}getParentShadowRoot(e,t){let n=e;for(;n;){if(n.tagName===t.toUpperCase())return n.shadowRoot;let e=n.getRootNode();n=e instanceof ShadowRoot?e.host:n.parentElement}return null}async waitForAllChildren(e){e.CheckFetchPromise&&await e.CheckFetchPromise(),e.updateComplete&&await e.updateComplete;for(let t=0;t<e.children.length;++t){let n=e.children.item(t);n&&await this.waitForAllChildren(n)}if(e instanceof n&&e.renderRoot&&e.renderRoot.children)for(let t=0;t<e.renderRoot.children.length;++t){let n=e.renderRoot.children.item(t);n&&await this.waitForAllChildren(n)}}},Gi=`.close-symbol{position:relative;cursor:pointer;width:100%;height:100%}.close-symbol.loading{z-index:999}.close-symbol.loading:after,.close-symbol.loading:before{background:#fff}.close-symbol:after,.close-symbol:before{content:" ";position:absolute;width:100%;height:1px;top:50%;background:var(--close-symbol-background, #888);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0}.close-symbol:after:hover,.close-symbol:before:hover{background:var(--close-symbol-background-hover, #333)}.close-symbol:after{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);transform:rotate(-45deg)}.close-symbol:before{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg)}:host(.active) .circle-number-symbol{border:var(--circle-number-symbol-border-active, 2px solid #000000)}.circle-number-symbol{position:relative;width:var(--circle-number-symbol-size, 30px);height:var(--circle-number-symbol-size, 30px);border-radius:50%;border:var(--circle-number-symbol-border, 2px solid white);box-shadow:var(--circle-number-symbol-box-shadow, 1px 2px 5px 0 black);background:var(--circle-number-symbol-background, var(--primary-color, red));color:var(--circle-number-symbol-color, var(--primary-text-color, black));display:flex;justify-content:center;align-items:center}.custom-symbol{position:relative;cursor:pointer;left:10px;display:flex}.custom-symbol.up:after{background-image:var(--custom-symbol-image-down, url(/webui/images/minus.svg));content:"";height:18px}.custom-symbol.down:after{background-image:var(--custom-symbol-image-down, url(/webui/images/plus.svg));content:"";height:18px}.custom-symbol:after{color:#1e1e1e;padding:0 0 2px;margin:auto 0;pointer-events:none;transform:translate(-15px);width:18px}.accordion-symbol{position:relative;cursor:pointer;left:10px;display:flex}.accordion-symbol.up:after{content:"-";font-size:xx-large;transform:scaleX(2) translate(-4px)}.accordion-symbol.down:after{content:"+";font-size:xx-large}.accordion-symbol:after{color:#1e1e1e;padding:0 0 2px;margin:auto 0;pointer-events:none;transform:translate(-15px);width:18px}.chevron-symbol{position:relative;cursor:pointer;left:10px}.chevron-symbol.up:after{content:"<"}.chevron-symbol.down:after{content:">"}.chevron-symbol:after{font:17px Consolas,monospace;color:inherit;-webkit-transform:rotate(90deg) translateX(-100%);-moz-transform:rotate(90deg) translateX(-100%);-ms-transform:rotate(90deg) translateX(-100%);transform:rotate(90deg) translate(-100%);padding:0 0 2px;position:absolute;pointer-events:none}@media(width>=980px){.only-mobile{display:none!important}}@media(width<=980px){.only-desktop{display:none!important}}.bold{font-weight:var(--global-font-weight-bold, 600)}*{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:var(--global-font, Roboto, sans-serif);font-weight:var(--global-font-weight, 400)}.container{display:flex;margin:10px 0}.container.column{flex-direction:column}.container.column.reverse{flex-direction:column-reverse}.container.row{flex-direction:row}.container.row.reverse{flex-direction:row-reverse}.fluid{flex:1}.fluid.space-after{margin-right:55px}.hidden{display:none!important}:host(.mobile-mode-hide),.mobile-mode-hide{display:none!important}.invisible{visibility:hidden!important}:host(.invisible-scroll),.invisible-scroll{overflow:hidden;margin-right:-22px}:host(.invisible-scroll)>:first-child,.invisible-scroll>:first-child{overflow-y:scroll;overflow-x:hidden;padding-right:22px;box-sizing:content-box}:host(.invisible-scroll.bottom),.invisible-scroll.bottom{overflow:hidden;margin-right:unset}:host(.invisible-scroll.bottom)>:first-child,.invisible-scroll.bottom>:first-child{overflow-x:scroll;overflow-y:hidden;padding-right:unset;padding-bottom:22px;margin-bottom:-22px;box-sizing:content-box}:host([disabled]){pointer-events:none;filter:contrast(.5) grayscale(1)}*{scrollbar-color:#5c5c5c hsla(0,0%,100%,.0039215686);scrollbar-width:thin}*[disabled][isfv]{pointer-events:none;filter:contrast(.5) grayscale(1)}::-webkit-scrollbar{height:8px;width:8px;background:#fff0}::-webkit-scrollbar-corner{background:#fff0}::-webkit-scrollbar-thumb{background:#5c5c5c;-webkit-border-radius:8px}::-webkit-scrollbar-button:vertical:start:increment,::-webkit-scrollbar-button:vertical:end:decrement,::-webkit-scrollbar-button:horizontal:end:increment,::-webkit-scrollbar-button:horizontal:end:decrement,::-webkit-scrollbar-button{background-color:#0000;color:#0000;border:none}:host{scrollbar-color:var(--base-scrollbar-color, unset);scrollbar-width:var(--base-scrollbar-width, unset)}:host(.invisible){visibility:hidden}:host(:focus-visible){outline:2px solid Highlight;outline-offset:-2px}@media(width<=520px){:host([mobile-mode=hide]){display:none!important}}@media(width>=520px)and (width<=980px){:host([mobile-mode=hide]){display:none!important}}@media(width>=981px){:host([mobile-mode=show]){display:none!important}}
  `,Hi([c({type:Boolean,attribute:`open`,reflect:!0})],Ui.prototype,`open`,2),Hi([c({type:String,attribute:`button-variant`,reflect:!0})],Ui.prototype,`btnVariant`,2),Hi([a(`#menu-container`)],Ui.prototype,`menuContainer`,2),Hi([M({bubbles:!0,cancelable:!0,composed:!0},`sidebarOpen`)],Ui.prototype,`sidebarOpen`,2),Ui=Hi([p(`dh-sidebar`)],Ui),Ae(!0);var Wi=!0;try{Wi=!0}catch{}Wi&&(console.log=()=>{},console.debug=()=>{},console.info=()=>{});var R=new class{constructor(){this._components=new Map}get(e){let t=this._components.get(e.toUpperCase());return t===void 0?[]:t}valid(e,t){return e&&e.matches(t)}isElement(e){for(let[t,n]of this._components)for(let t of n)if(t==e)return!0;return!1}register(e){let t=this.get(e.tagName);t??=[],t.includes(e)==0&&t.push(e),this._components.set(e.tagName.toUpperCase(),t)}findAll(e,t=``){let n=this.get(e);if(t.length<1)return n;let r=[];return n.forEach(e=>{this.valid(e,t)&&r.push(e)}),r}find(e,t=``){let n=this.get(e);return t.length<1&&n.length>0?n[0]:n.find(e=>!!(e&&e.matches(t)))}findScrollableParent(e){if(e==null)return;let t=getComputedStyle(e).getPropertyValue(`overflow`);if((e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth)&&!t.includes(`hidden`)&&!t.includes(`visible`)||t.includes(`auto`)||t.includes(`scroll`))return e;let n=this.getParent(e);if(n)return this.findScrollableParent(n)}getParent(e){if(e==null)return;if(e.assignedSlot)return this.getParent(e.assignedSlot);if(e.parentElement)return e.parentElement;let t=e.getRootNode();if(t&&t.host)return t.host}getParentComponent(e){let t=this.getParent(e);if(t!=null)return this.isElement(t)?t:this.getParentComponent(t)}isPartOfHiddenSubtree(e){return e==null?!1:e.hideElement?!0:this.isPartOfHiddenSubtree(this.getParentComponent(e))}doActionRecursiveOnChildren(e,t){for(let r=0;r<e.children.length;++r){let i=e.children.item(r);i&&(i instanceof n&&t(i),this.doActionRecursiveOnChildren(i,t))}if(e instanceof n&&e.renderRoot&&e.renderRoot.children)for(let r=0;r<e.renderRoot.children.length;++r){let i=e.renderRoot.children.item(r);i&&(i instanceof n&&t(i),this.doActionRecursiveOnChildren(i,t))}}getParentShadowRoot(e,t){let n=e;for(;n;){if(n.tagName===t.toUpperCase())return n.shadowRoot;let e=n.getRootNode();n=e instanceof ShadowRoot?e.host:n.parentElement}return null}async waitForAllChildren(e){e.CheckFetchPromise&&await e.CheckFetchPromise(),e.updateComplete&&await e.updateComplete;for(let t=0;t<e.children.length;++t){let n=e.children.item(t);n&&await this.waitForAllChildren(n)}if(e instanceof n&&e.renderRoot&&e.renderRoot.children)for(let t=0;t<e.renderRoot.children.length;++t){let n=e.renderRoot.children.item(t);n&&await this.waitForAllChildren(n)}}},Gi=`.close-symbol{position:relative;cursor:pointer;width:100%;height:100%}.close-symbol.loading{z-index:999}.close-symbol.loading:after,.close-symbol.loading:before{background:#fff}.close-symbol:after,.close-symbol:before{content:" ";position:absolute;width:100%;height:1px;top:50%;background:var(--close-symbol-background, #888);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0}.close-symbol:after:hover,.close-symbol:before:hover{background:var(--close-symbol-background-hover, #333)}.close-symbol:after{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);transform:rotate(-45deg)}.close-symbol:before{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg)}:host(.active) .circle-number-symbol{border:var(--circle-number-symbol-border-active, 2px solid #000000)}.circle-number-symbol{position:relative;width:var(--circle-number-symbol-size, 30px);height:var(--circle-number-symbol-size, 30px);border-radius:50%;border:var(--circle-number-symbol-border, 2px solid white);box-shadow:var(--circle-number-symbol-box-shadow, 1px 2px 5px 0 black);background:var(--circle-number-symbol-background, var(--primary-color, red));color:var(--circle-number-symbol-color, var(--primary-text-color, black));display:flex;justify-content:center;align-items:center}.custom-symbol{position:relative;cursor:pointer;left:10px;display:flex}.custom-symbol.up:after{background-image:var(--custom-symbol-image-down, url(/webui/images/minus.svg));content:"";height:18px}.custom-symbol.down:after{background-image:var(--custom-symbol-image-down, url(/webui/images/plus.svg));content:"";height:18px}.custom-symbol:after{color:#1e1e1e;padding:0 0 2px;margin:auto 0;pointer-events:none;transform:translate(-15px);width:18px}.accordion-symbol{position:relative;cursor:pointer;left:10px;display:flex}.accordion-symbol.up:after{content:"-";font-size:xx-large;transform:scaleX(2) translate(-4px)}.accordion-symbol.down:after{content:"+";font-size:xx-large}.accordion-symbol:after{color:#1e1e1e;padding:0 0 2px;margin:auto 0;pointer-events:none;transform:translate(-15px);width:18px}.chevron-symbol{position:relative;cursor:pointer;left:10px}.chevron-symbol.up:after{content:"<"}.chevron-symbol.down:after{content:">"}.chevron-symbol:after{font:17px Consolas,monospace;color:inherit;-webkit-transform:rotate(90deg) translateX(-100%);-moz-transform:rotate(90deg) translateX(-100%);-ms-transform:rotate(90deg) translateX(-100%);transform:rotate(90deg) translate(-100%);padding:0 0 2px;position:absolute;pointer-events:none}@media(width>=980px){.only-mobile{display:none!important}}@media(width<=980px){.only-desktop{display:none!important}}.bold{font-weight:var(--global-font-weight-bold, 600)}*{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:var(--global-font, Roboto, sans-serif);font-weight:var(--global-font-weight, 400)}.container{display:flex;margin:10px 0}.container.column{flex-direction:column}.container.column.reverse{flex-direction:column-reverse}.container.row{flex-direction:row}.container.row.reverse{flex-direction:row-reverse}.fluid{flex:1}.fluid.space-after{margin-right:55px}.hidden{display:none!important}:host(.mobile-mode-hide),.mobile-mode-hide{display:none!important}.invisible{visibility:hidden!important}:host(.invisible-scroll),.invisible-scroll{overflow:hidden;margin-right:-22px}:host(.invisible-scroll)>:first-child,.invisible-scroll>:first-child{overflow-y:scroll;overflow-x:hidden;padding-right:22px;box-sizing:content-box}:host(.invisible-scroll.bottom),.invisible-scroll.bottom{overflow:hidden;margin-right:unset}:host(.invisible-scroll.bottom)>:first-child,.invisible-scroll.bottom>:first-child{overflow-x:scroll;overflow-y:hidden;padding-right:unset;padding-bottom:22px;margin-bottom:-22px;box-sizing:content-box}:host([disabled]){pointer-events:none;filter:contrast(.5) grayscale(1)}*{scrollbar-color:#5c5c5c hsla(0,0%,100%,.0039215686);scrollbar-width:thin}*[disabled][isfv]{pointer-events:none;filter:contrast(.5) grayscale(1)}::-webkit-scrollbar{height:8px;width:8px;background:#fff0}::-webkit-scrollbar-corner{background:#fff0}::-webkit-scrollbar-thumb{background:#5c5c5c;-webkit-border-radius:8px}::-webkit-scrollbar-button:vertical:start:increment,::-webkit-scrollbar-button:vertical:end:decrement,::-webkit-scrollbar-button:horizontal:end:increment,::-webkit-scrollbar-button:horizontal:end:decrement,::-webkit-scrollbar-button{background-color:#0000;color:#0000;border:none}:host{scrollbar-color:var(--base-scrollbar-color, unset);scrollbar-width:var(--base-scrollbar-width, unset)}:host(.invisible){visibility:hidden}:host(:focus-visible){outline:2px solid Highlight;outline-offset:-2px}@media(width<=520px){:host([mobile-mode=hide]){display:none!important}}@media(width>=520px)and (width<=980px){:host([mobile-mode=hide]){display:none!important}}@media(width>=981px){:host([mobile-mode=show]){display:none!important}}
`,Ki=Object.defineProperty,qi=(e,t,n,r)=>{for(var i=void 0,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=o(t,n,i)||i);return i&&Ki(t,n,i),i},Ji=class extends CustomEvent{constructor(e){super(`hide-state-updated-event`,{detail:e,bubbles:!1})}},Yi=(e=>{let t=class t extends e{constructor(){super(...arguments),this.hideElement=!1,this.hiddenClasses=[`hidden`]}dispatchHideStateUpdatedEvent(){this.dispatchEvent(new Ji({value:this.hideElement,"parent-state-changed":!1})),t.dispatchEventRecursiveToChildren(this,new Ji({value:this.hideElement,"parent-state-changed":!0}))}addHideStateUpdatedEventListener(e){let t=t=>{t.detail?.value!==void 0&&t.detail[`parent-state-changed`]!==void 0&&e(t.detail.value,t.detail[`parent-state-changed`])};return this.addEventListener(`hide-state-updated-event`,t),()=>this.removeEventListener(`hide-state-updated-event`,t)}anyHiddenClassInArray(e){return this.hiddenClasses.some(t=>e.includes(t))}connectedCallback(){super.connectedCallback?.(),this.hiddenClasses.some(e=>this.classList.contains(e))&&(this.hideElement=!0)}attributeChangedCallback(e,t,n){if(super.attributeChangedCallback?.(e,t,n),e===`hidden-classes`&&t!=null){let e=JSON.parse(t);this.classList.remove(...e),this.hideElement&&this.classList.add(...this.hiddenClasses)}e===`hide-element`&&(this.hideElement?(this.classList.add(...this.hiddenClasses),this.ariaHidden=`true`):(this.classList.remove(...this.hiddenClasses),this.ariaHidden=null),this.dispatchHideStateUpdatedEvent()),e===`hide-element`&&(this.hideElement?this.ariaHidden=`true`:this.ariaHidden=null)}static dispatchEventRecursiveToChildren(e,t){R.doActionRecursiveOnChildren(e,e=>{e.dispatchEvent(t)})}};return qi([T({type:Boolean,reflect:!0,attribute:`hide-element`})],t.prototype,`hideElement`),qi([T({type:Array,reflect:!0,attribute:`hidden-classes`})],t.prototype,`hiddenClasses`),t})(n),Xi=class extends CustomEvent{constructor(e,t){super(e,{detail:{state:e,data:t},bubbles:!1}),this._pending=[]}waitUntil(e){e&&typeof e.then==`function`&&this._pending.push(e)}whenSettled(){return this._pending.length===0?Promise.resolve():Promise.allSettled(this._pending)}},Zi=class{constructor(e,t){this._counters=[],this._maxIncrements=0,this._maxIncrements=t,(typeof this._maxIncrements!=`number`||this._maxIncrements<=0||Math.floor(this._maxIncrements)!==this._maxIncrements)&&(this._maxIncrements=10),(typeof e!=`number`||e<0)&&(e=0);for(var n=0;n<e;n++)this._counters.push(0)}increment(){if(this.size===0)return!1;var e,t=1;for(e=this.size-1;e>=0&&t>0;e--)this._counters[e]+=t,this._counters[e]>=this._maxIncrements?(this._counters[e]-=this._maxIncrements,t=1):t=0;if(t>0){for(e=0;e<this.size;e++)this._counters[e]=0;return!1}return!0}get(e){if(!(e>this.size))return this._counters[e]}getAll(){return JSON.stringify(this._counters)}get size(){return this._counters.length}get empty(){return this.size<1}accumulateAfterIndex(e){let t=0;for(let n=e;n<this.size;++n){let e=this.get(n);e!=null&&(t+=e)}return t}get fullLoopCount(){return this.empty?1:this._maxIncrements**+this.size}},z=new class{constructor(){this._data={},this._groups=[],this._dataRequestStateHolder=void 0,this._dataRequest=void 0,this.SetCounter=0}async Fetch(e,t){return await j.IsAppReady,this._dataRequestStateHolder==null?(this._dataRequest=ve.GetApiData(e,t),this._dataRequestStateHolder=this._dataRequest,this._data=await this._dataRequest,this._dataRequestStateHolder=void 0,this._data):await this._dataRequestStateHolder}get DataPromise(){return this._dataRequest==null?Promise.resolve(this.Data):this._dataRequest}get Data(){return this._data}set Data(e){this._data=e}get Groups(){return this._groups=Object.keys(this._data),this._groups}get Valid(){return!(this.Data==null||this.Groups.length<1)}GetGroup(e,t,n){if(n!=null&&n!=``&&e!=n){let r=n.split(`#`),i=t;for(let e of r){let t=i[e];t!==void 0&&t!==`list`&&t.type!==void 0&&t.type==`list`&&(i=t)}return Object.keys(i).includes(e)?i[e]:{type:``}}let r=Object.keys(t);if(r.includes(e))return t[e];for(let i of r){let r=t[i];if(r.type!=`list`)continue;let a=this.GetGroup(e,r,n);if(!(a==null||a.type!=`list`))return a}return{type:``}}Get(e,t,n){let r=this.GetGroup(e,this.Data,t);if(r.type==``)return{type:``};if(e==n||n==null)return r;let i={type:``};return this.ForEachRecursive(r,(e,t)=>n==t?(i=e,!0):!1)?i:{type:``}}GetGroupValuesCount(e,t,n){let r=z.Get(e,t,n);if(r==null||r.type===``)return 0;let i=Object.keys(r);return i.length<8?(console.error(`ConfiguratorApi Data wrong! incomplete!`,r),0):i.length-8}GetValueInfoList(e,t){let n=z.Get(e,t);return n==null?{}:n[`info-list`]??{}}GetValueInfo(e,t,n){let r=this.GetValueInfoList(e,t),i=[];return n.forEach(e=>{r[e]!=null&&i.push(r[e])}),i}ForEachRecursive(e,t){let n=e??this.Data,r=e==null?this.Groups:Object.keys(e);for(let e of r){let r=n[e];if(r.type==null||r.type==``)continue;let i=t(r,e);if(r.type==`list`&&!i&&this.ForEachRecursive(r,t)&&(i=!0),i)return!0}return!1}Exists(e){return this.ForEachRecursive(void 0,(t,n)=>e==n)}CreateFormElementCounterStack(e,t,n){let r=0,i=0;if(this.FindCountersInDefinition(t).length>0){let t=Object.keys(e);for(let e of t){let t=e.replace(n,``).match(/\d+/g);if(t){i<t.length&&(i=t.length);for(let e of t){let t=parseInt(e);t>r&&(r=t)}}}}return r+=1,new Zi(i,r)}GetElementsToCreateFromElementDefinition(e,t,n,r,i){let a=this.CreateFormElementCounterStack(t,n,r),o=a.fullLoopCount,s=[];for(let t=0;t<o;++t){for(let t of n){if(t.tag===void 0){let n=t,o=!1;for(let t of n.elements){let[n,s]=this.FindElementDataFromFormElementInfo(t,e,a,r,i);s===void 0&&n===void 0||(o=!0)}o&&s.push(n);continue}let n=t;if(n.name===void 0&&n.names==null)continue;let[o,c]=this.FindElementDataFromFormElementInfo(n,e,a,r,i);c===void 0&&o===void 0||s.push({tag:n.tag,name:o,names:c,attributes:n.attributes,styleVars:n.styleVars})}a.increment()}return s}FindCountersInDefinition(e){let t=[];for(let n of e){if(n.tag===void 0){let e=n;this.FindCountersInDefinition(e.elements).length>0&&t.push(e);continue}let e=n;if(!(e.name===void 0&&e.names==null)){if(e.name!=null){e.name.includes(`|>counter-`)&&t.push(e);continue}if(e.names!=null)for(let n of e.names)n.includes(`|>counter-`)&&t.push(e)}}return t}CheckDefinitionAgainstvalueElementName(e,t){let n=[],r=e.split(`|>counter-`);if(r.length>1)for(let e of r){let t=e,r=e.indexOf(`<|`);if(r>0){let n=e.slice(0,r+2);t=e.replace(n,``)}t.length>0&&n.push(t)}else return t==e;let i=!0,a=t;for(let e of n){if(!a.includes(e)){i=!1;break}a=a.replace(e,``)}return i}FindElementDataFromFormElementInfo(e,t,n,r,i){let a;if(e.name!==void 0){let o=this.FindElementData(e.name,t,n,r,i);o!==void 0&&(a=o.type===`list`?e.name:o.name)}let o;if(e.names!==void 0){let a=[];for(let o of e.names)this.FindElementData(o,t,n,r,i)!=null&&a.push(o);a.length>0&&(o=a)}return[a,o]}FindElementData(e,t,n,r,i){let a=this.GetGroup(t,this.Data,i);if(a.type==``)return{type:``};if(n==null||n.empty){let t=a[r+e];if(t!=null)return t;let n;return this.ForEachRecursive(a,(t,i)=>t.type==`list`?(n=t[r+e],!0):!1),n}let o={type:``};if(this.ForEachRecursive(a,(t,i)=>{let a=i.replace(r,``);if(!this.CheckDefinitionAgainstvalueElementName(e,a))return!1;let s=a.match(/\d+/g);if(!s)return o=t,!0;let c=e.match(/\|>counter-\d+<\|/g);if(c!=null&&c.length!=s.length||s.length<n.size&&n.accumulateAfterIndex(s.length)>0)return!1;let l=0;for(let e=0;e<s.length;++e){let t=n.get(e);if(parseInt(s[e])!=t)break;++l}return l==s.length?(o=t,!0):!1}))return o.type===``?void 0:o}CreateFullTargetGroupReference(e,t){return t==e||t.length<1?e:t+`#`+e}async Set(e,t=!1,n=!1){if(this.SetCounter>0)return!1;this.SetCounter++,this.SetCounter>1&&console.warn(`ConfiguratorApiDataService> multiple set called at the same time!`);let r=await ve.SetApiData({groups:e,"prevent-regen-all":t},n);return this.Data=r,--this.SetCounter,!0}GetModificationType(e){return e==`int`?`int`:e==`float`?`float`:e==`button`?`button`:e==`checkbox`?`int`:e==`option-selection`||e==`string`?`string`:`error`}},Qi={width:`v5`,depth:`v6`,height:`v7`},$i={[Qi.width]:`extraWidth`,[Qi.depth]:`extraDepth`,[Qi.height]:`extraHeight`},ea=new class{constructor(){this._pending=!1,this.isInitialized=new Promise((e,t)=>e([])),this._manufacturer=``,this._program=``}async GetCatConfig(){return await this.isInitialized}async parseCatConfig(e,t){return(await O.getCatConfig(e,t))?.cat_config?.map(e=>({category:e[0],attributes:e[1].split(`#`),defaultArt:e[2],module:e[3],group:e[4]}))||[]}async retrieveCatConfig(e,t){return this._pending&&await this.isInitialized,this._pending=!0,this.isInitialized=this.parseCatConfig(e,t),this.isInitialized.then(e=>this._pending=!1),this._manufacturer=e,this._program=t,await this.isInitialized}async filterArticlesList(e){let t=await this.isInitialized;return t?.length>0?e.filter(e=>t[0]?.defaultArt!==e.ArtNr):e}async filterKataModules(e){let t=await this.isInitialized;return t?.length>0?e.filter(e=>t[0]?.category!=e.id):e}async getInitialArticle(e,t){let n=await this.isInitialized,r=this._manufacturer;t||=this._program;let i=this.getConfigurationDefaultArticle(r,t);return i.length>0?i:n[0]?.defaultArt||e}async shouldDisableOnSceneEmpty(e){await j.IsAppReady;let t=await O.getPlannedArticles();return t=t.filter(e=>e.articlenumber),e&&t.length===0}getMinMaxByParamName(e,t,n=1){let r=0,i=0;switch(e){case`v5`:r=Number(t.dxmi),i=Number(t.dxma);break;case`v6`:r=Number(t.dymi),i=Number(t.dyma);break;case`v7`:r=Number(t.dzmi),i=Number(t.dzma);break}let a=[r,i];return a.forEach((e,t,r)=>{r[t]=Math.abs(r[t])*n}),a}getAdditionalParamByKey(e,t){return $i[e]||t}getVarKeyForDimension(e){return Qi[e]}getAdditionalProperties(e,t){let n={};return n[this.getAdditionalParamByKey(e)]=t,n}getConfigurationDefaultArticle(e,t){if(window.g_configuration.defaultArticleList){let n=`${e}_${t}`;for(let e of window.g_configuration.defaultArticleList.keys)if(e.key===n.toLowerCase())return e.articleNumber}return``}},ta=new class{constructor(){this._pending=!1,this.isInitialized=new Promise((e,t)=>e()),this._manufacturer=``,this._calcManufacturer=``,this._program=``,this.isInitialized=this.initialize()}async initialize(){await j.IsAppReady,this._manufacturer=window.g_article?.manu||window.g_configuration.selectedManufacturer,this._program=window.g_article?.prog?window.g_article.prog.toUpperCase():window.g_configuration.selectedProgram.toUpperCase(),this._calcManufacturer=this._manufacturer,await ea.retrieveCatConfig(this._manufacturer,this._program)}async getManufacturer(){return await this.isInitialized,this._manufacturer}async getCalcManufacturer(){return await this.isInitialized,this._calcManufacturer}async getProgram(){return await this.isInitialized,this._program}async setManuProg(e,t,n,r=!0){if(this._pending)return await this.isInitialized;this._pending=!0,this.isInitialized=O.setManuProg(e,t,n),await ea.retrieveCatConfig(e,n),this.isInitialized.then(e=>this._pending=!1),await this.isInitialized,r&&pe.emit(`set-manu-prog`,{manu:e,calcManu:t,prog:n}),this._manufacturer=e,this._calcManufacturer=t,this._program=n}},na=new class{async getFurncloudFile(e,t,n){let r=await O.getErpFiles(e,{dhp:1,xml:2,pdf:4}[t],n,!0);if(window.dispatchEvent(new CustomEvent(`furncloud-status`,{detail:r,bubbles:!0,composed:!0})),r.httpStatus!==200||!r.fileName){if(r.responseBody)try{return JSON.parse(r.responseBody)}catch{}return}return{url:`${r.server}/downloadExport/${r.sessionId}/${r.fileName}/${t}`}}async generateExport(e){let t=await O.generateExport(e);return{url:`${t.server}/downloadExport/${t.sessionId}/${t.file}/${e}`,cloudID:t.cloudId}}async getPDF(e=!1){let t=await O.printPDF(e);return{url:`${t.server}/downloadPDF/${t.sessionId}/${t.pdf}`,cloudID:t.cloudId}}async openCloudId(e,t=!1){e&&(t&&await O.resetCurrentUserinterfaceManuProg(),await O.openCloudId(e),pe.emitAsync(`close-modal`,{}))}async delay(e){return new Promise(t=>setTimeout(t,e))}querySelectorAllWithShadowRoots(e,t=document){let n=Array.from(t.querySelectorAll(e)),r=Array.from(document.querySelectorAll(`*`)).filter(e=>e.shadowRoot).reduce((t,n)=>{let r=n.shadowRoot?.querySelectorAll(e)||[];return[...t,...Array.from(r)]},[]);return[...n,...r]}querySelectorWithShadowRoots(e,t=document){return this.querySelectorAllWithShadowRoots(e,t)[0]}replaceValueInObject(e,t,n){let r=Object.keys(e);for(let i of r){let r=e[i];if(r===t)e[i]=n;else if(r&&typeof r==`object`)this.replaceValueInObject(r,t,n);else if(r&&Array.isArray(r))for(let e of r)e&&typeof e==`object`&&this.replaceValueInObject(e,t,n)}}checkCssQuerySyntax(e){return/^(\*|#[\w-]+|\.[\w-]+|[\w-]+|\[\w+(=\w+)?\])(:\w+)?(>\w+)?(\s\w+)?$/.test(e)}ncrToUTF8(e){return e&&e.length>0?e.replace(/&#([0-9]+);/g,function(e){return String.fromCodePoint(parseInt(e.slice(2,-1)))}):e}sanitizeKey(e){return`${e}`.replace(/\s+/g,`_`)}},ra=new class{constructor(){this.cloudIdRegex=/^(?:\s*[a-z0-9]\s*){8}$/i,this._pending=!1,this._cloudIdPromise=new Promise((e,t)=>e(``))}async getCloudId(){return this._cloudIdPromise}async createCloudId(){return this._pending?await this._cloudIdPromise:(this._pending=!0,this._cloudIdPromise=O.createCloudID(),this._cloudIdPromise.then(e=>this._pending=!1),await this._cloudIdPromise)}isCloudIdValid(e){return this.cloudIdRegex.test(e)}},ia=new class{constructor(){this._prefix=`SSS_`}update(e,t){if(e.length>0){let n=JSON.stringify(t),r=btoa(n);sessionStorage.setItem(this._prefix+e,r)}return t}get(e){if(e.length>0){let t=sessionStorage.getItem(this._prefix+e);if(t){let e=atob(t);try{return JSON.parse(e)}catch{return null}}}}has(e){if(e.length>0)return!!sessionStorage.getItem(this._prefix+e)}remove(e){sessionStorage.removeItem(this._prefix+e)}},aa=new class{constructor(){this._CardContainerTagNames=[]}get CardContainerTagNames(){return this._CardContainerTagNames}AddTagName(e){this._CardContainerTagNames.includes(e)||this._CardContainerTagNames.push(e)}get AllContainers(){let e=[];for(let t of this._CardContainerTagNames)e.push(...R.findAll(t));return e}};function oa(e){return`value`in e&&`name`in e}var sa=(e=>(e.ArticlesByCategories=`articles-by-categories`,e.ArticlesByCategoriesConfiguratorForm=`articles-by-categories-configurator-form`,e.ArticlesByCategoriesDimensions=`articles-by-categories-dimensions`,e.ArticlesByCategoriesCategorySelection=`articles-by-categories-category-selection`,e.CrossArticleHostSelection=`cross-article-host-selection`,e.KataPageSelection=`kata-page-selection`,e.PropertySelection=`property-selection`,e.PropertyValueSelection=`property-value-selection`,e.PropertyContextSelection=`property-context-selection`,e.PropertyContextValueSelection=`property-context-value-selection`,e.PropertyUiGroupSelection=`property-group-selection`,e.LandingPageView=`landing-page-view`,e.CardsFromConfiguration=`cards-from-configuration`,e.WallElements=`wall-elements`,e.WallSelection=`wall-selection`,e.ConfiguratorFormFilter=`configurator-form-filter`,e.ProgramSelection=`program-selection`,e.PlacerGroupSelection=`placer-group-selection`,e.MaterialSelection=`material-selection`,e.NONE=``,e))(sa||{}),ca=(e=>(e.OR=`or`,e.AND=`and`,e.NONE=`none`,e))(ca||{}),B=(e=>(e.FETCH=`fetch`,e.FILTER=`filter`,e.NONE=`none`,e))(B||{}),la=(e=>(e.ENABLED=`enabled`,e.DISABLED=`disabled`,e.NONE=`none`,e.ERROR=`error`,e))(la||{}),ua=`fixed-card-click-events`,da=`card-view-key`,fa=`magnify`,pa=`magnify-query`,ma=(e=>(e.CardContainerPreFill=`cardcontainerprefill`,e.CardContainerPostFill=`cardcontainerpostfill`,e.Updated=`updated`,e.Back=`cardcontainerback`,e.TriggerCardClick=`cardcontainertriggercardclick`,e.BackToStart=`cardcontainerbacktostart`,e.UpdateAdditionalData=`updateadditionaldata`,e.ResetFilter=`resetfilter`,e.Refetch=`refetch`,e.CardMagnified=`cardmagnified`,e))(ma||{}),ha=class{constructor(e){this._dispatchFn=e}async dispatch(e){return new Promise(t=>{let n;n=e(async()=>{t(!n.defaultPrevented)}),this._dispatchFn(n)})}callPostEvent(e){e.detail===void 0||e.detail[`post-event`]===void 0||e.detail[`post-event`]()}},ga=class extends CustomEvent{constructor(e,t){super(e,{detail:t,bubbles:!0})}},_a=class extends ga{constructor(e){super(`cardcontainerprefill`,{"post-event":e})}},va=class extends ga{constructor(e){super(`cardcontainerpostfill`,{"post-event":e})}},ya=class extends ga{constructor(e,t){super(`updated`,{"post-event":e,container:t})}},ba=class extends ga{constructor(e){super(`cardcontainerback`,{"post-event":e})}},xa=class extends ga{constructor(e){super(`cardcontainerbacktostart`,{"post-event":e})}},Sa=class extends ga{constructor(e,t){super(`cardcontainertriggercardclick`,{"keys-to-open":e,"post-event":t})}},Ca=class extends ga{constructor(e,t){super(`updateadditionaldata`,{"post-event":t,key:e})}},wa=class extends ga{constructor(e){super(`resetfilter`,e)}},Ta=class extends ga{constructor(e,t,n=()=>{}){super(`cardmagnified`,{"post-event":n,data:e,target:t})}},V=(e=>(e.LastPOLoaded=`last-po-loaded`,e.RefreshPropertyPanel=`refresh-property-panel`,e.SelectionChanged=`selection-changed`,e.DeleteLO_after=`delete-lo-after`,e.PropTransfer_afterDelete=`prop-transfer-after-delete`,e.PropTransfer_afterSet=`prop-transfer-after-set`,e.PropTransfer_beforeDelete=`prop-transfer-before-delete`,e.PropTransfer_beforeSet=`prop-transfer-before-set`,e.WallFitting_begin=`wall-fitting-begin`,e.WallFitting_end=`wall-fitting-end`,e.WallFitting_cancel=`wall-fitting-cancel`,e.ChangePrice=`change-price`,e.DeleteLO_before=`delete-lo-before`,e.CameraOnDirty=`camera-on-dirty`,e.CameraOnStart=`camera-on-start`,e.CameraOnEnd=`camera-on-end`,e.SendEvent=`send-event`,e.ModalWindowShown=`modal-window-shown`,e.ModalWindowHidden=`modal-window-hidden`,e.CustomIcon_ExecuteCustomEvent=`custom-icon-execute-custom-event`,e.OpenModal=`open-modal`,e.CardContainerVisible=`card-container-visible`,e.VPlacerCancel=`vplacer-cancel`,e))(V||{}),Ea=(e=>(e.CheckUpdate=`CheckUpdate`,e.Fetch=`Fetch`,e.Filter=`Filter`,e.CreateCards=`CreateCards`,e.GetFilterSelectionAdditionalParams=`GetFilterSelectionAdditionalParams`,e.GetFilterSelectionStrategy=`GetFilterSelectionStrategy`,e.InitFilterSelectionParams=`InitFilterSelectionParams`,e.ClickCard=`ClickCard`,e.ClickCardButton=`ClickCardButton`,e.TextFieldChanged=`TextFieldChanged`,e.CheckSpecialInteractionContext=`CheckSpecialInteractionContext`,e))(Ea||{}),H=new class{constructor(){this._Connections=new Map,this._Containers=[],this._dragActive=!1,this._RegisterUpdateEvents()}async _RegisterUpdateEvents(){let e=async(e,t)=>{if(!this._dragActive)for(let n of this._Containers){let r=this._Connections.get(n.Settings.Fetch.method);if(r==null)continue;let i=await r.CheckUpdate(e,t,n.Context);await n.CheckUpdate(i)}},t=(t,n,r)=>{t.register(t=>{e(n,t),r&&r(t)})};await j.IsAppReady,j.on(`webui.start-drag`,()=>{console.log(`drag start`),this._dragActive=!0}),j.on(`webui.end-drag`,()=>{console.log(`drag end`),this._dragActive=!1}),t(k.LastPOLoaded,V.LastPOLoaded),t(k.VPlacerCancel,V.VPlacerCancel),t(k.RefreshPropertyPanel,V.RefreshPropertyPanel),t(k.SelectionChanged,V.SelectionChanged,async e=>{for(let t of this._Containers){if(t.Settings.Behaviour[`connection-defined-interaction-on-selection-change`]==0)continue;let n=this._Connections.get(t.Settings.Fetch.method);if(n==null)continue;let r=t.Settings.Card[`app-connection-settings`][`pre-selection-change-events`];if(r&&r.length>0)for(let e of r)await pe.emitAsync(e.id,e.data??{});n.InteractionOnSelectionChange(t.Context,e);let i=t.Settings.Card[`app-connection-settings`][`post-selection-change-events`];if(i&&i.length>0)for(let e of i)await pe.emitAsync(e.id,e.data??{})}}),t(k.CustomIcon_ExecuteCustomEvent,V.CustomIcon_ExecuteCustomEvent,async e=>{for(let t of this._Containers){if(t.Settings.Behaviour[`connection-defined-interaction-on-icon-button`]==0)continue;let n=this._Connections.get(t.Settings.Fetch.method);if(n==null)continue;let r=t.Settings.Card[`app-connection-settings`][`pre-icon-button-events`],i=t.Settings.Card[`app-connection-settings`][`post-icon-button-events`];n.InteractionOnIconButton(t.Context,e,r,i)}}),t(k.DeleteLO_after,V.DeleteLO_after),t(k.PropTransfer_afterDelete,V.PropTransfer_afterDelete),t(k.PropTransfer_afterSet,V.PropTransfer_afterSet),t(k.PropTransfer_beforeDelete,V.PropTransfer_beforeDelete),t(k.PropTransfer_beforeSet,V.PropTransfer_beforeSet),t(k.WallFitting_begin,V.WallFitting_begin),t(k.WallFitting_end,V.WallFitting_end),t(k.WallFitting_cancel,V.WallFitting_cancel),t(k.ChangePrice,V.ChangePrice),t(k.DeleteLO_before,V.DeleteLO_before),t(k.CameraOnDirty,V.CameraOnDirty),t(k.CameraOnStart,V.CameraOnStart),t(k.CameraOnEnd,V.CameraOnEnd),t(k.SendEvent,V.SendEvent),t(k.ModalWindowShown,V.ModalWindowShown),t(k.ModalWindowHidden,V.ModalWindowHidden)}get Containers(){return this._Containers}Register(e){this._Containers.includes(e)||this._Containers.push(e)}Remove(e){let t=this._Containers.indexOf(e);t<0||this._Containers.splice(t,1)}RegisterAppConnection(e){if(this._Connections.has(e.Method)){console.error(`CardDataService> RegisterAppConnection failed! The same AppConnection can not be registered twice!`);return}this._Connections.set(e.Method,e)}GetAppConnection(e){return this._Connections.get(e)}TriggerAction(e,t,n){if(e==null||typeof e!=`string`)return;let r=this.GetAppConnection(e);if(r!=null)switch(t){case`CheckUpdate`:return this.TriggerCheckUpdate(r,n);case`Fetch`:return this.TriggerFetch(r,n);case`Filter`:return this.TriggerFilter(r,n);case`CreateCards`:return this.TriggerCreateCards(r,n);case`GetFilterSelectionAdditionalParams`:return this.TriggerGetFilterSelectionAdditionalParams(r,n);case`GetFilterSelectionStrategy`:return this.TriggerGetFilterSelectionStrategy(r,n);case`InitFilterSelectionParams`:return this.TriggerInitFilterSelectionParams(r,n);case`ClickCard`:return this.TriggerClickCard(r,n);case`ClickCardButton`:return this.TriggerClickCardButton(r,n);case`TextFieldChanged`:return this.TriggerTextFieldChanged(r,n);case`CheckSpecialInteractionContext`:return this.TriggerCheckSpecialInteractionContext(r,n);default:return}}async TriggerCheckUpdate(e,t){return await e.CheckUpdate(t.event,t.eventParameters,t.context)}async TriggerFetch(e,t){return await e.Fetch(t.context)}TriggerFilter(e,t){return e.Filter(t.unfiltered,t.context,t.active)}TriggerCreateCards(e,t){return e.CreateCards(t.filtered,t.context)}TriggerGetFilterSelectionAdditionalParams(e,t){return e.GetFilterSelectionAdditionalParams(t.context)}TriggerGetFilterSelectionStrategy(e,t){return e.GetFilterSelectionStrategy(t.context)}TriggerInitFilterSelectionParams(e,t){return e.InitFilterSelectionParams(t.context)}TriggerClickCard(e,t){return e.Click(t.card,t.context)}TriggerClickCardButton(e,t){return e.ClickCardButton(t.data,t.card,t.context)}TriggerTextFieldChanged(e,t){return e.TextFieldChanged(t.card,t.context,t.field)}async TriggerCheckSpecialInteractionContext(e,t){return await e.CheckSpecialInteractionContext(t.context)}GetMethod(e){return e.settings.Fetch.method==sa.ConfiguratorFormFilter&&e.settings.Fetch.parameters.method!=null&&e.settings.Fetch.parameters.method.length>0?e.settings.Fetch.parameters.method:e.settings.Fetch.method}async CheckUpdate(e,t,n){let r=this._Connections.get(n.settings.Fetch.method);return r==null?B.NONE:r.CheckUpdate(e,t,n)}async Fetch(e){let t=this._Connections.get(e.settings.Fetch.method);if(t==null)return console.error(`Fetch Method does not exist!: `+e.settings.Fetch.method),{};try{return await t.Fetch(e)}catch(e){console.warn(`Fetch Failed! error: `+e)}return{}}Filter(e,t,n){let r=this._Connections.get(t.settings.Fetch.method);return r==null?{}:r.Filter(e,t,n)}CreateCards(e,t){let n=this._Connections.get(t.settings.Fetch.method);return n==null?new Map:n.CreateCards(e,t)}GetFilterSelectionAdditionalParams(e){let t=this._Connections.get(e.settings.Fetch.method);if(t!=null)return t.GetFilterSelectionAdditionalParams(e)}GetFilterSelectionStrategy(e){let t=this._Connections.get(e.settings.Fetch.method);return t==null?ca.NONE:t.GetFilterSelectionStrategy(e)}InitFilterSelectionParams(e){let t=this._Connections.get(e.settings.Fetch.method);t&&t.InitFilterSelectionParams(e)}async WaitForAllCardContainerFetchPromises(){for(let e of this._Containers)await e.CheckFetchPromise(),await e.updateComplete}GetFormattedCardDragData(e,t){if(t.settings.Fetch.method.length<1){console.error(`FetchCardDragData Error! No method in fetch settings!`,`settings:`,t.settings,`card:`,e);return}let n=this._Connections.get(t.settings.Fetch.method);if(n)return n.GetFormattedDragData(e,t)}async ClickCard(e,t){if(!t.states.PreventAppConnectionClick){let n=this._Connections.get(t.settings.Fetch.method);n&&await n.Click(e,t)}}async ClickCardButton(e,t,n){let r=this._Connections.get(n.settings.Fetch.method);r&&await r.ClickCardButton(e,t,n)}async TextFieldChanged(e,t,n){let r=this._Connections.get(t.settings.Fetch.method);r&&await r.TextFieldChanged(e,t,n)}MakeCardClickString(e){return e==null?``:typeof e==`object`&&e?JSON.stringify(e):typeof e==`string`?e:e.toString()}PrepareClickedCardEventData(e,t,n){if(t==null)return e;let r=t,i=[`level-key`,`next-level-key`,`previous-level-key`,`priority`,`strategy`];if(n!=null)for(let e of n)i.push(e.key),r[e.key]=e.data;let a=JSON.stringify(e);for(let e of i)a=a.replaceAll(`|`+e+`|`,this.MakeCardClickString(t[e]));return a=a.replaceAll(RegExp(`[|][a-z]+[|]`,`gi`),``),e=JSON.parse(a),e}PrepareClickedCardEventsData(e,t,n){let r=[];for(let i of e)i.data&&r.push({id:i.id,data:this.PrepareClickedCardEventData(i.data,t,n)});return r}async CheckSpecialInteractionContext(e){if(e.states.HandleAppConnectionPlanningSituationState){let t=this._Connections.get(e.settings.Fetch.method);if(t)return t.CheckSpecialInteractionContext(e)}return la.ERROR}},Da=class{static async RefreshAll(e){let{refetch:t,awaitFetches:n=!0,includeHidden:r,forceSwapSelectedProgramBeforeRefetch:i=``,selectionResultFilterResetTargets:a=[],selectionResultFilterResetExcludes:o=[]}=e;n&&await H.WaitForAllCardContainerFetchPromises();let s=aa.AllContainers;if(a){let e=[];for(let t of a)e.push(...R.findAll(t.tag,t.query));for(let t of e)t.Filter!=null&&t.Filter.Reset(!1,t.Context)}if(o){let e=[];for(let t of o)e.push(...R.findAll(t.tag,t.query));s=s.filter(t=>!e.includes(t))}for(let e of s)e.hideElement&&r==0||(t?(i!==void 0&&i!==``&&(e.Settings.Program=i),e.Refetch()):e.requestUpdate())}static RefreshBackButtons(){let e=R.findAll(`fv-card-container-back-button`);for(let t of e)t.requestUpdate()}static ResetSelectionResultFilter(e){let t=e.query?e.query:void 0,n=R.find(e.tag,t);n&&n.Filter!=null&&n.Filter.Reset(!0,n.Context)}static SetShowBeforeSlot(e){let t=e.query?e.query:void 0,n=R.find(e.tag,t);n&&(n.ShowBeforeSlot=e.state)}static SetShowIdSlot(e){let t=e.query?e.query:void 0,n=R.find(e.tag,t);n&&(n.ShowIdSlot=e.state)}static Clear(e){let t=e.query?e.query:void 0,n=R.findAll(e.tag,t);if(n)for(let e of n)e.Filter&&e.Filter.Reset(!0,e.Context),e.requestUpdate()}static ReTriggerSingleEntrySkip(e){let t=e.query?e.query:void 0,n=R.findAll(e.tag,t);if(n)for(let e of n)e.ReTriggerSingleEntrySkip&&e.ReTriggerSingleEntrySkip()}static Refetch(e){let t=e.query?e.query:void 0,n=R.findAll(e.tag,t);if(n)for(let t of n){let n=t?.Context?.settings?.Fetch?.parameters[`clear-cache`];e[`clear-cache`]&&(t.Context.settings.Fetch.parameters[`clear-cache`]=!0),t.Refetch().then(()=>{e[`clear-cache`]&&(t.Context.settings.Fetch.parameters[`clear-cache`]=n)})}}static ClickCard(e){if(e.indexInList==null){console.warn(`triggered card-containers:click-card without providing the card-index to click!`);return}let t=e.indexInList,n=e.query?e.query:void 0,r=R.findAll(e.tag,n);if(r&&r.length>0){for(let n of r)n.TriggerCardClick(t,e[`ensure-inactive`]);return}console.warn(`[card-containers:click-card]: Target(s) could not be found! tag:`,e.tag,`query:`,e.query)}},Oa=(e=>(e[e.DISABLED=0]=`DISABLED`,e[e.SELECTED=1]=`SELECTED`,e[e.IMPLICIT=2]=`IMPLICIT`,e[e.EXPLICIT=3]=`EXPLICIT`,e))(Oa||{}),ka=(e=>(e[e.ARTICLE=0]=`ARTICLE`,e[e.PROPTRANSFER=1]=`PROPTRANSFER`,e[e.BY_MODE=2]=`BY_MODE`,e[e.FITTING=3]=`FITTING`,e[e.WALL_FITTING=4]=`WALL_FITTING`,e[e.PROGPROPERTY=5]=`PROGPROPERTY`,e))(ka||{}),Aa=`11205`,ja=(e=>(e[e.ALL=0]=`ALL`,e[e.GLOBAL=1]=`GLOBAL`,e[e.LOCAL=2]=`LOCAL`,e))(ja||{}),Ma=(e=>(e[e.ZOOMAUTO_EXTENDEDAPOINT=0]=`ZOOMAUTO_EXTENDEDAPOINT`,e[e.ZOOMAUTO_EXTENDEDDIR=1]=`ZOOMAUTO_EXTENDEDDIR`,e[e.ZOOMAUTO_FRONTCLIP=2]=`ZOOMAUTO_FRONTCLIP`,e[e.ZOOMAUTO_ROTATE2PI=3]=`ZOOMAUTO_ROTATE2PI`,e[e.ZOOMAUTO_ORTHOCLIP=4]=`ZOOMAUTO_ORTHOCLIP`,e[e.ZOOMAUTO_ZOOMFACTOR=5]=`ZOOMAUTO_ZOOMFACTOR`,e[e.ZOOMAUTO_ORTHOFRONT=6]=`ZOOMAUTO_ORTHOFRONT`,e[e.ZOOMAUTO_PANUPDOWN=7]=`ZOOMAUTO_PANUPDOWN`,e[e.ZOOMAUTO_EXTENDEDCURDIR=8]=`ZOOMAUTO_EXTENDEDCURDIR`,e[e.ZOOMAUTO_CAM_ROTATEMPV=9]=`ZOOMAUTO_CAM_ROTATEMPV`,e[e.ZOOMAUTO_CAM_ROTATEMPH=10]=`ZOOMAUTO_CAM_ROTATEMPH`,e[e.ZOOMAUTO_CAM_ROTATEABOUTMARKED=11]=`ZOOMAUTO_CAM_ROTATEABOUTMARKED`,e[e.ZOOMAUTO_CAM_ROTATEEYELEFTRIGHT=12]=`ZOOMAUTO_CAM_ROTATEEYELEFTRIGHT`,e[e.ZOOMAUTO_CAM_ROTATEEYEUPDOWN=13]=`ZOOMAUTO_CAM_ROTATEEYEUPDOWN`,e[e.ZOOMAUTO_CAM_ROTATELEFTRIGHT=14]=`ZOOMAUTO_CAM_ROTATELEFTRIGHT`,e[e.ZOOMAUTO_CAM_MOVELEFTRIGHT=15]=`ZOOMAUTO_CAM_MOVELEFTRIGHT`,e[e.ZOOMAUTO_CAM_MOVEAXIS3D=16]=`ZOOMAUTO_CAM_MOVEAXIS3D`,e[e.ZOOMAUTO_CAM_MOVEUPDOWN=17]=`ZOOMAUTO_CAM_MOVEUPDOWN`,e[e.ZOOMAUTO_CAM_SETVIEWPOINTMODE=18]=`ZOOMAUTO_CAM_SETVIEWPOINTMODE`,e))(Ma||{}),Na=(e=>(e[e.TopLeftFront=-1000109]=`TopLeftFront`,e[e.TopRightFront=-1000110]=`TopRightFront`,e[e.TopLeftBack=-1000108]=`TopLeftBack`,e[e.TopRightBack=-1000107]=`TopRightBack`,e[e.Left=-1000102]=`Left`,e[e.Right=-1000101]=`Right`,e[e.Front=-1000106]=`Front`,e[e.Back=-1000105]=`Back`,e[e.Top=-1000103]=`Top`,e))(Na||{}),Pa={TopLeftFront:Na.TopLeftFront,TopRightFront:Na.TopRightFront,TopLeftBack:Na.TopLeftBack,TopRightBack:Na.TopRightBack,Left:Na.Left,Right:Na.Right,Front:Na.Front,Back:Na.Back,Top:Na.Top};function Fa(e,t){return pe.emitAsync(e,t)}var Ia=new Map([[`toggle-front-state`,async e=>Fa(`front-state`,e)],[`save-current-scene-settings`,async()=>Fa(`notice-list-mask:save-current-scene-settings`,{data:{},target:{tag:`fv-notice-list-mask`}})],[`show-ar-modal`,async()=>Fa(`fv-ar-modal:show`,{data:{},target:{tag:`fv-ar-modal`}})],[`notify-step-stage-changed`,e=>Fa(`fv-step:notify-stage-changed`,{data:e,target:{tag:`fv-step`,all:!0}})],[`webcab-refresh-cabinets-toggle-ui`,async()=>Fa(`fv-webcab-ui-cabinets-toggle:refresh`,{data:{},target:{tag:`fv-webcab-ui-cabinets-toggle`,all:!0}})],[`refresh-all-configurator-forms`,async()=>Fa(`fv-configurator-form:refetch`,{data:{},target:{tag:`fv-configurator-form`,all:!0}})],[`refresh-all-filtered-catalogs`,async()=>Fa(`fv-filtered-catalog:update`,{data:{force:!0},target:{tag:`fv-filtered-catalog`,all:!0}})],[`configurator-form-page-open-view-mode`,async e=>Fa(`fv-configurator-form-page:open-view-mode`,{data:e,target:{tag:`fv-configurator-form-page`,all:!0}})],[`open-modal`,async e=>Fa(`fv-modal:open`,{data:e,target:{tag:e?.tag||`fv-modal`,query:e?.query}})],[`close-modal`,async e=>Fa(`fv-modal:close`,{data:e,target:{tag:e?.tag||`fv-modal`,query:e?.query}})],[`toggle-modal`,async e=>Fa(`fv-modal:toggle`,{data:e,target:{tag:e?.tag||`fv-modal`,query:e?.query}})],[`toggle-toolbar`,async e=>Fa(`fv-toggle-toolbar:toggle`,{data:{},target:{tag:`fv-toggle-toolbar`,query:e?.selector||``}})],[`steps-next`,async e=>Fa(`fv-steps:next`,{data:e})],[`steps-previous`,async e=>Fa(`fv-steps:previous`,{data:e})],[`steps-first`,async e=>Fa(`fv-steps:activate-first`,{data:e})],[`activate-step`,async e=>Fa(`fv-steps:activate`,{data:e})],[`activate-current-step`,async e=>Fa(`fv-steps:activate-current`,{data:e})],[`update-filtered-catalogs`,async e=>Fa(`fv-filtered-catalog:update`,{data:e})],[`update-accordion-heights`,async e=>Fa(`fv-accordion-item:update-height`,{data:e})],[`update-slider-ranges`,async e=>Fa(`fv-slider:update-range`,{data:e})],[`toolbar-button-set-active`,async e=>Fa(`fv-toolbar-button:set-active`,{data:e})],[`add-classes`,async e=>Fa(`fv:add-class`,{data:e})],[`remove-classes`,async e=>Fa(`fv:remove-class`,{data:e})],[`toggle-classes`,async e=>Fa(`fv:toggle-class`,{data:e})],[`set-attribute`,async e=>Fa(`fv:set-attribute`,{data:e})],[`toggle-attribute`,async e=>Fa(`fv:toggle-attribute`,{data:e})],[`update-visibility`,async e=>Fa(`fv:update-visibility`,{data:e})]]),La=new class{constructor(){this.accessoires=!1,this.front=!0}async sendCloudIdToOwner(){let e=window;for(;e.parent&&e!==e.parent;)e=e.parent;e.postMessage((await na.getPDF(!0)).cloudID,`*`)}async sendToOwner(e){let t=window;for(;t.parent&&t!==t.parent;)t=t.parent;t.postMessage(e.message,`*`)}async downloadGeneratedFile(e){let t=e.currentTarget;if(t?.classList.add(`loading`),e.fileType){let t=e.fileType,n={dxf:`dxf`,obj:`zip`,skp:`skp`,xml:`xml`,xls:`xls`,xlsx:`xlsx`}[t],{url:r,cloudID:i}=n?await na.generateExport(t):await na.getPDF(!!e.lastCloudID);de?.SaveToDisk(r,`planning_${i}.${n??`pdf`}`)}t?.classList.remove(`loading`)}async downloadFurncloudFile(e){let t=e.sessionStorageKey;if(ia.has(t)){let n=await ra.getCloudId(),r=ia.get(t)?.password,i=await na.getFurncloudFile(n,e.fileType,r);i&&i.url&&i.url.length>0&&de?.SaveToDisk(i.url,`planning_${n}.${e.fileType}`)}}async frontState(e){e[`default-state`]!=null&&this.front==null&&(this.front=e[`default-state`]);let t=e.value===void 0?!this.front:e.value;e[`prioritise-accessoires`]&&(t=!this.accessoires),await O.frontState(t),this.front=e[`prioritise-accessoires`]?void 0:t}async toggleAccessoires(e){let t=this.accessoires;e[`prioritise-front-state`]&&this.front!=null&&(t=this.front),await O.frontState(t),this.front=this.front==null?void 0:t,this.accessoires=!this.accessoires,await O.setAccessories(this.accessoires)}async communicatorMessage(e){let t={command:e.command,args:e.parameters?e.parameters:[]};if(t.command)return await j.postMessage(t.command,...t.args)}async updateAnimationToolbarButton(){let e=await O.getAnimationStatus();e!=null&&await pe.emitAsync(`fv-animation-toolbar-button:sync-active`,{data:{mode:e.mode},target:{tag:`fv-animation-toolbar-button`,all:!0}})}async webcabToggleDimensionVisuals(){R.findAll(`fv-webcab-ui`).length>0?await pe.emitAsync(`fv-webcab-ui:toggle-dimension-visuals`,{data:{},target:{tag:`fv-webcab-ui`,all:!0}}):await pe.emitAsync(`configurator-api-state-toggle`,{data:{group:`webcab-global-states`,target:`WEBCAB_DIMENSION_VISUALS_DISABLED_L`}})}async deleteFitting(e){e.level!=null&&await O.dhTodo([`1`,{params:[(e.level+1).toString()],manu:window.g_article.manu,kataManu:window.g_article.manu}])}async moveFitting(e){e.level!=null&&await O.dhTodo([`1`,{params:[(e.level+2).toString()],manu:window.g_article.manu,kataManu:window.g_article.manu}])}async setSelectable(e){if(e.type&&Array.isArray(e.type)){await O.setSelectableMultiTypes(e.type);return}e.type&&e.type.length>0?(await O.setSelectable(e.type),e.action&&e.action.length>0&&await O.setSelectionActionGroup(e.action)):await O.setSelectable()}async openLink(e){if(e[`new-tab`]&&e.link){window.open(e.link);return}e.link&&(window.location=e.link)}async sendToCart(e){let t=e?.[`external-parameters`],n=[];t&&(n=t.map(e=>{let t=R.find(e.tag);return{parameter:e.name,value:t[e.property]}})),await O.addToCart(n)}async refreshAllCardContainers(e){let t=e.refetch==null?!1:e.refetch,n=e[`include-hidden`]==null?!1:e[`include-hidden`],r=e[`selection-result-filter-reset-targets`],i=e[`selection-result-filter-reset-excludes`];Da.RefreshAll({refetch:t,includeHidden:n,selectionResultFilterResetTargets:r,selectionResultFilterResetExcludes:i})}async toggleApiStateResetCameraSave(e){if(e.group&&e.target){let t=e.group,n=e.target,r=z.Data[t];if(r){let i=r[n];i&&i.state!==void 0&&(await ve.SetApiData({groups:[{name:t,modifications:[{target:n,type:`int`,value:1}]}]}),await O.resetCameraView(!1),setTimeout(async()=>{await O.frontState(!0),await O.downloadPDF(e&&e.custom?e.custom:!1),await ve.SetApiData({groups:[{name:t,modifications:[{target:n,type:`int`,value:+!!i.state}]}]})},1e3))}}}async configuratorSetApiState(e){if(e.group&&e.target){let t=e.group,n=e.target,r=z.Data[t];r&&Object.keys(r).includes(n)&&await ve.SetApiData({groups:[{name:t,modifications:[{target:n,type:`int`,value:+!!e.state}]}]})}}async configuratorApiStateToggle(e){if(e.group&&e.target){let t=e.group,n=e.target,r=z.Data[t];if(r){let e=r[n];e&&e.state!==void 0&&(await ve.SetApiData({groups:[{name:t,modifications:[{target:n,type:`int`,value:+!e.state}]}]}),await pe.emitAsync(`refresh-all-configurator-forms`))}}}async reloadWindow(e){e&&e.preventLeaveConfirmation!==void 0&&(we.PreventLeaveConfirmation=e.preventLeaveConfirmation),window.location.reload()}async setFpVariable(e){await j.IsAppReady,await O.dhTodo([`3`,{params:[`-1`,`0`,e.key,e.type,e.value],manu:window.g_article.manu,kataManu:window.g_article.manu}])}async setAttributeOnUrlWithCloudId(e){new URL(window.location.href).searchParams.has(`cloudId`)&&await pe.emitAsync(`set-attribute`,e)}async gtmPush(e){let t={event:e.event};Object.keys(e).forEach(n=>{if(n!==`event`){let r=e[n].split(`.`),i=window.g_dataInterface[r[0]];r=r.slice(1),r.forEach(e=>{i&&=i[e]}),t[n]=i||e[n]}}),ye?.push(t)}async setCameraZoom(e){let t=e.zoom;if(typeof t.Perspective==`string`){let e=Pa[t.Perspective];e&&(t.Perspective=e)}await O.setCameraZoom(t)}async setLanguage(e){let t=e?.langCode;t&&(await O.setLanguage(t),await A.setLanguage(t),Da.RefreshAll({refetch:!0,includeHidden:!1}),await H.WaitForAllCardContainerFetchPromises(),await pe.emitAsync(`fv-equipment-list:reload`,{data:{},target:{tag:`fv-equipment-list`,query:`*`}}),window.dispatchEvent(new CustomEvent(`language-changed`,{detail:t,bubbles:!0,composed:!0})))}async requestFullscreen(e){let t;if(e.query&&(t=document.querySelector(e.query)))try{document.fullscreenElement?await document.exitFullscreen():await t.requestFullscreen()}catch(e){e instanceof Error&&console.error(`Error attempting to enable full-screen mode: ${e.message}`)}}async dispatchStateEvent(e){!e||!e.state||await pe.emitAsync(e.state,{data:e.data,target:e.target})}scrollToTop(e){let t=t=>{let n={top:0,left:0,behavior:e.behavior?e.behavior:`auto`};t.scrollTo(n)};if(e.tag&&e.tag.length>0){if(e.selector&&e.selector.length>0){let n=R.findAll(e.tag,e.selector);for(let e of n)t(e)}}else if(e.selector&&e.selector.length>0){let n=document.querySelector(e.selector);n&&t(n)}}},Ra=new Map([[`send-cloud-id-to-owner`,()=>La.sendCloudIdToOwner()],[`send-to-owner`,e=>La.sendToOwner(e)],[`camera-zoom-in`,async()=>{await O.cameraZoom(1)}],[`camera-zoom-out`,async()=>{await O.cameraZoom(-1)}],[`reset-camera`,async e=>{await O.resetCameraView(e&&e.animate!==void 0?e.animate:!0)}],[`undo`,async()=>{await O.undo()}],[`redo`,async()=>{alert(`TODO: implement redo!`)}],[`save`,async e=>{await O.downloadPDF(e&&e.custom?e.custom:!1)}],[`download-generated-file`,e=>La.downloadGeneratedFile(e)],[`download-furncloud-file`,e=>La.downloadFurncloudFile(e)],[`trigger-animation`,async()=>{await O.triggerAnimation()}],[`front-state`,e=>La.frontState(e)],[`toggle-accessoires`,e=>La.toggleAccessoires(e)],[`toggle-dimensions`,async()=>{await O.toggleMeasurement()}],[`take-screenshot`,async e=>{await O.downloadScreenshot(e.logo?e.logo:void 0)}],[`show-share-component`,async()=>{await O.showShareComponent()}],[`communicator-message`,e=>La.communicatorMessage(e)],[`update-animation-toolbar-button`,()=>La.updateAnimationToolbarButton()],[`webcab-toggle-dimension-visuals`,()=>La.webcabToggleDimensionVisuals()],[`delete-fitting`,e=>La.deleteFitting(e)],[`move-fitting`,e=>La.moveFitting(e)],[`set-selectable`,e=>La.setSelectable(e)],[`open-link`,e=>La.openLink(e)],[`send-to-cart`,e=>La.sendToCart(e)],[`toggle-api-state-reset-camera-save`,e=>La.toggleApiStateResetCameraSave(e)],[`configurator-set-api-state`,e=>La.configuratorSetApiState(e)],[`configurator-api-state-toggle`,e=>La.configuratorApiStateToggle(e)],[`configurator-api-fetch`,async()=>{}],[`reload-window`,e=>La.reloadWindow(e)],[`set-fp-variable`,e=>La.setFpVariable(e)],[`set-property`,async e=>{await O.modifyProperty(JSON.stringify(e.property),e.options)}],[`set-attribute-on-url-with-cloud-id`,e=>La.setAttributeOnUrlWithCloudId(e)],[`gtm-push`,e=>La.gtmPush(e)],[`set-camera-zoom`,e=>La.setCameraZoom(e)],[`fit-camera-viewport`,async e=>{await O.fitCamera(e)}],[`place-article`,async e=>{await O.placePO({manufacturer:window.g_article.manu,program:e.program,extParameter:{},articleNumber:e[`article-number`]})}],[`execute-custom-event`,async e=>{await O.executeCustomEvent(e?.command,e?.instanceIdent,e?.parameters)}],[`set-element-selected`,async e=>{await O.selectObjectInScene(e.instanceIdent)}],[`set-language`,e=>La.setLanguage(e)],[`reset-scene-action`,async()=>{await O.resetSceneAction()}],[`set-manu-prog`,async e=>{await ta.setManuProg(e?.manu,e?.calcManu,e?.prog,!1)}],[`disable-3d-text`,async e=>{await O.setDisable3DText(e.value==null?!1:e.value)}],[`request-fullscreen`,e=>La.requestFullscreen(e)],[`dispatch-state`,e=>La.dispatchStateEvent(e)],[`switch-transfer-level`,async e=>{O.switchTransferLevel(e)}],[`scroll-to-top`,e=>La.scrollToTop(e)],[`refresh-all-card-containers`,async e=>La.refreshAllCardContainers(e)],[`card-container-set-show-before-slot`,e=>Da.SetShowBeforeSlot(e)],[`card-container-set-show-id-slot`,e=>Da.SetShowIdSlot(e)],[`card-containers-reset-selection-result-filter`,e=>Da.ResetSelectionResultFilter(e)],[`clear-card-container`,e=>Da.Clear(e)],[`refetch-card-container`,e=>Da.Refetch(e)],[`card-containers:click-card`,e=>Da.ClickCard(e)],[`trigger-root-level-selection-single-entry-skip`,async e=>Da.ReTriggerSingleEntrySkip(e)]]),U=new class{async _dispatchPostEvents(e){if(e&&e[`post-events`]){let t=e[`post-events`];for(let n=0;n<t.length;++n){let r=t[n];if(e[`dispatch-post-events-synchronized-in-order`]||e[`post-events-sync`]){await this.dispatchAsyncEvent(r.id,r.data?r.data:{});continue}return this.dispatch(r.id,r.data?r.data:{})}}}_readLegacySelection(e){if(!e)return;let t=e=>typeof e==`string`&&e.length>0?e:void 0,n=(...n)=>{for(let r of n){let n=t(e[r]);if(n)return n}},r=[];if(e.components&&Array.isArray(e.components))for(let t of e.components)r.push({tag:t.name,query:t.selector,all:t.all});let i=n(`tag`,`component`,`steps-component`);if(!i)return r;let a=e.all==null?void 0:e.all,o=n(`query`,`selector`);return r.push({tag:i,query:o,all:a}),r}_unwrapEnvelope(e){if(e&&typeof e==`object`&&!Array.isArray(e)){let t=Object.keys(e);if(t.length===2&&t.includes(`data`)&&t.includes(`target`))return e.data}return e}constructor(){window.addEventListener(`triggereventhandlereventevent`,e=>{e.detail&&e.detail.events&&U.dispatchEventList(e.detail.events,e.detail.async)}),pe.on(`shared:event-fired`,async e=>{await this._dispatchPostEvents(e.data.data)});for(let[e,t]of Ra)pe.on(e,async e=>await t(this._unwrapEnvelope(e)));for(let[e,t]of Ia){if(pe.has(e)){console.warn(`duplicate event in LegacyEventAliases`);continue}pe.on(e,async e=>{await t(this._unwrapEnvelope(e))})}}async dispatchAsyncEvent(e,t){await pe.emitAsync(e,t)}dispatch(e,t){return pe.has(e)?(pe.emitAsync(e,t),!0):!1}async dispatchEventList(e,t){if(e&&e.length>0){if(t){for(let t of e)this.dispatch(t.id,t.data?t.data:{});return}for(let t of e)await this.dispatchAsyncEvent(t.id,t.data?t.data:{})}}async dispatchState(e,t,n){let r=[],i=n=>{if(n.ListensToState!=null&&!n.ListensToState(e)){console.warn(`event triggered on element that does not listen to it! element:`,n,`event:`,e,`data:`,t);return}let i=new Xi(e,t);n.dispatchEvent(i),r.push(i)};if(n==null)i(window);else if(typeof n.dispatchEvent==`function`)i(n);else{let r=n;if(!r.tag||r.tag.length<1){console.warn(`target tag for state empty!`,e,t,n);return}let a=R.findAll(r.tag,r.query??``);if(a.length<1){console.warn(`no valid target elements for state`,e,t,n);return}r.all?a.forEach(e=>i(e)):i(a[0])}await Promise.allSettled(r.map(e=>e.whenSettled()))}RegisterStateHandler(e){pe.has(e)||pe.on(e,async t=>{let n=t;if(n.data&&n.data.data&&(n=n.data),n.target==null||n.target.tag==null){let t=this._readLegacySelection(n.data);if(t!=null){for(let r of t)await this.dispatchState(e,n.data,r);return}}let r=Array.isArray(n.target)?n.target:[n.target];for(let t of r)await this.dispatchState(e,n.data,t)})}},za=`@charset "UTF-8";[dh-button]{display:inline-block;height:auto;width:auto;vertical-align:middle;font-family:Roboto,system-ui,sans-serif}[dh-button]::part(root),[dh-infobox]::part(dh-button-root),[dh-merge-dialog]::part(dh-button-root),[dh-merge-dialog]::part(dh-button-nav-root),[dh-table-old]::part(dh-button-root),[dh-table]::part(dh-button-root),[dh-window]::part(dh-button-root),[dh-multi-selectbox]::part(dh-button-root),[dh-multi-selectbox]::part(item-dh-button-root),[dh-multi-selectbox-item]::part(dh-button-root){display:inline-flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;gap:var(--dh-button-gap, 8px);min-height:var(--dh-button-height, 40px);height:auto;min-width:var(--dh-button-min-width, 64px);padding-inline:var(--dh-button-padding-inline, 24px);padding-block:4px;border:none;border-radius:var(--dh-button-radius, 9999px);cursor:pointer;position:relative;box-sizing:border-box;text-align:center;width:auto;transition:background-color .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1),border-color .2s cubic-bezier(.2,0,0,1),transform .2s cubic-bezier(.2,0,0,1)}[dh-button]::part(label),[dh-infobox]::part(dh-button-label),[dh-merge-dialog]::part(dh-button-label),[dh-merge-dialog]::part(dh-button-nav-label),[dh-table-old]::part(dh-button-label),[dh-table]::part(dh-button-label),[dh-window]::part(dh-button-label),[dh-multi-selectbox]::part(dh-button-label),[dh-multi-selectbox]::part(item-dh-button-label),[dh-multi-selectbox-item]::part(dh-button-label){font-family:Roboto,system-ui,sans-serif;font-size:.875rem;font-weight:500;line-height:1.25rem;letter-spacing:.00625rem;white-space:normal;overflow-wrap:break-word}[dh-button]::part(icon),[dh-infobox]::part(dh-button-icon),[dh-merge-dialog]::part(dh-button-icon),[dh-merge-dialog]::part(dh-button-nav-icon),[dh-table-old]::part(dh-button-icon),[dh-table]::part(dh-button-icon),[dh-window]::part(dh-button-icon),[dh-multi-selectbox]::part(dh-button-icon),[dh-multi-selectbox]::part(item-dh-button-icon),[dh-multi-selectbox-item]::part(dh-button-icon){width:var(--dh-button-icon-size, 18px);height:var(--dh-button-icon-size, 18px);object-fit:contain;flex-shrink:0}[dh-button][variant=filled]::part(root),[dh-infobox]::part(dh-button-root),[dh-merge-dialog]::part(dh-button-root),[dh-merge-dialog]::part(dh-button-nav-root),[dh-window]::part(dh-button-root),[dh-multi-selectbox]::part(dh-button-root),[dh-multi-selectbox]::part(item-dh-button-root),[dh-multi-selectbox-item]::part(dh-button-root){background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:none}[dh-button][variant=filled]::part(label),[dh-infobox]::part(dh-button-label),[dh-merge-dialog]::part(dh-button-label),[dh-merge-dialog]::part(dh-button-nav-label),[dh-window]::part(dh-button-label),[dh-multi-selectbox]::part(dh-button-label),[dh-multi-selectbox]::part(item-dh-button-label),[dh-multi-selectbox-item]::part(dh-button-label){color:var(--md-sys-color-on-primary)}[dh-button][variant=filled]:not([disabled]):hover::part(root),[dh-infobox]::part(dh-button-root):hover,[dh-merge-dialog]::part(dh-button-root):hover,[dh-merge-dialog]::part(dh-button-nav-root):hover,[dh-window]::part(dh-button-root):hover,[dh-multi-selectbox]::part(dh-button-root):hover,[dh-multi-selectbox]::part(item-dh-button-root):hover,[dh-multi-selectbox-item]::part(dh-button-root):hover{box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-primary-rgb),.08),0 1px 2px #0000004d,0 1px 3px 1px #00000026}[dh-button][variant=filled]:not([disabled]):focus-within::part(root),[dh-infobox]::part(dh-button-root):focus-within,[dh-merge-dialog]::part(dh-button-root):focus-within,[dh-merge-dialog]::part(dh-button-nav-root):focus-within,[dh-window]::part(dh-button-root):focus-within,[dh-multi-selectbox]::part(dh-button-root):focus-within,[dh-multi-selectbox]::part(item-dh-button-root):focus-within,[dh-multi-selectbox-item]::part(dh-button-root):focus-within{box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-primary-rgb),.12);outline:2px solid var(--md-sys-color-primary);outline-offset:2px}[dh-button][variant=filled]:not([disabled]):active::part(root),[dh-infobox]::part(dh-button-root):active,[dh-merge-dialog]::part(dh-button-root):active,[dh-merge-dialog]::part(dh-button-nav-root):active,[dh-window]::part(dh-button-root):active,[dh-multi-selectbox]::part(dh-button-root):active,[dh-multi-selectbox]::part(item-dh-button-root):active,[dh-multi-selectbox-item]::part(dh-button-root):active{box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-primary-rgb),.12);transform:scale(.97)}[dh-button][variant=outlined]::part(root),[dh-table-old]::part(dh-button-root),[dh-table]::part(dh-button-root){background-color:transparent;color:var(--md-sys-color-primary);border:1px solid var(--md-sys-color-outline-variant);box-shadow:none}[dh-button][variant=outlined]::part(label),[dh-table-old]::part(dh-button-label),[dh-table]::part(dh-button-label){color:var(--md-sys-color-primary)}[dh-button][variant=outlined]::part(icon),[dh-table-old]::part(dh-button-icon),[dh-table]::part(dh-button-icon){filter:none}[dh-button][variant=outlined]:not([disabled]):hover::part(root),[dh-table-old]::part(dh-button-root):hover,[dh-table]::part(dh-button-root):hover{background-color:rgba(var(--md-sys-color-primary-rgb),.08);border-color:var(--md-sys-color-outline)}[dh-button][variant=outlined]:not([disabled]):focus-within::part(root),[dh-table-old]::part(dh-button-root):focus-within,[dh-table]::part(dh-button-root):focus-within{border-color:var(--md-sys-color-primary);background-color:rgba(var(--md-sys-color-primary-rgb),.12);outline:2px solid var(--md-sys-color-primary);outline-offset:2px}[dh-button][variant=outlined]:not([disabled]):active::part(root),[dh-table-old]::part(dh-button-root):active,[dh-table]::part(dh-button-root):active{border-color:var(--md-sys-color-outline);background-color:rgba(var(--md-sys-color-primary-rgb),.12);transform:scale(.97)}[dh-button][variant=standard]::part(root){background-color:transparent;color:var(--md-sys-color-primary);border:none;box-shadow:none;padding-inline:12px;min-width:auto}[dh-button][variant=standard]::part(label){color:var(--md-sys-color-primary)}[dh-button][variant=standard]::part(icon){filter:none}[dh-button][variant=standard]:not([disabled]):hover::part(root){background-color:rgba(var(--md-sys-color-primary-rgb),.08)}[dh-button][variant=standard]:not([disabled]):focus-within::part(root){background-color:rgba(var(--md-sys-color-primary-rgb),.12);outline:2px solid var(--md-sys-color-primary);outline-offset:2px}[dh-button][variant=standard]:not([disabled]):active::part(root){background-color:rgba(var(--md-sys-color-primary-rgb),.12);transform:scale(.97)}[dh-button][variant=elevated]::part(root){background-color:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-primary);border:none;box-shadow:0 1px 2px #0000004d,0 1px 3px 1px #00000026}[dh-button][variant=elevated]::part(label){color:var(--md-sys-color-primary)}[dh-button][variant=elevated]::part(icon){filter:none}[dh-button][variant=elevated]:not([disabled]):hover::part(root){box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-primary-rgb),.08),0 1px 2px #0000004d,0 2px 6px 2px #00000026}[dh-button][variant=elevated]:not([disabled]):focus-within::part(root){box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-primary-rgb),.12),0 1px 2px #0000004d,0 1px 3px 1px #00000026;outline:2px solid var(--md-sys-color-primary);outline-offset:2px}[dh-button][variant=elevated]:not([disabled]):active::part(root){box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-primary-rgb),.12),0 1px 2px #0000004d,0 1px 3px 1px #00000026;transform:scale(.97)}[dh-button][variant=tonal]::part(root){background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border:none;box-shadow:none}[dh-button][variant=tonal]::part(label){color:var(--md-sys-color-on-secondary-container)}[dh-button][variant=tonal]::part(icon){filter:none}[dh-button][variant=tonal]:not([disabled]):hover::part(root){box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-secondary-container-rgb),.08),0 1px 2px #0000004d,0 1px 3px 1px #00000026}[dh-button][variant=tonal]:not([disabled]):focus-within::part(root){box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-secondary-container-rgb),.12);outline:2px solid var(--md-sys-color-primary);outline-offset:2px}[dh-button][variant=tonal]:not([disabled]):active::part(root){box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-secondary-container-rgb),.12);transform:scale(.97)}[dh-button][variant=dashed]::part(root){background-color:transparent;color:var(--md-sys-color-primary);border:1px dashed var(--md-sys-color-primary);box-shadow:none}[dh-button][variant=dashed]::part(label){color:var(--md-sys-color-primary)}[dh-button][variant=dashed]:not([disabled]):hover::part(root){background-color:var(--md-sys-color-primary-container);border-style:solid}[dh-button][variant=dashed]:not([disabled]):focus-within::part(root){background-color:var(--md-sys-color-primary-container);outline:2px solid var(--md-sys-color-primary);outline-offset:2px}[dh-button][variant=dashed]:not([disabled]):active::part(root){background-color:var(--md-sys-color-primary-container);transform:scale(.97)}[dh-button][disabled]::part(root),[dh-button][disabled][variant=filled]::part(root){background-color:rgba(var(--md-sys-color-on-surface-rgb),.12);color:rgba(var(--md-sys-color-on-surface-rgb),.38);box-shadow:none;cursor:not-allowed;pointer-events:none}[dh-button][disabled]::part(label),[dh-button][disabled][variant=filled]::part(label){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-button][disabled]::part(icon),[dh-button][disabled][variant=filled]::part(icon){opacity:.38;filter:none}[dh-button][disabled][variant=outlined]::part(root){background-color:transparent;border-color:rgba(var(--md-sys-color-on-surface-rgb),.12);color:rgba(var(--md-sys-color-on-surface-rgb),.38);box-shadow:none;cursor:not-allowed;pointer-events:none}[dh-button][disabled][variant=outlined]::part(label){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-button][disabled][variant=outlined]::part(icon){opacity:.38}[dh-button][disabled][variant=standard]::part(root){background-color:transparent;color:rgba(var(--md-sys-color-on-surface-rgb),.38);box-shadow:none;cursor:not-allowed;pointer-events:none}[dh-button][disabled][variant=standard]::part(label){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-button][disabled][variant=standard]::part(icon){opacity:.38}[dh-button][disabled][variant=elevated]::part(root){background-color:rgba(var(--md-sys-color-on-surface-rgb),.12);color:rgba(var(--md-sys-color-on-surface-rgb),.38);box-shadow:none;cursor:not-allowed;pointer-events:none}[dh-button][disabled][variant=elevated]::part(label){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-button][disabled][variant=elevated]::part(icon){opacity:.38}[dh-button][disabled][variant=tonal]::part(root){background-color:rgba(var(--md-sys-color-on-surface-rgb),.12);color:rgba(var(--md-sys-color-on-surface-rgb),.38);box-shadow:none;cursor:not-allowed;pointer-events:none}[dh-button][disabled][variant=tonal]::part(label){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-button][disabled][variant=tonal]::part(icon){opacity:.38}[dh-button][img]:not([img=""])::part(root),[dh-button][variant=filled][img]:not([img=""])::part(root),[dh-button][variant=outlined][img]:not([img=""])::part(root),[dh-button][variant=elevated][img]:not([img=""])::part(root),[dh-button][variant=tonal][img]:not([img=""])::part(root){padding-inline-start:16px;padding-inline-end:24px}[dh-button][variant=standard][img]:not([img=""])::part(root){padding-inline-start:12px;padding-inline-end:16px}[dh-button][icon-button]::part(root),[dh-table-old]::part(dh-icon-button-root),[dh-table]::part(dh-icon-button-root),[dh-merge-dialog]::part(dh-icon-button-nav-root){width:40px;max-width:100%;min-width:0;height:40px;max-height:100%;min-height:0;aspect-ratio:1/1;padding:0;gap:0;border:none;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}[dh-button][icon-button][variant=standard]::part(root){background-color:transparent;color:var(--md-sys-color-on-surface-variant);box-shadow:none}[dh-button][icon-button][variant=filled]::part(root),[dh-merge-dialog]::part(dh-icon-button-nav-root){background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:none}[dh-button][icon-button][variant=tonal]::part(root){background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);box-shadow:none}[dh-button][icon-button][variant=outlined]::part(root){background-color:transparent;color:var(--md-sys-color-on-surface-variant);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline-variant)}[dh-table-old]::part(dh-icon-button-root),[dh-table]::part(dh-icon-button-root){background-color:transparent;color:var(--md-sys-color-primary);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline)}[dh-button][icon-button][variant=elevated]::part(root){background-color:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-primary);box-shadow:0 1px 2px #0000004d,0 1px 3px 1px #00000026}[dh-button][icon-button][variant=standard]:not([disabled]):hover::part(root){background-color:rgba(var(--md-sys-color-on-surface-rgb),.08)}[dh-button][icon-button][variant=filled]:not([disabled]):hover::part(root),[dh-merge-dialog]::part(dh-icon-button-nav-root):hover{box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-primary-rgb),.08)}[dh-button][icon-button][variant=tonal]:not([disabled]):hover::part(root){box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-secondary-container-rgb),.08)}[dh-button][icon-button][variant=outlined]:not([disabled]):hover::part(root){background-color:rgba(var(--md-sys-color-on-surface-rgb),.08);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline)}[dh-table-old]::part(dh-icon-button-root):hover,[dh-table]::part(dh-icon-button-root):hover{background-color:rgba(var(--md-sys-color-primary-rgb),.08);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline)}[dh-button][icon-button][variant=elevated]:not([disabled]):hover::part(root){box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026,inset 0 0 0 100vmax rgba(var(--md-sys-color-primary-rgb),.08)}[dh-button][icon-button]:not([disabled]):focus-within::part(root),[dh-table-old]::part(dh-icon-button-root):focus-within,[dh-table]::part(dh-icon-button-root):focus-within,[dh-merge-dialog]::part(dh-icon-button-nav-root):focus-within{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}[dh-button][icon-button]:not([disabled]):active::part(root),[dh-table-old]::part(dh-icon-button-root):active,[dh-table]::part(dh-icon-button-root):active,[dh-merge-dialog]::part(dh-icon-button-nav-root):active{transform:scale(.92)}[dh-button][icon-button][disabled][variant=filled]::part(root),[dh-button][icon-button][disabled][variant=tonal]::part(root),[dh-button][icon-button][disabled][variant=elevated]::part(root){background-color:rgba(var(--md-sys-color-on-surface-rgb),.12);color:rgba(var(--md-sys-color-on-surface-rgb),.38);box-shadow:none;cursor:not-allowed;pointer-events:none}[dh-button][icon-button][disabled][variant=standard]::part(root){background-color:transparent;color:rgba(var(--md-sys-color-on-surface-rgb),.38);cursor:not-allowed;pointer-events:none}[dh-button][icon-button][disabled][variant=outlined]::part(root),[dh-table-old]::part(dh-icon-button-root) [disabled],[dh-table]::part(dh-icon-button-root) [disabled]{background-color:transparent;color:rgba(var(--md-sys-color-on-surface-rgb),.38);box-shadow:inset 0 0 0 1px rgba(var(--md-sys-color-on-surface-rgb),.12);cursor:not-allowed;pointer-events:none}[dh-checkbox]{display:inline-flex;vertical-align:middle}[dh-checkbox]::part(root),[dh-settings-grid]::part(dh-checkbox-root),[dh-setting-item]::part(dh-checkbox-root),[dh-table-old]::part(dh-checkbox-root),[dh-table]::part(dh-checkbox-root){display:inline-flex;align-items:center;justify-content:center;cursor:pointer}[dh-checkbox]::part(input),[dh-settings-grid]::part(dh-checkbox-input),[dh-setting-item]::part(dh-checkbox-input),[dh-table-old]::part(dh-checkbox-input),[dh-table]::part(dh-checkbox-input){appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid var(--md-sys-color-on-surface-variant);border-radius:4px;background-color:transparent;background-size:contain;background-position:center;background-repeat:no-repeat;cursor:pointer;margin:0;padding:0;outline:none;box-sizing:border-box;transition:background-color .2s cubic-bezier(.2,0,0,1),border-color .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1)}[dh-checkbox]:not([disabled]):not([checked]):hover::part(input),[dh-settings-grid]::part(dh-checkbox-input):not(:checked):not(:disabled):hover,[dh-setting-item]::part(dh-checkbox-input):not(:checked):not(:disabled):hover,[dh-table-old]::part(dh-checkbox-input):not(:checked):not(:disabled):hover,[dh-table]::part(dh-checkbox-input):not(:checked):not(:disabled):hover{border-color:var(--md-sys-color-on-surface)}[dh-checkbox]:not([disabled]):not([checked]):focus-within::part(input),[dh-settings-grid]::part(dh-checkbox-input):not(:checked):not(:disabled):focus-visible,[dh-setting-item]::part(dh-checkbox-input):not(:checked):not(:disabled):focus-visible,[dh-table-old]::part(dh-checkbox-input):not(:checked):not(:disabled):focus-visible,[dh-table]::part(dh-checkbox-input):not(:checked):not(:disabled):focus-visible{border-color:var(--md-sys-color-on-surface);box-shadow:0 0 0 2px rgba(var(--md-sys-color-on-surface-rgb),.12)}[dh-checkbox][checked]::part(input),[dh-settings-grid]::part(dh-checkbox-input):checked,[dh-setting-item]::part(dh-checkbox-input):checked,[dh-table-old]::part(dh-checkbox-input):checked,[dh-table]::part(dh-checkbox-input):checked{background-color:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary);background-image:var(--md-comp-checkbox-mark)}[dh-checkbox][checked]:not([disabled]):hover::part(input),[dh-settings-grid]::part(dh-checkbox-input):checked:not(:disabled):hover,[dh-setting-item]::part(dh-checkbox-input):checked:not(:disabled):hover,[dh-table-old]::part(dh-checkbox-input):checked:not(:disabled):hover,[dh-table]::part(dh-checkbox-input):checked:not(:disabled):hover{box-shadow:0 0 0 2px rgba(var(--md-sys-color-primary-rgb),.12)}[dh-checkbox][checked]:not([disabled]):focus-within::part(input),[dh-settings-grid]::part(dh-checkbox-input):checked:not(:disabled):focus-visible,[dh-setting-item]::part(dh-checkbox-input):checked:not(:disabled):focus-visible,[dh-table-old]::part(dh-checkbox-input):checked:not(:disabled):focus-visible,[dh-table]::part(dh-checkbox-input):checked:not(:disabled):focus-visible{box-shadow:0 0 0 2px rgba(var(--md-sys-color-primary-rgb),.2)}[dh-checkbox][indeterminate]::part(input),[dh-settings-grid]::part(dh-checkbox-input):indeterminate,[dh-setting-item]::part(dh-checkbox-input):indeterminate,[dh-table-old]::part(dh-checkbox-input):indeterminate,[dh-table]::part(dh-checkbox-input):indeterminate{background-color:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary);background-image:linear-gradient(var(--md-sys-color-on-primary),var(--md-sys-color-on-primary));background-size:10px 2px;background-position:center;background-repeat:no-repeat}[dh-checkbox][indeterminate]:not([disabled]):hover::part(input),[dh-settings-grid]::part(dh-checkbox-input):indeterminate:not(:disabled):hover,[dh-setting-item]::part(dh-checkbox-input):indeterminate:not(:disabled):hover,[dh-table-old]::part(dh-checkbox-input):indeterminate:not(:disabled):hover,[dh-table]::part(dh-checkbox-input):indeterminate:not(:disabled):hover{box-shadow:0 0 0 2px rgba(var(--md-sys-color-primary-rgb),.12)}[dh-checkbox][disabled]:not([checked])::part(root){cursor:not-allowed;pointer-events:none}[dh-checkbox][disabled]:not([checked])::part(input),[dh-settings-grid]::part(dh-checkbox-input):disabled:not(:checked),[dh-setting-item]::part(dh-checkbox-input):disabled:not(:checked),[dh-table-old]::part(dh-checkbox-input):disabled:not(:checked),[dh-table]::part(dh-checkbox-input):disabled:not(:checked){border-color:rgba(var(--md-sys-color-on-surface-rgb),.38);cursor:not-allowed}[dh-checkbox][disabled][checked]::part(root){cursor:not-allowed;pointer-events:none}[dh-checkbox][disabled][checked]::part(input),[dh-settings-grid]::part(dh-checkbox-input):disabled:checked,[dh-setting-item]::part(dh-checkbox-input):disabled:checked,[dh-table-old]::part(dh-checkbox-input):disabled:checked,[dh-table]::part(dh-checkbox-input):disabled:checked{background-color:rgba(var(--md-sys-color-on-surface-rgb),.38);border-color:rgba(var(--md-sys-color-on-surface-rgb),.38);cursor:not-allowed}[dh-settings-grid]::part(dh-checkbox-root),[dh-setting-item]::part(dh-checkbox-root){margin-left:16px}[dh-checkbox][variant=switch]::part(root),[dh-table]::part(dh-switch-root){position:relative;display:inline-flex;align-items:center;width:48px;height:28px}[dh-checkbox][variant=switch]::part(input),[dh-table]::part(dh-switch-track){appearance:none;-webkit-appearance:none;width:48px;height:28px;border:2px solid var(--md-sys-color-outline-variant);border-radius:14px;background-color:var(--md-sys-color-surface-container-highest);background-image:none;cursor:pointer;margin:0;padding:0;outline:none;box-sizing:border-box;transition:background-color .2s cubic-bezier(.2,0,0,1),border-color .2s cubic-bezier(.2,0,0,1)}[dh-checkbox][variant=switch]::part(handle),[dh-table]::part(dh-switch-handle){position:absolute;top:50%;left:5px;width:14px;height:14px;border-radius:50%;background-color:var(--md-sys-color-outline);transform:translateY(-50%);pointer-events:none;transition:left .2s cubic-bezier(.2,0,0,1),width .2s cubic-bezier(.2,0,0,1),height .2s cubic-bezier(.2,0,0,1),background-color .2s cubic-bezier(.2,0,0,1)}[dh-checkbox][variant=switch]:not([disabled]):not([checked]):hover::part(input),[dh-table]::part(dh-switch-track):not(:checked):not(:disabled):hover{border-color:var(--md-sys-color-on-surface-variant)}[dh-checkbox][variant=switch]:not([disabled]):not([checked]):hover::part(handle){background-color:var(--md-sys-color-on-surface-variant)}[dh-checkbox][variant=switch][checked]::part(input),[dh-table]::part(dh-switch-track):checked{background-color:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary);background-image:none}[dh-checkbox][variant=switch][checked]:not([disabled]):hover::part(handle){background-color:var(--md-sys-color-primary-container)}[dh-checkbox][variant=switch][disabled]:not([checked])::part(input),[dh-table]::part(dh-switch-track):disabled:not(:checked){border-color:rgba(var(--md-sys-color-on-surface-rgb),.12);background-color:rgba(var(--md-sys-color-on-surface-rgb),.06)}[dh-checkbox][variant=switch][disabled]:not([checked])::part(handle){background-color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-checkbox][variant=switch][disabled][checked]::part(input),[dh-table]::part(dh-switch-track):disabled:checked{background-color:rgba(var(--md-sys-color-on-surface-rgb),.12);border-color:transparent}[dh-checkbox][variant=switch][disabled][checked]::part(handle){background-color:var(--md-sys-color-surface)}[dh-radio]::part(control){width:var(--dh-radio-control-size, 32px);height:var(--dh-radio-control-size, 32px);border-radius:50%;position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:background-color .2s cubic-bezier(.2,0,0,1)}[dh-radio][disabled]::part(control){cursor:not-allowed}[dh-radio]:not([disabled])::part(control):hover{background-color:rgba(var(--md-sys-color-on-surface-rgb),.08)}[dh-radio]:not([disabled])[checked]::part(control):hover{background-color:rgba(var(--md-sys-color-primary-rgb),.08)}[dh-radio]:not([disabled])::part(control):active{background-color:rgba(var(--md-sys-color-on-surface-rgb),.12)}[dh-radio]:not([disabled])[checked]::part(control):active{background-color:rgba(var(--md-sys-color-primary-rgb),.12)}[dh-radio]::part(input){width:20px;height:20px;border-radius:50%;border:2px solid var(--md-sys-color-on-surface);background-color:transparent;cursor:pointer;transition:border-color .2s cubic-bezier(.2,0,0,1),background-color .2s cubic-bezier(.2,0,0,1)}[dh-radio][disabled]::part(input){border-color:rgba(var(--md-sys-color-on-surface-rgb),.38);cursor:not-allowed}[dh-radio][checked]::part(input){border-color:var(--md-sys-color-primary);background:radial-gradient(circle,var(--md-sys-color-primary) 0 5px,transparent 5px 100%)}[dh-radio][checked][disabled]::part(input){border-color:rgba(var(--md-sys-color-on-surface-rgb),.38);background:radial-gradient(circle,rgba(var(--md-sys-color-on-surface-rgb),.38) 0 5px,transparent 5px 100%)}[dh-radio]:not([disabled])::part(input):focus-visible{outline:none}[dh-radio]:not([disabled]):has(:focus-visible)::part(control){background-color:rgba(var(--md-sys-color-on-surface-rgb),.12)}[dh-radio]:not([disabled])[checked]:has(:focus-visible)::part(control){background-color:rgba(var(--md-sys-color-primary-rgb),.12)}[dh-radio]::part(label){font-family:Roboto,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem;color:var(--md-sys-color-on-surface)}[dh-radio][disabled]::part(label){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-infobox]{display:block;font-family:Roboto,system-ui,sans-serif}[dh-infobox]::part(root){background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:28px;box-shadow:0 2px 6px #0000001f,0 8px 24px #00000029;padding:24px;min-width:280px;max-width:560px}[dh-infobox]::part(header){padding:0 0 16px;justify-content:flex-start;font-size:1.5rem;font-weight:400}[dh-infobox]::part(label){font-size:1.5rem;font-weight:400;line-height:2rem;color:var(--md-sys-color-on-surface)}[dh-infobox]::part(content){padding:0 0 24px;justify-content:flex-start;align-items:flex-start;font-size:.875rem;font-weight:400;line-height:1.25rem;color:var(--md-sys-color-on-surface-variant)}[dh-infobox]::part(footer){padding:0;justify-content:flex-end;gap:8px}[dh-input]::part(trailing-icon){width:40px;height:40px;margin-right:4px;border-radius:50%;color:var(--md-sys-color-on-surface-variant);font-size:1.125rem;transition:background-color .2s cubic-bezier(.2,0,0,1),color .2s cubic-bezier(.2,0,0,1)}[dh-input]:not([disabled])::part(trailing-icon):hover{background-color:rgba(var(--md-sys-color-on-surface-rgb),.08);color:var(--md-sys-color-on-surface)}[dh-input]:not([disabled])::part(trailing-icon):focus-visible{outline:none;background-color:rgba(var(--md-sys-color-on-surface-rgb),.12);color:var(--md-sys-color-on-surface)}[dh-input][disabled]::part(trailing-icon){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-input][toggle-password][type=password]::part(input){padding-right:48px}[dh-input][type=checkbox]{display:inline-flex;width:auto;height:auto}[dh-input]:not([type=checkbox])::part(root),[dh-settings-grid]::part(dh-input-root),[dh-setting-item]::part(dh-input-root),[dh-table-old]::part(dh-filter-root),[dh-table]::part(dh-filter-root),[dh-table-old]::part(dh-input-root),[dh-table]::part(dh-input-root),[dh-multi-selectbox]::part(dh-input-root){display:flex;align-items:center;width:100%;min-height:40px;box-sizing:border-box;transition:border-color .2s cubic-bezier(.2,0,0,1),background-color .2s cubic-bezier(.2,0,0,1)}[dh-input]:not([type=checkbox])::part(input),[dh-settings-grid]::part(dh-input-input),[dh-setting-item]::part(dh-input-input),[dh-table-old]::part(dh-filter-input),[dh-table]::part(dh-filter-input),[dh-table-old]::part(dh-input-input),[dh-table]::part(dh-input-input),[dh-multi-selectbox]::part(dh-input-input){font-family:Roboto,system-ui,sans-serif;font-size:var(--dh-input-input-size, .875rem);font-weight:400;line-height:var(--dh-input-input-line-height, 1.25rem);letter-spacing:.015625rem;color:var(--md-sys-color-on-surface);caret-color:var(--md-sys-color-primary);padding:var(--dh-input-input-padding, 0 12px);border:none;outline:none;background:transparent;width:100%;height:100%;box-sizing:border-box;margin:0}[dh-input][type=checkbox]::part(root){width:auto;height:auto;border:none}[dh-input][type=checkbox]::part(input){padding:0;width:auto;height:auto}[dh-input]::part(root),[dh-input][variant=outlined]::part(root),[dh-table-old]::part(dh-filter-root),[dh-table]::part(dh-filter-root){border:var(--dh-input-root-border, 1px solid var(--md-sys-color-outline-variant));border-radius:var(--dh-input-root-radius, 4px);background-color:var(--dh-input-root-bg, transparent)}[dh-input]:not([variant]):not([disabled]):hover::part(root),[dh-input][variant=outlined]:not([disabled]):hover::part(root),[dh-table-old]::part(dh-filter-root):hover,[dh-table]::part(dh-filter-root):hover{border-color:var(--md-sys-color-outline)}[dh-input]:not([variant]):not([disabled]):focus-within::part(root),[dh-input][variant=outlined]:not([disabled]):focus-within::part(root),[dh-table-old]::part(dh-filter-root):focus-within,[dh-table]::part(dh-filter-root):focus-within{border-color:var(--md-sys-color-primary)}[dh-input][invalid]::part(root){border-color:var(--md-sys-color-error)}[dh-input][invalid]:focus-within::part(root){border-color:var(--md-sys-color-error)}[dh-input][invalid]::part(label){color:var(--md-sys-color-error)}[dh-input][invalid]::part(supporting-text){color:var(--md-sys-color-error)}[dh-input][variant=filled]::part(root){border:var(--dh-input-root-border, none);border-bottom:var(--dh-input-root-border-bottom, 1px solid var(--md-sys-color-on-surface-variant));border-radius:var(--dh-input-root-radius, 4px 4px 0 0);background-color:var(--dh-input-root-bg, var(--md-sys-color-surface-container-highest))}[dh-input][variant=filled]::part(input){padding:20px 16px 8px}[dh-input][variant=filled]:not([disabled]):hover::part(root){border-bottom-color:var(--md-sys-color-on-surface);box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-surface-rgb),.08)}[dh-input][variant=filled]:not([disabled]):focus-within::part(root){border-bottom-color:var(--md-sys-color-primary);box-shadow:var(--dh-input-root-focus-shadow, inset 0 -1px 0 0 var(--md-sys-color-primary))}[dh-input]{--dh-input-label-top: 50%;--dh-input-label-transform: translateY(-50%);--dh-input-label-font-size: .875rem;--dh-input-label-line-height: 1.25rem;--dh-input-label-bg: transparent}[dh-input]::part(label){position:absolute;left:12px;font-family:Roboto,system-ui,sans-serif;letter-spacing:.015625rem;color:var(--md-sys-color-on-surface-variant);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 24px);transition:top .2s cubic-bezier(.2,0,0,1),transform .2s cubic-bezier(.2,0,0,1),font-size .2s cubic-bezier(.2,0,0,1),line-height .2s cubic-bezier(.2,0,0,1),color .2s cubic-bezier(.2,0,0,1),background-color .2s cubic-bezier(.2,0,0,1)}[dh-input]:not([variant])::part(label),[dh-input][variant=outlined]::part(label){left:12px;padding:0 4px}[dh-input]:not([variant]),[dh-input][variant=outlined]{--dh-input-label-floating-bg: var(--md-sys-color-surface)}[dh-input][variant=filled]{--dh-input-label-floating-top: 6px;--dh-input-label-floating-transform: translateY(0);--dh-input-label-floating-bg: transparent}[dh-input]:focus-within::part(label){color:var(--md-sys-color-primary)}[dh-input]::part(supporting-text),[dh-settings-grid]::part(dh-input-supporting-text),[dh-setting-item]::part(dh-input-supporting-text),[dh-table-old]::part(dh-input-supporting-text),[dh-table]::part(dh-input-supporting-text),[dh-table-old]::part(dh-filter-supporting-text),[dh-table]::part(dh-filter-supporting-text),[dh-multi-selectbox]::part(dh-input-supporting-text){font-family:Roboto,system-ui,sans-serif;font-size:.75rem;font-weight:400;line-height:1rem;letter-spacing:.025rem;color:var(--md-sys-color-on-surface-variant);padding:4px 16px 0}[dh-input][disabled]::part(root),[dh-input][disabled][variant=outlined]::part(root){border-color:rgba(var(--md-sys-color-on-surface-rgb),.12);box-shadow:none}[dh-input][disabled]::part(input),[dh-input][disabled][variant=outlined]::part(input){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-input][disabled][variant=filled]::part(root){background-color:rgba(var(--md-sys-color-on-surface-rgb),.04);border-bottom-color:rgba(var(--md-sys-color-on-surface-rgb),.12);box-shadow:none}[dh-input][disabled][variant=filled]::part(input){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-input][disabled]::part(label){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-input][disabled]::part(supporting-text){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-input][readonly]:not([disabled])::part(root),[dh-input][readonly]:not([disabled])[variant=outlined]::part(root){border-color:var(--md-sys-color-outline-variant)}[dh-input][readonly]:not([disabled])[variant=filled]::part(root){border-bottom-color:var(--md-sys-color-outline-variant)}[dh-input][readonly]:not([disabled])::part(input){color:var(--md-sys-color-on-surface-variant);cursor:default}[dh-input][variant=classic],[dh-settings-grid],[dh-setting-item],[dh-table]{--dh-input-placeholder-color: var(--md-sys-color-on-surface-variant);--dh-input-placeholder-opacity: 1}[dh-input][variant=classic]::part(root),[dh-settings-grid]::part(dh-input-root),[dh-setting-item]::part(dh-input-root){border:var(--dh-input-root-border, 1px solid var(--md-sys-color-outline-variant));border-radius:var(--dh-input-root-radius, 4px);background-color:var(--dh-input-root-bg, transparent)}[dh-input][variant=classic]:not([disabled]):hover::part(root),[dh-settings-grid]::part(dh-input-root):hover,[dh-setting-item]::part(dh-input-root):hover{border-color:var(--md-sys-color-outline)}[dh-input][variant=classic]:not([disabled]):focus-within::part(root),[dh-settings-grid]::part(dh-input-root):focus-within,[dh-setting-item]::part(dh-input-root):focus-within{border-color:var(--md-sys-color-primary)}[dh-input][disabled][variant=classic]::part(root){border-color:rgba(var(--md-sys-color-on-surface-rgb),.12);box-shadow:none}[dh-input][disabled][variant=classic]::part(input){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-input][disabled][variant=classic]{--dh-input-placeholder-color: var(--md-sys-color-on-surface);--dh-input-placeholder-opacity: .38}[dh-input][readonly]:not([disabled])[variant=classic]::part(root){border-color:var(--md-sys-color-outline-variant)}[dh-input][readonly]:not([disabled])[variant=classic]::part(input){color:var(--md-sys-color-on-surface-variant);cursor:default}[dh-settings-grid]::part(dh-input-root),[dh-setting-item]::part(dh-input-root){border:var(--dh-input-root-border, 1px solid var(--md-sys-color-outline-variant));border-radius:var(--dh-input-root-radius, 4px);background-color:var(--dh-input-root-bg, var(--md-sys-color-surface))}[dh-settings-grid]::part(dh-input-root):hover,[dh-setting-item]::part(dh-input-root):hover{border-color:var(--md-sys-color-outline)}[dh-settings-grid]::part(dh-input-root):focus-within,[dh-setting-item]::part(dh-input-root):focus-within{border-color:var(--md-sys-color-primary)}[dh-select]::part(dh-input-root){border:none;border-radius:0;background-color:transparent}[dh-select]::part(dh-input-root):hover{border:none;box-shadow:none}[dh-select]::part(dh-input-root):focus-within{border:none;box-shadow:none}[dh-input][type=file]::part(root){border:none;box-shadow:none;background:transparent;height:auto}[dh-input][type=file]::part(file-button){height:var(--dh-button-height, 40px);padding-inline:var(--dh-button-padding-inline, 24px);border-radius:var(--dh-button-radius, 20px);border:1px solid var(--md-sys-color-outline);background:transparent;color:var(--md-sys-color-primary);font-family:Roboto,system-ui,sans-serif;font-size:var(--md-sys-typescale-label-large-size, .875rem);font-weight:var(--md-sys-typescale-label-large-weight, 500);letter-spacing:var(--md-sys-typescale-label-large-tracking, .00625rem);cursor:pointer;transition:background .2s cubic-bezier(.2,0,0,1)}[dh-input][type=file]:not([disabled])::part(file-button):hover{background:rgba(var(--md-sys-color-primary-rgb),.08)}[dh-input][type=file]:not([disabled])::part(file-button):focus-visible{outline:none;background:rgba(var(--md-sys-color-primary-rgb),.12)}[dh-input][type=file][disabled]::part(file-button){border-color:rgba(var(--md-sys-color-on-surface-rgb),.12);color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-input][type=file]::part(file-name){font-family:Roboto,system-ui,sans-serif;font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.015625rem;color:var(--md-sys-color-on-surface-variant)}[dh-table-old]::part(dh-input-root),[dh-table]::part(dh-input-root){height:100%;min-height:0;border:none;border-radius:0;background-color:transparent}[dh-table-old]::part(dh-input-input),[dh-table]::part(dh-input-input){padding:0;font-size:.875rem;line-height:1.25rem}[dh-table-old]::part(dh-input-root):hover,[dh-table]::part(dh-input-root):hover{border:none;box-shadow:none}[dh-table-old]::part(dh-input-root):focus-within,[dh-table]::part(dh-input-root):focus-within{border:none;box-shadow:none}[dh-list-item]{display:block;font-family:Roboto,system-ui,sans-serif;--dh-list-item-title-color: var(--md-sys-color-on-surface);--dh-list-item-meta-color: var(--md-sys-color-on-surface-variant);--dh-list-item-status-color: var(--md-sys-color-primary)}[dh-list-item]::part(root){border:1px solid var(--md-sys-color-outline-variant);border-radius:.5rem;overflow:visible;background-color:var(--md-sys-color-surface);transition:border-color .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1)}[dh-list-item]:hover::part(root){border-color:var(--md-sys-color-outline)}[dh-list-item][expanded]::part(root){border-color:var(--md-sys-color-primary);box-shadow:0 1px 3px #00000014}[dh-list-item]::part(row){padding:.75rem 1rem;border-radius:.5rem}[dh-list-item][expanded]::part(row){background-color:var(--md-sys-color-primary-container);border-bottom-left-radius:0;border-bottom-right-radius:0}[dh-list-item]::part(expanded){border-top:1px solid var(--md-sys-color-outline-variant);padding:1rem;background-color:var(--md-sys-color-surface);border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}[dh-form-grid]{display:block;font-family:Roboto,system-ui,sans-serif}[dh-form-field]{--dh-form-field-label-color: var(--md-sys-color-on-surface-variant)}[dh-section]{display:block;font-family:Roboto,system-ui,sans-serif}[dh-section]::part(header){border-bottom:1px solid var(--md-sys-color-outline-variant)}[dh-section]::part(title){font-size:1rem;font-weight:600;color:var(--md-sys-color-on-surface)}[dh-section]::part(badge){font-size:.75rem;font-weight:500;background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);padding:.125rem .5rem;border-radius:999px}[dh-section][divider]{border-top-color:var(--md-sys-color-outline-variant)}[dh-textarea]{display:block;font-family:Roboto,system-ui,sans-serif;width:100%}[dh-textarea]::part(input){padding:.5rem .75rem;border:1px solid var(--md-sys-color-outline);border-radius:4px;font-size:.875rem;font-family:inherit;color:var(--md-sys-color-on-surface);background-color:var(--md-sys-color-surface);resize:vertical;min-height:60px;outline:none;transition:border-color .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1)}[dh-textarea]:not([disabled])::part(input):hover{border-color:var(--md-sys-color-on-surface)}[dh-textarea]::part(input):focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px rgba(var(--md-sys-color-primary-rgb),.12)}[dh-textarea][disabled]::part(input){border-color:rgba(var(--md-sys-color-on-surface-rgb),.12);background-color:rgba(var(--md-sys-color-on-surface-rgb),.04);color:rgba(var(--md-sys-color-on-surface-rgb),.38);cursor:not-allowed}[dh-color-picker]{display:block;font-family:Roboto,system-ui,sans-serif}[dh-color-picker]::part(preview){border:1px solid var(--md-sys-color-outline)}[dh-mainbar]{display:block;font-family:Roboto,system-ui,sans-serif}[dh-mainbar]::part(root){background-color:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface)}[dh-mainbar]::part(brand){font-size:1.375rem;font-weight:400;line-height:1.75rem;letter-spacing:0;color:var(--md-sys-color-on-surface)}[dh-mainbar]::part(content){font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.015625rem;color:var(--md-sys-color-on-surface-variant)}[dh-mainbar]::part(actions){color:var(--md-sys-color-on-surface-variant)}[dh-merge-dialog]{display:block;font-family:Roboto,system-ui,sans-serif}[dh-merge-dialog]::part(root){background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:28px;box-shadow:0 2px 6px #0000001f,0 8px 24px #00000029;padding:24px;min-width:280px;max-width:640px}[dh-merge-dialog]::part(header){padding:0 0 16px;justify-content:flex-start;font-size:1.5rem;font-weight:400;line-height:2rem;color:var(--md-sys-color-on-surface)}[dh-merge-dialog]::part(content){padding:0 0 16px;font-size:.875rem;font-weight:400;line-height:1.25rem;color:var(--md-sys-color-on-surface-variant)}[dh-merge-dialog]::part(footer){padding:0;justify-content:space-between;align-items:center;gap:8px}[dh-merge-dialog]::part(page-root){color:var(--md-sys-color-on-surface)}[dh-merge-dialog]::part(page-label){font-size:.875rem;font-weight:500;line-height:1.25rem;color:var(--md-sys-color-on-surface);padding:8px 0}[dh-merge-dialog]::part(page-content){font-size:.875rem;line-height:1.25rem;color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;overflow:hidden;accent-color:var(--md-sys-color-primary)}[dh-merge-dialog]::part(page-header){background-color:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);font-weight:500;border-color:var(--md-sys-color-outline-variant)}[dh-merge-dialog]::part(page-column-left),[dh-merge-dialog]::part(page-column-right){background-color:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);font-weight:500;border-color:var(--md-sys-color-outline-variant);accent-color:var(--md-sys-color-primary)}[dh-merge-dialog]::part(page-item){color:var(--md-sys-color-on-surface-variant);font-weight:400;border-color:var(--md-sys-color-outline-variant)}[dh-merge-dialog]::part(dh-button-nav-root){padding-inline:8px;min-width:auto;height:36px}[dh-merge-dialog]::part(dh-button-nav-icon){width:14px;height:14px}[dh-multi-selectbox]{display:block}[dh-multi-selectbox]::part(root),[dh-settings-grid]::part(dh-multiselect-root),[dh-setting-item]::part(dh-multiselect-root){display:flex;flex-direction:row;align-items:center;gap:8px;padding:4px 8px;border-radius:8px;background-color:var(--md-sys-color-surface)}[dh-multi-selectbox]::part(trigger),[dh-settings-grid]::part(dh-multiselect-trigger),[dh-setting-item]::part(dh-multiselect-trigger){gap:4px;flex:1;min-width:0}[dh-multi-selectbox]::part(item-root),[dh-multi-selectbox-item]::part(root),[dh-settings-grid]::part(dh-multiselect-item-root),[dh-setting-item]::part(dh-multiselect-item-root){display:inline-flex;align-items:center;height:32px;padding:0 4px 0 12px;border-radius:8px;border:1px solid var(--md-sys-color-outline-variant);background-color:transparent;gap:8px;box-sizing:border-box;transition:background-color .2s cubic-bezier(.2,0,0,1),border-color .2s cubic-bezier(.2,0,0,1)}[dh-multi-selectbox]::part(item-label),[dh-multi-selectbox-item]::part(label),[dh-settings-grid]::part(dh-multiselect-item-label),[dh-setting-item]::part(dh-multiselect-item-label){font-family:Roboto,system-ui,sans-serif;font-size:.875rem;font-weight:500;line-height:1.25rem;letter-spacing:.00625rem;color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[dh-multi-selectbox]::part(item-dh-button-root),[dh-multi-selectbox-item]::part(dh-button-root),[dh-settings-grid]::part(dh-multiselect-item-trigger),[dh-setting-item]::part(dh-multiselect-item-trigger){width:24px;height:24px;min-width:auto;min-height:auto;border:none;background:none;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background-color .2s cubic-bezier(.2,0,0,1)}[dh-multi-selectbox]::part(item-icon),[dh-multi-selectbox-item]::part(icon),[dh-settings-grid]::part(dh-multiselect-item-icon),[dh-setting-item]::part(dh-multiselect-item-icon){font-size:18px;color:var(--md-sys-color-on-surface-variant)}[dh-multi-selectbox]:not([noteditable])::part(item-root):hover,[dh-multi-selectbox-item]:not([noteditable])::part(root):hover,[dh-settings-grid]::part(dh-multiselect-item-root):hover,[dh-setting-item]::part(dh-multiselect-item-root):hover{background-color:rgba(var(--md-sys-color-on-surface-rgb),.08)}[dh-multi-selectbox]:not([noteditable])::part(item-dh-button-root):hover,[dh-multi-selectbox-item]:not([noteditable])::part(dh-button-root):hover,[dh-settings-grid]::part(dh-multiselect-item-trigger):hover,[dh-setting-item]::part(dh-multiselect-item-trigger):hover{background-color:rgba(var(--md-sys-color-on-surface-rgb),.08)}[dh-multi-selectbox]:not([noteditable])::part(item-root):focus-within,[dh-multi-selectbox-item]:not([noteditable])::part(root):focus-within,[dh-settings-grid]::part(dh-multiselect-item-root):focus-within,[dh-setting-item]::part(dh-multiselect-item-root):focus-within{border-color:var(--md-sys-color-on-surface);background-color:rgba(var(--md-sys-color-on-surface-rgb),.12)}[dh-multi-selectbox]::part(dh-button-root),[dh-settings-grid]::part(dh-multiselect-icon),[dh-setting-item]::part(dh-multiselect-icon){width:32px;height:32px;min-width:auto;min-height:auto;border-radius:50%;background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1.125rem;padding:0;box-shadow:none;transition:background-color .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1)}[dh-multi-selectbox]:not([noteditable])::part(dh-button-root):hover,[dh-settings-grid]::part(dh-multiselect-icon):hover,[dh-setting-item]::part(dh-multiselect-icon):hover{box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-secondary-container-rgb),.08),0 1px 2px #0000004d,0 1px 3px 1px #00000026}[dh-multi-selectbox]:not([noteditable])::part(dh-button-root):focus-within,[dh-settings-grid]::part(dh-multiselect-icon):focus-visible,[dh-setting-item]::part(dh-multiselect-icon):focus-visible{box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-secondary-container-rgb),.12);outline:none}[dh-multi-selectbox]:not([noteditable])::part(dh-button-root):active,[dh-settings-grid]::part(dh-multiselect-icon):active,[dh-setting-item]::part(dh-multiselect-icon):active{box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-secondary-container-rgb),.12)}[dh-multi-selectbox]::part(content),[dh-settings-grid]::part(dh-multiselect-content),[dh-setting-item]::part(dh-multiselect-content),[dh-form-field]::part(dh-multiselect-content){background-color:var(--md-sys-color-surface);border-radius:12px;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026;padding:8px 0;min-width:200px}[dh-multi-selectbox]::part(input),[dh-settings-grid]::part(dh-multiselect-input),[dh-setting-item]::part(dh-multiselect-input){display:block;width:calc(100% - 16px);margin:0 8px 4px}[dh-multi-selectbox]::part(dh-input-root){height:auto;border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;background-color:var(--md-sys-color-surface-container-low);box-shadow:none}[dh-multi-selectbox]::part(dh-input-input){font-size:.875rem;line-height:1.25rem;padding:8px 12px}[dh-multi-selectbox]::part(item),[dh-settings-grid]::part(dh-multiselect-item),[dh-setting-item]::part(dh-multiselect-item){padding:12px 16px;font-family:Roboto,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem;color:var(--md-sys-color-on-surface);cursor:pointer;transition:background-color .15s cubic-bezier(.2,0,0,1)}[dh-multi-selectbox]::part(item):hover,[dh-settings-grid]::part(dh-multiselect-item):hover,[dh-setting-item]::part(dh-multiselect-item):hover{background-color:rgba(var(--md-sys-color-primary-rgb),.08)}[dh-multi-selectbox]::part(item):focus,[dh-settings-grid]::part(dh-multiselect-item):focus,[dh-setting-item]::part(dh-multiselect-item):focus{background-color:rgba(var(--md-sys-color-primary-rgb),.12);outline:none}[dh-multi-selectbox]::part(item):active,[dh-settings-grid]::part(dh-multiselect-item):active,[dh-setting-item]::part(dh-multiselect-item):active{background-color:rgba(var(--md-sys-color-primary-rgb),.12)}[dh-multi-selectbox]::part(selected),[dh-settings-grid]::part(dh-multiselect-selected),[dh-setting-item]::part(dh-multiselect-selected){background-color:rgba(var(--md-comp-multiselect-selected-rgb),.12);color:var(--md-comp-multiselect-selected);font-weight:700}[dh-multi-selectbox]::part(selected):hover,[dh-settings-grid]::part(dh-multiselect-selected):hover,[dh-setting-item]::part(dh-multiselect-selected):hover{background-color:rgba(var(--md-comp-multiselect-selected-rgb),.2)}[dh-multi-selectbox][noteditable]::part(root){opacity:.38;pointer-events:none}[dh-multi-selectbox][noteditable]::part(item-root){border-color:rgba(var(--md-sys-color-on-surface-rgb),.12);background-color:transparent}[dh-multi-selectbox][noteditable]::part(item-label){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-select]::part(root),[dh-settings-grid]::part(dh-select-root),[dh-setting-item]::part(dh-select-root),[dh-table-old]::part(dh-select-root),[dh-table]::part(dh-select-root){position:relative;height:100%}[dh-select]::part(trigger),[dh-settings-grid]::part(dh-select-trigger),[dh-setting-item]::part(dh-select-trigger),[dh-table-old]::part(dh-select-trigger),[dh-table]::part(dh-select-trigger){display:flex;align-items:center;justify-content:space-between;height:var(--dh-select-trigger-height, 40px);padding:var(--dh-select-trigger-padding, 0 12px);border-radius:var(--dh-select-trigger-radius, var(--md-sys-shape-corner-extra-small, 4px));cursor:pointer;box-sizing:border-box;overflow:hidden;gap:8px;transition:background-color .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1),border-color .2s cubic-bezier(.2,0,0,1),transform .2s cubic-bezier(.2,0,0,1)}[dh-select]::part(trigger),[dh-select][variant=outlined]::part(trigger),[dh-settings-grid]::part(dh-select-trigger),[dh-setting-item]::part(dh-select-trigger),[dh-table-old]::part(dh-select-trigger),[dh-table]::part(dh-select-trigger){border:var(--dh-select-trigger-border, 1px solid var(--md-sys-color-outline-variant));background-color:transparent}[dh-select]:not([disabled]):not([variant=filled]):not([open]):not(:focus-within):hover::part(trigger),[dh-select][variant=outlined]:not([disabled]):not([open]):not(:focus-within):hover::part(trigger),[dh-settings-grid]::part(dh-select-trigger):not(:focus-within):hover,[dh-setting-item]::part(dh-select-trigger):not(:focus-within):hover,[dh-table-old]::part(dh-select-trigger):not(:focus-within):hover,[dh-table]::part(dh-select-trigger):not(:focus-within):hover{border-color:var(--md-sys-color-outline)}[dh-select]:not([disabled]):not([variant=filled]):focus-within::part(trigger),[dh-select][variant=outlined]:not([disabled]):focus-within::part(trigger),[dh-settings-grid]::part(dh-select-trigger):focus-within,[dh-setting-item]::part(dh-select-trigger):focus-within,[dh-table-old]::part(dh-select-trigger):focus-within,[dh-table]::part(dh-select-trigger):focus-within{border-color:var(--md-sys-color-primary)}[dh-select]:not([disabled]):not([variant=filled]):active::part(trigger),[dh-select][variant=outlined]:not([disabled]):active::part(trigger){transform:scale(.97)}[dh-select]:not([variant=filled])[open]::part(trigger),[dh-select][variant=outlined][open]::part(trigger){border-color:var(--md-sys-color-primary)}[dh-select][variant=filled]::part(trigger){border:none;background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}[dh-select][variant=filled]:not([disabled]):hover::part(trigger){box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-primary-rgb),.08),0 1px 2px #0000004d,0 1px 3px 1px #00000026}[dh-select][variant=filled]:not([disabled]):focus-within::part(trigger){box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-primary-rgb),.12);outline:none}[dh-select][variant=filled]:not([disabled]):active::part(trigger){box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-primary-rgb),.12);transform:scale(.97)}[dh-select][variant=filled][open]::part(trigger){box-shadow:inset 0 0 0 100vmax rgba(var(--md-sys-color-on-primary-rgb),.12)}[dh-select]::part(floating-label){color:var(--md-sys-color-primary);font-family:Roboto,system-ui,sans-serif}[dh-select][variant=filled]::part(floating-label){color:var(--md-sys-color-on-primary)}[dh-select]::part(label),[dh-settings-grid]::part(dh-select-label),[dh-setting-item]::part(dh-select-label),[dh-table-old]::part(dh-select-label),[dh-table]::part(dh-select-label){font-family:Roboto,system-ui,sans-serif;font-size:var(--dh-select-label-size, .875rem);font-weight:500;line-height:var(--dh-select-label-line-height, 1.25rem);letter-spacing:.00625rem;color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}[dh-select][variant=filled]::part(label){color:var(--md-sys-color-on-primary)}[dh-select]::part(icon),[dh-settings-grid]::part(dh-select-icon),[dh-setting-item]::part(dh-select-icon),[dh-table-old]::part(dh-select-icon),[dh-table]::part(dh-select-icon){color:var(--md-sys-color-on-surface-variant);font-size:.75rem;flex-shrink:0;transform:rotate(0);transition:transform .2s cubic-bezier(.2,0,0,1)}[dh-select][open]::part(icon),[dh-settings-grid] [dh-select][open]::part(dh-select-icon),[dh-setting-item] [dh-select][open]::part(dh-select-icon),[dh-table-old] [dh-select][open]::part(dh-select-icon),[dh-table] [dh-select][open]::part(dh-select-icon){transform:rotate(180deg)}[dh-select][variant=filled]::part(icon){color:var(--md-sys-color-on-primary)}[dh-select]::part(menu),[dh-settings-grid]::part(dh-select-menu),[dh-setting-item]::part(dh-select-menu),[dh-table-old]::part(dh-select-menu),[dh-table]::part(dh-select-menu){background-color:var(--md-sys-color-surface-container);border-radius:12px;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026;margin-top:4px;overflow:hidden}[dh-select]::part(search-bar),[dh-settings-grid]::part(dh-select-search-bar),[dh-setting-item]::part(dh-select-search-bar),[dh-table-old]::part(dh-select-search-bar),[dh-table]::part(dh-select-search-bar){padding:12px;border-bottom:1px solid var(--md-sys-color-outline-variant)}[dh-select]::part(search-input-wrapper),[dh-settings-grid]::part(dh-select-search-input-wrapper),[dh-setting-item]::part(dh-select-search-input-wrapper),[dh-table-old]::part(dh-select-search-input-wrapper),[dh-table]::part(dh-select-search-input-wrapper){display:flex;align-items:center;gap:8px;background-color:var(--md-sys-color-surface-container-highest);border-radius:9999px;height:40px;padding:0 14px}[dh-select]::part(search-icon),[dh-settings-grid]::part(dh-select-search-icon),[dh-setting-item]::part(dh-select-search-icon),[dh-table-old]::part(dh-select-search-icon),[dh-table]::part(dh-select-search-icon){color:var(--md-sys-color-on-surface-variant);font-size:20px;flex-shrink:0;line-height:1}[dh-select]::part(input),[dh-settings-grid]::part(dh-select-input),[dh-setting-item]::part(dh-select-input),[dh-table-old]::part(dh-select-input),[dh-table]::part(dh-select-input){font-family:Roboto,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem;padding:0;border:none;border-bottom:none;outline:none;background:transparent;color:var(--md-sys-color-on-surface);flex:1;min-width:0;box-sizing:border-box}[dh-select]::part(content),[dh-settings-grid]::part(dh-select-content),[dh-setting-item]::part(dh-select-content),[dh-table-old]::part(dh-select-content),[dh-table]::part(dh-select-content){padding:4px 0}[dh-select]::part(item),[dh-settings-grid]::part(dh-select-item),[dh-setting-item]::part(dh-select-item),[dh-table-old]::part(dh-select-item),[dh-table]::part(dh-select-item){min-height:48px;padding:0 16px;font-family:Roboto,system-ui,sans-serif;font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.015625rem;color:var(--md-sys-color-on-surface);transition:background-color .15s cubic-bezier(.2,0,0,1)}[dh-select]::part(item):hover,[dh-settings-grid]::part(dh-select-item):hover,[dh-setting-item]::part(dh-select-item):hover,[dh-table-old]::part(dh-select-item):hover,[dh-table]::part(dh-select-item):hover{background-color:rgba(var(--md-sys-color-primary-rgb),.08)}[dh-select]::part(item):focus,[dh-settings-grid]::part(dh-select-item):focus,[dh-setting-item]::part(dh-select-item):focus,[dh-table-old]::part(dh-select-item):focus,[dh-table]::part(dh-select-item):focus{background-color:rgba(var(--md-sys-color-primary-rgb),.12);outline:none}[dh-select]::part(item):active,[dh-settings-grid]::part(dh-select-item):active,[dh-setting-item]::part(dh-select-item):active,[dh-table-old]::part(dh-select-item):active,[dh-table]::part(dh-select-item):active{background-color:rgba(var(--md-sys-color-primary-rgb),.12)}[dh-select]::part(selected),[dh-settings-grid]::part(dh-select-selected),[dh-setting-item]::part(dh-select-selected),[dh-table-old]::part(dh-select-selected),[dh-table]::part(dh-select-selected){background-color:rgba(var(--md-sys-color-primary-rgb),.08);color:var(--md-sys-color-primary);font-weight:500}[dh-select]::part(selected):hover,[dh-settings-grid]::part(dh-select-selected):hover,[dh-setting-item]::part(dh-select-selected):hover,[dh-table-old]::part(dh-select-selected):hover,[dh-table]::part(dh-select-selected):hover{background-color:rgba(var(--md-sys-color-primary-rgb),.16)}[dh-select][disabled]::part(trigger),[dh-select][disabled][variant=outlined]::part(trigger){border-color:rgba(var(--md-sys-color-on-surface-rgb),.12);background-color:transparent;box-shadow:none;cursor:not-allowed;pointer-events:none}[dh-select][disabled][variant=filled]::part(trigger){border:none;background-color:rgba(var(--md-sys-color-on-surface-rgb),.12);box-shadow:none;cursor:not-allowed;pointer-events:none}[dh-select][disabled]::part(label){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-select][disabled]::part(icon){color:rgba(var(--md-sys-color-on-surface-rgb),.38)}[dh-settings-grid]::part(dh-select-trigger),[dh-setting-item]::part(dh-select-trigger){border:none;border-radius:0}[dh-settings-grid]::part(dh-select-trigger):hover,[dh-setting-item]::part(dh-select-trigger):hover{border:none;box-shadow:none}[dh-settings-grid]::part(dh-select-trigger):focus-within,[dh-setting-item]::part(dh-select-trigger):focus-within{border:none;box-shadow:none}[dh-table-old]::part(dh-select-root),[dh-table]::part(dh-select-root){height:100%}[dh-table-old]::part(dh-select-trigger),[dh-table]::part(dh-select-trigger){border:none;border-radius:0;height:100%;padding:0}[dh-table-old]::part(dh-select-trigger):hover,[dh-table]::part(dh-select-trigger):hover{border:none;box-shadow:none}[dh-table-old]::part(dh-select-trigger):focus-within,[dh-table]::part(dh-select-trigger):focus-within{border:none;box-shadow:none}[dh-mainbar] [dh-select]{width:auto;min-width:0}[dh-settings-grid],[dh-setting-item]{--dh-input-root-border: 1px solid var(--md-sys-color-outline-variant);--dh-input-root-radius: 4px;--dh-input-root-bg: var(--md-sys-color-surface);--dh-input-root-focus-shadow: inset 0 0 0 2px var(--md-sys-color-primary);--dh-input-input-padding: 0 8px;--dh-select-display: block;--dh-select-trigger-border: 1px solid var(--md-sys-color-outline-variant);--dh-select-trigger-radius: 4px;--dh-select-trigger-focus-shadow: inset 0 0 0 2px var(--md-sys-color-primary)}[dh-settings-grid]{font-family:Roboto,system-ui,sans-serif}[dh-settings-grid]::part(root){background-color:var(--md-sys-color-surface);padding:16px;border-radius:12px}[dh-settings-grid],[dh-grid-item]{--dh-grid-hover-bg: rgba(var(--md-sys-color-on-surface-rgb), .06)}[dh-grid-item]{display:block;font-family:Roboto,system-ui,sans-serif}[dh-grid-item]::part(root),[dh-grid-item]::part(grid-item-root),[dh-settings-grid]::part(grid-item-root){margin:2px 0;border-radius:20px;transition:background-color .2s cubic-bezier(.2,0,0,1),outline-color .2s cubic-bezier(.2,0,0,1)}[dh-grid-item].selected::part(root),[dh-grid-item].selected::part(grid-item-root),[dh-settings-grid] [dh-grid-item].selected::part(grid-item-root){outline:1px solid var(--md-sys-color-outline-variant);outline-offset:0}[dh-grid-item]::part(header),[dh-grid-item]::part(grid-item-header),[dh-settings-grid]::part(grid-item-header){padding:4px 8px 4px 4px;min-height:40px;cursor:pointer;transition:background-color .2s cubic-bezier(.2,0,0,1);position:relative}[dh-grid-item]::part(header):hover,[dh-grid-item]::part(grid-item-header):hover,[dh-settings-grid]::part(grid-item-header):hover{background-color:rgba(var(--md-sys-color-on-surface-rgb),.06)}[dh-grid-item]::part(header):active,[dh-grid-item]::part(grid-item-header):active,[dh-settings-grid]::part(grid-item-header):active{background-color:rgba(var(--md-sys-color-on-surface-rgb),.12)}[dh-grid-item].selected::part(header),[dh-grid-item].selected::part(grid-item-header),[dh-settings-grid] [dh-grid-item].selected::part(grid-item-header){background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:20px 20px 4px 4px}[dh-grid-item]::part(label),[dh-grid-item]::part(grid-item-label),[dh-settings-grid]::part(grid-item-label){font-size:1rem;font-weight:500;line-height:1.5rem;letter-spacing:.009375rem;color:var(--md-sys-color-on-surface)}[dh-grid-item].selected::part(label),[dh-grid-item].selected::part(grid-item-label),[dh-settings-grid] [dh-grid-item].selected::part(grid-item-label),[dh-grid-item].selected::part(icon),[dh-grid-item].selected::part(grid-item-icon),[dh-settings-grid] [dh-grid-item].selected::part(grid-item-icon),[dh-grid-item].selected::part(icon-reset),[dh-grid-item].selected::part(grid-item-icon-reset),[dh-settings-grid] [dh-grid-item].selected::part(grid-item-icon-reset){color:var(--md-sys-color-on-primary-container)}[dh-grid-item]::part(icon),[dh-grid-item]::part(grid-item-icon),[dh-settings-grid]::part(grid-item-icon){width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--md-sys-color-on-surface-variant);font-size:1.125rem;margin:0;transform:rotate(0);transition:transform .28s cubic-bezier(.2,0,0,1),background-color .15s cubic-bezier(.2,0,0,1)}[dh-grid-item]:not(.selected)::part(icon),[dh-grid-item]:not(.selected)::part(grid-item-icon),[dh-settings-grid] [dh-grid-item]:not(.selected)::part(grid-item-icon){transform:rotate(0)}[dh-grid-item].selected::part(icon),[dh-grid-item].selected::part(grid-item-icon),[dh-settings-grid] [dh-grid-item].selected::part(grid-item-icon){transform:rotate(180deg)}[dh-grid-item]::part(icon):hover,[dh-grid-item]::part(grid-item-icon):hover,[dh-settings-grid]::part(grid-item-icon):hover{background-color:rgba(var(--md-sys-color-on-surface-rgb),.08);color:var(--md-sys-color-on-surface)}[dh-grid-item]::part(icon-reset),[dh-grid-item]::part(grid-item-icon-reset),[dh-settings-grid]::part(grid-item-icon-reset){width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-surface-variant);cursor:pointer;border-radius:50%;font-size:1rem;transition:background-color .15s cubic-bezier(.2,0,0,1),color .15s cubic-bezier(.2,0,0,1)}[dh-grid-item]::part(icon-reset):hover,[dh-grid-item]::part(grid-item-icon-reset):hover,[dh-settings-grid]::part(grid-item-icon-reset):hover{background-color:rgba(var(--md-sys-color-on-surface-rgb),.08);color:var(--md-sys-color-on-surface)}[dh-settings-grid]{--dh-grid-item-content-columns: 1fr;--dh-grid-item-content-column-gap: 0;--dh-grid-item-content-padding-right: 0;--dh-grid-item-selected-header-bg: var(--md-sys-color-primary-container);--dh-grid-item-selected-color: var(--md-sys-color-on-primary-container);--dh-grid-item-selected-header-radius: 20px 20px 4px 4px;--dh-grid-item-selected-outline: 1px solid var(--md-sys-color-outline-variant);--dh-grid-item-selected-outline-offset: 0}[dh-settings-grid][multicolumn]{--dh-grid-item-content-columns: repeat(auto-fit, minmax(480px, 1fr));--dh-grid-item-content-column-gap: 16px;--dh-grid-item-content-padding-right: 8px}[dh-grid-item][open]::part(content),[dh-grid-item][open]::part(grid-item-content),[dh-settings-grid] [dh-grid-item][open]::part(grid-item-content){display:grid;grid-template-columns:var(--dh-grid-item-content-columns);column-gap:var(--dh-grid-item-content-column-gap);row-gap:0;padding:0 var(--dh-grid-item-content-padding-right) 0 0;align-items:start}[dh-setting-item][type=BitList],[dh-setting-item][type=note],[dh-setting-item][type=Path]{grid-column:1/-1}[dh-grid-item]::part(submenu),[dh-grid-item]::part(grid-item-submenu),[dh-settings-grid]::part(grid-item-submenu){padding:4px 0 4px 24px}[dh-setting-item]{display:block;font-family:Roboto,system-ui,sans-serif}[dh-setting-item]::part(root),[dh-settings-grid]::part(setting-item-root){background-color:transparent;min-height:32px;border-radius:6px;transition:background-color .15s cubic-bezier(.2,0,0,1)}[dh-setting-item]:hover::part(root),[dh-settings-grid]::part(setting-item-root):hover{background-color:rgba(var(--md-sys-color-primary-rgb),.06)}[dh-setting-item]::part(label),[dh-settings-grid]::part(setting-item-label){font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.015625rem;color:var(--md-sys-color-on-surface-variant);padding:8px 12px}[dh-setting-item]::part(icon),[dh-settings-grid]::part(setting-item-icon){color:var(--md-sys-color-on-surface-variant);cursor:pointer;border-radius:50%;padding:4px;transition:background-color .15s cubic-bezier(.2,0,0,1)}[dh-setting-item]::part(icon):hover,[dh-settings-grid]::part(setting-item-icon):hover{background-color:rgba(var(--md-sys-color-on-surface-rgb),.08)}[dh-setting-item]::part(input),[dh-settings-grid]::part(setting-item-input){border:none;outline:none;resize:vertical}:host([dh-setting-item]) dh-checkbox[variant=switch]::part(root){transform:scale(.8);transform-origin:right center}[dh-snackbar]::part(root){background-color:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}[dh-snackbar][variant=loading]::part(root){background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}[dh-snackbar][variant=success]::part(root){background-color:var(--md-sys-color-success-container);color:var(--md-sys-color-on-success-container)}[dh-snackbar][variant=error]::part(root){background-color:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}[dh-snackbar][variant=info]::part(root){background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}[dh-snackbar]::part(action){color:var(--md-sys-color-inverse-primary);background-color:transparent}[dh-snackbar]::part(action):hover{background-color:#ffffff14}[dh-snackbar]::part(action):focus-visible{background-color:#ffffff1f;outline:none}[dh-snackbar][variant=loading]::part(action),[dh-snackbar][variant=success]::part(action),[dh-snackbar][variant=error]::part(action),[dh-snackbar][variant=info]::part(action){color:inherit;font-weight:600}[dh-snackbar][variant=loading]::part(action):hover,[dh-snackbar][variant=success]::part(action):hover,[dh-snackbar][variant=error]::part(action):hover,[dh-snackbar][variant=info]::part(action):hover{background-color:#0000000f}[dh-snackbar]::part(message){color:inherit}[dh-tab]{display:block;font-family:Roboto,system-ui,sans-serif}[dh-tab]::part(root){background-color:transparent;overflow:hidden}[dh-tab]::part(header){background-color:transparent;border-bottom:1px solid var(--md-sys-color-outline)}[dh-tab]::part(content){padding:12px;color:var(--md-sys-color-on-surface-variant);background-color:transparent;font-size:14px}[dh-tab]>[slot=tab-head]{position:relative;display:inline-flex;align-items:center;justify-content:center;height:48px;min-width:64px;padding:0 16px;font-family:Roboto,system-ui,sans-serif;font-size:.875rem;font-weight:500;line-height:1.25rem;letter-spacing:.00625rem;color:var(--md-sys-color-on-surface-variant);cursor:pointer;user-select:none;white-space:nowrap;border:none;background:transparent;transition:color .2s cubic-bezier(.2,0,0,1),background-color .2s cubic-bezier(.2,0,0,1)}[dh-tab]>[slot=tab-head]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:3px 3px 0 0;background-color:var(--md-sys-color-primary);transform:scaleX(0);transition:transform .2s cubic-bezier(.2,0,0,1)}[dh-tab]>[slot=tab-head]:hover{background-color:rgba(var(--md-sys-color-on-surface-rgb),.08);color:var(--md-sys-color-on-surface)}[dh-tab]>[slot=tab-head]:focus-visible{background-color:rgba(var(--md-sys-color-on-surface-rgb),.12);outline:none}[dh-tab]>[slot=tab-head]:active{background-color:rgba(var(--md-sys-color-on-surface-rgb),.12)}[dh-tab]>[slot=tab-head].selected{color:var(--md-sys-color-primary)}[dh-tab]>[slot=tab-head].selected:after{transform:scaleX(1)}[dh-tab]>[slot=tab-head].selected:hover{background-color:rgba(var(--md-sys-color-primary-rgb),.06);color:var(--md-sys-color-primary)}[dh-tab]>[slot=tab-head].selected:focus-visible{background-color:rgba(var(--md-sys-color-primary-rgb),.12);color:var(--md-sys-color-primary)}[dh-tab]>[slot=tab-head].selected:active{background-color:rgba(var(--md-sys-color-primary-rgb),.12);color:var(--md-sys-color-primary)}[dh-table-old],[dh-table-row-old],[dh-table-head-cell-old],[dh-table-body-cell-old]{--dh-state-hover-bg: rgba(var(--md-sys-color-on-surface-rgb), .08);--dh-state-selected-bg: var(--md-sys-color-secondary-container);--dh-border-color: var(--md-sys-color-outline-variant)}[dh-table-old],[dh-table-row-old],[dh-table-head-cell-old],[dh-table-body-cell-old]{--dh-resize-width: 4px;--dh-resize-bg: transparent;--dh-resize-hover-bg: var(--md-sys-color-primary);--dh-header-weight: 500;--dh-header-color: var(--md-sys-color-on-surface-variant);--dh-inactive-opacity: .38;--dh-error-color: var(--md-sys-color-error)}[dh-table-old]{display:flex;font-family:Roboto,system-ui,sans-serif;color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;overflow:hidden;--dh-button-height: 32px;--dh-button-min-width: auto;--dh-button-padding-inline: 8px;--dh-button-radius: 16px;--dh-button-gap: 4px;--dh-button-icon-size: 24px}[dh-table-old]::part(header){padding:8px 16px;gap:8px;align-items:center;border-bottom:1px solid var(--md-sys-color-outline-variant)}[dh-table-old]::part(scroll){scrollbar-gutter:stable}[dh-table-old]::part(content){background-color:transparent}[dh-table-row-old]{font-family:Roboto,system-ui,sans-serif;transition:background-color .2s cubic-bezier(.2,0,0,1);--dh-head-cell-padding: 0 16px;--dh-body-cell-padding: 0 16px;--dh-select-display: block;--dh-select-root-height: 100%;--dh-select-trigger-height: 100%;--dh-select-trigger-border: none;--dh-select-trigger-radius: 0;--dh-select-trigger-padding: 0;--dh-select-trigger-focus-shadow: none;--dh-select-label-size: .875rem;--dh-select-label-line-height: 1.25rem}[dh-table-head-cell-old]{font-family:Roboto,system-ui,sans-serif;padding:0 16px}[dh-table-head-cell-old]::part(label){font-family:Roboto,system-ui,sans-serif;font-size:.875rem;font-weight:500;line-height:1.25rem;letter-spacing:.00625rem;color:var(--md-sys-color-on-surface-variant)}[dh-table-head-cell-old]::part(root){align-items:center;height:100%}[dh-table-head-cell-old]::part(icon){color:var(--md-sys-color-on-surface-variant);font-size:1.125rem}[dh-table-head-cell-old]::part(divider){background-color:transparent;transition:background-color .2s cubic-bezier(.2,0,0,1)}[dh-table-head-cell-old]::part(divider):hover{background-color:var(--md-sys-color-outline)}[dh-table-body-cell-old]{font-family:Roboto,system-ui,sans-serif;padding:0 16px}[dh-table-body-cell-old]::part(root){height:100%}[dh-table-body-cell-old]::part(content){font-family:Roboto,system-ui,sans-serif;font-size:.875rem;font-weight:400;line-height:1.25rem;color:var(--md-sys-color-on-surface)}[dh-table-old]::part(dh-button-root){height:32px;min-width:auto;padding:0 8px;border-radius:16px;gap:4px;justify-content:center}[dh-table-old]::part(dh-button-icon){width:24px;height:24px}[dh-table-old]::part(dh-filter-root){height:36px}[dh-table]{font-family:Roboto,system-ui,sans-serif;color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;overflow:clip;box-sizing:border-box}:where([dh-table],[dh-table-row]){--dh-state-selected-bg: var(--md-sys-color-secondary-container);--dh-state-copy-bg: #ffffff;--dh-border-color: var(--md-sys-color-outline-variant);--dh-header-weight: 500;--dh-header-color: var(--md-sys-color-on-surface-variant);--dh-resize-width: 4px;--dh-resize-bg: transparent;--dh-resize-hover-bg: var(--md-sys-color-primary);--dh-body-cell-bg: transparent}[dh-table]::part(header){padding:8px;border-bottom:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface-container);gap:4px}[dh-table-head-cell]{background-color:var(--md-sys-color-surface-container);border-bottom:1px solid var(--md-sys-color-outline-variant);font-family:Roboto,system-ui,sans-serif;font-weight:500;font-size:.875rem;color:var(--md-sys-color-on-surface-variant);cursor:pointer;user-select:none}[dh-table-head-cell]::part(root){gap:4px}[dh-table-head-cell]::part(icon){color:var(--md-sys-color-on-surface-variant);font-size:.875rem}[dh-table-head-cell]::part(divider){background-color:transparent;transition:background-color .2s cubic-bezier(.2,0,0,1)}[dh-table-head-cell]::part(divider):hover{background-color:var(--md-sys-color-primary)}[dh-table-body-cell]{font-family:Roboto,system-ui,sans-serif;font-size:.875rem;color:var(--md-sys-color-on-surface);height:36px;border-bottom:1px solid var(--md-sys-color-outline-variant)}[dh-table-body-cell]::part(root){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[dh-table-row].selected [dh-table-body-cell]{background-color:var(--md-sys-color-secondary-container)}[dh-tree],[dh-tree-item]{--dh-tree-hover-bg: rgba(var(--md-sys-color-on-surface-rgb), .08);--dh-tree-hover-color: var(--md-sys-color-on-surface-variant);--dh-tree-selected-bg: var(--md-sys-color-secondary-container);--dh-tree-selected-color: var(--md-sys-color-on-secondary-container);--dh-tree-selected-label-weight: 500;--dh-tree-selected-hover-shadow: none;--dh-tree-item-radius: 28px}[dh-tree]{display:block;font-family:Roboto,system-ui,sans-serif}[dh-tree]::part(root){border-radius:16px;box-shadow:none;padding:8px 0;overflow:hidden}[dh-tree-item]{display:block;font-family:Roboto,system-ui,sans-serif}[dh-tree-item]::part(content){display:flex;align-items:center;height:46px;padding:0 12px 0 16px;margin:2px 8px;border-radius:28px;background-color:transparent;cursor:pointer;gap:10px;box-sizing:border-box;position:relative;overflow:hidden;transition:background-color .2s cubic-bezier(.2,0,0,1)}[dh-tree-item]::part(label){font-family:Roboto,system-ui,sans-serif;font-size:13.5px;font-weight:400;line-height:1.25rem;letter-spacing:.15px;color:var(--md-sys-color-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}[dh-tree-item]::part(icon-expand){color:var(--md-sys-color-on-surface-variant);font-size:16px;flex-shrink:0;transition:transform .3s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.2,0,0,1)}[dh-tree-item]::part(icon-folder){color:var(--md-sys-color-on-surface-variant);font-size:18px;flex-shrink:0}[dh-tree-item]::part(icon-file){color:var(--md-sys-color-on-surface-variant);font-size:18px;flex-shrink:0}[dh-tree-item]::part(content):hover{background-color:var(--dh-tree-hover-bg)}[dh-tree-item]:hover::part(label){color:var(--dh-tree-hover-color)}[dh-tree-item]:hover::part(icon-expand){color:var(--dh-tree-hover-color)}[dh-tree-item].selected::part(content){background-color:var(--dh-tree-selected-bg)}[dh-tree-item].selected::part(content):hover{background-color:var(--dh-tree-selected-bg);box-shadow:var(--dh-tree-selected-hover-shadow)}[dh-tree-item].selected::part(label){color:var(--dh-tree-selected-color);font-weight:var(--dh-tree-selected-label-weight)}[dh-tree-item].selected::part(icon-expand){color:var(--dh-tree-selected-color)}[dh-tree][compact] [dh-tree-item]::part(content){height:32px;padding:0 8px 0 12px;margin:1px 4px;border-radius:16px;gap:6px}[dh-tree][compact] [dh-tree-item]::part(label){font-size:12.5px}[dh-tree][compact] [dh-tree-item]::part(icon-folder),[dh-tree][compact] [dh-tree-item]::part(icon-file){font-size:16px}[dh-tree][compact] [dh-tree-item]::part(icon-expand){font-size:14px}[dh-tree][compact]::part(root){padding:4px 0}[dh-tree-item]::part(submenu){padding-left:0;margin-left:0}[dh-card]{display:block;font-family:Roboto,system-ui,sans-serif;color:var(--md-sys-color-on-surface)}[dh-card][variant=elevated]::part(root),[dh-card][variant=filled]::part(root),[dh-card][variant=outlined]::part(root),[dh-card][variant=floating]::part(root){border-radius:16px;padding:16px;overflow:hidden;position:relative;cursor:pointer;transition:background-color .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1),border-color .2s cubic-bezier(.2,0,0,1),transform .2s cubic-bezier(.2,0,0,1)}[dh-card][no-click-effect]::part(root){cursor:default}[dh-card][variant=elevated]:not([no-click-effect]):active:not(:has(dh-button:active,button:active,a:active,input:active))::part(root){background-color:var(--md-sys-color-surface-container-high)}[dh-card][variant=filled]:not([no-click-effect]):active:not(:has(dh-button:active,button:active,a:active,input:active))::part(root){background-color:var(--md-sys-color-surface-container-highest)}[dh-card][variant=outlined]:not([no-click-effect]):active:not(:has(dh-button:active,button:active,a:active,input:active))::part(root){border-color:var(--md-sys-color-outline);background-color:var(--md-sys-color-surface-container)}[dh-card][variant=elevated]::part(root){border:1px solid var(--md-sys-color-outline-variant);background-color:transparent;box-shadow:none}[dh-card][variant=elevated]:not([no-click-effect]):not([no-hover-effect]):hover::part(root){background-color:var(--md-sys-color-surface-container-low)}[dh-card][variant=filled]::part(root){border:none;background-color:var(--md-sys-color-surface-container-highest);box-shadow:none}[dh-card][variant=filled]:not([no-click-effect]):not([no-hover-effect]):hover::part(root){background-color:var(--md-sys-color-surface-container-high)}[dh-card][variant=outlined]::part(root){border:1px solid var(--md-sys-color-outline-variant);background-color:transparent;box-shadow:none}[dh-card][variant=outlined]:not([no-click-effect]):not([no-hover-effect]):hover::part(root){border-color:var(--md-sys-color-outline);background-color:var(--md-sys-color-surface-container-low)}[dh-card][variant=floating]::part(root){border:none;background-color:var(--md-sys-color-surface-container-lowest);border-radius:var(--md-sys-shape-corner-medium, 12px);box-shadow:0 1px 2px #0000004d,0 1px 3px 1px #00000026}[dh-card][variant=floating]:not([no-click-effect]):not([no-hover-effect]):hover::part(root){box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}[dh-card][variant=floating]:not([no-click-effect]):active:not(:has(dh-button:active,button:active,a:active,input:active))::part(root){background-color:var(--md-sys-color-surface-container-low)}[dh-card].selected::part(root),[dh-card][variant=elevated].selected::part(root),[dh-card][variant=filled].selected::part(root),[dh-card][variant=outlined].selected::part(root){outline:2px solid var(--md-sys-color-primary);outline-offset:-2px;box-shadow:none}[dh-card].selected:not([no-click-effect]):not([no-hover-effect]):hover::part(root),[dh-card][variant=elevated].selected:not([no-click-effect]):not([no-hover-effect]):hover::part(root),[dh-card][variant=filled].selected:not([no-click-effect]):not([no-hover-effect]):hover::part(root),[dh-card][variant=outlined].selected:not([no-click-effect]):not([no-hover-effect]):hover::part(root){background-color:var(--md-sys-color-surface-container-low)}[dh-card]::part(header){font-family:Roboto,system-ui,sans-serif;font-size:1rem;font-weight:500;line-height:1.5rem;letter-spacing:.009375rem;color:var(--md-sys-color-on-surface);padding-bottom:8px}[dh-card][headerstyle=primary]::part(header){background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);padding:.5rem 1rem;margin:-.5rem -.5rem .5rem;border-radius:0;font-weight:600}[dh-card]::part(content){font-family:Roboto,system-ui,sans-serif;font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.015625rem;color:var(--md-sys-color-on-surface-variant);padding-bottom:8px}[dh-card]::part(actions){gap:8px;padding-top:12px}[dh-window]{display:inline-block;font-family:Roboto,system-ui,sans-serif}[dh-window]::part(root){background-color:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:28px;box-shadow:0 2px 6px #0000001f,0 8px 24px #00000029;padding:24px}[dh-window]{--dh-input-label-bg: var(--md-sys-color-surface-container)}[dh-window]::part(header){padding:0 0 16px;align-items:center}[dh-window]::part(label){font-family:Roboto,system-ui,sans-serif;font-size:1.5rem;font-weight:400;line-height:2rem;color:var(--md-sys-color-on-surface)}[dh-window]::part(trigger){display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;border-radius:50%;padding:0;background-color:transparent;border:none;box-shadow:none;cursor:pointer;transition:background-color .2s cubic-bezier(.2,0,0,1)}[dh-window]::part(trigger):hover{background-color:rgba(var(--md-sys-color-on-surface-variant-rgb, var(--md-sys-color-on-surface-rgb)),.08)}[dh-window]::part(trigger):focus-within{background-color:rgba(var(--md-sys-color-on-surface-variant-rgb, var(--md-sys-color-on-surface-rgb)),.12);outline:none}[dh-window]::part(trigger):active{background-color:rgba(var(--md-sys-color-on-surface-variant-rgb, var(--md-sys-color-on-surface-rgb)),.12)}[dh-window]::part(close-icon){font-size:24px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s cubic-bezier(.2,0,0,1);color:var(--md-sys-color-on-surface-variant)}[dh-window]:hover::part(close-icon){opacity:1}[dh-window]::part(content){padding:0;font-size:.875rem;font-weight:400;line-height:1.25rem;color:var(--md-sys-color-on-surface-variant)}
`,Ba=Object.defineProperty,Va=(e,t,n,r)=>{for(var i=void 0,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=o(t,n,i)||i);return i&&Ba(t,n,i),i};Ae(!0);var Ha=class extends CustomEvent{constructor(e){super(`willupdate`,{detail:e,bubbles:!0})}},Ua=class extends CustomEvent{constructor(e){super(`updated`,{detail:e,bubbles:!0})}},W=(e=>{let t=class t extends e{constructor(...e){super(...e),this.baseOptions={registerLocalesModel:!0,updateWhileDisconnected:!1},this.domEvents={},this.mobileMode=``,this._connectedCallbackActions=[],this.furnviewLoaded=!1,this._installedStateListeners=new Set,this._builtinStateHandlers={"fv:add-class":({classes:e})=>{for(let t of e)this.classList.add(t)},"fv:remove-class":({classes:e})=>{for(let t of e)this.classList.remove(t)},"fv:toggle-class":({classes:e})=>{for(let t of e)this.classList.contains(t)?this.classList.remove(t):this.classList.add(t)},"fv:set-attribute":({attribute:e,value:t})=>{typeof t==`boolean`&&t?this.setAttribute(e,``):typeof t==`boolean`&&!t?this.removeAttribute(e):typeof t==`object`?this.setAttribute(e,JSON.stringify(t)):this.setAttribute(e,t)},"fv:toggle-attribute":({attribute:e,value:t})=>{if(typeof t==`boolean`&&t){this.toggleAttribute(e);return}let n=t;typeof t==`object`&&(n=JSON.stringify(t)),this.getAttribute(e)==n?this.removeAttribute(e):this.setAttribute(e,n)},"fv:update-visibility":()=>{this.updateVisibility()},"fv:scroll-to-top":({behavior:e})=>{this.scrollTo({top:0,left:0,behavior:e??`auto`})}},R.register(this),this.addEventListener(`keydown`,(e=>{e.key===`Enter`&&e.composedPath()[0]===this&&(e.preventDefault(),e.stopPropagation(),this.click())})),this.TriggerLocalesModelLoaded()}static{this.styles=[r(Gi),r(`${Ee}${De}${Oe}`),r(za)]}fireDOMEvents(e){let t=this.domEvents?.[e]||[];t.length>0&&t.forEach(({id:e,data:t})=>{pe.emit(e,t)})}static{this._mobile=void 0}get mobile(){return t._mobile===void 0&&(t._mobile=de.isMobileDevice()),t._mobile||!1}static{this._isIOS=void 0}get isIOS(){return t._isIOS===void 0&&(t._isIOS=/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>1),t._isIOS}AddConnectedCallbackAction(e){this._connectedCallbackActions.push(e)}ResetConnectedCallbackAction(){this._connectedCallbackActions=[]}async TriggerConnectedCallbackActions(){for(let e of this._connectedCallbackActions)await e()}async TriggerLocalesModelLoaded(){await A.IsFileRead(),this.localesModelLoaded()}localesModelLoaded(){}connectedCallback(){this.baseOptions.registerLocalesModel&&A.Register(this),super.connectedCallback?.(),this.setAttribute(`isfv`,``),this.isIOS&&this.setAttribute(`ios`,``),this.TriggerConnectedCallbackActions(),this._installDeclaredStateHandlers(),this.fireDOMEvents(`connected`)}disconnectedCallback(){this.fireDOMEvents(`disconnected`),super.disconnectedCallback?.()}addEventListener(e,t,n){e===`click`&&this.AddConnectedCallbackAction(async()=>{this.tabIndex=0,this.role=`button`}),super.addEventListener(e,t,n)}willUpdate(e){super.willUpdate?.(e),this.dispatchEvent(new Ha(this))}updated(e){super.updated?.(e),this.dispatchEvent(new Ua(this))}async checkFurnview(){await j.IsAppReady,this.furnviewLoaded=!0}firstUpdated(e){super.firstUpdated?.(e),this.checkFurnview()}isEmpty(){let e=0;if(this.shadowRoot)for(let t of Array.from(this.shadowRoot.children))t.tagName!==`SLOT`&&e++;return this.children.length+e<=0}static{this._dimensionScale=void 0}get Unit(){switch(t._dimensionScale){case 1:return`mm`;case .1:return`cm`;case .01:return`dm`;case .001:return`m`;default:return`error`}}get DimensionScale(){return t._dimensionScale??.1}static{this._dimensionDigits=void 0}get Digits(){return t._dimensionDigits??1}isPartOfHiddenSubtree(){return R.isPartOfHiddenSubtree(this)}shouldUpdate(e){return!this.baseOptions.updateWhileDisconnected&&!this.isConnected?!1:super.shouldUpdate?.(e)??!0}async scheduleUpdate(){if(this.furnviewLoaded&&(await j.IsAppReady,t._dimensionScale??=await O.getDimensionScale(),t._dimensionDigits??=await O.getDimensionDigits()),!(!this.baseOptions.updateWhileDisconnected&&!this.isConnected))return super.scheduleUpdate?.()}updateVisibility(){if(this.visibleSelectors){let e=[],t=this.visibleSelectors.element;if(!t[`ignore-default-target-content`]){let n=(t.all?R.findAll(t.name,t.selector):[R.find(t.name,t.selector)]).filter(Boolean);e.push(...n)}for(let n of t[`additional-target-contents`]||[]){let t=R.find(n.name,n.selector);t&&e.push(t)}this.hideElement=e.every(e=>e.isEmpty())}}ListensToState(e){return this._installedStateListeners.has(e)}onState(e,t){U.RegisterStateHandler(e),this.addEventListener(e,(e=>{let n=e,r=n.detail;try{n.waitUntil(t(r?.data))}catch(e){n.waitUntil(Promise.reject(e))}})),this._installedStateListeners.add(e)}_installDeclaredStateHandlers(){for(let e of[this._builtinStateHandlers,this.stateHandlers])if(e)for(let t of Object.keys(e)){if(this._installedStateListeners.has(t))continue;let n=e[t];n&&this.onState(t,n)}}VerifyStepStageChange(){return!0}async ApplyStepStage(e){}async DetermineStepStageEnvironment(){}};return Va([T({type:Object,reflect:!0})],t.prototype,`domEvents`),Va([T({type:String,reflect:!0,attribute:`mobile-mode`})],t.prototype,`mobileMode`),Va([T({type:Object,reflect:!0,attribute:`visible-selectors`})],t.prototype,`visibleSelectors`),t})(Yi),Wa=`:host{padding-top:1rem}:host fv-labeled-input{--input-outer-width: 100%;flex:.5}:host .currency-name{display:flex;flex-direction:column;justify-content:center}:host .overview{display:flex;flex-direction:column}:host .overview .row{padding-left:1px;display:flex;flex-direction:row;gap:.5rem}:host .overview .row.space-between{justify-content:space-between}:host .overview .row:not(:first-child){padding-top:1rem}:host .overview .column{display:flex;flex-direction:column}:host .overview .column.content{flex:1}:host .overview .icon-container{display:flex}:host .overview .icon-container fv-icon{color:red}
`,Ga=Object.defineProperty,Ka=Object.getOwnPropertyDescriptor,qa=Object.getPrototypeOf,Ja=Reflect.get,Ya=(e,t,n,r)=>{for(var i=r>1?void 0:r?Ka(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&Ga(t,n,i),i},Xa=(e,t,n)=>Ja(qa(e),n,t),Za=class extends W{constructor(){super(),this.additionalPositions={articles:[]},this.currency=``,j?.on(`furnview.changePrice`,async e=>{let t=e;this.currency=t.currency})}render(){return h`
@@ -18706,4 +18706,3 @@
            <slot name="after" class="${b(t)}"></slot>
        `}};az.styles=[iz(az,az,`styles`)||[],i`${r(QR)}`],rz([T({type:Number,reflect:!0})],az.prototype,`current`,2),rz([T({type:Number,reflect:!0})],az.prototype,`total`,2),rz([T({type:Boolean,reflect:!0,attribute:`auto-hide-slots`})],az.prototype,`autoHideSlots`,2),rz([T({type:Object,reflect:!1})],az.prototype,`events`,2),rz([T({type:Boolean,reflect:!0,attribute:`prevent-empty-handler-selection`})],az.prototype,`preventEmptyHandlers`,2),rz([T({type:Boolean,reflect:!0,attribute:`prevent-default-handler`})],az.prototype,`preventDefaultHandlers`,2),az=rz([m(`fv-pagination`)],az);var oz=`.close-symbol{position:relative;cursor:pointer;width:100%;height:100%}.close-symbol.loading{z-index:999}.close-symbol.loading:after,.close-symbol.loading:before{background:#fff}.close-symbol:after,.close-symbol:before{content:" ";position:absolute;width:100%;height:1px;top:50%;background:var(--close-symbol-background, #888);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0}.close-symbol:after:hover,.close-symbol:before:hover{background:var(--close-symbol-background-hover, #333)}.close-symbol:after{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);transform:rotate(-45deg)}.close-symbol:before{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg)}:host(.active) .circle-number-symbol{border:var(--circle-number-symbol-border-active, 2px solid #000000)}.circle-number-symbol{position:relative;width:var(--circle-number-symbol-size, 30px);height:var(--circle-number-symbol-size, 30px);border-radius:50%;border:var(--circle-number-symbol-border, 2px solid white);box-shadow:var(--circle-number-symbol-box-shadow, 1px 2px 5px 0 black);background:var(--circle-number-symbol-background, var(--primary-color, red));color:var(--circle-number-symbol-color, var(--primary-text-color, black));display:flex;justify-content:center;align-items:center}.custom-symbol{position:relative;cursor:pointer;left:10px;display:flex}.custom-symbol.up:after{background-image:var(--custom-symbol-image-down, url(/webui/images/minus.svg));content:"";height:18px}.custom-symbol.down:after{background-image:var(--custom-symbol-image-down, url(/webui/images/plus.svg));content:"";height:18px}.custom-symbol:after{color:#1e1e1e;padding:0 0 2px;margin:auto 0;pointer-events:none;transform:translate(-15px);width:18px}.accordion-symbol{position:relative;cursor:pointer;left:10px;display:flex}.accordion-symbol.up:after{content:"-";font-size:xx-large;transform:scaleX(2) translate(-4px)}.accordion-symbol.down:after{content:"+";font-size:xx-large}.accordion-symbol:after{color:#1e1e1e;padding:0 0 2px;margin:auto 0;pointer-events:none;transform:translate(-15px);width:18px}.chevron-symbol{position:relative;cursor:pointer;left:10px}.chevron-symbol.up:after{content:"<"}.chevron-symbol.down:after{content:">"}.chevron-symbol:after{font:17px Consolas,monospace;color:inherit;-webkit-transform:rotate(90deg) translateX(-100%);-moz-transform:rotate(90deg) translateX(-100%);-ms-transform:rotate(90deg) translateX(-100%);transform:rotate(90deg) translate(-100%);padding:0 0 2px;position:absolute;pointer-events:none}@media(width>=980px){.only-mobile{display:none!important}}@media(width<=980px){.only-desktop{display:none!important}}.bold{font-weight:var(--global-font-weight-bold, 600)}*{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:var(--global-font, Roboto, sans-serif);font-weight:var(--global-font-weight, 400)}.container{display:flex;margin:10px 0}.container.column{flex-direction:column}.container.column.reverse{flex-direction:column-reverse}.container.row{flex-direction:row}.container.row.reverse{flex-direction:row-reverse}.fluid{flex:1}.fluid.space-after{margin-right:55px}.hidden{display:none!important}:host(.mobile-mode-hide),.mobile-mode-hide{display:none!important}.invisible{visibility:hidden!important}:host(.invisible-scroll),.invisible-scroll{overflow:hidden;margin-right:-22px}:host(.invisible-scroll)>:first-child,.invisible-scroll>:first-child{overflow-y:scroll;overflow-x:hidden;padding-right:22px;box-sizing:content-box}:host(.invisible-scroll.bottom),.invisible-scroll.bottom{overflow:hidden;margin-right:unset}:host(.invisible-scroll.bottom)>:first-child,.invisible-scroll.bottom>:first-child{overflow-x:scroll;overflow-y:hidden;padding-right:unset;padding-bottom:22px;margin-bottom:-22px;box-sizing:content-box}:host([disabled]){pointer-events:none;filter:contrast(.5) grayscale(1)}*{scrollbar-color:#5c5c5c hsla(0,0%,100%,.0039215686);scrollbar-width:thin}*[disabled][isfv]{pointer-events:none;filter:contrast(.5) grayscale(1)}::-webkit-scrollbar{height:8px;width:8px;background:#fff0}::-webkit-scrollbar-corner{background:#fff0}::-webkit-scrollbar-thumb{background:#5c5c5c;-webkit-border-radius:8px}::-webkit-scrollbar-button:vertical:start:increment,::-webkit-scrollbar-button:vertical:end:decrement,::-webkit-scrollbar-button:horizontal:end:increment,::-webkit-scrollbar-button:horizontal:end:decrement,::-webkit-scrollbar-button{background-color:#0000;color:#0000;border:none}:host{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--pagination-item-size, 2.25em);height:var(--pagination-item-size, 2.25em);border-radius:50%;border:var(--pagination-item-border-width, 1.5px) solid var(--pagination-item-border-color, #ccc);background-color:var(--pagination-item-background, transparent);color:var(--pagination-item-color, var(--primary-text-color, black));font-size:var(--pagination-item-font-size, .875rem);cursor:pointer;user-select:none;transition:var(--pagination-item-transition, background-color .2s ease, border-color .2s ease, color .2s ease);flex-shrink:0}:host .label{line-height:1;font-size:inherit}:host([active]){background-color:var(--pagination-item-active-background, var(--primary-color, red));border-color:var(--pagination-item-active-border-color, var(--primary-color, red));color:var(--pagination-item-active-color, var(--primary-button-text-color, white));cursor:default;pointer-events:none}:host(:hover:not([active])){border-color:var(--pagination-item-hover-border-color, var(--primary-color, red))}
`,sz=Object.defineProperty,cz=Object.getOwnPropertyDescriptor,lz=Object.getPrototypeOf,uz=Reflect.get,dz=(e,t,n,r)=>{for(var i=r>1?void 0:r?cz(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&sz(t,n,i),i},fz=(e,t,n)=>uz(lz(e),n,t),pz=class extends W{constructor(){super(...arguments),this.value=0,this.active=!1}render(){return h`<span class="label">${this.value}</span>`}};pz.styles=[fz(pz,pz,`styles`)||[],i`${r(oz)}`],dz([T({type:Number,reflect:!0})],pz.prototype,`value`,2),dz([T({type:Boolean,reflect:!0})],pz.prototype,`active`,2),pz=dz([m(`fv-pagination-item`)],pz),window.g_dataInterface={};
//# sourceMappingURL=dh.chunk.js.map
client/vendor/dh.chunk.js.map
Datei wurde gelöscht
client/vendor/vendor.chunk.js
@@ -71,4 +71,3 @@
                    <h4>Debug-Statistiken</h4>
                </div>
            `,this.circle=this.shadow.querySelector(`.circle`),this.badge=this.shadow.querySelector(`.badge`),this.tooltip=this.shadow.querySelector(`.tooltip`),this.circle.addEventListener(`contextmenu`,e=>(this.keepOpen=!this.keepOpen,e.preventDefault(),1)),this.tooltip.style.left=`80%`,this.tooltip.style.bottom=`80%`,this.addEventListener(`mouseenter`,()=>{this.tooltip.style.display=`block`}),this.addEventListener(`mouseleave`,()=>{this.keepOpen||(this.tooltip.style.display=`none`)}),this.enableDragging()}enableDragging(){let e=this.circle,t=!1,n=0,r=0,i={x:0,y:0},a=(t,a)=>{i.x=t-n,i.y=a-r;let o=window.innerWidth-e.clientWidth,s=window.innerHeight-e.clientHeight;i.x=Math.max(0,Math.min(i.x,o)),i.y=Math.max(0,Math.min(i.y,s)),this.tooltip.style.left=i.x<o*.5?`80%`:``,this.tooltip.style.right=i.x<o*.5?``:`80%`,this.tooltip.style.top=i.y<s*.5?`80%`:``,this.tooltip.style.bottom=i.y<s*.5?``:`80%`,this.style.left=`${i.x}px`,this.style.top=`${i.y}px`},o=`_debug_comindicator_pos_`+window.location.pathname.substring(1),s=localStorage.getItem(o);if(s){let{x:e,y:t}=JSON.parse(s);a(e,t)}let c=e=>{t=!0,n=e.clientX-this.getBoundingClientRect().left,r=e.clientY-this.getBoundingClientRect().top,this.circle.style.cursor=`grabbing`,document.addEventListener(`mousemove`,l),document.addEventListener(`mouseup`,u)},l=e=>{t&&a(e.clientX,e.clientY)},u=()=>{t=!1,this.circle.style.cursor=``,document.removeEventListener(`mousemove`,l),document.removeEventListener(`mouseup`,u),localStorage.setItem(o,JSON.stringify(i))};e.addEventListener(`mousedown`,c)}getColor(){switch(this.status){case K.UNKNOWN:return`gray`;case K.DISCONNECTED:return`red`;case K.DISCONNECTING:return`red`;case K.CONNECTING:return`orange`;case K.RECONNECTING:return`yellow`;case K.CONNECTED:return`turquoise`;case K.READY:return`green`;default:return`gray`}}}customElements.define(`dhcom-debug-indicator`,e)}new class{static{this.templates=new WeakMap}_getNestedOptions(e,t){return t?.subkeyValidation?.[e]??void 0}_log(e,t){return console.warn(`[ValidatedProperty] Key '${String(e)}' was set to 'undefined'. Reverting to`,t??`'empty'`),t}_validateObject(e,t,n,r){let i=!1;for(let r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;let a=this._getNestedOptions(r,n),o=t[r],s=e[r];if(s===void 0){let t=a??o;t=a&&t!==void 0?this.validateObjectProperty(r,Array.isArray(t)?[]:{},t,n,!1).result:o,e[r]=this._log(r,t),i=!0}else if(a){let t=this.validateObjectProperty(r,s,a,n,!1);t.changed&&(e[r]=this._log(r,t.result),i=!0)}}return{changed:i,result:e}}_validateArray(e,t,n,r){let i=!1,a=r?[]:e,o=Array.isArray(t)?t[0]:t;if(!o)return{changed:!1,result:e};let s=a.map(e=>{let t=this._validateObject(e,o,n,r);return t.changed&&(i=!0),t.result});return{changed:i,result:s}}_getValidatedValue(e,t,n,r=!1){return Array.isArray(e)?this._validateArray([...e],t,n,r):this._validateObject({...e},t,n,r)}validateObjectProperty(e,t,n,r,i=!1,a=0){return t===void 0?{changed:!0,result:JSON.parse(JSON.stringify(this._log(e,n)))}:typeof t!=`object`||!t?{changed:!1,result:t}:this._getValidatedValue(t,n,r,i)}static getTemplate(e,t){return this.templates.get(e)?.get(t)}static setTemplate(e,t,n){typeof n==`object`&&n&&n!==void 0&&!Array.isArray(n)&&(this.templates.has(e)||this.templates.set(e,new Map),this.templates.get(e).set(t,JSON.parse(JSON.stringify(n))))}};var In=class{constructor(e,t,n){this.element=e,this.name=t,this.env=n}composeEvent(e){return e instanceof Event&&e.type==this.name?e:new CustomEvent(this.name,{...this.env,detail:e})}dispatch(e){this.element.dispatchEvent(this.composeEvent(e))}addListener(e,t){this.element.addEventListener(this.name,e,t)}removeListener(e,t){this.element.removeEventListener(this.name,e,t)}handleEvent(e){this.dispatch()}detail(e){let t=this;return{handleEvent(n){t.dispatch(e)}}}};function Ln(e,t){return(n,r)=>{t||=r.toString().toLowerCase(),t.endsWith(`event`)&&(t=t.replace(`event`,``));let i=Symbol(`__${String(r)}_eventRef`);Object.defineProperty(n,r,{get(){return this[i]||(this[i]=new In(this,t,e)),this[i]},enumerable:!0,configurable:!0})}}var Rn={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},J=e=>(...t)=>({_$litDirective$:e,values:t}),zn=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}},Bn=J(class extends zn{constructor(e){if(super(e),e.type!==Rn.ATTRIBUTE||e.name!==`class`||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return` `+Object.keys(e).filter((t=>e[t])).join(` `)+` `}update(e,[t]){if(this.st===void 0){this.st=new Set,e.strings!==void 0&&(this.nt=new Set(e.strings.join(` `).split(/\s/).filter((e=>e!==``))));for(let e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}let n=e.element.classList;for(let e of this.st)e in t||(n.remove(e),this.st.delete(e));for(let e in t){let r=!!t[e];r===this.st.has(e)||this.nt?.has(e)||(r?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return z}}),{I:Vn}=rn,Hn=e=>e.strings===void 0,Un=()=>document.createComment(``),Y=(e,t,n)=>{let r=e._$AA.parentNode,i=t===void 0?e._$AB:t._$AA;if(n===void 0)n=new Vn(r.insertBefore(Un(),i),r.insertBefore(Un(),i),e,e.options);else{let t=n._$AB.nextSibling,a=n._$AM,o=a!==e;if(o){let t;n._$AQ?.(e),n._$AM=e,n._$AP!==void 0&&(t=e._$AU)!==a._$AU&&n._$AP(t)}if(t!==i||o){let e=n._$AA;for(;e!==t;){let t=e.nextSibling;r.insertBefore(e,i),e=t}}}return n},X=(e,t,n=e)=>(e._$AI(t,n),e),Wn={},Gn=(e,t=Wn)=>e._$AH=t,Kn=e=>e._$AH,qn=e=>{e._$AP?.(!1,!0);let t=e._$AA,n=e._$AB.nextSibling;for(;t!==n;){let e=t.nextSibling;t.remove(),t=e}},Jn=(e,t,n)=>{let r=new Map;for(let i=t;i<=n;i++)r.set(e[i],i);return r},Yn=J(class extends zn{constructor(e){if(super(e),e.type!==Rn.CHILD)throw Error(`repeat() can only be used in text expressions`)}dt(e,t,n){let r;n===void 0?n=t:t!==void 0&&(r=t);let i=[],a=[],o=0;for(let t of e)i[o]=r?r(t,o):o,a[o]=n(t,o),o++;return{values:a,keys:i}}render(e,t,n){return this.dt(e,t,n).values}update(e,[t,n,r]){let i=Kn(e),{values:a,keys:o}=this.dt(t,n,r);if(!Array.isArray(i))return this.ut=o,a;let s=this.ut??=[],c=[],l,u,d=0,f=i.length-1,p=0,m=a.length-1;for(;d<=f&&p<=m;)if(i[d]===null)d++;else if(i[f]===null)f--;else if(s[d]===o[p])c[p]=X(i[d],a[p]),d++,p++;else if(s[f]===o[m])c[m]=X(i[f],a[m]),f--,m--;else if(s[d]===o[m])c[m]=X(i[d],a[m]),Y(e,c[m+1],i[d]),d++,m--;else if(s[f]===o[p])c[p]=X(i[f],a[p]),Y(e,i[d],i[f]),f--,p++;else if(l===void 0&&(l=Jn(o,p,m),u=Jn(s,d,f)),l.has(s[d]))if(l.has(s[f])){let t=u.get(o[p]),n=t===void 0?null:i[t];if(n===null){let t=Y(e,i[d]);X(t,a[p]),c[p]=t}else c[p]=X(n,a[p]),Y(e,i[d],n),i[t]=null;p++}else qn(i[f]),f--;else qn(i[d]),d++;for(;p<=m;){let t=Y(e,c[m+1]);X(t,a[p]),c[p++]=t}for(;d<=f;){let e=i[d++];e!==null&&qn(e)}return this.ut=o,Gn(e,c),z}}),Xn=`important`,Zn=` !important`,Qn=J(class extends zn{constructor(e){if(super(e),e.type!==Rn.ATTRIBUTE||e.name!==`style`||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,n)=>{let r=e[n];return r==null?t:t+`${n=n.includes(`-`)?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,`-$&`).toLowerCase()}:${r};`}),``)}update(e,[t]){let{style:n}=e.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(t)),this.render(t);for(let e of this.ft)t[e]??(this.ft.delete(e),e.includes(`-`)?n.removeProperty(e):n[e]=null);for(let e in t){let r=t[e];if(r!=null){this.ft.add(e);let t=typeof r==`string`&&r.endsWith(Zn);e.includes(`-`)||t?n.setProperty(e,t?r.slice(0,-11):r,t?Xn:``):n[e]=r}}return z}}),$n=Symbol.for(``),er=e=>{if(e?.r===$n)return e?._$litStatic$},tr=e=>({_$litStatic$:e,r:$n}),nr=new Map,rr=(e=>(t,...n)=>{let r=n.length,i,a,o=[],s=[],c,l=0,u=!1;for(;l<r;){for(c=t[l];l<r&&(a=n[l],i=er(a))!==void 0;)c+=i+t[++l],u=!0;l!==r&&s.push(a),o.push(c),l++}if(l===r&&o.push(t[r]),u){let e=o.join(`$$lit$$`);(t=nr.get(e))===void 0&&(o.raw=o,nr.set(e,t=o)),n=s}return e(t,...n)})(Kt),ir=e=>e??B;function*ar(e,t){if(e!==void 0){let n=0;for(let r of e)yield t(r,n++)}}function*or(e,t,n=1){let r=t===void 0?0:e;t??=e;for(let e=r;n>0?e<t:t<e;e+=n)yield e}var sr=globalThis,cr=sr.ShadowRoot&&(sr.ShadyCSS===void 0||sr.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,lr=Symbol(),ur=new WeakMap,dr=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==lr)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(cr&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=ur.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&ur.set(t,e))}return e}toString(){return this.cssText}},fr=e=>new dr(typeof e==`string`?e:e+``,void 0,lr),pr=(e,t)=>{if(cr)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement(`style`),r=sr.litNonce;r!==void 0&&t.setAttribute(`nonce`,r),t.textContent=n.cssText,e.appendChild(t)}},mr=cr?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return fr(t)})(e):e,{is:hr,defineProperty:gr,getOwnPropertyDescriptor:_r,getOwnPropertyNames:vr,getOwnPropertySymbols:yr,getPrototypeOf:br}=Object,xr=globalThis,Sr=xr.trustedTypes,Cr=Sr?Sr.emptyScript:``,wr=xr.reactiveElementPolyfillSupport,Z=(e,t)=>e,Tr={toAttribute(e,t){switch(t){case Boolean:e=e?Cr:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},Er=(e,t)=>!hr(e,t),Dr={attribute:!0,type:String,converter:Tr,reflect:!1,useDefault:!1,hasChanged:Er};Symbol.metadata??=Symbol(`metadata`),xr.litPropertyMetadata??=new WeakMap;var Q=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Dr){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&gr(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=_r(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Dr}static _$Ei(){if(this.hasOwnProperty(Z(`elementProperties`)))return;let e=br(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Z(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Z(`properties`))){let e=this.properties,t=[...vr(e),...yr(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(mr(e))}else e!==void 0&&t.push(mr(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return pr(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?Tr:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?Tr:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??Er)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};Q.elementStyles=[],Q.shadowRootOptions={mode:`open`},Q[Z(`elementProperties`)]=new Map,Q[Z(`finalized`)]=new Map,wr?.({ReactiveElement:Q}),(xr.reactiveElementVersions??=[]).push(`2.1.2`);var Or=Symbol(),kr=class{get taskComplete(){return this.t||(this.i===1?this.t=new Promise(((e,t)=>{this.o=e,this.h=t})):this.i===3?this.t=Promise.reject(this.l):this.t=Promise.resolve(this.u)),this.t}constructor(e,t,n){this.p=0,this.i=0,(this._=e).addController(this);let r=typeof t==`object`?t:{task:t,args:n};this.v=r.task,this.j=r.args,this.m=r.argsEqual??Ar,this.k=r.onComplete,this.A=r.onError,this.autoRun=r.autoRun??!0,`initialValue`in r&&(this.u=r.initialValue,this.i=2,this.O=this.T?.())}hostUpdate(){!0===this.autoRun&&this.S()}hostUpdated(){this.autoRun===`afterUpdate`&&this.S()}T(){if(this.j===void 0)return;let e=this.j();if(!Array.isArray(e))throw Error(`The args function must return an array`);return e}async S(){let e=this.T(),t=this.O;this.O=e,e===t||e===void 0||t!==void 0&&this.m(t,e)||await this.run(e)}async run(e){let t,n;e??=this.T(),this.O=e,this.i===1?this.q?.abort():(this.t=void 0,this.o=void 0,this.h=void 0),this.i=1,this.autoRun===`afterUpdate`?queueMicrotask((()=>this._.requestUpdate())):this._.requestUpdate();let r=++this.p;this.q=new AbortController;let i=!1;try{t=await this.v(e,{signal:this.q.signal})}catch(e){i=!0,n=e}if(this.p===r){if(t===Or)this.i=0;else{if(!1===i){try{this.k?.(t)}catch{}this.i=2,this.o?.(t)}else{try{this.A?.(n)}catch{}this.i=3,this.h?.(n)}this.u=t,this.l=n}this._.requestUpdate()}}abort(e){this.i===1&&this.q?.abort(e)}get value(){return this.u}get error(){return this.l}get status(){return this.i}render(e){switch(this.i){case 0:return e.initial?.();case 1:return e.pending?.();case 2:return e.complete?.(this.value);case 3:return e.error?.(this.error);default:throw Error(`Unexpected status: `+this.i)}}},Ar=(e,t)=>e===t||e.length===t.length&&e.every(((e,n)=>!Er(e,t[n]))),$=(e,t)=>{let n=e._$AN;if(n===void 0)return!1;for(let e of n)e._$AO?.(t,!1),$(e,t);return!0},jr=e=>{let t,n;do{if((t=e._$AM)===void 0)break;n=t._$AN,n.delete(e),e=t}while(n?.size===0)},Mr=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(n===void 0)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),Fr(t)}};function Nr(e){this._$AN===void 0?this._$AM=e:(jr(this),this._$AM=e,Mr(this))}function Pr(e,t=!1,n=0){let r=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(t)if(Array.isArray(r))for(let e=n;e<r.length;e++)$(r[e],!1),jr(r[e]);else r!=null&&($(r,!1),jr(r));else $(this,e)}var Fr=e=>{e.type==Rn.CHILD&&(e._$AP??=Pr,e._$AQ??=Nr)},Ir=class extends zn{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),Mr(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&($(this,e),jr(this))}setValue(e){if(Hn(this._$Ct))this._$Ct._$AI(e,this);else{let t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}},Lr=()=>new Rr,Rr=class{},zr=new WeakMap,Br=J(class extends Ir{render(e){return B}update(e,[t]){let n=t!==this.G;return n&&this.G!==void 0&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.G=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),B}rt(e){if(this.isConnected||(e=void 0),typeof this.G==`function`){let t=this.ht??globalThis,n=zr.get(t);n===void 0&&(n=new WeakMap,zr.set(t,n)),n.get(this.G)!==void 0&&this.G.call(this.ht,void 0),n.set(this.G,e),e!==void 0&&this.G.call(this.ht,e)}else this.G.value=e}get lt(){return typeof this.G==`function`?zr.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{$e as A,w as B,W as C,ht as D,gt as E,We as F,o as H,He as I,Ve as L,Ze as M,Ke as N,lt as O,Ge as P,Re as R,ln as S,Kt as T,a as U,Se as V,vn as _,ar as a,pn as b,rr as c,Bn as d,Ln as f,bn as g,An as h,or as i,Qe as j,ct as k,Qn as l,Mn as m,Br as n,ir as o,jn as p,kr as r,tr as s,Lr as t,Yn as u,_n as v,B as w,fn as x,hn as y,O as z};
//# sourceMappingURL=vendor.chunk.js.map
client/vendor/vendor.chunk.js.map
Datei wurde gelöscht
client/vendor/wui.chunk.js
@@ -8,5 +8,4 @@
<!-- End Google Tag Manager -->
`,I=new class{constructor(){document.addEventListener(`DOMContentLoaded`,async()=>{await this.add()})}async add(){let e=await y.Configuration;if(await x.IsAppReady,e.gtm_setup&&e.gtm_setup.isActive){let t=e.gtm_setup.key,n=document.createElement(`script`);n.innerHTML=F.replace(`{{key}}`,t),document.head.prepend(n)}}async push(e){let t=await y.Configuration;t.gtm_setup&&t.gtm_setup.isActive&&(window.dataLayer=window.dataLayer||[],window.dataLayer.push(e))}},L=new class{isCreated=_();validated=_();currentElement;needValidation=!0;instance=-1;get IsCreated(){return this.isCreated}get Validating(){return this.validated}get needsValidation(){return this.needValidation}constructor(){window.onReCaptchaLoaded=()=>{this.IsCreated.resolve()},window.onReCaptchaSolved=async e=>{await this.checkReCaptcha(e)}}async checkReCaptchaRequest(e){try{let t=await v.post(v.setQuery(`/re-captcha/check`),JSON.stringify({token:e}));return t.ok?(await t.json()).ok:(console.error(`Unable to check Re Captcha`),!1)}catch(e){return console.error(`Unable to check Re Captcha`),console.error(e),!1}}async checkReCaptcha(e){await this.checkReCaptchaRequest(e)&&(this.validated.resolve([!0]),this.needValidation=!1)}createCaptcha(e){if(!window.g_reCaptcha){this.validated.resolve([!0]),this.needValidation=!1;return}if(e){this.currentElement=document.createElement(`div`),this.currentElement.classList.add(`g-recaptcha`),this.currentElement.setAttribute(`data-sitekey`,window.g_reCaptcha),this.currentElement.setAttribute(`data-callback`,`onReCaptchaSolved`);let t=document.createElement(`script`);t.setAttribute(`src`,`https://www.google.com/recaptcha/api.js?onload=onReCaptchaLoaded&render=explicit`),t.setAttribute(`async`,``),t.setAttribute(`defer`,``),e.appendChild(this.currentElement),e.appendChild(t)}}async validate(){await this.isCreated,this.currentElement&&requestAnimationFrame(()=>{this.instance>-1?window.grecaptcha.reset(this.instance):this.instance=window.grecaptcha.render(this.currentElement,{sitekey:window.g_reCaptcha})})}},R=class{_mutationObserver=new MutationObserver(e=>{this.observation(e)});_observees=[];_callbacks=new Map;_attributes=[];constructor(e){this._attributes=e}addNode(e){(e.nodeType==Node.DOCUMENT_NODE||e.nodeType==Node.DOCUMENT_FRAGMENT_NODE)&&this._register(e);let t=e.shadowRoot;t&&this._register(t)}unregisterCallback(e){return this._callbacks.delete(e)}runCallback(e,t){let n=this._callbacks.get(e);n&&n(...t)}checkLocalesAttribute(e){for(let t of this.Attributes)if(e.includes(t))return t;return``}observation(e){let t=[];e.forEach(e=>{t.includes(e)||t.push(e)});for(let e of t){if(e.attributeName){let t=this.checkLocalesAttribute(e.attributeName);t.length>0&&this.runCallback(`NodeObserved`,[e.target,t,e.attributeName])}e.addedNodes&&e.addedNodes.forEach(e=>{this.runCallback(`NodeAdded`,[e])})}this.CleanUpNodes()}_register(e){this.Observees.includes(e)||(this.Observees.push(e),this.Observer.observe(e,this.ObserverInit),this.runCallback(`NodeRegistered`,[e]))}removeNode(e){let t=this.Observees.indexOf(e);t>-1&&this.Observees.splice(t,1)}CleanUpNodes(){let e=[];for(let t of this.Observees)t.isConnected||e.push(t);if(e.length>0){for(let t of e)this.removeNode(t);this.Observer.disconnect();for(let e of this.Observees)this.Observer.observe(e,this.ObserverInit)}}registerCallback(e,t){this._callbacks.set(e,t)}get Attributes(){return this._attributes}get Observees(){return this._observees}get ObserverInit(){return{attributes:!0,childList:!0,subtree:!0}}get Observer(){return this._mutationObserver}},z=class{constructor(e,t=`de`){this.storageKey=e,this.defaultLangCode=t,this.activeLangCode=this._loadLanguage()}activeLangCode;defaultLangCode;_loadLanguage(){try{let e=new URL(window.location.href).searchParams.get(`lang`);if(e)return this._saveLanguage(e),e}catch{}let e=localStorage.getItem(this.storageKey);if(e)return e;if(navigator.language){let e=navigator.language.split(`-`)[0];return this._saveLanguage(e),e}return this._saveLanguage(this.defaultLangCode),this.defaultLangCode}_saveLanguage(e){localStorage.setItem(this.storageKey,e)}getLanguage(){return this.activeLangCode}setLanguage(e){return this.activeLangCode=e,this._saveLanguage(e),this.activeLangCode}},B=class{constructor(e,t=!1,n=``){this.path=e,this.activeLangCode=n,this.isRead=!1,this._mobile=t}_readDefer;_loadingDefer=_();_isRead=!1;_mobile=!1;_keys=[];_file={};_external={};_override={};_requestService;_utilityService;setServices(e,t){this._requestService=e,this._utilityService=t}set isRead(e){e?this._readDefer&&(this._readDefer.resolve([!0]),this._loadingDefer.resolve([!0])):this._readDefer=_(),this._isRead=e}get isRead(){return this._isRead}async IsFileRead(){return await this._readDefer,this.isRead}async ReadFile(){this.isRead=!1,this.read(this.language)}get mobile(){return this._mobile}get language(){return this.activeLangCode.length>0?this.activeLangCode:new URL(window.location.href).searchParams.get(`lang`)||`de`}get file(){return this._file}get keys(){return this._keys}async AddOverrides(e){await this._loadingDefer;let t=Object.keys(this._external);Object.entries(e).forEach(([e,n])=>{typeof n==`string`?t.forEach(t=>{let r=this._override[t]||{};r[e]=n,this._override[t]=r}):Object.entries(n).forEach(([t,n])=>{let r=this._override[e]||{};r[t]=n,this._override[e]=r})}),this.applyExternalsAndOverrides()}async AddLocales(e){if(Object.entries(e).forEach(([e,t])=>{let n=this._external[e]||{};Object.entries(t).forEach(([e,t])=>{n[e]=t}),this._external[e]=n}),await this._loadingDefer,await this.IsFileRead()){this.applyExternalsAndOverrides();return}console.error(`LocalesModel: Tried to Add Locales from Json, but failed, since file could not be read...`)}applyExternalsAndOverrides(){let e=this.language,t=this._external;if(t&&t[e]){let n=Object.keys(t[e]);for(let r of n)this._file[r]=t[e][r]}let n=this._override;if(n&&n[e]){let t=Object.keys(n[e]);for(let r of t)if(this._file[r]){let t=n[e][r];this._file[t]&&(this._file[r]=this._file[t])}}this._keys=Object.keys(this._file)}async read(e=this.language){let t=this.activeLangCode!=e||!this.isRead;return t&&(this._file=await this.getLocaleJson(this.path,e),this.applyExternalsAndOverrides(),this.isRead=!0,this._mobile=this._utilityService.isMobileDevice()),this.activeLangCode=e,{langCode:this.activeLangCode,changed:t}}async getLocaleJson(e,t){let n=e+t+`.json`,r=await this._requestService.buildRequestURL(n);return this._requestService.fetchJSON(r)}},V=new class{_observer;_initialised=!1;_storage;_reader;constructor(){this._observer=new R([`i18n`]),this._storage=new z(this.LocaleStorageKey),this._reader=new B(`locales/`),this._reader.setServices(v,k),this.init()}get LocaleStorageKey(){let e=window.location.href,t=new URLSearchParams(e);return`${t.get(`token`)}_${t.get(`a`)}_${t.get(`b`)}`}updateUrlLangParameter(e){try{let t=new URL(window.location.href);t.searchParams.has(`lang`)&&(t.searchParams.set(`lang`,e),window.history.replaceState({},``,t.toString()))}catch(e){console.error(e)}}async setLanguage(e){this._storage.setLanguage(e);let t=await this._reader.read(e);t.changed&&(this._observer.Observees.forEach(e=>{this.translateAddedElement(e)}),this.updateUrlLangParameter(t.langCode))}getLanguage(){return this.language}async init(){this._initialised||=(this._observer.registerCallback(`NodeObserved`,(e,t,n)=>{this._translateNode(e,t,n)}),this._observer.registerCallback(`NodeAdded`,this.translateAddedElement.bind(this)),this._observer.registerCallback(`NodeRegistered`,this.translateAddedElement.bind(this)),await this.setLanguage(this.language),document.addEventListener(`register-to-locales-observer`,(e=>{this._observer.addNode(e.target)})),this.Register(document),!0)}async _translateNode(e,t,n){await this.IsFileRead();let r=e.getAttribute(`locales-model-no-translation`)||e.textContent,i=e.getAttribute(n)||``;if(n.includes(t+`-`)){let a=n.replace(t+`-`,``);e.setAttribute(a,this.translate(i,r||``));return}n.includes(`mobile-`)==0&&e.hasAttribute(`mobile-`+n)&&this._reader.mobile||(e.textContent=this.translate(i,r||``))}translateAddedElement(e){if(e.getAttributeNames){let t=e.getAttributeNames();for(let n of t)for(let t of this._observer.Attributes)n.includes(t)&&this._translateNode(e,t,n)}e.querySelectorAll&&e.querySelectorAll(`*`).forEach(e=>{let t=e.getAttributeNames();for(let n of t)for(let t of this._observer.Attributes)n.includes(t)&&this._translateNode(e,t,n)})}observation(e){return function(t,n,r){e._translateNode(t,n,r)}}nodeAdded(e){return function(t){e.translateAddedElement(t)}}register(e){return function(t){e.translateAddedElement(t)}}get language(){return this._storage.getLanguage()}async get(e){return await this.IsFileRead(),e&&this.exists(e)?this._reader.file[e]:``}IsFileRead(){return this._reader.IsFileRead()}exists(e){return this._reader.keys.includes(e)}translate(e,t=``){let n=``;return e&&this.exists(e)&&(n=this._reader.file[e]),t&&!n&&(n=this.exists(t)?this._reader.file[t]:t),typeof n!=`string`&&(n=e),n&&=n.replace(`~`,`
`),n}async Register(e){await this.IsFileRead()&&this._observer.addNode(e)}async AddSource(e){return await this._reader.AddLocales(e)}async AddOverrides(e){return await this._reader.AddOverrides(e)}},H=new class{_modal;constructor(){u(`shared:mail-sent`,async e=>{await this.sendConfiguredMail(e)})}validateValue(e,t){switch(e||=``,t){case a.CLOUD_ID:return/^[a-z0-9]{8}$/.test(e);case a.E_MAIL:return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}}setLabel(e){let t=document.createElement(`label`);e?t.textContent=`E-Mail wurde erfolgreich versendet.`:t.textContent=`E-Mail konnte nicht versendet werden.`,this._modal.innerHTML=``,this._modal.appendChild(t),setTimeout(()=>{this._modal.hide()},2e3)}async validateGoogleCaptcha(){L.createCaptcha(this._modal),L.needsValidation&&L.validate(),await L.Validating}async shareByMail(e,t,n){if(this.validateValue(e,a.E_MAIL)&&this.validateValue(n,a.CLOUD_ID)){this._modal.show();try{await this.validateGoogleCaptcha();let r=await A.getShortUrl(window.location.href,n);await v.post(v.setQuery(`/webviewer/share-by-mail`),JSON.stringify({to:e,message:t,url:r})),this.setLabel(!0)}catch{this.setLabel(!1)}}}async sendRequestMail(e){if(this.validateValue(e.email,a.E_MAIL)&&this.validateValue(e.number,a.CLOUD_ID)){this._modal.show();try{await this.validateGoogleCaptcha(),await v.post(v.setQuery(`/webui/sendRequestMail`),JSON.stringify({message:e.message||``,name:e.name||``,surname:e.surname||``,email:e.email||``,phone:e.phone||``,postcode:e.postcode||``,number:e.number||``})),this.setLabel(!0)}catch{this.setLabel(!1)}}}async sendConfiguredMail(e){return await fetch(v.setQuery(`/mail/send-configurated-mail`),{method:`POST`,credentials:`include`,body:JSON.stringify(e)})}sendConfiguredMailByBeacon(e){let t=new Blob([JSON.stringify(e)],{type:`application/json; charset=UTF-8`});navigator.sendBeacon(v.setQuery(`/mail/send-configurated-mail`),t)}};new class{isInitialized;_resetMask;constructor(){u(`shared:configuration-fetched`,e=>{if(window.g_configuration.sessionResetSettings&&window.g_configuration.sessionResetSettings.enabled&&(this._resetMask=document.querySelector(`fv-reset-mask`)||Object.assign(document.createElement(`fv-reset-mask`)),this._resetMask)){let e=document.querySelector(`fv-modal.global-main-modal`)||Object.assign(document.createElement(`fv-modal`),{className:`global-main-modal`});e.append(this._resetMask),document.body.append(e)}})}async startTimer(){this.isInitialized?(await this.isInitialized,this._resetMask?this._resetMask.startTimer():console.warn(`Is not found`)):console.warn(`Is not initialized`)}async stopTimer(){this.isInitialized?(await this.isInitialized,this._resetMask?this._resetMask.stopTimer():console.warn(`Is not found`)):console.warn(`Is not initialized`)}};var U=class{static generateCSSVariables(e){return`:root { ${Object.entries(e.colors).map(([e,t])=>`${e}: ${t.value??t.default};`).join(`
`)} }`}static applyTemplateConfig(e,t,n=!1){let r=()=>{e.dispatchEvent(new CustomEvent(`template-loader-template-config-applied`,{bubbles:!0,detail:{"template-config":t,inverted:n}}))},i=t.value??t.default,a=n?!i:i;switch(t.type){case`string`:e.textContent=String(i);break;case`boolean`:a||e.remove();break;case`option`:case`dynamic-option`:t.attribute&&e.setAttribute(t.attribute,String(i));break;case`attribute`:this.handleAttributeType(e,t,n);break}r()}static handleAttributeType(e,t,n){if(!t.attribute)return;let r=t.value??t.default,i=t[`config-id`],a=t[`!config-id`];i&&typeof window.g_configuration?.[i]==`boolean`?r=window.g_configuration[i]:a&&typeof window.g_configuration?.[a]==`boolean`&&(r=!window.g_configuration[a]);let o=n?!r:r;t.varType===`boolean`?o?e.setAttribute(t.attribute,``):e.removeAttribute(t.attribute):e.setAttribute(t.attribute,String(r))}},W=new class{_loadingScreen;_theme;_initialized=_();_isFinished=_();_themeStyle=document.createElement(`style`);constructor(){this.setupLoadingScreen(),u(`construction:initialize`,()=>this.initialize())}setupLoadingScreen(){this._loadingScreen=document.createElement(`fv-loading`),this._loadingScreen&&(document.body.appendChild(this._loadingScreen),this._loadingScreen.show?.())}get IsInitialized(){return this._initialized}get IsFinished(){return Promise.all([this._initialized,this._isFinished])}async initialize(){try{let e=await v.buildRequestURL(`themeConfig`);this._theme=await v.fetchJSON(e),this._theme&&(this._themeStyle.innerHTML=U.generateCSSVariables(this._theme),document.head.appendChild(this._themeStyle),this._initialized.resolve()),await this.applyThemeToHierarchy(document,!this._theme)}finally{this._loadingScreen?.remove(),this._isFinished.resolve()}}async applyThemeToHierarchy(e,t=!1){let n=e.querySelectorAll(`*`);for(let e of Array.from(n))await this.processElement(e,t),e.shadowRoot&&await this.applyThemeToHierarchy(e.shadowRoot,t)}async processElement(e,t){let n=e.getAttribute(`template-id`),r=e.getAttribute(`config-id`);if(n&&!t&&this._theme){let t=n.startsWith(`!`),r=t?n.substring(1):n,i=this._theme.template[r];i&&(Array.isArray(i)?i:[i]).forEach(n=>U.applyTemplateConfig(e,n,t))}if(r){let t=r.startsWith(`!`),n=t?r.substring(1):r,i=window.g_configuration?.[n];typeof i==`boolean`&&(t?i:!i)&&e.remove()}}},G=new class{constructor(){}async PerformWebCabCommand(e){return(await A.PerformWebCabCommand(e))[0]}async ArrangeEqually(e){let t={webCabCommand:`ArrangeEqually`,webCabParams:{}};return t.webCabParams.GroupID=e.GroupID,t.webCabParams[`itemManager.TargetType`]=e.articlenumber,t.webCabParams[`itemManager.customerType`]=e.customerType?e.customerType:``,t.webCabParams[`itemManager.manufacturer`]=e.manufacturer,t.webCabParams[`itemManager.program`]=e.program,e.template&&(t.webCabParams[`itemManager.template`]=e.template),t.webCabParams[`itemManager.uiType`]=e.uitype,t.webCabParams[`itemManager.configSuffix`]=e.configSuffix,e.targetInstanceIdent&&(t.webCabParams[`itemManager.InstanceIdent`]=e.targetInstanceIdent.toFixed(0)),await this.PerformWebCabCommand(t)}async ModifySingleGroup(e){let t={webCabCommand:`ModifySingleGroup`,webCabParams:{}};return t.webCabParams[e.modificationTarget]=e.value,t.webCabParams.GroupID=e.GroupID,t.webCabParams[`itemManager.TargetType`]=e.articlenumber,t.webCabParams[`itemManager.customerType`]=e.customerType?e.customerType:``,t.webCabParams[`itemManager.manufacturer`]=e.manufacturer,t.webCabParams[`itemManager.program`]=e.program,e.template&&(t.webCabParams[`itemManager.template`]=e.template),t.webCabParams[`itemManager.uiType`]=e.uitype,t.webCabParams[`itemManager.configSuffix`]=e.configSuffix,e.targetInstanceIdent&&(t.webCabParams[`itemManager.InstanceIdent`]=e.targetInstanceIdent.toFixed(0)),await this.PerformWebCabCommand(t)}async ModifySingleSpace(e){let t={webCabCommand:`ModifySingleSpace`,webCabParams:{}};return t.webCabParams[e.modificationTarget]=e.value,t.webCabParams.GroupID=e.GroupID,t.webCabParams.InGroupID=e.InGroupID,t.webCabParams[`itemManager.TargetType`]=e.articlenumber,t.webCabParams[`itemManager.customerType`]=e.customerType?e.customerType:``,t.webCabParams[`itemManager.manufacturer`]=e.manufacturer,t.webCabParams[`itemManager.program`]=e.program,e.template&&(t.webCabParams[`itemManager.template`]=e.template),t.webCabParams[`itemManager.uiType`]=e.uitype,t.webCabParams[`itemManager.configSuffix`]=e.configSuffix,e.targetInstanceIdent&&(t.webCabParams[`itemManager.InstanceIdent`]=e.targetInstanceIdent.toFixed(0)),await this.PerformWebCabCommand(t)}async getUI(e){let t={webCabCommand:`getUI`,webCabParams:{}};return t.webCabParams[`itemManager.preventRun`]=e.preventRuns?`1`:`0`,t.webCabParams[`itemManager.targetIsLastInserted`]=e.lastInserted?`1`:`0`,t.webCabParams[`itemManager.runAllNoOptimizationNoCache`]=e.runAllNotOptimized?`1`:`0`,t.webCabParams[`itemManager.runAllWebCabElements`]=e.runAllWebCabs?`1`:`0`,t.webCabParams[`itemManager.TargetType`]=e.articlenumber,t.webCabParams[`itemManager.manufacturer`]=e.manufacturer,t.webCabParams[`itemManager.program`]=e.program,t.webCabParams[`itemManager.customerType`]=e.customerType?e.customerType:``,t.webCabParams[`itemManager.uiType`]=e.uitype,e.template&&(t.webCabParams[`itemManager.template`]=e.template),t.webCabParams[`itemManager.configSuffix`]=e.configSuffix,e.targetInstanceIdent&&(t.webCabParams[`itemManager.InstanceIdent`]=e.targetInstanceIdent.toFixed(0)),await this.PerformWebCabCommand(t)}async getUiFromPoConfig(e){let t={webCabCommand:`getUiFromPoConfig`,webCabParams:{}};return t.webCabParams[`itemManager.TargetType`]=e.articlenumber,t.webCabParams[`itemManager.manufacturer`]=e.manufacturer,t.webCabParams[`itemManager.program`]=e.program,t.webCabParams[`itemManager.uiType`]=e.uitype,e.template&&(t.webCabParams[`itemManager.template`]=e.template),t.webCabParams[`itemManager.customerType`]=e.customerType?e.customerType:``,t.webCabParams[`itemManager.UIFromConfig_ForceCorner`]=+!!e.forceCorner,t.webCabParams[`itemManager.configSuffix`]=e.configSuffix,await this.PerformWebCabCommand(t)}async ModifyValues(e){let t={webCabCommand:`ModifyValues`,webCabParams:{Modified:{}}};return t.webCabParams.Modified||(t.webCabParams.Modified={}),t.webCabParams.Modified[e.modificationTarget]=e.value,e.preventRuns&&(t.webCabParams[`itemManager.preventRun`]=`1`),t.webCabParams[`itemManager.TargetType`]=e.articlenumber,t.webCabParams[`itemManager.manufacturer`]=e.manufacturer,t.webCabParams[`itemManager.program`]=e.program,t.webCabParams[`itemManager.customerType`]=e.customerType?e.customerType:``,t.webCabParams[`itemManager.uiType`]=e.uiType,t.webCabParams[`itemManager.configSuffix`]=e.configSuffix,e.template&&(t.webCabParams[`itemManager.template`]=e.template),e.targetInstanceIdent&&(t.webCabParams[`itemManager.InstanceIdent`]=e.targetInstanceIdent.toFixed(0)),await this.PerformWebCabCommand(t)}};window.WebCabCommunicationService=G;var K=new class{constructor(){}async GetUIs(e,t,n){let r={InstanceIdentFilter:n||[],CustomerType:e,ConfigSuffix:t||``};return await A.executeWebCabApiMessage(`APIMessage_WebCab_GetUI`,r,!1)}async GetUiFromPoConfig(e,t,n,r,i,a){let o={Manufacturer:e,Program:t,Article:n,ConfigSuffix:r,CustomerType:i,ForceCorner:+!!a};return await A.executeWebCabApiMessage(`APIMessage_WebCab_GetUiFromPoConfig`,o,!1)}async ArrangeEqually(e,t,n,r){let i={InstanceIdentFilter:r||[],CustomerType:e,GroupIDs:t,ConfigSuffix:n||``};return await A.executeWebCabApiMessage(`APIMessage_WebCab_ArrangeEqually`,i,!0)}async ModifyValues(e,t,n,r){let i={InstanceIdentFilter:r||[],CustomerType:e,ConfigSuffix:n||``,modifications:t};return await A.executeWebCabApiMessage(`APIMessage_WebCab_ModifyValues`,i,!0)}async BulkModifyValues(e,t,n){let r={CustomerType:e,ConfigSuffix:n||``,BulkModifications:t};return await A.executeWebCabApiMessage(`APIMessage_WebCab_BulkModifyValues`,r,!0)}async ModifyGroups(e,t,n,r){let i={InstanceIdentFilter:r||[],CustomerType:e,ConfigSuffix:n||``,modifications:t};return await A.executeWebCabApiMessage(`APIMessage_WebCab_ModifyGroups`,i,!0)}async ModifySpaces(e,t,n,r){let i={InstanceIdentFilter:r||[],CustomerType:e,ConfigSuffix:n||``,modifications:t};return await A.executeWebCabApiMessage(`APIMessage_WebCab_ModifySpaces`,i,!0)}async ModifyZSplitting(e,t,n,r){var i={InstanceIdentFilter:r||[],CustomerType:e,ConfigSuffix:n||``,modifications:t};return await A.executeWebCabApiMessage(`APIMessage_WebCab_ModifyZSplitting`,i,!0)}async EnableWebCabs(e,t,n){let r={InstanceIdentFilter:n||[],CustomerType:e,ConfigSuffix:t||``};return await A.executeWebCabApiMessage(`APIMessage_WebCab_EnableWebCabs`,r,!0)}async DisableWebCabs(e,t,n){let r={InstanceIdentFilter:n||[],CustomerType:e,ConfigSuffix:t||``};return await A.executeWebCabApiMessage(`APIMessage_WebCab_DisableWebCabs`,r,!0)}async SetDisableDimensionVisuals(e,t,n,r){let i={InstanceIdentFilter:r||[],CustomerType:e,ConfigSuffix:n||``,Value:t};return await A.executeWebCabApiMessage(`APIMessage_WebCab_SetDisableDimensionVisuals`,i,!0)}async GetDisableDimensionVisuals(e,t,n){let r={InstanceIdentFilter:n||[],CustomerType:e,ConfigSuffix:t||``},i=await A.executeWebCabApiMessage(`APIMessage_WebCab_GetDisableDimensionVisuals`,r,!1);if(i[`disabled-in-scene`])return!0;if(i.webcabs){for(let e=0;e<i.webcabs.length;++e)if(i.webcabs[e])return!0}return!1}async GetPlanned(e){let t=[],n=await A.getPlannedArticles();for(let r of n)if(r.keys.includes(10017)||r.keys.includes(10019)){if(e!=null){e.includes(r.typeInfo)&&t.push(r);continue}t.push(r)}return t}},q=function(e){let t=e.split(`,`).map(e=>+e),n=t[0]/255,r=t[1]/255,i=t[2]/255,a=Math.max(n,r,i),o=a-Math.min(n,r,i),s,c;return s=o===0?0:a===n?60*((r-i)/o%6):a===r?60*((i-n)/o+2):60*((n-r)/o+4),s<0&&(s+=360),c=a===0?0:o/a,[s,c,a]};new class{sortColor(e){let t=e.map(function(e){let t=q(e.code);return[t[0],t[1],t[2],e]}),n=[];for(let e=0;e<=360;e++){n.push([]);for(let t=0;t<=100;t++){n[e].push([]);for(let r=0;r<=100;r++)n[e][t].push([])}}t.forEach(e=>{let t=Math.round(e[0]),r=Math.round(e[1]*100),i=Math.round(e[2]*100);n[t][r][i].push(e[3])});let r=[];for(let e=0;e<=360;e++)for(let t=0;t<=100;t++)for(let i=0;i<=100;i++)r.push(n[e][t][i]);return r}async getRal(e){return e||={},await(A?.getColorPickerInfo({manufacturer:e.manufacturer,type:`ral`})).then(e=>e)}async getNCS(e){return e||={},await(A?.getColorPickerInfo({manufacturer:e.manufacturer,type:`ncs`})).then(e=>e)}async getSikkens(e){return e||={},await(A?.getColorPickerInfo({manufacturer:e.manufacturer,type:`sikkens`})).then(e=>e)}};var J=new class{async get(e){return A.getPropTransfer(e)}async getDeletable(){return A?.getDeletablePropTransfer()}async traverse(e,t={}){let n=await this.get(t);t.grouped?t.manufacturer?t.manufacturer&&!t.program?await this.programCallback(e,n,t):t.manufacturer&&t.program&&await this.groupCallback(e,n,t):await this.manufacturerCallback(e,n,t):await this.itemCallback(e,n)}async manufacturerCallback(e,t,n){let r=t,i=r?Object.keys(r):[];for(let t of i)e.manufacturerCallback&&await e.manufacturerCallback(t,r[t]),await this.programCallback(e,r[t],Object.assign(n,{manufacturer:t}))}async programCallback(e,t,n){if(n.manufacturer){let r=t,i=Object.keys(r);for(let t of i)e.programCallback&&n.manufacturer&&await e.programCallback(n.manufacturer,t,r[t]),await this.groupCallback(e,r[t],Object.assign(n,{program:t}))}}async groupCallback(e,t,n){if(n.manufacturer&&n.program){let r=t,i=Object.keys(r);for(let t of i)e.groupCallback&&n.manufacturer&&n.program&&await e.groupCallback(n.manufacturer,n.program,t,r[t]),await this.itemCallback(e,r[t])}}async itemCallback(e,t){for(let n of t)e.itemsCallback&&await e.itemsCallback(n)}},Y=class{_cachedManufacturerList;_cachedGroupInformation={};_cachedFinishParams={};async getGroupInformation(e,t){return A?.getMerkmalGroupInformation({manufacturer:e,program:t})}async getFinishParams(e,t,n,r=!1){return r||!this._cachedFinishParams[e]||!this._cachedFinishParams[e][t]||!this._cachedFinishParams[e][t][n||`unknown`]?A?.getFinishParams({manufacturer:e,program:t,association:n}).then(r=>(this._cachedFinishParams[e]||(this._cachedFinishParams[e]={}),this._cachedFinishParams[e][t]||(this._cachedFinishParams[e][t]={}),n&&!this._cachedFinishParams[e][t][n]?this._cachedFinishParams[e][t][n]={}:!n&&!this._cachedFinishParams[e][t].unknown&&(this._cachedFinishParams[e][t].unknown={}),this._cachedFinishParams[e][t][n||`unknown`]=r,this._cachedFinishParams[e][t][n||`unknown`])):Promise.resolve(this._cachedFinishParams[e][t][n||`unknown`])}async _traverse(e,t,n=!1,r){let i=Object.values(t.children);for(let t=0;t<i.length;t++){let a=i[t];e.manufacturerCallback?.(a);let o=Object.values(a.children);for(let t=0;t<o.length;t++){let i=o[t],s=await this.getFinishParams(a.manufacturerName,i.programName);e.programCallback?.(a,i);let c=await this._getGroupInformation(e,a,i,n);c=this.mergeGroupInformation(c);let l=i.propertyKeyOrder||Object.keys(i.children);for(let t=0;t<l.length;t++){let n=l[t],o=i.children[n],s=Object.values(o.children),u=[],d=r?.propertyFilters?.[o.id];if(d){let e=d.filter.itemGroups;if(!(e.length===1&&e[0].filter.length===0)){for(let t of e)for(let e of t.items){let t=s.find(t=>t.key===e);t&&u.push(t)}s=u}}let f;if((s.length>1||s.length===1&&s[0].key.toLowerCase().startsWith(`[dh_ausf`))&&(f=s.find(e=>e.propertyKey===o.currentValue)),e.propertyCallback?.(a,i,o,s,f),c&&e.propertyGroupedCallback){let e=!1;for(let t=0;t<c.length;t++){for(let n of c[t].keys)if(n.key===+o.id){n.progPropertyModel=o,n.progPropertyValueList=s,n.currentValue=f,e=!0;break}if(e)break}}}if(c&&e.propertyGroupedCallback)for(let t=0;t<c.length;t++){let n=c[t];for(let e of l)n.keys.sort((t,n)=>e.endsWith(t.key.toString())?1:e.endsWith(n.key.toString())?-1:0);if(!n?.title){for(let t of n.keys){let r={keys:[t],title:t.progPropertyModel?.name||``,img:n.img,id:n.id};if(!await e.propertyGroupedCallback({manufacturerModel:a,programModel:i,propertyGroup:r,finishParams:s}).then(()=>!0).catch(e=>!1))return!1}continue}if(!await e.propertyGroupedCallback({manufacturerModel:a,programModel:i,propertyGroup:c[t],finishParams:s}).then(()=>!0).catch(e=>!1))return!1}}}return!0}async _getGroupInformation(e,t,n,r=!1){let i=e.propertyGroupedCallback?this._cachedGroupInformation&&r&&this._cachedGroupInformation[t.manufacturerName]&&this._cachedGroupInformation[t.manufacturerName][n.programName]?this._cachedGroupInformation[t.manufacturerName][n.programName]:await this.getGroupInformation(t.manufacturerName,n.programName):void 0;return i&&(i=await this._fetchImages(i,t,n),this._cachedGroupInformation[t.manufacturerName]||(this._cachedGroupInformation[t.manufacturerName]={}),r&&(this._cachedGroupInformation[t.manufacturerName][n.programName]=i)),i}async _fetchImages(e,t,n){return await Promise.all(e.map(async e=>Object.assign(e,{imgSrc:e.img?await A.getMediaUrl(t.manufacturerName,``,`groups`,e.img,!0,!1):void 0})))}mergeGroupInformation(e){if(!e)return;let t={};return e.forEach(e=>{let n=Object.keys(t).find(t=>e.id.startsWith(t))||e.id;t[n]||(t[n]=Object.assign(e,{id:n,title:e.title,img:e.img})),t[n].keys=Array.from(new Map([...t[n].keys||[],...e.keys||[]].map(e=>[e.key,e])).values())}),Object.values(t)}},X=new class extends Y{async get(e){return A.getProgProperties(e)}async findMany(e,t,n,r=!1){let i={};return await this.traverse({propertyCallback:(r,a,o,s,c)=>{n?.indexOf(o.key)!==-1&&r.manufacturerName===e&&a.programName===t&&(i[o.key]=Object.assign(r,a,o,{currentValue:c}))}}),i}async findOne(e,t,n,r=!1){let i;return await this.traverse({propertyCallback:(r,a,o)=>{o.key===n&&r.manufacturerName===e&&a.programName===t&&(i=Object.assign(r,a,o))}}),i}async find(e,t,n,r,i,a){return A?.getProgProperties({manufacturer:e,program:t,useSelection:n,useRelevant:r,fullHierarchy:i,instanceIdents:a})}async findAll(e,t,n){return await this.find(void 0,void 0,e,t,!0,n)}async traverse(e,t){t||={useSelection:!0,useRelevant:!0,fullHierarchy:!0};let n=!!this._cachedManufacturerList,r=this._cachedManufacturerList||await this.get(t),i=n?r:await this.get(t);return this._cachedManufacturerList=n?i:void 0,!i||!i.children?!1:this._traverse(e,i,n,t)}},Z=new class extends Y{async initialize(e){return A.initializePropertyContext(e)}async get(e){return A.getPropertyContext(e)}async dispose(e){return A.disposePropertyContext(e)}async findMany(e,t,n,r){let i={};return await this.traverse({propertyCallback:(e,a,o,s,c)=>{r?.indexOf(o.key)!==-1&&e.manufacturerName===t&&a.programName===n&&(i[o.key]=Object.assign(e,a,o,{currentValue:c}))}},{useRelevant:!0,useSelection:!0,filterStrategy:o.LOCAL}),i}async findOne(e,t,n){let r;return await this.traverse({propertyCallback:(i,a,o)=>{o.key===n&&i.manufacturerName===e&&a.programName===t&&(r=Object.assign(i,a,o))}},{useRelevant:!0,useSelection:!0,filterStrategy:o.LOCAL}),r}async findAll(e,t,n,r){return await this.get({manufacturer:void 0,program:void 0,useSelection:e,useRelevant:t,instanceIdents:n,filterStrategy:r})}async traverse(e,t){t||={useRelevant:!0,useSelection:!0};let n=!!this._cachedManufacturerList,r=this._cachedManufacturerList||await this.get(t),i=n?r:await this.get(t);return this._cachedManufacturerList=n?i:void 0,!i||!i.children?!1:this._traverse(e,i,n)}},Q=new class{_configuration;isInitialized;preventLeaveConfirmation=!1;constructor(){document.addEventListener(`readystatechange`,async()=>{await y.Initialized;let e=await v.fetchJSON(await v.buildRequestURL(`config/layout.json`)),t=await v.fetchJSON(await v.buildRequestURL(`config/styles.json`));await this.initialize(e,t)}),window.addEventListener(`beforeunload`,e=>{!this.preventLeaveConfirmation&&window.g_configuration?.request_leave_confirmation&&(e.preventDefault(),e.returnValue=``)})}get IsInitialized(){return this.isInitialized}get PreventLeaveConfirmation(){return this.preventLeaveConfirmation}set PreventLeaveConfirmation(e){this.preventLeaveConfirmation=e}get CustomMailService(){return this._configuration?.customMailService}async getLocales(){if(await this.IsInitialized,this._configuration)return this._configuration.locales}async TranslatePageTitle(e){if(e.locales){await V.AddSource(e.locales);let t=V.translate(`furnview-app-title`,document.title);document.title=t,document.querySelector(`title`)?.addEventListener(`template-loader-template-config-applied`,e=>{e.detail[`template-config`].value.length<1&&(document.title=V.translate(`furnview-app-title`,t))})}e[`locale-overrides`]&&await V.AddOverrides(e[`locale-overrides`])}SetDocumentLanguageCode(){let e=V.getLanguage();document&&document.documentElement&&(document.documentElement.lang=e)}loadChildren(e,t){if(e.children){let n=[];for(let r of e.children){let i=this.loadComponent(r);t[e.prepend?`prepend`:`append`](i),n.push(i)}t.dispatchEvent(new CustomEvent(`construction-service-children-loaded`,{detail:{children:n}}))}}async loadStylesheets(e,t){if(!e.customCSS)return;let n=Array.isArray(e.customCSS)?e.customCSS:[e.customCSS],r=Promise.resolve();!t.shadowRoot&&(r=t.getUpdateComplete)!==void 0&&await r;let i=t.shadowRoot;if(i)try{let e=n.map(e=>{let t=new CSSStyleSheet;return t.replaceSync(e),t});i.adoptedStyleSheets=[...i.adoptedStyleSheets,...e]}catch{n.forEach(e=>{let t=document.createElement(`style`);t.textContent=e,i.appendChild(t)})}else n.forEach((n,r)=>{let i=`${e.tag||e?.query||t.tagName.toLowerCase()}-${r}`;if(t.querySelector(`style[data-css-module="${i}"]`))return;let a=document.createElement(`style`);a.setAttribute(`data-css-module`,i),a.textContent=n,t===document.body?document.head.appendChild(a):t.prepend(a)})}loadStyleVars(e,t){e.styleVars&&(Object.keys(e.styleVars).forEach(n=>{n.startsWith(`--`)&&t.style.setProperty(n,e.styleVars?.[n])}),t.requestUpdate&&t.requestUpdate())}loadEvents(e,t){e.events&&Array.isArray(e.events)&&e.events.forEach(e=>{e.id&&t.addEventListener(e.defaultEvent||`click`,async t=>{let n=e.data;t instanceof CustomEvent&&(n=JSON.stringify(n).replace(`!$value`,t.detail.value),n=JSON.parse(n)),await g.emitAsync(e.id,{data:n||{},target:e.target||void 0})})})}loadSceneEvents(e){let t=e[`scene-events`];if(t)for(let e of Object.keys(t)){let n=t[e],r=n.events,i=n[`execute-async`]==null?!1:n[`execute-async`],a=n[`throttling-timeout`],o=P[e];if(!o||typeof o.register!=`function`){console.warn(`scene-events: unbekanntes EventFactoryService-Event "${e}"`);continue}let s=async()=>{for(let e of r)i?g.emitAsync(e.id,{data:e.data||{},target:void 0}):await g.emitAsync(e.id,{data:e.data||{},target:void 0})},c=a===void 0?s:f(s,p(a.baseline,a.min,a.max,a.modifier));o.register(c)}}loadProperties(e,t){let n=e=>{typeof e.value==`boolean`&&e.attribute&&e.value?t.setAttribute(e.key,``):typeof e.value==`boolean`&&e.attribute&&!e.value?t.removeAttribute(e.key,``):typeof e.value==`object`&&e.attribute?t.setAttribute(e.key,JSON.stringify(e.value)):e.attribute?t.setAttribute(e.key,e.value):t[e.key]=e.value};if(e.properties&&t)for(let t of e.properties){let e=t.readyValue;e&&x.IsAppReady.then(()=>{n(Object.assign(t,{value:e.value}))}),n(t)}}loadClasses(e,t){e.classes&&t&&t.classList.add(...e.classes)}loadComponent(e){let t=document.createElement(e.tag);return this.loadClasses(e,t),this.loadProperties(e,t),this.loadStyleVars(e,t),this.loadStylesheets(e,t),this.loadEvents(e,t),t}async loadModule(e,t){let n=this.loadComponent(e);if(t[e.prepend?`prepend`:`append`](n),e.execute&&n&&Object.values(e.execute).forEach(e=>{n[e.name].apply(e.arguments?e.arguments:[])}),n==null||n.getUpdateComplete==null){console.error(`component: [`+e.tag+`] could not be loaded!`);return}if(await n.getUpdateComplete(),e.modules)for(let t of e.modules)await this.loadModule(t,n);if(e.areas)for(let t of e.areas)await this.loadArea(t,n);this.loadChildren(e,n)}async loadArea(e,t){let n=null;e.queryAll?(n=t.querySelectorAll(e.query),(!n||n.length===0)&&t.shadowRoot&&(n=t?.shadowRoot?.querySelectorAll(e.query))):e.query?(n=t.querySelector(e.query),!n&&t.shadowRoot&&(n=t?.shadowRoot?.querySelector(e.query))):n=t,n||console.warn(`loadArea failed to find target!`);let r=async(e,t,n)=>{if(n){if(e.modules)for(let t of e.modules)await this.loadModule(t,n);if(e.areas)for(let t of e.areas)await this.loadArea(t,n);this.loadProperties(e,n),this.loadStyleVars(e,n),this.loadStylesheets(e,n),this.loadEvents(e,n),this.loadClasses(e,n)}};if(n&&n instanceof NodeList&&n.length)for(let i=0;i<n.length;i++)await r(e,t,n[i]);else await r(e,t,n);n&&n.dispatchEvent&&n.dispatchEvent(new CustomEvent(`area-updated`,{detail:{}}))}async initialize(e,t){if(!document.body.classList.contains(`construction-container`))return;document.body.classList.contains(`initialHide`)&&(document.body.classList.remove(`initialHide`),document.body.classList.add(`hidden`));let n=e;if(n?.mergeErrors)for(let e of n.mergeErrors)console.error(e[`pre-text`],e[`overwriting-object`],e[`post-text`]);console.log(`layout json:`,n);let r=JSON.stringify(n);if(r=r.replace(/webui\//g,`webui-content/${new URL(window.location.href).searchParams.get(`token`)}/`),r=r.replace(/:token\//g,`${new URL(window.location.href).searchParams.get(`token`)}/`),n=JSON.parse(r),this._configuration=n,n&&this.loadSceneEvents(n),t)for(let e of t?.styles||[]){let t=document.createElement(`style`);t.appendChild(document.createTextNode(e)),document.head.appendChild(t)}n&&t&&(await this.TranslatePageTitle(n),await this.loadArea(n,document),x.FurnviewWebViewer||x.initialize(void 0),this.SetDocumentLanguageCode(),document.body.classList.remove(`hidden`),l.emit(`construction:initialize`))}};export{k as _,N as a,g as c,H as d,Z as f,W as g,v as h,j as i,I as l,J as m,A as n,P as o,X as p,y as r,h as s,Q as t,V as u,K as v,x as y};
//# sourceMappingURL=wui.chunk.js.map
`)} }`}static applyTemplateConfig(e,t,n=!1){let r=()=>{e.dispatchEvent(new CustomEvent(`template-loader-template-config-applied`,{bubbles:!0,detail:{"template-config":t,inverted:n}}))},i=t.value??t.default,a=n?!i:i;switch(t.type){case`string`:e.textContent=String(i);break;case`boolean`:a||e.remove();break;case`option`:case`dynamic-option`:t.attribute&&e.setAttribute(t.attribute,String(i));break;case`attribute`:this.handleAttributeType(e,t,n);break}r()}static handleAttributeType(e,t,n){if(!t.attribute)return;let r=t.value??t.default,i=t[`config-id`],a=t[`!config-id`];i&&typeof window.g_configuration?.[i]==`boolean`?r=window.g_configuration[i]:a&&typeof window.g_configuration?.[a]==`boolean`&&(r=!window.g_configuration[a]);let o=n?!r:r;t.varType===`boolean`?o?e.setAttribute(t.attribute,``):e.removeAttribute(t.attribute):e.setAttribute(t.attribute,String(r))}},W=new class{_loadingScreen;_theme;_initialized=_();_isFinished=_();_themeStyle=document.createElement(`style`);constructor(){this.setupLoadingScreen(),u(`construction:initialize`,()=>this.initialize())}setupLoadingScreen(){this._loadingScreen=document.createElement(`fv-loading`),this._loadingScreen&&(document.body.appendChild(this._loadingScreen),this._loadingScreen.show?.())}get IsInitialized(){return this._initialized}get IsFinished(){return Promise.all([this._initialized,this._isFinished])}async initialize(){try{let e=await v.buildRequestURL(`themeConfig`);this._theme=await v.fetchJSON(e),this._theme&&(this._themeStyle.innerHTML=U.generateCSSVariables(this._theme),document.head.appendChild(this._themeStyle),this._initialized.resolve()),await this.applyThemeToHierarchy(document,!this._theme)}finally{this._loadingScreen?.remove(),this._isFinished.resolve()}}async applyThemeToHierarchy(e,t=!1){let n=e.querySelectorAll(`*`);for(let e of Array.from(n))await this.processElement(e,t),e.shadowRoot&&await this.applyThemeToHierarchy(e.shadowRoot,t)}async processElement(e,t){let n=e.getAttribute(`template-id`),r=e.getAttribute(`config-id`);if(n&&!t&&this._theme){let t=n.startsWith(`!`),r=t?n.substring(1):n,i=this._theme.template[r];i&&(Array.isArray(i)?i:[i]).forEach(n=>U.applyTemplateConfig(e,n,t))}if(r){let t=r.startsWith(`!`),n=t?r.substring(1):r,i=window.g_configuration?.[n];typeof i==`boolean`&&(t?i:!i)&&e.remove()}}},G=new class{constructor(){}async PerformWebCabCommand(e){return(await A.PerformWebCabCommand(e))[0]}async ArrangeEqually(e){let t={webCabCommand:`ArrangeEqually`,webCabParams:{}};return t.webCabParams.GroupID=e.GroupID,t.webCabParams[`itemManager.TargetType`]=e.articlenumber,t.webCabParams[`itemManager.customerType`]=e.customerType?e.customerType:``,t.webCabParams[`itemManager.manufacturer`]=e.manufacturer,t.webCabParams[`itemManager.program`]=e.program,e.template&&(t.webCabParams[`itemManager.template`]=e.template),t.webCabParams[`itemManager.uiType`]=e.uitype,t.webCabParams[`itemManager.configSuffix`]=e.configSuffix,e.targetInstanceIdent&&(t.webCabParams[`itemManager.InstanceIdent`]=e.targetInstanceIdent.toFixed(0)),await this.PerformWebCabCommand(t)}async ModifySingleGroup(e){let t={webCabCommand:`ModifySingleGroup`,webCabParams:{}};return t.webCabParams[e.modificationTarget]=e.value,t.webCabParams.GroupID=e.GroupID,t.webCabParams[`itemManager.TargetType`]=e.articlenumber,t.webCabParams[`itemManager.customerType`]=e.customerType?e.customerType:``,t.webCabParams[`itemManager.manufacturer`]=e.manufacturer,t.webCabParams[`itemManager.program`]=e.program,e.template&&(t.webCabParams[`itemManager.template`]=e.template),t.webCabParams[`itemManager.uiType`]=e.uitype,t.webCabParams[`itemManager.configSuffix`]=e.configSuffix,e.targetInstanceIdent&&(t.webCabParams[`itemManager.InstanceIdent`]=e.targetInstanceIdent.toFixed(0)),await this.PerformWebCabCommand(t)}async ModifySingleSpace(e){let t={webCabCommand:`ModifySingleSpace`,webCabParams:{}};return t.webCabParams[e.modificationTarget]=e.value,t.webCabParams.GroupID=e.GroupID,t.webCabParams.InGroupID=e.InGroupID,t.webCabParams[`itemManager.TargetType`]=e.articlenumber,t.webCabParams[`itemManager.customerType`]=e.customerType?e.customerType:``,t.webCabParams[`itemManager.manufacturer`]=e.manufacturer,t.webCabParams[`itemManager.program`]=e.program,e.template&&(t.webCabParams[`itemManager.template`]=e.template),t.webCabParams[`itemManager.uiType`]=e.uitype,t.webCabParams[`itemManager.configSuffix`]=e.configSuffix,e.targetInstanceIdent&&(t.webCabParams[`itemManager.InstanceIdent`]=e.targetInstanceIdent.toFixed(0)),await this.PerformWebCabCommand(t)}async getUI(e){let t={webCabCommand:`getUI`,webCabParams:{}};return t.webCabParams[`itemManager.preventRun`]=e.preventRuns?`1`:`0`,t.webCabParams[`itemManager.targetIsLastInserted`]=e.lastInserted?`1`:`0`,t.webCabParams[`itemManager.runAllNoOptimizationNoCache`]=e.runAllNotOptimized?`1`:`0`,t.webCabParams[`itemManager.runAllWebCabElements`]=e.runAllWebCabs?`1`:`0`,t.webCabParams[`itemManager.TargetType`]=e.articlenumber,t.webCabParams[`itemManager.manufacturer`]=e.manufacturer,t.webCabParams[`itemManager.program`]=e.program,t.webCabParams[`itemManager.customerType`]=e.customerType?e.customerType:``,t.webCabParams[`itemManager.uiType`]=e.uitype,e.template&&(t.webCabParams[`itemManager.template`]=e.template),t.webCabParams[`itemManager.configSuffix`]=e.configSuffix,e.targetInstanceIdent&&(t.webCabParams[`itemManager.InstanceIdent`]=e.targetInstanceIdent.toFixed(0)),await this.PerformWebCabCommand(t)}async getUiFromPoConfig(e){let t={webCabCommand:`getUiFromPoConfig`,webCabParams:{}};return t.webCabParams[`itemManager.TargetType`]=e.articlenumber,t.webCabParams[`itemManager.manufacturer`]=e.manufacturer,t.webCabParams[`itemManager.program`]=e.program,t.webCabParams[`itemManager.uiType`]=e.uitype,e.template&&(t.webCabParams[`itemManager.template`]=e.template),t.webCabParams[`itemManager.customerType`]=e.customerType?e.customerType:``,t.webCabParams[`itemManager.UIFromConfig_ForceCorner`]=+!!e.forceCorner,t.webCabParams[`itemManager.configSuffix`]=e.configSuffix,await this.PerformWebCabCommand(t)}async ModifyValues(e){let t={webCabCommand:`ModifyValues`,webCabParams:{Modified:{}}};return t.webCabParams.Modified||(t.webCabParams.Modified={}),t.webCabParams.Modified[e.modificationTarget]=e.value,e.preventRuns&&(t.webCabParams[`itemManager.preventRun`]=`1`),t.webCabParams[`itemManager.TargetType`]=e.articlenumber,t.webCabParams[`itemManager.manufacturer`]=e.manufacturer,t.webCabParams[`itemManager.program`]=e.program,t.webCabParams[`itemManager.customerType`]=e.customerType?e.customerType:``,t.webCabParams[`itemManager.uiType`]=e.uiType,t.webCabParams[`itemManager.configSuffix`]=e.configSuffix,e.template&&(t.webCabParams[`itemManager.template`]=e.template),e.targetInstanceIdent&&(t.webCabParams[`itemManager.InstanceIdent`]=e.targetInstanceIdent.toFixed(0)),await this.PerformWebCabCommand(t)}};window.WebCabCommunicationService=G;var K=new class{constructor(){}async GetUIs(e,t,n){let r={InstanceIdentFilter:n||[],CustomerType:e,ConfigSuffix:t||``};return await A.executeWebCabApiMessage(`APIMessage_WebCab_GetUI`,r,!1)}async GetUiFromPoConfig(e,t,n,r,i,a){let o={Manufacturer:e,Program:t,Article:n,ConfigSuffix:r,CustomerType:i,ForceCorner:+!!a};return await A.executeWebCabApiMessage(`APIMessage_WebCab_GetUiFromPoConfig`,o,!1)}async ArrangeEqually(e,t,n,r){let i={InstanceIdentFilter:r||[],CustomerType:e,GroupIDs:t,ConfigSuffix:n||``};return await A.executeWebCabApiMessage(`APIMessage_WebCab_ArrangeEqually`,i,!0)}async ModifyValues(e,t,n,r){let i={InstanceIdentFilter:r||[],CustomerType:e,ConfigSuffix:n||``,modifications:t};return await A.executeWebCabApiMessage(`APIMessage_WebCab_ModifyValues`,i,!0)}async BulkModifyValues(e,t,n){let r={CustomerType:e,ConfigSuffix:n||``,BulkModifications:t};return await A.executeWebCabApiMessage(`APIMessage_WebCab_BulkModifyValues`,r,!0)}async ModifyGroups(e,t,n,r){let i={InstanceIdentFilter:r||[],CustomerType:e,ConfigSuffix:n||``,modifications:t};return await A.executeWebCabApiMessage(`APIMessage_WebCab_ModifyGroups`,i,!0)}async ModifySpaces(e,t,n,r){let i={InstanceIdentFilter:r||[],CustomerType:e,ConfigSuffix:n||``,modifications:t};return await A.executeWebCabApiMessage(`APIMessage_WebCab_ModifySpaces`,i,!0)}async ModifyZSplitting(e,t,n,r){var i={InstanceIdentFilter:r||[],CustomerType:e,ConfigSuffix:n||``,modifications:t};return await A.executeWebCabApiMessage(`APIMessage_WebCab_ModifyZSplitting`,i,!0)}async EnableWebCabs(e,t,n){let r={InstanceIdentFilter:n||[],CustomerType:e,ConfigSuffix:t||``};return await A.executeWebCabApiMessage(`APIMessage_WebCab_EnableWebCabs`,r,!0)}async DisableWebCabs(e,t,n){let r={InstanceIdentFilter:n||[],CustomerType:e,ConfigSuffix:t||``};return await A.executeWebCabApiMessage(`APIMessage_WebCab_DisableWebCabs`,r,!0)}async SetDisableDimensionVisuals(e,t,n,r){let i={InstanceIdentFilter:r||[],CustomerType:e,ConfigSuffix:n||``,Value:t};return await A.executeWebCabApiMessage(`APIMessage_WebCab_SetDisableDimensionVisuals`,i,!0)}async GetDisableDimensionVisuals(e,t,n){let r={InstanceIdentFilter:n||[],CustomerType:e,ConfigSuffix:t||``},i=await A.executeWebCabApiMessage(`APIMessage_WebCab_GetDisableDimensionVisuals`,r,!1);if(i[`disabled-in-scene`])return!0;if(i.webcabs){for(let e=0;e<i.webcabs.length;++e)if(i.webcabs[e])return!0}return!1}async GetPlanned(e){let t=[],n=await A.getPlannedArticles();for(let r of n)if(r.keys.includes(10017)||r.keys.includes(10019)){if(e!=null){e.includes(r.typeInfo)&&t.push(r);continue}t.push(r)}return t}},q=function(e){let t=e.split(`,`).map(e=>+e),n=t[0]/255,r=t[1]/255,i=t[2]/255,a=Math.max(n,r,i),o=a-Math.min(n,r,i),s,c;return s=o===0?0:a===n?60*((r-i)/o%6):a===r?60*((i-n)/o+2):60*((n-r)/o+4),s<0&&(s+=360),c=a===0?0:o/a,[s,c,a]};new class{sortColor(e){let t=e.map(function(e){let t=q(e.code);return[t[0],t[1],t[2],e]}),n=[];for(let e=0;e<=360;e++){n.push([]);for(let t=0;t<=100;t++){n[e].push([]);for(let r=0;r<=100;r++)n[e][t].push([])}}t.forEach(e=>{let t=Math.round(e[0]),r=Math.round(e[1]*100),i=Math.round(e[2]*100);n[t][r][i].push(e[3])});let r=[];for(let e=0;e<=360;e++)for(let t=0;t<=100;t++)for(let i=0;i<=100;i++)r.push(n[e][t][i]);return r}async getRal(e){return e||={},await(A?.getColorPickerInfo({manufacturer:e.manufacturer,type:`ral`})).then(e=>e)}async getNCS(e){return e||={},await(A?.getColorPickerInfo({manufacturer:e.manufacturer,type:`ncs`})).then(e=>e)}async getSikkens(e){return e||={},await(A?.getColorPickerInfo({manufacturer:e.manufacturer,type:`sikkens`})).then(e=>e)}};var J=new class{async get(e){return A.getPropTransfer(e)}async getDeletable(){return A?.getDeletablePropTransfer()}async traverse(e,t={}){let n=await this.get(t);t.grouped?t.manufacturer?t.manufacturer&&!t.program?await this.programCallback(e,n,t):t.manufacturer&&t.program&&await this.groupCallback(e,n,t):await this.manufacturerCallback(e,n,t):await this.itemCallback(e,n)}async manufacturerCallback(e,t,n){let r=t,i=r?Object.keys(r):[];for(let t of i)e.manufacturerCallback&&await e.manufacturerCallback(t,r[t]),await this.programCallback(e,r[t],Object.assign(n,{manufacturer:t}))}async programCallback(e,t,n){if(n.manufacturer){let r=t,i=Object.keys(r);for(let t of i)e.programCallback&&n.manufacturer&&await e.programCallback(n.manufacturer,t,r[t]),await this.groupCallback(e,r[t],Object.assign(n,{program:t}))}}async groupCallback(e,t,n){if(n.manufacturer&&n.program){let r=t,i=Object.keys(r);for(let t of i)e.groupCallback&&n.manufacturer&&n.program&&await e.groupCallback(n.manufacturer,n.program,t,r[t]),await this.itemCallback(e,r[t])}}async itemCallback(e,t){for(let n of t)e.itemsCallback&&await e.itemsCallback(n)}},Y=class{_cachedManufacturerList;_cachedGroupInformation={};_cachedFinishParams={};async getGroupInformation(e,t){return A?.getMerkmalGroupInformation({manufacturer:e,program:t})}async getFinishParams(e,t,n,r=!1){return r||!this._cachedFinishParams[e]||!this._cachedFinishParams[e][t]||!this._cachedFinishParams[e][t][n||`unknown`]?A?.getFinishParams({manufacturer:e,program:t,association:n}).then(r=>(this._cachedFinishParams[e]||(this._cachedFinishParams[e]={}),this._cachedFinishParams[e][t]||(this._cachedFinishParams[e][t]={}),n&&!this._cachedFinishParams[e][t][n]?this._cachedFinishParams[e][t][n]={}:!n&&!this._cachedFinishParams[e][t].unknown&&(this._cachedFinishParams[e][t].unknown={}),this._cachedFinishParams[e][t][n||`unknown`]=r,this._cachedFinishParams[e][t][n||`unknown`])):Promise.resolve(this._cachedFinishParams[e][t][n||`unknown`])}async _traverse(e,t,n=!1,r){let i=Object.values(t.children);for(let t=0;t<i.length;t++){let a=i[t];e.manufacturerCallback?.(a);let o=Object.values(a.children);for(let t=0;t<o.length;t++){let i=o[t],s=await this.getFinishParams(a.manufacturerName,i.programName);e.programCallback?.(a,i);let c=await this._getGroupInformation(e,a,i,n);c=this.mergeGroupInformation(c);let l=i.propertyKeyOrder||Object.keys(i.children);for(let t=0;t<l.length;t++){let n=l[t],o=i.children[n],s=Object.values(o.children),u=[],d=r?.propertyFilters?.[o.id];if(d){let e=d.filter.itemGroups;if(!(e.length===1&&e[0].filter.length===0)){for(let t of e)for(let e of t.items){let t=s.find(t=>t.key===e);t&&u.push(t)}s=u}}let f;if((s.length>1||s.length===1&&s[0].key.toLowerCase().startsWith(`[dh_ausf`))&&(f=s.find(e=>e.propertyKey===o.currentValue)),e.propertyCallback?.(a,i,o,s,f),c&&e.propertyGroupedCallback){let e=!1;for(let t=0;t<c.length;t++){for(let n of c[t].keys)if(n.key===+o.id){n.progPropertyModel=o,n.progPropertyValueList=s,n.currentValue=f,e=!0;break}if(e)break}}}if(c&&e.propertyGroupedCallback)for(let t=0;t<c.length;t++){let n=c[t];for(let e of l)n.keys.sort((t,n)=>e.endsWith(t.key.toString())?1:e.endsWith(n.key.toString())?-1:0);if(!n?.title){for(let t of n.keys){let r={keys:[t],title:t.progPropertyModel?.name||``,img:n.img,id:n.id};if(!await e.propertyGroupedCallback({manufacturerModel:a,programModel:i,propertyGroup:r,finishParams:s}).then(()=>!0).catch(e=>!1))return!1}continue}if(!await e.propertyGroupedCallback({manufacturerModel:a,programModel:i,propertyGroup:c[t],finishParams:s}).then(()=>!0).catch(e=>!1))return!1}}}return!0}async _getGroupInformation(e,t,n,r=!1){let i=e.propertyGroupedCallback?this._cachedGroupInformation&&r&&this._cachedGroupInformation[t.manufacturerName]&&this._cachedGroupInformation[t.manufacturerName][n.programName]?this._cachedGroupInformation[t.manufacturerName][n.programName]:await this.getGroupInformation(t.manufacturerName,n.programName):void 0;return i&&(i=await this._fetchImages(i,t,n),this._cachedGroupInformation[t.manufacturerName]||(this._cachedGroupInformation[t.manufacturerName]={}),r&&(this._cachedGroupInformation[t.manufacturerName][n.programName]=i)),i}async _fetchImages(e,t,n){return await Promise.all(e.map(async e=>Object.assign(e,{imgSrc:e.img?await A.getMediaUrl(t.manufacturerName,``,`groups`,e.img,!0,!1):void 0})))}mergeGroupInformation(e){if(!e)return;let t={};return e.forEach(e=>{let n=Object.keys(t).find(t=>e.id.startsWith(t))||e.id;t[n]||(t[n]=Object.assign(e,{id:n,title:e.title,img:e.img})),t[n].keys=Array.from(new Map([...t[n].keys||[],...e.keys||[]].map(e=>[e.key,e])).values())}),Object.values(t)}},X=new class extends Y{async get(e){return A.getProgProperties(e)}async findMany(e,t,n,r=!1){let i={};return await this.traverse({propertyCallback:(r,a,o,s,c)=>{n?.indexOf(o.key)!==-1&&r.manufacturerName===e&&a.programName===t&&(i[o.key]=Object.assign(r,a,o,{currentValue:c}))}}),i}async findOne(e,t,n,r=!1){let i;return await this.traverse({propertyCallback:(r,a,o)=>{o.key===n&&r.manufacturerName===e&&a.programName===t&&(i=Object.assign(r,a,o))}}),i}async find(e,t,n,r,i,a){return A?.getProgProperties({manufacturer:e,program:t,useSelection:n,useRelevant:r,fullHierarchy:i,instanceIdents:a})}async findAll(e,t,n){return await this.find(void 0,void 0,e,t,!0,n)}async traverse(e,t){t||={useSelection:!0,useRelevant:!0,fullHierarchy:!0};let n=!!this._cachedManufacturerList,r=this._cachedManufacturerList||await this.get(t),i=n?r:await this.get(t);return this._cachedManufacturerList=n?i:void 0,!i||!i.children?!1:this._traverse(e,i,n,t)}},Z=new class extends Y{async initialize(e){return A.initializePropertyContext(e)}async get(e){return A.getPropertyContext(e)}async dispose(e){return A.disposePropertyContext(e)}async findMany(e,t,n,r){let i={};return await this.traverse({propertyCallback:(e,a,o,s,c)=>{r?.indexOf(o.key)!==-1&&e.manufacturerName===t&&a.programName===n&&(i[o.key]=Object.assign(e,a,o,{currentValue:c}))}},{useRelevant:!0,useSelection:!0,filterStrategy:o.LOCAL}),i}async findOne(e,t,n){let r;return await this.traverse({propertyCallback:(i,a,o)=>{o.key===n&&i.manufacturerName===e&&a.programName===t&&(r=Object.assign(i,a,o))}},{useRelevant:!0,useSelection:!0,filterStrategy:o.LOCAL}),r}async findAll(e,t,n,r){return await this.get({manufacturer:void 0,program:void 0,useSelection:e,useRelevant:t,instanceIdents:n,filterStrategy:r})}async traverse(e,t){t||={useRelevant:!0,useSelection:!0};let n=!!this._cachedManufacturerList,r=this._cachedManufacturerList||await this.get(t),i=n?r:await this.get(t);return this._cachedManufacturerList=n?i:void 0,!i||!i.children?!1:this._traverse(e,i,n)}},Q=new class{_configuration;isInitialized;preventLeaveConfirmation=!1;constructor(){document.addEventListener(`readystatechange`,async()=>{await y.Initialized;let e=await v.fetchJSON(await v.buildRequestURL(`config/layout.json`));console.log(`configuration to construct:`,e);let t=await v.fetchJSON(await v.buildRequestURL(`config/styles.json`));await this.initialize(e,t)}),window.addEventListener(`beforeunload`,e=>{!this.preventLeaveConfirmation&&window.g_configuration?.request_leave_confirmation&&(e.preventDefault(),e.returnValue=``)})}get IsInitialized(){return this.isInitialized}get PreventLeaveConfirmation(){return this.preventLeaveConfirmation}set PreventLeaveConfirmation(e){this.preventLeaveConfirmation=e}get CustomMailService(){return this._configuration?.customMailService}async getLocales(){if(await this.IsInitialized,this._configuration)return this._configuration.locales}async TranslatePageTitle(e){if(e.locales){await V.AddSource(e.locales);let t=V.translate(`furnview-app-title`,document.title);document.title=t,document.querySelector(`title`)?.addEventListener(`template-loader-template-config-applied`,e=>{e.detail[`template-config`].value.length<1&&(document.title=V.translate(`furnview-app-title`,t))})}e[`locale-overrides`]&&await V.AddOverrides(e[`locale-overrides`])}SetDocumentLanguageCode(){let e=V.getLanguage();document&&document.documentElement&&(document.documentElement.lang=e)}loadChildren(e,t){if(e.children){let n=[];for(let r of e.children){let i=this.loadComponent(r);t[e.prepend?`prepend`:`append`](i),n.push(i)}t.dispatchEvent(new CustomEvent(`construction-service-children-loaded`,{detail:{children:n}}))}}async loadStylesheets(e,t){if(!e.customCSS)return;let n=Array.isArray(e.customCSS)?e.customCSS:[e.customCSS],r=Promise.resolve();!t.shadowRoot&&(r=t.getUpdateComplete)!==void 0&&await r;let i=t.shadowRoot;if(i)try{let e=n.map(e=>{let t=new CSSStyleSheet;return t.replaceSync(e),t});i.adoptedStyleSheets=[...i.adoptedStyleSheets,...e]}catch{n.forEach(e=>{let t=document.createElement(`style`);t.textContent=e,i.appendChild(t)})}else n.forEach((n,r)=>{let i=`${e.tag||e?.query||t.tagName.toLowerCase()}-${r}`;if(t.querySelector(`style[data-css-module="${i}"]`))return;let a=document.createElement(`style`);a.setAttribute(`data-css-module`,i),a.textContent=n,t===document.body?document.head.appendChild(a):t.prepend(a)})}loadStyleVars(e,t){e.styleVars&&(Object.keys(e.styleVars).forEach(n=>{n.startsWith(`--`)&&t.style.setProperty(n,e.styleVars?.[n])}),t.requestUpdate&&t.requestUpdate())}loadEvents(e,t){e.events&&Array.isArray(e.events)&&e.events.forEach(e=>{e.id&&t.addEventListener(e.defaultEvent||`click`,async t=>{let n=e.data;t instanceof CustomEvent&&(n=JSON.stringify(n).replace(`!$value`,t.detail.value),n=JSON.parse(n)),await g.emitAsync(e.id,{data:n||{},target:e.target||void 0})})})}loadSceneEvents(e){let t=e[`scene-events`];if(t)for(let e of Object.keys(t)){let n=t[e],r=n.events,i=n[`execute-async`]==null?!1:n[`execute-async`],a=n[`throttling-timeout`],o=P[e];if(!o||typeof o.register!=`function`){console.warn(`scene-events: unbekanntes EventFactoryService-Event "${e}"`);continue}let s=async()=>{for(let e of r)i?g.emitAsync(e.id,{data:e.data||{},target:void 0}):await g.emitAsync(e.id,{data:e.data||{},target:void 0})},c=a===void 0?s:f(s,p(a.baseline,a.min,a.max,a.modifier));o.register(c)}}loadProperties(e,t){let n=e=>{typeof e.value==`boolean`&&e.attribute&&e.value?t.setAttribute(e.key,``):typeof e.value==`boolean`&&e.attribute&&!e.value?t.removeAttribute(e.key,``):typeof e.value==`object`&&e.attribute?t.setAttribute(e.key,JSON.stringify(e.value)):e.attribute?t.setAttribute(e.key,e.value):t[e.key]=e.value};if(e.properties&&t)for(let t of e.properties){let e=t.readyValue;e&&x.IsAppReady.then(()=>{n(Object.assign(t,{value:e.value}))}),n(t)}}loadClasses(e,t){e.classes&&t&&t.classList.add(...e.classes)}loadComponent(e){let t=document.createElement(e.tag);return this.loadClasses(e,t),this.loadProperties(e,t),this.loadStyleVars(e,t),this.loadStylesheets(e,t),this.loadEvents(e,t),t}async loadModule(e,t){let n=this.loadComponent(e);if(t[e.prepend?`prepend`:`append`](n),e.execute&&n&&Object.values(e.execute).forEach(e=>{n[e.name].apply(e.arguments?e.arguments:[])}),n==null||n.getUpdateComplete==null){console.error(`component: [`+e.tag+`] could not be loaded!`);return}if(await n.getUpdateComplete(),e.modules)for(let t of e.modules)await this.loadModule(t,n);if(e.areas)for(let t of e.areas)await this.loadArea(t,n);this.loadChildren(e,n)}async loadArea(e,t){let n=null;e.queryAll?(n=t.querySelectorAll(e.query),(!n||n.length===0)&&t.shadowRoot&&(n=t?.shadowRoot?.querySelectorAll(e.query))):e.query?(n=t.querySelector(e.query),!n&&t.shadowRoot&&(n=t?.shadowRoot?.querySelector(e.query))):n=t;let r=async(e,t,n)=>{if(n){if(e.modules)for(let t of e.modules)await this.loadModule(t,n);if(e.areas)for(let t of e.areas)await this.loadArea(t,n);this.loadProperties(e,n),this.loadStyleVars(e,n),this.loadStylesheets(e,n),this.loadEvents(e,n),this.loadClasses(e,n)}};if(n&&n instanceof NodeList&&n.length)for(let i=0;i<n.length;i++)await r(e,t,n[i]);else await r(e,t,n);n&&n.dispatchEvent&&n.dispatchEvent(new CustomEvent(`area-updated`,{detail:{}}))}async initialize(e,t){if(!document.body.classList.contains(`construction-container`))return;document.body.classList.contains(`initialHide`)&&(document.body.classList.remove(`initialHide`),document.body.classList.add(`hidden`));let n=e;if(n?.mergeErrors)for(let e of n.mergeErrors)console.error(e[`pre-text`],e[`overwriting-object`],e[`post-text`]);let r=JSON.stringify(n);if(r=r.replace(/webui\//g,`webui-content/${new URL(window.location.href).searchParams.get(`token`)}/`),r=r.replace(/:token\//g,`${new URL(window.location.href).searchParams.get(`token`)}/`),n=JSON.parse(r),this._configuration=n,this.loadSceneEvents(n),t)for(let e of t?.styles||[]){let t=document.createElement(`style`);t.appendChild(document.createTextNode(e)),document.head.appendChild(t)}n&&t&&(await this.TranslatePageTitle(n),await this.loadArea(n,document),x.FurnviewWebViewer||x.initialize(void 0),this.SetDocumentLanguageCode(),document.body.classList.remove(`hidden`),l.emit(`construction:initialize`))}};export{k as _,N as a,g as c,H as d,Z as f,W as g,v as h,j as i,I as l,J as m,A as n,P as o,X as p,y as r,h as s,Q as t,V as u,K as v,x as y};
client/vendor/wui.chunk.js.map
Datei wurde gelöscht
configurations/14243/public/layout1.json
@@ -58,5 +58,205 @@
                
            ]
        }
    ]
    ],
    "theme": {
        "colors": {
            "--primary-text-color": {
                "type": "color",
                "default": "#000000",
                "name": "Text Primärfarbe",
                "description": "Dies ist die Primärfarbe der Oberfläche."
            },
            "--primary-button-text-color": {
                "type": "color",
                "default": "#000000",
                "name": "Button-Text Primärfarbe",
                "description": "Dies ist die Primärfarbe der Buttons der Oberfläche."
            },
            "--primary-color": {
                "type": "color",
                "default": "#e4322b",
                "name": "Primärfarbe",
                "description": "Dies ist die Primärfarbe der Oberfläche."
            },
            "--primary-background-color": {
                "type": "color",
                "default": "#e4322b",
                "name": "Hintergrund Primärfarbe",
                "description": "Dies ist die Hintergrund Primärfarbe der Elemente."
            },
            "--hover-background-color": {
                "type": "color",
                "default": "#e4322b",
                "name": "Button Variante 1 Hover",
                "description": "Dies ist die Hoverfarbe 1 der Buttons, falls vorhanden."
            },
            "--hover-background-color-secondary": {
                "type": "color",
                "default": "#dedede",
                "name": "Button Variante 2 Hover",
                "description": "Dies ist die Hoverfarbe 2 der Buttons, falls vorhanden."
            },
            "--click-background-color-secondary": {
                "type": "color",
                "default": "#f0f0f0",
                "name": "Button Variante 2 Click",
                "description": "Dies ist die Clickfarbe 2 der Buttons, falls vorhanden."
            },
            "--bordered-color": {
                "type": "color",
                "default": "#e4322b",
                "name": "Kantenlinienfarbe",
                "description": "Dies ist die Kantenlinienfarbe der Elemente."
            }
        },
        "template": {
            "page-title": {
                "type": "string",
                "value": "Furnview",
                "description": "Title der Seite",
                "name": "Seitentitle"
            },
            "privacy-link": {
                "type": "attribute",
                "attribute": "privacylink",
                "varType": "string",
                "default": "https://www.dh-software.de/kontakt/datenschutz/",
                "name": "Datenschutzbestimmungslink",
                "description": "Link zur Datenschutzbestimmung"
            },
            "shopping-cart": {
                "type": "boolean",
                "default": false,
                "name": "Warenkorb",
                "description": "Warenkorb-Button anzeigen."
            },
            "save-pdf": {
                "type": "boolean",
                "default": true,
                "name": "PDF Speichern",
                "description": "PDF-Speichern Button anzeigen."
            },
            "save-obj": {
                "type": "boolean",
                "default": false,
                "name": "OBJ Speichern",
                "description": "OBJ-Speichern Button anzeigen.",
                "manufactureronly": true
            },
            "save-skp": {
                "type": "boolean",
                "default": false,
                "name": "SKP Speichern",
                "description": "SKP-Speichern Button anzeigen.",
                "manufactureronly": true
            },
            "save-dxf": {
                "type": "boolean",
                "default": false,
                "name": "DXF Speichern",
                "description": "DXF-Speichern Button anzeigen.",
                "manufactureronly": true
            },
            "save-xml": {
                "type": "boolean",
                "default": false,
                "name": "XML Speichern",
                "description": "XML-Speichern Button anzeigen.",
                "manufactureronly": true
            },
            "save-xls": {
                "type": "boolean",
                "default": false,
                "name": "XLS Speichern",
                "description": "XLS-Speichern Button anzeigen."
            },
            "send-inquiry": {
                "type": "boolean",
                "default": false,
                "name": "Anfrage senden",
                "description": "Anfrage senden Button anzeigen."
            },
            "properties-container": [
                {
                    "type": "attribute",
                    "attribute": "disableNotSettable",
                    "varType": "boolean",
                    "default": false,
                    "name": "Nicht Ã¤nderbare Ausführungen deaktivieren",
                    "description": ""
                },
                {
                    "type": "attribute",
                    "attribute": "mode-selection",
                    "varType": "boolean",
                    "default": true,
                    "name": "Pick-Level Dropdown anzeigen",
                    "description": ""
                }
            ],
            "enable-programselection": {
                "type": "boolean",
                "default": false,
                "name": "Modellauswahl aktivieren",
                "description": "Modellauswahl vor der Konfiguration anzeigen."
            },
            "language_picker": {
                "type": "boolean",
                "default": false,
                "name": "Sprachauswahl aktivieren",
                "description": "Sprachauswahl während der Konfiguration möglich"
            },
            "program-selection": [
                {
                    "type": "attribute",
                    "attribute": "override-initial-article",
                    "varType": "boolean",
                    "default": false,
                    "name": "Konfigurator-Artikel automatisch platzieren",
                    "description": "Wenn kein Intial-Artikel angegeben, ersten Konfigurator-Artikel laden"
                },
                {
                    "type": "attribute",
                    "attribute": "prevent-confirmation-modal",
                    "varType": "boolean",
                    "default": false,
                    "name": "Es dürfen mehrere Modelle kombiniert werden",
                    "description": "Zeigt eine bestätigung beim wechseln des Programs an"
                }
            ],
            "card_container_dimension_filter": {
                "type": "boolean",
                "default": true,
                "name": "Dimensionsfilter anzeigen",
                "description": "Dimensionsfilter für die Artikelübersicht ein/ausschalten"
            },
            "filter-popup": {
                "type": "boolean",
                "default": true,
                "name": "Filter popup",
                "description": "Filter als Popup oder inline der Artikelliste anzeigen"
            },
            "enable-article-list": {
                "type": "boolean",
                "default": true,
                "name": "Artikelauflistung anzeigen",
                "description": "Step Artikelauflistung anzeigen."
            },
            "enable-equipment-list": {
                "type": "boolean",
                "default": true,
                "name": "Zubehör anzeigen",
                "description": "Step Zubehör anzeigen."
            }
        },
        "mail": {
            "to": {
                "type": "string",
                "default": "",
                "name": "Auftrags E-Mail Adresse",
                "description": "Standard Auftrags E-Mail Empfänger."
            }
        }
    }
}
configurations/14243/public/layout2.json
@@ -68,5 +68,13 @@
            ],
            "areas": []
        }
    ]
    ],
    "theme": {
        "colors": {
        },
        "template": {
        },
        "mail": {
        }
    }
}