@supersoniks/concorde 3.1.91 → 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 +1 -1
- package/concorde-core.bundle.js +6 -6
- package/concorde-core.es.js +53 -69
- package/dist/concorde-core.bundle.js +6 -6
- package/dist/concorde-core.es.js +53 -69
- package/package.json +1 -1
- package/src/core/components/ui/modal/modal.ts +85 -98
package/build-infos.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"date":
|
|
1
|
+
{"date":1755681106}
|
package/concorde-core.bundle.js
CHANGED
|
@@ -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 15:52:36 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=
|
|
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.
|
|
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.
|
|
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:
|
|
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:
|
|
3176
|
+
margin-bottom: 2.5rem;
|
|
3177
3177
|
}
|
|
3178
3178
|
:host([align="left"]) ::slotted(sonic-modal-title),
|
|
3179
3179
|
:host([align="left"]) sonic-modal-title {
|
package/concorde-core.es.js
CHANGED
|
@@ -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 = "
|
|
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,11 +10936,19 @@ 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 =
|
|
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
|
-
static
|
|
10947
|
+
static create(r) {
|
|
10942
10948
|
const t = document.createElement(So);
|
|
10943
|
-
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), yt.getPopContainer().appendChild(t),
|
|
10949
|
+
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), yt.getPopContainer().appendChild(t), t.updateComplete.then(() => {
|
|
10950
|
+
t.show();
|
|
10951
|
+
}), t;
|
|
10944
10952
|
}
|
|
10945
10953
|
connectedCallback() {
|
|
10946
10954
|
F.modals.push(this), it.onChange(this), super.connectedCallback();
|
|
@@ -11034,23 +11042,17 @@ let F = class extends G(x) {
|
|
|
11034
11042
|
}
|
|
11035
11043
|
// Show the modal
|
|
11036
11044
|
async show() {
|
|
11037
|
-
this._modalElement.show(), this._animationState = "in", this.
|
|
11038
|
-
this._animationState = "visible", this.visible = !0, this.dispatchEvent(new CustomEvent("show")), this._modalElement.focus();
|
|
11039
|
-
});
|
|
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();
|
|
11040
11046
|
}
|
|
11041
11047
|
// Hide the modal
|
|
11042
11048
|
async hide() {
|
|
11043
|
-
this._animationState = "out", this.dispatchEvent(new CustomEvent("hide")), await
|
|
11044
|
-
|
|
11045
|
-
|
|
11046
|
-
this.getAttribute("resetDataProviderOnHide")
|
|
11047
|
-
).set({}), this.removeHashOnHide && window.history.replaceState({}, "", window.location.pathname), this.removeOnHide && this.remove(), this.dispatchEvent(new CustomEvent("hidden"));
|
|
11048
|
-
}
|
|
11049
|
-
);
|
|
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"));
|
|
11050
11052
|
}
|
|
11051
11053
|
// Hide and remove the modal
|
|
11052
|
-
dispose() {
|
|
11053
|
-
this.hide(), this.remove();
|
|
11054
|
+
async dispose() {
|
|
11055
|
+
await this.hide(), this.remove();
|
|
11054
11056
|
}
|
|
11055
11057
|
// Hide and remove all modals
|
|
11056
11058
|
static disposeAll() {
|
|
@@ -11063,7 +11065,7 @@ let F = class extends G(x) {
|
|
|
11063
11065
|
if (r.key === "Escape") {
|
|
11064
11066
|
r.preventDefault();
|
|
11065
11067
|
const t = F.modals.filter(
|
|
11066
|
-
(e) => e._animationState
|
|
11068
|
+
(e) => e._animationState !== "hidden" && !e.forceAction
|
|
11067
11069
|
);
|
|
11068
11070
|
t.length > 0 && t[t.length - 1].hide();
|
|
11069
11071
|
}
|
|
@@ -11071,59 +11073,41 @@ let F = class extends G(x) {
|
|
|
11071
11073
|
// ------------------------
|
|
11072
11074
|
// ANIMATIONS
|
|
11073
11075
|
// ------------------------
|
|
11074
|
-
|
|
11075
|
-
return new Promise((
|
|
11076
|
-
|
|
11077
|
-
|
|
11078
|
-
|
|
11079
|
-
|
|
11080
|
-
|
|
11081
|
-
|
|
11082
|
-
|
|
11083
|
-
|
|
11084
|
-
|
|
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
|
+
],
|
|
11085
11091
|
{
|
|
11086
|
-
|
|
11087
|
-
|
|
11092
|
+
duration: o,
|
|
11093
|
+
easing: c ? e : n,
|
|
11094
|
+
fill: "both",
|
|
11095
|
+
delay: c ? 100 : 0
|
|
11088
11096
|
}
|
|
11089
|
-
|
|
11090
|
-
|
|
11091
|
-
|
|
11092
|
-
|
|
11093
|
-
fill: "forwards",
|
|
11094
|
-
delay: 80
|
|
11095
|
-
}
|
|
11096
|
-
) : i = r.animate([{ opacity: 0 }, { opacity: 1 }], {
|
|
11097
|
-
duration: this._animationDuration,
|
|
11098
|
-
fill: "forwards"
|
|
11099
|
-
}), i.onfinish = () => e();
|
|
11100
|
-
});
|
|
11101
|
-
}
|
|
11102
|
-
animateOut(r, t = "slide") {
|
|
11103
|
-
return new Promise((e) => {
|
|
11104
|
-
if (!r) return e();
|
|
11105
|
-
this.style.setProperty("--sc_backdrop-opacity", "0");
|
|
11106
|
-
let i;
|
|
11107
|
-
t === "slide" ? i = r.animate(
|
|
11108
|
-
[
|
|
11109
|
-
{
|
|
11110
|
-
opacity: 1,
|
|
11111
|
-
transform: "translateY(0)"
|
|
11112
|
-
},
|
|
11097
|
+
)
|
|
11098
|
+
), h.push(
|
|
11099
|
+
a.animate(
|
|
11100
|
+
[{ opacity: c ? 0 : 1 }, { opacity: c ? 1 : 0 }],
|
|
11113
11101
|
{
|
|
11114
|
-
|
|
11115
|
-
|
|
11102
|
+
duration: o,
|
|
11103
|
+
easing: i,
|
|
11104
|
+
fill: "both",
|
|
11105
|
+
delay: c ? 100 : 0
|
|
11116
11106
|
}
|
|
11117
|
-
|
|
11118
|
-
|
|
11119
|
-
|
|
11120
|
-
|
|
11121
|
-
fill: "forwards"
|
|
11122
|
-
}
|
|
11123
|
-
) : i = r.animate([{ opacity: 1 }, { opacity: 0 }], {
|
|
11124
|
-
duration: this._animationDuration,
|
|
11125
|
-
fill: "forwards"
|
|
11126
|
-
}), i.onfinish = () => e();
|
|
11107
|
+
)
|
|
11108
|
+
)), Promise.all(h.map((d) => d.finished)).then(
|
|
11109
|
+
() => t()
|
|
11110
|
+
);
|
|
11127
11111
|
});
|
|
11128
11112
|
}
|
|
11129
11113
|
};
|
|
@@ -11170,7 +11154,7 @@ F.styles = [
|
|
|
11170
11154
|
--sc_overlay-bg,
|
|
11171
11155
|
var(--sc-base-200, rgba(0, 0, 0, 0.12))
|
|
11172
11156
|
);
|
|
11173
|
-
transition: opacity 0.
|
|
11157
|
+
transition: opacity 0.15s linear;
|
|
11174
11158
|
inset: 0;
|
|
11175
11159
|
position: fixed;
|
|
11176
11160
|
z-index: var(--sc_z-index);
|
|
@@ -11187,7 +11171,7 @@ F.styles = [
|
|
|
11187
11171
|
::slotted(sonic-modal-subtitle),
|
|
11188
11172
|
sonic-modal-subtitle {
|
|
11189
11173
|
margin-top: -0.9rem;
|
|
11190
|
-
margin-bottom:
|
|
11174
|
+
margin-bottom: 2.5rem;
|
|
11191
11175
|
}
|
|
11192
11176
|
|
|
11193
11177
|
@media (max-width: 767.5px) {
|
|
@@ -11209,7 +11193,7 @@ F.styles = [
|
|
|
11209
11193
|
/* Layout des éléments slottés */
|
|
11210
11194
|
::slotted(sonic-modal-title),
|
|
11211
11195
|
sonic-modal-title {
|
|
11212
|
-
margin-bottom:
|
|
11196
|
+
margin-bottom: 2.5rem;
|
|
11213
11197
|
}
|
|
11214
11198
|
:host([align="left"]) ::slotted(sonic-modal-title),
|
|
11215
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 15:52:36 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=
|
|
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.
|
|
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.
|
|
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:
|
|
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:
|
|
3176
|
+
margin-bottom: 2.5rem;
|
|
3177
3177
|
}
|
|
3178
3178
|
:host([align="left"]) ::slotted(sonic-modal-title),
|
|
3179
3179
|
:host([align="left"]) sonic-modal-title {
|
package/dist/concorde-core.es.js
CHANGED
|
@@ -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 = "
|
|
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,11 +10936,19 @@ 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 =
|
|
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
|
-
static
|
|
10947
|
+
static create(r) {
|
|
10942
10948
|
const t = document.createElement(So);
|
|
10943
|
-
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), yt.getPopContainer().appendChild(t),
|
|
10949
|
+
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), yt.getPopContainer().appendChild(t), t.updateComplete.then(() => {
|
|
10950
|
+
t.show();
|
|
10951
|
+
}), t;
|
|
10944
10952
|
}
|
|
10945
10953
|
connectedCallback() {
|
|
10946
10954
|
F.modals.push(this), it.onChange(this), super.connectedCallback();
|
|
@@ -11034,23 +11042,17 @@ let F = class extends G(x) {
|
|
|
11034
11042
|
}
|
|
11035
11043
|
// Show the modal
|
|
11036
11044
|
async show() {
|
|
11037
|
-
this._modalElement.show(), this._animationState = "in", this.
|
|
11038
|
-
this._animationState = "visible", this.visible = !0, this.dispatchEvent(new CustomEvent("show")), this._modalElement.focus();
|
|
11039
|
-
});
|
|
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();
|
|
11040
11046
|
}
|
|
11041
11047
|
// Hide the modal
|
|
11042
11048
|
async hide() {
|
|
11043
|
-
this._animationState = "out", this.dispatchEvent(new CustomEvent("hide")), await
|
|
11044
|
-
|
|
11045
|
-
|
|
11046
|
-
this.getAttribute("resetDataProviderOnHide")
|
|
11047
|
-
).set({}), this.removeHashOnHide && window.history.replaceState({}, "", window.location.pathname), this.removeOnHide && this.remove(), this.dispatchEvent(new CustomEvent("hidden"));
|
|
11048
|
-
}
|
|
11049
|
-
);
|
|
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"));
|
|
11050
11052
|
}
|
|
11051
11053
|
// Hide and remove the modal
|
|
11052
|
-
dispose() {
|
|
11053
|
-
this.hide(), this.remove();
|
|
11054
|
+
async dispose() {
|
|
11055
|
+
await this.hide(), this.remove();
|
|
11054
11056
|
}
|
|
11055
11057
|
// Hide and remove all modals
|
|
11056
11058
|
static disposeAll() {
|
|
@@ -11063,7 +11065,7 @@ let F = class extends G(x) {
|
|
|
11063
11065
|
if (r.key === "Escape") {
|
|
11064
11066
|
r.preventDefault();
|
|
11065
11067
|
const t = F.modals.filter(
|
|
11066
|
-
(e) => e._animationState
|
|
11068
|
+
(e) => e._animationState !== "hidden" && !e.forceAction
|
|
11067
11069
|
);
|
|
11068
11070
|
t.length > 0 && t[t.length - 1].hide();
|
|
11069
11071
|
}
|
|
@@ -11071,59 +11073,41 @@ let F = class extends G(x) {
|
|
|
11071
11073
|
// ------------------------
|
|
11072
11074
|
// ANIMATIONS
|
|
11073
11075
|
// ------------------------
|
|
11074
|
-
|
|
11075
|
-
return new Promise((
|
|
11076
|
-
|
|
11077
|
-
|
|
11078
|
-
|
|
11079
|
-
|
|
11080
|
-
|
|
11081
|
-
|
|
11082
|
-
|
|
11083
|
-
|
|
11084
|
-
|
|
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
|
+
],
|
|
11085
11091
|
{
|
|
11086
|
-
|
|
11087
|
-
|
|
11092
|
+
duration: o,
|
|
11093
|
+
easing: c ? e : n,
|
|
11094
|
+
fill: "both",
|
|
11095
|
+
delay: c ? 100 : 0
|
|
11088
11096
|
}
|
|
11089
|
-
|
|
11090
|
-
|
|
11091
|
-
|
|
11092
|
-
|
|
11093
|
-
fill: "forwards",
|
|
11094
|
-
delay: 80
|
|
11095
|
-
}
|
|
11096
|
-
) : i = r.animate([{ opacity: 0 }, { opacity: 1 }], {
|
|
11097
|
-
duration: this._animationDuration,
|
|
11098
|
-
fill: "forwards"
|
|
11099
|
-
}), i.onfinish = () => e();
|
|
11100
|
-
});
|
|
11101
|
-
}
|
|
11102
|
-
animateOut(r, t = "slide") {
|
|
11103
|
-
return new Promise((e) => {
|
|
11104
|
-
if (!r) return e();
|
|
11105
|
-
this.style.setProperty("--sc_backdrop-opacity", "0");
|
|
11106
|
-
let i;
|
|
11107
|
-
t === "slide" ? i = r.animate(
|
|
11108
|
-
[
|
|
11109
|
-
{
|
|
11110
|
-
opacity: 1,
|
|
11111
|
-
transform: "translateY(0)"
|
|
11112
|
-
},
|
|
11097
|
+
)
|
|
11098
|
+
), h.push(
|
|
11099
|
+
a.animate(
|
|
11100
|
+
[{ opacity: c ? 0 : 1 }, { opacity: c ? 1 : 0 }],
|
|
11113
11101
|
{
|
|
11114
|
-
|
|
11115
|
-
|
|
11102
|
+
duration: o,
|
|
11103
|
+
easing: i,
|
|
11104
|
+
fill: "both",
|
|
11105
|
+
delay: c ? 100 : 0
|
|
11116
11106
|
}
|
|
11117
|
-
|
|
11118
|
-
|
|
11119
|
-
|
|
11120
|
-
|
|
11121
|
-
fill: "forwards"
|
|
11122
|
-
}
|
|
11123
|
-
) : i = r.animate([{ opacity: 1 }, { opacity: 0 }], {
|
|
11124
|
-
duration: this._animationDuration,
|
|
11125
|
-
fill: "forwards"
|
|
11126
|
-
}), i.onfinish = () => e();
|
|
11107
|
+
)
|
|
11108
|
+
)), Promise.all(h.map((d) => d.finished)).then(
|
|
11109
|
+
() => t()
|
|
11110
|
+
);
|
|
11127
11111
|
});
|
|
11128
11112
|
}
|
|
11129
11113
|
};
|
|
@@ -11170,7 +11154,7 @@ F.styles = [
|
|
|
11170
11154
|
--sc_overlay-bg,
|
|
11171
11155
|
var(--sc-base-200, rgba(0, 0, 0, 0.12))
|
|
11172
11156
|
);
|
|
11173
|
-
transition: opacity 0.
|
|
11157
|
+
transition: opacity 0.15s linear;
|
|
11174
11158
|
inset: 0;
|
|
11175
11159
|
position: fixed;
|
|
11176
11160
|
z-index: var(--sc_z-index);
|
|
@@ -11187,7 +11171,7 @@ F.styles = [
|
|
|
11187
11171
|
::slotted(sonic-modal-subtitle),
|
|
11188
11172
|
sonic-modal-subtitle {
|
|
11189
11173
|
margin-top: -0.9rem;
|
|
11190
|
-
margin-bottom:
|
|
11174
|
+
margin-bottom: 2.5rem;
|
|
11191
11175
|
}
|
|
11192
11176
|
|
|
11193
11177
|
@media (max-width: 767.5px) {
|
|
@@ -11209,7 +11193,7 @@ F.styles = [
|
|
|
11209
11193
|
/* Layout des éléments slottés */
|
|
11210
11194
|
::slotted(sonic-modal-title),
|
|
11211
11195
|
sonic-modal-title {
|
|
11212
|
-
margin-bottom:
|
|
11196
|
+
margin-bottom: 2.5rem;
|
|
11213
11197
|
}
|
|
11214
11198
|
:host([align="left"]) ::slotted(sonic-modal-title),
|
|
11215
11199
|
:host([align="left"]) sonic-modal-title {
|
package/package.json
CHANGED
|
@@ -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.
|
|
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:
|
|
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:
|
|
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,9 +206,9 @@ export class Modal extends Subscriber(LitElement) {
|
|
|
206
206
|
@state() private _animationState: "visible" | "in" | "out" | "hidden" =
|
|
207
207
|
"hidden";
|
|
208
208
|
|
|
209
|
-
_animationDuration =
|
|
209
|
+
_animationDuration = 300;
|
|
210
210
|
|
|
211
|
-
static
|
|
211
|
+
static create(options: ModalCreateOptions): Modal {
|
|
212
212
|
const modal = document.createElement(tagName) as Modal;
|
|
213
213
|
// modal styles
|
|
214
214
|
modal.options = options;
|
|
@@ -235,8 +235,10 @@ export class Modal extends Subscriber(LitElement) {
|
|
|
235
235
|
|
|
236
236
|
const container = Theme.getPopContainer();
|
|
237
237
|
container.appendChild(modal);
|
|
238
|
-
|
|
239
|
-
|
|
238
|
+
modal.updateComplete.then(() => {
|
|
239
|
+
modal.show();
|
|
240
|
+
});
|
|
241
|
+
|
|
240
242
|
return modal;
|
|
241
243
|
}
|
|
242
244
|
|
|
@@ -379,42 +381,38 @@ export class Modal extends Subscriber(LitElement) {
|
|
|
379
381
|
async show(): Promise<void> {
|
|
380
382
|
this._modalElement.show();
|
|
381
383
|
this._animationState = "in";
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
});
|
|
384
|
+
await this.animation("in");
|
|
385
|
+
this._animationState = "visible";
|
|
386
|
+
this.visible = true;
|
|
387
|
+
this.dispatchEvent(new CustomEvent("show"));
|
|
388
|
+
this._modalElement.focus();
|
|
388
389
|
}
|
|
389
390
|
|
|
390
391
|
// Hide the modal
|
|
391
392
|
async hide(): Promise<void> {
|
|
392
393
|
this._animationState = "out";
|
|
393
394
|
this.dispatchEvent(new CustomEvent("hide"));
|
|
394
|
-
await
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
this.dispatchEvent(new CustomEvent("hidden"));
|
|
411
|
-
}
|
|
412
|
-
);
|
|
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"));
|
|
413
411
|
}
|
|
414
412
|
|
|
415
413
|
// Hide and remove the modal
|
|
416
|
-
dispose() {
|
|
417
|
-
this.hide();
|
|
414
|
+
async dispose() {
|
|
415
|
+
await this.hide();
|
|
418
416
|
this.remove();
|
|
419
417
|
}
|
|
420
418
|
|
|
@@ -430,7 +428,7 @@ export class Modal extends Subscriber(LitElement) {
|
|
|
430
428
|
if (e.key === "Escape") {
|
|
431
429
|
e.preventDefault();
|
|
432
430
|
const visibleModals = Modal.modals.filter(
|
|
433
|
-
(modal) => modal._animationState
|
|
431
|
+
(modal) => modal._animationState !== "hidden" && !modal.forceAction
|
|
434
432
|
);
|
|
435
433
|
if (visibleModals.length > 0) {
|
|
436
434
|
const lastVisibleModal = visibleModals[visibleModals.length - 1];
|
|
@@ -439,82 +437,71 @@ export class Modal extends Subscriber(LitElement) {
|
|
|
439
437
|
}
|
|
440
438
|
}
|
|
441
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
|
+
|
|
442
448
|
// ------------------------
|
|
443
449
|
// ANIMATIONS
|
|
444
450
|
// ------------------------
|
|
445
|
-
private
|
|
446
|
-
element: HTMLElement,
|
|
447
|
-
effect: effectType = "slide"
|
|
448
|
-
): Promise<void> {
|
|
451
|
+
private animation(direction: "in" | "out"): Promise<void> {
|
|
449
452
|
return new Promise((resolve) => {
|
|
453
|
+
const { quartOut, linear, translateY, duration, quadOut } =
|
|
454
|
+
this._animationConfig;
|
|
455
|
+
|
|
456
|
+
const element = this._modalElement;
|
|
450
457
|
if (!element) return resolve();
|
|
451
458
|
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
{
|
|
458
|
-
opacity: 0,
|
|
459
|
-
transform: "translateY(3.25rem)",
|
|
460
|
-
},
|
|
461
|
-
{
|
|
462
|
-
opacity: 1,
|
|
463
|
-
transform: "translateY(0)",
|
|
464
|
-
},
|
|
465
|
-
],
|
|
466
|
-
{
|
|
467
|
-
duration: this._animationDuration,
|
|
468
|
-
easing: "cubic-bezier(0.250, 0.250, 0.420, 1.225)",
|
|
469
|
-
fill: "forwards",
|
|
470
|
-
delay: 80,
|
|
471
|
-
}
|
|
472
|
-
);
|
|
459
|
+
const isEntering = direction === "in";
|
|
460
|
+
|
|
461
|
+
// Backdrop
|
|
462
|
+
if (isEntering) {
|
|
463
|
+
this.style.setProperty("--sc_backdrop-opacity", "0.8");
|
|
473
464
|
} else {
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
fill: "forwards",
|
|
478
|
-
});
|
|
465
|
+
setTimeout(() => {
|
|
466
|
+
this.style.setProperty("--sc_backdrop-opacity", "0");
|
|
467
|
+
}, 300);
|
|
479
468
|
}
|
|
480
|
-
animation.onfinish = () => resolve();
|
|
481
|
-
});
|
|
482
|
-
}
|
|
483
469
|
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
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
|
+
],
|
|
495
481
|
{
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
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 }],
|
|
499
492
|
{
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
easing: "cubic-bezier(0.250, 0.250, 0.420, 1.225)",
|
|
507
|
-
fill: "forwards",
|
|
508
|
-
}
|
|
493
|
+
duration: duration,
|
|
494
|
+
easing: linear,
|
|
495
|
+
fill: "both",
|
|
496
|
+
delay: isEntering ? 100 : 0,
|
|
497
|
+
}
|
|
498
|
+
)
|
|
509
499
|
);
|
|
510
|
-
} else {
|
|
511
|
-
// fade (ou none)
|
|
512
|
-
animation = element.animate([{ opacity: 1 }, { opacity: 0 }], {
|
|
513
|
-
duration: this._animationDuration,
|
|
514
|
-
fill: "forwards",
|
|
515
|
-
});
|
|
516
500
|
}
|
|
517
|
-
|
|
501
|
+
|
|
502
|
+
Promise.all(animations.map((anim) => anim.finished)).then(() =>
|
|
503
|
+
resolve()
|
|
504
|
+
);
|
|
518
505
|
});
|
|
519
506
|
}
|
|
520
507
|
}
|