@claspo/components 1.3.1 → 1.4.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e,n,i)=>{const o=EventTarget.prototype,{addEventListenerBase:s,addEventListener:r}=o;(s||r).call(t,e,n,i)},e={name:"SysImageComponent",componentType:"IMAGE",version:"1.0.0",contextMenuModel:[{type:"CONTROL",name:"COMPONENT_OPERATIONS"},{type:"CONTROL",name:"BRING_BACK_FORWARD",element:"host",elementProp:"styleAttributes",elementSubProp:"zIndex"},{type:"CONTROL",name:"FOCUS_PARENT_COMPONENT"}],floatingControlsModel:(n=[{type:"CONTROL",name:"SIZE",elementProp:"styleAttributes",element:"host",params:{rotation:{elementProp:"styleAttributes",element:"host"}}},{type:"CONTROL",name:"MARGIN",elementProp:"styleAttributes",element:"host"},{type:"CONTROL",name:"CONTAINER_PADDING",elementProp:"styleAttributes",element:"host"},{type:"CONTROL",name:"ROTATION",elementProp:"styleAttributes",element:"host"}],Object.values({DESKTOP:"desktop",MOBILE:"mobile"}).map((t=>({type:"GROUP",propPath:["adaptiveStyles",t],children:n})))),propertyPaneModel:{content:[{type:"GROUP",propPath:["adaptiveStyles","desktop"],children:[{type:"CONTROL",name:"SIZE",element:"host",elementProp:"styleAttributes",params:{width:{options:["fixed","fill","hug"]},height:{options:["fixed","fill","hug"]}},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"RADIO_BUTTONS",elementProp:"styleAttributes",elementSubProp:"objectFit",element:"image",params:{label:"DOCUMENT_IMAGE",options:[{label:"DOCUMENT_IMAGE_RESIZE_COVER",value:"cover"},{label:"DOCUMENT_IMAGE_RESIZE_CONTAIN",value:"contain"},{label:"DOCUMENT_IMAGE_RESIZE_NONE",value:"none"}]},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"IMAGE_SOURCES",element:"image",propPath:["control","imageSource"]},{type:"CONTROL",name:"FLOATING_COMPONENT_POSITION",element:"host",elementProp:"styleAttributes",displayCondition:function(t){return!!t.component.getProps().floating&&!t.component.getProps().control.positioning},params:{label:"DOCUMENT_POSITION"},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"DISPLAY",elementProp:"styleAttributes",elementSubProp:"display",element:"host",params:{label:"DOCUMENT_DISPLAY_ON_DESKTOP"}},{type:"CONTROL",name:"DISPLAY",propPath:["adaptiveStyles","mobile"],elementProp:"styleAttributes",elementSubProp:"display",element:"host",params:{label:"DOCUMENT_DISPLAY_ON_MOBILE"}},{type:"CONTROL",name:"BORDER_RADIUS",elementProp:"styleAttributes",element:"image",syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"INDENTATION",elementProp:"styleAttributes",element:"host",displayCondition:function(t){return!t.component.getProps().floating},params:{indentationType:"PADDING"},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"INDENTATION",elementProp:"styleAttributes",element:"host",displayCondition:function(t){return!t.component.getProps().floating},params:{indentationType:"MARGIN"},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}}]},{type:"GROUP",propPath:["adaptiveStyles","mobile"],children:[{type:"CONTROL",name:"SIZE",element:"host",elementProp:"styleAttributes",params:{width:{options:["fixed","fill","hug"]},height:{options:["fixed","fill","hug"]}},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"RADIO_BUTTONS",elementProp:"styleAttributes",elementSubProp:"objectFit",element:"image",params:{label:"DOCUMENT_IMAGE",options:[{label:"DOCUMENT_IMAGE_RESIZE_COVER",value:"cover"},{label:"DOCUMENT_IMAGE_RESIZE_CONTAIN",value:"contain"},{label:"DOCUMENT_IMAGE_RESIZE_NONE",value:"none"}]},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"IMAGE_SOURCES",element:"image",propPath:["control","imageSource"]},{type:"CONTROL",name:"FLOATING_COMPONENT_POSITION",element:"host",elementProp:"styleAttributes",displayCondition:function(t){return!!t.component.getProps().floating&&!t.component.getProps().control.positioning},params:{label:"DOCUMENT_POSITION"},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"DISPLAY",elementProp:"styleAttributes",elementSubProp:"display",element:"host",params:{label:"DOCUMENT_DISPLAY_ON_MOBILE"}},{type:"CONTROL",name:"BORDER_RADIUS",elementProp:"styleAttributes",element:"image",syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"INDENTATION",elementProp:"styleAttributes",element:"host",displayCondition:function(t){return!t.component.getProps().floating},params:{indentationType:"PADDING"},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"INDENTATION",elementProp:"styleAttributes",element:"host",displayCondition:function(t){return!t.component.getProps().floating},params:{indentationType:"MARGIN"},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}}]}],general:[{type:"CONTROL",name:"ACTIONS",propPath:["handlers"],params:{origin:!0},displayCondition:function(t){return"TEASER"!==t.widgetType}}]},i18nPropertyPaneModel:{content:[{type:"CONTROL",name:"ACTIONS",propPath:["handlers"],params:{origin:!1},displayCondition:function(t){return"TEASER"!==t.widgetType}}]},i18nPropPaths:["handlers,[id],actions,[id],params,link","handlers,[id],actions,[id],params,customData"],events:{dispatch:[],listen:[]},props:{control:{imageSource:{url:""}},adaptiveStyles:{desktop:[{element:"host",styleAttributes:{width:"150px",minWidth:"150px",height:"auto",minHeight:null,paddingTop:"0px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",_paddingEnabled:!1,display:"block"},classes:""},{element:"image",styleAttributes:{background:"transparent",objectFit:"cover",borderTopStyle:"solid",borderRightStyle:"solid",borderBottomStyle:"solid",borderLeftStyle:"solid",borderTopWidth:"0px",borderTopColor:"rgb(0, 0, 0)",borderBottomWidth:"0px",borderBottomColor:"rgb(0, 0, 0)",borderLeftWidth:"0px",borderLeftColor:"rgb(0, 0, 0)",borderRightWidth:"0px",borderRightColor:"rgb(0, 0, 0)",borderTopLeftRadius:"0px",borderTopRightRadius:"0px",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px"},classes:""}],mobile:[{element:"host",styleAttributes:{width:"150px",minWidth:"150px",height:"auto",minHeight:null,paddingTop:"0px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",_paddingEnabled:!1,display:"block"},classes:""},{element:"image",styleAttributes:{background:"transparent",objectFit:"cover",borderTopStyle:"solid",borderRightStyle:"solid",borderBottomStyle:"solid",borderLeftStyle:"solid",borderTopWidth:"0px",borderTopColor:"rgb(0, 0, 0)",borderBottomWidth:"0px",borderBottomColor:"rgb(0, 0, 0)",borderLeftWidth:"0px",borderLeftColor:"rgb(0, 0, 0)",borderRightWidth:"0px",borderRightColor:"rgb(0, 0, 0)",borderTopLeftRadius:"0px",borderTopRightRadius:"0px",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px"},classes:""}]}},metaDescription:{icon:"/SysImageComponent/assets/img/image-component-icon.svg",label:{en:"Image",ru:"Изображение",uk:"Зображення",es:"Imagen",fr:"Menu déroulant",de:"Bild",it:"Immagine",pt:"Imagem",ro:"Imagine",bg:"Изображение",cs:"Obrázek",el:"Εικόνα",nl:"Afbeelding",pl:"Obraz",sv:"Bild",tr:"Resim",ar:"الصورة",zh:"图像",da:"Billede",he:"תמונה",fi:"Kuva",hi:"इमेज ",hr:"Slika",hu:"Kép",id:"Gambar",ja:"画像",ko:"이미지",no:"Bilde",sk:"Obrázok",sl:"Slika",sr:"Slika"}},waitForResourcesLoad:!0,resourcesPropPaths:[["control","imageSource","url"]],syncEnabled:!0,stylesImitationEnabled:!0};var n;const i="cl-";function o(t){return i+t}function s(t){return"cl-"+t}const r="VIEW",l="MODULE",a="CONTAINER",c="INPUT",u="BUTTON",d="CONSENT",p="COLUMN";var h,m;(m=h||(h={})).SUBSCRIBE_CONTACT="SUBSCRIBE_CONTACT",m.REQUEST="REQUEST",m.DISPATCH_EVENT="DISPATCH_EVENT",m.GO_TO_VIEW="GO_TO_VIEW",m.GO_TO_PREVIOUS_VIEW="GO_TO_PREVIOUS_VIEW",m.GO_TO_NEXT_VIEW="GO_TO_NEXT_VIEW",m.SHOW_WIDGET="SHOW_WIDGET",m.OPEN_LINK="OPEN_LINK",m.CLOSE_WIDGET="CLOSE_WIDGET",m.CLICK="CLICK";const g=h;var E;class y{static sortActions(t){const e={[g.CLOSE_WIDGET]:-1,[g.OPEN_LINK]:-2,[g.SHOW_WIDGET]:1,[g.SUBSCRIBE_CONTACT]:2,[g.REQUEST]:3},n=t=>void 0!==e[t.type]?e[t.type]:0;return[...t].sort(((t,e)=>n(t)>n(e)?-1:n(t)<n(e)?1:0))}constructor(t,e){this.config=t,this.actions=y.sortActions(e),this.listener=null,this.targetElements=[],this.eventsQueue=[],this.state=null,this.postponed=!1}activate(t,e,n){this.state=t;const i=n(),o=i.getAttribute(s("id"));this.listener=t=>{const e=t.composedPath().filter((t=>t instanceof HTMLElement&&t.getAttribute(s("type"))));let n=0;for(;e[n]&&e[n].getAttribute(s("id"))!==o;){let t=e[n].getAttribute(s("type"));if(y.IGNORING_VIEW_ENTRY_TYPES.includes(t))return;n++}this.eventsQueue.push({event:t}),this.postponed||this.execute()},this.targetElements=this.config.relativeSelector?Array.from((i.shadowRoot||i).querySelectorAll(this.config.relativeSelector)):[i],this.targetElements.forEach((t=>{t.addEventListener("click",this.listener)}))}async execute(){var t,e,n,i;try{for(var o,s=!0,r=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(n){e[n]=t[n]&&function(e){return new Promise((function(i,o){!function(t,e,n,i){Promise.resolve(i).then((function(e){t({value:e,done:n})}),e)}(i,o,(e=t[n](e)).done,e.value)}))}}}(this.eventsQueue);!(t=(o=await r.next()).done);s=!0){i=o.value,s=!1;const{event:t}=i;for(const e of this.actions)if(!await e.execute(this.state.getState(),t))break}}catch(t){e={error:t}}finally{try{s||t||!(n=r.return)||await n.call(r)}finally{if(e)throw e.error}}this.eventsQueue=[]}postpone(){this.postponed=!0}release(){this.postponed=!1,this.execute()}destroy(){this.listener&&this.targetElements.length&&(this.targetElements.forEach((t=>{t.removeEventListener("click",this.listener)})),this.targetElements=[])}}y.IGNORING_VIEW_ENTRY_TYPES=[u,d,c],function(t){t.CLICK="CLICK",t.COMPONENT_EVENT="COMPONENT_EVENT"}(E||(E={}));class b{constructor(t,e){this.config=t,this.actions=e,this.componentEmitterListener=null}activate(t,e,n){this.componentEmitterListener=e.on(this.config.eventName,(()=>{this.actions.forEach((e=>e.execute(t.getState(),this.config.params)))}))}destroy(){this.componentEmitterListener&&this.componentEmitterListener.off()}}class v{constructor(t,e){this.actionFactory=t,this.actionRegister=e}get(t){const e=t.actions.map((t=>this.actionFactory.get(t)));switch(e.forEach((t=>this.actionRegister.register(t))),t.type){case E.CLICK:return new y(t,e);case E.COMPONENT_EVENT:return new b(t,e);default:throw new Error(`Not supported handler type ${t.type}`)}}}class f{static generate(){let t,e="";for(let n=0;n<32;n++)8!==n&&12!==n&&16!==n&&20!==n||(e+="-"),t=Math.floor(16*Math.random()).toString(16).toUpperCase(),e+=t;return e}}class O{constructor(){this.listeners=O.createDefaultListenersState()}emit(t,e,n=null){const i=this.listeners[t];i&&Object.values(i).forEach((i=>i(e,t,n))),Object.values(this.listeners["*"]).forEach((i=>i(e,t,n)))}on(t,e){const n=f.generate(),i=this.listeners[t];return i?i[n]=e:this.listeners[t]={[n]:e},{off:()=>{var e,i;(null===(i=null===(e=this.listeners)||void 0===e?void 0:e[t])||void 0===i?void 0:i[n])&&delete this.listeners[t][n]}}}destroy(){this.listeners=O.createDefaultListenersState()}}O.createDefaultListenersState=()=>({"*":{}});const T=O;class S{constructor(t){this.state=t||{}}getState(){return this.state}setState(t){this.state=Object.assign(Object.assign({},this.state),t)}destroy(){}}class A{static extract(t){const e=t.views.map((t=>{const e=t.children.map((t=>t.type===l?Object.assign(Object.assign({},t),A.moduleToContainerParams):t));return Object.assign(Object.assign({},t),{children:e})}));return Object.assign(Object.assign({},t),{views:e})}static sort(t,e){return t.index>e.index?1:-1}static reIndex(t,e){return Object.assign(Object.assign({},t),{index:e+t.index})}}var C,R,_,N,I,L,P,M,x,D,w,U,k;A.moduleToContainerParams={name:"SysContainerComponent",version:"1.0.0"},(R=C||(C={})).VIEW="VIEW",R.CONTAINER="CONTAINER",R.TEXT="TEXT",R.INPUT="INPUT",R.BUTTON="BUTTON",R.IMAGE="IMAGE",R.CONSENT="CONSENT",R.COUNTDOWN_TIMER="COUNTDOWN_TIMER",R.PROMO_CODE="PROMO_CODE",R.MULTIPLE_INPUT="MULTIPLE_INPUT",R.VIDEO="VIDEO",R.SLIDER="SLIDER",R.SLIDE="SLIDE",R.SOCIAL="SOCIAL",R.COLUMNS="COLUMNS",R.COLUMN="COLUMN",R.PRIZE_BASED_GAMING="PRIZE_BASED_GAMING",(_||(_={})).CLICK="CLICK",function(t){t.SHOW_WIDGET="SHOW_WIDGET",t.OPEN_LINK="OPEN_LINK",t.SUBSCRIBE_CONTACT="SUBSCRIBE_CONTACT",t.REQUEST="REQUEST",t.CLOSE_WIDGET="CLOSE_WIDGET",t.GO_TO_VIEW="GO_TO_VIEW",t.GO_TO_PREVIOUS_VIEW="GO_TO_PREVIOUS_VIEW",t.GO_TO_NEXT_VIEW="GO_TO_NEXT_VIEW",t.CLICK="CLICK"}(N||(N={})),function(t){t.SELF="_self",t.BLANK="_blank"}(I||(I={})),(L||(L={})).ACCENT="accent",function(t){t.TOP="TOP",t.CENTER="CENTER",t.BOTTOM="BOTTOM"}(P||(P={})),function(t){t.LEFT="LEFT",t.CENTER="CENTER",t.RIGHT="RIGHT"}(M||(M={})),function(t){t.SLIDE_TO_TOP="SLIDE_TO_TOP",t.SLIDE_TO_BOTTOM="SLIDE_TO_BOTTOM",t.SLIDE_TO_LEFT="SLIDE_TO_LEFT",t.SLIDE_TO_RIGHT="SLIDE_TO_RIGHT"}(x||(x={})),function(t){t.PULSE="PULSE",t.VIBRATE="VIBRATE",t.WOBBLE="WOBBLE",t.SHAKE="SHAKE",t.JELLO="JELLO",t.BOUNCE="BOUNCE",t.BLINK="BLINK",t.FLICKER="FLICKER",t.PING="PING"}(D||(D={})),function(t){t.LEFT="LEFT",t.RIGHT="RIGHT"}(w||(w={})),(k=U||(U={})).BEFORE="BEFORE",k.AFTER="AFTER",k.INSIDE="INSIDE",k.INSTEAD="INSTEAD";class B extends T{constructor(t,e){super(),this.config=e,this.handleMobileBreakpoint(t.getShared().mobileBreakpointWidth),t.on("ENVIRONMENT_UPDATE",(({isMobileEnv:t})=>{this._isMobile=t,this.emit(B.changeEventName,this._isMobile)}))}handleMobileBreakpoint(t){this.mobileBreakpointWidth=t;const e=Number.isInteger(this.mobileBreakpointWidth)?`${this.mobileBreakpointWidth}px`:this.mobileBreakpointWidth;this.mediaQueryList=window.matchMedia(`(max-width: ${e})`),this.mediaQueryList.addListener(this.listener.bind(this)),this._isMobile=this.mediaQueryList.matches,this.emit(B.changeEventName,this._isMobile)}isMobile(){return this.config.forceMobileEnv||this._isMobile}listener(t){this._isMobile=t.matches,this.emit(B.changeEventName,this._isMobile)}destroy(){super.destroy(),this.mediaQueryList.removeListener(this.listener.bind(this))}}B.changeEventName="CHANGE";const F=B;class j{static set(t,e){const n=t[j.accumulatorPropertyName]||{};t[j.accumulatorPropertyName]=Object.assign(Object.assign({},n),e.styleAttributes),Object.keys(t[j.accumulatorPropertyName]).forEach((n=>{n.includes("--")?t.style.setProperty(n,e.styleAttributes[n]||""):t.style[n]=e.styleAttributes[n]?e.styleAttributes[n]:""}))}}j.accumulatorPropertyName="clStyleAttributes";const G=j;var W;!function(t){t.BUILT_IN="BUILT_IN",t.DETACHED="DETACHED",t.FLOATING_BOX="FLOATING_BOX",t.FLOATING_BAR="FLOATING_BAR",t.LAUNCHER="LAUNCHER",t.CONTENT_LOCKER="CONTENT_LOCKER"}(W||(W={}));class H{static applyHostStyles(t,e,n=null,i){var o,s,l;const c=null===(s=null===(o=null==n?void 0:n.props)||void 0===o?void 0:o.handlers)||void 0===s?void 0:s.find((t=>"CLICK"===t.type));c&&(null===(l=c.actions)||void 0===l?void 0:l.length)&&(e.style.cursor="pointer"),t!==r&&t!==a&&t!==p||(e.style.display=i===W.CONTENT_LOCKER&&t===r?"flex":"inline-flex",e.style.position="relative"),e.style.boxSizing="border-box"}constructor(){this.styles="/* common styles */ *, *:before, *:after { box-sizing: border-box; font-family: inherit; }"}setStyles(t=""){this.styles=`${this.styles} ${t}`}getStyles(){return this.styles}}class V{static log(t){window.scriptLog09u8y9?scriptLog09u8y9("ERROR","RUNTIME_ERROR",new Error(t)):console.error(t)}}class ${constructor(t,e,n,i,o,s){this.hostElement=e,this.documentModel=t,this.getSharedCb=n,this.getPropsCb=i,this.getEnvCb=o,this.httpClient=s,this.schemaSubscription=null,this.themeSubscription=null,this.envUrlMaps={desktop:new Map,mobile:new Map}}parseBackground(t){const e=String(t||"");if(e.includes("url")){const[t,n]=e.split("(")[1].split(")");return{url:t.replace(/['"]+/g,""),positionOptions:n.replace(";","")}}return{url:null,positionOptions:null}}apply(t){const e=this.getPropsCb();return e.backgroundDynamicInlineSVGElements[t].forEach((n=>{var i,o,s,r,l;const a=null===(o=null===(i=e.adaptiveStyles)||void 0===i?void 0:i[t])||void 0===o?void 0:o.find((t=>t.element===n)),c=(null===(s=e.styles)||void 0===s?void 0:s.find((t=>t.element===n)))||{},u=(null===(r=null==c?void 0:c.styleAttributes)||void 0===r?void 0:r.background)||(null===(l=null==a?void 0:a.styleAttributes)||void 0===l?void 0:l.background),d=this.parseBackground(u);d.url&&this.envUrlMaps[t].set(n,{originalSVGResourceURL:d.url,inlineSvgString:null,positionOptions:d.positionOptions})})),Promise.all([...this.envUrlMaps[t].entries()].map((([e,n])=>this.httpClient.execute(n.originalSVGResourceURL).then((t=>t.text())).then((i=>{this.envUrlMaps[t].set(e,Object.assign(Object.assign({},n),{inlineSvgString:i}))}))))).then((()=>{var e;const n=this.getSharedCb();return Object.keys((null===(e=n.theme)||void 0===e?void 0:e.schema)||{}).length>0?this._applyHostElementBackgroundFromTheme(this.envUrlMaps[t].get("host"),n.theme.schema):this._applyHostElementBackgroundFromCssVars(this.envUrlMaps[t].get("host"),n.cssVars)})).catch((t=>{console.error(t),V.log(`Failed to load/apply backgroundDynamicInlineSVGElements[${this.getPropsCb().backgroundDynamicInlineSVGElements}] ${t}`)}))}on(){return this.schemaSubscription=this.documentModel.on("COLOR_SCHEMA_UPDATE",(t=>{this._applyHostElementBackgroundFromCssVars(this.envUrlMaps[this.getEnvCb()].get("host"),t)})),this.themeSubscription=this.documentModel.on("THEME_UPDATE",(t=>{this._applyHostElementBackgroundFromTheme(this.envUrlMaps[this.getEnvCb()].get("host"),t.schema)})),this}_applyHostElementBackgroundFromCssVars(t,e){t&&e&&(this.hostElement.style.background=this._buildBackgroundUrlFromCssVars(t,e))}_applyHostElementBackgroundFromTheme(t,e){t&&e&&(this.hostElement.style.background=this._buildBackgroundUrlFromTheme(t,e))}_buildBackgroundUrlFromCssVars(t,e){const n=t.inlineSvgString.trim().replace("var(--cl-schema-accent)",e["cl-schema-accent"]);return`url('data:image/svg+xml,${encodeURIComponent(n)}')${t.positionOptions}`}_buildBackgroundUrlFromTheme(t,e){const n=t.inlineSvgString.trim();let i=n;return[...n.matchAll(/var\(--cl-schema-([^)]+)\)/g)].forEach((t=>{const n=function(t=""){return t.replace(/var\(\s*(--[^,\s)]+).*\)/,"$1").replace("--cl-schema-","")}(t[1]);var o;i=i.replace(`var(--${o=n,`cl-schema-${o}`})`,e[n])})),`url('data:image/svg+xml,${encodeURIComponent(i)}')${t.positionOptions}`}off(){var t,e;null===(t=this.schemaSubscription)||void 0===t||t.off(),null===(e=this.themeSubscription)||void 0===e||e.off()}}const K=new class{execute(t,e="GET",n=null,i,o){const s={method:e,headers:Object.assign({"Content-Type":"text/plain"},i||{}),credentials:"same-origin",body:null,signal:o};return n&&(s.body="string"==typeof n?n:JSON.stringify(n)),fetch(t,s)}};function z(t,e){return Object.keys(t).filter((t=>!e.includes(t))).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:t[n]})),{})}class Y{static camelCaseToDashCase(t){return t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}static camelCaseToUpperSnakeCase(t){return t.replace(/[A-Z]/g,(t=>"_"+t)).toUpperCase()}}class Q{constructor(t){this._count=0,this.onUpdateCb=t}increment(){this._count++,this.onUpdateCb(this.count())}decrement(){this._count>0&&this._count--,this.onUpdateCb(this.count())}count(){return this._count}}var Z;!function(t){t.TOO_MANY_REQUESTS="TOO_MANY_REQUESTS",t.COMPONENT_RESOURCES_LOADED="COMPONENT_RESOURCES_LOADED",t.FAILED_TO_LOAD_COMPONENT_RESOURCE="FAILED_TO_LOAD_COMPONENT_RESOURCE",t.EXECUTE_ACTION_BY_PREDICATE="EXECUTE_ACTION_BY_PREDICATE"}(Z||(Z={}));const q=Z;class X{constructor(t,e,n){this.getPending=()=>this.counters.pending,this.onCounterStateUpdate=t=>{0===t&&this.systemEventEmitter.emit(q.COMPONENT_RESOURCES_LOADED,this.componentId)},this.onResourceLoadFailure=t=>{this.isStaticEntryModule?this.systemEventEmitter.emit(q.FAILED_TO_LOAD_COMPONENT_RESOURCE,`Failed to load: ${t}`):this.counters.pending.decrement()},this.componentId=t,this.systemEventEmitter=e,this.isStaticEntryModule=n,this.counters={pending:new Q(this.onCounterStateUpdate)}}}const J=(...t)=>{let e=t.reduce(((t,e)=>Object.assign(Object.assign({},t),{[e]:[]})),{});return{get:t=>e[t],clear:()=>J(...t)}},tt=J,et="props",nt="shared",it="environment";function ot(t,e,n,i){const o=t=>{let s=t instanceof DocumentFragment||(null==t?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE?t.host:t;return s&&(i&&"function"==typeof i?i(s.getAttribute(e)):(null===(r=null==s?void 0:s.getAttribute)||void 0===r?void 0:r.call(s,e))===n)?s:s&&s.parentNode&&o(s.parentNode)||null;var r};return o(t)}const st="SUBMIT";function rt(t,e){return e?(t.classes=`${t.classes||""} ${e.classes||""}`.trim(),Object.keys(e).forEach((n=>{if("element"===n||"classes"===n)return;const i=e[n];i&&"object"==typeof i&&!Array.isArray(i)?t[n]=Object.assign(Object.assign({},t[n]||{}),i):t[n]=i})),t):t}function lt(t,e,n){var i;return null===(i=null==t?void 0:t[e])||void 0===i?void 0:i.find((t=>t.element===n))}function at(t){const{element:e,html:n,appendHtml:i}=t,o=function(t){if(null==t)return"";if("string"!=typeof t)return String(t);if(""===t)return"";if(!/<\/?([a-zA-Z][a-zA-Z0-9]*)\b[^>]*>/.test(t))return t;const e=(new DOMParser).parseFromString(t,"text/html");return e.querySelectorAll('script, style, link[rel="stylesheet"], meta[http-equiv]').forEach((t=>t.remove())),e.querySelectorAll("*").forEach((t=>{if(["onclick","onload","onerror","onmouseover","onfocus","onblur","onkeyup","onkeydown","onchange","onsubmit","onmouseenter","onmouseleave","onmouseout","oncontextmenu","ondrag","ondrop"].forEach((e=>t.removeAttribute(e))),Array.from(t.attributes).forEach((e=>{e.name.startsWith("on")&&t.removeAttribute(e.name)})),"A"===t.tagName||"AREA"===t.tagName){const e=t.getAttribute("href");e&&(e.startsWith("javascript:")||e.startsWith("data:"))&&t.removeAttribute("href")}if("IMG"===t.tagName||"IFRAME"===t.tagName){const e=t.getAttribute("src");e&&(e.startsWith("javascript:")||e.startsWith("data:text/html"))&&t.removeAttribute("src")}if("FORM"===t.tagName){const e=t.getAttribute("action");e&&e.startsWith("javascript:")&&t.removeAttribute("action")}})),e.body.innerHTML}(n);i?e.innerHTML+=o:e.innerHTML=o}class ct extends Event{constructor(t,e,n){super(t,n),this.detail={},Object.defineProperty(this,"detail",{value:e})}}var ut;!function(t){t.STATIC="STATIC",t.UPDATING="UPDATING"}(ut||(ut={}));class dt extends HTMLElement{constructor(){var e;super(),this.skipGameBlur=!0,this.construct=()=>{let t;const e=this.getAttribute(s("id")),n=this.getWidgetContainerNode();if(!n)throw new Error("Widget container not found in construct");const i=n.closest(`[${s("widget-id")}]`);let o;i&&(o=i.getAttribute(s("widget-id")));let r=new ct("cl-props-request",{nodeName:this.nodeName,path:this.getAttribute(s("path")),id:e,widgetId:o},{bubbles:!0,composed:!0});this.dispatchEvent(r),t=r.detail.props,Object.assign(this,t),this.observers=tt(et,nt,it),this.subscriptions=new class{constructor(){this.subscriptions=[]}push(t){this.subscriptions.push(t)}off(){this.subscriptions.forEach((t=>null==t?void 0:t.off()))}},this.state=new S({}),this.componentEventEmitter=new T,this.componentResourceManager=new X(this.model.id,this.services.eventEmitter,this.isStaticRenderMode()),this.mergeTagsProcessor=this.services.mergeTagsProcessorFactory.create(),this._actionFactory=this.services.actionFactory,this._handlerFactory=new v(this._actionFactory,this.services.actionRegister),this.prevProps=this.model.props,this.prevEnvironment=this.getEnvironment(),this.documentModel.on(`COMPONENT_PROPS_UPDATE_${this.model.id}`,(t=>{this.model.props=t,this.observers.get(et).forEach((e=>e(this.prevProps,t))),this.prevProps=t;const e=this.getHostElement(),n=s("floating");t.floating&&!e.getAttribute(n)?e.setAttribute(n,"true"):!t.floating&&e.getAttribute(n)&&e.removeAttribute(n)})),this.documentModel.on(`COMPONENT_UPDATE_${this.model.id}`,(t=>{Object.assign(this.model,t)})),this.documentModel.on("SHARED_UPDATE_ALL",(()=>{this.applyAutoAdaptiveStyles(this.prevProps.adaptiveStyles,this.prevProps.styles),this.observers.get(nt).forEach((t=>t(this.getShared())))})),this.model.props.backgroundDynamicInlineSVGElements&&(this.colorSchemaListener=new $(this.documentModel,this.getHostElement(),(()=>this.getShared()),(()=>this.model.props),(()=>this.getEnvironment()),K),this.colorSchemaListener.apply(this.getEnvironment()).then((()=>{this.subscriptions.push(this.colorSchemaListener.on())}))),this.prevProps.adaptiveStyles&&this.subscriptions.push(this.resizeListener.on(F.changeEventName,(()=>{this.applyAutoAdaptiveStyles(this.prevProps.adaptiveStyles,this.prevProps.styles);const t=this.getEnvironment();this.observers.get(it).forEach((e=>e(this.prevEnvironment,t))),this.prevEnvironment=t}))),this.subscriptions.push(this.services.eventEmitter.on("GAME_PHASE_READY_TO_PLAY",(()=>{this.skipGameBlur||this.getHostElement().classList.add("cl-game-spotlight-component")}))),this.subscriptions.push(this.services.eventEmitter.on("GAME_PHASE_COMPLETED",(()=>{this.skipGameBlur||this.getHostElement().classList.remove("cl-game-spotlight-component")})))},this.attachHandlers=()=>{this.getHandlers().map((t=>this._handlerFactory.get(t))).map((t=>()=>t.activate(this.state,this.componentEventEmitter,this.getHostElement.bind(this)))).forEach((t=>t()))},this.postponeHandlers=()=>{var t;null===(t=this.handlers)||void 0===t||t.forEach((t=>t.postpone()))},this.releaseHandlers=()=>{var t;null===(t=this.handlers)||void 0===t||t.forEach((t=>t.release()))},this.getProps=()=>{var t;return null===(t=this.getModel())||void 0===t?void 0:t.props},this.getShared=()=>this.documentModel.getShared(),this.getEnvironment=()=>this.resizeListener.isMobile()?"mobile":"desktop",this.isStaticRenderMode=()=>this.services.config.getConfig("renderMode")===ut.STATIC,this.isUpdatingRenderMode=()=>this.services.config.getConfig("renderMode")===ut.UPDATING,this.getRootElement=()=>this.shadowRoot?this.shadowRoot:this,this.getHostElement=()=>this,this.observeProps=t=>{this.observers.get(et).push(t),t(null,this.prevProps)},this.observeShared=t=>{this.observers.get(nt).push(t),t(this.getShared())},this.observeEnvironment=t=>{this.observers.get(it).push(t),t(null,this.getEnvironment())},this.getElements=()=>[this.getHostElement(),...Array.from(this.getRootElement().querySelectorAll(`[${s("element")}]`)).filter((t=>!t.hasAttribute(s("component"))))],this.getElement=(t,e)=>this.getElements().find((n=>e?n.getAttribute(s("element"))===t&&n.id===e:n.getAttribute(s("element"))===t)),this.applyAutoAdaptiveStyles=(t,e)=>{if(!t&&!e)return;const n=this.getElements();if(!n.length)return;const i=function(t,e){if(!e)return t||{desktop:[],mobile:[]};const n=JSON.parse(JSON.stringify(t||{desktop:[],mobile:[]}));return e.forEach((t=>{const e=t.element;let i=!1,o=!1;n.desktop&&n.desktop.forEach((n=>{n.element===e&&(rt(n,t),i=!0)})),n.mobile&&n.mobile.forEach((n=>{n.element===e&&(rt(n,t),o=!0)})),!i&&n.desktop&&n.desktop.push(JSON.parse(JSON.stringify(t))),!o&&n.mobile&&n.mobile.push(JSON.parse(JSON.stringify(t)))})),n}(t,e),o=s("type"),r="element-styles";let l=this.getRootElement().querySelector(`style[${o}="${r}"]`);l||(l=document.createElement("style"),l.setAttribute(o,r),this.getRootElement().appendChild(l)),at({element:l,html:""}),n.forEach((t=>{let e=t.getAttribute(s("element"));const n=this.getEnvironment();let o=lt(i,n,e);if(o){if(this.resizeListener.isMobile()){const t=lt(i,"desktop",e);t&&(o=Object.assign(Object.assign({},o),{styleAttributes:Object.assign(Object.assign({},t.styleAttributes),o.styleAttributes)}))}this.applyStylesToElement(t,this.applySharedClassesToElementModel(o),l)}})),this._addLinkColor(l,this.getShared())},this.registerComponentResourceManagement=()=>{this.viewResourceManager.registerComponent(this.model.id,this.componentResourceManager)},this.applyStyles=(t,e={})=>{if(!t||!t.style)return!1;for(const[n,i]of Object.entries(e))t.style[n]=i;return!0},this.applyStylesToElement=(e,n,i)=>{var o,r;const l=[];"host"===(n=dt._resolveTogglableStylesForElementModel(n)).element&&(H.applyHostStyles(this.model.type,e,null,this.layoutType),("desktop"===this.getEnvironment()&&(null===(o=this.model.props.backgroundDynamicInlineSVGElements)||void 0===o?void 0:o.desktop)||"mobile"===this.getEnvironment()&&(null===(r=this.model.props.backgroundDynamicInlineSVGElements)||void 0===r?void 0:r.mobile))&&(this.colorSchemaListener.apply(this.getEnvironment()),l.push("background")));let a=n.styleAttributes.background,c=a&&a.match(/url\("([^"]*)"\)/);if(this.manifest.waitForResourcesLoad&&c){this.componentResourceManager.getPending().increment();const e=new Image;e.src=c[1],t(e,"load",(()=>{this.componentResourceManager.getPending().decrement()})),t(e,"error",(()=>{this.componentResourceManager.onResourceLoadFailure(e.src),this.isUpdatingRenderMode&&this.componentResourceManager.getPending().decrement()}))}const u=Object.assign(Object.assign({},n),{styleAttributes:z(n.styleAttributes,l)});if(G.set(e,u),this._setClassAttributes(e,n),i){if(n.hoverStyleAttributes){let t=Object.assign({},n.hoverStyleAttributes);if("FILL_UP"===n.hoverAnimationType){e.style.boxShadow="inset 0px 0px 0px 0px rgb(0, 0, 0, 0)",e.style.overflow="hidden";const i=e.tagName.toLowerCase(),o=`flip-up-animation-${n.element}`;let s=this.getRootElement().querySelector(`#${o}`);s||(s=document.createElement("style"),s.id=o,e.appendChild(s)),at({element:s,html:`\n ${i}::before {\n content: '';\n background: ${t.background};\n position: absolute;\n left: 0;\n top: ${e.getBoundingClientRect().height}px;\n height: ${e.getBoundingClientRect().height}px;\n width: 100%;\n z-index: -10;\n }\n ${i}:hover::before {\n top: 0;\n transition: 0.3s;\n }\n `}),t=Object.assign(Object.assign({},n.hoverStyleAttributes),{background:"transparent",position:"relative"})}t.borderTopWidth&&"0px"!==t.borderTopWidth||delete t.borderTopColor,t.borderBottomWidth&&"0px"!==t.borderBottomWidth||delete t.borderBottomColor,t.borderLeftWidth&&"0px"!==t.borderLeftWidth||delete t.borderLeftColor,t.borderRightWidth&&"0px"!==t.borderRightWidth||delete t.borderRightColor,this._addStylesToStyleElement(i,n.element,t,`:not(.${s("no-hover")}):hover`,!0)}n.placeholderStyleAttributes&&this._addStylesToStyleElement(i,n.element,n.placeholderStyleAttributes,"::placeholder"),this._addFontStylesToStyleElement(i,this.getShared()),this.stylesAppliedToElement(e,n,i)}},this.applySharedClassesToElementModel=t=>function(t,e){let n=t;return(n.classes||"").split(" ").filter((t=>t.startsWith(i))).forEach((t=>{var i;let o=null===(i=e.textClasses)||void 0===i?void 0:i[t];o&&(o.styleAttributes.fontFamily||(o.isHeader&&e.headerFontFamily&&(o=Object.assign(Object.assign({},o),{styleAttributes:Object.assign(Object.assign({},o.styleAttributes),{fontFamily:e.headerFontFamily})})),!o.isHeader&&e.textFontFamily&&(o=Object.assign(Object.assign({},o),{styleAttributes:Object.assign(Object.assign({},o.styleAttributes),{fontFamily:e.textFontFamily})}))),n=Object.assign(Object.assign({},n),{styleAttributes:Object.assign(Object.assign({},n.styleAttributes),o.styleAttributes),placeholderStyleAttributes:Object.assign(Object.assign({},n.placeholderStyleAttributes),o.placeholderStyleAttributes)}))})),n.styleAttributes.fontFamily||(n=Object.assign(Object.assign({},n),{styleAttributes:Object.assign(Object.assign({},n.styleAttributes),{fontFamily:e.textFontFamily})})),n}(t,this.documentModel.getShared()),this.getModel=()=>this.model,this._addStylesToStyleElement=(t,e,n,i="",o)=>{const r=Object.keys(n).reduce(((t,e)=>t+` ${Y.camelCaseToDashCase(e)}: ${n[e]}${o?" !important;":";"}`),"");at({element:t,html:`[${s("element")}="${e}"]${i} { ${r} }`,appendHtml:!0})},this._addFontStylesToStyleElement=(t,e)=>{at({element:t,html:`[cl-type] {font-family:${e.textFontFamily||"inherit"}}`,appendHtml:!0})},this._addLinkColor=(t,e)=>{var n,i,o,s;e.linkColor&&at({element:t,html:`a {color: ${e.linkColor}}, a:visited {color: ${e.linkColor}}`,appendHtml:!0}),(null===(n=e.linkParams)||void 0===n?void 0:n.color)&&at({element:t,html:`a {color: ${null===(i=e.linkParams)||void 0===i?void 0:i.color}}, a:visited {color: ${null===(o=e.linkParams)||void 0===o?void 0:o.color}}`,appendHtml:!0}),(null===(s=e.linkParams)||void 0===s?void 0:s.removeUnderline)&&at({element:t,html:"a {text-decoration: none}, a:visited {text-decoration: none}",appendHtml:!0})},this._setClassAttributes=(t,e)=>{Array.from(t.classList).filter((t=>t!==o("hovered")&&t!==o("focused"))).forEach((e=>{e.startsWith(i)&&t.classList.remove(e)}));const n=((t.getAttribute("class")||"")+" "+e.classes).trim();t.setAttribute("class",n)},this.getParentComponent=()=>ot(this.parentNode,s("element"),"host"),this.getWidgetContainerNode=()=>{const t=null==this?void 0:this.getAttribute(s("path"));return 1===(null==t?void 0:t.split(",").length)?this.parentNode:ot(this.parentNode,s("path"),void 0,(t=>1===(null==t?void 0:t.split(",").length)))},this.getWidgetLanguages=()=>function(t){return[t.getConfig("appearanceLanguage"),t.getConfig("browserLanguage"),"en"].filter((t=>!!t))}(this.services.config),this.getPreferredWidgetLanguage=()=>this.getWidgetLanguages()[0],this.getTranslationsMap=t=>function(t,e){return e.reduce(((e,n)=>{if(e)return e;const i=function(t,e){if(!t)return null;if(e[t])return{translations:e[t],language:t};const n=function(t){return t.includes("-")?t.split("-")[0].toLowerCase():t.includes("_")?t.split("_")[0].toLowerCase():t}(t);return e[n]?{translations:e[n],language:n}:null}(n,t);return i||null}),null)}(t,this.getWidgetLanguages()),this.stylesAppliedToElement=(t,e,n)=>{},this.updateContext=()=>{var t;const e=this.getModel();this.services.context.updateRecord(e.id,{label:this.getContextRecordLabel(e.props),viewIndex:null===(t=e.path)||void 0===t?void 0:t[0]})},this.addContextRecord=()=>{var t;const e=this.getModel();this.services.context.addRecord(e.id,{recordKey:e.id,id:e.props.control.name,label:this.getContextRecordLabel(e.props),value:e.props.control.defaultValue||"",viewIndex:null===(t=e.path)||void 0===t?void 0:t[0],sourceId:"FORM",initialData:{fallbackValue:"",exampleValue:this.getContextRecordExampleValue(e.props)}})},this.getContextRecordLabel=t=>{var e,n,i,o,s,r;const l=t.control.name;if(["email","first_name","last_name"].includes(l))return l.toUpperCase();if((null===(e=t.content)||void 0===e?void 0:e.label)&&(null===(o=null===(i=null===(n=t.adaptiveStyles)||void 0===n?void 0:n.desktop.find((t=>"label"===t.element)))||void 0===i?void 0:i.params)||void 0===o?void 0:o.enabled)){const e=(new DOMParser).parseFromString(t.content.label,"text/html");return this.capitalizeFirstLetter(e.body.textContent||"")}return(null===(s=t.content)||void 0===s?void 0:s.placeholder)?this.capitalizeFirstLetter(t.content.placeholder):(null===(r=t.control)||void 0===r?void 0:r.integrationName)?this.capitalizeFirstLetter(t.control.integrationName).replace(new RegExp("_","g")," "):void 0},this.capitalizeFirstLetter=t=>t.charAt(0).toUpperCase()+t.slice(1),this.getContextRecordExampleValue=t=>{var e;switch(null===(e=t.control)||void 0===e?void 0:e.name){case"email":return"myemail@example.com";case"first_name":return"Maria";case"last_name":return"Taylor";default:return this.getContextRecordLabel(t)}},this.completeSubmitAction=t=>{const e=t||{},n=this.services.actionRegister.getRegisteredActions().find((t=>t.category===st));n?null==n||n.execute(void 0,void 0,!0,e):this.services.actionFactory.get({type:g.REQUEST}).execute(void 0,void 0,!0,e)},this.getHandlers=()=>{var t;return(null===(t=this.getProps())||void 0===t?void 0:t.handlers)&&this.getProps().handlers.length?[...this.getProps().handlers]:[]},this.assets=(t="")=>`${this.services.config.getConfig("staticResourcesUrl").replace(/\/$/,"")}/${this.manifest.name}/assets${t?`/${t}`:""}`,this.attachShadow({mode:"open"}),this.manifest=this.manifest||(null===(e=this.constructor.define)||void 0===e?void 0:e.manifest)}connectedCallback(){this.construct(),this.registerComponentResourceManagement(),Promise.resolve().then((()=>{this.attachHandlers()}));const t=document.createElement("style");t.textContent='\n :host(.cl-game-spotlight-component)::after {\n content: "";\n position: absolute;\n background-size: 100% 100%;\n background-repeat: no-repeat;\n overflow: visible;\n \n backdrop-filter: blur(4px);\n \n inset: -30px;\n mask-image: \n linear-gradient(to bottom, transparent, grey 30px, grey calc(100% - 30px), transparent),\n linear-gradient(to right, transparent, grey 30px, grey calc(100% - 30px), transparent);\n mask-composite: intersect;\n -webkit-mask-composite: source-in; /* for Chrome/Safari */\n \n transition: opacity 0.35s ease;\n pointer-events: auto;\n }\n ',this.getRootElement().prepend(t)}disconnectedCallback(){var t;this.observers.clear(),this.subscriptions.off(),this.state.destroy(),this.componentEventEmitter.destroy(),null===(t=this.mergeTagsProcessor)||void 0===t||t.destroy()}}dt._resolveTogglableStylesForElementModel=t=>{const e=Object.assign({},t);return Object.keys(e).forEach((t=>{t.toLowerCase().includes("styleattributes")&&(e[t]=dt._resolveTogglableStyles(e[t]))})),e},dt._resolveTogglableStyles=t=>{const e=Object.assign({},t),n=(t,n,i)=>{n in e&&(t.forEach((t=>{t in e&&(e[t]=e[n]?e[t]:i)})),delete e[n])};return n(["marginTop","marginBottom","marginLeft","marginRight"],"_marginEnabled","0px"),n(["paddingTop","paddingBottom","paddingLeft","paddingRight"],"_paddingEnabled","0px"),e};const pt=dt;function ht(t){return ht="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ht(t)}function mt(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,Ot(i.key),i)}}function gt(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(gt=function(){return!!t})()}function Et(t,e,n,i){var o=yt(bt(1&i?t.prototype:t),e,n);return 2&i&&"function"==typeof o?function(t){return o.apply(n,t)}:o}function yt(){return yt="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var i=function(t,e){for(;!{}.hasOwnProperty.call(t,e)&&null!==(t=bt(t)););return t}(t,e);if(i){var o=Object.getOwnPropertyDescriptor(i,e);return o.get?o.get.call(arguments.length<3?t:n):o.value}},yt.apply(null,arguments)}function bt(t){return bt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},bt(t)}function vt(t,e){return vt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},vt(t,e)}function ft(t,e,n){return(e=Ot(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Ot(t){var e=function(t){if("object"!=ht(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=ht(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==ht(e)?e:e+""}var Tt={TOP:"top",CENTER:"center",BOTTOM:"bottom"},St={LEFT:"left",CENTER:"center",RIGHT:"right"},At={FIXED:"fixed",STICKY:"sticky"},Ct=function(){function e(){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),ft(n=function(t,e,n){return e=bt(e),function(t,e){if(e&&("object"==ht(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,gt()?Reflect.construct(e,n||[],bt(t).constructor):e.apply(t,n))}(this,e),"applyStylesRespectingRelativePositioning",(function(){var t=n.processPositioningStyles(n.getProps());n.originalApplyAutoAdaptiveStyles(t),n.fixFloatingImageSize(t)})),ft(n,"recalculateStylesAfterImageLoad",(function(){n.resourcesLoadedListener=n.services.eventEmitter.on("VIEW_COMPONENT_RESOURCES_LOADED",(function(){requestAnimationFrame((function(){n.applyAdaptiveStyles(n.getProps())}))}))})),ft(n,"processPositioningStyles",(function(t){var e,i,o=t.adaptiveStyles;if(((null===(e=t.control)||void 0===e?void 0:e.positioningMode)||At.FIXED)===At.FIXED)return o;var s=n.getEnvironment(),r=(null===(i=t.control)||void 0===i||null===(i=i.positioning)||void 0===i?void 0:i[s])||{},l=(null==r?void 0:r.diff)||{};if(!Boolean("x"in l&&"y"in l))return o;var a=lt(o,s,"host").styleAttributes,c=n._getHostNewDimensionsWithStyles(a),u=c.width,d=c.height,p=z(a,["left","right","top","bottom"]),h=u/2,m=l.x-h;r.horizontalPosition===St.LEFT?(p.left="".concat(m,"px"),p.right="auto"):r.horizontalPosition===St.RIGHT?(p.right="".concat(-u-m,"px"),p.left="auto"):(p.left="calc(50% + ".concat(m,"px)"),p.right="auto");var g=d/2,E=l.y-g;return r.verticalPosition===Tt.TOP?(p.top="".concat(E,"px"),p.bottom="auto"):r.verticalPosition===Tt.BOTTOM?(p.bottom="".concat(-d-E,"px"),p.top="auto"):(p.top="calc(50% + ".concat(E,"px)"),p.bottom="auto"),function(t,e,n,i={}){return Object.assign(Object.assign({},t),{[e]:t[e].map((t=>t.element===n?Object.assign(Object.assign({},t),{styleAttributes:Object.assign({},i)}):t))})}(o,s,"host",p)})),ft(n,"deleteElementIfPresent",(function(t,e){var n=t.querySelector(e);n&&n.remove()})),ft(n,"upsertSvg",(function(t,e){var i=t.querySelector("svg");return i&&i.getAttribute("inline-svg-url")===e?Promise.resolve():(i&&n.deleteElementIfPresent(n.getRootElement(),".svgOverflowContainer"),fetch(e).then((function(t){return t.text()})).then((function(i){var o=document.createElement("template"),s=document.createElement("div");s.style.overflow="hidden",s.style.width="100%",s.style.height="inherit",s.classList.add("svgOverflowContainer"),o.append(s),o.firstChild.innerHTML=i.trim();var r=o.firstChild,l=r.querySelector("svg");return l.setAttribute("cl-element","image"),l.setAttribute("inline-svg-url",e),n.componentResourceManager.getPending().decrement(),t.append(r),t})).catch((function(e){console.error(e),n.upsertImage(t,null)})))})),ft(n,"upsertImage",(function(e,i){var o=e.querySelector("img");if(o)return o.src=i,t(o,"load",(function(){n.componentResourceManager.getPending().decrement()})),t(o,"error",(function(){n.componentResourceManager.onResourceLoadFailure(o.src)})),Promise.resolve();var s=new Image;return s.setAttribute("cl-element","image"),s.src=i,t(s,"load",(function(){n.componentResourceManager.getPending().decrement()})),t(s,"error",(function(){n.componentResourceManager.onResourceLoadFailure(s.src)})),e.append(s),Promise.resolve()})),ft(n,"applyAdaptiveStyles",(function(t){var e;n.applyAutoAdaptiveStyles(t.adaptiveStyles);var i=n.getEnvironment(),o=t.adaptiveStyles[i],s=o.find((function(t){return"host"===t.element})),r=o.find((function(t){return"image"===t.element})),l=n.getElement("image"),a={cover:"xMidYMid slice",contain:"xMidYMid meet",none:""},c=l&&"svg"===l.nodeName,u=(null==r||null===(e=r.styleAttributes)||void 0===e?void 0:e.objectFit)&&a.hasOwnProperty(r.styleAttributes.objectFit);if(c&&u)if(l.setAttribute("preserveAspectRatio",a[r.styleAttributes.objectFit]),"none"===r.styleAttributes.objectFit)l.setAttribute("width",l.viewBox.baseVal.width+"px"),l.setAttribute("height",l.viewBox.baseVal.height+"px");else{var d=l.viewBox.baseVal.width/l.viewBox.baseVal.height;if("auto"!==s.styleAttributes.width&&"auto"!==s.styleAttributes.height)return l.setAttribute("height","100%"),void l.setAttribute("width","100%");if("auto"===s.styleAttributes.width&&"auto"===s.styleAttributes.height)return l.setAttribute("width",l.viewBox.baseVal.width+"px"),void l.setAttribute("height",l.viewBox.baseVal.height+"px");"auto"===s.styleAttributes.width&&(l.setAttribute("height","100%"),"100%"!==s.styleAttributes.height&&"calc(100% - 0px)"!==s.styleAttributes.height&&l.setAttribute("width","".concat(Math.round(parseInt(s.styleAttributes.height,10)*d),"px"))),"auto"===s.styleAttributes.height&&(l.setAttribute("width","100%"),"100%"!==s.styleAttributes.width&&"calc(100% - 0px)"!==s.styleAttributes.width&&l.setAttribute("height","".concat(Math.round(parseInt(s.styleAttributes.width,10)/d),"px")))}})),ft(n,"fixFloatingImageSize",(function(t){var e=n.getElement("image");e&&(n._isFloating()&&"auto"===lt(t,n.getEnvironment(),"host").styleAttributes.width?e.style.width="":e.style.width="100%")})),ft(n,"_getHostNewDimensionsWithStyles",(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=n.getHostElement();return["height","width","minHeight","minWidth","maxHeight","maxWidth","display"].forEach((function(n){t[n]?e.style[n]=t[n]:e.style[n]&&(e.style[n]="")})),{width:e.offsetWidth,height:e.offsetHeight}})),ft(n,"_isFloating",(function(){return n.getProps().floating||n.getModel().floating})),n.originalApplyAutoAdaptiveStyles=n.applyAutoAdaptiveStyles,n.applyAutoAdaptiveStyles=n.applyStylesRespectingRelativePositioning,n.getRootElement().innerHTML="\n ".concat("\n <style>\n :host {\n transform: rotate(var(--rotation, 0deg));\n }\n \n img {\n display: block;\n max-height: inherit;\n height: inherit;\n min-height: inherit;\n }\n </style>\n ",'\n <img cl-element="image" draggable="false" alt="">\n '),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&vt(t,e)}(e,pt),function(t,e){return e&&mt(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}(e,[{key:"connectedCallback",value:function(){var t=this;Et(e,"connectedCallback",this,3)([]),this.skipGameBlur=!this._isFloating(),this.componentResourceManager.getPending().increment(),this.recalculateStylesAfterImageLoad(),this.observeProps((function(e,n){var i;t.applyAutoAdaptiveStyles(n.adaptiveStyles);var o=t.getElement("image");null!==(i=n.control)&&void 0!==i&&i.imageSource.url&&o&&"src"in o&&(o.src=n.control.imageSource.url);var s=n.control.imageSource.url,r=e&&e.control.imageSource.url,l=String(n.control.imageSource.url).endsWith(".svg")?n.control.imageSource.url:null,a=e&&String(e.control.imageSource.url).endsWith(".svg")?e.control.imageSource.url:null;if(l){if(l===a)return void t.applyAdaptiveStyles(n);t.deleteElementIfPresent(t.getRootElement(),"img"),t.upsertSvg(t.getRootElement(),l).then((function(){t.applyAdaptiveStyles(n)}))}else if(s){if(s===r)return void t.applyAdaptiveStyles(n);t.deleteElementIfPresent(t.getRootElement(),".svgOverflowContainer"),t.upsertImage(t.getRootElement(),s).then((function(){t.applyAdaptiveStyles(n)}))}else t.deleteElementIfPresent(t.getRootElement(),".svgOverflowContainer"),t.upsertImage(t.getRootElement(),t.assets("img/image-placeholder.svg")).then((function(){t.applyAdaptiveStyles(n)}))}))}},{key:"disconnectedCallback",value:function(){var t;Et(e,"disconnectedCallback",this,3)([]),null===(t=this.resourcesLoadedListener)||void 0===t||t.off()}}])}();ft(Ct,"define",{name:"sys-image",model:e.name,manifest:e});export{St as HorizontalPosition,At as PositioningModes,Tt as VerticalPosition,Ct as default};window.clComponentClass_SysImageComponent=Ct;
|
|
1
|
+
const t=(t,e,n,i)=>{const o=EventTarget.prototype,{addEventListenerBase:s,addEventListener:r}=o;(s||r).call(t,e,n,i)},e={name:"SysImageComponent",componentType:"IMAGE",version:"1.0.0",contextMenuModel:[{type:"CONTROL",name:"COMPONENT_OPERATIONS"},{type:"CONTROL",name:"BRING_BACK_FORWARD",element:"host",elementProp:"styleAttributes",elementSubProp:"zIndex"},{type:"CONTROL",name:"FOCUS_PARENT_COMPONENT"}],floatingControlsModel:(n=[{type:"CONTROL",name:"SIZE",elementProp:"styleAttributes",element:"host",params:{rotation:{elementProp:"styleAttributes",element:"host"}}},{type:"CONTROL",name:"MARGIN",elementProp:"styleAttributes",element:"host"},{type:"CONTROL",name:"CONTAINER_PADDING",elementProp:"styleAttributes",element:"host"},{type:"CONTROL",name:"ROTATION",elementProp:"styleAttributes",element:"host"}],Object.values({DESKTOP:"desktop",MOBILE:"mobile"}).map((t=>({type:"GROUP",propPath:["adaptiveStyles",t],children:n})))),propertyPaneModel:{content:[{type:"GROUP",propPath:["adaptiveStyles","desktop"],children:[{type:"CONTROL",name:"SIZE",element:"host",elementProp:"styleAttributes",params:{width:{options:["fixed","fill","hug"]},height:{options:["fixed","fill","hug"]}},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"RADIO_BUTTONS",elementProp:"styleAttributes",elementSubProp:"objectFit",element:"image",params:{label:"DOCUMENT_IMAGE",options:[{label:"DOCUMENT_IMAGE_RESIZE_COVER",value:"cover"},{label:"DOCUMENT_IMAGE_RESIZE_CONTAIN",value:"contain"},{label:"DOCUMENT_IMAGE_RESIZE_NONE",value:"none"}]},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"IMAGE_SOURCES",element:"image",propPath:["control","imageSource"]},{type:"CONTROL",name:"FLOATING_COMPONENT_POSITION",element:"host",elementProp:"styleAttributes",displayCondition:function(t){return!!t.component.getProps().floating&&!t.component.getProps().control.positioning},params:{label:"DOCUMENT_POSITION"},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"DISPLAY",elementProp:"styleAttributes",elementSubProp:"display",element:"host",params:{label:"DOCUMENT_DISPLAY_ON_DESKTOP"}},{type:"CONTROL",name:"DISPLAY",propPath:["adaptiveStyles","mobile"],elementProp:"styleAttributes",elementSubProp:"display",element:"host",params:{label:"DOCUMENT_DISPLAY_ON_MOBILE"}},{type:"CONTROL",name:"BORDER_RADIUS",elementProp:"styleAttributes",element:"image",syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"INDENTATION",elementProp:"styleAttributes",element:"host",displayCondition:function(t){return!t.component.getProps().floating},params:{indentationType:"PADDING"},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"INDENTATION",elementProp:"styleAttributes",element:"host",displayCondition:function(t){return!t.component.getProps().floating},params:{indentationType:"MARGIN"},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}}]},{type:"GROUP",propPath:["adaptiveStyles","mobile"],children:[{type:"CONTROL",name:"SIZE",element:"host",elementProp:"styleAttributes",params:{width:{options:["fixed","fill","hug"]},height:{options:["fixed","fill","hug"]}},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"RADIO_BUTTONS",elementProp:"styleAttributes",elementSubProp:"objectFit",element:"image",params:{label:"DOCUMENT_IMAGE",options:[{label:"DOCUMENT_IMAGE_RESIZE_COVER",value:"cover"},{label:"DOCUMENT_IMAGE_RESIZE_CONTAIN",value:"contain"},{label:"DOCUMENT_IMAGE_RESIZE_NONE",value:"none"}]},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"IMAGE_SOURCES",element:"image",propPath:["control","imageSource"]},{type:"CONTROL",name:"FLOATING_COMPONENT_POSITION",element:"host",elementProp:"styleAttributes",displayCondition:function(t){return!!t.component.getProps().floating&&!t.component.getProps().control.positioning},params:{label:"DOCUMENT_POSITION"},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"DISPLAY",elementProp:"styleAttributes",elementSubProp:"display",element:"host",params:{label:"DOCUMENT_DISPLAY_ON_MOBILE"}},{type:"CONTROL",name:"BORDER_RADIUS",elementProp:"styleAttributes",element:"image",syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"INDENTATION",elementProp:"styleAttributes",element:"host",displayCondition:function(t){return!t.component.getProps().floating},params:{indentationType:"PADDING"},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"INDENTATION",elementProp:"styleAttributes",element:"host",displayCondition:function(t){return!t.component.getProps().floating},params:{indentationType:"MARGIN"},syncSelectDisplayCondition:function(t){return"TEASER"!==t.widgetType}}]}],general:[{type:"CONTROL",name:"ACTIONS",propPath:["handlers"],params:{origin:!0},displayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"TEXT_INPUT",propPath:["control","altText"],params:{label:"DOCUMENT_IMAGE_ALT_TEXT",tooltip:"DOCUMENT_IMAGE_ALT_TEXT_TOOLTIP"}}]},i18nPropertyPaneModel:{content:[{type:"CONTROL",name:"ACTIONS",propPath:["handlers"],params:{origin:!1},displayCondition:function(t){return"TEASER"!==t.widgetType}},{type:"CONTROL",name:"TEXT_INPUT",propPath:["control","altText"],params:{label:"DOCUMENT_IMAGE_ALT_TEXT",tooltip:"DOCUMENT_IMAGE_ALT_TEXT_TOOLTIP"}}]},i18nPropPaths:["handlers,[id],actions,[id],params,link","handlers,[id],actions,[id],params,customData","control,altText"],events:{dispatch:[],listen:[]},props:{control:{imageSource:{url:""},altText:""},adaptiveStyles:{desktop:[{element:"host",styleAttributes:{width:"150px",minWidth:"150px",height:"auto",minHeight:null,paddingTop:"0px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",_paddingEnabled:!1,display:"block"},classes:""},{element:"image",styleAttributes:{background:"transparent",objectFit:"cover",borderTopStyle:"solid",borderRightStyle:"solid",borderBottomStyle:"solid",borderLeftStyle:"solid",borderTopWidth:"0px",borderTopColor:"rgb(0, 0, 0)",borderBottomWidth:"0px",borderBottomColor:"rgb(0, 0, 0)",borderLeftWidth:"0px",borderLeftColor:"rgb(0, 0, 0)",borderRightWidth:"0px",borderRightColor:"rgb(0, 0, 0)",borderTopLeftRadius:"0px",borderTopRightRadius:"0px",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px"},classes:""}],mobile:[{element:"host",styleAttributes:{width:"150px",minWidth:"150px",height:"auto",minHeight:null,paddingTop:"0px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",_paddingEnabled:!1,display:"block"},classes:""},{element:"image",styleAttributes:{background:"transparent",objectFit:"cover",borderTopStyle:"solid",borderRightStyle:"solid",borderBottomStyle:"solid",borderLeftStyle:"solid",borderTopWidth:"0px",borderTopColor:"rgb(0, 0, 0)",borderBottomWidth:"0px",borderBottomColor:"rgb(0, 0, 0)",borderLeftWidth:"0px",borderLeftColor:"rgb(0, 0, 0)",borderRightWidth:"0px",borderRightColor:"rgb(0, 0, 0)",borderTopLeftRadius:"0px",borderTopRightRadius:"0px",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px"},classes:""}]}},metaDescription:{icon:"/SysImageComponent/assets/img/image-component-icon.svg",label:{en:"Image",ru:"Изображение",uk:"Зображення",es:"Imagen",fr:"Menu déroulant",de:"Bild",it:"Immagine",pt:"Imagem",ro:"Imagine",bg:"Изображение",cs:"Obrázek",el:"Εικόνα",nl:"Afbeelding",pl:"Obraz",sv:"Bild",tr:"Resim",ar:"الصورة",zh:"图像",da:"Billede",he:"תמונה",fi:"Kuva",hi:"इमेज ",hr:"Slika",hu:"Kép",id:"Gambar",ja:"画像",ko:"이미지",no:"Bilde",sk:"Obrázok",sl:"Slika",sr:"Slika"}},waitForResourcesLoad:!0,resourcesPropPaths:[["control","imageSource","url"]],syncEnabled:!0,stylesImitationEnabled:!0};var n;const i="cl-";function o(t){return i+t}function s(t){return"cl-"+t}const r="VIEW",l="MODULE",a="CONTAINER",c="INPUT",u="BUTTON",p="CONSENT",d="COLUMN";var h,m;(m=h||(h={})).SUBSCRIBE_CONTACT="SUBSCRIBE_CONTACT",m.REQUEST="REQUEST",m.DISPATCH_EVENT="DISPATCH_EVENT",m.GO_TO_VIEW="GO_TO_VIEW",m.GO_TO_PREVIOUS_VIEW="GO_TO_PREVIOUS_VIEW",m.GO_TO_NEXT_VIEW="GO_TO_NEXT_VIEW",m.SHOW_WIDGET="SHOW_WIDGET",m.OPEN_LINK="OPEN_LINK",m.CLOSE_WIDGET="CLOSE_WIDGET",m.CLICK="CLICK";const g=h;var E;class y{static sortActions(t){const e={[g.CLOSE_WIDGET]:-1,[g.OPEN_LINK]:-2,[g.SHOW_WIDGET]:1,[g.SUBSCRIBE_CONTACT]:2,[g.REQUEST]:3},n=t=>void 0!==e[t.type]?e[t.type]:0;return[...t].sort(((t,e)=>n(t)>n(e)?-1:n(t)<n(e)?1:0))}constructor(t,e){this.config=t,this.actions=y.sortActions(e),this.listener=null,this.targetElements=[],this.eventsQueue=[],this.state=null,this.postponed=!1}activate(t,e,n){this.state=t;const i=n(),o=i.getAttribute(s("id"));this.listener=t=>{const e=t.composedPath().filter((t=>t instanceof HTMLElement&&t.getAttribute(s("type"))));let n=0;for(;e[n]&&e[n].getAttribute(s("id"))!==o;){let t=e[n].getAttribute(s("type"));if(y.IGNORING_VIEW_ENTRY_TYPES.includes(t))return;n++}this.eventsQueue.push({event:t}),this.postponed||this.execute()},this.targetElements=this.config.relativeSelector?Array.from((i.shadowRoot||i).querySelectorAll(this.config.relativeSelector)):[i],this.targetElements.forEach((t=>{t.addEventListener("click",this.listener)}))}async execute(){var t,e,n,i;try{for(var o,s=!0,r=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(n){e[n]=t[n]&&function(e){return new Promise((function(i,o){!function(t,e,n,i){Promise.resolve(i).then((function(e){t({value:e,done:n})}),e)}(i,o,(e=t[n](e)).done,e.value)}))}}}(this.eventsQueue);!(t=(o=await r.next()).done);s=!0){i=o.value,s=!1;const{event:t}=i;for(const e of this.actions)if(!await e.execute(this.state.getState(),t))break}}catch(t){e={error:t}}finally{try{s||t||!(n=r.return)||await n.call(r)}finally{if(e)throw e.error}}this.eventsQueue=[]}postpone(){this.postponed=!0}release(){this.postponed=!1,this.execute()}destroy(){this.listener&&this.targetElements.length&&(this.targetElements.forEach((t=>{t.removeEventListener("click",this.listener)})),this.targetElements=[])}}y.IGNORING_VIEW_ENTRY_TYPES=[u,p,c],function(t){t.CLICK="CLICK",t.COMPONENT_EVENT="COMPONENT_EVENT"}(E||(E={}));class b{constructor(t,e){this.config=t,this.actions=e,this.componentEmitterListener=null}activate(t,e,n){this.componentEmitterListener=e.on(this.config.eventName,(()=>{this.actions.forEach((e=>e.execute(t.getState(),this.config.params)))}))}destroy(){this.componentEmitterListener&&this.componentEmitterListener.off()}}class v{constructor(t,e){this.actionFactory=t,this.actionRegister=e}get(t){const e=t.actions.map((t=>this.actionFactory.get(t)));switch(e.forEach((t=>this.actionRegister.register(t))),t.type){case E.CLICK:return new y(t,e);case E.COMPONENT_EVENT:return new b(t,e);default:throw new Error(`Not supported handler type ${t.type}`)}}}class f{static generate(){let t,e="";for(let n=0;n<32;n++)8!==n&&12!==n&&16!==n&&20!==n||(e+="-"),t=Math.floor(16*Math.random()).toString(16).toUpperCase(),e+=t;return e}}class O{constructor(){this.listeners=O.createDefaultListenersState()}emit(t,e,n=null){const i=this.listeners[t];i&&Object.values(i).forEach((i=>i(e,t,n))),Object.values(this.listeners["*"]).forEach((i=>i(e,t,n)))}on(t,e){const n=f.generate(),i=this.listeners[t];return i?i[n]=e:this.listeners[t]={[n]:e},{off:()=>{var e,i;(null===(i=null===(e=this.listeners)||void 0===e?void 0:e[t])||void 0===i?void 0:i[n])&&delete this.listeners[t][n]}}}destroy(){this.listeners=O.createDefaultListenersState()}}O.createDefaultListenersState=()=>({"*":{}});const T=O;class S{constructor(t){this.state=t||{}}getState(){return this.state}setState(t){this.state=Object.assign(Object.assign({},this.state),t)}destroy(){}}class A{static extract(t){const e=t.views.map((t=>{const e=t.children.map((t=>t.type===l?Object.assign(Object.assign({},t),A.moduleToContainerParams):t));return Object.assign(Object.assign({},t),{children:e})}));return Object.assign(Object.assign({},t),{views:e})}static sort(t,e){return t.index>e.index?1:-1}static reIndex(t,e){return Object.assign(Object.assign({},t),{index:e+t.index})}}var C,_,N,R,I,L,P,M,x,D,w,U,k;A.moduleToContainerParams={name:"SysContainerComponent",version:"1.0.0"},(_=C||(C={})).VIEW="VIEW",_.CONTAINER="CONTAINER",_.TEXT="TEXT",_.INPUT="INPUT",_.BUTTON="BUTTON",_.IMAGE="IMAGE",_.CONSENT="CONSENT",_.COUNTDOWN_TIMER="COUNTDOWN_TIMER",_.PROMO_CODE="PROMO_CODE",_.MULTIPLE_INPUT="MULTIPLE_INPUT",_.VIDEO="VIDEO",_.SLIDER="SLIDER",_.SLIDE="SLIDE",_.SOCIAL="SOCIAL",_.COLUMNS="COLUMNS",_.COLUMN="COLUMN",_.PRIZE_BASED_GAMING="PRIZE_BASED_GAMING",(N||(N={})).CLICK="CLICK",function(t){t.SHOW_WIDGET="SHOW_WIDGET",t.OPEN_LINK="OPEN_LINK",t.SUBSCRIBE_CONTACT="SUBSCRIBE_CONTACT",t.REQUEST="REQUEST",t.CLOSE_WIDGET="CLOSE_WIDGET",t.GO_TO_VIEW="GO_TO_VIEW",t.GO_TO_PREVIOUS_VIEW="GO_TO_PREVIOUS_VIEW",t.GO_TO_NEXT_VIEW="GO_TO_NEXT_VIEW",t.CLICK="CLICK"}(R||(R={})),function(t){t.SELF="_self",t.BLANK="_blank"}(I||(I={})),(L||(L={})).ACCENT="accent",function(t){t.TOP="TOP",t.CENTER="CENTER",t.BOTTOM="BOTTOM"}(P||(P={})),function(t){t.LEFT="LEFT",t.CENTER="CENTER",t.RIGHT="RIGHT"}(M||(M={})),function(t){t.SLIDE_TO_TOP="SLIDE_TO_TOP",t.SLIDE_TO_BOTTOM="SLIDE_TO_BOTTOM",t.SLIDE_TO_LEFT="SLIDE_TO_LEFT",t.SLIDE_TO_RIGHT="SLIDE_TO_RIGHT"}(x||(x={})),function(t){t.PULSE="PULSE",t.VIBRATE="VIBRATE",t.WOBBLE="WOBBLE",t.SHAKE="SHAKE",t.JELLO="JELLO",t.BOUNCE="BOUNCE",t.BLINK="BLINK",t.FLICKER="FLICKER",t.PING="PING"}(D||(D={})),function(t){t.LEFT="LEFT",t.RIGHT="RIGHT"}(w||(w={})),(k=U||(U={})).BEFORE="BEFORE",k.AFTER="AFTER",k.INSIDE="INSIDE",k.INSTEAD="INSTEAD";class B extends T{constructor(t,e){super(),this.config=e,this.handleMobileBreakpoint(t.getShared().mobileBreakpointWidth),t.on("ENVIRONMENT_UPDATE",(({isMobileEnv:t})=>{this._isMobile=t,this.emit(B.changeEventName,this._isMobile)}))}handleMobileBreakpoint(t){this.mobileBreakpointWidth=t;const e=Number.isInteger(this.mobileBreakpointWidth)?`${this.mobileBreakpointWidth}px`:this.mobileBreakpointWidth;this.mediaQueryList=window.matchMedia(`(max-width: ${e})`),this.mediaQueryList.addListener(this.listener.bind(this)),this._isMobile=this.mediaQueryList.matches,this.emit(B.changeEventName,this._isMobile)}isMobile(){return this.config.forceMobileEnv||this._isMobile}listener(t){this._isMobile=t.matches,this.emit(B.changeEventName,this._isMobile)}destroy(){super.destroy(),this.mediaQueryList.removeListener(this.listener.bind(this))}}B.changeEventName="CHANGE";const F=B;class j{static set(t,e){const n=t[j.accumulatorPropertyName]||{};t[j.accumulatorPropertyName]=Object.assign(Object.assign({},n),e.styleAttributes),Object.keys(t[j.accumulatorPropertyName]).forEach((n=>{n.includes("--")?t.style.setProperty(n,e.styleAttributes[n]||""):t.style[n]=e.styleAttributes[n]?e.styleAttributes[n]:""}))}}j.accumulatorPropertyName="clStyleAttributes";const G=j;var W;!function(t){t.BUILT_IN="BUILT_IN",t.DETACHED="DETACHED",t.FLOATING_BOX="FLOATING_BOX",t.FLOATING_BAR="FLOATING_BAR",t.LAUNCHER="LAUNCHER",t.CONTENT_LOCKER="CONTENT_LOCKER"}(W||(W={}));class H{static applyHostStyles(t,e,n=null,i){var o,s,l;const c=null===(s=null===(o=null==n?void 0:n.props)||void 0===o?void 0:o.handlers)||void 0===s?void 0:s.find((t=>"CLICK"===t.type));c&&(null===(l=c.actions)||void 0===l?void 0:l.length)&&(e.style.cursor="pointer"),t!==r&&t!==a&&t!==d||(e.style.display=i===W.CONTENT_LOCKER&&t===r?"flex":"inline-flex",e.style.position="relative"),e.style.boxSizing="border-box"}constructor(){this.styles="/* common styles */ *, *:before, *:after { box-sizing: border-box; font-family: inherit; }"}setStyles(t=""){this.styles=`${this.styles} ${t}`}getStyles(){return this.styles}}class V{static log(t){window.scriptLog09u8y9?scriptLog09u8y9("ERROR","RUNTIME_ERROR",new Error(t)):console.error(t)}}class ${constructor(t,e,n,i,o,s){this.hostElement=e,this.documentModel=t,this.getSharedCb=n,this.getPropsCb=i,this.getEnvCb=o,this.httpClient=s,this.schemaSubscription=null,this.themeSubscription=null,this.envUrlMaps={desktop:new Map,mobile:new Map}}parseBackground(t){const e=String(t||"");if(e.includes("url")){const[t,n]=e.split("(")[1].split(")");return{url:t.replace(/['"]+/g,""),positionOptions:n.replace(";","")}}return{url:null,positionOptions:null}}apply(t){const e=this.getPropsCb();return e.backgroundDynamicInlineSVGElements[t].forEach((n=>{var i,o,s,r,l;const a=null===(o=null===(i=e.adaptiveStyles)||void 0===i?void 0:i[t])||void 0===o?void 0:o.find((t=>t.element===n)),c=(null===(s=e.styles)||void 0===s?void 0:s.find((t=>t.element===n)))||{},u=(null===(r=null==c?void 0:c.styleAttributes)||void 0===r?void 0:r.background)||(null===(l=null==a?void 0:a.styleAttributes)||void 0===l?void 0:l.background),p=this.parseBackground(u);p.url&&this.envUrlMaps[t].set(n,{originalSVGResourceURL:p.url,inlineSvgString:null,positionOptions:p.positionOptions})})),Promise.all([...this.envUrlMaps[t].entries()].map((([e,n])=>this.httpClient.execute(n.originalSVGResourceURL).then((t=>t.text())).then((i=>{this.envUrlMaps[t].set(e,Object.assign(Object.assign({},n),{inlineSvgString:i}))}))))).then((()=>{var e;const n=this.getSharedCb();return Object.keys((null===(e=n.theme)||void 0===e?void 0:e.schema)||{}).length>0?this._applyHostElementBackgroundFromTheme(this.envUrlMaps[t].get("host"),n.theme.schema):this._applyHostElementBackgroundFromCssVars(this.envUrlMaps[t].get("host"),n.cssVars)})).catch((t=>{console.error(t),V.log(`Failed to load/apply backgroundDynamicInlineSVGElements[${this.getPropsCb().backgroundDynamicInlineSVGElements}] ${t}`)}))}on(){return this.schemaSubscription=this.documentModel.on("COLOR_SCHEMA_UPDATE",(t=>{this._applyHostElementBackgroundFromCssVars(this.envUrlMaps[this.getEnvCb()].get("host"),t)})),this.themeSubscription=this.documentModel.on("THEME_UPDATE",(t=>{this._applyHostElementBackgroundFromTheme(this.envUrlMaps[this.getEnvCb()].get("host"),t.schema)})),this}_applyHostElementBackgroundFromCssVars(t,e){t&&e&&(this.hostElement.style.background=this._buildBackgroundUrlFromCssVars(t,e))}_applyHostElementBackgroundFromTheme(t,e){t&&e&&(this.hostElement.style.background=this._buildBackgroundUrlFromTheme(t,e))}_buildBackgroundUrlFromCssVars(t,e){const n=t.inlineSvgString.trim().replace("var(--cl-schema-accent)",e["cl-schema-accent"]);return`url('data:image/svg+xml,${encodeURIComponent(n)}')${t.positionOptions}`}_buildBackgroundUrlFromTheme(t,e){const n=t.inlineSvgString.trim();let i=n;return[...n.matchAll(/var\(--cl-schema-([^)]+)\)/g)].forEach((t=>{const n=function(t=""){return t.replace(/var\(\s*(--[^,\s)]+).*\)/,"$1").replace("--cl-schema-","")}(t[1]);var o;i=i.replace(`var(--${o=n,`cl-schema-${o}`})`,e[n])})),`url('data:image/svg+xml,${encodeURIComponent(i)}')${t.positionOptions}`}off(){var t,e;null===(t=this.schemaSubscription)||void 0===t||t.off(),null===(e=this.themeSubscription)||void 0===e||e.off()}}const K=new class{execute(t,e="GET",n=null,i,o){const s={method:e,headers:Object.assign({"Content-Type":"text/plain"},i||{}),credentials:"same-origin",body:null,signal:o};return n&&(s.body="string"==typeof n?n:JSON.stringify(n)),fetch(t,s)}};function z(t,e){return Object.keys(t).filter((t=>!e.includes(t))).reduce(((e,n)=>Object.assign(Object.assign({},e),{[n]:t[n]})),{})}class X{static camelCaseToDashCase(t){return t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}static camelCaseToUpperSnakeCase(t){return t.replace(/[A-Z]/g,(t=>"_"+t)).toUpperCase()}}class Y{constructor(t){this._count=0,this.onUpdateCb=t}increment(){this._count++,this.onUpdateCb(this.count())}decrement(){this._count>0&&this._count--,this.onUpdateCb(this.count())}count(){return this._count}}var Q;!function(t){t.TOO_MANY_REQUESTS="TOO_MANY_REQUESTS",t.COMPONENT_RESOURCES_LOADED="COMPONENT_RESOURCES_LOADED",t.FAILED_TO_LOAD_COMPONENT_RESOURCE="FAILED_TO_LOAD_COMPONENT_RESOURCE",t.EXECUTE_ACTION_BY_PREDICATE="EXECUTE_ACTION_BY_PREDICATE"}(Q||(Q={}));const Z=Q;class q{constructor(t,e,n){this.getPending=()=>this.counters.pending,this.onCounterStateUpdate=t=>{0===t&&this.systemEventEmitter.emit(Z.COMPONENT_RESOURCES_LOADED,this.componentId)},this.onResourceLoadFailure=t=>{this.isStaticEntryModule?this.systemEventEmitter.emit(Z.FAILED_TO_LOAD_COMPONENT_RESOURCE,`Failed to load: ${t}`):this.counters.pending.decrement()},this.componentId=t,this.systemEventEmitter=e,this.isStaticEntryModule=n,this.counters={pending:new Y(this.onCounterStateUpdate)}}}const J=(...t)=>{let e=t.reduce(((t,e)=>Object.assign(Object.assign({},t),{[e]:[]})),{});return{get:t=>e[t],clear:()=>J(...t)}},tt=J,et="props",nt="shared",it="environment";function ot(t,e,n,i){const o=t=>{let s=t instanceof DocumentFragment||(null==t?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE?t.host:t;return s&&(i&&"function"==typeof i?i(s.getAttribute(e)):(null===(r=null==s?void 0:s.getAttribute)||void 0===r?void 0:r.call(s,e))===n)?s:s&&s.parentNode&&o(s.parentNode)||null;var r};return o(t)}const st="SUBMIT";function rt(t,e){return e?(t.classes=`${t.classes||""} ${e.classes||""}`.trim(),Object.keys(e).forEach((n=>{if("element"===n||"classes"===n)return;const i=e[n];i&&"object"==typeof i&&!Array.isArray(i)?t[n]=Object.assign(Object.assign({},t[n]||{}),i):t[n]=i})),t):t}function lt(t,e,n){var i;return null===(i=null==t?void 0:t[e])||void 0===i?void 0:i.find((t=>t.element===n))}function at(t){const{element:e,html:n,appendHtml:i}=t,o=function(t){if(null==t)return"";if("string"!=typeof t)return String(t);if(""===t)return"";if(!/<\/?([a-zA-Z][a-zA-Z0-9]*)\b[^>]*>/.test(t))return t;const e=(new DOMParser).parseFromString(t,"text/html");return e.querySelectorAll('script, style, link[rel="stylesheet"], meta[http-equiv]').forEach((t=>t.remove())),e.querySelectorAll("*").forEach((t=>{if(["onclick","onload","onerror","onmouseover","onfocus","onblur","onkeyup","onkeydown","onchange","onsubmit","onmouseenter","onmouseleave","onmouseout","oncontextmenu","ondrag","ondrop"].forEach((e=>t.removeAttribute(e))),Array.from(t.attributes).forEach((e=>{e.name.startsWith("on")&&t.removeAttribute(e.name)})),"A"===t.tagName||"AREA"===t.tagName){const e=t.getAttribute("href");e&&(e.startsWith("javascript:")||e.startsWith("data:"))&&t.removeAttribute("href")}if("IMG"===t.tagName||"IFRAME"===t.tagName){const e=t.getAttribute("src");e&&(e.startsWith("javascript:")||e.startsWith("data:text/html"))&&t.removeAttribute("src")}if("FORM"===t.tagName){const e=t.getAttribute("action");e&&e.startsWith("javascript:")&&t.removeAttribute("action")}})),e.body.innerHTML}(n);i?e.innerHTML+=o:e.innerHTML=o}class ct extends Event{constructor(t,e,n){super(t,n),this.detail={},Object.defineProperty(this,"detail",{value:e})}}var ut;!function(t){t.STATIC="STATIC",t.UPDATING="UPDATING"}(ut||(ut={}));class pt extends HTMLElement{constructor(){var e;super(),this.skipGameBlur=!0,this.construct=()=>{let t;const e=this.getAttribute(s("id")),n=this.getWidgetContainerNode();if(!n)throw new Error("Widget container not found in construct");const i=n.closest(`[${s("widget-id")}]`);let o;i&&(o=i.getAttribute(s("widget-id")));let r=new ct("cl-props-request",{nodeName:this.nodeName,path:this.getAttribute(s("path")),id:e,widgetId:o},{bubbles:!0,composed:!0});this.dispatchEvent(r),t=r.detail.props,Object.assign(this,t),this.observers=tt(et,nt,it),this.subscriptions=new class{constructor(){this.subscriptions=[]}push(t){this.subscriptions.push(t)}off(){this.subscriptions.forEach((t=>null==t?void 0:t.off()))}},this.state=new S({}),this.componentEventEmitter=new T,this.componentResourceManager=new q(this.model.id,this.services.eventEmitter,this.isStaticRenderMode()),this.mergeTagsProcessor=this.services.mergeTagsProcessorFactory.create(),this._actionFactory=this.services.actionFactory,this._handlerFactory=new v(this._actionFactory,this.services.actionRegister),this.prevProps=this.model.props,this.prevEnvironment=this.getEnvironment(),this.documentModel.on(`COMPONENT_PROPS_UPDATE_${this.model.id}`,(t=>{this.model.props=t,this.observers.get(et).forEach((e=>e(this.prevProps,t))),this.prevProps=t;const e=this.getHostElement(),n=s("floating");t.floating&&!e.getAttribute(n)?e.setAttribute(n,"true"):!t.floating&&e.getAttribute(n)&&e.removeAttribute(n)})),this.documentModel.on(`COMPONENT_UPDATE_${this.model.id}`,(t=>{Object.assign(this.model,t)})),this.documentModel.on("SHARED_UPDATE_ALL",(()=>{this.applyAutoAdaptiveStyles(this.prevProps.adaptiveStyles,this.prevProps.styles),this.observers.get(nt).forEach((t=>t(this.getShared())))})),this.model.props.backgroundDynamicInlineSVGElements&&(this.colorSchemaListener=new $(this.documentModel,this.getHostElement(),(()=>this.getShared()),(()=>this.model.props),(()=>this.getEnvironment()),K),this.colorSchemaListener.apply(this.getEnvironment()).then((()=>{this.subscriptions.push(this.colorSchemaListener.on())}))),this.prevProps.adaptiveStyles&&this.subscriptions.push(this.resizeListener.on(F.changeEventName,(()=>{this.applyAutoAdaptiveStyles(this.prevProps.adaptiveStyles,this.prevProps.styles);const t=this.getEnvironment();this.observers.get(it).forEach((e=>e(this.prevEnvironment,t))),this.prevEnvironment=t}))),this.subscriptions.push(this.services.eventEmitter.on("GAME_PHASE_READY_TO_PLAY",(()=>{this.skipGameBlur||this.getHostElement().classList.add("cl-game-spotlight-component")}))),this.subscriptions.push(this.services.eventEmitter.on("GAME_PHASE_COMPLETED",(()=>{this.skipGameBlur||this.getHostElement().classList.remove("cl-game-spotlight-component")})))},this.attachHandlers=()=>{this.getHandlers().map((t=>this._handlerFactory.get(t))).map((t=>()=>t.activate(this.state,this.componentEventEmitter,this.getHostElement.bind(this)))).forEach((t=>t()))},this.postponeHandlers=()=>{var t;null===(t=this.handlers)||void 0===t||t.forEach((t=>t.postpone()))},this.releaseHandlers=()=>{var t;null===(t=this.handlers)||void 0===t||t.forEach((t=>t.release()))},this.getProps=()=>{var t;return null===(t=this.getModel())||void 0===t?void 0:t.props},this.getShared=()=>this.documentModel.getShared(),this.getEnvironment=()=>this.resizeListener.isMobile()?"mobile":"desktop",this.isStaticRenderMode=()=>this.services.config.getConfig("renderMode")===ut.STATIC,this.isUpdatingRenderMode=()=>this.services.config.getConfig("renderMode")===ut.UPDATING,this.getRootElement=()=>this.shadowRoot?this.shadowRoot:this,this.getHostElement=()=>this,this.observeProps=t=>{this.observers.get(et).push(t),t(null,this.prevProps)},this.observeShared=t=>{this.observers.get(nt).push(t),t(this.getShared())},this.observeEnvironment=t=>{this.observers.get(it).push(t),t(null,this.getEnvironment())},this.getElements=()=>[this.getHostElement(),...Array.from(this.getRootElement().querySelectorAll(`[${s("element")}]`)).filter((t=>!t.hasAttribute(s("component"))))],this.getElement=(t,e)=>this.getElements().find((n=>e?n.getAttribute(s("element"))===t&&n.id===e:n.getAttribute(s("element"))===t)),this.applyAutoAdaptiveStyles=(t,e)=>{if(!t&&!e)return;const n=this.getElements();if(!n.length)return;const i=function(t,e){if(!e)return t||{desktop:[],mobile:[]};const n=JSON.parse(JSON.stringify(t||{desktop:[],mobile:[]}));return e.forEach((t=>{const e=t.element;let i=!1,o=!1;n.desktop&&n.desktop.forEach((n=>{n.element===e&&(rt(n,t),i=!0)})),n.mobile&&n.mobile.forEach((n=>{n.element===e&&(rt(n,t),o=!0)})),!i&&n.desktop&&n.desktop.push(JSON.parse(JSON.stringify(t))),!o&&n.mobile&&n.mobile.push(JSON.parse(JSON.stringify(t)))})),n}(t,e),o=s("type"),r="element-styles";let l=this.getRootElement().querySelector(`style[${o}="${r}"]`);l||(l=document.createElement("style"),l.setAttribute(o,r),this.getRootElement().appendChild(l)),at({element:l,html:""}),n.forEach((t=>{let e=t.getAttribute(s("element"));const n=this.getEnvironment();let o=lt(i,n,e);if(o){if(this.resizeListener.isMobile()){const t=lt(i,"desktop",e);t&&(o=Object.assign(Object.assign({},o),{styleAttributes:Object.assign(Object.assign({},t.styleAttributes),o.styleAttributes)}))}this.applyStylesToElement(t,this.applySharedClassesToElementModel(o),l)}})),this._addLinkColor(l,this.getShared())},this.registerComponentResourceManagement=()=>{this.viewResourceManager.registerComponent(this.model.id,this.componentResourceManager)},this.applyStyles=(t,e={})=>{if(!t||!t.style)return!1;for(const[n,i]of Object.entries(e))t.style[n]=i;return!0},this.applyStylesToElement=(e,n,i)=>{var o,r;const l=[];"host"===(n=pt._resolveTogglableStylesForElementModel(n)).element&&(H.applyHostStyles(this.model.type,e,null,this.layoutType),("desktop"===this.getEnvironment()&&(null===(o=this.model.props.backgroundDynamicInlineSVGElements)||void 0===o?void 0:o.desktop)||"mobile"===this.getEnvironment()&&(null===(r=this.model.props.backgroundDynamicInlineSVGElements)||void 0===r?void 0:r.mobile))&&(this.colorSchemaListener.apply(this.getEnvironment()),l.push("background")));let a=n.styleAttributes.background,c=a&&a.match(/url\("([^"]*)"\)/);if(this.manifest.waitForResourcesLoad&&c){this.componentResourceManager.getPending().increment();const e=new Image;e.src=c[1],t(e,"load",(()=>{this.componentResourceManager.getPending().decrement()})),t(e,"error",(()=>{this.componentResourceManager.onResourceLoadFailure(e.src),this.isUpdatingRenderMode&&this.componentResourceManager.getPending().decrement()}))}const u=Object.assign(Object.assign({},n),{styleAttributes:z(n.styleAttributes,l)});if(G.set(e,u),this._setClassAttributes(e,n),i){if(n.hoverStyleAttributes){let t=Object.assign({},n.hoverStyleAttributes);if("FILL_UP"===n.hoverAnimationType){e.style.boxShadow="inset 0px 0px 0px 0px rgb(0, 0, 0, 0)",e.style.overflow="hidden";const i=e.tagName.toLowerCase(),o=`flip-up-animation-${n.element}`;let s=this.getRootElement().querySelector(`#${o}`);s||(s=document.createElement("style"),s.id=o,e.appendChild(s)),at({element:s,html:`\n ${i}::before {\n content: '';\n background: ${t.background};\n position: absolute;\n left: 0;\n top: ${e.getBoundingClientRect().height}px;\n height: ${e.getBoundingClientRect().height}px;\n width: 100%;\n z-index: -10;\n }\n ${i}:hover::before {\n top: 0;\n transition: 0.3s;\n }\n `}),t=Object.assign(Object.assign({},n.hoverStyleAttributes),{background:"transparent",position:"relative"})}t.borderTopWidth&&"0px"!==t.borderTopWidth||delete t.borderTopColor,t.borderBottomWidth&&"0px"!==t.borderBottomWidth||delete t.borderBottomColor,t.borderLeftWidth&&"0px"!==t.borderLeftWidth||delete t.borderLeftColor,t.borderRightWidth&&"0px"!==t.borderRightWidth||delete t.borderRightColor,this._addStylesToStyleElement(i,n.element,t,`:not(.${s("no-hover")}):hover`,!0)}n.placeholderStyleAttributes&&this._addStylesToStyleElement(i,n.element,n.placeholderStyleAttributes,"::placeholder"),this._addFontStylesToStyleElement(i,this.getShared()),this.stylesAppliedToElement(e,n,i)}},this.applySharedClassesToElementModel=t=>function(t,e){let n=t;return(n.classes||"").split(" ").filter((t=>t.startsWith(i))).forEach((t=>{var i;let o=null===(i=e.textClasses)||void 0===i?void 0:i[t];o&&(o.styleAttributes.fontFamily||(o.isHeader&&e.headerFontFamily&&(o=Object.assign(Object.assign({},o),{styleAttributes:Object.assign(Object.assign({},o.styleAttributes),{fontFamily:e.headerFontFamily})})),!o.isHeader&&e.textFontFamily&&(o=Object.assign(Object.assign({},o),{styleAttributes:Object.assign(Object.assign({},o.styleAttributes),{fontFamily:e.textFontFamily})}))),n=Object.assign(Object.assign({},n),{styleAttributes:Object.assign(Object.assign({},n.styleAttributes),o.styleAttributes),placeholderStyleAttributes:Object.assign(Object.assign({},n.placeholderStyleAttributes),o.placeholderStyleAttributes)}))})),n.styleAttributes.fontFamily||(n=Object.assign(Object.assign({},n),{styleAttributes:Object.assign(Object.assign({},n.styleAttributes),{fontFamily:e.textFontFamily})})),n}(t,this.documentModel.getShared()),this.getModel=()=>this.model,this._addStylesToStyleElement=(t,e,n,i="",o)=>{const r=Object.keys(n).reduce(((t,e)=>t+` ${X.camelCaseToDashCase(e)}: ${n[e]}${o?" !important;":";"}`),"");at({element:t,html:`[${s("element")}="${e}"]${i} { ${r} }`,appendHtml:!0})},this._addFontStylesToStyleElement=(t,e)=>{at({element:t,html:`[cl-type] {font-family:${e.textFontFamily||"inherit"}}`,appendHtml:!0})},this._addLinkColor=(t,e)=>{var n,i,o,s;e.linkColor&&at({element:t,html:`a {color: ${e.linkColor}}, a:visited {color: ${e.linkColor}}`,appendHtml:!0}),(null===(n=e.linkParams)||void 0===n?void 0:n.color)&&at({element:t,html:`a {color: ${null===(i=e.linkParams)||void 0===i?void 0:i.color}}, a:visited {color: ${null===(o=e.linkParams)||void 0===o?void 0:o.color}}`,appendHtml:!0}),(null===(s=e.linkParams)||void 0===s?void 0:s.removeUnderline)&&at({element:t,html:"a {text-decoration: none}, a:visited {text-decoration: none}",appendHtml:!0})},this._setClassAttributes=(t,e)=>{Array.from(t.classList).filter((t=>t!==o("hovered")&&t!==o("focused"))).forEach((e=>{e.startsWith(i)&&t.classList.remove(e)}));const n=((t.getAttribute("class")||"")+" "+e.classes).trim();t.setAttribute("class",n)},this.getParentComponent=()=>ot(this.parentNode,s("element"),"host"),this.getWidgetContainerNode=()=>{const t=null==this?void 0:this.getAttribute(s("path"));return 1===(null==t?void 0:t.split(",").length)?this.parentNode:ot(this.parentNode,s("path"),void 0,(t=>1===(null==t?void 0:t.split(",").length)))},this.getWidgetLanguages=()=>function(t){return[t.getConfig("appearanceLanguage"),t.getConfig("browserLanguage"),"en"].filter((t=>!!t))}(this.services.config),this.getPreferredWidgetLanguage=()=>this.getWidgetLanguages()[0],this.getTranslationsMap=t=>function(t,e){return e.reduce(((e,n)=>{if(e)return e;const i=function(t,e){if(!t)return null;if(e[t])return{translations:e[t],language:t};const n=function(t){return t.includes("-")?t.split("-")[0].toLowerCase():t.includes("_")?t.split("_")[0].toLowerCase():t}(t);return e[n]?{translations:e[n],language:n}:null}(n,t);return i||null}),null)}(t,this.getWidgetLanguages()),this.stylesAppliedToElement=(t,e,n)=>{},this.updateContext=()=>{var t;const e=this.getModel();this.services.context.updateRecord(e.id,{label:this.getContextRecordLabel(e.props),viewIndex:null===(t=e.path)||void 0===t?void 0:t[0]})},this.addContextRecord=()=>{var t;const e=this.getModel();this.services.context.addRecord(e.id,{recordKey:e.id,id:e.props.control.name,label:this.getContextRecordLabel(e.props),value:e.props.control.defaultValue||"",viewIndex:null===(t=e.path)||void 0===t?void 0:t[0],sourceId:"FORM",initialData:{fallbackValue:"",exampleValue:this.getContextRecordExampleValue(e.props)}})},this.getContextRecordLabel=t=>{var e,n,i,o,s,r;const l=t.control.name;if(["email","first_name","last_name"].includes(l))return l.toUpperCase();if((null===(e=t.content)||void 0===e?void 0:e.label)&&(null===(o=null===(i=null===(n=t.adaptiveStyles)||void 0===n?void 0:n.desktop.find((t=>"label"===t.element)))||void 0===i?void 0:i.params)||void 0===o?void 0:o.enabled)){const e=(new DOMParser).parseFromString(t.content.label,"text/html");return this.capitalizeFirstLetter(e.body.textContent||"")}return(null===(s=t.content)||void 0===s?void 0:s.placeholder)?this.capitalizeFirstLetter(t.content.placeholder):(null===(r=t.control)||void 0===r?void 0:r.integrationName)?this.capitalizeFirstLetter(t.control.integrationName).replace(new RegExp("_","g")," "):void 0},this.capitalizeFirstLetter=t=>t.charAt(0).toUpperCase()+t.slice(1),this.getContextRecordExampleValue=t=>{var e;switch(null===(e=t.control)||void 0===e?void 0:e.name){case"email":return"myemail@example.com";case"first_name":return"Maria";case"last_name":return"Taylor";default:return this.getContextRecordLabel(t)}},this.completeSubmitAction=t=>{const e=t||{},n=this.services.actionRegister.getRegisteredActions().find((t=>t.category===st));n?null==n||n.execute(void 0,void 0,!0,e):this.services.actionFactory.get({type:g.REQUEST}).execute(void 0,void 0,!0,e)},this.getHandlers=()=>{var t;return(null===(t=this.getProps())||void 0===t?void 0:t.handlers)&&this.getProps().handlers.length?[...this.getProps().handlers]:[]},this.assets=(t="")=>`${this.services.config.getConfig("staticResourcesUrl").replace(/\/$/,"")}/${this.manifest.name}/assets${t?`/${t}`:""}`,this.attachShadow({mode:"open"}),this.manifest=this.manifest||(null===(e=this.constructor.define)||void 0===e?void 0:e.manifest)}connectedCallback(){this.construct(),this.registerComponentResourceManagement(),Promise.resolve().then((()=>{this.attachHandlers()}));const t=document.createElement("style");t.textContent='\n :host(.cl-game-spotlight-component)::after {\n content: "";\n position: absolute;\n background-size: 100% 100%;\n background-repeat: no-repeat;\n overflow: visible;\n \n backdrop-filter: blur(4px);\n \n inset: -30px;\n mask-image: \n linear-gradient(to bottom, transparent, grey 30px, grey calc(100% - 30px), transparent),\n linear-gradient(to right, transparent, grey 30px, grey calc(100% - 30px), transparent);\n mask-composite: intersect;\n -webkit-mask-composite: source-in; /* for Chrome/Safari */\n \n transition: opacity 0.35s ease;\n pointer-events: auto;\n }\n ',this.getRootElement().prepend(t)}disconnectedCallback(){var t;this.observers.clear(),this.subscriptions.off(),this.state.destroy(),this.componentEventEmitter.destroy(),null===(t=this.mergeTagsProcessor)||void 0===t||t.destroy()}}pt._resolveTogglableStylesForElementModel=t=>{const e=Object.assign({},t);return Object.keys(e).forEach((t=>{t.toLowerCase().includes("styleattributes")&&(e[t]=pt._resolveTogglableStyles(e[t]))})),e},pt._resolveTogglableStyles=t=>{const e=Object.assign({},t),n=(t,n,i)=>{n in e&&(t.forEach((t=>{t in e&&(e[t]=e[n]?e[t]:i)})),delete e[n])};return n(["marginTop","marginBottom","marginLeft","marginRight"],"_marginEnabled","0px"),n(["paddingTop","paddingBottom","paddingLeft","paddingRight"],"_paddingEnabled","0px"),e};const dt=pt;function ht(t){return ht="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ht(t)}function mt(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,Ot(i.key),i)}}function gt(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(gt=function(){return!!t})()}function Et(t,e,n,i){var o=yt(bt(1&i?t.prototype:t),e,n);return 2&i&&"function"==typeof o?function(t){return o.apply(n,t)}:o}function yt(){return yt="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var i=function(t,e){for(;!{}.hasOwnProperty.call(t,e)&&null!==(t=bt(t)););return t}(t,e);if(i){var o=Object.getOwnPropertyDescriptor(i,e);return o.get?o.get.call(arguments.length<3?t:n):o.value}},yt.apply(null,arguments)}function bt(t){return bt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},bt(t)}function vt(t,e){return vt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},vt(t,e)}function ft(t,e,n){return(e=Ot(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Ot(t){var e=function(t){if("object"!=ht(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=ht(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==ht(e)?e:e+""}var Tt={TOP:"top",CENTER:"center",BOTTOM:"bottom"},St={LEFT:"left",CENTER:"center",RIGHT:"right"},At={FIXED:"fixed",STICKY:"sticky"},Ct=function(){function e(){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),ft(n=function(t,e,n){return e=bt(e),function(t,e){if(e&&("object"==ht(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,gt()?Reflect.construct(e,n||[],bt(t).constructor):e.apply(t,n))}(this,e),"applyAltText",(function(t){var e,i=n.getElement("image");if(i){var o=(null===(e=t.control)||void 0===e?void 0:e.altText)||"";"IMG"===i.nodeName?i.alt=o:i.setAttribute("aria-label",o)}})),ft(n,"applyStylesRespectingRelativePositioning",(function(){var t=n.processPositioningStyles(n.getProps());n.originalApplyAutoAdaptiveStyles(t),n.fixFloatingImageSize(t)})),ft(n,"recalculateStylesAfterImageLoad",(function(){n.resourcesLoadedListener=n.services.eventEmitter.on("VIEW_COMPONENT_RESOURCES_LOADED",(function(){requestAnimationFrame((function(){n.applyAdaptiveStyles(n.getProps())}))}))})),ft(n,"processPositioningStyles",(function(t){var e,i,o=t.adaptiveStyles;if(((null===(e=t.control)||void 0===e?void 0:e.positioningMode)||At.FIXED)===At.FIXED)return o;var s=n.getEnvironment(),r=(null===(i=t.control)||void 0===i||null===(i=i.positioning)||void 0===i?void 0:i[s])||{},l=(null==r?void 0:r.diff)||{};if(!Boolean("x"in l&&"y"in l))return o;var a=lt(o,s,"host").styleAttributes,c=n._getHostNewDimensionsWithStyles(a),u=c.width,p=c.height,d=z(a,["left","right","top","bottom"]),h=u/2,m=l.x-h;r.horizontalPosition===St.LEFT?(d.left="".concat(m,"px"),d.right="auto"):r.horizontalPosition===St.RIGHT?(d.right="".concat(-u-m,"px"),d.left="auto"):(d.left="calc(50% + ".concat(m,"px)"),d.right="auto");var g=p/2,E=l.y-g;return r.verticalPosition===Tt.TOP?(d.top="".concat(E,"px"),d.bottom="auto"):r.verticalPosition===Tt.BOTTOM?(d.bottom="".concat(-p-E,"px"),d.top="auto"):(d.top="calc(50% + ".concat(E,"px)"),d.bottom="auto"),function(t,e,n,i={}){return Object.assign(Object.assign({},t),{[e]:t[e].map((t=>t.element===n?Object.assign(Object.assign({},t),{styleAttributes:Object.assign({},i)}):t))})}(o,s,"host",d)})),ft(n,"deleteElementIfPresent",(function(t,e){var n=t.querySelector(e);n&&n.remove()})),ft(n,"upsertSvg",(function(t,e){var i=t.querySelector("svg");return i&&i.getAttribute("inline-svg-url")===e?Promise.resolve():(i&&n.deleteElementIfPresent(n.getRootElement(),".svgOverflowContainer"),fetch(e).then((function(t){return t.text()})).then((function(i){var o=document.createElement("template"),s=document.createElement("div");s.style.overflow="hidden",s.style.width="100%",s.style.height="inherit",s.classList.add("svgOverflowContainer"),o.append(s),o.firstChild.innerHTML=i.trim();var r=o.firstChild,l=r.querySelector("svg");return l.setAttribute("cl-element","image"),l.setAttribute("inline-svg-url",e),n.componentResourceManager.getPending().decrement(),t.append(r),t})).catch((function(e){console.error(e),n.upsertImage(t,null)})))})),ft(n,"upsertImage",(function(e,i){var o=e.querySelector("img");if(o)return o.src=i,t(o,"load",(function(){n.componentResourceManager.getPending().decrement()})),t(o,"error",(function(){n.componentResourceManager.onResourceLoadFailure(o.src)})),Promise.resolve();var s=new Image;return s.setAttribute("cl-element","image"),s.src=i,t(s,"load",(function(){n.componentResourceManager.getPending().decrement()})),t(s,"error",(function(){n.componentResourceManager.onResourceLoadFailure(s.src)})),e.append(s),Promise.resolve()})),ft(n,"applyAdaptiveStyles",(function(t){var e;n.applyAutoAdaptiveStyles(t.adaptiveStyles);var i=n.getEnvironment(),o=t.adaptiveStyles[i],s=o.find((function(t){return"host"===t.element})),r=o.find((function(t){return"image"===t.element})),l=n.getElement("image"),a={cover:"xMidYMid slice",contain:"xMidYMid meet",none:""},c=l&&"svg"===l.nodeName,u=(null==r||null===(e=r.styleAttributes)||void 0===e?void 0:e.objectFit)&&a.hasOwnProperty(r.styleAttributes.objectFit);if(c&&u)if(l.setAttribute("preserveAspectRatio",a[r.styleAttributes.objectFit]),"none"===r.styleAttributes.objectFit)l.setAttribute("width",l.viewBox.baseVal.width+"px"),l.setAttribute("height",l.viewBox.baseVal.height+"px");else{var p=l.viewBox.baseVal.width/l.viewBox.baseVal.height;if("auto"!==s.styleAttributes.width&&"auto"!==s.styleAttributes.height)return l.setAttribute("height","100%"),void l.setAttribute("width","100%");if("auto"===s.styleAttributes.width&&"auto"===s.styleAttributes.height)return l.setAttribute("width",l.viewBox.baseVal.width+"px"),void l.setAttribute("height",l.viewBox.baseVal.height+"px");"auto"===s.styleAttributes.width&&(l.setAttribute("height","100%"),"100%"!==s.styleAttributes.height&&"calc(100% - 0px)"!==s.styleAttributes.height&&l.setAttribute("width","".concat(Math.round(parseInt(s.styleAttributes.height,10)*p),"px"))),"auto"===s.styleAttributes.height&&(l.setAttribute("width","100%"),"100%"!==s.styleAttributes.width&&"calc(100% - 0px)"!==s.styleAttributes.width&&l.setAttribute("height","".concat(Math.round(parseInt(s.styleAttributes.width,10)/p),"px")))}})),ft(n,"fixFloatingImageSize",(function(t){var e=n.getElement("image");e&&(n._isFloating()&&"auto"===lt(t,n.getEnvironment(),"host").styleAttributes.width?e.style.width="":e.style.width="100%")})),ft(n,"_getHostNewDimensionsWithStyles",(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=n.getHostElement();return["height","width","minHeight","minWidth","maxHeight","maxWidth","display"].forEach((function(n){t[n]?e.style[n]=t[n]:e.style[n]&&(e.style[n]="")})),{width:e.offsetWidth,height:e.offsetHeight}})),ft(n,"_isFloating",(function(){return n.getProps().floating||n.getModel().floating})),n.originalApplyAutoAdaptiveStyles=n.applyAutoAdaptiveStyles,n.applyAutoAdaptiveStyles=n.applyStylesRespectingRelativePositioning,n.getRootElement().innerHTML="\n ".concat("\n <style>\n :host {\n transform: rotate(var(--rotation, 0deg));\n }\n \n img {\n display: block;\n max-height: inherit;\n height: inherit;\n min-height: inherit;\n }\n </style>\n ",'\n <img cl-element="image" draggable="false" alt="">\n '),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&vt(t,e)}(e,dt),function(t,e){return e&&mt(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}(e,[{key:"connectedCallback",value:function(){var t=this;Et(e,"connectedCallback",this,3)([]),this.skipGameBlur=!this._isFloating(),this.componentResourceManager.getPending().increment(),this.recalculateStylesAfterImageLoad(),this.observeProps((function(e,n){var i;t.applyAutoAdaptiveStyles(n.adaptiveStyles),t.applyAltText(n);var o=t.getElement("image");null!==(i=n.control)&&void 0!==i&&i.imageSource.url&&o&&"src"in o&&(o.src=n.control.imageSource.url);var s=n.control.imageSource.url,r=e&&e.control.imageSource.url,l=String(n.control.imageSource.url).endsWith(".svg")?n.control.imageSource.url:null,a=e&&String(e.control.imageSource.url).endsWith(".svg")?e.control.imageSource.url:null;if(l){if(l===a)return void t.applyAdaptiveStyles(n);t.deleteElementIfPresent(t.getRootElement(),"img"),t.upsertSvg(t.getRootElement(),l).then((function(){t.applyAltText(n),t.applyAdaptiveStyles(n)}))}else if(s){if(s===r)return void t.applyAdaptiveStyles(n);t.deleteElementIfPresent(t.getRootElement(),".svgOverflowContainer"),t.upsertImage(t.getRootElement(),s).then((function(){t.applyAltText(n),t.applyAdaptiveStyles(n)}))}else t.deleteElementIfPresent(t.getRootElement(),".svgOverflowContainer"),t.upsertImage(t.getRootElement(),t.assets("img/image-placeholder.svg")).then((function(){t.applyAltText(n),t.applyAdaptiveStyles(n)}))}))}},{key:"disconnectedCallback",value:function(){var t;Et(e,"disconnectedCallback",this,3)([]),null===(t=this.resourcesLoadedListener)||void 0===t||t.off()}}])}();ft(Ct,"define",{name:"sys-image",model:e.name,manifest:e});export{St as HorizontalPosition,At as PositioningModes,Tt as VerticalPosition,Ct as default};window.clComponentClass_SysImageComponent=Ct;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claspo/components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"prebuild": "rm -rf out",
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"node": ">=18.16.0"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@claspo/common": "7.0
|
|
21
|
-
"@claspo/renderer": "18.0
|
|
20
|
+
"@claspo/common": "7.1.0",
|
|
21
|
+
"@claspo/renderer": "18.1.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@babel/core": "^7.27.4",
|