@salla.sa/twilight-components 2.13.36 → 2.13.37

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.
Files changed (37) hide show
  1. package/dist/cjs/salla-add-product-button_47.cjs.entry.js +6 -6
  2. package/dist/cjs/salla-add-product-button_47.cjs.entry.js.map +1 -1
  3. package/dist/cjs/salla-advertisement.cjs.entry.js +13 -10
  4. package/dist/cjs/salla-advertisement.cjs.entry.js.map +1 -1
  5. package/dist/collection/components/salla-advertisement/salla-advertisement.js +13 -10
  6. package/dist/collection/components/salla-advertisement/salla-advertisement.js.map +1 -1
  7. package/dist/collection/components/salla-menu/salla-menu.js +6 -6
  8. package/dist/collection/components/salla-menu/salla-menu.js.map +1 -1
  9. package/dist/components/salla-advertisement.js +13 -10
  10. package/dist/components/salla-advertisement.js.map +1 -1
  11. package/dist/components/salla-menu.js +6 -6
  12. package/dist/components/salla-menu.js.map +1 -1
  13. package/dist/esm/salla-add-product-button_47.entry.js +6 -6
  14. package/dist/esm/salla-add-product-button_47.entry.js.map +1 -1
  15. package/dist/esm/salla-advertisement.entry.js +13 -10
  16. package/dist/esm/salla-advertisement.entry.js.map +1 -1
  17. package/dist/esm-es5/salla-add-product-button_47.entry.js +1 -1
  18. package/dist/esm-es5/salla-add-product-button_47.entry.js.map +1 -1
  19. package/dist/esm-es5/salla-advertisement.entry.js +2 -2
  20. package/dist/esm-es5/salla-advertisement.entry.js.map +1 -1
  21. package/dist/twilight/p-64707107.system.js +1 -1
  22. package/dist/twilight/{p-19f298e9.entry.js → p-a1aa2ceb.entry.js} +2 -2
  23. package/dist/twilight/{p-19f298e9.entry.js.map → p-a1aa2ceb.entry.js.map} +1 -1
  24. package/dist/twilight/p-a7c716e4.entry.js +5 -0
  25. package/dist/twilight/p-a7c716e4.entry.js.map +1 -0
  26. package/dist/twilight/p-c93b2ff6.system.entry.js +5 -0
  27. package/dist/twilight/p-c93b2ff6.system.entry.js.map +1 -0
  28. package/dist/twilight/{p-35541777.system.entry.js → p-ef22f547.system.entry.js} +2 -2
  29. package/dist/twilight/{p-35541777.system.entry.js.map → p-ef22f547.system.entry.js.map} +1 -1
  30. package/dist/twilight/twilight.esm.js +1 -1
  31. package/dist/types/components/salla-advertisement/salla-advertisement.d.ts +1 -1
  32. package/dist/types/components/salla-menu/salla-menu.d.ts +0 -1
  33. package/package.json +5 -5
  34. package/dist/twilight/p-080bbb5b.entry.js +0 -5
  35. package/dist/twilight/p-080bbb5b.entry.js.map +0 -1
  36. package/dist/twilight/p-bea45f66.system.entry.js +0 -5
  37. package/dist/twilight/p-bea45f66.system.entry.js.map +0 -1
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import{r as t,h as s,g as i}from"./p-fafedb13.js";import{a as e}from"./p-5a803ecc.js";import{H as a}from"./p-75432730.js";const l=":host{display:block}";const o=class{constructor(s){t(this,s);var i;this.position=undefined;this.advertisements=undefined;this.advertIcon=undefined;this.currentSlug=salla.config.get("page.slug");salla.onReady((()=>{this.currentSlug=salla.config.get("page.slug")}));this.advSlot=((i=this.host.querySelector('[slot="adv"]'))===null||i===void 0?void 0:i.innerHTML)||`<div class="s-advertisement-content"><h2 class="s-advertisement-content-main">{iconElem}{urlElem}</h2>{closeElem}</div>\n `}isNotVisible(t){return!!salla.storage.get(`statusAd-${t.id}`)}setCanDisplayFlag(t,s){if(!s){salla.storage.set(`statusAd-${t.id}`,"dismissed");e({targets:this.host,opacity:[1,0],duration:300,height:[this.host.clientHeight,0],easing:"easeInOutQuad"})}}render(){if(Array.isArray(this.advertisements)&&!this.advertisements.length||!this.advertisements){return}return this.advertisements.map((t=>s("div",{class:{"s-hidden":this.isNotVisible(t),"s-advertisement":true},"data-id":t.id,style:{"background-color":t.colors.bg,color:t.colors.text}},s("div",{id:"adv-slot",innerHTML:this.advSlot.replace("{iconElem}",`<i class="s-advertisement-content-icon ${t.icon}"></i>`).replace("{urlElem}",t.url?`<a href="${t.url}" target="${t.target}">${t.description}</a>`:t.description).replace("{closeElem}",`<button class="s-advertisement-action" aria-label="close-alert"><i class="sicon-cancel"></i></button>`).replace("{icon}",t.icon).replace("{url}",t.url).replace("{target}",t.target).replace("{description}",t.description).replace("{bg_color}",t.colors.bg).replace("{text_color}",t.colors.text)}))))}componentWillLoad(){return a.onSallaReadyPromise((t=>salla.api.advertisement.fetch(this.currentSlug).then((t=>{let s=t.data;if(Array.isArray(s)&&s.length>0){for(const t of s){if(!salla.storage.get(`statusAd-${t.id}`)){this.advertisements=[t];break}}}}))))}componentDidRender(){var t;if(Array.isArray(this.advertisements)&&!this.advertisements.length||!this.advertisements){return}setTimeout((()=>{let t=this.host.querySelector(".s-advertisement-action");if(t){t.addEventListener("click",(()=>this.setCanDisplayFlag(this.advertisements[0],false)))}}));this.host.querySelectorAll("#adv-slot").forEach((t=>t===null||t===void 0?void 0:t.replaceWith(t===null||t===void 0?void 0:t.firstChild)));(t=this.host.querySelector('[slot="adv"]'))===null||t===void 0?void 0:t.remove();e({targets:this.host,opacity:[0,1],duration:300,height:[0,this.host.clientHeight],easing:"easeInOutQuad"})}get host(){return i(this)}};o.style=l;export{o as salla_advertisement};
5
+ //# sourceMappingURL=p-a7c716e4.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sallaAdvertisementCss","SallaAdvertisement","constructor","hostRef","salla","config","get","onReady","this","currentSlug","advSlot","_a","host","querySelector","innerHTML","isNotVisible","advert","storage","id","setCanDisplayFlag","flag","set","AnimeJS","targets","opacity","duration","height","clientHeight","easing","render","Array","isArray","advertisements","length","map","advertisement","h","class","style","colors","bg","color","text","replace","icon","url","target","description","componentWillLoad","Helper","onSallaReadyPromise","_resolve","api","fetch","then","resp","ads","data","ad","componentDidRender","setTimeout","closeBtn","addEventListener","querySelectorAll","forEach","el","replaceWith","firstChild","remove"],"sources":["src/components/salla-advertisement/salla-advertisement.scss?tag=salla-advertisement","src/components/salla-advertisement/salla-advertisement.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, State, Element, h } from '@stencil/core';\nimport { Advertisement } from './interfaces';\nimport AnimeJS from 'animejs';\nimport Helper from '../../Helpers/Helper';\n/**\n * @name SallaAdvertisement\n * @description A StencilJS component for handling and displaying advertisements in different pages of salla applications.\n * @tag salla-advertisement\n */\n\n/**\n * @slot adv - Replaces the entire advertisement, has replaceable props `{icon}`, `{url}`, `{target}`, `{description}`, `{bg_color}`, `{text_color}`.\n * */\n@Component({\n tag: 'salla-advertisement',\n styleUrl: 'salla-advertisement.scss',\n})\nexport class SallaAdvertisement {\n /**\n * Constructor for initializing the component.\n */\n constructor() {\n salla.onReady(() => {\n this.currentSlug = salla.config.get(\"page.slug\");\n })\n\n this.advSlot = this.host.querySelector('[slot=\"adv\"]')?.innerHTML || `<div class=\"s-advertisement-content\"><h2 class=\"s-advertisement-content-main\">{iconElem}{urlElem}</h2>{closeElem}</div>\n `;\n }\n private readonly advSlot: string;\n // State properties for managing component state\n @State() position: string;\n @State() advertisements: Advertisement[];\n @State() advertIcon: string;\n @State() currentSlug: string = salla.config.get(\"page.slug\");\n\n @Element() private host: HTMLElement;\n\n\n /**\n * Checks whether an advertisement is marked as not visible/dismissed.\n * @param advert - The advertisement to check.\n * @returns True if the advertisement is not visible, false otherwise.\n */\n private isNotVisible(advert: Advertisement): boolean {\n return !!salla.storage.get(`statusAd-${advert.id}`)\n }\n\n /**\n * Sets a flag to control the visibility of an advertisement and triggers an animation when hiding it.\n * @param advert - The advertisement to update.\n * @param flag - The flag indicating whether to display or hide the advertisement.\n */\n private setCanDisplayFlag(advert: Advertisement, flag: boolean): void {\n if (!flag) {\n // Set the statusAd flag to 'dismissed'\n salla.storage.set(`statusAd-${advert.id}`, 'dismissed');\n // Trigger an animation to hide the advertisement\n AnimeJS({\n targets: this.host,\n opacity: [1, 0],\n duration: 300,\n height: [this.host.clientHeight, 0],\n easing: 'easeInOutQuad',\n });\n }\n }\n\n /**\n * Renders the advertisements based on the fetched data and visibility status.\n * @returns JSX for rendering advertisements.\n */\n render() {\n if ((Array.isArray(this.advertisements) && !this.advertisements.length) || !this.advertisements) {\n return;\n }\n return this.advertisements.map((advertisement: Advertisement) => {\n return <div class={{ \"s-hidden\": this.isNotVisible(advertisement), 's-advertisement': true }} data-id={advertisement.id}\n style={{ \"background-color\": advertisement.colors.bg, \"color\": advertisement.colors.text }}>\n <div id=\"adv-slot\" innerHTML={\n this.advSlot\n // Replace the props with the advertisement data\n // !Note: The props with the 'Elem' suffix are for internal use only.\n .replace(\"{iconElem}\", `<i class=\"s-advertisement-content-icon ${advertisement.icon}\"></i>`)\n .replace(\"{urlElem}\", advertisement.url ? `<a href=\"${advertisement.url}\" target=\"${advertisement.target}\">${advertisement.description}</a>` : advertisement.description)\n .replace(\"{closeElem}\", `<button class=\"s-advertisement-action\" aria-label=\"close-alert\"><i class=\"sicon-cancel\"></i></button>`)\n .replace('{icon}', advertisement.icon)\n .replace('{url}', advertisement.url)\n .replace('{target}', advertisement.target)\n .replace('{description}', advertisement.description)\n .replace('{bg_color}', advertisement.colors.bg)\n .replace('{text_color}', advertisement.colors.text)\n }></div>\n </div>\n }\n );\n }\n\n /**\n * Lifecycle method that fetches advertisements before the component is loaded.\n */\n componentWillLoad() {\n // Fetch advertisements based on the current page\n return Helper.onSallaReadyPromise((_resolve) => {\n return salla.api.advertisement.fetch(this.currentSlug)\n .then(resp => {\n let ads = resp.data;\n if (Array.isArray(ads) && ads.length > 0) {\n for (const ad of ads) {\n if (!salla.storage.get(`statusAd-${ad.id}`)) {\n this.advertisements = [ad];\n break;\n }\n }\n }\n })\n });\n }\n componentDidRender() {\n if ((Array.isArray(this.advertisements) && !this.advertisements.length) || !this.advertisements) {\n return;\n }\n // Add event listener for the close button\n setTimeout(() => {\n let closeBtn = this.host.querySelector('.s-advertisement-action');\n if (closeBtn) {\n closeBtn.addEventListener('click', () => this.setCanDisplayFlag(this.advertisements[0], false));\n }\n });\n\n // Reduce Dom size by removing the slot element\n this.host.querySelectorAll('#adv-slot').forEach(el => el?.replaceWith(el?.firstChild));\n this.host.querySelector('[slot=\"adv\"]')?.remove();\n\n // Trigger an animation to show the advertisement\n AnimeJS({\n targets: this.host,\n opacity: [0, 1],\n duration: 300,\n height: [0, this.host.clientHeight],\n easing: 'easeInOutQuad',\n });\n }\n}\n"],"mappings":";;;0HAAA,MAAMA,EAAwB,uB,MCiBjBC,EAAkB,MAI7B,WAAAC,CAAAC,G,iHAa+BC,MAAMC,OAAOC,IAAI,aAZ9CF,MAAMG,SAAQ,KACZC,KAAKC,YAAcL,MAAMC,OAAOC,IAAI,YAAY,IAGlDE,KAAKE,UAAUC,EAAAH,KAAKI,KAAKC,cAAc,mBAAe,MAAAF,SAAA,SAAAA,EAAEG,YAAa,+H,CAkB/D,YAAAC,CAAaC,GACnB,QAASZ,MAAMa,QAAQX,IAAI,YAAYU,EAAOE,K,CAQxC,iBAAAC,CAAkBH,EAAuBI,GAC/C,IAAKA,EAAM,CAEThB,MAAMa,QAAQI,IAAI,YAAYL,EAAOE,KAAM,aAE3CI,EAAQ,CACNC,QAASf,KAAKI,KACdY,QAAS,CAAC,EAAG,GACbC,SAAU,IACVC,OAAQ,CAAClB,KAAKI,KAAKe,aAAc,GACjCC,OAAQ,iB,EASd,MAAAC,GACE,GAAKC,MAAMC,QAAQvB,KAAKwB,kBAAoBxB,KAAKwB,eAAeC,SAAYzB,KAAKwB,eAAgB,CAC/F,M,CAEF,OAAOxB,KAAKwB,eAAeE,KAAKC,GACvBC,EAAA,OAAKC,MAAO,CAAE,WAAY7B,KAAKO,aAAaoB,GAAgB,kBAAmB,MAAM,UAAWA,EAAcjB,GACnHoB,MAAO,CAAE,mBAAoBH,EAAcI,OAAOC,GAAIC,MAASN,EAAcI,OAAOG,OACpFN,EAAA,OAAKlB,GAAG,WAAWJ,UACjBN,KAAKE,QAGFiC,QAAQ,aAAc,0CAA0CR,EAAcS,cAC9ED,QAAQ,YAAaR,EAAcU,IAAM,YAAYV,EAAcU,gBAAgBV,EAAcW,WAAWX,EAAcY,kBAAoBZ,EAAcY,aAC5JJ,QAAQ,cAAe,yGACvBA,QAAQ,SAAUR,EAAcS,MAChCD,QAAQ,QAASR,EAAcU,KAC/BF,QAAQ,WAAYR,EAAcW,QAClCH,QAAQ,gBAAiBR,EAAcY,aACvCJ,QAAQ,aAAcR,EAAcI,OAAOC,IAC3CG,QAAQ,eAAgBR,EAAcI,OAAOG,U,CAUxD,iBAAAM,GAEC,OAAOC,EAAOC,qBAAqBC,GACzB/C,MAAMgD,IAAIjB,cAAckB,MAAM7C,KAAKC,aACvC6C,MAAKC,IACJ,IAAIC,EAAMD,EAAKE,KACf,GAAI3B,MAAMC,QAAQyB,IAAQA,EAAIvB,OAAS,EAAG,CACxC,IAAK,MAAMyB,KAAMF,EAAK,CACpB,IAAKpD,MAAMa,QAAQX,IAAI,YAAYoD,EAAGxC,MAAO,CAC3CV,KAAKwB,eAAiB,CAAC0B,GACvB,K,SAOd,kBAAAC,G,MACE,GAAK7B,MAAMC,QAAQvB,KAAKwB,kBAAoBxB,KAAKwB,eAAeC,SAAYzB,KAAKwB,eAAgB,CAC/F,M,CAGF4B,YAAW,KACT,IAAIC,EAAWrD,KAAKI,KAAKC,cAAc,2BACvC,GAAIgD,EAAU,CACZA,EAASC,iBAAiB,SAAS,IAAMtD,KAAKW,kBAAkBX,KAAKwB,eAAe,GAAI,Q,KAK5FxB,KAAKI,KAAKmD,iBAAiB,aAAaC,SAAQC,GAAMA,IAAE,MAAFA,SAAE,SAAFA,EAAIC,YAAYD,IAAE,MAAFA,SAAE,SAAFA,EAAIE,eAC1ExD,EAAAH,KAAKI,KAAKC,cAAc,mBAAe,MAAAF,SAAA,SAAAA,EAAEyD,SAGzC9C,EAAQ,CACNC,QAASf,KAAKI,KACdY,QAAS,CAAC,EAAG,GACbC,SAAU,IACVC,OAAQ,CAAC,EAAGlB,KAAKI,KAAKe,cACtBC,OAAQ,iB"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ System.register(["./p-a0dabf35.system.js","./p-8f7b9e36.system.js","./p-9e0b1704.system.js"],(function(t){"use strict";var e,s,i,r,n;return{setters:[function(t){e=t.r;s=t.h;i=t.g},function(t){r=t.a},function(t){n=t.H}],execute:function(){var a=":host{display:block}";var o=t("salla_advertisement",function(){function t(t){var s=this;e(this,t);var i;this.position=undefined;this.advertisements=undefined;this.advertIcon=undefined;this.currentSlug=salla.config.get("page.slug");salla.onReady((function(){s.currentSlug=salla.config.get("page.slug")}));this.advSlot=((i=this.host.querySelector('[slot="adv"]'))===null||i===void 0?void 0:i.innerHTML)||'<div class="s-advertisement-content"><h2 class="s-advertisement-content-main">{iconElem}{urlElem}</h2>{closeElem}</div>\n '}t.prototype.isNotVisible=function(t){return!!salla.storage.get("statusAd-".concat(t.id))};t.prototype.setCanDisplayFlag=function(t,e){if(!e){salla.storage.set("statusAd-".concat(t.id),"dismissed");r({targets:this.host,opacity:[1,0],duration:300,height:[this.host.clientHeight,0],easing:"easeInOutQuad"})}};t.prototype.render=function(){var t=this;if(Array.isArray(this.advertisements)&&!this.advertisements.length||!this.advertisements){return}return this.advertisements.map((function(e){return s("div",{class:{"s-hidden":t.isNotVisible(e),"s-advertisement":true},"data-id":e.id,style:{"background-color":e.colors.bg,color:e.colors.text}},s("div",{id:"adv-slot",innerHTML:t.advSlot.replace("{iconElem}",'<i class="s-advertisement-content-icon '.concat(e.icon,'"></i>')).replace("{urlElem}",e.url?'<a href="'.concat(e.url,'" target="').concat(e.target,'">').concat(e.description,"</a>"):e.description).replace("{closeElem}",'<button class="s-advertisement-action" aria-label="close-alert"><i class="sicon-cancel"></i></button>').replace("{icon}",e.icon).replace("{url}",e.url).replace("{target}",e.target).replace("{description}",e.description).replace("{bg_color}",e.colors.bg).replace("{text_color}",e.colors.text)}))}))};t.prototype.componentWillLoad=function(){var t=this;return n.onSallaReadyPromise((function(e){return salla.api.advertisement.fetch(t.currentSlug).then((function(e){var s=e.data;if(Array.isArray(s)&&s.length>0){for(var i=0,r=s;i<r.length;i++){var n=r[i];if(!salla.storage.get("statusAd-".concat(n.id))){t.advertisements=[n];break}}}}))}))};t.prototype.componentDidRender=function(){var t=this;var e;if(Array.isArray(this.advertisements)&&!this.advertisements.length||!this.advertisements){return}setTimeout((function(){var e=t.host.querySelector(".s-advertisement-action");if(e){e.addEventListener("click",(function(){return t.setCanDisplayFlag(t.advertisements[0],false)}))}}));this.host.querySelectorAll("#adv-slot").forEach((function(t){return t===null||t===void 0?void 0:t.replaceWith(t===null||t===void 0?void 0:t.firstChild)}));(e=this.host.querySelector('[slot="adv"]'))===null||e===void 0?void 0:e.remove();r({targets:this.host,opacity:[0,1],duration:300,height:[0,this.host.clientHeight],easing:"easeInOutQuad"})};Object.defineProperty(t.prototype,"host",{get:function(){return i(this)},enumerable:false,configurable:true});return t}());o.style=a}}}));
5
+ //# sourceMappingURL=p-c93b2ff6.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sallaAdvertisementCss","SallaAdvertisement","exports","class_1","hostRef","_this","this","salla","config","get","onReady","currentSlug","advSlot","_a","host","querySelector","innerHTML","prototype","isNotVisible","advert","storage","concat","id","setCanDisplayFlag","flag","set","AnimeJS","targets","opacity","duration","height","clientHeight","easing","render","Array","isArray","advertisements","length","map","advertisement","h","class","style","colors","bg","color","text","replace","icon","url","target","description","componentWillLoad","Helper","onSallaReadyPromise","_resolve","api","fetch","then","resp","ads","data","_i","ads_1","ad","componentDidRender","setTimeout","closeBtn","addEventListener","querySelectorAll","forEach","el","replaceWith","firstChild","remove"],"sources":["src/components/salla-advertisement/salla-advertisement.scss?tag=salla-advertisement","src/components/salla-advertisement/salla-advertisement.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, State, Element, h } from '@stencil/core';\nimport { Advertisement } from './interfaces';\nimport AnimeJS from 'animejs';\nimport Helper from '../../Helpers/Helper';\n/**\n * @name SallaAdvertisement\n * @description A StencilJS component for handling and displaying advertisements in different pages of salla applications.\n * @tag salla-advertisement\n */\n\n/**\n * @slot adv - Replaces the entire advertisement, has replaceable props `{icon}`, `{url}`, `{target}`, `{description}`, `{bg_color}`, `{text_color}`.\n * */\n@Component({\n tag: 'salla-advertisement',\n styleUrl: 'salla-advertisement.scss',\n})\nexport class SallaAdvertisement {\n /**\n * Constructor for initializing the component.\n */\n constructor() {\n salla.onReady(() => {\n this.currentSlug = salla.config.get(\"page.slug\");\n })\n\n this.advSlot = this.host.querySelector('[slot=\"adv\"]')?.innerHTML || `<div class=\"s-advertisement-content\"><h2 class=\"s-advertisement-content-main\">{iconElem}{urlElem}</h2>{closeElem}</div>\n `;\n }\n private readonly advSlot: string;\n // State properties for managing component state\n @State() position: string;\n @State() advertisements: Advertisement[];\n @State() advertIcon: string;\n @State() currentSlug: string = salla.config.get(\"page.slug\");\n\n @Element() private host: HTMLElement;\n\n\n /**\n * Checks whether an advertisement is marked as not visible/dismissed.\n * @param advert - The advertisement to check.\n * @returns True if the advertisement is not visible, false otherwise.\n */\n private isNotVisible(advert: Advertisement): boolean {\n return !!salla.storage.get(`statusAd-${advert.id}`)\n }\n\n /**\n * Sets a flag to control the visibility of an advertisement and triggers an animation when hiding it.\n * @param advert - The advertisement to update.\n * @param flag - The flag indicating whether to display or hide the advertisement.\n */\n private setCanDisplayFlag(advert: Advertisement, flag: boolean): void {\n if (!flag) {\n // Set the statusAd flag to 'dismissed'\n salla.storage.set(`statusAd-${advert.id}`, 'dismissed');\n // Trigger an animation to hide the advertisement\n AnimeJS({\n targets: this.host,\n opacity: [1, 0],\n duration: 300,\n height: [this.host.clientHeight, 0],\n easing: 'easeInOutQuad',\n });\n }\n }\n\n /**\n * Renders the advertisements based on the fetched data and visibility status.\n * @returns JSX for rendering advertisements.\n */\n render() {\n if ((Array.isArray(this.advertisements) && !this.advertisements.length) || !this.advertisements) {\n return;\n }\n return this.advertisements.map((advertisement: Advertisement) => {\n return <div class={{ \"s-hidden\": this.isNotVisible(advertisement), 's-advertisement': true }} data-id={advertisement.id}\n style={{ \"background-color\": advertisement.colors.bg, \"color\": advertisement.colors.text }}>\n <div id=\"adv-slot\" innerHTML={\n this.advSlot\n // Replace the props with the advertisement data\n // !Note: The props with the 'Elem' suffix are for internal use only.\n .replace(\"{iconElem}\", `<i class=\"s-advertisement-content-icon ${advertisement.icon}\"></i>`)\n .replace(\"{urlElem}\", advertisement.url ? `<a href=\"${advertisement.url}\" target=\"${advertisement.target}\">${advertisement.description}</a>` : advertisement.description)\n .replace(\"{closeElem}\", `<button class=\"s-advertisement-action\" aria-label=\"close-alert\"><i class=\"sicon-cancel\"></i></button>`)\n .replace('{icon}', advertisement.icon)\n .replace('{url}', advertisement.url)\n .replace('{target}', advertisement.target)\n .replace('{description}', advertisement.description)\n .replace('{bg_color}', advertisement.colors.bg)\n .replace('{text_color}', advertisement.colors.text)\n }></div>\n </div>\n }\n );\n }\n\n /**\n * Lifecycle method that fetches advertisements before the component is loaded.\n */\n componentWillLoad() {\n // Fetch advertisements based on the current page\n return Helper.onSallaReadyPromise((_resolve) => {\n return salla.api.advertisement.fetch(this.currentSlug)\n .then(resp => {\n let ads = resp.data;\n if (Array.isArray(ads) && ads.length > 0) {\n for (const ad of ads) {\n if (!salla.storage.get(`statusAd-${ad.id}`)) {\n this.advertisements = [ad];\n break;\n }\n }\n }\n })\n });\n }\n componentDidRender() {\n if ((Array.isArray(this.advertisements) && !this.advertisements.length) || !this.advertisements) {\n return;\n }\n // Add event listener for the close button\n setTimeout(() => {\n let closeBtn = this.host.querySelector('.s-advertisement-action');\n if (closeBtn) {\n closeBtn.addEventListener('click', () => this.setCanDisplayFlag(this.advertisements[0], false));\n }\n });\n\n // Reduce Dom size by removing the slot element\n this.host.querySelectorAll('#adv-slot').forEach(el => el?.replaceWith(el?.firstChild));\n this.host.querySelector('[slot=\"adv\"]')?.remove();\n\n // Trigger an animation to show the advertisement\n AnimeJS({\n targets: this.host,\n opacity: [0, 1],\n duration: 300,\n height: [0, this.host.clientHeight],\n easing: 'easeInOutQuad',\n });\n }\n}\n"],"mappings":"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"}