@supersoniks/concorde 3.1.92 → 3.1.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build-infos.json CHANGED
@@ -1 +1 @@
1
- {"date":1755612946}
1
+ {"date":1755681106}
@@ -1,4 +1,4 @@
1
- (function(K){typeof define=="function"&&define.amd?define(K):K()})(function(){"use strict";var Dt,L,E,So,t,X;let K=class Ht{static getLanguage(){const t=document.documentElement.lang;return localStorage.getItem("SonicSelectedLanguage")||t}static getCookies(){return document.cookie.split(";").reduce((t,e)=>{const i=e.indexOf("=");return t[e.substring(0,i).trim()]=e.substring(i+1),t},{})}static everyAncestors(t,e){for(;t;){if(!e(t))return;t=t.parentNode||t.host}}static getScrollableAncestor(t){for(;t;){const e=t;if(e.nodeType===1){const i=window.getComputedStyle(e);if((i==null?void 0:i.overflowY)==="auto"||(i==null?void 0:i.overflowY)==="scroll"||(i==null?void 0:i.overflowY)==="hidden"||(i==null?void 0:i.overflowX)==="auto"||(i==null?void 0:i.overflowX)==="scroll"||(i==null?void 0:i.overflowX)==="hidden")return t}t=t.parentNode||t.host}return null}static getAncestorAttributeValue(t,e){if(!t)return null;for(;!("hasAttribute"in t&&t.hasAttribute(e))&&(t.parentNode||t.host);)t=t.parentNode||t.host;return"hasAttribute"in t?t.getAttribute(e):null}static getApiConfiguration(t){const e=Ht.getAncestorAttributeValue(t,"token"),i=Ht.getAncestorAttributeValue(t,"addHTTPResponse")!=null,s=Ht.getAncestorAttributeValue(t,"serviceURL");let o=null,n=null;const a=Ht.getAncestorAttributeValue(t,"tokenProvider"),c=Ht.getAncestorAttributeValue(t,"eventsApiToken");e||(o=Ht.getAncestorAttributeValue(t,"userName"),n=Ht.getAncestorAttributeValue(t,"password"));const h=Ht.getAncestorAttributeValue(t,"credentials")||void 0,d=t.getAttribute("cache"),p=t.hasAttribute("blockUntilDone");return{serviceURL:s,token:e,userName:o,password:n,authToken:c,tokenProvider:a,addHTTPResponse:i,credentials:h,cache:d,blockUntilDone:p}}static getClosestElement(t,e){for(;!(t.nodeName&&t.nodeName.toLowerCase()===e)&&(t.parentNode||t.host);)t=t.parentNode||t.host;return t.nodeName?t:null}static getClosestForm(t){return Ht.getClosestElement(t,"form")}static async loadJS(t){return new Promise(async i=>{const s=document.createElement("script");s.src=t,s.onload=()=>i(!0),s.onerror=()=>i(!0),document.head.appendChild(s)})}static async loadCSS(t){return new Promise(async i=>{const s=document.createElement("link");s.type="text/css",s.rel="stylesheet",s.href=t,s.onload=()=>i(!0),s.onerror=()=>i(!0),document.head.appendChild(s)})}};const ei=r=>{const t=document.documentElement,e=new MutationObserver(s=>{for(let o of s)o.type==="attributes"&&o.attributeName==="lang"&&r()}),i={attributes:!0,attributeFilter:["lang"]};e.observe(t,i)};let ws=class{static ucFirst(t){return typeof t!="string"?t:t.charAt(0).toUpperCase()+t.substring(1)}static minutesDuration(t,e="",i="long"){e||(e=K.getLanguage());const s=(h,d)=>[Math.floor(h/d),h%d];function o(h,d,p){return new Intl.NumberFormat(h,{style:"unit",unit:d,unitDisplay:p}).format}const[n,a]=s(t,60),c=[];return n&&c.push(o(e,"hour",i)(n)),a&&c.push(o(e,"minute",i)(a)),new Intl.ListFormat(e,{style:"long",type:"conjunction"}).format(c)}static js(t){try{return Function("return "+t)()}catch{return""}}},Eo=class{static async queueTaskPromise(){return new Promise(t=>{window.queueMicrotask(()=>t(null))})}static async delayPromise(t){return new Promise(e=>{setTimeout(e,t)})}},rr="sonic";typeof __SONIC_PREFIX__<"u"&&(rr=__SONIC_PREFIX__);let or=rr.replace(/-([a-z])/g,r=>r[1].toUpperCase());const xs=or.charAt(0).toUpperCase()+or.slice(1);function $s(r){return Object.prototype.hasOwnProperty.call(r,"__value")}function He(r){return typeof r=="object"&&r!=null}let Se="sonic";typeof __SONIC_PREFIX__>"u"&&(Se="sonic"+Math.floor(Math.random()*1e6));const si=Se=="sonic"?"publisher-proxies-data":Se+"-publisher-proxies-data";let ii=(Dt=class{constructor(t,e,i){for(this._proxies_=new Map,this._is_savable_=!1,this._expiration_delay_=1e3*60*60*12,this._invalidate_on_page_show_=!1,this._invalidateListeners_=new Set,this._formInvalidateListeners_=new Set,this._assignListeners_=new Set,this._mutationListeners_=new Set,this._fillListeners_=new Set,this._templateFillListeners_=new Set,this._lockInternalMutationPublishing_=!1,this._instanceCounter_=0,this._assignmentId_=0,this._value_=t,this.parent=e||null,this._parentKey_=i,this.root=this,this._instanceCounter_=0;this.root.parent;)this.root=this.root.parent}delete(){var t;for(const e in this._proxies_.keys())e!="_parent_"&&((t=this._proxies_.get(e))==null||t.delete());this._invalidateListeners_.clear(),this._formInvalidateListeners_.clear(),this._assignListeners_.clear(),this._mutationListeners_.clear(),this._fillListeners_.clear(),this._templateFillListeners_.clear(),this._proxies_.clear(),Dt.instances.delete(this._instanceCounter_)}hasListener(){return this._templateFillListeners_.size>0||this._assignListeners_.size>0||this._invalidateListeners_.size>0||this._formInvalidateListeners_.size>0||this._mutationListeners_.size>0||this._fillListeners_.size>0}_publishInternalMutation_(t=!1){if(this._mutationListeners_.forEach(e=>e()),this._is_savable_&&!N.changed){N.changed=!0,N.saveId++;const e=N.saveId;setTimeout(()=>N.getInstance().saveToLocalStorage(e),1e3)}t||this.parent&&this.parent._publishInternalMutation_()}async _publishAssignement_(t=!1){if(this._assignmentId_++,this._assignmentId_!==this._assignmentId_)return;const i=this.get();this._assignListeners_.forEach(s=>{s(i)}),this._publishInternalMutation_(t)}_publishInvalidation_(){this._invalidateListeners_.forEach(t=>t())}_publishFormInvalidation_(){this._formInvalidateListeners_.forEach(t=>t())}_publishDynamicFilling_(t,e){this._fillListeners_.forEach(i=>{i[t]!==e&&(i[t]=e)}),this._publishTemplateFilling_(t,e)}_publishTemplateFilling_(t,e){this._templateFillListeners_.forEach(i=>{const s=Object.getOwnPropertyDescriptor(i,t);s&&!s.set&&!s.writable||(i.propertyMap&&i.propertyMap[t]&&(t=i.propertyMap[t]),typeof i[t]<"u"&&i[t]!==e&&(i[t]=e))})}onAssign(t,e=!0){typeof t=="function"&&(this._assignListeners_.has(t)||(this._assignListeners_.add(t),e&&t(this.get())))}offAssign(t){this._assignListeners_.delete(t)}onInvalidate(t){typeof t=="function"&&this._invalidateListeners_.add(t)}offInvalidate(t){typeof t=="function"&&this._invalidateListeners_.delete(t)}invalidate(){this._publishInvalidation_()}onFormInvalidate(t){typeof t=="function"&&this._formInvalidateListeners_.add(t)}offFormInvalidate(t){typeof t=="function"&&this._formInvalidateListeners_.delete(t)}invalidateForm(){this._publishFormInvalidation_()}onInternalMutation(t){typeof t=="function"&&(this._mutationListeners_.add(t),t())}offInternalMutation(t){typeof t=="function"&&this._mutationListeners_.delete(t)}startTemplateFilling(t){if(this._templateFillListeners_.add(t),typeof this._value_=="object")for(const e in this._value_){let i=e;const s=this._value_[e];t.propertyMap&&t.propertyMap[e]&&(i=t.propertyMap[e]),typeof t[e]<"u"&&t[e]!==s&&(t[i]=s)}}stopTemplateFilling(t){this._templateFillListeners_.delete(t)}startDynamicFilling(t){this._fillListeners_.add(t);for(const e in this._value_){const i=this._value_[e];t[e]!==i&&(t[e]=i)}}stopDynamicFilling(t){this._fillListeners_.delete(t)}set(t,e=!1){var s,o,n;if(this._value_===t||this._value_&&t&&$s(this._value_)&&$s(t)&&this._value_.__value===t.__value)return!0;this._value_=He(t)?t:{__value:t},this._cachedGet_=void 0;const i=$s(this._value_);if(this._parentKey_&&this.parent){const a=$s(this._value_)?this._value_.__value:this._value_;if(((s=this.parent)==null?void 0:s.get())==null&&((o=this.parent)==null?void 0:o.get())==null)if(isNaN(Number(this._parentKey_)))this.parent.set({[this._parentKey_]:a});else{const c=[];c[Number(this._parentKey_)]=a,this.parent.set(c)}else this.parent._value_[this._parentKey_]=a}if(i)return this._proxies_.forEach((a,c)=>{c!="_parent_"&&(a.set(null),this._publishDynamicFilling_(c,null))}),this._publishAssignement_(e),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_.__value),!0;for(const a in this._value_)this._value_[a]===void 0&&delete this._value_[a];if(this._proxies_.forEach((a,c)=>{const h=this._value_[c];c!="_parent_"&&h===void 0&&h!==null&&isNaN(Number(c))&&(a.set(null),this._publishDynamicFilling_(c,null))}),this._publishAssignement_(),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_),He(this._value_))for(const a in this._value_){const c=t[a],d=He(c)?c:{__value:c};if(!this._proxies_.has(a)){this._publishDynamicFilling_(a,c);continue}(n=this._proxies_.get(a))==null||n.set(d,!0),this._publishDynamicFilling_(a,c)}return!0}get(){if(this._cachedGet_!==void 0)return this._cachedGet_;if(N.modifiedCollectore.length>0&&N.modifiedCollectore[0].add(this),Object.prototype.hasOwnProperty.call(this._value_,"__value")){const t=this._value_.__value;return this._cachedGet_=t??null}return this._cachedGet_=this._value_!=null?this._value_:null}get $tag(){return this._instanceCounter_||(Dt.instancesCounter++,this._instanceCounter_=Dt.instancesCounter),Dt.instances.set(this._instanceCounter_,this),"<"+Se+'-publisher-proxy publisher="'+this._instanceCounter_+'"></'+Se+"-publisher-proxy>"}},Dt.instances=new Map,Dt.instancesCounter=0,Dt),N=(L=class{constructor(){if(this.enabledLocaStorageProxies=[],this.publishers=new Map,this.localStorageData={},this.isLocalStrorageReady=null,this.initialisedData=[],L.instance!=null)throw"Singleton / use getInstance";L.instance=this,this.isLocalStrorageReady=this.cleanStorageData()}invalidateAll(){this.publishers.forEach(t=>{t._invalidate_on_page_show_&&t.invalidate()})}async cleanStorageData(){return new Promise(t=>{(async()=>{try{let i=localStorage.getItem(si),s=null;if(i&&(s=await this.decompress(i,"gzip")),s)try{this.localStorageData=JSON.parse(s)}catch{this.localStorageData={}}else i=await this.compress("{}","gzip"),localStorage.setItem(si,i),this.localStorageData={};const o=1e3*60*60*12;for(const n in this.localStorageData){const a=this.localStorageData[n],c=new Date().getTime()-(a.expirationDelayMs||o);a.lastModifiationMS<c&&delete this.localStorageData[n]}t(!0)}catch{window.requestAnimationFrame(()=>{t(!1)}),console.warn("no publisher cache in this browser")}})()})}static getInstance(t){if(t){const e=L.instances.get(t);return e||(console.warn("No PublisherManager instance registered with id:",t,"creating new one"),new L)}return L.instance==null?new L:L.instance}static registerInstance(t,e){L.instances.has(t)&&console.warn("PublisherManager instance already registered with id: ",t),L.instances.set(t,e)}static get(t,e){return L.getInstance().get(t,e)}static collectModifiedPublisher(){L.modifiedCollectore.unshift(new Set)}static getModifiedPublishers(){return L.modifiedCollectore.shift()}static delete(t){return t?L.getInstance().delete(t):!1}async setLocalData(t,e){var i;await this.isLocalStrorageReady,t.set(((i=this.localStorageData[e+"¤lang_"+K.getLanguage()])==null?void 0:i.data)||t.get())}get(t,e){const i=(e==null?void 0:e.localStorageMode)==="enabled",s=(e==null?void 0:e.invalidateOnPageShow)===!0;if(!this.publishers.has(t)){const n={},a=new Be(n);this.set(t,a)}const o=this.publishers.get(t);return i&&this.initialisedData.indexOf(t)===-1&&(e!=null&&e.expirationDelayMs&&(o._expiration_delay_=e.expirationDelayMs),o._is_savable_=!0,this.initialisedData.push(t),this.setLocalData(o,t)),s&&(o._invalidate_on_page_show_=s),this.publishers.get(t)}set(t,e){this.publishers.set(t,e)}delete(t){return this.publishers.has(t)?(this.publishers.delete(t),!0):!1}async saveToLocalStorage(t=0){if(!(t!==L.saveId&&t%10!=0))try{if(!L.changed||L.saving)return;L.saving=!0,L.changed=!1;const e=Array.from(this.publishers.keys());let i=!1;for(const s of e){const o=this.publishers.get(s);if(!(o!=null&&o._is_savable_))continue;const n=o==null?void 0:o.get();n&&(this.localStorageData[s+"¤lang_"+K.getLanguage()]={lastModifiationMS:new Date().getTime(),expirationDelayMs:o._expiration_delay_,data:n},i=!0)}if(i){const s=await this.compress(JSON.stringify(this.localStorageData),"gzip");localStorage.setItem(si,s)}if(L.saving=!1,L.changed){L.saveId++;const s=L.saveId;setTimeout(()=>this.saveToLocalStorage(s),1e3)}}catch{L.saving=!1}}async compress(t,e){const i=new TextEncoder().encode(t),s=window,o=new s.CompressionStream(e),n=o.writable.getWriter();n.write(i),n.close();const a=await new Response(o.readable).arrayBuffer(),c=new Uint8Array(a);let h="";for(let d=0;d<c.length;d++)h+=String.fromCharCode(c[d]);return btoa(h)}async decompress(t,e){const i=atob(t),o=Uint8Array.from(i,d=>d.charCodeAt(0)).buffer,n=window,a=new n.DecompressionStream(e),c=a.writable.getWriter();c.write(o),c.close();const h=await new Response(a.readable).arrayBuffer();return new TextDecoder().decode(h)}},L.buildDate="Tue Aug 19 2025 16:15:46 GMT+0200 (Central European Summer Time)",L.changed=!1,L.saving=!1,L.saveId=0,L.instance=null,L.instances=new Map,L.modifiedCollectore=[],L);if(typeof window<"u"){const r=window;r[xs+"PublisherManager"]=r[xs+"PublisherManager"]||N}const No=new Set(["invalidate","onInvalidate","offInvalidate","invalidateForm","onFormInvalidate","offFormInvalidate","onAssign","offAssign","startDynamicFilling","stopDynamicFilling","startTemplateFilling","stopTemplateFilling","onInternalMutation","offInternalMutation","set","get","$tag","_cachedGet_","_templateFillListeners_","_fillListeners_","_assignListeners_","_invalidateListeners_","_formInvalidateListeners_","_publishInternalMutation_","hasListener","delete","_mutationListeners_","_publishDynamicFilling_","_publishInvalidation_","_publishFormInvalidation_","_publishTemplateFilling_","_publishAssignement_","_proxies_","parent","_parentKey_","_value_","_is_savable_","_expiration_delay_","_lockInternalMutationPublishing_","_instanceCounter_","_assignmentId_","_invalidate_on_page_show_"]);class Be extends ii{constructor(t,e=null,i){super(t,e,i);const s=new Proxy(this,{get:function(o,n){if(No.has(n))return o[n];if(n==Symbol.toPrimitive)return()=>s.get();if(!o._proxies_.has(n)){const a=o._value_[n],c=new Be(He(a)?a:{__value:a},o,n);c._proxies_.set("_parent_",s),o._proxies_.set(n,c)}return o._proxies_.get(n)},set:function(o,n,a){var h;if(n=="_value_")return o._value_=a,!0;if(n=="_cachedGet_")return o._cachedGet_=a,!0;if(n=="_assignmentId_")return o._assignmentId_=a,!0;if(n=="_is_savable_")return o._is_savable_=a,!0;if(n=="_expiration_delay_")return o._expiration_delay_=a,!0;if(n=="_invalidate_on_page_show_")return o._invalidate_on_page_show_=a,!0;if(n=="_instanceCounter_")return o._instanceCounter_=a,!0;if(!o._proxies_.has(n)){const d=new Be({},o,n);d._proxies_.set("_parent_",s),o._proxies_.set(n,d)}return o._value_[n]!==a&&(o._value_[n]=a,o._publishDynamicFilling_(n,a),(h=o._proxies_.get(n))==null||h.set(He(a)?a:{__value:a})),!0},deleteProperty:function(o,n){var a;return o._publishDynamicFilling_(n,null),(a=o._proxies_.get(n))==null||a.set(null),delete o._value_[n]},has:function(o,n){return n in o._value_&&n!="_lockInternalMutationPublishing_"},defineProperty:function(o,n,a){return a&&"value"in a&&(o._value_[n]=a.value),!0},getOwnPropertyDescriptor:function(o,n){return{enumerable:!0,configurable:!0}},ownKeys:function(o){return o._value_.__value?Object.keys(o._value_.__value):Object.keys(o._value_)}});return s}getProperty(t,e){return t[e]}}class To extends HTMLElement{constructor(){super(),this.publisherId="",this.onAssign=t=>{this.innerHTML=t.toString()}}connectedCallback(){var t;this.publisherId=this.getAttribute("publisher")||"",this.publisher=ii.instances.get(parseInt(this.publisherId)),(t=this.publisher)==null||t.onAssign(this.onAssign)}disconnectedCallback(){var t;(t=this.publisher)==null||t.offAssign(this.onAssign)}}try{customElements.define(Se+"-publisher-proxy",To)}catch{}window.addEventListener("pageshow",r=>{r.persisted&&N.getInstance().invalidateAll()});let Ps=(E=class{static disable(){this.enabled&&(this.enabled=!1,Array.from(E.observedElements.keys()).forEach(t=>E.unObserve(t)))}static observe(t){if(!t||!E.enabled||E.observedElements.has(t))return;const e=new MutationObserver(E.onMutation),i={};i.childList=!0,i.subtree=!0,i.attributes=!0,i.attributeFilter=["data-bind"],e.observe(t,i),t.querySelectorAll("[data-bind]").forEach(s=>E.addPublisherListeners(s)),E.observedElements.set(t,e)}static unObserve(t){if(!t)return;const e=this.observedElements.get(t);e&&(e.disconnect(),t.querySelectorAll("[data-bind]").forEach(i=>E.removePublisherListeners(i)))}static onAdded(t){t.hasAttribute&&t.hasAttribute("data-bind")&&E.addPublisherListeners(t),t.querySelectorAll?t.querySelectorAll("[data-bind]").forEach(e=>E.addPublisherListeners(e)):t.childNodes.forEach(e=>E.onAdded(e))}static onRemoved(t){t.hasAttribute&&t.hasAttribute("data-bind")&&E.removePublisherListeners(t),t.querySelectorAll?t.querySelectorAll("[data-bind]").forEach(e=>E.removePublisherListeners(e)):t.childNodes.forEach(e=>E.onRemoved(e))}static onMutation(t){for(const e of t)switch(e.type){case"attributes":E.addPublisherListeners(e.target);break;case"childList":e.addedNodes.forEach(i=>{E.onAdded(i)}),e.removedNodes.forEach(i=>{E.onRemoved(i)});break}}static removePublisherListeners(t){const e=E.publisherListeners.get(t);e&&(E.publisherListeners.delete(t),e.forEach(i=>{var s;(s=i.publisher)==null||s.offAssign(i.onAssign)}))}static getVariablesDescriptor(t){let e=t.match(/(\$(?:\w+\\?\.?)+)/g);return e?e=e.map(i=>i.replace("$","")):e=[t],e=e.filter(i=>i.length>0),{expression:t.replace("\\",""),variables:e.map(i=>i.split(/\b\.\b/).map(s=>s.replace("\\","")))}}static getDataBindItems(t){return"attributes"in t?Array.from(t.attributes).filter(e=>e.name.indexOf("::")==0).map(e=>({propertyToUpdate:e.name.substring(2).replace(/-((html)|\w)/g,s=>s.substring(1).toUpperCase()),bindedVariablesDescriptor:E.getVariablesDescriptor(e.value)})):[]}static getSubPublisher(t,e){if(!e)return t;for(const i of e)if(i!="_self_"){if(!t)return null;t=t[i]}return t}static addPublisherListeners(t){E.removePublisherListeners(t);const e=K.getAncestorAttributeValue(t.parentNode||t.host||t,"dataProvider");if(!e)return;const i=N.getInstance().get(e),s=E.getDataBindItems(t),o=[];s.forEach(n=>{const a=n.bindedVariablesDescriptor,c=n.propertyToUpdate;for(const h of a.variables){const d=h;let p=i;p=E.getSubPublisher(i,d);const m=t,v={publisher:p,onAssign:()=>{const b=a.variables.map(D=>{var f;return(f=E.getSubPublisher(i,D))==null?void 0:f.get()});let y=a.expression,_=!1;if(b.length==1&&a.variables[0].join(".")==y.substring(1)){let D=b[0];D===null&&(D=""),m[c]=D;return}for(let D=0;D<b.length;D++){let f=b[D];const u=a.variables[D];f===null&&(_=!0,f=void 0),y=y.replace("$"+u.join("."),f)}if(y.indexOf("|")!=-1){const D=y.indexOf("|");if(D==0)y=ws.js(y.substring(1));else{const f=y.substring(0,D),u=y.substring(D+1),w=ws[f];y=_?"":w?w(u):y}}else y=_?"":y;m[c]=y}};p==null||p.onAssign(v.onAssign),o.push(v)}}),E.publisherListeners.set(t,o)}},E.observedElements=new Map,E.enabled=!0,E.publisherListeners=new Map,E);Ps.observe(document.documentElement),window.SonicDataBindObserver||(window.SonicDataBindObserver=Ps);let tt=class Zt{static shallowEqual(t,e,i=!0){const s=Object.keys(t),o=Object.keys(e);if(s.length!==o.length&&i)return!1;for(const n of s){const a=t[n],c=e[n];if(i?a!==c:a!=c)return!1}return!0}static deepEqual(t,e,i=!0){const s=Object.keys(t),o=Object.keys(e);if(s.length!==o.length&&i)return!1;for(const n of s){const a=t[n],c=e[n],h=Zt.isObject(a)&&Zt.isObject(c),d=i?a!==c:a!=c;if(h&&!Zt.deepEqual(a,c)||!h&&d)return!1}return!0}static isObject(t){return t!=null&&typeof t=="object"}static isUndefindOrNull(t){return t==null}static isEmpty(t){return Zt.isUndefindOrNull(t)?!0:Object.keys(t).length===0}static traverse(t,e,i=!1){for(const s of e){const o=t[s];if(o===void 0)return;i&&Zt.isObject(o)?t=Object.assign(Array.isArray(o)?[]:{},t,o):t=t[s]}return t}static traverseDotNotation(t,e,i=!1){return Zt.traverse(t,e.split("."),i)}static getURLSearchArray(t,e=""){let i=[];for(let s in t){const o=t[s];e&&(s=e+"["+s+"]"),Zt.isObject(o)?i=[...i,...this.getURLSearchArray(o,s)]:i.push(`${s}=${o}`)}return i}static getURLSearchString(t){return Zt.getURLSearchArray(t,"").join("&")}};const pt=tt.traverseDotNotation;/**
1
+ (function(K){typeof define=="function"&&define.amd?define(K):K()})(function(){"use strict";var Dt,L,E,So,t,X;let K=class Ht{static getLanguage(){const t=document.documentElement.lang;return localStorage.getItem("SonicSelectedLanguage")||t}static getCookies(){return document.cookie.split(";").reduce((t,e)=>{const i=e.indexOf("=");return t[e.substring(0,i).trim()]=e.substring(i+1),t},{})}static everyAncestors(t,e){for(;t;){if(!e(t))return;t=t.parentNode||t.host}}static getScrollableAncestor(t){for(;t;){const e=t;if(e.nodeType===1){const i=window.getComputedStyle(e);if((i==null?void 0:i.overflowY)==="auto"||(i==null?void 0:i.overflowY)==="scroll"||(i==null?void 0:i.overflowY)==="hidden"||(i==null?void 0:i.overflowX)==="auto"||(i==null?void 0:i.overflowX)==="scroll"||(i==null?void 0:i.overflowX)==="hidden")return t}t=t.parentNode||t.host}return null}static getAncestorAttributeValue(t,e){if(!t)return null;for(;!("hasAttribute"in t&&t.hasAttribute(e))&&(t.parentNode||t.host);)t=t.parentNode||t.host;return"hasAttribute"in t?t.getAttribute(e):null}static getApiConfiguration(t){const e=Ht.getAncestorAttributeValue(t,"token"),i=Ht.getAncestorAttributeValue(t,"addHTTPResponse")!=null,s=Ht.getAncestorAttributeValue(t,"serviceURL");let o=null,n=null;const a=Ht.getAncestorAttributeValue(t,"tokenProvider"),c=Ht.getAncestorAttributeValue(t,"eventsApiToken");e||(o=Ht.getAncestorAttributeValue(t,"userName"),n=Ht.getAncestorAttributeValue(t,"password"));const h=Ht.getAncestorAttributeValue(t,"credentials")||void 0,d=t.getAttribute("cache"),p=t.hasAttribute("blockUntilDone");return{serviceURL:s,token:e,userName:o,password:n,authToken:c,tokenProvider:a,addHTTPResponse:i,credentials:h,cache:d,blockUntilDone:p}}static getClosestElement(t,e){for(;!(t.nodeName&&t.nodeName.toLowerCase()===e)&&(t.parentNode||t.host);)t=t.parentNode||t.host;return t.nodeName?t:null}static getClosestForm(t){return Ht.getClosestElement(t,"form")}static async loadJS(t){return new Promise(async i=>{const s=document.createElement("script");s.src=t,s.onload=()=>i(!0),s.onerror=()=>i(!0),document.head.appendChild(s)})}static async loadCSS(t){return new Promise(async i=>{const s=document.createElement("link");s.type="text/css",s.rel="stylesheet",s.href=t,s.onload=()=>i(!0),s.onerror=()=>i(!0),document.head.appendChild(s)})}};const ei=r=>{const t=document.documentElement,e=new MutationObserver(s=>{for(let o of s)o.type==="attributes"&&o.attributeName==="lang"&&r()}),i={attributes:!0,attributeFilter:["lang"]};e.observe(t,i)};let ws=class{static ucFirst(t){return typeof t!="string"?t:t.charAt(0).toUpperCase()+t.substring(1)}static minutesDuration(t,e="",i="long"){e||(e=K.getLanguage());const s=(h,d)=>[Math.floor(h/d),h%d];function o(h,d,p){return new Intl.NumberFormat(h,{style:"unit",unit:d,unitDisplay:p}).format}const[n,a]=s(t,60),c=[];return n&&c.push(o(e,"hour",i)(n)),a&&c.push(o(e,"minute",i)(a)),new Intl.ListFormat(e,{style:"long",type:"conjunction"}).format(c)}static js(t){try{return Function("return "+t)()}catch{return""}}},Eo=class{static async queueTaskPromise(){return new Promise(t=>{window.queueMicrotask(()=>t(null))})}static async delayPromise(t){return new Promise(e=>{setTimeout(e,t)})}},rr="sonic";typeof __SONIC_PREFIX__<"u"&&(rr=__SONIC_PREFIX__);let or=rr.replace(/-([a-z])/g,r=>r[1].toUpperCase());const xs=or.charAt(0).toUpperCase()+or.slice(1);function $s(r){return Object.prototype.hasOwnProperty.call(r,"__value")}function He(r){return typeof r=="object"&&r!=null}let Se="sonic";typeof __SONIC_PREFIX__>"u"&&(Se="sonic"+Math.floor(Math.random()*1e6));const si=Se=="sonic"?"publisher-proxies-data":Se+"-publisher-proxies-data";let ii=(Dt=class{constructor(t,e,i){for(this._proxies_=new Map,this._is_savable_=!1,this._expiration_delay_=1e3*60*60*12,this._invalidate_on_page_show_=!1,this._invalidateListeners_=new Set,this._formInvalidateListeners_=new Set,this._assignListeners_=new Set,this._mutationListeners_=new Set,this._fillListeners_=new Set,this._templateFillListeners_=new Set,this._lockInternalMutationPublishing_=!1,this._instanceCounter_=0,this._assignmentId_=0,this._value_=t,this.parent=e||null,this._parentKey_=i,this.root=this,this._instanceCounter_=0;this.root.parent;)this.root=this.root.parent}delete(){var t;for(const e in this._proxies_.keys())e!="_parent_"&&((t=this._proxies_.get(e))==null||t.delete());this._invalidateListeners_.clear(),this._formInvalidateListeners_.clear(),this._assignListeners_.clear(),this._mutationListeners_.clear(),this._fillListeners_.clear(),this._templateFillListeners_.clear(),this._proxies_.clear(),Dt.instances.delete(this._instanceCounter_)}hasListener(){return this._templateFillListeners_.size>0||this._assignListeners_.size>0||this._invalidateListeners_.size>0||this._formInvalidateListeners_.size>0||this._mutationListeners_.size>0||this._fillListeners_.size>0}_publishInternalMutation_(t=!1){if(this._mutationListeners_.forEach(e=>e()),this._is_savable_&&!N.changed){N.changed=!0,N.saveId++;const e=N.saveId;setTimeout(()=>N.getInstance().saveToLocalStorage(e),1e3)}t||this.parent&&this.parent._publishInternalMutation_()}async _publishAssignement_(t=!1){if(this._assignmentId_++,this._assignmentId_!==this._assignmentId_)return;const i=this.get();this._assignListeners_.forEach(s=>{s(i)}),this._publishInternalMutation_(t)}_publishInvalidation_(){this._invalidateListeners_.forEach(t=>t())}_publishFormInvalidation_(){this._formInvalidateListeners_.forEach(t=>t())}_publishDynamicFilling_(t,e){this._fillListeners_.forEach(i=>{i[t]!==e&&(i[t]=e)}),this._publishTemplateFilling_(t,e)}_publishTemplateFilling_(t,e){this._templateFillListeners_.forEach(i=>{const s=Object.getOwnPropertyDescriptor(i,t);s&&!s.set&&!s.writable||(i.propertyMap&&i.propertyMap[t]&&(t=i.propertyMap[t]),typeof i[t]<"u"&&i[t]!==e&&(i[t]=e))})}onAssign(t,e=!0){typeof t=="function"&&(this._assignListeners_.has(t)||(this._assignListeners_.add(t),e&&t(this.get())))}offAssign(t){this._assignListeners_.delete(t)}onInvalidate(t){typeof t=="function"&&this._invalidateListeners_.add(t)}offInvalidate(t){typeof t=="function"&&this._invalidateListeners_.delete(t)}invalidate(){this._publishInvalidation_()}onFormInvalidate(t){typeof t=="function"&&this._formInvalidateListeners_.add(t)}offFormInvalidate(t){typeof t=="function"&&this._formInvalidateListeners_.delete(t)}invalidateForm(){this._publishFormInvalidation_()}onInternalMutation(t){typeof t=="function"&&(this._mutationListeners_.add(t),t())}offInternalMutation(t){typeof t=="function"&&this._mutationListeners_.delete(t)}startTemplateFilling(t){if(this._templateFillListeners_.add(t),typeof this._value_=="object")for(const e in this._value_){let i=e;const s=this._value_[e];t.propertyMap&&t.propertyMap[e]&&(i=t.propertyMap[e]),typeof t[e]<"u"&&t[e]!==s&&(t[i]=s)}}stopTemplateFilling(t){this._templateFillListeners_.delete(t)}startDynamicFilling(t){this._fillListeners_.add(t);for(const e in this._value_){const i=this._value_[e];t[e]!==i&&(t[e]=i)}}stopDynamicFilling(t){this._fillListeners_.delete(t)}set(t,e=!1){var s,o,n;if(this._value_===t||this._value_&&t&&$s(this._value_)&&$s(t)&&this._value_.__value===t.__value)return!0;this._value_=He(t)?t:{__value:t},this._cachedGet_=void 0;const i=$s(this._value_);if(this._parentKey_&&this.parent){const a=$s(this._value_)?this._value_.__value:this._value_;if(((s=this.parent)==null?void 0:s.get())==null&&((o=this.parent)==null?void 0:o.get())==null)if(isNaN(Number(this._parentKey_)))this.parent.set({[this._parentKey_]:a});else{const c=[];c[Number(this._parentKey_)]=a,this.parent.set(c)}else this.parent._value_[this._parentKey_]=a}if(i)return this._proxies_.forEach((a,c)=>{c!="_parent_"&&(a.set(null),this._publishDynamicFilling_(c,null))}),this._publishAssignement_(e),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_.__value),!0;for(const a in this._value_)this._value_[a]===void 0&&delete this._value_[a];if(this._proxies_.forEach((a,c)=>{const h=this._value_[c];c!="_parent_"&&h===void 0&&h!==null&&isNaN(Number(c))&&(a.set(null),this._publishDynamicFilling_(c,null))}),this._publishAssignement_(),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_),He(this._value_))for(const a in this._value_){const c=t[a],d=He(c)?c:{__value:c};if(!this._proxies_.has(a)){this._publishDynamicFilling_(a,c);continue}(n=this._proxies_.get(a))==null||n.set(d,!0),this._publishDynamicFilling_(a,c)}return!0}get(){if(this._cachedGet_!==void 0)return this._cachedGet_;if(N.modifiedCollectore.length>0&&N.modifiedCollectore[0].add(this),Object.prototype.hasOwnProperty.call(this._value_,"__value")){const t=this._value_.__value;return this._cachedGet_=t??null}return this._cachedGet_=this._value_!=null?this._value_:null}get $tag(){return this._instanceCounter_||(Dt.instancesCounter++,this._instanceCounter_=Dt.instancesCounter),Dt.instances.set(this._instanceCounter_,this),"<"+Se+'-publisher-proxy publisher="'+this._instanceCounter_+'"></'+Se+"-publisher-proxy>"}},Dt.instances=new Map,Dt.instancesCounter=0,Dt),N=(L=class{constructor(){if(this.enabledLocaStorageProxies=[],this.publishers=new Map,this.localStorageData={},this.isLocalStrorageReady=null,this.initialisedData=[],L.instance!=null)throw"Singleton / use getInstance";L.instance=this,this.isLocalStrorageReady=this.cleanStorageData()}invalidateAll(){this.publishers.forEach(t=>{t._invalidate_on_page_show_&&t.invalidate()})}async cleanStorageData(){return new Promise(t=>{(async()=>{try{let i=localStorage.getItem(si),s=null;if(i&&(s=await this.decompress(i,"gzip")),s)try{this.localStorageData=JSON.parse(s)}catch{this.localStorageData={}}else i=await this.compress("{}","gzip"),localStorage.setItem(si,i),this.localStorageData={};const o=1e3*60*60*12;for(const n in this.localStorageData){const a=this.localStorageData[n],c=new Date().getTime()-(a.expirationDelayMs||o);a.lastModifiationMS<c&&delete this.localStorageData[n]}t(!0)}catch{window.requestAnimationFrame(()=>{t(!1)}),console.warn("no publisher cache in this browser")}})()})}static getInstance(t){if(t){const e=L.instances.get(t);return e||(console.warn("No PublisherManager instance registered with id:",t,"creating new one"),new L)}return L.instance==null?new L:L.instance}static registerInstance(t,e){L.instances.has(t)&&console.warn("PublisherManager instance already registered with id: ",t),L.instances.set(t,e)}static get(t,e){return L.getInstance().get(t,e)}static collectModifiedPublisher(){L.modifiedCollectore.unshift(new Set)}static getModifiedPublishers(){return L.modifiedCollectore.shift()}static delete(t){return t?L.getInstance().delete(t):!1}async setLocalData(t,e){var i;await this.isLocalStrorageReady,t.set(((i=this.localStorageData[e+"¤lang_"+K.getLanguage()])==null?void 0:i.data)||t.get())}get(t,e){const i=(e==null?void 0:e.localStorageMode)==="enabled",s=(e==null?void 0:e.invalidateOnPageShow)===!0;if(!this.publishers.has(t)){const n={},a=new Be(n);this.set(t,a)}const o=this.publishers.get(t);return i&&this.initialisedData.indexOf(t)===-1&&(e!=null&&e.expirationDelayMs&&(o._expiration_delay_=e.expirationDelayMs),o._is_savable_=!0,this.initialisedData.push(t),this.setLocalData(o,t)),s&&(o._invalidate_on_page_show_=s),this.publishers.get(t)}set(t,e){this.publishers.set(t,e)}delete(t){return this.publishers.has(t)?(this.publishers.delete(t),!0):!1}async saveToLocalStorage(t=0){if(!(t!==L.saveId&&t%10!=0))try{if(!L.changed||L.saving)return;L.saving=!0,L.changed=!1;const e=Array.from(this.publishers.keys());let i=!1;for(const s of e){const o=this.publishers.get(s);if(!(o!=null&&o._is_savable_))continue;const n=o==null?void 0:o.get();n&&(this.localStorageData[s+"¤lang_"+K.getLanguage()]={lastModifiationMS:new Date().getTime(),expirationDelayMs:o._expiration_delay_,data:n},i=!0)}if(i){const s=await this.compress(JSON.stringify(this.localStorageData),"gzip");localStorage.setItem(si,s)}if(L.saving=!1,L.changed){L.saveId++;const s=L.saveId;setTimeout(()=>this.saveToLocalStorage(s),1e3)}}catch{L.saving=!1}}async compress(t,e){const i=new TextEncoder().encode(t),s=window,o=new s.CompressionStream(e),n=o.writable.getWriter();n.write(i),n.close();const a=await new Response(o.readable).arrayBuffer(),c=new Uint8Array(a);let h="";for(let d=0;d<c.length;d++)h+=String.fromCharCode(c[d]);return btoa(h)}async decompress(t,e){const i=atob(t),o=Uint8Array.from(i,d=>d.charCodeAt(0)).buffer,n=window,a=new n.DecompressionStream(e),c=a.writable.getWriter();c.write(o),c.close();const h=await new Response(a.readable).arrayBuffer();return new TextDecoder().decode(h)}},L.buildDate="Wed Aug 20 2025 11:11:45 GMT+0200 (Central European Summer Time)",L.changed=!1,L.saving=!1,L.saveId=0,L.instance=null,L.instances=new Map,L.modifiedCollectore=[],L);if(typeof window<"u"){const r=window;r[xs+"PublisherManager"]=r[xs+"PublisherManager"]||N}const No=new Set(["invalidate","onInvalidate","offInvalidate","invalidateForm","onFormInvalidate","offFormInvalidate","onAssign","offAssign","startDynamicFilling","stopDynamicFilling","startTemplateFilling","stopTemplateFilling","onInternalMutation","offInternalMutation","set","get","$tag","_cachedGet_","_templateFillListeners_","_fillListeners_","_assignListeners_","_invalidateListeners_","_formInvalidateListeners_","_publishInternalMutation_","hasListener","delete","_mutationListeners_","_publishDynamicFilling_","_publishInvalidation_","_publishFormInvalidation_","_publishTemplateFilling_","_publishAssignement_","_proxies_","parent","_parentKey_","_value_","_is_savable_","_expiration_delay_","_lockInternalMutationPublishing_","_instanceCounter_","_assignmentId_","_invalidate_on_page_show_"]);class Be extends ii{constructor(t,e=null,i){super(t,e,i);const s=new Proxy(this,{get:function(o,n){if(No.has(n))return o[n];if(n==Symbol.toPrimitive)return()=>s.get();if(!o._proxies_.has(n)){const a=o._value_[n],c=new Be(He(a)?a:{__value:a},o,n);c._proxies_.set("_parent_",s),o._proxies_.set(n,c)}return o._proxies_.get(n)},set:function(o,n,a){var h;if(n=="_value_")return o._value_=a,!0;if(n=="_cachedGet_")return o._cachedGet_=a,!0;if(n=="_assignmentId_")return o._assignmentId_=a,!0;if(n=="_is_savable_")return o._is_savable_=a,!0;if(n=="_expiration_delay_")return o._expiration_delay_=a,!0;if(n=="_invalidate_on_page_show_")return o._invalidate_on_page_show_=a,!0;if(n=="_instanceCounter_")return o._instanceCounter_=a,!0;if(!o._proxies_.has(n)){const d=new Be({},o,n);d._proxies_.set("_parent_",s),o._proxies_.set(n,d)}return o._value_[n]!==a&&(o._value_[n]=a,o._publishDynamicFilling_(n,a),(h=o._proxies_.get(n))==null||h.set(He(a)?a:{__value:a})),!0},deleteProperty:function(o,n){var a;return o._publishDynamicFilling_(n,null),(a=o._proxies_.get(n))==null||a.set(null),delete o._value_[n]},has:function(o,n){return n in o._value_&&n!="_lockInternalMutationPublishing_"},defineProperty:function(o,n,a){return a&&"value"in a&&(o._value_[n]=a.value),!0},getOwnPropertyDescriptor:function(o,n){return{enumerable:!0,configurable:!0}},ownKeys:function(o){return o._value_.__value?Object.keys(o._value_.__value):Object.keys(o._value_)}});return s}getProperty(t,e){return t[e]}}class To extends HTMLElement{constructor(){super(),this.publisherId="",this.onAssign=t=>{this.innerHTML=t.toString()}}connectedCallback(){var t;this.publisherId=this.getAttribute("publisher")||"",this.publisher=ii.instances.get(parseInt(this.publisherId)),(t=this.publisher)==null||t.onAssign(this.onAssign)}disconnectedCallback(){var t;(t=this.publisher)==null||t.offAssign(this.onAssign)}}try{customElements.define(Se+"-publisher-proxy",To)}catch{}window.addEventListener("pageshow",r=>{r.persisted&&N.getInstance().invalidateAll()});let Ps=(E=class{static disable(){this.enabled&&(this.enabled=!1,Array.from(E.observedElements.keys()).forEach(t=>E.unObserve(t)))}static observe(t){if(!t||!E.enabled||E.observedElements.has(t))return;const e=new MutationObserver(E.onMutation),i={};i.childList=!0,i.subtree=!0,i.attributes=!0,i.attributeFilter=["data-bind"],e.observe(t,i),t.querySelectorAll("[data-bind]").forEach(s=>E.addPublisherListeners(s)),E.observedElements.set(t,e)}static unObserve(t){if(!t)return;const e=this.observedElements.get(t);e&&(e.disconnect(),t.querySelectorAll("[data-bind]").forEach(i=>E.removePublisherListeners(i)))}static onAdded(t){t.hasAttribute&&t.hasAttribute("data-bind")&&E.addPublisherListeners(t),t.querySelectorAll?t.querySelectorAll("[data-bind]").forEach(e=>E.addPublisherListeners(e)):t.childNodes.forEach(e=>E.onAdded(e))}static onRemoved(t){t.hasAttribute&&t.hasAttribute("data-bind")&&E.removePublisherListeners(t),t.querySelectorAll?t.querySelectorAll("[data-bind]").forEach(e=>E.removePublisherListeners(e)):t.childNodes.forEach(e=>E.onRemoved(e))}static onMutation(t){for(const e of t)switch(e.type){case"attributes":E.addPublisherListeners(e.target);break;case"childList":e.addedNodes.forEach(i=>{E.onAdded(i)}),e.removedNodes.forEach(i=>{E.onRemoved(i)});break}}static removePublisherListeners(t){const e=E.publisherListeners.get(t);e&&(E.publisherListeners.delete(t),e.forEach(i=>{var s;(s=i.publisher)==null||s.offAssign(i.onAssign)}))}static getVariablesDescriptor(t){let e=t.match(/(\$(?:\w+\\?\.?)+)/g);return e?e=e.map(i=>i.replace("$","")):e=[t],e=e.filter(i=>i.length>0),{expression:t.replace("\\",""),variables:e.map(i=>i.split(/\b\.\b/).map(s=>s.replace("\\","")))}}static getDataBindItems(t){return"attributes"in t?Array.from(t.attributes).filter(e=>e.name.indexOf("::")==0).map(e=>({propertyToUpdate:e.name.substring(2).replace(/-((html)|\w)/g,s=>s.substring(1).toUpperCase()),bindedVariablesDescriptor:E.getVariablesDescriptor(e.value)})):[]}static getSubPublisher(t,e){if(!e)return t;for(const i of e)if(i!="_self_"){if(!t)return null;t=t[i]}return t}static addPublisherListeners(t){E.removePublisherListeners(t);const e=K.getAncestorAttributeValue(t.parentNode||t.host||t,"dataProvider");if(!e)return;const i=N.getInstance().get(e),s=E.getDataBindItems(t),o=[];s.forEach(n=>{const a=n.bindedVariablesDescriptor,c=n.propertyToUpdate;for(const h of a.variables){const d=h;let p=i;p=E.getSubPublisher(i,d);const m=t,v={publisher:p,onAssign:()=>{const b=a.variables.map(D=>{var f;return(f=E.getSubPublisher(i,D))==null?void 0:f.get()});let y=a.expression,_=!1;if(b.length==1&&a.variables[0].join(".")==y.substring(1)){let D=b[0];D===null&&(D=""),m[c]=D;return}for(let D=0;D<b.length;D++){let f=b[D];const u=a.variables[D];f===null&&(_=!0,f=void 0),y=y.replace("$"+u.join("."),f)}if(y.indexOf("|")!=-1){const D=y.indexOf("|");if(D==0)y=ws.js(y.substring(1));else{const f=y.substring(0,D),u=y.substring(D+1),w=ws[f];y=_?"":w?w(u):y}}else y=_?"":y;m[c]=y}};p==null||p.onAssign(v.onAssign),o.push(v)}}),E.publisherListeners.set(t,o)}},E.observedElements=new Map,E.enabled=!0,E.publisherListeners=new Map,E);Ps.observe(document.documentElement),window.SonicDataBindObserver||(window.SonicDataBindObserver=Ps);let tt=class Zt{static shallowEqual(t,e,i=!0){const s=Object.keys(t),o=Object.keys(e);if(s.length!==o.length&&i)return!1;for(const n of s){const a=t[n],c=e[n];if(i?a!==c:a!=c)return!1}return!0}static deepEqual(t,e,i=!0){const s=Object.keys(t),o=Object.keys(e);if(s.length!==o.length&&i)return!1;for(const n of s){const a=t[n],c=e[n],h=Zt.isObject(a)&&Zt.isObject(c),d=i?a!==c:a!=c;if(h&&!Zt.deepEqual(a,c)||!h&&d)return!1}return!0}static isObject(t){return t!=null&&typeof t=="object"}static isUndefindOrNull(t){return t==null}static isEmpty(t){return Zt.isUndefindOrNull(t)?!0:Object.keys(t).length===0}static traverse(t,e,i=!1){for(const s of e){const o=t[s];if(o===void 0)return;i&&Zt.isObject(o)?t=Object.assign(Array.isArray(o)?[]:{},t,o):t=t[s]}return t}static traverseDotNotation(t,e,i=!1){return Zt.traverse(t,e.split("."),i)}static getURLSearchArray(t,e=""){let i=[];for(let s in t){const o=t[s];e&&(s=e+"["+s+"]"),Zt.isObject(o)?i=[...i,...this.getURLSearchArray(o,s)]:i.push(`${s}=${o}`)}return i}static getURLSearchString(t){return Zt.getURLSearchArray(t,"").join("&")}};const pt=tt.traverseDotNotation;/**
2
2
  * @license
3
3
  * Copyright 2017 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
@@ -3073,7 +3073,7 @@ ${this.value}</textarea
3073
3073
  font-weight: var(--sc-headings-font-weight, 700);
3074
3074
  font-style: var(--sc-headings-font-style, normal);
3075
3075
  }
3076
- `],Wi=uh([$(fh)],Wi);var gh=Object.defineProperty,mh=Object.getOwnPropertyDescriptor,st=(r,t,e,i)=>{for(var s=i>1?void 0:i?mh(t,e):t,o=r.length-1,n;o>=0;o--)(n=r[o])&&(s=(i?n(t,e,s):n(s))||s);return i&&s&&gh(t,e,s),s};const wo="sonic-modal";let F=class extends G(x){constructor(){super(...arguments),this.forceAction=!1,this.removeOnHide=!1,this.removeHashOnHide=!1,this.align="left",this.padding="var(--sc_py) var(--sc_px)",this.maxWidth="var(--sc_max-w)",this.maxHeight="var(--sc_max-h)",this.width="100%",this.height="fit-content",this.zIndex="var(--sc_z-index)",this.effect="slide",this.fullScreen=!1,this.visible=!1,this.closeOnLocationChange=!1,this.location="",this._animationState="hidden",this._animationDuration=400}static create(r){const t=document.createElement(wo);return t.options=r,r.removeHashOnHide===!0&&t.setAttribute("removeHashOnHide","true"),r.removeOnHide===!0&&t.setAttribute("removeOnHide","true"),r.closeOnLocationChange===!0&&t.setAttribute("closeOnLocationChange","true"),r.maxWidth&&(t.maxWidth=r==null?void 0:r.maxWidth),r.width&&(t.width=r==null?void 0:r.width),r.maxHeight&&(t.maxHeight=r==null?void 0:r.maxHeight),r.height&&(t.height=r==null?void 0:r.height),r.forceAction&&(t.forceAction=!0),r.fullScreen&&(t.fullScreen=r==null?void 0:r.fullScreen),r.effect&&(t.effect=r==null?void 0:r.effect),r.paddingX&&t.style.setProperty("--sc_px",r==null?void 0:r.paddingX),r.paddingY&&t.style.setProperty("--sc_py",r==null?void 0:r.paddingY),r.zIndex&&t.style.setProperty("--sc_z-index",r==null?void 0:r.zIndex),_t.getPopContainer().appendChild(t),t.updateComplete.then(()=>{t.show()}),t}connectedCallback(){F.modals.push(this),it.onChange(this),super.connectedCallback()}disconnectedCallback(){it.offChange(this),F.modals.splice(F.modals.indexOf(this),1),this.removeEventListener("keydown",this.handleEscape),super.disconnectedCallback()}firstUpdated(){this.addEventListener("keydown",this.handleEscape)}willUpdate(r){if(this.closeOnLocationChange&&r.has("location")){const t=r.get("location");t&&this.location&&this.location!==t&&setTimeout(()=>{this.hide()},50)}super.willUpdate(r)}updated(r){const t=!r.get("visible")&&this.visible,e=r.get("visible")&&!this.visible;t&&this._animationState==="hidden"?this.show():e&&this._animationState==="visible"&&this.hide()}handleOverlayClick(r){!this.forceAction&&this._animationState==="visible"&&this.hide()}render(){const r={maxWidth:this.maxWidth,maxHeight:this.maxHeight,width:this.width,height:this.height,zIndex:this.zIndex,borderRadius:this.fullScreen?"0":"var(--sc_rounded)",pointerEvents:this._animationState==="visible"?"auto":"none"},t={padding:this.padding},e={pointerEvents:this._animationState==="visible"?"auto":"none"};return g`
3076
+ `],Wi=uh([$(fh)],Wi);var gh=Object.defineProperty,mh=Object.getOwnPropertyDescriptor,st=(r,t,e,i)=>{for(var s=i>1?void 0:i?mh(t,e):t,o=r.length-1,n;o>=0;o--)(n=r[o])&&(s=(i?n(t,e,s):n(s))||s);return i&&s&&gh(t,e,s),s};const wo="sonic-modal";let F=class extends G(x){constructor(){super(...arguments),this.forceAction=!1,this.removeOnHide=!1,this.removeHashOnHide=!1,this.align="left",this.padding="var(--sc_py) var(--sc_px)",this.maxWidth="var(--sc_max-w)",this.maxHeight="var(--sc_max-h)",this.width="100%",this.height="fit-content",this.zIndex="var(--sc_z-index)",this.effect="slide",this.fullScreen=!1,this.visible=!1,this.closeOnLocationChange=!1,this.location="",this._animationState="hidden",this._animationDuration=300,this._animationConfig={quartOut:"cubic-bezier(0.165, 0.84, 0.44, 1)",quadOut:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",linear:"linear",translateY:"translateY(2.5rem)",duration:300}}static create(r){const t=document.createElement(wo);return t.options=r,r.removeHashOnHide===!0&&t.setAttribute("removeHashOnHide","true"),r.removeOnHide===!0&&t.setAttribute("removeOnHide","true"),r.closeOnLocationChange===!0&&t.setAttribute("closeOnLocationChange","true"),r.maxWidth&&(t.maxWidth=r==null?void 0:r.maxWidth),r.width&&(t.width=r==null?void 0:r.width),r.maxHeight&&(t.maxHeight=r==null?void 0:r.maxHeight),r.height&&(t.height=r==null?void 0:r.height),r.forceAction&&(t.forceAction=!0),r.fullScreen&&(t.fullScreen=r==null?void 0:r.fullScreen),r.effect&&(t.effect=r==null?void 0:r.effect),r.paddingX&&t.style.setProperty("--sc_px",r==null?void 0:r.paddingX),r.paddingY&&t.style.setProperty("--sc_py",r==null?void 0:r.paddingY),r.zIndex&&t.style.setProperty("--sc_z-index",r==null?void 0:r.zIndex),_t.getPopContainer().appendChild(t),t.updateComplete.then(()=>{t.show()}),t}connectedCallback(){F.modals.push(this),it.onChange(this),super.connectedCallback()}disconnectedCallback(){it.offChange(this),F.modals.splice(F.modals.indexOf(this),1),this.removeEventListener("keydown",this.handleEscape),super.disconnectedCallback()}firstUpdated(){this.addEventListener("keydown",this.handleEscape)}willUpdate(r){if(this.closeOnLocationChange&&r.has("location")){const t=r.get("location");t&&this.location&&this.location!==t&&setTimeout(()=>{this.hide()},50)}super.willUpdate(r)}updated(r){const t=!r.get("visible")&&this.visible,e=r.get("visible")&&!this.visible;t&&this._animationState==="hidden"?this.show():e&&this._animationState==="visible"&&this.hide()}handleOverlayClick(r){!this.forceAction&&this._animationState==="visible"&&this.hide()}render(){const r={maxWidth:this.maxWidth,maxHeight:this.maxHeight,width:this.width,height:this.height,zIndex:this.zIndex,borderRadius:this.fullScreen?"0":"var(--sc_rounded)",pointerEvents:this._animationState==="visible"?"auto":"none"},t={padding:this.padding},e={pointerEvents:this._animationState==="visible"?"auto":"none"};return g`
3077
3077
  <div
3078
3078
  id="backdrop"
3079
3079
  @click=${this.handleOverlayClick}
@@ -3093,7 +3093,7 @@ ${this.value}</textarea
3093
3093
  <slot></slot>
3094
3094
  </div>`:A}
3095
3095
  </dialog>
3096
- `}modalFragment(r){var i;const t=(i=this.options)==null?void 0:i[r];if(!t)return A;let e;switch(t instanceof Object?e=t:e=z(t),r){case"title":return g`<sonic-modal-title>${e}</sonic-modal-title>`;case"subtitle":return g`<sonic-modal-subtitle>${e}</sonic-modal-subtitle>`;case"content":return g`<sonic-modal-content>${e}</sonic-modal-content>`;case"actions":return g`<sonic-modal-actions>${e}</sonic-modal-actions>`;default:return A}}async show(){this._modalElement.show(),this._animationState="in",this.animateIn(this._modalElement,this.effect).then(()=>{this._animationState="visible",this.visible=!0,this.dispatchEvent(new CustomEvent("show")),this._modalElement.focus()})}async hide(){this._animationState="out",this.dispatchEvent(new CustomEvent("hide")),await Promise.all([this.animateOut(this._modalElement,this.effect)]).then(()=>{this._modalElement.close(),this._animationState="hidden",this.visible=!1,this.hasAttribute("resetDataProviderOnHide")&&rt.get(this.getAttribute("resetDataProviderOnHide")).set({}),this.removeHashOnHide&&window.history.replaceState({},"",window.location.pathname),this.removeOnHide&&this.remove(),this.dispatchEvent(new CustomEvent("hidden"))})}dispose(){this.hide(),this.remove()}static disposeAll(){F.modals.forEach(r=>{r.dispose()})}handleEscape(r){if(r.key==="Escape"){r.preventDefault();const t=F.modals.filter(e=>e._animationState!=="hidden"&&!e.forceAction);t.length>0&&t[t.length-1].hide()}}animateIn(r,t="slide"){return new Promise(e=>{if(!r)return e();this.style.setProperty("--sc_backdrop-opacity","0.8");let i;t==="slide"?i=r.animate([{opacity:0,transform:"translateY(3.25rem)"},{opacity:1,transform:"translateY(0)"}],{duration:this._animationDuration,easing:"cubic-bezier(0.250, 0.250, 0.420, 1.225)",fill:"forwards",delay:80}):i=r.animate([{opacity:0},{opacity:1}],{duration:this._animationDuration,fill:"forwards"}),i.onfinish=()=>e()})}animateOut(r,t="slide"){return new Promise(e=>{if(!r)return e();this.style.setProperty("--sc_backdrop-opacity","0");let i;t==="slide"?i=r.animate([{opacity:1,transform:"translateY(0)"},{opacity:0,transform:"translateY(3.25rem)"}],{duration:this._animationDuration,easing:"cubic-bezier(0.250, 0.250, 0.420, 1.225)",fill:"forwards"}):i=r.animate([{opacity:1},{opacity:0}],{duration:this._animationDuration,fill:"forwards"}),i.onfinish=()=>e()})}};F.styles=[cs,P`
3096
+ `}modalFragment(r){var i;const t=(i=this.options)==null?void 0:i[r];if(!t)return A;let e;switch(t instanceof Object?e=t:e=z(t),r){case"title":return g`<sonic-modal-title>${e}</sonic-modal-title>`;case"subtitle":return g`<sonic-modal-subtitle>${e}</sonic-modal-subtitle>`;case"content":return g`<sonic-modal-content>${e}</sonic-modal-content>`;case"actions":return g`<sonic-modal-actions>${e}</sonic-modal-actions>`;default:return A}}async show(){this._modalElement.show(),this._animationState="in",await this.animation("in"),this._animationState="visible",this.visible=!0,this.dispatchEvent(new CustomEvent("show")),this._modalElement.focus()}async hide(){this._animationState="out",this.dispatchEvent(new CustomEvent("hide")),await this.animation("out"),this._modalElement.close(),this._animationState="hidden",this.visible=!1,this.hasAttribute("resetDataProviderOnHide")&&rt.get(this.getAttribute("resetDataProviderOnHide")).set({}),this.removeHashOnHide&&window.history.replaceState({},"",window.location.pathname),this.removeOnHide&&this.remove(),this.dispatchEvent(new CustomEvent("hidden"))}async dispose(){await this.hide(),this.remove()}static disposeAll(){F.modals.forEach(r=>{r.dispose()})}handleEscape(r){if(r.key==="Escape"){r.preventDefault();const t=F.modals.filter(e=>e._animationState!=="hidden"&&!e.forceAction);t.length>0&&t[t.length-1].hide()}}animation(r){return new Promise(t=>{const{quartOut:e,linear:i,translateY:s,duration:o,quadOut:n}=this._animationConfig,a=this._modalElement;if(!a)return t();const c=r==="in";c?this.style.setProperty("--sc_backdrop-opacity","0.8"):setTimeout(()=>{this.style.setProperty("--sc_backdrop-opacity","0")},300);const h=[];this.effect==="slide"&&(h.push(a.animate([{transform:c?s:"translateY(0)"},{transform:c?"translateY(0)":s}],{duration:o,easing:c?e:n,fill:"both",delay:c?100:0})),h.push(a.animate([{opacity:c?0:1},{opacity:c?1:0}],{duration:o,easing:i,fill:"both",delay:c?100:0}))),Promise.all(h.map(d=>d.finished)).then(()=>t())})}};F.styles=[cs,P`
3097
3097
  :host {
3098
3098
  --sc_py: 2.5rem;
3099
3099
  --sc_px: 1.5rem;
@@ -3134,7 +3134,7 @@ ${this.value}</textarea
3134
3134
  --sc_overlay-bg,
3135
3135
  var(--sc-base-200, rgba(0, 0, 0, 0.12))
3136
3136
  );
3137
- transition: opacity 0.2s ease-in-out;
3137
+ transition: opacity 0.15s linear;
3138
3138
  inset: 0;
3139
3139
  position: fixed;
3140
3140
  z-index: var(--sc_z-index);
@@ -3151,7 +3151,7 @@ ${this.value}</textarea
3151
3151
  ::slotted(sonic-modal-subtitle),
3152
3152
  sonic-modal-subtitle {
3153
3153
  margin-top: -0.9rem;
3154
- margin-bottom: 1.25rem;
3154
+ margin-bottom: 2.5rem;
3155
3155
  }
3156
3156
 
3157
3157
  @media (max-width: 767.5px) {
@@ -3173,7 +3173,7 @@ ${this.value}</textarea
3173
3173
  /* Layout des éléments slottés */
3174
3174
  ::slotted(sonic-modal-title),
3175
3175
  sonic-modal-title {
3176
- margin-bottom: 1.25rem;
3176
+ margin-bottom: 2.5rem;
3177
3177
  }
3178
3178
  :host([align="left"]) ::slotted(sonic-modal-title),
3179
3179
  :host([align="left"]) sonic-modal-title {
@@ -559,7 +559,7 @@ let T = (k = class {
559
559
  const h = await new Response(a.readable).arrayBuffer();
560
560
  return new TextDecoder().decode(h);
561
561
  }
562
- }, k.buildDate = "Tue Aug 19 2025 16:15:46 GMT+0200 (Central European Summer Time)", k.changed = !1, k.saving = !1, k.saveId = 0, k.instance = null, k.instances = /* @__PURE__ */ new Map(), k.modifiedCollectore = [], k);
562
+ }, k.buildDate = "Wed Aug 20 2025 11:11:45 GMT+0200 (Central European Summer Time)", k.changed = !1, k.saving = !1, k.saveId = 0, k.instance = null, k.instances = /* @__PURE__ */ new Map(), k.modifiedCollectore = [], k);
563
563
  if (typeof window < "u") {
564
564
  const r = window;
565
565
  r[Os + "PublisherManager"] = r[Os + "PublisherManager"] || T;
@@ -10936,7 +10936,13 @@ var Fh = Object.defineProperty, zh = Object.getOwnPropertyDescriptor, st = (r, t
10936
10936
  const So = "sonic-modal";
10937
10937
  let F = class extends G(x) {
10938
10938
  constructor() {
10939
- super(...arguments), this.forceAction = !1, this.removeOnHide = !1, this.removeHashOnHide = !1, this.align = "left", this.padding = "var(--sc_py) var(--sc_px)", this.maxWidth = "var(--sc_max-w)", this.maxHeight = "var(--sc_max-h)", this.width = "100%", this.height = "fit-content", this.zIndex = "var(--sc_z-index)", this.effect = "slide", this.fullScreen = !1, this.visible = !1, this.closeOnLocationChange = !1, this.location = "", this._animationState = "hidden", this._animationDuration = 400;
10939
+ super(...arguments), this.forceAction = !1, this.removeOnHide = !1, this.removeHashOnHide = !1, this.align = "left", this.padding = "var(--sc_py) var(--sc_px)", this.maxWidth = "var(--sc_max-w)", this.maxHeight = "var(--sc_max-h)", this.width = "100%", this.height = "fit-content", this.zIndex = "var(--sc_z-index)", this.effect = "slide", this.fullScreen = !1, this.visible = !1, this.closeOnLocationChange = !1, this.location = "", this._animationState = "hidden", this._animationDuration = 300, this._animationConfig = {
10940
+ quartOut: "cubic-bezier(0.165, 0.84, 0.44, 1)",
10941
+ quadOut: "cubic-bezier(0.25, 0.46, 0.45, 0.94)",
10942
+ linear: "linear",
10943
+ translateY: "translateY(2.5rem)",
10944
+ duration: 300
10945
+ };
10940
10946
  }
10941
10947
  static create(r) {
10942
10948
  const t = document.createElement(So);
@@ -11036,23 +11042,17 @@ let F = class extends G(x) {
11036
11042
  }
11037
11043
  // Show the modal
11038
11044
  async show() {
11039
- this._modalElement.show(), this._animationState = "in", this.animateIn(this._modalElement, this.effect).then(() => {
11040
- this._animationState = "visible", this.visible = !0, this.dispatchEvent(new CustomEvent("show")), this._modalElement.focus();
11041
- });
11045
+ this._modalElement.show(), this._animationState = "in", await this.animation("in"), this._animationState = "visible", this.visible = !0, this.dispatchEvent(new CustomEvent("show")), this._modalElement.focus();
11042
11046
  }
11043
11047
  // Hide the modal
11044
11048
  async hide() {
11045
- this._animationState = "out", this.dispatchEvent(new CustomEvent("hide")), await Promise.all([this.animateOut(this._modalElement, this.effect)]).then(
11046
- () => {
11047
- this._modalElement.close(), this._animationState = "hidden", this.visible = !1, this.hasAttribute("resetDataProviderOnHide") && rt.get(
11048
- this.getAttribute("resetDataProviderOnHide")
11049
- ).set({}), this.removeHashOnHide && window.history.replaceState({}, "", window.location.pathname), this.removeOnHide && this.remove(), this.dispatchEvent(new CustomEvent("hidden"));
11050
- }
11051
- );
11049
+ this._animationState = "out", this.dispatchEvent(new CustomEvent("hide")), await this.animation("out"), this._modalElement.close(), this._animationState = "hidden", this.visible = !1, this.hasAttribute("resetDataProviderOnHide") && rt.get(this.getAttribute("resetDataProviderOnHide")).set(
11050
+ {}
11051
+ ), this.removeHashOnHide && window.history.replaceState({}, "", window.location.pathname), this.removeOnHide && this.remove(), this.dispatchEvent(new CustomEvent("hidden"));
11052
11052
  }
11053
11053
  // Hide and remove the modal
11054
- dispose() {
11055
- this.hide(), this.remove();
11054
+ async dispose() {
11055
+ await this.hide(), this.remove();
11056
11056
  }
11057
11057
  // Hide and remove all modals
11058
11058
  static disposeAll() {
@@ -11073,59 +11073,41 @@ let F = class extends G(x) {
11073
11073
  // ------------------------
11074
11074
  // ANIMATIONS
11075
11075
  // ------------------------
11076
- animateIn(r, t = "slide") {
11077
- return new Promise((e) => {
11078
- if (!r) return e();
11079
- this.style.setProperty("--sc_backdrop-opacity", "0.8");
11080
- let i;
11081
- t === "slide" ? i = r.animate(
11082
- [
11083
- {
11084
- opacity: 0,
11085
- transform: "translateY(3.25rem)"
11086
- },
11076
+ animation(r) {
11077
+ return new Promise((t) => {
11078
+ const { quartOut: e, linear: i, translateY: s, duration: o, quadOut: n } = this._animationConfig, a = this._modalElement;
11079
+ if (!a) return t();
11080
+ const c = r === "in";
11081
+ c ? this.style.setProperty("--sc_backdrop-opacity", "0.8") : setTimeout(() => {
11082
+ this.style.setProperty("--sc_backdrop-opacity", "0");
11083
+ }, 300);
11084
+ const h = [];
11085
+ this.effect === "slide" && (h.push(
11086
+ a.animate(
11087
+ [
11088
+ { transform: c ? s : "translateY(0)" },
11089
+ { transform: c ? "translateY(0)" : s }
11090
+ ],
11087
11091
  {
11088
- opacity: 1,
11089
- transform: "translateY(0)"
11092
+ duration: o,
11093
+ easing: c ? e : n,
11094
+ fill: "both",
11095
+ delay: c ? 100 : 0
11090
11096
  }
11091
- ],
11092
- {
11093
- duration: this._animationDuration,
11094
- easing: "cubic-bezier(0.250, 0.250, 0.420, 1.225)",
11095
- fill: "forwards",
11096
- delay: 80
11097
- }
11098
- ) : i = r.animate([{ opacity: 0 }, { opacity: 1 }], {
11099
- duration: this._animationDuration,
11100
- fill: "forwards"
11101
- }), i.onfinish = () => e();
11102
- });
11103
- }
11104
- animateOut(r, t = "slide") {
11105
- return new Promise((e) => {
11106
- if (!r) return e();
11107
- this.style.setProperty("--sc_backdrop-opacity", "0");
11108
- let i;
11109
- t === "slide" ? i = r.animate(
11110
- [
11111
- {
11112
- opacity: 1,
11113
- transform: "translateY(0)"
11114
- },
11097
+ )
11098
+ ), h.push(
11099
+ a.animate(
11100
+ [{ opacity: c ? 0 : 1 }, { opacity: c ? 1 : 0 }],
11115
11101
  {
11116
- opacity: 0,
11117
- transform: "translateY(3.25rem)"
11102
+ duration: o,
11103
+ easing: i,
11104
+ fill: "both",
11105
+ delay: c ? 100 : 0
11118
11106
  }
11119
- ],
11120
- {
11121
- duration: this._animationDuration,
11122
- easing: "cubic-bezier(0.250, 0.250, 0.420, 1.225)",
11123
- fill: "forwards"
11124
- }
11125
- ) : i = r.animate([{ opacity: 1 }, { opacity: 0 }], {
11126
- duration: this._animationDuration,
11127
- fill: "forwards"
11128
- }), i.onfinish = () => e();
11107
+ )
11108
+ )), Promise.all(h.map((d) => d.finished)).then(
11109
+ () => t()
11110
+ );
11129
11111
  });
11130
11112
  }
11131
11113
  };
@@ -11172,7 +11154,7 @@ F.styles = [
11172
11154
  --sc_overlay-bg,
11173
11155
  var(--sc-base-200, rgba(0, 0, 0, 0.12))
11174
11156
  );
11175
- transition: opacity 0.2s ease-in-out;
11157
+ transition: opacity 0.15s linear;
11176
11158
  inset: 0;
11177
11159
  position: fixed;
11178
11160
  z-index: var(--sc_z-index);
@@ -11189,7 +11171,7 @@ F.styles = [
11189
11171
  ::slotted(sonic-modal-subtitle),
11190
11172
  sonic-modal-subtitle {
11191
11173
  margin-top: -0.9rem;
11192
- margin-bottom: 1.25rem;
11174
+ margin-bottom: 2.5rem;
11193
11175
  }
11194
11176
 
11195
11177
  @media (max-width: 767.5px) {
@@ -11211,7 +11193,7 @@ F.styles = [
11211
11193
  /* Layout des éléments slottés */
11212
11194
  ::slotted(sonic-modal-title),
11213
11195
  sonic-modal-title {
11214
- margin-bottom: 1.25rem;
11196
+ margin-bottom: 2.5rem;
11215
11197
  }
11216
11198
  :host([align="left"]) ::slotted(sonic-modal-title),
11217
11199
  :host([align="left"]) sonic-modal-title {
@@ -1,4 +1,4 @@
1
- (function(K){typeof define=="function"&&define.amd?define(K):K()})(function(){"use strict";var Dt,L,E,So,t,X;let K=class Ht{static getLanguage(){const t=document.documentElement.lang;return localStorage.getItem("SonicSelectedLanguage")||t}static getCookies(){return document.cookie.split(";").reduce((t,e)=>{const i=e.indexOf("=");return t[e.substring(0,i).trim()]=e.substring(i+1),t},{})}static everyAncestors(t,e){for(;t;){if(!e(t))return;t=t.parentNode||t.host}}static getScrollableAncestor(t){for(;t;){const e=t;if(e.nodeType===1){const i=window.getComputedStyle(e);if((i==null?void 0:i.overflowY)==="auto"||(i==null?void 0:i.overflowY)==="scroll"||(i==null?void 0:i.overflowY)==="hidden"||(i==null?void 0:i.overflowX)==="auto"||(i==null?void 0:i.overflowX)==="scroll"||(i==null?void 0:i.overflowX)==="hidden")return t}t=t.parentNode||t.host}return null}static getAncestorAttributeValue(t,e){if(!t)return null;for(;!("hasAttribute"in t&&t.hasAttribute(e))&&(t.parentNode||t.host);)t=t.parentNode||t.host;return"hasAttribute"in t?t.getAttribute(e):null}static getApiConfiguration(t){const e=Ht.getAncestorAttributeValue(t,"token"),i=Ht.getAncestorAttributeValue(t,"addHTTPResponse")!=null,s=Ht.getAncestorAttributeValue(t,"serviceURL");let o=null,n=null;const a=Ht.getAncestorAttributeValue(t,"tokenProvider"),c=Ht.getAncestorAttributeValue(t,"eventsApiToken");e||(o=Ht.getAncestorAttributeValue(t,"userName"),n=Ht.getAncestorAttributeValue(t,"password"));const h=Ht.getAncestorAttributeValue(t,"credentials")||void 0,d=t.getAttribute("cache"),p=t.hasAttribute("blockUntilDone");return{serviceURL:s,token:e,userName:o,password:n,authToken:c,tokenProvider:a,addHTTPResponse:i,credentials:h,cache:d,blockUntilDone:p}}static getClosestElement(t,e){for(;!(t.nodeName&&t.nodeName.toLowerCase()===e)&&(t.parentNode||t.host);)t=t.parentNode||t.host;return t.nodeName?t:null}static getClosestForm(t){return Ht.getClosestElement(t,"form")}static async loadJS(t){return new Promise(async i=>{const s=document.createElement("script");s.src=t,s.onload=()=>i(!0),s.onerror=()=>i(!0),document.head.appendChild(s)})}static async loadCSS(t){return new Promise(async i=>{const s=document.createElement("link");s.type="text/css",s.rel="stylesheet",s.href=t,s.onload=()=>i(!0),s.onerror=()=>i(!0),document.head.appendChild(s)})}};const ei=r=>{const t=document.documentElement,e=new MutationObserver(s=>{for(let o of s)o.type==="attributes"&&o.attributeName==="lang"&&r()}),i={attributes:!0,attributeFilter:["lang"]};e.observe(t,i)};let ws=class{static ucFirst(t){return typeof t!="string"?t:t.charAt(0).toUpperCase()+t.substring(1)}static minutesDuration(t,e="",i="long"){e||(e=K.getLanguage());const s=(h,d)=>[Math.floor(h/d),h%d];function o(h,d,p){return new Intl.NumberFormat(h,{style:"unit",unit:d,unitDisplay:p}).format}const[n,a]=s(t,60),c=[];return n&&c.push(o(e,"hour",i)(n)),a&&c.push(o(e,"minute",i)(a)),new Intl.ListFormat(e,{style:"long",type:"conjunction"}).format(c)}static js(t){try{return Function("return "+t)()}catch{return""}}},Eo=class{static async queueTaskPromise(){return new Promise(t=>{window.queueMicrotask(()=>t(null))})}static async delayPromise(t){return new Promise(e=>{setTimeout(e,t)})}},rr="sonic";typeof __SONIC_PREFIX__<"u"&&(rr=__SONIC_PREFIX__);let or=rr.replace(/-([a-z])/g,r=>r[1].toUpperCase());const xs=or.charAt(0).toUpperCase()+or.slice(1);function $s(r){return Object.prototype.hasOwnProperty.call(r,"__value")}function He(r){return typeof r=="object"&&r!=null}let Se="sonic";typeof __SONIC_PREFIX__>"u"&&(Se="sonic"+Math.floor(Math.random()*1e6));const si=Se=="sonic"?"publisher-proxies-data":Se+"-publisher-proxies-data";let ii=(Dt=class{constructor(t,e,i){for(this._proxies_=new Map,this._is_savable_=!1,this._expiration_delay_=1e3*60*60*12,this._invalidate_on_page_show_=!1,this._invalidateListeners_=new Set,this._formInvalidateListeners_=new Set,this._assignListeners_=new Set,this._mutationListeners_=new Set,this._fillListeners_=new Set,this._templateFillListeners_=new Set,this._lockInternalMutationPublishing_=!1,this._instanceCounter_=0,this._assignmentId_=0,this._value_=t,this.parent=e||null,this._parentKey_=i,this.root=this,this._instanceCounter_=0;this.root.parent;)this.root=this.root.parent}delete(){var t;for(const e in this._proxies_.keys())e!="_parent_"&&((t=this._proxies_.get(e))==null||t.delete());this._invalidateListeners_.clear(),this._formInvalidateListeners_.clear(),this._assignListeners_.clear(),this._mutationListeners_.clear(),this._fillListeners_.clear(),this._templateFillListeners_.clear(),this._proxies_.clear(),Dt.instances.delete(this._instanceCounter_)}hasListener(){return this._templateFillListeners_.size>0||this._assignListeners_.size>0||this._invalidateListeners_.size>0||this._formInvalidateListeners_.size>0||this._mutationListeners_.size>0||this._fillListeners_.size>0}_publishInternalMutation_(t=!1){if(this._mutationListeners_.forEach(e=>e()),this._is_savable_&&!N.changed){N.changed=!0,N.saveId++;const e=N.saveId;setTimeout(()=>N.getInstance().saveToLocalStorage(e),1e3)}t||this.parent&&this.parent._publishInternalMutation_()}async _publishAssignement_(t=!1){if(this._assignmentId_++,this._assignmentId_!==this._assignmentId_)return;const i=this.get();this._assignListeners_.forEach(s=>{s(i)}),this._publishInternalMutation_(t)}_publishInvalidation_(){this._invalidateListeners_.forEach(t=>t())}_publishFormInvalidation_(){this._formInvalidateListeners_.forEach(t=>t())}_publishDynamicFilling_(t,e){this._fillListeners_.forEach(i=>{i[t]!==e&&(i[t]=e)}),this._publishTemplateFilling_(t,e)}_publishTemplateFilling_(t,e){this._templateFillListeners_.forEach(i=>{const s=Object.getOwnPropertyDescriptor(i,t);s&&!s.set&&!s.writable||(i.propertyMap&&i.propertyMap[t]&&(t=i.propertyMap[t]),typeof i[t]<"u"&&i[t]!==e&&(i[t]=e))})}onAssign(t,e=!0){typeof t=="function"&&(this._assignListeners_.has(t)||(this._assignListeners_.add(t),e&&t(this.get())))}offAssign(t){this._assignListeners_.delete(t)}onInvalidate(t){typeof t=="function"&&this._invalidateListeners_.add(t)}offInvalidate(t){typeof t=="function"&&this._invalidateListeners_.delete(t)}invalidate(){this._publishInvalidation_()}onFormInvalidate(t){typeof t=="function"&&this._formInvalidateListeners_.add(t)}offFormInvalidate(t){typeof t=="function"&&this._formInvalidateListeners_.delete(t)}invalidateForm(){this._publishFormInvalidation_()}onInternalMutation(t){typeof t=="function"&&(this._mutationListeners_.add(t),t())}offInternalMutation(t){typeof t=="function"&&this._mutationListeners_.delete(t)}startTemplateFilling(t){if(this._templateFillListeners_.add(t),typeof this._value_=="object")for(const e in this._value_){let i=e;const s=this._value_[e];t.propertyMap&&t.propertyMap[e]&&(i=t.propertyMap[e]),typeof t[e]<"u"&&t[e]!==s&&(t[i]=s)}}stopTemplateFilling(t){this._templateFillListeners_.delete(t)}startDynamicFilling(t){this._fillListeners_.add(t);for(const e in this._value_){const i=this._value_[e];t[e]!==i&&(t[e]=i)}}stopDynamicFilling(t){this._fillListeners_.delete(t)}set(t,e=!1){var s,o,n;if(this._value_===t||this._value_&&t&&$s(this._value_)&&$s(t)&&this._value_.__value===t.__value)return!0;this._value_=He(t)?t:{__value:t},this._cachedGet_=void 0;const i=$s(this._value_);if(this._parentKey_&&this.parent){const a=$s(this._value_)?this._value_.__value:this._value_;if(((s=this.parent)==null?void 0:s.get())==null&&((o=this.parent)==null?void 0:o.get())==null)if(isNaN(Number(this._parentKey_)))this.parent.set({[this._parentKey_]:a});else{const c=[];c[Number(this._parentKey_)]=a,this.parent.set(c)}else this.parent._value_[this._parentKey_]=a}if(i)return this._proxies_.forEach((a,c)=>{c!="_parent_"&&(a.set(null),this._publishDynamicFilling_(c,null))}),this._publishAssignement_(e),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_.__value),!0;for(const a in this._value_)this._value_[a]===void 0&&delete this._value_[a];if(this._proxies_.forEach((a,c)=>{const h=this._value_[c];c!="_parent_"&&h===void 0&&h!==null&&isNaN(Number(c))&&(a.set(null),this._publishDynamicFilling_(c,null))}),this._publishAssignement_(),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_),He(this._value_))for(const a in this._value_){const c=t[a],d=He(c)?c:{__value:c};if(!this._proxies_.has(a)){this._publishDynamicFilling_(a,c);continue}(n=this._proxies_.get(a))==null||n.set(d,!0),this._publishDynamicFilling_(a,c)}return!0}get(){if(this._cachedGet_!==void 0)return this._cachedGet_;if(N.modifiedCollectore.length>0&&N.modifiedCollectore[0].add(this),Object.prototype.hasOwnProperty.call(this._value_,"__value")){const t=this._value_.__value;return this._cachedGet_=t??null}return this._cachedGet_=this._value_!=null?this._value_:null}get $tag(){return this._instanceCounter_||(Dt.instancesCounter++,this._instanceCounter_=Dt.instancesCounter),Dt.instances.set(this._instanceCounter_,this),"<"+Se+'-publisher-proxy publisher="'+this._instanceCounter_+'"></'+Se+"-publisher-proxy>"}},Dt.instances=new Map,Dt.instancesCounter=0,Dt),N=(L=class{constructor(){if(this.enabledLocaStorageProxies=[],this.publishers=new Map,this.localStorageData={},this.isLocalStrorageReady=null,this.initialisedData=[],L.instance!=null)throw"Singleton / use getInstance";L.instance=this,this.isLocalStrorageReady=this.cleanStorageData()}invalidateAll(){this.publishers.forEach(t=>{t._invalidate_on_page_show_&&t.invalidate()})}async cleanStorageData(){return new Promise(t=>{(async()=>{try{let i=localStorage.getItem(si),s=null;if(i&&(s=await this.decompress(i,"gzip")),s)try{this.localStorageData=JSON.parse(s)}catch{this.localStorageData={}}else i=await this.compress("{}","gzip"),localStorage.setItem(si,i),this.localStorageData={};const o=1e3*60*60*12;for(const n in this.localStorageData){const a=this.localStorageData[n],c=new Date().getTime()-(a.expirationDelayMs||o);a.lastModifiationMS<c&&delete this.localStorageData[n]}t(!0)}catch{window.requestAnimationFrame(()=>{t(!1)}),console.warn("no publisher cache in this browser")}})()})}static getInstance(t){if(t){const e=L.instances.get(t);return e||(console.warn("No PublisherManager instance registered with id:",t,"creating new one"),new L)}return L.instance==null?new L:L.instance}static registerInstance(t,e){L.instances.has(t)&&console.warn("PublisherManager instance already registered with id: ",t),L.instances.set(t,e)}static get(t,e){return L.getInstance().get(t,e)}static collectModifiedPublisher(){L.modifiedCollectore.unshift(new Set)}static getModifiedPublishers(){return L.modifiedCollectore.shift()}static delete(t){return t?L.getInstance().delete(t):!1}async setLocalData(t,e){var i;await this.isLocalStrorageReady,t.set(((i=this.localStorageData[e+"¤lang_"+K.getLanguage()])==null?void 0:i.data)||t.get())}get(t,e){const i=(e==null?void 0:e.localStorageMode)==="enabled",s=(e==null?void 0:e.invalidateOnPageShow)===!0;if(!this.publishers.has(t)){const n={},a=new Be(n);this.set(t,a)}const o=this.publishers.get(t);return i&&this.initialisedData.indexOf(t)===-1&&(e!=null&&e.expirationDelayMs&&(o._expiration_delay_=e.expirationDelayMs),o._is_savable_=!0,this.initialisedData.push(t),this.setLocalData(o,t)),s&&(o._invalidate_on_page_show_=s),this.publishers.get(t)}set(t,e){this.publishers.set(t,e)}delete(t){return this.publishers.has(t)?(this.publishers.delete(t),!0):!1}async saveToLocalStorage(t=0){if(!(t!==L.saveId&&t%10!=0))try{if(!L.changed||L.saving)return;L.saving=!0,L.changed=!1;const e=Array.from(this.publishers.keys());let i=!1;for(const s of e){const o=this.publishers.get(s);if(!(o!=null&&o._is_savable_))continue;const n=o==null?void 0:o.get();n&&(this.localStorageData[s+"¤lang_"+K.getLanguage()]={lastModifiationMS:new Date().getTime(),expirationDelayMs:o._expiration_delay_,data:n},i=!0)}if(i){const s=await this.compress(JSON.stringify(this.localStorageData),"gzip");localStorage.setItem(si,s)}if(L.saving=!1,L.changed){L.saveId++;const s=L.saveId;setTimeout(()=>this.saveToLocalStorage(s),1e3)}}catch{L.saving=!1}}async compress(t,e){const i=new TextEncoder().encode(t),s=window,o=new s.CompressionStream(e),n=o.writable.getWriter();n.write(i),n.close();const a=await new Response(o.readable).arrayBuffer(),c=new Uint8Array(a);let h="";for(let d=0;d<c.length;d++)h+=String.fromCharCode(c[d]);return btoa(h)}async decompress(t,e){const i=atob(t),o=Uint8Array.from(i,d=>d.charCodeAt(0)).buffer,n=window,a=new n.DecompressionStream(e),c=a.writable.getWriter();c.write(o),c.close();const h=await new Response(a.readable).arrayBuffer();return new TextDecoder().decode(h)}},L.buildDate="Tue Aug 19 2025 16:15:46 GMT+0200 (Central European Summer Time)",L.changed=!1,L.saving=!1,L.saveId=0,L.instance=null,L.instances=new Map,L.modifiedCollectore=[],L);if(typeof window<"u"){const r=window;r[xs+"PublisherManager"]=r[xs+"PublisherManager"]||N}const No=new Set(["invalidate","onInvalidate","offInvalidate","invalidateForm","onFormInvalidate","offFormInvalidate","onAssign","offAssign","startDynamicFilling","stopDynamicFilling","startTemplateFilling","stopTemplateFilling","onInternalMutation","offInternalMutation","set","get","$tag","_cachedGet_","_templateFillListeners_","_fillListeners_","_assignListeners_","_invalidateListeners_","_formInvalidateListeners_","_publishInternalMutation_","hasListener","delete","_mutationListeners_","_publishDynamicFilling_","_publishInvalidation_","_publishFormInvalidation_","_publishTemplateFilling_","_publishAssignement_","_proxies_","parent","_parentKey_","_value_","_is_savable_","_expiration_delay_","_lockInternalMutationPublishing_","_instanceCounter_","_assignmentId_","_invalidate_on_page_show_"]);class Be extends ii{constructor(t,e=null,i){super(t,e,i);const s=new Proxy(this,{get:function(o,n){if(No.has(n))return o[n];if(n==Symbol.toPrimitive)return()=>s.get();if(!o._proxies_.has(n)){const a=o._value_[n],c=new Be(He(a)?a:{__value:a},o,n);c._proxies_.set("_parent_",s),o._proxies_.set(n,c)}return o._proxies_.get(n)},set:function(o,n,a){var h;if(n=="_value_")return o._value_=a,!0;if(n=="_cachedGet_")return o._cachedGet_=a,!0;if(n=="_assignmentId_")return o._assignmentId_=a,!0;if(n=="_is_savable_")return o._is_savable_=a,!0;if(n=="_expiration_delay_")return o._expiration_delay_=a,!0;if(n=="_invalidate_on_page_show_")return o._invalidate_on_page_show_=a,!0;if(n=="_instanceCounter_")return o._instanceCounter_=a,!0;if(!o._proxies_.has(n)){const d=new Be({},o,n);d._proxies_.set("_parent_",s),o._proxies_.set(n,d)}return o._value_[n]!==a&&(o._value_[n]=a,o._publishDynamicFilling_(n,a),(h=o._proxies_.get(n))==null||h.set(He(a)?a:{__value:a})),!0},deleteProperty:function(o,n){var a;return o._publishDynamicFilling_(n,null),(a=o._proxies_.get(n))==null||a.set(null),delete o._value_[n]},has:function(o,n){return n in o._value_&&n!="_lockInternalMutationPublishing_"},defineProperty:function(o,n,a){return a&&"value"in a&&(o._value_[n]=a.value),!0},getOwnPropertyDescriptor:function(o,n){return{enumerable:!0,configurable:!0}},ownKeys:function(o){return o._value_.__value?Object.keys(o._value_.__value):Object.keys(o._value_)}});return s}getProperty(t,e){return t[e]}}class To extends HTMLElement{constructor(){super(),this.publisherId="",this.onAssign=t=>{this.innerHTML=t.toString()}}connectedCallback(){var t;this.publisherId=this.getAttribute("publisher")||"",this.publisher=ii.instances.get(parseInt(this.publisherId)),(t=this.publisher)==null||t.onAssign(this.onAssign)}disconnectedCallback(){var t;(t=this.publisher)==null||t.offAssign(this.onAssign)}}try{customElements.define(Se+"-publisher-proxy",To)}catch{}window.addEventListener("pageshow",r=>{r.persisted&&N.getInstance().invalidateAll()});let Ps=(E=class{static disable(){this.enabled&&(this.enabled=!1,Array.from(E.observedElements.keys()).forEach(t=>E.unObserve(t)))}static observe(t){if(!t||!E.enabled||E.observedElements.has(t))return;const e=new MutationObserver(E.onMutation),i={};i.childList=!0,i.subtree=!0,i.attributes=!0,i.attributeFilter=["data-bind"],e.observe(t,i),t.querySelectorAll("[data-bind]").forEach(s=>E.addPublisherListeners(s)),E.observedElements.set(t,e)}static unObserve(t){if(!t)return;const e=this.observedElements.get(t);e&&(e.disconnect(),t.querySelectorAll("[data-bind]").forEach(i=>E.removePublisherListeners(i)))}static onAdded(t){t.hasAttribute&&t.hasAttribute("data-bind")&&E.addPublisherListeners(t),t.querySelectorAll?t.querySelectorAll("[data-bind]").forEach(e=>E.addPublisherListeners(e)):t.childNodes.forEach(e=>E.onAdded(e))}static onRemoved(t){t.hasAttribute&&t.hasAttribute("data-bind")&&E.removePublisherListeners(t),t.querySelectorAll?t.querySelectorAll("[data-bind]").forEach(e=>E.removePublisherListeners(e)):t.childNodes.forEach(e=>E.onRemoved(e))}static onMutation(t){for(const e of t)switch(e.type){case"attributes":E.addPublisherListeners(e.target);break;case"childList":e.addedNodes.forEach(i=>{E.onAdded(i)}),e.removedNodes.forEach(i=>{E.onRemoved(i)});break}}static removePublisherListeners(t){const e=E.publisherListeners.get(t);e&&(E.publisherListeners.delete(t),e.forEach(i=>{var s;(s=i.publisher)==null||s.offAssign(i.onAssign)}))}static getVariablesDescriptor(t){let e=t.match(/(\$(?:\w+\\?\.?)+)/g);return e?e=e.map(i=>i.replace("$","")):e=[t],e=e.filter(i=>i.length>0),{expression:t.replace("\\",""),variables:e.map(i=>i.split(/\b\.\b/).map(s=>s.replace("\\","")))}}static getDataBindItems(t){return"attributes"in t?Array.from(t.attributes).filter(e=>e.name.indexOf("::")==0).map(e=>({propertyToUpdate:e.name.substring(2).replace(/-((html)|\w)/g,s=>s.substring(1).toUpperCase()),bindedVariablesDescriptor:E.getVariablesDescriptor(e.value)})):[]}static getSubPublisher(t,e){if(!e)return t;for(const i of e)if(i!="_self_"){if(!t)return null;t=t[i]}return t}static addPublisherListeners(t){E.removePublisherListeners(t);const e=K.getAncestorAttributeValue(t.parentNode||t.host||t,"dataProvider");if(!e)return;const i=N.getInstance().get(e),s=E.getDataBindItems(t),o=[];s.forEach(n=>{const a=n.bindedVariablesDescriptor,c=n.propertyToUpdate;for(const h of a.variables){const d=h;let p=i;p=E.getSubPublisher(i,d);const m=t,v={publisher:p,onAssign:()=>{const b=a.variables.map(D=>{var f;return(f=E.getSubPublisher(i,D))==null?void 0:f.get()});let y=a.expression,_=!1;if(b.length==1&&a.variables[0].join(".")==y.substring(1)){let D=b[0];D===null&&(D=""),m[c]=D;return}for(let D=0;D<b.length;D++){let f=b[D];const u=a.variables[D];f===null&&(_=!0,f=void 0),y=y.replace("$"+u.join("."),f)}if(y.indexOf("|")!=-1){const D=y.indexOf("|");if(D==0)y=ws.js(y.substring(1));else{const f=y.substring(0,D),u=y.substring(D+1),w=ws[f];y=_?"":w?w(u):y}}else y=_?"":y;m[c]=y}};p==null||p.onAssign(v.onAssign),o.push(v)}}),E.publisherListeners.set(t,o)}},E.observedElements=new Map,E.enabled=!0,E.publisherListeners=new Map,E);Ps.observe(document.documentElement),window.SonicDataBindObserver||(window.SonicDataBindObserver=Ps);let tt=class Zt{static shallowEqual(t,e,i=!0){const s=Object.keys(t),o=Object.keys(e);if(s.length!==o.length&&i)return!1;for(const n of s){const a=t[n],c=e[n];if(i?a!==c:a!=c)return!1}return!0}static deepEqual(t,e,i=!0){const s=Object.keys(t),o=Object.keys(e);if(s.length!==o.length&&i)return!1;for(const n of s){const a=t[n],c=e[n],h=Zt.isObject(a)&&Zt.isObject(c),d=i?a!==c:a!=c;if(h&&!Zt.deepEqual(a,c)||!h&&d)return!1}return!0}static isObject(t){return t!=null&&typeof t=="object"}static isUndefindOrNull(t){return t==null}static isEmpty(t){return Zt.isUndefindOrNull(t)?!0:Object.keys(t).length===0}static traverse(t,e,i=!1){for(const s of e){const o=t[s];if(o===void 0)return;i&&Zt.isObject(o)?t=Object.assign(Array.isArray(o)?[]:{},t,o):t=t[s]}return t}static traverseDotNotation(t,e,i=!1){return Zt.traverse(t,e.split("."),i)}static getURLSearchArray(t,e=""){let i=[];for(let s in t){const o=t[s];e&&(s=e+"["+s+"]"),Zt.isObject(o)?i=[...i,...this.getURLSearchArray(o,s)]:i.push(`${s}=${o}`)}return i}static getURLSearchString(t){return Zt.getURLSearchArray(t,"").join("&")}};const pt=tt.traverseDotNotation;/**
1
+ (function(K){typeof define=="function"&&define.amd?define(K):K()})(function(){"use strict";var Dt,L,E,So,t,X;let K=class Ht{static getLanguage(){const t=document.documentElement.lang;return localStorage.getItem("SonicSelectedLanguage")||t}static getCookies(){return document.cookie.split(";").reduce((t,e)=>{const i=e.indexOf("=");return t[e.substring(0,i).trim()]=e.substring(i+1),t},{})}static everyAncestors(t,e){for(;t;){if(!e(t))return;t=t.parentNode||t.host}}static getScrollableAncestor(t){for(;t;){const e=t;if(e.nodeType===1){const i=window.getComputedStyle(e);if((i==null?void 0:i.overflowY)==="auto"||(i==null?void 0:i.overflowY)==="scroll"||(i==null?void 0:i.overflowY)==="hidden"||(i==null?void 0:i.overflowX)==="auto"||(i==null?void 0:i.overflowX)==="scroll"||(i==null?void 0:i.overflowX)==="hidden")return t}t=t.parentNode||t.host}return null}static getAncestorAttributeValue(t,e){if(!t)return null;for(;!("hasAttribute"in t&&t.hasAttribute(e))&&(t.parentNode||t.host);)t=t.parentNode||t.host;return"hasAttribute"in t?t.getAttribute(e):null}static getApiConfiguration(t){const e=Ht.getAncestorAttributeValue(t,"token"),i=Ht.getAncestorAttributeValue(t,"addHTTPResponse")!=null,s=Ht.getAncestorAttributeValue(t,"serviceURL");let o=null,n=null;const a=Ht.getAncestorAttributeValue(t,"tokenProvider"),c=Ht.getAncestorAttributeValue(t,"eventsApiToken");e||(o=Ht.getAncestorAttributeValue(t,"userName"),n=Ht.getAncestorAttributeValue(t,"password"));const h=Ht.getAncestorAttributeValue(t,"credentials")||void 0,d=t.getAttribute("cache"),p=t.hasAttribute("blockUntilDone");return{serviceURL:s,token:e,userName:o,password:n,authToken:c,tokenProvider:a,addHTTPResponse:i,credentials:h,cache:d,blockUntilDone:p}}static getClosestElement(t,e){for(;!(t.nodeName&&t.nodeName.toLowerCase()===e)&&(t.parentNode||t.host);)t=t.parentNode||t.host;return t.nodeName?t:null}static getClosestForm(t){return Ht.getClosestElement(t,"form")}static async loadJS(t){return new Promise(async i=>{const s=document.createElement("script");s.src=t,s.onload=()=>i(!0),s.onerror=()=>i(!0),document.head.appendChild(s)})}static async loadCSS(t){return new Promise(async i=>{const s=document.createElement("link");s.type="text/css",s.rel="stylesheet",s.href=t,s.onload=()=>i(!0),s.onerror=()=>i(!0),document.head.appendChild(s)})}};const ei=r=>{const t=document.documentElement,e=new MutationObserver(s=>{for(let o of s)o.type==="attributes"&&o.attributeName==="lang"&&r()}),i={attributes:!0,attributeFilter:["lang"]};e.observe(t,i)};let ws=class{static ucFirst(t){return typeof t!="string"?t:t.charAt(0).toUpperCase()+t.substring(1)}static minutesDuration(t,e="",i="long"){e||(e=K.getLanguage());const s=(h,d)=>[Math.floor(h/d),h%d];function o(h,d,p){return new Intl.NumberFormat(h,{style:"unit",unit:d,unitDisplay:p}).format}const[n,a]=s(t,60),c=[];return n&&c.push(o(e,"hour",i)(n)),a&&c.push(o(e,"minute",i)(a)),new Intl.ListFormat(e,{style:"long",type:"conjunction"}).format(c)}static js(t){try{return Function("return "+t)()}catch{return""}}},Eo=class{static async queueTaskPromise(){return new Promise(t=>{window.queueMicrotask(()=>t(null))})}static async delayPromise(t){return new Promise(e=>{setTimeout(e,t)})}},rr="sonic";typeof __SONIC_PREFIX__<"u"&&(rr=__SONIC_PREFIX__);let or=rr.replace(/-([a-z])/g,r=>r[1].toUpperCase());const xs=or.charAt(0).toUpperCase()+or.slice(1);function $s(r){return Object.prototype.hasOwnProperty.call(r,"__value")}function He(r){return typeof r=="object"&&r!=null}let Se="sonic";typeof __SONIC_PREFIX__>"u"&&(Se="sonic"+Math.floor(Math.random()*1e6));const si=Se=="sonic"?"publisher-proxies-data":Se+"-publisher-proxies-data";let ii=(Dt=class{constructor(t,e,i){for(this._proxies_=new Map,this._is_savable_=!1,this._expiration_delay_=1e3*60*60*12,this._invalidate_on_page_show_=!1,this._invalidateListeners_=new Set,this._formInvalidateListeners_=new Set,this._assignListeners_=new Set,this._mutationListeners_=new Set,this._fillListeners_=new Set,this._templateFillListeners_=new Set,this._lockInternalMutationPublishing_=!1,this._instanceCounter_=0,this._assignmentId_=0,this._value_=t,this.parent=e||null,this._parentKey_=i,this.root=this,this._instanceCounter_=0;this.root.parent;)this.root=this.root.parent}delete(){var t;for(const e in this._proxies_.keys())e!="_parent_"&&((t=this._proxies_.get(e))==null||t.delete());this._invalidateListeners_.clear(),this._formInvalidateListeners_.clear(),this._assignListeners_.clear(),this._mutationListeners_.clear(),this._fillListeners_.clear(),this._templateFillListeners_.clear(),this._proxies_.clear(),Dt.instances.delete(this._instanceCounter_)}hasListener(){return this._templateFillListeners_.size>0||this._assignListeners_.size>0||this._invalidateListeners_.size>0||this._formInvalidateListeners_.size>0||this._mutationListeners_.size>0||this._fillListeners_.size>0}_publishInternalMutation_(t=!1){if(this._mutationListeners_.forEach(e=>e()),this._is_savable_&&!N.changed){N.changed=!0,N.saveId++;const e=N.saveId;setTimeout(()=>N.getInstance().saveToLocalStorage(e),1e3)}t||this.parent&&this.parent._publishInternalMutation_()}async _publishAssignement_(t=!1){if(this._assignmentId_++,this._assignmentId_!==this._assignmentId_)return;const i=this.get();this._assignListeners_.forEach(s=>{s(i)}),this._publishInternalMutation_(t)}_publishInvalidation_(){this._invalidateListeners_.forEach(t=>t())}_publishFormInvalidation_(){this._formInvalidateListeners_.forEach(t=>t())}_publishDynamicFilling_(t,e){this._fillListeners_.forEach(i=>{i[t]!==e&&(i[t]=e)}),this._publishTemplateFilling_(t,e)}_publishTemplateFilling_(t,e){this._templateFillListeners_.forEach(i=>{const s=Object.getOwnPropertyDescriptor(i,t);s&&!s.set&&!s.writable||(i.propertyMap&&i.propertyMap[t]&&(t=i.propertyMap[t]),typeof i[t]<"u"&&i[t]!==e&&(i[t]=e))})}onAssign(t,e=!0){typeof t=="function"&&(this._assignListeners_.has(t)||(this._assignListeners_.add(t),e&&t(this.get())))}offAssign(t){this._assignListeners_.delete(t)}onInvalidate(t){typeof t=="function"&&this._invalidateListeners_.add(t)}offInvalidate(t){typeof t=="function"&&this._invalidateListeners_.delete(t)}invalidate(){this._publishInvalidation_()}onFormInvalidate(t){typeof t=="function"&&this._formInvalidateListeners_.add(t)}offFormInvalidate(t){typeof t=="function"&&this._formInvalidateListeners_.delete(t)}invalidateForm(){this._publishFormInvalidation_()}onInternalMutation(t){typeof t=="function"&&(this._mutationListeners_.add(t),t())}offInternalMutation(t){typeof t=="function"&&this._mutationListeners_.delete(t)}startTemplateFilling(t){if(this._templateFillListeners_.add(t),typeof this._value_=="object")for(const e in this._value_){let i=e;const s=this._value_[e];t.propertyMap&&t.propertyMap[e]&&(i=t.propertyMap[e]),typeof t[e]<"u"&&t[e]!==s&&(t[i]=s)}}stopTemplateFilling(t){this._templateFillListeners_.delete(t)}startDynamicFilling(t){this._fillListeners_.add(t);for(const e in this._value_){const i=this._value_[e];t[e]!==i&&(t[e]=i)}}stopDynamicFilling(t){this._fillListeners_.delete(t)}set(t,e=!1){var s,o,n;if(this._value_===t||this._value_&&t&&$s(this._value_)&&$s(t)&&this._value_.__value===t.__value)return!0;this._value_=He(t)?t:{__value:t},this._cachedGet_=void 0;const i=$s(this._value_);if(this._parentKey_&&this.parent){const a=$s(this._value_)?this._value_.__value:this._value_;if(((s=this.parent)==null?void 0:s.get())==null&&((o=this.parent)==null?void 0:o.get())==null)if(isNaN(Number(this._parentKey_)))this.parent.set({[this._parentKey_]:a});else{const c=[];c[Number(this._parentKey_)]=a,this.parent.set(c)}else this.parent._value_[this._parentKey_]=a}if(i)return this._proxies_.forEach((a,c)=>{c!="_parent_"&&(a.set(null),this._publishDynamicFilling_(c,null))}),this._publishAssignement_(e),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_.__value),!0;for(const a in this._value_)this._value_[a]===void 0&&delete this._value_[a];if(this._proxies_.forEach((a,c)=>{const h=this._value_[c];c!="_parent_"&&h===void 0&&h!==null&&isNaN(Number(c))&&(a.set(null),this._publishDynamicFilling_(c,null))}),this._publishAssignement_(),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_),He(this._value_))for(const a in this._value_){const c=t[a],d=He(c)?c:{__value:c};if(!this._proxies_.has(a)){this._publishDynamicFilling_(a,c);continue}(n=this._proxies_.get(a))==null||n.set(d,!0),this._publishDynamicFilling_(a,c)}return!0}get(){if(this._cachedGet_!==void 0)return this._cachedGet_;if(N.modifiedCollectore.length>0&&N.modifiedCollectore[0].add(this),Object.prototype.hasOwnProperty.call(this._value_,"__value")){const t=this._value_.__value;return this._cachedGet_=t??null}return this._cachedGet_=this._value_!=null?this._value_:null}get $tag(){return this._instanceCounter_||(Dt.instancesCounter++,this._instanceCounter_=Dt.instancesCounter),Dt.instances.set(this._instanceCounter_,this),"<"+Se+'-publisher-proxy publisher="'+this._instanceCounter_+'"></'+Se+"-publisher-proxy>"}},Dt.instances=new Map,Dt.instancesCounter=0,Dt),N=(L=class{constructor(){if(this.enabledLocaStorageProxies=[],this.publishers=new Map,this.localStorageData={},this.isLocalStrorageReady=null,this.initialisedData=[],L.instance!=null)throw"Singleton / use getInstance";L.instance=this,this.isLocalStrorageReady=this.cleanStorageData()}invalidateAll(){this.publishers.forEach(t=>{t._invalidate_on_page_show_&&t.invalidate()})}async cleanStorageData(){return new Promise(t=>{(async()=>{try{let i=localStorage.getItem(si),s=null;if(i&&(s=await this.decompress(i,"gzip")),s)try{this.localStorageData=JSON.parse(s)}catch{this.localStorageData={}}else i=await this.compress("{}","gzip"),localStorage.setItem(si,i),this.localStorageData={};const o=1e3*60*60*12;for(const n in this.localStorageData){const a=this.localStorageData[n],c=new Date().getTime()-(a.expirationDelayMs||o);a.lastModifiationMS<c&&delete this.localStorageData[n]}t(!0)}catch{window.requestAnimationFrame(()=>{t(!1)}),console.warn("no publisher cache in this browser")}})()})}static getInstance(t){if(t){const e=L.instances.get(t);return e||(console.warn("No PublisherManager instance registered with id:",t,"creating new one"),new L)}return L.instance==null?new L:L.instance}static registerInstance(t,e){L.instances.has(t)&&console.warn("PublisherManager instance already registered with id: ",t),L.instances.set(t,e)}static get(t,e){return L.getInstance().get(t,e)}static collectModifiedPublisher(){L.modifiedCollectore.unshift(new Set)}static getModifiedPublishers(){return L.modifiedCollectore.shift()}static delete(t){return t?L.getInstance().delete(t):!1}async setLocalData(t,e){var i;await this.isLocalStrorageReady,t.set(((i=this.localStorageData[e+"¤lang_"+K.getLanguage()])==null?void 0:i.data)||t.get())}get(t,e){const i=(e==null?void 0:e.localStorageMode)==="enabled",s=(e==null?void 0:e.invalidateOnPageShow)===!0;if(!this.publishers.has(t)){const n={},a=new Be(n);this.set(t,a)}const o=this.publishers.get(t);return i&&this.initialisedData.indexOf(t)===-1&&(e!=null&&e.expirationDelayMs&&(o._expiration_delay_=e.expirationDelayMs),o._is_savable_=!0,this.initialisedData.push(t),this.setLocalData(o,t)),s&&(o._invalidate_on_page_show_=s),this.publishers.get(t)}set(t,e){this.publishers.set(t,e)}delete(t){return this.publishers.has(t)?(this.publishers.delete(t),!0):!1}async saveToLocalStorage(t=0){if(!(t!==L.saveId&&t%10!=0))try{if(!L.changed||L.saving)return;L.saving=!0,L.changed=!1;const e=Array.from(this.publishers.keys());let i=!1;for(const s of e){const o=this.publishers.get(s);if(!(o!=null&&o._is_savable_))continue;const n=o==null?void 0:o.get();n&&(this.localStorageData[s+"¤lang_"+K.getLanguage()]={lastModifiationMS:new Date().getTime(),expirationDelayMs:o._expiration_delay_,data:n},i=!0)}if(i){const s=await this.compress(JSON.stringify(this.localStorageData),"gzip");localStorage.setItem(si,s)}if(L.saving=!1,L.changed){L.saveId++;const s=L.saveId;setTimeout(()=>this.saveToLocalStorage(s),1e3)}}catch{L.saving=!1}}async compress(t,e){const i=new TextEncoder().encode(t),s=window,o=new s.CompressionStream(e),n=o.writable.getWriter();n.write(i),n.close();const a=await new Response(o.readable).arrayBuffer(),c=new Uint8Array(a);let h="";for(let d=0;d<c.length;d++)h+=String.fromCharCode(c[d]);return btoa(h)}async decompress(t,e){const i=atob(t),o=Uint8Array.from(i,d=>d.charCodeAt(0)).buffer,n=window,a=new n.DecompressionStream(e),c=a.writable.getWriter();c.write(o),c.close();const h=await new Response(a.readable).arrayBuffer();return new TextDecoder().decode(h)}},L.buildDate="Wed Aug 20 2025 11:11:45 GMT+0200 (Central European Summer Time)",L.changed=!1,L.saving=!1,L.saveId=0,L.instance=null,L.instances=new Map,L.modifiedCollectore=[],L);if(typeof window<"u"){const r=window;r[xs+"PublisherManager"]=r[xs+"PublisherManager"]||N}const No=new Set(["invalidate","onInvalidate","offInvalidate","invalidateForm","onFormInvalidate","offFormInvalidate","onAssign","offAssign","startDynamicFilling","stopDynamicFilling","startTemplateFilling","stopTemplateFilling","onInternalMutation","offInternalMutation","set","get","$tag","_cachedGet_","_templateFillListeners_","_fillListeners_","_assignListeners_","_invalidateListeners_","_formInvalidateListeners_","_publishInternalMutation_","hasListener","delete","_mutationListeners_","_publishDynamicFilling_","_publishInvalidation_","_publishFormInvalidation_","_publishTemplateFilling_","_publishAssignement_","_proxies_","parent","_parentKey_","_value_","_is_savable_","_expiration_delay_","_lockInternalMutationPublishing_","_instanceCounter_","_assignmentId_","_invalidate_on_page_show_"]);class Be extends ii{constructor(t,e=null,i){super(t,e,i);const s=new Proxy(this,{get:function(o,n){if(No.has(n))return o[n];if(n==Symbol.toPrimitive)return()=>s.get();if(!o._proxies_.has(n)){const a=o._value_[n],c=new Be(He(a)?a:{__value:a},o,n);c._proxies_.set("_parent_",s),o._proxies_.set(n,c)}return o._proxies_.get(n)},set:function(o,n,a){var h;if(n=="_value_")return o._value_=a,!0;if(n=="_cachedGet_")return o._cachedGet_=a,!0;if(n=="_assignmentId_")return o._assignmentId_=a,!0;if(n=="_is_savable_")return o._is_savable_=a,!0;if(n=="_expiration_delay_")return o._expiration_delay_=a,!0;if(n=="_invalidate_on_page_show_")return o._invalidate_on_page_show_=a,!0;if(n=="_instanceCounter_")return o._instanceCounter_=a,!0;if(!o._proxies_.has(n)){const d=new Be({},o,n);d._proxies_.set("_parent_",s),o._proxies_.set(n,d)}return o._value_[n]!==a&&(o._value_[n]=a,o._publishDynamicFilling_(n,a),(h=o._proxies_.get(n))==null||h.set(He(a)?a:{__value:a})),!0},deleteProperty:function(o,n){var a;return o._publishDynamicFilling_(n,null),(a=o._proxies_.get(n))==null||a.set(null),delete o._value_[n]},has:function(o,n){return n in o._value_&&n!="_lockInternalMutationPublishing_"},defineProperty:function(o,n,a){return a&&"value"in a&&(o._value_[n]=a.value),!0},getOwnPropertyDescriptor:function(o,n){return{enumerable:!0,configurable:!0}},ownKeys:function(o){return o._value_.__value?Object.keys(o._value_.__value):Object.keys(o._value_)}});return s}getProperty(t,e){return t[e]}}class To extends HTMLElement{constructor(){super(),this.publisherId="",this.onAssign=t=>{this.innerHTML=t.toString()}}connectedCallback(){var t;this.publisherId=this.getAttribute("publisher")||"",this.publisher=ii.instances.get(parseInt(this.publisherId)),(t=this.publisher)==null||t.onAssign(this.onAssign)}disconnectedCallback(){var t;(t=this.publisher)==null||t.offAssign(this.onAssign)}}try{customElements.define(Se+"-publisher-proxy",To)}catch{}window.addEventListener("pageshow",r=>{r.persisted&&N.getInstance().invalidateAll()});let Ps=(E=class{static disable(){this.enabled&&(this.enabled=!1,Array.from(E.observedElements.keys()).forEach(t=>E.unObserve(t)))}static observe(t){if(!t||!E.enabled||E.observedElements.has(t))return;const e=new MutationObserver(E.onMutation),i={};i.childList=!0,i.subtree=!0,i.attributes=!0,i.attributeFilter=["data-bind"],e.observe(t,i),t.querySelectorAll("[data-bind]").forEach(s=>E.addPublisherListeners(s)),E.observedElements.set(t,e)}static unObserve(t){if(!t)return;const e=this.observedElements.get(t);e&&(e.disconnect(),t.querySelectorAll("[data-bind]").forEach(i=>E.removePublisherListeners(i)))}static onAdded(t){t.hasAttribute&&t.hasAttribute("data-bind")&&E.addPublisherListeners(t),t.querySelectorAll?t.querySelectorAll("[data-bind]").forEach(e=>E.addPublisherListeners(e)):t.childNodes.forEach(e=>E.onAdded(e))}static onRemoved(t){t.hasAttribute&&t.hasAttribute("data-bind")&&E.removePublisherListeners(t),t.querySelectorAll?t.querySelectorAll("[data-bind]").forEach(e=>E.removePublisherListeners(e)):t.childNodes.forEach(e=>E.onRemoved(e))}static onMutation(t){for(const e of t)switch(e.type){case"attributes":E.addPublisherListeners(e.target);break;case"childList":e.addedNodes.forEach(i=>{E.onAdded(i)}),e.removedNodes.forEach(i=>{E.onRemoved(i)});break}}static removePublisherListeners(t){const e=E.publisherListeners.get(t);e&&(E.publisherListeners.delete(t),e.forEach(i=>{var s;(s=i.publisher)==null||s.offAssign(i.onAssign)}))}static getVariablesDescriptor(t){let e=t.match(/(\$(?:\w+\\?\.?)+)/g);return e?e=e.map(i=>i.replace("$","")):e=[t],e=e.filter(i=>i.length>0),{expression:t.replace("\\",""),variables:e.map(i=>i.split(/\b\.\b/).map(s=>s.replace("\\","")))}}static getDataBindItems(t){return"attributes"in t?Array.from(t.attributes).filter(e=>e.name.indexOf("::")==0).map(e=>({propertyToUpdate:e.name.substring(2).replace(/-((html)|\w)/g,s=>s.substring(1).toUpperCase()),bindedVariablesDescriptor:E.getVariablesDescriptor(e.value)})):[]}static getSubPublisher(t,e){if(!e)return t;for(const i of e)if(i!="_self_"){if(!t)return null;t=t[i]}return t}static addPublisherListeners(t){E.removePublisherListeners(t);const e=K.getAncestorAttributeValue(t.parentNode||t.host||t,"dataProvider");if(!e)return;const i=N.getInstance().get(e),s=E.getDataBindItems(t),o=[];s.forEach(n=>{const a=n.bindedVariablesDescriptor,c=n.propertyToUpdate;for(const h of a.variables){const d=h;let p=i;p=E.getSubPublisher(i,d);const m=t,v={publisher:p,onAssign:()=>{const b=a.variables.map(D=>{var f;return(f=E.getSubPublisher(i,D))==null?void 0:f.get()});let y=a.expression,_=!1;if(b.length==1&&a.variables[0].join(".")==y.substring(1)){let D=b[0];D===null&&(D=""),m[c]=D;return}for(let D=0;D<b.length;D++){let f=b[D];const u=a.variables[D];f===null&&(_=!0,f=void 0),y=y.replace("$"+u.join("."),f)}if(y.indexOf("|")!=-1){const D=y.indexOf("|");if(D==0)y=ws.js(y.substring(1));else{const f=y.substring(0,D),u=y.substring(D+1),w=ws[f];y=_?"":w?w(u):y}}else y=_?"":y;m[c]=y}};p==null||p.onAssign(v.onAssign),o.push(v)}}),E.publisherListeners.set(t,o)}},E.observedElements=new Map,E.enabled=!0,E.publisherListeners=new Map,E);Ps.observe(document.documentElement),window.SonicDataBindObserver||(window.SonicDataBindObserver=Ps);let tt=class Zt{static shallowEqual(t,e,i=!0){const s=Object.keys(t),o=Object.keys(e);if(s.length!==o.length&&i)return!1;for(const n of s){const a=t[n],c=e[n];if(i?a!==c:a!=c)return!1}return!0}static deepEqual(t,e,i=!0){const s=Object.keys(t),o=Object.keys(e);if(s.length!==o.length&&i)return!1;for(const n of s){const a=t[n],c=e[n],h=Zt.isObject(a)&&Zt.isObject(c),d=i?a!==c:a!=c;if(h&&!Zt.deepEqual(a,c)||!h&&d)return!1}return!0}static isObject(t){return t!=null&&typeof t=="object"}static isUndefindOrNull(t){return t==null}static isEmpty(t){return Zt.isUndefindOrNull(t)?!0:Object.keys(t).length===0}static traverse(t,e,i=!1){for(const s of e){const o=t[s];if(o===void 0)return;i&&Zt.isObject(o)?t=Object.assign(Array.isArray(o)?[]:{},t,o):t=t[s]}return t}static traverseDotNotation(t,e,i=!1){return Zt.traverse(t,e.split("."),i)}static getURLSearchArray(t,e=""){let i=[];for(let s in t){const o=t[s];e&&(s=e+"["+s+"]"),Zt.isObject(o)?i=[...i,...this.getURLSearchArray(o,s)]:i.push(`${s}=${o}`)}return i}static getURLSearchString(t){return Zt.getURLSearchArray(t,"").join("&")}};const pt=tt.traverseDotNotation;/**
2
2
  * @license
3
3
  * Copyright 2017 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
@@ -3073,7 +3073,7 @@ ${this.value}</textarea
3073
3073
  font-weight: var(--sc-headings-font-weight, 700);
3074
3074
  font-style: var(--sc-headings-font-style, normal);
3075
3075
  }
3076
- `],Wi=uh([$(fh)],Wi);var gh=Object.defineProperty,mh=Object.getOwnPropertyDescriptor,st=(r,t,e,i)=>{for(var s=i>1?void 0:i?mh(t,e):t,o=r.length-1,n;o>=0;o--)(n=r[o])&&(s=(i?n(t,e,s):n(s))||s);return i&&s&&gh(t,e,s),s};const wo="sonic-modal";let F=class extends G(x){constructor(){super(...arguments),this.forceAction=!1,this.removeOnHide=!1,this.removeHashOnHide=!1,this.align="left",this.padding="var(--sc_py) var(--sc_px)",this.maxWidth="var(--sc_max-w)",this.maxHeight="var(--sc_max-h)",this.width="100%",this.height="fit-content",this.zIndex="var(--sc_z-index)",this.effect="slide",this.fullScreen=!1,this.visible=!1,this.closeOnLocationChange=!1,this.location="",this._animationState="hidden",this._animationDuration=400}static create(r){const t=document.createElement(wo);return t.options=r,r.removeHashOnHide===!0&&t.setAttribute("removeHashOnHide","true"),r.removeOnHide===!0&&t.setAttribute("removeOnHide","true"),r.closeOnLocationChange===!0&&t.setAttribute("closeOnLocationChange","true"),r.maxWidth&&(t.maxWidth=r==null?void 0:r.maxWidth),r.width&&(t.width=r==null?void 0:r.width),r.maxHeight&&(t.maxHeight=r==null?void 0:r.maxHeight),r.height&&(t.height=r==null?void 0:r.height),r.forceAction&&(t.forceAction=!0),r.fullScreen&&(t.fullScreen=r==null?void 0:r.fullScreen),r.effect&&(t.effect=r==null?void 0:r.effect),r.paddingX&&t.style.setProperty("--sc_px",r==null?void 0:r.paddingX),r.paddingY&&t.style.setProperty("--sc_py",r==null?void 0:r.paddingY),r.zIndex&&t.style.setProperty("--sc_z-index",r==null?void 0:r.zIndex),_t.getPopContainer().appendChild(t),t.updateComplete.then(()=>{t.show()}),t}connectedCallback(){F.modals.push(this),it.onChange(this),super.connectedCallback()}disconnectedCallback(){it.offChange(this),F.modals.splice(F.modals.indexOf(this),1),this.removeEventListener("keydown",this.handleEscape),super.disconnectedCallback()}firstUpdated(){this.addEventListener("keydown",this.handleEscape)}willUpdate(r){if(this.closeOnLocationChange&&r.has("location")){const t=r.get("location");t&&this.location&&this.location!==t&&setTimeout(()=>{this.hide()},50)}super.willUpdate(r)}updated(r){const t=!r.get("visible")&&this.visible,e=r.get("visible")&&!this.visible;t&&this._animationState==="hidden"?this.show():e&&this._animationState==="visible"&&this.hide()}handleOverlayClick(r){!this.forceAction&&this._animationState==="visible"&&this.hide()}render(){const r={maxWidth:this.maxWidth,maxHeight:this.maxHeight,width:this.width,height:this.height,zIndex:this.zIndex,borderRadius:this.fullScreen?"0":"var(--sc_rounded)",pointerEvents:this._animationState==="visible"?"auto":"none"},t={padding:this.padding},e={pointerEvents:this._animationState==="visible"?"auto":"none"};return g`
3076
+ `],Wi=uh([$(fh)],Wi);var gh=Object.defineProperty,mh=Object.getOwnPropertyDescriptor,st=(r,t,e,i)=>{for(var s=i>1?void 0:i?mh(t,e):t,o=r.length-1,n;o>=0;o--)(n=r[o])&&(s=(i?n(t,e,s):n(s))||s);return i&&s&&gh(t,e,s),s};const wo="sonic-modal";let F=class extends G(x){constructor(){super(...arguments),this.forceAction=!1,this.removeOnHide=!1,this.removeHashOnHide=!1,this.align="left",this.padding="var(--sc_py) var(--sc_px)",this.maxWidth="var(--sc_max-w)",this.maxHeight="var(--sc_max-h)",this.width="100%",this.height="fit-content",this.zIndex="var(--sc_z-index)",this.effect="slide",this.fullScreen=!1,this.visible=!1,this.closeOnLocationChange=!1,this.location="",this._animationState="hidden",this._animationDuration=300,this._animationConfig={quartOut:"cubic-bezier(0.165, 0.84, 0.44, 1)",quadOut:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",linear:"linear",translateY:"translateY(2.5rem)",duration:300}}static create(r){const t=document.createElement(wo);return t.options=r,r.removeHashOnHide===!0&&t.setAttribute("removeHashOnHide","true"),r.removeOnHide===!0&&t.setAttribute("removeOnHide","true"),r.closeOnLocationChange===!0&&t.setAttribute("closeOnLocationChange","true"),r.maxWidth&&(t.maxWidth=r==null?void 0:r.maxWidth),r.width&&(t.width=r==null?void 0:r.width),r.maxHeight&&(t.maxHeight=r==null?void 0:r.maxHeight),r.height&&(t.height=r==null?void 0:r.height),r.forceAction&&(t.forceAction=!0),r.fullScreen&&(t.fullScreen=r==null?void 0:r.fullScreen),r.effect&&(t.effect=r==null?void 0:r.effect),r.paddingX&&t.style.setProperty("--sc_px",r==null?void 0:r.paddingX),r.paddingY&&t.style.setProperty("--sc_py",r==null?void 0:r.paddingY),r.zIndex&&t.style.setProperty("--sc_z-index",r==null?void 0:r.zIndex),_t.getPopContainer().appendChild(t),t.updateComplete.then(()=>{t.show()}),t}connectedCallback(){F.modals.push(this),it.onChange(this),super.connectedCallback()}disconnectedCallback(){it.offChange(this),F.modals.splice(F.modals.indexOf(this),1),this.removeEventListener("keydown",this.handleEscape),super.disconnectedCallback()}firstUpdated(){this.addEventListener("keydown",this.handleEscape)}willUpdate(r){if(this.closeOnLocationChange&&r.has("location")){const t=r.get("location");t&&this.location&&this.location!==t&&setTimeout(()=>{this.hide()},50)}super.willUpdate(r)}updated(r){const t=!r.get("visible")&&this.visible,e=r.get("visible")&&!this.visible;t&&this._animationState==="hidden"?this.show():e&&this._animationState==="visible"&&this.hide()}handleOverlayClick(r){!this.forceAction&&this._animationState==="visible"&&this.hide()}render(){const r={maxWidth:this.maxWidth,maxHeight:this.maxHeight,width:this.width,height:this.height,zIndex:this.zIndex,borderRadius:this.fullScreen?"0":"var(--sc_rounded)",pointerEvents:this._animationState==="visible"?"auto":"none"},t={padding:this.padding},e={pointerEvents:this._animationState==="visible"?"auto":"none"};return g`
3077
3077
  <div
3078
3078
  id="backdrop"
3079
3079
  @click=${this.handleOverlayClick}
@@ -3093,7 +3093,7 @@ ${this.value}</textarea
3093
3093
  <slot></slot>
3094
3094
  </div>`:A}
3095
3095
  </dialog>
3096
- `}modalFragment(r){var i;const t=(i=this.options)==null?void 0:i[r];if(!t)return A;let e;switch(t instanceof Object?e=t:e=z(t),r){case"title":return g`<sonic-modal-title>${e}</sonic-modal-title>`;case"subtitle":return g`<sonic-modal-subtitle>${e}</sonic-modal-subtitle>`;case"content":return g`<sonic-modal-content>${e}</sonic-modal-content>`;case"actions":return g`<sonic-modal-actions>${e}</sonic-modal-actions>`;default:return A}}async show(){this._modalElement.show(),this._animationState="in",this.animateIn(this._modalElement,this.effect).then(()=>{this._animationState="visible",this.visible=!0,this.dispatchEvent(new CustomEvent("show")),this._modalElement.focus()})}async hide(){this._animationState="out",this.dispatchEvent(new CustomEvent("hide")),await Promise.all([this.animateOut(this._modalElement,this.effect)]).then(()=>{this._modalElement.close(),this._animationState="hidden",this.visible=!1,this.hasAttribute("resetDataProviderOnHide")&&rt.get(this.getAttribute("resetDataProviderOnHide")).set({}),this.removeHashOnHide&&window.history.replaceState({},"",window.location.pathname),this.removeOnHide&&this.remove(),this.dispatchEvent(new CustomEvent("hidden"))})}dispose(){this.hide(),this.remove()}static disposeAll(){F.modals.forEach(r=>{r.dispose()})}handleEscape(r){if(r.key==="Escape"){r.preventDefault();const t=F.modals.filter(e=>e._animationState!=="hidden"&&!e.forceAction);t.length>0&&t[t.length-1].hide()}}animateIn(r,t="slide"){return new Promise(e=>{if(!r)return e();this.style.setProperty("--sc_backdrop-opacity","0.8");let i;t==="slide"?i=r.animate([{opacity:0,transform:"translateY(3.25rem)"},{opacity:1,transform:"translateY(0)"}],{duration:this._animationDuration,easing:"cubic-bezier(0.250, 0.250, 0.420, 1.225)",fill:"forwards",delay:80}):i=r.animate([{opacity:0},{opacity:1}],{duration:this._animationDuration,fill:"forwards"}),i.onfinish=()=>e()})}animateOut(r,t="slide"){return new Promise(e=>{if(!r)return e();this.style.setProperty("--sc_backdrop-opacity","0");let i;t==="slide"?i=r.animate([{opacity:1,transform:"translateY(0)"},{opacity:0,transform:"translateY(3.25rem)"}],{duration:this._animationDuration,easing:"cubic-bezier(0.250, 0.250, 0.420, 1.225)",fill:"forwards"}):i=r.animate([{opacity:1},{opacity:0}],{duration:this._animationDuration,fill:"forwards"}),i.onfinish=()=>e()})}};F.styles=[cs,P`
3096
+ `}modalFragment(r){var i;const t=(i=this.options)==null?void 0:i[r];if(!t)return A;let e;switch(t instanceof Object?e=t:e=z(t),r){case"title":return g`<sonic-modal-title>${e}</sonic-modal-title>`;case"subtitle":return g`<sonic-modal-subtitle>${e}</sonic-modal-subtitle>`;case"content":return g`<sonic-modal-content>${e}</sonic-modal-content>`;case"actions":return g`<sonic-modal-actions>${e}</sonic-modal-actions>`;default:return A}}async show(){this._modalElement.show(),this._animationState="in",await this.animation("in"),this._animationState="visible",this.visible=!0,this.dispatchEvent(new CustomEvent("show")),this._modalElement.focus()}async hide(){this._animationState="out",this.dispatchEvent(new CustomEvent("hide")),await this.animation("out"),this._modalElement.close(),this._animationState="hidden",this.visible=!1,this.hasAttribute("resetDataProviderOnHide")&&rt.get(this.getAttribute("resetDataProviderOnHide")).set({}),this.removeHashOnHide&&window.history.replaceState({},"",window.location.pathname),this.removeOnHide&&this.remove(),this.dispatchEvent(new CustomEvent("hidden"))}async dispose(){await this.hide(),this.remove()}static disposeAll(){F.modals.forEach(r=>{r.dispose()})}handleEscape(r){if(r.key==="Escape"){r.preventDefault();const t=F.modals.filter(e=>e._animationState!=="hidden"&&!e.forceAction);t.length>0&&t[t.length-1].hide()}}animation(r){return new Promise(t=>{const{quartOut:e,linear:i,translateY:s,duration:o,quadOut:n}=this._animationConfig,a=this._modalElement;if(!a)return t();const c=r==="in";c?this.style.setProperty("--sc_backdrop-opacity","0.8"):setTimeout(()=>{this.style.setProperty("--sc_backdrop-opacity","0")},300);const h=[];this.effect==="slide"&&(h.push(a.animate([{transform:c?s:"translateY(0)"},{transform:c?"translateY(0)":s}],{duration:o,easing:c?e:n,fill:"both",delay:c?100:0})),h.push(a.animate([{opacity:c?0:1},{opacity:c?1:0}],{duration:o,easing:i,fill:"both",delay:c?100:0}))),Promise.all(h.map(d=>d.finished)).then(()=>t())})}};F.styles=[cs,P`
3097
3097
  :host {
3098
3098
  --sc_py: 2.5rem;
3099
3099
  --sc_px: 1.5rem;
@@ -3134,7 +3134,7 @@ ${this.value}</textarea
3134
3134
  --sc_overlay-bg,
3135
3135
  var(--sc-base-200, rgba(0, 0, 0, 0.12))
3136
3136
  );
3137
- transition: opacity 0.2s ease-in-out;
3137
+ transition: opacity 0.15s linear;
3138
3138
  inset: 0;
3139
3139
  position: fixed;
3140
3140
  z-index: var(--sc_z-index);
@@ -3151,7 +3151,7 @@ ${this.value}</textarea
3151
3151
  ::slotted(sonic-modal-subtitle),
3152
3152
  sonic-modal-subtitle {
3153
3153
  margin-top: -0.9rem;
3154
- margin-bottom: 1.25rem;
3154
+ margin-bottom: 2.5rem;
3155
3155
  }
3156
3156
 
3157
3157
  @media (max-width: 767.5px) {
@@ -3173,7 +3173,7 @@ ${this.value}</textarea
3173
3173
  /* Layout des éléments slottés */
3174
3174
  ::slotted(sonic-modal-title),
3175
3175
  sonic-modal-title {
3176
- margin-bottom: 1.25rem;
3176
+ margin-bottom: 2.5rem;
3177
3177
  }
3178
3178
  :host([align="left"]) ::slotted(sonic-modal-title),
3179
3179
  :host([align="left"]) sonic-modal-title {
@@ -559,7 +559,7 @@ let T = (k = class {
559
559
  const h = await new Response(a.readable).arrayBuffer();
560
560
  return new TextDecoder().decode(h);
561
561
  }
562
- }, k.buildDate = "Tue Aug 19 2025 16:15:46 GMT+0200 (Central European Summer Time)", k.changed = !1, k.saving = !1, k.saveId = 0, k.instance = null, k.instances = /* @__PURE__ */ new Map(), k.modifiedCollectore = [], k);
562
+ }, k.buildDate = "Wed Aug 20 2025 11:11:45 GMT+0200 (Central European Summer Time)", k.changed = !1, k.saving = !1, k.saveId = 0, k.instance = null, k.instances = /* @__PURE__ */ new Map(), k.modifiedCollectore = [], k);
563
563
  if (typeof window < "u") {
564
564
  const r = window;
565
565
  r[Os + "PublisherManager"] = r[Os + "PublisherManager"] || T;
@@ -10936,7 +10936,13 @@ var Fh = Object.defineProperty, zh = Object.getOwnPropertyDescriptor, st = (r, t
10936
10936
  const So = "sonic-modal";
10937
10937
  let F = class extends G(x) {
10938
10938
  constructor() {
10939
- super(...arguments), this.forceAction = !1, this.removeOnHide = !1, this.removeHashOnHide = !1, this.align = "left", this.padding = "var(--sc_py) var(--sc_px)", this.maxWidth = "var(--sc_max-w)", this.maxHeight = "var(--sc_max-h)", this.width = "100%", this.height = "fit-content", this.zIndex = "var(--sc_z-index)", this.effect = "slide", this.fullScreen = !1, this.visible = !1, this.closeOnLocationChange = !1, this.location = "", this._animationState = "hidden", this._animationDuration = 400;
10939
+ super(...arguments), this.forceAction = !1, this.removeOnHide = !1, this.removeHashOnHide = !1, this.align = "left", this.padding = "var(--sc_py) var(--sc_px)", this.maxWidth = "var(--sc_max-w)", this.maxHeight = "var(--sc_max-h)", this.width = "100%", this.height = "fit-content", this.zIndex = "var(--sc_z-index)", this.effect = "slide", this.fullScreen = !1, this.visible = !1, this.closeOnLocationChange = !1, this.location = "", this._animationState = "hidden", this._animationDuration = 300, this._animationConfig = {
10940
+ quartOut: "cubic-bezier(0.165, 0.84, 0.44, 1)",
10941
+ quadOut: "cubic-bezier(0.25, 0.46, 0.45, 0.94)",
10942
+ linear: "linear",
10943
+ translateY: "translateY(2.5rem)",
10944
+ duration: 300
10945
+ };
10940
10946
  }
10941
10947
  static create(r) {
10942
10948
  const t = document.createElement(So);
@@ -11036,23 +11042,17 @@ let F = class extends G(x) {
11036
11042
  }
11037
11043
  // Show the modal
11038
11044
  async show() {
11039
- this._modalElement.show(), this._animationState = "in", this.animateIn(this._modalElement, this.effect).then(() => {
11040
- this._animationState = "visible", this.visible = !0, this.dispatchEvent(new CustomEvent("show")), this._modalElement.focus();
11041
- });
11045
+ this._modalElement.show(), this._animationState = "in", await this.animation("in"), this._animationState = "visible", this.visible = !0, this.dispatchEvent(new CustomEvent("show")), this._modalElement.focus();
11042
11046
  }
11043
11047
  // Hide the modal
11044
11048
  async hide() {
11045
- this._animationState = "out", this.dispatchEvent(new CustomEvent("hide")), await Promise.all([this.animateOut(this._modalElement, this.effect)]).then(
11046
- () => {
11047
- this._modalElement.close(), this._animationState = "hidden", this.visible = !1, this.hasAttribute("resetDataProviderOnHide") && rt.get(
11048
- this.getAttribute("resetDataProviderOnHide")
11049
- ).set({}), this.removeHashOnHide && window.history.replaceState({}, "", window.location.pathname), this.removeOnHide && this.remove(), this.dispatchEvent(new CustomEvent("hidden"));
11050
- }
11051
- );
11049
+ this._animationState = "out", this.dispatchEvent(new CustomEvent("hide")), await this.animation("out"), this._modalElement.close(), this._animationState = "hidden", this.visible = !1, this.hasAttribute("resetDataProviderOnHide") && rt.get(this.getAttribute("resetDataProviderOnHide")).set(
11050
+ {}
11051
+ ), this.removeHashOnHide && window.history.replaceState({}, "", window.location.pathname), this.removeOnHide && this.remove(), this.dispatchEvent(new CustomEvent("hidden"));
11052
11052
  }
11053
11053
  // Hide and remove the modal
11054
- dispose() {
11055
- this.hide(), this.remove();
11054
+ async dispose() {
11055
+ await this.hide(), this.remove();
11056
11056
  }
11057
11057
  // Hide and remove all modals
11058
11058
  static disposeAll() {
@@ -11073,59 +11073,41 @@ let F = class extends G(x) {
11073
11073
  // ------------------------
11074
11074
  // ANIMATIONS
11075
11075
  // ------------------------
11076
- animateIn(r, t = "slide") {
11077
- return new Promise((e) => {
11078
- if (!r) return e();
11079
- this.style.setProperty("--sc_backdrop-opacity", "0.8");
11080
- let i;
11081
- t === "slide" ? i = r.animate(
11082
- [
11083
- {
11084
- opacity: 0,
11085
- transform: "translateY(3.25rem)"
11086
- },
11076
+ animation(r) {
11077
+ return new Promise((t) => {
11078
+ const { quartOut: e, linear: i, translateY: s, duration: o, quadOut: n } = this._animationConfig, a = this._modalElement;
11079
+ if (!a) return t();
11080
+ const c = r === "in";
11081
+ c ? this.style.setProperty("--sc_backdrop-opacity", "0.8") : setTimeout(() => {
11082
+ this.style.setProperty("--sc_backdrop-opacity", "0");
11083
+ }, 300);
11084
+ const h = [];
11085
+ this.effect === "slide" && (h.push(
11086
+ a.animate(
11087
+ [
11088
+ { transform: c ? s : "translateY(0)" },
11089
+ { transform: c ? "translateY(0)" : s }
11090
+ ],
11087
11091
  {
11088
- opacity: 1,
11089
- transform: "translateY(0)"
11092
+ duration: o,
11093
+ easing: c ? e : n,
11094
+ fill: "both",
11095
+ delay: c ? 100 : 0
11090
11096
  }
11091
- ],
11092
- {
11093
- duration: this._animationDuration,
11094
- easing: "cubic-bezier(0.250, 0.250, 0.420, 1.225)",
11095
- fill: "forwards",
11096
- delay: 80
11097
- }
11098
- ) : i = r.animate([{ opacity: 0 }, { opacity: 1 }], {
11099
- duration: this._animationDuration,
11100
- fill: "forwards"
11101
- }), i.onfinish = () => e();
11102
- });
11103
- }
11104
- animateOut(r, t = "slide") {
11105
- return new Promise((e) => {
11106
- if (!r) return e();
11107
- this.style.setProperty("--sc_backdrop-opacity", "0");
11108
- let i;
11109
- t === "slide" ? i = r.animate(
11110
- [
11111
- {
11112
- opacity: 1,
11113
- transform: "translateY(0)"
11114
- },
11097
+ )
11098
+ ), h.push(
11099
+ a.animate(
11100
+ [{ opacity: c ? 0 : 1 }, { opacity: c ? 1 : 0 }],
11115
11101
  {
11116
- opacity: 0,
11117
- transform: "translateY(3.25rem)"
11102
+ duration: o,
11103
+ easing: i,
11104
+ fill: "both",
11105
+ delay: c ? 100 : 0
11118
11106
  }
11119
- ],
11120
- {
11121
- duration: this._animationDuration,
11122
- easing: "cubic-bezier(0.250, 0.250, 0.420, 1.225)",
11123
- fill: "forwards"
11124
- }
11125
- ) : i = r.animate([{ opacity: 1 }, { opacity: 0 }], {
11126
- duration: this._animationDuration,
11127
- fill: "forwards"
11128
- }), i.onfinish = () => e();
11107
+ )
11108
+ )), Promise.all(h.map((d) => d.finished)).then(
11109
+ () => t()
11110
+ );
11129
11111
  });
11130
11112
  }
11131
11113
  };
@@ -11172,7 +11154,7 @@ F.styles = [
11172
11154
  --sc_overlay-bg,
11173
11155
  var(--sc-base-200, rgba(0, 0, 0, 0.12))
11174
11156
  );
11175
- transition: opacity 0.2s ease-in-out;
11157
+ transition: opacity 0.15s linear;
11176
11158
  inset: 0;
11177
11159
  position: fixed;
11178
11160
  z-index: var(--sc_z-index);
@@ -11189,7 +11171,7 @@ F.styles = [
11189
11171
  ::slotted(sonic-modal-subtitle),
11190
11172
  sonic-modal-subtitle {
11191
11173
  margin-top: -0.9rem;
11192
- margin-bottom: 1.25rem;
11174
+ margin-bottom: 2.5rem;
11193
11175
  }
11194
11176
 
11195
11177
  @media (max-width: 767.5px) {
@@ -11211,7 +11193,7 @@ F.styles = [
11211
11193
  /* Layout des éléments slottés */
11212
11194
  ::slotted(sonic-modal-title),
11213
11195
  sonic-modal-title {
11214
- margin-bottom: 1.25rem;
11196
+ margin-bottom: 2.5rem;
11215
11197
  }
11216
11198
  :host([align="left"]) ::slotted(sonic-modal-title),
11217
11199
  :host([align="left"]) sonic-modal-title {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supersoniks/concorde",
3
- "version": "3.1.92",
3
+ "version": "3.1.93",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "",
@@ -88,7 +88,7 @@ export class Modal extends Subscriber(LitElement) {
88
88
  --sc_overlay-bg,
89
89
  var(--sc-base-200, rgba(0, 0, 0, 0.12))
90
90
  );
91
- transition: opacity 0.2s ease-in-out;
91
+ transition: opacity 0.15s linear;
92
92
  inset: 0;
93
93
  position: fixed;
94
94
  z-index: var(--sc_z-index);
@@ -105,7 +105,7 @@ export class Modal extends Subscriber(LitElement) {
105
105
  ::slotted(sonic-modal-subtitle),
106
106
  sonic-modal-subtitle {
107
107
  margin-top: -0.9rem;
108
- margin-bottom: 1.25rem;
108
+ margin-bottom: 2.5rem;
109
109
  }
110
110
 
111
111
  @media (max-width: 767.5px) {
@@ -127,7 +127,7 @@ export class Modal extends Subscriber(LitElement) {
127
127
  /* Layout des éléments slottés */
128
128
  ::slotted(sonic-modal-title),
129
129
  sonic-modal-title {
130
- margin-bottom: 1.25rem;
130
+ margin-bottom: 2.5rem;
131
131
  }
132
132
  :host([align="left"]) ::slotted(sonic-modal-title),
133
133
  :host([align="left"]) sonic-modal-title {
@@ -206,7 +206,7 @@ export class Modal extends Subscriber(LitElement) {
206
206
  @state() private _animationState: "visible" | "in" | "out" | "hidden" =
207
207
  "hidden";
208
208
 
209
- _animationDuration = 400;
209
+ _animationDuration = 300;
210
210
 
211
211
  static create(options: ModalCreateOptions): Modal {
212
212
  const modal = document.createElement(tagName) as Modal;
@@ -381,42 +381,38 @@ export class Modal extends Subscriber(LitElement) {
381
381
  async show(): Promise<void> {
382
382
  this._modalElement.show();
383
383
  this._animationState = "in";
384
- this.animateIn(this._modalElement, this.effect).then(() => {
385
- this._animationState = "visible";
386
- this.visible = true;
387
- this.dispatchEvent(new CustomEvent("show"));
388
- this._modalElement.focus();
389
- });
384
+ await this.animation("in");
385
+ this._animationState = "visible";
386
+ this.visible = true;
387
+ this.dispatchEvent(new CustomEvent("show"));
388
+ this._modalElement.focus();
390
389
  }
391
390
 
392
391
  // Hide the modal
393
392
  async hide(): Promise<void> {
394
393
  this._animationState = "out";
395
394
  this.dispatchEvent(new CustomEvent("hide"));
396
- await Promise.all([this.animateOut(this._modalElement, this.effect)]).then(
397
- () => {
398
- this._modalElement.close();
399
- this._animationState = "hidden";
400
- this.visible = false;
401
- if (this.hasAttribute("resetDataProviderOnHide")) {
402
- PublisherManager.get(
403
- this.getAttribute("resetDataProviderOnHide")
404
- ).set({});
405
- }
406
- if (this.removeHashOnHide) {
407
- window.history.replaceState({}, "", window.location.pathname);
408
- }
409
- if (this.removeOnHide) {
410
- this.remove();
411
- }
412
- this.dispatchEvent(new CustomEvent("hidden"));
413
- }
414
- );
395
+ await this.animation("out");
396
+ this._modalElement.close();
397
+ this._animationState = "hidden";
398
+ this.visible = false;
399
+ if (this.hasAttribute("resetDataProviderOnHide")) {
400
+ PublisherManager.get(this.getAttribute("resetDataProviderOnHide")).set(
401
+ {}
402
+ );
403
+ }
404
+ if (this.removeHashOnHide) {
405
+ window.history.replaceState({}, "", window.location.pathname);
406
+ }
407
+ if (this.removeOnHide) {
408
+ this.remove();
409
+ }
410
+ this.dispatchEvent(new CustomEvent("hidden"));
415
411
  }
416
412
 
417
413
  // Hide and remove the modal
418
- dispose() {
419
- this.hide();
414
+ async dispose() {
415
+ await this.hide();
420
416
  this.remove();
421
417
  }
422
418
 
@@ -441,82 +437,71 @@ export class Modal extends Subscriber(LitElement) {
441
437
  }
442
438
  }
443
439
 
440
+ private _animationConfig = {
441
+ quartOut: "cubic-bezier(0.165, 0.84, 0.44, 1)",
442
+ quadOut: "cubic-bezier(0.25, 0.46, 0.45, 0.94)",
443
+ linear: "linear",
444
+ translateY: "translateY(2.5rem)",
445
+ duration: 300,
446
+ } as const;
447
+
444
448
  // ------------------------
445
449
  // ANIMATIONS
446
450
  // ------------------------
447
- private animateIn(
448
- element: HTMLElement,
449
- effect: effectType = "slide"
450
- ): Promise<void> {
451
+ private animation(direction: "in" | "out"): Promise<void> {
451
452
  return new Promise((resolve) => {
453
+ const { quartOut, linear, translateY, duration, quadOut } =
454
+ this._animationConfig;
455
+
456
+ const element = this._modalElement;
452
457
  if (!element) return resolve();
453
458
 
454
- this.style.setProperty("--sc_backdrop-opacity", "0.8");
455
- let animation: Animation;
456
- if (effect === "slide") {
457
- animation = element.animate(
458
- [
459
- {
460
- opacity: 0,
461
- transform: "translateY(3.25rem)",
462
- },
463
- {
464
- opacity: 1,
465
- transform: "translateY(0)",
466
- },
467
- ],
468
- {
469
- duration: this._animationDuration,
470
- easing: "cubic-bezier(0.250, 0.250, 0.420, 1.225)",
471
- fill: "forwards",
472
- delay: 80,
473
- }
474
- );
459
+ const isEntering = direction === "in";
460
+
461
+ // Backdrop
462
+ if (isEntering) {
463
+ this.style.setProperty("--sc_backdrop-opacity", "0.8");
475
464
  } else {
476
- // fade (ou none)
477
- animation = element.animate([{ opacity: 0 }, { opacity: 1 }], {
478
- duration: this._animationDuration,
479
- fill: "forwards",
480
- });
465
+ setTimeout(() => {
466
+ this.style.setProperty("--sc_backdrop-opacity", "0");
467
+ }, 300);
481
468
  }
482
- animation.onfinish = () => resolve();
483
- });
484
- }
485
469
 
486
- private animateOut(
487
- element: HTMLElement,
488
- effect: effectType = "slide"
489
- ): Promise<void> {
490
- return new Promise((resolve) => {
491
- if (!element) return resolve();
492
- this.style.setProperty("--sc_backdrop-opacity", "0");
493
- let animation: Animation;
494
- if (effect === "slide") {
495
- animation = element.animate(
496
- [
470
+ // Animations
471
+
472
+ const animations = [];
473
+
474
+ if (this.effect === "slide") {
475
+ animations.push(
476
+ element.animate(
477
+ [
478
+ { transform: isEntering ? translateY : "translateY(0)" },
479
+ { transform: isEntering ? "translateY(0)" : translateY },
480
+ ],
497
481
  {
498
- opacity: 1,
499
- transform: "translateY(0)",
500
- },
482
+ duration: duration,
483
+ easing: isEntering ? quartOut : quadOut,
484
+ fill: "both",
485
+ delay: isEntering ? 100 : 0,
486
+ }
487
+ )
488
+ );
489
+ animations.push(
490
+ element.animate(
491
+ [{ opacity: isEntering ? 0 : 1 }, { opacity: isEntering ? 1 : 0 }],
501
492
  {
502
- opacity: 0,
503
- transform: "translateY(3.25rem)",
504
- },
505
- ],
506
- {
507
- duration: this._animationDuration,
508
- easing: "cubic-bezier(0.250, 0.250, 0.420, 1.225)",
509
- fill: "forwards",
510
- }
493
+ duration: duration,
494
+ easing: linear,
495
+ fill: "both",
496
+ delay: isEntering ? 100 : 0,
497
+ }
498
+ )
511
499
  );
512
- } else {
513
- // fade (ou none)
514
- animation = element.animate([{ opacity: 1 }, { opacity: 0 }], {
515
- duration: this._animationDuration,
516
- fill: "forwards",
517
- });
518
500
  }
519
- animation.onfinish = () => resolve();
501
+
502
+ Promise.all(animations.map((anim) => anim.finished)).then(() =>
503
+ resolve()
504
+ );
520
505
  });
521
506
  }
522
507
  }